diff --git a/.changelog/4596.txt b/.changelog/4596.txt deleted file mode 100644 index 1d35550e53d..00000000000 --- a/.changelog/4596.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -server: Fix intermittent issue with finished jobs reporting they errored -``` diff --git a/.changelog/4674.txt b/.changelog/4674.txt deleted file mode 100644 index eb958ec01cb..00000000000 --- a/.changelog/4674.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -plugin/exec: Cleanup all values stored in /tmp while rendering exec templates -``` diff --git a/.changelog/4705.txt b/.changelog/4705.txt deleted file mode 100644 index c6ef2bf3e3d..00000000000 --- a/.changelog/4705.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -server: Fix theoretical race condition in job stream handling -``` diff --git a/.changelog/4709.txt b/.changelog/4709.txt deleted file mode 100644 index 813d5f6eb57..00000000000 --- a/.changelog/4709.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -auth: fix possible issue with invalid auth token lengths -``` diff --git a/.changelog/4712.txt b/.changelog/4712.txt deleted file mode 100644 index af5e53db299..00000000000 --- a/.changelog/4712.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -server/http: Forwarded IP address in request header no longer overwrites Client IP address in request response -``` \ No newline at end of file diff --git a/.changelog/4714.txt b/.changelog/4714.txt deleted file mode 100644 index 0dc7045ddc7..00000000000 --- a/.changelog/4714.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -internal: prevent symlinks from copying files from outside the source tree -``` diff --git a/.changelog/4764.txt b/.changelog/4764.txt deleted file mode 100644 index f61fd729691..00000000000 --- a/.changelog/4764.txt +++ /dev/null @@ -1,4 +0,0 @@ -```release-note:improvement -ceb: Validate Deployment ID associated with the entrypoint token to ensure it is authorized to perform actions on the -current deployment. -``` \ No newline at end of file diff --git a/.changelog/4811.txt b/.changelog/4811.txt deleted file mode 100644 index 63999980c88..00000000000 --- a/.changelog/4811.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -plugin/aws-ecs: Allow cancelling server install command when waiting on health. -``` diff --git a/.changelog/4819.txt b/.changelog/4819.txt deleted file mode 100644 index 93a35482b0a..00000000000 --- a/.changelog/4819.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:improvement -server: Perform project init without requiring a runner if waypoint.hcl is stored serverside -``` diff --git a/.copywrite.hcl b/.copywrite.hcl deleted file mode 100644 index 352a47f4c88..00000000000 --- a/.copywrite.hcl +++ /dev/null @@ -1,50 +0,0 @@ -# (OPTIONAL) Overrides the copywrite config schema version -# Default: 1 -schema_version = 1 - -project { - # (OPTIONAL) SPDX-compatible license identifier - # Leave blank if you don't wish to license the project - # Default: "MPL-2.0" - license = "BUSL-1.1" - - # (OPTIONAL) Represents the year that the project initially began - # Default: - copyright_year = 2023 - - # (OPTIONAL) A list of globs that should not have copyright or license headers . - # Supports doublestar glob patterns for more flexibility in defining which - # files or folders should be ignored - # Default: [] - header_ignore = [ - "**_test.go", - "**/testdata/**", - "test-e2e/**", - "ui/tests/**", - "ui/mirage/**", - ".circleci/**", - ".github/**", - ".release/**", - ".vscode/**", - "ci/**", - "builtin/**/parameters.hcl", - "builtin/**/outputs.hcl", - "**/node_modules/**", - "website/scripts/**", - "thirdparty/**", - "website/.next/**", - "website/.vscode/**", - "website/scripts/**", - "website/website-preview**", - // packages copied from other sources - "internal/pkg/spinner/**", - "ui/lib/api-common-protos/**", - "ui/lib/grpc-web/**", - "internal/pkg/jsonpb/**", - "internal/pkg/defaults/**", - "internal/pkg/copy/**", - "website/public/ie-custom-properties.js", - ] -} - -# More information about configuration options is available in [the documentation](https://github.com/hashicorp/copywrite#config-structure). diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d18a137d21a..07b56d1794a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,6 +1,5 @@ # Each line is a file pattern followed by one or more owners. # See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners -* @hashicorp/waypoint /ui/ @hashicorp/waypoint-frontend /builtin/ @hashicorp/waypoint-ecosystem diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml index 63f04db3587..d5501fe222d 100644 --- a/.github/workflows/actionlint.yml +++ b/.github/workflows/actionlint.yml @@ -11,6 +11,6 @@ jobs: actionlint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: "Check workflow files" uses: docker://docker.mirror.hashicorp.services/rhysd/actionlint:latest diff --git a/.github/workflows/build-waypoint-oss.yml b/.github/workflows/build-waypoint-oss.yml index b87d37f46ed..77ab41e9192 100644 --- a/.github/workflows/build-waypoint-oss.yml +++ b/.github/workflows/build-waypoint-oss.yml @@ -43,7 +43,7 @@ jobs: bin-name: ${{ steps.get-bin-name.outputs.bin-name }} name: Build ${{ inputs.package-name }} ${{ inputs.goos }} ${{ inputs.goarch }} v${{ inputs.waypoint-version }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Restore ui assets uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 with: @@ -76,7 +76,7 @@ jobs: PRERELEASE: ${{ inputs.waypoint-prerelease }} CGO_ENABLED: ${{ inputs.cgo-enabled }} CRT_BIN_NAME: ${{ steps.get-bin-name.outputs.bin-name }} - uses: hashicorp/actions-go-build@v0.1.9 + uses: hashicorp/actions-go-build@v0.1.7 with: product_name: ${{ inputs.package-name }} product_version: ${{ inputs.waypoint-version }} @@ -98,7 +98,7 @@ jobs: version: ${{ inputs.waypoint-version }} maintainer: "HashiCorp" homepage: "https://github.com/hashicorp/waypoint" - license: "BUSL-1.1" + license: "MPL-2.0" binary: "dist/${{ inputs.package-name }}" deb_depends: "git" rpm_depends: "git" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e4b73ba66ae..9f3cd6e48e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: pkg-name: ${{ steps.get-pkg-env-vars.outputs.pkg-name }} pkg-metadata: ${{ steps.get-pkg-env-vars.outputs.pkg-metadata }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Get package environment variables id: get-pkg-env-vars run: | @@ -49,7 +49,7 @@ jobs: outputs: go-version: ${{ steps.get-go-version.outputs.go-version }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Determine Go version id: get-go-version run: | @@ -63,7 +63,7 @@ jobs: outputs: filepath: ${{ steps.generate-metadata-file.outputs.filepath }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Generate package metadata id: generate-metadata-file uses: hashicorp/actions-generate-metadata@v1 @@ -80,9 +80,9 @@ jobs: name: Build UI needs: get-product-version steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Set up node and yarn - uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0 + uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 with: node-version: 14 cache: yarn @@ -98,7 +98,7 @@ jobs: echo "${PKG_NAME} copyright year is ${PKG_COPYRIGHT_YEAR}" cd ui && make && cd .. - name: Save assets to cache - uses: actions/cache/save@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 + uses: actions/cache/save@v3 # TSCCR: no version of actions/cache trusts nested action "save" with: path: ui/dist/assets key: ui_assets_${{ github.sha }} @@ -111,12 +111,12 @@ jobs: - get-product-version - build-ui steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version: ${{ needs.get-go-version.outputs.go-version }} - name: Restore ui assets - uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 + uses: actions/cache/restore@v3 # TSCCR: no version of actions/cache trusts nested action "restore" with: path: ui/dist/assets key: ui_assets_${{ github.sha }} @@ -182,7 +182,7 @@ jobs: repo: "waypoint" version: ${{ needs.get-product-version.outputs.product-version }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Download Waypoint uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: @@ -232,7 +232,7 @@ jobs: repo: "waypoint" version: ${{ needs.get-product-version.outputs.product-version }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Build Docker image uses: hashicorp/actions-docker-build@v1 with: diff --git a/.github/workflows/changelog-checker.yml b/.github/workflows/changelog-checker.yml index 8e933dca7ae..fca33f9869e 100644 --- a/.github/workflows/changelog-checker.yml +++ b/.github/workflows/changelog-checker.yml @@ -14,7 +14,7 @@ jobs: if: "!contains(github.event.pull_request.labels.*.name, 'pr/no-changelog')" runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 # by default the checkout action doesn't checkout all branches diff --git a/.github/workflows/check-gateway-yml.yml b/.github/workflows/check-gateway-yml.yml deleted file mode 100644 index 9ff727a4de5..00000000000 --- a/.github/workflows/check-gateway-yml.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Check gateway.yml for missing RPCs -on: - pull_request: - types: [opened, synchronize] - branches: [main] -jobs: - check-gateway-yml: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - - name: Check gateway.yml for missing RPCs - run: ./scripts/check-gateway-yml.sh -permissions: - contents: read diff --git a/.github/workflows/check-struct-tags.yml b/.github/workflows/check-struct-tags.yml deleted file mode 100644 index 7ba3af54363..00000000000 --- a/.github/workflows/check-struct-tags.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Check Repo for duplicate struct tags -on: - pull_request: - types: [opened, synchronize] - branches: [main] -jobs: - check-struct-tags: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - - name: Check Repo for duplicate struct tags - run: go run ./tools/lint-struct-tags ./ -permissions: - contents: read \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000000..aa5a75b34be --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,56 @@ +name: "Code scanning - scheduled (weekly)" + +on: + schedule: + - cron: '0 17 * * 0' + +jobs: + CodeQL-Build: + + runs-on: ubuntu-latest + + steps: + # temporarily bring in a GitHub token so we can clone private dependencies during analysis + - name: Configure GitHub PAT + env: + GITHUB_TOKEN: ${{ secrets.HASHIBOT_PRODSEC_GITHUB_TOKEN }} + run: | + git config --global url."https://$GITHUB_TOKEN:x-oauth-basic@github.com/".insteadOf "https://github.com/" + + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + # Override language selection by uncommenting this and choosing your languages + with: + languages: go, javascript + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + # - name: Autobuild + # uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/create-release-branch.yml b/.github/workflows/create-release-branch.yml index 01151cc1b03..9e3b568da7c 100644 --- a/.github/workflows/create-release-branch.yml +++ b/.github/workflows/create-release-branch.yml @@ -4,7 +4,7 @@ jobs: create-branch: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: hashicorp/actions-create-release-branch@v1 with: token: ${{ secrets.ELEVATED_GITHUB_TOKEN }} diff --git a/.github/workflows/end-to-end.yml b/.github/workflows/end-to-end.yml index 48eee295f00..17f4303f813 100644 --- a/.github/workflows/end-to-end.yml +++ b/.github/workflows/end-to-end.yml @@ -36,7 +36,7 @@ jobs: name: ${{ inputs.waypoint-odr-tar }} - name: GHCR Login - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2.2.0 + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # v2.1.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -67,8 +67,8 @@ jobs: runs-on: ubuntu-latest needs: publish-images steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index f48dec210a9..90751ddcee7 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -9,7 +9,7 @@ jobs: outputs: yarn-cache-key: ${{ steps.set-cache-key.outputs.cache-key}} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: set-cache-key id: set-cache-key @@ -24,7 +24,7 @@ jobs: ui/node_modules ui/lib/node_modules - - uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0 + - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 if: steps.ui-cache.outputs.cache-hit == false with: node-version: 14 @@ -40,8 +40,8 @@ jobs: needs: - frontend-cache steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 with: node-version: 14 @@ -64,8 +64,8 @@ jobs: needs: - frontend-cache steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 with: node-version: 14 diff --git a/.github/workflows/go-tests.yml b/.github/workflows/go-tests.yml index 6270cd51978..050ddae9cad 100644 --- a/.github/workflows/go-tests.yml +++ b/.github/workflows/go-tests.yml @@ -9,8 +9,8 @@ jobs: env: GOTAGS: '' steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: go.mod - name: Download go modules @@ -32,7 +32,7 @@ jobs: check-vendor: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - run: go mod tidy - run: | if ! git diff --exit-code; then @@ -45,8 +45,8 @@ jobs: outputs: matrix: ${{ steps.split-tests.outputs.matrix }} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: './go.mod' - name: Split tests @@ -69,11 +69,11 @@ jobs: GOTAGS: '' GOMAXPROCS: 4 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Start Services run: |- docker compose -f .github/services/go-tests/docker-compose.yml up --detach --no-color --wait - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: './go.mod' - name: Install gotestsum @@ -119,8 +119,8 @@ jobs: if: github.ref != 'refs/heads/main' runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: './go.mod' - run: |- @@ -131,8 +131,8 @@ jobs: if: github.ref != 'refs/heads/main' runs-on: windows-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: './go.mod' - run: |- diff --git a/.github/workflows/integration-hcl.yml b/.github/workflows/integration-hcl.yml index 91143a14c92..95bb8980e68 100644 --- a/.github/workflows/integration-hcl.yml +++ b/.github/workflows/integration-hcl.yml @@ -6,8 +6,8 @@ jobs: generate-integration-hcl: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: go.mod - name: Download go modules diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 792ab68c031..bd22f07ce03 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -10,7 +10,7 @@ jobs: outputs: yarn-cache-key: ${{ steps.set-cache-key.outputs.cache-key}} steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: set-cache-key id: set-cache-key @@ -26,7 +26,7 @@ jobs: ui/lib/node_modules ui/dist/ - - uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0 + - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 if: steps.ui-cache.outputs.cache-hit == false with: node-version: 14 @@ -46,8 +46,8 @@ jobs: needs: - build-frontend steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: go.mod @@ -80,7 +80,7 @@ jobs: - dev-build runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - name: Setup k3s run: |- curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.26.3+k3s1" INSTALL_K3S_EXEC="--docker --disable=traefik --write-kubeconfig-mode=664" sh - diff --git a/.github/workflows/jira.yml b/.github/workflows/jira.yml index 23b8e48bd42..31032359dd1 100644 --- a/.github/workflows/jira.yml +++ b/.github/workflows/jira.yml @@ -3,20 +3,21 @@ on: # `labeled` is for copying GH Issue -> Jira; other states are for updating the created Jira issue when the GH Issue has a change types: [labeled, closed, deleted, reopened] # On Waypoint, we don't put PRs into Jira at this time - pull_request_target: - types: [labeled, opened, closed, reopened] + # pull_request_target: + # types: [opened, closed, reopened] issue_comment: # Allows the copying of GitHub Issue comments to the corresponding Jira ticket (1-way only, GH->Jira) types: [created] + name: Jira Sync jobs: sync: runs-on: ubuntu-latest name: Jira sync - if: contains(github.event.label.name, 'jira') + if: contains(github.event.issue.labels.*.name, 'jira') steps: - name: Login - uses: atlassian/gajira-login@ca13f8850ea309cf44a6e4e0c49d9aa48ac3ca4c # v3 + uses: atlassian/gajira-login@45fd029b9f1d6d8926c6f04175aa80c0e42c9026 # v3.0.1 env: JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} @@ -33,7 +34,7 @@ jobs: id: set-ticket-labels run: | LABELS="[" - if [[ "${{ contains(github.event.issue.labels.*.name, 'documentation') }}" == "true" ]]; then LABELS+="\"engineering\", "; fi + if [[ "${{ contains(github.event.issue.labels.*.name, 'documentation') }}" == "true" ]]; then LABELS+="\"documentation\", "; fi if [[ "${{ contains(github.event.issue.labels.*.name, 'ui') }}" == "true" ]]; then LABELS+="\"experiences\", "; else LABELS+="\"foundations\", "; fi if [[ ${#LABELS} != 1 ]]; then LABELS=${LABELS::-2}"]"; else LABELS+="]"; fi echo "labels=${LABELS}" >> "$GITHUB_OUTPUT" @@ -64,8 +65,8 @@ jobs: uses: tomhjp/gh-action-jira-create@3ed1789cad3521292e591a7cfa703215ec1348bf # v0.2.1 with: project: WAYP - issuetype: "${{ steps.set-ticket-type.outputs.type }}" - summary: "${{ github.event.repository.name }} [#${{ github.event.issue.number || github.event.pull_request.number }}]: ${{ github.event.issue.title || github.event.pull_request.title }}" + issuetype: "${{ steps.set-ticket-type.outputs.type }}" # Does this need to be `issuetype: "GH Issue"`? Waiting on clarification from TPM team + summary: "${{ github.event.repository.name }} [Issue #${{ github.event.issue.number || github.event.pull_request.number }}]: ${{ github.event.issue.title || github.event.pull_request.title }}" description: "${{ github.event.issue.body || github.event.pull_request.body }}\n\n_Created in GitHub by ${{ github.actor }}._" # customfield_10089 is "Issue Link", customfield_10371 is "Source" (use JIRA API to retrieve) extraFields: '{ "customfield_10089": "${{ github.event.issue.html_url || github.event.pull_request.html_url }}", "labels": ${{ steps.set-ticket-labels.outputs.labels }} }' diff --git a/.github/workflows/json-docs.yml b/.github/workflows/json-docs.yml index 04fa9321be1..c563121f758 100644 --- a/.github/workflows/json-docs.yml +++ b/.github/workflows/json-docs.yml @@ -7,8 +7,8 @@ jobs: generate-json-docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version-file: go.mod - run: go mod download @@ -28,7 +28,7 @@ jobs: needs: - generate-json-docs steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: path: "embedJson" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index df1a355addb..dc5c004ee37 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,16 +1,12 @@ name: "Pull Request Labeler" - on: - pull_request_target - jobs: triage: runs-on: ubuntu-latest steps: - - uses: actions/labeler@0967ca812e7fdc8f5f71402a1b486d5bd061fe20 # v4.2.0 + - uses: actions/labeler@ba790c862c380240c6d5e7427be5ace9a05c754b # v4.0.3 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" - permissions: contents: read - pull-requests: write diff --git a/.github/workflows/notify-integration-release-manual.yml b/.github/workflows/notify-integration-release-manual.yml index 09aa89291fd..77fca15a75c 100644 --- a/.github/workflows/notify-integration-release-manual.yml +++ b/.github/workflows/notify-integration-release-manual.yml @@ -45,11 +45,11 @@ jobs: - "waypoint/hashicorp/vault" steps: - name: Checkout this repo - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 with: ref: ${{ github.event.inputs.branch }} - name: Checkout integration-release-action - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 with: repository: hashicorp/integration-release-action path: ./integration-release-action diff --git a/.github/workflows/test-link-rewrites.yml b/.github/workflows/test-link-rewrites.yml new file mode 100644 index 00000000000..dcede9871ee --- /dev/null +++ b/.github/workflows/test-link-rewrites.yml @@ -0,0 +1,14 @@ +on: [deployment_status] + +jobs: + test-link-rewrites: + if: github.event.deployment_status.state == 'success' + uses: hashicorp/dev-portal/.github/workflows/docs-content-link-rewrites-e2e.yml@f33b6376e1648fea794d7f4aa74dfe82e7fe48b8 + with: + repo-owner: "hashicorp" + repo-name: "waypoint" + commit-sha: ${{ github.sha }} + main-branch-preview-url: "https://waypoint-git-main-hashicorp.vercel.app/" + # Workflow is only intended to run for one single migration PR + # This variable does not need to be updated + pr-branch-preview-url: "https://waypoint-git-docs-ambmigrate-link-formats-hashicorp.vercel.app/" diff --git a/.github/workflows/website-mdx.yml b/.github/workflows/website-mdx.yml index 1c8032d14bf..a3f55a8f8d8 100644 --- a/.github/workflows/website-mdx.yml +++ b/.github/workflows/website-mdx.yml @@ -7,7 +7,7 @@ jobs: generate-website-mdx: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: path: "." @@ -26,7 +26,7 @@ jobs: needs: - generate-website-mdx steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: path: website/ diff --git a/.release/security-scan.hcl b/.release/security-scan.hcl index bbee030e7f4..bb86c5cb2c3 100644 --- a/.release/security-scan.hcl +++ b/.release/security-scan.hcl @@ -1,5 +1,5 @@ # Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 +# SPDX-License-Identifier: MPL-2.0 container { dependencies = false diff --git a/CRT.Dockerfile b/CRT.Dockerfile index 7fb226ab057..2d413d24869 100644 --- a/CRT.Dockerfile +++ b/CRT.Dockerfile @@ -1,6 +1,6 @@ # syntax = docker.mirror.hashicorp.services/docker/dockerfile:experimental # Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 +# SPDX-License-Identifier: MPL-2.0 # This is only used by ODR FROM docker.mirror.hashicorp.services/busybox:stable-musl as busybox diff --git a/Dockerfile b/Dockerfile index 701e3e703a0..b24804ed710 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,4 @@ # syntax = docker.mirror.hashicorp.services/docker/dockerfile:experimental -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - #-------------------------------------------------------------------- # builder builds the Waypoint binaries diff --git a/LICENSE b/LICENSE index e9c482d0ca9..c121cee6e5e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,61 +1,375 @@ -License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - -Parameters - -Licensor: HashiCorp, Inc. -Licensed Work: Waypoint 0.12.0. The Licensed Work is (c) 2023 HashiCorp, Inc. -Additional Use Grant: You may make production use of the Licensed Work, - provided such use does not include offering the Licensed Work - to third parties on a hosted or embedded basis which is - competitive with HashiCorp's products. -Change Date: Four years from the date the Licensed Work is published. -Change License: MPL 2.0 - -For information about alternative licensing arrangements for the Licensed Work, -please contact licensing@hashicorp.com. - -Notice - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. +Copyright (c) 2020 HashiCorp, Inc. + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/Makefile b/Makefile index 14d71a52c69..b2308cf8445 100644 --- a/Makefile +++ b/Makefile @@ -194,9 +194,6 @@ gen/doc: # generates the server proto docs --doc_out=./doc --doc_opt=html,index.html \ ./pkg/server/proto/server.proto -.PHONY: gen/website-docs -gen/website-docs: gen/website-mdx gen/integrations-hcl - .PHONY: gen/integrations-hcl gen/integrations-hcl: # Generates the HCL docs for integrations go run ./cmd/waypoint docs -hcl diff --git a/builtin/aws/alb/README.md b/builtin/aws/alb/README.md index aedae7d0f5f..b8d8ffb2dd9 100644 --- a/builtin/aws/alb/README.md +++ b/builtin/aws/alb/README.md @@ -1,10 +1,12 @@ +## AWS ALB + The AWS ALB plugin releases applications deployed to AWS by attaching [target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) to an [ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html). ### Components -1. [ReleaseManager](/waypoint/integrations/hashicorp/aws-alb/latest/components/release-manager/aws-alb-release-manager) +1. [ReleaseManager](/waypoint/integrations/hashicorp/aws-alb/latest/components/release-manager) ### Related Plugins diff --git a/builtin/aws/alb/components/release-manager/aws-alb-release-manager/README.md b/builtin/aws/alb/components/release-manager/README.md similarity index 100% rename from builtin/aws/alb/components/release-manager/aws-alb-release-manager/README.md rename to builtin/aws/alb/components/release-manager/README.md diff --git a/builtin/aws/alb/components/release-manager/aws-alb-release-manager/outputs.hcl b/builtin/aws/alb/components/release-manager/outputs.hcl similarity index 100% rename from builtin/aws/alb/components/release-manager/aws-alb-release-manager/outputs.hcl rename to builtin/aws/alb/components/release-manager/outputs.hcl diff --git a/builtin/aws/alb/components/release-manager/aws-alb-release-manager/parameters.hcl b/builtin/aws/alb/components/release-manager/parameters.hcl similarity index 100% rename from builtin/aws/alb/components/release-manager/aws-alb-release-manager/parameters.hcl rename to builtin/aws/alb/components/release-manager/parameters.hcl diff --git a/builtin/aws/alb/main.go b/builtin/aws/alb/main.go index c3202ed1240..77ac0514834 100644 --- a/builtin/aws/alb/main.go +++ b/builtin/aws/alb/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package alb import ( diff --git a/builtin/aws/alb/mapper.go b/builtin/aws/alb/mapper.go index 1f55fc3a2d5..ca1794d7dc5 100644 --- a/builtin/aws/alb/mapper.go +++ b/builtin/aws/alb/mapper.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package alb import ( diff --git a/builtin/aws/alb/metadata.hcl b/builtin/aws/alb/metadata.hcl index 76bd3fc91ba..fbdb0f0ec26 100644 --- a/builtin/aws/alb/metadata.hcl +++ b/builtin/aws/alb/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS Application Load Balancer" description = "The AWS ALB plugin releases applications deployed to AWS by attaching target groups to an ALB." identifier = "waypoint/aws-alb" + components = ["release-manager"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "release-manager" - name = "AWS ALB Release Manager" - slug = "aws-alb-release-manager" - } } diff --git a/builtin/aws/alb/plugin.pb.go b/builtin/aws/alb/plugin.pb.go index d87ab8216dd..b282735da45 100644 --- a/builtin/aws/alb/plugin.pb.go +++ b/builtin/aws/alb/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/alb/plugin.proto b/builtin/aws/alb/plugin.proto index 73a0724ae0d..5d2087760d4 100644 --- a/builtin/aws/alb/plugin.proto +++ b/builtin/aws/alb/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package alb; diff --git a/builtin/aws/alb/release.go b/builtin/aws/alb/release.go index a877cd3fd85..4396955d861 100644 --- a/builtin/aws/alb/release.go +++ b/builtin/aws/alb/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package alb import "github.com/hashicorp/waypoint-plugin-sdk/component" diff --git a/builtin/aws/alb/releaser.go b/builtin/aws/alb/releaser.go index 7a6064e6919..8fed18326c7 100644 --- a/builtin/aws/alb/releaser.go +++ b/builtin/aws/alb/releaser.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package alb import ( diff --git a/builtin/aws/ami/README.md b/builtin/aws/ami/README.md index a2f27557c1a..abb7db510ef 100644 --- a/builtin/aws/ami/README.md +++ b/builtin/aws/ami/README.md @@ -1,9 +1,11 @@ +## AWS AMI + The AWS AMI plugin searches for an returns an existing [AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html), to be deployed as an [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html). ### Components -1. [Builder](/waypoint/integrations/hashicorp/aws-ami/latest/components/builder/aws-ami-builder) +1. [Builder](/waypoint/integrations/hashicorp/aws-ami/latest/components/builder) ### Related Plugins diff --git a/builtin/aws/ami/builder.go b/builtin/aws/ami/builder.go index 2daba95b352..bb05e907216 100644 --- a/builtin/aws/ami/builder.go +++ b/builtin/aws/ami/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ami import ( diff --git a/builtin/aws/ami/components/builder/aws-ami-builder/README.md b/builtin/aws/ami/components/builder/aws-ami-builder/README.md deleted file mode 100644 index 4df72f29441..00000000000 --- a/builtin/aws/ami/components/builder/aws-ami-builder/README.md +++ /dev/null @@ -1,8 +0,0 @@ - -Search for and return an existing AMI. - -### Interface - -- Input: **component.Source** -- Output: **ami.Image** - diff --git a/builtin/aws/ami/components/builder/aws-ami-builder/outputs.hcl b/builtin/aws/ami/components/builder/aws-ami-builder/outputs.hcl deleted file mode 100644 index 819971cdfc4..00000000000 --- a/builtin/aws/ami/components/builder/aws-ami-builder/outputs.hcl +++ /dev/null @@ -1,7 +0,0 @@ -# This file was generated via `make gen/integrations-hcl` -output { - key = "image" - description = "" - type = "string" -} - diff --git a/builtin/aws/ami/components/builder/aws-ami-builder/parameters.hcl b/builtin/aws/ami/components/builder/aws-ami-builder/parameters.hcl deleted file mode 100644 index 4633072b23f..00000000000 --- a/builtin/aws/ami/components/builder/aws-ami-builder/parameters.hcl +++ /dev/null @@ -1,29 +0,0 @@ -# This file was generated via `make gen/integrations-hcl` -parameter { - key = "filters" - description = "DescribeImage specific filters to search with\nthe filters are always name => [value]" - type = "map of string to list of string" - required = false -} - -parameter { - key = "name" - description = "the name of the AMI to search for, supports wildcards" - type = "string" - required = false -} - -parameter { - key = "owners" - description = "the set of AMI owners to restrict the search to" - type = "list of string" - required = false -} - -parameter { - key = "region" - description = "the AWS region to search in" - type = "string" - required = true -} - diff --git a/builtin/aws/ami/main.go b/builtin/aws/ami/main.go index 3d5aef0e466..23d9af3ffba 100644 --- a/builtin/aws/ami/main.go +++ b/builtin/aws/ami/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ami import ( diff --git a/builtin/aws/ami/metadata.hcl b/builtin/aws/ami/metadata.hcl index e657b27e326..47283414604 100644 --- a/builtin/aws/ami/metadata.hcl +++ b/builtin/aws/ami/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS AMI" description = "The AWS AMI plugin searches for and returns an existing AMI, to be deployed as an EC2." identifier = "waypoint/aws-ami" + components = ["builder"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "AWS AMI Builder" - slug = "aws-ami-builder" - } } diff --git a/builtin/aws/ami/plugin.pb.go b/builtin/aws/ami/plugin.pb.go index 2dc25a87abd..f3264c04fa3 100644 --- a/builtin/aws/ami/plugin.pb.go +++ b/builtin/aws/ami/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/ami/plugin.proto b/builtin/aws/ami/plugin.proto index f6a89c12cda..4ab15c8ee8b 100644 --- a/builtin/aws/ami/plugin.proto +++ b/builtin/aws/ami/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package ami; diff --git a/builtin/aws/ec2/README.md b/builtin/aws/ec2/README.md index 221f38c0477..90659beaa50 100644 --- a/builtin/aws/ec2/README.md +++ b/builtin/aws/ec2/README.md @@ -1,8 +1,10 @@ +## AWS EC2 + The AWS EC2 plugin deploys an AWS AMI as a virtual machine, running on AWS EC2. ### Components -1. [Platform](/waypoint/integrations/hashicorp/aws-ec2/latest/components/platform/aws-ec2-platform) +1. [Platform](/waypoint/integrations/hashicorp/aws-ec2/latest/components/platform) ### Related Plugins diff --git a/builtin/aws/ec2/cloud_init.go b/builtin/aws/ec2/cloud_init.go index 49c86cbbb7f..549a628987e 100644 --- a/builtin/aws/ec2/cloud_init.go +++ b/builtin/aws/ec2/cloud_init.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ec2 import ( diff --git a/builtin/aws/ec2/components/platform/aws-ec2-platform/README.md b/builtin/aws/ec2/components/platform/README.md similarity index 100% rename from builtin/aws/ec2/components/platform/aws-ec2-platform/README.md rename to builtin/aws/ec2/components/platform/README.md diff --git a/builtin/aws/ec2/components/platform/aws-ec2-platform/outputs.hcl b/builtin/aws/ec2/components/platform/outputs.hcl similarity index 100% rename from builtin/aws/ec2/components/platform/aws-ec2-platform/outputs.hcl rename to builtin/aws/ec2/components/platform/outputs.hcl diff --git a/builtin/aws/ec2/components/platform/aws-ec2-platform/parameters.hcl b/builtin/aws/ec2/components/platform/parameters.hcl similarity index 100% rename from builtin/aws/ec2/components/platform/aws-ec2-platform/parameters.hcl rename to builtin/aws/ec2/components/platform/parameters.hcl diff --git a/builtin/aws/ec2/main.go b/builtin/aws/ec2/main.go index 9c27592fdff..0517bda2855 100644 --- a/builtin/aws/ec2/main.go +++ b/builtin/aws/ec2/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ec2 import ( diff --git a/builtin/aws/ec2/metadata.hcl b/builtin/aws/ec2/metadata.hcl index 4ab20ff9d50..b98772e1003 100644 --- a/builtin/aws/ec2/metadata.hcl +++ b/builtin/aws/ec2/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS EC2" description = "The AWS EC2 plugin deploys an AWS AMI as a virtual machine, running on AWS EC2." identifier = "waypoint/aws-ec2" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "AWS EC2 Platform" - slug = "aws-ec2-platform" - } } diff --git a/builtin/aws/ec2/platform.go b/builtin/aws/ec2/platform.go index 966b7600b87..4a13f650d68 100644 --- a/builtin/aws/ec2/platform.go +++ b/builtin/aws/ec2/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ec2 import ( diff --git a/builtin/aws/ec2/plugin.pb.go b/builtin/aws/ec2/plugin.pb.go index edaa66dd747..0833d45cb1f 100644 --- a/builtin/aws/ec2/plugin.pb.go +++ b/builtin/aws/ec2/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/ec2/plugin.proto b/builtin/aws/ec2/plugin.proto index 88ff1c02af5..abd002587b0 100644 --- a/builtin/aws/ec2/plugin.proto +++ b/builtin/aws/ec2/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package ec2; diff --git a/builtin/aws/ecr/README.md b/builtin/aws/ecr/README.md index 62b271f9193..9b99452f889 100644 --- a/builtin/aws/ecr/README.md +++ b/builtin/aws/ecr/README.md @@ -1,9 +1,11 @@ +## AWS ECR + The AWS ECR plugin pushes a Docker image to an [Elastic Container Registry](https://aws.amazon.com/ecr/getting-started/) on AWS. ### Components -1. [Registry](/waypoint/integrations/hashicorp/aws-ecr/latest/components/registry/aws-ecr-registry) +1. [Registry](/waypoint/integrations/hashicorp/aws-ecr/latest/components/registry) ### Related Plugins diff --git a/builtin/aws/ecr/components/registry/aws-ecr-registry/README.md b/builtin/aws/ecr/components/registry/README.md similarity index 100% rename from builtin/aws/ecr/components/registry/aws-ecr-registry/README.md rename to builtin/aws/ecr/components/registry/README.md diff --git a/builtin/aws/ecr/components/registry/aws-ecr-registry/outputs.hcl b/builtin/aws/ecr/components/registry/outputs.hcl similarity index 100% rename from builtin/aws/ecr/components/registry/aws-ecr-registry/outputs.hcl rename to builtin/aws/ecr/components/registry/outputs.hcl diff --git a/builtin/aws/ecr/components/registry/aws-ecr-registry/parameters.hcl b/builtin/aws/ecr/components/registry/parameters.hcl similarity index 100% rename from builtin/aws/ecr/components/registry/aws-ecr-registry/parameters.hcl rename to builtin/aws/ecr/components/registry/parameters.hcl diff --git a/builtin/aws/ecr/ecr.go b/builtin/aws/ecr/ecr.go index 7fe726e5f05..f975ee7b2c6 100644 --- a/builtin/aws/ecr/ecr.go +++ b/builtin/aws/ecr/ecr.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecr import ( diff --git a/builtin/aws/ecr/mapper.go b/builtin/aws/ecr/mapper.go index bb59766341b..97a9c8da138 100644 --- a/builtin/aws/ecr/mapper.go +++ b/builtin/aws/ecr/mapper.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecr import ( diff --git a/builtin/aws/ecr/metadata.hcl b/builtin/aws/ecr/metadata.hcl index 41e56eec076..82fee5bb14d 100644 --- a/builtin/aws/ecr/metadata.hcl +++ b/builtin/aws/ecr/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS ECR" description = "The AWS ECR plugin pushes a Docker image to an Elastic Container Registry on AWS." identifier = "waypoint/aws-ecr" + components = ["registry"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "registry" - name = "AWS ECR Registry" - slug = "aws-ecr-registry" - } } diff --git a/builtin/aws/ecr/plugin.go b/builtin/aws/ecr/plugin.go index b3f0ac1a379..0950c71856b 100644 --- a/builtin/aws/ecr/plugin.go +++ b/builtin/aws/ecr/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecr func (i *Image) Name() string { diff --git a/builtin/aws/ecr/plugin.pb.go b/builtin/aws/ecr/plugin.pb.go index 2d18c040228..c2b119f8fcf 100644 --- a/builtin/aws/ecr/plugin.pb.go +++ b/builtin/aws/ecr/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/ecr/plugin.proto b/builtin/aws/ecr/plugin.proto index 3616c51dba8..e5e9fa0e0d3 100644 --- a/builtin/aws/ecr/plugin.proto +++ b/builtin/aws/ecr/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package ecr; diff --git a/builtin/aws/ecr/pull/README.md b/builtin/aws/ecr/pull/README.md index ba301b4c716..6e5288baf72 100644 --- a/builtin/aws/ecr/pull/README.md +++ b/builtin/aws/ecr/pull/README.md @@ -1,3 +1,5 @@ +## AWS ECR Pull + The AWS ECR Pull plugin references an existing image, if found, in an AWS [Elastic Container Registry](https://aws.amazon.com/ecr/getting-started/). The image information can be used to push an image to a new registry, or be @@ -5,7 +7,7 @@ deployed to [AWS ECS](https://aws.amazon.com/ecs/getting-started/). ### Components -1. [Builder](/waypoint/integrations/hashicorp/aws-ecr-pull/latest/components/builder/aws-ecr-pull-builder) +1. [Builder](/waypoint/integrations/hashicorp/aws-ecr-pull/latest/components/builder) ### Related Plugins diff --git a/builtin/aws/ecr/pull/builder.go b/builtin/aws/ecr/pull/builder.go index 181fbc738db..0b288e4b19b 100644 --- a/builtin/aws/ecr/pull/builder.go +++ b/builtin/aws/ecr/pull/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecrpull import ( diff --git a/builtin/aws/ecr/pull/builder_test.go b/builtin/aws/ecr/pull/builder_test.go index b58a9c33731..eded51cf26f 100644 --- a/builtin/aws/ecr/pull/builder_test.go +++ b/builtin/aws/ecr/pull/builder_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecrpull import ( diff --git a/builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/README.md b/builtin/aws/ecr/pull/components/builder/README.md similarity index 100% rename from builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/README.md rename to builtin/aws/ecr/pull/components/builder/README.md diff --git a/builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/outputs.hcl b/builtin/aws/ecr/pull/components/builder/outputs.hcl similarity index 100% rename from builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/outputs.hcl rename to builtin/aws/ecr/pull/components/builder/outputs.hcl diff --git a/builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/parameters.hcl b/builtin/aws/ecr/pull/components/builder/parameters.hcl similarity index 100% rename from builtin/aws/ecr/pull/components/builder/aws-ecr-pull-builder/parameters.hcl rename to builtin/aws/ecr/pull/components/builder/parameters.hcl diff --git a/builtin/aws/ecr/pull/main.go b/builtin/aws/ecr/pull/main.go index 631a714455b..d452eb86666 100644 --- a/builtin/aws/ecr/pull/main.go +++ b/builtin/aws/ecr/pull/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecrpull import ( diff --git a/builtin/aws/ecr/pull/metadata.hcl b/builtin/aws/ecr/pull/metadata.hcl index bf44cd7785f..e89a502e950 100644 --- a/builtin/aws/ecr/pull/metadata.hcl +++ b/builtin/aws/ecr/pull/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS ECR Pull" description = "The AWS ECR Pull plugin references an existing image, if found, in an AWS Elastic Container Registry. The image information can be used to push an image to a new registry, or be deployed to AWS ECS." identifier = "waypoint/aws-ecr-pull" + components = ["builder"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "AWS ECR Pull Builder" - slug = "aws-ecr-pull-builder" - } } diff --git a/builtin/aws/ecr/registry.go b/builtin/aws/ecr/registry.go index 4ebeb4529d7..bd84949a8a6 100644 --- a/builtin/aws/ecr/registry.go +++ b/builtin/aws/ecr/registry.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecr import ( diff --git a/builtin/aws/ecs/README.md b/builtin/aws/ecs/README.md index 67434890dab..0eb29bab288 100644 --- a/builtin/aws/ecs/README.md +++ b/builtin/aws/ecs/README.md @@ -1,10 +1,12 @@ +## AWS ECS + The AWS ECS plugin deploys an application image to an AWS [ECS cluster](https://aws.amazon.com/ecs/getting-started/). It also launches on-demand runners to do operations remotely. ### Components -1. [Platform](/waypoint/integrations/hashicorp/aws-ecs/latest/components/platform/aws-ecs-platform) -2. [TaskLauncher](/waypoint/integrations/hashicorp/aws-ecs/latest/components/task/aws-ecs-task) +1. [Platform](/waypoint/integrations/hashicorp/aws-ecs/latest/components/platform) +2. [TaskLauncher](/waypoint/integrations/hashicorp/aws-ecs/latest/components/task) ### Related Plugins diff --git a/builtin/aws/ecs/components/platform/aws-ecs-platform/README.md b/builtin/aws/ecs/components/platform/README.md similarity index 100% rename from builtin/aws/ecs/components/platform/aws-ecs-platform/README.md rename to builtin/aws/ecs/components/platform/README.md diff --git a/builtin/aws/ecs/components/platform/aws-ecs-platform/outputs.hcl b/builtin/aws/ecs/components/platform/outputs.hcl similarity index 100% rename from builtin/aws/ecs/components/platform/aws-ecs-platform/outputs.hcl rename to builtin/aws/ecs/components/platform/outputs.hcl diff --git a/builtin/aws/ecs/components/platform/aws-ecs-platform/parameters.hcl b/builtin/aws/ecs/components/platform/parameters.hcl similarity index 100% rename from builtin/aws/ecs/components/platform/aws-ecs-platform/parameters.hcl rename to builtin/aws/ecs/components/platform/parameters.hcl diff --git a/builtin/aws/ecs/components/task/aws-ecs-task/README.md b/builtin/aws/ecs/components/task/README.md similarity index 100% rename from builtin/aws/ecs/components/task/aws-ecs-task/README.md rename to builtin/aws/ecs/components/task/README.md diff --git a/builtin/aws/ecs/components/task/aws-ecs-task/outputs.hcl b/builtin/aws/ecs/components/task/outputs.hcl similarity index 100% rename from builtin/aws/ecs/components/task/aws-ecs-task/outputs.hcl rename to builtin/aws/ecs/components/task/outputs.hcl diff --git a/builtin/aws/ecs/components/task/aws-ecs-task/parameters.hcl b/builtin/aws/ecs/components/task/parameters.hcl similarity index 100% rename from builtin/aws/ecs/components/task/aws-ecs-task/parameters.hcl rename to builtin/aws/ecs/components/task/parameters.hcl diff --git a/builtin/aws/ecs/main.go b/builtin/aws/ecs/main.go index 0b3a4ae075b..26dbcf3b2fe 100644 --- a/builtin/aws/ecs/main.go +++ b/builtin/aws/ecs/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import ( diff --git a/builtin/aws/ecs/metadata.hcl b/builtin/aws/ecs/metadata.hcl index 53e7113370d..669c4ac6dfb 100644 --- a/builtin/aws/ecs/metadata.hcl +++ b/builtin/aws/ecs/metadata.hcl @@ -1,23 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS ECS" description = "The AWS ECS plugin deploys an application image to an AWS ECS cluster. It also launches on-demand runners to do operations remotely." identifier = "waypoint/aws-ecs" + components = ["platform", "task"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "AWS ECS Platform" - slug = "aws-ecs-platform" - } - component { - type = "task" - name = "AWS ECS Task" - slug = "aws-ecs-task" - } } diff --git a/builtin/aws/ecs/platform.go b/builtin/aws/ecs/platform.go index 37167b91e4c..05e2a1eb9e0 100644 --- a/builtin/aws/ecs/platform.go +++ b/builtin/aws/ecs/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import ( diff --git a/builtin/aws/ecs/platform_test.go b/builtin/aws/ecs/platform_test.go index 4de825b8d16..50e5c4a0e1f 100644 --- a/builtin/aws/ecs/platform_test.go +++ b/builtin/aws/ecs/platform_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import ( diff --git a/builtin/aws/ecs/plugin.pb.go b/builtin/aws/ecs/plugin.pb.go index 6d864d14127..d08b7e75a7d 100644 --- a/builtin/aws/ecs/plugin.pb.go +++ b/builtin/aws/ecs/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/ecs/plugin.proto b/builtin/aws/ecs/plugin.proto index 9b0fcca6d1d..0d399b3e9b7 100644 --- a/builtin/aws/ecs/plugin.proto +++ b/builtin/aws/ecs/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package ecs; diff --git a/builtin/aws/ecs/release.go b/builtin/aws/ecs/release.go index 7052800b70d..f492e69f682 100644 --- a/builtin/aws/ecs/release.go +++ b/builtin/aws/ecs/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import "github.com/hashicorp/waypoint-plugin-sdk/component" diff --git a/builtin/aws/ecs/releaser.go b/builtin/aws/ecs/releaser.go index 45a868162a2..28eef783124 100644 --- a/builtin/aws/ecs/releaser.go +++ b/builtin/aws/ecs/releaser.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import ( diff --git a/builtin/aws/ecs/task.go b/builtin/aws/ecs/task.go index 0ea643a6539..a0b01a3934f 100644 --- a/builtin/aws/ecs/task.go +++ b/builtin/aws/ecs/task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ecs import ( diff --git a/builtin/aws/lambda/README.md b/builtin/aws/lambda/README.md index f93e4bfc8df..e4d07f610ec 100644 --- a/builtin/aws/lambda/README.md +++ b/builtin/aws/lambda/README.md @@ -1,8 +1,10 @@ +## AWS Lambda + The AWS Lambda plugin deploys OCI images as functions to [AWS Lambda](https://aws.amazon.com/lambda/getting-started/). ### Components -1. [Platform](/waypoint/integrations/hashicorp/aws-lambda/latest/components/platform/aws-lambda-platform) +1. [Platform](/waypoint/integrations/hashicorp/aws-lambda/latest/components/platform) ### Related Plugins diff --git a/builtin/aws/lambda/components/platform/aws-lambda-platform/README.md b/builtin/aws/lambda/components/platform/README.md similarity index 100% rename from builtin/aws/lambda/components/platform/aws-lambda-platform/README.md rename to builtin/aws/lambda/components/platform/README.md diff --git a/builtin/aws/lambda/components/platform/aws-lambda-platform/outputs.hcl b/builtin/aws/lambda/components/platform/outputs.hcl similarity index 100% rename from builtin/aws/lambda/components/platform/aws-lambda-platform/outputs.hcl rename to builtin/aws/lambda/components/platform/outputs.hcl diff --git a/builtin/aws/lambda/components/platform/aws-lambda-platform/parameters.hcl b/builtin/aws/lambda/components/platform/parameters.hcl similarity index 100% rename from builtin/aws/lambda/components/platform/aws-lambda-platform/parameters.hcl rename to builtin/aws/lambda/components/platform/parameters.hcl diff --git a/builtin/aws/lambda/deployment.go b/builtin/aws/lambda/deployment.go index 798e9aa4abc..4bf8e7c3be2 100644 --- a/builtin/aws/lambda/deployment.go +++ b/builtin/aws/lambda/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/lambda/ecs.go b/builtin/aws/lambda/ecs.go index edd256747d2..670158b9d68 100644 --- a/builtin/aws/lambda/ecs.go +++ b/builtin/aws/lambda/ecs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/lambda/function_url/README.md b/builtin/aws/lambda/function_url/README.md index 70157526bf7..02e0106513b 100644 --- a/builtin/aws/lambda/function_url/README.md +++ b/builtin/aws/lambda/function_url/README.md @@ -1,9 +1,11 @@ +## AWS Lambda Function URL + The AWS Lambda Function URL plugin releases a function deployed with the AWS Lambda plugin by creating a [Lambda function URL](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html). ### Components -1.[ReleaseManager](/waypoint/integrations/hashicorp/lambda-function-url/latest/components/release-manager/lambda-function-url-release-manager) +1.[ReleaseManager](/waypoint/integrations/hashicorp/lambda-function-url/latest/components/release-manager) ### Related Plugins diff --git a/builtin/aws/lambda/function_url/components/release-manager/lambda-function-url-release-manager/README.md b/builtin/aws/lambda/function_url/components/release-manager/README.md similarity index 100% rename from builtin/aws/lambda/function_url/components/release-manager/lambda-function-url-release-manager/README.md rename to builtin/aws/lambda/function_url/components/release-manager/README.md diff --git a/builtin/aws/lambda/function_url/components/release-manager/lambda-function-url-release-manager/parameters.hcl b/builtin/aws/lambda/function_url/components/release-manager/parameters.hcl similarity index 100% rename from builtin/aws/lambda/function_url/components/release-manager/lambda-function-url-release-manager/parameters.hcl rename to builtin/aws/lambda/function_url/components/release-manager/parameters.hcl diff --git a/builtin/aws/lambda/function_url/metadata.hcl b/builtin/aws/lambda/function_url/metadata.hcl index 2a086a0c0df..6ea65b2ff02 100644 --- a/builtin/aws/lambda/function_url/metadata.hcl +++ b/builtin/aws/lambda/function_url/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Lambda Function URL" description = "The AWS Lambda Function URL plugin releases a function deployed with the AWS Lambda plugin." identifier = "waypoint/lambda-function-url" + components = ["release-manager"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "release-manager" - name = "Lambda Function URL Release Manager" - slug = "lambda-function-url-release-manager" - } } diff --git a/builtin/aws/lambda/function_url/plugin.go b/builtin/aws/lambda/function_url/plugin.go index a555035b811..b45c0f1327e 100644 --- a/builtin/aws/lambda/function_url/plugin.go +++ b/builtin/aws/lambda/function_url/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package function_url import ( diff --git a/builtin/aws/lambda/function_url/plugin.pb.go b/builtin/aws/lambda/function_url/plugin.pb.go index 806cec786ee..35dc9d9abaa 100644 --- a/builtin/aws/lambda/function_url/plugin.pb.go +++ b/builtin/aws/lambda/function_url/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/lambda/function_url/plugin.proto b/builtin/aws/lambda/function_url/plugin.proto index a78101342b4..a5093815549 100644 --- a/builtin/aws/lambda/function_url/plugin.proto +++ b/builtin/aws/lambda/function_url/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package function_url; diff --git a/builtin/aws/lambda/function_url/release.go b/builtin/aws/lambda/function_url/release.go index 5a9657cf216..543f22025be 100644 --- a/builtin/aws/lambda/function_url/release.go +++ b/builtin/aws/lambda/function_url/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package function_url import "github.com/hashicorp/waypoint-plugin-sdk/component" diff --git a/builtin/aws/lambda/function_url/releaser.go b/builtin/aws/lambda/function_url/releaser.go index 04e165f7d84..8e4b900ef8e 100644 --- a/builtin/aws/lambda/function_url/releaser.go +++ b/builtin/aws/lambda/function_url/releaser.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package function_url import ( diff --git a/builtin/aws/lambda/lambda.go b/builtin/aws/lambda/lambda.go index e82404e17b1..ef634739d66 100644 --- a/builtin/aws/lambda/lambda.go +++ b/builtin/aws/lambda/lambda.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package lambda contains components for deploying to AWS Lambda package lambda diff --git a/builtin/aws/lambda/metadata.hcl b/builtin/aws/lambda/metadata.hcl index 3eaa2613a65..c29d32bbf4c 100644 --- a/builtin/aws/lambda/metadata.hcl +++ b/builtin/aws/lambda/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS Lambda" description = "The AWS Lambda plugin deploys OCI images as functions to AWS Lambda." identifier = "waypoint/aws-lambda" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "AWS Lambda Platform" - slug = "aws-lambda-platform" - } } diff --git a/builtin/aws/lambda/platform.go b/builtin/aws/lambda/platform.go index 12571ba483b..0c200a50fe2 100644 --- a/builtin/aws/lambda/platform.go +++ b/builtin/aws/lambda/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/lambda/platform_logs.go b/builtin/aws/lambda/platform_logs.go index 6e0d548fddd..1385bf6ed5d 100644 --- a/builtin/aws/lambda/platform_logs.go +++ b/builtin/aws/lambda/platform_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/lambda/platform_test.go b/builtin/aws/lambda/platform_test.go index c52295db323..d304061212b 100644 --- a/builtin/aws/lambda/platform_test.go +++ b/builtin/aws/lambda/platform_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/lambda/plugin.pb.go b/builtin/aws/lambda/plugin.pb.go index 381b6c14d7a..6ebec3811ec 100644 --- a/builtin/aws/lambda/plugin.pb.go +++ b/builtin/aws/lambda/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/aws/lambda/plugin.proto b/builtin/aws/lambda/plugin.proto index 2fb5c957646..4140a897a89 100644 --- a/builtin/aws/lambda/plugin.proto +++ b/builtin/aws/lambda/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package aws.lambda; diff --git a/builtin/aws/lambda/utils.go b/builtin/aws/lambda/utils.go index c316b567319..9c9f8b4a09d 100644 --- a/builtin/aws/lambda/utils.go +++ b/builtin/aws/lambda/utils.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package lambda import ( diff --git a/builtin/aws/ssm/README.md b/builtin/aws/ssm/README.md index 4e41e54c648..160130231d6 100644 --- a/builtin/aws/ssm/README.md +++ b/builtin/aws/ssm/README.md @@ -1,5 +1,7 @@ +## AWS SSM + The AWS SSM plugin reads configuration values from the [AWS SSM Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html). ### Components -1. [ConfigSourcer](/waypoint/integrations/hashicorp/aws-ssm/latest/components/config-sourcer/aws-ssm-config-sourcer) +1. [ConfigSourcer](/waypoint/integrations/hashicorp/aws-ssm/latest/components/config-sourcer) diff --git a/builtin/aws/ssm/components/config-sourcer/aws-ssm-config-sourcer/README.md b/builtin/aws/ssm/components/config-sourcer/README.md similarity index 100% rename from builtin/aws/ssm/components/config-sourcer/aws-ssm-config-sourcer/README.md rename to builtin/aws/ssm/components/config-sourcer/README.md diff --git a/builtin/aws/ssm/components/config-sourcer/aws-ssm-config-sourcer/parameters.hcl b/builtin/aws/ssm/components/config-sourcer/parameters.hcl similarity index 100% rename from builtin/aws/ssm/components/config-sourcer/aws-ssm-config-sourcer/parameters.hcl rename to builtin/aws/ssm/components/config-sourcer/parameters.hcl diff --git a/builtin/aws/ssm/config_sourcer.go b/builtin/aws/ssm/config_sourcer.go index 44541fa9422..08feee12052 100644 --- a/builtin/aws/ssm/config_sourcer.go +++ b/builtin/aws/ssm/config_sourcer.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ssm import ( diff --git a/builtin/aws/ssm/metadata.hcl b/builtin/aws/ssm/metadata.hcl index 327f6fa4ffc..729fe0ee27e 100644 --- a/builtin/aws/ssm/metadata.hcl +++ b/builtin/aws/ssm/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "AWS SSM" description = "The AWS SSM plugin reads configuration values from the AWS SSM Parameter Store." identifier = "waypoint/aws-ssm" + components = ["config-sourcer"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "config-sourcer" - name = "AWS SSM Config Sourcer" - slug = "aws-ssm-config-sourcer" - } } diff --git a/builtin/aws/ssm/ssm.go b/builtin/aws/ssm/ssm.go index 06fb7713a01..339a2ca36df 100644 --- a/builtin/aws/ssm/ssm.go +++ b/builtin/aws/ssm/ssm.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package ssm contains components for syncing configuration with AWS SSM. package ssm diff --git a/builtin/aws/utils/ecs.go b/builtin/aws/utils/ecs.go index 10e2d93c2ff..f35959f59ca 100644 --- a/builtin/aws/utils/ecs.go +++ b/builtin/aws/utils/ecs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/public_ips.go b/builtin/aws/utils/public_ips.go index 4e57631644a..bbe8319b3c7 100644 --- a/builtin/aws/utils/public_ips.go +++ b/builtin/aws/utils/public_ips.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/security_groups.go b/builtin/aws/utils/security_groups.go index deccfa02682..ce8f369d232 100644 --- a/builtin/aws/utils/security_groups.go +++ b/builtin/aws/utils/security_groups.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/session.go b/builtin/aws/utils/session.go index 5a98f8e528d..6b645cdc35d 100644 --- a/builtin/aws/utils/session.go +++ b/builtin/aws/utils/session.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/subnets.go b/builtin/aws/utils/subnets.go index 80642d1f3fb..16b124bdbb2 100644 --- a/builtin/aws/utils/subnets.go +++ b/builtin/aws/utils/subnets.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/validations.go b/builtin/aws/utils/validations.go index 4d25e34237a..d1ae7c041b7 100644 --- a/builtin/aws/utils/validations.go +++ b/builtin/aws/utils/validations.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/validations_test.go b/builtin/aws/utils/validations_test.go index da7212bd7a9..a1ced16d8b8 100644 --- a/builtin/aws/utils/validations_test.go +++ b/builtin/aws/utils/validations_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils import ( diff --git a/builtin/aws/utils/values.go b/builtin/aws/utils/values.go index 61795b47814..49c159daae3 100644 --- a/builtin/aws/utils/values.go +++ b/builtin/aws/utils/values.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package utils func OptionalInt64(v int64) *int64 { diff --git a/builtin/azure/aci/README.md b/builtin/azure/aci/README.md index c98fb433124..20a3f14786d 100644 --- a/builtin/azure/aci/README.md +++ b/builtin/azure/aci/README.md @@ -1,8 +1,10 @@ +## Azure ACI + The Azure ACI plugin deploys a container to [Azure Container Instances](https://azure.microsoft.com/en-us/products/container-instances#layout-container-uid0a01). ### Components -1. [Platform](/waypoint/integrations/hashicorp/azure-container-instance/latest/components/platform/azure-container-instance-platform) +1. [Platform](/waypoint/integrations/hashicorp/azure-container-instance/latest/components/platform) ### Related Plugins diff --git a/builtin/azure/aci/aci.go b/builtin/azure/aci/aci.go index a2914c4c49a..09010293d2b 100644 --- a/builtin/azure/aci/aci.go +++ b/builtin/azure/aci/aci.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package aci contains components for deploying to Azure ACI. package aci diff --git a/builtin/azure/aci/components/platform/azure-container-instance-platform/README.md b/builtin/azure/aci/components/platform/README.md similarity index 100% rename from builtin/azure/aci/components/platform/azure-container-instance-platform/README.md rename to builtin/azure/aci/components/platform/README.md diff --git a/builtin/azure/aci/components/platform/azure-container-instance-platform/outputs.hcl b/builtin/azure/aci/components/platform/outputs.hcl similarity index 100% rename from builtin/azure/aci/components/platform/azure-container-instance-platform/outputs.hcl rename to builtin/azure/aci/components/platform/outputs.hcl diff --git a/builtin/azure/aci/components/platform/azure-container-instance-platform/parameters.hcl b/builtin/azure/aci/components/platform/parameters.hcl similarity index 100% rename from builtin/azure/aci/components/platform/azure-container-instance-platform/parameters.hcl rename to builtin/azure/aci/components/platform/parameters.hcl diff --git a/builtin/azure/aci/deployment.go b/builtin/azure/aci/deployment.go index 88328217753..7b47c76298c 100644 --- a/builtin/azure/aci/deployment.go +++ b/builtin/azure/aci/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package aci import ( diff --git a/builtin/azure/aci/metadata.hcl b/builtin/azure/aci/metadata.hcl index d762ebc77ec..d2d30886f0a 100644 --- a/builtin/azure/aci/metadata.hcl +++ b/builtin/azure/aci/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Azure Container Instance" description = "The Azure ACI plugin deploys a container to Azure Container Instances." identifier = "waypoint/azure-container-instance" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Azure Container Instance Platform" - slug = "azure-container-instance-platform" - } } diff --git a/builtin/azure/aci/platform.go b/builtin/azure/aci/platform.go index 92a3853f9bf..ab6f3bf8774 100644 --- a/builtin/azure/aci/platform.go +++ b/builtin/azure/aci/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package aci import ( diff --git a/builtin/azure/aci/plugin.pb.go b/builtin/azure/aci/plugin.pb.go index 872ca0a1686..3de0e1d62b1 100644 --- a/builtin/azure/aci/plugin.pb.go +++ b/builtin/azure/aci/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/azure/aci/plugin.proto b/builtin/azure/aci/plugin.proto index 2afba4ca94d..aa0aead3118 100644 --- a/builtin/azure/aci/plugin.proto +++ b/builtin/azure/aci/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package azure.aci; diff --git a/builtin/azure/aci/validation.go b/builtin/azure/aci/validation.go index 7432982abae..8f004dc4eca 100644 --- a/builtin/azure/aci/validation.go +++ b/builtin/azure/aci/validation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package aci import ( diff --git a/builtin/azure/aci/validation_test.go b/builtin/azure/aci/validation_test.go index 0f478d180be..2d614e47b61 100644 --- a/builtin/azure/aci/validation_test.go +++ b/builtin/azure/aci/validation_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package aci import ( diff --git a/builtin/consul/README.md b/builtin/consul/README.md index 748f5f1bd0d..8f23688eb4e 100644 --- a/builtin/consul/README.md +++ b/builtin/consul/README.md @@ -1,5 +1,7 @@ +## Consul + The Consul plugin reads configuration values from the [Consul KV store](https://developer.hashicorp.com/consul/docs/dynamic-app-config/kv). ### Components -1. [ConfigSourcer](/waypoint/integrations/hashicorp/consul/latest/components/config-sourcer/consul-config-sourcer) +1. [ConfigSourcer](/waypoint/integrations/hashicorp/consul/latest/components/config-sourcer) diff --git a/builtin/consul/components/config-sourcer/consul-config-sourcer/README.md b/builtin/consul/components/config-sourcer/README.md similarity index 100% rename from builtin/consul/components/config-sourcer/consul-config-sourcer/README.md rename to builtin/consul/components/config-sourcer/README.md diff --git a/builtin/consul/components/config-sourcer/consul-config-sourcer/parameters.hcl b/builtin/consul/components/config-sourcer/parameters.hcl similarity index 100% rename from builtin/consul/components/config-sourcer/consul-config-sourcer/parameters.hcl rename to builtin/consul/components/config-sourcer/parameters.hcl diff --git a/builtin/consul/config_sourcer.go b/builtin/consul/config_sourcer.go index d9cfb2944e3..f6c7afffa3d 100644 --- a/builtin/consul/config_sourcer.go +++ b/builtin/consul/config_sourcer.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package consul import ( diff --git a/builtin/consul/consul.go b/builtin/consul/consul.go index c61f0d2a918..3f91a08d8a7 100644 --- a/builtin/consul/consul.go +++ b/builtin/consul/consul.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package consul contains components for syncing app configuration with Consul. package consul diff --git a/builtin/consul/metadata.hcl b/builtin/consul/metadata.hcl index d0754351e1b..a6b5794677c 100644 --- a/builtin/consul/metadata.hcl +++ b/builtin/consul/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Consul" description = "The Consul plugin reads configuration values from the Consul KV store." identifier = "waypoint/consul" + components = ["config-sourcer"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "config-sourcer" - name = "Consul Config Sourcer" - slug = "consul-config-sourcer" - } } diff --git a/builtin/docker/README.md b/builtin/docker/README.md index 93e5e9c41ba..40e1ad636d2 100644 --- a/builtin/docker/README.md +++ b/builtin/docker/README.md @@ -1,13 +1,14 @@ +## Docker + The Docker plugin can build a Docker image of an application, push a Docker image to a remote registry, and/or deploy the Docker image to a Docker daemon. It also launches on-demand runners to do operations remotely. ### Components -1. [Builder](/waypoint/integrations/hashicorp/docker/latest/components/builder/docker-builder) -2. [Registry](/waypoint/integrations/hashicorp/docker/latest/components/registry/docker-registry) -3. [Platform](/waypoint/integrations/hashicorp/docker/latest/components/platform/docker-platform) -4. [Task](/waypoint/integrations/hashicorp/docker/latest/components/task/docker-task) +1. [Builder](/waypoint/integrations/hashicorp/docker/latest/components/builder) +2. [Registry](/waypoint/integrations/hashicorp/docker/latest/components/registry) +3. [Platform](/waypoint/integrations/hashicorp/docker/latest/components/platform) ### Related Plugins diff --git a/builtin/docker/auth.go b/builtin/docker/auth.go index 3abf93332f6..badbd01e1fe 100644 --- a/builtin/docker/auth.go +++ b/builtin/docker/auth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/builder.go b/builtin/docker/builder.go index 42b42d44ab4..c56ada4f133 100644 --- a/builtin/docker/builder.go +++ b/builtin/docker/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/client/client.go b/builtin/docker/client/client.go index 497e2797a51..c4f7b4d96d7 100644 --- a/builtin/docker/client/client.go +++ b/builtin/docker/client/client.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/builtin/docker/client/fallback.go b/builtin/docker/client/fallback.go index 99a2823d5ee..00850e2f484 100644 --- a/builtin/docker/client/fallback.go +++ b/builtin/docker/client/fallback.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/builtin/docker/components/builder/docker-builder/README.md b/builtin/docker/components/builder/README.md similarity index 100% rename from builtin/docker/components/builder/docker-builder/README.md rename to builtin/docker/components/builder/README.md diff --git a/builtin/docker/components/builder/docker-builder/outputs.hcl b/builtin/docker/components/builder/outputs.hcl similarity index 100% rename from builtin/docker/components/builder/docker-builder/outputs.hcl rename to builtin/docker/components/builder/outputs.hcl diff --git a/builtin/docker/components/builder/docker-builder/parameters.hcl b/builtin/docker/components/builder/parameters.hcl similarity index 100% rename from builtin/docker/components/builder/docker-builder/parameters.hcl rename to builtin/docker/components/builder/parameters.hcl diff --git a/builtin/docker/components/platform/docker-platform/README.md b/builtin/docker/components/platform/README.md similarity index 100% rename from builtin/docker/components/platform/docker-platform/README.md rename to builtin/docker/components/platform/README.md diff --git a/builtin/docker/components/platform/docker-platform/outputs.hcl b/builtin/docker/components/platform/outputs.hcl similarity index 100% rename from builtin/docker/components/platform/docker-platform/outputs.hcl rename to builtin/docker/components/platform/outputs.hcl diff --git a/builtin/docker/components/platform/docker-platform/parameters.hcl b/builtin/docker/components/platform/parameters.hcl similarity index 100% rename from builtin/docker/components/platform/docker-platform/parameters.hcl rename to builtin/docker/components/platform/parameters.hcl diff --git a/builtin/docker/components/registry/docker-registry/README.md b/builtin/docker/components/registry/README.md similarity index 100% rename from builtin/docker/components/registry/docker-registry/README.md rename to builtin/docker/components/registry/README.md diff --git a/builtin/docker/components/registry/docker-registry/outputs.hcl b/builtin/docker/components/registry/outputs.hcl similarity index 100% rename from builtin/docker/components/registry/docker-registry/outputs.hcl rename to builtin/docker/components/registry/outputs.hcl diff --git a/builtin/docker/components/registry/docker-registry/parameters.hcl b/builtin/docker/components/registry/parameters.hcl similarity index 100% rename from builtin/docker/components/registry/docker-registry/parameters.hcl rename to builtin/docker/components/registry/parameters.hcl diff --git a/builtin/docker/components/task/docker-task/README.md b/builtin/docker/components/task/README.md similarity index 100% rename from builtin/docker/components/task/docker-task/README.md rename to builtin/docker/components/task/README.md diff --git a/builtin/docker/components/task/docker-task/outputs.hcl b/builtin/docker/components/task/outputs.hcl similarity index 100% rename from builtin/docker/components/task/docker-task/outputs.hcl rename to builtin/docker/components/task/outputs.hcl diff --git a/builtin/docker/components/task/docker-task/parameters.hcl b/builtin/docker/components/task/parameters.hcl similarity index 100% rename from builtin/docker/components/task/docker-task/parameters.hcl rename to builtin/docker/components/task/parameters.hcl diff --git a/builtin/docker/copy.go b/builtin/docker/copy.go index 360d9da42be..85b51042f50 100644 --- a/builtin/docker/copy.go +++ b/builtin/docker/copy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/image.go b/builtin/docker/image.go index b740d570617..c88c1c6e7d1 100644 --- a/builtin/docker/image.go +++ b/builtin/docker/image.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker // Name is the full name including the tag. diff --git a/builtin/docker/kaniko.go b/builtin/docker/kaniko.go index a0931ba7750..c690b9e904a 100644 --- a/builtin/docker/kaniko.go +++ b/builtin/docker/kaniko.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/main.go b/builtin/docker/main.go index 97961742ece..ddd7d27fe04 100644 --- a/builtin/docker/main.go +++ b/builtin/docker/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/mapper.go b/builtin/docker/mapper.go index d963502d455..b4a1b32acfd 100644 --- a/builtin/docker/mapper.go +++ b/builtin/docker/mapper.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker /* diff --git a/builtin/docker/metadata.hcl b/builtin/docker/metadata.hcl index 909cab4ad6a..3a912c40b20 100644 --- a/builtin/docker/metadata.hcl +++ b/builtin/docker/metadata.hcl @@ -1,33 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Docker" description = "The Docker plugin can build a Docker image of an application, push a Docker image to a remote registry, and/or deploy the Docker image to a Docker daemon. It also launches on-demand runners to do operations remotely." identifier = "waypoint/docker" + components = ["builder", "platform", "registry", "task"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "Docker Builder" - slug = "docker-builder" - } - component { - type = "platform" - name = "Docker Platform" - slug = "docker-platform" - } - component { - type = "registry" - name = "Docker Registry" - slug = "docker-registry" - } - component { - type = "task" - name = "Docker Task" - slug = "docker-task" - } } diff --git a/builtin/docker/platform.go b/builtin/docker/platform.go index d166fd2a924..1849d5f7dd8 100644 --- a/builtin/docker/platform.go +++ b/builtin/docker/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/plugin.pb.go b/builtin/docker/plugin.pb.go index 92169bd5ce3..8eaaa1c1f97 100644 --- a/builtin/docker/plugin.pb.go +++ b/builtin/docker/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/docker/plugin.proto b/builtin/docker/plugin.proto index 96a634775c1..bc0376b5af6 100644 --- a/builtin/docker/plugin.proto +++ b/builtin/docker/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package docker; diff --git a/builtin/docker/pull/README.md b/builtin/docker/pull/README.md index 1362b46182d..0d00e771caf 100644 --- a/builtin/docker/pull/README.md +++ b/builtin/docker/pull/README.md @@ -1,9 +1,11 @@ +## Docker Pull + The Docker Pull plugin pulls a Docker image from an existing Docker repository, and wraps the existing image entrypoint with the Waypoint entrypoint. ### Components -1. [Builder](/waypoint/integrations/hashicorp/docker/latest/components/builder/docker-pull-builder) +1. [Builder](/waypoint/integrations/hashicorp/docker/latest/components/builder) ### Related Plugins diff --git a/builtin/docker/pull/builder.go b/builtin/docker/pull/builder.go index a39b173dbb1..0bb2bf3548e 100644 --- a/builtin/docker/pull/builder.go +++ b/builtin/docker/pull/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package dockerpull import ( diff --git a/builtin/docker/pull/components/builder/docker-pull-builder/README.md b/builtin/docker/pull/components/builder/README.md similarity index 100% rename from builtin/docker/pull/components/builder/docker-pull-builder/README.md rename to builtin/docker/pull/components/builder/README.md diff --git a/builtin/docker/pull/components/builder/docker-pull-builder/outputs.hcl b/builtin/docker/pull/components/builder/outputs.hcl similarity index 100% rename from builtin/docker/pull/components/builder/docker-pull-builder/outputs.hcl rename to builtin/docker/pull/components/builder/outputs.hcl diff --git a/builtin/docker/pull/components/builder/docker-pull-builder/parameters.hcl b/builtin/docker/pull/components/builder/parameters.hcl similarity index 100% rename from builtin/docker/pull/components/builder/docker-pull-builder/parameters.hcl rename to builtin/docker/pull/components/builder/parameters.hcl diff --git a/builtin/docker/pull/kaniko.go b/builtin/docker/pull/kaniko.go index 74df30effbf..f2a56ac47f9 100644 --- a/builtin/docker/pull/kaniko.go +++ b/builtin/docker/pull/kaniko.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package dockerpull import ( diff --git a/builtin/docker/pull/main.go b/builtin/docker/pull/main.go index 28646617728..3bec4b5f77d 100644 --- a/builtin/docker/pull/main.go +++ b/builtin/docker/pull/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package dockerpull import ( diff --git a/builtin/docker/pull/metadata.hcl b/builtin/docker/pull/metadata.hcl index d7e5b405b56..9c1070900f3 100644 --- a/builtin/docker/pull/metadata.hcl +++ b/builtin/docker/pull/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Docker Pull" description = "The Docker Pull plugin pulls a Docker image from an existing Docker repository, and wraps the existing image entrypoint with the Waypoint entrypoint." identifier = "waypoint/docker-pull" + components = ["builder"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "Docker Pull Builder" - slug = "docker-pull-builder" - } } diff --git a/builtin/docker/ref/README.md b/builtin/docker/ref/README.md index 0b80c5babfe..81e1ebbfd84 100644 --- a/builtin/docker/ref/README.md +++ b/builtin/docker/ref/README.md @@ -1,9 +1,11 @@ +## Docker Ref + The Docker Ref plugin refers to an existing Docker image, passing its image information, the image name and tag, to the Waypoint lifecycle. ### Components -1. [Builder](/waypoint/integrations/hashicorp/docker-ref/latest/components/builder/docker-ref-builder) +1. [Builder](/waypoint/integrations/hashicorp/docker-ref/latest/components/builder) ### Related Plugins diff --git a/builtin/docker/ref/builder.go b/builtin/docker/ref/builder.go index 56797d1f1fc..aa4c777ee92 100644 --- a/builtin/docker/ref/builder.go +++ b/builtin/docker/ref/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package dockerref import ( diff --git a/builtin/docker/ref/components/builder/docker-ref-builder/README.md b/builtin/docker/ref/components/builder/README.md similarity index 100% rename from builtin/docker/ref/components/builder/docker-ref-builder/README.md rename to builtin/docker/ref/components/builder/README.md diff --git a/builtin/docker/ref/components/builder/docker-ref-builder/outputs.hcl b/builtin/docker/ref/components/builder/outputs.hcl similarity index 100% rename from builtin/docker/ref/components/builder/docker-ref-builder/outputs.hcl rename to builtin/docker/ref/components/builder/outputs.hcl diff --git a/builtin/docker/ref/components/builder/docker-ref-builder/parameters.hcl b/builtin/docker/ref/components/builder/parameters.hcl similarity index 100% rename from builtin/docker/ref/components/builder/docker-ref-builder/parameters.hcl rename to builtin/docker/ref/components/builder/parameters.hcl diff --git a/builtin/docker/ref/main.go b/builtin/docker/ref/main.go index 3a7d86a85cb..2c4ebb93dc4 100644 --- a/builtin/docker/ref/main.go +++ b/builtin/docker/ref/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package dockerref import ( diff --git a/builtin/docker/ref/metadata.hcl b/builtin/docker/ref/metadata.hcl index a3cbab5c036..b6c09d6a7f0 100644 --- a/builtin/docker/ref/metadata.hcl +++ b/builtin/docker/ref/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Docker Ref" description = "The Docker Ref plugin refers to an existing Docker image, passing its image information - the image name and tag - to the Waypoint lifecycle." identifier = "waypoint/docker-ref" + components = ["builder"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "Docker Ref Builder" - slug = "docker-ref-builder" - } } diff --git a/builtin/docker/registry.go b/builtin/docker/registry.go index b25159e1586..c99fb5261a5 100644 --- a/builtin/docker/registry.go +++ b/builtin/docker/registry.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/registry_docker.go b/builtin/docker/registry_docker.go index 8a634abbdef..d6cf06eb25f 100644 --- a/builtin/docker/registry_docker.go +++ b/builtin/docker/registry_docker.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/docker/task.go b/builtin/docker/task.go index a2e4fe87f11..a33b6283a58 100644 --- a/builtin/docker/task.go +++ b/builtin/docker/task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package docker import ( diff --git a/builtin/exec/README.md b/builtin/exec/README.md index ba25eef3f04..ffcdbb6241a 100644 --- a/builtin/exec/README.md +++ b/builtin/exec/README.md @@ -1,9 +1,11 @@ +## Exec + The Exec plugin executes any command to perform a deploy. This enables the use of pre-existing deployment tools. ### Components -1. [Platform](/waypoint/integrations/hashicorp/exec/latest/components/platform/exec-platform) +1. [Platform](/waypoint/integrations/hashicorp/exec/latest/components/platform) ### Related Plugins diff --git a/builtin/exec/components/platform/exec-platform/README.md b/builtin/exec/components/platform/README.md similarity index 100% rename from builtin/exec/components/platform/exec-platform/README.md rename to builtin/exec/components/platform/README.md diff --git a/builtin/exec/components/platform/exec-platform/parameters.hcl b/builtin/exec/components/platform/parameters.hcl similarity index 100% rename from builtin/exec/components/platform/exec-platform/parameters.hcl rename to builtin/exec/components/platform/parameters.hcl diff --git a/builtin/exec/main.go b/builtin/exec/main.go index 091f1cce207..4df859d66d5 100644 --- a/builtin/exec/main.go +++ b/builtin/exec/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package exec import ( diff --git a/builtin/exec/mapper.go b/builtin/exec/mapper.go index 4dc2aa074f2..fc4fcead165 100644 --- a/builtin/exec/mapper.go +++ b/builtin/exec/mapper.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package exec import ( diff --git a/builtin/exec/metadata.hcl b/builtin/exec/metadata.hcl index 0bc1eb174bf..204e4b49375 100644 --- a/builtin/exec/metadata.hcl +++ b/builtin/exec/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Exec" description = "The Exec plugin executes any command to perform a deploy. This enables the use of pre-existing deployment tools." identifier = "waypoint/exec" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Exec Platform" - slug = "exec-platform" - } } diff --git a/builtin/exec/platform.go b/builtin/exec/platform.go index 9d3fc9ebe07..bcea2de7532 100644 --- a/builtin/exec/platform.go +++ b/builtin/exec/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package exec import ( @@ -152,7 +149,7 @@ func (p *Platform) renderTemplate(tpl *ConfigTemplate, data *tplData) (string, f if err != nil { return "", nil, err } - closer := func() { os.RemoveAll(td) } + closer := func() {} //os.RemoveAll(td) } // Render var path string diff --git a/builtin/exec/plugin.pb.go b/builtin/exec/plugin.pb.go index 8c70f0e2d56..b83b02dd810 100644 --- a/builtin/exec/plugin.pb.go +++ b/builtin/exec/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/exec/plugin.proto b/builtin/exec/plugin.proto index 58c7dc38ad3..d12cbdd639e 100644 --- a/builtin/exec/plugin.proto +++ b/builtin/exec/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package exec; diff --git a/builtin/exec/template.go b/builtin/exec/template.go index 00bf94e12d1..a1eda32df00 100644 --- a/builtin/exec/template.go +++ b/builtin/exec/template.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package exec // tplData is the structure given to Go's text/template when rendering diff --git a/builtin/files/README.md b/builtin/files/README.md index 78eddd7d343..39d206cf0d5 100644 --- a/builtin/files/README.md +++ b/builtin/files/README.md @@ -1,10 +1,12 @@ +## Files + The Files plugin generates a value representing a path on disk, and can copy them to a specific directory. ### Components -1. [Builder](/waypoint/integrations/hashicorp/files/latest/components/builder/files-builder) -2. [Registry](/waypoint/integrations/hashicorp/files/latest/components/registry/files-registry) +1. [Builder](/waypoint/integrations/hashicorp/files/latest/components/builder) +2. [Registry](/waypoint/integrations/hashicorp/files/latest/components/registry) ### Related Plugins diff --git a/builtin/files/builder.go b/builtin/files/builder.go index f407467bd4e..3bfe1832acf 100644 --- a/builtin/files/builder.go +++ b/builtin/files/builder.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package files import ( diff --git a/builtin/files/components/builder/files-builder/README.md b/builtin/files/components/builder/README.md similarity index 100% rename from builtin/files/components/builder/files-builder/README.md rename to builtin/files/components/builder/README.md diff --git a/builtin/files/components/builder/files-builder/outputs.hcl b/builtin/files/components/builder/outputs.hcl similarity index 100% rename from builtin/files/components/builder/files-builder/outputs.hcl rename to builtin/files/components/builder/outputs.hcl diff --git a/builtin/files/components/registry/files-registry/README.md b/builtin/files/components/registry/README.md similarity index 100% rename from builtin/files/components/registry/files-registry/README.md rename to builtin/files/components/registry/README.md diff --git a/builtin/files/components/registry/files-registry/outputs.hcl b/builtin/files/components/registry/outputs.hcl similarity index 100% rename from builtin/files/components/registry/files-registry/outputs.hcl rename to builtin/files/components/registry/outputs.hcl diff --git a/builtin/files/components/registry/files-registry/parameters.hcl b/builtin/files/components/registry/parameters.hcl similarity index 100% rename from builtin/files/components/registry/files-registry/parameters.hcl rename to builtin/files/components/registry/parameters.hcl diff --git a/builtin/files/files.go b/builtin/files/files.go index d68cc943bb8..7e4943abeec 100644 --- a/builtin/files/files.go +++ b/builtin/files/files.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package files contains a component for validating local files. package files diff --git a/builtin/files/metadata.hcl b/builtin/files/metadata.hcl index abe13bcb915..9641c6d4d5c 100644 --- a/builtin/files/metadata.hcl +++ b/builtin/files/metadata.hcl @@ -1,23 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Files" description = "The Files plugin generates a value representing a path on disk, and can copy them to a specific directory." identifier = "waypoint/files" + components = ["builder", "registry"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "builder" - name = "Files Builder" - slug = "files-builder" - } - component { - type = "registry" - name = "Files Registry" - slug = "files-registry" - } } diff --git a/builtin/files/plugin.pb.go b/builtin/files/plugin.pb.go index 8b53f744127..43788ce74fb 100644 --- a/builtin/files/plugin.pb.go +++ b/builtin/files/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/files/plugin.proto b/builtin/files/plugin.proto index e4230e9ac85..feba56372aa 100644 --- a/builtin/files/plugin.proto +++ b/builtin/files/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package files; diff --git a/builtin/files/registry.go b/builtin/files/registry.go index 346be0bb598..c8d39be2c92 100644 --- a/builtin/files/registry.go +++ b/builtin/files/registry.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package files import ( diff --git a/builtin/google/cloudrun/README.md b/builtin/google/cloudrun/README.md index e8f505aaf44..6335f22c593 100644 --- a/builtin/google/cloudrun/README.md +++ b/builtin/google/cloudrun/README.md @@ -1,9 +1,11 @@ +## Google Cloud Run + The Google Cloud Run plugin deploys a container to [Google Cloud Run](https://cloud.google.com/run). ### Components -1. [Platform](/waypoint/integrations/hashicorp/google-cloud-run/latest/components/platform/google-cloud-run-platform) -2. [ReleaseManager](/waypoint/integrations/hashicorp/google-cloud-run/latest/components/release-manager/google-cloud-run-release-manager) +1. [Platform](/waypoint/integrations/hashicorp/google-cloud-run/latest/components/platform) +2. [ReleaseManager](/waypoint/integrations/hashicorp/google-cloud-run/latest/components/release-manager) ### Related Plugins diff --git a/builtin/google/cloudrun/cloudrun.go b/builtin/google/cloudrun/cloudrun.go index 7a1844256eb..7d1d0ce6347 100644 --- a/builtin/google/cloudrun/cloudrun.go +++ b/builtin/google/cloudrun/cloudrun.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package cloudrun contains components for deploying to Google Cloud Run. package cloudrun diff --git a/builtin/google/cloudrun/components/platform/google-cloud-run-platform/README.md b/builtin/google/cloudrun/components/platform/README.md similarity index 100% rename from builtin/google/cloudrun/components/platform/google-cloud-run-platform/README.md rename to builtin/google/cloudrun/components/platform/README.md diff --git a/builtin/google/cloudrun/components/platform/google-cloud-run-platform/outputs.hcl b/builtin/google/cloudrun/components/platform/outputs.hcl similarity index 100% rename from builtin/google/cloudrun/components/platform/google-cloud-run-platform/outputs.hcl rename to builtin/google/cloudrun/components/platform/outputs.hcl diff --git a/builtin/google/cloudrun/components/platform/google-cloud-run-platform/parameters.hcl b/builtin/google/cloudrun/components/platform/parameters.hcl similarity index 100% rename from builtin/google/cloudrun/components/platform/google-cloud-run-platform/parameters.hcl rename to builtin/google/cloudrun/components/platform/parameters.hcl diff --git a/builtin/google/cloudrun/components/release-manager/google-cloud-run-release-manager/README.md b/builtin/google/cloudrun/components/release-manager/README.md similarity index 100% rename from builtin/google/cloudrun/components/release-manager/google-cloud-run-release-manager/README.md rename to builtin/google/cloudrun/components/release-manager/README.md diff --git a/builtin/google/cloudrun/deployment.go b/builtin/google/cloudrun/deployment.go index a6997b6f606..8698ef82cd9 100644 --- a/builtin/google/cloudrun/deployment.go +++ b/builtin/google/cloudrun/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/google/cloudrun/metadata.hcl b/builtin/google/cloudrun/metadata.hcl index 5a58d81ddba..4353170469f 100644 --- a/builtin/google/cloudrun/metadata.hcl +++ b/builtin/google/cloudrun/metadata.hcl @@ -1,23 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Google Cloud Run" description = "The Google Cloud Run plugin deploys a container to Google Cloud Run." identifier = "waypoint/google-cloud-run" + components = ["platform", "release-manager"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Google Cloud Run Platform" - slug = "google-cloud-run-platform" - } - component { - type = "release-manager" - name = "Google Cloud Run Release Manager" - slug = "google-cloud-run-release-manager" - } } diff --git a/builtin/google/cloudrun/platform.go b/builtin/google/cloudrun/platform.go index 4d3e1acc439..c300eedfeef 100644 --- a/builtin/google/cloudrun/platform.go +++ b/builtin/google/cloudrun/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/google/cloudrun/platform_test.go b/builtin/google/cloudrun/platform_test.go index 82c2dbc4c80..d29151a5eec 100644 --- a/builtin/google/cloudrun/platform_test.go +++ b/builtin/google/cloudrun/platform_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/google/cloudrun/plugin.pb.go b/builtin/google/cloudrun/plugin.pb.go index 0cf5cd799a5..369aba9e7bd 100644 --- a/builtin/google/cloudrun/plugin.pb.go +++ b/builtin/google/cloudrun/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/google/cloudrun/plugin.proto b/builtin/google/cloudrun/plugin.proto index 31fe886cc83..4c0a56510eb 100644 --- a/builtin/google/cloudrun/plugin.proto +++ b/builtin/google/cloudrun/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package google.cloudrun; diff --git a/builtin/google/cloudrun/releaser.go b/builtin/google/cloudrun/releaser.go index d5dfbf6c4af..e20fcb7717c 100644 --- a/builtin/google/cloudrun/releaser.go +++ b/builtin/google/cloudrun/releaser.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/google/cloudrun/validation.go b/builtin/google/cloudrun/validation.go index 05e9be4bfa0..ad2e5891b57 100644 --- a/builtin/google/cloudrun/validation.go +++ b/builtin/google/cloudrun/validation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/google/cloudrun/validation_test.go b/builtin/google/cloudrun/validation_test.go index 7943abfb5f5..7272d258fe4 100644 --- a/builtin/google/cloudrun/validation_test.go +++ b/builtin/google/cloudrun/validation_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cloudrun import ( diff --git a/builtin/k8s/README.md b/builtin/k8s/README.md index b5765545835..faa3b18bb18 100644 --- a/builtin/k8s/README.md +++ b/builtin/k8s/README.md @@ -1,3 +1,5 @@ +## Getting Started + The Kubernetes plugin can deploy a Docker image of an application to Kubernetes, expose the Deployment with a Kubernetes Service, and source configuration from a Kubernetes Secret or ConfigMap. It also launches on-demand runners to do @@ -5,10 +7,10 @@ operations remotely. ### Components -1. [Platform](/waypoint/integrations/hashicorp/kubernetes/latest/components/platform/kubernetes-platform) -2. [ReleaseManager](/waypoint/integrations/hashicorp/kubernetes/latest/components/release-manager/kubernetes-release-manager) -3. [ConfigSourcer](/waypoint/integrations/hashicorp/kubernetes/latest/components/config-sourcer/kubernetes-config-sourcer) -4. [TaskLauncher](/waypoint/integrations/hashicorp/kubernetes/latest/components/task/kubernetes-task) +1. [Platform](/waypoint/integrations/hashicorp/kubernetes/latest/components/platform) +2. [ReleaseManager](/waypoint/integrations/hashicorp/kubernetes/latest/components/release-manager) +3. [ConfigSourcer](/waypoint/integrations/hashicorp/kubernetes/latest/components/config-sourcer) +4. [TaskLauncher](/waypoint/integrations/hashicorp/kubernetes/latest/components/task) ### Related Plugins diff --git a/builtin/k8s/api.go b/builtin/k8s/api.go index f54120f6603..0ea10290686 100644 --- a/builtin/k8s/api.go +++ b/builtin/k8s/api.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/apply/README.md b/builtin/k8s/apply/README.md index f00f52c3827..2d1d53b1b13 100644 --- a/builtin/k8s/apply/README.md +++ b/builtin/k8s/apply/README.md @@ -1,9 +1,11 @@ +## kubernetes-apply (platform) + The Kubernetes Apply plugin deploys Kubernetes resources directly from a single file or a directory of YAML or JSON files. ### Components -1. [Platform](/waypoint/integrations/hashicorp/kubernetes-apply/latest/components/platform/kubernetes-apply-platform) +1. [Platform](/waypoint/integrations/hashicorp/kubernetes-apply/latest/components/platform) ### Related Plugins diff --git a/builtin/k8s/apply/components/platform/kubernetes-apply-platform/README.md b/builtin/k8s/apply/components/platform/README.md similarity index 100% rename from builtin/k8s/apply/components/platform/kubernetes-apply-platform/README.md rename to builtin/k8s/apply/components/platform/README.md diff --git a/builtin/k8s/apply/components/platform/kubernetes-apply-platform/outputs.hcl b/builtin/k8s/apply/components/platform/outputs.hcl similarity index 100% rename from builtin/k8s/apply/components/platform/kubernetes-apply-platform/outputs.hcl rename to builtin/k8s/apply/components/platform/outputs.hcl diff --git a/builtin/k8s/apply/components/platform/kubernetes-apply-platform/parameters.hcl b/builtin/k8s/apply/components/platform/parameters.hcl similarity index 100% rename from builtin/k8s/apply/components/platform/kubernetes-apply-platform/parameters.hcl rename to builtin/k8s/apply/components/platform/parameters.hcl diff --git a/builtin/k8s/apply/metadata.hcl b/builtin/k8s/apply/metadata.hcl index 823339dc1fa..bf6256953af 100644 --- a/builtin/k8s/apply/metadata.hcl +++ b/builtin/k8s/apply/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Kubernetes Apply" description = "The Kubernetes Apply plugin deploys Kubernetes resources directly from a single file or a directory of YAML or JSON files." identifier = "waypoint/kubernetes-apply" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Kubernetes Apply Platform" - slug = "kubernetes-apply-platform" - } } diff --git a/builtin/k8s/apply/platform.go b/builtin/k8s/apply/platform.go index 2ad4d8a4816..d261ac9ca1c 100644 --- a/builtin/k8s/apply/platform.go +++ b/builtin/k8s/apply/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package apply import ( diff --git a/builtin/k8s/apply/plugin.go b/builtin/k8s/apply/plugin.go index c76b9733fde..89c0fb5cf6e 100644 --- a/builtin/k8s/apply/plugin.go +++ b/builtin/k8s/apply/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package apply import ( diff --git a/builtin/k8s/apply/plugin.pb.go b/builtin/k8s/apply/plugin.pb.go index d0d1bcbf4a3..55e4fc794fd 100644 --- a/builtin/k8s/apply/plugin.pb.go +++ b/builtin/k8s/apply/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/k8s/apply/plugin.proto b/builtin/k8s/apply/plugin.proto index 07c91ea3525..152934ca7fc 100644 --- a/builtin/k8s/apply/plugin.proto +++ b/builtin/k8s/apply/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package k8sapply; diff --git a/builtin/nomad/canary/components/release-manager/nomad-jobspec-canary-release-manager/parameters.hcl b/builtin/k8s/canary/components/release-manager/parameters.hcl similarity index 100% rename from builtin/nomad/canary/components/release-manager/nomad-jobspec-canary-release-manager/parameters.hcl rename to builtin/k8s/canary/components/release-manager/parameters.hcl diff --git a/builtin/nomad/canary/components/release-manager/nomad-jobspec-canary-release-manager/README.md b/builtin/k8s/canary/components/release-manager/readme.md similarity index 100% rename from builtin/nomad/canary/components/release-manager/nomad-jobspec-canary-release-manager/README.md rename to builtin/k8s/canary/components/release-manager/readme.md diff --git a/builtin/k8s/components/config-sourcer/kubernetes-config-sourcer/README.md b/builtin/k8s/components/config-sourcer/README.md similarity index 100% rename from builtin/k8s/components/config-sourcer/kubernetes-config-sourcer/README.md rename to builtin/k8s/components/config-sourcer/README.md diff --git a/builtin/k8s/components/config-sourcer/kubernetes-config-sourcer/parameters.hcl b/builtin/k8s/components/config-sourcer/parameters.hcl similarity index 100% rename from builtin/k8s/components/config-sourcer/kubernetes-config-sourcer/parameters.hcl rename to builtin/k8s/components/config-sourcer/parameters.hcl diff --git a/builtin/k8s/components/platform/kubernetes-platform/README.md b/builtin/k8s/components/platform/README.md similarity index 100% rename from builtin/k8s/components/platform/kubernetes-platform/README.md rename to builtin/k8s/components/platform/README.md diff --git a/builtin/k8s/components/platform/kubernetes-platform/outputs.hcl b/builtin/k8s/components/platform/outputs.hcl similarity index 100% rename from builtin/k8s/components/platform/kubernetes-platform/outputs.hcl rename to builtin/k8s/components/platform/outputs.hcl diff --git a/builtin/k8s/components/platform/kubernetes-platform/parameters.hcl b/builtin/k8s/components/platform/parameters.hcl similarity index 100% rename from builtin/k8s/components/platform/kubernetes-platform/parameters.hcl rename to builtin/k8s/components/platform/parameters.hcl diff --git a/builtin/k8s/components/release-manager/kubernetes-release-manager/README.md b/builtin/k8s/components/release-manager/README.md similarity index 100% rename from builtin/k8s/components/release-manager/kubernetes-release-manager/README.md rename to builtin/k8s/components/release-manager/README.md diff --git a/builtin/k8s/components/release-manager/kubernetes-release-manager/parameters.hcl b/builtin/k8s/components/release-manager/parameters.hcl similarity index 100% rename from builtin/k8s/components/release-manager/kubernetes-release-manager/parameters.hcl rename to builtin/k8s/components/release-manager/parameters.hcl diff --git a/builtin/k8s/components/task/kubernetes-task/README.md b/builtin/k8s/components/task/README.md similarity index 100% rename from builtin/k8s/components/task/kubernetes-task/README.md rename to builtin/k8s/components/task/README.md diff --git a/builtin/k8s/components/task/kubernetes-task/outputs.hcl b/builtin/k8s/components/task/outputs.hcl similarity index 100% rename from builtin/k8s/components/task/kubernetes-task/outputs.hcl rename to builtin/k8s/components/task/outputs.hcl diff --git a/builtin/k8s/components/task/kubernetes-task/parameters.hcl b/builtin/k8s/components/task/parameters.hcl similarity index 100% rename from builtin/k8s/components/task/kubernetes-task/parameters.hcl rename to builtin/k8s/components/task/parameters.hcl diff --git a/builtin/k8s/config_sourcer.go b/builtin/k8s/config_sourcer.go index 4ecec6d7bcf..0aa8c50cece 100644 --- a/builtin/k8s/config_sourcer.go +++ b/builtin/k8s/config_sourcer.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/deployment.go b/builtin/k8s/deployment.go index af29f5a3cdc..40032ea3bbc 100644 --- a/builtin/k8s/deployment.go +++ b/builtin/k8s/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/helm/README.md b/builtin/k8s/helm/README.md index 2a2f2df77c2..046febe726b 100644 --- a/builtin/k8s/helm/README.md +++ b/builtin/k8s/helm/README.md @@ -1,9 +1,11 @@ +## Helm + The Helm plugin deploys to Kubernetes from a Helm chart. The Helm chart can be a local path or a chart in a repository. ### Components -1. [Platform](/waypoint/integrations/hashicorp/helm/latest/components/platform/helm-platform) +1. [Platform](/waypoint/integrations/hashicorp/helm/latest/components/platform) ### Related Plugins diff --git a/builtin/k8s/helm/api.go b/builtin/k8s/helm/api.go index 77be58aac1d..0d99e8e4e70 100644 --- a/builtin/k8s/helm/api.go +++ b/builtin/k8s/helm/api.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( diff --git a/builtin/k8s/helm/components/platform/helm-platform/README.md b/builtin/k8s/helm/components/platform/README.md similarity index 100% rename from builtin/k8s/helm/components/platform/helm-platform/README.md rename to builtin/k8s/helm/components/platform/README.md diff --git a/builtin/k8s/helm/components/platform/helm-platform/outputs.hcl b/builtin/k8s/helm/components/platform/outputs.hcl similarity index 100% rename from builtin/k8s/helm/components/platform/helm-platform/outputs.hcl rename to builtin/k8s/helm/components/platform/outputs.hcl diff --git a/builtin/k8s/helm/components/platform/helm-platform/parameters.hcl b/builtin/k8s/helm/components/platform/parameters.hcl similarity index 100% rename from builtin/k8s/helm/components/platform/helm-platform/parameters.hcl rename to builtin/k8s/helm/components/platform/parameters.hcl diff --git a/builtin/k8s/helm/metadata.hcl b/builtin/k8s/helm/metadata.hcl index 280a4fa5d45..6107d76bbc9 100644 --- a/builtin/k8s/helm/metadata.hcl +++ b/builtin/k8s/helm/metadata.hcl @@ -1,18 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Helm" description = "The Helm plugin deploys to Kubernetes from a Helm chart. The Helm chart can be a local path or a chart in a repository." identifier = "waypoint/helm" + components = ["platform"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Helm Platform" - slug = "helm-platform" - } } diff --git a/builtin/k8s/helm/platform.go b/builtin/k8s/helm/platform.go index 00c4dcd517d..86a02248557 100644 --- a/builtin/k8s/helm/platform.go +++ b/builtin/k8s/helm/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( diff --git a/builtin/k8s/helm/plugin.go b/builtin/k8s/helm/plugin.go index cd7ef294450..6126dc4ab1b 100644 --- a/builtin/k8s/helm/plugin.go +++ b/builtin/k8s/helm/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( diff --git a/builtin/k8s/helm/plugin.pb.go b/builtin/k8s/helm/plugin.pb.go index 0ab69972039..6fde313edaf 100644 --- a/builtin/k8s/helm/plugin.pb.go +++ b/builtin/k8s/helm/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/k8s/helm/plugin.proto b/builtin/k8s/helm/plugin.proto index ab555ef25c4..34835d3682e 100644 --- a/builtin/k8s/helm/plugin.proto +++ b/builtin/k8s/helm/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package k8s_helm; diff --git a/builtin/k8s/helm/rest.go b/builtin/k8s/helm/rest.go index 73282d7b509..ec5808832db 100644 --- a/builtin/k8s/helm/rest.go +++ b/builtin/k8s/helm/rest.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( diff --git a/builtin/k8s/helm/status.go b/builtin/k8s/helm/status.go index 4753bf98fa2..f659055bf42 100644 --- a/builtin/k8s/helm/status.go +++ b/builtin/k8s/helm/status.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( diff --git a/builtin/k8s/internal/k8sstatus/doc.go b/builtin/k8s/internal/k8sstatus/doc.go index d2879bd3f73..74d3f2a4998 100644 --- a/builtin/k8s/internal/k8sstatus/doc.go +++ b/builtin/k8s/internal/k8sstatus/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package k8sstatus implements helpers for building Waypoint status // reports for Kubernetes resources. package k8sstatus diff --git a/builtin/k8s/internal/k8sstatus/status.go b/builtin/k8s/internal/k8sstatus/status.go index 243afdfabfb..593b04e4bd5 100644 --- a/builtin/k8s/internal/k8sstatus/status.go +++ b/builtin/k8s/internal/k8sstatus/status.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8sstatus import ( diff --git a/builtin/k8s/internal/manifest/doc.go b/builtin/k8s/internal/manifest/doc.go index 20eea5bd091..13d7e84f9dc 100644 --- a/builtin/k8s/internal/manifest/doc.go +++ b/builtin/k8s/internal/manifest/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package manifest provides helpers to parse a Kubernetes "manifest" or // multi-resource YAML document. This is used by parts of the plugin such // as the Helm chart deployment platform to build status reports. diff --git a/builtin/k8s/internal/manifest/manifest.go b/builtin/k8s/internal/manifest/manifest.go index 3896e94622f..6a21956a33f 100644 --- a/builtin/k8s/internal/manifest/manifest.go +++ b/builtin/k8s/internal/manifest/manifest.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package manifest import ( diff --git a/builtin/k8s/internal/manifest/manifest_test.go b/builtin/k8s/internal/manifest/manifest_test.go index f3d2c243b11..2d72fea2893 100644 --- a/builtin/k8s/internal/manifest/manifest_test.go +++ b/builtin/k8s/internal/manifest/manifest_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package manifest import ( diff --git a/builtin/k8s/k8s.go b/builtin/k8s/k8s.go index 6741dc6bd02..8510b8ed44a 100644 --- a/builtin/k8s/k8s.go +++ b/builtin/k8s/k8s.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package k8s contains components for deploying to Kubernetes. package k8s diff --git a/builtin/k8s/metadata.hcl b/builtin/k8s/metadata.hcl index 000723738a5..6de48ec96a6 100644 --- a/builtin/k8s/metadata.hcl +++ b/builtin/k8s/metadata.hcl @@ -1,33 +1,11 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - integration { name = "Kubernetes" description = "The Kubernetes plugin can deploy a Docker image of an application to Kubernetes, expose the Deployment with a Kubernetes Service, and source configuration from a Kubernetes Secret or ConfigMap. It also launches on-demand runners to do operations remotely." identifier = "waypoint/kubernetes" + components = ["platform", "release-manager", "config-sourcer", "task"] flags = ["builtin"] license { type = "MPL-2.0" url = "https://github.com/hashicorp/waypoint/blob/main/LICENSE" } - component { - type = "platform" - name = "Kubernetes Platform" - slug = "kubernetes-platform" - } - component { - type = "release-manager" - name = "Kubernetes Release Manager" - slug = "kubernetes-release-manager" - } - component { - type = "config-sourcer" - name = "Kubernetes Config Sourcer" - slug = "kubernetes-config-sourcer" - } - component { - type = "task" - name = "Kubernetes Task" - slug = "kubernetes-task" - } } diff --git a/builtin/k8s/platform.go b/builtin/k8s/platform.go index a959fd60cc3..55dd2b5254e 100644 --- a/builtin/k8s/platform.go +++ b/builtin/k8s/platform.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/plugin.pb.go b/builtin/k8s/plugin.pb.go index 9449bab6ec7..10b06257d47 100644 --- a/builtin/k8s/plugin.pb.go +++ b/builtin/k8s/plugin.pb.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/builtin/k8s/plugin.proto b/builtin/k8s/plugin.proto index 97df0b28443..a914981e1b8 100644 --- a/builtin/k8s/plugin.proto +++ b/builtin/k8s/plugin.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package k8s; diff --git a/builtin/k8s/release.go b/builtin/k8s/release.go index 8fbd81f68aa..d6760b6b5c2 100644 --- a/builtin/k8s/release.go +++ b/builtin/k8s/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/releaser.go b/builtin/k8s/releaser.go index 78d3969f212..b511a6d9c77 100644 --- a/builtin/k8s/releaser.go +++ b/builtin/k8s/releaser.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/service_account.go b/builtin/k8s/service_account.go index 8b228648016..b24384d1738 100644 --- a/builtin/k8s/service_account.go +++ b/builtin/k8s/service_account.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/k8s/task.go b/builtin/k8s/task.go index cf070022a7b..c07d1b70f70 100644 --- a/builtin/k8s/task.go +++ b/builtin/k8s/task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/builtin/nomad/README.md b/builtin/nomad/README.md index 57f77033382..d324f54d8b9 100644 --- a/builtin/nomad/README.md +++ b/builtin/nomad/README.md @@ -1,10 +1,12 @@ +## Nomad + The Nomad plugin deploys a Docker container to a [Nomad](https://www.nomadproject.io/) cluster. It also launches on-demand runners to do operations remotely. ### Components -1. [Platform](/waypoint/integrations/hashicorp/nomad/latest/components/platform/nomad-platform) -2. [TaskLauncher](/waypoint/integrations/hashicorp/nomad/latest/components/task/nomad-task) +1. [Platform](/waypoint/integrations/hashicorp/nomad/latest/components/platform) +2. [TaskLauncher](/waypoint/integrations/hashicorp/nomad/latest/components/task) ### Related Plugins diff --git a/builtin/nomad/auth.go b/builtin/nomad/auth.go index 5940e164de0..c248efe65b5 100644 --- a/builtin/nomad/auth.go +++ b/builtin/nomad/auth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package nomad import "os" diff --git a/builtin/nomad/canary/README.md b/builtin/nomad/canary/README.md index 1cad9bc2be0..6192e07b29d 100644 --- a/builtin/nomad/canary/README.md +++ b/builtin/nomad/canary/README.md @@ -1,9 +1,11 @@ +## Nomad Jobspec Canary + The Nomad Jobspec Canary plugin promotes a [Nomad](https://www.nomadproject.io/) canary deployment initiated by a Nomad jobspec deployment. ### Components -1. [ReleaseManager](/waypoint/integrations/hashicorp/nomad-jobspec-canary/latest/components/release-manager/nomad-jobspec-canary-release-manager) +1. [ReleaseManager](/waypoint/integrations/hashicorp/nomad-jobspec-canary/latest/components/release-manager) ### Related Plugins diff --git a/builtin/nomad/canary/components/release-manager/README.md b/builtin/nomad/canary/components/release-manager/README.md new file mode 100644 index 00000000000..19db694a4fa --- /dev/null +++ b/builtin/nomad/canary/components/release-manager/README.md @@ -0,0 +1,121 @@ +## nomad-jobspec-canary (releasemanager) + +Promotes a Nomad canary deployment initiated by a Nomad jobspec deployment. + +If your Nomad deployment is configured to use canaries, this releaser plugin lets +you promote (or fail) the canary deployment. You may also target specific task +groups within your job for promotion, if you have multiple task groups in your canary +deployment. + +-> **Note:** Using the `-prune=false` flag is recommended for this releaser. By default, +Waypoint prunes and destroys all unreleased deployments and keeps only one previous +deployment. Therefore, if `-prune=false` is not set, Waypoint may delete +your job via "pruning" a previous version. See [deployment pruning](/docs/lifecycle/release#deployment-pruning) +for more information. + +### Release URL + +If you want the URL of the release of your deployment to be published in Waypoint, +you must set the meta 'waypoint.hashicorp.com/release_url' in your jobspec. The +value specified in this meta field will be published as the release URL for your +application. In the future, this may source from Consul. + +### Interface + +### Examples + +```hcl +// The waypoint.hcl file +release { + use "nomad-jobspec-canary" { + groups = [ + "app" + ] + } +} + +// The app.nomad.tpl file +job "web" { + datacenters = ["dc1"] + + group "app" { + network { + mode = "bridge" + port "http" { + to = 80 + } + } + + // Setting a canary in the update stanza indicates a canary deployment + update { + max_parallel = 1 + canary = 1 + auto_revert = true + auto_promote = false + health_check = "task_states" + } + + service { + name = "app" + port = 80 + connect { + sidecar_service {} + } + } + + task "app" { + driver = "docker" + config { + image = "${artifact.image}:${artifact.tag}" + ports = ["http"] + } + + env { + %{ for k,v in entrypoint.env ~} + ${k} = "${v}" + %{ endfor ~} + + // Ensure we set PORT for the URL service. This is only necessary + // if we want the URL service to function. + PORT = 80 + } + } + } + + group "app-gateway" { + network { + mode = "bridge" + port "inbound" { + static = 8080 + to = 8080 + } + } + + service { + name = "gateway" + port = "8080" + + connect { + gateway { + proxy {} + + ingress { + listener { + port = 8080 + protocol = "http" + service { + name = "app" + hosts = [ "*" ] + } + } + } + } + } + } + } + meta = { + // Ensure we set meta for Waypoint to detect the release URL + "waypoint.hashicorp.com/release_url" = "http://app.ingress.dc1.consul:8080" + } +} +``` diff --git a/builtin/nomad/canary/components/release-manager/parameters.hcl b/builtin/nomad/canary/components/release-manager/parameters.hcl new file mode 100644 index 00000000000..aef6dfbdaef --- /dev/null +++ b/builtin/nomad/canary/components/release-manager/parameters.hcl @@ -0,0 +1,22 @@ +parameter { + key = "fail_deployment" + description = < 2.0) - rack (2.2.6.4) + rack (2.2.6.2) rack-protection (2.2.3) rack ruby2_keywords (0.0.5) diff --git a/cmd/waypoint-entrypoint/debug.go b/cmd/waypoint-entrypoint/debug.go index 54da272382c..1ab47804737 100644 --- a/cmd/waypoint-entrypoint/debug.go +++ b/cmd/waypoint-entrypoint/debug.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package main import ( diff --git a/cmd/waypoint-entrypoint/main.go b/cmd/waypoint-entrypoint/main.go index 48b0f203f52..6006837fdd3 100644 --- a/cmd/waypoint-entrypoint/main.go +++ b/cmd/waypoint-entrypoint/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package main import ( diff --git a/cmd/waypoint/main.go b/cmd/waypoint/main.go index ee608c0fe25..c60ae7cbcc7 100644 --- a/cmd/waypoint/main.go +++ b/cmd/waypoint/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package main import ( diff --git a/contrib/serverinstall/kind-k8s/configs/cluster-config.yaml b/contrib/serverinstall/kind-k8s/configs/cluster-config.yaml index 3386ac7be89..95565dc3839 100644 --- a/contrib/serverinstall/kind-k8s/configs/cluster-config.yaml +++ b/contrib/serverinstall/kind-k8s/configs/cluster-config.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - # three node (two workers) cluster config # https://kind.sigs.k8s.io/docs/user/quick-start/#multinode-clusters apiVersion: kind.x-k8s.io/v1alpha4 diff --git a/contrib/serverinstall/kind-k8s/configs/cluster-ingress-config.yaml b/contrib/serverinstall/kind-k8s/configs/cluster-ingress-config.yaml index 91f7580e6b4..8ab25deb171 100644 --- a/contrib/serverinstall/kind-k8s/configs/cluster-ingress-config.yaml +++ b/contrib/serverinstall/kind-k8s/configs/cluster-ingress-config.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - # three node (two workers) cluster config # https://kind.sigs.k8s.io/docs/user/quick-start/#multinode-clusters apiVersion: kind.x-k8s.io/v1alpha4 diff --git a/contrib/serverinstall/kind-k8s/configs/example-nodejs.yaml b/contrib/serverinstall/kind-k8s/configs/example-nodejs.yaml index 4ab16fa8a61..97cf66449ae 100644 --- a/contrib/serverinstall/kind-k8s/configs/example-nodejs.yaml +++ b/contrib/serverinstall/kind-k8s/configs/example-nodejs.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - apiVersion: v1 kind: Pod metadata: diff --git a/contrib/serverinstall/kind-k8s/configs/metallb-config-template.yaml b/contrib/serverinstall/kind-k8s/configs/metallb-config-template.yaml index 16210b7bbb2..da96abd3168 100644 --- a/contrib/serverinstall/kind-k8s/configs/metallb-config-template.yaml +++ b/contrib/serverinstall/kind-k8s/configs/metallb-config-template.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - apiVersion: v1 kind: ConfigMap metadata: diff --git a/contrib/serverinstall/kind-k8s/configs/metallb-config.yaml b/contrib/serverinstall/kind-k8s/configs/metallb-config.yaml index e4ec4a8d1a8..b57fa6ef3ce 100644 --- a/contrib/serverinstall/kind-k8s/configs/metallb-config.yaml +++ b/contrib/serverinstall/kind-k8s/configs/metallb-config.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - apiVersion: v1 kind: ConfigMap metadata: diff --git a/contrib/serverinstall/kind-k8s/destroy-k8s.sh b/contrib/serverinstall/kind-k8s/destroy-k8s.sh index c026dffa267..210ffdf8aac 100755 --- a/contrib/serverinstall/kind-k8s/destroy-k8s.sh +++ b/contrib/serverinstall/kind-k8s/destroy-k8s.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - kind delete cluster docker rm kind-registry -f diff --git a/contrib/serverinstall/kind-k8s/setup-k8s.sh b/contrib/serverinstall/kind-k8s/setup-k8s.sh index c537e9b14b1..bb1005ffae0 100755 --- a/contrib/serverinstall/kind-k8s/setup-k8s.sh +++ b/contrib/serverinstall/kind-k8s/setup-k8s.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - # NOTE(briancain): This script uses 'kind' to automatically bring up a local # kubernetes cluster. It includes optional support for configuring an diff --git a/contrib/waypoint-grpc/waypoint-grpc.sh b/contrib/waypoint-grpc/waypoint-grpc.sh index 60fb2fd171b..cd39660e888 100755 --- a/contrib/waypoint-grpc/waypoint-grpc.sh +++ b/contrib/waypoint-grpc/waypoint-grpc.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - if ! command -v jq &> /dev/null then diff --git a/contrib/waypoint-local/setup-waypoint-local.sh b/contrib/waypoint-local/setup-waypoint-local.sh index 89512372f7f..757a388b5b0 100755 --- a/contrib/waypoint-local/setup-waypoint-local.sh +++ b/contrib/waypoint-local/setup-waypoint-local.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - LOGDIR="${WP_LOG_DIR:-"/tmp"}" DBDIR="${WP_DB_DIR:-"."}" diff --git a/contrib/waypoint-local/shutdown-waypoint.sh b/contrib/waypoint-local/shutdown-waypoint.sh index ed97d374c03..6de1304191c 100755 --- a/contrib/waypoint-local/shutdown-waypoint.sh +++ b/contrib/waypoint-local/shutdown-waypoint.sh @@ -1,7 +1,4 @@ #!/bin/bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - echo "==> Attempting to gracefully shutdown Waypoint server and runner..." echo diff --git a/docker-compose.yml b/docker-compose.yml index 507838430f4..1ef0ed0a10f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - version: "3" services: diff --git a/embedJson/embed_json.go b/embedJson/embed_json.go index 22dab21a19c..a2fc39f3ef3 100644 --- a/embedJson/embed_json.go +++ b/embedJson/embed_json.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package embedJson import ( diff --git a/flake.lock b/flake.lock index b0a2e6ce783..3c63e3a2952 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "flake-utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", "type": "github" }, "original": { @@ -17,16 +17,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1672844754, - "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=", + "lastModified": 1639584099, + "narHash": "sha256-3UioSxWXcXMoq3YV6i7nl3DWpKX2xA3ogYnqynPBk2w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc", + "rev": "9367ef512d32a3c8b9e1d2b75ba5134de48d86ed", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-22.11", + "ref": "release-21.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index b4e868d78c0..0f2077c1976 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { description = "HashiCorp Waypoint project"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/release-22.11"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/release-21.11"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: diff --git a/go.mod b/go.mod index 20786788151..e8dea0851d5 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/go-openapi/strfmt v0.21.3 github.com/go-openapi/swag v0.19.14 github.com/go-openapi/validate v0.20.2 - github.com/go-ozzo/ozzo-validation/v4 v4.3.0 + github.com/go-ozzo/ozzo-validation/v4 v4.2.1 github.com/go-playground/validator v9.31.0+incompatible github.com/gofrs/flock v0.8.1 github.com/golang/protobuf v1.5.2 @@ -58,7 +58,7 @@ require ( github.com/hashicorp/go-cleanhttp v0.5.2 github.com/hashicorp/go-gcp-common v0.6.0 github.com/hashicorp/go-getter v1.7.0 - github.com/hashicorp/go-hclog v1.2.1 + github.com/hashicorp/go-hclog v1.2.0 github.com/hashicorp/go-memdb v1.3.2 github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-plugin v1.4.3 @@ -140,8 +140,8 @@ require ( github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/BurntSushi/toml v1.2.1 // indirect - github.com/DataDog/datadog-go v4.0.0+incompatible // indirect + github.com/BurntSushi/toml v1.0.0 // indirect + github.com/DataDog/datadog-go v3.5.0+incompatible // indirect github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect @@ -178,7 +178,6 @@ require ( github.com/containerd/typeurl v1.0.2 // indirect github.com/coreos/go-oidc/v3 v3.0.0 // indirect github.com/cyphar/filepath-securejoin v0.2.3 // indirect - github.com/denisenkom/go-mssqldb v0.12.2 // indirect github.com/dimchansky/utfbom v1.1.0 // indirect github.com/docker/docker-credential-helpers v0.6.4 // indirect github.com/docker/go-metrics v0.0.1 // indirect @@ -207,7 +206,6 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.2.0 // indirect github.com/golang-migrate/migrate/v4 v4.10.0 // indirect - github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang/gddo v0.0.0-20180823221919-9d8ff1c67be5 // indirect github.com/golang/glog v1.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -222,13 +220,13 @@ require ( github.com/gookit/color v1.3.1 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/gosuri/uitable v0.0.4 // indirect - github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect + github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/cronexpr v1.1.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.0 // indirect + github.com/hashicorp/go-retryablehttp v0.6.6 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 // indirect @@ -242,10 +240,10 @@ require ( github.com/hashicorp/yamux v0.0.0-20210316155119-a95892c5f864 // indirect github.com/heroku/color v0.0.6 // indirect github.com/huandu/xstrings v1.3.2 // indirect - github.com/iancoleman/strcase v0.2.0 // indirect + github.com/iancoleman/strcase v0.1.3 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/jinzhu/gorm v1.9.16 // indirect + github.com/jinzhu/gorm v1.9.12 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmoiron/sqlx v1.3.5 // indirect @@ -328,7 +326,7 @@ require ( go.starlark.net v0.0.0-20200707032745-474f21a9602d // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.7.0 // indirect + golang.org/x/net v0.1.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/term v0.5.0 // indirect golang.org/x/text v0.7.0 // indirect @@ -368,11 +366,11 @@ require ( github.com/hashicorp/go-grpc-net-conn v0.0.0-20220321172933-7ab38178cb90 github.com/hashicorp/opaqueany v0.0.0-20220321170339-a5c6ff5bb0ec github.com/hashicorp/waypoint-plugin-sdk v0.0.0-20230125180203-cb1d684e3cc5 - github.com/jinzhu/now v1.1.5 // indirect + github.com/jinzhu/now v1.1.1 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/rs/cors v1.7.0 // indirect github.com/sabhiram/go-gitignore v0.0.0-20201211210132-54b8a0bf510f // indirect - google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 ) // NOTE(mitchellh): I'm keeping these commented and in here because during diff --git a/go.sum b/go.sum index 453edbf362b..38e2c2856c4 100644 --- a/go.sum +++ b/go.sum @@ -225,9 +225,6 @@ github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9mo github.com/Azure/azure-sdk-for-go v42.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v56.3.0+incompatible h1:DmhwMrUIvpeoTDiWRDtNHqelNUd3Og8JCkrLHQK795c= github.com/Azure/azure-sdk-for-go v56.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-service-bus-go v0.9.1/go.mod h1:yzBx6/BUGfjfeqbRZny9AQIbIe3AcV9WZbAdpkoXOa0= github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -293,16 +290,15 @@ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbt github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= -github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.0.0 h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU= +github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ClickHouse/clickhouse-go v1.3.12/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/datadog-go v3.5.0+incompatible h1:AShr9cqkF+taHjyQgcBcQUt/ZNK+iPq4ROaZwSX5c/U= github.com/DataDog/datadog-go v3.5.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/datadog-go v4.0.0+incompatible h1:Dq8Dr+4sV1gBO1sHDWdW+4G+PdsA+YSJOK925MxrrCY= -github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20210527074920-9baf37265e83 h1:nP/ZY51AWjudDqYZCNpBzV+pgdURQJ/nQsNVHWMIknQ= github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20210527074920-9baf37265e83/go.mod h1:/VV3EFO/hTNQZHAqaj+CPGy2+ioFrP4EX3iRwozubhQ= github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= @@ -357,7 +353,6 @@ github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMo github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= @@ -392,7 +387,6 @@ github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:C github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190808125512-07798873deee/go.mod h1:myCDvQSzCW+wB1WAlocEru4wMGJxy+vlxHdhegi1CDQ= github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -706,9 +700,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/denisenkom/go-mssqldb v0.12.2 h1:1OcPn5GBIobjWNd+8yjfHNIaFX14B1pWI3F9HZy5KXw= -github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= @@ -724,7 +717,6 @@ github.com/distribution/distribution/v3 v3.0.0-20220526142353-ffbd94cbe269 h1:hb github.com/distribution/distribution/v3 v3.0.0-20220526142353-ffbd94cbe269/go.mod h1:28YO/VJk9/64+sTGNuYaBjWxrXTPrj0C0XmgTIOjxX4= github.com/dnaeon/go-vcr v0.0.0-20180814043457-aafff18a5cc2/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/dnsimple/dnsimple-go v0.30.0/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg= github.com/docker/cli v0.0.0-20190925022749-754388324470/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= @@ -992,8 +984,8 @@ github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9G github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= github.com/go-openapi/validate v0.20.2 h1:AhqDegYV3J3iQkMPJSXkvzymHKMTw0BST3RK3hTT4ts= github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= -github.com/go-ozzo/ozzo-validation/v4 v4.3.0 h1:byhDUpfEwjsVQb1vBunvIjh2BHQ9ead57VkAEY4V+Es= -github.com/go-ozzo/ozzo-validation/v4 v4.3.0/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew= +github.com/go-ozzo/ozzo-validation/v4 v4.2.1 h1:XALUNshPYumA7UShB7iM3ZVlqIBn0jfwjqAMIoyE1N0= +github.com/go-ozzo/ozzo-validation/v4 v4.2.1/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -1097,11 +1089,8 @@ github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8 github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-migrate/migrate/v4 v4.10.0 h1:76R6UL3BGnDTpYeittMtfpaNvGBH5zMZatO/fCzIjWo= github.com/golang-migrate/migrate/v4 v4.10.0/go.mod h1:Llx0NRzBKs/zbR/Pc0huEpJA2195sJVkGU5dCyjQ678= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= -github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/gddo v0.0.0-20180823221919-9d8ff1c67be5 h1:yrv1uUvgXH/tEat+wdvJMRJ4g51GlIydtDpU9pFjaaI= github.com/golang/gddo v0.0.0-20180823221919-9d8ff1c67be5/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -1308,9 +1297,8 @@ github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7 github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY= github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= @@ -1375,8 +1363,8 @@ github.com/hashicorp/go-hclog v0.14.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39 github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.1 h1:YQsLlGDJgwhXFpucSPyVbCBviQtjlHv3jLTlp8YmtEw= -github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -1398,9 +1386,8 @@ github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ3 github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.6.6 h1:HJunrbHTDDbBb/ay4kxa1n+dLmttUlnP3V9oNE4hmsM= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= -github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= @@ -1484,8 +1471,8 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/iancoleman/strcase v0.1.3 h1:dJBk1m2/qjL1twPLf68JND55vvivMupZ4wIzE8CTdBw= +github.com/iancoleman/strcase v0.1.3/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df/go.mod h1:QMZY7/J/KSQEhKWFeDesPjMj+wCHReeknARU3wqlyN4= @@ -1530,14 +1517,13 @@ github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJS github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= +github.com/jinzhu/gorm v1.9.12 h1:Drgk1clyWT9t9ERbzHza6Mj/8FY/CqMyVzOiHviMo6Q= github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZT/Qs= -github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= -github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.1 h1:g39TucaRWyV3dwDO++eEc6qf8TVIQ/Da48WmqjZ3i7E= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1710,7 +1696,6 @@ github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v2.0.1+incompatible h1:xQ15muvnzGBHpIpdrNi1DA5x0+TcBZzsIDwmw9uTHzw= github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -1814,7 +1799,6 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= @@ -1970,7 +1954,6 @@ github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUM github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v3 v3.3.2 h1:QTUOCbMNDbK4PYtkuHyOBd28C0UhPBw3T4OH4WpFDik= github.com/pierrec/lz4/v3 v3.3.2/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -2498,7 +2481,6 @@ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180611182652-db08ff08e862/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2570,7 +2552,6 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -2587,9 +2568,8 @@ golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3192,8 +3172,8 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 h1:TLkBREm4nIsEcexnCjgQd5GQWaHcqMzwQV0TX9pq8S0= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/internal/appconfig/doc.go b/internal/appconfig/doc.go index 970dd69bf3e..1d849f9c2b5 100644 --- a/internal/appconfig/doc.go +++ b/internal/appconfig/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package appconfig provides the logic for watching and reading application // configuration values. Application configuration values may be static // or they may be dynamically loaded from external systems such as Vault, diff --git a/internal/appconfig/option.go b/internal/appconfig/option.go index 15003ebe189..677951299ab 100644 --- a/internal/appconfig/option.go +++ b/internal/appconfig/option.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package appconfig import ( diff --git a/internal/appconfig/option_test.go b/internal/appconfig/option_test.go index ecaaaad2c6e..949759d524f 100644 --- a/internal/appconfig/option_test.go +++ b/internal/appconfig/option_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package appconfig import ( diff --git a/internal/appconfig/testing.go b/internal/appconfig/testing.go index 08937eaa945..3a631783b39 100644 --- a/internal/appconfig/testing.go +++ b/internal/appconfig/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package appconfig import ( diff --git a/internal/appconfig/watcher.go b/internal/appconfig/watcher.go index d702fed90ad..dbaa8886a02 100644 --- a/internal/appconfig/watcher.go +++ b/internal/appconfig/watcher.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package appconfig import ( diff --git a/internal/appconfig/watcher_test.go b/internal/appconfig/watcher_test.go index 20ef9ea3909..75a12bbeefb 100644 --- a/internal/appconfig/watcher_test.go +++ b/internal/appconfig/watcher_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package appconfig import ( diff --git a/internal/assets/ceb.go b/internal/assets/ceb.go index f454554ff87..1d99a61dd8d 100644 --- a/internal/assets/ceb.go +++ b/internal/assets/ceb.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package assets // CEBArch contains the asset name by architecture. The OS is always diff --git a/internal/assets/dev.go b/internal/assets/dev.go index b51fd2e4341..6af47508922 100644 --- a/internal/assets/dev.go +++ b/internal/assets/dev.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - //go:generate go-bindata -dev -pkg assets -o dev_assets.go -tags !assetsembedded ceb //go:build !assetsembedded diff --git a/internal/ceb/app_config_test.go b/internal/ceb/app_config_test.go index 18990fe8ca4..57fde097bf3 100644 --- a/internal/ceb/app_config_test.go +++ b/internal/ceb/app_config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/ceb.go b/internal/ceb/ceb.go index d862c43435f..4c0ee8dc6be 100644 --- a/internal/ceb/ceb.go +++ b/internal/ceb/ceb.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package ceb contains the core logic for the custom entrypoint binary ("ceb"). // // The CEB does not work on Windows. diff --git a/internal/ceb/ceb_test.go b/internal/ceb/ceb_test.go index f03a45c2bd2..570a83796d7 100644 --- a/internal/ceb/ceb_test.go +++ b/internal/ceb/ceb_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/child_exec.go b/internal/ceb/child_exec.go index 01ed81373f0..10ad4e07a86 100644 --- a/internal/ceb/child_exec.go +++ b/internal/ceb/child_exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/config.go b/internal/ceb/config.go index 3607b290c0b..2d1237a5502 100644 --- a/internal/ceb/config.go +++ b/internal/ceb/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/config_test.go b/internal/ceb/config_test.go index cac327121ab..1957f726780 100644 --- a/internal/ceb/config_test.go +++ b/internal/ceb/config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/exec.go b/internal/ceb/exec.go index 911d4e35f04..45670109899 100644 --- a/internal/ceb/exec.go +++ b/internal/ceb/exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/execwriter/execwriter.go b/internal/ceb/execwriter/execwriter.go index 347d2763516..e159b067d0c 100644 --- a/internal/ceb/execwriter/execwriter.go +++ b/internal/ceb/execwriter/execwriter.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package execwriter contains helpers for writing "waypoint exec" // streams via an io.Writer. Data written to the io.Writer will be // automatically sent to the gRPC stream. diff --git a/internal/ceb/init.go b/internal/ceb/init.go index 15879bb4adc..79965dbbe6b 100644 --- a/internal/ceb/init.go +++ b/internal/ceb/init.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/log.go b/internal/ceb/log.go index 9a81289699b..f2b4d885ac3 100644 --- a/internal/ceb/log.go +++ b/internal/ceb/log.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/log_test.go b/internal/ceb/log_test.go index 6d8e709fcda..9fda83cd042 100644 --- a/internal/ceb/log_test.go +++ b/internal/ceb/log_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/server.go b/internal/ceb/server.go index 207b677f804..0d3f3cd863d 100644 --- a/internal/ceb/server.go +++ b/internal/ceb/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/ssh/doc.go b/internal/ceb/ssh/doc.go index 768e8bf2824..4913eb350bb 100644 --- a/internal/ceb/ssh/doc.go +++ b/internal/ceb/ssh/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package ssh contains the login for the custom entrypoint binary to run // an SSH server. This SSH server is used to provide exec plugins a way to // launch an environment to perform a users command. diff --git a/internal/ceb/ssh/server.go b/internal/ceb/ssh/server.go index 10c942edba5..74afb4c8524 100644 --- a/internal/ceb/ssh/server.go +++ b/internal/ceb/ssh/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ssh import ( diff --git a/internal/ceb/ssh/server_test.go b/internal/ceb/ssh/server_test.go index 176bd67d4da..c18dd0a99cd 100644 --- a/internal/ceb/ssh/server_test.go +++ b/internal/ceb/ssh/server_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ssh import ( diff --git a/internal/ceb/testing.go b/internal/ceb/testing.go index c841a8e957e..98a7d652267 100644 --- a/internal/ceb/testing.go +++ b/internal/ceb/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/url.go b/internal/ceb/url.go index 57403a2bab4..0d1935bf5a3 100644 --- a/internal/ceb/url.go +++ b/internal/ceb/url.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/url_test.go b/internal/ceb/url_test.go index 5ebbf727f5a..9b1e399b8ec 100644 --- a/internal/ceb/url_test.go +++ b/internal/ceb/url_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ceb import ( diff --git a/internal/ceb/virtualceb/ceb.go b/internal/ceb/virtualceb/ceb.go index f6ee8509d6e..a2af79a78b2 100644 --- a/internal/ceb/virtualceb/ceb.go +++ b/internal/ceb/virtualceb/ceb.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package virtualceb import ( diff --git a/internal/ceb/virtualceb/ceb_test.go b/internal/ceb/virtualceb/ceb_test.go index 11176325893..7bd2931a058 100644 --- a/internal/ceb/virtualceb/ceb_test.go +++ b/internal/ceb/virtualceb/ceb_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package virtualceb import ( diff --git a/internal/ceb/virtualceb/doc.go b/internal/ceb/virtualceb/doc.go index 443dd0acf0c..c60ccd4c151 100644 --- a/internal/ceb/virtualceb/doc.go +++ b/internal/ceb/virtualceb/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package virtualceb is used to provide "virtual" CEB functionality. A // virtual CEB acts like an entrypoint but doesn't represent a real physical // instance of a deployment, hence the "virtual" labeling. diff --git a/internal/cli/app_docs.go b/internal/cli/app_docs.go index b6e08b97742..a176eeb4092 100644 --- a/internal/cli/app_docs.go +++ b/internal/cli/app_docs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -480,7 +477,7 @@ func (c *AppDocsCommand) hclFormat(name, ct string, doc *docs.Documentation) { "kubernetes-apply": "k8s/apply", "nomad": "nomad", "nomad-jobspec": "nomad/jobspec", - "nomad-jobspec-canary": "nomad/canary", + "nomad-jobspec-canary": "k8s/canary", "null": "null", "pack": "pack", "packer": "packer", @@ -498,15 +495,13 @@ func (c *AppDocsCommand) hclFormat(name, ct string, doc *docs.Documentation) { } dets := doc.Details() - componentPath := fmt.Sprintf("./builtin/%s/components/%s/%s", pluginPath, componentSlug, name+"-"+componentSlug) - // If no description, don't generate docs if c.humanize(dets.Description) != "" { // make component folder - os.MkdirAll(componentPath, os.ModePerm) + os.MkdirAll(fmt.Sprintf("./builtin/%s/components/%s", pluginPath, componentSlug), os.ModePerm) // populate README.md - readme, err := os.Create(fmt.Sprintf("%s/README.md", componentPath)) + readme, err := os.Create(fmt.Sprintf("./builtin/%s/components/%s/README.md", pluginPath, componentSlug)) if err != nil { panic(err) } @@ -570,7 +565,7 @@ func (c *AppDocsCommand) hclFormat(name, ct string, doc *docs.Documentation) { // required = true // default_value = "something" // } - parameters, err := os.Create(fmt.Sprintf("%s/parameters.hcl", componentPath)) + parameters, err := os.Create(fmt.Sprintf("./builtin/%s/components/%s/parameters.hcl", pluginPath, componentSlug)) if err != nil { panic(err) } @@ -643,7 +638,7 @@ func (c *AppDocsCommand) hclFormat(name, ct string, doc *docs.Documentation) { // Only create outputs.hcl if there are output fields if fields := doc.TemplateFields(); len(fields) > 0 { - outputs, err := os.Create(fmt.Sprintf("%s/outputs.hcl", componentPath)) + outputs, err := os.Create(fmt.Sprintf("./builtin/%s/components/%s/outputs.hcl", pluginPath, componentSlug)) if err != nil { panic(err) } diff --git a/internal/cli/artifact_build.go b/internal/cli/artifact_build.go index 57a372eb570..9b73bc07013 100644 --- a/internal/cli/artifact_build.go +++ b/internal/cli/artifact_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/artifact_list.go b/internal/cli/artifact_list.go index 24ce16f73f3..6838d6308d6 100644 --- a/internal/cli/artifact_list.go +++ b/internal/cli/artifact_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/artifact_push.go b/internal/cli/artifact_push.go index 93ba2953d33..a88166eec19 100644 --- a/internal/cli/artifact_push.go +++ b/internal/cli/artifact_push.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/auth_method_delete.go b/internal/cli/auth_method_delete.go index 6068a07252c..5a0cd3aaff7 100644 --- a/internal/cli/auth_method_delete.go +++ b/internal/cli/auth_method_delete.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/auth_method_inspect.go b/internal/cli/auth_method_inspect.go index 3a06bf6fd0d..2a349bca9dc 100644 --- a/internal/cli/auth_method_inspect.go +++ b/internal/cli/auth_method_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/auth_method_list.go b/internal/cli/auth_method_list.go index 52734411831..06d4d0e521b 100644 --- a/internal/cli/auth_method_list.go +++ b/internal/cli/auth_method_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/auth_method_set_oidc.go b/internal/cli/auth_method_set_oidc.go index 8972940d202..f655663bd50 100644 --- a/internal/cli/auth_method_set_oidc.go +++ b/internal/cli/auth_method_set_oidc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/base.go b/internal/cli/base.go index 084d02b46c1..55bb838598b 100644 --- a/internal/cli/base.go +++ b/internal/cli/base.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/base_init.go b/internal/cli/base_init.go index f0d48c95fd0..3275cd12937 100644 --- a/internal/cli/base_init.go +++ b/internal/cli/base_init.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/base_test.go b/internal/cli/base_test.go index 4478f8a7c06..83314e1ab20 100644 --- a/internal/cli/base_test.go +++ b/internal/cli/base_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/build_list.go b/internal/cli/build_list.go index 09a0f1a9187..1074f87255f 100644 --- a/internal/cli/build_list.go +++ b/internal/cli/build_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/config_delete.go b/internal/cli/config_delete.go index a142b5cedfb..9c7eafd51cc 100644 --- a/internal/cli/config_delete.go +++ b/internal/cli/config_delete.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 package cli diff --git a/internal/cli/config_get.go b/internal/cli/config_get.go index b3d744dd145..ac13fafbe08 100644 --- a/internal/cli/config_get.go +++ b/internal/cli/config_get.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/config_set.go b/internal/cli/config_set.go index 9d9b33290e5..20f394bc503 100644 --- a/internal/cli/config_set.go +++ b/internal/cli/config_set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/config_source_delete.go b/internal/cli/config_source_delete.go index 8bc521fd23c..8aa3ae2cbac 100644 --- a/internal/cli/config_source_delete.go +++ b/internal/cli/config_source_delete.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 package cli diff --git a/internal/cli/config_source_get.go b/internal/cli/config_source_get.go index b801cb47c5a..be3094af720 100644 --- a/internal/cli/config_source_get.go +++ b/internal/cli/config_source_get.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/config_source_set.go b/internal/cli/config_source_set.go index 8fc59b296d9..14b0f95de0f 100644 --- a/internal/cli/config_source_set.go +++ b/internal/cli/config_source_set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/config_sync.go b/internal/cli/config_sync.go index cd17afd1df4..fe10e52edd0 100644 --- a/internal/cli/config_sync.go +++ b/internal/cli/config_sync.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_clear.go b/internal/cli/context_clear.go index fb9720a40cf..6529b70ef3f 100644 --- a/internal/cli/context_clear.go +++ b/internal/cli/context_clear.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_create.go b/internal/cli/context_create.go index e3d7021f784..c896b99af87 100644 --- a/internal/cli/context_create.go +++ b/internal/cli/context_create.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_delete.go b/internal/cli/context_delete.go index d17a8016764..9ba294a37a1 100644 --- a/internal/cli/context_delete.go +++ b/internal/cli/context_delete.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_help.go b/internal/cli/context_help.go index 31395f37039..2ec15f47ff2 100644 --- a/internal/cli/context_help.go +++ b/internal/cli/context_help.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_inspect.go b/internal/cli/context_inspect.go index 37258816415..a241d8f7edc 100644 --- a/internal/cli/context_inspect.go +++ b/internal/cli/context_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_list.go b/internal/cli/context_list.go index 2b2973e2ee8..128997df329 100644 --- a/internal/cli/context_list.go +++ b/internal/cli/context_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_rename.go b/internal/cli/context_rename.go index c815a12f157..11f6d51aae0 100644 --- a/internal/cli/context_rename.go +++ b/internal/cli/context_rename.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_set.go b/internal/cli/context_set.go index 94c56e6391a..7a8279b3fbe 100644 --- a/internal/cli/context_set.go +++ b/internal/cli/context_set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_use.go b/internal/cli/context_use.go index 5ba0b616617..59243070f48 100644 --- a/internal/cli/context_use.go +++ b/internal/cli/context_use.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/context_verify.go b/internal/cli/context_verify.go index ac1a771f136..981e48f2a53 100644 --- a/internal/cli/context_verify.go +++ b/internal/cli/context_verify.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/data/init.tpl.hcl b/internal/cli/data/init.tpl.hcl index dbb23c472f2..5d1acae6aef 100644 --- a/internal/cli/data/init.tpl.hcl +++ b/internal/cli/data/init.tpl.hcl @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - # The name of your project. A project typically maps 1:1 to a VCS repository. # This name must be unique for your Waypoint server. If you're running in # local mode, this must be unique to your machine. diff --git a/internal/cli/datagen/datagen.go b/internal/cli/datagen/datagen.go index 51d901373b4..b350bb3e4ae 100644 --- a/internal/cli/datagen/datagen.go +++ b/internal/cli/datagen/datagen.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Code generated by go-bindata. // sources: // data/init.tpl.hcl diff --git a/internal/cli/deployment_create.go b/internal/cli/deployment_create.go index 2aada1e6f1d..0efcdc22810 100644 --- a/internal/cli/deployment_create.go +++ b/internal/cli/deployment_create.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/deployment_destroy.go b/internal/cli/deployment_destroy.go index 2467d1cad6c..dd35b0b0462 100644 --- a/internal/cli/deployment_destroy.go +++ b/internal/cli/deployment_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/deployment_list.go b/internal/cli/deployment_list.go index 8aa8bec54ef..5d7e91e2e43 100644 --- a/internal/cli/deployment_list.go +++ b/internal/cli/deployment_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -37,16 +34,12 @@ type DeploymentListCommand struct { filterFlags filterFlags } -func shortImg(img string) (string, error) { - if len(img) < 7 { - return "", fmt.Errorf("string not long enough to obtain short img: %s", img) - } - +func shortImg(img string) string { if strings.HasPrefix(img, "sha256:") { - return img[7:14], nil + return img[7:14] } - return img[:7], nil + return img[:7] } // Add either language: or languages: based on how many values are specified @@ -251,11 +244,7 @@ func (c *DeploymentListCommand) Run(args []string) int { } if img, ok := build.Labels["common/image-id"]; ok { - img, err = shortImg(img) - if err != nil { - app.UI.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return err - } + img = shortImg(img) details = append(details, "image:"+img) } diff --git a/internal/cli/destroy.go b/internal/cli/destroy.go index 2606479d0c1..7775dd3ff55 100644 --- a/internal/cli/destroy.go +++ b/internal/cli/destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/docs.go b/internal/cli/docs.go index 56b2f988636..f2b9d4d9f69 100644 --- a/internal/cli/docs.go +++ b/internal/cli/docs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/editor/editor.go b/internal/cli/editor/editor.go index 25217b8ca5d..2c675c1049a 100644 --- a/internal/cli/editor/editor.go +++ b/internal/cli/editor/editor.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/exec.go b/internal/cli/exec.go index c5a4f99d5f2..376c7e5a03d 100644 --- a/internal/cli/exec.go +++ b/internal/cli/exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/filter_status.go b/internal/cli/filter_status.go index 6a37198d855..0c9c47e8812 100644 --- a/internal/cli/filter_status.go +++ b/internal/cli/filter_status.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/fmt.go b/internal/cli/fmt.go index 32d88bf3baa..328905e68d5 100644 --- a/internal/cli/fmt.go +++ b/internal/cli/fmt.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/format.go b/internal/cli/format.go index 542ca51ca62..febf34a3e5a 100644 --- a/internal/cli/format.go +++ b/internal/cli/format.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/hclgen/hclgen.go b/internal/cli/hclgen/hclgen.go index e7e0e0db399..e06d7e2da16 100644 --- a/internal/cli/hclgen/hclgen.go +++ b/internal/cli/hclgen/hclgen.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package hclgen import ( diff --git a/internal/cli/help.go b/internal/cli/help.go index 75b2c2fe121..9b5d918284f 100644 --- a/internal/cli/help.go +++ b/internal/cli/help.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/hostname_delete.go b/internal/cli/hostname_delete.go index 0b773562ada..9f794c207c4 100644 --- a/internal/cli/hostname_delete.go +++ b/internal/cli/hostname_delete.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/hostname_list.go b/internal/cli/hostname_list.go index 384929f43cd..960d8ab4dcd 100644 --- a/internal/cli/hostname_list.go +++ b/internal/cli/hostname_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/hostname_register.go b/internal/cli/hostname_register.go index 2b699e18c90..d20fff2b882 100644 --- a/internal/cli/hostname_register.go +++ b/internal/cli/hostname_register.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/init.go b/internal/cli/init.go index fb768eeb4ef..4638b052e97 100644 --- a/internal/cli/init.go +++ b/internal/cli/init.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/install.go b/internal/cli/install.go index 3030d17c013..6e66f9e54d3 100644 --- a/internal/cli/install.go +++ b/internal/cli/install.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/job_cancel.go b/internal/cli/job_cancel.go index 47879b5bec2..ca8e3c3d827 100644 --- a/internal/cli/job_cancel.go +++ b/internal/cli/job_cancel.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/job_get_stream.go b/internal/cli/job_get_stream.go index 26259c4c017..8c89dcec8a8 100644 --- a/internal/cli/job_get_stream.go +++ b/internal/cli/job_get_stream.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/job_inspect.go b/internal/cli/job_inspect.go index fc637c08ef0..42e2ec637d5 100644 --- a/internal/cli/job_inspect.go +++ b/internal/cli/job_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/job_list.go b/internal/cli/job_list.go index b5a4c9cc4aa..40cace05203 100644 --- a/internal/cli/job_list.go +++ b/internal/cli/job_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/k8s_bootstrap.go b/internal/cli/k8s_bootstrap.go index f32a3799b58..18588be0bfe 100644 --- a/internal/cli/k8s_bootstrap.go +++ b/internal/cli/k8s_bootstrap.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/login.go b/internal/cli/login.go index 50e4c0b8aba..1c1500e954d 100644 --- a/internal/cli/login.go +++ b/internal/cli/login.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/logs.go b/internal/cli/logs.go index 389fd3db1da..5a12fd0ceab 100644 --- a/internal/cli/logs.go +++ b/internal/cli/logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/main.go b/internal/cli/main.go index 41e91c41c37..798fa14e1ea 100644 --- a/internal/cli/main.go +++ b/internal/cli/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli //go:generate go-bindata -nomemcopy -nometadata -pkg datagen -o datagen/datagen.go -prefix data/ data/... @@ -52,9 +49,8 @@ var ( // hiddenCommands are not shown in CLI help output. hiddenCommands = map[string]struct{}{ - "plugin": {}, - "k8s": {}, - "template": {}, + "plugin": {}, + "k8s": {}, // Deprecated: "token": {}, // replaced by "user" @@ -800,37 +796,6 @@ func Commands( baseCommand: baseCommand, }, nil }, - "template": func() (cli.Command, error) { - return &helpCommand{ - SynopsisText: helpText["template"][0], - HelpText: helpText["template"][1], - }, nil - }, - "template create": func() (cli.Command, error) { - return &ProjectTemplateCreateCommand{ - baseCommand: baseCommand, - }, nil - }, - "template inspect": func() (cli.Command, error) { - return &ProjectTemplateInspectCommand{ - baseCommand: baseCommand, - }, nil - }, - "template list": func() (cli.Command, error) { - return &ProjectTemplateListCommand{ - baseCommand: baseCommand, - }, nil - }, - "template update": func() (cli.Command, error) { - return &ProjectTemplateUpdateCommand{ - baseCommand: baseCommand, - }, nil - }, - "template delete": func() (cli.Command, error) { - return &ProjectTemplateDeleteCommand{ - baseCommand: baseCommand, - }, nil - }, } // register our aliases @@ -1225,15 +1190,6 @@ runners (i.e. on-demand runners) when needed using the configured plugin. "Manage workspaces", ` List and inspect Workspaces for this context. -`, - }, - "template": { - "Project Template management", - ` -Manage project templates stored within Waypoint server. These templates are -used to create Waypoint projects with defaults defined as well as with -associated infrastructure that a deployed application may need through -Terraform no-code modules. `, }, } diff --git a/internal/cli/option.go b/internal/cli/option.go index 618102a4595..246bf46913b 100644 --- a/internal/cli/option.go +++ b/internal/cli/option.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/pipeline_inspect.go b/internal/cli/pipeline_inspect.go index 88afe1e4676..eae825cc82e 100644 --- a/internal/cli/pipeline_inspect.go +++ b/internal/cli/pipeline_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/pipeline_list.go b/internal/cli/pipeline_list.go index b17d119249e..ea3aa3c3808 100644 --- a/internal/cli/pipeline_list.go +++ b/internal/cli/pipeline_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/pipeline_run.go b/internal/cli/pipeline_run.go index 20e34aad342..6b98beafe8d 100644 --- a/internal/cli/pipeline_run.go +++ b/internal/cli/pipeline_run.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/plugin.go b/internal/cli/plugin.go index e5c0cbc6a14..4124d8f7fce 100644 --- a/internal/cli/plugin.go +++ b/internal/cli/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/project_apply.go b/internal/cli/project_apply.go index 00d5ee8ce5a..e287e68a1da 100644 --- a/internal/cli/project_apply.go +++ b/internal/cli/project_apply.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/project_destroy.go b/internal/cli/project_destroy.go index 84aa622865e..43ad03005b5 100644 --- a/internal/cli/project_destroy.go +++ b/internal/cli/project_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/project_inspect.go b/internal/cli/project_inspect.go index 53ffcd0a8a7..a30e1170526 100644 --- a/internal/cli/project_inspect.go +++ b/internal/cli/project_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/project_list.go b/internal/cli/project_list.go index 57b4207ea09..256c59fa1f3 100644 --- a/internal/cli/project_list.go +++ b/internal/cli/project_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/release_create.go b/internal/cli/release_create.go index 78df695f9c2..41405c99475 100644 --- a/internal/cli/release_create.go +++ b/internal/cli/release_create.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/release_list.go b/internal/cli/release_list.go index a6d277f711a..6921d9352f1 100644 --- a/internal/cli/release_list.go +++ b/internal/cli/release_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -194,11 +191,7 @@ func (c *ReleaseListCommand) Run(args []string) int { } if img, ok := build.Labels["common/image-id"]; ok { - img, err = shortImg(img) - if err != nil { - app.UI.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return err - } + img = shortImg(img) details = append(details, "image:"+img) } diff --git a/internal/cli/runner_adopt.go b/internal/cli/runner_adopt.go index d0c1ef61d42..7814852da0e 100644 --- a/internal/cli/runner_adopt.go +++ b/internal/cli/runner_adopt.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_agent.go b/internal/cli/runner_agent.go index 7d4283d9f0b..e67587e5c16 100644 --- a/internal/cli/runner_agent.go +++ b/internal/cli/runner_agent.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_forget.go b/internal/cli/runner_forget.go index a2160bc12e6..5347d094a31 100644 --- a/internal/cli/runner_forget.go +++ b/internal/cli/runner_forget.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_inspect.go b/internal/cli/runner_inspect.go index 43b950412f6..f8077202877 100644 --- a/internal/cli/runner_inspect.go +++ b/internal/cli/runner_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_install.go b/internal/cli/runner_install.go index f961ba7877b..2f164dcc17b 100644 --- a/internal/cli/runner_install.go +++ b/internal/cli/runner_install.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_list.go b/internal/cli/runner_list.go index b0858b6db82..1f782f61406 100644 --- a/internal/cli/runner_list.go +++ b/internal/cli/runner_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_profile_delete.go b/internal/cli/runner_profile_delete.go index 5bdc6796f45..4c893df7c11 100644 --- a/internal/cli/runner_profile_delete.go +++ b/internal/cli/runner_profile_delete.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_profile_edit.go b/internal/cli/runner_profile_edit.go index 7152dea707c..25ae1da3e6f 100644 --- a/internal/cli/runner_profile_edit.go +++ b/internal/cli/runner_profile_edit.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_profile_inspect.go b/internal/cli/runner_profile_inspect.go index 238a1f4a751..ca881d1a6d7 100644 --- a/internal/cli/runner_profile_inspect.go +++ b/internal/cli/runner_profile_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_profile_list.go b/internal/cli/runner_profile_list.go index 68240e73706..bec9b17a14a 100644 --- a/internal/cli/runner_profile_list.go +++ b/internal/cli/runner_profile_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_profile_set.go b/internal/cli/runner_profile_set.go index e05aba3004d..01663e4756a 100644 --- a/internal/cli/runner_profile_set.go +++ b/internal/cli/runner_profile_set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_reject.go b/internal/cli/runner_reject.go index ee998a98c7a..878e532628a 100644 --- a/internal/cli/runner_reject.go +++ b/internal/cli/runner_reject.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_token.go b/internal/cli/runner_token.go index a5e87a45027..fba1f2d3a8c 100644 --- a/internal/cli/runner_token.go +++ b/internal/cli/runner_token.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/runner_uninstall.go b/internal/cli/runner_uninstall.go index 54525fc581a..efa0dd51dd5 100644 --- a/internal/cli/runner_uninstall.go +++ b/internal/cli/runner_uninstall.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/server_bootstrap.go b/internal/cli/server_bootstrap.go index 6e5ef7aa0dd..240de7cba34 100644 --- a/internal/cli/server_bootstrap.go +++ b/internal/cli/server_bootstrap.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/server_config_set.go b/internal/cli/server_config_set.go index ff7452c6792..cc49e991f24 100644 --- a/internal/cli/server_config_set.go +++ b/internal/cli/server_config_set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/server_cookie.go b/internal/cli/server_cookie.go index 89059ac7b63..7ba5eaeb25e 100644 --- a/internal/cli/server_cookie.go +++ b/internal/cli/server_cookie.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/server_run.go b/internal/cli/server_run.go index 8527589b989..fc7e85bda87 100644 --- a/internal/cli/server_run.go +++ b/internal/cli/server_run.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/server_upgrade.go b/internal/cli/server_upgrade.go index a64f0347638..f4d936f674d 100644 --- a/internal/cli/server_upgrade.go +++ b/internal/cli/server_upgrade.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -207,10 +204,7 @@ func (c *ServerUpgradeCommand) Run(args []string) int { } err = clisnapshot.WriteSnapshot(c.Ctx, c.project.Client(), writer) - closeErr := writer.Close() - if err == nil && closeErr != nil { - err = closeErr - } + writer.Close() if err != nil { s.Update("Failed to take server snapshot\n") diff --git a/internal/cli/snapshot_backup.go b/internal/cli/snapshot_backup.go index 10530c2c25f..96ff30277db 100644 --- a/internal/cli/snapshot_backup.go +++ b/internal/cli/snapshot_backup.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/snapshot_restore.go b/internal/cli/snapshot_restore.go index a19f57cbb34..c645c2a6a98 100644 --- a/internal/cli/snapshot_restore.go +++ b/internal/cli/snapshot_restore.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/status.go b/internal/cli/status.go index a1e1cd4456e..87e9e64a118 100644 --- a/internal/cli/status.go +++ b/internal/cli/status.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -607,11 +604,7 @@ func (c *StatusCommand) FormatAppStatus(projectTarget string, appTarget string) details = artDetails } if img, ok := deployBundle.Build.Labels["common/image-id"]; ok { - img, err = shortImg(img) - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return err - } + img = shortImg(img) details = details + " image:" + img } @@ -709,11 +702,7 @@ func (c *StatusCommand) FormatAppStatus(projectTarget string, appTarget string) details = artDetails } if img, ok := release.Preload.Build.Labels["common/image-id"]; ok { - img, err = shortImg(img) - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return err - } + img = shortImg(img) details = details + " image:" + img } diff --git a/internal/cli/task_cancel.go b/internal/cli/task_cancel.go index a6370b498dd..5e43a3c7f51 100644 --- a/internal/cli/task_cancel.go +++ b/internal/cli/task_cancel.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/task_inspect.go b/internal/cli/task_inspect.go index 3c629f9f478..68f8409c326 100644 --- a/internal/cli/task_inspect.go +++ b/internal/cli/task_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( @@ -46,6 +43,7 @@ func (c *TaskInspectCommand) Run(args []string) int { if c.flagRunJobId != "" && taskId != "" { c.ui.Output("Both Run Job Id and Task Id was supplied, will look up by Task Id", terminal.WithWarningStyle()) } + var ( taskReq *pb.GetTaskRequest ) @@ -308,7 +306,7 @@ func (c *TaskInspectCommand) FormatJob(job *pb.Job) error { Name: "Cancel Time", Value: cancelTime, }, { - Name: "Error Message", Value: errMsg, + Name: "Error Messsage", Value: errMsg, }, }, terminal.WithInfoStyle()) diff --git a/internal/cli/task_list.go b/internal/cli/task_list.go index 71c8ace021d..43fa82ad25f 100644 --- a/internal/cli/task_list.go +++ b/internal/cli/task_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/template_create.go b/internal/cli/template_create.go deleted file mode 100644 index 3152cbe9cd7..00000000000 --- a/internal/cli/template_create.go +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package cli - -import ( - "os" - - "github.com/posener/complete" - - "github.com/hashicorp/waypoint-plugin-sdk/terminal" - "github.com/hashicorp/waypoint/internal/clierrors" - "github.com/hashicorp/waypoint/internal/pkg/flag" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type ProjectTemplateCreateCommand struct { - *baseCommand - - flagSummary string - flagExpandedSummary string - flagReadmeMarkdownTemplatePath string - flagWaypointHCLTemplatePath string - flagTFCNoCodeModuleSource string - flagTFCNoCodeModuleVersion string - flagTags []string -} - -func (c *ProjectTemplateCreateCommand) Run(args []string) int { - flagSet := c.Flags() - if err := c.Init( - WithArgs(args), - WithFlags(flagSet), - WithNoConfig(), - ); err != nil { - return 1 - } - args = flagSet.Args() - ctx := c.Ctx - - if len(args) != 1 { - c.ui.Output("Single argument required.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - name := args[0] - - var template pb.ProjectTemplate - - template.Name = name - if c.flagSummary != "" { - template.Summary = c.flagSummary - } - if c.flagExpandedSummary != "" { - template.ExpandedSummary = c.flagExpandedSummary - } - - if c.flagReadmeMarkdownTemplatePath != "" { - rmt, err := os.ReadFile(c.flagReadmeMarkdownTemplatePath) - if err != nil { - errMsg := "Unable to read readme.md template file: %s" - if err == os.ErrNotExist { - errMsg = "Readme template file does not exist: %s" - } - - c.ui.Output(errMsg, clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - template.ReadmeMarkdownTemplate = rmt - } - - if c.flagWaypointHCLTemplatePath != "" { - wpt, err := os.ReadFile(c.flagWaypointHCLTemplatePath) - if err != nil { - errMsg := "Unable to read waypoint.hcl template file: %s" - if err == os.ErrNotExist { - errMsg = "Waypoint.hcl template file does not exist: %s" - } - - c.ui.Output(errMsg, clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - template.WaypointProject = &pb.ProjectTemplate_WaypointProject{ - WaypointHclTemplate: wpt, - } - } - - if c.flagTFCNoCodeModuleSource != "" && c.flagTFCNoCodeModuleVersion == "" { - c.ui.Output("Terraform No Code module version required.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if c.flagTFCNoCodeModuleSource == "" && c.flagTFCNoCodeModuleVersion != "" { - c.ui.Output("Terraform No Code module source required.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if c.flagTFCNoCodeModuleSource != "" && c.flagTFCNoCodeModuleVersion != "" { - template.TerraformNocodeModule = &pb.ProjectTemplate_TerraformNocodeModule{ - Source: c.flagTFCNoCodeModuleSource, - Version: c.flagTFCNoCodeModuleVersion, - } - } - - template.Tags = c.flagTags - - _, err := c.project.Client().CreateProjectTemplate(ctx, &pb.CreateProjectTemplateRequest{ - ProjectTemplate: &template, - }) - if err != nil { - c.ui.Output("Error creating project template: %s", clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - c.ui.Output("template created!") - - return 0 -} - -func (c *ProjectTemplateCreateCommand) Flags() *flag.Sets { - return c.flagSet(0, func(sets *flag.Sets) { - f := sets.NewSet("Command Options") - - f.StringVar(&flag.StringVar{ - Name: "summary", - Target: &c.flagSummary, - Default: "", - Usage: "Summary for the project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "expanded-summary", - Target: &c.flagExpandedSummary, - Default: "", - Usage: "Expanded Summary for the project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "readme-markdown-template-path", - Target: &c.flagReadmeMarkdownTemplatePath, - Default: "", - Usage: "Path to a markdown readme template for projects created from a project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "waypoint-hcl-template-path", - Target: &c.flagWaypointHCLTemplatePath, - Default: "", - Usage: "Path to a templated waypoint.hcl file for projects created from a project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "tfc-nocode-module-source", - Target: &c.flagTFCNoCodeModuleSource, - Default: "", - Usage: "The name of the Terraform no-code module from a Terraform registry that the template should use to provision infrastructure for Waypoint projects created from the template", - }) - - f.StringVar(&flag.StringVar{ - Name: "tfc-nocode-module-version", - Target: &c.flagTFCNoCodeModuleVersion, - Default: "", - Usage: "The version of the Terraform no-code module from a Terraform registry that the template should use to provision infrastructure for Waypoint projects created from the template", - }) - - f.StringSliceVar(&flag.StringSliceVar{ - Name: "tag", - Target: &c.flagTags, - Usage: "A tag to add to the project template", - }) - }) -} - -func (c *ProjectTemplateCreateCommand) AutocompleteArgs() complete.Predictor { - return complete.PredictNothing -} - -func (c *ProjectTemplateCreateCommand) AutocompleteFlags() complete.Flags { - return c.Flags().Completions() -} - -func (c *ProjectTemplateCreateCommand) Synopsis() string { - return "Create a project template." -} - -func (c *ProjectTemplateCreateCommand) Help() string { - return formatHelp(` -Usage: waypoint template create [options] NAME - - Create a project template. - - This will create a new project template with the given options. - - When running this command the -waypoint-hcl-template-path, - -tfc-nocode-module-source, and -tfc-nocode-module-version flags are required. - -` + c.Flags().Help()) -} diff --git a/internal/cli/template_delete.go b/internal/cli/template_delete.go deleted file mode 100644 index b8e43e2c7bd..00000000000 --- a/internal/cli/template_delete.go +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package cli - -import ( - "github.com/posener/complete" - - "github.com/hashicorp/waypoint-plugin-sdk/terminal" - "github.com/hashicorp/waypoint/internal/clierrors" - "github.com/hashicorp/waypoint/internal/pkg/flag" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type ProjectTemplateDeleteCommand struct { - *baseCommand - - flagID string -} - -func (c *ProjectTemplateDeleteCommand) Run(args []string) int { - flagSet := c.Flags() - if err := c.Init( - WithArgs(args), - WithFlags(flagSet), - WithNoConfig(), - ); err != nil { - return 1 - } - args = flagSet.Args() - ctx := c.Ctx - - if len(args) > 1 { - c.ui.Output("Only one project template may be specified at a time.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - name := "" - if len(args) == 1 { - name = args[0] - } - - if name != "" && c.flagID != "" { - c.ui.Output("Name argument and id flag may not be specified together.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if name == "" && c.flagID == "" { - c.ui.Output("Missing project template name or id.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - var tref pb.Ref_ProjectTemplate - if name != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Name{ - Name: name, - } - } - if c.flagID != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Id{ - Id: c.flagID, - } - name = c.flagID - } - - _, err := c.project.Client().DeleteProjectTemplate(ctx, &pb.DeleteProjectTemplateRequest{ - ProjectTemplate: &tref, - }) - if err != nil { - c.ui.Output("Encountered an error while deleting the project template: %s", clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - c.ui.Output("Template %q deleted", name, terminal.WithSuccessStyle()) - - return 0 -} - -func (c *ProjectTemplateDeleteCommand) Flags() *flag.Sets { - return c.flagSet(0, func(sets *flag.Sets) { - f := sets.NewSet("Command Options") - - f.StringVar(&flag.StringVar{ - Name: "id", - Target: &c.flagID, - Default: "", - Usage: "Id of the project template to delete. Mutually exclusive with Name argument.", - }) - }) -} - -func (c *ProjectTemplateDeleteCommand) AutocompleteArgs() complete.Predictor { - return complete.PredictNothing -} - -func (c *ProjectTemplateDeleteCommand) AutocompleteFlags() complete.Flags { - return c.Flags().Completions() -} - -func (c *ProjectTemplateDeleteCommand) Synopsis() string { - return "Delete a project template." -} - -func (c *ProjectTemplateDeleteCommand) Help() string { - return formatHelp(` -Usage: waypoint template delete [options] [NAME] - - Delete a project template. - - This will delete a project template with a given name or id. - - Deleting a project template only deletes the template and does not delete the - projects which have been created from the project template. To delete - projects created from project templates, the Terraform workspace will need to - be cleaned up in addition to deleting the project within Waypoint using - "waypoint project destroy". - -` + c.Flags().Help()) -} diff --git a/internal/cli/template_inspect.go b/internal/cli/template_inspect.go deleted file mode 100644 index 022f009c5e3..00000000000 --- a/internal/cli/template_inspect.go +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package cli - -import ( - "fmt" - "strings" - - "github.com/olekukonko/tablewriter" - "github.com/posener/complete" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/encoding/protojson" - - "github.com/hashicorp/waypoint-plugin-sdk/terminal" - "github.com/hashicorp/waypoint/internal/clierrors" - "github.com/hashicorp/waypoint/internal/pkg/flag" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type ProjectTemplateInspectCommand struct { - *baseCommand - - flagJson bool - - flagID string -} - -func (c *ProjectTemplateInspectCommand) Run(args []string) int { - flagSet := c.Flags() - if err := c.Init( - WithArgs(args), - WithFlags(flagSet), - WithNoConfig(), - ); err != nil { - return 1 - } - args = flagSet.Args() - ctx := c.Ctx - - if len(args) > 1 { - c.ui.Output("Only one project template may be specified at a time.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - name := "" - if len(args) == 1 { - name = args[0] - } - - if name != "" && c.flagID != "" { - c.ui.Output("Name argument and id flag may not be specified together.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if name == "" && c.flagID == "" { - c.ui.Output("Missing project template name or id.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - out, _, err := c.ui.OutputWriters() - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - var tref pb.Ref_ProjectTemplate - if name != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Name{ - Name: name, - } - } - if c.flagID != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Id{ - Id: c.flagID, - } - name = c.flagID - } - - tr, err := c.project.Client().GetProjectTemplate(ctx, &pb.GetProjectTemplateRequest{ - ProjectTemplate: &tref, - }) - if err != nil { - errMsg := clierrors.Humanize(err) - if status.Code(err) == codes.NotFound || tr.ProjectTemplate == nil { - errMsg = fmt.Sprintf("Project template %q does not exist", name) - } - c.ui.Output(errMsg, terminal.WithErrorStyle()) - return 1 - } - template := tr.ProjectTemplate - - if c.flagJson { - data, err := protojson.MarshalOptions{ - Indent: "\t", - }.Marshal(template) - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - c.ui.Output(string(data)) - return 0 - } - - table := tablewriter.NewWriter(out) - table.SetHeader([]string{ - "ID", - "Name", - "Summary", - "Terraform Module", - "Terraform Module Version", - "Tags", - }) - table.SetBorder(false) - - table.Rich([]string{ - template.Id, - template.Name, - template.Summary, - template.TerraformNocodeModule.Source, - template.TerraformNocodeModule.Version, - strings.Join(template.Tags, ", "), - }, []tablewriter.Colors{ - {}, - {}, - {}, - {}, - {}, - }) - - table.Render() - - return 0 -} - -func (c *ProjectTemplateInspectCommand) Flags() *flag.Sets { - return c.flagSet(0, func(sets *flag.Sets) { - f := sets.NewSet("Command Options") - - f.BoolVar(&flag.BoolVar{ - Name: "json", - Target: &c.flagJson, - Usage: "Output project information as JSON.", - }) - - f.StringVar(&flag.StringVar{ - Name: "id", - Target: &c.flagID, - Default: "", - Usage: "Id of project template. Mutually exclusive with name argument.", - }) - }) - -} - -func (c *ProjectTemplateInspectCommand) AutocompleteArgs() complete.Predictor { - return complete.PredictNothing -} - -func (c *ProjectTemplateInspectCommand) AutocompleteFlags() complete.Flags { - return c.Flags().Completions() -} - -func (c *ProjectTemplateInspectCommand) Synopsis() string { - return "View a single project template" -} - -func (c *ProjectTemplateInspectCommand) Help() string { - return formatHelp(` -Usage: waypoint template inspect [options] [NAME] - - Show detailed information for a single project template given a name or ID. - -` + c.Flags().Help()) -} diff --git a/internal/cli/template_list.go b/internal/cli/template_list.go deleted file mode 100644 index e09bbb14aa9..00000000000 --- a/internal/cli/template_list.go +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package cli - -import ( - "strings" - - "github.com/olekukonko/tablewriter" - "github.com/posener/complete" - - "github.com/hashicorp/waypoint-plugin-sdk/terminal" - "github.com/hashicorp/waypoint/internal/clierrors" - "github.com/hashicorp/waypoint/internal/pkg/flag" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type ProjectTemplateListCommand struct { - *baseCommand -} - -func (c *ProjectTemplateListCommand) Run(args []string) int { - if err := c.Init( - WithArgs(args), - WithFlags(c.Flags()), - WithNoConfig(), - ); err != nil { - return 1 - } - ctx := c.Ctx - - out, _, err := c.ui.OutputWriters() - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - ptr, err := c.project.Client().ListProjectTemplates(ctx, &pb.ListProjectTemplatesRequest{}) - if err != nil { - c.ui.Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - templates := ptr.ProjectTemplates - - if len(templates) == 0 { - c.ui.Output("No project templates found.") - return 0 - } - - table := tablewriter.NewWriter(out) - table.SetHeader([]string{"Name", "Summary", "Terraform Module", "Terraform Module Version", "Tags"}) - table.SetBorder(false) - - for _, template := range templates { - table.Rich([]string{ - template.Name, - template.Summary, - template.TerraformNocodeModule.Source, - template.TerraformNocodeModule.Version, - strings.Join(template.Tags, ", "), - }, []tablewriter.Colors{ - {}, - {}, - {}, - {}, - {}, - }) - } - - table.Render() - - return 0 -} - -func (c *ProjectTemplateListCommand) Flags() *flag.Sets { - return c.flagSet(0, nil) -} - -func (c *ProjectTemplateListCommand) AutocompleteArgs() complete.Predictor { - return complete.PredictNothing -} - -func (c *ProjectTemplateListCommand) AutocompleteFlags() complete.Flags { - return c.Flags().Completions() -} - -func (c *ProjectTemplateListCommand) Synopsis() string { - return "List all project templates" -} - -func (c *ProjectTemplateListCommand) Help() string { - return formatHelp(` -Usage: waypoint template list [options] - - Lists all project templates stored on the Waypoint server. - -` + c.Flags().Help()) -} diff --git a/internal/cli/template_update.go b/internal/cli/template_update.go deleted file mode 100644 index ea5d86b17e0..00000000000 --- a/internal/cli/template_update.go +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package cli - -import ( - "fmt" - "os" - - "github.com/posener/complete" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/hashicorp/waypoint-plugin-sdk/terminal" - "github.com/hashicorp/waypoint/internal/clierrors" - "github.com/hashicorp/waypoint/internal/pkg/flag" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type ProjectTemplateUpdateCommand struct { - *baseCommand - - flagID string - flagName string - - flagSummary string - flagExpandedSummary string - flagReadmeMarkdownTemplatePath string - flagWaypointHCLTemplatePath string - flagTFCNoCodeModuleSource string - flagTFCNoCodeModuleVersion string - flagTags []string -} - -func (c *ProjectTemplateUpdateCommand) Run(args []string) int { - if err := c.Init( - WithArgs(args), - WithFlags(c.Flags()), - WithNoConfig(), - ); err != nil { - return 1 - } - ctx := c.Ctx - - if c.flagID == "" && c.flagName == "" { - c.ui.Output("Missing project template name or id.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - - name := "" - var tref pb.Ref_ProjectTemplate - // First look up template by name - if c.flagName != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Name{ - Name: c.flagName, - } - name = c.flagName - } - // Always use ID if specified - if c.flagID != "" { - tref.Ref = &pb.Ref_ProjectTemplate_Id{ - Id: c.flagID, - } - name = c.flagID - } - - checkResp, err := c.project.Client().GetProjectTemplate(ctx, &pb.GetProjectTemplateRequest{ - ProjectTemplate: &tref, - }) - if err != nil { - errMsg := clierrors.Humanize(err) - if status.Code(err) == codes.NotFound || checkResp.ProjectTemplate == nil { - errMsg = fmt.Sprintf("Project template %q does not exist", checkResp.ProjectTemplate.Name) - } - c.ui.Output(errMsg, terminal.WithErrorStyle()) - return 1 - } - - template := checkResp.ProjectTemplate - - template.Name = name - if c.flagSummary != "" { - template.Summary = c.flagSummary - } - if c.flagExpandedSummary != "" { - template.ExpandedSummary = c.flagExpandedSummary - } - - if c.flagReadmeMarkdownTemplatePath != "" { - rmt, err := os.ReadFile(c.flagReadmeMarkdownTemplatePath) - if err != nil { - errMsg := "Unable to read readme.md template file: %s" - if err == os.ErrNotExist { - errMsg = "Readme template file does not exist: %s" - } - - c.ui.Output(errMsg, clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - template.ReadmeMarkdownTemplate = rmt - } - - if c.flagWaypointHCLTemplatePath != "" { - wpt, err := os.ReadFile(c.flagWaypointHCLTemplatePath) - if err != nil { - errMsg := "Unable to read waypoint.hcl template file: %s" - if err == os.ErrNotExist { - errMsg = "Waypoint.hcl template file does not exist: %s" - } - - c.ui.Output(errMsg, clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - template.WaypointProject = &pb.ProjectTemplate_WaypointProject{ - WaypointHclTemplate: wpt, - } - } - - if c.flagTFCNoCodeModuleSource != "" && c.flagTFCNoCodeModuleVersion == "" { - c.ui.Output("Terraform no code module version required.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if c.flagTFCNoCodeModuleSource == "" && c.flagTFCNoCodeModuleVersion != "" { - c.ui.Output("Terraform no code module source required.\n\n"+c.Help(), terminal.WithErrorStyle()) - return 1 - } - if c.flagTFCNoCodeModuleSource != "" && c.flagTFCNoCodeModuleVersion != "" { - template.TerraformNocodeModule = &pb.ProjectTemplate_TerraformNocodeModule{ - Source: c.flagTFCNoCodeModuleSource, - Version: c.flagTFCNoCodeModuleVersion, - } - } - - template.Tags = c.flagTags - - _, err = c.project.Client().UpdateProjectTemplate(ctx, &pb.UpdateProjectTemplateRequest{ - ProjectTemplate: template, - }) - if err != nil { - c.ui.Output("Error updating project template: %s", clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } - - c.ui.Output("template updated!") - - return 0 -} - -func (c *ProjectTemplateUpdateCommand) Flags() *flag.Sets { - return c.flagSet(0, func(sets *flag.Sets) { - f := sets.NewSet("Command Options") - - f.StringVar(&flag.StringVar{ - Name: "name", - Target: &c.flagName, - Default: "", - Usage: "Name of project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "id", - Target: &c.flagID, - Default: "", - Usage: "Id of project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "summary", - Target: &c.flagSummary, - Default: "", - Usage: "Summary for the project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "expanded-summary", - Target: &c.flagExpandedSummary, - Default: "", - Usage: "Expanded Summary for the project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "readme-markdown-template-path", - Target: &c.flagReadmeMarkdownTemplatePath, - Default: "", - Usage: "Path to a markdown readme template for projects created from a project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "waypoint-hcl-template-path", - Target: &c.flagWaypointHCLTemplatePath, - Default: "", - Usage: "Path to a templated waypoint.hcl file for projects created from a project template", - }) - - f.StringVar(&flag.StringVar{ - Name: "tfc-nocode-module-source", - Target: &c.flagTFCNoCodeModuleSource, - Default: "", - Usage: "The name of the Terraform no-code module from a Terraform registry that the template should use to provision infrastructure for Waypoint projects created from the template", - }) - - f.StringVar(&flag.StringVar{ - Name: "tfc-nocode-module-version", - Target: &c.flagTFCNoCodeModuleVersion, - Default: "", - Usage: "The version of the Terraform no-code module from a Terraform registry that the template should use to provision infrastructure for Waypoint projects created from the template", - }) - - f.StringSliceVar(&flag.StringSliceVar{ - Name: "tag", - Target: &c.flagTags, - Usage: "A tag to add to the project template", - }) - }) -} - -func (c *ProjectTemplateUpdateCommand) AutocompleteArgs() complete.Predictor { - return complete.PredictNothing -} - -func (c *ProjectTemplateUpdateCommand) AutocompleteFlags() complete.Flags { - return c.Flags().Completions() -} - -func (c *ProjectTemplateUpdateCommand) Synopsis() string { - return "Update a project template." -} - -func (c *ProjectTemplateUpdateCommand) Help() string { - return formatHelp(` -Usage: waypoint template create [options] - - Update a project template. - - This will update an existing project template with the given options. - -` + c.Flags().Help()) -} diff --git a/internal/cli/token.go b/internal/cli/token.go index 50617682005..479ed6f3f51 100644 --- a/internal/cli/token.go +++ b/internal/cli/token.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/trigger_apply.go b/internal/cli/trigger_apply.go index f93bb4eb9d0..1aac2805db3 100644 --- a/internal/cli/trigger_apply.go +++ b/internal/cli/trigger_apply.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/trigger_delete.go b/internal/cli/trigger_delete.go index 2afb5fac388..e4b0261f69d 100644 --- a/internal/cli/trigger_delete.go +++ b/internal/cli/trigger_delete.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/trigger_inspect.go b/internal/cli/trigger_inspect.go index fec2abdc155..82ebef7e5ee 100644 --- a/internal/cli/trigger_inspect.go +++ b/internal/cli/trigger_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/trigger_list.go b/internal/cli/trigger_list.go index e7d148099e6..4440a077350 100644 --- a/internal/cli/trigger_list.go +++ b/internal/cli/trigger_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/ui.go b/internal/cli/ui.go index 3b24030aa68..66f5a3e4335 100644 --- a/internal/cli/ui.go +++ b/internal/cli/ui.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/uninstall.go b/internal/cli/uninstall.go index bc0c19a7257..a76777f4bb8 100644 --- a/internal/cli/uninstall.go +++ b/internal/cli/uninstall.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/up.go b/internal/cli/up.go index d8d1f9047fa..96527d04191 100644 --- a/internal/cli/up.go +++ b/internal/cli/up.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/user_inspect.go b/internal/cli/user_inspect.go index 173cbfe86b0..11aa27b4dcf 100644 --- a/internal/cli/user_inspect.go +++ b/internal/cli/user_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/user_invite.go b/internal/cli/user_invite.go index be4d14190d2..90472aab75f 100644 --- a/internal/cli/user_invite.go +++ b/internal/cli/user_invite.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/user_modify.go b/internal/cli/user_modify.go index 6c60a70c5c8..f5cc6c71c3e 100644 --- a/internal/cli/user_modify.go +++ b/internal/cli/user_modify.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/user_token.go b/internal/cli/user_token.go index 5619096617a..06a328cc49d 100644 --- a/internal/cli/user_token.go +++ b/internal/cli/user_token.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/version.go b/internal/cli/version.go index 3b6b224bbe0..4a6c858d1e8 100644 --- a/internal/cli/version.go +++ b/internal/cli/version.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/workspace_create.go b/internal/cli/workspace_create.go index 4485018bdd9..5277c92c2b1 100644 --- a/internal/cli/workspace_create.go +++ b/internal/cli/workspace_create.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/workspace_inspect.go b/internal/cli/workspace_inspect.go index 7d9176cedda..206a53d9c22 100644 --- a/internal/cli/workspace_inspect.go +++ b/internal/cli/workspace_inspect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/cli/workspace_list.go b/internal/cli/workspace_list.go index 9a0ee3cf200..8d358c4e4ff 100644 --- a/internal/cli/workspace_list.go +++ b/internal/cli/workspace_list.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cli import ( diff --git a/internal/clicontext/config.go b/internal/clicontext/config.go index 036863aaa49..531eddb81cb 100644 --- a/internal/clicontext/config.go +++ b/internal/clicontext/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clicontext import ( diff --git a/internal/clicontext/config_test.go b/internal/clicontext/config_test.go index 14e49ac3270..ca8764dbf94 100644 --- a/internal/clicontext/config_test.go +++ b/internal/clicontext/config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clicontext import ( diff --git a/internal/clicontext/storage.go b/internal/clicontext/storage.go index 1496a8f7c89..7b1c176f419 100644 --- a/internal/clicontext/storage.go +++ b/internal/clicontext/storage.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clicontext import ( diff --git a/internal/clicontext/storage_test.go b/internal/clicontext/storage_test.go index a82e70d6bf8..71e7300a4e7 100644 --- a/internal/clicontext/storage_test.go +++ b/internal/clicontext/storage_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clicontext import ( diff --git a/internal/clicontext/testing.go b/internal/clicontext/testing.go index 8b1a1fe2b78..032a535ae52 100644 --- a/internal/clicontext/testing.go +++ b/internal/clicontext/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clicontext import ( diff --git a/internal/client/app.go b/internal/client/app.go index b84dd1773bc..7e9e0f887ad 100644 --- a/internal/client/app.go +++ b/internal/client/app.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/doc.go b/internal/client/doc.go index c12a0ded14c..73713ccfbbc 100644 --- a/internal/client/doc.go +++ b/internal/client/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package client contains the Waypoint client implementation. // // The Waypoint client exposes a slightly higher level of abstraction diff --git a/internal/client/job.go b/internal/client/job.go index 3f9ee863f1d..623ecf93ba4 100644 --- a/internal/client/job.go +++ b/internal/client/job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/job_test.go b/internal/client/job_test.go index 16e30c1e364..78fb1696e4e 100644 --- a/internal/client/job_test.go +++ b/internal/client/job_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/noop.go b/internal/client/noop.go index 8a16f2b18c3..3fd432f9797 100644 --- a/internal/client/noop.go +++ b/internal/client/noop.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/noop_test.go b/internal/client/noop_test.go index 909d8830bbb..5c266b464b1 100644 --- a/internal/client/noop_test.go +++ b/internal/client/noop_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/operation.go b/internal/client/operation.go index 1d81736ddb7..6b693eca649 100644 --- a/internal/client/operation.go +++ b/internal/client/operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/project.go b/internal/client/project.go index eb4bb2dc9d4..08d6d5b3de2 100644 --- a/internal/client/project.go +++ b/internal/client/project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/runner.go b/internal/client/runner.go index fdf1abc8893..0d2edbc478d 100644 --- a/internal/client/runner.go +++ b/internal/client/runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/runner_test.go b/internal/client/runner_test.go index 2b27ec931b0..b88e3b8cdf3 100644 --- a/internal/client/runner_test.go +++ b/internal/client/runner_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/server.go b/internal/client/server.go index 258ee11d422..a3a81fb4b32 100644 --- a/internal/client/server.go +++ b/internal/client/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/client/testing.go b/internal/client/testing.go index 1159e48acb7..d341c5a084e 100644 --- a/internal/client/testing.go +++ b/internal/client/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client import ( diff --git a/internal/clierrors/detect.go b/internal/clierrors/detect.go index 34c58ece7e7..e717f793978 100644 --- a/internal/clierrors/detect.go +++ b/internal/clierrors/detect.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clierrors import ( diff --git a/internal/clierrors/detect_test.go b/internal/clierrors/detect_test.go index b35ac724e62..a918464db6c 100644 --- a/internal/clierrors/detect_test.go +++ b/internal/clierrors/detect_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clierrors import ( diff --git a/internal/clierrors/humanize.go b/internal/clierrors/humanize.go index 6667f7b87a8..414351dcd62 100644 --- a/internal/clierrors/humanize.go +++ b/internal/clierrors/humanize.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clierrors import ( diff --git a/internal/cliformat/format.go b/internal/cliformat/format.go index 94107536b26..b4978048c07 100644 --- a/internal/cliformat/format.go +++ b/internal/cliformat/format.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cliformat import ( diff --git a/internal/clisnapshot/snapshot.go b/internal/clisnapshot/snapshot.go index 360b54aa2a5..4f0d9d53aa2 100644 --- a/internal/clisnapshot/snapshot.go +++ b/internal/clisnapshot/snapshot.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package clisnapshot provides access for our CLI commands to create and // restore snapshots package clisnapshot diff --git a/internal/clisnapshot/snapshot_test.go b/internal/clisnapshot/snapshot_test.go index 50d3ecb4208..f73755976cd 100644 --- a/internal/clisnapshot/snapshot_test.go +++ b/internal/clisnapshot/snapshot_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package clisnapshot import ( diff --git a/internal/config/app.go b/internal/config/app.go index a638e32dcf8..27c7b57debc 100644 --- a/internal/config/app.go +++ b/internal/config/app.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/app_config.go b/internal/config/app_config.go index 39254a0708d..0799b7e1394 100644 --- a/internal/config/app_config.go +++ b/internal/config/app_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/app_config_sort.go b/internal/config/app_config_sort.go index b1d89469765..ca7eb6ccdea 100644 --- a/internal/config/app_config_sort.go +++ b/internal/config/app_config_sort.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/app_config_sort_test.go b/internal/config/app_config_sort_test.go index c32908936a2..7c053b9b32c 100644 --- a/internal/config/app_config_sort_test.go +++ b/internal/config/app_config_sort_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/app_config_test.go b/internal/config/app_config_test.go index 620493ebc17..10c8f81f730 100644 --- a/internal/config/app_config_test.go +++ b/internal/config/app_config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/app_test.go b/internal/config/app_test.go index 95ed737dfb6..57dbee6e134 100644 --- a/internal/config/app_test.go +++ b/internal/config/app_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/config.go b/internal/config/config.go index b62d718a129..2bd66ae4d48 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 1c554905f43..bdd68c2a225 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/dynamic/func.go b/internal/config/dynamic/func.go index 2a456aeeb36..71aa5181246 100644 --- a/internal/config/dynamic/func.go +++ b/internal/config/dynamic/func.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package dynamic contains the HCL function, types, and logic for // implementing dynamic config sourcing HCL configuration. This // doesn't implement the actual logic behind configuration fetching diff --git a/internal/config/eval_context.go b/internal/config/eval_context.go index 7787c99f0cb..05c8c8fe505 100644 --- a/internal/config/eval_context.go +++ b/internal/config/eval_context.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/fmt_test.go b/internal/config/fmt_test.go index 76332aeb1ec..a17fdee0343 100644 --- a/internal/config/fmt_test.go +++ b/internal/config/fmt_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/operation.go b/internal/config/operation.go index 53f0fc0b6f0..d98e6d5d55d 100644 --- a/internal/config/operation.go +++ b/internal/config/operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/path.go b/internal/config/path.go index 562d04cc615..c441a82d617 100644 --- a/internal/config/path.go +++ b/internal/config/path.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/pipeline.go b/internal/config/pipeline.go index 96525c045ea..26c7f79bfe2 100644 --- a/internal/config/pipeline.go +++ b/internal/config/pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/pipeline_test.go b/internal/config/pipeline_test.go index f1fa17e2358..7508eec977c 100644 --- a/internal/config/pipeline_test.go +++ b/internal/config/pipeline_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/plugin.go b/internal/config/plugin.go index 20d046c7984..980f3709af1 100644 --- a/internal/config/plugin.go +++ b/internal/config/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/plugin_test.go b/internal/config/plugin_test.go index a108fc54c04..29aa3f96aa2 100644 --- a/internal/config/plugin_test.go +++ b/internal/config/plugin_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/plugin_use.go b/internal/config/plugin_use.go index b0e34e7ae2f..cfb4ca3b718 100644 --- a/internal/config/plugin_use.go +++ b/internal/config/plugin_use.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/stages.go b/internal/config/stages.go index 288cc19f120..c2561e779f9 100644 --- a/internal/config/stages.go +++ b/internal/config/stages.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/testing.go b/internal/config/testing.go index 29084a9419c..1206eb7bd07 100644 --- a/internal/config/testing.go +++ b/internal/config/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/validate.go b/internal/config/validate.go index 285264e165d..cae1423f86a 100644 --- a/internal/config/validate.go +++ b/internal/config/validate.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/validate_test.go b/internal/config/validate_test.go index 87da45627d2..e457a2752f8 100644 --- a/internal/config/validate_test.go +++ b/internal/config/validate_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/internal/config/variables/formatter/formatter.go b/internal/config/variables/formatter/formatter.go index 8b36aeae0d6..6f95d71209b 100644 --- a/internal/config/variables/formatter/formatter.go +++ b/internal/config/variables/formatter/formatter.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package formatter import ( diff --git a/internal/config/variables/variables.go b/internal/config/variables/variables.go index 64eacace46a..7fcfbba33e2 100644 --- a/internal/config/variables/variables.go +++ b/internal/config/variables/variables.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package variables import ( diff --git a/internal/config/variables/variables_test.go b/internal/config/variables/variables_test.go index 329be35ca0a..4d8f4516fc5 100644 --- a/internal/config/variables/variables_test.go +++ b/internal/config/variables/variables_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package variables import ( diff --git a/internal/core/app.go b/internal/core/app.go index ffea2245e01..7de2c8c8a54 100644 --- a/internal/core/app.go +++ b/internal/core/app.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_authenticate.go b/internal/core/app_authenticate.go index d35ba24311d..a9362e10ac4 100644 --- a/internal/core/app_authenticate.go +++ b/internal/core/app_authenticate.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_authenticate_test.go b/internal/core/app_authenticate_test.go index a49db68c6e5..1edd5b400db 100644 --- a/internal/core/app_authenticate_test.go +++ b/internal/core/app_authenticate_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_build.go b/internal/core/app_build.go index 742d0ca3f5c..51f55e1f891 100644 --- a/internal/core/app_build.go +++ b/internal/core/app_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_build_test.go b/internal/core/app_build_test.go index 27f49af5e0e..33c9e839f1e 100644 --- a/internal/core/app_build_test.go +++ b/internal/core/app_build_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_config.go b/internal/core/app_config.go index f20ec11b278..74a671b2a2d 100644 --- a/internal/core/app_config.go +++ b/internal/core/app_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_deploy.go b/internal/core/app_deploy.go index 195df8bc991..9d0bc9a10ea 100644 --- a/internal/core/app_deploy.go +++ b/internal/core/app_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_deploy_destroy.go b/internal/core/app_deploy_destroy.go index 5a8b378461f..1dcad1db1f8 100644 --- a/internal/core/app_deploy_destroy.go +++ b/internal/core/app_deploy_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_deploy_destroy_test.go b/internal/core/app_deploy_destroy_test.go index 02d7560efc6..6a200e32e5f 100644 --- a/internal/core/app_deploy_destroy_test.go +++ b/internal/core/app_deploy_destroy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_deploy_test.go b/internal/core/app_deploy_test.go index 86029db5f8c..24bb7b67ee5 100644 --- a/internal/core/app_deploy_test.go +++ b/internal/core/app_deploy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_destroy.go b/internal/core/app_destroy.go index d0dc0c7a6d9..cb2e63469fb 100644 --- a/internal/core/app_destroy.go +++ b/internal/core/app_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_exec.go b/internal/core/app_exec.go index f6b8a094e61..a3d8100a538 100644 --- a/internal/core/app_exec.go +++ b/internal/core/app_exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_exec_test.go b/internal/core/app_exec_test.go index c08138481c1..a99da7982aa 100644 --- a/internal/core/app_exec_test.go +++ b/internal/core/app_exec_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_logs.go b/internal/core/app_logs.go index d5d39f93827..b9440721ac9 100644 --- a/internal/core/app_logs.go +++ b/internal/core/app_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_push.go b/internal/core/app_push.go index 34461272ca3..e6efd5783c3 100644 --- a/internal/core/app_push.go +++ b/internal/core/app_push.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_release.go b/internal/core/app_release.go index 12296de3c37..d99028e5b1e 100644 --- a/internal/core/app_release.go +++ b/internal/core/app_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_release_destroy.go b/internal/core/app_release_destroy.go index a0143bfca3b..c4963e18883 100644 --- a/internal/core/app_release_destroy.go +++ b/internal/core/app_release_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_release_destroy_test.go b/internal/core/app_release_destroy_test.go index 37656dd4009..53d58de4a21 100644 --- a/internal/core/app_release_destroy_test.go +++ b/internal/core/app_release_destroy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_status_report.go b/internal/core/app_status_report.go index 90fef7eaef1..878d32d757b 100644 --- a/internal/core/app_status_report.go +++ b/internal/core/app_status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/app_status_report_test.go b/internal/core/app_status_report_test.go index 3b28bebc6e2..b86a76f9414 100644 --- a/internal/core/app_status_report_test.go +++ b/internal/core/app_status_report_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/component_creator.go b/internal/core/component_creator.go index 45558f15782..493735b5690 100644 --- a/internal/core/component_creator.go +++ b/internal/core/component_creator.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/doc.go b/internal/core/doc.go index ef0da338691..bcaca216373 100644 --- a/internal/core/doc.go +++ b/internal/core/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package core exposes a high-level API for the expected operations of // the project. This can be consumed by the CLI, web APIs, etc. This is the // safest set of APIs to use. diff --git a/internal/core/eval_context.go b/internal/core/eval_context.go index 73fc77f4794..760fdb26cab 100644 --- a/internal/core/eval_context.go +++ b/internal/core/eval_context.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/hook.go b/internal/core/hook.go index 777034c82bd..97af6e37d1e 100644 --- a/internal/core/hook.go +++ b/internal/core/hook.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/labels.go b/internal/core/labels.go index 8edd418e8a4..41d333e56e4 100644 --- a/internal/core/labels.go +++ b/internal/core/labels.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/operation.go b/internal/core/operation.go index 2d39cfedc26..1cfaaaed721 100644 --- a/internal/core/operation.go +++ b/internal/core/operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/pipeline.go b/internal/core/pipeline.go index 25b724c307a..b67fb52f843 100644 --- a/internal/core/pipeline.go +++ b/internal/core/pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/pipeline_config.go b/internal/core/pipeline_config.go index 95da7f81b48..773c841808d 100644 --- a/internal/core/pipeline_config.go +++ b/internal/core/pipeline_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/project.go b/internal/core/project.go index 58c45e8907c..17be51c5998 100644 --- a/internal/core/project.go +++ b/internal/core/project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/project_test.go b/internal/core/project_test.go index 681d0f8a318..e9183f89d51 100644 --- a/internal/core/project_test.go +++ b/internal/core/project_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/testing_app.go b/internal/core/testing_app.go index e39838c3f2d..d28d7b1f976 100644 --- a/internal/core/testing_app.go +++ b/internal/core/testing_app.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/core/testing_project.go b/internal/core/testing_project.go index 45a361e2c15..b30ce8900c2 100644 --- a/internal/core/testing_project.go +++ b/internal/core/testing_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package core import ( diff --git a/internal/datasource/datasource.go b/internal/datasource/datasource.go index c0457563911..515cab39776 100644 --- a/internal/datasource/datasource.go +++ b/internal/datasource/datasource.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package datasource has the packages and logic that Waypoint uses // for sourcing data for remote runs. package datasource diff --git a/internal/datasource/git.go b/internal/datasource/git.go index 5d74882df79..101dd073132 100644 --- a/internal/datasource/git.go +++ b/internal/datasource/git.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package datasource import ( diff --git a/internal/datasource/git_test.go b/internal/datasource/git_test.go index b57b4dc32c5..6c7e37ad4c2 100644 --- a/internal/datasource/git_test.go +++ b/internal/datasource/git_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package datasource import ( diff --git a/internal/datasource/local.go b/internal/datasource/local.go index cac5002a529..23cda71e9c3 100644 --- a/internal/datasource/local.go +++ b/internal/datasource/local.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package datasource import ( diff --git a/internal/env/env.go b/internal/env/env.go index c9735f5d3a8..f53f5a3654f 100644 --- a/internal/env/env.go +++ b/internal/env/env.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package env import ( diff --git a/internal/env/env_test.go b/internal/env/env_test.go index d000dcbdbf5..14ea8858494 100644 --- a/internal/env/env_test.go +++ b/internal/env/env_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package env import ( diff --git a/internal/factory/factory.go b/internal/factory/factory.go index 9c1c6ec30f5..fead21dca55 100644 --- a/internal/factory/factory.go +++ b/internal/factory/factory.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package factory contains a "factory" pattern based on argmapper. // // A Factory can be used to register factory methods to create some predefined diff --git a/internal/factory/factory_test.go b/internal/factory/factory_test.go index e419ebdaeaa..e85739bde35 100644 --- a/internal/factory/factory_test.go +++ b/internal/factory/factory_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package factory import ( diff --git a/internal/installutil/adoption.go b/internal/installutil/adoption.go index 053e12a80a9..0dc28b90732 100644 --- a/internal/installutil/adoption.go +++ b/internal/installutil/adoption.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package installutil import ( diff --git a/internal/installutil/aws/ecs.go b/internal/installutil/aws/ecs.go index 5bcd780e5c2..fc465b3c6c7 100644 --- a/internal/installutil/aws/ecs.go +++ b/internal/installutil/aws/ecs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package aws import ( diff --git a/internal/installutil/helm/helm.go b/internal/installutil/helm/helm.go index dfd5fdffb51..2e3aaddd63d 100644 --- a/internal/installutil/helm/helm.go +++ b/internal/installutil/helm/helm.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package helm import ( @@ -11,6 +8,7 @@ import ( "github.com/google/go-github/github" "github.com/hashicorp/go-hclog" + "github.com/hashicorp/waypoint/builtin/k8s" "helm.sh/helm/v3/pkg/action" "helm.sh/helm/v3/pkg/chart" "helm.sh/helm/v3/pkg/chart/loader" @@ -22,8 +20,6 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/restmapper" "k8s.io/client-go/tools/clientcmd" - - "github.com/hashicorp/waypoint/builtin/k8s" ) // restClientGetter is a RESTClientGetter interface implementation for the diff --git a/internal/installutil/k8s/k8s.go b/internal/installutil/k8s/k8s.go index 297279f147e..6155366a9b7 100644 --- a/internal/installutil/k8s/k8s.go +++ b/internal/installutil/k8s/k8s.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8s import ( diff --git a/internal/installutil/nomad/nomad.go b/internal/installutil/nomad/nomad.go index 3a7f8fed3df..4111a7113ee 100644 --- a/internal/installutil/nomad/nomad.go +++ b/internal/installutil/nomad/nomad.go @@ -1,16 +1,11 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package nomad import ( "context" "fmt" - "time" - "github.com/hashicorp/nomad/api" - "github.com/hashicorp/waypoint-plugin-sdk/terminal" + "time" ) const ( @@ -32,7 +27,7 @@ type NomadConfig struct { consulServiceUITags []string `hcl:"consul_service_ui_tags:optional"` consulServiceBackendTags []string `hcl:"consul_service_backend_tags:optional"` consulDatacenter string `hcl:"consul_datacenter,optional"` - consulDomain string `hcl:"consul_domain,optional"` + consulDomain string `hcl:"consul_datacenter,optional"` // If set along with consul, will use this hostname instead of // making a consul DNS hostname for the server address in its context @@ -40,7 +35,7 @@ type NomadConfig struct { odrImage string `hcl:"odr_image,optional"` - region string `hcl:"region,optional"` + region string `hcl:"namespace,optional"` datacenters []string `hcl:"datacenters,optional"` policyOverride bool `hcl:"policy_override,optional"` diff --git a/internal/installutil/odr.go b/internal/installutil/odr.go index 72f13ec1484..6b1843d3b07 100644 --- a/internal/installutil/odr.go +++ b/internal/installutil/odr.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package installutil import ( diff --git a/internal/jobstream/doc.go b/internal/jobstream/doc.go index 8bc8689aba8..1e5bd877e01 100644 --- a/internal/jobstream/doc.go +++ b/internal/jobstream/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package jobstream has helpers for working more easily with the GetJobStream // endpoint, such as handling the full lifecycle of GetJobStream to a UI // implementation. diff --git a/internal/jobstream/option.go b/internal/jobstream/option.go index eaadc759cb8..48c93b00a9e 100644 --- a/internal/jobstream/option.go +++ b/internal/jobstream/option.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package jobstream import ( diff --git a/internal/jobstream/stream.go b/internal/jobstream/stream.go index 83d2eb26721..a297b78f824 100644 --- a/internal/jobstream/stream.go +++ b/internal/jobstream/stream.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package jobstream import ( diff --git a/internal/jobstream/test/doc.go b/internal/jobstream/test/doc.go index e1da81f3251..fad103bbff6 100644 --- a/internal/jobstream/test/doc.go +++ b/internal/jobstream/test/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // This package implements some of the tests for the jobstream package. // This has to be in a standalone folder to avoid import cycles that only // exist for the test code. diff --git a/internal/jobstream/test/stream_test.go b/internal/jobstream/test/stream_test.go index cce10f783d0..789d0091849 100644 --- a/internal/jobstream/test/stream_test.go +++ b/internal/jobstream/test/stream_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package jobstream import ( diff --git a/internal/jobstream/ui.go b/internal/jobstream/ui.go index 53b4bf73ba2..3b76cef81b1 100644 --- a/internal/jobstream/ui.go +++ b/internal/jobstream/ui.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package jobstream import ( diff --git a/internal/pkg/cert/cert.go b/internal/pkg/cert/cert.go index 3e954bdb338..f8bb4a467d0 100644 --- a/internal/pkg/cert/cert.go +++ b/internal/pkg/cert/cert.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cert import ( diff --git a/internal/pkg/cert/cert_test.go b/internal/pkg/cert/cert_test.go index b3b8906382d..4a619cc2492 100644 --- a/internal/pkg/cert/cert_test.go +++ b/internal/pkg/cert/cert_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cert import ( diff --git a/internal/pkg/cert/doc.go b/internal/pkg/cert/doc.go index feab92d9cc2..4f25880531c 100644 --- a/internal/pkg/cert/doc.go +++ b/internal/pkg/cert/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package cert has helpers for managing certificates in our services. // // The primary helper is the Cert struct, which manages a single TLS certificate. diff --git a/internal/pkg/cert/testing.go b/internal/pkg/cert/testing.go index 53a815108d2..f5f1a0ea27e 100644 --- a/internal/pkg/cert/testing.go +++ b/internal/pkg/cert/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package cert import ( diff --git a/internal/pkg/circbufsync/circbufsync.go b/internal/pkg/circbufsync/circbufsync.go index a9f28096efd..d1ad5d7cc13 100644 --- a/internal/pkg/circbufsync/circbufsync.go +++ b/internal/pkg/circbufsync/circbufsync.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package circbufsync wraps armon/circbuf to be safe for concurrent // read/write operations. package circbufsync diff --git a/internal/pkg/condctx/condctx.go b/internal/pkg/condctx/condctx.go index 28eb150559a..f408d54bfff 100644 --- a/internal/pkg/condctx/condctx.go +++ b/internal/pkg/condctx/condctx.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package condctx provides helpers for working with condition variables // along with the standard "context" package and interface. package condctx diff --git a/internal/pkg/condctx/condctx_test.go b/internal/pkg/condctx/condctx_test.go index 095d0090098..d41e97d0cc1 100644 --- a/internal/pkg/condctx/condctx_test.go +++ b/internal/pkg/condctx/condctx_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package condctx import ( diff --git a/internal/pkg/copy/copy.go b/internal/pkg/copy/copy.go index 999da71069a..f7228d522bb 100644 --- a/internal/pkg/copy/copy.go +++ b/internal/pkg/copy/copy.go @@ -6,7 +6,6 @@ import ( "io/ioutil" "os" "path/filepath" - "strings" ) // From: https://gist.github.com/m4ng0squ4sh/92462b38df26839a3ca324697c8cba04 @@ -55,30 +54,9 @@ func CopyFile(src, dst string) (err error) { return } -func evalSymlink(src, target string) (string, error) { - srcDir := filepath.Dir(src) - - // Evaluate the target so we can figure out if it's escaping. - if filepath.IsAbs(target) { - target = filepath.Clean(target) - } else { - target = filepath.Join(srcDir, target) - } - - // If the new target isn't under src, then return an error because the - // symlink would escape. - - if !strings.HasPrefix(target, srcDir+string(filepath.Separator)) { - return "", fmt.Errorf("symlink target escapes source source directory") - } - - return target, nil -} - // CopyDir recursively copies a directory tree, attempting to preserve permissions. // Source directory must exist, destination directory must *not* exist. -// Symlinks are resolved and their pointed to contents is copied, not the symlink -// itself. +// Symlinks are ignored and skipped. func CopyDir(src string, dst string) (err error) { src = filepath.Clean(src) dst = filepath.Clean(dst) @@ -120,11 +98,6 @@ func CopyDir(src string, dst string) (err error) { return err } - target, err = evalSymlink(srcPath, target) - if err != nil { - return err - } - entry, err = os.Stat(target) if err != nil { return err diff --git a/internal/pkg/copy/copy_test.go b/internal/pkg/copy/copy_test.go deleted file mode 100644 index bdc6ff15b05..00000000000 --- a/internal/pkg/copy/copy_test.go +++ /dev/null @@ -1,88 +0,0 @@ -package copy - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func TestValidLink(t *testing.T) { - t.Run("normal relative", func(t *testing.T) { - r := require.New(t) - - target, err := evalSymlink("/a/b", "c") - r.NoError(err) - - r.Equal("/a/c", target) - }) - - t.Run("normal upward relative", func(t *testing.T) { - r := require.New(t) - - target, err := evalSymlink("/a/b", "../a/c") - r.NoError(err) - - r.Equal("/a/c", target) - }) - - t.Run("normal relative upward and downward", func(t *testing.T) { - r := require.New(t) - - target, err := evalSymlink("/a/b", "d/../c") - r.NoError(err) - - r.Equal("/a/c", target) - }) - - t.Run("normal absolute", func(t *testing.T) { - r := require.New(t) - - target, err := evalSymlink("/a/b", "/a/c") - r.NoError(err) - - r.Equal("/a/c", target) - }) - - t.Run("invalid relative", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", "../../c") - r.Error(err) - }) - - t.Run("invalid relative root dir", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", ".") - r.Error(err) - }) - - t.Run("invalid absolute", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", "/c") - r.Error(err) - }) - - t.Run("invalid absolute root dir", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", "/a") - r.Error(err) - }) - - t.Run("invalid relative upward and downward", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", "b/../../c") - r.Error(err) - }) - - t.Run("invalid absolute with upward", func(t *testing.T) { - r := require.New(t) - - _, err := evalSymlink("/a/b", "/a/../c") - r.Error(err) - }) - -} diff --git a/internal/pkg/ctystructure/doc.go b/internal/pkg/ctystructure/doc.go index b48ab7ecc09..a0c3986ae3b 100644 --- a/internal/pkg/ctystructure/doc.go +++ b/internal/pkg/ctystructure/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package crystructure helps convert map[string]interface{} values to cty.Values. // // This is useful for dynamically creating variables that may be available diff --git a/internal/pkg/ctystructure/object.go b/internal/pkg/ctystructure/object.go index a59a1b01c2f..82d2c615bfb 100644 --- a/internal/pkg/ctystructure/object.go +++ b/internal/pkg/ctystructure/object.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ctystructure import ( diff --git a/internal/pkg/ctystructure/object_test.go b/internal/pkg/ctystructure/object_test.go index 1a8c791e93d..9e62c626695 100644 --- a/internal/pkg/ctystructure/object_test.go +++ b/internal/pkg/ctystructure/object_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ctystructure import ( diff --git a/internal/pkg/epinject/epinject.go b/internal/pkg/epinject/epinject.go index fb86f0e2605..77cd069a707 100644 --- a/internal/pkg/epinject/epinject.go +++ b/internal/pkg/epinject/epinject.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package epinject import ( diff --git a/internal/pkg/epinject/epinject_test.go b/internal/pkg/epinject/epinject_test.go index d6e91564e6f..05d57b77663 100644 --- a/internal/pkg/epinject/epinject_test.go +++ b/internal/pkg/epinject/epinject_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package epinject import ( diff --git a/internal/pkg/epinject/ociregistry/server.go b/internal/pkg/epinject/ociregistry/server.go index 7ef2ea59af2..136c61c898a 100644 --- a/internal/pkg/epinject/ociregistry/server.go +++ b/internal/pkg/epinject/ociregistry/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ociregistry import ( diff --git a/internal/pkg/epinject/ociregistry/server_test.go b/internal/pkg/epinject/ociregistry/server_test.go index 9c37b58e060..bd7e65ef1e0 100644 --- a/internal/pkg/epinject/ociregistry/server_test.go +++ b/internal/pkg/epinject/ociregistry/server_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ociregistry import ( diff --git a/internal/pkg/finalcontext/finalcontext.go b/internal/pkg/finalcontext/finalcontext.go index 09b614f344b..82fa1c7aba5 100644 --- a/internal/pkg/finalcontext/finalcontext.go +++ b/internal/pkg/finalcontext/finalcontext.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package finalcontext is used by Waypoint to create a "final" context // that we'll use after the real context has been cancelled. This lets us // do some last minute cleanup that may require a context. diff --git a/internal/pkg/flag/doc.go b/internal/pkg/flag/doc.go index af51dfbbb0e..a4a472874f6 100644 --- a/internal/pkg/flag/doc.go +++ b/internal/pkg/flag/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package flag is a thin layer over the stdlib flag package that provides // some minimal features such as aliasing, autocompletion handling, improved // defaults, etc. It was created for mitchellh/cli but can work as a standalone diff --git a/internal/pkg/flag/flag.go b/internal/pkg/flag/flag.go index 9159d8a20ec..c89869e3221 100644 --- a/internal/pkg/flag/flag.go +++ b/internal/pkg/flag/flag.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_bool.go b/internal/pkg/flag/flag_bool.go index f1de265d95a..6240cf2a63f 100644 --- a/internal/pkg/flag/flag_bool.go +++ b/internal/pkg/flag/flag_bool.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_bool_ptr.go b/internal/pkg/flag/flag_bool_ptr.go index 6be64c80c36..f06f1d0daa9 100644 --- a/internal/pkg/flag/flag_bool_ptr.go +++ b/internal/pkg/flag/flag_bool_ptr.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_bool_ptr_test.go b/internal/pkg/flag/flag_bool_ptr_test.go index 64246668dc8..dbf3edeb738 100644 --- a/internal/pkg/flag/flag_bool_ptr_test.go +++ b/internal/pkg/flag/flag_bool_ptr_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_enum.go b/internal/pkg/flag/flag_enum.go index 2c0c21e3cef..90e33069fa2 100644 --- a/internal/pkg/flag/flag_enum.go +++ b/internal/pkg/flag/flag_enum.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_enum_single.go b/internal/pkg/flag/flag_enum_single.go index 5b58ba3ba4c..667f7707bde 100644 --- a/internal/pkg/flag/flag_enum_single.go +++ b/internal/pkg/flag/flag_enum_single.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_float.go b/internal/pkg/flag/flag_float.go index 7ec68e4cda3..0a2f5c994ee 100644 --- a/internal/pkg/flag/flag_float.go +++ b/internal/pkg/flag/flag_float.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_int.go b/internal/pkg/flag/flag_int.go index ba88d61d22d..12e87bef9c1 100644 --- a/internal/pkg/flag/flag_int.go +++ b/internal/pkg/flag/flag_int.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string.go b/internal/pkg/flag/flag_string.go index 14b0776a2c8..ee17a2916d0 100644 --- a/internal/pkg/flag/flag_string.go +++ b/internal/pkg/flag/flag_string.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string_map.go b/internal/pkg/flag/flag_string_map.go index 3057fa8cac6..009b1d7761a 100644 --- a/internal/pkg/flag/flag_string_map.go +++ b/internal/pkg/flag/flag_string_map.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string_ptr.go b/internal/pkg/flag/flag_string_ptr.go index ce083e8c5fa..9ff729a04f2 100644 --- a/internal/pkg/flag/flag_string_ptr.go +++ b/internal/pkg/flag/flag_string_ptr.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string_ptr_test.go b/internal/pkg/flag/flag_string_ptr_test.go index 7b7e48b312a..5a50b8ae39d 100644 --- a/internal/pkg/flag/flag_string_ptr_test.go +++ b/internal/pkg/flag/flag_string_ptr_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string_slice.go b/internal/pkg/flag/flag_string_slice.go index 635586cf9c7..7f27c245a40 100644 --- a/internal/pkg/flag/flag_string_slice.go +++ b/internal/pkg/flag/flag_string_slice.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_string_slice_test.go b/internal/pkg/flag/flag_string_slice_test.go index ab42ceb5b4d..5bea43386f3 100644 --- a/internal/pkg/flag/flag_string_slice_test.go +++ b/internal/pkg/flag/flag_string_slice_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_time.go b/internal/pkg/flag/flag_time.go index 3f54c772937..39562b765dd 100644 --- a/internal/pkg/flag/flag_time.go +++ b/internal/pkg/flag/flag_time.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/flag_var.go b/internal/pkg/flag/flag_var.go index 2cdab6dcd27..7546c517f48 100644 --- a/internal/pkg/flag/flag_var.go +++ b/internal/pkg/flag/flag_var.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/set.go b/internal/pkg/flag/set.go index de81b8da0bf..df44e7031c8 100644 --- a/internal/pkg/flag/set.go +++ b/internal/pkg/flag/set.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/flag/set_test.go b/internal/pkg/flag/set_test.go index c0f8a9da2ed..9bb4ef4a7a5 100644 --- a/internal/pkg/flag/set_test.go +++ b/internal/pkg/flag/set_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package flag import ( diff --git a/internal/pkg/gatedwriter/writer.go b/internal/pkg/gatedwriter/writer.go index 3c5773b54dd..f68e09ca8d3 100644 --- a/internal/pkg/gatedwriter/writer.go +++ b/internal/pkg/gatedwriter/writer.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package gatedwriter import ( diff --git a/internal/pkg/gatedwriter/writer_test.go b/internal/pkg/gatedwriter/writer_test.go index 5b459589e80..6fc67441703 100644 --- a/internal/pkg/gatedwriter/writer_test.go +++ b/internal/pkg/gatedwriter/writer_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package gatedwriter import ( diff --git a/internal/pkg/gitdirty/doc.go b/internal/pkg/gitdirty/doc.go index b54d15c1e97..f99329f9afb 100644 --- a/internal/pkg/gitdirty/doc.go +++ b/internal/pkg/gitdirty/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package gitdirty provides utility functions for inspecting the state of a local git repository. // // Currently, gitdirty executes the `git` command, so git must be installed for it to work. diff --git a/internal/pkg/gitdirty/gitdirty.go b/internal/pkg/gitdirty/gitdirty.go index c2b6adfa2fa..37221409e4f 100644 --- a/internal/pkg/gitdirty/gitdirty.go +++ b/internal/pkg/gitdirty/gitdirty.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package gitdirty import ( diff --git a/internal/pkg/gitdirty/gitdirty_test.go b/internal/pkg/gitdirty/gitdirty_test.go index e4ce91a10c1..0e715a932d2 100644 --- a/internal/pkg/gitdirty/gitdirty_test.go +++ b/internal/pkg/gitdirty/gitdirty_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package gitdirty import ( diff --git a/internal/pkg/graph/dfs.go b/internal/pkg/graph/dfs.go index c4479aae80c..ad061df63f4 100644 --- a/internal/pkg/graph/dfs.go +++ b/internal/pkg/graph/dfs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph type DFSFunc func(Vertex, func() error) error diff --git a/internal/pkg/graph/dijkstra.go b/internal/pkg/graph/dijkstra.go index 70c085d19ca..640a84b2ab8 100644 --- a/internal/pkg/graph/dijkstra.go +++ b/internal/pkg/graph/dijkstra.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import ( diff --git a/internal/pkg/graph/dijkstra_test.go b/internal/pkg/graph/dijkstra_test.go index 68aa51eb462..7a20bb6c477 100644 --- a/internal/pkg/graph/dijkstra_test.go +++ b/internal/pkg/graph/dijkstra_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import ( diff --git a/internal/pkg/graph/graph.go b/internal/pkg/graph/graph.go index 9298d6df3cc..7e1e633b7b7 100644 --- a/internal/pkg/graph/graph.go +++ b/internal/pkg/graph/graph.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import ( diff --git a/internal/pkg/graph/kahn.go b/internal/pkg/graph/kahn.go index 539bf2f73d6..5d5fa4c8600 100644 --- a/internal/pkg/graph/kahn.go +++ b/internal/pkg/graph/kahn.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import "fmt" diff --git a/internal/pkg/graph/path.go b/internal/pkg/graph/path.go index 11df2ba575d..d0167a6e6de 100644 --- a/internal/pkg/graph/path.go +++ b/internal/pkg/graph/path.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph // TopoShortestPath returns the shortest path information given the diff --git a/internal/pkg/graph/path_test.go b/internal/pkg/graph/path_test.go index 2a3d4d742ff..43c534ae5e3 100644 --- a/internal/pkg/graph/path_test.go +++ b/internal/pkg/graph/path_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import ( diff --git a/internal/pkg/graph/tarjan.go b/internal/pkg/graph/tarjan.go index 4f4c614ab42..a13841a6b34 100644 --- a/internal/pkg/graph/tarjan.go +++ b/internal/pkg/graph/tarjan.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph // Cycles returns all the detected cycles. This may not be fully exhaustive diff --git a/internal/pkg/graph/transitive.go b/internal/pkg/graph/transitive.go deleted file mode 100644 index ef3b95bb7be..00000000000 --- a/internal/pkg/graph/transitive.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package graph - -// TransitiveReduction performs a transitive reduction on the graph, effectively -// removing any “shortcuts” from the graph. It performs the reduction *in-place* -// so please call Copy to avoid mutating the original. -func (g *Graph) TransitiveReduction() *Graph { - // Recursive walk function for use later on - var walk func(i Vertex, k Vertex, d int) (int, bool) - walk = func(i Vertex, k Vertex, d int) (int, bool) { - result := d - found := false - - for _, j := range g.OutEdges(i) { - if hashcode(j) == hashcode(k) && d >= result { - result = d + 1 - found = true - continue - } - if dd, ok := walk(j, k, d+1); ok && dd > result { - result = dd - found = true - continue - } - } - return result, found - } - - // Build longest-path matrix - depths := make(map[Vertex]map[Vertex]int) - for _, i := range g.Vertices() { - depths[i] = make(map[Vertex]int) - - for _, j := range g.Vertices() { - if i == j { - continue - } - - if d, ok := walk(i, j, 0); ok { - depths[i][j] = d - } - } - } - - // Remove shortcuts - for _, i := range g.Vertices() { - for _, j := range g.OutEdges(i) { - if depths[i][j] > 1 { - g.RemoveEdge(i, j) - } - } - } - - return g -} diff --git a/internal/pkg/graph/transitive_test.go b/internal/pkg/graph/transitive_test.go deleted file mode 100644 index d979edf4a21..00000000000 --- a/internal/pkg/graph/transitive_test.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package graph - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func TestTransitiveReduction(t *testing.T) { - require := require.New(t) - - var g Graph - - g.Add("A") - g.Add("B") - g.Add("C") - g.Add("D") - g.AddEdge("A", "B") - g.AddEdge("B", "C") - g.AddEdge("C", "D") - g.AddEdge("A", "D") // we expect this edge to be removed - - g.TransitiveReduction() - - require.Equal([]Vertex{"B"}, g.OutEdges("A")) - require.Equal([]Vertex{"C"}, g.OutEdges("B")) - require.Equal([]Vertex{"D"}, g.OutEdges("C")) -} diff --git a/internal/pkg/graph/vertex.go b/internal/pkg/graph/vertex.go index da75c38702c..8b74d03a646 100644 --- a/internal/pkg/graph/vertex.go +++ b/internal/pkg/graph/vertex.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package graph import "fmt" diff --git a/internal/pkg/grpcready/grpcready.go b/internal/pkg/grpcready/grpcready.go index c422db1edb9..e47d7839dd0 100644 --- a/internal/pkg/grpcready/grpcready.go +++ b/internal/pkg/grpcready/grpcready.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package grpcready import ( diff --git a/internal/pkg/httpfs/bindata_test.go b/internal/pkg/httpfs/bindata_test.go index a810589b487..67584c31ccb 100644 --- a/internal/pkg/httpfs/bindata_test.go +++ b/internal/pkg/httpfs/bindata_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package httpfs Code generated by go-bindata. (@generated) DO NOT EDIT. // sources: // testdata/dir/hello.txt diff --git a/internal/pkg/httpfs/copy.go b/internal/pkg/httpfs/copy.go index 8af1e793d05..6d19d0176e4 100644 --- a/internal/pkg/httpfs/copy.go +++ b/internal/pkg/httpfs/copy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpfs import ( @@ -32,13 +29,10 @@ func Copy(fs http.FileSystem, dst, src string) error { if err != nil { return err } - defer dstF.Close() // 2nd call to make sure the file is closed + defer dstF.Close() _, err = io.Copy(dstF, f) - if err != nil { - return err - } - return dstF.Close() // 1st call to surface any errors from close + return err } // Create this directory @@ -72,7 +66,7 @@ func Copy(fs http.FileSystem, dst, src string) error { } } - return f.Close() + return nil } // mode returns the proper mode to use for creating files diff --git a/internal/pkg/httpfs/copy_test.go b/internal/pkg/httpfs/copy_test.go index b14818569ae..f7fb4e022bb 100644 --- a/internal/pkg/httpfs/copy_test.go +++ b/internal/pkg/httpfs/copy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpfs import ( diff --git a/internal/pkg/httpfs/httpfs.go b/internal/pkg/httpfs/httpfs.go index 35f942f0a55..dfcb03a2bf9 100644 --- a/internal/pkg/httpfs/httpfs.go +++ b/internal/pkg/httpfs/httpfs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpfs //go:generate go-bindata -fs -nomemcopy -nometadata -pkg httpfs -o bindata_test.go -prefix testdata/ testdata/... diff --git a/internal/pkg/iosync/iosync.go b/internal/pkg/iosync/iosync.go index 19e7802914e..f5678a21434 100644 --- a/internal/pkg/iosync/iosync.go +++ b/internal/pkg/iosync/iosync.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package iosync provides reader/writer implementations that wrap // operations in a mutex so that concurrent reads and writes are safe. package iosync diff --git a/internal/pkg/k8sauth/doc.go b/internal/pkg/k8sauth/doc.go index 61b4c0ce5e7..02f79ff996d 100644 --- a/internal/pkg/k8sauth/doc.go +++ b/internal/pkg/k8sauth/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package k8sauth has helpers for authenticating to Kubernetes. This // makes it easy to get a clientset, namespace information, etc. for both // in-cluster and out-of-cluster auth. diff --git a/internal/pkg/k8sauth/k8sauth.go b/internal/pkg/k8sauth/k8sauth.go index 803933e7970..cb2c6836ae3 100644 --- a/internal/pkg/k8sauth/k8sauth.go +++ b/internal/pkg/k8sauth/k8sauth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package k8sauth import ( diff --git a/internal/pkg/partial/partial.go b/internal/pkg/partial/partial.go index 65887de9e1f..db0ff3504e3 100644 --- a/internal/pkg/partial/partial.go +++ b/internal/pkg/partial/partial.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package partial import ( diff --git a/internal/pkg/partial/partial_test.go b/internal/pkg/partial/partial_test.go index c0490070d0b..85148b817f9 100644 --- a/internal/pkg/partial/partial_test.go +++ b/internal/pkg/partial/partial_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package partial import ( diff --git a/internal/pkg/signalcontext/signalcontext.go b/internal/pkg/signalcontext/signalcontext.go index bfe8e11eeda..1484a10ad2f 100644 --- a/internal/pkg/signalcontext/signalcontext.go +++ b/internal/pkg/signalcontext/signalcontext.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package signalcontext import ( diff --git a/internal/pkg/validationext/doc.go b/internal/pkg/validationext/doc.go index d7be749e7fa..5398f880d33 100644 --- a/internal/pkg/validationext/doc.go +++ b/internal/pkg/validationext/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package validationext provides helpers to extend the ozzo-validation. // There are two primary goals with this package: (1) to ease validating // deeply nested structures that are common with protobuf-based APIs and diff --git a/internal/pkg/validationext/error.go b/internal/pkg/validationext/error.go index 37774225004..70a203b2ff6 100644 --- a/internal/pkg/validationext/error.go +++ b/internal/pkg/validationext/error.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/error_test.go b/internal/pkg/validationext/error_test.go index 1aedd3ae1a8..180a0130d5f 100644 --- a/internal/pkg/validationext/error_test.go +++ b/internal/pkg/validationext/error_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/map.go b/internal/pkg/validationext/map.go index 6e694449ee1..d32720d154f 100644 --- a/internal/pkg/validationext/map.go +++ b/internal/pkg/validationext/map.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_cidrblock.go b/internal/pkg/validationext/rule_cidrblock.go index aba23e795bb..793d2cfbb51 100644 --- a/internal/pkg/validationext/rule_cidrblock.go +++ b/internal/pkg/validationext/rule_cidrblock.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_cidrblock_test.go b/internal/pkg/validationext/rule_cidrblock_test.go index ea7398a79e4..e815830ed29 100644 --- a/internal/pkg/validationext/rule_cidrblock_test.go +++ b/internal/pkg/validationext/rule_cidrblock_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_duration.go b/internal/pkg/validationext/rule_duration.go index 52580744a75..24544b2f337 100644 --- a/internal/pkg/validationext/rule_duration.go +++ b/internal/pkg/validationext/rule_duration.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_duration_test.go b/internal/pkg/validationext/rule_duration_test.go index 0c72c9f6bc0..1bfdae1273d 100644 --- a/internal/pkg/validationext/rule_duration_test.go +++ b/internal/pkg/validationext/rule_duration_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_version.go b/internal/pkg/validationext/rule_version.go index d000b62fe44..5b46997a912 100644 --- a/internal/pkg/validationext/rule_version.go +++ b/internal/pkg/validationext/rule_version.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/rule_version_test.go b/internal/pkg/validationext/rule_version_test.go index 90d05970624..475136d8e82 100644 --- a/internal/pkg/validationext/rule_version_test.go +++ b/internal/pkg/validationext/rule_version_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/struct.go b/internal/pkg/validationext/struct.go index e4ef0ab9f1d..892da123948 100644 --- a/internal/pkg/validationext/struct.go +++ b/internal/pkg/validationext/struct.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/pkg/validationext/struct_test.go b/internal/pkg/validationext/struct_test.go index b3a641b9bd6..413fe026c1d 100644 --- a/internal/pkg/validationext/struct_test.go +++ b/internal/pkg/validationext/struct_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package validationext import ( diff --git a/internal/plugin/arg.go b/internal/plugin/arg.go index a136b8d7a75..d2a925d7c32 100644 --- a/internal/plugin/arg.go +++ b/internal/plugin/arg.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/debug.go b/internal/plugin/debug.go index ccc4c837a1c..19af82c27f2 100644 --- a/internal/plugin/debug.go +++ b/internal/plugin/debug.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/discover.go b/internal/plugin/discover.go index 860cde02407..ea389f5138a 100644 --- a/internal/plugin/discover.go +++ b/internal/plugin/discover.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/discover_test.go b/internal/plugin/discover_test.go index ba10b48f899..500d56a398c 100644 --- a/internal/plugin/discover_test.go +++ b/internal/plugin/discover_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/doc.go b/internal/plugin/doc.go index f70f2a9adcd..00b610f4ee5 100644 --- a/internal/plugin/doc.go +++ b/internal/plugin/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package plugin has the functions necessary for discovering and launching // plugins. This exposes both builtin plugins as well as external, custom // plugins. diff --git a/internal/plugin/factory.go b/internal/plugin/factory.go index 4306179cdc9..a0922457312 100644 --- a/internal/plugin/factory.go +++ b/internal/plugin/factory.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/func.go b/internal/plugin/func.go index 071ae65fd46..be2363f9721 100644 --- a/internal/plugin/func.go +++ b/internal/plugin/func.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/invoke.go b/internal/plugin/invoke.go index 39f61595cf1..e073a8cf1e6 100644 --- a/internal/plugin/invoke.go +++ b/internal/plugin/invoke.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/plugin/plugin.go b/internal/plugin/plugin.go index f245e080cd6..054db2beadc 100644 --- a/internal/plugin/plugin.go +++ b/internal/plugin/plugin.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package plugin import ( diff --git a/internal/runner/accept.go b/internal/runner/accept.go index 475332c1b92..29b8a55918b 100644 --- a/internal/runner/accept.go +++ b/internal/runner/accept.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/accept_test.go b/internal/runner/accept_test.go index f3c21407878..5d395a2d1db 100644 --- a/internal/runner/accept_test.go +++ b/internal/runner/accept_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/cleanup.go b/internal/runner/cleanup.go index c4a1fd2b4bd..2547b919e8b 100644 --- a/internal/runner/cleanup.go +++ b/internal/runner/cleanup.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner // cleanup stacks cleanup functions to call when Close is called. diff --git a/internal/runner/config.go b/internal/runner/config.go index 2d0d83bfc0b..3bff257bb4c 100644 --- a/internal/runner/config.go +++ b/internal/runner/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/data.go b/internal/runner/data.go index 76ccb5a2143..6c6baf1e997 100644 --- a/internal/runner/data.go +++ b/internal/runner/data.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation.go b/internal/runner/operation.go index f5a53e177d4..fe2e6954bf3 100644 --- a/internal/runner/operation.go +++ b/internal/runner/operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_auth.go b/internal/runner/operation_auth.go index f2100b29064..6af14441e78 100644 --- a/internal/runner/operation_auth.go +++ b/internal/runner/operation_auth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_build.go b/internal/runner/operation_build.go index 9de7c43a6f2..d20bb2afbce 100644 --- a/internal/runner/operation_build.go +++ b/internal/runner/operation_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_config.go b/internal/runner/operation_config.go index 186737e0e13..3157d4623df 100644 --- a/internal/runner/operation_config.go +++ b/internal/runner/operation_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_deploy.go b/internal/runner/operation_deploy.go index c63d8ed8d2c..324ab24285b 100644 --- a/internal/runner/operation_deploy.go +++ b/internal/runner/operation_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_destroy.go b/internal/runner/operation_destroy.go index 818278059ee..f848ce26bb9 100644 --- a/internal/runner/operation_destroy.go +++ b/internal/runner/operation_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_docs.go b/internal/runner/operation_docs.go index 258e13193fa..620736e9cfa 100644 --- a/internal/runner/operation_docs.go +++ b/internal/runner/operation_docs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_exec.go b/internal/runner/operation_exec.go index cbfd2e9a239..15e70ea21c9 100644 --- a/internal/runner/operation_exec.go +++ b/internal/runner/operation_exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_init.go b/internal/runner/operation_init.go index 5915859d830..d1c8e5c31c0 100644 --- a/internal/runner/operation_init.go +++ b/internal/runner/operation_init.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_init_test.go b/internal/runner/operation_init_test.go index ec4d38eb156..13d8387d711 100644 --- a/internal/runner/operation_init_test.go +++ b/internal/runner/operation_init_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_logs.go b/internal/runner/operation_logs.go index d3f92896748..5d40ca03ea2 100644 --- a/internal/runner/operation_logs.go +++ b/internal/runner/operation_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_pipeline_step.go b/internal/runner/operation_pipeline_step.go index 298558b2d92..0f2f0da3ad2 100644 --- a/internal/runner/operation_pipeline_step.go +++ b/internal/runner/operation_pipeline_step.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_poll.go b/internal/runner/operation_poll.go index 990a347ffac..8d6cb294314 100644 --- a/internal/runner/operation_poll.go +++ b/internal/runner/operation_poll.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_project_destroy.go b/internal/runner/operation_project_destroy.go index 5582a8357b5..083b649b775 100644 --- a/internal/runner/operation_project_destroy.go +++ b/internal/runner/operation_project_destroy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_project_destroy_test.go b/internal/runner/operation_project_destroy_test.go index dc1e78c5c81..fb5ddd19bd7 100644 --- a/internal/runner/operation_project_destroy_test.go +++ b/internal/runner/operation_project_destroy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_push.go b/internal/runner/operation_push.go index ae75bfc80c5..4345d70ed40 100644 --- a/internal/runner/operation_push.go +++ b/internal/runner/operation_push.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_queue_project.go b/internal/runner/operation_queue_project.go index 204a4f7fdc4..7a49c8f2451 100644 --- a/internal/runner/operation_queue_project.go +++ b/internal/runner/operation_queue_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_release.go b/internal/runner/operation_release.go index a67550d18b8..fcaf6cff2df 100644 --- a/internal/runner/operation_release.go +++ b/internal/runner/operation_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( @@ -158,9 +155,6 @@ func (r *Runner) executeReleaseOp( Application: app.Ref(), Workspace: project.WorkspaceRef(), }) - if err != nil { - return nil, err - } var rs []*pb.Release for _, release := range rl.Releases { diff --git a/internal/runner/operation_status_report.go b/internal/runner/operation_status_report.go index ee124a73ae8..7d8f93c165c 100644 --- a/internal/runner/operation_status_report.go +++ b/internal/runner/operation_status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_task.go b/internal/runner/operation_task.go index 6e7dc04ae7b..3347a6a31d3 100644 --- a/internal/runner/operation_task.go +++ b/internal/runner/operation_task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_task_test.go b/internal/runner/operation_task_test.go index 40b52948c79..5936f42bff2 100644 --- a/internal/runner/operation_task_test.go +++ b/internal/runner/operation_task_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_up.go b/internal/runner/operation_up.go index 543079b6f28..12d133bd5e0 100644 --- a/internal/runner/operation_up.go +++ b/internal/runner/operation_up.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/operation_validate.go b/internal/runner/operation_validate.go index c1a2e4f2e04..4193a5abd1c 100644 --- a/internal/runner/operation_validate.go +++ b/internal/runner/operation_validate.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/reattach.go b/internal/runner/reattach.go index 15e8cdd8d35..36a1dfba1f2 100644 --- a/internal/runner/reattach.go +++ b/internal/runner/reattach.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/runner.go b/internal/runner/runner.go index daa157228b3..ac288a284e1 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/runner_test.go b/internal/runner/runner_test.go index 7198154f352..c09791706d1 100644 --- a/internal/runner/runner_test.go +++ b/internal/runner/runner_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/state.go b/internal/runner/state.go index a4ec043c028..bd66eded7d2 100644 --- a/internal/runner/state.go +++ b/internal/runner/state.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/testing.go b/internal/runner/testing.go index d0633303148..147577c297d 100644 --- a/internal/runner/testing.go +++ b/internal/runner/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/ui.go b/internal/runner/ui.go index 06195fe6c18..7ff6c745ea5 100644 --- a/internal/runner/ui.go +++ b/internal/runner/ui.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runner/ui_multi.go b/internal/runner/ui_multi.go index b796c7d8473..c4f54b789ca 100644 --- a/internal/runner/ui_multi.go +++ b/internal/runner/ui_multi.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runner import ( diff --git a/internal/runnerinstall/docker.go b/internal/runnerinstall/docker.go index 416c5db5198..2b0b3d97f90 100644 --- a/internal/runnerinstall/docker.go +++ b/internal/runnerinstall/docker.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runnerinstall import ( diff --git a/internal/runnerinstall/ecs.go b/internal/runnerinstall/ecs.go index 78fc7667892..21890b7805f 100644 --- a/internal/runnerinstall/ecs.go +++ b/internal/runnerinstall/ecs.go @@ -1,5 +1,5 @@ // Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MPL-2.0 package runnerinstall diff --git a/internal/runnerinstall/k8s.go b/internal/runnerinstall/k8s.go index 4c1bac1501e..c20fa6c88c2 100644 --- a/internal/runnerinstall/k8s.go +++ b/internal/runnerinstall/k8s.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runnerinstall import ( diff --git a/internal/runnerinstall/nomad.go b/internal/runnerinstall/nomad.go index a6ffb2163c6..7a7a7fce6aa 100644 --- a/internal/runnerinstall/nomad.go +++ b/internal/runnerinstall/nomad.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runnerinstall import ( diff --git a/internal/runnerinstall/runnerinstall.go b/internal/runnerinstall/runnerinstall.go index e6e90f2e2c7..877c0d53afb 100644 --- a/internal/runnerinstall/runnerinstall.go +++ b/internal/runnerinstall/runnerinstall.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package runnerinstall import ( diff --git a/internal/server/boltdbstate/add_on.go b/internal/server/boltdbstate/add_on.go deleted file mode 100644 index 1ff39528dcd..00000000000 --- a/internal/server/boltdbstate/add_on.go +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package boltdbstate - -import ( - "context" - - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -func (s *State) AddOnDefinitionPut(ctx context.Context, definition *pb.AddOnDefinition) (*pb.AddOnDefinition, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnDefinitionUpdate(ctx context.Context, definition *pb.AddOnDefinition, existingDefinition *pb.Ref_AddOnDefinition) (*pb.AddOnDefinition, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnDefinitionGet(ctx context.Context, definition *pb.Ref_AddOnDefinition) (*pb.AddOnDefinition, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnDefinitionDelete(ctx context.Context, definition *pb.Ref_AddOnDefinition) error { - return status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnDefinitionList(ctx context.Context, request *pb.ListAddOnDefinitionsRequest) ([]*pb.AddOnDefinition, *pb.PaginationResponse, error) { - return nil, nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnPut(ctx context.Context, addOn *pb.AddOn) (*pb.AddOn, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnUpdate(ctx context.Context, addOn *pb.AddOn, existingAddOn *pb.Ref_AddOn) (*pb.AddOn, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnGet(ctx context.Context, addOn *pb.Ref_AddOn) (*pb.AddOn, error) { - return nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnDelete(ctx context.Context, addOn *pb.Ref_AddOn) error { - return status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} - -func (s *State) AddOnList(ctx context.Context, request *pb.ListAddOnsRequest) ([]*pb.AddOn, *pb.PaginationResponse, error) { - return nil, nil, status.Errorf(codes.Unimplemented, "Add On Unimplemented") -} diff --git a/internal/server/boltdbstate/app_operation.go b/internal/server/boltdbstate/app_operation.go index ddbf6faa6f1..203f6a1e976 100644 --- a/internal/server/boltdbstate/app_operation.go +++ b/internal/server/boltdbstate/app_operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/app_operation_test.go b/internal/server/boltdbstate/app_operation_test.go index 0ca830ea081..d8662265fe7 100644 --- a/internal/server/boltdbstate/app_operation_test.go +++ b/internal/server/boltdbstate/app_operation_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/application.go b/internal/server/boltdbstate/application.go index f9b985c7a6a..5623c55cde2 100644 --- a/internal/server/boltdbstate/application.go +++ b/internal/server/boltdbstate/application.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/artifact.go b/internal/server/boltdbstate/artifact.go index 3bb71e11b53..98966c937d6 100644 --- a/internal/server/boltdbstate/artifact.go +++ b/internal/server/boltdbstate/artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/artifact_test.go b/internal/server/boltdbstate/artifact_test.go index 33cdd058269..ac00c76ba7a 100644 --- a/internal/server/boltdbstate/artifact_test.go +++ b/internal/server/boltdbstate/artifact_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/auth_method.go b/internal/server/boltdbstate/auth_method.go index 5783a2383a3..f2f0ceb63be 100644 --- a/internal/server/boltdbstate/auth_method.go +++ b/internal/server/boltdbstate/auth_method.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/auth_method_test.go b/internal/server/boltdbstate/auth_method_test.go index 7a60911541d..377161e214a 100644 --- a/internal/server/boltdbstate/auth_method_test.go +++ b/internal/server/boltdbstate/auth_method_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/build.go b/internal/server/boltdbstate/build.go index 0c3d3c75daf..0dc4163e35a 100644 --- a/internal/server/boltdbstate/build.go +++ b/internal/server/boltdbstate/build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/build_test.go b/internal/server/boltdbstate/build_test.go index 02d1f4e8864..696d5319c94 100644 --- a/internal/server/boltdbstate/build_test.go +++ b/internal/server/boltdbstate/build_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/config.go b/internal/server/boltdbstate/config.go index a320c0aee51..afb0c1917b5 100644 --- a/internal/server/boltdbstate/config.go +++ b/internal/server/boltdbstate/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/config_source.go b/internal/server/boltdbstate/config_source.go index a7aa3f467b5..cdc417126c8 100644 --- a/internal/server/boltdbstate/config_source.go +++ b/internal/server/boltdbstate/config_source.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/config_source_test.go b/internal/server/boltdbstate/config_source_test.go index 5d130bd8d8e..e741286b4df 100644 --- a/internal/server/boltdbstate/config_source_test.go +++ b/internal/server/boltdbstate/config_source_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/db.go b/internal/server/boltdbstate/db.go index d9758a50d4a..fe3a1f7fb2e 100644 --- a/internal/server/boltdbstate/db.go +++ b/internal/server/boltdbstate/db.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/deployment.go b/internal/server/boltdbstate/deployment.go index 600723cfe3c..deafc3510e8 100644 --- a/internal/server/boltdbstate/deployment.go +++ b/internal/server/boltdbstate/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/deployment_test.go b/internal/server/boltdbstate/deployment_test.go index e179bd1f50c..da08ef77d23 100644 --- a/internal/server/boltdbstate/deployment_test.go +++ b/internal/server/boltdbstate/deployment_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/event.go b/internal/server/boltdbstate/event.go deleted file mode 100644 index ce07df11655..00000000000 --- a/internal/server/boltdbstate/event.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package boltdbstate - -import ( - "context" - "github.com/hashicorp/go-memdb" - pb "github.com/hashicorp/waypoint/pkg/server/gen" - "github.com/hashicorp/waypoint/pkg/serverstate" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -// EventPut puts an event based on the proto passed in, currently this is not implemented in Waypoint -func (s *State) EventPut(ctx context.Context, value *serverstate.Event) error { - return status.Errorf(codes.Unimplemented, "method EventPut not implemented") -} - -// EventListBundles returns the list of events -func (s *State) EventListBundles(ctx context.Context, eventReq *pb.UI_ListEventsRequest) ([]*pb.UI_EventBundle, *pb.PaginationResponse, error) { - memTxn := s.inmem.Txn(false) - defer memTxn.Abort() - - return s.eventListBundles(memTxn, eventReq.Pagination) -} - -// eventListBundles returns a list of event bundles -func (s *State) eventListBundles( - memTxn *memdb.Txn, - paginationRequest *pb.PaginationRequest, -) ([]*pb.UI_EventBundle, *pb.PaginationResponse, error) { - return nil, &pb.PaginationResponse{}, status.Errorf(codes.Unimplemented, "method EventListBundles not implemented") -} diff --git a/internal/server/boltdbstate/hmac.go b/internal/server/boltdbstate/hmac.go index 2c1f8a44131..4261a374253 100644 --- a/internal/server/boltdbstate/hmac.go +++ b/internal/server/boltdbstate/hmac.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/index_time.go b/internal/server/boltdbstate/index_time.go index 8c49cc47950..2116d05788e 100644 --- a/internal/server/boltdbstate/index_time.go +++ b/internal/server/boltdbstate/index_time.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance.go b/internal/server/boltdbstate/instance.go index 17e94d8bdea..833d1c2cdca 100644 --- a/internal/server/boltdbstate/instance.go +++ b/internal/server/boltdbstate/instance.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance_exec.go b/internal/server/boltdbstate/instance_exec.go index 4fc42485c50..d447ca3c002 100644 --- a/internal/server/boltdbstate/instance_exec.go +++ b/internal/server/boltdbstate/instance_exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance_exec_test.go b/internal/server/boltdbstate/instance_exec_test.go index 2246dca048b..3b0439ab439 100644 --- a/internal/server/boltdbstate/instance_exec_test.go +++ b/internal/server/boltdbstate/instance_exec_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance_logs.go b/internal/server/boltdbstate/instance_logs.go index 307141cad64..a6c412b5f56 100644 --- a/internal/server/boltdbstate/instance_logs.go +++ b/internal/server/boltdbstate/instance_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance_logs_test.go b/internal/server/boltdbstate/instance_logs_test.go index 5b934c04e34..ef20039a6d6 100644 --- a/internal/server/boltdbstate/instance_logs_test.go +++ b/internal/server/boltdbstate/instance_logs_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/instance_test.go b/internal/server/boltdbstate/instance_test.go index fc2e99c83a0..eeb8c62fac2 100644 --- a/internal/server/boltdbstate/instance_test.go +++ b/internal/server/boltdbstate/instance_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/job.go b/internal/server/boltdbstate/job.go index cfd87366f34..bc2f329283b 100644 --- a/internal/server/boltdbstate/job.go +++ b/internal/server/boltdbstate/job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/job_assigned.go b/internal/server/boltdbstate/job_assigned.go index e7ae9096e79..bbd1839acfd 100644 --- a/internal/server/boltdbstate/job_assigned.go +++ b/internal/server/boltdbstate/job_assigned.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/job_test.go b/internal/server/boltdbstate/job_test.go index cde41b36548..010914e25a6 100644 --- a/internal/server/boltdbstate/job_test.go +++ b/internal/server/boltdbstate/job_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/ondemand_runner.go b/internal/server/boltdbstate/ondemand_runner.go index 0601306781c..51ef73de311 100644 --- a/internal/server/boltdbstate/ondemand_runner.go +++ b/internal/server/boltdbstate/ondemand_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/pipeline.go b/internal/server/boltdbstate/pipeline.go index 99258d9455e..23ed1af50f5 100644 --- a/internal/server/boltdbstate/pipeline.go +++ b/internal/server/boltdbstate/pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/pipeline_run.go b/internal/server/boltdbstate/pipeline_run.go index 5b9b5390559..4f8dd2fb701 100644 --- a/internal/server/boltdbstate/pipeline_run.go +++ b/internal/server/boltdbstate/pipeline_run.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( @@ -14,7 +11,6 @@ import ( "google.golang.org/protobuf/proto" "github.com/hashicorp/go-memdb" - pb "github.com/hashicorp/waypoint/pkg/server/gen" "github.com/hashicorp/waypoint/pkg/server/ptypes" ) @@ -107,9 +103,6 @@ func (s *State) PipelineRunGetByJobId(ctx context.Context, jobId string) (*pb.Pi var result *pb.PipelineRun err := s.db.View(func(dbTxn *bolt.Tx) error { job, err := s.jobById(dbTxn, jobId) - if err != nil { - return err - } if job.Pipeline == nil { err = status.Errorf(codes.FailedPrecondition, "no pipeline run associated with job %q", job) return err @@ -120,9 +113,6 @@ func (s *State) PipelineRunGetByJobId(ctx context.Context, jobId string) (*pb.Pi }, } p, err := s.pipelineGet(dbTxn, memTxn, ref) - if err != nil { - return err - } result, err = s.pipelineRunGet(dbTxn, memTxn, p.Id, job.Pipeline.RunSequence) return err }) @@ -141,9 +131,6 @@ func (s *State) PipelineRunGet(ctx context.Context, ref *pb.Ref_Pipeline, seq ui var result *pb.PipelineRun err := s.db.View(func(dbTxn *bolt.Tx) error { p, err := s.pipelineGet(dbTxn, memTxn, ref) - if err != nil { - return err - } result, err = s.pipelineRunGet(dbTxn, memTxn, p.Id, seq) return err }) @@ -257,7 +244,7 @@ func (s *State) pipelineRunGetById( return &result, dbGet(b, []byte(strings.ToLower(Id)), &result) } -func (s *State) PipelineRunList(ctx context.Context, pRef *pb.Ref_Pipeline, sorting *pb.SortingRequest) ([]*pb.PipelineRun, error) { +func (s *State) PipelineRunList(ctx context.Context, pRef *pb.Ref_Pipeline) ([]*pb.PipelineRun, error) { memTxn := s.inmem.Txn(false) defer memTxn.Abort() @@ -269,7 +256,7 @@ func (s *State) PipelineRunList(ctx context.Context, pRef *pb.Ref_Pipeline, sort var out []*pb.PipelineRun err := s.db.View(func(dbTxn *bolt.Tx) error { - rrs, err := s.pipelineRunList(memTxn, pId.Id, sorting) + rrs, err := s.pipelineRunList(memTxn, pId.Id) if err != nil { return err } @@ -294,17 +281,8 @@ func (s *State) PipelineRunList(ctx context.Context, pRef *pb.Ref_Pipeline, sort func (s *State) pipelineRunList( memTxn *memdb.Txn, pId string, - sorting *pb.SortingRequest, ) ([]*pipelineRunIndexRecord, error) { - get := memTxn.Get - - for _, d := range sorting.GetOrderBy() { - if d == "sequence desc" { - get = memTxn.GetReverse - } - } - - iter, err := get(pipelineRunIndexTableName, pipelineRunIndexPIdBySeq+"_prefix", pId) + iter, err := memTxn.Get(pipelineRunIndexTableName, pipelineRunIndexPId+"_prefix", pId) if err != nil { return nil, err } diff --git a/internal/server/boltdbstate/project.go b/internal/server/boltdbstate/project.go index c396c64bfe3..d80ecd220c9 100644 --- a/internal/server/boltdbstate/project.go +++ b/internal/server/boltdbstate/project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/project_template.go b/internal/server/boltdbstate/project_template.go deleted file mode 100644 index 589e0a39d1a..00000000000 --- a/internal/server/boltdbstate/project_template.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package boltdbstate - -import ( - "context" - - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -func (s *State) CreateProjectTemplate(context.Context, *pb.ProjectTemplate) (*pb.ProjectTemplate, error) { - return nil, status.Errorf(codes.Unimplemented, "ProjectTemplate Unimplemented") -} - -func (s *State) UpdateProjectTemplate(context.Context, *pb.ProjectTemplate) (*pb.ProjectTemplate, error) { - return nil, status.Errorf(codes.Unimplemented, "ProjectTemplate Unimplemented") -} - -func (s *State) GetProjectTemplate(context.Context, *pb.Ref_ProjectTemplate) (*pb.ProjectTemplate, error) { - return nil, status.Errorf(codes.Unimplemented, "ProjectTemplate Unimplemented") -} - -func (s *State) DeleteProjectTemplate(context.Context, *pb.Ref_ProjectTemplate) error { - return status.Errorf(codes.Unimplemented, "ProjectTemplate Unimplemented") -} - -func (s *State) ListProjectTemplates(context.Context, *pb.ListProjectTemplatesRequest) ([]*pb.ProjectTemplate, error) { - return nil, status.Errorf(codes.Unimplemented, "ProjectTemplate Unimplemented") -} diff --git a/internal/server/boltdbstate/project_test.go b/internal/server/boltdbstate/project_test.go index 4ec68f51765..4e2c1bab5fb 100644 --- a/internal/server/boltdbstate/project_test.go +++ b/internal/server/boltdbstate/project_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/prune.go b/internal/server/boltdbstate/prune.go index ce68ee20ae6..d6e676f61fa 100644 --- a/internal/server/boltdbstate/prune.go +++ b/internal/server/boltdbstate/prune.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/prune_test.go b/internal/server/boltdbstate/prune_test.go index 2edf8b4fe51..4913ae1c01a 100644 --- a/internal/server/boltdbstate/prune_test.go +++ b/internal/server/boltdbstate/prune_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/release.go b/internal/server/boltdbstate/release.go index 2c84bb94272..1959d4aea40 100644 --- a/internal/server/boltdbstate/release.go +++ b/internal/server/boltdbstate/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/release_test.go b/internal/server/boltdbstate/release_test.go index 9aa32c9b89e..7dac3e447bd 100644 --- a/internal/server/boltdbstate/release_test.go +++ b/internal/server/boltdbstate/release_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/runner.go b/internal/server/boltdbstate/runner.go index dd0637387df..28e6d20c59e 100644 --- a/internal/server/boltdbstate/runner.go +++ b/internal/server/boltdbstate/runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/server_config.go b/internal/server/boltdbstate/server_config.go index 877141ec304..14d7e474d68 100644 --- a/internal/server/boltdbstate/server_config.go +++ b/internal/server/boltdbstate/server_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/server_id.go b/internal/server/boltdbstate/server_id.go index c76c2c51fb9..661fec835c7 100644 --- a/internal/server/boltdbstate/server_id.go +++ b/internal/server/boltdbstate/server_id.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/server_urltoken.go b/internal/server/boltdbstate/server_urltoken.go index 7bdb30cb879..e680aa5b0e4 100644 --- a/internal/server/boltdbstate/server_urltoken.go +++ b/internal/server/boltdbstate/server_urltoken.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/snapshot.go b/internal/server/boltdbstate/snapshot.go index be4edeb775e..38239a0a610 100644 --- a/internal/server/boltdbstate/snapshot.go +++ b/internal/server/boltdbstate/snapshot.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/state.go b/internal/server/boltdbstate/state.go index de371554c5d..1581cc5486a 100644 --- a/internal/server/boltdbstate/state.go +++ b/internal/server/boltdbstate/state.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package state manages the state that the singleprocess server has, providing // operations to mutate that state safely as needed. package boltdbstate diff --git a/internal/server/boltdbstate/state_test.go b/internal/server/boltdbstate/state_test.go index 7fa0ca09708..306ab6cc61d 100644 --- a/internal/server/boltdbstate/state_test.go +++ b/internal/server/boltdbstate/state_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( @@ -26,14 +23,6 @@ func TestImpl(t *testing.T) { knownFailingStateTests := []string{ "TestProjectPagination", // Failing b/c pagination not implemented in boltdb "TestJobListPagination", // Failing b/c pagination not implemented in boltdb - "TestEvent", //Failing b/c events aren't implemented in boltdb - } - - // Tests for features that have not been implemented in OSS - unimplementedTests := []string{ - "TestProjectTemplateFeatures", - "TestAddOnFeatures", - "TestAddOnPagination", } statetest.Test(t, func(t *testing.T) serverstate.Interface { @@ -42,5 +31,5 @@ func TestImpl(t *testing.T) { v, err := TestStateRestart(t, impl.(*State)) require.NoError(t, err) return v - }, append(knownFailingStateTests, unimplementedTests...)) + }, knownFailingStateTests) } diff --git a/internal/server/boltdbstate/status_report.go b/internal/server/boltdbstate/status_report.go index 11a56b585ad..fbf81ecf8c4 100644 --- a/internal/server/boltdbstate/status_report.go +++ b/internal/server/boltdbstate/status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/status_report_test.go b/internal/server/boltdbstate/status_report_test.go index e13d062d47d..a3e06ed8a02 100644 --- a/internal/server/boltdbstate/status_report_test.go +++ b/internal/server/boltdbstate/status_report_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/task.go b/internal/server/boltdbstate/task.go index 66389ed86bf..27a36592547 100644 --- a/internal/server/boltdbstate/task.go +++ b/internal/server/boltdbstate/task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/testing.go b/internal/server/boltdbstate/testing.go index 531e6dc6e2e..6e0a46c7b9e 100644 --- a/internal/server/boltdbstate/testing.go +++ b/internal/server/boltdbstate/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/token.go b/internal/server/boltdbstate/token.go index 6f7b21c92e2..3c206884c3b 100644 --- a/internal/server/boltdbstate/token.go +++ b/internal/server/boltdbstate/token.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/trigger.go b/internal/server/boltdbstate/trigger.go index 042a19e2fae..1ba9cb73278 100644 --- a/internal/server/boltdbstate/trigger.go +++ b/internal/server/boltdbstate/trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/ulid.go b/internal/server/boltdbstate/ulid.go index 7e394584e78..d21bba99fbc 100644 --- a/internal/server/boltdbstate/ulid.go +++ b/internal/server/boltdbstate/ulid.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/user.go b/internal/server/boltdbstate/user.go index cdb91607cc3..87532c0c259 100644 --- a/internal/server/boltdbstate/user.go +++ b/internal/server/boltdbstate/user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/boltdbstate/workspace.go b/internal/server/boltdbstate/workspace.go index 743a2fcc07f..ba3086934ee 100644 --- a/internal/server/boltdbstate/workspace.go +++ b/internal/server/boltdbstate/workspace.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package boltdbstate import ( diff --git a/internal/server/component/component.go b/internal/server/component/component.go index 87f56637b37..8527b3734db 100644 --- a/internal/server/component/component.go +++ b/internal/server/component/component.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package component has component implementations for the various // resulting types. package component diff --git a/internal/server/execclient/client.go b/internal/server/execclient/client.go index 1f38e639dc0..cd2085ba0e2 100644 --- a/internal/server/execclient/client.go +++ b/internal/server/execclient/client.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package execclient import ( diff --git a/internal/server/execclient/escape.go b/internal/server/execclient/escape.go index 786d5fe51fb..1eb6b388fbb 100644 --- a/internal/server/execclient/escape.go +++ b/internal/server/execclient/escape.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package execclient import ( diff --git a/internal/server/execclient/escape_test.go b/internal/server/execclient/escape_test.go index 228de6d7ccf..5a87251460d 100644 --- a/internal/server/execclient/escape_test.go +++ b/internal/server/execclient/escape_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package execclient import ( diff --git a/internal/server/execclient/sigwinch.go b/internal/server/execclient/sigwinch.go index 95b4fc75ff3..b1afa2b8c8d 100644 --- a/internal/server/execclient/sigwinch.go +++ b/internal/server/execclient/sigwinch.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - //go:build !windows // +build !windows diff --git a/internal/server/execclient/sigwinch_windows.go b/internal/server/execclient/sigwinch_windows.go index 9b770e2ad43..8a8c7a4c6ea 100644 --- a/internal/server/execclient/sigwinch_windows.go +++ b/internal/server/execclient/sigwinch_windows.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - //go:build windows // +build windows diff --git a/internal/server/grpc.go b/internal/server/grpc.go index 08e87772d8b..72391a708d1 100644 --- a/internal/server/grpc.go +++ b/internal/server/grpc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/grpc_log.go b/internal/server/grpc_log.go index be5e3f6b111..9628700effc 100644 --- a/internal/server/grpc_log.go +++ b/internal/server/grpc_log.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/grpc_log_test.go b/internal/server/grpc_log_test.go index d7fe9c90464..be2ce7cb494 100644 --- a/internal/server/grpc_log_test.go +++ b/internal/server/grpc_log_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/http.go b/internal/server/http.go index a3760390bba..9803adee3e9 100644 --- a/internal/server/http.go +++ b/internal/server/http.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/http_log.go b/internal/server/http_log.go index a00c6813581..df75c29da0f 100644 --- a/internal/server/http_log.go +++ b/internal/server/http_log.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( @@ -15,21 +12,20 @@ import ( "github.com/hashicorp/go-hclog" ) -// httpLogHandler returns a http.Handler that uses the request-scoped and +// httpLogHandler returns an http.Handler that uses the request-scoped and // annotated logger to write access logs. func httpLogHandler(handler http.Handler, log hclog.Logger) http.Handler { return handlers.CustomLoggingHandler(nil, handler, func(_ io.Writer, params handlers.LogFormatterParams) { req := params.Request - // Extract the Client IP and the X-Forwarded-For header set by + // Extract the Client IP honoring the X-Forwarded-For header set by // proxies. clientIP, _, err := net.SplitHostPort(req.RemoteAddr) if err != nil { clientIP = req.RemoteAddr } - var forwardedIP string if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" { - forwardedIP = net.ParseIP(forwardedFor).String() + clientIP = forwardedFor } // Extract the URL scheme honoring the X-Forwarded-Proto header set by @@ -55,7 +51,6 @@ func httpLogHandler(handler http.Handler, log hclog.Logger) http.Handler { "http.method", req.Method, "http.request_path", req.URL.Path, "http.remote_addr", clientIP, - "http.forwarded_for", forwardedIP, "http.response_size", params.Size, "http.scheme", scheme, "http.scheme_forwarded", forwarded, diff --git a/internal/server/http_tls.go b/internal/server/http_tls.go index 0adc6c488a2..c1636890396 100644 --- a/internal/server/http_tls.go +++ b/internal/server/http_tls.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/http_tls_test.go b/internal/server/http_tls_test.go index ce373ea7567..5d5d1f345b1 100644 --- a/internal/server/http_tls_test.go +++ b/internal/server/http_tls_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/httpapi/doc.go b/internal/server/httpapi/doc.go index 49dd1c021b0..fb4c226978b 100644 --- a/internal/server/httpapi/doc.go +++ b/internal/server/httpapi/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package httpapi implements the shared endpoints that are implemented // over the HTTP protocol rather than gRPC. This isn't the full API, only // specific subsets for the purpose of helping the UI. diff --git a/internal/server/httpapi/exec.go b/internal/server/httpapi/exec.go index a37fd854a07..c44e0ad3974 100644 --- a/internal/server/httpapi/exec.go +++ b/internal/server/httpapi/exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpapi import ( diff --git a/internal/server/httpapi/exec_test.go b/internal/server/httpapi/exec_test.go index eeeb870820a..ae1db211329 100644 --- a/internal/server/httpapi/exec_test.go +++ b/internal/server/httpapi/exec_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpapi import ( diff --git a/internal/server/httpapi/trigger.go b/internal/server/httpapi/trigger.go index e5437525752..a8f01f311df 100644 --- a/internal/server/httpapi/trigger.go +++ b/internal/server/httpapi/trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpapi import ( diff --git a/internal/server/httpapi/trigger_test.go b/internal/server/httpapi/trigger_test.go index 05191c6821b..5364b04e493 100644 --- a/internal/server/httpapi/trigger_test.go +++ b/internal/server/httpapi/trigger_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package httpapi import ( diff --git a/internal/server/server.go b/internal/server/server.go index 4bf25923650..197272d6e92 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/server/server_test.go b/internal/server/server_test.go index 1be4a4d07a7..280b919d113 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/internal/serverconfig/config.go b/internal/serverconfig/config.go index 3fd706cb776..6b2be4b72c9 100644 --- a/internal/serverconfig/config.go +++ b/internal/serverconfig/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverconfig // Config is the configuration for the built-in server. diff --git a/internal/serverconfig/doc.go b/internal/serverconfig/doc.go index 5fa51945329..71f3d2b7c04 100644 --- a/internal/serverconfig/doc.go +++ b/internal/serverconfig/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package serverconfig provides the configuration structs // and associated logic for the waypoint server diff --git a/internal/serverinstall/docker.go b/internal/serverinstall/docker.go index 2f8d6ce5d2c..656f3bdd644 100644 --- a/internal/serverinstall/docker.go +++ b/internal/serverinstall/docker.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( diff --git a/internal/serverinstall/ecs.go b/internal/serverinstall/ecs.go index f0422764945..f9a19428f1e 100644 --- a/internal/serverinstall/ecs.go +++ b/internal/serverinstall/ecs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( @@ -26,7 +23,6 @@ import ( "github.com/aws/aws-sdk-go/service/elbv2" "github.com/aws/aws-sdk-go/service/resourcegroups" "github.com/hashicorp/go-hclog" - "github.com/hashicorp/waypoint-plugin-sdk/terminal" "github.com/hashicorp/waypoint/builtin/aws/utils" "github.com/hashicorp/waypoint/internal/clicontext" @@ -430,12 +426,7 @@ func (i *ECSInstaller) Launch( break } } - - select { - case <-time.After(5 * time.Second): - case <-ctx.Done(): - return nil, ctx.Err() - } + time.Sleep(5 * time.Second) } if !healthy { diff --git a/internal/serverinstall/k8s.go b/internal/serverinstall/k8s.go index 8036c4e619f..7e904186418 100644 --- a/internal/serverinstall/k8s.go +++ b/internal/serverinstall/k8s.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( diff --git a/internal/serverinstall/nomad.go b/internal/serverinstall/nomad.go index df08c230cb2..0a511e478eb 100644 --- a/internal/serverinstall/nomad.go +++ b/internal/serverinstall/nomad.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( diff --git a/internal/serverinstall/serverinstall.go b/internal/serverinstall/serverinstall.go index 81d9559c6fe..d4ed3ec396f 100644 --- a/internal/serverinstall/serverinstall.go +++ b/internal/serverinstall/serverinstall.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( diff --git a/internal/serverinstall/serverinstall_test.go b/internal/serverinstall/serverinstall_test.go index 262e624c0a4..e0e61872347 100644 --- a/internal/serverinstall/serverinstall_test.go +++ b/internal/serverinstall/serverinstall_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverinstall import ( diff --git a/internal/ssh/keys.go b/internal/ssh/keys.go index 6ee990ad1a4..98101b6a7a8 100644 --- a/internal/ssh/keys.go +++ b/internal/ssh/keys.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ssh import ( diff --git a/internal/telemetry/datadog.go b/internal/telemetry/datadog.go index 7221e7ccd18..aafbca97df4 100644 --- a/internal/telemetry/datadog.go +++ b/internal/telemetry/datadog.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package telemetry import ( diff --git a/internal/telemetry/metrics/stats.go b/internal/telemetry/metrics/stats.go index e1489a3210a..2e22776099f 100644 --- a/internal/telemetry/metrics/stats.go +++ b/internal/telemetry/metrics/stats.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package metrics import ( diff --git a/internal/telemetry/opencensus_agent.go b/internal/telemetry/opencensus_agent.go index 266a509d27f..29100e38a4d 100644 --- a/internal/telemetry/opencensus_agent.go +++ b/internal/telemetry/opencensus_agent.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package telemetry import ( diff --git a/internal/telemetry/telemetry.go b/internal/telemetry/telemetry.go index 3c096eed5b1..bc2332b2784 100644 --- a/internal/telemetry/telemetry.go +++ b/internal/telemetry/telemetry.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package telemetry import ( diff --git a/internal/version/version.go b/internal/version/version.go index cf859af0029..0bc2363b0d0 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package version import ( @@ -13,7 +10,7 @@ var ( GitCommit string GitDescribe string - Version = "0.12.0" // Note: This value should match /version/VERSION! + Version = "0.11.5" VersionPrerelease = "" VersionMetadata = "" ) diff --git a/nix/go-protobuf-grpc-gateway.nix b/nix/go-protobuf-grpc-gateway.nix index de29a9b4fba..94c6a00d578 100644 --- a/nix/go-protobuf-grpc-gateway.nix +++ b/nix/go-protobuf-grpc-gateway.nix @@ -11,8 +11,8 @@ buildGoModule rec { sha256 = "sha256-8eBBBYJ+tBjB2fgPMX/ZlbN3eeS75e8TAZYOKXs6hcg="; }; - modSha256 = "sha256-AW2Gn/mlZyLMwF+NpK59eiOmQrYWW/9HPjbunYc9Ij4="; - vendorSha256 = "sha256-AW2Gn/mlZyLMwF+NpK59eiOmQrYWW/9HPjbunYc9Ij4="; + modSha256 = "sha256-8XbFKsgmMcf363W/F1Ffh1eEh/M3NGg0zzLCZ4b5Dho="; + vendorSha256 = "sha256-8XbFKsgmMcf363W/F1Ffh1eEh/M3NGg0zzLCZ4b5Dho="; subPackages = [ "protoc-gen-grpc-gateway" ]; } diff --git a/nix/go-tools.nix b/nix/go-tools.nix new file mode 100644 index 00000000000..fa1c3dc589a --- /dev/null +++ b/nix/go-tools.nix @@ -0,0 +1,22 @@ +{ buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "go-tools"; + version = "35839b7038afa36a6c000733552daa1f5ce1e838"; + + src = fetchFromGitHub { + owner = "golang"; + repo = "tools"; + rev = "35839b7038afa36a6c000733552daa1f5ce1e838"; + sha256 = "1gnqf62s7arqk807gadp4rd2diz1g0v2khwv9wsb50y8k9k4dfqs"; + }; + + modSha256 = "1pijbkp7a9n2naicg21ydii6xc0g4jm5bw42lljwaks7211ag8k9"; + vendorSha256 = "0i2fhaj2fd8ii4av1qx87wjkngip9vih8v3i9yr3h28hkq68zkm5"; + + subPackages = [ "cmd/stringer" ]; + + # This has to be enabled because the stringer tests recompile itself + # so it needs a valid reference to `go` + allowGoReference = true; +} diff --git a/nix/overlay.nix b/nix/overlay.nix index 399dcb5f304..58eadffed43 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -4,6 +4,9 @@ final: prev: { devShell = final.callPackage ./waypoint.nix { }; + # Need to manually do this since 1.16 is still the default + go = final.go_1_17; + go-protobuf = prev.callPackage ./go-protobuf.nix { }; go-protobuf-grpc = prev.callPackage ./go-protobuf-grpc.nix { }; @@ -14,6 +17,8 @@ final: prev: { go-protobuf-swagger = prev.callPackage ./go-protobuf-swagger.nix { }; + go-tools = prev.callPackage ./go-tools.nix { }; + go-mockery = prev.callPackage ./go-mockery.nix { }; go-changelog = prev.callPackage ./go-changelog.nix { }; diff --git a/nix/waypoint.nix b/nix/waypoint.nix index df4b5bc0a4a..f76be006a65 100644 --- a/nix/waypoint.nix +++ b/nix/waypoint.nix @@ -14,7 +14,7 @@ , go-protobuf-grpc-gateway , go-protobuf-json , go-protobuf-swagger -, gotools +, go-tools , grpcurl , kubectl , libpng @@ -39,7 +39,6 @@ mkShell rec { docker-compose go go-bindata - gotools grpcurl nodejs-16_x postgresql_12 @@ -54,6 +53,7 @@ mkShell rec { go-protobuf-grpc-gateway go-protobuf-json go-protobuf-swagger + go-tools go-mockery go-changelog diff --git a/pkg/auth/oidc/claims.go b/pkg/auth/oidc/claims.go index 81f8f725754..2347337fe3e 100644 --- a/pkg/auth/oidc/claims.go +++ b/pkg/auth/oidc/claims.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package oidc import ( diff --git a/pkg/auth/oidc/claims_test.go b/pkg/auth/oidc/claims_test.go index 1148e9cccfd..ec752963f2c 100644 --- a/pkg/auth/oidc/claims_test.go +++ b/pkg/auth/oidc/claims_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package oidc import ( diff --git a/pkg/auth/oidc/cli.go b/pkg/auth/oidc/cli.go index abdf1a87598..29d013848b7 100644 --- a/pkg/auth/oidc/cli.go +++ b/pkg/auth/oidc/cli.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package oidc import ( diff --git a/pkg/auth/oidc/doc.go b/pkg/auth/oidc/doc.go index 153590decdb..3ef5da51658 100644 --- a/pkg/auth/oidc/doc.go +++ b/pkg/auth/oidc/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package oidc contains helpers for implementing OIDC-based auth for // Waypoint servers and headless clients. package oidc diff --git a/pkg/auth/oidc/provider.go b/pkg/auth/oidc/provider.go index bcb96c88357..ae660c5c40f 100644 --- a/pkg/auth/oidc/provider.go +++ b/pkg/auth/oidc/provider.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package oidc import ( diff --git a/pkg/auth/oidc/provider_test.go b/pkg/auth/oidc/provider_test.go index 0274930e1fb..54aef804860 100644 --- a/pkg/auth/oidc/provider_test.go +++ b/pkg/auth/oidc/provider_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package oidc import ( diff --git a/pkg/client/client.go b/pkg/client/client.go index 62ea9fcfcd4..84efb0f9ad5 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package client //go:generate swagger generate client --strict-responders --spec ../server/gen/server.swagger.json --target ./gen --default-scheme=https diff --git a/pkg/config/fmt.go b/pkg/config/fmt.go index b96ce25ad8d..b9c472fc8dc 100644 --- a/pkg/config/fmt.go +++ b/pkg/config/fmt.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package config import ( diff --git a/pkg/config/funcs/datetime.go b/pkg/config/funcs/datetime.go index f7fcc6b3d42..c9479ebcdd7 100644 --- a/pkg/config/funcs/datetime.go +++ b/pkg/config/funcs/datetime.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/datetime_test.go b/pkg/config/funcs/datetime_test.go index c5939884253..f037565b3a3 100644 --- a/pkg/config/funcs/datetime_test.go +++ b/pkg/config/funcs/datetime_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/doc.go b/pkg/config/funcs/doc.go index 7eb6007b140..8c0fc927ad8 100644 --- a/pkg/config/funcs/doc.go +++ b/pkg/config/funcs/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs func Docs() map[string]string { diff --git a/pkg/config/funcs/encoding.go b/pkg/config/funcs/encoding.go index 8652059b795..f05f15db4d9 100644 --- a/pkg/config/funcs/encoding.go +++ b/pkg/config/funcs/encoding.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/encoding_test.go b/pkg/config/funcs/encoding_test.go index 1faa8cc7e6d..1bff88544f8 100644 --- a/pkg/config/funcs/encoding_test.go +++ b/pkg/config/funcs/encoding_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/filesystem.go b/pkg/config/funcs/filesystem.go index fb49474f67e..608622e2547 100644 --- a/pkg/config/funcs/filesystem.go +++ b/pkg/config/funcs/filesystem.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/filesystem_test.go b/pkg/config/funcs/filesystem_test.go index c7a71f8d0de..ba5b216d040 100644 --- a/pkg/config/funcs/filesystem_test.go +++ b/pkg/config/funcs/filesystem_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/jsonnet.go b/pkg/config/funcs/jsonnet.go index 3c4cba42b76..91353866791 100644 --- a/pkg/config/funcs/jsonnet.go +++ b/pkg/config/funcs/jsonnet.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/jsonnet_test.go b/pkg/config/funcs/jsonnet_test.go index b98a583e78b..5d518ed6e43 100644 --- a/pkg/config/funcs/jsonnet_test.go +++ b/pkg/config/funcs/jsonnet_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/selector.go b/pkg/config/funcs/selector.go index aa683431c8e..df96ae39a35 100644 --- a/pkg/config/funcs/selector.go +++ b/pkg/config/funcs/selector.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/selector_test.go b/pkg/config/funcs/selector_test.go index 635af1415ae..a8061313df1 100644 --- a/pkg/config/funcs/selector_test.go +++ b/pkg/config/funcs/selector_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/sets.go b/pkg/config/funcs/sets.go index 17697cd4d2a..7842a9a3054 100644 --- a/pkg/config/funcs/sets.go +++ b/pkg/config/funcs/sets.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/stdlib.go b/pkg/config/funcs/stdlib.go index 987c08e68ec..13b7a5914df 100644 --- a/pkg/config/funcs/stdlib.go +++ b/pkg/config/funcs/stdlib.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/template.go b/pkg/config/funcs/template.go index 0675d82a208..1542a465974 100644 --- a/pkg/config/funcs/template.go +++ b/pkg/config/funcs/template.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/template_test.go b/pkg/config/funcs/template_test.go index 1c44136c8f1..478fda11a35 100644 --- a/pkg/config/funcs/template_test.go +++ b/pkg/config/funcs/template_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/vcs_git.go b/pkg/config/funcs/vcs_git.go index 620697d7909..bc67975d85a 100644 --- a/pkg/config/funcs/vcs_git.go +++ b/pkg/config/funcs/vcs_git.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/config/funcs/vcs_git_test.go b/pkg/config/funcs/vcs_git_test.go index 0bab768681d..0811f189e98 100644 --- a/pkg/config/funcs/vcs_git_test.go +++ b/pkg/config/funcs/vcs_git_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package funcs import ( diff --git a/pkg/doc.go b/pkg/doc.go index 87ad192fd19..fb0ee0c0c27 100644 --- a/pkg/doc.go +++ b/pkg/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package pkg exposes waypoint functionality that may be required // by other projects. package pkg diff --git a/pkg/inlinekeepalive/client.go b/pkg/inlinekeepalive/client.go index 95f81bc31d4..bf7eb3fc9c7 100644 --- a/pkg/inlinekeepalive/client.go +++ b/pkg/inlinekeepalive/client.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/client_test.go b/pkg/inlinekeepalive/client_test.go index a6392b78f5a..920cce3c1c1 100644 --- a/pkg/inlinekeepalive/client_test.go +++ b/pkg/inlinekeepalive/client_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/doc.go b/pkg/inlinekeepalive/doc.go index 983044879ab..e7df8ba80f3 100644 --- a/pkg/inlinekeepalive/doc.go +++ b/pkg/inlinekeepalive/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // inlinekeepalive is a package that sends "keepalive" messages over // existing grpc streams. diff --git a/pkg/inlinekeepalive/keepalive.go b/pkg/inlinekeepalive/keepalive.go index 053555faed1..6f927e4c2c2 100644 --- a/pkg/inlinekeepalive/keepalive.go +++ b/pkg/inlinekeepalive/keepalive.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/keepalive_test.go b/pkg/inlinekeepalive/keepalive_test.go index da7d7953691..9c555a651ec 100644 --- a/pkg/inlinekeepalive/keepalive_test.go +++ b/pkg/inlinekeepalive/keepalive_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/server.go b/pkg/inlinekeepalive/server.go index 27e941053e5..0971e9c100c 100644 --- a/pkg/inlinekeepalive/server.go +++ b/pkg/inlinekeepalive/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/server_test.go b/pkg/inlinekeepalive/server_test.go index 14533536a04..7a66e471734 100644 --- a/pkg/inlinekeepalive/server_test.go +++ b/pkg/inlinekeepalive/server_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/inlinekeepalive/testing.go b/pkg/inlinekeepalive/testing.go index b9c5f91c8cb..c6691c69b80 100644 --- a/pkg/inlinekeepalive/testing.go +++ b/pkg/inlinekeepalive/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package inlinekeepalive import ( diff --git a/pkg/nullify/nullify.go b/pkg/nullify/nullify.go index 81e967c8d70..b7e35c093a5 100644 --- a/pkg/nullify/nullify.go +++ b/pkg/nullify/nullify.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package nullify takes any structure as input and nullifies any matching // pointer types as registered on the nullifier. package nullify diff --git a/pkg/nullify/nullify_test.go b/pkg/nullify/nullify_test.go index 2213daeda5b..f1158303d0f 100644 --- a/pkg/nullify/nullify_test.go +++ b/pkg/nullify/nullify_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package nullify import ( diff --git a/pkg/pagination/pagination.go b/pkg/pagination/pagination.go index 88569ca05c1..d56c3e9d153 100644 --- a/pkg/pagination/pagination.go +++ b/pkg/pagination/pagination.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package pagination import ( diff --git a/pkg/pagination/pagination_test.go b/pkg/pagination/pagination_test.go index e6f88497008..aa83082ccba 100644 --- a/pkg/pagination/pagination_test.go +++ b/pkg/pagination/pagination_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package pagination import ( diff --git a/pkg/protocolversion/context.go b/pkg/protocolversion/context.go index afc0060b0e7..2158836798c 100644 --- a/pkg/protocolversion/context.go +++ b/pkg/protocolversion/context.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/current.go b/pkg/protocolversion/current.go index 0c01c56a723..24c27b89697 100644 --- a/pkg/protocolversion/current.go +++ b/pkg/protocolversion/current.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/grpc.go b/pkg/protocolversion/grpc.go index 92d841d3104..49bc79ded0e 100644 --- a/pkg/protocolversion/grpc.go +++ b/pkg/protocolversion/grpc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/grpc_test.go b/pkg/protocolversion/grpc_test.go index f94692c30a3..0bad1cb2c0b 100644 --- a/pkg/protocolversion/grpc_test.go +++ b/pkg/protocolversion/grpc_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/header.go b/pkg/protocolversion/header.go index ecb7aeb7d94..d0574a93605 100644 --- a/pkg/protocolversion/header.go +++ b/pkg/protocolversion/header.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/header_test.go b/pkg/protocolversion/header_test.go index 9bc718725ec..388296413e1 100644 --- a/pkg/protocolversion/header_test.go +++ b/pkg/protocolversion/header_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/negotiate.go b/pkg/protocolversion/negotiate.go index 05ac3404035..ef3a0283119 100644 --- a/pkg/protocolversion/negotiate.go +++ b/pkg/protocolversion/negotiate.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/negotiate_test.go b/pkg/protocolversion/negotiate_test.go index 3d53c23a777..81b8631468b 100644 --- a/pkg/protocolversion/negotiate_test.go +++ b/pkg/protocolversion/negotiate_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion import ( diff --git a/pkg/protocolversion/type.go b/pkg/protocolversion/type.go index d9c2db71da4..e4d6eff1b73 100644 --- a/pkg/protocolversion/type.go +++ b/pkg/protocolversion/type.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package protocolversion //go:generate stringer -type=Type -linecomment diff --git a/pkg/server/auth.go b/pkg/server/auth.go index 420f8fcf7ef..ae2439b9af3 100644 --- a/pkg/server/auth.go +++ b/pkg/server/auth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/auth_test.go b/pkg/server/auth_test.go index d837a14c87f..d3bdd16b454 100644 --- a/pkg/server/auth_test.go +++ b/pkg/server/auth_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/gen/bindata_ui.go b/pkg/server/gen/bindata_ui.go index 843f254c6e7..72c1173ce63 100644 --- a/pkg/server/gen/bindata_ui.go +++ b/pkg/server/gen/bindata_ui.go @@ -25,8 +25,8 @@ // ui/dist/apple-touch-icon-76x76.png (4.575kB) // ui/dist/apple-touch-icon-precomposed.png (17.671kB) // ui/dist/apple-touch-icon.png (17.671kB) -// ui/dist/assets/chunk.143.399ac03cf32e920eeb6f.js (1.403MB) -// ui/dist/assets/chunk.178.412575959b4acd89e192.js (1.757kB) +// ui/dist/assets/chunk.143.7ea05e17b3d79e3f7777.js (1.403MB) +// ui/dist/assets/chunk.178.a0678c725f03d32449a2.js (1.757kB) // ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js (1.078MB) // ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js.LICENSE.txt (3.479kB) // ui/dist/assets/chunk.881.ab3fcf50025d53687447.js (517.902kB) @@ -34,7 +34,7 @@ // ui/dist/assets/vendor-2ce96bdcbadb262cf4ea8a43db367ae4.js (966.119kB) // ui/dist/assets/vendor-e916acdafcac64f547bcedba455db8e5.css (7.511kB) // ui/dist/assets/waypoint-446ef0d58a3680f5a4b6223a6a1704c3.css (223.034kB) -// ui/dist/assets/waypoint-5ac90becd719f340ed6169530ada3a50.js (405.099kB) +// ui/dist/assets/waypoint-ebcdd627a87606ce0388e3f25a70b64d.js (402.543kB) // ui/dist/browserconfig.xml (417B) // ui/dist/favicon-16x16.png (630B) // ui/dist/favicon-32x32.png (1.493kB) @@ -54,7 +54,7 @@ // ui/dist/images/icons/logout.svg (724B) // ui/dist/images/pattern-alt.svg (16.223kB) // ui/dist/images/pattern.svg (1.818kB) -// ui/dist/index.html (769.344kB) +// ui/dist/index.html (769.269kB) // ui/dist/manifest.json (1.264kB) // ui/dist/manifest.webapp (299B) // ui/dist/mstile-144x144.png (12.26kB) @@ -72,7 +72,6 @@ import ( "crypto/sha256" "fmt" "io" - "io/ioutil" "os" "path/filepath" "strings" @@ -146,7 +145,7 @@ func uiDistHashicorpPdsEmberLogomarksHashicorp_whiteSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/logomarks/HashiCorp_White.svg", size: 379, mode: os.FileMode(0644), modTime: time.Unix(1680800101, 0)} + info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/logomarks/HashiCorp_White.svg", size: 379, mode: os.FileMode(0644), modTime: time.Unix(1675873634, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0x51, 0xdc, 0xab, 0xf, 0x3a, 0x7d, 0xf4, 0xde, 0x6, 0xa0, 0xbf, 0x8b, 0x3e, 0x33, 0x75, 0x5e, 0xce, 0xb0, 0xa8, 0x18, 0xc3, 0x0, 0xe9, 0x79, 0x8f, 0x53, 0xd4, 0xea, 0xfe, 0x83, 0x66}} return a, nil } @@ -166,7 +165,7 @@ func uiDistHashicorpPdsEmberMetadataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/metadata.json", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1680800101, 0)} + info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/metadata.json", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1675873634, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x17, 0x83, 0xef, 0xbf, 0x6d, 0x78, 0x35, 0xe4, 0x34, 0xd5, 0x17, 0x47, 0xbb, 0xcb, 0xbd, 0x9c, 0x8b, 0xc5, 0x9c, 0xe0, 0xc9, 0x9b, 0x8e, 0x48, 0x2c, 0xb9, 0x6d, 0x4e, 0xe, 0xc0, 0xef}} return a, nil } @@ -186,7 +185,7 @@ func uiDistHashicorpPdsEmberStructureIconsLoading2749b92c39db2584a870067f1e02d96 return nil, err } - info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/structure-icons/loading-2749b92c39db2584a870067f1e02d964.css", size: 1110, mode: os.FileMode(0644), modTime: time.Unix(1680804343, 0)} + info := bindataFileInfo{name: "ui/dist/@hashicorp/pds-ember/structure-icons/loading-2749b92c39db2584a870067f1e02d964.css", size: 1110, mode: os.FileMode(0644), modTime: time.Unix(1676568137, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0x41, 0xa4, 0x33, 0x4a, 0xc4, 0xdd, 0x45, 0x65, 0x3, 0x43, 0x4b, 0x84, 0x85, 0x2e, 0x33, 0x3d, 0x7e, 0x29, 0xa6, 0xfd, 0x87, 0xd4, 0x68, 0x88, 0x5f, 0x6b, 0x61, 0x77, 0x98, 0xf5, 0xc7}} return a, nil } @@ -206,7 +205,7 @@ func uiDistAndroidChrome144x144Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-144x144.png", size: 12260, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-144x144.png", size: 12260, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x36, 0x48, 0xba, 0x82, 0x25, 0xc9, 0xac, 0x15, 0x4e, 0xc3, 0x80, 0x3, 0x2a, 0x96, 0xdd, 0x1, 0x8a, 0xcc, 0x8c, 0xec, 0xdb, 0xfe, 0x6, 0x80, 0x74, 0xfa, 0xe1, 0xb9, 0xf0, 0xd8, 0x59}} return a, nil } @@ -226,7 +225,7 @@ func uiDistAndroidChrome192x192Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-192x192.png", size: 20734, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-192x192.png", size: 20734, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x66, 0x5, 0xa6, 0x54, 0xbb, 0xa9, 0xd4, 0x56, 0x62, 0xa6, 0xa9, 0x6, 0xd8, 0xcd, 0x63, 0xb, 0x25, 0x67, 0x30, 0xb, 0xf6, 0x74, 0xcf, 0x86, 0x59, 0x57, 0xfb, 0x49, 0xd, 0xe3, 0x39, 0x31}} return a, nil } @@ -246,7 +245,7 @@ func uiDistAndroidChrome256x256Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-256x256.png", size: 32005, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-256x256.png", size: 32005, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3, 0x89, 0xc2, 0xdd, 0xc9, 0x8d, 0x37, 0xe3, 0xe6, 0x25, 0x41, 0x38, 0xb, 0xc9, 0x6d, 0xc0, 0xf5, 0xb0, 0xa6, 0x5a, 0x64, 0x87, 0x68, 0x3e, 0xf6, 0xf3, 0x96, 0x85, 0x7d, 0x32, 0xd8, 0x44}} return a, nil } @@ -266,7 +265,7 @@ func uiDistAndroidChrome36x36Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-36x36.png", size: 1803, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-36x36.png", size: 1803, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x37, 0x71, 0xda, 0x98, 0x9a, 0x4a, 0xda, 0x55, 0x92, 0xf2, 0x32, 0x36, 0x8b, 0x40, 0x61, 0xe3, 0x1b, 0x54, 0x7c, 0x58, 0x44, 0x8a, 0x1, 0x37, 0x83, 0xb6, 0xbd, 0x2a, 0xaf, 0x20, 0x6}} return a, nil } @@ -286,7 +285,7 @@ func uiDistAndroidChrome384x384Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-384x384.png", size: 60618, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-384x384.png", size: 60618, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0xfb, 0x4f, 0x90, 0x1d, 0x67, 0xe8, 0xe5, 0x41, 0xb5, 0x1d, 0x87, 0x90, 0xe0, 0x8f, 0xd8, 0x1, 0x58, 0x51, 0x32, 0x3a, 0xf4, 0xfe, 0xa9, 0xd4, 0xe0, 0xef, 0x81, 0xb2, 0x63, 0xd4, 0x68}} return a, nil } @@ -306,7 +305,7 @@ func uiDistAndroidChrome48x48Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-48x48.png", size: 2032, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-48x48.png", size: 2032, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x3e, 0x2, 0x55, 0x14, 0x9a, 0xf4, 0xf5, 0x4b, 0x80, 0x30, 0x46, 0xf0, 0x78, 0xd, 0xd9, 0xc7, 0xc5, 0x2c, 0x4f, 0x18, 0x8b, 0x33, 0xc4, 0xae, 0x24, 0x61, 0x29, 0xd6, 0xdf, 0xc8, 0xbe}} return a, nil } @@ -326,7 +325,7 @@ func uiDistAndroidChrome512x512Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-512x512.png", size: 94628, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-512x512.png", size: 94628, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0xff, 0x91, 0x1c, 0xe9, 0x0, 0x77, 0x4f, 0xa, 0x15, 0xc, 0x3e, 0x21, 0x59, 0x71, 0x94, 0x28, 0xe3, 0xe0, 0x3, 0xf, 0x29, 0xc7, 0x3e, 0x5, 0x1d, 0x2, 0x47, 0xb4, 0xf1, 0x60, 0x5c}} return a, nil } @@ -346,7 +345,7 @@ func uiDistAndroidChrome72x72Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-72x72.png", size: 4463, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-72x72.png", size: 4463, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0x2b, 0x64, 0xb, 0xc2, 0xf1, 0xca, 0xe3, 0x90, 0x8, 0x13, 0xed, 0x9d, 0xaa, 0xe0, 0x2e, 0x91, 0x78, 0xc5, 0xd5, 0xbc, 0x3, 0xa9, 0x31, 0xa6, 0x5d, 0xd4, 0xad, 0x6a, 0x8d, 0xed, 0xf2}} return a, nil } @@ -366,7 +365,7 @@ func uiDistAndroidChrome96x96Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/android-chrome-96x96.png", size: 7135, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/android-chrome-96x96.png", size: 7135, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0xa6, 0x2b, 0x42, 0x80, 0xf4, 0x4d, 0xe4, 0xb6, 0xe1, 0xf7, 0x8f, 0x74, 0x83, 0xf4, 0xa8, 0x69, 0xc3, 0x97, 0xc9, 0x55, 0xd9, 0x2a, 0x5c, 0x4e, 0xce, 0x62, 0xc, 0x27, 0x7f, 0x9e, 0xd9}} return a, nil } @@ -386,7 +385,7 @@ func uiDistAppleTouchIcon1024x1024Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-1024x1024.png", size: 256689, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-1024x1024.png", size: 256689, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5, 0x44, 0x93, 0x5, 0xdf, 0x38, 0x40, 0x7f, 0x6d, 0xd3, 0xfd, 0x73, 0xce, 0x45, 0xf7, 0xb9, 0x59, 0x1f, 0x5e, 0xbd, 0x1a, 0x0, 0x67, 0xa1, 0xf5, 0x51, 0x30, 0x56, 0xc0, 0x1d, 0xb1, 0x11}} return a, nil } @@ -406,7 +405,7 @@ func uiDistAppleTouchIcon114x114Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-114x114.png", size: 8828, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-114x114.png", size: 8828, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0xc3, 0x7d, 0x16, 0x54, 0x26, 0x9, 0x25, 0x3, 0x12, 0x7, 0x43, 0x3f, 0xd2, 0x5e, 0xb7, 0x67, 0xc9, 0x2e, 0x89, 0xc6, 0xdc, 0x6b, 0x75, 0x92, 0xa3, 0xf3, 0x65, 0xb5, 0xb5, 0x71, 0xd6}} return a, nil } @@ -426,7 +425,7 @@ func uiDistAppleTouchIcon120x120Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-120x120.png", size: 9646, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-120x120.png", size: 9646, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0x28, 0x54, 0x2b, 0xdc, 0xa, 0x1c, 0x21, 0xe0, 0x1b, 0x9f, 0x94, 0xde, 0x3b, 0x18, 0x31, 0x36, 0xb8, 0xe8, 0xe3, 0xf4, 0xc3, 0x69, 0x93, 0x82, 0x35, 0xd6, 0xfb, 0x54, 0xb6, 0x8f, 0x1e}} return a, nil } @@ -446,7 +445,7 @@ func uiDistAppleTouchIcon144x144Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-144x144.png", size: 11519, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-144x144.png", size: 11519, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0xd6, 0x77, 0xc3, 0xd5, 0x7, 0xd8, 0x19, 0xc9, 0xe3, 0x8a, 0x91, 0x97, 0x6e, 0x62, 0x27, 0x32, 0x8, 0x7b, 0x2, 0xe2, 0x47, 0x32, 0x40, 0x8, 0xfb, 0x45, 0xeb, 0x4f, 0x48, 0xa8, 0xa7}} return a, nil } @@ -466,7 +465,7 @@ func uiDistAppleTouchIcon152x152Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-152x152.png", size: 13745, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-152x152.png", size: 13745, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0xdf, 0x47, 0xb3, 0x50, 0x75, 0x12, 0xef, 0xad, 0x5a, 0xba, 0x28, 0x6c, 0x88, 0xdd, 0x17, 0x93, 0xe8, 0xc6, 0xb7, 0x1c, 0x72, 0x85, 0x12, 0x71, 0xc2, 0xc6, 0xc0, 0x75, 0x5f, 0xf0, 0x68}} return a, nil } @@ -486,7 +485,7 @@ func uiDistAppleTouchIcon167x167Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-167x167.png", size: 15799, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-167x167.png", size: 15799, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0x2b, 0x60, 0x10, 0x8a, 0xc9, 0xe7, 0x1e, 0xc1, 0xf, 0x33, 0xb1, 0x5f, 0x2f, 0x52, 0xd4, 0xd2, 0xf1, 0x70, 0x76, 0x5c, 0x82, 0x32, 0x9, 0x24, 0xa7, 0xee, 0x48, 0x56, 0x3c, 0x47, 0xbb}} return a, nil } @@ -506,7 +505,7 @@ func uiDistAppleTouchIcon180x180Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-180x180.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-180x180.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x14, 0xfe, 0xef, 0xa6, 0xa, 0x81, 0xfc, 0x6c, 0xb7, 0x17, 0xd8, 0x66, 0x5d, 0xb6, 0x9f, 0xfb, 0x75, 0xb, 0xf1, 0x17, 0x1, 0x6b, 0xbf, 0x63, 0x35, 0xc8, 0x91, 0xba, 0xa5, 0xb, 0x69, 0xb1}} return a, nil } @@ -526,7 +525,7 @@ func uiDistAppleTouchIcon57x57Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-57x57.png", size: 2990, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-57x57.png", size: 2990, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x86, 0xf7, 0x26, 0x72, 0xb, 0x38, 0x2, 0x88, 0x81, 0x70, 0xc, 0x17, 0x96, 0x10, 0xeb, 0xe2, 0x8d, 0xba, 0x43, 0x7f, 0x7a, 0x7c, 0xfd, 0x6f, 0x1b, 0xe6, 0x98, 0xec, 0xbb, 0x26, 0x7a}} return a, nil } @@ -546,7 +545,7 @@ func uiDistAppleTouchIcon60x60Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-60x60.png", size: 3187, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-60x60.png", size: 3187, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0xc6, 0xdb, 0x2a, 0x8, 0x8e, 0xe0, 0xf4, 0x41, 0xa9, 0xfd, 0xc0, 0x9b, 0x8c, 0x76, 0xf, 0xbc, 0x9d, 0x3e, 0x42, 0x38, 0xf2, 0xce, 0x55, 0x9d, 0xe5, 0x9c, 0xcc, 0x45, 0x95, 0x65, 0x19}} return a, nil } @@ -566,7 +565,7 @@ func uiDistAppleTouchIcon72x72Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-72x72.png", size: 3970, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-72x72.png", size: 3970, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0x8a, 0xdc, 0x2d, 0xef, 0x5f, 0x89, 0x51, 0x14, 0x4d, 0x89, 0xfd, 0x6d, 0x4d, 0xb2, 0x7f, 0xe7, 0x65, 0x47, 0xd0, 0x30, 0x9c, 0xd6, 0x71, 0xa3, 0xad, 0x74, 0x2e, 0x29, 0x5c, 0xbf, 0x12}} return a, nil } @@ -586,7 +585,7 @@ func uiDistAppleTouchIcon76x76Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-76x76.png", size: 4575, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-76x76.png", size: 4575, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x75, 0xb6, 0xdb, 0x41, 0x5f, 0x8d, 0x79, 0xa4, 0xad, 0x1b, 0x8d, 0xc3, 0xbb, 0x8, 0x6c, 0xea, 0x33, 0x10, 0xc7, 0x6a, 0x1, 0x12, 0x3, 0x89, 0xf0, 0x1, 0x1f, 0x5, 0x25, 0x14, 0x3d}} return a, nil } @@ -606,7 +605,7 @@ func uiDistAppleTouchIconPrecomposedPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon-precomposed.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon-precomposed.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x14, 0xfe, 0xef, 0xa6, 0xa, 0x81, 0xfc, 0x6c, 0xb7, 0x17, 0xd8, 0x66, 0x5d, 0xb6, 0x9f, 0xfb, 0x75, 0xb, 0xf1, 0x17, 0x1, 0x6b, 0xbf, 0x63, 0x35, 0xc8, 0x91, 0xba, 0xa5, 0xb, 0x69, 0xb1}} return a, nil } @@ -626,48 +625,48 @@ func uiDistAppleTouchIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/apple-touch-icon.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/apple-touch-icon.png", size: 17671, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x14, 0xfe, 0xef, 0xa6, 0xa, 0x81, 0xfc, 0x6c, 0xb7, 0x17, 0xd8, 0x66, 0x5d, 0xb6, 0x9f, 0xfb, 0x75, 0xb, 0xf1, 0x17, 0x1, 0x6b, 0xbf, 0x63, 0x35, 0xc8, 0x91, 0xba, 0xa5, 0xb, 0x69, 0xb1}} return a, nil } -var _uiDistAssetsChunk143399ac03cf32e920eeb6fJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x6d\x53\x1c\x39\xb2\x37\x0e\xbf\x9f\x4f\xb1\x33\x71\xc7\x04\xc4\xe9\x9b\xe0\xd9\x36\x73\x71\x6d\x60\x68\xdb\x78\x30\x70\xba\xc1\x73\x4d\x38\x26\x1c\x45\xb7\x80\x5a\x37\x55\xbd\x55\xd5\x9e\xe1\xf8\xec\x77\xff\x47\x3d\xeb\x59\x29\xa5\x54\x30\xbb\xf3\x62\x77\x0c\x94\x32\x53\x3f\xa5\xa4\xcc\x54\x2a\xf5\x35\xca\xfe\xf6\xf9\x33\x79\xb8\x21\xd9\xe7\x68\x55\xa4\x9f\xe3\x87\x65\x9a\x15\x9f\x3f\xff\xb4\xb6\xb6\x7e\xf8\x7f\xbf\x95\x7f\x27\xa3\xe2\xf0\xdb\xde\xce\xce\xab\x83\x35\x32\x2a\x46\x69\xfb\xfb\xec\x30\x5d\xdb\xdd\x7f\xb5\x3e\x8a\x0f\xb3\x51\x74\xf8\x66\x95\xcc\x8a\x38\x4d\xd6\x7e\xc8\x48\xb1\xca\x92\xbf\x15\xf7\x71\xfe\xc3\xfa\xda\xfa\x68\x79\x98\xae\xbd\xdc\xdd\xdf\x5e\xff\x2e\xde\x48\x6f\xfe\x41\x66\xc5\x06\xf9\xa3\x20\xc9\x7c\x6d\x99\xa5\x45\x3a\x5a\xae\x7f\x57\xd2\xcb\x0f\xd3\xb5\xed\xbd\x17\x9b\xaa\xcf\xf2\xfa\xb3\xa4\xfc\x6c\x77\xef\x95\xea\xb3\xa4\xfe\xec\xfe\x30\x5d\x7b\xf1\x6a\x7b\x57\xf5\xd9\xfd\xfa\x28\xde\x20\x7f\x94\xbd\x9d\x3e\x3e\xdc\xa4\x8b\xb5\x1f\xaa\x3f\x6c\xdc\x47\xf9\x7d\x3c\x4b\xb3\xe5\xc6\xef\xd1\xe3\x32\x8d\x93\x62\xe3\x68\x9e\x2e\x8b\xc9\x2a\x49\x48\x36\x21\xff\x5c\x91\xbc\xf8\x61\x94\xac\x16\x8b\x51\x64\x43\x64\xb9\x5c\xc4\xb3\xa8\x84\xc8\xa5\x75\x56\xc4\xb7\xd1\xcc\x89\xf1\xaa\xb8\xff\x40\x8a\xfb\x74\x8e\x6a\xbc\x51\xff\xe7\x38\xca\x09\x8e\xce\xc5\xe9\xc9\xb1\x03\x85\xd7\xab\x78\xe1\xd2\x83\xaa\xdd\xc6\x65\x46\x16\x69\xe4\xd2\xfe\x38\x4a\x66\x64\xf1\x3e\xbd\x71\x1f\xfa\x9a\xc4\x55\x94\x7f\x41\xd0\x48\x1f\x96\x0b\x52\x90\x12\xbd\x12\x4c\x9f\x94\xf2\x65\x9a\x38\x8d\x6a\x49\x2a\x4d\x48\xe2\x2a\x46\xd5\x76\xe3\xea\x71\xe9\xc6\x3c\xb9\x8d\xef\xde\x92\x02\x03\x05\x4b\x62\x63\x3a\x4b\x97\xc4\x51\xc5\x29\x62\x08\x40\x4b\x1a\x53\x7c\x9f\xa6\x3e\xc4\x48\x57\xd9\x0c\xdb\xdc\x03\xa4\xd3\xc7\x64\x76\x19\x2f\xc9\x22\x4e\x08\x1a\x17\x86\x16\x12\xa0\x8f\x51\x86\x69\xbb\x71\xf2\x98\x44\x0f\xf1\xec\x63\xb4\x40\x91\xb9\x8a\xb2\x3b\xe2\x0e\x49\x4f\xa2\xdc\xa3\xf0\xc3\x55\xd2\xbb\x4e\x56\x39\x99\xfb\xa1\xf5\x31\x5a\xac\x10\x54\xbe\x92\xac\x38\x4d\xbe\xc6\x05\xb9\x4a\xbf\x90\x04\xa1\x40\x19\x89\x0a\xf2\x2e\xcd\x8b\x24\x7a\xc0\x28\x22\x47\xc7\x5d\x09\x2b\x42\xd3\x24\x5a\xe6\xf7\x29\x6a\xba\x4b\x09\x6d\x8c\xbf\x92\xa4\x70\x05\x5e\x4e\xf2\x62\x49\x5c\xac\x9f\x13\x32\x5b\x44\x19\x99\x4f\x48\xee\xba\x26\x9d\x90\x59\x3a\xc7\xaa\x00\x43\xc4\x19\xee\x13\x52\x6e\xbf\xbd\x45\x84\x91\xa7\xa4\x84\x57\xc9\x9a\xce\x45\x72\x42\x1e\xa2\x64\x5e\x5b\xba\xf5\x04\x0c\x43\x13\x09\x1d\xce\x92\x6a\x68\x64\xf1\xdd\x1d\xc6\x9e\xaf\xc9\x5c\xe7\x38\x1a\xcb\x45\xfa\xf8\xe0\x66\x40\xf5\x8d\x37\xce\xd2\x68\x7e\x42\x8a\x28\x5e\xe4\x38\x42\xee\x66\x72\x4f\x64\xfc\xc7\x32\x4a\xe6\xc4\x8d\x48\x5e\x64\xe9\xe3\x65\x96\x96\x0e\x1b\x06\xd7\x8a\x0e\x6e\xc1\x48\x67\xab\xb2\x3b\xae\x1e\x1b\xd3\x7e\xe3\x4d\x4c\x9c\xbc\x17\x96\xca\x87\x68\xb9\x24\x2e\x36\xc7\x38\x29\xb2\xfa\x9f\xf5\x14\xf4\x40\x82\x1a\xf1\xd3\xe4\x36\xf5\x41\x71\xfc\x07\x99\xf9\xa0\x73\x3d\x39\x9b\x92\xec\x6b\xec\x34\xee\x3c\x35\x77\x2d\x14\x29\x39\xaf\x7b\x3d\xa9\x12\x23\x1f\x22\x51\x74\x36\xc6\x59\x96\xe2\xb4\x8a\xa1\x86\x30\x1b\x14\x14\xff\x88\xfd\x75\xd6\xd1\x04\x51\x10\x5b\x15\xcb\x95\x47\xd9\x2a\x72\x1b\xc7\xf7\x51\x92\x10\x17\xa7\x80\x27\xeb\x4d\xe1\x3c\x98\x84\x3d\xc9\xb3\xf4\xee\x75\x54\xcc\xee\x5d\x88\x94\xaa\x5a\x6f\x75\x2e\xad\xff\x20\xb3\x69\x91\x91\xe8\x01\x31\x85\x78\x1a\x38\x50\x04\x6a\xa7\x89\xa3\x46\x09\x94\x2e\xaf\x7e\xf5\x42\x67\x5a\x44\x99\x1f\x89\x2a\x4a\x8d\xb3\xe9\x0d\xb0\x5f\xe2\x64\x9e\xfe\x3e\x8d\xff\x07\x4b\xce\x7d\xb2\x08\x44\xbc\xe9\x44\x4b\xce\x71\x05\x14\x29\xb9\x2e\x7f\x12\x4a\xce\x6b\x9f\x8a\x16\x66\xe1\xfb\x63\x49\xe6\x71\x41\xa6\x45\x54\xac\xf2\x09\x29\x1b\x61\xe6\xb8\x92\x1a\x56\x7b\x65\x84\x9d\x15\xef\x4d\x5a\xca\x82\x3d\x99\x78\x4b\x12\x92\x45\x05\xa9\xe9\x20\x5d\xe4\x86\x98\x9b\xcd\xfc\x96\x14\xd4\x31\x09\x46\x08\x96\x8e\x33\xc0\x25\x21\x0f\x7e\x3a\x47\x06\x23\x4e\x75\x9c\x81\x92\x84\x8e\xce\xfa\x26\x84\x8a\xf6\x0a\x24\x31\x38\xf5\xde\x09\xaa\x8f\xa8\x73\x9f\xba\x3d\xd6\xe0\x60\xa9\x60\x30\x11\xc8\x74\x67\x41\xbe\xe8\x9d\xa4\xbf\x27\x8e\x01\x04\x29\x3d\x57\xcf\x44\x4e\x0c\xb1\x27\x4b\x09\xbe\x4f\x6f\xca\x1d\xeb\xce\x1b\x41\xc7\xcd\x59\x4a\xab\xdc\x62\xbc\x09\x76\x45\xb2\x87\x38\x71\x3a\xa7\xd0\xd2\xab\xc7\x24\x0c\x55\xff\xe3\xcd\xd1\x3f\x8b\x93\x50\xa4\xcf\xa3\x07\x32\xaf\x0e\x3e\x82\x33\x70\x89\x18\x42\x38\x4c\xa2\xdf\x03\x51\xae\x8d\xa7\x60\xc4\xc9\x32\x20\xe9\xb7\x59\xba\x0a\x45\xff\x2a\xba\x59\x84\xd2\x97\x8a\x76\xe5\xc1\x87\x64\x30\x49\x1d\x75\xe6\x2c\x2a\x48\xee\xc1\x36\xaa\xe9\x5c\xae\xf2\x7b\x32\x6f\x53\x6e\x3c\x10\x9c\x90\x05\x89\x72\x9c\xb5\x55\x53\xf2\xe3\xdf\xe8\xc8\xe1\x1c\x9c\x92\x72\x7a\xe7\xc1\xe4\xe1\xa9\x20\xf3\xa7\x64\x14\x91\xb6\x6a\x9b\x3f\x73\x3d\x39\x43\xf5\x94\xa1\x83\x31\xef\xfc\x9e\xdf\x29\x09\x62\x44\xc4\xa7\x71\x30\x44\xfc\x88\xd2\x2c\x48\x6f\xb3\x68\xe9\x12\x92\x54\xd2\x2a\xdd\xf3\x87\x08\xdb\xc9\x15\xce\x0f\x66\xe8\xa0\xf0\xc2\x1e\xca\xd1\x34\x50\x82\xf8\x5b\x9d\x7d\xac\xcb\xf8\xe8\x4b\x31\x25\xd9\x57\x3f\xf3\xcb\xdb\xf6\x80\x3b\x62\xef\x08\x60\xfa\x82\x3e\xa1\xa7\x69\x60\x04\xc1\x9d\xf1\x77\x04\x30\x22\x7c\x24\x59\x1e\xa7\xc9\x69\x72\x9b\xe2\x08\xfd\x92\x66\x5f\xf2\x65\x84\x8c\xfc\x50\x54\x9c\x85\x79\xf7\xe1\xe8\xf8\x67\xe2\x62\x4e\xbe\x9b\xb9\xf8\xa1\xef\x66\x0b\xf7\x05\xb9\x4d\xb1\x41\x34\x75\x4f\xd3\xe3\x28\xe0\x0c\x34\x8e\xd8\xd1\xd2\xc5\x1b\x39\x4d\xca\x2d\xe5\x67\x42\x96\xd1\x22\xfe\xea\x22\xc6\x69\x92\x17\x51\xe2\x74\x40\xdf\x36\x75\xcd\x1b\xf6\x92\x0c\xf8\x3e\xbd\x71\x6b\x55\x65\xc2\x5f\xb8\x80\xde\x36\x9e\x90\x7c\xb5\x70\x94\x99\x22\xb0\x81\xa2\x53\xb9\x5a\xce\xdd\x68\x1c\x35\x04\x7f\xe7\x34\x96\xbe\xf1\x86\x73\x7e\x73\x4f\x63\xfa\x98\xcc\x9c\x51\xe8\x49\xa0\xa0\x38\x89\x8a\x08\xd5\x95\x9e\xc0\xc6\x84\xdc\x7a\x21\x52\xfe\xcf\x71\x81\xe2\x88\xd5\xff\xc1\xd0\xaa\x0e\x02\x9c\x07\xa9\x6e\x8e\x1b\xa0\x3a\x1b\x0d\x21\x42\xd3\x1e\xb7\xf2\x53\xa4\x1a\x3b\xdc\x5d\xa2\x74\x96\xa3\x1a\xe3\xf0\xec\x08\xe0\xd6\xb0\xf1\x1f\xc4\x7d\xf2\x36\x69\x31\xee\xdc\xdf\x3a\x9d\xe8\x37\x2d\xab\x75\x1c\xa1\x07\x25\x89\xd7\x51\x1e\xbb\xa4\xdb\xb5\xed\xdd\xd7\x8a\xb2\xf5\x74\xfa\xce\xb1\xf5\x69\x12\xbb\x6b\x6e\xd9\x18\x35\x6c\x67\xe9\xcc\xe9\x18\xa4\x6e\x7b\xe7\x3e\x6d\xce\xd3\xd4\xb5\xe9\xc5\xb2\x39\x92\x47\x68\x4c\x1b\x47\xf0\xb4\x69\xb5\xe4\xa6\x05\x59\x3a\x43\x42\x13\xc1\x49\x93\x2e\x16\xee\x52\xa4\x8b\x05\x8e\x7b\xbd\x1a\x37\x6b\x33\x8e\xd4\x2a\x77\x37\x2e\xcb\xc6\x28\xee\xff\xbd\x22\x2b\x82\xdd\x5b\x68\x22\xde\xa4\x69\xb6\x0b\x5c\x0c\xb9\x24\xda\x44\x8c\x9c\x7b\xd7\x45\x9c\x10\x1d\x9b\x90\x87\xd4\xe9\x68\xb7\x6e\x8c\xe0\x5c\xe5\xef\x5d\x45\xf9\x97\xb3\x68\x95\xcc\xdc\x35\xad\xa3\x83\x95\xc6\x19\x06\x3a\x50\x86\xe9\x06\x45\x04\x6f\x9d\x71\x59\x61\x18\x64\xd2\xa5\x97\x61\x62\xc9\xd4\x88\x23\x3a\x58\x12\xbb\xf8\x4a\xb2\x2c\x9e\x63\x48\x5c\x2e\x56\x77\x71\x72\x19\x65\xd1\x83\xcb\x31\x70\x49\xe6\xda\x7d\xd7\xb9\xc6\xed\x35\x1f\xa3\x45\x3c\x8f\x0a\xf7\x25\xa4\x25\x80\x92\xe2\x97\xa8\x98\xdd\x57\xc3\xe1\x2a\x46\x47\xc1\x59\x8e\xb3\x38\xa7\xd2\xe2\x72\x44\x2c\xb1\xa4\x54\xc5\x14\x72\xf7\x88\x0e\x4d\x03\x25\x48\x9f\x79\x86\x94\x86\x21\x84\x12\xa9\x0d\xfa\x21\x05\xa2\xc8\xa0\xc4\x69\x23\x78\x48\x71\x78\x32\xc8\xed\x5d\x4a\x12\x73\x46\xcc\x11\x44\x41\xf6\x3e\xbd\x41\xa2\x55\x53\x40\x09\xd1\x9e\x54\xfb\x99\xb0\xb2\xd3\x65\x2c\x4d\xea\xb4\x13\x09\x17\x4b\xc9\x8b\x50\x9e\x24\x42\x8b\x53\x9b\xc4\x58\x69\x3a\x2a\x38\x61\x98\xc3\x5c\xac\x4c\x3c\x31\x94\x68\x8d\xa9\x8e\x94\xa9\xa7\x82\x13\xa6\x9a\x24\x58\x59\x5a\x22\x28\x51\x68\x2b\x15\x29\x90\x8c\x14\xce\x8c\x96\x50\x45\x75\x16\x77\x0e\xde\x53\xc0\x09\x81\x3d\x09\x67\x88\xa0\x44\xb9\xce\xf1\x0a\xd4\x9d\x1e\x23\xb5\x47\xa0\x83\xde\xad\x69\x8a\xee\x5d\x74\xbf\xdd\xd8\x36\xdd\x70\xcd\xb4\x64\x09\xb8\x9f\x70\x9d\xa5\x77\x71\x82\x3c\x22\x3d\x27\xbf\x63\x2b\x65\xb0\x06\x07\x9a\xc0\xc6\xcf\x71\xe2\x44\x45\x62\xa9\xb8\x90\x59\xba\xdf\x8c\xea\xda\x6e\x5c\xde\x3f\xe6\xf1\x2c\x5a\xb8\x46\x3f\x3a\x4a\x17\xd9\xdc\xa9\x96\x00\x4b\x60\xc3\x95\xcc\x65\x74\x17\x27\xc8\x7b\x5e\x34\x0d\x67\x25\x6b\xed\x2a\x44\xd3\x8d\x8b\xdf\x4b\xc5\x70\x5b\x78\x3a\x22\x8e\xa9\xe7\x4c\x7b\xe7\x32\x79\x2c\x95\xda\xf5\x44\x93\x71\x2c\xe8\xc0\x12\x29\x27\xad\x0f\x68\xbd\x0c\x74\x45\xa8\xb1\xe9\xd0\x74\xae\x31\xc3\x3d\x59\xb9\xac\x23\x54\x6b\xe7\xf8\x69\x63\xfa\xbb\xb7\xac\xea\x8c\x55\x46\xda\x65\xba\x70\x39\x4c\x6b\xe9\x60\x9b\xd7\xff\x75\xc6\x81\x71\x37\xd0\x04\x10\xc5\x77\xaa\xa3\x0e\xd4\x55\xc5\x9e\x82\xf3\x3a\xea\x76\x1e\x3c\x21\xb7\xc8\xb8\x4d\x45\xc1\x7d\x10\xe8\xe6\x88\xb4\x95\x8a\x0c\xc6\x54\x29\x09\x60\xea\x69\x96\xed\x3d\xd4\x49\xab\xc9\x20\xca\x52\xb1\x04\x90\x88\xbe\x5d\xa4\x37\x4e\xc7\xed\x65\x63\xb7\x1c\xbd\xb2\xa5\x27\x83\xaf\x22\x85\x30\xfa\x98\xf6\x38\xbf\x98\x21\x35\x25\xff\x74\x24\x81\xd8\x42\xe9\xe6\x48\xad\x68\xc9\x54\x56\x17\x92\x86\xa3\xd1\x55\x91\x70\xde\x07\xab\x0c\xb9\x4a\xb7\x50\x8d\xf1\x2a\x51\xd3\x39\x4a\x5c\x4c\xbd\xbe\xfd\xa9\xeb\x7a\x57\x37\x3f\x8b\x6e\x88\x53\xe1\xba\x92\xc4\x55\x94\x7f\x41\x34\x45\x6a\x62\x13\x54\x71\x6c\x7d\x9d\xa3\x9a\x22\x65\x2f\x49\x38\x8f\x5c\xd9\xb8\xfc\x9f\x63\x52\x7c\x49\xa2\x0b\xb6\x38\xb5\x77\xb5\xc0\x9b\x96\xc8\x92\x89\x2d\x15\x77\x93\xad\xa1\x80\x28\x96\xd8\x6e\xf2\xc7\x51\x41\xee\xd2\xec\xf1\x24\xce\x97\x8b\xe8\xf1\x5d\xec\xb8\x6d\xe7\x45\x9a\x51\x15\x5b\x5d\x2d\x49\x39\x21\xd4\x65\x7c\x05\x49\xc7\x6a\x09\x93\x55\x82\xbf\x86\xc8\x10\x71\x37\x99\x57\x09\x3a\xb6\x4b\xd3\xc0\x08\xe2\xb8\x19\xd5\x1b\x51\xf5\x42\x42\x69\x59\x38\xba\x52\x0d\x19\x84\xab\xdf\x50\x70\x4d\xcf\x6c\x9a\x5f\x9c\x4c\xdc\x1b\x3b\xe7\x65\x61\xcd\x4c\x2f\xf7\x7d\x25\x54\x70\x93\x56\x42\xcf\x7d\xc6\xfa\xb8\x7f\x5c\x93\x61\x6a\x03\xf9\x01\x4d\x4a\x12\x29\xa6\x87\xc2\x41\x72\x42\x1b\x47\x33\x27\x83\x49\x4e\x0c\x51\x40\x48\x49\xb1\xc4\xef\xcc\x71\x57\x95\xd3\x74\x2d\x23\xa4\x22\x87\x9e\x16\x02\xc9\x77\x24\xca\x8a\x1b\xe2\x74\x39\x51\x41\xd2\xbb\xe2\x7c\x8c\xb2\x38\xba\x59\x90\xba\x6c\xcc\xd4\xe9\x2e\xa3\x40\xda\xdf\x34\xf1\x50\xe5\x49\x45\xf3\x7d\x7a\x73\x94\xe7\xf1\x5d\xe2\x1a\x13\x51\xd3\xad\xdf\x86\x71\xa6\x89\x3c\xa3\x63\x88\x38\x0f\x05\x7d\x7f\x1d\xd9\x7c\xe3\x68\xfe\x95\x64\x45\x9c\x93\xa3\xf9\xdc\x65\xca\xd6\xc4\xde\x90\xa8\x58\x65\x4e\xb5\x8d\x58\x02\x1b\xb7\xf5\x3f\x9c\x08\x79\x2a\xb5\x37\xe5\x2b\x04\x38\x13\x6a\x0c\x68\x44\xd3\x8d\xd7\xe9\xa2\x38\xbe\x5f\x25\x2e\x7b\x48\x47\xe4\x1d\x89\xdc\x0e\x0d\x39\x0a\xee\x17\xba\x3b\x42\x57\x59\x14\x2f\x70\xb2\x34\x24\x36\x8e\xef\xc9\xec\x4b\xbe\x7a\x70\x5c\x7c\x9c\xcb\x5a\xd5\x0d\x9d\x8f\x73\xea\xe6\x6f\xe2\x45\xe1\x06\x03\xd5\x7c\xc3\x27\x95\xe6\x3f\x28\x34\xeb\x24\x20\x64\xf3\x52\xd9\x16\x85\x4b\x3e\x07\x43\x05\x11\x94\x97\xd2\xf1\x24\x56\x1d\x43\x3c\x75\xf5\xbb\x1c\xe3\x6f\x55\xec\xcd\x55\x63\xfb\x3b\x09\x8e\x2f\x0f\x54\x1b\x9e\x6b\x3b\xaa\x90\xb9\x33\x89\xba\x06\x01\xb2\xf9\xc6\x34\xbe\x4b\x9c\xaa\xc9\xd5\x54\x10\xde\x76\x4d\xa0\xca\x12\x72\x6e\xed\x1c\x73\xa8\x9b\xbb\x87\x5e\xab\xf6\x57\x59\x94\xe4\x8e\x8b\x03\x4b\x60\x63\xfc\x47\x41\xb2\x24\x5a\x1c\x67\x64\x9e\x63\x00\xed\x49\x5e\x54\xf7\x7b\x33\x32\x27\x49\x11\x47\x4e\x21\x4a\x04\x3e\x75\x4b\xf4\xb5\xd1\xeb\x53\xa7\x46\xd4\xe9\xe1\xeb\x55\x32\x77\x2a\x69\x78\x7d\xea\xab\x06\xb0\x48\xc9\xd9\x4c\xae\x49\xa1\xeb\x68\x71\x64\x30\xe2\x78\xbb\xae\x22\xa3\x85\x15\x0c\x9f\xa7\x2e\x10\xc2\x8a\x84\x4f\x09\x17\x08\x61\x44\x6a\x3a\x86\x99\x25\x8d\x20\xee\x24\x96\xf3\x08\xfb\x0a\x16\x4d\xc3\x1d\x8e\x65\x4e\x32\x3f\xd5\xe3\x25\xa4\xb0\x62\x79\xa8\x21\x2f\x52\x42\x0a\x85\xac\x96\xca\x10\x41\x8a\xe2\x65\xa1\x96\x53\x2a\x77\xb3\xdc\xd1\xce\x14\x49\x22\xfb\xe9\xb7\x42\xa7\x8e\x26\x52\x50\xfc\x01\x19\x4f\x07\x2b\x10\x7a\xd7\x64\xc9\x60\xc5\xf1\x54\x83\x52\x4e\x0d\x29\x1c\xba\xaa\x25\x47\x06\x29\x8e\x9f\x9a\x94\x32\x5a\x48\xc1\x70\x77\x7b\x68\x1a\x58\x41\xb0\x67\xc0\x1c\x19\xa4\x38\x1e\x6a\x44\x0a\x84\xdc\x45\x72\xcb\x91\xa9\xf2\x63\xce\x62\xa7\x30\x65\xd7\x16\xf7\xe4\x7d\x4f\xc6\xf1\xc5\xfb\xf6\xa2\x3f\x2a\xb1\x97\x21\xe2\x3c\x0a\xed\xd1\x0f\xa2\xe9\xc6\x9b\x18\xdb\x3e\x89\x16\xae\x6f\x22\x48\xa8\xb8\xdf\x8e\x92\x11\xc3\xbc\x52\xdd\xd1\x7b\x37\x5b\x5c\xa6\x2e\xce\x3e\x4d\x61\xe2\xf8\x22\x49\x47\x03\x55\x72\xaf\xa3\xf2\xf1\x78\x8a\x6a\x8e\xc1\xb3\xaf\x96\x8b\x6b\x5d\x7a\x58\x45\x3a\x4b\x17\xcd\xef\x1c\xa8\xfd\xd2\xfc\xe3\xdd\x6c\xf1\xe6\x01\xb1\xff\xf1\x74\x9c\xa7\x32\x26\xed\xae\x6b\x8b\x4c\xd9\xef\xe9\x08\x39\xb4\x1a\x67\xf5\xf0\x76\x95\xcc\x4a\x8e\x6b\x64\xfd\x5b\xb6\xf1\x81\xe4\x79\x74\x47\x36\xe2\x24\x2e\xe2\x68\x11\xff\x0f\x59\x2b\xee\xe3\x7c\x44\x46\x9b\xa3\xff\xff\x56\x4d\xb0\xfc\xbf\xf5\x7f\x8d\xe2\x8d\x38\xb9\x27\x59\x5c\xe4\x6b\x1a\xfa\xa3\x8e\x66\xd9\x95\x93\xf1\xeb\xeb\xb7\x3f\xfe\xf8\xfd\xf1\xc5\x87\xcb\xd3\xb3\xf1\xc9\x8f\x3f\xea\xda\x6e\xcc\xeb\xec\xbb\xf3\xe8\x81\x1c\x6a\x43\x62\xda\x2e\xca\x02\x1f\xa1\xbb\x2d\xe3\x89\x82\x42\x42\x0f\x0c\x8f\x34\xf2\x63\x03\x59\x3d\x2f\xec\x30\xb3\xa5\xbe\x91\x91\x25\x89\x0a\x32\xaf\x5e\x75\xce\x3f\xa3\xf0\xae\x49\x7a\x04\xbc\x91\xd1\x11\xf1\x66\x5d\xd1\x43\xce\x04\x9e\x82\xeb\x27\xc3\x0d\x05\x14\x43\x09\x8e\x10\x1b\x67\xd3\x43\x23\x44\x78\x83\xc3\x23\x70\x44\x41\x24\x50\x83\xc3\x24\x06\xb7\xe1\x50\xb9\x4c\x5b\x24\x56\x1e\x26\x9e\x48\xce\x0d\x2d\xd0\xa4\x93\x07\xeb\xfd\xae\x74\x22\x7d\x0f\x6b\x9d\x48\x14\xbd\xda\x49\xe4\xb4\x5a\xef\x24\x87\x1e\x96\xe0\x87\xd8\x67\x24\x0c\x7c\xc3\xef\x69\xb7\x91\x49\xea\x3e\x00\x20\xf5\x97\x9d\xe7\x0d\xb1\x5e\x08\x4c\xb1\x2b\x86\x18\xa2\xb6\x59\x33\xc4\x50\xb9\x15\x6c\xc3\xad\xb3\x22\x57\x9f\xc0\x39\xac\xb6\x92\x38\xbe\x1e\x3a\xfe\x1c\x3a\x38\x6a\x3c\x43\x14\x60\x3c\x31\x38\x56\xc2\xf9\xbb\x79\x69\xe4\x0e\x46\xfd\x2e\x8b\x1c\x71\x0f\x4b\x22\x47\x11\xbd\x1c\xf2\x12\x5a\x2d\x85\xfc\xa1\xb2\x0d\xda\x21\x76\x21\x9e\xba\x57\xbc\x3d\xed\x3f\x82\x8c\x8e\x88\x83\xd6\x01\xe6\x8c\x3c\xf8\x22\xc0\x70\x43\x01\xc5\x50\x82\x23\xc4\xa6\x04\x68\xa0\x91\xbf\x4b\x15\x16\x20\x39\x4f\x77\x98\xe4\xf4\x80\x60\x29\x1e\xe6\xd2\x40\xc6\x26\x97\x7b\x9a\xb7\x5c\xc6\x3a\x62\xba\xb2\x94\xdc\x51\xe5\x24\x82\xa1\xc9\x65\xee\x6b\x50\xa4\x40\x0f\xab\x6d\x14\x23\x77\x30\xe8\x78\x32\x0c\x09\x3a\x7e\x0d\x83\x81\x0f\x54\x0f\x06\x0b\xcf\xd8\x0f\x4c\x1c\x51\x7b\xd8\x84\xc0\xbd\x06\x46\x2a\x94\x1d\x16\x36\x8a\x91\x3b\x4c\x14\x11\x20\x2c\x74\xa8\x5e\xa7\x4d\xcd\xc9\x8b\x03\x06\xe6\xd3\x9c\x34\x21\xe9\x6d\xf5\xf6\x75\xfe\x19\xaa\x64\x4d\x5b\x84\x46\xb5\xdc\x81\xea\xd3\x9e\x71\x02\x40\xaa\x0e\x33\x03\x4f\x32\x9a\x95\x07\x10\x4a\x32\x96\x48\xd4\x47\xb6\x10\x38\x3e\x1e\x4f\x07\x42\xe3\xe3\xf1\xd4\x03\x18\x1f\x8f\xa7\xb6\x58\x7c\x3c\x9e\x82\xa0\xa8\xcf\x70\x07\x42\xa3\x66\xe6\x01\x90\x9a\x90\x2d\x26\xcd\x79\x35\x10\x96\xea\x60\x7a\x38\x60\x2a\x76\x7e\xa0\xa9\x48\x39\x80\x53\x1f\xc5\xc3\xd6\x93\x36\x93\x20\xc8\xfa\x4b\x25\x2a\x20\x96\x62\x8a\x8c\x97\x05\xa9\x93\xc9\x7a\x59\xea\x32\x41\x34\xd8\x36\xd1\x75\x4f\x46\x76\x5b\x33\x10\x61\x5d\x37\x24\xdc\xa1\x6b\x65\x80\xc1\xd5\x1e\xad\x9b\x21\xaa\xea\x28\x86\x9d\x98\x34\x27\x3c\x00\x25\x15\x3b\x14\xea\x52\x91\x00\x28\x98\xd2\x94\xc3\x60\xc2\xb0\xc4\x83\xc3\x90\xb3\x44\x89\x2d\xcc\xa9\x81\xab\xcb\xe0\xf0\x34\xbd\xfa\x8c\x10\xc4\x04\xeb\x88\xb8\x83\xd8\xcb\x01\x03\xae\xcf\xa6\x81\x80\xe5\x79\x4d\x12\xe8\x7a\x01\x0f\xbf\x4e\x89\x72\x59\x82\x09\x59\xbb\xa4\xb9\x48\x61\x27\xac\x94\xa5\x0f\x98\xec\x9d\x3a\x79\x26\x96\x2e\x8e\x99\x93\xcc\x57\x9c\x38\x27\x19\x2a\x28\x9c\x93\x0c\x11\xd8\x2c\xb9\x03\x83\x99\x39\xc9\x4c\x98\x54\x19\xba\x3e\x6d\xae\x3e\xed\xd7\xc1\xd2\xea\x1a\x23\xf1\xa9\xf8\xc3\x41\xaa\x33\xa5\x21\x48\x55\xb9\xcc\x81\x63\xe0\x0c\x2f\x1f\x40\x94\x74\x6c\xd1\xa8\x93\xb6\x35\x90\x4c\xc8\x6d\x58\x1c\x26\xe4\xd6\xbd\xf3\x13\x72\x0b\xec\xf1\x84\xdc\x1a\xba\xd9\x54\xe1\x0d\xde\xdb\x86\x0f\xae\xd3\x35\x0d\x78\xdf\xdb\x12\xc3\x06\x08\x06\xdb\x63\x38\x66\x38\x30\xec\xf7\x15\xbe\x1c\xb7\x01\x16\x27\x7b\xc6\x05\x12\xb4\x4d\x42\x11\xb1\x80\x02\x60\x87\x30\xa5\x4c\xc3\x03\xe1\xc1\xc6\x65\xc8\x58\x80\x01\xb2\x75\xd9\xf2\xdf\x3e\x37\x56\xae\xb0\xb8\xc3\xee\xca\x52\xc0\x01\x48\x49\x02\x47\x90\x2a\xac\x6e\x5a\x6f\x9a\xcb\x80\xbe\x01\xec\x2a\xdd\x3b\xc2\xd7\xb6\x47\xae\x4b\xad\x14\x16\x8b\x52\x5b\xe1\xdf\x00\x5c\x57\x42\x3f\xfc\x54\xec\x58\xe1\xc0\xe8\xc8\x58\xa0\xd1\x3f\x14\x60\x80\xa3\xab\xe1\xe1\x5b\x91\xfa\xba\xf4\x8e\x9a\xd4\x11\xc0\xa1\xd7\xcb\x01\x47\xaf\xaf\xc9\x0f\x45\x6f\x4a\xfe\x19\x5e\x9f\x68\x6e\x9e\x40\x99\x92\x7f\xba\xe0\x32\x25\xff\x34\x41\x53\x5f\x37\xf7\xad\x55\x4d\x25\x5d\x47\x95\xaa\x5b\xe3\xa0\x6b\x24\x80\x83\xd6\x94\x31\x02\xc1\x75\x94\x3c\x86\x57\xa3\x8e\x95\x0f\x20\x8e\x92\x47\x6b\x2c\x8e\x92\x47\x18\x1c\xa7\xf3\xa1\xd0\x38\x9d\xfb\x00\xe3\x74\x6e\x8d\xc5\xe9\x1c\x06\x45\xfd\x06\xc2\x50\x70\xd4\xdc\x7c\x40\x52\x53\xb2\x86\xa5\x79\xf2\xc1\x00\x8d\x7d\xcc\xca\xbc\xc2\x54\x0e\xbe\xe3\xfa\x82\x0b\x5c\x75\xdc\xe1\x60\x99\x02\x58\xfd\x33\x0e\xe1\x35\xa7\xe6\x83\xef\xbe\xd5\x24\x6a\xde\xa8\x00\x40\xd0\x3e\x46\x31\x0c\x10\x2d\x37\x3c\x1c\x2d\x25\x4b\x50\xba\xb7\x37\x4c\x7e\x44\x57\x2f\x68\x80\xb0\x45\xc7\x0b\xe9\x1d\xf4\x0f\x76\x5a\xf8\x07\xfd\xdb\x5b\x46\xef\x94\x7d\x24\x2b\x3c\x30\x3c\x47\xac\xe7\xc9\x52\xb3\xf2\x3f\xb9\xf7\xc1\x4c\xf6\xaf\xa4\xb6\xd0\x00\x76\xb0\x84\x2b\xd2\x1e\x96\x50\xb4\xb1\x8b\x65\xcf\x81\x19\xa0\x6b\x8a\xb1\x84\x47\xab\x61\x84\x03\xa8\x2d\xf9\x08\xc7\xa4\x2d\x2f\x69\x80\xe1\x7d\x7a\x13\x1e\x82\xf7\xe9\x0d\xae\xfb\xef\xd3\x1b\x8b\xae\xbf\x4f\x6f\x8c\xa3\x1f\xe5\x5e\x0f\x95\xba\xe7\xaa\x1c\x2d\x97\xb2\x2d\x52\x43\x4a\xee\x16\xea\x11\xe5\xda\x03\x25\xfa\x09\x36\xdf\x40\x75\xaf\xcc\x39\x82\xd5\xb6\x47\x06\x9b\x5b\x29\x2c\xa2\xcd\xed\xeb\x7a\x40\xe0\xaa\xf7\xef\x06\x88\xbd\xd3\xec\xfc\x80\x52\x91\x72\x40\xa6\x7e\xf1\x0f\x08\xcf\xb4\x20\xcb\xe1\xd0\x29\xb9\xf9\x01\xa7\x7a\x1b\xd8\x1e\x9b\xea\x25\x43\x0d\x34\x03\x45\x46\x3d\x44\x45\x6d\x23\xa2\xa0\x68\x68\x9d\xd7\x14\xb6\xef\x35\x0f\xc4\xbd\x99\xba\x92\x3f\xf0\xbe\x4c\xfd\x5e\x80\xb1\xcb\x75\x19\x7d\x5f\x77\x8d\xe8\x3a\xfd\x98\x9b\x46\x14\x1d\x2c\x5e\x8d\x34\x36\xa8\x35\xef\x14\x00\xb1\xdb\x70\x81\x50\xbf\x4f\xc9\xde\x3b\x70\xd8\xae\x24\x64\x3c\xa1\xe9\x0c\xea\x86\x19\x5b\xcc\xa1\x84\x85\x8e\x79\x38\x61\xb0\x3d\x5d\x00\x9d\x2c\x74\x1f\x5d\x64\xf3\xd0\xfb\x37\xcb\xcb\x03\x10\x15\x1d\x5b\x34\xaa\x46\xfa\xab\xa4\xc9\x20\x2a\xd1\xf3\xc1\x5c\x19\x4d\xec\x94\xa2\x6f\xa0\x83\x60\xd8\xb0\x84\xbf\x90\x84\x63\x38\xc2\x26\x14\x71\x42\xf2\x22\x4b\x1f\x87\xc3\x86\x63\x87\x01\x87\x23\x05\x46\x87\x6b\xa7\x83\x87\x7d\x0e\xc5\xd3\x46\xcf\x12\xc5\x6c\xf5\x2c\x25\x77\x2c\x39\x89\x60\x40\x72\x4f\xc5\x18\x50\x0c\xab\x57\x38\x27\xdc\xc2\x01\x37\x39\xdf\x42\xf9\xe3\xc0\x09\x9d\x3c\x3b\x44\x4e\x27\x4f\x0a\x9a\xd6\x29\x14\x7c\x06\xc2\x33\x48\xbd\x1c\x81\x9f\x1f\x80\xec\x4a\x63\x88\xe5\xac\xf5\xa5\x1f\x06\x53\x1f\x96\x17\xaa\xd4\x83\xbd\xe2\xb0\x8d\x40\x90\x0c\x54\x06\xc3\x8f\xbe\x70\x84\x6c\x51\x31\x6b\xca\x09\x59\x90\x82\x0c\xa6\x2c\x02\x3b\xcc\xde\xcd\x91\x02\xef\xdd\x5c\x3b\x1d\x3c\x67\x71\xee\x3e\x93\xa0\x54\x31\xbb\x37\x47\xca\x1d\x4e\x5e\x26\x18\x98\x5c\x2b\x18\x94\x5e\xab\x22\xf1\x64\xfd\x80\x89\x9d\xb7\x82\x54\xb6\x70\x9a\x67\x6e\xfd\x32\xed\x60\x33\x57\x60\x87\x88\x1f\xf2\xa4\xa0\x71\x44\xbe\x9d\x0e\x9e\xea\x4d\xe9\x13\x52\x44\x71\xe0\x9b\x11\x14\x23\x77\x48\x28\x22\x40\x30\xa8\x16\x86\x6d\x8f\x7a\xfd\x29\xf8\xae\x47\xf1\x42\x6d\x7a\x14\x1d\xf8\x9e\x47\x3f\x73\x05\x81\x64\x20\x4b\x80\x66\xe6\x01\x14\x5b\x4b\x80\x79\xb8\xcb\xb0\x3e\x97\xdf\xfa\x2e\x5b\x27\xd0\xc5\xae\xd0\x0c\x31\xdc\x12\xcd\xca\x05\x5f\xa3\x99\x76\x7a\x5f\x85\x7b\x7f\x2d\xb4\xab\xc2\xb1\xc3\x78\x2a\x1c\x29\xb0\xa3\xc2\xbf\x38\x07\x84\x67\x18\x57\x8e\xe7\xe7\x07\x20\x4b\x57\x4e\x78\x4f\xcf\x68\xa0\x0f\xa6\x41\x02\x3b\xac\x81\x6e\xaf\x41\x42\x3b\x6d\x75\x30\x4c\x02\x1d\x80\xaa\xcb\xa9\x8f\x8f\x44\x3b\xeb\x24\x3b\x58\x82\x1d\x45\xd6\xfe\xa6\x30\x94\x2a\x66\x81\xe7\x48\x79\x01\xd0\xe2\x7e\x31\xd7\x4a\x7b\x4c\x74\x7a\x72\x3c\x54\xfa\x26\xcb\x0b\x71\x4c\xc4\xd0\x81\x1e\x13\x31\x8d\xcc\x91\x39\xe1\x35\xcd\x21\xc2\x73\x02\x53\x6c\x8c\x4e\x20\x68\x15\xa8\x13\x5f\x14\xb5\x82\x6d\xb8\xb0\xa6\xc8\xd5\x27\x70\x0e\x21\x4e\xc9\x0b\xaa\x7a\x5b\x7e\x60\x75\x93\x71\x44\x59\xf5\xae\x8a\x26\x6b\x6a\x01\xd5\x40\xce\x8f\x4f\xfd\x92\x92\x73\x43\x0b\x6a\x77\x0d\xac\x5c\x0a\xa6\x58\x1b\xcc\x55\xc5\x14\xad\x4d\x5e\x64\xdf\x20\x84\x2f\x29\xa1\x8e\xf5\x28\x25\x24\x71\x7e\xa5\x4c\x46\xb8\x77\x29\x69\x6d\x82\x9c\xdd\xa3\x43\xc0\xae\xe0\x80\x85\x5e\x41\x16\x07\xbf\x4a\x56\xf8\x10\x28\x28\x18\xd6\xd7\xb6\xd5\xf5\xe4\x6c\xa8\xbd\x48\x64\x89\x5a\x5f\x45\x72\xf0\xf5\x55\x6c\x6b\x03\xd7\x40\xfb\x91\x84\xa7\x3f\xc0\x6c\x77\x24\x49\x63\x53\x86\x70\xb9\x20\xb7\xcd\x86\x89\xfb\xcb\x99\xe2\xb2\x87\x25\x04\x2d\x72\x89\x25\xad\xed\x60\x1b\x42\xd7\x54\x5c\x7d\x02\x67\xa5\x6f\xaa\xe6\x3a\xe8\xfe\x7b\x45\x56\xd4\xfb\xc6\x61\x11\xe3\x98\xb9\x03\xc5\x11\x02\xe2\xc3\xb5\x82\xc1\x32\x84\x26\xf1\xdc\x7c\x00\x63\xa5\x39\x7c\x33\xf3\xa9\xe4\x50\x2a\xc3\x73\xc3\x9e\x49\x5a\x2b\x0d\xdf\x4c\x5f\x4c\x9a\x7f\x2f\x3c\x74\xb1\x6d\x9e\x1f\xa6\x2a\x34\x4f\x0b\x5c\x14\x5a\x78\x24\x1d\x0a\xd1\x10\x73\x4b\xc2\xd0\x13\x48\x56\x33\x4c\xf6\x0a\xbc\x06\x26\xeb\x5b\x9b\x3a\x4a\x82\x05\xaf\xfd\xd8\x21\x1c\xce\x5e\xff\xfc\xce\x0e\x53\xf8\xd5\x4f\xc3\xb5\xcf\x92\xd0\x55\x94\x7f\xb9\xf8\x4a\xb2\x2c\x9e\x07\xd6\x2b\x9e\x9b\xbb\x52\xf1\x94\xe0\x68\x30\xcd\x4c\xd0\x4c\x48\xbe\x5a\x04\x5e\x90\x7a\x3e\x38\x38\x6a\x1a\x16\x40\xd4\x0d\x4c\x10\x0c\x71\x7f\xbe\xe7\x83\x83\xc0\xea\x8e\x7c\xdf\xc0\x04\xc1\x49\x54\x44\x53\xd7\x14\x7e\x20\x65\xc7\x25\x84\xa2\x80\x83\x8e\x92\x04\x0e\x5f\xdf\x08\x0e\xa1\x63\x09\x5a\x0b\xea\x78\x28\x71\x55\x6c\x25\x12\xb9\x40\x6a\xaa\x71\x5b\x7e\x7d\x96\xce\x42\x97\xb8\xed\xd8\xe0\x00\xa9\x48\x58\xe0\x50\x7d\x6f\x5e\x9e\x1f\xd2\x62\x80\x3d\xab\xe6\x83\x5d\x9e\x4b\x1a\x56\xcb\x73\xd9\xc0\x04\xc1\xdb\xd8\x6b\xb5\xcd\x86\xa4\xeb\x14\x7a\x1b\x23\x37\xb1\x92\x37\x1c\xa2\xb7\xb1\x71\xfb\x2a\x09\xbe\x8e\xf2\x78\x16\x5e\x4b\x3a\x56\x78\x08\x2a\x32\x76\x40\xd4\x6d\x20\x70\x4c\xa7\xef\x86\x01\x63\x3a\x7d\x87\x87\x62\x3a\x7d\x67\x09\xc4\x74\xfa\x0e\x02\x43\xf0\x52\xe8\x14\x23\x3c\x0c\x76\xbb\x48\xd3\xc2\x04\xc3\x79\x9a\x06\xae\x35\xd1\x72\xc1\x01\x50\x52\xb0\xe8\x7d\xf9\xb9\xa9\xeb\xd7\xcb\x8b\x01\xba\x5e\x72\xc1\x75\xbd\xa4\x60\xd1\xf5\xf2\x73\x73\xd7\x87\x72\x6b\x5a\x4e\x58\x08\xac\x5d\x9b\xb6\x89\x09\x8a\x36\xc2\x30\x84\x2e\xf4\xbc\x70\x70\xf4\x74\x2c\x00\xe9\x1b\x41\x21\x19\x4a\x47\x58\x7e\x7e\xa0\xb1\xd6\x17\xb6\xa1\x09\xa2\xa3\x55\x71\x3f\x84\xc6\xd4\x7c\x70\x90\xd4\x34\x2c\xa0\xa8\x1b\x40\x20\x70\xd1\x10\x20\x51\xcc\xf9\x39\x4b\x09\x8f\x9e\xb5\x32\xf5\x8d\xe0\x28\x0e\x16\x69\x12\x58\x7a\x03\x08\x81\x13\x30\x14\xf5\x7a\x15\x2f\xe6\x43\x4c\xbc\x86\x11\x0e\x9a\x86\x88\x05\x20\x4d\x0b\x10\x0c\x43\xe9\x0b\xc5\xcc\x03\x1c\xd6\x3a\x42\xb5\x32\xc1\x72\xb9\xca\x07\x59\x95\x6b\x3e\x38\x30\x6a\x1a\x16\x38\xd4\x0d\x20\x10\x0c\xa5\x18\x3d\x2f\x3c\x14\xd6\x6a\xd1\x37\x32\x06\x1e\xab\xc7\x4b\x86\xd0\x8b\x96\x13\x32\x70\xd8\x50\xb1\x09\x19\x36\x4d\x60\x50\x0c\xa5\x1f\x34\x37\x1f\x90\x58\xeb\x08\xdd\xcc\x04\xcd\xf8\x0f\x32\x1b\x42\x47\x6a\x3e\x38\x38\x6a\x1a\x16\x40\xd4\x0d\x20\x10\x0c\xa5\x1b\x3d\x2f\x3c\x14\xd6\x7a\xd1\x37\x32\x47\xd7\xef\xf2\x21\xb4\xa2\xe6\x83\x8d\xaf\x97\x34\xac\x02\xec\x65\x03\xf3\x9a\x51\x95\x74\x72\x42\x01\x46\xd8\xf9\xb4\xa6\x25\x80\x5d\x5c\x5a\x39\x6c\x56\x96\xa6\x8d\xf9\x7c\x62\x41\xa2\x7c\x90\xe8\x42\xc7\x0a\x7b\x4a\xd1\x90\xb1\x3a\xa8\x68\xda\x00\xe1\x18\xee\x50\x9d\x62\xe7\x05\x16\x87\x23\x76\xaa\x1d\x24\x0f\xe3\x72\xb1\xba\x8b\x93\xcb\x28\x8b\x1e\x02\x57\x7d\x95\x71\xc4\xe7\x63\xd0\xd4\x2c\x73\x32\xe8\xa6\x26\xa8\xa6\x45\x54\x97\x7d\xaa\xab\xa4\x0d\x31\xc1\x04\x96\x38\xb0\x04\x72\x16\x68\x09\x6d\xc1\x70\x0d\x35\xf5\x38\x86\x9e\xa0\xb2\x9e\x7e\x5c\x4b\x33\x4c\xe9\x12\xa9\x54\x56\xf4\x5d\xb7\x3e\x9e\x0e\x16\x5e\x4e\x2a\x1b\x7c\xd9\xa6\x26\x80\x7f\x89\x8a\xd9\x7d\x95\x7f\x35\xc0\x84\xa5\x98\xe1\x00\xa2\x08\x59\x60\x43\xb5\x02\xc3\x32\xd4\xf4\xe4\x18\x7a\x82\xc7\x7a\x7a\x72\x2d\x01\xab\x58\xb1\xca\x27\x64\x99\x66\x45\x88\xc9\x49\x53\x77\x9f\x9a\x34\x15\xf4\xba\x47\x4b\x64\xb5\xec\x51\x0d\x6d\x60\x1d\x70\x7f\xe0\x78\xfa\x83\xca\x65\x97\xe0\x1a\x1b\xbd\xa2\x74\x36\x88\x63\x58\xf3\x41\x3a\x38\x15\x0d\x1b\xef\xa6\x6a\x00\x81\xc0\xfb\x01\x50\x4f\x14\x7b\x00\xd4\x53\xc2\xa3\x67\x1f\x79\xea\x1a\xc1\x51\x1c\xec\x00\x48\x60\xe9\x0d\x20\x04\x4e\x56\xb9\xc8\xd3\xc7\x64\x90\x60\x1d\xcd\xcd\x47\x5e\x72\x4d\xc9\x3a\x3b\xb9\x6e\x06\x87\x66\x28\x45\xe2\x39\xfa\x82\xc8\x5a\x8d\xf8\xa6\xc6\x53\x92\xe6\xe9\x99\xe1\x21\x53\x71\x46\x9e\xa0\x28\xa8\xda\x9c\xa7\x28\x48\x18\xa1\xcc\xd2\x7f\x90\x59\xd1\x04\xc4\x06\x83\x51\xc2\x15\x09\xa1\x84\xa2\x0d\x7c\x92\xe6\x46\xe8\xd2\xc5\x62\x90\xe3\xca\x8a\x0f\x12\x9e\x8a\x86\x0d\x20\x55\x03\x08\x04\x83\xe9\x4c\xc7\x0b\x0f\x85\xbd\x7e\x74\x8d\x4c\x90\x9c\x26\xb1\x9b\x6f\x63\x09\x47\xcd\x07\x07\x45\x4d\xc3\x02\x86\xba\x01\x04\x82\xa1\xb4\xa2\xe7\x85\x87\xc2\x5a\x2b\xfa\x46\xd0\x1d\x6b\x5a\x90\x41\xd2\x56\x59\x7e\x7e\x76\xa7\x9a\x96\xc3\x9e\x54\x37\x04\x1e\x54\x35\x2b\xf1\x30\xe7\xfd\x2c\x47\x2f\xe7\x50\x1d\x35\xfb\xe3\xa8\xae\xa9\x8d\x36\x0d\x6d\xf9\xf4\x3c\xfd\x69\x95\xb3\xb5\xd3\x37\x36\x41\x56\xdd\xf5\x1f\x50\xb7\x58\x7e\x38\xa8\x58\x5a\x16\x30\xb1\x0d\x6d\x20\xf2\x1e\x18\x10\x89\x63\x03\x04\x22\x45\x7f\x28\x5b\x2b\xa4\xd8\xd8\x1e\xed\x8d\xa3\xe5\x72\x11\xcf\x06\x78\x8e\xcc\xcc\xdf\x3b\x94\x14\x6d\x14\xac\x34\x21\x6d\x99\xbb\x74\xb6\x7a\x20\x49\xe1\x80\x26\x8c\x26\x46\x7d\x19\x42\x88\x22\x78\x8c\x3c\xc0\xd2\x77\x74\x1b\x30\x80\x1b\x55\x27\x03\xd7\x08\x14\x19\xfa\x82\xa6\x22\xe6\x02\x50\xdd\x12\x0e\xd3\x87\x68\xb9\x0c\xfd\xb4\xa2\x8c\xa3\x2f\xa0\x6a\x6a\x4e\x48\xd5\x4d\x0d\x95\xd1\x86\x2a\x11\xc3\xb0\x42\xd5\x41\xb3\x2e\x0c\xc3\xb4\x31\x95\x37\x7c\x9f\xde\xe4\xfe\x9f\xe0\xa1\xa8\x62\xcb\x18\x52\xa4\x70\xa5\x0b\x69\x99\xe0\xe5\x0a\xa9\x56\x30\x28\xbd\x97\x87\xa4\xc9\xfa\x01\xd3\x47\x21\x48\x46\x2a\x5b\x38\x41\x25\x1f\xdf\xa7\x37\xd3\x22\x23\xd1\xc3\x80\xf3\x95\x61\x88\x9d\xb5\x0c\x31\xab\xb9\xcb\xb4\x84\xc3\xe4\x5c\xd6\xc9\x8a\xbe\xcb\xb1\xb6\x8c\x8e\x2f\x78\x6d\x4b\x43\x0a\x4d\x6d\x01\xde\xb8\x58\x92\xe0\xaf\xf5\x2a\xd8\x7a\x06\xad\x24\x89\x40\xae\x6a\x6f\x0d\xdf\xb4\x88\x42\x17\xdc\x50\xf3\xf5\x0c\x60\x45\x13\x83\x60\x45\xc0\x1a\xc2\xf7\xe9\xcd\xf1\x7d\x94\xdc\x3d\x05\x8c\x1d\x6f\xcf\x50\x76\x74\x31\x70\x76\x44\xac\x21\x3d\x49\x7f\x4f\x16\x69\x14\xd8\xc5\xd0\xb2\xf6\x0c\x68\x4b\x16\x83\x67\x4b\xc3\x1a\xce\x2b\x92\x3d\xc4\x89\x6d\x61\x21\x37\x1e\x18\xab\x48\x4b\xd8\xf3\x80\x74\xf2\x22\x06\xa4\xa5\xe1\x3c\x20\x1b\xe3\xaf\x24\xf1\x5a\xef\x07\xc0\xce\x97\xcd\xc0\x91\x0d\x35\x3e\xb5\xcc\x1e\x46\xa9\xa6\x84\x1c\xab\x26\xb9\xec\x09\x16\x26\xa9\x1c\x61\x41\xaf\x79\xf8\xc3\xbe\x21\x88\x1d\x82\xb3\x38\x79\x8a\xbd\x56\x22\x45\x58\xf8\x4b\x0e\x1e\xc1\x2f\xc9\x61\xa1\x9f\x44\xbf\x3f\x3d\xf2\x93\xe8\xf7\xb0\xc0\x4f\xa2\xdf\x3d\xe2\x3e\x89\x7e\xc7\xc2\x5e\x4a\x31\xff\x18\x2d\x56\xcf\x40\xef\x7b\x59\xc2\x0e\x42\xcf\xc7\xe3\x58\xf4\x44\xfd\x0d\x89\xe5\x66\xe0\x8b\x6b\x30\x43\x4b\x64\x35\xd4\x40\xfb\xdc\x6a\x28\xaa\xd8\xa1\xbe\x8a\x6e\x16\x64\x9c\x14\xd9\xe3\xd3\xcf\xbe\x5e\x96\xb0\x83\xd2\xf3\xf1\x38\x26\x3d\x51\x2f\x43\x32\x49\x2d\x37\x23\x2f\x2c\x43\xcf\xbb\x96\xcf\x00\xe3\x5b\xf6\xc6\xf3\xe8\x4e\x52\xf4\x66\x57\xd1\x19\x7a\x60\x07\x19\xd5\x01\x86\xd4\xf7\x78\xe2\xdd\x25\xb2\xac\x5c\xcd\xa7\x5f\x3a\x3b\x51\x42\x3b\x4d\x0d\x1b\xaf\x7e\x53\x43\xd3\xc7\x70\x3c\x8f\x91\x08\x3f\x08\x9e\xf1\xb7\x86\x7e\x9c\x65\x69\xe0\xc3\x7f\x35\x5f\xcf\xf0\x56\x34\x31\x80\x56\x04\xac\x21\x6c\x1f\x73\x7a\x02\x14\x5b\xd6\x9e\x81\x6c\xc9\x62\xb0\x6c\x69\xe8\xe0\x9c\xac\x92\xc4\x36\xf5\xc4\x40\x0c\xfe\x82\x4a\xf3\xbd\x43\x9c\xb1\x6e\xe9\x8e\x79\xc3\x19\x06\x6e\xfd\xb1\x19\xc5\x8d\x8b\x93\x49\x58\x0d\xec\xf9\xa0\xbb\x7e\x71\x32\xb1\xea\x7e\xd9\x00\x00\xc1\x00\x0f\x13\xd0\x9c\xd0\x30\xd8\x3c\x4f\x40\x37\x01\x40\x31\xc4\x23\x05\x0c\x2b\x34\x18\x56\x4f\x15\x30\x6d\xcc\x70\x5c\xa5\x5f\x48\x32\x48\x56\x88\xc8\x0f\x0b\x0c\x4d\xcb\x0a\x1d\xba\x21\x18\xa2\x21\x1e\xfa\x92\x30\xf4\x04\x92\x55\x66\x87\xa4\xa5\x19\xa6\xfa\xae\xa2\xbb\x2a\xd9\x90\x77\xdf\x9b\x18\x32\x58\x6c\x59\x99\x6c\xb0\x65\x5a\x5a\x62\x3b\x40\xce\x8c\x8a\xab\x5f\xc0\x2c\x32\x66\x54\xcd\xe1\xd0\x0d\x37\x7d\x59\x8e\xbe\x20\x73\x98\xc0\x6c\x53\x28\x54\x5e\x8d\xce\xe6\x05\x30\x44\x74\x86\xa6\xe3\x07\x4b\x07\x0c\xcd\xd8\x79\xc8\xb0\xb4\xe4\xe0\xbe\x06\xfa\x4b\xce\x54\x48\x66\x03\xb0\x4d\x8a\xa6\x82\xdd\x80\xe6\x8b\x8a\xb7\x77\x08\x7d\x40\xb9\xe1\x0e\xe9\xd1\xec\xcb\x93\xc0\x79\x34\xfb\xe2\x1d\xca\xa3\xd9\x17\x1c\x8c\x47\xb3\x2f\x0e\x10\x0e\x13\xfc\x30\x30\xf7\x0e\xa6\x65\x00\xc4\x40\xc5\x01\xd6\x01\xc2\x72\x3a\xce\xde\x01\xb5\x09\xcd\xe9\x48\x38\x40\xf9\x8e\x44\x59\x71\x43\xa2\xa7\x59\x39\x3b\xee\xde\x21\xed\x28\xe3\x60\xed\xc8\x38\x4d\xfe\xd2\x6c\x38\x0b\x9e\x03\x6b\x64\x1f\x60\x01\x68\x49\x63\x97\x80\x96\x8e\x03\xbc\x1f\xa3\x2c\x8e\x6e\x16\xa4\x4e\x10\x98\x92\xa7\xd1\x60\x41\x0a\xef\x60\x0b\x1c\x70\x98\x0b\xe4\xac\xa0\xf7\x7f\x25\x46\xc1\xc2\x8b\x65\xeb\xc7\xfb\x72\xbd\x1b\xa3\x68\xed\x80\xf7\xc6\xfb\xf4\xe6\x28\xcf\xe3\xbb\xe4\xc1\x3a\xd7\x18\xc7\x0b\xef\xb5\x19\x18\xf8\x1f\x1c\x56\x7e\xd4\x50\xb1\xb4\x1c\x07\xee\x38\x4a\x66\x64\x90\xb8\xbb\x86\x7d\x10\x98\x6b\xd2\x78\x88\x6b\x3a\x66\x78\xdf\x92\xa2\x7e\x40\xa4\x1c\x0d\x6c\xa8\xd1\x1a\x5d\x35\x77\x2c\xb8\x6a\xca\x56\xd8\xaa\xc9\x38\x42\x3b\x5c\xb8\x4c\xc3\x3e\x08\xb8\x0e\xeb\xb8\x86\x8e\xe1\x4c\xbc\x6e\x3f\xd4\xad\x5b\x86\x1b\xea\xe4\x9b\xa1\x04\x3f\xec\x66\x9a\x99\xee\x78\xd7\x1f\xbb\xdd\x98\xb7\x05\x47\xe4\x87\xbb\xb2\xcd\xd2\xb2\xb8\xb4\xcd\x36\x04\x43\xe4\xfd\x26\x3c\x47\x19\x7b\x19\x9e\x23\xe7\x09\x5c\xeb\x2b\xf1\x5c\x4b\x1d\xbc\x47\xf3\x74\x39\xe4\xf4\x14\xf9\xb9\x83\x24\xd2\x02\x62\x24\x36\xd4\x41\xf4\x26\xcd\xee\x06\x5d\xc2\x24\x0c\xdd\x41\x92\x10\x03\xa2\x24\x69\xa9\x83\x69\x4a\x8a\x29\xc9\xbe\xe2\x4f\x40\x2d\x90\x92\xf3\x74\x07\x4b\x4e\x0f\x88\x97\xbc\xb1\x61\x67\x64\x5b\x0c\x61\x6e\x28\x98\xa2\xf6\x49\x19\x41\xf8\x76\x29\x6b\xad\xd7\xb4\xfe\x7b\x4f\x7b\x01\x4d\x12\xb3\x09\xd0\x74\x30\x6a\x48\x49\x03\x55\xbe\xbe\x09\x14\xbb\x8d\xa3\xf9\x57\x92\x15\x71\x4e\x8e\xe6\xf3\xc0\xc1\x64\x35\x5f\x4f\x30\x31\x34\x1d\x40\x63\x09\xe8\x20\x3c\xce\x4a\xed\x78\x97\xe6\x45\x12\x3d\x90\x41\xd6\x39\x29\x4b\x77\xe0\xa4\xe4\x80\x98\x49\xdb\xda\xc0\x35\xc4\x1a\x27\xe7\xe9\x0f\x30\xab\x15\x4e\xde\xd8\x64\xf3\xb6\xdf\x0f\xe7\x18\xf0\x1c\x71\xd6\x2b\x4f\xcd\xc2\x7c\xe5\x9b\x5a\x40\xe5\xdd\x41\x10\x68\x63\x5d\x04\x81\xa0\x37\x98\xad\xdd\x04\xa1\xad\xb6\x26\x20\x59\x90\x81\x57\x3d\x29\x4b\x44\x55\x40\x19\x39\x68\x59\x40\x59\x5b\x1d\x5c\xed\xa7\x61\x11\x6a\xb9\xb8\x83\xd2\x52\x00\xe2\xd0\x7e\x0e\xe9\xfa\xc6\x55\x54\x3a\x10\x3e\x4f\x4a\x38\xd2\x2e\x27\x24\x1c\x09\x0f\xc8\x35\xb2\xd8\x01\xd8\xb4\xb2\xc0\xf1\x68\x19\xf8\xce\x93\xc8\xcf\x1b\x38\x47\x4b\xe8\x3d\x26\xb1\xa1\x69\xf5\xff\x25\xcd\xbe\xe4\xcb\x68\x86\xd9\x29\xed\x18\xb8\xa8\x9d\x94\x10\x6e\xe9\x17\xe5\x82\x2f\xfd\x42\x5b\x1b\x94\xbd\x6f\xb2\x22\x71\xec\x2e\x2b\x52\xf4\x87\xb5\xf5\x3e\x2b\x36\x36\x04\x05\xba\x06\x43\x45\xcc\x79\x86\xa8\x60\x00\x4f\x0c\x1e\x08\xe0\x5b\xc2\x61\x1a\x28\x70\x22\x70\xf4\x05\x94\x6d\xc8\x44\x68\xaa\x83\xea\x7a\x99\x93\x6c\x60\xa5\x92\xf3\x74\x87\x4b\x4e\x0f\x08\x98\xbc\xb1\x15\x64\x43\x28\x98\x82\xa9\x47\xd0\xac\xd4\x4c\xd1\xda\x0c\x5b\x57\xdb\x7e\x30\x3d\x63\x39\x62\x01\x63\xa9\x59\xa1\xc5\x36\xb5\x80\x6a\x38\xfd\xe2\x58\x7a\x03\xcb\x41\xb7\xb8\xb6\x86\xe5\x7e\x48\xb5\x12\xd8\xa1\x16\x7a\x27\x85\x12\xda\x41\xe1\xf1\x6a\x9e\x89\x84\x91\x35\x46\xbc\xa9\x9f\x44\x32\x7b\x60\x61\xb1\xb8\xe6\xf3\xe1\x42\x71\x1c\x43\x9c\xed\xca\x11\xb3\x30\x5c\xb9\x96\x70\x98\xbc\x7b\x08\x3c\x69\xac\x7f\xc0\xd3\xf3\x85\xb0\xb5\x6f\xc0\x37\xd5\x87\xe0\xe8\x17\xb5\x06\x0a\xc1\x49\x58\x62\x42\x70\x12\x72\xe0\x10\x9c\xa4\xad\x61\x4d\xa4\xde\xd5\x19\x6a\xdb\x10\x59\xa2\x96\x38\x91\x1c\x7c\x95\x13\xdb\xda\xc0\x35\x90\x4b\x25\xe1\xe9\x0f\x30\xdb\x7d\x41\xd2\xd8\x6c\xc3\x0d\xad\x64\x2a\xae\x58\x4b\xce\x59\xd5\x54\xcd\x2d\xa1\x1b\xce\x04\xf6\xaa\x73\x4a\x92\xee\xe8\x41\x35\xef\xf5\x2a\x5e\xcc\x07\xd4\x39\x9a\x1f\x16\x30\x9a\x96\x15\x52\x74\x43\x30\x44\xc3\xe9\x16\xc3\xd0\x13\x48\x0e\xfa\xc4\xb4\x34\x19\x6e\xd5\xc7\xc3\x59\xb7\x0c\x3b\x9c\xe5\xc5\x90\xb2\x30\xbb\x98\x76\x50\x78\xbc\x5b\xb5\x2c\x61\xac\x4d\xcb\x52\xf3\x83\xab\xb5\x3d\xcb\x36\x34\xd8\x1b\x67\x51\x41\xf2\x01\x57\x31\x29\x4b\x94\xb5\x21\x92\x83\x1b\x1b\x62\x5b\x03\x5c\x83\x02\xe5\x0d\x22\x37\x70\xa0\xb0\x54\xdf\x85\x05\xa3\x62\xe1\x0e\x41\xd5\x1c\xd8\xf1\xea\x5b\x63\x77\x37\x2e\x33\x12\xfe\x5d\x19\x86\x15\xb6\xfb\x0d\x19\x1b\x18\xda\x36\xda\xec\xf5\xac\x88\x6f\xa3\x59\xe8\x9c\xf5\x86\x0b\x22\x53\xbd\xa1\x00\xcd\x4f\x6f\x3e\xd7\x75\xfd\x22\x39\x21\x0f\x51\x32\x77\xaf\x59\x63\x0b\x83\x8c\xa3\x3b\x24\x32\x6a\x40\x78\x64\x4d\xcd\x96\xa0\xac\xd5\x80\xb6\xb3\x86\x3d\xd6\x4a\xd4\x90\xb6\xb2\x19\x35\x74\x5c\xe1\x1d\xce\xee\xd6\xf1\x0f\x03\xb0\x83\x55\xae\x23\x64\xd8\xfc\x9f\x4c\x7d\xf5\xbc\x51\xa6\x01\x5e\x71\xf5\x44\x9c\x20\x1d\x28\xee\x15\x46\x5f\x0d\x84\xb1\xa8\x42\xd3\x44\x9f\x4c\x59\x8d\xec\xb1\xe9\xa3\x78\x95\x35\xd2\x71\x85\x77\x08\xc5\x35\xf3\x0f\x03\xb0\x95\xfa\x9a\x09\x99\x3c\x7e\x59\xdb\x10\x01\x00\x2d\x1f\x6c\x3c\x40\x4b\x1c\x17\x1e\xd0\xcb\x0d\x8f\x16\x68\xe9\x00\xb2\x27\x56\xf9\x3d\x99\xb7\xd6\xf2\x90\xf9\x26\x32\xc6\xe8\x4c\x0a\x19\x51\xbb\x7c\x0a\x19\x05\x7b\x18\x07\xcc\x45\x91\x72\xf6\x0d\xa4\x4b\x66\x8a\x94\x04\x28\x9c\xf5\x04\x4a\xa9\xe7\xed\x21\xc0\x85\x51\x4d\x3d\x11\x53\x52\xcb\x93\x80\xe9\x1f\x46\x24\x80\xd6\xd0\x55\xa9\x05\x4c\x23\xb7\xf0\xbe\x03\x03\x74\x6a\x86\x94\x2a\x32\x41\x43\x2e\xa9\x45\x9a\x86\x94\x80\xf5\x08\xf8\xcf\x8b\x91\x73\xf0\x3e\x06\x5e\xb2\x64\x14\xb2\x22\x46\xc1\xbc\x2c\xb3\x4d\xc2\xae\x1c\x2c\x2f\x77\xb0\x58\x3a\x40\x7c\xd8\x46\x70\x48\x86\x09\x26\xcb\x79\x7a\x83\xc8\x2e\xbc\x2c\x6f\x6c\xd8\x89\xfa\xca\x47\x43\xed\x42\x02\x47\xd4\x0e\x24\x50\x83\xef\x3e\x42\x53\xb3\x49\x39\x30\x5a\x0a\xa6\x58\x43\xd2\x15\x33\x45\x6b\x3b\xd8\x86\xb3\xc2\x45\xae\x3e\x81\x73\xb0\xbe\xc5\xe6\xa6\x9d\xb6\x6f\x11\xc0\xce\x11\x89\x63\xf7\x57\x91\x22\x6e\x6b\x95\x48\x08\xdf\x55\xc5\xc6\x56\x68\x7b\xb7\x69\x24\xd4\xbd\xe2\xed\xc3\x96\x91\xc9\xe8\x88\x38\x24\xa6\xda\x7e\xee\x09\xe5\x9e\x20\x06\xd8\x9e\x0a\x26\xe6\xd7\x49\x02\x8d\xed\xb5\x0d\x60\x88\x0d\x63\xde\x88\xfc\xbc\x40\x62\x67\xd6\x88\x0d\x61\x10\x8d\xff\x58\x46\xc9\x9c\x0c\x06\x51\xcb\xcf\x07\x44\x2d\x2d\x6b\x88\xda\x86\xa6\xa5\xee\x34\xc9\x8b\x28\x09\x77\xb9\x9c\xa7\xef\x7a\xb7\x9c\xa7\x83\x5b\xde\x04\xa9\xe0\x6b\x1b\xdf\xd4\x16\xe0\x0d\x2a\x13\x36\x7c\x2a\xa2\x8e\xbb\x67\x08\x29\xca\x08\x38\x69\x32\x16\xd0\x7a\xdf\xa4\x05\xda\xd8\x2d\x5a\x20\xe8\x0d\x7e\xeb\xed\x59\x68\xab\x03\xba\xfd\x38\xac\xae\xb6\x5c\xdc\x41\x69\x29\x00\x71\x68\x3f\x37\xfb\x2c\x13\xb2\x20\x51\x3e\xe4\xad\x72\x96\x23\xd6\x57\x61\xa9\x59\xf9\x29\x6c\x53\x0b\xa8\x86\xf3\xed\x38\x96\xde\xc0\x72\xf0\xea\xb8\xb6\xa0\xc3\x94\x21\x95\x4b\xc1\xd4\xc3\xf1\x89\x93\x8a\x29\x5a\x1b\x6b\x25\xd7\x5f\x07\x70\x83\x39\xca\xe8\x5a\xc9\x2c\x39\x64\xad\x64\x4e\x36\x8b\x5a\xc9\x6c\x4b\x38\xbc\xfe\x6b\x51\x73\xa4\xfd\x01\xec\xa5\x1a\x35\x2f\x9d\x0b\xc4\xb0\x62\xf1\xc3\xce\x79\x8f\xb3\xdd\x75\x9e\xc3\x67\x78\xf3\xa5\xaf\xf7\x4f\x6a\x6a\xa8\x17\x4e\x6a\x12\x88\x27\x0a\x1a\x19\x80\x0f\x11\xd4\x5f\x03\x20\x1a\xc6\xf1\xe7\x98\xe1\x61\xb0\x73\xf9\xb9\x56\x00\x58\x86\x71\xf6\x39\x66\x68\x58\x2c\xdd\x7c\xae\x95\x0e\x96\xab\x2c\xbe\xbb\x23\x96\xc5\x8f\x4d\xd4\x84\x09\x65\x6c\xe0\xe0\xf5\x37\x4d\xdd\xb1\x6d\x79\xc3\x30\x6d\xbe\x36\x1b\xb9\xcd\x87\x03\xfa\x03\x2c\x47\xac\x89\xcb\x52\xb3\xb2\x70\xd9\xa6\x16\x50\x0d\xe7\x0f\x70\x2c\xbd\x81\xe5\xe0\x0f\x70\x6d\x0d\x56\xc1\x90\x6a\x25\xb0\x43\x59\x05\x4e\x0a\x25\xb4\x83\xc2\x33\x50\xfa\xba\x37\x3d\x12\x69\x39\x20\x04\xcd\x4b\x1f\x52\x89\x64\x1c\xb1\xc9\xd1\x4e\xaa\x24\x6b\x6a\x78\x0e\x0b\x83\x13\x9c\x2e\xf2\x65\x3d\x5f\xd0\x8a\x72\x81\x1f\xc5\x72\x03\xd5\xab\xe7\x28\x12\xf6\x05\xab\x87\xc7\xc7\xdc\x66\xb6\xd8\xd0\xe4\x95\x07\xd1\x57\x91\x30\xd6\x23\xf7\xa5\xb1\x12\xc9\xe0\xde\x38\x5c\x67\x99\xaf\xbd\x87\x3b\x3c\x6a\xad\x84\x9c\x27\x70\xad\x63\x1d\x16\x8a\x5b\x5b\x41\xd3\x22\x2a\x56\xf9\x84\x2c\xd3\x6c\xc8\x5c\x29\x09\x5b\xac\x2d\x28\x21\x69\x65\x0f\x4a\xda\xdb\xc2\x37\x9c\x1d\x2d\xe3\xeb\x17\x40\x07\x8b\x5a\x46\x00\x14\x66\xf7\xa3\x84\x4e\x7c\x5c\x5c\x5f\x1d\x3d\x0f\xe1\x7a\x77\x45\xd6\x91\x30\xad\xb4\x74\x93\x00\xd1\x7b\x19\x79\x78\x9c\x42\x49\xc1\x31\x5d\x41\x46\x0b\xb7\x64\x4b\xa5\x83\xaf\xdb\xb2\xe6\x96\x23\xe6\x7d\x87\x94\xd2\xc7\xee\x93\x52\xa2\x5e\xa1\xb7\xde\x33\xa5\xed\x4d\xef\xe6\x0d\xbd\x6d\xca\x79\xe2\x5e\xcd\xc3\xac\x33\x96\x2b\xcc\xf8\x8f\x25\x99\xc7\x05\x09\xbc\xd2\x6b\xd8\xb8\x2c\x15\x1a\x72\xee\xc8\xeb\x64\x84\xc1\xaf\xa1\x60\x3f\x06\x43\xd8\x2c\x3a\xce\xbe\x81\xb4\x9a\xfe\x3a\x12\xda\x67\x0c\xa9\xef\x7d\x3d\x01\x49\x91\x84\x6f\x8c\x4c\x2b\x07\x0d\xa7\xdb\x23\x5e\x42\xa4\xa5\x00\xbe\x7d\x48\x35\x81\x22\xbd\x31\x21\x79\xba\xca\x42\x27\x3b\x49\x59\x7a\x02\xa7\x25\xe7\x80\x52\xd7\x16\x0c\xd7\x3b\x12\x2d\x8a\xfb\x01\xc1\xaa\x19\x7a\x82\xaa\x26\xe6\x02\x54\xdd\xd2\xe4\x79\xa4\x77\xd3\x22\x23\xd1\x43\x20\x87\x83\x23\xef\xea\x67\x70\x64\x70\xee\x05\x2f\x13\xdc\xab\xe0\x5a\x5a\x62\x3b\x5c\x52\xad\x81\xb9\x5f\xf8\xec\x53\x6a\x0d\x54\xb4\x16\x7f\x7a\xf7\x3a\x2a\x66\x96\xd3\xd9\x48\x0e\x65\xcf\x37\x34\x10\xe6\x7b\x2b\x05\xd0\x5a\x6f\x3e\x87\xe0\xb4\x31\x4e\x8a\xec\x31\x70\x0a\x37\xc3\xcb\x03\x0c\x15\x1d\x4b\x30\xea\x46\xda\x27\x70\xab\xc2\x26\x1f\x23\x97\x37\x96\xcd\x44\x5d\x56\xb6\xae\x31\xe2\x4d\xdc\x8e\x3f\xf0\x19\xdc\xf6\x7b\x10\x52\x1b\x27\x8f\x49\xf4\x10\xcf\x3e\x46\x8b\xc0\x4f\x05\x4b\x38\xfa\x00\xa5\xa7\x66\x8b\x0f\xd5\x14\x06\x95\xff\x77\x36\x79\xda\x28\x15\x43\xbf\xb4\x29\x48\x63\x0b\xa8\xf9\xad\xcd\xfa\xdb\x29\x71\xf3\x89\xc1\x64\x31\x8b\x3d\x4f\x0b\x8b\x27\x25\x95\x0d\x9e\x7d\x33\x20\x9e\x43\xf8\xb7\x02\x3b\x2f\xe0\x58\x79\xb2\x42\x3b\x33\x3c\x6f\x1d\xd5\x0d\x32\x77\x7b\xda\xee\x73\xf7\xad\x37\x5d\x7b\xeb\xa6\x6b\x6f\x2d\x74\xed\xad\xab\xae\xc1\xe9\xe2\x67\xef\x5b\x7f\x1a\xfa\xd6\x51\x43\xdf\xda\x68\xe8\xd4\xd5\xdb\x07\xd1\x75\xd7\xcc\x29\x32\x24\xc0\x48\x61\x35\xbf\xcd\x01\x00\x52\xd0\x9f\x0e\x12\x9b\x96\xf3\x44\x84\x01\xa4\xf4\xa0\x91\x00\x69\x63\x83\xc3\xea\x07\x32\x4b\x0e\x8e\x21\x01\xaf\x50\x2b\x24\x03\x7b\xb3\x58\xa8\x7d\x3f\x16\x28\xa3\x8e\x7c\x31\x50\x46\xd2\x23\xe0\xb6\x49\x87\xb2\xd6\xfa\xa8\x3f\x99\x05\x0b\x74\x09\xc4\xdd\x4e\x59\x38\x22\x98\x23\x01\x5e\x1e\xe8\x39\x00\xd7\xce\x0a\xd1\x8d\x69\x11\x79\x3b\x07\x50\x50\x87\x1f\x09\xa8\x08\xf8\x18\x99\x9a\x94\xcf\xf1\xa9\x65\x73\x1c\xa5\xba\xb5\xdd\x58\x9d\x26\xcb\x55\xe0\xfd\x50\xc1\xd4\x27\x6c\x15\x41\x67\xd8\xaa\xd6\x76\xb0\x5d\x5e\xfd\x3a\x34\x68\x97\x57\xbf\xfa\x84\xec\xf2\xea\x57\x67\xc0\x2e\xaf\x7e\xb5\x83\xeb\x97\x38\x99\xa7\xbf\x4f\xe3\xff\x09\x7e\xb2\xaa\xe6\xec\x13\xbc\x9e\xaa\x33\x86\x3d\x09\x28\x94\xce\xae\xbb\x05\x75\xec\xb2\x88\x3f\xc4\x16\x24\xb2\x07\xd8\xce\x0a\x68\xd8\x5c\x2c\x49\xe0\xc3\x18\x05\x53\xaf\x60\x95\x04\x9d\x11\xab\x5a\x5b\xc2\x36\xfe\x23\x1e\x70\xfb\xa0\x98\x7a\x85\xad\x24\xe8\x0e\x5b\xd9\xda\x56\xdb\x56\xc5\xa0\xfb\x2e\xc3\xd6\xaf\xc6\x55\x24\x11\x3a\x57\xb5\xd7\xc2\x97\x14\x59\xfd\xcf\x01\x9f\xae\x50\x30\x45\x40\x27\x27\x08\x05\x4e\xde\xda\x0e\xb6\x41\x72\x9b\x14\x5c\x7d\x02\x67\xb7\x31\x28\x9a\xdb\x40\xe7\xcb\x97\xe1\xc8\x62\x3c\x71\x9e\x96\x3f\x7c\x1d\x71\xb5\xc1\xb3\x5a\x07\x42\x81\x5a\xd2\xf6\x89\x6c\x45\xd0\x23\xbc\x95\x7c\x6e\x18\x57\x6d\xad\x80\xbe\x9e\x9c\x4d\x49\xf6\x35\x0e\x9d\x24\xa6\x61\xec\x11\xba\x9e\xa8\x2b\x80\x3d\x05\x2b\x18\xfb\x4a\x85\xa7\xc9\x6d\x3a\x30\x94\x2c\x73\x8f\x70\xb2\x84\x5d\x21\x65\xa9\xc0\x60\xf5\x9c\xbd\x23\x12\xf6\xb3\x00\xe0\x33\x7a\x24\x92\xd9\xc2\x0c\xc9\xf2\xe9\xbf\x2e\x57\x88\x10\x91\x4d\x19\x03\x27\x67\x51\x46\xc8\x07\xbe\xb4\x5c\xb6\x10\x53\x6d\xad\x51\x1e\xc2\x71\x54\xf2\xf5\x0d\x9c\x8d\xfb\xa8\x24\x60\x0f\xe1\x00\x4e\xa4\x92\xaf\x6f\x08\x6d\x5c\x49\x25\x01\x07\x2d\x1c\xc2\xa1\xd4\x70\xf6\xae\x89\x56\x6e\xa5\x86\x84\x83\x36\x66\x59\xea\x92\x1b\x88\x57\xc7\x92\xb1\x77\x7d\x2c\x89\xe2\x14\xb2\xa4\x60\x03\x63\x80\x40\xa5\x94\x83\x8f\xfd\xc7\x9f\x77\xca\x48\xe6\x86\x37\xe0\x01\x9d\x78\x49\x16\x71\xe2\x15\xdc\x96\xa6\x0b\x9c\x6d\x5b\xc4\xdb\x31\x2d\x77\xe0\x6b\x31\xcd\xe7\x10\x90\x36\xa6\x05\x59\x7a\x32\x31\x19\x9a\xf0\xd3\x47\xb6\x19\x02\xe0\x8a\x80\x07\x94\x2b\x39\xec\xa0\xae\xda\x80\xf1\xf6\xe9\xdb\x8b\x84\x31\x76\xbd\x48\xcd\x17\x9e\x16\x2e\xbd\xd8\x10\x8e\x6c\xf5\x10\x7f\xe0\x97\xa1\x44\x86\xbe\x40\xaa\x88\x39\xa1\x54\xb5\x84\xc3\x54\x3b\xa4\x43\xe2\x54\x73\xf4\x05\x54\x4d\xcd\x09\xa9\xba\x29\x1c\x2a\xa7\x02\xa6\x38\xac\xd0\x25\x4a\xa5\xe4\x9c\xd0\x02\x94\x2f\x65\x1b\x5c\x5b\xee\x26\x38\xa4\xae\xbd\xad\xf7\xd7\x4e\x4b\xfe\xc6\xb5\xc5\xaa\x8f\x30\x4c\x9c\x01\xf2\x68\x7c\x30\xf4\x9c\xc0\xb2\x31\x4c\x26\x2b\xcb\x88\x01\x84\xa2\x8f\xad\x71\xb2\x42\x84\x14\x68\x59\xec\x10\x9c\xac\xb4\x41\x83\xe6\x11\xe0\xf6\xe3\xe1\xca\x32\x71\x2c\xd1\x2f\x21\xb3\xe4\xec\x9e\x40\x66\xdb\xda\xc0\x35\xe0\x03\xd2\x1c\x4f\x7f\x80\xb9\x3c\x1a\xcd\x35\x36\xbd\x6d\x3c\xa4\x7a\x89\xfc\x70\xef\x19\x3b\x29\x96\xd8\x10\x0c\xd1\x40\x65\x4d\xfd\xe9\x93\x84\x98\x0b\x4a\x96\x9a\xd4\x30\x7a\x9b\x45\xcb\xc0\x75\x07\x94\x6c\xfd\x42\x56\x91\x74\x07\xae\x6e\x6f\x28\xcc\x39\xe8\x44\x14\xf9\xa1\x2a\x6c\xba\x4d\x44\xb1\x21\x18\x22\xdf\xc5\x4b\x85\x11\xc3\x55\x2f\xf5\x37\x81\x65\xb2\x39\xa0\x0b\x2b\x60\xda\x7e\x8f\x78\x66\xce\xb2\x0e\x18\xcf\x11\xf9\xb6\x37\x47\xcd\xe6\x51\x6f\xae\xa9\x05\x54\xfe\x9f\x53\xe7\x69\xa3\x1f\x52\xe7\x09\x7a\x83\xd9\xfe\xf1\x74\xbe\x2d\x14\xe8\xc9\x2a\x19\x5e\x2d\x29\xa6\x7e\x20\xa3\x08\x3a\x80\x46\xb5\xb6\x83\x2d\x98\x8a\xd2\xe4\x7d\x69\x29\x4d\xd3\x27\xea\xce\xba\x4a\x37\x87\xda\x40\xab\x64\x70\x83\xba\x63\xe9\xc7\xf6\xe9\xc8\x39\xd8\x3d\x5d\x5b\x1b\xb8\x86\x36\xae\x7b\x9e\xfe\x00\x73\x36\xb1\xfb\xc6\x80\xfb\xd0\x8f\xc9\x6c\x50\x6b\x51\xc9\x16\x7d\xf7\x59\x24\x69\x77\x11\x5a\x6c\x6f\x0b\x1f\x52\xeb\xbe\x73\xc5\xcf\x53\x85\x08\x09\x4d\x04\x82\x66\x0d\xbc\x4a\xbf\x90\xe4\x2a\x8b\x92\xdc\xbe\xe8\xa1\xfe\x38\x96\xa5\xec\xf4\x16\x11\x43\x01\xf1\x24\x11\x2b\x09\xf0\x65\x22\xa6\x11\x1c\xc2\x8d\x8b\xa3\x55\x71\x7f\x9c\x91\x39\x49\x4a\xd0\xf2\xb0\x53\xd9\xc0\xdc\x1b\x68\x3c\x61\x27\x14\x05\x2a\x46\x58\xbd\x2b\xa4\xb3\x1e\x22\x91\xb4\xc1\xcb\x88\xca\xc6\x59\x7a\x17\x07\x4e\xd6\xa3\x18\x61\xbb\x5e\x11\xb1\x01\xa0\x6e\x61\x86\x61\xb2\x4a\x12\xdb\x57\xd6\xdc\x70\xa8\x39\x61\x81\xa8\xa9\x58\x21\x51\x37\x31\x43\x71\x9a\x7c\x8d\x8b\xc0\xc6\x16\xcd\x09\x0b\x45\x4d\xc5\x0a\x8a\xba\x09\x14\x8a\x8d\x69\x7c\x97\xac\x02\x1f\x74\x4a\x18\x7a\x02\xa6\x26\xe6\x80\x4f\xd3\xd2\x0c\x53\x9f\xb4\x35\x04\x46\x3d\x37\x2c\x40\x3d\x25\x2b\x74\xfa\x66\x66\x68\x9c\x9e\x6f\x74\xc3\x05\xff\xde\x22\x4d\xc6\x0a\x11\xc0\xdb\x8b\xef\x3e\x1c\x1d\xff\x4c\x02\xe7\xa0\x34\x4c\xdc\x21\x68\x08\x00\x3b\xdf\x7c\xad\x7f\xd6\x6d\x96\xce\x49\x85\xd2\x20\xfe\x98\xc8\x0f\xf3\xa4\x1b\x4f\x0b\xfc\xa0\x1b\xdf\x10\x0c\xd1\x10\x9e\xbe\x84\xa1\x27\x90\xac\xbc\x2c\x49\x4b\x43\xd9\xda\x38\x19\x4e\x91\x04\x76\xa8\xe2\xb5\x2c\x29\x78\xfd\x5a\xb6\x9d\x3e\x64\x94\x90\x2c\x2a\x48\x6d\xe5\x0c\x87\x93\x9a\x2f\x26\x74\xa4\xa2\x09\x0e\x1f\xa9\x08\xe8\x20\xac\x77\xfd\xe1\xa0\x13\xf9\xb9\x43\x26\xd2\x02\x42\x25\x36\xd4\x41\x74\x4e\x7e\x1f\x70\xa1\xe2\xb9\xb9\xc3\xc3\x53\x02\x82\xc3\x37\x33\x44\xd0\xbe\x92\xac\x18\x5a\x89\x94\x6c\x51\xf1\x33\x39\x49\x78\xf8\x4c\xde\x5e\x0b\x5f\x46\xa2\x82\x4c\x93\x68\x99\xdf\xa7\x98\xaa\xb4\x96\x1c\x9c\x6a\x5c\x4a\x29\x21\x00\x97\x4b\x06\x44\x5b\xda\xd8\x1e\xea\x01\x6e\x2d\x6a\x18\x7b\x07\xcf\xe2\xde\xa2\x86\x82\xfe\xc1\xfe\xbc\x48\x33\xaa\x9d\xf7\x2b\xb6\x72\x0e\x2e\x1a\x2b\xa7\x84\x79\xf6\x5f\x2a\x19\xf4\xf5\x7f\x59\x63\x7b\xa8\x07\xd0\x58\x0d\x63\xef\xe0\x59\x68\xac\x86\x82\xb6\xf4\x6d\xf3\x7d\xe0\x62\xb7\x0d\x17\x44\x79\xdb\x86\x02\xb4\xa0\x6d\xf3\x39\xa4\xeb\x1b\xef\x48\x34\x0f\x1d\x8f\xe0\x98\x79\x00\xa2\x26\x64\x89\x47\xd3\x0a\x04\xcb\x55\x16\xc5\x0b\x27\x5c\xc0\xb4\x9d\x5e\xdf\xe2\x68\x78\x80\xb2\x95\xc6\x12\xcb\xa6\x19\x08\xcc\xd7\xe9\xa2\x38\xbe\x5f\x25\x5f\x06\x52\xb3\x8e\x9f\x07\x78\x3a\x5a\xb6\x00\x75\x0d\xb5\x51\xb0\x59\xe0\xd7\x42\xde\xcd\x10\x8f\x83\xbc\x9b\x41\xdf\x02\x79\x37\xd3\x3e\xfd\xf1\x4b\xf3\x8f\x77\xb3\xc5\x9b\x87\x61\x9e\xbf\x94\xb2\x74\x87\x42\x4a\x0e\x08\x8e\xb4\xad\x0d\x5c\x43\xf8\x96\x72\x9e\xfe\x00\xb3\xb2\xe1\xe5\x8d\xf5\xb1\x8a\x45\x9c\x90\x9f\x09\x59\x46\x8b\xf8\xab\x0d\x56\x7b\x9b\x9b\x0e\x91\x0a\x86\x1b\x26\x4c\xc1\x10\x02\xc7\x28\x98\x56\xda\xfb\x54\xd1\x5d\x9c\x54\x4f\x85\x0d\x32\xeb\x04\x76\x88\xbb\x52\x3c\x29\xe8\x8d\x29\xbe\x1d\x14\x9e\x21\x66\x99\xc8\xcf\x0f\x40\x56\xb3\x4b\x6c\xf8\xc3\x7a\x2f\xc6\xc6\xdb\xf1\xf9\x78\x72\x74\x35\xfe\x7c\x75\xf1\xf9\xe2\xf5\xfb\xf1\xf1\x95\xf6\x1a\xd2\xe9\x46\xf5\xb7\xe2\x71\x49\x36\x8a\xf4\xe2\xe6\x1f\x64\xc6\x29\x19\x29\x56\x59\xf2\x37\x1d\x85\xb6\xdd\x1a\x19\x95\xe8\xae\xff\x4b\x73\x75\xeb\x54\xc6\x65\x54\xac\x7f\xfb\x1a\x65\x7f\x4b\x0f\xbf\xfd\xeb\xbb\x86\x21\xf9\xf1\xc7\xb5\x74\xe3\xff\xf7\x8f\x7c\x79\xd3\x74\xed\x34\xc9\x8b\x28\x99\x91\xc3\x62\x7d\x94\xfe\x4b\x77\x3f\xec\x74\x63\x4e\x72\x92\xd5\x23\xfe\x3a\x4e\x22\xee\x61\xb8\x92\x57\x71\x98\x90\xdf\xff\x96\x6d\xd4\x7f\x9e\x54\xb6\xe5\x1a\x59\x1f\xa5\xd5\xef\x35\xb4\xbf\x03\x20\x22\xb0\x7f\x93\xa5\x0f\x0d\x8f\x74\x54\x18\x10\xd2\xb4\xe6\x40\xbb\x4d\xb3\xb5\x9f\x8a\x8d\x84\xfc\x51\x54\xb9\xb8\x6b\xeb\x3f\xfe\xf8\x7d\xb1\x11\xe7\xe3\x64\x5e\x99\xa6\x6b\xeb\x3f\xad\x17\x1b\x77\xa4\xfe\xf3\xf9\xea\xe1\x86\x64\x6b\xeb\xa3\x62\x23\xff\x12\x2f\x9b\x26\x1d\xe2\x7a\xa9\x7a\x3d\x51\x42\x5b\x23\x4b\x18\x64\x7f\xc9\xe2\x82\x64\x10\xd0\x38\xb2\x57\x69\xdd\xb4\x99\xb1\xeb\x23\x52\xf6\x63\x42\xf2\xd5\xa2\x78\xbd\xba\xbd\x2d\x3b\xa2\x97\x58\x41\x90\xc3\xf0\x5f\x98\xc9\x53\x65\x0f\x67\x69\xa9\xcf\x5d\xba\x37\x7e\x42\xc9\xa8\xda\x4d\x32\x1d\x05\xd9\xc4\x1b\x65\x87\xdf\x96\xdd\xc2\x72\xb0\x96\x1e\x56\x5a\xd3\xaf\x35\x6b\xeb\xeb\x3f\xfe\x68\xb1\xda\x53\xe2\xa6\xeb\xcc\xa4\xce\x94\x93\x3a\x33\x4c\x6a\x59\xa7\x02\x4e\x74\x19\x3f\x88\x1e\x83\xc4\xb4\x5a\x10\x2c\x29\xba\x2c\x12\xf1\xed\xda\xd6\xe1\xe1\xa1\xb8\x56\xb4\x2b\xb3\x16\x2c\x61\xfc\xbf\x2b\x36\x32\x12\xcd\x9b\x41\x5e\x4b\x2d\x4c\x1c\x5d\xcf\xca\x45\x20\x67\xd4\x32\x5d\xff\x17\x59\xe4\xe4\x6f\x2e\x2b\x9a\x7e\xf2\x06\x5a\xe5\x64\x4c\xbd\xaf\x7c\x16\x4c\x64\xab\xc1\x77\xa5\x4d\xf4\xfd\xe1\x5a\x7a\x48\x24\xab\x40\xb1\xf1\x7b\xd9\xb2\x1d\xdb\xad\x91\xd5\xe8\x2a\xc4\x70\xe8\x50\x3f\x54\x8c\x8c\xf4\x40\x35\xe3\xd1\x2f\xf0\x77\xa4\xf8\x25\x8b\x96\x4b\x92\xd5\xaa\x52\x21\x6c\x61\x0f\x6f\xa1\xe4\xcc\xe5\x72\x12\x89\xa0\xb9\x4c\xd0\xad\x11\x41\xf1\x9f\x2d\x48\x94\x69\x91\x2a\xd9\x70\x33\xec\x6b\x1a\xcf\xff\xb6\x89\xe2\x7b\x1f\xe5\x5a\xae\xb5\xba\x31\xa3\x44\xf7\xda\x8a\xb7\xfc\x8a\xd2\xe1\xa7\xad\xdf\xfc\xed\xf3\x0d\x0f\xdf\x1b\x7d\x43\x16\xb3\xd3\x73\x24\xa4\x5b\x7d\x7c\xf8\x6d\x59\x37\x78\xbd\x4a\xe6\x0b\x92\x97\x24\x0e\x7a\x70\xda\xc6\xe5\xaf\xd7\x6a\x33\x40\xf8\x7c\x4d\xbf\x53\x33\x0d\x3a\x82\xe5\x52\xe6\xc9\xc8\x10\xa1\x4a\xd7\x47\x45\x5a\x44\x8b\xe3\x74\x95\xd0\xbd\x69\x75\xe9\x97\xb8\xb8\x3f\x21\xb7\xd1\x6a\x51\xac\x15\xa3\x9d\xd1\x26\x6b\x95\xc4\x4a\xab\x24\xb6\xb2\x4a\x5a\x57\x6e\x30\xb3\xa4\x66\x68\xbf\xf3\xa8\x04\x45\x18\x26\x66\x92\x2e\x96\x49\xfe\x7b\x5c\xcc\xee\xd7\x64\x96\xc9\x2c\xca\xc9\xdf\xb6\x0e\x00\x06\x0a\xaf\x93\x70\xfb\x44\xd0\x66\x83\x79\x12\xcd\xe7\xec\x74\x59\x4b\xd7\xbf\xbb\xc9\x48\xf4\xe5\xbb\x4a\xdc\xed\x03\x0b\x5b\xaa\x09\x32\x38\x19\x53\xe6\xd1\x90\x59\x53\xb4\xa8\x3b\x07\xe5\x0c\x2d\x59\x5f\xc7\x49\xb1\xbf\xbb\xd6\x34\xb8\xea\xe6\x59\xdf\x60\x5e\x4f\xad\x03\xc6\x0e\xfb\x97\x8b\x1d\x26\x2c\xae\x83\x18\x62\x0d\xd7\xc0\x96\x98\x9e\x8b\x34\x22\x52\x6f\xbf\x3f\x75\xb6\x98\x64\x29\x5e\xdf\x58\x90\xe4\xae\xb8\xff\xbf\x9b\x9d\x71\x36\x69\xb6\x3f\x90\x91\x26\xa8\xb8\xca\x46\x1b\xd9\xd8\x85\xdb\x50\xbb\x50\x0f\xca\xfa\x68\xf3\xfb\xc3\x8e\x25\xa5\x7a\x14\xcb\x46\x3d\x77\x4a\x57\x13\xa3\x69\x52\x7c\x4d\xf6\x64\x0b\xb5\x85\x5d\xc9\x03\xee\x66\xe2\xb0\x76\xa5\x46\x6e\x85\x7d\xa9\x16\xdc\xd6\xce\x14\x04\x12\x16\x41\x4e\xb5\x05\x71\xa2\xf9\xfc\x2a\xd5\x0a\x64\x81\xa6\xd3\xae\xc5\x5b\xc9\x10\x3d\xe8\xac\x65\x71\x52\x7e\xfa\x0d\xaf\x8a\xa1\x5d\x9a\x66\x77\xd9\xc6\x2b\x1f\xc6\xa9\xd9\xc6\x2a\xdb\x50\x5e\x8d\xc0\x18\xe7\xd6\x20\x61\x67\x16\x43\x93\x82\x88\x16\x70\x29\x41\x65\x04\x23\x87\x5e\x26\x83\x62\xe8\x2f\xcb\x76\x3b\xa7\x09\x0d\xc2\x4e\x35\xf8\x08\xc7\x8c\xdd\xb8\xf0\x1e\x99\xdc\x73\x81\xb9\x62\xf2\xb6\xca\x70\x6b\xfd\x75\xef\x06\xd5\x3f\x1b\x7c\xa0\xfa\xa3\x20\xe1\x55\x83\x99\xeb\xd1\x83\x61\x4d\x71\xeb\x51\xc1\xf9\x2c\x60\x5a\x4f\x10\x46\xad\x45\xb3\x08\x9e\x36\xea\x00\x30\xf2\x1b\xed\xc2\xc4\x4b\x55\x73\x2d\x90\x81\x0e\xb2\x49\xdd\x2d\x73\x10\x79\x48\x74\x94\x9a\xb7\x56\xa1\xd1\x66\xec\xdc\x02\xa2\xaa\xb1\xe8\x05\xf2\x69\x34\xd4\x14\x8d\x66\xaa\x5a\x41\x44\xa1\x3c\x06\x3d\x55\x6c\x69\x43\xce\x6c\xbd\xc1\x4c\x02\x15\xaf\xd2\x16\x50\x72\x32\xc7\x37\x11\x3b\xe0\xdb\xae\x07\xfe\x0e\x20\x45\x9a\x76\x3b\xa1\xba\xbd\xd7\xdd\x70\x42\x6e\x83\xee\x88\x62\x37\x42\xee\x8a\x02\x37\xc8\x22\x09\x10\xd1\x6a\x77\xb4\xa2\x37\xfc\x0e\x49\x8d\x38\x7c\x97\xa4\xd5\x64\x98\x9d\x52\x37\x27\x03\xed\x96\x22\x4b\xef\x3b\x26\x98\x45\xc0\x5d\x93\x1e\x4b\xb7\x9d\x53\x37\x36\x41\x76\x4f\x4a\x64\xe3\x0e\xaa\x57\x9c\xa0\xbb\xa8\x8e\x75\x88\x9d\x54\xc7\xef\x79\xec\xa6\xde\x8e\xf9\x24\x44\xdd\xf7\x53\xc8\x11\x9f\x57\xf7\x72\xb4\x88\x0a\x92\x17\xa7\x49\x5c\xbc\x4f\x6f\x3a\x82\x67\xf4\x6f\xf5\x64\xdf\xa7\x37\xc1\xf7\xe7\x01\x0e\xde\x44\x76\xb6\x0b\xb3\x97\x43\x37\x3b\x82\x4f\x76\xe4\x36\x88\x33\x6b\x75\xb2\xf6\x3e\xbd\x81\x1f\xa5\x95\x3a\x6b\x96\x84\x9d\x04\x5e\x4e\xc3\xb4\x2b\xd0\x00\xc6\x43\xa8\x93\x30\x38\x0f\xcd\x39\xd8\x40\xbe\x37\x77\xd0\x25\x2e\x75\x36\x67\x5d\xa5\x26\xe1\x4d\x15\xcd\x61\xd5\x13\x78\xfa\x06\x25\x1d\xcc\x50\xd1\x1e\xde\x84\xb0\x54\xa4\x87\x00\x08\x53\x05\x33\xfc\x8c\x5a\x7a\x54\x82\x72\x9d\x34\x9d\x4e\x98\x14\x40\x21\x9b\xc7\x53\x21\xb3\x1a\x98\xf0\x69\x95\x81\x9d\xde\x5e\x54\xc2\xc4\x1a\x7f\x34\xd4\xbf\x4a\xde\x25\xdc\x09\x39\x6f\xbb\xe8\x9c\x37\x09\x17\xbc\x39\xac\x20\x6c\x9f\xf7\xa6\x21\xa2\xca\x7c\x8b\x96\xcb\x45\x3c\x63\x13\xd0\x8e\xfa\xdf\x99\xe3\x4d\xd4\xc7\x9c\x99\xfc\x7b\x9a\x7d\xc9\x97\xd1\x8c\x74\x84\x7f\x69\x7f\x63\x26\xdb\x7d\xca\x11\x4d\xb3\x39\xc9\x3a\x82\x17\xe5\x4f\x7a\x62\x17\x4b\x92\x55\xd2\x55\xdf\x72\xd4\xf2\x22\x2a\x56\xe6\x7c\xbf\x69\xf7\x99\x2e\xcf\xaf\xfe\xea\x4d\xbc\x28\x28\x3e\x55\x8e\xdf\xfd\x63\x1e\xcf\xa2\x45\xf9\x01\x31\xa6\xe2\xed\xf9\x4d\xc5\x93\xe8\x44\xe8\x64\x3c\x91\x25\x34\xff\x08\x22\xac\x75\x42\x9e\x1d\xd1\x27\xf3\x0f\xb8\xc9\x64\x17\xce\xa3\x67\xa1\xd9\x4a\xa7\x27\xb8\xa5\xcf\xc0\xcc\x4d\xb8\xf7\xc0\x4e\x69\xb3\x84\xfd\x4a\x21\xa6\xe0\x69\xe5\x63\xa7\x3b\x5c\x40\x6e\x99\x30\x4b\x58\x2f\x3d\xac\x74\xbb\x26\xe9\xe8\x25\x02\x2e\x1b\xb3\xb0\x98\xd3\x2d\xeb\xcf\x39\xd1\xf6\xba\xdc\xc5\x71\xb2\x7a\x68\x33\x17\x2f\xe9\x95\xc9\x5f\xf2\xa2\x76\x97\x0c\x98\xbe\x28\xe1\x1b\x24\x81\x11\xce\x07\xee\xba\xf1\x9b\xae\x6d\x10\x98\x5e\x01\x80\x6e\x1c\xbb\x1d\xdb\xb8\x70\xec\x74\x06\xb2\xeb\x37\x6b\x8e\xd5\x8e\x8e\x15\x37\x31\x95\xbc\x5a\x2e\xf4\x5e\x0d\x48\x04\xdd\xd5\xf1\x66\x26\x1e\x28\x1f\x93\x9d\x50\x54\x5f\xab\x59\xb7\x07\x4a\xc8\xd4\xce\x1e\x56\x53\x3c\x47\xe5\x29\xca\xa0\x14\x4c\xc3\x3c\x97\x4b\xea\xf9\x76\x8f\x56\x86\xca\xed\xd1\xe3\xd5\x3a\x3d\xf4\xfc\x03\x27\xc3\x69\x99\xdf\x47\xb9\x9e\x35\xfe\x9a\x8f\x49\x55\xba\x39\xea\x59\x51\x7a\x0b\xc0\xd1\x35\x63\xd4\x44\x22\xa5\xe7\x6c\x49\xb3\x92\xe8\x90\x6a\x55\xa4\x5f\x2f\xbd\x29\x88\x8e\x6d\x10\x9f\x98\x51\x8f\x6a\x49\xf5\xa8\x1a\x9c\xf1\xb5\xe3\x41\x37\x38\x11\xc1\x7a\xb1\xe3\x49\x2f\x54\x10\xb5\x3a\x51\x6f\x6a\xde\xf4\x41\xc5\x4e\xaf\x0b\x68\xa0\x99\x7d\x33\x40\x82\x3f\x63\xf7\xee\x7a\x50\x0b\x99\xb4\xd6\x69\xfd\xbb\x78\x1d\xe9\xcc\x6d\x64\x42\xff\xae\x2e\xa1\x9f\xf5\x1a\xbc\xa8\xb5\x76\xb4\x5b\xdd\xa6\x4c\x29\x50\xfa\xbe\x49\xc5\x18\xe3\xc8\x2d\x45\x7b\x0f\x94\xa2\x6d\xd2\x1e\x85\x20\xda\x3c\xed\xd2\x80\xa3\x06\x6c\xcf\x5e\x77\xc2\xdd\xc4\x95\xb1\x09\x10\x96\x74\xbe\x8f\xab\xa3\x22\x2f\x7b\x33\xef\x5b\x18\xa3\x73\x27\xec\xb7\x86\xab\xb8\xfd\xd7\xe2\x6d\x5c\x4f\xc5\x76\x54\x5d\x1e\x34\xee\x66\x77\x0f\x16\x24\x2e\x2e\xf2\x16\xe6\x68\x1e\x97\x3e\x27\xd1\x07\xab\x9b\xb0\x82\x32\x99\xa3\x33\x14\x26\xe8\x62\x1d\xfa\x79\x3f\x54\xa0\x25\xe4\x55\x51\x0b\x46\xb2\x85\xa4\xbb\x26\x2a\xac\x11\x1e\xee\x88\x0a\x83\xef\x5e\xca\x43\x3f\x90\xa2\xfc\x61\xee\x60\xf2\x1d\xb2\x77\x41\x65\x27\x9f\x4a\xd1\x03\x5d\xc3\xd4\x0b\xc4\xce\xc0\xc0\xd7\x30\x05\x40\x5d\x17\x4d\xce\x7a\x33\x6b\x43\x6b\xc2\xf1\x7a\x5f\xd9\x71\xb8\x74\xc0\x9e\xa4\xd7\xfc\x7a\x91\xac\x75\x4a\xa0\x9a\x84\xea\xf4\x33\x23\xb7\xdd\x59\xe2\x84\xdc\x9a\x8f\x25\x3b\x0f\x97\x4f\x09\x4c\xa3\xf9\x09\x29\xa2\x78\x91\x1b\x0f\xf8\xb6\xfd\x1d\xf0\x49\x3b\x1d\x38\xe5\x4f\x60\x08\x4c\xa8\x02\x08\x6a\x9b\xf6\x67\x45\xf2\x49\x0f\xf6\x3a\xbd\xb1\x3b\xd6\xeb\xd5\xcd\x7c\x20\x55\xea\xaf\x78\x98\x27\x9e\xf9\x9c\xf5\xaa\xea\x2d\x41\x4f\xb7\x26\x84\x4b\xd1\x13\xb9\x86\x48\xd2\x03\x73\x81\x9f\xf5\xb4\x4b\x8d\xed\x19\x4f\xaf\x0e\xa0\xc3\x08\x7a\xa4\xf9\xa3\x88\x6d\xe3\x51\x84\x61\x58\xeb\x6e\x78\x8e\x2b\x77\x1d\x84\xe4\x82\xe9\x95\x8e\x95\xce\x6f\xba\x9d\x8e\x73\xb5\x41\xcb\x91\x69\x37\xe5\x72\xf8\xa1\x59\x55\x3a\x56\xf7\x51\x2e\x67\x84\x4e\xb3\x33\x0c\x3c\xa5\x58\x6e\x61\x9c\x6d\x63\x18\xc7\x3c\xbe\x52\x21\x6c\x42\x38\xdb\xd8\xbb\xf6\x9c\x8c\x3e\xaf\x47\x48\xe8\xa2\xcc\x21\xe0\x25\x89\x3e\xec\xd2\x99\x45\x3d\x15\xbd\x75\xa4\x0b\xad\x78\xbe\xe3\x20\xe9\xd8\x80\x36\x8f\xd5\x4d\x07\x88\xa8\x18\xab\xe7\xaf\xa0\x0a\xe7\x63\x62\xaf\x29\x6a\x27\xf4\x30\xa6\x4c\xc0\x0b\x07\x70\x36\x80\x2b\x8b\xdc\xca\x60\x63\xcc\xf8\x8b\x9e\x98\x86\x8c\x91\xd3\xa3\xb5\xe2\x12\x2e\x31\xab\x97\x54\xd6\x70\xb6\x8b\x29\xba\x00\x0a\x2c\x38\x99\x32\xb2\x1c\x71\x2d\xdf\xa0\x97\x1c\x05\x5d\xc4\xef\xe1\xba\xbd\x10\xb0\x7d\x2b\x9b\xab\x22\x19\x88\x9d\xbb\xff\x8e\x0b\x6a\x44\x59\x11\xdf\x46\xd4\x9d\xc9\xa3\xe6\x17\x86\x4b\x93\xab\xfc\x9e\xcc\xdb\x6f\x39\x9a\x37\xab\x78\x31\xef\x08\xbe\x2e\x7f\xd2\x53\xab\x3e\xe1\x88\xd4\x9d\xbd\xce\x16\x80\x64\xea\x1f\x7e\x58\x1f\xfd\x23\xbd\x39\x89\x8a\x68\x9a\xae\xb2\x19\x99\x50\x31\x9f\xf7\xdc\x1f\xcc\xd7\x36\xfb\xcf\x2b\x87\x45\x76\x31\xb4\x3e\x36\x9d\x90\x65\x9a\x15\xdc\xed\x50\xfa\x4f\x7a\x5e\xf4\x97\x1a\x3b\xca\x3d\x74\x64\xde\x65\x3d\x9a\x50\x82\x3d\xe0\x32\x83\x70\x86\x93\x0d\xb9\x27\x0b\x15\xf5\x42\xc2\x2d\x26\x6a\xfa\x5a\x1a\x4a\x56\x89\xd5\xec\xac\xb6\x28\xc1\xca\xae\x06\x80\xe4\xf4\x76\x91\xb1\xcc\xad\xae\x16\x0a\xb8\x5c\xf5\xba\x62\x16\xa7\x5e\xa2\x54\xc9\xd4\xd3\x22\x8b\x93\xbb\x35\x06\xdd\xeb\x6c\xc1\x7d\xbf\x0f\xb8\x89\xcb\xad\x2c\x76\x17\x73\xb9\x55\xc9\xdc\x2b\x61\xe1\xb3\xbc\x06\x40\x2f\x4f\xb6\x89\xec\xcd\xa2\x06\xbd\x4c\xcc\xac\x99\x5e\x02\x96\x9a\xed\x3e\x90\x85\x0f\x35\x76\xdd\x8d\x7b\x28\x07\x78\x90\x12\x61\xde\x53\x4b\x12\x30\x37\x9c\xb1\x2c\x6c\xd2\xc3\xb9\xe5\x05\xc8\xae\xb7\x3b\x38\x5e\xda\x74\xf0\x7a\xc9\x30\x66\xa0\xf7\xab\x80\xec\x94\xb9\x59\x31\xf6\x4a\x7b\x81\x15\x4a\x6a\x8c\x70\xf2\xed\x9b\x2e\x56\x73\x2b\x81\xd5\x85\x6e\xc1\x3a\xb1\xb9\x12\xc0\xcc\x6d\x37\x5f\x4e\x33\x2f\x43\xb9\x71\x3d\x51\xa3\xf7\xa6\x5d\x35\x42\x3b\x6e\x1a\xe6\xe1\x7c\x36\x0d\x53\xbc\xbb\xe6\xae\x08\xed\x64\xf7\x79\xcd\x9f\x35\x6e\x4c\xf9\xb4\x7a\x55\x10\xe5\xf3\x98\xb5\x6c\x52\x04\x0d\x38\xdd\x4d\x87\x76\xad\xf5\xa0\x04\x1a\x76\xb8\x94\x65\xbd\x0a\x54\x2b\xb1\xc7\xf1\xaf\x6d\x47\x53\x62\xb2\x7e\xd8\x39\x99\xc0\x63\x6e\xce\x42\x36\x8d\xb9\x0a\x8d\x76\xc0\xeb\xdd\xce\xc3\x68\xab\x18\xe9\x87\x1a\x01\x2b\xbd\x9b\xba\x26\x0c\xff\xf0\x83\x87\x85\x9d\xe1\xaf\x3d\x64\xaa\xf7\x77\xab\x4c\x61\x3d\x00\xbc\x59\xe0\xb7\xb0\x05\xef\x76\xec\xa3\xc0\x52\xcb\x0a\x9e\x0e\xfb\xe8\xe9\x00\x00\xac\x9d\x19\x82\xc9\xe5\x61\x92\x00\xd8\xeb\xe7\x0b\x62\x08\xa4\xa6\x9c\x47\x85\x61\xdc\x3e\xd3\x0d\x24\xbd\xaa\xe8\xe4\xf4\x78\xfb\xcb\xa4\x2c\x20\xb8\xd8\xc2\x28\x8c\x99\xec\x41\x61\x40\x22\xe0\x2f\x83\x4d\xc8\x82\x44\x39\x09\x59\x1d\x85\x67\x81\x0f\xa3\xcb\xa8\xda\xdf\x3f\x50\x51\xf8\xab\x28\xca\x7f\x68\x51\x14\x5e\x21\x42\xdf\xcc\xe0\xf8\x41\xd3\xec\x8d\x62\x5a\xdf\xc8\xb0\xa0\xf8\x57\x21\x94\xbf\x0a\xa1\xfc\x55\x08\x05\x57\x08\x45\xbd\x21\x06\xbc\x9c\xc3\x33\x0d\x72\x31\x07\xc8\xe4\xaf\xfa\x27\x7f\xd5\x3f\xb1\xad\x7f\xa2\x9e\x34\xcf\xaa\xf8\x89\x6e\x6e\x0f\x52\xf9\x44\x2d\x40\xe8\xb2\x27\x6a\xce\x03\xd4\x3c\xd1\xaa\xc7\xf3\x28\x78\xa2\x55\x8d\xf0\xd5\x4e\x0c\x8a\x11\xa8\xd4\x89\x56\x29\xc2\xd6\x39\xd1\xaa\xc4\x33\x28\x72\xa2\xd5\x87\xb0\x15\x4e\x0c\xba\xe0\xb9\xbc\x89\x56\x07\xc2\xd5\x36\xd1\x8e\xff\xf3\x2a\x6c\xa2\x55\x85\x01\xab\x9a\xa8\xe5\x78\x9e\x25\x4d\x0c\x7a\x1c\xa4\x9e\x89\x56\xad\x06\x2b\x66\xa2\xd5\x98\xc1\x2a\x99\xf4\x52\x84\x2b\x63\x22\xf0\xf0\x1d\x3f\x74\x2e\x60\xa2\x24\x21\xaf\x5e\x92\x35\x9f\x1b\x63\x68\x13\xea\x43\x43\xdd\x92\xe6\xd3\xa0\x45\x4b\x84\x6e\x0e\x17\x17\xb3\x2b\x57\x62\x16\x14\x11\x19\x7b\xa6\x77\x6a\x18\x05\xb0\xba\x50\xc3\xaa\x8e\x39\x6e\xd2\x42\x81\xae\x4f\xa2\x99\xd0\x83\xc4\x3f\x42\x56\x26\x81\x72\xd1\x96\x25\x61\xe7\xbf\x87\x9a\x24\xec\x50\xbb\x17\x24\xd1\x8c\x1c\x27\x76\x98\x52\x24\x4c\x3f\x2c\xdd\x42\xd9\xbd\x1a\xb9\xc4\x81\x2a\x90\x68\x44\xa1\x66\x57\xe0\xda\x23\x2c\x82\x4e\x2b\x20\x67\x63\x19\x46\xbd\xbf\xdd\x4c\xe9\x34\xb6\xde\x08\xab\xcf\x78\x7b\x40\xbe\x8b\xc2\x0c\x01\x79\x5b\xd5\x55\xda\xc6\x06\xa0\xca\x8b\x54\x3f\x9b\x0e\xf9\xaa\x8f\x9e\xfc\x5a\x89\xfb\xf5\x5c\xc3\x5e\xe3\xd1\x7e\x60\xf7\x43\xeb\xb1\xc7\x59\x0c\x60\x5a\x4f\x78\x8a\x56\x49\x68\x73\x7a\x56\xeb\x1e\xa4\xd2\x48\xad\xca\xff\x49\x77\x06\x54\x0b\x51\x20\x3b\x06\xb4\x8f\xbb\x1b\x30\x20\xf2\x36\xf5\x4c\xfa\xb5\xcd\xee\xdc\xa6\x56\xb9\x3f\x55\x96\xba\x4a\x13\x7a\x1c\xbc\xc6\x9e\x2b\x8a\x46\x0b\x48\xad\x9e\xa2\x50\x1e\x8f\x21\x54\x6c\x69\x7b\xc1\x6c\x2a\xc0\xe2\x8b\x2a\x5e\x55\x15\x14\x15\x27\xdc\x71\x83\x66\xa8\x9f\x4f\x9a\x9d\x66\xe8\x07\xca\xb1\xd3\x6a\xc1\x20\x09\x76\x1a\xdd\xf0\x94\x5d\xe7\x6a\xc3\xbe\x25\xc5\x47\x92\xe5\x71\x9a\x9c\x26\xb7\xa9\xaf\xc8\x96\x82\xaa\x85\x3d\x6b\xa0\xa0\xb2\x6a\xe3\xe4\x36\xed\x8c\xcf\xb2\xa5\xde\xdc\xa4\x58\xf0\x49\x66\x24\xfb\x4a\xb2\x37\x24\x2a\x56\x19\xc9\x3b\x92\x53\xe6\xd7\x06\x5b\x96\xf9\xd6\xbf\x35\xab\x80\x28\x98\x4d\x2b\xe7\x67\xb4\x16\xa0\x62\xc2\xed\x5b\x7b\x8a\x4f\x66\xe5\x52\x72\xc2\x2d\x5d\x5a\x2b\xcd\x16\x65\xa5\xe5\xb6\xa6\x2e\xa3\x9a\x16\xc6\x2e\xab\xd2\x66\xe1\xb8\xf9\x82\x37\x75\x8d\xeb\x55\x08\x83\x57\xc1\xd4\xaf\xd9\x6b\xc7\x04\x6e\xfc\x76\xab\xa0\x8d\xe5\x4b\xab\x20\xd0\xfa\x95\x2c\x8d\x56\x96\x2f\xab\x5a\x0e\xb6\xaf\x51\x35\x1a\x30\x3c\x1a\x42\x14\x3f\xbd\xb1\x06\x50\x5b\x4e\x36\x5f\x56\xb0\x91\x73\x65\x05\x29\x70\x69\xed\x9e\x4a\x87\xcc\x96\x8e\x91\xd7\x7d\x94\x2b\x38\x21\x0c\x61\xc8\xb8\xb3\xda\xe5\xd3\x14\x66\x57\x52\xad\x31\x0c\x51\x02\x95\xa0\xbe\xcc\x61\x98\x3a\x18\xe1\xea\x8e\xac\xd9\x49\xef\x47\x45\x8c\xdc\x11\x19\x39\xdc\x32\xe3\xf3\x94\x98\x23\x8d\x34\xa1\xd5\xd6\xa3\xc9\x74\x56\xb4\x54\x5d\x26\xb9\x6d\x3e\xac\x0e\x83\x4b\x64\xab\x6c\x49\xe9\x19\x49\x03\xf2\x68\x6b\x7d\xfd\xef\xf5\x50\x1f\xa4\x3e\x6e\x3d\x98\xcc\x0a\x5f\x16\x2c\xcb\xc7\xb8\xed\xc3\xad\x1d\x93\xc5\x0a\xa7\xe4\xf7\xe8\xb6\x6c\x5e\x9b\x06\x65\x9b\x13\xb2\x88\x1f\xe2\x82\xcc\xd7\xd6\xff\x5e\x9b\x7c\x97\xd1\xec\x0b\x69\x12\xcd\x0f\x3e\xd1\x69\xe7\xbf\x8d\xb2\xc3\xcd\x9f\xb2\xff\x93\x36\x67\x7e\x3f\x65\xff\xf5\x5f\xeb\xd5\xa1\x4f\x6f\xcc\x7d\xca\x7e\x5b\xff\xce\xed\x00\x56\x39\x57\x42\x98\x6f\x30\xd3\xc2\xd1\x6c\x83\x11\xd7\x9e\xb2\xbe\xa1\x66\xa0\xf4\x94\x95\x1a\xa6\x2d\x7d\x8a\x32\x27\x4d\x33\xb7\x0f\xbf\xbd\x19\x1f\x5d\x5d\x4f\xc6\x9f\xaf\xcf\xa7\x97\xe3\xe3\xd3\x37\xa7\xe3\x93\x83\xcd\x51\xfb\xdb\xd3\xf3\xb3\xd3\xf3\xf1\xe7\x9f\xc7\xe3\xcb\xa3\xb3\xd3\x8f\xe3\xe9\xc1\x96\xcb\xd8\x71\x5d\x81\x9e\xbc\x42\xf7\x79\x8d\xce\x28\xf8\x2a\x36\x4d\xd6\x78\xfa\xdf\xff\xd5\x27\x5b\x29\xd9\x52\x73\xc1\xea\xac\x94\x3b\x24\xb5\x59\x38\xb8\x6d\xda\x80\x76\xbb\x49\x33\xfa\x85\x3a\xf1\xa4\xdd\x02\xe4\xfe\xa6\x08\xbd\x98\x36\x37\x59\x33\xf5\x35\xc9\x98\xba\x1e\x19\xc3\x43\x41\x55\x1e\xda\x2c\x5d\x34\xbf\xe3\x42\x43\x24\x29\xb2\xba\x51\x47\x7d\xdc\xfd\xca\x17\x93\xaf\xf5\x6f\x8d\x17\x0f\x77\xaa\xfa\x01\x1e\xf6\x60\x6d\xd0\xc1\xd7\x06\x4c\x87\x43\x6c\x14\x04\xb1\xf5\x02\xc9\x3c\x87\x08\x11\xaf\x12\x6e\x11\x23\x5e\xaf\x20\xb7\x0c\x63\xdb\x00\x92\x86\x21\x3c\x9a\x84\x93\x9a\x9a\x73\xe2\xd5\x43\x59\xf5\xbb\x86\xb4\x87\x20\x94\x7c\x19\x0c\x61\xba\x00\xe2\x30\x8e\x76\x0b\x80\xb2\xcd\xe5\xb8\x18\x15\x62\xe2\x47\x1f\x18\x72\xe2\x96\x5d\x9b\x70\x93\x13\xf7\x96\x6f\xab\x49\x9a\xfa\x69\x3b\x95\x9d\xe6\x63\x9f\xe5\xa5\xf3\xb8\xef\x6a\xb6\x20\x9b\x7d\x58\x45\x46\x9e\x7c\x3c\x5b\x65\x19\x49\x0a\xe3\xce\xb6\x35\xda\x5c\x1f\x3d\xc4\x49\xfc\xb0\x7a\xb0\x7f\xb3\xc8\x31\xd1\xd8\x6a\x49\x0a\xb0\x2b\x0a\x5b\x00\x66\x38\x3d\xed\x9a\x16\x64\x43\xee\xa2\xf5\x92\x7e\x1d\x27\xc5\xce\xf6\xda\xfa\x77\xd5\x92\x7e\x5c\xeb\x92\xf2\x5d\xa1\xf6\xeb\x7a\x03\xf8\x50\x2b\x93\xe7\x0d\x40\x3d\x3f\x43\x6f\x08\xc0\x75\xcb\xc3\x06\x01\xe4\xa4\xdb\x30\xe8\x5b\xb8\xed\xb0\x51\x8b\x76\x33\x52\xa5\x7b\xcb\x5c\xd8\x6d\xc7\x4c\xfc\xd4\xf0\x42\x10\x6c\x88\x7a\x61\xdc\xae\xc8\x6c\xe9\xaf\xc8\x40\xf5\x44\x14\x42\x7b\x43\xe6\x34\x29\xe0\x07\x00\x60\x20\x1a\xa8\x83\xbc\x98\x03\x06\x42\x10\xc2\x02\x08\x43\xe8\x5b\x6e\xb5\xd5\xd6\x4b\x98\x33\x21\xc1\x34\xd6\xc6\x37\x54\x56\x25\x2b\x9f\xaf\x73\x21\x39\xb7\xe6\x66\xb6\x0c\x8f\xfe\x46\x76\x0c\x88\xf3\xcb\xc9\x57\xd7\xaf\x65\xc4\x11\xc7\x3f\xca\x61\xed\xad\xc3\x81\x46\x57\x7b\xf0\xa0\x1c\x5d\x99\x98\xbe\x4e\x7b\x34\x83\xac\x45\xa7\x1d\x6b\xca\xc0\x46\x0c\xb9\x96\x15\xe2\x2c\x47\x39\xf2\xcd\x1f\xdc\x56\xb2\x1d\x43\x45\x46\xe5\x40\x0a\x5c\xed\xea\x30\xee\xa0\x9e\xfb\xa2\xcb\x8b\x20\x3d\x04\x45\x71\x30\x93\x47\x20\x6b\xa6\x8a\xcc\x2d\xb3\xb4\xfc\x73\x17\x3f\xbb\xac\x7f\x36\x57\x18\x6b\x3e\xe4\x82\x65\x49\xf4\x60\x2e\xd1\xb5\x55\x3d\xb5\x71\x1b\x2f\xc8\xf1\x7d\x94\xdc\x91\x69\x7c\x97\x44\xe6\x17\x3a\xbc\x05\xd8\xb4\x95\x9f\x7c\xb9\x12\x74\x5d\x2a\x9b\x71\x46\xb8\x0a\x40\x32\x21\x5c\x83\x6d\x68\xb9\xae\x46\x6d\xec\x4a\x75\xb5\xba\x66\x0e\x45\xb5\xea\xcb\xba\x21\x5b\x8a\x38\xd4\x79\xf4\x20\xab\x96\x25\xfb\xf4\x0d\xa7\xad\x1e\x5c\x17\xf9\x42\x11\xc2\x55\x01\x54\x3c\x72\x74\x4d\x00\x94\xe1\xb1\x2b\x7a\xed\xb1\xad\xb1\xd4\xaa\x88\x31\x62\x54\x8d\xb9\x26\x5c\x54\xf9\x3d\xdd\x79\x20\x3f\xea\xc6\x38\x93\xe5\x68\xf7\xbd\xf6\x5c\x86\xa6\xa1\xaa\xdf\xb6\x55\x1a\x28\xca\xe4\xcb\x0c\x92\x73\xac\xcc\x20\x35\x0e\xad\x0d\xd4\xea\x87\xd9\x00\x92\xb3\xb9\x8f\x72\x35\x13\x84\xf5\xa3\x1c\xda\x52\xd7\x5c\xbd\x59\xbd\xe9\xa3\x1c\x39\x96\xa5\x9d\xdd\x63\xf0\x53\x94\xdd\xe4\x67\x49\x18\x6b\x4f\xd9\x65\x35\x7b\x17\xb3\x4f\x6d\x6d\x46\x59\x1c\xdd\x2c\xc8\x46\x9a\x90\xf4\xb6\xda\x19\xf3\xcf\x87\x9f\x3e\x6d\x8f\x5e\x8d\xb6\x36\x47\x3b\xbf\x8d\x3e\xed\x8e\xf6\x46\xfb\xa3\x17\xa3\x97\xa3\xad\xad\xdf\x7e\x03\x90\xfa\x18\x2d\x56\xe4\x38\xca\xc9\xe1\xb7\x8f\x47\x67\xd7\xe3\xcf\xe7\x17\x57\x9f\xa7\xe3\xab\x83\xcd\xd1\xf4\x6a\x72\xb0\x3d\x7a\x7d\x71\x71\x76\xf0\x6a\x74\x7e\xfd\xe1\x60\x6b\x73\xf4\xee\xf8\xec\x60\x07\x22\x22\x6b\x83\x77\x4c\x74\xe3\x32\x4b\x1f\x96\xab\x82\x5c\x94\x9d\x2b\x3f\x36\x79\x5f\x32\x34\x3e\x6d\x6a\xcf\xef\xbb\x36\x75\xc5\xeb\xba\xdf\xd3\x8b\xeb\xc9\x31\xdd\xf1\xe3\xb3\xd3\x83\xdd\xd1\x9b\xd3\xb3\xf1\xc1\xde\x68\x7c\xfe\xf1\x60\x7f\xf4\xf1\x78\x7a\xf0\x62\x34\x1d\x4f\x3e\x8e\x27\x07\x2f\x47\x27\xbf\x9e\x1f\x7d\x38\x3d\x3e\xd8\xd2\xe5\x46\xc8\xb1\xa0\x38\x07\x07\x63\x0b\x75\xbe\x2f\x8a\xef\x76\xc8\xd0\xd2\xb1\x39\x51\xe0\xdb\xa8\x9c\x07\x0b\x6b\x3f\x2f\x32\xc0\xd1\x41\xf9\xe5\x4d\x9a\x72\xbe\xc0\xeb\x34\x5d\x90\x28\x91\xb4\x78\x35\xfa\x7e\x6b\x7d\x94\x00\x8e\x25\xb6\x36\x47\x9b\xeb\xa3\xfb\x19\xd0\xcd\x18\xcd\x16\x7d\xc6\xc2\xf1\xa2\xc9\x58\xd8\x18\x3f\x2c\x8b\x47\xce\xe5\x29\xfd\x98\xee\xd3\x72\x2d\x32\x24\x1e\xb4\xe0\x96\x9f\x0a\xf9\x0c\x5f\xa9\x44\x86\xaf\x1a\xa6\x5f\x67\xfd\x4d\x98\x8f\x33\xc3\xf5\x97\x7e\xb9\x39\x9e\x4a\x2f\xd7\x70\x97\x6a\x34\x7c\xe7\x8f\x49\xf4\x10\xcf\xfa\x97\x23\xeb\x9f\xb5\xf0\x24\xd1\xa2\x5a\x82\x28\x90\xda\x5f\x81\xa1\x6a\x1b\x08\xe2\x27\x79\x5c\xc4\x5f\x09\x54\x61\xb6\x76\x4a\x8d\xf1\x92\xa5\xd1\x0a\x17\xee\x30\xaa\xe1\x60\x3e\x89\x50\x8a\x62\x71\xcc\x04\xa0\x11\xfe\x4c\xa9\xf5\xb9\xbe\x53\xb9\x67\xdb\x0a\xf7\x6c\x5a\xf0\x85\x85\x5f\x75\x5f\x96\xda\xd0\x7e\x57\xfd\x9b\x73\x0e\x37\xbb\x2f\x4f\x93\x62\x7f\xb7\x73\x0e\xe9\xf3\x29\xad\x6f\xf8\x6e\xc6\xd3\xec\xaa\x1a\xd7\x53\x42\x4c\xc4\x68\xa6\x8a\xd9\xa1\x2d\xd7\x1e\xb1\x2c\x31\x48\x6f\xaa\x15\xc6\x22\x07\x84\x59\x98\xcc\x92\x55\x4b\x9d\xe2\xf5\x42\x74\xb7\xcb\xd5\x8f\xa5\xfd\x02\xdc\xed\x8f\xc7\x53\x87\x5e\x97\x6b\xa3\x59\xae\x72\xad\x65\xe5\x7a\xe9\xad\xcf\xcd\xe2\xcb\x69\xe7\x96\x37\xfa\xed\x5a\xcd\x31\x30\x67\x18\x89\xcb\xb0\x93\x56\x75\x6b\x38\x44\xb7\xba\x1d\x82\x93\x76\x47\x3a\xad\xa7\xed\x3e\xe0\xe3\x44\x59\xb4\xbc\x82\x1c\x1f\xb7\x6c\x3c\x9f\x15\x1b\xc8\x6a\xa2\x31\x3f\x59\x85\x48\xba\xd0\x8d\xc4\x65\x26\xa3\x6d\x2a\x86\xd3\xb4\xda\x36\xb7\x7a\x45\xb5\xaa\x86\xf7\x95\xb9\xcd\xd6\x26\xd5\xa8\x5e\xc0\xb7\x36\xcd\xcd\x76\x44\x01\x77\xc4\x87\x16\x5b\xcb\x4f\xf6\xf6\x63\x33\xef\x80\x09\x52\x9d\x61\xc8\x91\xda\xd3\xa6\x46\x31\x4b\x32\x38\x15\xeb\xab\xf2\x3d\x48\x3b\x99\x5b\xc3\x92\xa3\xf4\x02\x24\x72\xb9\x9e\x5a\xdd\x57\x94\xb1\x7a\x69\x2f\x34\x6d\x91\xf2\x49\x70\x5b\x2e\xe3\xc6\xd8\xaa\x3c\x45\x7d\x66\x9b\x64\xed\x33\x57\x65\xef\x96\x32\x7e\x32\x6c\x21\x33\xd9\x18\x65\xf2\xe5\x56\xf2\x5e\x0c\xd8\xb7\x64\x1a\x2a\x6f\x44\xc5\x0b\x62\xe1\x64\xde\xcf\x16\x93\x28\xb9\xeb\x3d\x8d\x77\xcd\x2f\x80\x7e\x46\xfb\xb9\xff\x67\xd4\x0d\xc6\x95\x6f\x97\xa1\x62\x03\xdf\x82\x4c\x16\x1f\xd8\x79\x30\x11\x1a\xda\x83\x78\xd3\xe8\x8f\x75\x52\x35\xaf\x11\x0e\x06\x4f\xa7\x4c\x66\x73\xa7\x53\x53\x8f\xd6\x0b\x37\xcb\x83\x9a\x30\xba\xed\x09\x6b\xc7\xe8\x68\x43\x8c\x99\x4e\x05\xc0\x06\x0d\x11\x56\x0e\xab\x74\x66\x61\xfc\x1d\x2e\xd0\xab\x46\x91\xea\x4f\x98\x73\x05\xb5\xfa\x48\x18\x7b\x3d\x5d\xd0\x74\xb9\x45\xd2\x67\xf2\x90\x30\xc1\xf5\xf9\x2d\x6a\x58\x44\xe1\xbc\xa5\x0c\x29\x98\x56\xa7\x65\x1a\x4c\xda\xe3\xb2\x4e\x85\x01\x09\x43\x0a\x56\xf7\x51\xae\x61\x14\xae\x16\x12\x63\x45\xfa\x32\x55\xb8\xe8\x27\xd8\x52\xa1\xdb\xfd\xe7\x18\x2a\xd2\x78\x88\x77\x3b\xe5\xe3\xf1\x14\xbe\xcd\x18\x42\x34\x60\x2b\xc5\x40\xe7\x2f\x23\x65\x30\x23\x85\x9d\xde\x41\x6d\x14\x8d\x3f\x8a\x35\x51\x34\xa4\xff\xfd\x2d\x14\x76\x08\x87\x33\x50\x78\xd5\x19\xcc\x3e\x11\x3a\xfc\x8c\xcc\x13\x01\x94\x01\xac\x13\x96\x67\x48\xe3\x84\xe5\xf4\xe4\xb6\xc9\xbb\xd9\xe2\x32\x45\x57\x97\xe1\xc9\xb9\x58\x28\x5c\x53\xf9\x6d\xbf\x45\x9c\x40\xcc\x93\xcd\xf5\xd1\x2c\x5d\xac\x1e\xcc\x17\xde\xb7\xcb\x6f\x97\x37\x9f\x6f\x1e\x01\xcf\xf2\xee\xf8\xba\x16\xc8\xf5\x39\xbc\x89\x52\x33\x82\x6f\x34\x2a\xc1\x1c\x0c\x15\x33\xa9\xf0\xb6\xca\x29\x7d\xcb\xef\x2c\x4e\xd4\x27\xb2\xa7\xf4\x0d\xbf\xe3\x4a\x87\x94\x07\xa8\xcc\xb7\xaf\x1f\xbd\xbc\xa4\xaa\x9e\x98\x41\x0d\x8b\x86\x5b\x20\xdb\x42\x4f\x1d\x7a\xcd\xaf\x1a\x37\xf6\x9c\x44\x76\xc5\xaf\x19\x34\xe1\xc3\x6d\xfe\xc3\x6a\xc4\x84\xcf\x0c\x19\xb0\xea\xf1\x69\x24\x0c\x73\xf1\x4f\xa3\x15\x1c\x57\x8f\x37\xfd\x74\x5d\xad\x51\x0e\x73\xb9\x4f\xd7\x59\x9e\xaf\xc7\xfb\x7c\xba\xee\x96\xba\xe2\x9a\x11\xea\xde\x59\x96\xab\x45\x57\x71\x97\x7f\x44\xdb\xda\xa3\x79\x20\xb8\xfc\x36\x06\x02\xdb\xd8\x53\x1c\x23\x2f\x22\xea\x89\x91\x69\xf9\x13\x3c\x82\xc1\x59\x3b\x55\xfe\xdb\x9c\xca\x7f\x9b\x23\x48\x79\x0d\x85\xa8\x9d\xe4\x10\xc6\x46\xc5\xca\x6a\xfb\x31\x7a\xf0\x36\x06\x87\x91\xd8\x9f\x31\x3c\x72\x99\x5a\x94\x56\xb6\x30\xbf\xba\xec\xb3\x28\x93\xd5\xbe\x79\x2e\xf2\x95\x73\xc9\xaf\x7d\xc5\xaf\x6d\xa1\x2d\x2c\x6d\x9c\xc2\x83\x8d\xa5\xa5\x1f\x30\x88\xd3\x2f\x99\xae\x11\x1c\x8d\x75\x28\x66\x86\xcc\xad\x1f\x95\x87\xb2\x72\xd4\x9b\xe1\xe2\x45\x52\xa5\x1d\x2c\x68\x24\xef\x7a\x35\xfa\x81\xc2\x46\xe5\x92\x02\x0b\x1a\xc9\x91\xe1\x64\xf3\x1e\x36\x92\x70\x6d\xdf\xe7\xd5\x3e\xfc\x51\xcf\x18\x8b\xa8\x91\x84\xd1\x7d\x94\xab\xd8\x60\x2e\xc1\xeb\x07\x7b\x9c\xcc\x03\x0e\xb5\xf6\xf1\x6b\xc3\x50\x33\x92\xf9\x7a\x55\xdc\x38\xd0\x72\x3c\xfa\x7a\x07\x73\xfc\x20\xcb\x59\x20\x5e\x11\x97\x65\x74\x71\xd7\xc1\xb6\x46\xdb\xa3\x9d\xd1\xee\x68\x0f\x74\x01\x8c\xa2\xa3\xbb\x0b\x36\x3e\x9f\x9e\x5e\x9d\x7e\x1c\x1f\x6c\xd1\xf7\xc2\x76\xaa\x7b\x61\xbb\xd5\xb5\xb0\x3d\x4b\xa9\x19\xd5\x0c\x7b\x43\x4c\x81\x55\x7d\x59\xcc\x43\x36\x9b\xa4\x4f\xd8\x9c\x36\xd9\x75\x13\x8b\xcc\x36\xa1\xb9\x3c\x22\xab\xb8\xbd\x32\xf0\x1d\xaa\x1d\xf0\x1d\xaa\x5d\xe8\x15\xaa\xbd\x5a\xdc\xea\xae\x9d\xf1\xe3\x7d\xdf\x91\x61\x5d\xa6\x79\x80\x44\xbb\x96\x99\x4d\xba\x14\x24\x15\xde\x22\xe9\x0e\x42\x6e\x68\xb7\x4d\x92\x92\x6f\x79\x83\x47\x9e\xea\x2f\xb9\xc1\xb3\x0b\xbd\xc0\xb3\x07\xbe\xc0\xb3\xdf\x7d\x59\x17\x61\x6f\x64\xac\x34\xda\x6f\x96\x9e\x64\xf5\x0a\x9c\xab\x67\xca\x45\xc6\x67\xec\x99\x38\x80\x4a\x42\xc8\xb3\xfd\xc5\xb4\xfd\x60\xb7\x11\x76\xf8\x04\xec\x1d\x73\x9b\x5d\xe1\x32\xc2\xae\xb9\xd1\x9e\x28\xde\x1e\x1f\x71\x6f\x54\x8f\xfa\xb2\x52\xcc\x7d\x60\xc8\x9d\x1a\x93\x9a\xd2\xe1\xb7\xeb\xf3\x9f\xcf\x2f\x7e\x39\x3f\xd8\x1c\x9d\x8c\xdf\x1c\x5d\x9f\x5d\x1d\x6c\xd5\xb7\xae\xb7\xab\x2b\xd8\x3b\xd5\xdd\xeb\xdd\xea\xee\xf5\x5e\x7b\xf7\x7a\xbf\xbb\x7b\xfd\x02\x63\x6f\x74\x6b\x43\xf0\x24\x46\xe9\xec\x92\xf1\x57\x98\xbd\x95\xb1\xc3\xf8\x7b\x18\x7b\x07\x9c\xef\x27\x11\xbb\x79\x0d\x06\x02\x9c\x7f\xb9\xad\x32\x08\x25\xc2\x57\x4f\xc9\xa8\x45\xc7\xd4\x9c\x33\xea\x5a\x91\xb9\x1e\xb5\x60\xb5\x8c\xe6\x0c\xd4\xaf\xed\x27\xd6\x2f\x03\x58\xfe\x25\xf6\xa1\x59\x52\xa1\x7d\x38\xf2\x2a\x9d\x2a\x77\x03\x93\x52\x29\x0d\xee\xda\x77\xfe\x1e\xa1\xd5\x39\x2f\x01\x50\xb9\x76\x9e\x56\xb9\x8c\xa8\xf9\x17\xd9\x83\x76\x29\xa4\xf6\x1c\x44\x60\xd4\xeb\xdc\xb5\xf4\xeb\x2e\xf0\xc0\x54\xa5\x55\xe7\x80\x72\xaf\xfc\x08\xed\x3e\xad\x52\x99\xb0\xf2\x2f\xb1\x07\x9d\x92\x0b\xad\x57\xa9\x5d\x94\x4a\xbd\x9b\x39\x56\x65\xda\xc3\xee\x82\x0c\x67\xa0\x4e\xed\x3d\xad\x4e\x99\xc0\xf2\x2f\xb1\x07\x9d\x92\x0b\xad\xd7\xa9\x3d\x9c\x65\x55\x3b\x12\x4e\x6a\xb5\x8f\x5c\xa9\x78\xde\xda\x53\x9b\xd2\x53\xa2\x7a\xbd\x0f\x54\x10\x76\x4d\x0e\x7f\x42\xc5\x2e\xc5\x03\x1c\x4a\x0d\x6c\x27\x0f\x62\x1c\xbb\xad\x05\xc3\x98\xc1\x88\x59\x3f\x90\xc1\xeb\xd7\xca\x7d\x05\xb5\x72\xf1\xa6\xed\xab\xa1\x54\xc3\xc5\x88\x75\x11\xce\x55\x37\x9c\xcc\xd5\x57\x0e\xeb\xa1\xab\x8d\x5a\x15\x62\xb3\x5f\x0e\x1d\x2c\xd3\xad\xcd\xa1\x94\xc2\xc1\x08\x75\x12\xce\x55\x29\x5c\xec\xcd\x2d\x5b\x3e\x18\x2b\xd3\x58\xe9\x5d\xaa\x14\x2e\xa6\x25\xc4\xa1\xf4\xa2\x13\x0e\x46\xa4\x8b\x6c\xae\x2a\xe1\x62\x2e\xc2\xbc\x5a\x46\x23\x8e\x17\x2e\x0f\x7a\x34\xa5\xae\x60\x2e\x0f\xa3\x12\x0c\x3f\x9d\x4a\x88\x5c\x21\x6e\x21\x57\xdf\xd3\x4d\x33\xe4\x98\xb4\x89\x0f\xc7\x0b\xd0\xa3\x1e\xd2\x41\x95\x53\xf6\xe1\x57\x32\x83\xfa\x26\x5e\x04\xb9\xec\x56\xd5\xab\x83\xf9\x24\xcc\xa0\xb3\xf2\xd8\x8d\x3a\xc4\x71\xf3\x32\xea\x0a\xd0\xba\x97\x61\xe3\x85\xd5\x5d\x38\x66\xdc\x15\xb4\x7d\x38\x7f\xcc\xc0\x8f\x93\xaf\xee\xb3\x79\xdf\x7e\x60\x19\x7e\x76\xe3\xba\x3f\xd4\xb8\xca\x31\xe9\xd3\x98\xbe\x3a\x8f\xaa\x9c\xb2\x7e\x50\x6d\x41\xae\xab\x7c\x85\x98\xcc\x1f\x8f\xa7\xa3\x17\xf6\x43\xce\x48\x63\x37\xe4\x2f\x86\x1a\x72\x39\x62\xed\x90\x7f\x9c\xe5\xce\x43\x2e\xa7\xac\x1f\x72\x5b\x90\xbb\x82\x6b\xee\x53\xf9\xa5\x83\xbf\xcf\xb1\xb4\x1b\xda\x97\x43\x0d\xad\x12\x99\x2e\xfd\xb4\xae\x55\xe7\xec\xba\xab\xe8\xeb\xc7\xd8\x16\xf0\xbe\x0e\x9e\xfb\x20\x6f\x39\xf8\xee\x02\x53\xbb\x61\xde\x82\x1c\x53\x7b\x19\x67\x35\x3a\xed\x40\xb7\x75\x04\x5d\x47\x5a\xcd\xc1\xe0\x77\xd9\xc2\xce\x14\x29\x0c\x63\x96\x75\x65\x5f\xb7\x6c\xc3\x48\xb9\x5c\x38\xf8\xd3\x79\xd0\x74\x72\xc1\xda\xd2\x20\xd2\xdb\x5c\x5d\x6d\x47\x77\xcb\x4b\xc3\xc7\x30\xd0\x0e\x21\x39\x70\xe2\x8c\x36\x2e\xb7\x05\x3e\x7e\xe6\x96\x70\x68\xd6\x4c\x1d\x97\xa6\x65\xe8\x18\x6b\x47\xb3\x7d\xc4\x27\x23\x4b\x12\x15\x64\x5e\x35\xcd\x3f\x1f\x7e\xda\x1e\xbd\xfa\xcd\x39\x55\xb8\xa5\xda\x77\xc6\x29\x3d\x58\xf2\xe0\x99\x29\x25\x98\x6f\xa2\xba\x75\x69\x71\xe3\x32\xea\x5f\x41\xc9\xcf\xe2\x9c\x7e\xbc\xb9\xe5\x52\xfe\xba\xce\xd9\x3c\xe2\x3e\x5e\x03\x3e\x8a\xd6\x52\x1a\x91\xf5\x51\x46\x1e\xd2\x82\x8c\x93\x52\x1f\xe6\x76\x39\xc5\xf3\xa8\x88\xea\x83\x9a\xfe\xbd\x80\xee\x57\xfa\xcb\x9d\xef\xd3\x9b\x8d\xfe\x5b\xfe\x11\x82\xee\x0f\x97\xe9\x62\x21\xa1\x5d\xfe\x5a\x4f\xbf\x1d\x99\xf2\x4b\x8e\x7a\xfb\xcd\xbb\xd9\xe2\xa0\xa2\xfb\x4b\xff\x8b\xcf\x51\xfe\xba\x4a\x30\xa5\x3e\x7a\x93\x66\x0f\x91\xf9\x11\xed\xfd\xd1\xa6\xc3\x9b\x77\x2f\xab\x41\xff\xda\xcc\x47\xf3\x88\x7f\xa4\xbf\xd4\x0d\x77\x37\xc5\xe9\xb1\xce\x8b\xa8\x58\xe5\x13\xb2\x4c\xb3\x82\x81\x76\xca\xfd\x01\x06\xee\xd1\x72\x59\x37\x94\xa0\x5c\xb2\x02\xe8\xfc\x16\x9f\x1c\xee\x78\x97\x57\xf9\x82\x9c\xaf\x84\xf0\xf6\x5d\x3b\xe8\x2a\x82\x48\xfc\x06\x90\x18\x3a\xd9\x5b\xf1\x52\x03\xf4\x81\x44\xf8\xdd\x57\xe0\x13\x87\xeb\x23\xb2\x11\xcd\xe7\xf4\xfa\x07\x4a\x2e\x9f\xd0\x8b\x9d\xea\x4d\x07\xd8\x9a\x05\xef\x13\xb7\xd6\x01\x0a\xf9\xf7\x8b\xa8\xe5\x1b\x09\xf4\xb2\x07\x17\x90\x59\x2c\x6d\xc4\xab\x96\x0a\x55\x0a\xfe\xeb\xc7\x82\xe4\x2d\xf0\xd4\x1a\x0b\xca\xc4\xff\x85\x5f\x7f\x25\xaf\x32\xd8\x3d\xe3\xd8\x3d\x1a\x02\xba\xf7\xe1\x70\x5b\xdb\xac\xae\xdd\xe2\x2d\x7b\xa1\x04\x34\xae\xcc\x8a\x6b\x3f\xc0\xec\x82\x0d\xba\xf7\xce\x6e\x0b\x92\xb7\x2b\x24\xb7\x28\xca\xa5\xdf\xc3\x25\x0a\xd1\xae\x0b\x71\x71\xc2\xf0\xb0\xa4\xe3\x65\x09\x03\x55\xc8\x8d\x73\xab\x87\x2c\x45\x4b\x50\xd2\x70\xd2\x98\xdd\xa0\x3b\xe8\x80\x97\x3f\x7b\xf6\xec\xba\xaa\xbf\x57\x41\x24\x76\xa2\xec\xfd\x05\xe0\x72\x0a\x7d\x36\x40\x34\x1e\x6d\x9e\x3d\x60\x96\x48\x23\x1c\xac\x45\x79\xfd\x52\x3a\x1a\xf5\xfa\x28\x5c\x04\x11\x57\x3e\xd9\x9d\x10\xa7\x17\x4c\x5f\xd2\x0d\x39\x4b\x12\xa0\x2e\xaf\x40\x75\x04\xa0\x6f\x42\xc8\x2c\x4e\xfe\xf5\x85\x4d\xc8\x90\xb0\x8b\x9a\x92\x3d\x73\xd9\xa6\x5a\xa1\x78\x5c\xb7\xb6\xf4\x97\x6d\x3a\x1d\xa8\xff\x5b\x11\x39\xfc\x76\x74\x5c\x5d\xdc\xdd\x1c\x9d\x8c\xa7\x57\x93\x8b\x5f\x4f\xcf\xdf\x1e\x6c\xb9\xdf\x7b\x65\x14\xcd\x93\x47\xcb\x9b\xe7\x50\xb7\x96\x69\x27\xbf\xe2\x4a\xec\xfc\xc6\xad\xca\x6f\x8c\x93\x82\x64\x5f\x01\xde\xd1\xb6\xf0\x22\xb8\xe3\xdd\x51\xbd\x85\xe3\xd9\x47\xa8\xb8\x80\xf7\x1d\xd3\x56\x0c\xf5\x16\x4c\x74\xc2\xbb\x0c\xb5\xa1\xfd\x5d\x73\xb2\x27\x33\xb1\x55\x77\x43\x4f\x1b\x85\xf0\x68\x34\x70\xf3\x27\xa4\xe5\xa0\x5b\x77\x90\xe6\x83\x8e\x34\xc4\x86\x50\xed\xc8\x8c\xed\xd0\xa1\xaf\xd9\x3a\xb6\x81\x4b\x23\x8b\x7a\x2f\x01\x2e\x9e\x69\x08\x67\x2a\xc7\x5c\xe4\x6e\x1b\xd0\x84\xc5\x33\xc5\x6e\xb7\x98\x86\x49\xb9\x55\x77\x58\xe4\x6b\x97\x5a\xbc\x8d\xaa\x8e\x27\xdf\x92\x3d\xed\x62\xca\x68\x13\x74\x3b\x93\x13\xf8\xb7\xd8\xd7\x0c\x8e\x9d\xef\x0d\x8e\x61\x07\x5e\x27\xc1\xde\x27\x74\xcb\x03\x13\xfc\x0f\xdb\xfb\x54\xd3\x2f\xe4\x26\x08\xb2\xc2\x91\xbb\x21\x88\xc7\x73\xdc\x16\x55\x03\x32\xf0\xfe\xa8\xd6\x8b\xa1\x36\x4a\x0d\x10\xc3\xec\x98\x1a\x08\xfc\x6c\x9d\x16\xd1\xac\xa0\xb7\x8e\x64\xc1\xb3\x90\x97\x8e\xa4\xdd\xe3\xa3\x52\xa6\xae\xb6\x11\x07\x8b\x2c\x06\xfa\x94\x41\x7b\xe0\x2e\x05\x44\x2d\xa0\x02\x1c\xb5\x84\xd6\xc3\xcf\x9d\x5f\x70\xeb\x96\xc0\x3c\x9a\xcf\xaf\x52\x2d\x7b\x18\x48\xa0\x9d\x95\xcb\xb6\x00\x8c\x63\x9b\x73\x21\x04\x22\x3f\xfd\x66\xad\x36\x4c\x34\x31\xe8\x3d\x7c\xa9\x52\x28\xd8\x5b\xae\x88\xc0\x54\x08\x36\xa7\xab\x0b\x52\x7a\xcc\xf3\xe1\x8e\xad\xb4\xf9\xe0\x52\x3c\x64\x52\x81\x13\x7c\x76\x6d\x61\xa8\xd3\xb7\x74\x40\x74\x19\x5c\x7d\x0c\xd9\x9c\xde\x23\x32\xba\x8f\x72\x2d\x1b\x44\x5a\xbd\x61\x70\xcb\xbd\xc7\xe3\x00\x33\x87\x7e\xda\x6c\x51\xc3\xf0\xb2\x72\x81\x87\xf8\x05\x72\x88\x15\x70\x88\xc3\x5c\xc5\x89\xd1\x43\xad\x60\x87\x48\xc2\x95\x0e\x37\x15\xc7\x0f\x73\x33\xdf\xc4\xb5\xce\x65\xd1\xf2\xbe\x79\x2c\x48\x7e\x54\xa5\xbc\x54\x68\xb3\x04\xd6\xd6\x91\xec\xaf\x5f\x42\xb8\x5f\xbf\xf4\xc1\x3c\x57\x20\xae\x5f\xb5\x4b\x09\x98\xcb\x22\xf6\x6b\xb6\x70\x5e\x13\xe4\xc2\xbc\xa9\xc3\x3c\x6b\x8f\xf7\xe5\xa5\xbd\xe6\x8f\x9d\xdc\x3a\xfd\xd2\xc5\x88\x55\xb3\xb6\x33\x68\x5f\x3a\x74\x9b\x39\x34\x0b\x60\xcd\x76\xe9\x07\xda\x1b\xbb\x52\x58\x14\xa2\x59\xdb\xb1\xaf\x1c\xec\xd8\x8e\x37\xd2\x88\x7d\xa5\x33\x62\xfb\xd4\x0c\x87\xdd\xc6\x34\x70\xdd\xe5\x0e\xe6\x54\xd4\xc1\x76\xe5\xcf\x35\x03\xec\xf3\x6c\x12\x88\xfe\x1e\xaf\x54\x55\xd4\x32\xc2\xf3\xb6\x37\x9d\x36\x7d\x00\x3a\x54\x1d\x70\xf6\x80\xd8\x71\xe3\x07\xb0\xc4\x5c\x94\x56\x2a\x81\xab\x5f\x6f\x78\xee\x48\x39\xa0\x8e\xc5\x52\xb6\x0c\x7e\xfd\x2f\x69\xf6\x25\x5f\x46\x33\x22\x26\x6d\xef\xba\xa7\x6c\xf7\x54\x91\x87\x03\x3d\x21\x8b\x03\x01\xb1\x91\x87\xc4\xed\x65\x3d\x30\xe6\x14\xde\x4b\xea\x43\x5d\x06\x6f\x2f\x25\x9f\x66\x3e\x22\xeb\xa3\x68\x56\xc4\x5f\xc9\x55\xfc\xd0\xe7\x5e\x1f\x75\xbf\xaa\x02\x9b\xf9\x46\xf9\xcf\xbc\x88\x1e\x96\xfe\xdf\xce\xe9\x85\x0b\x76\xd8\xd0\xb1\x30\xc6\xa0\x35\xc2\xc0\x0f\x15\x40\x44\x9e\x41\xde\xad\x31\x4d\x55\xd0\x1b\x78\x9e\xa0\xa8\x72\xe6\xa4\xc6\x56\x9d\x15\xcf\xe3\x50\x5a\x28\xc8\x41\x6b\xa8\x39\x19\x91\x52\x6f\xfc\x51\x89\x6c\x01\x0a\x71\x3c\xd2\xf3\xf1\x7b\x24\x62\xa4\xeb\x3d\xc3\x90\x5d\xb6\x00\xe9\x62\xda\x24\x3e\x51\xd3\x80\x79\x63\xdc\x22\x27\x79\xea\x86\xd6\x2a\x87\xd7\x6c\x44\xc9\xc2\x6c\x7c\x9e\x6e\x2d\xa9\x77\x09\xab\x8d\x10\x7a\x93\xa9\xd9\xe5\xba\x3d\xa7\x69\xa7\xbf\x2f\x32\x21\xb7\x32\xe9\xd2\xf5\xd1\xef\xad\x00\x1d\xc1\x4e\x24\x33\x49\xe9\xde\xcf\x5c\x1f\x9a\x90\x5b\xc9\xed\xa1\x09\xb9\xb5\xba\x9c\x54\xf2\x62\x39\x20\x36\xdf\x70\x17\xbc\x7a\x38\x14\x57\xbd\xfc\xee\xfb\xc1\x6f\xdc\x08\xac\x2c\x16\x5b\x0f\xb7\x70\xac\x88\x85\xb4\x0b\xb4\x20\x51\x53\xeb\x3b\xf0\x36\x4f\xcf\x47\xf3\xbe\xdb\x4e\x71\xf1\x9e\x87\x51\xb2\x0e\x43\xb8\x09\xc2\x4e\x6c\xb3\x74\xfd\x7a\x61\x79\x3d\x49\x9c\xe4\xce\x37\x7a\x4a\x99\x6d\xae\xcd\x94\x0b\xd0\x53\x58\x4b\xb6\xf6\xa3\xd3\x0d\x2e\xf9\x32\xe4\x7a\x97\xcb\x83\x81\x37\xcc\x35\x12\xb0\x41\x83\x36\xf8\xdc\xaf\x96\x7c\xc7\x9a\x52\xf4\xde\xcd\x67\xde\xeb\x6c\x37\x7a\xf9\x00\x5a\x6d\xec\xae\xce\x31\xdb\x33\x31\x33\x1a\xbb\xea\xcb\x1e\xed\x5e\x6f\xf3\xfa\xa2\x64\x76\x0f\x6a\x9c\xe2\x2e\xf5\x00\xcd\x6e\xc8\xf5\x1e\xc7\xe9\xd5\xab\x96\xc7\xe0\x27\xa5\x74\xfa\x07\x23\xf4\x13\x5f\x94\x0c\x1e\xf2\x84\x06\xca\x14\xb1\x4f\x35\x26\x6d\xc8\xb3\x9d\x90\xe6\x48\xa7\x8e\xd9\x7d\x94\xab\x59\x21\x5e\xe2\x30\x0c\x79\xf7\x67\xcf\x83\xde\xdb\x10\xda\x82\x66\x86\x61\x97\x48\x07\x1e\x78\xc3\xa9\xa0\x71\xe0\x75\xc8\xb4\x43\xdf\x2f\x90\xe8\xc1\xd7\xb1\x43\x54\x8c\x33\x0c\x3f\xb3\xe4\x06\xcb\x5e\xa9\xcc\x34\x6d\x9a\x97\x41\x0f\x14\x62\xfa\x7a\xfd\xd4\xa8\x0b\x26\x98\xc4\xa4\x87\x72\x07\x43\xeb\x84\x89\x2d\xa2\xb6\xb4\x41\x2f\xfa\x2d\xd1\x5e\x29\x68\x6b\x58\x5b\x9b\xd4\x30\xe8\x32\x19\x7c\x3d\x83\x6a\x1c\x71\x2d\x00\x5d\xd6\x5c\x6f\x38\xa0\xc7\x5a\xcb\x10\x51\x00\xd6\x34\xd0\xe1\x73\x3d\xe5\x9e\x89\x36\x13\xcb\xa4\x19\xfe\xf2\x3f\x0d\x89\x6e\x3a\x41\xfc\x66\x82\xee\xea\x0e\xd1\x15\xce\x1d\x4e\xc3\xb1\xd9\xa1\xf8\x60\x2a\x6d\xcd\x7a\x0b\xa8\xca\xc2\x68\x56\x41\x55\x19\x01\x69\x60\x35\x3b\xfc\x46\x85\x05\xfb\x98\x62\xff\x3b\x73\x34\x54\x21\x2d\x2e\x5a\xc9\x84\x0c\x33\x65\xc8\x30\x83\x85\x0c\xb5\x01\x01\xff\x61\x43\x8a\x9d\x85\xfb\x0e\x8c\x5a\xc0\xc3\x87\x40\x82\x4f\x1a\x42\xa4\xa1\xb2\x0a\xd5\x59\xc4\x78\xd8\xe9\xaf\x08\xd7\x3d\xfb\xe3\x42\xf9\x4a\x13\x36\xa2\x04\xf0\xd5\xd1\x51\x25\x00\x0f\x78\x64\x89\x5f\xb8\x6c\xa3\x4b\xa0\xda\x23\x36\xa1\x97\x6d\x9f\xe7\x82\x72\x15\x60\xbb\xed\xd9\x09\xa6\x37\x6b\xa0\x93\xae\x52\x54\xb9\x94\xfe\xa3\x20\x72\xfe\xbc\xc1\x00\xb3\x15\xac\x8c\x62\x39\xe3\xd2\x30\xd6\xb2\xf5\x12\x19\x51\xab\x86\x27\x37\x08\xe8\x8a\xa9\x07\x1f\xe3\x0a\x81\x9d\x5f\xdd\xd8\x07\x74\x87\xd4\x23\xef\xee\x12\x01\x01\x67\x06\x3b\xdc\xad\x3e\x79\xda\x4a\xc8\x7b\x7d\x8a\x2e\xd2\xd9\x20\x41\x3d\xbd\x36\xe6\x0b\xf4\xf2\x64\xb1\xde\xc1\x3c\x3b\xc6\xa3\x6b\x99\x0f\xe3\xcd\x75\xa9\x5e\xb6\x92\xd2\xa1\x69\x93\xf7\xc6\xa4\x00\xe9\x73\xa3\x15\x6a\x33\x70\x34\xe8\x09\xa2\x40\x03\x2e\x77\x83\x44\x7d\xae\x73\x92\x89\x19\x50\x7b\xee\x19\x50\x15\x41\xa4\x8f\x5e\xd1\xb0\x70\xc9\x99\xef\xe5\x05\x3f\xe2\x39\x30\xcf\x77\x95\x93\x0c\x94\x16\x5c\x5d\x49\x1f\xcd\xe3\x7c\xb9\x88\x1e\x8d\x5f\x57\x2f\x64\x8d\xc8\x43\x14\x9b\xcb\x87\xec\x56\xdf\x2e\xe2\xe4\x8b\x39\x83\xe8\xac\xfd\x4a\x97\x3a\x54\xe1\x53\x7e\xa9\x4c\x17\x72\xac\x4f\x52\x11\x0e\xe6\xea\x97\xd4\x8d\x6e\x94\x5c\x04\xb8\x23\x6f\x6a\x3f\x74\x4a\xf0\x29\xb4\xb0\xc8\x75\xa3\xa8\xca\xc2\xb8\xec\xe7\x27\xb5\xa2\x4a\xb2\x45\x64\x5f\x8f\x4b\x45\xb5\x4d\x09\xea\xd4\x0c\x9e\x4d\xd2\x6b\xa6\x39\x83\xa4\x52\x75\x0f\xce\x3e\xb7\x42\x85\xf0\xed\x2b\x16\x7e\x5d\x79\x1d\x49\x48\x32\xf0\xe9\x1c\x9c\x0a\xdc\x69\x96\xa1\x32\x4a\xd7\xa0\xd5\x2d\xcd\xf7\x3b\xf4\xf7\xb5\x76\x69\xbe\xde\xa5\xbf\xa6\x96\x38\x40\x7e\x84\x36\xdb\xa4\x57\x37\x87\x08\x41\xdf\x98\x7e\xc2\xe4\xf0\xd3\xa7\xad\xdf\x7e\x83\xb4\xfa\x40\x8a\xfb\x74\x7e\x1c\xe5\xe4\xf0\xdb\x87\xf1\xd5\xbb\x8b\x93\xcf\xe7\x17\x57\x9f\xa7\xe3\xab\x83\xcd\xd1\xc5\xe9\xc9\xf1\xc1\x16\x88\x3b\x63\x71\x51\x44\x75\x16\xd7\x2c\x7d\x58\xae\x0a\x52\xbd\xdb\x52\x7e\x6c\xb0\xcf\xe5\x5d\xfd\xb4\x89\x89\xe6\xcb\x3a\xe0\x6e\x1d\x30\xbb\x19\xd4\x44\x60\x1a\xa9\x22\xf5\x69\x3c\x9f\x75\x81\xf4\x8b\x78\x3e\xd3\xc7\xe6\x7b\xc2\xe5\x10\xfa\x0f\xaf\x6b\x56\x48\x9f\xfb\x6c\xc5\x02\xb6\xae\x99\x96\x6b\xd0\x8e\x6b\x22\xe2\xb2\xed\xc6\xb7\x6b\x5b\x87\x87\x87\xb2\x6d\x17\x10\x27\x67\x07\x12\x1e\x26\xe7\x14\xc0\x1c\xb9\xae\x74\x2a\x5d\xff\x17\x59\xe4\xe4\x6f\xcc\xee\xf5\x1d\x74\xf7\xe2\xa6\x51\xb0\x2d\x4c\xb7\x54\x62\xf6\x31\x1d\x5d\xd9\xbc\xe4\xe2\xcf\xdd\xac\xb4\x09\x3c\x73\xe3\xa4\xde\x00\xf0\x0b\x5c\xc5\xc0\xdb\x2a\xc7\xaf\x2b\xf0\xa5\x8e\x69\xa9\xf0\x8b\xf2\x1c\xe8\x18\xe5\xab\x9b\xe1\x0a\x1f\x9a\x26\x95\xf7\xa5\xaf\x9e\xf4\x96\x83\xe2\x65\x11\x34\x51\x1a\xdc\x01\xc9\xf9\xbb\x7e\x2a\x0f\x64\xba\xba\xf1\x65\x8e\xcb\xa6\x4d\xd8\x55\x4d\xb7\x08\xa0\x97\x36\x1d\x71\x90\xb1\x9e\xe7\x60\x6b\xbd\x1c\x05\xf7\x12\x86\x4a\xf4\x6b\x29\xc2\x84\xb9\x35\x43\xce\x32\xf5\x1a\xea\xd6\x75\x75\xba\xba\x09\x53\x98\x50\xd7\x55\x86\xa9\xd7\x62\x84\x0a\x67\xa1\xdc\x37\x3d\x9e\x5c\xb2\x7d\xd3\x9f\xa1\xc9\xcd\x16\x4e\x22\xcb\xd7\x26\x1d\xfc\x17\x7b\xd8\xaa\x30\xaf\x02\xb8\x36\xc0\x5b\xd9\x23\xe6\xd0\xae\x8c\xfc\x7d\x94\x2b\x88\x23\x0e\x2c\xb9\x08\x47\xe5\xfd\x07\x9c\xc9\xec\xfc\x85\x96\xd4\x73\x9a\xbe\x4c\xa7\xda\x38\x45\xc0\x99\xcb\x74\x4d\xe4\xe7\x7f\xd2\x32\x1d\x6c\xe2\x2a\x6e\xfd\xdb\xb1\xee\x9f\xc0\xce\xae\x7b\x86\x33\x14\xb1\x7b\x55\x18\xc8\xad\x73\xbb\xd6\x9d\xe3\x98\xd9\x75\xcd\x70\x44\x28\x76\xad\x8b\x59\x05\x38\x3c\xed\xc3\xac\xda\x84\x7e\x11\x02\x89\x50\xd6\x87\xa5\x86\xcb\x12\x1c\xd3\x36\x6a\x8b\x3c\x24\xdd\xd3\x1d\x92\x52\x51\x67\x0b\xc9\xaa\x65\x5d\x37\x4a\xed\xda\xde\x47\x1f\x51\xb9\xac\x13\x72\x8b\xf5\x08\xb9\x7b\xea\x26\x37\x90\xfe\x5c\xee\xfb\xf9\x70\xd4\xa4\x77\x63\x7d\x79\x67\x13\x72\x6b\xb4\xe8\x0d\x97\x73\x4d\x7e\x98\xa1\xb9\x8b\xf3\x25\x7a\x5d\x23\xeb\x28\x0f\xab\x2e\x21\x3c\x21\xcd\xb5\x47\x47\xf7\x47\x43\x91\x83\x11\x37\x8d\xde\x2e\xd2\x9b\x08\xfd\xec\x04\x45\xc9\x72\x52\x71\xad\xc2\xce\xad\x86\x59\xc8\x29\xd6\xf0\x00\x69\x8c\x4a\x1c\xbb\x09\x67\xa6\xf2\x94\xf3\x4e\xd0\xaf\x50\xd3\xaf\x61\xe4\x7f\x16\xea\x09\x7b\x9d\x8c\x1e\x6f\x66\x68\x6e\x39\x40\xa6\x25\xf4\x36\x06\x7b\x17\xc3\xaa\xf8\xdb\x70\xf1\x4f\x63\xee\xbd\xcf\xf9\x6f\x73\x91\xc2\xe2\x52\x00\x64\x25\x78\x06\x97\x27\x64\x31\x50\xfd\x45\x06\x59\x2c\x54\xa8\xa2\xe2\x1c\x0f\x55\xcf\xaa\x50\xeb\x50\xb8\xfb\x07\x40\xea\x90\x90\x28\x7b\xe7\xc0\xaa\xa6\x19\x22\x3c\xaa\x1e\x0c\xbb\xfb\x00\x6e\xd1\x15\x9d\x2a\x58\xe5\xf9\xbb\x45\x5c\xb4\x9d\x07\x96\x80\x70\x8b\xbd\x68\x3b\x0e\x2d\xf1\x10\xe4\x09\x34\xba\x38\x8a\x87\xfd\xce\xa1\xa8\x9b\xac\x99\x7c\x9f\x83\xee\x5a\x5b\x3e\x77\xad\xe0\x75\xc3\xe8\x92\x58\x36\x10\x23\x77\xaa\x40\x55\xc2\x8c\x39\x0b\xb2\xed\xa9\xdf\x6c\x1c\x93\x08\xe4\x5a\x1c\x6a\x7f\x09\x53\x31\x09\x40\x59\x36\x2d\x7e\xb2\xd8\x1c\x0c\x0f\x06\xcb\x51\xc4\xae\x8d\x90\x4d\x01\x55\xfa\x46\xbb\x19\x60\xd6\x45\x6f\x55\x9f\x95\xd5\x1f\x21\x6b\x23\xac\xfa\xf3\xe1\xb7\xbe\x36\xe5\xa0\xeb\xe3\x00\x95\x95\x19\x36\xa0\x19\xea\xa5\xc2\x32\x98\xd0\x60\xeb\x24\x5d\x3c\x10\xb1\x52\x0e\x55\x4c\x18\x54\x0b\x0d\xb1\x5a\x3a\x15\x15\xfe\x49\x56\xe3\x0d\xb3\x62\x2a\xae\x0e\x81\xeb\x4b\xb9\xaf\x9a\x8a\x8b\x43\xf0\xda\x51\xee\x66\xf4\x09\x59\x2e\xd2\xc7\x07\x92\x14\x42\xf2\xf0\x68\x5b\x97\x3e\xcc\x35\x9e\x90\xdb\x3a\x81\x78\x32\x7e\x43\x65\x0f\x9f\x1d\x5d\x8d\xa7\x57\x07\x5b\xa3\xe9\xf8\xbf\xaf\xc7\xe7\xc7\xe3\x83\x6d\xb8\x40\xcc\x30\xb4\x0c\x3c\x26\x13\x6b\xfa\x8f\xcb\x28\x56\xf6\xc3\x79\xd3\xa1\xa8\x59\xee\x3a\x92\x96\xf2\x6d\x67\x11\x15\x24\x2f\xec\x1e\x1e\xce\xc9\x3f\x57\x24\x01\xec\x54\xdb\xa3\x4d\x6f\x1b\x15\xd5\xa3\xa0\x3b\x55\xcf\x07\xb4\x40\xea\xc4\xb2\xdb\xab\x60\x94\xc2\x87\x9e\xe8\xb7\x85\xcf\x2a\xed\x50\xc6\x9c\xae\xe3\xa4\xd8\xdf\xed\xf2\xef\x1a\xb5\xf0\x14\x74\x92\x4e\xa5\x50\xfb\x1c\xc5\xcc\xff\x46\x67\x26\x0e\xaa\x75\x21\xc9\xbd\x21\xa3\x2d\xe9\xa3\xc2\xfa\x36\xdb\x54\x9b\x66\x08\x01\x71\x27\xd5\x12\x5d\xeb\x88\x69\x9b\x44\xbd\x28\xac\x51\x07\x81\xbd\x2e\x69\x0b\x96\xad\xa5\xdf\x20\xac\x36\x57\xfe\x80\xdf\x0c\x95\x57\x51\xcd\x39\x60\x4a\x79\xef\xa3\x5c\x29\x2d\x22\x15\x4c\xa7\x48\xed\xfa\xe1\x1a\xc3\x73\xeb\x68\x2e\x63\x0c\x54\xa2\xed\xa7\x50\x22\x10\x4c\x5e\x85\xc5\xa9\x91\x46\x5e\x44\x2d\x8c\x2a\x24\x9b\x15\xf1\x6d\x34\x73\xb1\x61\xbb\xa6\xde\x2c\xd8\x8e\xe2\x10\xf6\xab\xb4\xe7\x78\xeb\x55\xd2\x07\xf7\xa3\xd3\x96\x96\xed\xb9\x29\xdf\xee\x4f\x6e\xb7\x76\xfd\x09\x7b\x66\xda\x70\x81\x1d\xb0\x29\x45\xb2\x3c\x2d\x05\xd0\xf9\xcf\xb1\x57\x25\x93\x27\xd8\x09\x69\xcb\x2a\xc0\xf1\xa8\x81\xf4\x9f\xc1\x52\x95\x2f\xc5\x03\xd9\xa9\x52\x35\x08\x64\xa5\xaa\xb6\x01\xc0\x39\xaa\x28\x65\x38\x0b\x55\x29\x26\xcc\xb0\x90\xc8\x1a\xd0\x3a\x95\x2b\x4f\x70\xdb\x54\xae\x36\xa1\x2c\x53\xff\x8a\x13\xc8\x2a\x0d\xa2\x3a\x28\x8b\x14\x63\x5f\x1d\xa7\x0f\xcb\x34\xf1\x14\x1c\xec\x89\x59\x5a\x58\x62\x43\xb9\x89\x55\x8a\x07\x38\x8c\xda\x5c\x1f\xc1\x0b\x14\xf9\xb2\xaa\xfa\x3e\x04\x35\xab\x3a\x36\xa0\x6d\x59\x23\x94\x9d\x61\x05\x22\x14\xde\xb2\x1a\x27\xab\x87\xd6\xb2\xba\x7a\x5c\xca\xde\xbc\x92\xe5\x9e\xb1\xaf\x88\xa2\x6c\x2a\xd9\x84\x09\x65\x54\xf5\xbc\xfc\x5b\x55\x46\xda\x3a\xb3\x6a\xf3\xfb\xc3\xae\xd4\x40\x35\x0c\x94\x51\x54\x0d\x11\x93\x64\x66\x7a\x65\x13\x60\x3f\xc9\x50\x6f\x78\xbb\x9e\x86\x19\x57\x6a\xf9\x48\x73\x3c\xad\x5e\x9a\x36\xef\x65\x8a\x7e\xba\xd7\xd3\x84\xe4\x91\x29\x3a\x8a\xa9\xa9\x69\xb8\xc8\x57\x72\xbd\x58\x92\xac\xce\x5d\xb3\x8f\x95\xf4\x6d\xaf\xa2\xec\x8e\x14\x75\xbc\xe4\xea\x68\xf2\x76\x7c\x45\x85\x4c\x4e\x4f\x6c\xc2\x25\x3d\x51\x56\xc7\x7a\x0e\x9e\x43\x26\x72\x04\xf0\x31\x13\x59\x47\x9c\xf7\xf4\x9e\x98\xe5\x9e\x2e\x36\x94\xd6\x13\x8a\x2d\x2a\x0f\x76\xd1\x92\xb6\xf8\x50\xe7\x2f\x1b\x1f\x07\xe8\xa4\x99\x92\x7f\xfa\x7f\x0c\x9c\xed\x6f\xd0\xfd\xbf\x63\x03\xda\x41\x34\x42\xd9\xed\xff\x20\x42\xcf\xa2\x12\x20\x1c\xc1\x29\xf9\xa7\xdd\xb3\x9c\x8c\x12\x99\xcb\x18\x79\x8e\xe6\xc8\xa6\x75\x28\xcb\xa3\xe7\xe5\xdf\xf2\x30\xd2\xf6\x13\xd0\xa1\xd3\xdd\xd9\xe2\x48\xcc\xaa\x61\xf3\x2e\xa2\xa0\x03\x0e\x35\xf2\x34\x3b\x4d\xa8\x12\x04\x6a\xe5\x81\xd4\x22\xb0\x8c\xac\x28\x37\x35\x1b\x8b\x80\xf3\xe4\x0d\xc0\xf8\x14\x12\xe6\xc4\xcb\x24\xbd\x8f\x72\xa9\x9c\xc8\xe0\x8f\x42\x57\xa0\xd1\x1f\xcb\x67\x16\x98\xb5\xd1\x78\xda\xa5\x50\x2a\xbb\x10\x91\xac\xca\xfe\xe0\x1a\xa6\x81\xb3\xbd\xe6\xde\xad\x1a\x28\x15\x79\xb2\x40\x0f\xb3\x6e\xf9\xb4\x0b\x39\x83\xca\xca\x34\xa4\xdb\xaa\xac\xc3\x80\xef\x42\x25\x95\xa9\x61\x7f\xf6\xe6\xc3\x4a\x94\x9a\x10\x41\x0c\xc5\x29\xf9\xa7\xdd\x9e\x6f\xb0\x6e\xac\xcc\x45\x03\xad\x90\x16\xe3\x9f\xe3\xcd\x27\xd9\x31\x60\xd3\x21\xcf\x66\x23\x3b\xf1\x83\x5b\x8e\x1a\xfb\xc8\x87\xf1\xa8\x21\x0f\xb2\x1f\x87\x7b\xa6\x89\x0e\x96\x75\xaa\xea\x70\x86\xa8\x18\xc8\xe7\xf1\xec\x92\x56\xd3\xc2\xbe\xb8\xa4\x61\x1d\xec\xb1\x25\x0d\xcf\x90\xef\x2c\xe9\xd5\xa0\x56\xae\x60\xe7\x81\xea\xe1\xe5\x19\x6b\x63\x85\xa7\x49\x61\x17\x28\x9c\xac\x92\x84\x64\x92\x28\xe1\x68\xc7\x14\x27\x6c\x9a\x6a\x83\x84\x47\xe7\xbf\x1e\x6c\x8d\x4e\x4f\x0e\xb6\x47\x67\x47\xaf\xc7\x67\xd3\x83\x1d\x98\x40\x03\x45\x09\x25\xdd\xc7\x87\x08\x85\x2e\x38\xdb\x81\x0d\x25\x4b\x0b\x90\x6b\x25\xb5\xfd\xb2\xc3\x6f\x51\xf2\xd8\xdb\x7c\xc9\xa3\xd9\xd6\xab\xe9\x1e\x25\x8f\x9c\xa5\x17\xcf\x3b\x3a\x55\x99\x7f\x10\x99\xd3\x39\x47\x65\x11\xdd\x90\x45\xde\x51\x3a\xab\x7e\x84\x52\xab\xbf\xf6\x5f\xfe\x9c\x82\x33\xa8\x3d\x59\xf3\x00\xd9\x00\x2a\x71\xec\x6c\x48\x33\x95\x27\xb5\x1e\x3b\x55\xb3\xb3\x1d\x7b\x0d\x05\x58\x8e\x09\xff\x1a\x09\x28\xc0\xd9\x6a\xaf\x5d\x70\xb3\xd3\x79\xb3\x5c\x42\xdc\x75\x07\x2e\x56\x3d\x0d\x5c\x44\x6b\x26\x90\x59\xbc\x66\x5e\xfa\x31\x9f\x85\x95\x32\x94\xe1\xdc\x30\xf2\x6f\x32\xeb\x09\x5b\x18\xcb\xcd\x02\x6c\x6b\x24\xf7\x1a\x0f\x7c\xc9\xb4\x59\xa1\x6d\x23\xb3\x9d\x02\x03\xd9\x50\xcb\x37\xc7\x6a\x07\xc6\xaa\x51\x48\xc7\x20\xb0\xcc\x8a\x38\x4a\x8c\xa5\x4c\x2d\x0d\xf8\x0e\x7c\xb3\x61\x29\xd1\x74\x56\x20\x6f\xc5\x87\xd5\x66\x0d\xd8\x1a\xe4\x6d\x7c\x29\x70\x9d\x6d\x9f\x3c\x02\x6d\x7a\x81\x7a\x69\xcd\x4b\x69\x23\xad\x78\xd9\xe8\x9b\xe3\xff\x4e\x83\x7f\x3a\x37\x47\x72\x65\x63\x0f\x3d\x1b\xb0\x0e\xe0\xfa\x1d\x7a\x29\x6a\xed\xc8\x9f\xce\x11\x03\xef\x10\xce\xb7\x07\xba\x5b\x88\x82\x8c\x7d\xb3\xdb\x6a\x1f\x38\x54\x8d\x3f\x2f\x96\x9d\x0e\xec\x0c\xa9\x03\x4a\x04\xbb\x1a\xb5\xf5\x5a\xef\xae\x0b\x4a\x0e\xe6\x97\x25\xf1\x7e\x5a\xb9\x77\x7a\x73\xd5\x38\xe7\x08\xee\xad\xd1\x0d\xc3\x96\xf4\xd4\xd8\xc8\xfe\x3d\x9a\xd2\x82\xb7\x43\xcf\x8b\x5f\x63\x20\xf4\x94\xe5\x3d\x65\x4a\x17\xd6\xea\xd5\x18\x87\x68\xc3\x57\x43\xdb\x6b\x9d\xcf\xce\xfc\xf4\x36\x53\xd9\xf8\x03\x7c\xa2\x52\xed\xe4\xf3\x14\x9a\x70\xe5\x77\x3e\xcb\x5c\x4b\xff\xd3\xf9\x74\x6e\xa1\x77\x7a\x6f\x17\x3e\x99\xf5\x74\x06\xab\xe6\x53\xf9\xe5\x88\x32\x3e\x12\x15\x0e\x3b\xef\xd5\xce\x1a\x7a\xda\xab\x49\x6b\x6b\xf8\x98\x1f\x01\xb5\xc7\x30\x70\x6a\x8f\x74\xd4\xd0\xaf\x8c\xe0\x97\xc2\xc6\x3d\xf6\xb6\x1c\x8a\x01\x54\xf8\x92\xc8\xb5\x55\xc5\x9b\xeb\x00\xef\x87\x68\xc9\xc5\x78\x3f\x44\xcb\xb5\xf5\xf5\xbf\xa7\x34\xf3\xc6\x96\x3c\xf8\xf4\x9b\xdf\x28\xae\x2a\xcc\xe5\x7f\xa9\xac\x39\x59\x4c\x57\x73\x04\x0e\xbe\x64\x9a\x69\x05\x59\x36\x09\x37\xa8\x42\xf0\x76\x8d\xe5\x9a\x6d\x7c\x88\x96\xa2\x94\xe5\x1f\x47\x2c\xf4\x94\xa2\xf7\x2b\x33\xe8\x9b\xd2\x85\x18\xfd\xf0\x43\x35\xd5\xd7\xf1\xeb\xb7\x30\xef\xc2\xae\xe1\xfa\x28\x18\x7a\x1d\xd7\x93\x87\xd4\x45\xee\x47\xfb\xfb\xcd\xf5\xf5\x1f\x7f\x4c\xab\x5f\x56\x2b\xfc\xda\x7a\xb9\xc6\xa7\x3c\xf5\xb5\x2d\x6a\x74\x6b\x46\x14\x9c\xd4\x86\x00\xfa\xc8\xaa\x9f\x92\xc0\xc0\x87\x68\xa9\x5f\xca\xef\x48\xf1\x21\x5a\xb2\x2b\x78\xa5\x54\x8e\x9c\x29\x97\x9a\xe1\xcd\x7a\xd5\xec\x3c\xaa\x1b\x95\x1e\xc7\x7d\x9c\x1b\xd8\x56\x0f\xcd\xd8\x5f\xfa\xa8\x9a\x29\x8a\x63\x54\x37\x3d\xae\xa7\xe3\xc9\xf9\xd1\x07\xf3\x4d\x0f\xf1\x35\xa2\x40\x45\x31\x84\x9e\xe2\x4f\x6e\x39\xd9\x9d\xf7\xd4\x8a\x8e\xe5\x5e\xca\xb4\x51\xed\xa1\x96\x47\xad\x25\x4d\xe1\xa0\x75\xd5\xbc\x23\xd6\x51\xa2\x1e\x5c\x07\xd0\x6b\xbf\x0e\x73\xd8\x5a\xa1\x10\x74\x7b\x2e\x39\x80\x56\x60\xb9\x28\x76\xdb\xb1\x89\xc6\x93\x1e\xb2\xd6\xda\x61\x77\xc2\xda\x68\x94\xc3\x31\x26\xe8\x74\x95\x56\x30\xbb\x63\x4c\x46\x35\xcd\xe2\x75\x3a\xef\xe7\x20\x53\x78\xed\x2c\x8c\x51\x50\xb1\xf1\x6f\x0c\xe8\xc8\xc2\x8f\x30\xe5\x27\x8b\xc6\x13\xcc\x46\xa3\x80\xe7\x8a\xcc\x5a\x65\x7b\x88\xc9\xe8\x88\xe3\xc9\xa2\xcb\xe3\x96\x96\xa7\x0b\x35\x22\xe6\x63\x2e\xa7\xd7\x2f\xdd\x0e\x14\x65\x7b\xad\xf9\x3c\x41\xf6\xe8\x9d\x9f\x13\x25\x8e\x72\xa0\xeb\x21\xee\x6f\x7e\x3a\x8c\x78\xb7\xec\x19\x8f\xb9\x10\x4f\x83\xba\x9d\x29\xfa\x1b\x7d\x0d\x7e\xad\x0e\x74\x33\xdc\x55\x13\x34\x3c\xc2\xde\x02\x69\x56\x32\x4f\xf6\xa3\x7d\x80\x9a\x6b\xf5\x3c\xc2\xd3\x2a\x83\xc1\xb7\x49\x07\x0c\x4d\x9b\xed\x17\xa8\x59\xf7\x6f\x12\x96\x16\x94\x36\xa4\xed\x12\x24\x24\xad\x27\x1c\x36\x20\x2d\xa0\x17\x38\x1c\x2d\x19\xad\x27\x0d\x46\x33\x16\x95\xa7\x85\x4f\xe6\x60\x42\x97\x3f\xa1\xad\x7c\x11\xec\x5c\xe0\xc1\x97\x42\xb5\x8b\xe2\x7b\x41\x6c\x39\x81\x27\x27\xc4\x7b\xaa\x17\xc7\xef\xbc\xd0\x1a\x6c\x89\xa4\x7c\x3d\xe4\x42\x29\x51\xf5\x90\xcb\xa5\xc9\x57\x41\x2e\x9a\x26\xf2\xda\xa5\x93\x72\xc4\xb0\x0b\xa8\x04\x55\xf4\xf3\xfa\xd0\xc5\x54\x3a\xa2\xe8\xa7\xf6\xf1\x0b\xeb\xd1\xaa\xb8\xff\x40\x8a\xfb\xd4\x8b\x3d\x49\x51\xb3\x2d\xcf\x2b\xb6\x94\x2f\xa9\xc3\x2f\xa7\x94\x68\x61\x6b\xed\x76\x7c\x60\xc5\x5a\x35\x62\x59\xd6\xdb\x05\x51\x1a\x6c\x19\x3d\x47\x2f\xa1\x52\xa5\x0e\x56\x34\xb7\x67\x16\xa0\x6c\xae\x91\xb8\x76\xf1\x34\x15\x6d\x03\x2c\x9c\x52\x2c\x51\xd5\xcc\x40\xcf\x81\xca\x47\x10\x55\xce\x0c\xbf\x58\x9e\x90\xd9\x22\xca\xc8\x7c\x42\xf2\x74\x95\xf9\x79\x00\x4e\xa0\x69\xfd\x22\x8f\xa2\xfd\x73\x59\x3e\x05\x01\x03\x3f\xb3\xc3\x72\x03\xbe\xd2\x62\x12\xd1\xf6\xc9\x1d\x38\xbd\x3f\xd1\xb2\xaa\x51\xff\x70\xef\xe7\x70\x2c\x43\xbc\xa2\x03\x63\x11\x7a\xa1\xd5\xa0\x1b\x7c\xb9\xd5\x8e\xec\x13\x2f\xba\x17\xc9\x09\x79\x88\x92\x79\x9d\xe7\x70\x9c\x26\xb7\xf1\x9d\x97\xda\x37\x32\xba\xb6\x35\x70\x74\x34\x70\x71\xd1\x27\x28\x7e\x2c\xed\x4d\xd8\xf2\x36\x12\x8e\xb0\x02\x25\x20\x51\x2d\xcb\xdd\x58\xd2\x7c\x16\x85\x12\x03\x17\x4a\x36\x4c\xbe\x60\xf5\x67\x64\x6c\x03\xd4\xa1\xb1\x60\x03\x49\x52\x33\x87\x79\x7d\x96\x53\x36\x8c\x4d\xe8\x5a\x84\x26\xcd\x40\xc7\x8b\x91\x9d\x0f\x5b\x6e\xd9\xdc\x7d\x7c\xe5\x65\xcc\xae\x79\x95\xc5\x77\x77\x7e\x92\xcc\x5a\x52\x96\x7b\x23\xdf\xec\x79\x1c\x13\xb6\x52\x05\xdd\xd6\x1a\x26\xa0\xa5\x4e\x29\x90\xdd\xe6\x05\x20\xf3\xa7\x39\x2a\x14\x75\x37\xd4\x3e\xd3\x72\xf2\xbf\xb5\x18\x28\x87\x3d\x2d\x14\x01\x0c\xbc\x19\xc8\x46\xec\x49\xcf\x0b\xdf\xa7\x37\x3e\x96\xbe\x92\x8c\xe5\xb2\x47\x37\x79\x1e\x4b\x5e\x29\x51\xd0\xe5\xee\x7d\x7a\x03\x9a\x6d\x52\x41\xec\x96\x39\x03\x89\x3f\xcd\x12\xc7\xea\x67\xa8\xe5\xad\xe4\xe2\x7f\x69\xd3\x50\x0d\xbb\xac\xb1\xa0\x05\x5e\xd2\xf8\x11\x0a\x6b\xce\x5e\x45\xf9\x17\x87\xdb\x14\x55\x33\xdd\x6d\x8a\xf7\x17\xaf\x3f\x9f\x9e\x18\xef\x52\x54\x74\x18\x68\x03\xdd\xa5\x10\xfa\x89\xbf\x4b\xc1\xc9\xee\x6e\xe6\x96\x74\x6c\x6d\x5c\xba\x0d\x32\xde\xf3\x8f\xf4\xe6\xd4\xfc\xad\xd7\x80\x4f\x25\x7e\x58\x4b\x38\xca\xbf\xc0\x2c\x31\xa9\x28\x96\x36\xb0\x81\xc6\xb3\x0d\xd8\xbc\x2f\x87\xde\x53\xc4\x86\x9b\x0e\xc1\x2c\xe7\x92\x4d\x00\xb3\x59\x43\x16\x74\x43\xc0\xed\x45\x09\xe3\x23\xa1\xf0\xa8\x8c\xb8\x94\x06\x35\xbc\xf9\xd1\x0e\xf0\x18\x84\x6c\xcd\x06\xee\x68\xbd\x64\x61\x9e\x80\x90\x8a\x06\xcb\xe7\xe6\xe4\x0b\x94\xd9\x2f\x6a\x43\x35\xd7\xc3\xc5\xa5\x44\x85\xe0\x18\xfa\x79\xe8\xd3\x9f\x4e\x98\xf1\xf0\x24\x9d\xab\x5a\xa8\x04\x44\xd6\x10\xbb\x8c\x97\x64\x11\x27\xc4\xc1\xea\xeb\x9a\xea\x2c\xbf\x8b\x5f\xce\xc7\x13\xa3\xe1\xd7\x91\x1a\xc2\xf8\x93\x76\x19\x6f\x00\x4a\xfa\xe0\x6c\x04\x76\xb4\x2c\x0d\x41\xa1\x9d\xf4\x62\xad\xcd\x33\x69\xe9\xef\x09\xc9\xba\xab\xb3\x17\xe5\x4f\xe6\x7b\xb3\xad\x18\xd5\xe7\x61\x5e\x48\xeb\x7a\x1a\xd4\x6e\x6c\xb9\x80\x6c\x11\xb5\x48\x76\xf6\x23\x84\xce\xb3\xb0\x21\xc1\xf0\x55\x7a\x60\x77\xbf\x95\x55\x21\xf3\x05\xd7\x5a\x33\xfd\xd8\xae\x92\x99\x1c\xca\x7e\xed\x58\xf9\xb7\x61\x4d\xa4\x03\xda\xb1\x84\x5d\x2b\x6c\xef\xad\xb2\x63\xef\x78\x71\x55\xbe\xa5\x84\x34\x82\xa5\x6a\x13\xc0\x10\x56\xed\x5f\x66\xc3\x47\x22\x61\x18\x83\x58\x29\x22\xcc\xfa\x91\xc8\x19\xc8\x30\x96\x6b\x49\xa5\x78\x9e\xef\xbc\xb2\x6b\x21\xdc\x2e\x63\x94\x89\x13\xcc\xeb\xad\x57\xff\x6a\xa5\x82\xb1\xbd\xfa\x5a\xaf\x10\x18\x95\x50\x71\x08\x7b\xf1\x95\x5d\x9f\x3c\x9a\x7b\x82\xbd\x64\x63\xf3\xb1\x8d\x55\x86\xdf\x32\x4b\xcb\x3f\x77\x16\xdd\x65\xfd\x33\xc0\xa6\xab\x3f\xe4\x8a\xab\x2c\x1b\xe6\xe7\x6e\x59\x62\x1e\x0c\x40\x85\x81\x10\xc2\x0a\xac\x58\x59\x6d\xeb\x46\xeb\xc5\xc6\x1e\x34\x12\x7b\xd2\xea\x2a\x8d\x7e\xd8\x95\x57\x69\x95\xca\x6c\xdf\xb5\x7a\x0a\x8b\x64\x5e\x52\x6a\xe9\xd9\x28\xe4\x27\x7d\x68\xcb\x50\x6b\x04\x79\x30\x0f\xb5\xf4\xe1\xd5\x50\xe8\x75\xc4\xb6\x24\x4a\xab\x05\xca\x9a\x28\x1d\x13\x7a\x58\x71\x59\x6b\xaa\xe1\xec\xbb\xe2\x7b\xff\xaf\xa9\xc2\x4d\x12\x51\xd1\x44\xc9\x7c\x3e\x7b\xa6\xe2\x5b\x6d\xe5\x6a\x4c\xda\xcd\xbc\x55\x00\xbb\xed\x9c\x67\x76\x1f\xe5\x6a\x56\x9e\x6c\x3d\xd9\x90\x53\x8a\x15\x2e\x28\xaa\x1b\x59\xa9\x00\x43\x67\xeb\xb5\x52\x4c\x0b\xb2\xf4\x69\xd7\x54\xf4\x1c\xcd\x1a\xa6\xad\xfc\x6c\xb3\x35\x42\x00\xe7\x96\x75\x50\xcb\xde\x6a\x19\xe5\x05\x59\x1a\x3f\xdd\xa9\x3e\xcd\x56\x49\xfb\x32\xaf\xb1\xc5\x2e\xff\x1c\x2c\xe2\x18\x95\x41\x6c\x10\x83\xa8\xe4\x64\xb5\x99\xc9\x45\x73\x33\x87\x4c\xb4\x86\x0e\x91\x5d\x76\x5a\x88\x32\x52\xba\x37\xb0\x64\x4d\xca\x3e\x73\x9f\xee\x2a\xde\x7d\x9d\xf4\x5a\xe8\xd9\x02\xe2\x56\x87\xd0\x06\x50\xc5\x2e\x9c\xfd\xa3\x23\x0f\x49\xb6\xa7\x86\x1d\x9a\x74\x6f\x63\xc6\x74\x8d\xaa\xa1\xd7\x7c\xbc\x53\x7e\x4c\x3f\x0f\x4b\x2b\x80\xf8\x46\xec\x2e\xdc\x44\xe2\xc6\x9b\xe9\x73\xf8\x68\x9a\xa0\x6d\x52\xee\xde\x33\xa1\xcc\x9d\x1f\xc6\x56\x50\x77\x1f\x6f\x2a\x38\x02\x50\xfe\xc6\xad\xe3\x3b\xa8\x8e\xb3\x7c\xed\x3a\xbc\x83\xe9\x30\x35\x93\xdc\xfa\xbd\x6b\x7e\x10\x57\xdd\x6d\x29\x77\x8b\x57\x71\x77\x51\x66\xe1\x71\xfa\xb0\x4c\x13\x92\x14\x58\x7b\xb0\x27\x64\x61\x08\x8a\x8d\xe4\x16\x60\x29\x16\xc0\xf6\xdb\x1c\xfa\x3a\x63\x2f\x7f\x30\x7b\xac\x63\x61\xdc\x54\x35\xc2\xc0\x2d\x30\x10\x91\xf0\xa6\xd7\x38\x59\x3d\xb4\x86\xd7\xd5\xe3\x92\xb7\x9f\x02\x5f\x49\x94\x4d\x8a\x10\x66\x50\xcf\xc7\xaf\xfd\x63\xa4\xab\x8b\xfb\xd0\x36\x46\x05\x3d\x65\x5c\x54\xc3\xe2\xf3\x82\x61\x2f\x69\xc9\xea\xf0\xdb\xf5\xf9\xcf\xe7\x17\xbf\x9c\x1f\x6c\x8e\x5e\x5f\x9f\x9e\x9d\x8c\x27\x07\x5b\xa3\xc9\xf8\xed\xe9\xf4\x6a\xf2\xeb\xc1\xf6\xe8\xf2\xec\xe8\xea\xcd\xc5\xe4\xc3\xc1\xce\x68\x32\x3e\x1b\x1f\x4d\xc7\x1f\x8e\xce\x8f\xde\x8e\x27\x07\xbb\x96\xc3\xd9\x74\xce\xd5\xbe\xd1\xae\xf7\x72\xf5\xe1\xf8\x69\x57\xf8\x12\x67\xb8\x3d\xa3\xe8\x5f\x38\x03\x46\xd1\xc1\xa7\x0b\x6e\x4c\x8b\xa8\x58\xa1\x9f\x8f\x69\xa8\x58\xec\x5f\x5c\x0b\xd5\xa1\x4c\x5e\x44\x05\x70\xff\x9a\x93\x22\x8a\x17\x39\x30\x6a\x41\xb2\x2c\xed\xb3\x77\xc6\xe5\x4f\xd5\x74\x4d\x24\x7d\x49\xd7\x47\x79\x11\x65\xc5\x55\x4c\xd5\xca\x9f\xb6\xbf\xa9\x9a\xe5\x1b\xe5\x3f\xf3\x22\x7a\x58\x72\x2d\x67\xe9\xc3\x72\x41\x0a\xc2\x34\x3e\xa6\x7e\xa9\x6f\xef\xe3\x50\xa8\xe9\x51\xb0\x8d\xb6\xa6\x6f\x5c\xb3\x55\x62\xc0\xb7\x58\x33\x85\x61\xf7\xd7\x52\x1e\xe8\x06\x7b\x52\xab\xa7\xe2\x49\xef\x56\xed\x84\x54\xa0\x04\xd0\xe9\x86\x43\xad\xc4\x62\x0c\xa4\xa4\x4f\xe9\x97\xc0\x82\xd6\x3d\x33\x97\x5e\xef\x59\x4e\x7b\xde\x39\x31\x93\x04\x6f\x9a\x08\x2b\x5d\x08\xbb\xa4\x61\xe2\xd7\x28\xd1\x13\x85\x5a\x24\xb5\xb2\x6a\x4d\x92\x56\x47\x4d\x91\x17\xf6\x80\xab\x5f\x3c\x25\x0f\x7c\x27\x06\xe9\x79\x62\xec\xb2\xca\x11\xdc\x1d\xb1\x3a\x04\xa4\x29\xac\xb6\x1c\xd9\x3d\x20\x59\xf3\x10\x55\x18\xd3\xb6\xd8\xe4\xfa\xfc\xfc\xf4\xfc\xed\xc1\xd6\x68\x7a\x7d\x7c\x3c\x9e\x4e\x0f\xb6\x47\xe3\xc9\xe4\x62\x72\xb0\x63\xa3\xaa\xed\xf0\x05\x31\xba\x24\x13\x83\xe7\xe6\xd1\xe4\x92\xf5\xad\xd1\xbb\x30\x26\x97\xac\x7b\x02\x43\xaf\x41\x22\x59\x17\xab\x49\x62\x7f\x70\xda\xed\x0b\xda\xb7\xa5\x65\x5d\xe4\x18\x82\xcf\x43\x0d\xf1\x20\x81\x55\x75\x08\xaa\xea\x5d\x7b\x04\x5a\x2f\x11\xe6\x03\x50\x81\xfa\x7d\x94\xab\x68\x9b\x9f\x84\xb6\x9d\x5f\xf5\xc2\x63\x3f\x48\xf4\x96\xb7\xeb\x30\xd3\x78\xbe\xe0\xb1\xda\x75\x19\x2b\x5d\x47\xdb\xf1\xea\x57\x61\xb7\x31\xd3\xf1\xd0\x8f\x9b\x1d\x7e\xdc\xe2\x8e\x1b\xba\x3d\xdb\xa1\x93\xb3\x06\x8f\xde\x9e\xcb\xe8\x19\xba\xdb\x0e\x20\xb3\xe5\xb9\x8d\xa1\x81\x93\x7e\x18\x01\x58\xbe\x89\x17\x05\xc9\x36\x32\xb2\x24\x51\x41\xe6\x55\xe3\xfc\xf3\xe1\xa7\xad\xdf\x90\xce\x6c\x43\xd8\x8b\x4b\xdb\xd0\xb2\x76\x6c\xb9\x76\xf2\xd8\xec\x6d\xf5\x51\x7e\x16\xe7\x05\xe5\xb5\xb6\x6d\xca\x5f\xb7\x4e\x49\xf7\xdd\x9a\xd1\xcd\x6b\x38\x73\x02\x94\xaa\xe6\x21\x6a\xcb\xb0\x08\xec\x4f\xd6\x5c\x80\x16\xb7\x4a\x24\x5b\xdf\xd2\x4c\x27\x48\x05\x0b\x30\x1c\xcd\xb8\xc2\x73\x09\x65\x4a\x61\x70\xbd\xa2\xf9\xbc\xd1\x38\xf7\x12\x1a\x8a\x99\x18\xce\xe5\x6a\x58\x85\x70\xbc\xf4\xa4\xb5\x15\x35\x98\x99\x2b\x71\xaa\x26\xcd\xe2\x07\x4a\x08\x94\x0d\xa5\xb3\xab\xc2\x92\xe1\xae\x38\x6a\x2f\x38\xca\xda\xd7\xff\xa9\xaf\x3a\xbe\x39\x3d\xbb\x1a\x4f\xa8\xdb\x8e\xd3\xab\xa3\x2b\xfd\x6b\xa1\x32\x92\xcc\x26\x4f\xd1\xf7\x78\xe5\xd1\x84\x04\xee\xe6\xa3\xbe\x53\xf8\x3d\x09\xb9\x35\x81\x76\x28\x58\xf8\x75\xdb\x53\xaa\x16\x68\xad\x0a\xb1\xc9\x6c\xb8\xec\x35\x9e\xb7\x9c\x60\x3b\xcf\x36\xa0\x76\x92\x2c\xa8\xe9\x63\xe5\x1f\x7e\x03\x08\xbf\x0f\xd8\x6f\x07\x86\x4b\x83\xdb\x7c\x4c\xce\x70\xf2\x67\x5c\x2d\x11\xa1\xa2\x6d\x48\xa8\x48\x3d\xb8\xc0\xb8\x91\x45\xb5\x00\xc0\x1a\x0d\x71\xa3\x54\x22\xb7\x1e\xb1\x01\x2f\xff\x32\x43\x7d\x32\x95\xe0\xb5\x93\x2d\x15\x1b\x51\xf7\x40\x61\xb6\xb1\x96\x8c\x49\xb3\x5a\xa3\xc6\xe2\x1a\x80\xa4\xaf\xfa\xac\x75\xa5\x7d\x29\x17\x54\xa1\x87\x6a\x49\x41\x41\x4c\x81\x7d\x6f\x39\x73\xcb\x80\xc0\x3c\x9a\xcf\xaf\x52\x2d\x7b\x3b\xb0\xe0\xfb\x0c\xa7\xfb\xfa\x71\x6d\xc3\x09\xb4\x1d\xfb\x09\x63\x14\x5d\x2c\x49\x16\x95\x3c\xb0\xa6\x50\x4f\xc8\xc2\x00\x12\x1b\xc9\xcd\x1e\x1f\xc6\x4c\xcf\x2b\x98\x09\xd3\xb1\x30\x6e\x91\x1a\x61\xe0\xe6\x0a\x88\x88\x8b\x91\x22\x5a\x27\x23\x6b\xb3\x43\xa6\x58\x21\x8c\x8d\x9e\x8f\x5f\x13\xc3\x48\x97\x03\x16\x44\xea\xf2\xfe\x31\x8f\x67\xd1\x42\x38\x96\xba\x1c\x9f\x9f\xd4\xc7\x52\xc7\x93\xf1\xd1\xd5\xf8\xe4\x60\x67\x74\x32\x9e\x5e\x4d\x2e\x7e\x1d\x9f\x1c\xec\x7a\x98\xdf\x17\xd9\x1c\xef\xef\x70\xd4\x5c\x66\x3a\xdb\x52\x3e\xdd\xd3\xf2\x1b\x90\x97\x33\x9a\x93\x7c\xc6\x7e\xf9\x3a\x4d\x17\x24\x4a\xa4\x77\x5e\xbe\xdf\x5a\x1f\x2d\xe2\x87\xb8\x18\xec\xb6\x0b\xd7\xef\xf0\x4b\x4f\xc5\x07\x3e\x6b\x14\x62\x39\x2c\x42\x46\x4a\x21\x52\x41\xb6\x95\xa9\x20\x95\x38\xca\xbb\x2a\xa5\x92\xf4\x89\x20\xf9\x4c\x7b\x53\x65\x67\xbb\xfd\xf4\xac\xd4\x1d\x0f\xa9\x0f\xca\x59\x19\x74\x85\xac\x99\x05\x5a\x26\xb5\xc4\xa1\x29\x11\xf5\xa0\xc9\xdc\x2f\x2a\x25\x22\x9f\xd1\x5f\x54\x23\x29\xdc\x28\xa9\x07\x8a\xbb\x4b\xb2\xb3\x6d\xba\x4b\xc2\xf5\xa6\xfa\xff\x72\x99\xee\xe2\x66\x93\xab\xcf\x57\xa7\x1f\xc6\xe5\x3a\x7d\xf1\xe1\xf2\x6c\x5c\x2e\xc3\xe5\xcf\xba\x60\x9a\x72\xb0\xdb\x0e\x07\xf1\x0c\x35\x2a\xc6\x73\xb5\x49\x26\x30\x9c\xb4\xeb\xfa\x5a\x8e\x9c\xa9\xab\xca\xc5\xbb\x3e\x09\xff\x5e\xeb\x83\xe8\xba\xcc\x32\xd7\xf6\x98\x96\x01\x74\x04\xaf\xeb\x74\xa5\x88\x41\xae\x62\xe8\x7a\xcb\x71\x1d\xec\x0a\xc6\x5b\x92\x78\x72\x27\x28\x4a\x16\x56\x86\xa4\x15\xb2\xc6\x70\x9c\xc4\x45\x1c\x2d\xc0\xb7\x64\x7d\x85\x5e\xa9\x9e\x04\xb3\x19\x7a\x1e\xc6\x3d\x44\x27\x0e\xdc\x56\x80\x51\x79\x16\x05\xe3\x64\xf7\x54\x4f\x59\x5d\xf0\x60\x07\x48\xe7\x4b\x08\x1b\x80\x62\xe4\x77\xff\x37\x13\x86\xdc\x4c\x05\xdc\x48\xa5\x77\x77\x7e\x20\xc4\x3b\xa3\x86\x88\xad\x14\xf7\x80\x35\xd7\x14\xe3\x1c\xae\x42\xbe\xb2\x83\x2c\x72\x41\x2c\x0f\x65\x67\x55\xbc\x2d\xb6\x27\xdc\xdd\x0a\xdf\xaf\xd1\x62\x5e\xa2\xb5\x7a\x85\x76\x14\xdb\xbc\x43\x3b\x02\xdd\x31\xdc\xaf\xeb\x4b\x2c\xa2\xe2\x36\xcd\x1e\xc0\xb5\x25\xa2\x82\xb9\x72\xd1\x64\x30\xdf\x6f\x1c\x25\x8f\xe2\x15\x8d\x82\xbc\xcf\xd3\x04\xe0\x6c\x97\xb4\x67\x51\x41\xee\xd2\xec\xf1\x24\xce\x97\x8b\xe8\xf1\x5d\x9c\x98\xdd\xf4\x3d\x7e\xbb\x75\xbc\x91\x31\xdc\x93\xbb\xd6\xcf\xed\xfa\x7c\x6a\x37\xf4\x33\xbb\x98\x6d\x58\x52\x5b\x62\x5f\x71\x75\xc3\xe2\x1a\xe5\x65\xa3\xdf\x8a\x6b\x1e\x95\xde\x0a\xd7\x22\x6a\x6d\x06\x5d\xbd\x10\xae\x9b\xec\x2a\xeb\x61\x34\xb3\x41\x72\x4d\x83\x8e\x5e\x34\x57\x2d\xc4\xb9\xe0\xc1\xdc\x18\xf8\x39\xe2\xc0\x4f\x11\x63\x9e\x21\xe6\x0d\x10\xc8\x6b\xc4\x23\xee\x2a\xa9\xf2\xe3\x7d\xa6\x82\x46\xab\x80\x76\x77\x38\x84\xcb\x21\xf4\x1d\x8e\x5a\x3f\x8d\x35\xc8\x7a\x95\xd3\xf0\xde\xe5\x8d\x2b\x99\xea\xf1\x11\x99\x3d\xbd\x79\xf5\x54\x0f\x33\x87\x7e\x94\xd9\xb1\xc3\xee\xb7\x73\xf7\x51\x1d\xb6\xb8\xa5\x2b\x74\x78\x1f\xd3\xe1\x56\xe7\xc3\xdc\x1f\xd1\x77\x5a\xe4\xed\xf5\x2a\x89\xbe\xe3\xa0\x44\x0f\xf1\x74\xb9\xde\x85\xb4\x37\x24\xf4\x9d\x86\x65\x79\x58\xdf\x2d\xd1\x30\xd5\xe6\x69\x50\xb7\x16\x0a\x48\xb6\xbb\x86\x8f\x73\x5a\x85\x2b\x9a\xf4\xba\xe9\x1a\xb7\xc3\xe8\xaf\x84\xb9\x9d\x02\x1b\xee\xa0\xe8\xbb\x2e\x59\xfc\xdd\x40\xd8\xd3\xfb\x88\x7a\x0c\xb4\x52\xd8\x44\xab\xf7\x90\xee\x62\x5e\x64\xe9\xa3\x4f\x7f\x91\x27\x68\xe5\x30\xaa\x1a\x0f\xe5\x31\x6e\xdb\x79\x8c\x3b\x01\x3d\xc6\x3d\x5f\xf5\x99\x45\x54\x03\x7a\x7e\x1c\x2b\x80\x01\x6d\x14\xce\xc6\xf7\xb3\x20\xf6\x0c\x9c\x3f\x95\x47\x27\x71\xfe\x54\x35\x08\x15\xce\xdf\x6e\x30\xe7\x6f\x0f\xee\xfc\x21\x9c\x38\xf5\xaa\x14\xc6\x8b\xe3\xf9\xf9\x76\xe3\x80\xf4\x07\xf7\xe3\xb6\x6d\xfd\xb8\x1d\x0b\x3f\x6e\xd7\xb3\x1f\x67\x74\xc9\xd4\x5a\x13\xd8\x27\xd3\xa9\x6b\x58\xa7\x4c\xdb\x65\x77\xaf\xcc\xec\xa0\x68\xbb\x8c\x71\xcb\x8c\xde\x89\xb6\xcb\x38\xbf\xcc\x54\x12\xd1\xd0\x6d\xac\x63\x66\xf4\x55\xb4\x5d\x47\x79\x66\xda\x3b\xd0\x86\x6e\xbb\xba\x66\x46\x33\x5e\xcd\xd5\xb3\x6f\xa6\x66\xe4\xec\x9c\x39\x03\x8a\xf7\xce\xf6\x70\x5a\x8c\x76\xcf\x0c\x97\xcc\xaf\xa2\xfc\xcb\x59\xb4\x4a\x66\xf7\xa7\xc9\x6d\x2a\x5e\xc6\xde\x1d\xed\xb8\x5f\xc7\xe6\x88\x23\xbd\x19\x8e\x9a\x85\x2b\xa3\x68\xa9\xf2\x63\xd2\x59\x7c\x9d\x2d\x80\x9e\x0c\x49\xbe\xc6\x59\x9a\x3c\x90\xa4\xf8\x18\x65\x71\x74\xb3\x20\xf9\x87\x68\xd9\x57\x16\x93\xff\x7d\x6d\x7d\xfd\xef\x4c\x1f\x9a\x99\x71\xf0\xe9\xb7\x11\x49\x8a\xac\x96\xbc\xba\x19\x5e\xaa\xf6\xa1\x70\x79\x68\x42\x8f\xd4\x5a\x31\xda\x5d\x5f\xff\x7b\x4d\xe3\x20\x1d\x45\xd9\xdd\xaa\xe4\x98\x5b\x10\xd8\xa1\x08\xf8\xf0\x74\x38\xd0\x83\xb9\x39\x2c\x1f\xa3\x79\x69\x12\x0b\xee\xe0\xc0\x29\x0d\xed\xdd\x5c\x54\x0a\x2c\xf1\x6f\x88\x56\x23\x05\xd7\x64\x8d\xbb\xc4\xb2\xf1\x21\x92\xd4\xed\x2a\xff\x38\x62\x87\x8d\x9a\xea\xbd\x74\xa0\x6f\x4a\x5d\x1d\xfd\xf0\x43\xb5\x68\xae\x9b\x0f\xba\xa2\xf9\x7c\xdc\xcd\x16\x88\x97\x16\xcd\xe7\x47\xed\xe4\xf0\xe0\x1c\x29\x57\xb8\x10\x9e\x11\xc7\xcc\xaf\x5b\x04\x23\x0e\xf1\x89\x1a\xed\x83\x7a\x45\x2a\x75\xfc\x7e\xb3\xf4\x62\xd2\x2a\xa9\xb1\xa2\xb3\xb6\x5e\x52\x12\x44\x5b\xdb\xa6\xd4\xaf\x96\x92\x1a\x07\x8a\x2d\xe8\x23\x5a\x2e\x7a\x15\xd6\xde\xde\xa7\x8f\xb6\xda\xe6\x47\xf4\x12\x0c\x69\xbd\xa3\x77\xa8\x94\x9a\xd6\x21\x1e\xc6\x9f\xd2\x68\xb8\xc0\xd7\xab\x3b\xa5\xeb\xb0\x42\x67\xf4\x92\xdc\x91\xe2\x43\xb4\x64\x9d\x9b\x6a\xbd\x71\x92\xa2\x2e\x7b\x65\x92\x83\x35\x83\x75\x8b\x6f\x4d\xb0\x5c\x84\xef\xe3\xdc\x19\x16\x5a\x65\xa1\xd7\x34\xa1\x76\xb2\x4e\x13\x54\x9c\x15\x1a\xc1\xfa\x1d\xff\xfb\xbf\xd5\x95\x42\x7b\xc6\xcc\xea\x6f\x75\xe3\x92\x15\xc0\x6a\x9f\x17\x54\xc0\x80\x79\x57\x02\x8d\x5d\x4f\x1c\xbb\xcc\xaf\x2c\x0e\x83\xac\x3d\xa9\xd2\x0d\xb2\x82\xb1\x79\x8c\x77\x70\x63\xdc\xf1\x75\x1d\xe2\x1d\xdc\x10\x9b\x00\x6f\x47\x98\x5d\xf2\x51\xd7\x64\xb9\x47\xee\x9d\xfd\x25\x5b\x2f\xc9\xdf\xeb\xe8\x45\x94\x7f\x79\x9f\xde\x74\x7e\xd0\x55\xfd\xb3\xf9\x35\xcd\xf7\xe9\x0d\x77\x4c\xf3\x7b\x54\xcc\xee\x69\x5a\xbf\x34\xbf\x70\x21\x56\x15\x72\xa6\x89\x4d\x9b\x5f\xb8\x11\x4b\x97\x2c\xad\xea\x67\x47\xb9\x6c\xce\xa2\xac\xce\xb9\xfe\x91\xde\x4c\x41\x85\x5c\x5e\x8c\x36\xd7\x47\x59\x13\x88\x00\x3d\x01\xf6\xd2\xd7\xc1\x58\xa5\x7d\x41\x9d\x44\x90\x7d\x8d\x75\x08\x9f\x93\x1b\xe8\xf6\x32\xfd\xfb\xf4\xc6\xee\x3d\xfa\x52\x97\xcd\xc7\x57\xed\xfc\x67\x25\x7a\xf5\x84\x12\x75\xab\x88\x3c\x55\xf3\x29\x44\xea\xd6\x22\xf9\x01\xe2\xd3\x88\x54\x2f\x69\xce\x07\x8f\x5d\x66\x6d\x98\x23\xd0\x17\xd2\x7c\xd6\xf7\xcd\x8a\xc7\x7d\xfc\x52\x21\xf6\x84\x5a\xf2\x3c\x45\x05\x06\x88\x05\x04\x88\x00\x04\xbe\x54\xc3\x9e\x55\xd2\x26\x01\x77\x5a\xb9\x6d\x7a\x18\xb7\x54\x5e\x60\xf5\x6f\xc6\x5a\xe0\xf8\xbc\xf2\xc8\x87\x31\x24\x24\x59\xb4\xfe\xf8\xf4\x46\x86\xe4\x90\xd7\x9d\x8d\xf5\xf9\x2f\xf4\xec\x79\xdf\x7c\xf6\x4c\x67\x04\x77\x93\x97\x4f\x03\x7e\x41\x07\x58\x98\x39\xab\x11\xf4\xa5\x39\xae\x22\x96\x6d\xef\xeb\x63\x54\x97\xb0\xcb\x7f\x6e\xd7\xff\xac\x4a\x65\xb4\x55\xdd\x77\xbb\x6b\xd9\x27\x07\x7b\xa3\xe9\xd5\xc5\xe5\x65\xf9\xeb\xfd\xfa\x9f\xe3\x93\x83\x17\xa3\x0f\xa7\xff\x6f\x7c\x72\xf0\x12\xbe\x5a\x04\xbc\x16\x26\xac\x4b\xe1\x2e\x84\x89\x9d\x6a\x66\xbb\xfd\x99\xa8\x71\xd7\xd3\x56\xb4\x12\xfb\x2c\x08\x02\x3e\x23\x35\x9c\x86\x73\xac\x2a\xdf\x51\xdd\xeb\xd6\x6b\x6c\x57\x41\xf3\xd1\x28\x47\xff\x3e\xca\xd5\xd4\x11\x35\xc0\xc4\xa1\x6b\x57\xd0\x00\x63\xf7\xca\x6e\xec\x44\x49\xc0\x83\xf7\xca\x7e\xf0\x34\xfd\x6e\x47\xaf\xdb\x5c\x5c\x86\x4f\x43\x5f\x3f\x7e\x36\xa8\x51\x3b\x53\x80\xf1\x33\x06\x93\x24\xc5\xee\xdd\xc6\xcf\x90\x8f\x21\x1b\x3f\x4d\xbf\x99\x42\xf7\xae\xe3\xa7\xa1\x8f\x48\x16\x97\x8d\x5f\xb5\xe3\x07\x18\x3e\x63\xc0\x97\x1f\x3e\x4e\x10\x5f\xe9\x25\xf2\xd1\x53\xf5\xba\x1f\xbc\xda\x12\x72\x1b\x3b\x15\x75\x44\x2a\x89\x74\xea\x85\xcc\x1e\x91\xce\xb0\xe0\x09\x23\x1e\x53\x9d\xf6\x1d\x7a\xe7\xa0\x7e\x86\xeb\x45\x8a\xc5\xc3\x4b\x42\x93\x74\xd9\x70\xc8\x61\xb2\x41\x8a\x32\xa2\xdd\xf4\xee\x85\xfe\x3a\x85\x38\x30\x22\x3b\x9b\x7b\x13\x2f\x6c\x75\x8e\x36\xfe\xdd\x7a\xf8\xd2\x7a\x66\xc9\x79\xda\x4d\xae\x97\xa8\x0b\x22\xd7\xcb\x9c\x64\x95\xc1\x38\x21\xff\x5c\x91\x1c\xfd\xf2\xb0\x48\xd0\xe2\xbc\x40\xdd\x58\x7a\x78\x90\x1d\x7e\x2b\xa2\xfc\x0b\x73\x20\xa0\x0f\x94\xf3\x07\x18\xdc\x63\x88\x99\x32\xd0\x9c\xe9\x02\xcd\xa2\xd8\xc1\xa2\xce\x02\x2b\x63\x58\x07\x20\x1c\x3c\x1e\x6d\x45\xcc\x25\x38\x8d\x7b\xd6\xa2\x8a\xc9\x83\x23\x96\xa6\xe0\x3a\x15\x66\x76\xaf\x5d\xae\x9b\x60\x21\xa2\x78\x22\x3f\xbf\x21\x3d\x30\x7d\xd9\x8c\xfd\x4e\x8c\xd6\xc9\x82\x3b\xda\x27\x2b\x74\x31\x45\x3b\xc1\x85\x58\x82\x47\x6b\xb8\x24\xa7\x2f\x37\xad\x57\x0c\x4e\x1e\xb0\x55\x62\x88\xa1\xe8\x98\x76\xc1\x05\x43\x64\x01\x60\xa0\xe8\xd8\x34\x31\x06\x6b\x63\x65\xcb\xd3\x2e\x97\x2f\xd3\x24\x47\xdf\x83\x94\x50\x74\xdc\xe7\xb8\xd6\x7f\x9a\x8d\xae\x91\x7b\x90\x9d\xae\xe6\x65\xb5\xf6\xa9\xc4\x73\xdb\xeb\xcc\xd4\xfe\xda\xec\x4c\xf3\x2c\xf4\x6e\xd7\x30\x0c\xb7\xdd\xe9\x19\x3c\xe7\xfd\x4e\x18\x8b\xa7\xde\xf0\x24\xca\x31\xc0\x8e\x27\x70\x0d\xb4\xe5\x09\x7c\x9e\x62\xcf\x7b\x4b\x7c\xba\x75\x1c\x35\xab\x82\xa6\x56\x0e\x5d\x46\x6e\xbb\x6d\x6e\x42\x6e\xcd\x79\x4f\x61\x76\x3a\x4e\xea\x80\x05\x4c\xad\x9c\x39\x93\x58\x36\x85\x4c\x9f\xaf\x1b\xd7\x0e\x2b\x7c\x77\xeb\x14\xc1\xbc\xc3\x95\x4a\xe5\xbc\xc1\x29\x27\x55\x98\x8a\xa7\x01\xfd\x38\x18\x71\xc0\xa6\xd6\x4e\x52\x9b\x3d\xad\x1b\x2e\x87\x7d\x4d\x39\x04\xb5\x2c\x9e\x4f\x34\xcc\xdb\x9a\x46\x25\x58\x79\x7c\xed\x68\x4a\x86\xd5\x6e\x26\x87\xa0\xdd\xcc\xca\xc1\x32\xef\x65\x4a\x0e\xf7\x51\x2e\xa7\x3f\xc0\x36\xe6\xc7\x6f\xe3\xc9\xb9\x6c\x64\x43\x79\x6c\x6e\x09\xcf\xde\xf2\x93\x3d\xe5\x26\x7b\x4b\xbe\x16\x08\x79\xdd\xe7\x43\xbb\xb3\x1c\x23\xf8\xe2\x8f\x77\x64\x2d\x48\x85\xcc\x27\x7e\x32\x67\xd6\x2a\x5f\xd9\x2a\xe7\x15\x93\xa7\x6c\x4c\x0a\x0e\x20\x89\x6b\x32\x70\x10\x51\x54\x49\xc0\x43\x4b\x22\x26\x6d\x23\x8a\xe1\x0f\x19\xfc\xe0\xb9\x05\x32\x10\xed\xc3\x1e\xed\xbb\x38\xa1\xa3\x1f\x9e\x92\x7f\x87\x48\xc8\x1d\x20\x19\xd7\x53\xfe\xf2\x9e\x2b\x0f\xa7\x79\xf1\x14\x81\x28\xdd\x2c\x0d\x14\x85\x52\xb3\xf4\x18\x82\x52\x33\xc1\xc4\x9f\xdc\x07\xd5\x6f\x7e\x99\x31\x2d\xd7\x38\xac\x41\x32\x74\x01\x23\xeb\x2b\x59\xd7\x38\xbe\xde\xf3\x76\xb5\x43\x1c\x20\x05\xd4\x98\xfe\xa9\x1d\xe3\x70\x99\xa0\x86\x41\xf6\x9b\x14\xaa\x1d\xe6\x30\xf9\xa1\x86\x71\xf6\x9d\x2a\x6a\x4c\x13\x35\x0c\x73\xa0\x8c\x51\xe3\x28\xfb\x4b\x1e\x35\x8c\x71\x80\x3c\x52\xed\x10\x07\xc8\xc6\x2f\xc7\x78\xcf\x79\x8c\x11\x49\xf9\x86\x64\x53\xc3\x20\xfb\xcd\xcf\xd7\x0e\xb3\x73\xaa\xfe\x1e\xaa\x20\xf4\x82\x14\xc4\xe3\xc1\x90\x48\xd0\xaa\x20\xb4\xaa\xf1\x33\x3f\x1e\x12\x05\x0f\x58\x73\x99\x63\x05\x28\x77\x6b\x14\xce\xa6\xe6\xb2\x05\xb1\xbf\x8e\x8a\x60\x33\x2d\x4c\x91\x63\x9e\x9f\xef\x22\xc7\x40\xfa\xcf\xf0\xcc\x48\x37\x16\x4f\x74\x6c\xa4\x57\x8f\x30\x27\x47\x3a\x9e\xde\x0e\x8f\x74\x4c\x10\xe7\x47\x4a\x7e\x67\x71\xce\x9c\x56\x09\xf5\x46\xb7\xdc\xab\x8d\xf2\xb4\x91\x7b\x25\x4f\xce\x62\xa7\x54\x35\x55\x15\xd5\x29\xa2\xfc\x4b\x55\xcf\xc5\xa2\x5c\xe7\x96\xe7\x72\x9d\xbc\xcc\xc1\xb6\x48\x8e\x91\x71\xa9\x34\x0a\x06\xdf\x1e\x2d\x48\xf9\xdd\x1c\xcb\xe6\x6d\x9d\x96\x38\x3f\x21\x8b\xf8\x21\x2e\xc8\x7c\x6d\xfd\xef\xf5\x4e\x78\x19\xcd\xbe\x90\xa6\x80\xc5\xc1\x27\xba\x9c\xc5\x6f\xa3\xec\x70\xf3\xa7\xec\xff\xa4\xcd\xfd\xf6\x9f\xb2\xff\xfa\xaf\xf5\xba\xd2\x55\xab\x34\x6b\xe9\xa7\xec\xb7\xf5\xef\xdc\x36\x3e\xf5\xa4\x09\xb1\xed\xf1\xdc\xfc\x6e\x7a\x40\xea\xb2\x59\xf8\x13\x1d\x96\xee\xa6\xa2\xb4\xac\x00\x35\x56\x5b\xfa\xd2\x02\x6a\x6c\x79\x46\x0e\x55\xdc\xac\x96\x59\x21\xba\x26\xe1\x6c\x2e\xe3\xb6\x65\x2e\xe3\xa6\x66\x4c\x6b\xac\x6b\x1d\xb7\x2d\x53\x1d\x37\x35\xfb\x2e\xbe\xa7\xc3\x9c\x8e\xf2\xf5\x4a\x00\xed\x71\xe3\x36\x86\xd9\xd2\xfc\x24\x54\x08\xf4\x9c\x36\x35\x40\x4a\x45\xb3\xa7\x55\xfb\x59\xdf\xf9\xb6\x45\x05\x6b\x97\x24\xd1\x54\x48\xb5\xcf\xe5\x28\xed\x27\x0f\x4f\x9f\x0b\x1d\x1b\x60\xeb\x03\xe6\x15\x98\x45\x73\xd9\xfc\x9e\x63\x7e\x3c\x9f\x71\x01\xf6\x10\x2d\xf2\x25\x9a\xfa\xcf\x95\xce\xb9\xbb\x8a\x9a\x39\x19\x76\xcb\x0c\x72\x70\x0c\x25\x6f\xde\x34\x8d\x75\x8e\x41\x8e\x23\xf0\x20\xdb\xaa\x4b\xe2\xbe\x6b\xb3\xe7\x5a\x38\x93\x9c\xf0\xd0\x3d\x5a\x75\x04\x06\xab\xb3\xaa\x96\xd3\xe0\x60\x6a\x04\x68\x67\x89\xd5\x46\x2d\x15\x00\x0e\x96\xdd\xe2\x25\xdb\xd9\x21\xbb\x3a\xbe\x34\xeb\x71\xb9\xa9\x2c\x3c\x3a\x9a\x22\x41\x8b\x5d\x59\xdd\xf8\x99\x07\x65\x45\xc1\x83\x6d\xbb\x02\x2b\xe3\xa2\x0b\x10\x0e\xbe\xf1\x5a\x11\xfb\x2b\x28\x0b\x9b\x69\x21\xb6\x5a\x91\x9f\xdf\xbd\x16\x4c\xff\x19\x06\x65\x75\x63\xf1\x44\x41\x59\xbd\x7a\x84\x09\xca\xea\x78\x7a\x0b\xca\xea\x98\x3c\x41\x52\xff\x38\xcb\xd2\xec\x84\x14\x51\xbc\xc0\x6e\x75\x34\x29\x8b\x4d\x4e\xd6\x4c\xee\x75\x7e\x21\x8f\xc0\xfa\xe4\x5f\xa3\xc5\x0a\xf8\x04\xad\x0f\x27\x93\xee\x42\xb0\x8d\x8e\x62\x62\x5c\xec\xb4\x02\xc1\x37\x37\x20\x99\x90\xa9\xea\xb2\xd2\xd7\x3f\x93\x47\xe0\xf3\xae\x1f\x4b\x3d\xf0\x90\x4d\x2c\x9f\x25\x21\xb6\x29\x9a\x93\xdf\x0d\x0a\x40\x59\x93\x41\xdc\xb9\x83\x25\xf8\xd0\xd7\x7f\x6a\xf8\x0d\x8f\xa2\x5a\xc3\x5e\x0b\xe1\x56\x18\xca\x54\x44\x55\x35\xd0\x2c\x47\xaf\xc5\x54\x95\x9d\xac\xd0\x73\xeb\xa6\xe9\x51\x51\x65\x37\x39\x9e\x2e\xef\x89\x22\xae\x97\x5d\xe7\x24\xf3\x77\x4b\x9a\xa6\x66\x77\xb9\x4c\xd6\x52\xe5\x71\xad\x72\x92\x75\x2e\x57\xd9\xd0\xec\x73\x95\x5f\x05\xb9\x3f\x45\xcb\x1d\xf2\xfa\x14\xc5\x07\x72\x35\x42\x2b\x96\xd5\xe5\x29\x20\xa5\xa7\xf1\xb3\x4a\xe1\xec\xfc\xac\x4a\x11\xcc\x7e\x56\xa5\x55\x98\x8b\xd2\xf2\x79\x15\xe8\x22\x0c\xcd\xcc\xfb\x3d\x18\x00\x71\x80\x7f\xd5\x4d\x53\x5b\x07\xab\x1a\x30\xb7\x5b\x17\xf2\x31\x68\x84\xf1\xec\x5e\x95\x24\x8d\x37\x06\x54\x4a\xc1\x09\xe4\xf1\xde\x85\x9c\x63\xe5\x59\x29\x40\x68\x5d\xab\x6a\xc0\x40\x49\x9e\x72\x1e\xf7\x51\xae\xe0\x10\xf4\xba\x74\x2d\x8c\xb7\xeb\xd2\x0c\x39\x97\x1d\x0d\x78\x5d\xda\x72\x4b\x0b\xbc\x9d\x0d\x70\x1d\x98\x66\x04\x5f\xe2\xbc\x5c\x07\x86\x92\x1a\x7e\x4b\xb3\xdb\xce\x86\xdd\xca\x86\xba\xd4\xc9\x70\x0b\xb4\x99\xa1\x6b\x59\x39\xed\x66\xe8\x9d\x4c\x76\xfc\xe6\x79\x2b\xb3\xd8\xc6\x64\xa7\x6c\x81\xf7\x31\xf9\x59\x95\xe7\x8d\x4c\x76\x5b\xc1\x79\x27\xd3\x1e\xc0\x95\x54\xf3\x60\x79\x2e\x2c\x75\x0f\x89\x2e\x2c\x41\xcb\x4c\x17\x79\x63\x79\xd0\xb1\xdc\x0c\xcd\xa9\x2e\xd7\xed\x57\xba\x54\x17\x66\xa3\xf4\x98\xdf\xc2\x76\x27\x68\x82\x0b\xc3\x0a\x94\xde\x60\x10\xce\x2e\xc5\x05\x4c\xec\xdf\x61\xbb\x8c\xe6\xf3\xaa\xbf\xb8\x6c\x16\xd5\xcc\x0b\x95\xce\xc2\xf2\xf3\x9f\xcf\x02\xa2\xaf\x4d\x68\xa1\xe6\x2a\x36\xa1\xc5\x75\x17\xd5\x0d\x0c\x2d\x61\x80\x34\x16\xf3\xa6\xaa\xd7\x1a\x99\x70\x21\x92\x57\x54\x12\xb4\xb3\x22\x64\xf6\x4a\x85\x91\xe5\x62\x24\xb1\x03\x4c\x39\x2b\xbd\x22\xa2\x72\x56\xae\x97\xf3\xa8\x20\x1e\x63\xa7\x22\x41\xab\x82\xca\xaa\xc6\xcf\xda\xdd\x14\xc5\x0e\x58\x4e\x99\x63\x05\xa8\xad\x6b\x14\xce\xa6\x98\xb2\x05\xb1\x7f\x87\x7d\x14\xed\x76\xea\x26\x58\x98\x52\xca\x3c\x3f\xdf\x95\x94\x81\xf4\x9f\x9b\xf3\xa9\x1b\x88\xa7\x70\x3f\xf5\x8a\x11\xc8\x01\xd5\x31\xf5\xe8\x82\xea\xd8\x3c\x45\x38\x95\x96\xc7\xd7\xc3\x01\x02\x45\xc7\x7d\xee\xcf\x14\x57\x95\xc8\x3d\xc8\x4e\x07\x7e\x38\xc0\x2c\x9e\xdb\x5e\xf7\x9f\xe1\x34\x7a\xdd\xec\x06\x7a\x38\x40\x60\x18\x6e\xbb\xfb\x73\x05\x5b\xb5\x63\xf1\xd4\x1b\xde\x70\x21\x57\x2d\xd7\x40\x5b\x9e\xd7\xc0\x2b\xae\x44\x8c\x47\xcf\x4e\x24\x68\x5d\x22\x26\xa0\x67\x17\x2e\x37\x46\x14\x3d\x70\x91\x18\x1b\xef\x0e\x20\x9c\x6d\x91\x98\x67\xeb\xdd\x3d\xe3\x3c\x19\xdd\x64\x0b\x57\x25\x26\x9c\x97\x07\xa6\xff\x1c\x13\x66\x74\x83\xf1\x54\x39\x33\x7a\x05\x09\xb4\xf7\xe9\x98\x7a\xdc\xfa\x74\x6c\x82\x1c\x39\x1e\xad\x8a\xfb\x0f\xa4\xb8\x4f\xe7\x1b\x69\x42\xd2\xdb\x6a\x7d\xc9\x3f\x1f\x7e\xfa\xb4\xbd\xf9\xdb\x6f\xa0\x76\xf5\x7f\x8e\xa3\x9c\x1c\x7e\xfb\x30\xbe\x7a\x77\x71\xf2\xf9\xfc\xe2\xea\xf3\x74\x7c\x75\xb0\x39\xba\x38\x3d\x39\x3e\xd8\xde\x84\x49\xc0\xe8\x16\x45\x56\xa7\x61\xb3\xf4\x61\xb9\x2a\xc8\x45\x29\x7c\xf9\xb1\x41\xc5\x14\xfd\xfd\xb4\x89\x89\xfc\x4a\xbb\xe0\x64\x18\x50\x94\x2c\x2c\x02\x49\x2b\x55\x15\x9c\x24\x7a\x30\x5f\xc8\xa8\x2f\x6f\xcc\xe3\x7c\xb9\x88\x1e\xcf\x21\x2d\xb6\xeb\x16\x24\x9f\x65\xf1\xb2\x64\x6b\x6c\xb1\x53\xb5\x88\x66\x33\x92\xe7\x53\xb2\x20\xb3\x22\xcd\x8c\x8d\x76\xab\x46\x69\x3c\x9f\x75\xe6\xcc\x45\x3c\x9f\xe9\xcd\x19\x0a\x9d\x52\x1b\x35\x56\x8d\x63\x55\x1f\x8a\x41\x30\x73\xa6\xe7\x61\xdc\xd0\x74\xe2\xc0\x0d\x18\x18\x95\xa1\xaf\x9c\x94\xca\x08\xbc\x73\x72\xd2\xab\xaf\xe4\x9d\x01\x69\x8b\x5e\x7d\x25\xcf\x01\xc8\x5a\x1c\x31\xea\xcb\x0b\xb6\x69\x2a\xdd\xcf\x69\x26\xbc\x8c\x3f\xaf\xd2\x66\x9b\xac\x9a\x26\xf8\x0b\x38\xd2\x95\x2e\x84\x55\x46\x31\xf2\x6b\x8e\x99\x09\x43\x6e\xdf\x54\x5a\x05\xbd\x7e\x43\x6b\xa2\xe1\x12\x4e\xdf\x86\xd2\x45\x4d\x9b\x1d\xba\x0d\xa7\x8d\x9a\x66\xbb\x65\x33\xd6\xb4\xec\xd6\x51\xfe\x9d\x80\x4d\x9d\x6d\xc9\x2b\xa2\x83\x89\xc9\x93\x10\x52\x9e\x76\x46\xbb\xa3\xbd\xd1\xd6\xd6\xe8\x85\x7b\xee\x13\xcf\xc4\xdf\x36\xcd\x6f\x29\x16\x7b\x35\xd3\x54\xb5\x61\xcf\x16\x31\x49\x8a\xd3\x39\x70\xd3\xae\x3f\x9f\x92\x59\x46\x0a\xe0\xae\x9d\xcf\xd2\x25\xc9\x2d\xaa\xe2\xed\x50\x55\xf1\x46\xd1\x6a\x6e\xd3\x76\x97\x69\xbb\x58\xa4\xbf\x93\xf9\x84\xcc\xe3\x8c\xcc\x8a\xeb\x2c\xb6\x21\xb5\x47\x93\xca\xe3\xbb\x24\x4e\xee\x8e\x16\x77\x36\x24\xb6\xe8\x02\x7f\xa5\xc1\x33\x4b\xbf\x92\xec\xf1\x3a\x5b\x18\xb1\xdb\x6f\x6d\xa4\xba\xc9\x71\x74\x49\x1e\x2c\x38\xbf\xa0\x19\xcf\x16\x51\xfc\xf0\x21\x5a\x2e\xe3\xe4\x2e\xff\x10\x2d\x3b\xe3\xe6\x98\xfb\xc3\xda\xfa\xfa\xdf\x53\x5a\xdb\x1a\x8f\xe2\xe0\xd3\x6f\xa3\x45\x9c\x0b\xdf\x77\x84\xce\x24\x7f\xd4\x10\xf3\x6c\x15\xc9\xf7\x28\xff\xa6\x51\xc5\xc8\x66\x6b\x31\x6d\x9e\x16\x46\x92\x89\xd4\xd0\x96\xd2\x71\xb3\x6e\x00\xad\xa5\x63\x6a\xdd\x80\x98\x4b\xd1\x7c\x3e\xad\xd6\x0d\x88\xa5\x14\xcd\xe7\x47\xab\x39\xff\xe9\x9e\xea\x53\x71\x55\xe0\x5a\x6e\x6d\xa9\x44\xea\x57\x01\xae\xc9\xbe\xda\x4a\xec\xe6\x3c\xd7\xe4\x85\x82\xc9\x09\x33\xe7\xb9\x46\x2f\x0f\x9a\xfd\x54\x9c\x6d\x82\x79\xb7\xc6\xa5\x4e\x6d\x7c\x88\x96\xa2\x0a\x95\x7f\x1c\xb1\x93\x82\xda\xbe\x7a\xf1\x40\xdf\x94\x8b\xd3\xe8\x87\x1f\xaa\x6b\xa9\xeb\x8c\xe0\xaf\x5a\xc1\xe5\x4b\xc5\xb3\x15\xde\x87\x29\xcb\x99\x04\x81\xed\x59\x9d\xa1\x84\x37\x6a\x75\xd4\x21\x96\x6d\xb7\x6e\x40\xad\x5b\x66\xe5\x80\x9a\xb7\xd3\xce\xe6\xd0\x26\x7f\x4a\xad\xdc\xc6\xe0\x80\x34\xdc\x65\x1a\xca\xad\x0d\x08\x9d\x3d\x46\x76\xd6\xd4\x80\xb4\xdf\xe2\xfd\x81\x7e\xcd\xd1\x20\xb6\x2f\x6d\xd4\x59\x1a\x10\xc6\x2f\xd8\x91\xe2\x66\xf5\xf7\x9b\xa5\xc1\x9f\x56\xb3\xbe\x22\xb4\xb6\x5e\x92\x4a\x79\xfd\x59\x7b\x49\xcd\xe2\x5a\x95\xa8\xe9\x42\x89\x0c\xfa\xa8\x17\x48\xba\xd4\x80\x85\x7a\xe5\x55\x28\xa7\x95\x82\x9a\x2f\x61\xea\x20\xe8\x16\x29\x09\x6b\xaf\x05\x11\x00\xdd\xae\x67\x7d\x98\xda\x08\x80\xae\xf3\xec\x5d\xca\x24\xb8\x75\xbf\x5f\xbf\x1c\xaa\x0a\x6b\x1f\x1e\xd2\x76\x5b\xc6\xd6\x5c\x52\x78\xc7\x5c\x52\x58\xcd\xb5\x33\xf4\x5c\xeb\x09\xef\x98\xea\x09\xab\x79\xd7\x8f\x0c\xe9\xa0\xee\xde\x19\xea\xf7\x13\xd7\x8e\x52\x5b\x8b\xc3\x98\x6a\x5f\x1a\xd2\x8e\xa9\xc8\xd4\x3c\xa2\xbb\xc8\x11\x2d\x79\xba\x8e\xe7\x2e\x72\x3c\x35\x20\xb7\xa3\xd9\x6d\xf1\x98\xb1\x94\xef\xf6\x0e\x43\xab\x7d\xb3\x49\x3f\xb4\x26\x19\xcc\x23\xbd\x87\x1d\x69\x51\x04\xd7\x81\xdf\xc3\x0e\x3c\x78\x44\x3a\x3d\x50\x58\x6c\x08\xb5\xe0\x8c\x37\x97\x9a\xf0\xd0\xf3\x54\xc9\xf2\xad\x62\x0e\x28\x0b\x0f\xa8\x0b\xaf\x5f\xc4\x7b\xde\xce\x95\xe1\x8d\xa5\xe1\x4d\x4b\xb9\x11\xfc\x6e\x3d\xe7\x6c\x6c\xc4\x88\xd3\xd6\xb6\x9b\xa5\xb2\x8f\xb1\x54\xe4\xec\xed\x2c\x95\x7d\x84\xa5\x22\xfa\x0d\x0e\x3a\xff\x02\xdf\x7d\x09\x7b\xb3\xd6\xbf\x40\x2a\x3d\xcb\xdd\x55\xef\x5f\x20\xd5\x1e\x34\x04\xad\xe6\x4b\xfc\x3c\x84\xf2\xf3\xde\x95\x1e\xfc\x3b\x52\x7c\x88\x96\x54\xcf\x5f\x8e\x48\x15\x75\x41\x74\x5e\x2d\x01\xdb\x75\x69\xc8\xac\x26\xb1\xb6\x5e\x9d\xaa\xb8\x62\x20\xf3\x32\x2d\x71\x78\x85\xc7\x41\x2f\x85\x80\x85\x3c\x0a\xe7\x80\x07\x03\xc5\x79\xf4\xe0\x58\xc9\xce\xc2\x51\x65\xe6\x3f\xcb\x31\x94\x7f\xca\xaf\x78\xed\x71\x6b\x70\xcf\x94\x5f\xeb\x44\xc6\xa1\x7c\x52\xb6\xcb\xfd\x69\xb1\x5b\x97\x77\x5c\xbb\x2c\x63\x6c\xd7\x65\xc3\x43\xc3\xaa\x2e\xb3\x87\xdd\x6e\xbd\xde\x75\xec\xb5\x8a\xb7\x5d\xc7\x0d\x6f\xef\xaa\x3a\x7e\x11\xcf\x67\x1e\x73\x2e\xf9\x1c\x94\x6d\x6d\x7e\xa2\x0a\x11\x56\x28\x05\x0e\x55\x8e\x9e\xe4\x39\xf1\x4d\x97\x74\x3d\x07\xf0\xaa\xc5\x53\x01\x5f\xbb\xfd\x56\x69\x10\xe6\x3c\x4d\x29\xfd\xfb\x28\x57\x50\x37\x3c\x38\xbe\x89\xc8\x3d\x2c\x07\xcd\x5f\xfe\x21\x47\xcd\x22\xaf\x41\xd1\x52\x5e\xcc\x25\x68\x16\xe2\x97\x38\x31\x67\x4b\xec\x8c\x36\xbd\xd4\x7d\xe1\xba\x1d\xec\x90\x9b\xe5\x63\x3c\x6e\x32\x89\x05\x3f\xe2\x86\x53\xfa\x93\xe7\x02\xd6\x4f\x01\xd6\xdf\xff\x1c\x27\x73\x0f\xd9\x72\xca\xb9\x19\xe2\x84\x91\x63\xe6\xf7\x80\x11\x46\xfc\x49\x33\xe7\x36\xbf\x3f\xec\x92\xd9\xaa\xf1\xa3\x92\xd9\xaa\xb1\xdd\xd1\x17\xb9\xe6\xba\x58\x92\x38\xfc\x76\x7d\xfe\xf3\xf9\xc5\x2f\xe7\x07\x9b\xa3\xb7\xa7\x57\xef\xae\x5f\x1f\x6c\x8d\xde\x5e\x5c\xbc\x3d\x1b\x1f\x6c\xbb\x8c\x7b\x50\x13\x5c\xa3\x6d\x21\xcd\x70\x5d\x67\x83\x9b\xe2\xba\x3e\x87\x37\xc7\x75\x5d\xaf\xf4\xc7\xd1\x16\xd7\x9a\x1e\xba\x2e\xb3\x4c\xb5\x7d\x2d\xa7\x84\x60\x85\xbb\x17\x05\xc8\x49\x56\xf4\x52\x79\x2b\x80\x23\x27\x6b\x55\x1e\x40\x4f\x42\x75\x65\x32\xea\x5a\x74\x39\x74\x3d\x11\xf0\x7d\x83\x00\x55\x03\xe4\xdd\x09\x58\x3a\x40\xca\x10\x70\x9b\x1c\x28\xa8\x4d\x11\x01\x6b\x92\xc3\x5f\xac\xa4\x6c\x34\x97\x6c\x7e\x73\x22\x3f\xa5\x85\x88\xda\x02\xa6\xe9\x1a\xa6\xc0\x80\x9c\xab\xef\x2a\x03\x56\x5c\x00\x97\x2e\xb9\x79\x6f\x73\xf5\xd2\x6c\x32\xb9\x74\x85\x3b\xb3\x6e\xff\x1c\x24\x28\x60\xaa\x43\x60\x56\x24\xa9\x84\xfe\x4a\x12\x98\x04\x68\xce\x9c\x35\x20\xf5\xa7\xce\xdd\x38\x43\x6a\x14\x98\x18\xdf\x47\xb9\x96\x6d\xc8\x12\x3d\xbc\x6c\xbe\x0a\xf5\x28\xe8\xa2\xf6\x63\x60\xd1\x9e\x3f\xcd\x86\x1c\xbe\x98\x8f\x9c\xa3\xc3\xfa\xeb\xa3\xb0\x8f\x3d\xcd\xbf\x36\x65\xd7\x59\x3b\xcc\xae\x1c\xa8\xf8\x8f\x1d\x9b\x3f\xd7\xbe\x2c\x2b\x0a\xf4\xcc\x36\x66\x59\x99\xa0\x61\x77\x66\x79\xc9\xa0\x21\xb6\x66\x59\x11\xa1\x27\xda\x9b\xdf\x12\xff\x6e\xb2\x94\xa6\xdd\xbb\x24\x83\x3a\xc8\x13\x72\x1b\x74\x4f\x96\xf6\x27\xe4\xbb\x25\xf6\xee\x31\x4c\x44\xab\x17\x4c\x9e\xb9\x63\xcc\x0e\xba\x5d\xdd\xa1\xc1\xf7\x62\xc3\x2c\x0d\xf4\xca\x49\x68\xd7\xd8\x86\x45\xd8\xfd\x97\x1b\x54\xb7\xf7\x4f\x9e\xc2\x31\x66\x05\x37\x3e\x8a\xf2\x84\x9e\xb1\x81\x7b\xa0\xbd\xd7\xc0\xf5\xd9\xec\xbb\xde\xde\x02\xc3\x79\xc3\x7a\x02\x7f\x32\x57\x58\xde\x99\xa1\xf6\x5d\xf8\xab\x61\x7e\x3d\x60\x6b\x82\x7f\xb9\xbf\x4e\x13\x74\x80\x3d\x37\xd4\xfb\x62\xff\x1e\x5e\xaf\x69\x80\x9e\xda\xe5\x35\x2b\xd0\x90\xfb\xed\x50\xce\xae\x89\xed\xd3\xed\xb8\x75\x29\x43\xef\xce\xae\x8a\xac\x75\x01\xdd\x7f\x2b\x97\x57\xd5\xa5\xc0\xe5\x75\xed\x1d\x5f\xb0\xa0\xb6\xa5\x76\xff\x72\x7f\xfd\xed\xc5\xe6\xa9\x1b\xae\x10\x6f\x68\x27\xd8\x92\xcb\x73\xf7\x83\xcd\x43\xf5\x1c\x5c\x61\x88\x42\x05\xdd\x9d\xcd\x02\x04\xda\x9f\xcd\x8c\xf1\x3b\xb4\x92\xf9\x59\x9c\x53\xd2\x86\x7b\x55\x54\xc6\x03\xb9\xcd\xab\xc8\x5a\xbe\x30\xaa\x23\x21\x4f\x4d\xef\x37\x79\xf3\x6b\xa3\x47\xec\xb7\xba\x37\x47\x25\x9b\xbf\xc7\x97\x47\x65\xdd\x0c\xfa\xfe\xa8\x84\x21\xe8\x55\x4a\x90\xa0\x76\x6f\x91\x5a\x92\xfc\x77\x73\xbf\xab\x6a\x0e\x1d\x02\xb8\x37\x4a\xf5\xf3\x38\xd4\x4b\xa5\x32\xae\xfe\xdf\x2b\xb5\xe0\x22\x5b\x18\x7e\x12\x77\x7b\x4f\x6f\x97\xe2\xf6\x7f\xf3\xb0\x89\x32\x43\x2f\x80\x07\x70\xd2\x21\x5a\xa6\x16\x37\xc4\xfb\xa6\x7a\x69\xd8\xd9\x65\x75\x81\xdc\xf2\xad\x53\x0a\x41\xa7\x25\x4f\x69\xc9\x98\x8b\xad\xb0\x0a\xad\xbf\x6d\x5e\x7e\xc2\x66\xa0\x87\x33\x2b\x54\x7c\x3c\x98\x16\x2a\xd2\x96\xe6\x85\x89\xcc\xa0\x26\x86\xe2\x06\x9e\x47\x33\x43\xd5\xdd\xa0\xa6\x86\x82\x29\x68\x6b\x01\x0b\x6c\x67\x72\x38\x90\x1d\xde\xec\xe0\x6e\x0c\x82\x4d\x0f\xf8\x85\x3f\xdf\xe6\x87\x79\xbe\x87\x32\x41\x54\x9c\xfd\x9b\x21\x96\x9c\x86\x35\x45\x60\xb7\xfc\x5c\xbb\x38\xb0\x49\xc2\x8a\x61\x36\x4b\x20\xda\x37\xac\x69\x62\x96\x68\x38\xf3\x84\x43\xd3\x79\x89\xf4\x6b\xa6\x20\xb2\x01\x5a\x01\xaf\x27\x67\xfe\xd2\xf0\x24\x44\xed\xb2\x01\x34\x04\xa4\xa7\x12\x71\xb0\x53\x89\x51\xd6\x57\x5d\x03\x5e\xbc\x4f\xd2\x64\x66\xbe\xa4\x5f\x97\x1a\xf1\x50\x60\x5e\x0e\x57\xc8\x7c\x03\x91\x1d\xe4\x88\x19\x22\xa4\x55\xbe\x81\x1d\xc1\x90\xd7\xf2\x9f\xe1\x91\x07\xa4\x1c\x00\x55\x50\x10\xf8\x34\xd0\x79\xa9\xda\x1e\x2a\x02\x98\x16\x9e\x40\x59\x0e\x12\x9e\xde\xb3\x1c\xe0\x3c\x34\x65\x02\x06\x3f\x5a\xe9\x4a\x0d\xd0\x3a\x01\xad\x62\x5e\x6b\x85\xe1\x79\x1e\x84\x36\x3c\x87\xa3\x1b\xb3\xc6\x86\x4e\xab\xd0\xb2\x0f\x97\x56\xa1\x65\x1b\xf0\xd0\x06\xa0\x14\x94\xae\x86\x29\xab\x00\x18\x74\xa9\x0c\x5e\xab\x2b\x00\x80\xa8\x26\x60\x98\x8a\x67\x00\x08\x38\xee\x2e\x65\xcf\x7c\x19\xb0\xde\xf2\x59\x65\x54\x11\x26\x2c\x28\x1e\xb6\x02\x3c\xb7\xb4\x25\x58\x8d\x8e\x71\x2c\x85\x84\x83\x99\x8d\xf0\x3c\x55\x90\x98\xee\x86\xe3\x13\xc5\xac\x64\x95\x9c\xea\xb7\x77\xdc\x13\x47\xf5\x53\x61\x08\x9b\x2a\x54\xea\xa8\x05\x13\x6d\xa8\xc8\xf0\xd2\xc8\x96\x9d\x9d\x22\x0b\xe8\x38\x57\x57\x36\x95\x35\x02\x8c\x6f\x81\xa8\xad\xbc\x85\x5a\x87\x8f\xd3\x87\xe5\x82\x14\xa4\x95\xd0\x53\x28\x41\x45\xd6\x62\x25\x36\x91\x78\xfe\xe1\x84\xbc\x88\x0a\x60\x38\x01\x18\x7a\xa8\x9f\x0f\x9e\xa5\x73\xf3\xa7\x7b\xbe\xa2\x14\xaa\x71\x08\xb6\xe1\x28\x18\x1a\x97\x34\xb0\xa0\xf0\x2d\xc7\x81\xe4\x5f\xd1\x0a\x0f\xd1\x8a\x69\x39\x73\x80\x4f\x18\x73\x91\x0d\xf5\xcb\x7c\x39\x29\x8e\xd3\xb9\x8f\x20\x88\x79\xd1\x0c\xb1\x65\xab\xb8\xfa\xdd\xb3\x2d\xb9\xfc\xdb\x84\x42\x6a\x95\x83\xbe\x54\x6c\x0c\x9c\x30\x0f\xb7\x55\x6a\xa7\xf9\x78\x4f\x6f\xbd\x98\xd5\xed\x39\xc4\x59\x20\x93\x22\x68\xa4\xc5\x2c\x40\xa0\x58\x8b\x99\x71\xc0\x68\x0b\x48\x39\x82\xc7\x5b\x40\x83\x1f\x3e\xe2\x02\x02\xa3\x9a\xe9\x61\x62\x2e\x20\x18\x38\xfe\x5e\x8b\xcd\x83\x00\x40\x04\x9d\x4c\x05\xe7\x41\x00\xa0\xc2\x4e\x86\xa2\xf3\x20\x00\xca\xf5\xd8\xad\xff\x7b\x3e\xfa\xcf\xb2\xb7\xeb\xfe\x9e\x67\x6f\xcf\x4f\xdc\x4d\x49\x17\xe5\xef\x41\x6e\x93\xc7\x87\xdf\x8a\xf4\x0b\x49\x80\xc5\xd8\x57\x39\xc9\x3a\xb7\xf0\x3a\xaf\x6c\x6c\x8d\x43\x58\x7e\xc1\xb9\x81\xf1\xbc\x7a\xd5\x24\x7f\x9f\xa7\x66\xa6\x3b\x1d\x53\x8b\x46\xbb\xe1\x3c\xb7\xd0\xb1\x42\x15\x47\x07\xdb\x16\x1f\x2f\x74\xa1\x39\x74\x09\xf8\xab\x52\x77\x25\x6e\x94\xbe\x80\x5e\x4e\x32\xe1\x39\x6b\xbd\x0e\x9b\xbd\xba\x6a\x32\xc0\xbc\xb3\x53\x6a\x0a\x00\x9d\xb4\x6b\x66\x0a\x04\x71\xc1\x06\x09\x9b\x2a\xd9\x86\x76\xc2\xec\x43\xa7\x7c\xdd\xfa\x5a\xd5\x4c\x85\xeb\x59\x9f\xad\x5b\x21\x39\x6f\x6d\x5b\xe7\xad\x55\x0a\x67\xf4\xd1\x18\x25\x82\xba\x5d\x9c\x1a\x19\xfc\x2f\x9c\xfa\xb4\x90\x85\x09\x0a\x83\xf4\x97\x17\xc0\x6b\xd9\x7b\x18\x04\x25\xe2\x1e\x1d\xca\x6a\xe9\xda\xc6\x03\xc3\x8a\x05\xf6\x20\xad\xdd\x07\x79\xd2\x9f\x02\x94\xd6\x79\xac\x66\x8d\x8b\xdb\x28\x2b\x7e\xa0\xe0\x65\x78\x90\x07\x3f\xf0\xf4\xfc\x1c\xca\x59\x92\x8d\xb4\x5c\x8e\xc0\x4e\x93\x6a\x26\x60\x21\xb1\x77\x9f\x54\xca\x8f\x07\x65\x17\xe5\x49\xfc\xf7\x8a\xac\xc8\xfb\xf4\xc6\xd3\x79\x11\x4f\xce\xc2\x6f\x50\x35\x55\xb9\x0b\xff\x48\x6f\x3a\x0f\xe0\x7d\x7a\xa3\x77\x00\xde\xa7\x37\x9c\xfd\x4f\xfe\x58\xc6\x19\xc9\x4f\xcd\x76\xfc\xb6\x2f\x3b\x9e\xef\x61\x30\xf3\x9d\x63\x64\xb4\x86\x8c\x82\xc1\x8d\x75\x0b\x52\x4f\x76\xc2\xf2\x3e\xbd\x81\x1f\xab\x94\x9a\x63\xb6\xba\x4b\x05\x84\x1d\xa2\x8c\x5b\xbd\xf3\x60\x3c\xab\x27\x6f\x08\x9b\x99\xe7\xe6\xd7\x54\x06\x52\x87\x9f\x53\xb4\x6b\x82\xcd\x01\x45\x39\xd8\x46\x8b\xb7\x1f\x41\xc3\x99\x84\xd3\xc8\xd5\x92\x7b\x34\xd5\xde\xa7\x37\xfa\xc8\xb3\x4e\x8b\x58\x59\x7c\x45\xf8\xd5\x1c\x2b\xb3\x4c\xde\xff\xd6\x2a\x2b\xc7\xd5\x6c\x94\xa9\x59\xdc\x47\xb9\x9c\x01\x22\x78\xaf\x1d\xce\x4e\x5f\xc2\x84\xec\xb5\xc3\x27\xe1\xed\x12\xa8\xc7\x5b\x17\x7e\xe2\x93\x02\x3d\x27\xfb\x02\x94\x0b\xf8\x8f\xf4\xe6\xd4\xfc\x7a\xa3\xb7\x6c\x40\x41\xba\x01\x8c\x03\x60\x4c\xcf\x2c\x9a\x8b\x79\xf0\x8c\xb2\xfe\xde\x97\x43\xed\x9e\xf7\xa7\x51\xf2\xb0\xdb\x70\x90\x90\x15\x94\xbc\x36\xcb\xaf\x46\xd4\x3d\xcf\x4f\x03\x69\x4b\x3d\x4c\x38\x47\x3b\x96\x3c\xe3\x41\xf3\xfb\xca\x55\x64\xe1\xcf\x51\x13\xe8\xd9\x9c\xf0\xa8\xda\xa2\x57\xd2\xd1\x6d\x9a\xf1\xe9\x73\xaf\xd3\x74\x41\xa2\x44\xea\x98\x7d\xbf\xe5\x65\xf1\x15\x3a\x14\xee\x60\x85\xe3\x64\x0e\x54\x1b\x45\xb3\x38\x48\xb1\xa0\x35\xf4\x01\x4a\xbb\x06\xcb\x5d\xa8\x52\x07\x5a\x07\xea\x4d\xa9\x22\x3e\x4e\x1e\xd4\x33\x2a\xc8\x89\x03\xcf\xce\xf3\x49\x03\x90\x3c\xe4\x84\x01\xb4\x7a\x77\xee\x50\x3d\x1e\x94\xa7\x55\x0d\x96\xc1\xff\xd1\x80\x1f\x76\x81\xd7\x8e\xba\x8f\x05\xde\xb1\xcb\x15\x8a\xa6\x2e\x2b\x97\xc2\xda\x52\xff\x5e\x9f\x60\xa4\xed\x39\xc7\x5f\xdb\x73\x5a\x0c\x1f\x5e\xc2\xc7\x68\x11\xcf\xa3\xc2\x63\x18\x52\x42\xd1\x62\x7f\xd3\xb4\x0e\x14\x8c\x9c\xc7\x79\x74\xb3\x20\x47\x79\x1e\xdf\x25\xee\xdb\x9f\x63\x5c\x52\xd2\xdf\x60\x1b\xa0\xc8\xcb\xb8\x72\x42\xc4\x83\x6f\x82\x76\xd4\xfe\x53\x62\x94\xf4\x06\x7b\x42\x2b\xa3\x87\x8d\x56\x3b\xbd\x43\x6c\xb5\x12\x86\x7e\x37\x5b\x38\x83\x67\x10\xae\x64\x87\xd3\x72\x9f\xd6\x8e\xdd\xf0\xa1\x4a\x83\x2a\x85\x89\x56\x6a\x99\x7a\x0b\x58\x6a\xb9\x84\x88\x59\x9a\x86\x96\xd1\x9b\xa0\x96\x89\x69\x54\x15\x92\x3c\x9d\x8d\xe2\x27\x98\x29\x23\xe9\x6a\xa5\x00\x53\x2c\xbf\x96\x6d\xa0\xf6\xc5\x56\x39\x6c\xa3\xaf\x35\x9b\x38\x4d\xc6\x59\x96\xf6\x49\x97\x1f\xd9\xdf\x57\x0b\x4b\xb2\x31\x2d\xa2\x62\x95\x73\xd6\x4d\x54\x0d\x5c\x39\x84\x50\xd6\x3b\x41\x4c\x9b\xd0\x91\x55\x09\x33\xbb\xbd\x0a\x1f\x5f\xb5\x24\x17\xde\xcb\xaf\x0d\x8b\xda\xc7\xaf\x84\x53\x24\x49\xb6\xaa\x23\xe4\x43\x76\x3a\x65\x36\x70\x78\x95\x54\x65\x41\xd2\xc6\xce\x51\xa7\x9b\xbe\x2d\x9d\x41\x82\xc1\x32\x8e\x01\x6d\x1d\x7c\xf6\x62\xad\x03\xbc\x15\x22\x49\x59\x94\xad\x2f\x92\xec\xc5\x4e\x3d\x8c\x76\x10\x35\xd2\x3c\x7b\x43\x75\x1c\xfd\xb0\xb6\xb2\xa2\xb6\xc8\x2d\x9b\x2d\x52\x16\x9a\xe6\x44\xb0\xdc\x1b\x6d\x2c\x20\x25\x00\xfd\x60\xd9\x9b\x84\xdd\xf4\xd7\x66\xbc\xc1\x50\x90\xc9\xe1\x2b\xb3\x50\x2f\x41\x65\x0c\x9a\xb1\x68\x0d\x43\x5e\xc5\x2d\x8d\x44\x59\x96\xa1\x99\x39\x22\xe1\xd0\xa8\x06\xfd\x14\x43\x4d\x86\x1d\xec\x64\x90\xc9\x61\x39\x23\x0c\xa9\x86\xa5\xe7\x25\x56\x99\xde\x1c\x6d\x6d\x8d\x5e\xfd\xa6\x6f\x96\x26\x24\xbd\xad\x76\xd3\xb2\xcd\xa7\xbd\xcd\xd1\xde\xd6\x68\x6f\x7b\xb4\xb7\x33\xda\xdb\x1d\xed\xed\x8d\xf6\xf6\x47\x7b\x2f\x46\x7b\x2f\x47\x7b\xaf\x46\xfb\x9b\xa3\xfd\xad\xd1\xfe\xf6\x68\x7f\x67\xb4\xbf\x3b\xda\xdf\x1b\xed\xef\x8f\xf6\x5f\x8c\xf6\x5f\x8e\xf6\x5f\x8d\x5e\x6c\x8e\x5e\x6c\xfd\x66\xe0\x77\xb1\x24\x59\xa5\x11\xc7\x51\x4e\x0e\xbf\x5d\x5c\x96\x56\xef\xe9\xc5\xf9\xe7\xf3\x8b\xab\xcf\xd3\xf1\xd5\xc1\xe6\xe8\xfc\xe2\xe2\xf2\x60\x6f\x73\xf4\xfa\xfa\xf4\xec\xe4\x60\x6f\x6b\x74\x79\x3d\x7d\x77\xb0\xb7\x3d\x3a\x19\x5f\x9e\x5d\xfc\x7a\xb0\xb7\x33\x3a\x19\x4f\xaf\x26\xe5\x3f\x77\x47\x93\xf1\xd9\xf8\x68\x3a\x3e\xd8\xdb\x1b\x7d\x3c\x3a\x3b\x3d\x39\xba\x1a\x1f\xec\xed\x8f\x8e\xae\xaf\xde\x1d\xec\xbd\x18\x9d\x5c\x1c\x4f\x0f\xf6\x5e\x8e\x8e\x2f\xce\xdf\x9c\xbe\xfd\x3c\xfd\xf5\xfc\xf8\x60\xef\xd5\x68\xfc\xff\xc6\xc7\x07\xfb\x9b\xa3\xeb\xcb\x83\xfd\xad\xd1\xd9\xc5\xdb\xe9\xc1\xfe\xf6\xe8\xbf\xaf\xc7\xd7\xe3\xcf\x97\x93\x8b\xd2\xfe\x3e\xd8\xdf\x19\x5d\x5e\x9c\x9d\x1d\xec\xef\x8e\xa6\x57\x47\x57\xd7\xd3\xcf\x93\xf1\xe5\xc5\xe4\xea\x60\x7f\xaf\xfc\xc5\xe4\xea\xf3\xd5\xd1\xf4\xe7\x83\xfd\xfd\xd1\xf4\xea\xe2\xb2\xf9\xe1\xc5\xe8\xf4\xfc\xf4\xea\x60\xff\xe5\xe8\x97\xa3\xab\xe3\x77\xcd\x6f\x5f\x8d\x2e\x4f\x2f\xc7\x67\xa7\xe7\xe3\xcf\xd3\xab\xf1\xe5\xc1\x8b\xcd\xb6\x0b\x1d\xb7\x17\x5b\x86\x01\x66\x74\x9b\x85\x51\xa7\xde\xb3\xf4\x61\xb9\x2a\xc8\x45\x39\xce\xe5\xc7\x66\xa7\x97\xd1\x89\x4f\x9b\x98\x82\xa2\xac\xdc\x4e\x7e\x09\x17\x9e\x34\xf9\x21\xf4\xe7\x2a\xbf\x83\x77\x3a\x94\xe7\x7f\x79\x9c\xdc\x2d\x48\xf1\xff\xb1\xf7\xae\x4d\x71\x24\xb9\xc2\xf0\xf7\xf9\x15\xcf\xf8\xc3\x06\xc4\x53\xe1\xa0\xb9\x19\xb3\xaf\xcf\x06\x06\xc6\x83\x17\x1b\x0e\xe0\x99\x78\xc3\xe1\x70\x14\xdd\x85\xe9\x75\xd3\xd5\xdb\xd5\xcc\xac\x63\x76\xff\xfb\x13\x75\xcf\xbb\xa4\x4c\x65\x35\x3e\x67\x3e\xcd\xd0\xae\x92\x54\x29\xa5\xa4\xd4\x2d\xf3\x39\x22\x63\x78\x50\xbd\x31\xc9\x16\xd9\x7c\x52\x5c\xcc\xab\x09\xe6\xa5\x76\x7b\x55\xfa\x10\xc6\xa1\xbd\xcd\xfe\x4e\x46\x5b\x9b\x9b\x7f\xab\xb5\xed\x61\xde\x43\x38\x9a\xcd\xf2\xdf\x7f\x4a\xa7\xb3\xc7\x65\x46\x81\x36\x12\xa1\xa5\x8b\xc5\x6c\x3a\xae\x24\xa5\x9f\x5b\xd2\xff\x86\x18\x5c\xd2\x3f\xac\x9c\xa3\x7e\xcf\x97\x5f\x8b\x45\x3a\xce\x3a\xc0\xbf\xb6\xbf\xc0\x60\xbb\x47\x15\xa0\xab\x74\x59\x7e\xd3\xe3\x7c\x2e\x74\xd4\xdd\x08\x3f\xc2\xa0\xeb\xe7\x14\xb8\xf9\x7c\x92\x3d\xa4\xf3\x89\x02\xf9\x42\xfa\x19\x86\x7d\x31\x3f\x11\x9e\x3f\xce\xe7\x77\xd3\x2f\x4e\x4c\x37\x69\xf1\xd5\x82\xad\xfc\x27\x38\x32\x5f\x3e\x75\xf1\x5b\xb6\x5c\x4e\x27\xea\x5a\xcd\xd2\xdb\x6c\x56\xbc\x4b\x17\x1d\x82\xf3\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\xe3\x8d\x31\x3f\xfc\xf8\x29\x99\xa4\xab\xf4\x3a\x7f\x5c\x0a\x8c\x3b\xe9\x7e\x82\x09\xea\x9f\x55\xb3\x06\xdd\x3f\xb4\xf4\x4a\xb4\x9d\x18\xff\xd9\x45\x68\x8b\xf6\xe7\xf1\xac\x17\xb1\xfe\x37\x37\xa9\x3f\x8f\x67\x0a\x7d\xbf\xa5\xcb\x69\x69\x84\xe1\xcb\x05\x7e\x11\x9f\x74\x5d\x2d\xd0\x3e\x28\x5e\x2a\x90\xcc\xf3\xbc\xff\xea\xf7\x79\xbe\x80\xd7\xb4\x7c\x4a\xa1\xf6\xf6\x71\x3a\xeb\x47\x0d\xbd\x2e\xff\x82\xe1\x54\x8f\x5d\xa8\xa0\x16\x8f\xc5\x7d\x07\xe9\xf2\xb1\xb8\x87\x01\x95\x4f\x69\x70\x26\xd9\x62\x96\x7f\xeb\x19\x5a\xfd\x89\x10\x98\xea\x39\x03\xb4\x62\xb5\x94\xc0\x55\x7f\x63\xe0\x55\x0f\x6a\x00\x97\xd9\x2c\x4b\x8b\x5e\xa8\xaf\xea\xbf\x61\x80\xcd\x83\x1a\xc0\x26\xd6\x94\xa9\x41\x26\x04\xc8\xf6\x49\x0d\x66\xfa\xb8\xba\x97\x06\x48\xc1\xb0\xca\xa7\xf4\xd5\xcb\xc7\x45\xbf\x74\xf9\xb8\x40\xac\x5b\x3e\x2e\x34\x38\xe3\x4a\x85\x5d\x7f\x9b\x8f\x3b\x68\xc7\xdd\x4f\x30\xcc\xfe\x59\x0d\x72\xf6\xaf\xac\x87\x79\xfa\xaf\x0c\x01\xad\x7c\x4a\x83\xf3\xd8\x6f\xa6\x0f\x88\xad\xf4\x61\xa1\x41\x98\xe5\x5f\xfa\xb5\x3a\xcf\xbf\x20\xd6\xaa\x7c\x4a\x83\xf3\xcf\xc7\xec\x31\xbb\x5c\xe6\xe5\x2f\x1d\xbc\xff\x16\x7e\x84\xe1\x8a\x4f\xeb\xfb\x34\x9f\xf5\x8a\xee\x32\x9f\x01\x1a\xae\xda\xa7\xf9\x6c\xa6\xc1\x29\xaa\xb3\xeb\x55\xb6\xc8\x97\x3d\x9d\xd7\xc2\x8f\x30\x5c\xf1\x69\x13\xfc\xe5\x4a\x32\x6c\xd7\xed\x2f\x28\xc8\xf5\xa3\xe7\xe9\xe3\x7c\xac\x0b\x76\xb1\xca\x17\x0a\xec\xfa\x07\x0c\xe8\xfa\x49\x0b\xe4\xe9\x7c\xda\x2f\xc7\xd9\x7c\x8a\x58\x86\xf2\x29\x0d\xce\xef\xe9\x6a\x7c\x2f\x91\xf8\x6b\xfb\x0b\x0c\xb1\x7b\x54\xe7\xfe\x74\x91\xcd\xa6\xf3\xec\x7a\x95\xf5\x12\x7f\x29\xfc\x88\x90\x06\xe1\x69\x9b\xbe\x55\xe5\xf7\x44\xfa\x19\xad\x7d\x6d\x32\x8c\x1b\x4e\x37\xda\xda\x4a\xb6\xda\x48\x7c\xa6\x3a\x65\x47\xd2\xcf\x58\x87\xef\x4c\x9d\xac\x57\x6d\xd7\x9b\xe9\x43\x26\xef\xd5\xf2\x97\x0a\x66\xf1\xbc\xfc\xdf\x62\x95\x3e\x68\x4a\xba\x22\x40\x7a\xf5\xa8\xfb\x09\x7a\x77\xfc\x55\x7e\xb1\xfe\x1b\x78\x6b\xdc\x74\xe8\x49\xaf\x1e\x0b\x3f\x02\xef\xf7\xbe\xd7\x55\x76\x67\x70\xb9\xae\xb2\x3b\x92\x67\x57\x2e\xab\xd9\x7b\xfa\x69\x3a\x4f\x67\xbf\xa4\xb3\x47\xd9\xbb\xfb\xc5\xf8\xcf\x9a\x77\x07\x7b\x52\x3d\x80\xee\xbd\xca\x19\xac\x0d\x95\x62\xa4\xb0\x06\x4a\x35\x4d\x52\xea\x08\x4c\x18\x2d\xab\xe0\xb4\xe0\x57\x94\x7f\x62\xdc\x8a\xf2\x39\x95\xd1\x55\xd9\x93\xcc\xe6\xee\x27\x80\xc9\x75\x8f\xa0\xf4\xee\x69\xf7\x13\xf0\xee\x4a\xd4\x57\xb0\xaa\x2a\xf9\x5f\x3e\x65\xd1\x51\x9a\x7e\x82\xa1\x89\xba\xc9\x71\xcf\xb7\x67\x62\xcd\x58\x72\xc2\x95\x48\x7b\x9b\xdf\x82\x99\x0f\xa0\xe6\x05\x4a\x94\x01\xaf\x0f\x5d\xfe\xaa\xd5\xbe\x1e\xd8\x26\x2a\xf6\x01\x12\xe5\x8d\xd1\x96\xe9\x95\x74\x32\x39\x69\xe3\x1b\xea\x0b\x23\xe8\x05\x31\x20\x42\x1d\x6e\xa2\x84\x32\xf0\x73\x4e\xd4\x18\x08\x62\x90\xa5\x10\x5e\xd1\x73\x7e\x20\x95\x5d\x64\x84\x46\x63\x1f\x50\x81\x29\xec\xe3\x34\xfa\x98\x15\x90\xbe\xda\xda\xd2\x88\x6b\x42\x32\x30\x65\x52\xa4\x47\x95\x0f\x14\x93\x4d\x11\x1a\x1a\xb1\xc6\x18\x0f\x4c\xba\x12\x4a\x52\x89\xdf\x83\x88\x57\x83\x3d\x78\xa2\xb5\x30\x11\x95\xd8\xca\x1e\xe8\xa3\x4e\x33\x25\xa4\xa4\x51\xb4\xa1\x5c\xac\xf5\xfc\x5d\xba\xd0\x91\x97\xff\x98\xc8\x4a\x57\x88\x09\xf7\xfb\x1d\xf5\xcc\xfc\x71\x36\x4b\x9e\x3d\xab\xca\xaa\x37\x25\x8a\xf7\x31\x0b\xdc\xbb\x38\xb4\xe5\x15\x5c\x23\x78\x71\x85\x68\x9a\xbc\xa8\x2f\xda\x45\xb5\xc5\xc2\x9e\xf6\x0a\xc3\x1b\xf0\xe7\xf1\x0c\xbf\xae\x3f\x8f\x67\x18\x5d\x25\x04\xfc\xe4\xd5\x7c\x09\x51\xd3\xfa\x94\x78\x92\x3a\x2f\x14\xbe\xdd\xb1\x8b\x11\xaa\x1b\x67\x0b\x23\x87\xef\xf3\x7c\x41\x93\xc0\x2a\x44\x08\x2f\x57\x15\x6f\x54\x28\x1a\x61\x28\x6a\x42\x87\x34\xa2\xda\x78\x23\x4c\x57\x1d\xc0\x54\x08\x03\xe5\xa9\x0f\x45\xd2\xe8\x6a\xc2\x97\x30\x59\x55\x34\x54\xa1\x0a\xb4\xd2\x62\x50\x93\xa8\x46\xda\x50\x28\x42\x89\xd4\xd1\x55\x85\x36\xd0\x42\x4b\x01\x52\x2a\x71\x6d\x5c\x15\x43\x5d\x1d\xac\x55\xc8\x43\x19\xb9\x2e\xdc\x4a\x23\xaf\x8f\xd2\xc2\xe4\xb5\xa1\x5f\x85\x3c\x94\x89\xe8\x43\xb7\x34\xfa\x84\x90\x2f\xba\x36\x4c\xa3\xf0\x05\x86\xc2\x3a\x20\x4c\xa3\xae\x09\x22\xe3\xc6\xb0\xab\x54\x1d\xa0\xa4\xae\x0a\x2f\x13\x45\xae\x0e\x49\x23\xe4\x2d\x1f\x6b\x8a\x16\xd4\xff\x6a\x80\x9a\x46\x9b\x14\xda\x86\x29\x14\xa2\xe6\x32\x9d\xfb\x28\x83\x50\x87\xbe\x69\x14\x36\xe1\x72\x98\xb6\x2a\xfa\xae\x50\x85\x32\x0a\x1f\x16\x54\x9a\xaa\xf0\x3b\x62\x2c\xa4\x6a\xa4\xf6\x51\xb6\xa0\x0e\xcb\xd3\x28\x6a\x42\xf9\x30\x4d\x55\x66\x40\xa1\x0a\x65\x0b\xe4\xa0\x3e\x8d\x3a\x25\x21\x00\x53\x29\xe5\x1b\x14\x6a\x51\xd6\xa1\x4e\x19\x10\xed\x69\x9d\x66\x40\xd8\xd3\x7c\xa6\xba\x69\xfb\x28\xa3\x20\x27\x1c\x68\xd4\x29\xc9\x0a\x98\x4a\x29\x17\xa2\x50\x8b\xb2\x11\x5a\x12\x83\x4c\xb0\x92\x03\x41\xd1\xdc\xa4\x58\x14\x82\x51\x26\x43\x4d\x8d\x50\xe9\x55\x12\x2b\x18\x72\x9b\xac\x8d\x42\x2d\xca\x94\xd4\x69\x17\x1a\x8d\x4d\xaa\x06\xa6\xac\xca\xfc\x28\x54\xa1\x4c\x89\x90\xba\xa1\x91\x26\xe6\x7c\x30\x07\x9e\x36\x99\xa4\x1c\x1e\x51\x76\x44\x4e\x01\x11\x77\xb9\x9c\x3e\x42\xec\x76\x31\x3b\xa5\x50\x8b\xb2\x2f\x6a\x32\xc9\xcb\x61\xa5\x68\x4f\x25\xdb\xa5\x86\x2c\xfb\x98\xe5\xe9\xfc\xf1\xc1\x75\x6d\xcc\x68\x0b\xfc\x40\x31\x35\xe5\x13\x2e\x3b\x43\xdd\x9a\x23\xe7\xca\x54\x22\x5b\xab\x2a\x24\x06\x34\x52\xc4\xa4\x01\xd2\xfe\x54\x09\x07\x15\xd7\x0e\x3b\x2e\x21\xe9\xa6\x22\xdb\xe5\x47\xd6\x24\xea\x54\x4c\x7b\xec\x98\xa4\xbc\x9e\x1a\x27\x44\xed\x72\x39\x53\xe7\x1d\xca\x2a\x65\x8d\x12\xce\xba\xca\xee\x34\x7a\x77\x0e\xbb\x0e\x09\x73\x06\x70\xad\x31\xad\x06\x2b\x2d\xef\xe8\x58\x92\xe4\xd9\xb3\x04\x15\x73\x12\xe0\x69\x61\xb4\x11\x4a\x37\x52\x43\xd7\x42\xb6\x13\x7b\x5a\xd1\x64\x7d\x9f\xb1\xfd\xc9\xd4\xf4\x34\xda\x42\x79\x2b\x75\xe6\x94\x1a\x1e\xa8\xb2\xad\x98\xd8\x40\x95\xbe\x55\x09\x3b\xe0\xdf\xe6\x7d\x5e\x57\x45\xf6\x92\x1d\x99\x90\x08\x56\x77\x28\x2a\xab\x53\x3a\x1c\x34\x23\x55\xa5\x87\x31\x19\x1d\xcd\x93\x19\x8d\x40\x29\x50\x33\xc6\x34\xd2\xa4\x5c\x33\xde\x8d\x61\x68\xb9\x93\xeb\xdd\x63\xb4\xd8\x39\x9a\xec\x3d\x5b\xea\x1c\x10\x31\x2d\x74\x84\xd9\x3c\x62\xb6\xd8\xf1\xce\x81\xf8\xce\x89\x58\x50\x6f\x7c\xab\x2d\x80\x6f\x31\x6e\x19\x5f\x57\xab\xe9\x51\xa0\x0c\x8d\x80\x6a\xf1\x3c\xe5\x0a\x03\x35\x97\x6c\x6d\x12\x94\x51\xca\x65\xf5\x0a\xc2\x1d\x08\x61\x9f\x18\x46\xa2\xd3\xaa\xed\x15\x8c\xbb\x10\xc6\x26\xdb\x8b\x44\x67\x28\xc1\x57\x87\x4e\x8c\xc0\x55\x35\xe6\x6c\xbd\x08\xe8\x6a\x63\x34\x22\xf6\xa0\xd9\x17\x52\x0e\x16\x6c\x00\xed\x13\xab\x3f\x6e\x95\xf8\xf2\xea\xc7\x4a\x22\x37\x36\x4b\x99\xcc\x55\x18\x1b\x7b\x82\x4b\x54\x83\x13\x94\x8d\xb0\x83\x50\x0f\xa9\xcb\xa0\xf4\x00\x28\x9f\xbf\x0f\x7d\xbc\xe0\x56\xc2\x33\x40\xcc\xe9\x4f\xf4\x3a\xbc\x88\xb9\x0e\x6a\x87\x81\x2a\x07\x4e\x59\xfc\x79\x3c\x83\x3f\x5f\x69\x2f\x70\xe8\xa1\x16\xe9\x4b\x17\xce\xce\xe5\x44\xca\x7b\xd7\x92\xa0\x7c\xd9\xde\x16\xc4\xe3\x2a\x07\x89\xc4\xd2\x77\x2c\xa8\x68\xc0\x19\x32\x6d\x56\x11\x89\xa9\xeb\x68\x50\x11\x39\x39\x25\xa4\x09\x91\x78\x84\x7e\x07\x15\x93\x53\x09\x4b\x89\x3f\x34\xae\xbe\x19\x42\x45\xe6\xd4\xbf\x72\x22\x0f\x89\x4d\xec\x94\x50\xb1\x81\x5a\xaf\xcf\xcb\x21\xb1\x49\x5d\x14\x2a\x3a\x50\xcf\x08\x69\x36\x24\xbe\xae\xcb\x42\xc5\xf5\x02\xc2\xd5\x24\xcd\xb0\x3c\x6b\xbb\x30\x54\x3c\x07\x20\xc3\xea\x34\x18\x12\x8f\xd2\x9f\xa1\x62\x73\xea\x0a\x2d\xb1\x85\xc4\xd9\xf5\x6f\xa8\x66\x01\xd4\x19\x4d\x92\x0a\x89\xe7\x83\x51\x33\xed\x83\x2a\xa3\x4a\x3b\x21\x71\x74\x1d\x20\x2a\x16\x50\x5f\x34\xa9\x24\x24\x1e\xad\x33\x44\xc5\x07\x6a\x0d\x25\x39\x84\xd5\x87\x6d\xe7\x88\x8a\x0f\x54\x1c\x4d\x9a\x07\x89\x47\xeb\x28\x51\xf1\x81\xaa\x43\x49\xdc\xe0\xf1\x0a\xcd\x26\x2a\x52\x50\x81\xe8\xc9\x17\x34\x5e\xa1\x11\x45\x45\x0b\xea\x12\x2d\x87\x82\xc4\xda\x35\xaa\xa8\x18\x41\xad\xd2\x64\x44\xb0\x87\x0c\xa9\x87\x45\x45\x06\x2a\x15\x31\xc7\x81\x95\x53\xb5\xb7\x45\x41\xfa\x02\xd4\x2d\x4a\xc2\x82\x66\x5b\x1d\x3b\xf3\x05\xa8\x6f\xb4\xd4\x83\x15\xf7\xd6\x8f\xaf\x5e\xa9\x97\x81\x77\x08\xab\x2c\xc3\x68\x6b\xcb\x70\xcc\xd4\x7b\x60\x54\x47\x74\x0b\xbc\xdc\xbc\xcb\x23\x50\x34\x56\xd7\x4c\xa0\xe1\x2b\xf5\xa3\x18\x95\xc2\xda\x5f\xb9\x75\x46\x03\xbb\xe3\x09\x56\x68\xac\xd1\x60\xee\xfa\xc1\xd4\x3a\x6e\x34\xc0\x7b\x7e\x80\xf5\x4e\x1c\xed\x78\x09\x4a\xbb\x12\xb8\x47\x1f\x33\x94\x80\x3c\xfa\x94\x35\x1a\xed\xf0\x9c\xb3\xbc\x82\xf0\x24\x67\xc8\xbc\xa2\xe0\x2e\xa6\xc5\x09\xac\x83\x9f\x46\x5b\xfb\xa8\xd1\x4f\xaa\xd3\xdd\xb5\x11\x69\xf0\x40\x6b\xd2\x44\xbb\xb1\x8b\x24\x77\x18\x69\xe8\x0e\xfc\x84\x5a\x69\x3e\xd2\xc0\xbe\xf4\x03\x6b\x8f\xc0\x80\x91\xa7\x2a\x26\x4d\x34\x3f\x66\x54\x4e\x0e\x68\x31\x66\x1b\x4a\x20\xea\x5a\x5f\xd9\xfe\xc7\x87\xf7\x7f\x7f\x7f\xf1\xeb\xfb\xc3\xad\x7a\xfe\xcc\xc9\xe1\x28\xf9\xf5\xe8\xec\xe6\xec\xfd\x9b\xc3\xed\xe4\xea\xc3\xfb\xf7\xe5\xff\xed\x24\xa7\x57\x57\x17\x57\x87\xbb\xc9\xf5\x87\xe3\xe3\xd3\xeb\xeb\xc3\xbd\xb0\xb1\x2c\x52\xb4\xaa\xdf\xb1\xde\x33\x5a\x6c\x83\x2a\x30\x03\x5b\x8c\xef\xda\xa6\xb7\xcc\x2a\x0f\xea\x6c\x7e\x97\x0b\x73\x2f\xda\x9f\xdc\x8d\x68\xbd\x03\x56\x3e\xab\xb6\xae\x7e\x9d\x2e\xba\xb1\x3a\x83\x4f\xbd\x86\x9b\x38\x18\xdb\xd9\x24\x4c\xa8\x94\x03\xb6\xbf\x04\xd3\xe8\x86\x85\xb5\xb6\x69\xd7\xb2\x98\xe0\x07\x5f\x2b\xe2\x85\x28\x39\xec\xe5\x16\x33\x0a\xfb\x5a\x94\x50\xa6\x6c\x95\x45\x0d\xc4\x4a\x5d\x61\x62\xe4\x01\x79\x2c\x0c\x78\xfc\x10\x6c\x45\xad\x50\x66\x61\x2b\xa2\x00\x3a\x6b\x32\x6b\x89\x63\xb1\x1d\x7c\x94\xbe\x82\x71\x36\xb6\xfc\x7d\xee\xd1\xce\x4e\x31\x33\x92\xc7\x35\x2b\xdb\x81\xb9\x1a\x8e\xe8\x5c\x9a\x76\x2e\xa2\x20\x05\xf0\x48\x44\x07\xc6\xfb\xb4\x70\xe2\x0b\x18\x9e\xed\x16\x00\x49\xb6\xa2\x8e\xce\x76\x73\xda\x42\xc7\xa0\x83\xb3\x05\xe7\x99\xc1\xe7\xd1\x5b\xfc\x31\xde\x8e\xf2\x96\xd1\xcf\x59\xbe\xfa\xc3\x7f\x02\x94\x71\xf2\x80\xe7\x14\x28\x23\xac\xa0\x49\x50\x46\x88\xa1\xc3\x9b\x8c\x40\x19\x06\x38\x19\xe1\x7a\x0e\x71\x32\x2f\xa5\xdf\x20\x27\xf3\x70\x09\xae\x61\x4e\x46\xe8\xe4\x41\x4c\x46\x28\xcc\x43\x94\xcc\xa2\xee\x37\x48\xc9\x08\x8b\x79\x98\x92\x0d\x07\xc3\x40\x25\x23\x68\xcf\xa1\x47\x46\x58\x3c\x83\x8f\xcc\x1c\xe3\x1d\x7e\xe4\xc4\x71\xac\xef\x92\x4b\xed\x9f\xf0\xf8\x80\x5d\xb3\xa8\xe5\xf4\x44\x99\x76\x77\x29\xfd\x8c\xc0\x26\x3d\x6f\xc2\x24\x1d\x42\x97\xd6\x43\xe8\x12\x3a\x84\xda\x0a\x29\x39\x8f\x9f\x35\x0e\xd4\x81\x01\xae\xeb\xc4\x1c\x39\x61\x28\xeb\xbc\x5a\x49\xb4\xda\xb4\x6b\x96\x44\x73\xef\xd7\x84\x8d\xee\xc1\xf6\x29\xca\x15\x1c\x08\xaf\x5e\x6c\x42\x2b\xb6\x0f\x79\x92\x3f\xe2\xd9\x92\x8d\xea\xb9\x93\x9c\x14\xaf\xb6\x67\x42\x79\xb3\xb1\xf5\x99\xd2\xf9\xec\x43\xa6\xe2\x2f\x79\x77\x40\xa3\xda\xef\x7a\x67\x8a\xde\x04\x8d\x26\xd0\xd0\x08\x8d\x2a\x5e\xef\xbd\x33\x7a\x2f\x34\x5e\x14\xf5\x7e\x68\x54\x67\x9d\x6a\xac\x7c\x5b\xa2\xd1\x84\x5a\xdb\xa2\x51\x2d\x77\xad\x0f\x49\xed\x41\x46\x93\xa7\xf5\x21\xe3\xfa\x6f\x74\x0f\xd4\xbf\xeb\x17\x4d\xab\xa3\xf3\x17\xd7\x51\xd2\xfb\xb8\xf4\xee\x5f\xbc\x16\xd7\x3b\x80\xe1\xb9\x31\x66\x2f\xd9\xbf\x0b\x18\x4d\xad\xa3\x13\x78\x84\x32\x3e\x8a\xf7\xed\xd9\x07\x4c\xa1\xd7\xd8\x05\x0c\x37\x79\xc8\x9e\x3d\xbd\xb7\x16\x4d\xa2\xa1\xbf\x16\x37\xfc\x4a\x39\x21\x78\xf6\xd8\xa2\xe9\xb4\xf5\xd9\x8e\x50\x26\x48\x3f\x6d\xf8\xf7\xda\xe2\xf7\x96\xbd\xdf\x16\x6e\xa9\x71\x9d\x59\xfc\x68\xf7\x30\x07\x86\x83\x96\xf2\x1d\x28\x33\x66\x3a\x0d\x11\xbf\xc1\x74\x9e\x42\xd0\x2f\x1f\xdb\x78\x52\x30\x5a\x3c\x32\x56\xf2\xc5\x5d\x35\x10\x90\x76\x71\x03\xc6\x27\x5c\xac\x45\xe3\xb8\x9a\x71\x5a\x55\x84\xad\x6e\x1c\x55\x36\x4e\x43\x65\x2f\x1d\x47\x56\x8e\xd3\xd0\x39\xea\xb9\xc1\x1a\x50\xf9\xbc\xc1\x51\xd2\x8d\xad\xe8\xa6\xa1\xb4\x55\x75\x83\xf5\x9f\xc2\x21\x20\xb0\xb0\x1b\xac\xd2\x11\x5c\x7a\x96\xda\x6e\xb0\xe4\x53\xd3\xc8\x41\x65\xd7\x60\xd1\x67\xe7\x68\x33\x55\x44\xc3\x35\x70\x06\xc7\x39\xb0\x2a\x1a\xae\x12\x13\xdc\x5f\xa6\xca\x68\x77\x0f\x91\xc5\x99\xe5\xa8\x8e\x1e\x81\xea\x46\x75\x49\x03\xab\x94\xdd\x25\x5b\x8a\x6f\xc9\x51\xa9\x0c\x77\xe9\xa9\x9e\x22\x53\xb5\xf2\x08\x54\x3c\x06\x97\x8f\x88\xdb\xad\x1d\xdc\x35\x6b\x4e\xc7\x0d\x4b\x87\x1e\xb4\x56\x69\x00\x55\x94\xd1\xf1\xf2\xac\x9f\xd3\x1c\xa7\xd6\x85\xe0\xbd\x04\x5c\x74\x2e\xe0\x3c\xbc\xc1\x9b\x53\x89\xe2\x2c\x6f\xd0\xd0\x55\x85\x0d\xb6\x55\x68\x6b\x1a\x6a\x47\x0b\x57\xce\xa0\x61\xb8\x4f\x0b\x1b\xfc\xc0\x1a\x06\x13\x43\x4b\x6f\x8b\x99\x9f\x42\x38\xdb\x79\xc3\xa4\x8d\x9d\x32\x49\x5c\x97\x79\xda\xb9\x69\x59\x82\x96\x99\x95\x23\xeb\xcf\x4b\x0b\xf4\x80\x9b\x39\x6d\xac\xac\x7d\x59\x66\x66\x4a\xe1\xff\x1d\x1f\x76\xaa\x64\xa1\x19\x8a\xb8\x95\xd3\xcc\x50\xeb\x42\xb4\x2c\x6d\x0e\x0c\xfe\x4c\xb5\x62\x70\xb3\x95\xbe\x7e\xfd\x71\x83\x99\xaf\x72\xce\x64\xd7\x87\xb1\x1a\x61\x68\xce\xee\xfa\x72\xd6\xbe\x16\x2d\x6b\xdb\xc3\x99\x3f\x6f\xed\x38\xdc\xcc\xa5\xaf\xa1\x70\xb4\x63\xe6\xae\x92\x6b\xda\xf3\x61\xaf\x4e\x1a\x9a\xbf\x7b\xbe\xfc\x75\x2c\x87\x72\x8f\x72\x08\x87\x1d\x58\xdc\x2c\xa6\xaf\x63\x73\x94\x66\x66\xaf\x90\xa1\xdb\xf7\x61\xad\x4c\x12\x9a\xad\xfb\xbe\x6c\xb5\x2c\x41\xcb\xd2\x2a\xd8\xe0\xcf\x4e\x0b\x74\x37\x2b\xe9\xeb\xd6\x84\x2a\xb8\xed\x6b\x9f\xcf\x7c\xe1\x65\x5d\x25\x92\xd0\xac\x7c\xe1\x6d\x5b\xcd\x4b\xd0\x59\xd6\x7c\x5c\x84\xd8\x55\x33\x74\x37\x2b\xe9\xeb\x26\x85\x82\x98\x19\xaa\x05\xff\x0f\x7c\xd8\x6a\x22\x0f\xcd\xdc\x03\x5f\xe6\x3a\x17\xa5\x65\xb1\x70\x4c\xf6\x67\xb4\x13\x93\x9b\xdd\xf4\xf5\xac\x42\x70\xcc\x6c\xee\x72\xe7\x2f\x7d\xd8\x2b\x92\x83\x66\xeb\x4b\x5f\xb6\x1a\x3f\xbe\x65\xe7\x87\x45\x00\x1b\x8d\x90\xdd\xec\xa3\xaf\x97\x12\xda\x64\x66\xa4\xa1\xd8\x60\x44\x5f\x8b\xc2\x46\x23\x3e\x18\xb1\xe5\xcb\x5e\x60\x71\x5a\x46\x4b\xe1\x61\x7f\x96\x03\xd8\x80\x10\x05\x1d\x65\x13\x5c\xe6\x8e\x51\xf4\xc5\x1a\x23\xaf\x98\x93\x4c\x13\x9e\xcb\xde\x31\x27\xcb\x22\x74\x51\x8a\x7c\x36\x0b\x89\x52\x98\xa1\x03\xdc\xf4\x8a\x38\x89\xc1\x77\x66\xae\x1a\x8a\x5c\x46\x5e\x21\x28\x33\x8d\x78\x2e\x7b\xc7\xa2\x80\xc5\x69\xb9\x2d\xa5\x40\xfc\xb9\x0e\x60\x03\xb8\xef\x15\xa4\xea\x32\x20\xfc\xac\x97\x2a\x85\x46\x5e\xb1\x2a\x03\x75\x78\xa6\x7b\xc7\xab\x5c\x6b\x22\x70\xbc\x49\x3c\x05\xb1\xdb\x8a\x07\xe0\xb5\x57\xe4\xea\x6c\x3e\xe5\xde\xe1\x42\x8d\xd5\xc8\x2b\x68\x25\xd3\x84\x67\xae\x77\xc8\xca\xb2\x08\x2d\x5f\xab\xd4\x9e\x3f\x4b\x2d\xd0\x01\x6e\x7a\x85\xaa\xba\xcc\x1e\x33\x4b\xd5\xc2\xb4\x91\x57\xb4\xca\x40\x1d\x9e\xb9\xde\xf1\x2a\xd7\x9a\xb4\x1c\xee\x13\xaa\xfe\x6c\x76\xe1\x01\x78\xed\x15\xb3\x12\x93\xa9\xdc\x9e\x97\x5e\xda\x37\xf2\x0a\x62\x99\x69\xc4\x33\xdd\x3b\x9a\x05\x2c\x4e\xe7\x91\x89\x29\xed\x00\xcf\xcc\x8d\x0d\xe0\xbe\x57\x98\x4b\x4f\x64\x47\x92\x01\x2d\x56\x32\xf2\x8a\x81\xb9\xe8\xc5\xcb\x83\x77\x48\x0c\xb5\x5c\xaa\x54\xb0\x44\x51\x50\x98\x01\x09\xf1\x8a\x9e\xc9\x65\x06\xdc\xd2\x61\x2a\x3f\x1d\x79\x85\xd1\x6c\x74\xe2\xa5\xc2\x3b\x96\x06\x2e\x51\x27\x11\x72\xd9\x47\x80\x34\x40\x18\x01\x49\x38\x08\x6c\xfc\x6f\xe6\x7d\xf5\x34\x79\x37\xfe\x37\x90\x88\x8d\xff\xca\x5b\xc6\xba\xd8\x3f\x8a\x6a\xc4\xdb\xa1\xbe\x08\xf2\xe0\xa1\x51\xb2\x25\xb7\x7c\xe6\xd6\x96\xcf\x1c\x6a\xf9\xb4\x5d\x1b\xc2\xd9\xf2\x59\xe3\x40\x95\x29\xc3\xb7\x98\x60\x5a\x3e\x61\x28\x3e\x2d\x9f\xd3\xbb\x8d\xd1\xab\x57\xaf\x4c\x2d\x9f\xe2\x75\xfa\xf5\xf5\x51\xf5\x65\xfa\xdd\x55\xd0\xff\xc9\x66\x45\xf6\x7f\xa4\x12\xf1\x1f\x90\x25\xe2\x9a\xe4\xc6\x2a\x11\x77\x8f\xc4\x0b\x28\x11\x77\x03\x36\x6d\x85\x1f\xa4\xd1\x99\xda\x64\xfa\x7a\x76\x26\x3c\x18\xa7\x41\x5c\x03\x10\x87\xad\xfd\x74\x76\x7e\x7a\x38\x4a\xae\x4f\xaf\x7e\x39\xbd\x3a\xdc\x4e\xde\x5e\xbc\x3e\xdc\xa1\xf2\xa1\x23\x0d\x32\x31\xe6\x81\x2a\xd5\x2e\x26\xb3\x5e\x43\xe9\x1c\xa1\x52\x2e\x14\xad\xa6\x4c\x98\x34\x99\xcf\xb3\xfc\xae\x92\xfe\xe2\xf3\xab\x8f\x1f\x47\xc9\x76\xb2\xf3\xe9\x13\xfa\xf5\xfa\x3f\xc7\x69\x91\xbd\xfa\xe3\xfa\xe2\xc3\xd5\xf1\xe9\xe7\xf7\x17\x37\x9f\xaf\x4f\x6f\x0e\xb7\x92\xf3\x8b\xe3\xa3\xf3\xc3\x51\xf2\xe6\xec\xe6\x70\x3b\xb9\x3a\x7d\x77\x71\x73\x0a\x72\x40\x00\x6e\xe0\xc2\x31\x54\x87\x32\xce\x1f\x16\x8f\xab\xec\xa2\xfc\xac\xf2\x61\x4c\x02\xd4\xbc\x1a\x1f\xb7\x3e\x05\x9a\x23\xe3\xa7\x78\x9b\x24\x01\x1a\xd1\x2c\x19\xde\xb4\xcd\xa4\x99\xe5\xe3\xb4\x1f\xad\x71\x5e\xfe\x05\xcf\x2e\xa8\x1e\x53\xc6\x22\x7c\x11\xc6\x52\xbc\xc1\x4c\xa5\x78\x33\xd5\x47\xc6\x3c\xe4\x2b\x71\x62\x4c\xf9\x27\x66\x60\x4c\xf9\x5c\x9c\xd9\x09\xc2\x4a\x46\x35\xa6\x3d\x1e\x94\x52\x77\x91\x45\x33\xaa\x38\x48\x6b\x9d\xa5\x50\x49\x1b\x6d\x8a\x42\x2d\xa0\x98\x1b\x82\x4b\x79\xf7\x98\x9f\xf0\x66\x4a\x6c\x4f\x2b\xa5\x1d\xa6\xe7\x8d\xd6\x69\x89\xea\x59\xad\x77\x00\x75\x0c\x41\xb5\x6b\x30\xf3\x07\xaa\x6d\xc8\xd3\x19\x67\xd4\x90\xb1\x5c\x1f\xf8\x06\x9b\x00\xf7\x07\x06\x4e\x18\x4b\xd8\xa9\x5d\x6a\x97\x5c\x2d\xe8\xc8\x6a\xff\x37\xe6\x96\x0e\xb0\x77\xa5\x94\x5d\x74\xa3\x5a\xa7\xb3\xa9\x7d\x71\x8d\x40\x7a\x76\x0e\x28\xb3\xb4\x75\x2f\x87\xe0\xe3\x54\x93\xd6\xb3\xbb\xda\xc9\xb9\x3a\xfd\x49\xf0\x70\x5a\x67\xb3\xf1\x71\x68\x44\x49\xee\x4d\x8b\x20\x9e\x6f\xa3\xae\x03\xab\x7f\x23\x7f\x0f\x87\x8f\x53\x42\xf4\xf7\x73\xc4\xb7\x6d\xbe\xce\xe3\xfc\xeb\x3c\xff\x7d\xde\x0f\x3d\xab\xff\xae\x3d\x8c\xe7\xa7\x0f\x8b\xd5\x37\x0e\xa7\x46\xf9\x90\x28\xce\x88\xf1\xa2\xd7\x38\x0e\x49\x89\x8b\xaa\x6e\x81\x7b\x68\x89\x8e\x09\x00\x2d\xba\x73\x52\x8b\x86\xee\x81\x34\x22\x83\x18\x4a\xd2\x08\x9a\x9f\xa3\x41\xbf\x11\xb8\x95\x42\xa2\xc3\xc1\x65\xd9\x65\xdd\x30\x80\x75\x77\xdc\x9e\xc0\x63\xe1\x1d\x08\xf0\x56\x5e\x54\x37\x26\x3b\xdf\x88\xd3\x00\xc6\xdc\x75\xdb\x44\x80\x49\x6b\x3e\xd0\x23\x36\x5f\x7f\x3a\xdc\x4e\xe6\x10\x32\x1d\xbb\x25\x86\x52\x59\x53\x53\x67\x5e\x80\x5d\x25\x45\x60\x64\xca\xeb\x72\x49\xeb\xca\x75\x35\x93\x8d\xf0\xe0\x62\xf5\x56\x6c\xf7\x69\x61\xc7\x15\xd8\xeb\xe7\x12\x8d\x37\xec\x65\x19\xad\x62\x04\x4b\x82\x5c\x32\xf3\x06\x51\x99\x61\x91\x97\xed\x75\xca\x8b\x79\x39\x5b\x59\x79\x83\xae\xef\x70\xc9\x89\x19\x47\x60\x13\xa1\x2d\xd8\x57\x9d\x63\x98\x25\xa4\x82\x49\x12\x5b\x49\x36\x14\x92\x62\x69\x93\x10\xc9\x50\xa4\xc2\xb6\x88\xdd\xdc\xf3\xea\x98\x49\x96\x0c\x49\x2a\x6c\x38\xf8\x74\x47\x7c\xbd\xe1\x29\xa6\x43\xe9\x0b\x46\x89\x88\xa0\x27\xd6\xa7\x23\xea\x00\x01\x7b\x53\x6a\x15\x3a\x03\x8b\x0d\x6d\x12\xa1\x12\x45\x13\x8a\x9d\x75\x08\x85\x75\x1d\xfb\x86\xd6\x2a\x88\x13\x26\x1a\x56\x2c\x70\xbf\x72\x48\x88\xa2\x0e\x88\x31\x44\x26\xb4\x1c\x07\x26\x20\x21\xbf\x64\x2e\x07\xc0\xe7\xf8\x7f\xf0\x89\x71\x73\x06\x01\xea\xc8\x3b\x7e\xb5\x02\x8f\xfc\x20\x10\x9f\x93\xbe\x7e\xc4\x4f\xbc\x12\xf6\xaa\x60\xc5\x3a\xd6\x3a\x23\xba\x01\xa7\x59\x27\x5c\x65\x61\x43\x6f\xe3\xa8\x02\xb9\x0c\x7b\x50\xcf\xec\xe1\x6e\xe3\x90\xde\x32\x46\x03\xa7\xaf\xfe\x98\x64\xc5\x78\x39\x5d\xac\xb4\xbb\xc1\x8c\xb5\x39\xcf\x9e\x55\xd1\xc0\x2b\x39\x45\xf9\x66\x8a\xce\x52\xea\xe9\xce\xfa\xce\x8d\x8b\xf9\xf1\x7d\x3a\xff\x92\x61\xef\x27\xdb\xe1\xbc\x9f\xcc\x96\x04\xe2\x1d\x0d\x5f\xe2\x40\x8e\x33\x84\x72\x52\xb8\xd1\xf0\x10\x94\x98\x11\xc3\x3a\x50\x57\x5f\xa3\xd9\x16\x0c\x9d\xf4\xa2\xf6\xb4\x92\x8d\x6a\x6e\xaf\x4b\x39\xea\x57\x95\x9d\x48\xd2\xca\x36\x28\x53\x51\x15\xf1\x06\x65\xba\x92\x4b\x41\x83\x32\x5d\x80\x1d\xc1\xc1\xbf\x0a\xb7\x17\x77\xc2\xb1\xb9\xf9\x7c\x56\x5d\xe1\xfa\x5f\x5b\x5d\x64\xaf\x11\xa5\x91\x7e\xa5\xb0\xac\x7d\x58\xb3\x7a\xf2\x9c\xcb\x8e\xeb\xea\x35\x66\x3b\x70\xb5\x96\xc6\x62\xf9\x93\x7d\xab\xac\x9e\x3d\x23\x23\x2e\x2c\x88\x9d\xb5\x56\xf5\xea\x53\x27\x78\xe9\x9f\xdc\xf1\x6a\x1d\xc7\x59\xd3\x52\x18\x08\xe2\x9d\x7b\xa5\xa0\x6c\xcf\xa3\xe0\xe9\xa3\x97\x6a\x6c\x5d\xb2\x82\xa9\x3e\x97\x7a\x9e\x3f\xe8\x6b\xa9\xed\x12\x88\xc3\xce\x0b\xd9\x76\x10\x17\xb2\x99\x25\xdb\x4c\x02\xf1\x2e\x36\x44\x43\x61\xa9\x37\x94\xf4\xfa\x6e\xb2\x07\xa5\xd7\xcb\xb7\x8e\x1e\x57\xf7\x75\x52\xfd\xe8\xc3\xcd\xcf\x42\x56\xfd\xf5\xd1\xf5\xd9\xf1\xe1\x6e\x72\x7d\xfd\xf3\xe1\x1e\x02\xbd\xb4\xf8\x1d\x54\xe6\x4c\xba\xfa\x9d\xe1\xe9\x73\x99\x74\x6f\xaf\x58\xf1\x24\x31\x2e\xb1\xf8\x8a\xcd\x1f\x7e\x5c\xce\x90\x7e\xf0\x32\xbb\x03\x9f\xdc\xae\x9e\x5c\xa4\xab\x7b\xf0\xd1\x9d\xea\xd1\xe9\x97\x79\xbe\xcc\x6a\xf1\x2d\x2e\x1e\x57\xc5\x74\x92\x5d\x6a\xaf\xdb\xfd\xe2\xd1\x56\xb9\x73\x92\x65\x36\x7e\x5c\x16\xd9\xf5\xe3\xed\x43\x3e\x79\x9c\x65\x05\xfc\x4d\xa3\x64\x6b\x33\xb9\x4d\x8b\x69\x7f\x7d\xd4\xeb\xf2\x2f\x9c\x4f\x5f\x3d\xaa\x5e\xff\x25\x5c\xcc\x77\x8d\xb9\x97\xaf\x04\x74\x7d\xfd\xb3\xa3\x6c\x20\xc0\xc9\x37\x7a\x83\x9c\x1e\xfe\x9b\x29\xee\xe6\x27\xc0\x2d\xc5\xf8\xf6\x00\x88\xa1\x1d\xfb\x0f\x4b\x53\xf5\xa0\xfc\x64\x5b\x45\x77\x67\x75\xb3\xe5\x27\x4b\xa1\x37\xdd\x61\xa2\xbb\xe4\x67\x96\x2d\x63\xba\x4b\xa4\x7e\xfb\xc3\x74\xbe\xda\xd9\xee\x69\x52\xf6\x8a\xcf\x4d\x48\xdd\x1e\xa0\x1f\x51\xea\xad\x83\xb8\xe5\xaa\xda\x8d\x1e\xf7\x1f\x35\xdb\x8a\x4e\x59\xb9\x17\x11\x77\x77\x88\xd7\x5b\x05\x9d\x83\x64\xcb\x10\xeb\x10\xe4\xf0\xf8\x03\x4e\x40\x0e\xa8\x98\xe3\x4f\xb9\x85\xa0\x63\x4f\x5f\x5d\x78\xe7\x7a\x76\x5b\x7c\xb6\xda\x08\x8e\x87\x77\xc4\x87\xad\x3b\x49\x3d\xf0\x8c\xb6\xca\xd7\xc4\x3e\x16\x7d\x13\x09\xef\x34\xfb\x6d\x64\x38\xbc\xf5\x26\x86\x3a\xd0\xbf\xdf\x3a\xd8\x09\xe2\xe6\x6b\x11\xc0\xc1\xda\xed\x4e\xb0\x97\x8a\x84\x7a\x43\xf5\x67\x30\xf9\x44\x9a\x25\xc6\x7a\x46\xf2\x8b\xe6\xa8\xfd\x63\x91\x2d\xe7\xe9\x03\xa6\x8d\xaf\x76\x7c\x8a\xe2\xf7\x7c\x39\xc1\xf9\x49\x5c\x6d\x7f\x0e\xa5\xca\x6c\xef\x6b\x34\x68\xad\x03\x6a\x7a\xac\xed\x07\x01\x0d\xee\x01\x34\x72\x81\x74\x03\x2e\x1b\xb9\x60\xb4\x1b\xea\x1e\x8a\x69\x3d\x9c\x6a\x27\xd0\x86\x38\x61\xa3\x2c\x49\xcb\x0a\xac\x39\xe9\x98\x01\xd8\x14\x0f\x26\x08\xe4\xc4\x8b\x70\x99\xb9\x6f\x40\xcc\x1e\xe1\xb2\x7c\x72\xbb\xa0\x7e\x9f\xbc\xed\xff\xc9\x3a\x62\xda\x27\x87\x5f\x41\xdf\xda\x4a\x26\x5b\xa6\x1c\x06\xb1\x96\x4c\x7c\xcd\x6c\xc7\x16\xcb\xe9\x6f\xe9\x2a\xfb\x7b\xf6\xed\x32\x7b\x38\x6c\x6e\x2e\x16\x7e\xfa\x9c\x16\xaf\xf7\x77\x37\xa8\x16\x2c\x29\xed\x23\xee\xa4\xcf\x69\xec\x8c\x7e\x3a\xb7\xa9\xbb\xbe\xfe\x19\xad\x20\x81\x83\x03\xd6\xcc\x01\x60\xe2\x1b\xb9\xd7\xdf\x56\xa5\x27\xfb\x43\xb3\x69\x04\x01\xf1\x36\x74\xce\x43\x6f\xa9\xb3\x18\x6d\xa2\xbc\x13\x63\x5a\x44\x87\x7f\x1c\x68\x0f\x1d\x90\x31\xd6\x50\xdd\xd5\x1f\x0e\x8c\x66\xae\x66\xb4\x97\x59\x4c\x44\xc3\x0b\x1d\xb5\xc8\x4c\x53\x3f\x21\xae\x19\x75\xe3\xae\x95\xa2\x93\x82\xdb\x72\x1d\x8f\x2a\xdd\x59\x25\x32\x54\x10\x1b\x9b\x2c\x64\x7c\x38\xc0\x50\xf1\xe1\x80\x8f\x08\x75\xff\x63\x53\x0b\x25\x25\x74\xa7\x42\x5f\x80\x41\x5c\x0a\xfd\x93\x59\x1c\x0a\xfa\xe7\x96\x5b\xc9\xef\x53\x77\x7c\x3f\x55\x46\x49\xfb\xcc\x1d\x16\xbf\x89\xa9\x97\xd0\xd0\x7b\x87\xf5\x9b\xc0\xee\xc1\xe9\xab\x3f\xc6\xf9\xc3\xc3\x74\x85\x3c\xff\xaf\xa6\x0f\x59\xb1\x4a\x1f\x16\x5d\x1e\xe0\xa6\xfd\xa5\x0a\xc5\x14\xcf\xbb\xbf\x95\xdc\x41\x8d\xa6\xc1\xe1\xe1\x51\x05\x26\x0a\xa2\x37\x16\x36\x48\xd0\x06\x96\xa1\x95\x10\x01\x66\xe8\xb0\xc1\x71\xc5\x65\x4b\x31\x90\x20\x1c\x5a\xe8\x5a\x14\x1c\x38\x42\xdd\x0b\x1d\xce\x0d\x3b\x16\x85\x8f\xd1\x1f\x1b\xa6\x23\x10\x68\x6d\x0b\xf4\xc7\xfc\x7a\x00\xff\xda\x5f\x04\x5a\x71\x9c\x56\xe1\x23\x2b\x0d\x43\x85\x8f\x28\x0e\x60\x31\x8f\xcc\xdd\x70\x87\x4d\xeb\xf2\xaa\x11\xc4\xf5\xd4\xb4\x1e\x2e\x15\x69\x94\x60\x87\xf6\xa9\xdd\xb2\xd3\xeb\x79\xc4\xed\x0d\x96\x9b\x18\x3f\xd9\x80\x9c\xb3\x76\x47\xc7\x59\x15\xef\xb8\x3e\xb9\x2d\xde\xe9\x05\x16\x57\xbc\xa3\xa3\xba\x4f\x0b\x17\xa2\xc0\xea\x1d\x87\xd8\x36\x10\xe3\x7a\x5f\x16\xe9\xd5\x70\xfb\xb8\x61\xb4\xb2\x99\x0f\x4b\xb0\xdf\x2e\x6c\xa3\xca\x4e\xe6\x12\x6e\xa5\x0b\xdb\xa1\xd2\xc7\x5d\x65\x77\x71\x0f\x0c\xd2\xc7\x49\xd8\xa2\x9c\x13\x94\x23\x11\x7c\xbb\x57\x98\x94\x2a\x47\x21\xc4\xcd\x5d\x8c\x82\x69\xcb\xc5\x06\x95\xd5\xd5\xd5\x41\xd4\x4f\x87\x49\x21\x96\xd7\x61\x6e\x5c\x31\x08\xb3\x92\x61\xf6\xdc\xb7\x88\xd1\x84\x06\xd1\xb6\xe2\x76\x7e\xfa\xd9\x7c\x45\xbc\x82\x44\xfb\xec\x2a\xcc\x1f\xa1\x69\xbc\x2e\x56\x01\xe7\xd1\x6b\x4b\xa1\xd0\x43\x6b\xf4\xdb\x25\xd7\x1a\x52\x57\xac\xbe\x25\xd8\xb2\x66\xad\x79\xae\x8b\x0e\xf0\xa6\x59\x32\xcb\x36\xe0\x81\x77\x54\x6a\x8c\xbf\x66\xbf\x1e\xb8\xad\x03\x02\x07\xd3\x6b\x4c\xbf\x46\xdc\x0b\x6c\x61\xf9\xde\x30\x2c\x37\xaf\x56\x77\x87\x07\xfa\x22\x61\x8d\xdd\x66\xc0\xf0\x6d\x95\x21\xd1\xa0\xf7\x79\xbe\xe0\x08\x05\x55\x70\x88\x71\x20\xe9\x9d\xd0\xd6\x4d\x04\xaa\xa8\x51\x96\x12\x03\xea\xcc\x6c\x26\x85\x16\x5f\x81\x60\xac\xb3\x6d\x53\x91\xa8\x58\xa1\x87\x0a\x0d\x7f\xdc\xc1\x05\x96\xb5\x67\xf3\xc3\xe2\x82\x65\xe3\x55\x70\x88\x1b\x4f\x7a\xc7\x36\xbb\x6d\x59\x5f\x91\x2c\x0c\x87\xad\x2f\x5d\x46\x4c\x87\xad\x1e\xbc\x58\xc4\x99\xc9\x56\x11\x1f\x75\x2b\x97\x18\x50\x32\x68\x26\x85\xb6\x95\x21\x18\x3e\x5b\x19\x9c\xb0\x8e\x68\x21\x6d\x78\x48\x9b\x02\xdb\xb3\x1e\x33\xe5\xb4\x96\xa7\xa0\xa1\xee\xca\x2e\x8a\xa5\x6c\x2a\x34\xfc\xca\xc6\x05\xd6\xb4\x2d\x7f\x50\x47\x7f\xf6\x3b\x92\x3a\xc6\xb4\xe7\x94\xe7\x58\x32\x65\xe5\x63\xdf\x61\x7f\xb1\x80\x47\xda\x68\xc2\x10\x70\x7b\x3d\xe2\xfc\xa4\xa0\x8b\x72\x77\xbd\x82\x23\xe0\xe6\xfa\x51\xa0\xa3\xd8\xde\x85\xcb\x63\xb3\x1a\x58\x64\xbb\xa5\xbc\x67\x76\x1a\x1b\xcb\xf5\x01\xdd\x5e\x95\x2e\x16\x98\x87\xeb\xba\xab\x7a\x88\x00\xe6\x79\xd6\xe2\xab\xee\xdb\x23\x9b\xbe\x1a\x0b\x52\x2b\xda\x48\xa2\x9a\x40\x18\xce\xd0\xe9\xc2\xab\x4e\x86\x90\xe5\x57\x47\x95\x0c\x21\xb3\x7e\x27\xad\x0c\x31\x65\xfc\x0c\x9b\x33\x9e\x29\x6c\x50\xc5\x30\x87\x6e\xd0\x98\xa4\x9f\xc0\x37\x6c\x51\x72\xc3\x39\x6c\xed\x55\xcf\xbb\xb0\x7c\x9e\x81\x67\x12\xfd\xf1\x72\x05\x46\x69\x31\x62\x66\xcf\x1b\x98\x3f\xba\xe6\x40\xbc\xfc\x81\xf9\x83\x55\xac\xec\x79\x04\xf3\xc7\x76\xf2\x13\x2f\xa3\x60\xfe\x5e\x03\xe2\xa1\x6b\x8f\x7e\x49\x67\xd3\x49\xba\xca\x78\x8e\xbe\x02\x34\xa2\x23\x61\x78\x33\x6e\xfc\x49\x40\x18\xd5\x7e\xf7\x78\x50\xca\xdc\x45\x16\xcd\x86\xe3\x20\xad\x33\x2e\x65\x94\xbd\x58\x56\x52\x40\xc6\x6f\x27\x61\xe0\xac\x91\xaa\x16\x1d\x9f\xff\xaf\x40\xf4\xdc\xbc\xa8\xb3\x00\xf7\x06\x1e\xc2\x09\x97\x71\x91\xe4\x8d\xc7\x21\xc7\x43\x7b\x0a\x1b\x7a\x30\xd7\x57\x41\x18\x6f\x63\x93\xdc\xe0\xb0\xcd\x7d\xf4\xb8\xba\xe7\xb1\xc6\x0d\x24\xe2\x66\x56\xde\xb2\x96\x02\xdf\x67\xe3\xaf\x17\xf3\xd9\x37\xf4\x70\x92\x6a\x36\xc9\x38\x7f\x58\xe4\xf3\x6c\xde\xdf\x29\x72\xdc\xfe\xe2\x8e\x63\x5f\x65\x77\xcf\xbb\x47\xe3\x0c\x09\x69\xbe\x3c\xaa\x26\xa9\x71\xa0\x84\xdb\x46\x0e\x4d\x73\xc0\x50\x06\xe8\xa4\xaa\x06\x76\x34\x55\xbf\xad\xdc\x50\xa7\x00\x4a\x02\x80\x1f\x67\x21\xcb\x0d\x1c\x04\xef\xc5\x91\x27\x10\xa0\x6d\xe7\x58\xba\xb0\x41\xc4\xaf\x03\xdd\x80\x51\x75\xbf\x1d\xcf\xb5\x59\x12\x7a\xbd\xaf\xac\x0f\x28\x13\xfd\x64\x56\x7b\x46\xd1\x35\x7e\x89\xf4\x87\xd5\x5f\x21\xca\xaf\x0c\xd2\x62\xc2\x4e\x2d\xb9\x82\x4f\xc6\xc6\xcf\x6e\xd7\x92\x31\x81\x20\xef\x62\xb0\x56\xd5\xb8\x1e\x3a\x59\x9c\x95\xbf\x1a\xca\x2a\x8d\xe0\x5a\x8b\x36\x91\xd0\x4b\x2e\x2e\x95\xa0\x61\xba\x4f\x0b\x17\x9e\xc0\xba\xdf\x12\x5d\xe3\xc7\x2c\xb3\x45\x96\xae\xb2\x49\xf5\x7a\xf1\xf9\xd5\xc7\xd1\xa7\x60\x9f\x85\xef\x30\x22\x40\xf3\xf0\x5d\x90\x09\x89\xf2\xa1\xe2\x7c\x5a\x88\xdd\x4c\xed\x3b\xe5\xcf\x1b\xab\x5e\x51\x56\xcf\x6d\x20\xbc\x87\x06\xb7\x42\x42\x29\x73\x4c\x87\x1e\x01\x49\x74\x37\x85\x70\xd8\x71\x91\x45\x77\x57\xe2\x1c\x72\xc2\x53\xf0\x1a\x87\x69\xa9\x78\x5d\x40\x00\x6f\x24\x9d\x4c\x1a\xf9\x0b\x4b\xc9\x1b\x77\x67\x4c\x37\x24\xda\x71\x0c\x06\x6e\xda\xee\x42\x2a\x42\xd8\xcd\x86\x54\xc1\x55\xa3\x16\xd1\x39\x7b\x9d\xa5\x71\xe6\x44\xe9\x78\x78\xd5\x6c\xb0\xb6\x45\x28\xdd\xa6\x7f\xd4\xef\xf4\x67\x39\xf9\x25\xd5\x29\xb4\x46\x8e\x3d\x87\x6e\xd7\xe7\xd0\xf2\xc5\xd3\xe5\x32\x5f\xf6\xa4\x74\x3f\x55\xb4\xcc\x9f\x5f\xaf\xd2\xd5\x63\xa1\x60\x4c\x1f\x57\xf7\x25\x35\xb3\x6c\x95\x4d\xb0\x38\x77\x2b\x9c\xe5\xab\x32\xca\xa3\xf6\x17\x08\xe3\xf5\xe3\x62\x91\x2f\x09\x18\xf7\x39\x47\xe4\x23\x34\x57\x1c\xe3\xf3\xdc\xcf\x06\xb1\x9b\xa2\xf5\x66\xc3\x9d\x0b\xd6\xed\x0c\xbc\x31\x0a\x3c\x0e\x2b\x49\x77\x71\x1a\xe7\x71\xbf\x1d\x2d\x77\x78\xb7\x32\xae\x1d\xe0\x3b\xe1\x47\xd0\xd4\x6f\x54\x7d\x58\xa7\x4e\xd4\x91\xb8\x63\x2d\x23\x34\x39\xc8\xea\x37\xb3\x8c\x63\xdf\x4a\x55\xb7\xab\x19\x63\x0d\x36\x33\x31\x80\xbd\x1f\xc2\xec\x7b\xd7\x23\xfc\x40\x88\x32\x38\xed\x3e\x1c\x61\x48\xa4\xb8\x47\xb3\x1d\xd4\xc8\xc7\xb6\x21\xf2\x21\x1b\x20\xc3\xe5\xe1\x9d\x34\x82\xa8\x65\xa1\x57\x91\xef\xea\xc8\x65\x53\x64\x18\x93\x49\xc3\xdd\x8b\xb6\x8a\x7b\x1f\x2e\xc4\x70\xc9\x71\xa4\xb8\x44\x1f\x93\x40\xc5\x68\xec\xbb\x2c\x28\x3c\x81\x0c\xd4\xd8\xb0\x47\x8d\x54\xd8\x90\x06\x05\x2d\x82\x16\x5b\xde\x61\x41\xb1\xb9\x6d\x64\x6c\xce\xc5\x77\x13\x29\xc4\x40\x1d\x32\x3c\x05\x2d\x48\xb5\x8f\xe9\x9b\xa3\x33\x82\xe0\x4d\x80\x98\xa5\x50\x88\x40\xef\x01\x44\xbf\x2c\xbc\x07\x5c\xab\xd0\x6d\x82\x5e\xdd\xf2\xec\x02\x17\x52\xf8\xc6\xbf\x10\xae\x4b\xda\x3e\x68\x23\xec\x86\x6f\x04\x0b\x31\xc4\xad\xb0\x1b\xbc\x15\x3a\x8b\x16\xb0\x13\xc0\x6e\x49\xc4\x5a\xf8\x6e\x84\x3d\x86\x8d\xe0\x5a\x83\x76\x1f\xf4\x96\x9f\x65\x1b\xb8\x50\xc2\x9d\x93\xa1\x0c\xef\xfc\x8e\xa0\x5d\xb0\xcf\xb3\x0b\x0c\xc4\x10\x77\xc1\x3e\x49\x06\xa4\xd5\x10\x82\x5d\xd0\x5a\xb4\x71\x2f\x62\x23\x88\xb6\x02\x24\x73\x2e\xad\x96\x91\x58\xcb\x5a\xd9\xa9\xa5\xb9\x4f\x3d\x01\x7d\xa0\x55\x39\x40\x68\xe8\xd3\xc9\xe4\x26\x77\x12\x40\x5d\x32\x4a\x18\x42\xd9\xdc\x6e\x0e\xf7\xed\x2d\x7d\xd0\xf3\x63\xe8\xf5\x3d\xaf\x1f\xa7\xb3\x09\x4f\x75\x4a\x0b\x8a\x18\x74\x54\x5f\x33\xe7\x77\x26\xd3\x22\xbd\x9d\x65\x97\x8f\x05\xfe\xf2\x1c\x2d\x62\x16\x90\xa7\x69\xa9\x8c\x1a\x27\x6b\x90\xa0\x8e\xe9\x56\x82\x68\x31\x31\x04\x98\x28\xb9\x19\xbd\x8e\xe4\xa4\xe7\x70\x58\x76\x44\x17\xe9\x58\xa1\x92\x16\x13\x7f\x80\x04\x80\xec\x4c\x8a\x88\x0b\x69\x2a\xcf\x20\x2f\x9f\x0c\x33\x7a\xc9\x84\x89\x7f\x66\x02\xbc\xaa\x26\x82\xb5\x25\x5f\xc2\x46\x04\xe7\xa3\x35\x31\x49\x9a\xe5\xab\x3f\x6e\xcb\x67\xfb\x6b\xc0\xca\xbf\xdc\xc9\x99\xea\x11\x25\x69\xb1\x78\x14\xee\xff\xea\x64\xcb\x0a\xa2\x7c\x22\x9b\x1c\x2d\x57\xd3\xbb\x74\xec\x2a\xef\x0b\x68\x53\x17\xd7\x20\xbe\x5e\x26\x64\x2e\x9c\x84\x79\xe8\xe7\x27\x9c\xad\xa8\xe8\xc3\x67\x2a\x6a\xc9\x42\xdc\x8e\x55\x09\x29\xb1\xa0\x50\x96\x39\x7c\x45\xa1\x22\xab\x30\x75\x8d\x8d\xe2\x88\xf0\x9b\x35\x4a\x54\x83\x15\x2d\xaa\x8f\x80\x8e\x8f\xe7\xf7\x6a\x8a\x12\xcb\xaf\xe5\x0b\x79\x85\x94\x6a\x21\x51\x35\x89\x8a\xb0\x78\x16\x25\x9a\xd9\xde\x7e\x36\x63\x18\xbc\x82\x07\x1f\xe3\x6c\x62\xa8\xd2\xc3\x19\xf8\x36\xe3\xac\x47\x7e\x59\x56\xa1\x1b\xf9\x55\x09\x07\x2e\xba\x61\x46\x73\x9f\x16\x36\x24\x81\x01\x6e\x2b\x6b\x31\xce\x13\x81\xb3\x8a\xb6\x03\xab\x05\xad\x2c\x46\xf9\x54\x5e\x95\x97\x0e\x0e\x5b\x16\xa3\x65\x70\xb5\x35\x03\xf9\x6b\x41\x01\x17\x5d\x86\x78\x88\x25\x52\x9e\xe3\x74\x03\x89\xe8\x17\x2a\x6f\xc5\x74\x09\xb9\xdc\xb8\x86\xe4\xa8\x1e\x5c\x8d\x03\x65\x23\x6d\xe4\xd0\xfc\x36\x18\xca\xf0\x25\x8f\x91\x7d\xb5\x80\x23\xbb\xb6\x6b\x62\x39\x40\x0d\x22\x7e\xdf\xc7\x0d\x18\x31\x69\x28\x86\xbf\x43\x5d\xf5\xf5\xf9\x1f\x06\x01\x88\xe9\x7a\x68\xe8\xd8\xbd\x0e\x0d\x43\x90\xc3\x11\x6a\x91\xf8\x42\x16\x02\x34\x0f\xcb\x84\x0c\x58\xa4\x8d\x53\xd3\x97\x55\x36\x3f\xac\x3f\xe6\x20\x7c\x45\x74\x83\x45\x88\x38\xb8\xc8\xa2\x1b\xae\xa7\x58\xaf\x2f\x33\x17\x6f\xc5\xc8\x87\xfb\x4e\xd6\x82\x2d\xda\x60\xc7\x7a\x01\x59\x1c\xcb\x46\x3f\xd4\x2b\xd6\x4d\xda\xc0\x14\x03\xc7\x73\xdc\x36\x72\x43\x20\x2b\xde\xb1\x0c\x65\xf9\x8c\xe9\x66\x8d\x34\x6e\x03\x68\x29\x30\xb0\x2f\x49\x57\x5f\xd0\x32\x13\x6f\x0a\x8d\x75\x05\x76\x4c\x71\x2d\x62\x3d\xa5\x87\xe7\x94\xd6\xc1\x22\x5a\x43\xed\xbd\xef\xd0\x16\x76\xdf\x10\xd5\x12\xb6\x58\x50\x9a\xd0\x4e\x12\xcd\x0a\x62\xe0\xfc\x69\x03\xb1\x8b\x18\xdf\x02\x76\xa8\xf8\xed\x1f\x04\xfa\xe9\x5b\x3f\x03\x1f\x9e\x86\xed\x33\x0a\x48\x64\xcb\x67\xc0\x19\xc9\xee\x19\x30\xad\xdf\xea\xf1\x9d\x04\x25\x78\x5e\xd6\x0f\x79\x1a\xac\xa7\xc1\x3e\x88\x4d\x86\x27\xdd\x4f\x6e\x2b\xd8\x3f\x17\xd3\x02\x0e\x71\x1e\x14\x31\x11\x34\x22\xcf\x99\x10\x0b\x6b\x78\x8b\xd8\x33\x18\x6f\x0d\x05\xa1\x80\x2d\xa1\x20\x69\x0c\xb6\x70\xb0\x13\xa1\x84\x2e\x96\x4d\x0c\x3e\x15\x2a\xdb\x98\x62\x19\x05\x26\x06\x59\x45\xd3\xa9\xb0\x87\xcd\x68\x1b\x7b\xa0\x58\xbb\x68\x3a\x15\x9a\x48\xe3\xb7\x8e\xe6\x93\xa1\x73\x59\x5a\x1b\x29\xb0\x94\x62\x25\x4d\xe7\x43\x27\xbe\xb8\xb6\xf2\xf4\x5f\xd9\x98\xe7\x7c\xd8\x40\x22\xda\x47\xe5\x2d\x5b\xf7\xfd\xb4\xb1\x55\x67\x13\xe4\x14\xf6\xd8\xa6\x34\xa0\x25\xbd\xf9\xe4\xa8\x46\xb4\xc6\x81\x52\xa0\x36\x72\x68\x86\x13\x86\x12\x7f\x56\x9b\x3c\x74\xfd\xac\x13\x19\x6a\x75\x95\xa0\xc0\x06\x30\xb5\x1c\xb5\x55\xda\x2e\x8e\x65\x6d\x1b\x44\xfc\x76\xd6\x0d\x18\x33\xa9\x4d\xe0\x37\xed\x96\x66\xb7\x6d\x76\x96\x48\x85\xdb\x66\x8d\x73\xd2\x97\xf8\x4d\xf5\xc6\x8c\x6d\x37\x48\x8c\x11\x2f\xfb\xd0\x76\xd3\x07\xc7\x76\x43\xc0\x8a\x21\xd3\x6a\x04\x39\x20\x88\x92\x21\x0d\x67\x44\xd7\x43\xc3\x15\xe6\x74\x84\x96\x0e\x95\xe4\xf0\x1d\xcf\x05\x68\x1e\xce\x07\xe2\x68\xce\x37\xf8\x59\x40\x18\xdd\xfc\x13\x4e\xd0\x2e\xb2\xe8\x6e\x40\x9c\xd3\x33\xd7\xa0\x67\xa3\xec\xc5\x34\x97\xd1\x8e\xa6\x30\x70\xd6\xe1\xce\xe7\xf9\x97\x82\xe7\xa4\xd0\x40\x22\x6e\x56\xe5\xad\xa7\x7c\x52\x48\x8a\x55\xba\xac\x2e\xd3\xef\x40\x5e\xb7\xbf\x54\x10\x8b\xe7\xdd\x25\xf9\xca\x9b\xb3\xe9\xc3\x74\x05\x52\xbe\x9b\x6c\xb1\x1d\x47\x9a\x75\x8d\xaa\x8f\x6a\x1c\xa8\x2d\x63\x23\x87\xa6\x87\x60\x28\x7f\x1e\x47\x9c\xc7\x11\x69\xf2\x95\x20\xae\x1a\x09\xa2\x28\xc3\xa8\xfa\x6d\x60\x1b\x7f\x75\x36\x5f\xed\x6c\xb7\x93\xa6\xce\xcb\xdd\xc0\x74\x46\xd2\xf4\x57\x2c\xa5\xdf\x20\xe2\x57\xf8\x6e\xc0\xdf\xf1\x19\x49\x41\x26\xeb\x4a\xc3\x2c\x29\x51\xe6\xac\x30\xb7\x7e\x7c\xd5\x41\xac\xe5\x48\x80\x56\x4b\xd9\x2e\xdc\x23\xaa\x49\xcd\x40\xe7\x33\x83\xb4\x0e\x73\x3e\x33\x7d\xf0\xda\xcf\x67\xa6\xd5\x88\x7d\x3e\xd3\x70\x46\x3c\x9f\x69\xb8\xc2\xcf\x67\x64\x26\x77\xbb\x8e\xce\x63\xd1\x3e\x80\xf3\x80\x4c\xbc\x34\xe0\xe6\x1c\xba\x64\x66\xa5\xeb\x83\xbb\x0b\xf8\x3b\x55\xe4\xcf\x48\x17\x9e\xc0\xd9\x4a\x26\x3e\x56\xba\xce\x4f\x31\x55\x6e\x25\x9d\x7b\x0a\x46\xa7\x4a\x3a\x9b\xaf\x68\x93\x92\x4e\xb2\x62\xb5\xac\x8a\x0b\xf2\x79\x96\xdf\x55\xbe\x58\xf1\xf9\xd5\xc7\x8f\xa3\x64\xfb\xd3\x27\xec\xbb\x37\xe9\xf2\x4b\xb6\x3a\x4e\x8b\xec\xd5\x1f\x37\x47\x57\x6f\x4e\x6f\x3e\xbf\xbf\xb8\xf9\x7c\x7d\x7a\x73\xb8\x95\xfc\x7a\x71\xf5\xf7\xeb\xcb\xa3\xe3\xd3\xc3\x51\x72\x72\x7a\x79\x7e\xf1\xff\xbf\x3b\x7d\x7f\x73\xb8\x8d\xa6\x4c\x5a\x7f\x01\x95\x8b\x09\xe3\xfc\x61\xf1\xb8\xca\x2e\xca\x8f\x2a\x1f\x46\x0c\xad\x31\x2f\xc5\xc7\xad\xd0\xc9\x28\xa6\x0f\x09\x28\x96\x68\x81\x91\x2b\x25\xd4\x17\x6d\x65\x12\xbf\xe7\xcb\xaf\xc5\x22\x1d\xf7\xa7\xab\x5f\xdb\x5f\xea\xf3\xda\xf3\xd3\x87\xc5\xea\x9b\x72\xb2\x7a\xd2\xc5\x15\xed\xa7\x47\xae\xac\x68\xd0\x20\x13\xeb\x56\xa2\xa8\x35\x15\x08\x40\xd1\xdb\xfa\x6b\x99\xd0\x6b\x27\x1a\x59\x81\x8f\x2e\xbd\x8c\x7d\x0f\xe7\xb7\xa0\xa3\x92\x49\x21\xc4\xab\xdf\x68\x71\xc5\x28\xde\x00\x60\xe3\x9b\xf4\x65\x0d\x63\xaa\xdf\x68\x04\x09\x79\xc6\x59\x6b\xd2\xc9\x62\xb9\xba\x6f\xf4\xf0\xf2\xeb\xaf\xc7\x14\x7c\x98\x44\xcb\x84\xda\xe2\x46\x54\x06\xd3\x54\xf1\xe1\x67\x3a\x29\x0e\x88\xe2\x3f\xba\x96\xab\xf5\x1f\x7b\xb1\xc1\xd6\x88\xe8\xc8\xee\xd3\xc2\x85\x2a\xb0\x89\xdf\x22\x0b\x6b\x3f\xf2\x59\x04\x85\x70\xea\xb3\x48\xca\xf6\xf0\x92\x12\xab\x9e\xc8\x28\x2b\x6b\xcc\xeb\x35\xb7\x7e\xf3\x38\x92\x3d\x30\xa2\x23\xa9\xbf\x68\xcb\x15\xc4\x08\xfd\x2f\x96\x8f\xf3\x8c\x76\xa1\x47\xf5\xca\x55\xb6\x4a\xa7\x73\x30\xf2\xbf\x93\x6c\x49\x2f\x5c\xfc\x96\x2d\x97\xd3\x09\x1a\xe3\x2e\xe7\xe5\x1a\xfd\x4a\x47\xf5\x5b\x3b\x34\x28\x87\xc2\x41\x14\xcd\x6f\x45\x01\x5a\xdb\x38\xaa\x61\xeb\x81\xe1\xfb\x33\x2e\x4b\x99\x34\xe4\x0f\x0c\x51\xfd\xcb\x5e\x7c\x51\xb7\x60\x5c\xea\xe2\xce\xe4\xe8\x9a\x14\x56\x2c\x47\xb7\xc7\xc5\xef\xe8\x82\xb0\xf1\x8e\x6e\xdc\x4a\xe5\xee\xa2\x85\x5a\x5c\x8c\x37\x4b\x88\x81\x7b\x51\x54\xb4\xf0\xfd\x4e\xf9\xb4\xe1\xc9\x4e\x48\x4c\x77\x47\x78\x48\xc4\x53\x28\x94\x36\x4b\x6a\xf4\x2a\x69\x13\xda\x88\x2e\x8d\x09\x5d\x78\x7d\xb4\x0f\xc3\x2b\x71\x0a\x1a\x00\x8a\xb9\x97\xc1\xc2\x55\x05\x39\xff\x4d\x0c\xae\x8f\xae\xf7\x90\x5f\x00\x79\x07\x0e\x20\xbb\x3e\x59\x45\x4d\x88\x24\x23\xb2\x00\xf0\x47\xb7\x8a\x23\x88\xef\x98\x6b\x08\xe0\x45\xd0\x49\xf1\xba\x84\x80\xc1\x9b\xe7\x2b\xd4\x93\x01\xfa\x79\xf5\xc8\x4e\xba\x65\xfd\x74\xe7\xd6\x37\x6f\x43\xf7\xb4\x57\x0f\xc5\x89\xf1\xca\xf4\x0f\xe1\x2f\x13\x0a\x00\x01\xe2\xbc\xfc\xe6\xa7\xd8\x44\xd7\x90\x86\xf7\x98\x5b\x91\x80\xdd\xe5\x56\xc2\x82\x7a\xe7\x6c\x5b\x2e\xb2\x4f\x1a\xad\x44\x11\x05\x1f\xd1\x3e\x27\x6e\x5f\x8a\x47\xda\xb2\xcf\x33\x4e\x6a\x63\x47\x4f\x11\xa3\x37\xd8\x40\x44\x7b\x2c\xe6\xbb\x28\x14\xaa\x22\xf8\x82\xb6\x0b\x1d\x6c\xeb\xd1\x5f\xe6\x50\xf3\x90\xe4\x09\x9a\xba\xe5\xec\xa8\xe2\xb6\xca\xdd\xa4\xc5\xd7\xcb\xd9\xe3\x97\xe9\xfc\x32\x5d\xa6\x0f\x05\x87\x49\xd4\x60\x12\xad\xa2\xf5\x7d\x73\x1d\xfb\xa2\x7a\xf4\xe6\xdb\x22\x03\x03\x4d\xdb\x55\x71\xec\xfd\x78\x76\x9c\xcf\xef\xa6\x5f\x0e\x2b\x8d\xfb\x73\xfb\xe7\xe7\xb4\x78\xbd\xbf\xbb\x51\x3d\xf0\x53\xbe\x7c\x48\x3d\x6a\x56\x03\xea\xe8\xb5\xcf\x8e\x6a\x4f\x55\x6c\x28\xd5\x0a\x93\x48\xb3\xaa\x14\x78\x31\x82\x52\xdb\x8e\xda\xd6\xcb\x4e\xac\xac\x01\xa0\xd7\xdf\x56\x59\xd1\x06\x74\x3a\x31\xb2\x86\x7f\x4e\xe7\x8f\x0f\xc2\xd3\xb5\x88\x31\x05\x7d\x1c\xfb\x38\x96\x9d\xd5\x50\xf2\x9b\x5a\x2c\x0a\x4c\x99\xa8\xc0\x4f\x47\x99\xe8\xb6\x18\x7e\x11\x35\xc3\x87\x03\xe3\x6b\xb5\x08\xec\xa8\x21\x9e\x9e\xbd\x82\x75\xaf\xf8\x8f\x08\xd7\x38\x78\x29\x7d\x87\xdf\x71\x76\x1b\x51\xa8\xe9\x94\x26\x23\x05\xb4\x92\x4d\xc4\x69\xde\xbd\x08\x1d\x67\x7c\x8f\xf4\x41\x6b\xa0\x1b\x0d\x27\x19\xb7\xa5\x8c\x1c\x55\xb6\xa5\xf2\x1b\xc4\xd7\x37\x36\xf9\xe8\xf8\x70\x80\x21\xe3\xc3\x01\x33\x15\x85\x91\x1d\xee\x93\x7d\x49\x0a\x2d\xd0\x01\x2e\x43\xbd\xdf\xa2\xd5\x08\x82\x0b\xa0\xe2\x77\x2e\x40\xa9\x0a\x58\xe3\x1a\x75\x3d\x66\x5a\x7c\x3d\x4f\x1f\xe7\x63\xa6\x19\xe6\x3a\x50\xa2\x27\x67\x07\x60\x8b\x71\x4c\xe7\x77\x79\x17\xe0\x38\x9b\xdf\xe5\xee\xe8\x46\x0f\xbb\x7c\x56\xcd\x5a\x56\x8c\xea\x6f\xbd\xa9\xfe\x74\xc3\x83\xdc\x57\xbe\xd0\x89\xbe\x34\x51\xdd\x3d\x0d\x1d\xca\xc4\x23\x88\xa4\x39\x7c\x24\x80\x6b\x4b\x43\xca\x52\x85\x0f\xac\x28\xd2\x08\xc7\x57\x2a\x01\x27\x56\xde\x99\x44\x14\x5f\x83\x47\xf5\xba\xdb\x6c\x65\xbd\x77\x78\x7c\x55\x97\xae\x8a\xe5\xac\xea\x38\xf9\xbd\x55\x34\x0e\x7c\xe2\xb2\xd3\x80\x94\x00\x91\x22\x86\xd8\xeb\x74\x7a\xf5\x48\x29\xdc\xa3\xb8\xe9\xf4\x05\x94\x8c\x7c\xf9\x35\x8c\xb1\x29\x79\x99\xe0\x10\x95\x5b\x6c\x15\xea\x38\x63\x54\x2e\xc4\x55\x9c\xca\xb2\x30\x6d\x90\xaa\x12\x22\x5c\x84\xca\x85\xea\x3e\x2d\x2c\x88\x02\xb3\x95\x00\xdb\x6b\x99\x62\x64\xbc\x51\x83\x82\xb5\x7b\x00\xfb\x55\x2a\x39\xbb\xb6\x40\x01\xb0\x2e\x51\x77\x21\x4f\xbd\xb9\x59\x84\xc0\x8a\x2c\x6e\x1d\x5e\x47\x15\x5f\xee\x4e\x05\xe9\xeb\xdd\x22\xf3\x77\xc5\x2a\x5d\x49\xcd\xf3\xab\x3a\xf8\x7f\xff\xfc\x68\xfe\x2d\xb2\x97\x39\x44\x8a\x4e\x41\x46\xb3\xcb\x3c\x69\x3a\x02\xb8\x68\x89\xba\x8a\x9d\x9a\xd3\x58\x33\x19\xd5\x4c\xbe\x0a\x4c\xb8\xd9\x77\x4a\x74\xef\x2a\x5a\xd2\x0d\x89\x01\x91\x76\xeb\xf7\x9d\xc1\xa7\xaa\xb9\x14\xea\xbe\x98\x72\x6b\x15\x5a\xba\x11\xab\x08\x22\x98\x50\x53\x02\x4d\x41\x1d\xc5\x35\x31\x27\xd0\x6c\x1f\x2d\x74\xa2\xae\xb0\xc9\x33\x3b\xaa\xba\x1d\xd5\x88\x28\xd8\x33\xc9\x17\x92\x21\xd4\xda\x35\x77\xa0\x76\x4d\x0d\x44\x45\x6a\xdd\xb4\x79\x7d\x53\x5a\xc0\xbe\x67\xf3\xe4\xec\xea\xf4\xf8\xe6\x70\x94\x5c\xdf\x1c\x5d\xdd\x7c\x7e\x7b\xf1\xfa\xf3\xd9\xc9\xe1\x0e\x95\x48\x5d\xee\x62\x34\x6e\x3a\xd7\x26\xbc\x7f\xd3\xf1\x55\x01\xf6\x5e\x81\x49\x36\xf8\x96\xf7\x6d\xb5\xf8\x51\x22\x50\xc9\x64\xba\xcc\x84\x1b\x25\x4e\xaa\x3f\x6d\x9e\x44\x3d\xb6\xe7\x6d\x7e\x8b\x98\x1d\x54\x87\xc5\x99\xea\xe8\xb5\xc5\x8a\xec\x7b\xc8\xd8\x90\x66\x0b\x22\x91\xea\x7d\xe0\xe1\xc5\x4c\x67\xd2\x93\xbf\x43\xc7\x8f\x9a\x58\x9c\xe0\x30\x69\x21\x2c\xac\xc3\xd4\x88\xbf\x2d\x47\xdb\x26\x75\x85\x51\x3d\xd5\x66\x60\x8b\x65\x59\xd5\x54\x3c\x67\x4b\x41\x19\xc3\xdb\xc2\xa1\xc0\x07\xb2\x86\x88\x2e\xa9\xdd\xa8\xbd\x5e\x24\x7b\x7a\x3d\x28\x83\xef\x90\x25\x3b\x02\xd0\x46\xc0\x76\xe0\xbc\xae\xdb\x50\x3f\x99\x30\x87\x43\xa0\x23\x47\x39\xac\x98\xa3\x04\x39\xac\xd8\xc2\x62\x1c\x01\x22\x50\x4b\x6c\xc4\x43\x82\x8b\xb5\x2a\x72\xd6\x56\x65\xc8\x59\x0c\x97\x0e\xeb\xda\x75\x7d\x1b\xb5\x3a\xe0\x90\x0e\x2b\x2e\xee\xe3\x86\xea\xc9\x37\xb6\x2b\x5e\xd1\x83\x5b\x44\x4c\x14\xb8\xc4\x44\xca\xf0\xaf\x59\x3e\x90\xab\x17\x81\x74\x0e\x89\x73\x52\x0f\xcf\x5b\x0a\x39\x88\xfd\x9a\xae\xc6\xf7\x25\x65\x3c\x67\x30\x11\x1c\xf1\xf8\x65\x7a\xd5\x11\x6b\xad\x16\x4c\x9e\x55\xfa\x36\xbf\x85\xba\x25\xee\x2a\x54\x51\x82\xb1\x22\xfd\x51\x0f\x43\x02\x22\x94\x47\xe9\x24\x8c\x76\x04\x42\x82\x5a\x47\x97\x44\xc5\x59\x4a\x97\x44\x2d\x0a\xc8\xf9\x9f\xa5\x68\x05\x45\x6d\xcd\xfb\x2c\xd6\x21\x42\xc4\xc6\x7f\x7e\x40\x40\xc7\x45\x6a\xfb\x2d\x4b\xeb\x90\xa8\x59\xe7\x19\xc7\x35\x73\x42\x20\x88\xb5\x41\xa2\x22\x15\xf6\x0d\x6c\xe2\x61\x20\x8a\x33\xc0\x6b\x46\x2b\x59\x54\x68\xd2\x60\xc9\x41\x9c\x0d\x34\x23\x13\xcc\xdf\xe0\xed\x11\x1d\x45\x7c\x49\x47\x15\xa4\xaf\x11\x44\xcd\xf8\xcf\xfe\x35\x5d\x1d\xe7\xea\x24\x0d\xe3\xd8\x70\xbe\x46\x06\x95\xc4\x61\x6c\x1d\x21\xe9\x08\x12\xe8\x69\xf3\xd6\x94\x74\x94\xa6\x51\xd4\xcd\x0b\xa7\x0d\xdf\x99\x4c\xd2\x60\x89\x44\x15\x63\x44\xd3\xe4\x91\x48\x14\x2b\xfc\xbb\x15\xd6\x26\x38\x8c\xe0\x48\x90\x7d\x61\x05\xc8\xbe\x73\x98\xf1\x6a\xd6\x94\x2c\xd4\xb1\x13\x1a\xd6\x71\x19\xc3\xd5\x63\x71\x95\x2d\xf2\xe5\xca\x6b\xfe\xa9\x02\xc0\x39\x04\x55\x18\x7c\x3a\x4a\xae\x4e\xcf\x4f\x8f\xae\x4f\xc1\x11\xa8\x0a\x02\x89\x37\xf1\xe6\xa0\x3a\xd6\x85\x23\x99\x66\xf9\xa4\x90\xd2\x19\x11\x22\xbd\x72\xc6\xf4\xb6\xed\x30\x17\x63\xa4\xd5\xd3\x6b\xa6\x57\x16\x25\x76\xa9\x8e\x80\x0b\x5b\xe3\xe1\x24\x8f\x5c\xa8\x83\x84\xf6\xbf\x74\x18\x15\xa6\xe5\x1f\x5f\xf6\xed\xd3\xf2\xcf\x54\xea\x6d\x56\x3c\x11\x2b\x91\x44\x84\x51\x0a\x91\x10\x08\x9e\xcc\x68\x2a\xf4\xc8\x01\x67\x1a\x2e\x70\xe4\x80\xcb\xa2\xae\x7d\x08\x95\x43\x44\x19\x06\x73\x82\x79\x11\x97\xd5\x27\x7b\x53\x6a\x4e\x24\xca\x3c\x2b\x2b\xce\xc8\x43\xad\x5c\x52\x14\x6f\x72\x05\xa6\x2e\xdc\x2a\x3f\xd8\xd1\x15\x7e\x53\x5d\xe3\x0a\x0f\xf7\xf0\x0b\x97\xd8\xf8\x4e\xbf\x60\xa8\x29\xef\x68\x62\x2d\x2b\x57\xa1\x06\xf8\xc7\x84\xe2\xf2\xf6\x15\xa9\xc6\xbc\xfd\xd1\xed\xd9\x8a\x4f\xc6\x77\x6f\x07\xaa\x46\x57\xf0\x91\x1d\x08\xb6\x9a\x74\x02\xc4\xe1\x33\x23\x22\x7d\x78\x4f\x57\x12\x18\x5c\x59\x7b\x27\x89\xa1\xd5\xed\xf6\x3d\x3b\x84\x5b\x19\xb3\xc6\x1d\x89\x04\x59\xe6\x2e\x6d\x7d\x8a\x67\x29\x31\x97\xc1\xe9\xb3\x15\xc4\xb7\xff\xce\x68\xb7\x45\xb0\x34\x9f\xc2\x56\x3a\xaf\x13\xc9\x5c\x41\x6f\xa7\xa0\x2b\xa2\x77\x2c\x94\x58\x4b\xdf\x31\x9c\x6e\x92\x6d\x55\xf5\x0e\xcc\x71\x53\x2f\x27\xf9\x98\xe9\x6a\xd6\x06\x12\xf5\xea\x1e\xf9\x2d\x73\x7e\x85\x2b\x65\xd2\x20\x8b\x7b\x53\x4e\x85\x03\x77\x7f\x89\x85\x1c\xe2\x1d\x39\x20\x14\x1f\x63\xc7\x75\x67\xb2\x26\x5f\xd1\x2e\x83\xa9\x11\x45\xb8\x09\xc6\x09\x58\x59\x5b\x04\xac\x46\x05\x2c\xb3\x45\x96\xae\xb2\x49\xb5\x9e\xc5\xe7\x57\x1f\x47\x9f\x82\x37\x32\x9f\x73\x2d\x40\xf3\xd8\xd0\xa8\xa4\xe9\xb2\x7a\xa8\x38\x9f\x16\xe2\x00\xb8\xf6\x9d\xf2\xe7\x8d\x55\xcf\xac\xea\xb9\x0d\xc4\xfe\x6e\x70\x2b\x24\x94\x16\x82\x51\x89\x0c\xe1\x59\xf7\x78\xd0\xf2\xcf\xe3\x49\xe3\x20\x0d\xef\x41\x1b\x39\x4c\xeb\xa9\xd0\x05\x04\xf0\xa9\xd3\xc9\xa4\x91\xbf\x30\x77\xda\xb8\x3b\x63\xaa\xc2\x68\xee\x33\x0c\xdc\xb4\xdd\xff\xda\xc7\x46\x85\xdd\x6c\x98\xf4\x76\xd5\xa8\x45\x94\x03\x6d\x66\xa9\xdd\x93\x66\xd2\xaf\x51\xd4\x6c\xb0\xb6\x45\x46\x30\xc6\xf9\xc3\x22\x9f\x8b\x49\xbe\xe3\xf6\x17\x77\xec\xa2\x7b\x4c\xed\x93\xcb\xc7\x7d\xef\x5d\x49\x0f\x90\x2a\xcc\xc7\x8f\x0f\xd9\x7c\x95\x96\xb4\x45\xba\x13\x11\xde\xe5\x71\x14\xf5\x73\x3f\x7d\xcd\xae\xb6\xe3\x68\x6f\x96\x74\x5f\x27\x45\x78\xc5\xdd\x0b\x1e\x1c\x00\xe9\x65\x99\x7a\xd3\xa2\x28\x96\x84\xcb\x16\x25\x69\x46\x24\x23\xcb\xfd\xc1\x74\xd3\xa2\x43\x21\x0d\x60\x59\x86\x30\x30\x74\x3b\x63\xce\xfe\xc9\x1a\x8e\x12\xa2\xe9\x65\x0f\xdb\x0e\xd7\x2a\x40\xd2\xb5\x8c\x92\x14\xf9\xde\xcc\xe8\x90\x07\x71\x0d\x18\xa3\x40\x1d\x4c\xc4\x5d\x81\x4e\x69\x35\x51\xc7\x19\xfe\x71\x61\xaf\xa2\x3f\xae\xd5\x69\x43\x3f\xbd\x14\x21\x2f\xd9\x73\x20\xbd\x4f\x0b\x17\xca\xd0\x8b\x19\xdd\xa2\x50\xfe\x33\x67\x1a\x58\x52\x9d\xf0\xed\x8c\x6e\x49\x90\x89\xe3\xec\x7c\x04\x85\xc0\xb2\x2e\x5d\x0a\xb7\xdc\xda\x2c\xac\xb7\x20\x0a\xec\x7a\x34\x9e\x31\x64\x97\x1b\xe2\x7a\xeb\x7d\x13\xfb\x5f\xb5\xcf\x25\x89\xa8\x92\xcb\x35\x10\x6b\x91\x02\x3b\xb5\x34\x95\xd0\x13\xd0\x1f\xf7\x14\xe3\xa2\xa1\x4f\x27\x93\x9b\xdc\x49\x00\x75\xc9\x28\x0e\x9e\x96\x44\x76\x71\xb8\x4f\x24\xf7\x47\xaf\x8f\xa1\xb5\x8e\xf5\x20\xe2\xeb\x6f\xf3\x31\x4f\xf4\x58\x82\x47\x3c\x04\x19\xdf\x8d\x1b\x49\x96\x50\x46\x3d\x5d\x88\x98\x50\x3e\x9a\x9b\x34\xda\x99\x02\x0b\x6b\x9d\x11\x66\x8b\x24\xc6\x72\x81\x25\x74\xfc\xde\x2f\x06\xbc\x16\x73\xe6\xd9\xc8\x7c\x61\x0d\x0d\xa6\xf7\x86\x46\x45\x92\xf9\x37\xf5\x10\x61\x03\x15\x1b\x51\xfa\x78\x82\x06\x14\x78\x4f\x63\x93\x0f\x76\xd6\xd5\x50\xc6\xdc\xec\xa4\x93\x6e\xd8\x86\xbf\x9c\x2e\xb2\xd9\x74\x9e\xc5\xd8\xf8\x56\xd8\x44\x05\x00\xc2\xb1\xd6\x67\x7d\x9b\x8f\xb3\x49\xfb\x7a\xf1\x2e\x5d\xf4\x55\x5a\xda\x3f\x6d\x6c\x6e\xfe\x4d\x9a\x66\x6f\xa5\xe9\x2a\xbb\xeb\x68\xea\x5e\xd8\x3c\xfc\xf8\x89\x2b\x64\x69\xfd\xe0\xa8\x2a\xc8\x86\x15\xb5\x3f\xf0\x24\xd3\x54\x92\x0f\xdc\x28\xc9\xa8\xcc\x26\x35\x5a\xe8\x72\x43\x39\x2c\x3c\x7f\x97\x1a\xdc\xa5\xf2\x1f\x13\x99\x4f\xc2\x9e\xeb\xa7\x68\xb9\x9f\x69\xb0\x22\x65\xd5\xb1\x66\xc9\xb3\x67\x09\xd8\xcb\xdf\x02\xda\xfc\xcf\x66\x48\xfa\x0b\xa1\x73\x62\xa9\x71\x2b\x6a\x7e\x75\x4e\x45\xe5\x08\x60\x76\xf9\x32\x83\xfc\xfd\xb8\xb5\xb9\xf9\x97\xbf\xe4\xe5\xbf\x9e\x57\xe9\xb3\x8d\xcd\xff\xda\x2a\x7f\x50\xe5\x6d\x24\xc8\x5b\x8d\x51\x58\x6f\x61\xaa\x16\xf0\x10\x4d\xe2\x3c\xa3\x97\x08\x09\x31\xae\x86\x3b\x48\xf0\x25\x5b\xbd\x4b\x17\xd8\x73\xb9\x2c\xf0\xc1\xf4\xd6\x65\x65\x0e\x8a\xe5\x13\xba\x45\xd9\xd4\x60\x4a\xbf\xe9\x7e\x5a\x04\x5a\xfe\x65\x5e\xda\xad\x93\xac\x58\x2d\xf3\x6f\x8c\x56\xdf\x04\x97\x6a\xf1\x5d\x30\xcc\x6e\xff\x3f\x50\xd3\x36\x47\xda\xb4\xcd\x80\x13\x82\x91\xca\xb8\x26\xda\x80\x11\xa7\xf7\x50\xa4\x12\x4d\x33\x11\x66\xc4\x3e\x7c\xf9\x16\xc1\x76\xd6\x64\x88\x89\x72\x6f\x8e\x68\xe6\xc9\x84\x36\x82\x69\x22\xa0\x71\xd6\x6f\xd4\x2b\xed\xb8\xda\x0f\xd1\x97\x0f\x2c\x75\x8b\xc5\xb7\x33\x1f\x9e\xbf\x06\xf2\x1a\x39\x7e\xcd\x72\xef\xde\x28\xf8\x9e\xb1\xcb\x7c\x36\xe3\x89\xab\x36\x90\xa8\xda\x58\x7e\x2b\x6e\xd8\xa5\x41\x16\x57\x8d\x56\x38\x70\x3b\xd2\x42\x0e\x51\x55\x82\x50\xd6\x19\x4e\xd1\xe4\x2b\x9a\x7a\xab\x11\x45\x50\x68\x4e\xc0\xbc\x01\x93\x7c\x36\x63\x74\x96\x7a\x68\x1e\x9b\x12\x13\x06\x99\x92\x5c\xa3\x24\x9f\x4d\xae\xb2\xbb\x2e\x4c\x72\x51\xfd\x09\x4f\x4f\x3f\x49\x57\xe9\x75\xfe\xb8\x1c\x67\x95\xdf\x2c\xd7\x84\xcd\xb3\xdf\x45\x98\xef\xab\x3f\xc3\x60\x72\x0d\x4c\x17\x56\x31\xba\xc6\xa1\xb8\x6b\x0e\xb2\xe8\x9a\x67\xbd\x05\x60\x2e\x0f\x8d\x7c\x09\x9f\x2c\x13\xb4\x2b\xf8\x14\x79\x82\xcb\xb3\x1a\xe1\xd7\xa7\x9c\x3f\x2d\x32\x9b\xfd\xc4\x53\x47\x66\x54\x6f\x31\xed\x41\x3c\x27\x17\x04\x8e\x89\xb8\xa0\x3c\x5c\xa5\xea\x4b\x50\x9a\xd4\xb9\xeb\x0a\xf3\x91\x65\x66\x82\x46\x55\x10\xee\x30\x21\xf4\x91\x9a\x01\x3c\x77\xb3\xb0\x72\xf8\xeb\x5e\x9f\x5b\x33\x9e\x79\x9c\xbc\xa2\x4b\xc0\xc2\x1f\xdb\xa2\xa8\xc4\x71\x16\x53\x19\x71\x56\xa1\x2a\xeb\x92\xb4\x75\x28\xcd\x66\xc1\x55\x52\x19\xf1\xdc\xa7\x85\x15\x4b\x60\x11\x95\x8d\xd1\xf5\x86\x8b\xcb\xe8\x1d\x5f\x46\xab\xc4\xa1\x19\x8d\xb8\x11\xdc\xce\x68\xeb\x92\xb4\x8c\x6e\x94\x54\x18\xa3\xad\x58\xe2\xce\xe3\x3e\x9b\x4f\x99\x66\xb8\x35\x90\x88\xce\xbe\xf2\x56\xdc\x13\x78\x83\x2c\xaa\x3f\x5c\xe3\x40\x39\x09\x36\x72\x68\x7e\x30\x0c\x65\x9d\x27\x70\x4d\xbe\x62\x79\x5c\x0d\x22\x7e\x6f\xcb\x0d\x98\xf5\x04\x5e\xa2\xe2\x3b\x81\x0b\xd0\x3c\x36\xe5\xa0\x15\x49\x02\xc2\xe8\x9b\x93\x70\x58\x75\x91\x45\xdf\xa4\x4f\xbb\xf2\xc8\x28\x7b\x31\x37\x6b\xb4\xe3\x11\x0c\x3c\x4a\x9d\xd1\xf5\x2a\x5b\x30\xc5\xb2\x65\x88\x9e\x35\x45\xca\xdb\xf6\x49\x4f\x99\x50\x3b\xb4\xca\x16\xee\xf0\x55\x97\xff\x2e\x1f\x8d\xd3\xd6\xa8\x7c\xc0\x20\x95\x41\x35\x2e\x52\xa1\x85\x8d\x3c\xbf\x2a\x20\x18\xda\xf0\x8d\xe8\x12\xaf\xf1\x7d\x8c\xb2\x88\x60\x86\x39\x65\x8b\xc0\x9c\xa6\x6d\x0b\xc6\x2e\xb6\x69\x10\xc6\x2b\xb1\x71\x23\x40\x0d\x6e\x6a\x76\x34\xa5\x1b\x50\xe6\x60\x60\xa5\x8b\xc6\x94\x86\x2a\xc6\x33\xa6\x44\x2f\xdc\x93\xe3\x10\x17\x85\x32\xce\xde\x3c\x2b\xd6\x66\x2c\x93\x71\x45\xfa\x71\x4c\xd9\x02\x7b\xc0\xb4\xe1\xa9\x46\x30\x19\xb1\x44\x1e\xbd\x54\xa7\x9f\x9b\x64\x34\xd3\x10\x26\x15\x26\x75\x9e\x80\xed\x7d\x5b\xa6\x69\x51\x3f\xd9\x5f\xbe\x5b\xff\x0d\xdf\xff\xd4\x3c\xa8\x5e\xa3\xfb\x75\xba\xe8\xd3\xf2\x55\x68\xa4\x90\xf3\x58\xaf\xf3\x7c\x96\xa5\x73\x43\x3a\x6b\x3b\xf9\x71\xc4\x96\x26\xd2\x16\x22\xee\x08\x01\x05\x1b\xae\x19\x1b\x24\x91\x38\x40\x80\x00\x6f\x6d\xf3\x03\x04\xd1\xa1\x5d\x32\xd5\xca\x1b\xe2\x16\xdd\x46\x84\xf5\x64\x55\x8d\xb0\x94\xc0\xee\xa6\x5b\x83\xbc\x72\xf5\xf7\xdb\xd5\x43\xb4\xf6\x7e\x15\x65\x84\xee\x7e\x24\x0a\x7c\x73\xbf\xa8\x71\xa8\xd7\x57\xb5\x42\x61\xcd\xba\x74\xee\x82\x89\xcf\x02\xc6\x4a\x26\xb6\xe1\xd2\x27\x07\x53\xfb\x4f\x61\x9d\xaf\xdc\x7d\x24\xa2\x27\xd7\x25\x71\x3a\x71\xac\x0d\xfa\x76\xd4\xf5\xad\xb4\xd6\x95\xe9\xae\xa5\x6d\xc4\x00\xd9\xa0\x6d\xc7\x77\x9f\x16\x76\x6c\xa1\x8d\xf9\x4e\xf6\x9b\x84\x0c\x92\x05\xab\x39\xac\xf3\x38\x3f\x06\x32\xdd\x4d\x92\x33\xcd\x26\x52\x26\xa6\x95\xb8\x62\x0a\xfc\x5d\x4b\x02\xd4\x80\xd8\x02\xb2\x53\xa9\x1e\x7f\x27\x5c\x8c\x52\xfe\x59\xa9\x94\x79\x33\x31\x34\x7e\x14\x61\xc8\x1e\xa3\x1e\x1f\xf9\x24\xc9\xdb\x57\x84\x83\x18\x2d\xaa\xd0\x72\x57\xf3\x5e\x3a\xb6\x63\x6e\x0f\xa9\x84\x85\x2d\x36\x30\x78\x33\x8e\x80\x34\x6e\x8c\x80\x5e\x0e\xf2\x83\x7a\x97\x47\xb7\x2f\x0d\xce\x45\xc7\x33\x86\x58\x80\x7d\x74\x07\xdd\x1f\x68\xe9\xa2\x9d\xf9\xed\xf3\x38\xe2\x9f\xfc\x5d\x83\x2d\xc0\x99\x16\x1e\x11\x00\x53\xaa\xd9\x8a\x2d\x6e\x1c\xe0\xbf\x1f\xb3\xc7\x8c\x35\x0a\xa0\x40\x24\x1a\x33\xcb\xdb\x36\x43\xf6\x8f\xfc\xf6\x26\x7b\x58\xcc\xd2\x55\x7f\xcd\xd7\xdb\xfe\x37\xb8\xea\x33\x8a\x99\x53\x3e\x22\xaa\x89\x93\x71\xa1\x14\x21\x44\x1e\xcd\xb4\xe1\xa1\xad\x65\x6a\x2b\x6d\x46\x2b\x6c\xfe\x44\xe9\x0a\xb2\x81\xd6\x9d\x17\xcb\xfe\x29\x08\xf9\x6d\x1f\x0e\x01\xc2\xee\xa9\x3b\x98\x72\xb2\x7e\xeb\x7f\x29\xb4\x95\x23\x32\x49\xbc\x75\x58\xb0\x95\x74\x08\x8a\x99\x2c\x4e\x33\x69\x45\x5e\x99\x48\xf7\xaa\xb4\x76\x52\x64\x27\xce\x58\x5a\xb1\xde\xa7\x85\x1b\x67\xe0\x19\x59\x44\xdc\x58\x69\xee\x59\xe9\x06\x14\xcc\x56\xd7\xef\x18\xe9\x80\x60\xae\x33\x49\x17\x8b\xd9\x74\x5c\x0d\xde\x83\x07\xa9\x1f\x29\x0f\x43\xd3\xd4\x0d\xd4\x08\x20\x62\x8c\x56\x37\x60\x1c\xcc\x70\x13\xce\xa6\x18\x32\xfd\x0d\xf8\x1a\xcf\xa6\x01\xe2\x40\xb3\xf1\x80\x68\xc1\x43\xd9\x45\x59\xe6\xf3\x01\x06\x3b\x07\x1b\x90\xc6\xf5\x05\x02\x3a\x7e\x75\xb5\xc1\x31\xb6\x1d\x90\x80\x38\x33\xdc\x01\xa4\x71\x6c\x80\x49\x67\xfa\xdb\x03\x13\x34\x5b\x6e\x56\xb0\x0e\xdd\xc9\x4c\x78\x1f\xce\xd1\x5a\x48\xcf\x37\x13\x5c\x83\xe1\xb6\x36\x7b\x21\x20\x23\x4b\xd5\x19\x71\x0d\x85\xa4\xfb\x18\x24\x83\xdf\x80\x20\xa1\xaf\x35\x93\xeb\x65\x40\x54\xc9\x84\x0f\x8c\xa2\xd0\xdb\xb2\xba\x6d\xbb\x62\x62\x6a\x57\x0c\x4a\xe4\xa2\xb5\xce\x80\xd6\x06\xa1\x6b\x79\x2d\x0f\x02\x21\x3e\xe5\xab\x2a\x31\x6a\xda\x17\x63\x69\x12\x74\x3f\x20\x22\xed\x8b\x16\x01\xf9\xe3\x98\x13\xc1\x02\x64\xaf\x63\x98\x4d\x6a\xcd\x24\xc7\x3a\x02\x3b\x89\xa9\x8e\xc4\xee\x15\x6c\x8f\xc4\xa2\x10\xd1\x8f\xc4\x4e\x2a\xee\xd3\xc2\x4d\x03\xff\x11\xd9\x2a\x4e\x01\x0d\x99\xdb\x88\x86\x4c\x8a\x98\x04\x35\x69\x22\x7a\x12\x9d\xae\xbc\xc1\x93\x8d\x34\x0d\xdd\xbd\x24\x5e\xdc\xb5\xed\xb6\x01\xe6\xa4\x3b\xa9\x51\x4e\x62\xb1\x87\xa6\x03\x2b\xeb\xe3\x25\xd9\x55\x07\x34\x4e\x5d\x3b\x17\x55\x33\xd5\x9d\xf8\x25\x69\x8c\xd9\x26\x2d\xc9\x4b\xd4\xc6\x68\xb9\x80\x65\x3a\xff\x32\xcb\x56\xf9\xdc\xf7\xdb\x0e\xa8\xdf\x66\xc4\x48\xfb\xc8\x03\xe2\x47\x9e\x64\x8b\x6c\x3e\x29\x2e\xe6\x14\x15\x22\x2e\x2a\x68\x67\xa4\x2f\xb4\xa0\xb3\x7c\xa3\x84\x27\xc9\xfe\xfd\x6f\x8a\x50\xa6\x93\x49\x87\x8d\xb4\x95\x15\xac\xf0\x46\x54\x76\x1d\xb4\xa4\xdd\x0d\x1c\xe2\x73\xd4\xfd\xd6\xbd\x7c\x34\x9b\xe5\xbf\xff\x94\x4e\x67\x8f\xcb\xcc\x97\x87\xa0\x12\x37\xf3\xd0\x8e\x1a\xc1\xcf\x51\x08\x3f\x45\xcc\xde\xbc\x1d\x85\xf0\x16\xb1\xec\x1a\x9f\xd5\x77\xa8\x3c\x1f\xc6\x97\x06\x87\x0a\x30\x3a\xcb\x08\x37\x68\x20\x6f\x98\xcd\xdd\x25\x2c\x5f\xc9\xa7\x7c\xf9\xb5\x58\xa4\x63\xce\x1c\x60\xc9\xd0\x0e\x2e\x3c\x86\x41\x62\xa7\x81\x1e\xce\xf1\x0b\x0a\x33\x5d\x5f\xdf\xb2\xb2\x7b\xc6\x87\x91\x2e\x04\xf0\xc4\x05\x3c\x1b\x6f\xd2\x65\xa9\x5a\x1f\xe7\x73\xf1\xe0\xcf\xc2\xc9\x1a\x68\xb2\x4b\x62\xa3\x99\x1e\x34\x27\x77\xc9\x9c\x04\x16\xa0\x65\xa6\xf8\x98\x0f\x3f\x01\x34\x6e\x96\x12\x96\xf0\x4b\xb6\xba\x98\x4f\xb2\x87\x74\x3e\x89\xc2\xd4\x8b\xf9\x89\x00\xbc\x9e\xba\x9c\x8c\x46\x34\xd5\x6b\xa3\x10\x1f\xaa\x18\xd1\xf5\x2f\xb8\x2c\xdd\x5c\x1c\xe9\x41\x1f\x66\x83\xa8\x80\xb8\x03\x65\x39\x35\x86\xdf\xa4\xc5\x57\xe6\xf9\x38\x25\xc8\x8b\xdf\xb2\xe5\x72\x3a\xc9\x92\xd1\x68\x2f\x80\xd9\x32\x75\x04\x86\xef\x05\x32\xdc\xb2\x2c\x66\xa6\x97\x0f\x87\x33\xde\x82\x12\x62\x3e\x61\x79\xbf\x64\xab\xf3\xf4\x36\x9b\x79\x4c\x60\xdf\x4b\xb2\x6a\x96\x19\x71\x51\x0d\xe8\xb4\xf1\xe9\xdd\x33\xda\xd4\x74\xc2\x29\xa1\x1b\xc9\x14\x6d\xd6\x53\xb2\x4f\x3b\x3c\x18\x28\x42\xcb\xef\x3e\x59\x7a\x9d\x0b\xd0\x39\xe8\xdd\x43\x3e\xd2\xea\x44\xe1\x96\x52\xc2\xd2\x49\xcc\x6c\xb5\x88\x87\xc0\xbe\xf0\x13\x58\x08\xb7\x26\xbd\xe6\x17\x02\x44\xf9\xd7\xe6\x5f\x7e\x1e\xcf\x18\x65\xf9\xe7\xf1\x2c\x21\x9a\x5d\x23\x21\x78\x15\x4c\x37\xb9\xee\x2f\xef\xfc\xe4\xfe\x29\x2f\x4f\xd9\x89\x04\x50\xb6\x34\x43\xfb\x4b\xba\x9c\xa6\xb7\xb3\x2c\x56\xd4\xba\x85\x9f\xbc\x24\xf1\xd5\x42\x16\x39\x0a\xfd\x92\xc2\xe0\x74\x32\xe9\xf0\x06\xc6\x9b\x5f\xba\xe2\xcd\xdd\x9a\x50\x03\x1e\x10\xb3\x5a\xf1\x93\x9e\xa3\x06\x36\xde\xe7\x39\xe7\xa0\x88\x12\x7e\x09\x32\xd9\xa3\x05\x27\x65\x32\x2c\x8c\xbf\x98\x67\xf9\x9d\x4e\xcc\xde\x96\x1b\x51\x5e\xbe\x56\x95\x1c\x14\x9f\x3f\x6e\x7d\x22\x2b\x01\xcb\x12\x75\xc3\x09\xf3\x1c\x3b\x39\x42\xda\xf6\x16\xb0\xee\xfd\x4e\x59\xd6\x2f\xd9\xea\xf5\xe3\x74\x06\x46\xd0\x89\xec\xad\x60\x5e\x2c\x92\x3d\x5a\xe8\x52\x21\x85\xc8\xe2\x51\x5c\x16\xdb\xd6\xa9\xe5\x71\xf5\xef\x3e\x4c\xb6\x01\x06\xb8\x4c\x58\xda\x2f\xd9\xea\xf2\xb1\xb8\x67\x66\x72\x09\xb2\xe4\x31\xcd\x3e\xcb\x84\x10\x59\xbc\x1d\x97\xc5\x96\x45\xea\xba\xbe\x1f\x8b\x7b\x1f\x06\x5b\xc0\x02\xfc\xa5\x59\xed\x93\x6c\x31\xcb\xbf\x71\x1f\x23\x2a\xa0\x25\x8f\x69\x61\x4a\x95\x18\x22\x97\x77\xe2\x72\xd9\xba\x54\x42\x46\x60\x96\x7f\xf3\x3a\x6c\xd8\x40\x03\xbc\xa6\x85\x33\x9b\x1e\x79\x76\x66\x57\x50\x4b\x6e\xd3\xa2\x99\x1a\x39\x44\x76\xef\xc6\x66\xb7\x6d\xb5\x7a\x7e\x57\x4f\xf8\x31\xdc\x06\x1c\xe0\x38\x2d\xda\x79\x95\xcd\xb2\xb4\xe0\x8e\x12\x34\x50\x4b\x8e\xd3\xa2\x5d\x1a\x39\x44\x8e\xef\xc5\xe5\xb8\x7d\xb5\xfa\x4e\xde\xea\x09\x1f\x8e\xdb\x81\x03\x1c\xa7\x45\xbc\x7e\x49\x67\xd3\x09\x7b\xf3\xd9\xf3\x16\x6c\xc9\x73\x5a\x64\x48\x27\x88\xc8\xf4\xfd\xb8\x4c\x77\x2c\x58\x7f\x08\xaa\x1f\xf1\x61\xbb\x03\x3c\xc0\x77\x5a\x14\xe9\xe8\x71\xc5\xed\xa7\x95\x20\x4b\x7e\xbf\xa0\x65\x8e\x25\x42\x88\xbc\x7e\x11\x97\xd7\x96\x45\xea\xd2\xcb\x8f\x2b\x2f\x3f\xcd\x02\x16\xe0\x2f\x61\x59\x4b\xdb\x9d\x8f\xc1\x31\x3b\x54\xc3\x9d\x8f\x8b\x92\xbf\x07\x34\xab\x2d\x11\x42\xe4\xef\x41\x64\x93\x6d\x5e\xa4\xce\x5e\xe7\xe3\xc2\xcb\x58\x9b\xc1\x02\xfc\x25\x2c\xeb\x97\x6c\xd5\x5f\xd1\xca\xcc\xe5\x1e\x70\xc9\x6b\x5a\xec\xcc\x44\x14\x91\xe3\x2f\xe3\x72\xdc\xb9\x6c\x2d\xdf\xfb\x87\x7c\xb8\xef\x44\x01\xc8\x00\x61\xb9\xbf\x64\xab\xd3\x7f\x65\xdc\xdc\x2f\x41\x5e\x2c\x92\x7d\x5a\xc4\x4c\x26\x84\xc6\xf1\xfd\xc8\x11\x33\xcb\x22\xb5\xbc\x2e\xff\xd9\x87\xcb\x16\xb0\x40\xa2\x87\x16\x31\xfb\xc0\x1d\x0d\xfd\xb0\x28\x79\x4b\x8b\x95\x7d\xf0\x8e\x85\xee\x47\x0e\x94\x19\x97\xa7\xe5\xeb\x07\xaf\x38\xa8\x11\x24\xc0\x53\x5a\x7c\xec\x3c\xff\xc2\x6d\x97\x4b\x90\x25\x5f\x69\xf1\x31\x99\x10\x22\x67\x23\xc7\xc7\x2c\x8b\xd4\xf2\xb6\xfc\x67\x1f\xee\x5a\xc0\x02\xfc\xa5\xc5\xc7\xc4\x6a\x7c\x66\x3e\xcb\xc3\x2b\x92\x7d\x5a\xac\xcc\x4c\x18\x91\xef\x91\x23\x66\xc0\xe2\xb5\xfc\x17\x1f\xf3\x91\x03\x00\x0d\x20\x0f\xb4\x18\xda\x65\x3e\xe3\x4c\x54\xbf\xed\x6e\x89\x4d\xf6\x69\xd1\x33\x99\x10\x22\xdf\x23\x87\xce\x2c\x8b\xd4\xc5\xc3\xf3\x99\x57\x32\xdb\x02\x16\xe0\x2f\x2d\x62\x56\x8f\xa4\xbb\xca\x16\xf9\x92\x7b\xbf\x8b\xa0\x4b\x7e\xd3\x62\x67\x66\xc2\x88\x7c\x8f\x1c\x40\x03\x16\x6f\xd5\xcd\xc3\xef\x1f\xf3\x91\x03\x00\x0d\x20\x0f\xb4\x78\xda\xf5\x2a\x5d\xae\x22\x54\x0d\x76\x70\xcf\xd3\xc7\xf9\xf8\xbe\x94\x07\x5a\x5c\xcd\x40\x18\x51\x18\x22\x07\xd6\x5c\x2b\x27\x48\x42\xfd\x8c\xa7\x18\x58\x11\x00\x32\x40\x8b\xad\x5d\xaf\xf2\x45\x14\x11\xa8\xc1\xf6\x12\x40\x8b\xb4\xe9\x64\x11\x05\x20\x72\xb4\xcd\xb1\x6c\x3d\xff\xeb\x47\xfc\xd8\x6f\x05\x0f\x70\x9f\x16\x79\x3b\x9b\x4f\xb9\x2d\x41\x7d\x2b\x5d\xb2\x4f\x8b\xbc\xc9\x84\x10\x79\x1d\x39\xf2\x66\x59\xa4\x96\xcf\xe5\x3f\xfb\xf0\xd8\x02\x16\xe0\x2f\x2d\xf2\xf6\x6b\xba\x1a\xdf\x47\xd8\xde\x1d\xdc\x92\xd3\xb4\xb8\x9b\x81\x24\x22\xbb\x23\x87\xdd\x5c\x6b\xd6\x57\x2e\x36\xcf\xf8\xd5\x2d\xda\x11\x00\xdc\xa7\xc5\xdc\xc4\x71\xbb\xdc\x7e\xbd\x74\x97\x4f\xf2\x82\x16\x83\x33\x13\x46\x13\x83\x17\x91\x63\x71\xc0\xe2\x75\xfe\xbe\xf0\x98\x97\xdf\xef\x46\xe3\x96\x07\xca\xb2\xf7\x35\x12\x71\x4e\xfc\xea\x35\x06\xc9\x0b\x6a\x8b\xae\x99\x38\xa2\x54\x44\x8e\xe3\x81\x4b\xa8\xd4\x4f\x04\x9c\xfc\x41\x54\x80\x6c\xd0\x62\x7d\xe5\xb9\x03\x4c\xac\x5b\xe6\x21\x6c\x6d\x25\xb4\xfd\xaf\x20\x73\x8e\x0b\x38\x9d\x3f\x3e\x48\xed\xed\x5b\xc4\x71\x01\x47\x45\x31\xfd\x32\xcf\xe2\x74\xc5\xd5\x40\xcf\x26\xc9\x68\x8b\x26\xee\x36\xaa\xf0\x55\xf9\x5b\xa4\xe1\x10\x75\x8e\x18\x5a\x8a\x2e\x5b\x2c\x3d\xe8\x95\x37\x86\x50\x01\xf5\xf9\x94\xe5\x6c\x43\x99\x37\xd3\x07\x8f\xda\x90\xe2\x79\xf9\x5e\xb1\x4a\x1f\x16\xc9\x68\x8b\x16\x98\x36\xa0\x25\x30\x90\xde\x57\xe1\xfa\x4c\x29\xe2\x58\x3e\xe3\x1d\x6e\xb4\x20\x80\x38\x46\x0b\x3e\xd7\x02\xc2\xc1\x32\x5a\x6c\xd9\x84\x97\xc0\x33\x7a\xc7\xb8\xf3\x43\xe5\x0d\xe7\xcb\x35\x27\x0a\x88\x6d\xb4\x18\xf1\xd1\xf8\x2b\x07\xcf\x68\xf1\x60\x0d\x29\x81\x61\xf4\xc6\x70\xfb\x27\x76\xdc\xaa\x9f\xf0\x62\x95\x15\x38\xc4\x27\x5a\xac\xf7\x38\x7f\x58\xcc\xb2\x15\x8b\x4e\xa4\x05\x73\xcd\x98\x09\x1c\xa3\x37\xfc\x02\x1f\xdb\xd7\x4a\xf4\x8f\xf9\x55\x4b\x38\xd1\x40\x0c\xa4\x05\x67\xfb\x6e\xc4\xab\xec\x2e\x5a\x2b\x6c\xe9\xc4\x24\x23\xea\x44\x24\x33\x69\x84\x9e\x6e\x92\x0f\xa7\x74\x73\x9a\x97\x43\x6f\x8c\xbd\xca\xee\xc2\x7a\x63\xcd\x88\xa0\x26\x6e\xda\x91\xac\xed\x41\xfb\x69\x3a\x4f\x67\xbf\xa4\xb3\x47\x9f\x06\xd9\xd1\x68\x07\xd3\x48\xf7\xbc\x47\xe2\xd9\x51\x67\xa3\x52\x6b\xa5\x35\xbf\x10\xd0\x4a\x5b\x17\x2a\x45\x29\x1f\x4b\x46\xc4\x61\x52\x2a\x2d\x04\xb9\xa7\xbb\xec\xd6\x0f\x97\x0b\xc0\xfc\x8b\xbf\x3c\x44\x9c\xe6\x9a\x9f\x2e\x97\xb9\xc7\xb1\xab\xbf\x41\x6b\x8b\x96\x3c\x52\xf0\x11\x0c\x0f\xbd\x57\xdf\xf6\x6d\x5d\xc5\x56\xf9\xef\x5e\x25\x5b\x16\xc0\x90\x8d\xa1\x25\x7f\x7c\x6f\x37\x73\x62\xa8\x81\x26\xa3\x2d\x5a\xc6\xc7\xff\x9e\xb3\xad\x17\x1e\xdd\x10\x9c\xd7\x9a\x49\x9c\xf3\xbd\xc3\x8c\xb2\x5c\xa5\x42\x4c\xe7\xe3\x6c\xc6\xe1\xdd\xd1\x12\x35\x26\xbc\x04\x56\x91\x66\x3d\xd6\x0a\xd0\xf5\xa1\x9d\x12\xec\x1e\xf2\x52\x84\x2e\x14\x10\xdb\x68\x09\x99\xd3\x7f\x2d\xa6\x4b\x16\xa7\x9c\x96\x75\x31\xe1\x25\xb0\x8d\x34\x20\xa0\x29\x65\x75\x7c\x68\x5f\xd0\xda\x3e\xe4\x57\xd6\xea\x40\x01\xb1\x8d\x96\x49\x61\x4e\xa1\x5d\x65\x77\xd5\x68\xa5\x64\x34\xa2\x0e\x49\xf3\x1c\xa2\xe4\x33\x1e\xcd\x99\x01\xf3\x4d\x7e\x79\x8e\x46\xa2\x1d\x7e\xdb\xa4\x0a\x33\xcb\xc4\x5c\x4d\x32\x1a\xd1\xec\x9b\x4e\x13\x81\x7d\x74\x0b\xe7\x58\x02\x35\x75\x15\x92\xb6\xf2\x60\xa5\x73\xd9\x4e\xf2\xf1\xe3\x43\x36\x5f\xd5\xc3\xcb\xb5\x6b\xc7\xf6\xfd\xaf\x1d\x93\x21\xf7\x1f\xe3\x75\xd3\x8c\x0c\x8c\x70\xa9\x8c\xf9\x45\x01\xb7\x74\x7f\xcc\x24\x2b\xc6\xcb\xe9\xa2\xfc\x17\xf0\xaa\x97\x6a\x2a\x75\x92\xfd\x2b\x7d\x58\xcc\x32\xdc\xc5\x30\xc9\x74\xbe\x78\x5c\x81\xcf\xee\x54\xcf\xe6\x8f\x2b\xcc\xc3\xbb\xd5\xc3\x77\x15\xc3\xde\xa5\x8b\xee\xda\x9b\x9f\xda\x5f\x36\x36\x37\xff\x96\x8b\x4b\x86\x5c\xab\x0a\x40\xf7\xde\xe6\xe1\xc7\x4f\xc9\x43\xb5\x51\xe0\x7b\xd7\xde\xf5\xcf\xb9\xae\x5c\x93\xf1\xd5\x2f\x59\x2f\x59\xf3\xbc\x47\x47\xc6\x11\xed\xca\x1c\x09\x0d\x78\x45\x09\x40\x14\xfe\x22\x1c\x34\x20\x45\xe0\x59\xef\xbc\x91\x6f\x93\xf9\xa1\x4d\x2e\xb7\x1b\x09\x79\xff\xcc\x69\xbd\x91\x94\xa7\x77\x2c\x4f\x9f\x95\x1b\x49\x79\x76\xd7\xf2\xec\x45\xb5\x91\x94\x87\xf7\x0e\x9b\xcb\x4e\x84\x7d\x92\xa8\x17\xf2\x6c\xc8\xab\xb6\x2c\x65\x54\x5f\xe5\xf2\x1f\x13\x59\x62\x04\x75\xd7\xd3\xe3\x7e\xa6\xc1\x4a\xdb\x9d\x0e\x8e\x27\xcf\x9e\x25\x78\x91\xad\xe1\x6d\xfe\x67\x53\x5a\xa4\xfd\x43\x8a\xd8\x37\x3b\x58\x5b\x45\xda\xfe\x87\x6f\xc2\x6b\xb4\x0b\xc3\x5d\x45\x36\x13\x15\xe3\x5a\x22\x19\x17\xef\x0d\x44\x28\xd8\x26\x9b\xd7\x5c\x36\xd4\xdd\x7c\x27\x6e\x5b\xc7\xfd\x3f\xa3\x24\xef\x6f\x0b\x6a\x37\x2e\x70\x5f\x50\xf7\x7c\xbd\x75\x1d\x4f\xef\x88\x4f\x37\x9b\xd7\xf1\xf8\xae\xf8\x78\xbf\x9b\x7f\xdc\xda\xdc\xfc\xcb\x5f\xf2\xaa\xad\xaa\x7a\x73\x63\xb3\x7c\x37\x57\x97\x67\x63\x4f\xd8\xbd\xf5\x4a\x09\x92\x20\x20\x02\x1e\xf2\xda\xbf\xe0\x55\x4c\x92\x25\x45\xdc\x42\xb8\xef\xba\x08\xca\xb8\xdf\xf8\xef\x1d\x34\x7d\x28\xab\xfb\x27\x7b\x26\x64\x27\x50\x7e\xdd\xb8\x2d\xfe\x98\xa7\x0f\xb0\x4f\x57\x7b\x80\xc5\xb7\x79\xbe\x28\xa6\x05\xd2\x05\x2c\x1e\x1f\x1e\xd2\xe5\x37\xac\x13\x58\xed\xc5\x74\x26\x3f\xfe\x3a\xcf\x67\x59\x3a\x37\x7a\x83\x3f\x8e\x36\x93\x6c\xfe\xdb\x2f\xe9\x12\x44\xb1\x57\xa1\x28\xb9\x02\x3e\xba\x5f\x3d\xba\xb8\xfd\xdc\xea\x5a\xe8\x85\x17\xda\x45\x88\x9e\xb7\xe4\xa2\xcc\x5e\x14\x37\xae\x46\x46\x54\xec\xa0\x5d\xa6\xb9\x74\x20\xb8\xa1\x1d\xbb\xf7\xe9\x83\xea\xa3\xd9\x3c\xba\xeb\x66\x63\x20\x5d\xba\xeb\x7a\x63\x58\x9d\xba\x52\xe8\x3b\x97\xae\xd9\x16\x06\xa7\xce\xe8\x5b\x56\xfb\x41\x79\x78\xdf\xf2\xf0\xcd\xb7\x85\xfa\x85\x2f\x2c\x8f\xb6\xe2\xce\xed\x89\xa8\x3a\x33\xbe\x3f\xe2\x34\x47\x2c\x5e\x89\x13\x03\xc6\x37\xa9\x24\x0f\xeb\x94\x74\xb2\x87\xf5\x4a\x5a\xe9\x43\xfb\x25\xad\x04\x0a\xb7\x31\x56\x12\x2a\xb9\x23\x8d\xe0\x39\x80\xee\x89\x8f\x57\xa2\xe7\x78\x78\x5f\x7c\xb8\x15\x3e\xc7\xf3\x2f\xdc\xf7\x34\xba\x85\xae\x59\x72\xcf\x12\x55\xe0\x5a\x2b\x48\xde\x15\xd4\xac\x97\x78\x81\x9f\xdd\x0a\x8f\xdf\xa7\x43\x77\x08\x82\x9f\xae\xa3\x67\xbd\x37\x10\xfe\xfc\x7a\x2b\xf8\x7d\xfd\x4e\xf0\xd7\xab\xd8\x69\x1f\x0f\x94\x0b\x82\x1f\xdf\xee\x6b\xe8\xeb\xad\x2e\xd8\x7d\x75\x37\xca\x8f\xce\x94\x3d\xb8\x08\x3a\x15\xce\x55\x10\x89\x69\x29\x08\x5b\x86\x5a\x71\xf9\x89\xc0\x5e\xa8\x08\xa8\xc8\x69\x12\x00\x54\xb3\x81\x9f\x5e\x2a\x61\xbf\x0f\xdf\x0f\xfd\x70\x19\x35\xed\xb3\x81\x5a\x0a\xf0\xb3\x9b\x2f\xf1\xfb\xf2\x17\xa1\x5f\xae\x61\xa7\x7d\x7c\x9d\xae\xe1\x39\xb0\x36\xe7\x62\xd6\x13\xab\x12\xdb\x26\x1f\x59\x95\xf7\xcd\x67\x56\x5c\x72\x61\x44\x49\x2e\xd4\x47\x56\x4a\x56\x64\x27\xce\xb9\xcf\x16\x1c\x8c\x73\xf0\xab\xb1\x11\x5d\x68\x38\x7e\x49\x3b\xfa\xc1\xf0\x86\x3e\xfb\x99\x82\xee\xb6\xc3\x9f\x31\xe8\x6e\x3b\xfa\x19\xb3\x05\x4c\x67\x29\x6d\x3b\xc7\x3f\x4c\xb9\x23\x6b\x2c\xa7\x29\x37\x0a\xcc\x71\x0a\x0c\xc3\x8e\x68\x61\xd8\x6d\xf9\x6c\x82\x8a\x23\xef\x50\xce\x27\x1a\x23\xdb\x8f\x18\xe2\x84\x62\x90\x22\x15\x79\xc4\x33\x8a\xe9\xd3\x6b\x8e\x0c\x71\x44\x31\x7d\xbb\x8a\x3d\xe2\x09\xc5\xf4\xf1\x82\x7c\x0d\x71\x4c\x31\xad\x80\x91\x84\x88\x67\x15\xde\xef\xa7\x49\x3f\xf7\x87\x93\x84\x5f\x29\xe7\xab\x92\x4d\x43\x88\xbd\x52\xce\xa7\xe0\x8d\x28\xf0\x5c\x1a\x8e\x26\xe3\x7c\xaa\xcd\x5f\xac\x43\x74\xda\xae\xff\xd7\x86\x29\x33\xd2\x51\x5b\xfa\xdc\x2e\x59\x49\x6c\x3f\xd9\x73\x35\x9f\x18\xd3\xfa\x74\xf2\xaa\x9a\x36\x03\x81\x5a\xe7\x89\x50\x3f\x81\x6d\x36\x71\x2c\x89\x90\xef\x84\xc4\xc0\xe3\xd6\x2f\x63\xb9\x82\xb3\x82\xdf\x21\x35\x46\x52\xc9\x37\x81\x91\x8e\xed\x3d\xfe\xbe\x0c\x42\xf1\xf5\x34\xec\xc0\x8d\x60\xfb\x78\x59\x6a\xcb\x3b\xbc\xc5\xc9\xcd\xdc\xb6\x4a\x52\x4c\x79\x57\x77\x84\xf9\x1e\xeb\xdf\x64\xab\xb7\xf9\xed\x55\xf6\xcf\xc7\xac\x58\x85\x9e\xe7\x65\x60\x84\x83\xbc\xf9\x45\xf3\x09\xfe\x1f\xf9\xed\xd9\x04\x77\x82\xe7\x38\x62\xcb\xa4\x45\x3b\x5b\x4b\x68\xc0\xa3\x14\x40\x14\xfe\x34\x8d\x06\xe4\x73\x8c\x9e\xde\x6d\x8c\x5e\xbd\x7a\x65\x3a\x46\xdb\xcf\xcf\x6f\x4b\xf6\x6e\xe4\x9b\xff\xc9\x66\x45\xf6\x7f\xa4\x73\xed\x0f\x88\x73\xad\x4d\x9e\x63\x1c\x68\x65\x5c\xbc\x27\x59\x14\x6c\xd3\x06\xe9\xce\xae\xf5\x42\x02\x67\x57\x8f\x95\x6c\x41\xc7\xf1\xa9\xed\xfc\x53\xb1\xb2\x7a\xd3\xa5\x22\x7d\x9b\xdf\x16\x2d\x62\xce\x1a\x6f\x15\x76\xa0\x92\x55\xc1\x11\xd4\xac\xed\x55\x5b\xa5\xf7\xef\xed\xad\xff\x5d\xc1\xf4\xaf\xed\x2f\x55\x4a\xd7\x8a\xe8\x2a\xbb\x7b\xde\x3d\x2a\x52\x98\x57\x9a\xb6\xfc\xa3\x03\xd9\x0e\x23\x02\x01\x36\x0f\x2a\xe0\xd2\xc5\x62\x36\x1d\x57\xa6\xb4\x03\x79\xd4\xff\x06\x83\x15\x1e\x56\x40\xaf\xaa\x4b\xf2\x97\xd5\xac\x98\x0e\xf6\x8d\xf0\x23\x0c\xbc\x1e\x34\xa3\xae\x40\xd3\xa6\xd0\x2f\x41\xdb\xf3\x00\xaf\x81\xd0\xec\xa1\x40\xfd\x47\x7e\x5b\xac\xd2\x55\x56\x15\x9e\xcf\x1f\x67\xb3\x57\xaf\x36\xf2\x57\x46\x6f\xb0\xd9\x17\xc9\xfe\xe6\xe6\xdf\xea\x88\xd7\x61\x9e\x2c\xd2\x2f\xd3\xb9\xbc\x8e\x97\xdd\x4f\x6e\xca\xfa\xe7\x0c\x42\x99\xb3\x94\xa8\xab\xa2\x1b\xcd\x10\x2b\x88\x40\x23\x00\x12\x86\x37\xc6\x04\x50\x31\xa3\xda\xce\xe5\x91\x76\xf6\x0f\xe8\x2a\x66\x59\x21\x00\xe5\xcb\x85\xa8\x67\xf4\x48\x3a\x48\x5f\xa3\x28\xf0\x35\xd6\xa2\x76\x81\x69\x6b\x15\x96\x1e\xb6\x07\x29\x13\x74\x0d\x8d\x3a\x51\x49\xc1\x14\x8a\xfa\x4f\xaf\x14\x03\xa9\xac\x95\x16\x8d\xc0\x46\xd1\xc1\xb4\x49\xfa\x53\xaf\x4c\x83\x99\x2b\xb6\xbb\xd1\x38\x2c\xea\x4e\x04\x9b\x5b\xa5\xac\x56\xc4\x95\x9b\xad\xdc\x29\xcb\x57\xe5\x0e\x3b\xc9\x66\xd3\x87\xe9\x2a\x9b\x6c\x6c\xfe\xad\x26\xe7\x32\x1d\x7f\xcd\x26\xa7\xf3\xc7\x87\x8d\xcd\xc3\x8f\xf5\x6f\xf5\x5f\x9f\x92\xe9\xab\xad\xbf\x4e\xff\xbf\x65\xe3\x93\xfd\x75\xfa\x7f\xff\xef\x66\x75\xfa\x7c\xdb\x28\xef\x8d\xe5\xc7\xe9\x27\xad\xac\xce\xb9\x28\x9a\xf2\xc5\xaf\x8a\xae\xb7\x11\xcb\xd2\xdb\x84\xf0\x2c\x94\xdd\x35\x8a\xe1\xaf\xab\xd8\x78\x3d\x76\x24\x74\x47\xda\xe9\x87\xba\x49\xb1\x75\xe0\x65\x5f\x6b\x25\x55\xd0\x97\xce\x3b\x56\xdb\x5a\xeb\xe7\x65\x74\xa2\x1f\xa6\x20\xdb\x86\x90\xb5\xca\x13\x89\x4a\xf5\xcf\x14\x74\x3b\x10\x3a\x51\x1b\x22\x51\x6a\x6e\x9b\x82\x73\x17\xc2\xd9\x28\x38\xec\x62\x8a\x1e\x9d\x82\x6a\x0f\x5c\x4d\x51\x51\x81\xdd\x0f\x6f\x05\xbf\xcf\x78\xdc\x13\xf4\x51\x55\x1b\xa9\x50\x2a\xfb\x78\x0a\xad\x2f\x5c\xb4\xea\xea\xc3\xde\x27\xe1\xa1\x02\xc4\x2d\xc0\xdc\x33\xdd\xc1\x4d\x9c\x25\x68\x2e\xf5\x64\xa2\x0d\xdf\x3b\x4d\x3b\x8d\x2a\x21\x42\xd7\xaa\x74\xb3\xa0\x3b\xe5\x01\xf7\x51\xdb\xd1\xdd\xa7\x85\x0b\x19\xd0\x54\xed\xcd\x76\xfe\x59\xc0\xa2\x5b\xe8\x9c\x08\xe9\x64\x39\x76\x0c\xb0\x4e\x18\x90\xdb\x02\x18\x0e\x0f\xf6\xc5\x4f\xf4\x75\x32\xdb\x77\xac\xaf\xe7\x92\xca\xa6\x80\x99\xdd\xa2\xaf\xed\x9c\x26\xe9\x64\xb9\x91\x3e\x34\xdb\x81\x2c\x1f\xc0\x76\xf7\xda\x74\x63\x1f\x05\x63\x1a\xc8\x7e\x37\x42\xb7\x08\x78\x2e\xb1\x62\x9a\x99\x65\xa0\x39\xc9\x38\xe7\x74\x38\xd9\x6f\xa6\x0d\xcd\x7f\x20\xed\x09\xf0\x1f\x58\x98\x7e\xe8\x89\xe0\xda\x04\x4a\x00\x80\xd2\x2d\x02\x9e\xcb\x3c\xd0\x68\x14\xe7\xa0\x4b\xb7\xda\xf7\x1f\x92\x02\xd4\x59\x43\x7a\x9f\x75\x5c\x8a\x5b\xf3\xfb\x8e\x4e\xf1\x5c\x56\xc5\x71\xc5\xe6\xb1\xc5\xa4\xac\x37\x3f\xcd\x88\x2d\x3c\x95\xd3\xc0\xff\xfe\xf7\xc7\x4f\x9b\xff\xf9\xc1\x03\xaf\x70\xc8\x27\x65\xa3\x95\x34\x34\x29\x80\xa8\x88\x13\xb0\xe0\xad\x48\x49\x07\x8a\x2a\xb9\xec\xb9\xa9\xbb\xe3\x01\xe3\xb6\xd6\xa3\x1d\xce\xc9\x3d\xee\x7d\x6d\x20\x10\xbd\xb3\x81\xe1\x47\xd0\xce\x76\xad\x4d\xb7\xb7\xfb\xa3\x59\xe8\xee\x76\xa1\x03\x6e\x6c\xc0\x21\x2d\x16\xf9\xbc\xc8\xf4\xbc\xd9\x88\x23\x6f\xd6\x00\x67\x4b\x9c\x35\xf0\xbc\x32\x67\xca\xbb\xb6\xd4\xd9\x3f\xf2\x5b\x78\x04\xd0\xdb\xe6\x21\xd7\xfc\x9f\xb7\xf9\xad\x38\xee\x87\x2b\x4d\xa3\x2f\x01\x77\x9e\xa6\xc1\x30\x40\xa2\xa6\xc6\x44\x08\xff\xd9\x48\xf3\x49\xd5\xc0\xb0\xd6\x96\xab\x79\x9b\xdf\xe2\x33\x34\xa5\x9c\xc1\x63\x65\xca\x6f\xa6\xa6\x64\x74\xb1\xf3\x8b\x50\xc3\x2b\x1d\x37\x44\xad\x69\xa1\xb8\x31\xea\x06\x5d\xac\x20\xb5\x1b\x3c\xa6\x39\xa2\xd7\x5e\x88\x99\x2b\xce\x78\x75\x29\x7b\xd8\xc0\xaa\x33\x5c\xe9\x0c\x54\x1b\x64\x29\x28\x5e\xa9\xc9\x83\xb0\x26\x11\xea\x32\xdf\xe6\xb7\xd8\x90\x9a\x41\x52\x0d\x94\x91\xcb\x30\xd1\x51\x4b\x0d\x7f\xa3\x39\x02\xcb\x30\x47\xae\x32\xcc\x72\x79\x68\x2a\xdb\xe0\x1d\x23\x3c\x63\x92\x57\x6c\x12\x91\xe8\x6e\x71\xa3\x63\x91\x31\x39\x93\xac\x04\x39\xc6\xe8\x50\xa7\x99\x0d\x31\x3d\x63\x0d\x63\x98\x6b\xbc\x1d\x5c\x77\x7b\xbd\x5a\x66\xe9\x03\x6b\xf5\xad\x0c\x92\x5c\x83\x6b\x7e\xfd\x09\x55\xe2\xca\x04\x46\xae\xc7\x95\x90\x21\xeb\x41\x01\x02\xa9\xb5\xb9\x68\x70\xdf\x57\x85\xae\x4d\xf2\xe3\xd5\xe9\xca\x18\x63\x54\xeb\xa2\x30\x0c\x50\xb3\x6b\x5b\xdb\x21\x2a\x77\xed\x7c\x8d\x5a\xbf\x2b\x23\x6f\xf4\xbc\x78\xad\xe6\xab\x8f\x1f\x47\xc9\x76\xf2\x22\xd9\x49\xf6\x93\xdd\x64\xef\xd3\x27\x22\xb0\xd3\xdf\xb2\xf9\xea\x38\x2d\xb2\x57\x7f\x9c\xfe\x72\xfa\xfe\xe6\xf3\xfb\x8b\x9b\xcf\xd7\xa7\x37\x87\x5b\xc9\xc5\xe5\xe9\xfb\xc3\x51\x72\x7d\x73\x74\x73\x7a\xb8\x9d\xbc\xbd\x78\x7d\xf8\x22\xb9\x39\xbd\x7a\x77\xf6\xfe\xe8\xfc\x70\x27\x39\xb9\xf8\xf5\xfd\xf9\xc5\xd1\xc9\xe1\x7e\x72\x7a\x75\x75\x71\x75\xb8\x9b\x1c\x5f\xbc\xbb\x3c\x3f\xbd\x39\x3d\xdc\xa3\x7e\x94\xc4\xce\x9e\x28\x17\x4b\xc7\xf9\xc3\xe2\x71\x95\x55\x97\x93\x96\x0f\x03\xbe\x04\xb8\x96\x1f\xb7\xc2\x3b\x4e\xac\x5f\xc5\x60\xfa\xe8\xe1\x1d\xe7\xfb\xc6\x10\xcf\xf2\xd5\x1f\xf9\x22\xeb\x63\x30\x17\x8b\x0c\x88\xbe\x18\x71\x94\xaf\x29\x75\xbc\x55\xec\xb5\x83\x5b\x5d\x4a\xea\x01\xb8\x7a\x4f\xaf\x10\xee\xe0\xbe\xcd\x6f\x3d\xa0\xbe\xcd\x6f\x8f\xef\xd3\xf9\x17\x15\xf2\x2a\x5b\x3e\x4c\xe7\xe9\xac\xaf\x92\x6e\x7e\xf0\xc0\xd1\xbe\xaa\xa0\x98\xe4\xbf\xcf\x67\x79\x3a\xe9\x50\x9c\x34\x3f\x78\xa0\x68\x5f\x55\x50\x64\xcb\x65\xde\x17\x7a\xd7\xb7\xe4\xd0\x81\x57\xef\x29\x90\xc7\xcd\x1d\x6d\x1d\xf0\xf6\xd2\x36\x0f\xf8\xed\xab\x8e\xd8\xdd\xd2\xea\x60\x2d\xf1\x0e\x56\xec\xf8\x9d\x09\x1b\xd1\x94\x87\xc7\xf1\xa8\xf0\xd6\x16\xcb\xb3\x6a\x0f\x7c\x84\xcf\xae\x80\xe0\x90\x5a\xa5\xde\x88\x71\x3f\xbb\x5e\xc2\xc7\xff\x1c\xba\x0d\x26\xba\xd6\x9d\xfa\x94\x4a\x3a\xd5\x9d\xde\x0b\xa4\xbc\xd7\x9f\x30\xf5\xa5\x86\x26\x96\x98\x3b\xf5\x69\x20\xe9\x9d\x5a\x46\x94\x78\xb7\xca\x5f\x9f\x25\x4a\x27\xbf\xd5\xd5\x81\xe4\x77\x2a\x1f\x26\xbf\x33\x2c\xc4\xd2\x79\xbb\x35\x08\xa4\xbd\xb6\x28\x30\xe1\xb5\xc5\x22\xd6\xd4\x3b\x6d\x4c\x20\xe1\x9d\xa9\x82\x69\xef\x0c\x62\x78\xc4\x1e\x70\x30\xe3\x9f\x30\xa3\x44\xee\x29\x28\xf0\x35\xe6\x9d\xdb\x4a\x29\x2f\xb7\x1b\x12\x64\x10\xbf\x77\x6a\x29\xf1\x7b\x87\x2d\x40\xe2\x6d\x9d\x5e\x4a\x91\x33\xa0\xc7\xb1\xe5\xe7\xa2\x3f\x4c\x29\x77\x77\xeb\x62\x24\x76\xc9\x55\x56\xb0\x3b\x87\xe1\xbb\x55\x29\x12\x7b\xef\x48\x53\x6a\xee\x1d\x9a\x10\x89\x57\xf2\xb1\x29\x35\xf8\x6e\x5d\xc6\x7f\x17\x80\x7d\x3f\xc5\x38\x16\xab\x47\x4e\xaf\xb3\xb1\x04\xc4\x1c\x1d\xe6\x0f\xf9\x3a\x5d\xd6\x98\xc7\x92\xda\xd1\xf6\x5f\x6d\xee\x03\x0a\x04\xd4\xe7\x94\xa2\x1f\x4f\x92\xc0\xd0\xae\x59\x90\x07\x33\xbf\x2e\x83\xc4\x69\x83\x5d\x78\x14\x46\x30\xab\x88\xda\xf6\xc5\xd0\x11\x5a\xf4\xc8\x4b\x49\xc8\x50\x6c\x95\x52\x8b\x65\xf6\xdb\x34\x7f\x84\xaf\x06\x19\x25\x5b\x9b\xc9\xf8\x71\xb9\xcc\xe6\x98\xa1\xac\x5b\xc4\x80\x97\x58\x68\xd5\x44\x6d\xaa\x1b\x58\xa7\xf3\x2f\xa4\x8b\x45\x38\xaa\xa8\x28\xc7\xde\xa8\x8a\xaf\xc2\xe9\xb7\xff\xc0\x53\xba\x97\xea\x03\xa1\xc6\x9f\xf7\x5a\xf7\xf2\xfe\xd0\x64\x2b\x6a\xe1\xb5\x0e\x7c\xad\x1f\x6e\xce\x38\xb5\xec\x52\x4f\xf5\x55\x65\x03\x63\x19\x97\x31\xb6\x60\xbe\x42\xe4\xb8\xdd\x01\xb1\x8e\x65\xaa\x0a\x1b\xcc\x3a\x38\xcf\x0d\x9c\xe6\xc1\x89\xc8\x75\x50\xdb\xfa\xf1\x95\xd0\x9b\xdb\x88\x99\xe0\xca\x56\x92\x55\xcd\x9f\x15\x9f\x6c\x65\x4c\x7d\x70\x5b\xef\xfc\xb4\x9c\x86\x9c\xc7\x11\x67\xa5\x56\x47\x43\x27\x35\xa6\x7b\x3f\x42\x45\x44\x58\x0e\xdf\x44\xa6\xb3\x5c\x04\x29\xa7\x06\x22\x9c\x19\xcd\x92\x0b\x81\xf9\x4c\xc3\x4a\x34\xec\xf6\x1d\xf5\xc9\xb2\x10\x1a\x0d\x94\x75\x00\xaa\x85\xb0\xeb\xf0\x36\xbf\x65\xac\xa6\x2a\x35\xae\xb3\x9f\x0d\xbb\x34\x12\x59\x5c\x5d\x83\x28\xe4\x6d\x49\x9b\xbb\x9a\x0d\x51\x3d\x85\xc2\x76\x9f\x16\x66\x5c\x01\x3d\x83\xe8\x2d\xd0\x6a\x9b\xa8\xb7\x91\xa0\x37\x83\x4e\x8d\xd7\xad\x24\xac\x07\x85\x3e\x5c\x15\xe3\xb0\x60\x4c\x0a\x7b\x1d\x18\x74\x48\xb6\xdc\x7b\x98\x67\x1f\x2d\x59\xea\xc8\xef\x44\x75\xd3\x3b\xbc\x7e\xce\x10\x2a\x2d\xe5\xe5\xae\xa3\x20\x47\xa9\x5c\x1b\xb4\x33\xa2\x73\xa9\x59\x6a\xe2\x1c\xbb\x76\x30\xff\x18\x8c\x70\x73\xfa\xc8\x20\x32\x93\x1a\xf8\x01\xe5\xcd\x7a\xf7\x1d\x70\x70\x2b\x8a\x63\x42\x37\x53\x66\x41\xf2\x74\x4e\x7c\x1c\x57\x13\x01\x71\x1d\x14\x13\x46\x4f\x27\x65\xc4\x6d\x8d\xbb\xfc\x49\x0c\x63\x6c\x2a\x6d\xf2\xb2\xc5\x1a\x20\x9b\x29\x9e\xa4\xab\xf4\x3a\x7f\x5c\x8e\xb3\xab\xec\xae\xaf\xce\x12\x7f\x85\xcd\x73\xff\x78\xd5\xb8\x3f\x8c\xb5\xb6\xd7\x04\x44\x35\xd6\x2d\x5a\x3f\xc5\x8c\x29\x64\xf0\x32\xd5\x18\xc0\x6b\xb1\xd4\x8a\x70\xd0\x0c\xb7\x22\x58\x88\xea\x0f\x49\x70\x79\x2d\xba\x61\xe7\x0f\x66\xd0\xa1\xac\x2d\xa7\x3d\x87\x70\x21\xcc\xb9\xae\x3f\xa8\x86\x5d\xe1\x3c\x97\x9d\x37\xf0\x50\x25\x97\xd7\xe0\x2b\x1f\xe2\x61\xff\x8d\x62\x67\x23\x39\xaa\x23\x60\xa0\xa4\xf2\x03\xa0\xe5\x6b\x3d\x02\x59\x2a\x3c\x7d\x03\x03\x11\xf7\x69\x01\x91\x10\x30\xeb\xcc\x5d\xc3\xc1\x39\x32\xc1\x8d\x29\x86\xbf\x61\xaa\xd6\xf6\xf2\x37\x34\x40\xe6\xaa\x82\xec\xb7\x6c\xbe\x82\x27\x2b\x9c\x76\x8f\xb9\x66\x2b\xb8\x09\xa9\x60\x48\xb3\x17\x6e\x2b\x7d\x98\x4d\xb0\xf9\xc0\x6d\x2d\x1f\xc8\x59\x07\x61\xaf\xc8\x8c\xea\xbe\xb4\x68\xfd\xcc\x10\xa6\x8c\xd4\xcb\x7d\xc1\x00\x7e\x5a\xd5\xdb\xb2\xa0\x05\xd6\x71\x2b\x52\x0b\x4f\x72\xa8\x77\x88\x35\x6f\x29\x66\x01\x5f\x37\x62\x1f\x2b\x09\x68\x50\x50\x83\xb9\x45\x50\x29\x1d\xa7\x5b\x04\xe1\xc2\x0c\x5d\x10\x15\x5b\xe8\xd8\x05\x8c\x20\x81\xc9\xbe\x4e\x38\xd4\x5c\xdf\xb6\x47\xae\x4f\x41\xae\x34\xf0\x6d\x27\x3b\xc9\x6e\xb2\x97\xec\x27\x2f\x92\x03\x72\x03\x9f\x02\xdb\xd1\xcf\x77\x7e\xf6\xfe\xf4\x70\xbb\xea\xe7\xfb\x70\x7d\xb8\x93\xbc\x3f\x7a\x77\x7a\xf2\xf9\x97\xa3\xf3\x0f\xa7\xd7\x87\xbb\xc9\xd5\xd1\xaf\x87\x7b\xc9\xcd\xd1\xeb\xf3\xd3\xc3\xfd\xe4\xfa\xe6\xf4\xf2\xf3\x9b\xab\x8b\x0f\x97\x87\x2f\xaa\x3f\x0e\x0f\x02\xbf\x5a\x72\x2c\x87\xeb\xf0\x73\xac\x7d\x84\x86\x3f\xeb\x37\x47\x70\x4d\x64\x43\x1e\xec\xa0\xc8\xe0\x6c\x61\x91\xd5\xf4\x21\x2b\x56\xe9\xc3\xa2\xef\x89\x6b\x7f\xa9\xb6\x4a\xf1\xbc\xfb\x5b\x29\x3b\x92\xae\x06\x39\x07\xaf\x05\xc1\x10\x5b\x42\x31\xb4\x19\x3e\x16\x52\x9f\x61\x53\x5f\x10\x84\xa9\x86\xa3\xe0\x9a\xa7\x0f\xd9\xe4\x97\x74\xf6\x98\xf5\x08\xdf\xf7\xbf\x85\x63\x15\x80\x29\xa8\x97\xe9\xef\x1d\xca\xab\xf4\xf7\x70\x54\x57\xe9\xef\xda\x35\x31\xb7\xb3\x4c\xb8\x1f\xe6\x76\xc6\xc0\xb1\x0a\x8c\xc6\xb2\x6c\x51\xed\x48\x81\x6b\xcd\x2f\x1c\x8c\x6b\x40\x19\x90\x4a\xf8\x78\x50\x0d\x14\xe2\x83\xdc\xa2\x41\x3c\xe5\xc6\xc1\xe3\x50\x62\xd1\xbc\x66\x10\x7c\x6c\xdf\x59\xd0\x87\x9a\x2b\x2c\xea\x4a\x44\xfb\x59\xa7\x67\x39\x1a\x16\x0d\x9a\x94\xab\x93\x4e\xd0\xcd\xf0\x57\x9d\xeb\x57\x91\x84\xf5\x03\x4a\x0a\x9b\xf7\x93\x1a\x23\x80\xeb\xd0\xd4\x8a\x27\xfd\x1a\xed\xec\x16\x81\xf7\xdb\x44\x53\x03\x7f\xa0\x68\xe5\x38\x1a\xf3\x74\x63\xc4\xfb\x75\xa5\x75\x83\xbf\xaa\x34\xa4\x1c\xbd\x9d\x26\x9b\xc7\xfb\x3d\xb5\x19\xc5\xdc\x4a\x54\x5a\x6d\x8e\x56\x61\x9b\x59\xe5\xde\x61\xad\xb5\xc6\x6c\xb2\xd6\x49\x90\xbf\xef\x80\xeb\xfb\xf8\x3f\x0d\xf9\x55\xd1\x03\x12\xea\xe1\x64\xf8\xb0\x84\xf3\x14\x1e\x25\x38\xe1\xc4\x88\xef\x2c\x95\x4f\x3b\x86\xe4\x8d\x68\xd4\x91\x1d\x7d\xe7\x96\x1b\x75\xe8\x6d\xa3\x26\x1b\x4c\x68\x5e\x95\x2b\xb1\x19\x1a\x39\x25\xbb\x89\x24\x44\x3d\x41\x05\x77\x57\x3a\x2c\x1d\x92\xa4\xf6\x84\x15\xdc\x6d\x69\x30\x4b\xe8\x8b\x9e\xda\xf3\x57\x70\xa3\xab\xd1\x96\xa0\xa5\x44\x3c\x99\x05\x37\x1c\x5b\xd5\x3f\x81\x1c\x13\x25\x07\x1c\x94\x0c\xd5\x12\x6b\xde\x2d\x03\x84\x8e\xf4\xa0\x06\x47\x04\x49\x81\x6a\xce\x77\x35\x61\x1a\xd4\x90\xc5\xe4\xa1\xf8\x82\x68\x8c\x2b\x9f\xac\x4e\xf5\xc8\x2c\xd6\xce\x30\x59\x2c\xf7\xd1\x61\xc0\x83\x7a\x43\x03\x8b\xe1\x86\x4f\x42\x1c\xc7\x76\x18\x4b\xfc\xae\x38\x79\x46\xa4\xf1\x60\xd7\x67\x97\xda\x87\x6b\x57\xee\x5d\xf1\xc5\x70\xb2\xd5\xf3\x50\x03\xba\x7c\x9a\x6e\x59\x97\xe7\xe7\x76\x09\x22\x3a\x80\x6e\xc4\x98\x54\x55\xe7\x28\x39\xa7\x59\x76\x89\xa4\x52\x0a\x1c\xcf\x6e\x8b\xcf\xaa\xe6\xac\x92\x92\x9d\xf0\x84\x93\xc6\xf6\xee\x33\x86\x98\x99\x89\x16\x45\x8d\xa6\xf8\xb3\x34\x11\x0b\xf5\xae\x00\x5b\x70\x6c\x7d\x68\x71\x56\x49\x22\x88\xb6\x44\x3e\x6d\x69\x28\x59\xca\x16\x41\x6d\x4a\x3b\x3e\x6d\x4a\x28\x81\x12\x09\x23\x76\x2c\xed\xf0\x77\x2c\x99\xce\x67\x03\x38\x7a\x6a\x9e\x8c\xc3\xcd\x93\x60\x9a\x9d\x3c\x8c\xdf\x36\x6a\xfc\xb6\x6f\xb3\x0c\xe7\xe3\x0d\xe5\xb1\x99\xe3\xd7\x43\xfa\x6b\x25\x05\x2c\xc6\x16\x0a\xc5\x73\xf8\x6a\x10\x8e\xa1\x3d\x35\xdd\xf9\xb2\xb9\x69\xd7\xa5\xec\x0d\xe4\x7f\x29\x1b\x7e\x5d\xde\x97\x2b\x2e\x14\xd1\xf7\x72\xa1\xc5\x78\x5e\x80\x2b\x35\x92\x5d\xa9\x6f\x55\xbc\xc4\xe9\x78\xf1\x72\x33\xc4\x57\xe0\xf0\xa8\x34\xe1\x0a\xf1\x14\x18\x9c\x29\x7d\x79\x2a\xa6\xac\xcf\x99\xd2\x17\x48\x21\xc8\xc7\x99\x8a\xe9\x1f\x5c\xa5\xbf\x0f\xe1\x1e\x28\xb5\x1f\x1c\xde\x81\x08\xd2\xec\x1c\x4c\xd2\x55\x7a\xd8\xf5\x54\x7d\x4e\x8b\xd7\xfb\xbb\x1b\xa5\x27\x30\xc9\x96\xcb\x27\x56\x89\xec\x48\x22\x0e\xe9\x10\x5c\xa5\xbf\xb3\xa8\x7f\x20\x1b\xca\xe1\x0e\x00\x28\xe2\x7b\x03\xaf\xbf\xad\xb2\xa2\x75\x06\x4a\x09\x43\x95\x04\x5f\x57\xd2\x37\x90\x33\x20\xef\xee\x75\xf9\x02\x8e\x1c\x44\x44\x57\xc0\x81\x15\xe3\x09\x34\x2a\xe3\xc3\x81\xd1\xc2\xd7\xbc\x57\xdc\x81\x8a\xb1\x11\x8a\x79\x65\x2e\x36\xb4\xad\xcf\x09\x30\x92\x53\x6b\x57\x27\x51\xb7\xe5\x9a\x1d\x55\x4a\xb8\xea\x4a\x6a\xde\xdc\xd8\x8c\x45\xd0\x87\x03\x0c\x3d\x1f\x0e\xa2\x92\x53\xa8\xec\x72\x87\x08\x4a\x9a\x78\x7d\x24\x6d\x75\x6a\x41\x0d\x0a\xa6\x6c\x33\x04\x53\xb4\x65\x52\xe9\x22\xc6\x52\xe2\xfb\x4a\x7d\x5a\x77\x08\x97\x49\xc0\xc6\xec\x39\x19\x20\x9b\x1d\xa8\x79\xfa\x00\x87\x4c\xea\xf0\xca\x6f\x25\xb8\xa7\x15\x5e\x11\x3e\x73\xad\x3e\x55\x4f\x07\x8b\x35\x75\x7d\x16\xaf\x87\x85\xc3\x34\x74\xd8\xa5\xa4\x0a\x19\x77\xa9\x68\x1f\xc8\xd5\x32\x2a\x87\x75\x79\x5c\x02\x31\xc3\x3b\x5e\x30\x72\x8c\xff\x55\xb1\x19\x1b\x8a\xa9\x19\x1d\x37\x14\x63\x64\x70\x43\xe8\xfa\x9c\x31\x8b\xd8\x29\x54\x0d\x1e\x98\xb1\x2d\x56\xf5\xd3\xfa\xc2\x33\xb6\xd5\x52\xc8\x1a\x3c\xe3\x25\x16\x8c\x0d\xd7\xd5\xae\xe3\x1e\xd4\xad\x61\x2f\x0b\x32\x81\x36\x3b\x36\x95\xb7\x02\xf7\xc2\xff\xd2\x3d\x16\xda\x0b\x6f\x70\xb9\x4a\xa9\x19\xdc\x13\x5a\x73\x7d\x90\x40\x08\xb3\x9d\x8b\x5e\x29\x84\x44\x35\xfc\x9c\x1f\xa2\x0b\x1a\xa9\xa5\x03\xd1\x37\xdf\x35\x73\x70\x0e\x06\x42\x29\xb3\xf5\xbb\x61\xeb\xa8\x43\x42\x60\x77\x5e\xa9\x2b\x6a\xbf\x21\x1a\xe6\x61\xbf\x91\x73\x45\x74\xb7\xc4\x76\x87\xbd\xe4\x9b\xd8\xef\xd8\x67\xa2\x2c\x64\x20\x8e\x7b\x0f\x18\xbf\xd2\xe2\xea\xd8\x3f\x93\xd5\x39\x14\x09\xec\x34\x84\x22\x94\x1a\x79\xe9\x64\x72\x93\x3b\x09\x64\xe3\x05\xab\xd5\xe8\x3f\xb5\x9a\xdc\xe4\x94\xb9\x76\x6c\x93\xb0\x07\x3f\xc6\x9e\x24\x50\x55\xe9\x9f\xce\x57\xcb\x6f\x43\xf8\x81\x02\x36\x66\x37\xd0\x00\xd9\xe1\x05\x22\xe3\x5b\xe3\x7c\x96\x2f\x9f\x56\x7c\x4b\xf8\xce\xb5\x3a\x75\x3d\x1d\x2c\x46\xd3\xf5\x59\xbc\x2e\x1d\x0e\xd3\xd0\xf1\x2d\x25\x68\xe5\x0c\x70\x1d\x97\x52\x39\x50\x80\xcb\xa8\x1e\xd6\xe5\x59\x09\xc4\x0c\xef\x58\xc1\xc8\x31\x01\x2e\x30\x66\x25\x45\xb8\x6a\x4e\xc7\x8d\x70\x19\x39\x1c\x16\xb4\xe1\x08\x71\x59\x04\x2f\x2c\x68\xc3\xe0\xc6\xd8\x96\xab\x62\xd5\xfa\x62\x5c\xb6\xe5\x52\xc8\x1a\x3c\xc6\x55\xd1\x75\x95\xff\x3e\x78\x80\xab\x43\x3c\x94\x57\x53\xe2\x8a\xe1\xd3\x88\x70\x2d\x33\x1e\xe7\xab\xe5\x14\x11\xd8\x3a\xed\x9f\x0b\x8d\x6c\x19\xbc\xad\x01\x23\x5b\xdd\xba\xac\xdf\x03\xba\xca\x79\x4a\xa7\xec\x9f\x14\xc1\xfb\x01\xf0\x3c\xcd\x68\x96\xe0\x70\xf2\x8f\xbc\x00\xfd\xc1\x76\x0a\x64\xbd\x85\xe2\x86\xb3\x0c\xaa\x6b\xad\x1e\x57\x49\xca\x9a\xfc\x2d\x07\x6a\x67\x14\x4b\x52\x75\x43\x84\xb1\x60\xef\x90\x6d\x3d\x24\xb7\x43\xf8\xd0\x35\x05\xb1\xfa\x2f\x0f\x0f\x62\x19\x25\xdf\xfc\x8d\xeb\x08\x61\x19\xc8\xeb\x75\xc2\xba\x03\x58\x02\x1f\xf8\xac\x84\x12\xbd\x72\x4b\x5b\x1b\xbe\x12\x37\x5f\x15\xbf\x0a\xa7\xc5\xe0\x3e\x26\xdb\x03\x38\x90\x83\x79\x8f\x51\x5c\x47\xf0\x2e\xe1\xfb\xca\xb6\xd5\x9e\xe3\xfc\x71\x36\xab\xee\xc5\x34\x2a\x8d\x46\x52\x93\xd1\xe6\xe6\xdf\xea\x23\xed\x61\x9e\x2c\xf3\xdf\x61\xaf\xf3\xaa\x79\x88\xc5\xe5\x14\x9d\x61\xd5\xe1\xe4\xbc\x3b\xd8\xb8\x9a\xeb\xf7\x36\xf9\x6c\xfa\x20\x7e\xe6\x93\x09\xb0\xa5\x93\xc9\xcf\xb5\xa8\xc7\x98\x71\xd8\x4a\x66\x84\x51\x6c\x80\xa7\xde\x78\xa5\xe5\x16\x1b\x32\x1e\xf8\x54\x1c\xd3\x75\x79\xa5\x21\x01\xc0\x9f\x7b\x95\xeb\xf4\x4c\x4d\xe1\xc0\x5e\x95\x22\x5c\xda\xe0\x21\x5f\x90\x03\xce\xb3\x94\x92\x37\x2b\x2c\x0e\xd6\x9b\xe5\xb9\x54\xc4\x26\xdc\x66\x8a\x2c\xbe\xa7\xec\xcd\xfd\xfb\xdf\x5c\xbe\x8f\xe4\x6d\x36\x04\x91\xbc\x4d\xc5\xcd\x64\x52\xee\x8a\x6f\xe8\xe6\x5d\xeb\x1b\x8a\xe2\xcf\xbf\x3e\xc2\x1e\x59\xe7\x69\xa8\xb4\x05\xdb\x11\x84\x51\xff\x36\xf2\x29\x88\x2b\xa4\x2b\x0b\x65\x49\x58\xe0\xf9\x67\x9b\xe5\xfc\x53\x59\xe1\x28\xe2\xed\x90\xab\x56\xb6\x3b\xf5\x1c\x3d\x69\xdf\xcf\xb3\x1b\xe0\x7c\x62\x9c\x74\xce\x33\xd0\x4d\x05\x6c\x8e\x6f\x8f\x67\x79\x91\x61\x3b\x77\x47\xc3\x4e\x5f\xb3\x8e\x95\x1d\x76\x00\x5b\x43\x06\xd3\x08\x2d\xc4\xac\x5c\x9e\x31\x6c\x08\x44\x51\x82\xd1\x62\x83\x6e\x9d\x7f\x3f\x2e\x65\x2c\x6e\x58\xd7\xb4\x69\xd7\x37\x26\x0d\x18\x88\x19\x75\x52\x1a\x80\xdb\x19\xd9\xad\x19\xa5\xf6\xdb\x8e\x38\x66\x99\xe9\xec\x69\xf1\x05\xb5\x4d\x8e\x58\x66\x50\x99\x64\x47\x25\x8e\xd8\x3b\x39\x8a\xde\x3b\x59\x4d\x3b\x1d\xc8\x44\xc5\xb0\x4e\x80\x61\x9a\x4e\x10\x75\x64\x5b\x9b\x09\xc9\x80\x55\x5d\xb6\xa8\xd1\xa4\x3b\xcd\x88\x2b\xd4\xc4\xd3\xdd\xea\xe1\xfc\x71\xb5\x78\x5c\xd5\xe3\x31\x2e\xaa\xff\x6f\x07\x64\x0c\x69\x32\xd7\x6f\x2d\xd9\x94\xe8\x10\x36\x72\xbd\x61\xb4\xb3\xf9\x6a\x67\xbb\x35\x93\x67\x13\xd4\xb8\x8b\xd6\x9a\x9a\x67\x94\x42\xd3\x4c\x77\xad\x03\xb5\x0c\x43\x52\xf7\x0e\x95\xc9\x1c\xf5\xb3\xb5\x70\x0f\x36\xfd\x34\x7b\x2a\x46\x7d\x4d\xf6\xdc\x67\xfe\xfd\xd6\x8f\xaf\xba\x79\xdb\x67\xd2\x7d\x78\xb5\xc8\xc9\x95\x70\x46\xb3\xbf\x4d\x18\x88\xba\x23\x8f\xed\x80\x66\xad\xee\x8a\x8f\x77\xaa\xd2\x39\x18\x64\x8f\xc7\x09\x91\xfd\x8f\xb3\x89\x6f\x0d\x1e\xfd\xa6\x5f\x48\xac\x25\x62\x9c\xce\xc6\xd9\x7c\xc5\x3d\x40\x55\x5d\x98\x70\xc7\x8c\x63\x9e\x85\xbe\x46\x61\x3e\x19\xcb\x20\x55\x75\xa9\xbc\xa7\xc7\xed\xb0\x4c\x9a\x55\x57\x28\x60\x7a\xdc\x4e\x8c\xe5\x09\x99\x58\xbc\x1b\x65\x85\xc2\xe6\x15\xef\xc6\x58\xa4\x5a\x05\xfa\x2d\xd2\x1e\xff\x22\x29\xfe\x2b\x75\x04\x51\xe3\x1e\x04\x4f\xfd\x71\x50\x45\x9e\x43\x14\x89\xa6\x42\xe7\x1d\x69\x18\xd1\x5e\xb8\x34\x49\x0b\xd4\xdd\x62\x03\xc9\x92\x1e\x23\x16\xae\xc0\x09\x4f\xf6\x48\x2b\x64\x20\x2a\xea\xc5\xfe\x56\x5a\xaa\x58\xb3\x6b\x89\xda\x60\x73\x7f\x5f\x90\xe7\xb5\xfe\x56\x12\xee\xd3\xc2\x45\x40\xb4\x8b\xfd\x0d\xb2\x72\x3e\x9d\x83\x26\x9e\x39\x81\x53\x5d\x58\x18\x9c\xbc\x91\x84\x4b\xfe\x0a\x8b\x5c\x55\x77\x11\x9b\xd2\x22\x41\x74\x28\xb7\x12\xb3\x4b\xaa\x85\x41\xad\x90\x56\x17\x50\x45\x90\x4f\x0b\x5a\xb7\x68\x32\x32\x15\xed\x34\x30\x0b\x67\x73\xf9\xe4\x0e\xab\x78\x22\x9d\x0d\x8b\x80\xee\x3c\x6d\x01\xb5\xb2\xa9\x15\xd1\xe6\x24\x18\x41\x48\xad\xa8\xdd\x62\xca\xc8\x5c\xf9\xd2\xb3\x81\x65\x55\xbc\x51\x74\x97\x55\x60\x8d\xdf\x44\x93\xda\xdd\xa7\x2d\xb5\x6e\xae\xb5\xa2\x2b\x5e\x68\x17\x41\x7e\xdd\x44\xb8\x85\x98\x91\xe1\xf5\x35\x79\x03\x0b\xef\x55\xfa\x7b\xb2\xc7\x2a\xb4\xd2\x37\xd0\x84\x75\xef\x69\x0b\xab\x99\x3b\x5d\x51\x44\xfa\x7b\x0c\xe1\x34\x23\x75\x0b\x25\x23\x43\xdb\x8b\x13\x07\x16\xcb\xfa\xc6\xdf\x7d\xde\xa3\x8f\xfc\x1d\x34\xd1\xdc\x7f\xda\xa2\x69\xe3\x51\x77\x88\xaa\x2e\xbf\x8c\x71\x80\xb2\x20\x76\x0b\x28\x23\x63\xc5\x2b\x35\x07\x77\x52\xdb\x2b\x9c\x5f\x30\xfb\xa9\xda\xf7\xd0\x84\xf5\xc5\xd3\x16\x56\x17\xbf\x7a\x6f\xb5\xbd\x26\x35\x8a\xc3\x6a\x27\xc0\x2d\xb8\x8c\x8c\x46\xde\xfa\x15\x41\x66\x93\x03\x76\x71\xf5\x95\xd4\x83\xa7\x2f\xa9\x80\x90\xc6\x92\x4f\xb2\x68\x06\x30\x55\x12\xca\x8a\x9e\x35\x56\x16\x87\x44\xd6\x24\xb9\x34\x7d\xc8\xb0\xcd\x94\x3d\x39\xe9\x64\x52\x93\xb3\xe6\xe6\xc9\x90\x3a\x0d\x65\x6f\x38\xe5\xa4\xeb\x90\xec\x1e\x0a\x2a\x82\x97\x04\xb4\xce\xe6\x67\x60\xba\x38\x62\x4a\x54\x92\x33\x9d\x9e\xf5\x8f\xf6\x3f\x5d\x2e\xf3\x65\x94\x82\xb4\x1a\x72\x68\x09\x9a\x0c\xc5\xd8\xb5\xb9\x7c\xf5\x47\x56\x3e\x75\xb8\x91\xd7\x05\xae\xd5\x3b\x55\x65\xc4\xdc\x70\xf1\x76\x2e\x17\x76\x2d\xad\x85\x5d\x4b\x72\x61\x57\x4d\xec\xb0\xa5\x5c\x15\x4e\xbf\x62\x19\x0b\xb9\x81\xe5\x5a\x20\xd4\x68\xc3\x34\x5a\x6e\x6b\xd3\x30\xe6\x88\xfb\xad\x9b\x2a\xa9\x5a\x76\x78\xab\x9e\xd5\x3d\x36\x58\x35\x54\x8d\x78\x80\xfa\x27\x27\x22\xd3\xa6\xfd\xa1\x76\x51\xba\xe1\x14\xdd\x8e\x6d\xca\x87\xc4\x29\x14\x73\xe0\x26\x69\x4f\x6a\x65\x5f\xa6\xfc\x89\xee\x61\xb7\xa4\x79\xb8\x22\xba\x50\xa8\x44\x44\x4d\xb7\xaa\xe8\x6b\x4b\x6d\x59\x85\xce\x48\x57\x6c\xf2\xf4\x63\x55\x8c\xf7\x69\x61\xc3\x07\x27\x54\x59\x6d\xe0\x71\xfe\xb0\x98\x65\xab\x38\xa3\x0d\x3a\xe0\xa1\x96\x50\x03\xc4\x63\x0c\x93\x65\xb5\xf3\xbb\xe7\x6b\x45\x50\xbd\x60\xa5\xef\x6d\x7e\xfb\xbc\x7e\x6e\x20\xc3\xda\x7d\xfb\xb0\xb6\xb5\x45\xeb\xa7\x7d\xed\x44\x07\x5a\x58\x0c\xe0\x98\x55\xd0\xdc\xb6\x96\x34\x7e\xa0\x97\x3d\xfc\x70\x01\x41\x5e\x61\xaa\x9a\x0d\x10\xa9\x4e\xda\xa0\x6b\x06\x73\x07\x3a\xdc\x03\x78\x04\x10\x2e\x57\x19\x34\xa7\x6f\x90\xc8\xc0\x04\xed\xa6\x40\x73\x0e\x07\x10\x04\x88\xcb\x09\x31\x08\xc2\x5a\xfc\x10\xa3\x40\x0e\xea\x8a\x18\x28\x88\xef\x8d\x18\x90\x06\x39\x24\x1c\xcc\xaf\x25\x8c\x31\xce\x2b\xe8\x4a\x7a\xa9\x8f\x59\x30\x54\x1a\xd1\x92\xe1\x53\xc6\x6d\x93\x0c\xeb\x42\x75\x29\xd6\x7a\x9b\xb3\xca\x86\x15\x29\x77\x8d\x95\x24\x13\x17\x8b\x6c\x1e\x3b\xf2\x5f\xe2\xf0\x10\x62\x49\x2e\x64\x3a\x69\xb1\xfd\x11\x11\x71\x78\x30\x5f\x91\x27\xcb\x22\xb7\xd2\x54\xfe\xb3\xaf\x2c\x49\x22\x64\xc1\xc3\xad\x5d\x94\xd4\x51\xba\x8a\x9e\x94\xaf\x90\x04\x89\x7a\xa1\x51\x1a\xb7\x2a\x94\x5d\x86\x6c\xeb\x2c\x56\xd5\x79\x27\xd6\x95\xa4\x8f\x19\x53\x54\x3d\xf4\x36\xbf\x8d\x2d\x44\x6f\xf3\xdb\xe3\xfb\x74\xfe\x25\xf3\x48\x9e\x4a\x82\x24\xd1\x1a\x37\x21\xce\x2e\x46\xe6\x75\x6e\x85\xe8\x6d\x7e\xcb\x22\x42\x66\x2c\xdc\x19\x6d\xb9\x38\xa8\x49\x89\x0c\x95\xc6\xf6\xa8\x1a\x95\x8b\x80\x34\x7a\xe3\x56\x01\xb3\x4b\x92\x63\xc1\xbb\x62\x9f\xe6\x11\x16\x99\x72\xe0\xe3\x2e\xef\x95\x04\xeb\x24\xff\x7d\x3e\xcb\x53\x30\xcb\x17\x2a\x58\x2d\x1e\x8f\x9a\x24\x49\xb0\x74\x7a\xe3\x16\x98\xb1\x0b\x96\x63\xc1\x5b\xc1\x6a\x1f\x61\x11\x2c\x07\x3e\xee\xe2\x31\x8e\xb3\xb8\x47\x54\xdc\xa3\x38\xd8\xe3\xb4\xce\x54\xf8\xcd\x2e\x4f\x51\xcf\xf9\x0c\xc7\xfb\x10\xe6\x54\xd7\xa0\xd4\xa7\xc9\xd8\x92\xd4\xe2\xf1\x28\xea\x95\x84\x49\xa7\x37\x6e\x6d\x36\xbb\x3c\x39\x16\xbc\x15\xa9\xf6\x11\x16\xa9\x72\xe0\x0b\xa8\xbe\xbe\x7a\x9c\xcf\xb3\xa5\x3e\xe5\x7b\xe7\x13\xf8\x8e\xb8\xa2\xaf\x3e\x7e\xdc\x4b\xf6\x93\x17\xc9\xee\x27\xf8\xc5\xbf\x4f\xe7\x93\xe3\xb4\xc8\x5e\xfd\xf1\xf7\xb3\xf7\x27\x9f\xdf\x5f\xdc\x7c\xbe\x3e\xbd\x39\xdc\x4a\x2e\x4e\xae\x0e\xf7\x92\xf3\x8b\xe3\xa3\xf3\xc3\xfd\xe4\xea\xf4\xdd\xc5\xcd\xe9\xe1\x8b\xe4\xe4\xf4\xf2\xea\xf4\xf8\xe8\xe6\xf4\xe4\xf3\xd9\xf5\xe7\xf2\xa1\x5d\xf8\x8b\xa4\xcd\xd1\x61\x74\x6d\x8e\x71\xfe\xb0\x78\x5c\x65\x95\xbc\x95\x0f\x03\xbb\xc3\xb0\x0a\x1f\xb7\x42\xe6\x0f\x6a\x84\x7b\x65\x07\x1b\x28\x84\x34\xa0\xf2\x86\x31\xdf\x37\x45\xce\x5c\x7a\xf6\x6c\x33\xb9\xfd\x76\x36\xb9\x98\xcf\xbe\xd1\xe6\x2e\xe5\x93\x3e\x99\x78\x31\x59\xba\x33\x83\x0d\xc9\x17\x27\x57\x4a\x96\x71\x96\x8f\xd3\x59\x07\xe7\xbc\xfc\x0b\x05\xa9\x7a\x52\xcb\x58\x3e\xe4\xab\x4c\xc8\x58\x96\x7f\xa2\xa0\xd5\x8f\x2a\xe0\x26\xd9\x62\x99\x8d\xcb\x4d\x76\x56\x5c\x4c\x96\xd8\xd5\xd9\xad\x56\xa7\x94\xcd\x7c\xde\xd6\xae\x39\xc7\xbe\x1f\x4b\x8f\xba\x86\xbf\x77\x4f\x8a\x93\xdd\x93\x59\x7a\x9b\xcd\x8a\x77\xe9\xa2\x5f\xc6\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\x67\x35\x7a\xed\xf0\xe3\xa7\x24\x9f\xcf\xa6\x73\xfc\xb0\xc8\x6a\x36\x5b\x72\x37\x5d\x16\xab\xeb\x2c\x9b\x77\xb8\x7e\x6a\x7f\xa9\x16\x5a\xe8\x3b\x57\x19\x9d\x2a\x2f\x9e\xa7\xa8\xf7\xd2\x49\xbe\x28\x85\xbb\x8a\x6e\x80\x02\x7d\x90\x6c\xb1\x8c\xba\x6f\xe4\x22\x5a\x5a\xb9\x86\x0f\xa6\xeb\x6c\x64\xe0\x13\xc5\x30\x84\xf8\x73\xb1\xe4\xfb\x1b\x91\x83\xb1\x5e\x37\x4a\xc9\x30\xc4\x0a\xb1\xb2\xa5\xa6\xc1\xe7\x81\x05\xed\x04\xe7\x81\x4b\x5d\x27\xd3\xb4\x8f\xa4\xa9\xd2\x59\x64\xaa\x6a\x4d\x07\xd3\x55\xeb\x4e\x99\xb2\x17\x48\xca\x6a\xfd\x47\x26\xad\x51\x9b\x98\xdc\x79\xa5\x8a\x6d\xc3\xcb\x44\xbe\x9f\xc8\x5a\xd7\x30\x1a\xcd\xf9\x41\x9d\x8a\xc4\x7f\x4c\xaf\x55\xe1\xfb\x03\x7a\x5d\xad\x10\x36\x2a\xa5\x38\x53\x94\xaf\x46\xc3\x86\x52\xbc\xfd\xfc\x5d\x6a\x98\x59\x57\xfe\x63\x22\xab\x14\xc1\xc9\xe8\x77\x14\xea\x99\xd2\xd5\x4c\x9e\x3d\xab\xe6\xca\x6c\xca\x24\x8f\x8c\x0c\xb8\xa8\xec\x82\xf2\x79\x2f\x9b\x75\x17\xe7\x8a\xa8\x1f\x27\xea\x70\x58\x24\x7a\xbb\xa1\x2c\xe4\x16\x3b\xaa\xce\xd2\xc8\x98\x0e\xba\xcf\x3f\x9d\x3f\x3e\xb4\x9f\x7f\x24\xda\x1b\x86\x6a\x0f\xcd\x49\x8c\x51\xd6\xd1\x20\xe1\xad\xdf\x70\x03\x75\x14\x6a\xfc\x55\x9a\x55\x87\xbb\xbf\xb5\x53\xf7\xc6\xc1\x75\x72\xb1\x46\xeb\x6d\x2a\x95\x1a\x7b\xae\x4a\x0d\x41\xc5\x23\x4b\x42\x7a\x5f\x54\xc1\xb3\x8f\xc0\x53\x2b\x6d\x74\xf1\x49\xe7\xa8\x2a\xa8\x5e\x20\x50\x35\x4a\x18\xc6\x65\x38\x6e\x66\xc9\xae\xba\xde\xbb\xf2\xad\xba\xb2\x6b\x8a\xb8\x4c\x63\xc7\x45\x72\xaf\x6a\xad\xe4\x6e\x68\x6a\xf4\xc7\xad\x92\xc6\xbc\xfa\xb1\xc2\xbe\xb1\x59\xe2\xcf\x55\x18\x1b\xa3\x6d\x41\x6f\xd6\xf0\x84\x7d\x27\x88\x1e\xea\x21\x61\xa6\x61\xad\x11\xb5\x49\xca\x23\x5d\x34\x65\x6f\x58\xe1\xe6\xcb\x44\xd6\x5c\x58\x41\x4c\xed\x20\x47\x5b\x58\x98\xe2\x0c\x49\x59\xc7\x09\x60\x2b\x45\x78\xe0\x1e\xce\xd8\x88\x9d\x04\xe3\xd5\x1f\x97\xa7\xef\x4f\xce\xde\xbf\x39\xdc\x4a\x2e\xaf\x4e\x8f\x4e\x2e\x2e\x6f\x4e\x4f\x0e\x47\x49\xfb\x7f\xdb\xc9\xd5\x69\x79\x9c\x3e\x3d\x39\xdc\x09\x3e\x70\x97\x9b\x98\xe7\xd0\xad\x9c\x47\x91\x07\x6f\xf1\x2d\xf3\xb8\xe3\xc5\x32\xbf\x9b\xce\xb2\x33\xe4\x09\x9c\x63\xa2\xb0\xcb\x87\xe5\x3d\xb5\x94\x38\xb0\x16\x09\x70\xa9\x91\xa7\x17\x00\x4a\xc4\xc1\xf7\xf2\xd1\xe5\xb2\x65\xab\x7f\x23\x88\x51\x84\x23\xba\x04\x0e\x83\x17\xe6\x16\x38\x00\x3b\xa7\xd2\xf7\x6b\x08\xb8\x06\xd4\x45\x14\x61\xfb\x0e\x82\x75\x0f\x5f\xb4\xf0\xce\x84\xd6\xe7\xb2\xf5\x40\xad\x58\xbb\x1c\x3c\x7a\x51\x8b\xae\x21\x35\xa3\xfc\x9e\x59\x37\x32\x2a\x3b\xcb\xd1\x98\x59\xdd\x55\x58\xb0\xfb\x0d\x3c\xad\x23\x55\x1e\x08\xc7\x47\xe9\xe9\xda\x2e\xf1\x55\x60\xaa\xb4\x45\x54\x61\x4e\x5f\x3a\x4c\x89\x39\x41\x2b\x2b\x1c\xbc\x41\x1b\x47\x9d\x67\x87\xea\x11\x6b\xe4\x16\x55\x5e\x8c\xbe\x47\x6d\x31\x22\xe6\x4d\x5a\xa3\xc1\x8a\x14\x1c\xb8\x42\x6e\x53\x18\xd0\x9a\xf7\xa9\x26\x74\x11\x37\xaa\xfb\x24\x1a\xb6\x53\xdd\xb0\xb5\xad\x4a\x4a\x36\x46\xf6\x17\x24\x5f\x21\xd4\x49\x20\x7d\x58\x1b\x54\x89\x3a\xe8\xc0\xf4\x95\x3a\x62\xde\xe1\xee\xa6\x8f\xbd\x98\x70\x16\xe5\x08\x69\x04\x4c\x3a\x5e\xfa\x7a\x89\x12\xb6\x22\x09\x73\xfa\x9a\xb8\x4e\x75\x59\xbb\x71\xa5\xba\xaa\xf6\x09\xa6\xa8\x46\x83\x7c\x9f\x16\x66\xb8\xe1\xb5\x0e\x12\x9b\x2b\x93\xcd\xcf\xe8\x3a\x37\xe3\xac\x0c\x33\xb1\x5a\xa1\x86\xad\x62\x8f\x8f\xd9\xb6\xf5\xea\x06\x0f\x57\x61\x4e\x3f\x86\xdb\x60\x07\x94\xdf\x99\x58\x5e\xeb\x7e\x7e\x9e\x37\x59\x2f\x67\x01\xb3\x89\xe9\x2a\x3d\x6c\xa5\xe4\x7c\x5c\xb7\x2e\x59\xdf\x09\x55\xc5\x9c\xfd\xf8\x6e\x85\x1e\x50\x29\x6e\x62\xbc\x92\x0b\x0c\x32\x63\xbb\x1e\x66\xcc\x8a\xdf\xc5\x71\x5c\x09\x25\x1f\xab\x29\x8b\xc4\x42\xa3\x9f\xcc\xc0\x64\x06\x54\x5b\x9a\x84\x47\xce\x5d\x44\x18\x45\xd6\xa7\x9a\x9d\x95\xea\x26\xc1\xb2\xd1\x46\x9e\x2e\x06\xdc\xf2\xa2\xe1\x96\x52\xd8\x81\xa3\xc4\x76\x5c\xa3\xc4\x84\x3c\x3c\x5d\xa4\x41\xd6\x89\xf5\x9a\x42\x7e\xca\x3d\x21\xcc\xe8\x4d\xb4\x59\x26\x37\x0f\xbe\x64\xab\x77\xe9\x42\x74\xc6\xb7\x93\xac\x4a\xd3\x78\x18\x64\x1d\xa5\xfc\x5d\x72\x0d\x41\xfd\x52\x79\x02\xbc\x9f\x16\x54\x97\xb8\x4a\x5c\x05\xa9\xcd\x11\x74\x27\xa7\xd1\x01\x56\xf0\x52\x6f\xdb\xf4\x38\xea\x74\x89\x37\xba\x9b\x20\x16\x1a\xbc\xa4\x7e\xaa\x01\x2f\xba\xf5\xf9\xa5\x8f\xba\x77\x7d\x68\xbb\x2d\xfa\x2c\xa4\x9f\xae\x76\xe1\x70\x6b\x69\xda\xfa\x09\xc9\xcd\x30\xb6\x8d\x68\x9f\x58\x98\xf0\xe2\x67\x19\x6c\x79\xf9\xe1\xf6\x0f\xed\x5c\xf1\x34\x88\x6b\x0e\x0c\x40\x27\x31\x0d\x95\x9a\x40\xf6\x0b\x9e\x1c\xb8\x6f\xdd\x33\xf1\xcc\x82\xd5\xa9\x5d\x4e\xe7\x8f\x0f\xd2\xb8\xd8\xf0\x4c\xcb\x4d\xfe\x35\x9b\x5f\x65\xff\x7c\xcc\x8a\x15\x4f\x34\x57\x82\x48\x0e\xe9\x1a\xdf\xb6\x0d\x81\x5a\x56\xaf\xf4\x35\xd2\xd5\x9f\xa8\x1a\x69\xf6\x89\x4e\x06\xea\x23\x47\x89\x45\x5c\xc8\xa0\xa6\x9b\x3c\x6a\xbc\x18\x0b\x2d\xda\x28\x44\x80\x3e\x6d\x6a\x13\x24\x14\x88\xd2\xcf\x5a\xc2\x02\x13\xe6\x96\x3d\x17\x2f\x98\x2d\x21\x8c\x11\xd1\xc6\x20\x40\x4c\x48\x14\x36\xb0\x61\x0c\x12\xc4\x3e\x8f\xa1\x45\x4e\x7e\x74\x04\xb1\x07\x6b\xdc\xe3\x2e\x00\x21\xd1\x88\xe2\x9a\x5b\xe4\xc4\x5b\x07\x62\x6c\xcb\xd1\x05\x62\x6a\x06\x62\x4d\xbe\x05\xd7\x7d\x5a\x58\x31\xc5\x9b\x9a\x28\x91\xa4\xb5\xc0\x85\x1b\xc4\x06\xa4\xaf\x45\x54\x5e\x37\xa7\x3a\x57\xe5\xb3\x43\x97\x69\xc9\x04\x0e\x63\xf5\x6a\x64\x34\xf5\x67\x23\xd0\xd3\xee\xc1\xe0\x06\x2b\xe5\xaa\x28\x62\xb2\x4a\x86\x6e\xd9\xc8\x66\xa9\xc1\x18\xd1\x2e\xb9\x31\x38\x2b\xbc\xea\xa5\x0d\xad\xee\xb2\xad\x6d\x8b\x20\x66\xca\xd6\xce\x57\x15\x77\x84\x14\xee\x71\x3e\xbf\x9b\x7e\x69\x55\xbc\xd2\xb3\x3b\x82\xbb\x75\xe5\xf7\xab\xf9\xf9\x75\xef\xee\xe9\x2f\xa7\xef\x6f\xc4\xe6\xdd\xcb\xd3\xf7\x87\x23\x22\x3d\x12\x23\x7a\xe0\xec\x6d\xba\xf6\x55\xe0\xe8\xd9\xb5\x7d\x53\x80\xc9\x92\x41\x92\x4d\x96\xf9\x75\xdb\x29\x2e\x5f\x08\x8d\x94\xd5\x18\x32\xc4\x09\x4e\x46\x51\xbe\x15\xeb\x4c\x27\x63\x8a\x6c\xde\x24\x64\x48\x35\x0a\x10\x48\x35\x6f\x68\x70\xeb\x3a\xd7\xe9\xac\xa7\x9e\xf4\x0c\xc2\x83\x68\x95\x5c\x84\xdb\x58\xdb\x56\x8d\x67\x63\x65\x8c\x31\x6c\x2c\x0a\x03\xe2\xf0\xd7\xed\x7c\xfa\xd1\xcf\xc0\x4f\xfb\x61\x90\x53\xd9\x56\xa8\x22\x68\x5c\x55\x9f\xf9\xa8\x5d\x09\xc6\x77\x13\x41\xc3\x6c\xcd\x88\x2a\xb7\x56\x27\xde\x2c\x63\x56\xbe\x10\xcc\x3f\x23\x6b\x94\xdd\x39\x94\x92\x75\xe9\x1f\x46\x4d\xeb\x42\xf3\x74\x63\x6d\x4e\x0e\xad\x37\xe2\x06\x08\x4f\xe4\xb8\x9b\x13\x7b\x94\xe8\x9b\x13\x63\x58\x0c\xce\xff\x14\xc6\x3c\x0a\xda\xf6\xa5\x21\x54\xc6\x1b\x04\x8d\x38\x2d\xd2\x45\x49\x91\x22\x9e\x31\xd0\x6e\x44\x21\x53\xa0\x79\xdc\x33\xce\xf8\xad\x02\xd3\xdb\x2d\x43\x44\x70\x4b\x97\x6c\x5c\x3d\xde\xb9\x64\xf5\xdb\xf8\x23\x71\x6c\xc7\x6c\x98\x30\xaf\x8c\x8d\x68\x86\xb9\x02\xbd\x78\x78\x9e\x8e\xd8\x36\xcf\x51\xd8\xef\xf8\x8b\x70\xca\x1a\xd9\x63\x72\xca\x06\x8c\x2c\x2b\x28\x63\x3a\x63\xf4\xd8\xb2\xe2\x88\x09\x1b\x9c\x72\x5b\x8b\xc4\xca\x60\x77\xcc\x3c\xd3\xb3\xfc\xb7\x48\xc6\xd8\x3d\xaa\x1d\x14\x1c\x8d\x38\xae\x2b\x3a\x00\xcc\x4d\x45\xa7\x65\x61\xfa\x4a\xce\x8a\xa5\x54\x33\x6a\x9e\xbb\x69\xc1\x15\x30\x08\x5f\x12\x1d\x6d\xf6\xe6\x28\xd9\xfe\xc4\x62\x85\x39\xad\xaf\xaf\xd5\x05\xf2\xa5\xb5\xad\xfd\x25\x5d\x62\x06\x1b\x8a\x8f\xba\x07\x1b\x36\x4f\x4a\x83\x0d\x6b\x54\xd7\xf9\xe3\x72\x9c\x61\xb1\x09\x4f\xc3\x08\xeb\x87\x45\x9c\x7c\x29\x5e\x9b\xc5\x88\x61\xf4\x49\x2a\x9e\xcb\xc8\xaf\xf3\x96\x39\x58\x90\xf0\x06\xbe\x97\x3d\xcc\xf8\xb7\x56\xa2\xa9\xd7\xd3\x89\x02\x47\x19\x4d\x27\x88\x29\x96\xbc\x66\x0b\xb0\xcd\x2e\xd3\x54\x53\x6c\x27\x24\xa2\xf3\x11\x32\xcd\x4c\x55\x67\x88\x61\x58\xce\xb8\x50\x2f\x78\xe0\x30\x2c\x83\x6e\x43\x60\x77\x3a\x43\x92\x68\x05\x3a\x43\x26\x27\xa8\x5d\xa7\x28\x8d\x37\x0d\x02\x7c\x48\xc2\xe4\x09\xe9\x14\x72\x5f\xee\x6f\xa1\x40\x52\x24\x81\x4d\x38\xce\xfb\xfc\xfb\x85\xc2\x6b\x75\xa3\xe3\xe6\x60\xa6\xec\xc0\x75\xbb\x03\xd3\x8a\x63\x17\x1e\x41\xd2\xa3\xc9\x4f\xa3\x8b\xf1\x6e\x9f\x41\x84\x8c\x74\x92\xa5\x88\xe0\x5f\x9b\xa4\xa8\x21\x22\x50\x90\xb6\x61\x41\x6a\xad\x57\x98\x2c\xb9\x79\x2b\x8b\x93\xa8\xf1\x30\x12\x25\x4c\xe4\x37\x97\xcf\x24\xdb\xc9\x4e\xb2\x9b\xec\x25\x2f\x92\x83\xe4\x65\xb2\x0f\x97\xd3\x68\x20\x1d\x15\x35\x57\xa7\xff\xfd\xe1\xf4\xfa\xe6\x70\x94\x1c\x1d\xff\xfd\x70\x3b\x39\xbe\x78\x77\x79\x7e\x7a\x73\x7a\xb8\x93\x9c\x5e\x5d\x5d\x5c\x1d\xee\x26\x37\xa7\x57\xef\xce\xde\x1f\x9d\x1f\xee\x25\x27\x17\xbf\xbe\x3f\xbf\x38\x3a\x39\x7c\x91\x1c\x5f\xbc\xff\xe9\xec\xcd\xe7\xea\xaf\x83\xe4\x97\xa3\xab\xb3\xa3\xd7\xe7\xa7\x9f\x7f\x39\x3a\xff\x70\x7a\x5d\x01\x7f\x99\xfc\x7c\x7a\x74\x75\xf3\xfa\xf4\xe8\xe6\x70\x9f\xbe\x0e\x43\x95\xed\x38\x19\xc0\x51\xb9\xe3\xf8\xb2\x80\x13\x93\x06\x95\x7c\x76\xb2\x42\xb0\xa6\x91\xeb\xe7\x84\x69\xf5\xd5\xdf\x98\xa8\xa5\x86\xcb\x40\x75\xbe\x99\xa4\xe3\xaf\x1d\xf4\xa3\xf1\x57\x2f\xc8\x47\xe3\xaf\x0a\xd4\x71\x73\xab\x85\x10\x6d\x6d\xee\xcc\xf0\x81\x6f\xba\x05\x3d\xdf\x4c\x6c\x57\x95\x93\xf7\x6a\x75\xb7\xbc\x0c\x7b\xd5\xdc\x47\xd5\x81\xef\x6e\xbb\x72\x62\x70\x5e\x2a\xa6\xde\x1c\xd0\xdc\x4c\xd4\xa1\xe8\xee\x3d\xa2\xa3\x68\x5f\xd5\xd8\x50\xea\xc7\x73\x11\xc9\x71\xf7\x93\x27\x2b\xda\xd7\x15\x54\xbf\xa5\xcb\x69\x7a\x3b\xcb\x7e\x49\x67\x8f\x59\x71\x9d\xf5\x32\xfb\x8b\xfa\x2f\x5e\x88\x35\x28\x0a\xfe\xfb\x2c\x5d\xae\x6e\xb3\xb4\xc7\xfb\x73\xfb\x8b\x17\xbe\xee\xed\x58\x71\x7f\x0d\x63\xe4\x20\x80\x8a\x0f\x79\xd8\x82\xc9\xa4\x06\x06\x28\x10\xd7\x16\x22\x70\xeb\x50\x6a\x62\xc0\xaa\x8b\x31\x43\xf1\x6b\x8d\x4f\x8c\x24\xd8\x35\x35\x75\x7e\xbf\x51\xdb\xc3\x74\x97\xb6\x84\x38\x95\x1f\xd0\xfe\xc1\x84\x77\x66\x04\x93\xa0\x69\xcc\x95\x7e\x19\x81\xcf\x27\xd4\xf7\xb4\x85\xd2\x5f\xdb\x29\x98\xf8\xda\x12\x12\x6f\xc4\x70\x5f\x87\x89\x26\xdd\x6d\x00\x61\xda\x3b\x33\x4b\xbc\xa2\xc2\x7d\xe9\x62\x18\xf9\x9d\x71\x85\xc9\xef\x4c\xb8\x7e\x89\x80\x9f\xe8\xb7\xd6\x96\x41\xf8\x3b\xc3\x8d\xcd\x4f\x9e\xeb\x1f\xf2\xd2\xf3\x43\x34\xeb\x1d\xfc\x3d\xba\x3f\x00\x7f\x96\xee\x89\x78\x5d\xd1\x62\xf7\x15\x82\xbf\xaa\xf7\x3a\xe0\xaf\xe9\xfd\x1b\xae\x18\xae\xe3\xd8\x14\x2f\x9a\xab\x21\x8d\x11\xd7\xc5\x22\x71\x44\x78\xd5\x32\x3f\xe1\x24\x46\xaf\xf3\xb3\x3a\x04\xc8\x69\xff\xed\x49\x8d\x9e\xd8\x36\x9a\x73\x24\x56\xe9\x10\xa7\xa0\x76\xde\xe8\x00\x19\x64\x24\xfe\xfe\x88\xa7\x20\xdf\xf5\x40\x5e\x5b\x53\x24\x66\xe9\xf4\x47\xb9\x51\xc4\x6d\x0f\x91\xd8\xa5\x83\x21\xe5\xf2\x0f\xb7\x39\x43\x73\x5d\x3a\x31\x2a\xf8\x0f\xbc\xf8\xde\xd9\x22\x24\x0d\xe6\x33\xa4\xe1\xe6\x8c\x70\x33\x82\xa4\x48\x3e\x5d\xd2\x2f\x7f\x71\xa8\xfe\x58\x2d\x16\x56\xa5\x13\x27\x3a\xc6\x17\x25\xc3\x44\xcb\xda\x96\x0b\xec\x6d\x1a\xc9\x32\x4b\x57\xab\x74\x7c\xff\x36\xbf\x45\xbc\xb3\xcd\xdb\xda\x8d\x3f\x10\xc6\x0d\x02\x3c\x0f\x0c\x06\xc4\x0b\x0a\xac\x39\x38\x60\xea\x06\xbf\x6a\x04\xcc\x7a\x33\x61\xfb\x78\x7b\x72\x17\x04\x2c\x9e\x8f\xb6\x56\x5f\x6d\x50\x9f\xcd\xdf\x77\xfb\xab\xdc\x9c\x41\xb8\x71\x4c\x66\xa2\xe3\xad\x6d\x4c\xbb\x3a\x82\x79\x02\x91\x31\x9b\xd7\x51\x62\x64\xa0\x24\x42\x2b\x3b\x72\x51\x44\x46\xf8\xad\xcc\x36\xe7\xca\x98\xc9\xa1\x2d\xcf\x36\xc3\x9c\x31\xa3\x3f\x1f\xc7\xa0\x2b\x69\x1e\x4f\x63\x2e\x42\x89\x7d\xaf\x04\x2e\x76\x19\xd9\xc4\x1e\x8d\xbf\xfa\xaa\x57\x20\xd4\xea\x69\x5a\x01\xa8\xeb\xbd\x8b\x02\x90\xe7\x01\x6d\x9b\xe3\x60\xcc\x6b\xd7\x1c\x88\xb4\x2b\x2b\x98\x95\x45\x77\x02\x8f\xa3\x31\x4c\x89\x5b\x4f\xb5\xa1\x81\xb2\xa7\xcc\x4b\x6e\x08\x19\xf3\xf2\x4f\x77\x0a\xf0\x6d\x7e\xfb\xbc\x7e\x6e\xb0\x64\x9f\x3d\x17\x11\x59\x1b\xb5\x88\x7d\x77\x05\x26\x89\xe2\xa9\x97\x30\xa0\x87\xef\xcc\xee\x85\x03\x9f\xf5\x13\x04\x0a\x93\xe1\xab\x24\x34\xb0\x19\x08\xb3\xb5\x07\x54\x9e\x50\x68\x8f\x57\x83\x42\xd8\x30\x6d\xdb\xbd\x9e\xa0\x84\x73\x05\x4e\x7b\x97\xc7\x62\x58\xd7\x51\xc8\xd8\x36\xd4\xd3\x8e\x29\x91\xc5\x09\x98\x46\x25\x6f\x33\x37\x86\x88\xe6\x6a\x0b\xcb\x62\xf5\x57\x5b\x54\xfc\xc6\xb6\x12\x61\x10\x57\x77\x5e\x58\xd0\xc6\xee\xcf\xb5\x84\xb7\xe3\x98\x75\xad\x60\xca\xd3\xa6\xcb\x70\x6c\x06\xdd\x56\xe6\x35\x7f\x7e\xbd\x4a\x57\x8f\xc5\x60\x36\xdb\x92\x7f\x8f\x6c\xb0\x2b\xac\xbe\x6a\x18\x2c\x19\xf0\x34\xd5\x20\xdc\x68\x76\xba\xe5\xba\x66\x8c\x3b\x71\xc0\x17\x48\xf0\x1a\x5c\x75\xc7\x0d\x68\x6d\x9d\xb9\x2c\x5e\x53\xeb\x44\x85\xb0\xb3\xd6\x1c\x5e\x69\x66\x3b\x1e\xf2\xd9\x52\x95\x2b\x2d\x09\x74\x3b\xda\x12\xe7\x65\x2c\x75\xe1\x50\xc9\x88\x6c\x28\x55\x02\x2a\x2b\x69\x5b\x89\xd6\x48\xd6\xcc\xf2\xb6\x91\x2a\xce\xfb\xb4\xb0\x61\x1c\xdc\x3e\xf6\xe9\xb6\x38\x36\xd2\x58\x3f\xea\x69\x27\x75\x58\x83\x07\xce\x1c\x85\x29\x91\xed\x5f\x87\xd9\x57\x39\xa2\x6a\x6a\x3c\xed\x20\x0a\xf6\x13\x0b\xa8\x99\x24\x7f\x40\x5b\x05\xe6\xb9\x79\xed\x15\x88\x2e\x7e\x88\xad\x2b\x76\x88\x15\x64\x33\x95\xe4\x7b\x87\xd9\x34\x60\x8c\xf3\x74\xca\x13\x67\xdc\x69\x3a\xa4\xba\xc7\xe8\xa1\xb6\x16\xb5\x7f\x14\x05\x53\xb4\xe9\x1d\x6e\xc3\x00\x5f\x4f\xc0\x8d\x3a\x7f\x47\x10\xac\xa1\xa6\xef\xe0\x36\xfa\xa0\x21\x37\xa8\xaa\x8a\x3b\xe8\x06\xe1\x0b\x1a\xd2\x03\x86\xdd\x42\x47\xf4\xe0\x18\x18\x63\x5e\x4f\x4f\xbd\x67\xe0\xcd\x28\x68\xfe\xa3\x7b\x7c\x43\x6f\x06\x32\xa2\xcc\xf1\xc1\xa1\xf6\x1f\xea\x13\xe1\x78\xa1\xd7\x15\xc6\x31\xfe\xce\xb6\x38\x4f\x1f\xc0\x0e\xd3\xe6\x0a\xdc\x4d\xe7\xe9\xac\x7e\xfc\x5d\xba\xe8\x5c\x82\x9f\xa4\x9f\x37\x36\x37\xff\x96\x8b\xe4\x59\xe9\x6a\x09\x78\xde\x03\xe8\xde\xdb\x3c\xfc\xf8\x29\xa2\xbb\x80\x68\x2b\x88\xec\x35\x68\x14\xf8\xda\x03\x52\x87\x84\xa7\x0f\x41\xc2\x11\xc5\x95\xc8\x4c\x82\xa6\x39\x0e\x1b\xca\xd8\x83\xe7\xef\xd2\x85\x4e\x6a\xf9\x8f\x89\xcc\x47\x61\xdb\xf6\x15\x7e\xee\x67\x1a\xac\x34\xf1\x76\x2c\x5b\xf2\xec\x59\xe2\x14\x24\x03\xbc\xcd\xff\x6c\x32\x7b\x37\x2e\x85\x36\xa0\x93\x83\xae\xd7\xe6\xf5\x75\xd0\x68\x31\x45\x88\x8a\xb4\xfe\xb8\x55\x7a\x3f\x79\x75\xcf\x69\x55\x5c\xb8\xb1\xf9\x5f\x5b\xe5\x0f\xaa\x74\x8e\x04\xe9\xac\xb1\x09\x3c\x10\x6a\x11\x81\x87\xbc\xe4\x93\xcf\xcb\x72\x09\x92\xb6\x38\x6e\x67\x46\xbf\x70\xd9\x35\x9e\xc4\xb8\x4d\x58\xc9\x6f\xae\xde\x35\x7f\x80\x76\x7d\xb3\xaa\xb4\x68\x77\x38\x3b\x7a\xb5\xfa\xee\x24\xf6\x19\x93\xb6\xe2\x48\x2f\x3f\x56\xc9\x1b\x2b\x14\x33\x0f\x7f\xd6\xb0\x7b\xcc\x7f\x76\x7c\x41\x93\x74\xb6\xad\x7a\x9f\x75\xae\xbb\xc6\xbc\x3d\x5f\x25\xdb\x6c\xc3\x17\x3c\x49\xdc\x2d\x5e\x47\xe3\xaf\xf1\x45\xeb\x68\xfc\x15\x33\x77\xc9\x2d\x56\x12\xa5\x34\x91\xda\x7e\x0a\x22\x65\x5e\xe9\x56\x9c\x8e\xc6\x5f\x99\x44\xc9\x8c\x27\x78\x16\xaa\x5b\x8c\xda\x1a\x8a\xf8\xb2\xd4\xcd\x10\xd8\x09\x15\x28\x9d\x66\x9a\x54\xed\x3c\x05\xa9\x72\x2c\x7c\x7f\x44\x6f\x7a\x3d\x79\xe4\xcb\x81\xd1\x2d\x64\x61\x0c\xf3\xcf\xf6\x7a\xe5\x3a\x93\xdd\x50\xf1\xc2\x25\x85\x2d\xb2\xb5\xfb\x14\x64\x2b\x72\x4e\x99\x21\x9b\x1c\xc6\x24\xa1\x1b\x98\x51\xaa\xdc\xe3\x37\xf6\x42\xc5\x4a\xa7\x98\x26\x59\x7b\x4f\x41\xb2\x1c\xcb\xde\x0a\x57\xd7\xa7\xcd\x23\x5f\x0e\x8c\x6e\x11\x0b\x63\x98\xd0\xf2\x1d\x5b\xc4\xba\x11\x29\x2f\x42\x45\x4c\xa7\x98\x26\x62\x2f\x9e\x82\x88\x39\x96\xbd\x15\xb1\xae\x19\x9f\x47\xc4\x1c\x18\xdd\x22\x16\xc6\x30\xa9\xaf\x7f\x08\xff\xab\x1b\x64\x73\x10\xee\x81\xe9\x74\xd3\x44\xed\xe0\x29\x88\x9a\x73\xf9\xe5\x44\xc9\x39\x9f\xb8\x39\xb1\xba\x05\x2e\x8c\x71\xa6\x21\x0e\xf1\xe5\x4e\x9f\x3b\xf4\x32\x54\xfc\x1c\x5f\x41\x93\xc2\x97\x4f\x41\x0a\x31\x3c\x69\x85\x51\x1f\xc2\xc1\x23\x93\x18\x1a\xdc\xa2\x19\xc6\x54\x71\x9a\x47\x7c\x91\xec\x87\x45\xed\x87\x8a\xa2\x81\x6a\x9a\x08\xee\x3f\x05\x11\x74\xad\x7d\x2b\x7a\xfd\xb4\x15\x1e\x91\x73\xe1\x74\x8b\x1a\x8d\x69\x8d\x97\xa5\x0f\x98\x26\x8d\x94\x6e\xa0\x38\x66\x4a\x1f\x5d\x5f\x9f\xbd\x79\xff\xee\xf4\xfd\xcd\xe1\x28\x39\x3e\x7a\x7f\x7c\x7a\x7e\xb8\xed\x41\xa8\x7c\x72\x1e\x64\x02\xb4\x61\x89\x98\x47\x40\x73\xde\x59\xa7\x83\x0d\xc9\xb7\x23\x6f\xae\x4b\x8b\x62\xfa\x65\xfe\x90\xcd\xfb\xb6\xd6\xa3\xee\x27\xe2\x74\xdb\x06\xe5\xdb\xfc\xb6\x07\xa1\x4e\x0d\x4e\xe7\xe3\xac\x9f\x7c\x7c\x5c\xfd\xe9\x8d\xa6\x7e\x7d\x80\x7a\xbf\x61\x2e\xd0\xd3\x10\xd2\x33\x99\x5c\xd7\xe8\x91\x40\x3e\x9d\x49\xba\x26\x09\x0c\x18\xa8\x6b\x14\x68\xc4\x7c\xda\x7e\x03\x85\x8e\xd6\x55\x65\x3d\x60\x0a\xa4\xb6\x6d\x10\xd5\x8c\xf5\xf6\x8c\x30\x5f\x68\xc0\x7b\x05\x75\xac\x91\xd3\xfa\xf4\xdb\x05\xcd\x63\x20\x15\x3d\x1c\x34\x09\xd2\x28\xc9\xd8\x21\x7d\xbd\x92\x0e\x9a\x09\xa9\x09\x20\x47\xe2\xdf\xf8\x61\xda\xfd\x78\xc1\xb7\xe3\x41\x18\x23\x39\x00\x56\x53\xea\xeb\x0e\x98\x01\x1a\x9d\x83\xe9\xab\x3f\xfe\x91\xdf\x76\xa6\xfa\x6d\x7e\x0b\x17\xe0\x9b\xae\x08\x58\xdf\xf5\x79\x53\xab\xf5\x9f\xfa\x58\x7f\xc0\x0c\x44\xf6\x05\x14\xa3\xc6\x23\x51\x11\xfc\x04\x34\x82\xb5\x79\x0d\x6f\xf3\x5b\x5a\xf5\x3f\x6c\x28\xcb\xcd\xf1\xbf\xe7\x3e\x3e\xbc\x32\x1c\xd2\xaa\xa3\x6c\x1b\xb3\x8d\x47\xe1\xc4\x5b\xfc\x56\xc7\x52\xdb\x15\xbe\xdf\xeb\xfb\xf0\xa2\x54\x2f\x0f\x6f\xa7\x04\xb1\x5a\x09\x14\x76\x99\xc2\x68\x3d\x12\x00\x1d\x55\xe4\xcb\xbc\x56\x6d\xcc\xab\x14\x34\x8f\x68\x17\x80\xf8\x3e\x2d\xcc\x68\x39\x4b\xc6\x60\x31\x79\x8a\x37\xf8\x91\xa4\x68\xf0\xab\xfd\xf0\xd4\x3d\xe5\x3b\xff\x88\x3b\x84\xe1\x32\xc0\x08\x67\x8a\xe6\x68\x14\xef\x3c\xa1\xc7\xcc\x02\xce\x12\x0a\x30\xf3\xe8\x80\xbb\x7c\x39\xce\xe4\x29\xd8\xaf\xf3\x7c\x96\xa5\x73\xe3\x00\xed\x1f\x47\x71\x86\x61\xc3\xf1\x8f\x01\x3c\xf8\x1a\x75\x88\x8f\x03\x07\x6f\x02\x3c\x77\x18\x78\x94\x46\x9b\xda\xfd\x2d\x85\xa2\x9d\x87\xfd\x53\x29\x33\x8c\x6d\xb4\x8e\x0d\x36\xb0\x8f\xea\x8e\x7d\xf0\xfb\xa7\x6e\x7c\xa6\x1d\xdb\x37\x93\x54\x4c\x10\x1c\xd2\x8a\x43\x23\xe2\x34\x6a\xc7\xd2\xb7\x38\x20\x03\x6d\x55\x17\xb5\xf7\xf4\xa3\xaf\x07\x61\x90\x05\x95\x20\xe7\xd4\x65\x91\xae\x20\x57\x4e\x5a\x92\xde\x64\xc5\xcc\x18\x9b\x4c\xa4\x9f\x2b\x26\x2d\x9f\x89\xf8\x78\xed\x16\xe6\x04\x5f\x28\x0f\xea\xea\x78\x17\x17\xba\x22\xf9\x3e\x44\xeb\xef\x4e\x4b\x0e\xb4\x13\x6d\x04\x3f\x5a\xf6\x9c\xab\xfd\x30\x8c\xd4\x35\xf9\x0c\x2f\xdf\x59\xf6\x96\x15\xa2\xe3\x75\x62\x44\x94\x36\xeb\xca\x77\x1e\x68\x1d\x84\x67\x92\x32\x2b\x3a\xb8\x2b\x23\xcc\xe7\x7d\x93\xad\x4e\xb2\xc5\x2c\xff\x56\x4a\x78\xed\x55\xeb\x45\x14\x01\x2e\xaf\x03\x3e\xd9\xe3\x45\xc0\x8a\x3d\x2b\xcb\x41\x42\x64\xef\xd5\x8e\x19\xe9\xfc\x50\x48\xa7\xfa\xae\x7e\xb0\xd7\x3b\x2b\x0b\x25\xf9\xf1\x7c\x51\x07\xfa\x18\xae\x28\x1d\x1d\xf3\xac\x2c\x23\x01\x9c\xd5\x3a\x2e\x04\x3c\xaa\x06\x51\xc1\xf3\xea\x8f\x22\x5b\xfe\x96\x2d\x8f\x26\x93\x25\xf2\x6e\xaa\xfa\x85\x9b\x59\x81\x3d\x91\x6f\x97\xfe\x75\xff\xda\xf5\xd7\xe9\xe2\x97\x6c\x39\xbd\xfb\x86\x05\xb0\xc3\x7b\xa4\x77\xad\xd5\x3a\x94\x22\xa9\x54\x87\x44\x3c\x8b\x5a\x5c\x6f\xf9\x8e\xe9\xae\xab\xeb\x4e\x64\xad\xb7\x5d\xd5\xa1\x80\x44\x78\xfc\x66\x56\x18\xee\x7c\x76\x3c\xdd\xcb\x29\x5b\xde\x0b\xa7\x53\x06\xd6\xe1\x11\x6b\x5a\x3c\xf0\x61\x66\x54\x08\xfc\xc7\x5e\x95\xd5\xcb\x80\x1a\x8d\xd8\x36\x3e\x26\x30\x5f\x7d\x61\x07\x13\xbe\xc0\x71\x5a\xfa\x16\xe8\xd4\x14\x72\xa3\x16\x56\xf0\x8c\xe4\x44\xb8\x56\x8b\xb8\x3c\x37\xb3\x22\x28\xc2\xb3\x8d\x8a\xf0\x10\x17\x49\x22\x8a\x18\xe5\x41\x25\x55\xe8\x8b\xd4\x4b\x6d\xd0\x72\xed\x44\x5a\x2e\x13\x79\xc4\x85\xdb\x09\xba\x95\xec\x4d\x7b\x6b\x1c\xd3\x91\x51\x83\x47\xf0\xdb\xac\xef\x9a\xdd\x34\xda\x05\xa2\x1c\xce\x92\x46\x60\x34\xdf\x48\xc5\x04\x5a\x33\x98\x34\xbc\xe7\x43\x81\x15\x31\x77\x61\xbd\xcd\xd3\x33\x81\xe1\x10\xf5\x18\xfe\x85\x86\x8e\xd7\x9d\xc0\x82\x77\x66\x23\xba\x45\x05\x9c\x06\xbf\x55\x8d\x7e\x37\xa6\x93\xa3\x4c\xb7\x61\xfa\x2a\xd6\xf3\x69\xd1\x50\x50\x30\xa9\x56\x03\x44\x82\x72\x75\xbc\x1d\x2f\xe2\x66\x40\x1a\x4d\x65\xea\xb8\xc0\x2d\x8a\x21\x0f\xaf\x36\x69\xd0\xd6\x15\x39\x73\xca\x65\x0c\x3d\x68\x40\xc8\xab\x09\xf1\x08\xb4\x78\x18\x0e\x66\xe3\xc1\x69\x15\xf0\x23\xff\x0a\x78\x13\x7c\x4e\xf5\x40\x0f\x9a\xb9\x5e\x77\xf9\x5f\x70\x11\xfa\x55\xff\x9c\xab\xfc\xbc\x7e\xcc\x5a\x78\xce\xa1\x81\x62\x47\xb4\x0c\xc8\x68\xdb\x23\x3c\x6a\x45\x04\x37\xfc\xb8\xf8\x9a\x38\x6a\x03\x19\xa2\x2e\xbb\xf9\x6a\x7f\xff\xd0\xbd\x27\xa3\xab\xc6\x28\x41\x27\x02\x06\x84\xa3\x88\x2f\x73\x46\x74\x52\xf9\x14\x38\xbb\x59\x24\xd3\x19\xa1\x42\xb5\x86\xee\x2e\x0a\x80\xa4\xc8\x4c\x22\xb9\x06\x15\x88\x29\xb9\xa9\xe8\x77\x4b\x60\xad\xa9\x73\x80\x6b\xb3\x5a\x64\x75\xa5\xa4\xf1\xdd\x2c\xed\x26\x75\x0a\x02\x1a\x54\x47\x7a\x34\xc9\x17\xbc\x21\x11\x03\x44\x82\x5d\x76\xbc\xcd\x11\x16\x49\xd2\x12\x3e\x29\x6f\xc5\x61\x96\x0d\x5f\x15\xcd\x2a\xeb\xb8\x40\xc5\x8c\x21\x0f\x6f\x93\x69\xd0\x86\x4e\x1d\x09\x81\x15\x38\x71\x54\x7d\x0a\x43\xf2\xc7\xb9\xcb\x62\x98\x5a\x03\x42\x5e\x4b\x8b\x47\x80\xc9\xe7\x60\x03\x33\x5d\x9a\xa6\x66\x8c\x29\x93\xe3\xcb\x85\xe8\xd1\x1b\x40\x06\x98\xe2\x37\xde\x1f\x5f\xfd\x7b\xd4\x1c\x0b\xb4\x00\x0a\x05\x5e\x09\x15\x5f\x33\xf8\x53\xbe\xfc\xc2\x9c\x1a\x30\x81\x24\x18\x42\xd7\xeb\x4f\x25\x41\x60\xa2\x31\x9a\x5d\x33\x20\x03\xd5\x20\x8a\x40\xbc\x65\x23\x82\xfb\x8e\x92\x05\x6e\xf9\x8f\x61\xa1\x4c\x18\x79\x4d\x14\x01\x43\xec\xac\x81\x7b\x79\xa3\x9b\x1e\x88\xbb\x6b\xce\x1d\x5c\xb7\x19\x62\xd6\x6a\x5e\x0b\x54\x82\x0a\x06\x20\xd8\xe6\x61\x79\xdc\x3c\x29\xa2\xe1\x9f\x45\x65\xf9\x8e\x68\x9a\xda\x8c\x0f\xd4\x08\x58\x32\xf1\xfa\x9a\x0e\x71\xf8\x00\xa1\x48\x20\x3e\x4c\x28\x09\x4c\xfc\x3b\x25\xc1\x1d\x1a\xc3\x42\x58\x90\xf2\x1a\x09\x1a\x12\xd3\x96\xe7\xb9\x32\x52\x62\xa8\x47\xa8\x10\xe4\x50\x8c\x9b\x22\x45\x8c\xee\x30\x21\x42\x80\xa2\x5d\x10\x09\xe2\x66\xbe\x15\x12\xc4\xb7\x9e\xab\x20\xdf\xa8\x64\xf1\xe4\xe1\x6c\x60\x69\x85\x50\x4e\x10\xdf\x8d\xa1\xb5\x7d\x48\xcc\xba\x29\x13\x42\x4c\xb1\x0e\x8e\x50\x52\x15\x15\x15\xe4\x9f\xc6\xd6\x73\xa3\x46\xaa\xdf\x32\x62\x65\x2f\xe3\xa2\x60\x79\xba\xf6\x16\x66\xd2\x7a\x0d\x2e\x46\x88\xa2\x59\x5c\x18\x39\xb3\xc9\x85\x11\x86\xd9\x5c\x9c\x18\x71\x56\xcc\x48\x80\x83\x4f\xc2\x66\xa3\x07\x9f\x7f\x0d\xef\x99\x63\x8f\xe9\xe4\xb7\x6c\xb9\x9a\x16\xd9\xd1\x64\x82\xa8\x91\x39\xd2\x1e\x77\x95\xca\x48\x74\x48\xaf\x8a\xe5\x33\xc9\x62\x96\xae\xee\xf2\xe5\x03\x18\xff\xdc\xad\x32\x81\xe3\x3c\xff\x3a\xcd\xc0\x87\xb7\xb9\x82\xa5\x6e\x2b\xc2\x77\xf6\x16\x2c\x1c\x49\x30\x82\xce\xd9\x38\x38\x6b\x9b\xd7\x68\x97\x20\x4f\x2f\x40\x96\x42\xb8\x5a\x47\x16\x78\x25\xf7\xb8\x7b\xa8\x86\x75\x6b\x47\xe2\xb2\x11\x68\x6b\xaa\x52\x7e\xfc\xb8\x12\x68\x86\x6c\xa5\x45\xf7\xc4\x39\xe3\xc3\x66\xd8\xfb\x64\x0f\x83\xc6\xe4\x26\x4d\xba\x2a\xb4\x24\xc8\x21\x4b\xe0\x20\xc6\x4e\x2a\x1c\xe1\xe8\x5d\x31\x57\xda\xc8\x85\xe3\xf1\x3a\x6f\xca\x62\xaa\xe4\x8f\xe1\x34\x5c\x66\xc5\x4f\x35\x63\x66\x28\x36\xa3\x86\x6e\x89\x5e\x51\x9b\xa1\x57\x6b\x6d\x83\xa6\xe8\xb2\x18\x96\x49\xd1\xc1\x01\x72\xc0\x65\xb5\xd0\x50\x87\xae\x57\x41\x37\x39\x63\xdb\x9b\xb9\x1b\x9b\x51\xdb\x3f\xba\xed\x40\x29\x51\x0e\x4b\x82\x42\x84\xb3\x2b\x84\xee\x65\xb0\x6f\x39\xa8\x63\x19\xc5\xc2\x86\xe4\x38\x19\x4a\xa4\x10\xad\x22\xf6\x25\x63\x17\x21\x76\x2b\x32\x76\x29\x22\x76\x1f\x13\x96\x62\xa0\x86\x63\xc2\xa2\xb0\xf5\x18\x53\xfd\x63\xa3\xaf\x18\xa1\x2c\xdb\xbe\x16\x84\x58\x85\xb2\xab\xec\x64\x73\x97\x6a\x5b\xa8\xd0\xce\x48\x31\x4b\xb5\x1d\x2b\x88\xf7\x18\x94\x60\x16\x8a\xf5\xdd\xd0\x3f\xfd\x4c\x51\x55\x71\x7b\x88\x5c\x7b\x1c\xf0\xd3\xcb\xbb\x14\xbd\x2c\xc9\x8c\x8e\x97\xa6\x8d\x77\x7d\xf7\x58\x7d\x9c\xf1\xfb\xdc\x6d\xef\xcf\x55\xb1\xd2\x3e\x36\xac\x38\xf1\x78\x59\x0a\xf9\xcf\x79\xb1\x9a\xa7\x0f\x19\x53\x79\x8c\x19\x28\xe1\x58\xe5\x06\x60\xcc\xd9\x4d\x5f\xfd\x71\xdf\x3c\x8f\x3d\x57\xa5\xcb\x2f\x59\x7f\xaf\xdc\x4d\xf5\xa7\x3b\xc5\xd7\x52\xf4\xbc\x7e\xd8\x91\xe5\xf3\xbc\xdc\xc5\xfc\xe1\xd1\xce\x4d\x46\x74\xa0\x73\x8c\x24\x12\x7f\x5a\x22\x03\x1c\xfa\xa0\xd4\x92\x46\xbd\x45\x45\x91\x17\xfc\x45\x2a\xaa\xa0\xc1\x99\xc1\x46\x7c\xc3\xcf\x5c\x90\x46\x88\x71\xdc\x32\xe3\xe4\x3d\x69\x91\x70\x60\x0e\x59\x9d\x50\x40\x07\x2d\x39\xa9\x28\xe8\x19\xca\x7d\x65\xaa\x44\x78\xe4\x15\x21\xce\x0a\xdf\x14\xe7\x24\x06\x8b\x96\x81\x00\xd6\x83\x18\x62\x09\xea\xf5\x65\x4c\xac\xaa\x4a\xc0\x39\x53\x18\xb1\x44\x2a\x81\xe8\xcc\x2a\x70\x32\x83\x50\x57\xae\xa8\x75\x75\x5a\xf7\xb3\x11\x6f\x38\xaf\x0a\xa1\xbb\x4f\x0b\x2b\xb2\x78\x73\x80\x55\xaa\x78\x0a\x99\x2c\x50\x03\x3c\x22\x64\x19\x53\xe7\x12\xb5\x5e\x8e\xa0\xb4\x30\x7e\x0e\x7b\x19\x93\xe5\x3b\x06\xf3\x70\x90\x45\x4c\x58\x32\xfd\x7d\x9c\xa7\x58\xc2\xd4\x52\x87\x4f\x5c\x76\x82\x02\x3b\x28\x82\x0f\xe5\x59\xbc\x04\xee\xcd\x21\x5c\x93\x28\xa5\x4b\x34\x24\x88\xca\x25\x69\x9b\x53\x6a\x97\x3a\x86\x32\xf8\x17\xa6\xb2\x25\xac\x83\xe1\x61\x5f\xdd\x11\x2a\x84\xf0\xe0\x9d\x0f\x72\x64\x0a\xc4\x5e\x19\x57\xc7\xe2\xb4\xe6\xb5\x63\x2c\xdd\xc0\x9a\xea\x96\x1c\x18\xe3\x55\x0b\x9f\x4f\x8b\xee\x3b\x38\x27\x7a\x69\x30\x89\x33\x7b\xac\xef\xdb\xac\x6b\xd4\x08\x82\xa7\x81\x35\x7e\x48\xd4\x31\x3d\x2a\x36\xd4\xac\x16\x98\x44\xda\xa0\x1e\x0a\xbc\xf5\x19\xd6\x86\xeb\x1e\xf6\x95\x1e\x07\x08\x18\xdd\xe3\xd8\x9c\xb1\x66\xf7\x68\x28\xf9\x87\xf7\x60\x51\x20\xcc\xab\xfd\x0c\x8f\x33\xae\xfe\x67\x78\x80\x3d\x43\x9c\x5f\xc1\x99\x3d\x4e\xf1\xf1\x3f\xbe\x22\xe6\xf4\x38\x30\x33\x9f\x5e\x01\x6c\xfe\x87\x57\xca\xea\x46\x9a\xa6\xa7\x63\xe0\x35\xce\x7e\x13\xf5\xec\x00\xcc\x15\x56\xed\xd1\x17\xae\x18\xfe\x59\x7c\xd2\x55\x2c\xac\x1d\x8b\x19\x27\xeb\xe9\x9f\x37\x94\xd1\x26\x4c\xd7\x43\x10\xe9\x6d\xb6\xff\x77\x1d\x88\xd3\xc9\xa4\xfb\x76\x36\x63\x3d\xd8\xa4\x3d\x1d\x67\x54\x73\x1d\x30\x6d\x4f\xd9\xdb\xa1\xc5\xb5\x21\xc7\x63\x88\x59\x2a\xb5\x11\xca\x3b\x70\x47\x65\x58\xaa\x6c\x84\xc6\x98\xbd\xe7\xa2\x44\xdc\x45\x31\x8b\x3a\xba\x75\xf3\x50\x68\x96\x33\x3e\x54\xc6\x21\x0b\x6e\xd0\x1c\xbe\x93\x6c\x96\xb1\xe7\xf8\xcd\x40\x09\x36\xdd\x0d\xc0\x6d\xd3\x87\x1b\x43\x64\xa6\x32\x9a\x69\x36\xa2\x03\x55\x32\x92\x48\xbc\x69\x26\x03\x1c\x6c\x1c\x51\x78\x14\x19\xda\x0d\x31\x6c\xa6\x19\x27\xaf\xcd\x24\xe1\x40\xd9\xcc\x80\xa1\x44\xd0\x22\x47\x4f\x35\xc3\x5c\x66\x4a\x35\xfb\x2a\xe5\xce\x93\x08\xd4\xc3\xa6\x54\x1d\xa4\x7a\xb5\x77\x98\x2a\xaa\xee\xfe\x39\x99\xe3\x9a\x1e\x9b\xe2\xab\xf3\xf4\x36\x9b\x15\xef\xd2\x85\x12\x43\xed\x7e\xdf\xd8\xdc\xfc\x5b\x2e\x7e\x5a\x73\x32\x3f\xfc\xf8\x89\xa3\xdc\xca\xee\xad\x73\x29\xf4\xee\x04\x81\xe6\x63\x80\xda\xc6\xc0\x78\x42\xa5\x53\xa6\x46\xc3\x9f\xfe\x39\x99\x1b\x5a\x4d\x32\xa3\x6c\x68\xf5\x54\x1b\x8a\x0f\xf8\xfc\x5d\xba\xd0\x17\xa3\xfc\xc7\x44\xe6\xa4\xb0\x0b\x7b\x9a\x50\xcf\xcc\x1f\x67\xb3\xe4\xd9\xb3\x4a\x1d\x6d\x06\x17\x5f\x19\xb4\x42\x0c\x7b\x04\x1d\x63\x3c\x4d\x10\x04\x96\xb5\xaa\xaa\x7d\xa1\x92\x18\xa0\x01\x31\xd9\xb0\x88\xd0\x8f\x5b\x9b\x9b\x7f\xf9\x4b\x5e\xfe\xd3\x79\xf5\xfe\xc6\x66\x09\x21\x57\xbf\x60\x63\x47\x10\x99\xfa\x63\x04\x16\x09\xe8\x50\x0f\xa1\xd6\xb0\x89\x11\x8b\xd7\x79\xbf\xfa\xf8\x71\x7b\xeb\xd3\x27\xfc\xcb\xf5\x7f\x8e\xd3\x22\x7b\xf5\xc7\xcd\xd1\xd5\x9b\xd3\x9b\xcf\xef\x2f\x6e\x3e\x5f\x9f\xde\x1c\x6e\x25\x47\x97\x97\xe7\x67\xc7\x47\x37\x67\x17\xef\x0f\xb7\xb7\x08\x24\x19\xc2\xcd\x15\x0a\x97\x21\x1f\xe7\x0f\x8b\xc7\x55\x56\x5d\x73\x5e\x3e\x4c\x8b\x39\xab\x97\x9a\x73\xd8\x5d\xed\x63\xc2\xcc\xaf\x9e\xcf\x43\x5b\x61\xe5\x55\x5b\xb6\x31\x5d\x2c\x66\xd3\x71\x5a\xfe\x4b\x67\x2e\x8f\xfa\xdf\x48\x79\xc7\xa3\xc5\x82\x3f\xf5\x08\x26\xab\xb8\x8d\x6a\x9b\x4e\xa3\x32\x89\xc3\xc4\xc2\xa0\x3c\xcf\x44\xdb\x5b\x6c\x79\xc6\xa3\xc5\xc2\x3b\xd5\x58\x4a\x08\x9c\x6d\x14\xe5\xcf\xfb\x44\x66\xdf\x92\x51\x6d\x9f\x3b\x09\x17\x6a\x02\xdd\xd0\x11\x39\x46\x75\x6b\xab\xc5\xc2\x5b\x84\x4c\x63\xc9\x4c\x8f\x88\xa5\x53\xf1\x0b\xf4\xc5\x4b\x36\x1e\x2d\x16\xc9\xb6\x33\x11\xe7\x12\x1e\x33\x8d\x96\x53\x5e\x65\x9a\x0c\x45\xb3\x5b\xde\x56\xca\x1d\xdb\xb4\x13\x5e\xf7\x7c\x39\x97\xb7\x6b\xf6\x12\x84\x04\x4e\x5a\xda\x51\xde\xa7\x85\x1b\x21\x50\x71\xbb\xc5\x67\x91\x4b\x59\xe5\x35\xca\x8a\xb1\x23\xda\x65\xf1\xed\x28\xa6\xf9\x2a\xbb\x7b\x2e\x3c\x2c\xdb\xe5\xe4\xf7\x7c\xf9\xb5\x58\xa4\xe3\xbe\x84\xf7\xd7\xf6\x17\x18\x6c\xf7\x68\x74\x63\x6f\x34\x17\x91\xec\x7d\x69\xd6\x3c\x44\x80\xcf\xea\x03\xd0\xd6\x36\x8a\x48\x91\x24\xc2\xcd\x60\x8a\x08\x52\x0d\x3f\xa9\x29\x4a\x12\x4c\x7c\x4b\x94\x2c\xcf\x30\x85\xfd\x36\x09\xef\x89\x72\xaa\xa8\x01\x9c\x14\x87\xfd\xe6\xf1\x53\x1c\x08\x1c\x87\x76\x9a\xc7\xe2\xbe\xc8\x4c\x91\x40\xeb\xa8\x22\x19\xa5\xac\x0b\x29\xfd\x54\xb2\x38\x85\x3b\x47\xb2\x4c\x44\xf3\x8f\x94\x75\x72\x27\x72\x01\xb1\x25\xb9\x47\xe4\xdc\xad\x13\xf9\x50\x2e\x8e\x8c\x35\xd0\xcb\xf1\x5f\x6b\x51\x52\x99\x85\xa1\xd7\xa4\xce\xbe\x32\x48\x14\x0c\xe4\x71\xf5\x95\xc1\x82\xe0\x5a\x9b\x56\x0c\xfa\x9d\x1e\x2e\x04\x2e\x7c\x70\x6b\x19\x25\x78\x1b\x3d\xcf\x65\x0c\x18\xc7\xee\xa2\x34\x7f\xe8\x4f\xff\x9c\x80\x9a\xce\x6f\x74\x82\xf9\x23\x65\x7c\x3e\x43\x13\x88\x1f\xa8\x04\x8f\xdd\xb8\xbf\x64\xab\x77\xe9\x42\x1e\xfc\x52\x19\x2f\x22\x5e\xa1\x6e\xd5\x80\x59\xde\x26\xa6\x1c\x49\x0d\x60\x63\xb3\x3a\xf6\x00\xc5\x2b\xdd\xbe\xe8\x2a\x5a\x95\xe8\xf3\x28\xd9\x4e\x76\x5c\x01\x68\x33\x94\xeb\x71\xbe\xc8\xea\x28\xf4\xf5\xf1\xc5\xe5\xa9\x10\x84\x7e\x73\x7e\xf1\xfa\xe8\xfc\x70\x94\x5c\x5e\x5d\x94\x07\xc5\xc3\x6d\x29\x2e\xbd\x43\xa6\x58\xe2\x58\x8f\x98\x31\x36\x0d\xaf\x54\x58\x84\x1a\xfa\x2e\xef\x12\x5c\x1d\x28\xb1\x04\xd7\x0e\xc0\x76\x30\xfe\x32\xcb\x6f\xd3\x59\x77\x74\x7d\x53\xfd\x59\x9f\x5b\x9f\x9f\x3e\x2c\x56\xdf\x94\xd3\xee\x62\x99\x97\x7f\x74\x2f\x5c\xd6\x7f\xc3\x27\xdd\xe6\x41\x05\x5c\xbc\x73\x39\x57\xab\x8e\xbe\xa4\x51\xcb\x7e\x35\x74\xa8\x72\x4f\x04\x91\xb4\xb2\x5f\x12\xc0\xe8\xc7\xe9\x5a\x12\xf5\xd3\x72\x23\xa1\xf0\x51\xb3\x11\x6b\x8f\x73\x70\x23\xb6\xb4\x53\x70\x2b\xeb\x30\x61\xed\xf6\xd1\x13\xea\x94\x38\x02\x8d\x3a\x86\x38\x82\xf7\x39\x1d\x52\x9d\xb1\xea\xa1\x75\x9c\xfc\xf5\xd0\x68\x1c\xf8\x03\xbb\xa0\x8e\x4d\x67\xf5\x46\xfe\x91\x47\x71\x51\x55\x53\x0f\xe2\xad\x44\x23\x51\x01\x81\x86\x1d\x8e\x40\x43\x98\xe3\x51\xaf\xac\xc7\x51\xaf\x5e\x73\xb8\x3e\xdb\x2d\xe5\x1a\x7e\x5a\xce\x63\x14\xe8\xfc\xc0\x45\xdd\x2e\xf2\x2b\x87\xd5\xba\x80\xed\x79\xb0\x91\x5d\x5c\xa7\x96\x0b\xdd\x7d\x5a\x58\x91\x05\xb6\x6a\x01\x42\xd2\x48\x3d\x73\x40\xa0\x35\x29\xce\xa3\x2a\x42\x84\x34\xea\x88\x79\xb3\xf5\xcb\x90\x7d\x7d\x5b\x21\x6a\x75\x16\x8b\x14\xd9\xd1\x05\xc4\x14\x10\x62\x34\x4c\xa0\x71\x27\x50\x9c\x18\x52\xb1\x3b\xeb\x17\xa9\x18\x21\x4b\x84\x68\x85\x44\x2d\x49\x8c\x8b\xd4\x51\x6a\x40\xc1\x7c\x9e\xf5\xeb\x29\x75\x40\x30\x37\xa0\x74\xd9\x58\xb8\xab\xf4\x57\xe9\x51\x57\x5b\xa9\x9e\xa5\x65\xec\x2b\x35\x7c\xe2\x60\x27\x4c\x42\x67\x29\x86\x4c\xff\x33\xe6\x53\xec\x2d\xed\xe8\xc3\xa7\x69\xd1\xe9\xcf\x74\x32\xe9\x3f\x3f\xac\xbd\xd4\xb9\x75\x87\x38\x4f\x45\x6b\x30\xc5\x23\x71\x76\xcb\xa8\xfb\x3c\xb4\xc5\x34\x28\x29\x09\x72\x4c\x23\x38\x42\x97\x69\x9f\x92\x22\x79\xc8\xa6\x3e\x53\x1b\xad\x31\x1a\x4d\x9d\xb4\x48\x3b\x2a\x66\xab\xa9\x50\x19\x11\x44\xb0\x9c\x58\x83\xba\x4d\x15\x21\x0e\x6a\x37\x7d\x23\x80\x63\x8a\x5e\x9b\x40\xd2\x2e\x81\xb5\xbe\x6e\x8b\x5c\x3f\xd5\xba\x2b\xd3\xb7\xc4\xbc\x03\x56\x45\x86\xb9\xec\x13\x26\x90\x74\xf7\x2b\x05\xdc\xf0\x76\x5c\xe2\x37\xad\xe4\xca\xb7\x9c\xc9\xff\xf2\x57\xc7\xc6\x8c\x74\xf1\xab\x86\x91\xfd\xd2\x57\x2c\x06\x44\xcd\xb5\xb3\x9c\x08\xac\x5f\x0a\xb2\xdc\x6e\xe6\x0c\x52\x40\x02\x5d\xfa\xea\x14\x9e\xa0\x0a\x12\xf8\xce\x57\x07\xee\x28\x25\x24\x6e\x94\x41\x35\x24\x81\x17\xad\x0b\x64\xb1\xdd\xb2\xae\xc3\xf4\xb6\xae\xc8\xc1\xc4\xde\xe6\x75\x30\xd3\x3a\xc0\xfd\xea\x1a\x36\xa2\x42\x65\xb9\x59\x9d\x04\xef\x7f\xd6\x31\x39\x86\x59\x1d\xea\x42\x75\x1d\x65\x4c\xc3\x1a\x3c\x90\xd8\xdf\xb2\x32\x5a\x55\xe7\x69\x98\xd1\xac\x7a\x99\x54\xe7\xf1\x37\xb6\x4d\x05\x8e\x8f\x51\x8c\xaa\x69\x1e\xf1\x7a\xac\xea\x87\x45\x91\x2d\xd9\x0f\xad\x16\xa8\x04\xcb\x0a\x40\xf8\x9e\x6c\xab\xe5\x53\xa2\x59\x57\x33\x3e\x50\xb1\x62\xc9\xc4\x5b\x58\x3a\xc4\x3f\x6d\xac\xc7\x0e\x8d\x61\x65\x2d\x48\x79\xed\x2c\x0d\xc9\xd3\xb5\xb4\x20\x87\xd6\x6b\x6b\x11\x02\x14\xd3\xda\x82\xe8\xa3\xd8\x5b\x10\xeb\xd3\xb1\xb8\x3c\x47\x59\x1b\xd8\x10\x9b\xfb\x1d\x1f\x68\x6d\xdf\x32\x9c\xd5\x45\x1e\x6b\xd1\x84\x06\xd8\xdd\x3f\x0f\xb7\x2c\x86\x77\x90\xf3\xad\x0d\x6b\x64\xd3\xfb\xbd\x9e\x72\x61\x26\x3d\x31\xe3\x3b\xf0\x59\x17\xc6\x3f\x8c\xf9\x7d\x6a\x27\xde\xa6\x62\x91\xf5\xbc\xab\xc0\x24\x5b\x5e\xcb\xfb\x36\xb3\xeb\xd5\x30\x64\x6c\x16\xe2\x33\xb8\xca\x27\x44\xb6\xb6\x32\x36\xa4\x6a\x85\x48\xa4\xda\x59\x3c\xbc\xe1\x8d\x6c\x43\x1b\xde\xc4\xfa\xf4\xd7\x04\x99\x57\xeb\x3e\x8c\x67\x5b\x15\x94\x31\x0c\x2b\x0e\x05\xc2\xaa\x3a\x3a\x4b\x9c\x36\x15\xea\x2a\xf1\xe7\x4b\x94\xe2\xfd\xb6\x70\x1f\x61\x4a\x1d\x02\x83\xae\xdb\xf7\xb4\xa2\x56\xd4\xec\x25\xf7\x00\xbe\x80\x8a\x7b\x46\xcb\xc9\x79\x6e\x55\x81\xfa\xdb\x4e\xe4\x99\xf5\x49\x1b\xcf\x61\xce\xaa\x0a\x3a\xaa\xf6\xe4\x3a\xa7\x12\x00\xfe\x69\x40\x29\xdb\x71\x00\x0b\x1a\xf1\x6c\x8a\xc4\xb1\x4e\x1b\xfa\x83\x37\x6b\x9e\x8c\x11\x35\x9d\x46\x87\xb2\xa2\xe6\x93\x68\x44\x33\x6a\x3a\x83\xae\xc3\x8e\xbe\xc9\x98\x8f\x9f\x3a\x40\x5a\x0d\xd3\x10\x07\x4f\xeb\xa4\x0a\xa6\xf2\xa5\xa1\x4e\x9e\x1a\x2a\x4c\xc5\x0a\xdf\x99\x93\x04\x6c\x3d\x15\xc1\x64\x9b\xe9\x3b\xd8\xc1\xbf\x68\x69\xd0\x53\xa7\x8e\x8f\xbd\x5c\x69\xed\xe7\x4d\xcc\x24\x03\x4f\x96\x44\xef\x16\x87\x0a\x95\xd6\x72\xe2\x74\xe1\x65\xb7\x93\x2e\x64\x81\x36\x12\x85\xd3\xd6\x7a\xbb\xed\xdf\x7a\x6b\x00\xcf\x68\x64\xbd\x2a\x85\x49\x47\xd4\x29\xe7\x11\x35\x89\xdc\xbb\xab\x22\x55\x7b\x78\x3d\xaf\x28\x32\xac\xd9\x20\x66\x1d\x5f\x90\xcc\x78\x18\xa6\x41\x5b\xdb\x9c\xe5\x41\x0e\xc4\xa4\x59\x52\x9a\x18\xe2\x67\x36\xe9\x12\x4c\x6c\x2e\x0e\x1d\xda\xe4\xd4\x52\xb1\x7d\x91\x58\xb5\xd3\x01\x27\x77\xf3\xac\xa6\x58\x07\xf8\x24\xa0\x8f\xd9\x39\xd7\x49\x97\xab\x40\x9f\xe8\x09\x05\x10\x00\x91\x1d\xc6\x23\x8a\x1f\x3a\x70\x62\x1b\xd0\x27\x32\xd7\x31\x44\x6f\x5f\xc7\x8d\x52\x82\x64\x81\xad\x85\x1d\x98\x59\xeb\xa4\x83\xb3\x7d\x7d\x1b\xd5\xbe\xde\x1b\xa2\x30\x79\x5e\x4b\x0b\x7b\x09\xa1\xa1\x8b\x73\x00\xab\x0a\x92\x38\xad\xc6\xf6\xba\x35\x44\x95\x7e\x99\xce\xe5\xe1\xa7\x97\xdd\x4f\x80\x07\xdd\x3d\x67\xa0\x95\x6f\xfa\xa9\xfa\x45\x51\x27\xd3\x28\xc8\x50\x83\x48\x40\x02\x69\x33\x69\x08\xe0\xd6\x90\xe6\x51\x79\x4e\xf0\x6f\x35\x71\x41\x78\xba\xbd\x28\x06\x0d\xa8\xb1\xef\xd3\x58\xd3\x69\x54\x8c\xfc\xa3\x69\x90\x18\x30\xb1\x2c\x79\xc3\x93\x3c\x47\x8d\xa9\x9e\x03\x69\xec\x1c\x92\x08\xe4\x74\xe2\x54\xd2\xe1\x49\x34\x2e\x31\x32\x12\xc9\xe5\xd2\xb9\x91\xd7\x3e\x9d\x6b\x8d\x3a\xb7\xae\xe7\x34\x6e\xe6\x9c\x1d\x69\xe9\xda\xb9\x50\x06\x8e\xc5\xec\x11\x47\x1a\x37\xa7\x21\x60\xb5\xdd\x7e\xa3\xe6\xac\xef\x03\x91\x2f\x38\x58\x75\x29\x3c\xe8\x0a\x55\x99\x92\x4f\xa5\x7a\x62\x72\x13\xf4\x65\xc9\x37\x93\x55\xbe\x4a\x67\xc7\xf9\xe3\x7c\x05\xde\x0b\xbe\x93\x6c\xb1\x04\xcc\x8c\x8b\x3d\x90\x63\x41\x18\x78\x07\x93\xe8\xeb\x5a\x3c\xe1\xc0\x59\xec\xcc\x58\x3a\x99\xb4\xeb\x40\x8d\xa0\xe9\xa2\x8c\x0f\xa1\x19\xb6\x01\xd1\xff\x51\xc7\xb3\xd7\xa8\x3f\x4c\xe7\xab\xfd\xdd\xf6\x6a\xf4\x9b\x6e\x2f\x31\x4d\x4a\x77\xa8\xc9\xf8\xae\x53\xb4\xb1\x7e\x58\x14\x8e\xd0\xdb\x5f\x95\xa0\x1b\xd3\x64\x3f\x8f\x49\xe7\x6e\xf7\xcd\x19\x7f\x33\x08\xa5\x15\xe9\xd6\x8f\xaf\x3a\x94\x82\x98\x09\x28\x1b\x51\xdc\x29\x0f\x7f\xde\x52\xa5\xac\x68\x84\xd8\x0d\x3a\xa5\x09\xca\xbf\x85\xd2\x18\x83\x07\x1d\x74\x08\x0a\x2d\xe6\xd0\x41\xe9\x2a\x8a\x00\x72\xc5\x08\x24\x14\xaf\x91\xf6\x56\x15\xad\x09\x11\xab\xd8\xa7\x88\xc6\x24\x80\xb3\xba\x01\x99\x0a\x39\x47\x00\xf1\x3f\x14\x6b\x22\x1f\x24\x8c\x41\x62\xff\x93\x44\xc8\x6a\x4b\x9a\x0c\x12\x0a\xf3\xb5\x64\x95\x47\x1a\xc2\x6e\x13\x01\xce\x7b\xca\xce\xe6\x2b\xf9\xc6\xb0\x80\x18\xe6\x49\x56\xac\x96\xf9\x37\xde\x22\x3b\x33\x50\xc2\x51\xc8\x0d\xe0\xfb\x29\xb6\x33\x7f\x47\xb4\x63\x86\x11\x1d\xe8\x71\x21\x89\xc4\x1f\x34\xc8\x00\xff\x2c\xbe\xf3\xd9\x9a\x31\xbc\x6f\x33\x4e\x5e\xf7\x9b\x84\xe3\xe9\x16\xe2\x41\xec\x59\x6f\x31\x1e\x2c\x3c\xf1\xd2\xcf\x10\x6e\xf6\x0c\x34\x84\x70\x7d\xc5\xeb\xc2\x95\x1c\x7c\x05\xec\x06\xa0\xb4\xf2\x3a\x07\x00\x9b\x6d\x7d\xda\x77\x24\x9a\xbf\x29\x66\x05\x9c\x8e\x0e\x53\x50\x84\x21\x92\x54\x07\x47\x03\xb8\x1e\x3b\x2b\xd0\x48\xb3\xb5\x21\x77\x04\xfa\x17\xbc\x3b\xb7\x6c\xa4\x42\x33\x03\x4e\xf6\x5a\x33\x3c\x0e\x84\xcd\x1d\xe2\x12\xff\x00\x36\x3d\x8d\x8b\xf5\x61\x61\x8a\x7b\xb7\x3e\x84\x3f\xda\x5d\x55\x10\x62\x86\x1b\xf6\xb9\x6c\x32\x5b\xc1\xbb\x09\x6a\x80\x55\x46\xf6\x66\x07\x99\xe5\x41\x4d\xf2\x00\x55\xe9\x06\x7c\x64\xe5\xcb\x52\x9d\x4e\x84\x38\xbc\x59\xf6\x32\xc9\x4f\xc0\x1c\x0f\x55\xf8\x6d\x42\x1a\xd7\x20\x07\xb7\x6e\x87\x58\x64\x66\x6b\x6c\x8a\xb2\xc6\x31\xc7\xde\xa6\xd8\x14\x87\x1d\xd4\x16\x9b\x23\xef\x43\x18\x63\x53\xf4\x7d\x5d\xd6\xb8\xee\x3a\xe7\x3f\x24\x5b\xe1\x92\x87\xa5\x50\x8f\xca\xbe\xcd\x68\xd6\x30\x74\x32\x4f\x1f\x32\xb0\x2c\x66\x3b\x79\xf6\x6c\x33\xb9\x9b\xce\xb2\xe3\xfb\x74\xfe\x25\xbb\x9e\x7e\x99\xa7\x33\x44\x35\xcd\xb3\x67\x2c\xe5\x34\xd6\xc5\x8a\x3c\x98\xc5\xe3\x18\x8e\x27\x95\x3a\x9e\x25\xfe\x61\xfc\xbb\x28\xaf\x71\xf6\xa7\xd5\x08\xaf\x57\xcb\xe9\xfc\x4b\x5b\xb2\xf2\x3e\x7d\xc8\xac\xd5\x2d\xf2\xa3\x3f\x29\x12\xce\x50\xe3\x82\xd0\x41\xf1\xc6\xc3\x44\x3f\xf8\x53\xd1\xc4\x6f\x35\x43\xd5\xb7\xb4\x48\x2a\xd1\x30\x95\xd4\x34\x62\xb1\x5d\x6a\xc8\xf6\x61\x4d\x38\x1c\x2f\x02\x25\x2a\x08\xa1\x58\x6f\x7c\x1f\x25\xb5\xb1\xe7\xd3\xc0\xd1\x05\xce\x28\x3f\x02\x67\xac\x6e\x33\x9c\x38\x94\xc2\xea\x57\x43\x50\x99\xef\x60\x6e\xcb\xf8\x9d\x25\x04\xf5\x2e\xc0\x97\x8d\xe0\x16\x40\xdd\x80\xbe\x05\x15\x1c\x8b\x61\xa7\x85\xb6\x30\x61\xe5\x15\x06\x5a\x39\x67\x01\x06\x06\x9d\x60\x20\xdf\x5f\xdc\xc9\xfe\x4d\x43\xba\xa2\xa4\x39\x81\xcc\x01\x28\x2f\xa0\x7f\xc6\xa0\x42\xb6\xf0\x40\x0e\x62\xc4\x19\x82\xff\x63\x82\x51\x18\x76\xad\x3f\x1e\x85\x13\xaa\xb8\x21\x29\x0c\x0d\xd1\xa2\x52\x18\xe4\x6b\x0f\x4c\xbd\x7e\x9c\xce\x26\xac\x21\x29\x09\x22\xd9\x52\x1b\xdf\xb6\x99\xe8\xdb\xf2\xe1\xce\x38\x57\xaf\xba\xcd\x72\xf5\x48\x2c\x83\x2c\x91\x1e\xd9\x12\x8b\xb8\x90\x6a\xd6\x4d\x1e\xd5\xf6\x62\xa1\x0d\x6f\x74\x2b\xca\xf0\xe6\xb6\x16\x09\xd8\xd0\xd6\xd2\x15\x68\x62\x2d\xbb\x2d\x9e\x6d\x95\x10\xc6\x30\xaa\x18\x04\x08\x6b\xda\xef\x5d\x8a\x1d\xad\x79\xe7\x6d\x41\x2d\xdc\x68\xc9\x61\x34\x9a\x15\x3c\x8c\xb9\xb4\x0a\x88\x4a\x12\xaf\x85\xb4\xa0\xad\x4c\xa3\x6d\x2d\x5a\xa3\x58\xb3\x0e\x6b\x0e\x2d\x98\xee\xd3\xc2\x86\x67\x20\x0b\xc8\x79\x66\x95\x41\xfa\xda\x40\xe4\x39\xf5\x49\x1a\xc1\x61\xce\xa3\x12\x32\x9a\x46\xe4\x3a\x83\xa2\xc1\xfd\x69\x08\x31\x9b\x2e\xba\x25\x8c\x78\xbe\x44\x61\x78\xe2\xb6\xd0\x74\x8e\x5c\xb7\x31\x34\x9d\x1a\x87\xb0\x86\xe6\x93\x62\x14\x73\x68\x3a\x17\x0e\x6f\x0f\xcf\xa7\x45\x4d\x10\xe7\xa8\x2f\x19\x20\x71\x56\x88\xf9\xe5\xe1\x0b\xf8\x13\xef\x4b\x4d\x4b\xb0\x96\x8b\x4d\x93\x7c\x39\xc9\x96\x1d\xc0\x8b\xf2\x2f\x37\xb0\x8b\x45\xb6\xac\xa8\xab\x9e\x8d\x33\x89\x4c\x5e\xf2\xa8\xe3\x42\x24\x54\xa8\xa9\x09\x00\x71\xb4\x41\x21\x68\x60\x6b\x2d\x63\x58\x4b\x6b\x01\x69\x60\x88\x24\xe2\xf8\x59\x21\xf2\xce\xa0\xdd\xe1\xaa\xd6\x51\x38\xe9\x93\x77\x0d\x9e\x40\x65\xb7\xc1\x14\xd6\x3b\x98\x67\x24\x89\x4d\x0f\xc7\x9a\x47\x22\xe3\xe3\x1f\x46\x82\x82\x8f\xaf\xcc\x18\xa2\x39\x23\x21\x5c\x69\xeb\x1c\x40\x22\x4b\x3a\x12\x5d\x6f\x0e\x14\x54\x3b\x2e\x54\x8a\xcc\x7a\xce\xa9\xb3\x09\xdf\xd3\xe8\x39\x71\x6f\x8f\xb8\x09\x05\x17\xee\x68\x89\x04\x17\x52\x86\x04\x82\xaf\x28\xc4\xb8\x47\x59\xb6\x25\xe0\xd8\x0b\x87\x18\x84\xdc\xa2\x8c\x18\x30\xe2\x14\x02\xee\xfb\x93\x01\x01\xf0\xbf\x39\xd9\x7b\x81\x5b\x05\xc5\xc8\x7a\xc5\x4c\xef\x04\xf0\x5e\x21\x0d\xcd\xf7\x9d\x40\xbe\xdb\x96\xa4\xe5\x79\xad\xd3\x83\xf9\x6d\x43\xe3\xe6\x35\x7a\x41\x23\xcd\xa2\x54\xc0\x33\x1e\x2d\xfd\xe6\x50\x5a\xde\x36\xfa\x20\x75\x90\x15\x9e\x40\xf9\xba\x7b\xcc\x35\x7f\x52\x0e\xc0\xaa\xd7\xa3\xe4\xd6\xb3\x5b\x8e\x3d\xbb\x0d\x31\xeb\x51\xc6\x45\xf2\x31\x79\xe6\x3c\xe2\xa1\xfd\xcf\x08\xbd\xa6\x93\x49\xfd\xc9\x61\x53\xa2\xad\xdb\x30\xf6\xc9\x22\xda\x9c\x43\x1c\x02\xd3\xbe\xfe\xab\x14\x72\x65\x1a\x6e\xe8\x1d\x88\x75\x72\x47\x22\x32\xc2\xbc\x40\x44\x50\x16\x90\x1e\x23\x7d\x31\xa6\x04\x5a\x69\xe8\x76\x48\xcc\x09\x81\xf5\x42\x51\xb5\x93\x29\x88\x0c\xcd\x05\x14\x84\x32\xe8\x0e\x87\x37\xd9\xea\x3c\x5d\x65\x05\x6b\xad\x8f\x19\x28\xad\x1b\xdc\x01\xe0\x7f\x48\x88\x97\xa9\xcb\xdc\xb0\x50\x31\x9b\xcc\x75\x74\x98\x86\x62\x0c\x91\xa4\x16\x73\x1a\xc0\x3f\x83\xb4\x4f\x34\x48\x1b\x72\x1d\x9a\x53\x6f\x45\x6a\x8c\x37\xe0\x64\xef\x8b\xc7\xe3\xf8\x5f\x1d\x12\x0d\x10\x8e\xa7\x11\xaa\x84\x45\x38\x7a\x4b\xbe\x13\x7f\xcc\x8e\x7c\x27\xe2\x98\x61\x4b\x84\x68\xac\x39\x74\x89\x10\x8b\x88\xe1\x4b\x94\x50\x70\x87\x30\x11\x02\x11\x16\xc6\x0c\xf0\x8e\x99\xfd\xe2\x00\x8f\x98\xe4\x0b\x2f\xb3\xbb\xce\x55\xbd\xca\xee\x60\x27\xb5\x8b\xb0\x46\x71\x52\x07\x73\x4f\xa9\x8e\x29\xa3\x4b\xfa\x74\xab\xde\x25\xfe\xd2\x7c\xd0\x5e\x2c\x60\xff\xae\x94\xb3\x90\x51\x47\xc3\xba\x72\x71\x9d\x38\xa6\xd2\xf7\x76\xeb\x52\xfd\xb5\x9e\x6d\x7e\xee\x93\xdd\x3a\x5e\x65\x77\xcc\x76\xb1\xa3\x15\xb4\xdc\x76\x8b\x28\x51\xc5\xe8\x20\xb9\xac\xa0\x79\x25\x5a\xfb\x57\x72\x0e\x65\xf9\xec\x36\xcf\x8c\x20\x5e\x89\x5f\x1d\x9c\x0c\xb4\x71\x5a\x01\x39\x64\xd9\xe4\x17\x6c\x43\x85\xbe\xb3\xd8\x4e\x52\x94\x0c\x9d\x8f\xe1\xc9\x45\x07\xc9\xd6\x66\x32\x9d\x80\xcf\x8d\xaa\x09\x47\xc5\x2a\x5d\x3d\x16\x1d\xa1\xd7\xd5\x9f\x6e\x2a\xeb\x67\x14\xf2\xc6\xf9\xc3\x22\x9f\x67\xf3\x7e\x4a\xd3\x71\xfb\x8b\x1b\x5a\xf7\x98\x02\x30\x5d\xae\xa6\x77\xa9\x30\xf5\xe9\xa8\xf9\x01\x68\x85\x6f\x9e\x52\xa0\xcd\xd2\xdb\x6c\x56\xbc\x4b\x17\x1d\xb8\xf3\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\xe3\xcd\x26\x3b\xfc\xf8\x29\x59\x65\x0f\x8b\x59\xba\xca\x4e\xd2\x55\x7a\x58\xbd\x76\x23\xfc\xf2\x39\x2d\x5e\x57\xf7\x44\xfd\x23\xbf\x3d\x83\x17\xfc\x65\xb5\xe0\x8b\x65\x36\xcb\xd3\x89\x30\xcc\xaa\xfa\x1b\xd3\x44\xd1\x3c\xea\xf0\xa7\x3c\x87\x4d\x59\x32\x42\x5c\x5e\x54\x9d\x9f\xc2\xed\xf3\x00\x8f\x09\x04\x10\x23\x68\xb7\xff\xdd\x04\xed\x5e\x3c\xdd\xa0\x5d\x45\xdf\x81\xe5\xfe\xb5\xeb\x46\xf1\x29\x8f\x8f\x2c\x03\xad\xce\x26\xd4\x60\x65\xad\xcf\xf0\x1f\xdc\xe8\x3f\xf8\x4b\x1b\x65\x4a\x2c\x20\xed\x14\x22\x9e\xa2\x5e\x87\xc2\x44\xf5\x6a\x59\xa6\x6b\x17\xa2\xab\xd5\xac\x78\xb2\x3a\x5d\x8c\x10\xdb\x56\xb9\xcb\x44\xed\x1d\x36\x6e\xab\xa0\xad\x35\xfc\x1b\x4a\xfe\xed\xf9\xbb\x74\xa1\xa3\x2c\xff\x31\x91\x55\x97\xe0\x99\xf4\x72\x84\x7a\xa6\x74\x99\x92\x67\xcf\xaa\xb9\x3a\x9b\xb2\x58\x6e\x75\x72\xf9\xfa\xdb\x2a\x2b\xba\x5b\x04\x05\xbb\xa1\x7c\xe4\x4b\x8b\x24\xbf\x2d\xad\x8a\x2a\xf5\x23\x88\x4d\x92\xa9\xc0\xf3\x4a\xb6\x30\x98\x81\x74\xb5\xd9\x0a\x0f\xbc\xab\x4e\x62\x8c\xd3\x99\x33\x4b\xee\x79\x26\x73\xc2\x64\x0b\xa4\xef\x0f\x1d\x48\x7f\xc1\x50\x5b\x2c\xde\x6b\xd8\xa9\x6f\xfd\x56\xc3\x03\x71\xd6\xdc\xd9\xc4\x35\x5d\x6e\x54\x0d\xee\x94\xbe\x42\x70\x55\x29\xb9\x80\x46\x7b\x23\x97\x4a\x76\x62\x29\xb5\xd1\xbd\x4e\x46\xa2\x92\xfc\x5b\x05\xd3\xae\x73\xbe\x4b\xab\x66\xc1\xe1\x7f\xbd\x16\xfd\x71\xab\xc4\x92\x57\x3f\x56\x4b\xbe\xb1\x59\x2e\x7a\xae\xc2\xd8\xd8\x13\xb4\x66\x0d\x4e\xd8\xaa\x02\x87\x50\x0f\xf5\x94\x28\x6e\xf4\x87\x03\x23\xf3\x6b\x0d\x3a\xda\x12\xe5\xa4\xd6\x8a\x0e\x51\x79\xa9\x8b\x8a\xe8\x63\xab\x81\x0f\x44\x75\x4d\xab\x15\xed\x91\x8f\xb0\x03\x72\x0b\x9f\xe5\xa0\x6c\x38\x24\xe0\x0e\xcc\xea\x8b\xb6\x40\xf0\x3f\xf2\xdb\x92\x6b\xd7\xf9\xe3\x72\x9c\x5d\x09\x51\xe1\xb7\xca\x3f\xb8\x8f\x34\x6f\xf3\xdb\xe7\xfd\xe3\x95\x66\x61\x8f\x13\x03\x46\x8d\xf5\x7c\xd3\xa2\x41\xda\x22\x84\xa5\xc5\x9d\x77\x10\x80\x86\x8f\x0f\xeb\xcc\xc5\x9f\x79\x0c\x82\x01\xbb\x23\x9a\xec\x79\x87\x8d\x6d\x5b\x32\x9e\x5b\x02\xa8\x97\x20\xf7\x04\x80\x8d\x08\x18\x1b\x77\x35\x25\x7a\x6c\xe0\xa7\x47\x08\xd9\xc6\x16\x03\x85\x8c\xd1\x64\x9d\x76\x77\x48\xd9\x2e\x3c\x0e\x2a\xb9\xa2\xcb\x36\xe4\x55\x6c\x19\xb1\x48\x6d\xa0\x59\xe3\x38\x1c\x75\xb6\xa1\xbe\x4f\x0b\x04\xe2\x80\xec\xbb\x7a\x78\x18\xac\x10\x63\x9f\x42\x55\x70\xe1\xc5\x3e\x86\xf3\x03\x14\x5a\xa8\x88\x02\x0b\x2b\x48\x8b\x38\x48\x21\xc5\x0b\x22\x5b\x43\x0a\x27\x5e\x78\x30\x95\xbb\x50\xc2\xc0\x50\xff\xc2\x08\xd2\xe2\x09\x47\x43\xbf\xa9\xc6\x07\xee\x6b\xa2\x0d\xcc\xd2\xf1\x11\x6e\x85\x3e\xa0\x71\xab\x3a\xd1\xfa\x7d\xd8\x08\x18\xd7\x6c\xf8\xb2\x33\x78\x3a\x89\x65\x1a\x33\xca\xa6\xc8\x5c\xab\x0e\xd0\x8c\x3b\xb0\x89\xbf\x3a\x6b\x98\x4c\xdc\x54\xe8\xe0\x2a\x58\x32\xee\x3b\xeb\x47\xb7\x9b\xae\x89\x46\x78\xed\x38\x2b\xf0\x80\x76\x4a\x03\xe3\xba\x88\x04\x23\xef\xfa\x60\xb5\xb3\xe1\xcf\xc0\x3e\x03\x35\x5c\x9d\x93\x46\x0e\xba\xbe\xbe\x65\x62\x1f\xed\xf1\xe2\xa3\x0b\x45\x40\xb7\xa4\xc9\xc7\x69\x42\x3e\x9c\x93\x76\xdb\xf0\xfe\x2e\xd5\xb3\xd1\x68\x41\xf3\x71\xd7\xc7\xad\xb1\x7f\x7a\xe7\xd3\xb4\x91\x34\x3f\x87\xc6\x8e\xc0\xcd\x44\xd2\xc2\x89\xd1\x38\xf7\xca\x7d\xc9\x56\xef\xd2\x85\x80\x67\x2f\xc9\xaa\xf8\x16\x79\xe9\x0c\x08\xe5\xb5\x93\x13\x2d\xf5\x4b\x1b\x9b\x55\xfc\x88\xf6\x69\x62\x78\xcf\xd3\x08\x6e\x11\xad\xa0\x31\x37\xef\xc4\x7d\xfb\x6d\x95\x15\x47\x55\x0a\xbf\xfd\x7a\x29\x4b\xb3\x19\x86\xfe\xc3\x01\x06\xfb\x87\x03\x06\xe4\x85\x6d\xc5\x9d\xbe\x40\x15\x5d\x15\x5d\x81\x2d\xb2\x2f\x50\x05\x63\xfd\x18\xfc\x92\xee\xe5\x28\xd8\x68\x8e\xce\x4b\xf2\xc7\x35\xc7\x59\xee\x59\x74\x5d\x6e\x6e\x44\x3a\xd9\x16\x06\x82\xf0\x91\x03\xa2\x9b\xd7\x5c\x35\x63\xfb\xfe\xfe\xaa\x99\x3a\xae\xee\xa5\x67\xed\xe0\x81\x78\x40\x48\x45\x5a\x97\x2b\x09\x8c\xb5\x9b\xca\x8c\xa0\x30\xbb\xf6\x8e\xb5\x34\xcd\x59\xfa\x74\xff\xfc\x68\xfe\xcd\x52\x2c\xf5\xb6\xc8\xe7\xb8\xab\xed\x38\xca\x86\xec\xf9\x7d\xae\xc8\x7a\x8b\x01\x8c\xa4\x62\x4a\x0d\xa0\x78\x3a\x06\x46\xec\xbe\xbf\x8a\xb9\x5a\xac\xbc\x66\xb9\x77\x15\x85\xed\x9a\xb8\x23\x41\x6a\x18\x12\xf9\x86\xbd\x15\x23\x68\x0e\xa5\x3b\x3d\xe3\xe5\x10\x58\x42\x46\xdf\x91\xc8\x1d\x25\x2d\x37\xc1\x64\xad\xc4\x1d\xe0\xc6\x36\x1a\x57\x82\x0e\x10\x15\xf5\xee\xa0\xac\x51\x10\x42\xce\x09\x80\xf5\x32\xe0\x8b\x70\x54\x30\x60\x09\x39\x2d\x50\x57\x50\x91\x08\x3f\xa7\x0b\xba\x16\xcd\xcd\x39\x19\xaf\xcf\x75\x68\xbe\x66\xfb\x62\x7e\x92\x3d\xa4\xf3\xc9\xd5\xe3\x7c\x9e\x2d\x8f\xf3\xf9\xdd\xf4\x4b\xa8\x09\x37\xc2\x24\x98\x73\xe7\xfb\x36\xd3\x8e\xae\xcb\x46\x5d\x52\x7b\x50\x3d\xba\x4a\x97\xa5\xa2\xab\xc8\xe8\x5c\x86\x1b\xe1\x47\xb8\xe8\xbc\x7e\x4e\x1d\x18\x3b\x9e\x7e\x58\xc2\x57\xde\xd6\x37\xe5\x66\xf3\xdf\xa6\xcb\x7c\xfe\x90\xcd\x57\xbf\xa4\xcb\x69\x7a\x3b\xcb\xa4\x72\xeb\x53\xf3\xbf\xbb\x8a\xaf\x17\xb3\xc7\x2f\xd3\xf9\xcd\xb7\x05\xbc\x10\xbb\x75\x69\x75\xf5\x42\xcd\x89\xba\x5a\xfb\x52\xf8\xa5\xab\xd6\x1e\x57\x7f\xfe\x94\x2f\x1f\xd2\x15\x08\x79\x3f\xd9\xda\x4c\x16\xb7\x9f\x5b\xab\x28\x3d\xff\x3a\xcf\x67\x59\x3a\x37\xbc\xf6\x22\xf9\x71\xc4\xe2\x63\x19\xa5\x2c\x9a\xbf\x65\xc2\x06\x1a\x64\x1c\x89\x78\x3f\x8c\x0a\x2f\xa6\x4f\x26\xbb\x4d\x3f\x98\x2b\x8c\x0f\xf0\xd7\xf0\xbe\xc4\x14\x61\xd7\x1f\x4e\xab\xc0\x6e\x76\x30\xec\x23\x4a\x8a\x01\xe7\x27\x5e\x54\x8a\xc0\x50\xc7\x9c\x39\x77\xf6\xd3\x2e\xd4\xdd\xb5\x7c\xec\x65\xa7\x75\x0c\xb5\xc8\x86\xc2\x5e\x51\xc5\x28\x6f\xec\x77\x6f\x9c\xce\x1f\x1f\x36\xba\x02\xec\x5e\xfd\x18\x4a\xf4\x1b\x14\x79\x3e\x6b\x5f\x68\xb5\x4a\xb8\x87\x0e\x98\xd1\x18\xde\xba\x11\x25\xaf\xe7\x4e\x41\xe1\xf0\xe2\xff\x4a\xa8\x44\xc5\xde\xa6\x7c\xa0\xd7\x22\x6a\x86\x59\x39\x21\xbc\x84\xea\x6f\x9b\x9d\x0e\x9e\x1f\x9a\x5d\x8b\xbd\xeb\xd9\xb6\x8d\xd1\x95\xa2\x3b\x71\x2a\x45\x85\xfd\xe8\xf8\x94\x5d\xf1\x53\x14\xab\xef\x2c\x2e\xdd\x2b\x5f\x14\xeb\x95\xa5\xed\x29\xf0\xa7\xda\xc2\xfb\x22\x9a\x76\x5f\x0a\x0f\x55\xdb\xf6\x85\xfb\x40\x06\x6c\xc2\x88\x89\x63\x70\xfb\xc7\xcb\x23\xc3\x1f\xed\x7f\xd7\xf3\x41\xf0\x67\x87\xdc\xf3\x0c\xd4\x05\xc0\x1f\x2e\x2a\x04\xe6\xba\x96\xc6\x91\x78\x19\xb6\x3a\x66\x02\xd1\x87\x77\x20\xf0\x0e\xe0\xaf\x0e\xf2\xc0\x12\xb5\x87\x79\x49\xb5\xc2\x07\x7a\x00\xf3\x7d\x5a\x00\x78\xdd\x07\xfc\x90\x55\xef\xd4\x77\x9c\x63\x3e\xcc\x73\x15\x3b\xeb\xdd\xe7\xf0\xc7\x5b\x8c\x11\x31\x51\xba\x83\x48\x94\x62\xc4\x0f\xa4\x46\xcb\xa2\x5a\x7d\x62\x6c\x4e\x15\x5e\xa2\xde\x2e\xfa\xc9\xc8\x6e\xb0\x8c\x98\x28\xa0\xc9\x09\x90\xff\xc7\x2e\x42\xfd\x2f\x7e\xcb\xb0\x17\xb6\x0c\xc6\x18\x03\x35\xeb\x2c\x1d\x21\x9c\x89\x5f\x32\x35\xe4\x24\x34\x1b\x2d\x85\x8d\x3b\xa4\x9c\xf4\x5e\xa8\x84\x88\xee\x9c\x9f\x84\xec\xbb\xeb\x0c\xe1\x65\x30\x93\xe0\x5c\x86\xd2\xd9\xc4\x97\xff\xc2\xab\xd0\x7c\x10\xb4\x00\xd6\x78\x56\x5d\xae\xfa\xa3\x33\x66\x0d\x2f\x84\x46\x85\x5b\x14\x04\x62\xc4\x82\xd9\xb0\xfb\x37\x4d\x54\xb2\x5e\x48\xed\x42\x40\xbe\x9b\x13\x03\xcc\xd6\xa7\x55\x87\x39\x85\x71\x1c\xcd\x96\x76\xdd\xf8\x05\x84\xc4\x39\xaf\xee\x74\x7d\x5a\xe4\x8b\x3c\x1d\xa8\x91\xd7\x3b\x92\x88\xa7\x5e\xf2\xe9\x09\x7c\xf8\x2e\x2f\x63\xb4\x18\x7f\xe1\x15\x31\xcc\x2b\x85\xcf\x42\x6f\x04\xc5\xa9\x81\x78\xf7\x83\xba\xf0\xc7\xb8\x2d\xd4\x03\x1f\xa2\x37\x4c\xd0\x29\x94\x8e\x30\x4a\xc0\x2e\xec\xd3\x0c\xae\x00\xe3\x11\xdb\x84\x19\x73\xd3\x28\x56\xf8\x34\x8a\x79\x2f\x1e\xc5\x91\xd1\x14\x4f\x5b\x96\xae\xaf\x9c\xae\x24\x01\x7b\x11\x29\x0e\x75\x55\x52\x6d\x41\x1c\xfb\x9e\x6e\x33\x85\x9c\xd7\x76\x3b\x31\x30\x79\x0a\xc8\x4b\xbd\xbf\x4b\x57\x61\x98\x4b\xbf\x5d\xb8\x83\x74\x3d\xd7\x95\xe0\xbe\xd0\xff\x74\x17\x82\xdd\x85\x01\xef\x13\x77\x12\x30\x9c\xc3\x10\x7c\xdb\xf8\x13\xf6\x18\x4c\x97\xe0\x3c\x71\x97\xc1\x74\x2f\xce\x3a\x7c\x06\xf3\xb5\x33\xc3\x38\x0d\xa6\xcb\xcc\xd7\xe0\x35\xbc\xc9\x62\x86\x16\x00\xe8\xb4\xb1\xdf\x03\x07\x15\xaa\x89\xbc\x83\x78\x0b\xc0\xb7\xc5\x9c\x12\x1e\x12\x52\xa0\x92\x4d\x9a\x21\xfe\xdd\x04\x13\x6c\x62\x42\x9c\x2e\xbe\x1e\x2f\x01\xbd\xfb\x23\x8d\x1e\x1f\x2e\x9c\xe0\x87\x2c\x9e\x67\x60\x65\xba\xdf\x98\xf2\xf5\x05\x13\x6c\x1f\x02\xce\x30\x5f\x7b\x34\x01\x4d\x03\xb3\x57\x80\xc6\xfb\xc4\x3c\x02\x9e\x20\x02\x04\x9e\xc3\x27\xf8\xde\xc3\x07\xd0\x87\x0d\xef\x11\x20\x03\x07\x64\xc2\x19\x7c\x82\x3f\x43\x06\xb1\x9d\x81\x41\xe2\x05\x10\xf6\x81\xdc\x81\xef\x3d\x52\x80\x67\xe2\xd3\x08\x13\x50\x84\x6e\x78\x4f\x20\x76\x80\x00\x8f\x78\x3d\xbe\xc0\x49\x36\xcb\x56\x59\xc4\x00\x01\x8c\x80\xe0\x0f\xe0\x81\x7d\x97\x61\x02\xf8\xf3\xa2\xf9\x05\x20\x6a\x50\xbd\x7b\x10\x8f\xf7\x0d\x82\x80\xff\x19\x32\x20\x79\x09\x14\x95\x10\xc3\x4f\x80\xf1\xf3\x7a\x0a\xde\xf8\xbe\x8f\xd8\x01\x85\x9d\x4f\x27\x7c\x40\x13\xc2\x68\x7e\x03\x85\x0c\x66\xcf\x81\x82\xfa\xe9\xf9\x0e\x3c\xa1\x04\x04\x06\x26\xef\xe1\x7b\x0f\x28\x20\xbe\x6d\x2d\xbe\x03\x32\xac\xe0\x43\x3e\x8f\xf7\xf0\x67\x70\x61\x00\xb7\x61\x90\xf8\x02\x82\x80\xe1\x1c\x87\xef\x3d\xca\x40\xe2\xe6\xd3\x08\x34\x10\x05\x70\x2d\x3e\x43\xec\x70\x03\x09\x77\x98\xd7\x60\xa5\xe1\x7c\x5a\x18\x63\x1e\x45\x47\xc2\x32\x5b\x64\xe9\x2a\x9b\x54\x10\x8b\xcf\xaf\x3e\x8e\x3e\x79\x3b\x21\x30\xb6\x40\x1f\x04\x46\x40\x70\x41\xf0\xc0\x8c\xf3\x00\x1a\xff\xa3\x28\xc1\x08\x03\x5f\xda\x77\xca\x9f\x37\x04\xc7\xa4\x7a\x6e\x83\x3a\xc3\xa5\x85\x56\x4a\xb9\xe8\x99\xe4\x56\xcf\x24\x77\x79\x26\xf0\x27\x47\x73\x4c\x40\xd4\xa0\x4d\xf1\x20\x1e\xef\x96\x04\x01\xff\xdf\xe0\x95\xa4\x93\x49\xb3\x22\xfe\x6e\x09\x45\x3f\xc4\xf0\x4a\x60\xfc\xbc\x4e\x89\x37\x3e\x93\xc2\xf9\xab\xec\x8d\x34\xfa\xc4\x30\xb2\xe2\xaa\xd1\xe8\x83\xfa\x28\x14\xd6\xca\xdf\x00\xf9\x29\xed\xe7\x44\xf5\x57\x68\x92\x69\x26\xdf\xe2\xb3\xd8\xe9\x07\x7c\x17\x0a\x4d\xfd\xee\x54\x44\x47\xa3\x28\x9d\x4c\x6e\x72\x27\x4d\xc4\x75\x0d\x54\xab\x46\xf7\xcb\x26\x18\xb2\x0f\x56\x6f\x81\x8f\x9f\x82\xdb\x38\x2e\x1f\x8b\xfb\x6c\xd2\x0e\x30\x64\x6d\xf4\x34\x83\x26\x37\x6e\xb8\xc1\xd8\x22\x24\x9e\xb7\xa3\xcb\xc8\x62\xf5\x6b\x98\x3f\x29\x72\xa3\x86\x11\x29\xb2\xba\x1e\x49\x30\xb5\x35\x83\x0c\x76\x78\x6f\x43\x26\x11\xef\x67\x28\x82\x44\x1a\x4d\x1c\xd4\x89\x01\x6d\xe8\x78\x2d\x18\x66\xcc\x31\x7a\x2f\x48\x98\x10\x41\x0e\x68\x20\x31\x96\xcb\xde\x0d\x17\x10\xd3\xe2\xdc\x68\x22\x63\xc5\x74\x59\xc0\xc2\x15\x71\x8a\x31\x8e\x84\x08\x83\x8d\x71\x88\x43\x67\x1d\xf3\xda\x71\xce\x46\x4c\x0b\xec\x60\x4b\x8e\x4c\x76\x7c\x57\xa6\x7c\x98\xa6\x4b\x33\x56\x4f\x3d\xcd\xd5\x68\x49\x87\xfb\xa7\x39\xf7\x5d\xd4\x75\xd8\xf3\x88\xcd\x94\x34\x54\xdf\xa3\x45\x37\x45\x02\x9e\xa4\x49\x37\x9d\xf9\x87\xb6\xe9\xe6\xf3\xf1\x10\x46\xdd\x94\x9c\x58\x8b\x55\x7f\x93\xad\xce\xd3\x55\x56\xc4\x39\xa0\x03\xd0\x69\xad\x11\x18\x48\x56\xdb\xde\x5f\x8e\xdb\x9b\x77\xe1\xc6\x5d\xb0\x22\x52\x78\x58\x99\xce\xff\x7b\x7b\x4d\x6b\x07\xb8\xbf\xf7\x15\x04\xdb\x3d\x1a\xa5\xe7\xc2\xb5\x62\x31\x5b\x2e\x1c\x78\x31\x65\xf3\x24\xb2\x49\x0d\x17\x9e\x90\x63\x0e\xb6\x07\x0b\x2b\x05\xc9\xa3\xd5\x53\x8a\x22\x8b\x70\x24\x84\xdd\xa0\x4f\xa3\x07\xa9\xec\x6f\x6e\x26\xd1\xd8\xcb\x3f\x4c\x61\xbf\xad\xc2\x07\xb0\xa3\xd5\x5e\xa4\xce\x10\x17\x72\xf6\xc6\x10\x0f\x64\x8e\xf1\xec\xaa\x07\xa4\x68\x51\x6a\xdd\xa7\x28\xa5\xd6\x51\xea\x32\x4a\x59\xbf\x2a\x08\xb7\x21\x84\xbd\xc8\xf9\x75\xa3\xe0\xe4\x66\xb0\xfb\xef\xa1\x66\x14\xac\x98\x07\x5e\x8c\x0f\x37\xa4\xe0\x08\x89\x76\x63\x3e\x9a\x82\xc0\xab\xf4\x79\xf8\x31\xc8\x1d\xfb\xce\x7b\xab\x29\xa2\x13\x72\xf9\x3e\x30\xa2\x9a\x26\x38\xdc\xb7\xf2\x53\x84\xc6\xff\xba\xfe\xed\x30\xff\x3d\x96\xe7\xce\xe1\xb3\xfb\x79\xeb\xcb\xec\xae\x73\xa6\xaf\xb2\x3b\x44\xbf\xd2\x22\x5b\x1a\x7c\x73\x26\x37\x7a\x78\x07\xda\xdb\x75\x8e\xe1\x34\x7f\x07\xd9\x33\x49\x06\x88\x5d\x47\x9d\xe8\xc0\x1e\x68\x29\x8b\x21\xdd\xc8\x6b\x72\x36\x07\x72\x33\xb9\xb3\x65\xed\xce\x27\x77\x12\x75\x1c\xf5\x73\xf0\x10\xb6\xf9\x2a\xbb\xe3\x6e\x19\x6a\x89\x06\x1d\x08\x84\x3d\x96\xc8\x63\x74\xe1\x50\x36\xd8\xbc\x36\xad\xf5\x2d\x99\x8a\xb2\xbb\x08\x8b\x6b\xc6\x14\x58\xca\x2b\xe3\x2d\x5a\xc4\xdc\x35\xbc\x16\x34\x81\x56\xdb\x01\x99\x58\xb5\x0b\x40\x31\x5a\xee\xe9\x77\x17\x67\x4b\x8a\x55\xba\x7a\x84\xeb\x8b\xaf\xbb\xc7\x5c\xe5\xc5\xf5\x53\x3f\x4d\x67\x2b\xe1\x0a\xcf\x52\x95\xe6\xcb\x89\x70\x23\xe8\x45\xf9\x17\xd0\x44\xd5\x6a\x83\xea\x59\x85\xe6\xe9\x7c\x3c\x7b\x9c\x64\xd5\x4d\xee\xd8\x6b\x30\xf7\xb8\xae\xc1\x74\xc8\x46\xd4\xba\x66\x33\x4e\x54\x39\x2a\x96\x5c\x5a\x25\x33\x1d\x6a\x8c\x28\xe2\xce\x77\x13\x45\xdc\x7d\xba\x51\xc4\x26\x1e\x0b\xd0\x27\xee\x6e\x3c\x79\x92\x4e\x80\xeb\xbf\xeb\xc7\xa9\x01\x58\x59\x5d\xe0\x89\x53\xd4\x0c\xbc\x78\xb5\xea\xb2\x5e\xc7\x29\xdc\x95\x79\x26\x28\x29\x86\x78\x2d\xca\x64\xc6\xaa\x67\xb7\x20\xe6\x2f\x64\xa7\x21\x62\x8b\xd1\xee\x0c\x1d\xa3\xdd\x0d\x8f\xd1\x76\x97\x3f\x8a\xa6\x39\xb4\x52\x5f\xda\xac\xc8\x0f\xed\xad\x39\x25\x10\xad\xec\x3c\xf0\x2b\xa5\xed\xa4\xde\x73\xb9\xe7\xbe\xe7\x12\xb5\x77\x06\x8b\x57\xef\x04\x93\x1a\x1c\xab\xde\x81\x9b\x02\xfe\x1f\x7b\x7f\xfa\xd4\xc6\x95\x3d\x8c\xe3\xef\xf3\x57\x8c\xfd\x22\x05\xf5\xe9\x9f\x1f\x24\x10\xc6\x9a\x1f\x95\x22\xa0\xd8\x24\x18\x28\x96\xe4\x49\xb9\x5c\xae\x36\x6a\x83\x66\x84\xa4\x47\x12\x49\xfc\xf1\xe4\x7f\xff\x56\xef\x77\x3d\xcb\x5d\x1a\x3c\xc9\x9b\x99\x20\x77\xdf\x73\xfa\xde\x73\xcf\xbe\xa0\x48\x44\xf3\x53\x93\xa0\x7b\xfa\xa8\xfd\xcf\xa0\x13\xff\xf4\x4e\x08\x52\xf1\xf1\x4d\x23\x63\xf1\xe8\x84\x12\xda\x2f\x4d\x25\x12\x77\x9f\xb4\xff\xde\x4b\xbc\x39\x42\x05\x92\xa4\x8f\xb9\x9a\xf5\x12\xa9\x98\xd0\x8d\x51\x71\x84\xe2\xd2\x28\x82\x31\x2b\x8d\x64\x7d\x36\x0c\x9d\x83\x07\x5e\x13\xba\x20\xb1\x8b\xc2\x22\x6f\x32\x2b\x64\x68\xc8\x5a\x7c\x59\x9d\x06\xc3\x64\x54\xda\x52\x70\x0c\x15\x1e\xa3\x1f\x8d\x6d\x93\xea\x53\x29\xf5\x98\x70\xac\xc7\x06\x0f\x0f\x85\x79\xd3\x83\xa8\x2c\x61\x64\x01\x4e\x5a\x1c\x20\x93\x16\xa9\x87\x6f\x46\x88\x39\x74\x11\x99\xc0\x69\xc4\x25\x52\x03\x02\x1b\x9c\x18\xde\x4b\xb7\xa6\x03\xd8\x32\xe6\x76\x03\x75\x05\x00\xee\x10\x3c\x10\x9f\x84\x7c\x82\x96\xea\x80\x80\xcd\x06\x6c\x9f\xda\xad\x3b\x8e\xd1\x60\x80\x8c\xb0\xa7\x43\xee\xaf\x5b\x17\x90\x8e\xdb\x7d\xf0\x6b\x25\x80\xdf\xf4\xce\x9c\x2e\xd1\xda\x07\x30\x21\x81\x8d\x03\x14\xbe\xe0\xeb\x90\xf0\xaf\x12\xa0\x1d\xa2\x8a\x79\x04\x75\x9d\x53\x31\x40\xa5\x3c\x1b\xd2\x9d\x28\xed\xa6\x06\x01\xcd\x3f\xc7\x54\xdc\x95\x9d\x74\x66\x8c\xaa\x33\x03\x21\x00\xb5\xf6\x21\x40\x6b\x00\x85\xbc\x3d\xd5\x07\x7b\x21\x1e\xa6\x31\x58\xde\xfc\xaf\x09\x72\xe6\x3a\xe9\xec\x26\x1b\x22\x43\xd6\x93\x57\xc9\xd6\x66\x32\x19\xa3\xcf\xf5\x92\xe7\xcf\xeb\xd8\x69\x83\x68\x15\xba\x00\xb1\x2c\x9f\x51\xd0\xbb\x99\xdf\x2f\xe6\xb3\x6c\xb6\x16\xfa\x4c\x56\xbf\xc0\xab\x35\x8f\x29\x0b\x3a\x16\x72\x9a\x4b\x38\x93\x8f\xb9\xd6\x7e\x8c\x6f\xca\xa0\xd8\x94\x69\xfa\x31\x9b\xae\xde\xa6\x8b\x06\xf8\x49\xfd\xcb\xc6\xe6\xe6\x77\x73\x71\xf1\xca\xd8\x1a\xbe\x7b\x9f\xac\xb3\xfb\xc5\x34\x5d\x67\x47\xe9\x3a\x1d\x16\xaf\x5d\x09\xbf\x7c\x48\x57\xdf\xef\xee\x6c\x54\xb8\x34\x2b\xb7\xde\x60\xeb\x37\x15\x8f\x28\x1f\xf4\xaf\xf9\x47\xc2\xe7\xf4\xca\x43\x5e\x2c\xb3\xe9\x3c\x6d\x61\x9e\x97\x7f\xb3\x4a\x62\xab\x77\x80\xdc\x3c\xc7\x60\x34\xa6\x15\x85\xd2\x78\x15\xad\x8d\xc9\x88\x3c\xf4\x5a\xfa\x4a\x31\x82\xcb\x2f\xbf\x9a\xe0\xf2\xde\x13\x0f\x2e\xbf\x6a\x62\xa4\xd7\x93\xd9\xba\xb8\xca\xa5\xc7\xb1\xe2\xcc\x86\x58\x74\xf9\xf8\xe5\x7a\x39\x99\xdd\x36\x41\xd5\x31\x37\x32\x5c\x32\x5c\x6e\xb8\x9a\xf0\xa5\xc6\x40\xf5\x36\x86\x4e\xc3\xb1\xe9\x18\xb5\x4c\x9e\xd2\xd3\xb5\x96\x1b\xcc\xdc\x83\x56\x99\xa2\xa2\xe5\x56\xa2\x6d\x8e\x9b\xcb\x87\xfc\x7d\x29\x6f\x94\xa7\x77\x87\x95\x85\x21\x88\x13\x0d\xdb\x0d\x45\xeb\x7c\xf1\x36\x5d\xe8\x08\xe6\xff\x98\xc8\x3c\x50\x50\xbd\x5a\x84\x48\xcf\xcc\x1e\xa6\xd3\xe4\xf9\xf3\x5c\x56\xfc\xb9\x29\x13\x71\xbf\x4d\x0c\xf8\xbc\xce\x56\xf5\xf7\x89\x82\x4d\xa5\xfb\x2d\xec\xa0\x8a\xcd\xa1\x9f\x52\x29\xfe\xf0\x23\x52\xd2\x14\x4a\x64\x6c\xb7\xf0\xc7\x5c\x7e\xaa\x0f\xa3\xa4\x6f\x96\x89\xf4\x4f\xb1\xc8\x54\xfc\xdb\x6a\x89\xed\x9f\x84\x61\x55\xd7\x63\xf8\x00\x68\xa6\xaf\xa3\xd9\x4f\x5b\x3c\x58\x82\xc5\xcb\xae\x13\x2c\xf6\x02\x24\x58\x6c\x3d\xdb\x6f\x80\x35\x72\x4a\x80\x55\x49\xb2\x57\xb9\x4a\xd9\xa4\x29\x8c\x8d\x3e\x8f\xea\xfe\xf4\xf2\x47\xe5\xaf\x10\x8c\x06\x4e\xfa\x44\x25\xa6\x88\x5b\x25\x9b\x13\x9c\xe4\x97\x56\xf8\x10\x41\x41\xfd\x20\xc0\xac\x17\xd4\xc7\xd3\xec\x71\x2d\x1f\x80\x8d\x1e\x88\x67\xd2\x0a\x8c\x67\x5b\x39\x56\xf3\xe2\xc7\xe2\xcd\x8d\xcd\xfc\xdd\xb9\x0a\x73\x63\x57\x10\x10\x25\x78\xe1\xb2\x0b\x80\x48\x0f\xb5\x98\x28\x26\xcd\xf5\x9e\xf1\x1b\x4a\x61\xd1\xeb\xeb\xc4\xa2\x65\xbf\x34\x3e\xb4\x2d\x68\x6b\x4b\x21\x80\xee\x6b\xc9\xd6\x21\xf2\x35\xd0\xaf\x68\x0e\xa9\x48\x81\x94\x65\x61\xe7\x76\x0f\x5f\x20\x1f\x4b\x0d\x28\xac\xaf\xc5\x60\xe1\x31\x7d\x2e\xea\x0a\xb6\xd2\xb0\x7f\xcd\x3f\xe6\xe4\x73\x39\x7f\x58\xde\x64\x17\x42\x9d\xd8\x8f\xca\x3f\xc0\x16\xea\x8f\xf3\x8f\x2f\xda\xc7\x0b\x96\x18\xbc\x72\x8c\x2a\xb1\xe3\x58\xa9\x35\x3c\xae\xa0\x25\x28\x16\x4c\xab\x95\xb0\x62\xf7\x81\x18\x9d\x00\xe8\x96\xab\x81\x78\x70\x35\x4c\xa3\x4f\xe7\xb8\x0c\x7a\xa3\x3b\x50\xc7\x10\x7e\x15\x46\x2d\x43\x80\x10\x4a\xc8\x8c\x4c\x81\x53\x4f\x66\x38\x6a\x87\x20\x0c\x7a\x62\x06\x54\x03\xe6\xb3\xe8\x1f\x01\x87\x5f\x08\x04\x06\xa0\x1b\xaa\xde\x0c\xc5\xa2\x88\x5a\x10\xb6\xad\x0e\x5c\x68\xc4\x80\x27\xbb\xa0\x38\xdc\xa5\x2b\x02\x06\x1e\x25\x69\x56\x9b\xab\xb3\x84\xdd\x97\x4e\xe8\x79\x27\xe9\xbe\x64\x51\x87\x1a\xcb\x8a\x90\x98\x6b\x85\xe8\x99\x8c\xeb\xb6\xbf\x9d\x24\xe0\xee\xb9\x1e\xbd\x4f\xd2\xed\x9e\xcf\xc1\x87\x4e\xb4\x85\x0e\xdd\x3d\xb9\xd6\x6d\x5f\x05\x3b\x1c\x3b\x71\x73\x3a\xdb\xab\xc4\xed\x5b\x57\x26\xc0\x60\xf6\xda\xf1\x4c\xfc\xdc\x57\x8e\x27\x5a\x38\x14\xdc\x3e\xb5\x08\x5e\x39\x7e\xeb\x31\x35\x47\xaf\xb4\x0b\x9d\x25\x9a\x7c\xb2\x4a\xbe\xaf\xf7\x4d\xae\x3c\xff\x60\x42\x25\x78\xe2\x6a\x02\x72\xa0\x8c\x55\xf8\xfe\x5a\xb7\x41\x4e\x1e\xf6\xbc\xb9\x56\x28\x1e\xc9\xa9\xd0\xe1\x36\x6e\xa4\x80\xe7\xdb\x86\x52\xc0\x6a\x0e\xe8\x88\x0d\x68\x85\xaa\xa1\x81\x4f\x19\xda\x8f\x76\xfe\x44\xed\xb4\xf3\x3b\x6b\x08\x96\x47\x95\x0c\xa8\x97\x55\xbf\x06\x3c\xed\x26\x40\x05\xd6\x65\x80\xda\x98\x86\x54\xa8\x32\x18\x44\x15\xb3\x6f\x86\x43\x37\x55\x50\x09\xb3\x43\xf2\xa8\x75\x81\x0e\xba\x72\xc5\xba\x89\xa8\x81\x87\x88\xd2\x00\xf3\xe4\x14\x92\x4a\x0e\x7d\x72\xe3\x4d\x86\x61\xdf\x66\xeb\xb7\xe9\x42\x00\xb9\x9b\x64\x85\xeb\xd4\x9d\x90\x0c\x90\x65\x4a\x92\x83\xa3\xe5\x4b\x1b\x9b\x85\x23\xd2\xf1\x63\x45\x87\xb5\xa3\x1e\xd2\x77\x3d\x65\x63\x0a\x10\x88\xc4\xc7\xcf\xeb\x6c\x75\x50\x64\x0a\xd5\xfb\x21\xc5\x5a\x37\x03\xe1\x71\xbd\x47\x41\xe3\x7a\x2f\x24\x16\x2b\xdb\x61\xc0\x45\x14\x39\x2a\xa2\x7e\xe6\xaa\x9b\xd4\x77\x3d\x20\x47\x2f\x23\xd9\x3d\x67\x8d\x9c\x56\x4c\x62\xf0\xba\x6c\xf9\x70\x73\xdb\x2e\xd4\xac\xbc\x0c\xd1\xf8\xf1\x71\x1b\x0c\xc4\x8b\xe2\x06\xaf\x0e\xfc\x38\x5e\x6f\x1f\x3b\x43\x81\xcb\x34\x35\x3c\x6c\x8d\xca\x8d\x15\xad\x1d\x7c\x93\xdc\xd0\x73\x56\x4d\x35\x14\xe9\xf4\xed\xa5\x99\xda\xb7\xa6\xa6\xf0\x3a\xe2\xe7\x47\xe3\x76\x38\x08\x95\x6f\xfb\xf5\x8a\x3c\xca\x16\xd3\xf9\xe7\xfb\x6c\x16\xb0\x4f\xa4\xbe\x26\xaf\x47\xa4\xfd\x7d\x5b\x02\x76\xa8\xfe\x90\x49\x7e\x06\x47\xd9\x3a\x9d\x4c\x57\x68\x42\x6c\x3f\xd9\x0a\x92\xb4\x6a\xfc\xe2\x98\xcd\x24\x35\x68\x94\x9e\x81\x04\x14\x59\x4d\x24\x59\xeb\x3d\x6a\xbf\xf5\xce\xfa\x48\xaa\x89\x9c\x25\xb8\xd1\xec\xe1\xbe\xce\x34\x3b\x69\xc9\x33\x4c\xcf\x73\xe8\xfa\x47\x6a\x3e\xa9\x83\x0c\xde\x78\x92\x0c\x82\x9e\xd0\x15\xaf\xf7\xa4\x94\x57\x25\x1e\xb0\x00\xae\xa0\x81\x3e\xdc\xd5\x05\x39\xcd\x47\x6e\x52\x09\x13\x5a\xb4\x06\x95\x10\xd8\x90\xcd\x29\x21\x38\x31\x1a\x53\xe2\x87\x2d\x50\x92\x9b\x2a\xdb\x87\x83\x03\xf8\x99\x1a\x31\x00\x95\xda\x9c\xcc\x35\xc7\xb1\xdf\x78\xba\xe0\xfa\x8d\x6d\x59\xf6\x50\x3a\xbe\x96\x33\x6e\xde\x68\x94\x9d\x76\x11\x58\xe7\x69\x9f\x53\x4b\xa3\x1e\xd6\xf3\x37\xf3\xd5\x7a\x96\xde\xe3\xe5\x60\xa1\x34\x1e\xdb\x06\x44\x1e\x5e\xc7\xd7\x7b\xc8\x88\x72\x47\xd6\x7d\x1d\xda\x4f\x8b\x25\x5d\xf5\x11\x28\x0d\xd7\x7b\x04\xf2\xa5\xa8\x3f\x07\x02\xb1\x06\xd0\x7f\x70\x0e\x11\x6f\xc6\x5d\x6c\x2d\x88\x09\x85\xae\x08\x29\x1c\x87\xa3\x0f\x09\xa4\x41\x52\x86\xa4\xe3\x66\x6a\x43\xb6\xef\xbf\x5a\x4e\x56\xeb\x74\x9d\xed\x7f\xb9\x3e\xbd\x1c\x5d\x0d\xb7\x92\xab\x8b\xeb\xd1\xb0\x97\xfc\x70\x70\x72\x39\x1a\xf6\xbd\xc8\x45\xda\x9e\x80\xaa\x56\xbb\x28\x65\xb0\x1e\x22\x96\x4d\x18\x86\x9d\xaa\x87\x2a\x5d\xe0\x26\xd5\xba\x97\x40\x68\xd4\xa1\x7a\x88\x16\x06\x82\xf5\x50\xc6\x48\x84\x21\x12\x73\x14\x85\x8c\x74\xf8\x66\x2c\x1e\x53\x29\x0b\x39\x2f\xd8\xb0\xae\x97\x5a\x46\x9c\x13\x1c\x41\x2f\x0b\x37\x27\xd8\xf0\x3d\x1d\xaa\x59\xac\xf9\xc0\x14\x54\x7d\x14\xad\xa7\xd8\xff\xa7\x5b\x15\xcb\x6b\x22\x30\x78\x6b\xbb\xd1\x94\x22\x4e\x02\xa6\x83\x21\xa4\x99\xc7\x55\x92\xfc\x4e\xea\xe9\x29\x29\xa6\x46\x3e\xdd\x6a\x29\xe6\x06\x38\x5d\xa8\x29\xa6\xb9\xbf\xb1\xf4\x94\x93\xc9\x4a\x80\x1d\x6d\x92\x89\x01\x84\xa7\x74\xb7\xac\xca\x6c\x01\x08\xac\xf0\x5f\xd3\xd8\xa7\x93\xe9\x25\x8b\xbb\xcf\xab\xc9\x4d\x3a\xcd\x1f\xc0\x9d\x46\x83\x64\x2b\xf4\xc0\x13\x4e\x94\x6e\x37\x90\xcf\xca\x42\x41\x51\x9b\x2a\xea\xf0\x48\x9d\xf2\x28\x68\xf2\x5a\x29\xf2\x56\xfc\x7b\xae\xc9\x53\x6e\x3d\xf3\x84\xe7\x9a\x0c\x8c\x5e\xbf\x73\x91\xdd\x7c\x55\x93\x50\x76\x3b\x08\xe2\xa2\x12\x37\x56\x3f\x4e\x03\xd0\xf0\xad\x38\xe9\x40\xfe\x1e\x7e\xa2\x4a\xf6\x6e\x86\x9f\x88\x0e\x5b\xf9\xa6\xaa\x1e\xdb\x81\xde\x2d\x21\xee\xac\x14\x6a\x60\x7d\x17\x1f\x97\x02\xde\xb0\xa7\x33\x2a\x05\x61\x04\xf1\xc7\xa4\x80\x08\x44\x1d\x91\x02\x42\x8e\x3d\x1e\x05\x23\x8f\x27\x30\x1a\x05\x23\x8d\xc8\x63\x51\x70\xc2\x88\x31\x12\x05\x23\x8a\x88\xe3\x50\x30\x92\x78\x42\xa3\x50\x30\xd2\xe8\x6a\x0c\x0a\x88\xc7\x13\x1c\x81\x82\xd3\x74\xf8\xf1\x27\x18\x59\x49\x22\xd8\xb5\x0e\xc9\xef\x5e\xa9\x2a\xbb\x5b\x9c\x89\x30\xdd\x02\xdb\x8b\xc7\x1e\x03\x83\xed\x52\xc4\x11\x30\x38\x69\x86\x1c\xff\x82\xb1\xd9\x48\xa3\x5f\xb0\xf3\xf7\x4e\x81\xdb\xf5\xbf\x09\xde\x49\x70\xbb\xcc\xc3\x8e\x34\xe1\xc5\x04\x23\xb4\x57\xd7\x6d\xb2\x0b\xb4\x84\x79\xaa\x4b\x1b\xaf\xc5\x5d\xa5\x47\xf2\xb3\x90\xbf\xd4\x10\xcb\x0d\x38\xd5\xc5\xf4\x99\xdd\x39\x1f\x19\xd3\x5c\x48\x88\x7a\xb8\x1f\xff\x7a\x51\xdc\x74\x3c\x16\x76\xc0\x6f\x7e\x0b\x7c\x8f\x3b\xf1\x15\x45\x9b\xdb\xc2\x80\x02\xce\x6c\xd1\xee\xbc\xaf\x27\xc5\x2f\xa6\x8b\x1f\x9b\x8e\x73\x04\x9b\x82\x1a\xdf\xa5\x50\x99\x1d\xdd\xe8\x76\x85\x69\x4a\x8b\xf0\x40\x4c\xeb\x42\xd8\x41\x27\x96\x67\x0d\x4f\x63\x16\x86\x4a\xd0\xb0\x99\x21\x50\xab\xae\x45\xbc\x4a\xfa\x1e\x9a\x84\xb0\xb4\xa7\xf2\x60\x4e\x9c\xc2\xf4\x05\xc3\x5b\xff\x35\xa1\x5f\xea\x4c\x97\xde\x16\x6b\xa8\xcb\xc3\x72\x8a\x3f\xb9\x57\x3c\x7a\x9b\xcd\x2a\x03\xa9\xf9\xb0\xd7\xcd\x4f\xf0\x97\xb5\xcf\x19\x22\xda\xb4\xc2\x84\xa7\x3f\x7e\x86\x3c\x33\x06\x4f\x28\xbc\x7b\x71\x30\xfb\xac\x80\x69\xdf\xfa\x71\x35\x9f\xe1\x7b\xb6\xd5\xc1\x7c\x1a\xe2\x68\x99\xa2\x29\x46\x72\x97\xae\x46\xb3\xf5\xb2\xdc\xcd\xc3\xf9\xec\xd3\xe4\x76\x48\x9b\xcd\x99\xf4\xb6\x93\x67\xbd\x72\x85\x3f\xb2\x9b\xf3\xe9\xc3\xed\x64\x46\x7e\x77\x50\xbf\x7b\x32\xbf\x5d\x31\xdf\xdd\x2d\xde\x1d\x67\x37\xd3\x74\x99\x8d\x2f\xb2\x55\xd1\xf5\x91\x62\x57\x18\xde\x80\xad\x0b\xf9\x05\x29\x23\x63\x9c\xad\xd6\xcb\xf9\x67\x1e\x02\xa6\x57\x60\x0c\x94\x37\xe4\xa4\x10\x97\xb9\x40\x02\x3f\x8e\x36\x13\x08\xd2\xb3\x43\xd9\x4b\x82\xfe\xcf\x10\x5c\x1e\x56\x11\x6d\x95\x18\x89\x18\x7b\x5f\x4d\x22\xc6\xab\xa7\x9e\x88\xb1\x15\x69\x08\x50\x6f\xcf\xf2\xe4\xf5\x72\xaa\x3e\xfa\x12\xdb\xa4\x56\x32\xd3\x77\x48\x90\xe6\xf8\xf6\x08\x2a\x02\xa5\x06\xcc\x94\x05\x82\xce\x5a\xe9\x76\xea\x11\x9a\x01\xf4\x48\x53\x8f\x6c\x03\x86\x0e\x1a\xfd\xc4\x90\xbf\x92\x7f\x48\xa1\x6d\x68\xb8\x96\x3a\x88\x4f\x91\xdf\x96\x05\xa1\x23\x49\x93\x51\xde\x7a\xf9\xf5\x0d\x3e\xda\xe1\x0f\x3e\xea\x73\x67\x0d\x55\xeb\xcf\xe7\xd3\xfa\xd1\x37\xba\x3a\xa5\xbe\x38\xb0\xbe\xd8\x68\x51\xea\x2b\xbb\xb6\x57\x5a\xe5\x49\x7d\x05\x65\xc4\xaa\x6e\x43\xbf\x16\x9a\x56\x44\x71\xa5\x29\x9a\x97\x4a\x95\x68\x82\x9c\xa6\x08\x71\xf0\x55\x75\x28\x0a\xc2\xaa\xa6\x66\x1a\x4c\x45\xd4\x4f\xf8\x73\xa6\x0c\x3a\x5a\x97\x33\xa6\x8c\x2e\x83\x18\x7e\x4a\xdc\x49\xe7\xe8\x9a\xc4\x17\x0e\x96\xbb\x86\x8e\x79\x0a\x9d\xbb\xf6\xaa\xbb\xb9\x52\xbd\x2d\xe6\x60\xa9\xfa\xd1\x5c\xeb\x81\x9e\xdd\xd3\xf3\xd2\x14\xb7\x85\x5a\xbf\x03\x8e\xef\x12\x94\x1f\xda\x27\x1b\x93\xe5\x0c\xd3\x8e\xec\xa3\xb1\xc0\x94\xc5\x80\xa3\xb1\xc0\x4c\x45\xc2\x68\x2c\x75\x28\x16\x61\x68\x15\xa7\xae\x6a\x37\xa9\x95\x12\x14\x03\x45\xc3\x00\xb0\xe8\x6f\x79\xce\xce\x7a\xf9\x04\x66\x67\xed\x88\xdf\x80\xcf\xb5\xea\x8b\x8f\x9b\xd4\x08\x61\xf3\x0b\x2d\xa0\xb7\xad\xbe\xd1\xea\x0f\xda\xb3\x03\xe5\x59\x41\x71\xd0\x9e\xdd\x15\x9f\xb5\xf8\x4c\x28\xd1\x19\x90\x4f\x69\x4a\x04\x81\x7c\xcc\xce\x13\x02\x2a\x7d\x24\x52\xa4\xea\x07\xc4\x7b\x0b\xcd\x1d\xa3\xc6\xa6\xf0\x99\x63\x94\x55\xc4\x8c\x87\x2f\xa7\x67\xa7\xa3\xe1\x56\x72\x70\x71\x75\xfc\xc3\xc1\xe1\xd5\xb0\x97\x7c\x7f\x7d\x7c\x72\x34\xec\xbb\x97\x90\x1b\x10\x0e\x17\x4b\x70\x98\x5b\x06\xbc\x6d\x8d\x2d\xb8\xcd\x23\xb7\xcf\xb3\x9f\x07\x9a\x04\x5e\xba\x90\xaf\x09\x2e\xff\xed\xc2\x63\xfb\x18\xc3\xd7\xfc\xdd\x80\xd1\x07\xaf\xe9\xb0\x38\xda\x67\x80\x81\x6b\xbc\xd5\x1e\xad\xbf\x90\x32\x46\xdd\x75\xf4\xad\xf3\xc4\x65\xb4\x7a\xa8\xc3\xe9\xc2\xdb\xa0\x2f\x44\xf7\xdc\xa1\x4e\x26\xc3\x90\xaf\xce\x07\xda\x05\x34\xfe\xba\x99\x6a\x47\x97\x86\xfe\xc6\xa0\xc3\x34\x3b\x8b\x51\x08\xcc\x98\x05\x65\x3f\x6d\xea\x31\x79\xea\x2a\x58\xb4\x43\x1c\xba\xda\x92\x3b\xa0\xa0\x6e\xeb\x96\x01\x65\xb0\x1f\x68\xbe\x84\x19\xec\x07\x12\x6c\x9c\x49\x20\xf2\x21\xc2\xb9\x39\xc8\x7d\xf2\x99\x09\x82\xe4\xe1\x80\x90\x23\xcc\x05\x01\xe1\xf9\xcc\x06\x71\xdf\xdf\x68\x33\x03\xc0\x44\x69\xec\xc8\x5d\xc7\x06\x20\x49\xe8\xf8\x79\x87\x9a\x1c\x80\x9d\xb4\xdb\xf4\x00\xf7\x3d\x15\x99\x98\x5b\xda\xf9\x36\x32\x43\x00\x3b\x52\x03\x78\xde\x2c\x01\xa4\xd0\x0f\xfb\xfc\x6e\x27\x97\x82\x95\x58\xd8\x56\x05\x98\x5a\x8a\x14\xbf\xe1\x17\x21\xee\xc4\x52\xec\x7a\x78\x4f\x2b\xa5\xee\xbf\x2c\x07\x3b\xa9\x97\x05\xc7\x2a\x5a\x02\x0b\x9e\x35\xb2\xc8\xb0\x4a\x23\xd0\x68\x75\xb1\x46\x68\x9e\xb5\xb0\xfc\x3d\xed\xa4\xfe\xf5\x95\xcb\x51\xfb\xd4\xbc\x22\x33\x2c\xed\x07\x1d\xba\xce\xd5\x76\xc8\xee\xb5\xad\xfc\xbd\xf4\x9e\x44\x5a\x24\xa5\x3a\x9c\xa0\xd7\x18\x52\x6c\xf2\x91\xed\x53\x63\xcd\x20\xb5\x7d\x64\xb4\xf9\xa3\xb6\x0f\x74\xd6\x5c\xca\x44\x60\x87\x4f\xf4\x50\x56\x7a\x2e\x2c\x57\x8a\xf1\x05\x64\x4a\x42\xb6\x54\x0f\x9c\xe3\x6c\xdb\x08\x13\x56\x74\x1b\x0c\x99\x91\x6d\x67\x4a\xe0\x66\xd4\x5c\x49\x88\x8a\xba\xb3\x25\x10\x12\x62\x7a\xf1\x77\xb4\x8e\xaf\x46\xe9\xb8\x6b\x65\x4a\xee\x55\xcf\x74\xab\x4a\xfb\xc6\x18\xc3\x82\xc1\xc6\x17\xd0\xe7\x3b\x0d\x0a\xa6\x9b\x1d\x0a\xf5\x86\x1b\x12\x6c\xa3\x5a\xc7\x01\xc1\xfc\xfd\x8b\x3e\x1c\x98\xaf\xae\x7b\x0e\x06\xa6\xdb\x47\xca\xa9\x86\x1e\x0a\x6c\x3b\x5b\xf7\x81\xc0\x6e\xa6\x4f\x93\xfc\xe0\xda\x9e\xc1\x4d\xc4\x9a\xe0\x06\x9d\x12\x6b\xfb\xe0\xf6\x77\x3e\x41\x97\x99\xa7\xbb\x2e\xdf\x6b\x02\x4b\x26\x5a\xa4\xea\xde\x4e\xb4\xe0\xc7\x3a\xf5\x8c\xb5\x91\x2d\x08\x09\xa6\x5b\xfe\x7e\x6a\x29\x33\x8e\x02\x75\xcb\x91\x78\x6d\xc0\x79\x04\xdc\x77\x54\xf8\x5d\x67\x1c\xbf\x24\xcc\x38\xb6\x93\x52\xa4\xf9\xc6\xb6\x8f\x0c\x30\xdb\x78\xc7\xe5\x74\x3b\x9e\x6b\x4c\xc4\x21\xe2\x4c\x63\x1b\x8d\x87\x98\x67\xec\x22\x6c\x3d\x27\xde\x62\x03\xad\x6d\x9f\xeb\x37\xed\xd6\x51\x51\x36\x24\xb3\x61\x9f\x6d\x2d\xfe\xab\x86\xcb\x3e\xa3\x46\x84\xa4\xaf\x07\x11\x81\xcf\x5c\xc0\x87\x36\xe1\x16\xda\x8c\x26\x4f\xcf\x6f\x1b\x06\x1e\xdb\x60\x40\x81\xbb\x01\x8e\x9a\x89\x94\x7c\xe8\xb7\x01\xbb\xee\x1b\x60\x42\x81\xbb\x01\x2e\xfa\x8a\x2d\xa3\x32\x4a\xef\x08\xa5\xc0\xa3\xe7\xe4\xaf\x45\xd0\xe5\xf7\x8e\x70\x71\xe2\x9a\x4a\x48\x7c\xbb\x46\xbc\x82\xdb\x46\xa8\xd5\x31\xae\xaa\x29\xed\xb0\x5b\x2d\xd5\x94\x6e\x4b\xee\x1d\xa1\x10\x9a\x29\x61\x36\x0a\xa5\xa9\xb5\x39\x7d\xa7\x7b\x89\x21\xcc\xa6\xb5\xbe\x8b\x2f\xd6\x58\xfd\xe3\x49\x6c\x7d\xa4\x47\x89\x56\xdb\xe4\x4a\x6d\xc4\x13\x6f\xc9\xcd\x98\x53\xed\x46\x6f\xe1\x27\xda\x1b\x4a\xa8\x7a\x4e\x94\xe5\x31\xc9\xde\x85\x84\x82\x4f\xb1\xb7\xd9\xa3\xce\x13\xec\x7b\x1e\xf3\xc4\x5a\x64\x46\x7f\x2c\xd2\xd9\x38\x0b\x98\x0c\xde\xac\xe8\x94\x0c\xae\xbd\x6d\x4c\x06\x8f\x33\x3d\x2c\xc9\xcd\x88\x55\xe5\xf5\xbc\xc8\x16\xf3\xe5\x5a\xe8\xee\xa1\xfe\x13\xa5\x45\x4a\xf9\x64\xf8\x19\x65\x86\xfd\xea\x20\x2b\xbb\x86\xc5\x48\x07\xb5\xa3\xe7\x92\x95\x4d\x59\xed\xd1\xb2\xb2\x85\x66\x16\x8f\x30\xf5\x95\x50\xc7\x5f\x12\x23\xb7\x9a\xbf\x22\x61\x1c\x3d\xc3\x0d\x09\x99\xc9\x6c\x60\x54\x71\x33\x99\x1b\x80\xb1\x32\x99\x31\x00\xf4\x4c\x66\xb8\xbe\xcf\x7b\xb8\xac\x0c\xcc\xc2\x09\x39\x49\xcd\x12\x65\x79\xa5\x0b\x1b\xa8\xe2\xb1\x07\xb5\x21\x24\x1b\x75\x44\x1b\x08\x3b\xba\xa3\xdd\x00\x33\xe2\x58\x36\x8c\x08\x74\x3a\x0d\x1e\xe8\xad\x38\x2a\x31\xe9\xd5\x4c\x0e\x10\x9a\xe1\xb3\x8a\x6d\x64\x41\xda\xac\x9a\x3c\x0c\x1c\xc0\x9f\x4c\x48\x18\x78\x76\xbe\xae\xf5\xab\xa6\xe7\xf4\x7c\x96\xcd\x3f\x15\x6a\xc0\xea\xc3\xfe\xbb\x77\xbd\xa4\xff\xfe\x3d\x73\x89\xcb\x9b\xf9\x22\x3b\x4c\x57\xd9\xfe\x97\xcb\xc3\xb3\xf3\xd1\x87\xd3\xb3\xab\x0f\xe5\x88\xec\xa3\xd1\xf9\xc9\xd9\xaf\x6f\x47\xa7\x57\x1f\x8e\x8f\x86\xbd\xe4\xe0\xfc\xfc\xe4\xf8\xf0\xe0\xea\xf8\xec\x14\x9c\x98\x6d\x84\x23\xd1\x76\x0b\x14\x22\xe9\x9b\xf9\xfd\xe2\x61\x9d\x9d\xe5\x1f\x99\x3f\x8c\xd0\x34\xba\x43\xef\xb6\xde\x7b\xd8\x1c\xc8\x57\x39\xf7\xc2\xd6\xd6\x64\x36\xc2\xb6\xbe\x6f\x2b\x43\x6d\x2d\x0f\x4a\x8f\xbe\xa2\xe0\xd3\xab\x2b\xa6\x11\x49\xa0\x4d\x66\x3a\x59\x5f\x4d\xee\xb3\xf9\xc3\x9a\x56\x8e\x1a\x6a\xcc\x9f\x86\x63\xd4\x3e\xdb\x2a\x34\x52\x43\x65\x1c\x45\x5e\x87\x6d\xce\x7a\x31\x0d\x13\xb9\x02\xf2\x1b\x45\xcf\xd0\x3a\x1f\xa1\x06\x03\x46\x72\x74\x23\x02\x25\x5e\x9f\x56\x75\xb6\xe2\xcf\x5f\xda\x2b\x10\x68\x54\x1c\xc0\xb8\x62\x35\xff\xd6\x40\x86\xef\xfc\x4d\x05\x41\xb2\x44\x0c\x52\x39\x4b\x7a\x82\x69\x20\x36\x99\x61\xb5\xe7\x01\x6d\x09\x94\xc0\xd0\xda\x49\x91\x5a\x90\xea\xc9\xc0\xd2\x4f\x44\x33\x86\x24\xb4\x08\x09\x27\xa9\x68\x5a\xcb\xe6\x9b\xfb\xca\x9a\x40\x87\xf0\xc8\xf1\xf9\x5c\x4c\x61\x28\x75\x11\xf5\x26\x9d\xd0\x42\x92\xb8\xf6\xa3\x79\xf2\x9e\x44\x1b\x56\x54\x46\x3f\x5e\x1b\xd6\xb0\x92\xd4\xcc\x04\x3b\x93\xaa\x04\x51\x11\x52\xc2\x12\xc0\x05\x6b\x6b\x07\x3a\xfe\x62\xb4\xb5\x03\x05\x35\xad\xad\x5d\x18\xea\xe9\xac\x54\x12\x1d\xe9\x41\x26\x77\xcf\x02\x4a\xc2\x3c\x0f\x22\x2a\x51\xc7\x8d\x12\x71\xf0\x2c\xb6\x0c\x75\x2a\x9d\x94\x60\xf2\xbd\x56\x56\x12\xf2\x29\xcc\x24\x4c\xc7\xe3\x10\x50\x8c\xb1\xa4\x74\xe2\x71\x2f\xe2\xe4\x9f\x86\x25\xf2\x10\xab\xda\x11\xb5\x46\x2d\x38\x58\x08\xa1\x70\x0e\x4a\x7c\xc4\xcb\x3f\xe8\x40\x44\xd6\x00\x05\xb2\x83\x11\x90\x77\x24\x43\x4b\xb8\xc3\x88\x7f\x68\xc6\xd5\x81\xcc\x43\x9d\x41\x3e\x77\x86\x29\xf8\x8a\x13\x37\x31\xaf\x47\xa6\xda\xce\xe4\x65\x30\x19\xe9\xc9\xe8\x04\xa7\x49\x9c\x6e\x2d\x38\xdd\x18\x51\x08\xda\xb1\x45\xc1\x21\xd2\x8c\x50\x1d\x42\x58\x5f\x90\xdb\x7c\x50\xfb\x02\x46\xfb\xe4\xcb\xa4\x7e\x1e\x1d\xa1\x73\x2c\x3e\x09\x4d\xce\xa9\x1f\x8c\x31\x17\x54\xff\xbc\xae\x1c\x34\x8c\x99\xa0\x04\x24\x9d\x5d\x31\x4f\x71\x1e\x68\x8d\x1e\xdd\xe3\xd2\x90\x08\x3e\x0f\xa0\xf9\x76\xbf\x49\xa0\xd0\x6d\xed\xc0\x69\x11\x6d\x0a\x28\x19\x86\xe9\xfa\x37\x33\x40\x95\xbb\xed\x3b\x01\xb4\x39\x5e\x7f\x77\x81\x69\xfa\xa7\x84\x6d\x84\xac\xfa\x7a\x7d\x96\x5e\x67\x9a\xfb\x69\x41\x34\xc6\xd4\x4f\x08\x13\xf1\x16\xf9\xd6\x6e\x40\xd9\xf4\xcd\xbe\x39\x30\x34\x45\x31\xc3\x8e\xb8\x56\xcd\x64\xc2\x7d\xe7\x93\xe8\xd0\x10\xad\xa7\x18\xd7\xc4\x1f\x41\x72\x6b\xef\xd8\x92\x18\xc8\x83\x2c\x59\xd9\x0e\x7d\xff\x6c\x87\x47\x98\x01\x9a\x1f\x11\x61\xc4\xe4\x56\x90\x4c\x09\xbb\xc4\x0a\xa5\x6f\x34\x52\x94\x4c\x60\x1e\x5a\x05\x65\x8d\xae\x33\x1f\x8c\xf9\x0e\xf0\xc0\x2c\xed\x15\x74\x36\x9a\xea\x09\x7e\x94\x20\x11\xda\xcd\xfa\x91\x67\xf5\x0d\x8c\xb3\xe8\xae\x3e\x2f\x42\x44\x93\x0c\x7c\x36\x86\x02\x86\xe9\x20\x8e\x3a\x17\xb6\x2c\x10\x05\xfa\xa7\xc3\x34\x1f\x89\xd4\xa1\xb9\x2d\xec\xec\x0c\x70\x8a\x4e\x8c\x28\x13\xd8\x8f\xda\x61\x78\x52\x41\x8e\xea\x20\xa1\x41\x91\xed\x81\x9f\x5e\xfe\xf2\xfe\x97\x93\xb3\xd3\xd7\x1f\x2e\xae\x4f\x4f\x8f\x4f\x5f\x0f\xb7\x92\xb3\xd3\x0f\x47\xa3\xb7\x07\xa7\x47\xc3\x5e\xf2\xf3\xf1\xc5\xd5\xf5\xc1\x09\x98\xf0\x69\xa0\xe4\x88\xfd\xf2\x8c\xf7\x26\x5e\xb7\x3c\xf3\xc7\xf9\x3b\xca\xb1\x06\x0a\xe6\xcf\x64\x39\xc7\x6d\xfd\x50\x5c\x3e\xb8\x9b\x78\x24\xd8\x39\xcb\xbc\x23\x7e\x71\x47\xc4\x83\x66\x00\x19\xcd\x5f\x6a\x80\xe5\xe9\x23\xe5\xee\x66\x27\xf1\x42\xb0\x7b\x96\xf9\x88\x7d\xe2\x82\x48\x6b\x14\xdb\x01\x87\x8e\xff\x99\x0f\xd7\x3d\xce\xc7\xdd\xc5\x4a\x4e\xb8\xf6\x1e\xe3\x7e\xdb\x4a\x05\xc7\xe9\x86\x58\xb6\xf5\x70\x35\x5f\xaf\x17\xab\x6c\xb9\xbe\xc8\xa6\x59\xba\xca\x02\xe5\xe9\x1b\xd7\x64\x98\xb5\xe0\xfb\xb6\x2c\xc4\x65\xf9\x78\x63\x29\x56\xaf\x63\x76\x62\xf1\x50\xf8\x04\x41\xe3\x27\x44\xb3\x01\x4d\xd0\x50\x4d\x97\x86\x22\xdd\x36\xe4\xae\xd7\xbd\xc3\xb9\xc2\x8d\x93\xe1\x57\x92\x07\x6e\x12\xd5\xd4\xe6\xec\x6c\x46\xee\x61\x0c\x53\xc7\x08\x32\xac\xd9\xc3\x01\x61\xba\xd8\x4a\x06\x9c\x78\xa7\x79\xd9\x6f\xe5\x39\x3a\xf8\x95\x91\x73\x69\x91\x0a\xaa\x01\x14\x2b\xc2\x7e\x64\x94\x60\x74\xc4\x42\xa5\x97\x21\xa0\x0b\x8d\xc0\xbe\x2b\xb5\x3e\x50\x1f\x26\xae\x0d\x20\xf0\xee\xd2\x95\x1d\x1a\x9e\x81\x11\x48\x72\x86\x09\xe6\x9a\x17\x75\x97\x9d\x84\x60\xee\x93\x17\x9e\xb1\x23\xb6\x46\x70\x5c\xee\xe9\x1f\xb1\x65\x2f\xf8\xb7\x00\xe5\x5c\xc7\x0e\x24\x68\x94\x68\x2d\x0b\xc6\x57\x21\x43\x4d\xb1\xd9\xa7\x21\x44\x4d\xc1\xd8\xae\xa4\xa8\x39\xa0\x19\x51\x8c\x6a\x00\x1f\x49\x8e\xbe\xae\x5b\x0c\x84\x35\x42\x6d\xcb\x32\x64\x29\xb6\x84\x2d\xda\xfa\xb5\x45\x44\xa7\xed\x30\x6a\x42\x0d\x79\x98\xc0\xa8\x6d\x6f\xa3\x49\x79\x0b\x40\x94\xc7\x93\x11\xa5\x4b\x7a\x87\x25\xff\xae\x8e\x7b\xca\x81\xcf\x6d\x63\xe0\x53\x98\xf1\x1e\x20\xfe\x89\xb3\xc9\x18\x1a\x8e\x0d\x6a\x58\x1d\x87\x09\xe5\x2f\x5d\x32\x27\x05\x33\x45\x12\x53\x63\x9a\xdb\x70\x4c\x13\xa7\xa7\xa7\x51\x56\x47\xa1\xfb\xb8\xd5\x74\x38\x06\xd1\x82\x5c\x38\xe8\x98\xb5\x73\x24\x12\x79\xe4\x92\x39\x12\x79\x44\xac\x94\x23\x12\x47\xe8\x00\x19\x89\x30\x22\xd5\xc5\x91\xc8\x42\xe0\x4c\xae\x15\x23\x9e\x1b\xb0\xb2\x20\xc1\x89\xad\x11\x2a\x46\x2a\xf8\x4d\xd1\x4a\xe8\x7a\x11\x75\x7d\x4f\xb3\xc8\xb4\x24\xb3\x56\xc4\xf6\xfa\x7f\x8b\x39\xb4\x2a\xba\xd2\xa1\x85\x2d\x97\xcd\x63\x50\x55\x4b\xf9\xd4\x0f\x93\xe9\x3a\x5b\x8a\x95\x2d\xc9\xe2\xee\xf3\x6a\x72\x93\x4e\x8b\x39\x78\xa4\x7c\xd4\x64\xbe\x1c\x67\xcb\xe6\x4b\xcf\xf2\xbf\xe0\xaf\x3c\x5b\x54\x53\x04\x8b\x67\x3d\xac\xbe\xdd\x40\x56\x9f\x89\x7c\xa2\x56\xe2\x28\xc0\x48\xf5\x17\x28\x82\xbc\x2a\x1c\xc6\x72\x31\xac\xbc\xed\xaf\xc6\xca\x7b\xea\xe9\xad\x3d\x5a\xe3\xe5\xf2\xae\x73\x1b\x2f\x57\x1c\x02\x2f\x6c\xaa\xa6\x34\x52\x32\x6f\xcf\x45\x16\xc3\x35\xa9\x65\xde\x41\xff\x1c\x85\xe7\xe0\xdb\x5d\xf2\x31\x19\xbb\xdd\x0e\x0c\x6a\x58\xb8\xc6\x2a\xee\x52\x21\x86\x2f\xed\x22\x42\x08\x66\x44\x7f\x95\x19\xc1\x35\x20\x51\x88\xfb\x96\xaf\x49\x17\x99\x64\xbe\xcb\x17\xd4\x94\x94\xac\xec\x4b\x2b\xf3\x39\x8e\x05\xe5\x4a\x7a\x7b\x16\x76\x61\xcf\x02\x7c\xb1\x9e\x46\x72\x2c\x76\xf9\xe3\xe6\xc9\xc2\xd0\xa3\xb6\x18\xb0\x83\x8d\x99\x3d\x8b\x92\xc4\x23\x27\xd2\xa2\xe4\x10\x31\xa7\x96\x40\x0c\x31\xda\xeb\x80\x84\x10\x29\xd3\x16\x25\x83\x96\x1d\x47\xa8\xcf\x95\xd4\x33\xb4\x46\x17\x24\x07\x13\x9e\x31\xca\x73\xed\x48\x34\x9a\x60\xcc\xca\x5c\x59\xa1\xf5\x24\x62\xf0\x6c\xd7\xd2\x0c\x72\xc2\x4c\x2b\x94\x94\x24\xd9\x1a\x25\x91\x1b\xa5\x12\x0b\x0a\xfc\xe4\x6e\xf7\x5d\x28\x24\x7e\x40\x9e\xaa\x58\x05\x68\x5b\x19\x70\x7f\x14\xe4\x42\x36\x2f\x43\x68\xd1\xb6\x2d\x35\x19\x96\x7a\x56\x00\x46\x6a\x03\xe4\xd9\xad\x07\x3c\x73\x6f\xd7\xeb\xae\x27\xdd\x7b\xbb\x5d\x91\x41\x9d\x32\x02\x91\xfa\xf4\x68\x00\x82\x3a\x5e\xdd\xba\xf4\x58\xdf\x37\x37\xe9\xa9\xb2\x3a\x71\x57\xe6\x85\xf0\x20\xe4\xcc\x54\x33\x3e\x03\x76\xe8\xd1\x3e\xad\x23\xb7\x20\xa3\x3f\x0f\x8e\xa2\xab\x63\xf0\xaf\x94\xeb\x99\x8e\xc7\xf5\x87\xfb\xb5\xe6\x01\x2e\x68\x7c\xe7\x4d\xb4\xc6\x3c\x54\x10\x60\x5f\x1e\xf9\x3e\xfb\xfa\x35\x3c\x32\x3f\x91\x73\x52\x50\x8d\xa0\xf3\x93\xb2\x40\x51\x6a\xb2\x60\x19\x57\xe3\x37\xf5\xe3\xa9\xff\x35\xa6\xd2\x5f\x6f\x19\x9f\x7f\x29\x4a\x16\x72\xb4\x4a\x02\x6b\x80\x56\x3c\xaf\xb3\xf0\x39\xa4\x5e\xd9\xa3\xcc\xbc\xd1\x65\xf6\x49\xa8\xc0\xf8\x84\x47\x30\x1b\x6d\xdc\x23\xb4\xd7\x0f\x97\xd0\xd9\x61\x2a\x27\x3f\x89\x33\x68\xfa\xe6\x57\x92\xb8\xd9\xd0\x07\x2f\xa0\xd7\x92\x15\xa5\x6e\xe3\x93\xb5\xfd\x4e\xd4\x64\xc8\xae\xd3\x20\x63\x27\x40\x86\x4e\x7d\xac\x19\x08\x37\xe5\xb1\x3d\x7c\xef\x38\x41\x1f\xcd\x40\x84\xeb\x2a\x3f\x05\x76\x06\x37\x9f\x86\xa6\xbd\xc1\x65\x95\x9f\xa2\xe4\x18\x62\xf5\x94\xa6\xdd\x68\x65\xe8\x27\x5a\xd2\x18\x5c\x44\x69\x02\xe1\x97\x3f\x18\x35\x45\xac\x8f\xa6\x88\x45\x4d\x0e\x43\xdc\x50\xb5\xda\xac\x3b\x26\x5e\x25\xfd\x2d\x77\xe7\x44\xbd\xae\xa7\x6e\x63\xa8\xde\xc4\x34\x1a\xf5\x95\xff\x9a\x84\xaf\x9c\x3c\x66\x37\x78\x16\x56\x6f\x2b\xd9\xda\x4c\xc8\xcd\x14\xcb\x44\xb2\x06\xd3\x2a\x73\x83\x30\x48\xde\x90\x90\x46\x40\xae\x97\x23\x77\x33\xbf\x5f\xcc\x67\xe2\x9c\xfc\xc3\xfa\x17\x18\x72\xf3\x98\x02\x1c\x2a\x0d\xbe\x7b\x71\x30\xfb\x6c\x7e\xfe\xc7\xd5\x7c\x86\xa3\xbc\xcb\x6f\x3a\x39\x28\x5e\x99\xa6\x1f\xb3\xe9\xea\x6d\xba\x10\x46\xf6\x57\xbf\x6c\x6c\x6e\x7e\x37\x17\x91\xaa\x18\xe3\xf0\xdd\xfb\x64\x9d\xdd\x2f\xa6\xe9\x3a\x3b\x4a\xd7\xe9\xb0\x78\xed\x4a\xf8\xe5\x43\xba\xfa\x7e\x77\x67\x63\x33\x79\x58\x4e\x51\x3c\x5e\x15\x78\xfc\x6b\xfe\x91\x32\x16\xb4\x68\x7f\x9e\x3c\xcc\x26\xf7\x8b\x69\x96\x7f\x68\xa6\xbc\xf4\xfd\x7c\x3e\xcd\xd2\x99\xe9\xdd\x41\xf2\xac\x97\xef\xd1\xcd\x34\x5d\x66\xe3\x8b\x6c\x35\x7f\x58\x52\x1a\x6f\x1f\x99\xde\x80\xbc\x7b\xea\x0b\x52\xba\xe2\x38\x5b\xad\x97\xf3\xcf\x3c\x04\x4c\xaf\xc0\x18\x28\x6f\xc8\x19\x93\xcb\x2c\x37\x6c\x9a\x13\x3f\x2f\xff\xa6\x15\xa9\x57\x0f\x03\xc5\xea\x8e\x76\x8f\xd5\xed\x15\xca\xda\xa9\x1d\x71\x54\x86\xee\x61\xd9\x10\x96\x88\x61\xcf\xbc\xfc\x6a\x52\x14\xf7\x9e\x7a\x8a\xe2\x56\x63\x7c\x5d\x4f\x66\xeb\x82\x99\x95\x01\xeb\x4a\xc4\x19\x52\x1a\x4d\xad\x52\xf9\x33\x64\x4b\xc1\xc5\xcd\x7a\x24\x7c\xaa\x31\xdf\xb1\xd7\x33\x1a\x99\xa6\x44\x47\xb4\xb5\x6b\x23\xf8\xe8\xc8\xb7\xb2\x12\xc7\xbf\x15\xbf\xe6\x6c\xd7\x42\x86\x6a\xa0\x4b\xc9\xca\x69\x9b\x20\x6d\xcf\xae\xe5\x5c\x2f\x5a\xe1\x6c\xcd\x20\x25\x37\xcd\xcd\x81\x64\x8a\xe8\xd5\x3e\x64\x43\xf1\x54\xbe\x78\x9b\x2e\xf4\xef\xca\xff\x31\x91\x39\xa3\xa0\xdf\xb6\x58\x91\x9e\xc9\x2d\x96\xe4\xf9\xf3\xa2\x61\xe4\xa6\xbc\x2f\x3b\xcd\x57\x7e\xff\x79\x9d\xad\x9a\x16\xb5\x82\x12\xa0\x7c\xe4\x2b\xcb\xbe\x5c\x2f\xa7\xea\xa6\xdb\xe6\x13\xff\x98\xeb\x08\xea\xc3\xed\x7e\xe7\xa2\xbf\x59\x55\xd4\x10\xd4\x57\x5e\x61\x94\xac\x0a\x70\x3a\x41\x6b\xa2\x1f\x0f\xe2\x68\xea\x85\xca\x31\xb6\x70\x74\x15\x69\xcf\xc1\x57\x55\x14\x28\x08\xab\xea\x88\xba\xc1\x84\x32\x63\x49\x99\xe0\xf0\x77\x59\x0b\xc1\x2f\x76\xad\xdc\xf8\xfb\xca\x74\x7b\x31\x86\x87\x0c\x09\x12\x39\xfa\xc5\x90\x55\x83\xe5\x30\xbf\xec\x3a\x87\x79\x2f\x70\x21\x70\x23\xdf\x05\x58\x95\x06\xd0\xdb\x12\x3b\x43\x13\x9a\x48\xcb\x9f\x21\x58\xad\x9c\x9c\xe3\x4a\xbe\xd3\x90\x37\xa6\x3f\xf7\x0c\xc8\xc8\xb6\x2c\x27\x11\xbd\x15\xd9\xc4\xe3\x03\xfa\xe4\xec\x24\xb5\x80\x46\xf3\xcb\x45\x81\x0b\xed\xfb\xae\x4b\xf7\xee\x81\xf8\x52\x2b\x84\x9f\x6d\xe5\x38\xcf\x8b\x1f\x8b\x37\x37\x36\xf3\x77\xe7\x2a\xb6\x1b\xbb\x82\xd0\x2d\x11\x17\x98\x84\x00\x88\xf4\x50\x8b\x89\x62\x52\x5f\xef\x19\xbf\xa1\x14\xc0\xbd\x1d\xf1\x1b\x72\xa1\x0a\x7c\xef\x2b\xf1\xd9\x52\xaa\x42\x7b\xba\x2d\x2d\x2d\x49\x56\xe1\x50\x0b\xf1\xdb\x1b\xc8\xfb\x6f\xb4\x9c\x29\x71\xf4\x57\x10\x0d\x6a\x52\x16\x25\x1f\x9b\x09\x4d\x40\xa5\xbf\x05\xa3\xa2\x0a\x50\xe2\xb5\x10\x8d\x6e\x35\xb4\x80\x74\x37\x90\x45\xa0\x43\x36\x41\xbd\x84\xe8\xb9\xfd\x72\x7a\x76\x3a\x1a\x6e\x25\x47\xa3\xf3\x93\xb3\x5f\xdf\x8e\x4e\xaf\x86\xbd\xe4\xe0\xe2\xea\xf8\x87\x83\xc3\xab\x61\x3f\xf9\xfe\xfa\xf8\xe4\x68\xb8\xed\x1e\x54\x56\xf1\x0e\xe4\x76\x35\xf8\x23\xa8\xee\x57\xf5\x55\x5b\x53\xbf\xd6\xad\xd6\xb8\x4c\x5a\xce\x02\x7b\x4d\xda\xe7\x14\xef\x5e\xba\x5c\x4f\x3e\xa5\x37\xed\x8a\x07\xd5\x0f\xf0\x7a\xe7\x0f\xab\xbb\x6c\x5c\x3f\xab\xac\xf9\xf1\x61\x32\x6d\xbd\x3a\xdf\xe7\x7f\xc1\xab\x15\x8f\x28\x8b\xfc\x6b\xfe\x31\xe7\x37\x97\x05\x31\x5f\x08\x81\xf4\x1f\x95\x7f\x80\x97\xfe\x71\xfe\xf1\x45\xfb\x78\x21\x89\x83\xb7\x37\x44\x95\xc1\xc0\x9e\xa3\x1a\x10\x59\x87\x23\x68\xa9\x54\x4f\x12\x61\xa9\x47\x8b\x90\xb7\x44\x4e\x77\x26\x09\x17\x03\xd7\xe1\x85\xdb\xc6\xf4\xa6\xc8\xf7\x85\x6e\x67\x28\xf7\x8c\xe0\xea\xaa\xaf\x2f\xd3\x69\x52\x5c\x41\x3a\x5e\xe5\x8d\xc5\xd1\x29\x2f\x3f\xb3\x2c\x58\xbf\xb3\x74\xc4\x0c\xf7\x1d\xc7\x52\x63\x29\xe1\x8c\x34\x5d\xca\xc4\x34\xd6\x10\x59\xec\x69\xb4\x21\xab\xd3\x8d\x37\x45\x6a\x71\x32\x1a\x84\xfb\x4a\x54\x70\x24\x81\xc6\xb1\x78\x94\xbb\x47\x04\xd7\x8a\x3b\x8e\x35\x53\xde\x27\x22\x08\xa3\x04\xe4\xd4\xd4\x1a\x2e\x89\x87\xf6\xa6\x93\xb8\x74\xc4\x01\x73\x3e\xda\x45\xe1\x3c\x05\xe8\xf2\x19\x31\x0b\x95\xf5\x61\x07\xac\x0c\x47\x07\x52\x3f\x84\xcb\x81\x67\x80\xd8\x01\x4a\xb3\xcc\xc3\xa6\x81\x80\x07\x5f\xdf\x97\x80\xc7\xae\x08\x4f\xb0\x98\x06\x3c\x7a\x1d\xb7\x50\x25\x4a\xc8\xc1\x03\x9b\xd2\x54\xfe\xd6\x6c\xca\xf3\xd0\x01\x50\x1e\x35\x4a\xe0\x91\x17\xcc\x2b\xe0\x79\x97\xba\x08\x58\x7f\x0c\x1e\xb3\x82\x4f\xa8\x22\x6f\xe4\x8c\x6d\xbb\x50\x1f\x70\x29\x18\x3c\x4f\xd7\x06\xc4\xa3\x94\x1b\x3c\x5a\x55\xd4\x04\x3c\x65\x83\x96\x07\xd6\x1a\x83\x47\x6e\xc7\x33\x54\x55\x37\x72\xfa\x84\x8d\xaa\x09\x41\x13\xdf\x9e\x34\x41\x00\xed\x51\xe2\xad\x47\x1b\x3a\x6b\xf8\xf0\x92\x87\x97\x77\x93\x87\x97\x34\x0a\x50\x79\x7b\x84\xc6\x0e\x3a\x28\xcf\x66\x0e\xcc\xad\xec\xa4\x81\xc3\x1e\xfb\x78\x7d\x9a\x36\xec\x39\x1d\x6e\xe8\x46\x0d\xc6\x83\x75\x6f\xce\xc0\xdc\x42\x21\xae\xe4\x96\xa0\x5b\xe4\x4b\x72\x4f\x4d\x07\x09\x26\xe5\x1e\xcf\x24\x45\x74\x8b\x7b\x6e\x11\x47\x6f\x1a\x3f\xcf\x73\xf2\xe6\x37\xcc\xf3\x53\x7a\x44\x78\xdf\xc9\x2a\xcf\x87\xa4\xfd\xc9\xc7\xaa\x76\xab\x08\xac\x4a\x2b\x37\xd1\xfa\xe1\x72\xa7\x09\xd7\x3b\x68\x5d\x3e\x80\xd2\xac\x1d\xa0\xeb\xed\xeb\xb9\xdc\x3e\xf7\x5e\x15\x3d\xa2\xb5\x2b\x7d\x5f\x13\x97\x0d\x48\xa3\x6d\x46\x17\x49\x93\x95\xbe\xdf\x80\x4f\x68\x83\x40\xa1\x54\x68\x07\x6a\x62\x6d\xe3\xde\x8e\xf4\x0a\x01\x09\x60\x0c\x48\x47\x5a\xfd\xc8\x3f\xd0\x32\x15\x8e\xa9\x5e\x7a\x8d\x68\x21\x2a\xf1\xca\x89\xd9\x3f\x90\x3f\x94\xc5\x78\x5a\x76\x00\xa1\x35\x73\x21\x3f\xc1\x91\xc9\xec\xba\x08\x41\x23\x58\xa6\x34\x44\x9a\x84\x18\x3f\xd7\x7f\x0e\xf5\xc0\xe5\x73\x43\x8c\xa1\x46\x3a\x01\x19\x3f\xb7\xc9\x09\x81\x81\xde\x66\xeb\xb7\xe9\x42\xee\xbf\x52\xf8\x90\x1d\xee\x86\x01\xa4\x7c\x3b\xe4\x7c\xd1\xf2\xa5\x8d\xcd\x22\xf8\xcd\xfd\x3c\x31\xd1\xc4\x91\x7a\x77\xd8\xc7\x69\xac\x19\x01\xa1\x7f\xfc\xbc\xce\x56\x07\x45\x69\x49\xbd\x03\x52\xc2\xe9\xa6\x2f\x02\xd7\x7b\x14\xf8\xd7\x7b\x41\xc0\xaf\x6c\xfb\x0e\x92\x73\x91\xed\x23\xde\x5e\x36\xe7\x2d\xd3\x83\xdc\x8e\xf9\x95\xcb\xa5\x95\xa0\xf1\xee\xea\x2b\x87\x8f\x2b\xf2\x99\x1c\xa9\x78\xdb\xe5\xfb\x14\x80\x4c\xee\xcb\xd6\x75\xd4\x1c\x2c\xec\x53\xad\x15\x51\x05\xf8\xa2\x28\x8a\x7d\xa2\x66\xf8\x30\xe1\x0a\x68\x34\xb0\x5d\x04\x8f\x21\xa5\x2c\x42\xbf\x13\x2d\x05\xbc\xf7\xca\x41\x5a\x81\xb8\xf2\xbb\x9e\xb0\xaf\x83\x29\xbd\xdc\xb7\xe5\xc9\x2b\xa8\xe7\x89\x9e\x39\xef\x20\xfa\xa8\x67\xdc\x46\xee\x4c\x69\x86\x70\xdb\x43\x0b\x71\x99\xb2\x04\xa3\x50\x97\x9a\xb1\xdf\xe7\x5b\x98\x18\xb6\x6c\xfa\xea\xb3\x7d\x3e\xc6\x6a\x00\x4f\x02\xcb\xb1\xe0\xec\x9c\x1b\x85\x11\x0f\xba\x25\x31\x63\xfe\xa8\x03\x8d\x55\xa1\x84\xa0\xde\x5d\xb9\x98\xa2\xc7\xf7\x29\x69\x48\xd1\x03\xf3\x6e\x5e\x25\xfb\x2e\xd4\x3b\x5e\xe7\xc7\x3a\x5a\x7e\x76\x00\x48\x00\xbe\xef\xd1\x37\xa9\xc2\x64\xf4\xc7\x22\x9d\x8d\xb3\x50\x29\xae\xcd\x72\xfc\x14\x57\xed\x55\x5b\x8a\x6b\xb8\xb9\xd5\xc9\xb4\x98\x26\x54\xfa\xf5\x2e\xb2\xc5\x7c\xb9\x16\x4a\xcb\xd5\x7f\xa2\x14\xf1\x97\x4f\x46\x4b\x1f\x6d\xf6\x28\x76\xfa\x68\x0d\x88\x9a\x55\x66\x47\x8c\x9d\x3e\x4a\x59\xea\x11\x1b\x2c\x95\x75\xd9\x51\x87\x61\x3b\xd4\xe0\x96\x74\xc7\xad\xc4\xad\xa8\x15\xc7\xcd\x70\x19\x82\xa5\x3f\x1a\x38\x50\xc4\xf4\xc7\x06\x5a\x94\xf4\x47\x6c\x75\x4e\x27\x27\x6b\x25\x92\x57\xdf\x46\x25\x4d\xd0\xc2\xe5\xf8\x45\x5f\x15\x29\xb9\xa7\x08\x1a\xc8\xe0\xf1\x46\x84\x43\xa4\x19\x6f\x38\xb8\x1d\x6a\x2c\x0f\xb4\x01\x94\xe7\x40\x70\xb7\x63\xd6\xc9\x30\x78\xf4\xb2\xe2\x90\x14\x7d\xd3\x7c\xec\x10\x8e\x81\xe3\x9a\x36\x0a\x20\x6d\x53\x4d\x0c\x86\xab\xed\x49\x17\x24\xf0\x1e\xb1\xd0\xab\xe5\xe4\xf6\x36\x5b\xea\xcd\xb3\x76\xde\xe3\x2f\xcd\x67\xd9\xfc\x53\x21\xec\xf3\x37\xde\x0d\xb6\x92\x41\x2f\x19\xf4\x93\xc1\x76\x32\xd8\x49\x06\x83\x64\xb0\x9b\x0c\x5e\xbe\x27\xac\xd4\x74\x8c\x3b\xcc\x2f\xc1\x97\xb3\xf3\x5c\xab\x3e\x3e\x3b\xfd\x70\x7a\x76\xf5\xe1\x72\x74\x35\xdc\xaa\x0a\xcc\x06\x5b\xc9\xf9\xf5\xe5\x9b\xe1\xa0\x57\x55\xa2\x0d\x07\xfd\xe4\x68\x74\x79\x75\x91\xff\xe7\x76\x72\x31\x3a\x19\x1d\x5c\x8e\x86\x83\x9d\xe4\xfa\x7c\x38\x18\x24\xc7\xa7\xc7\x57\xc3\xc1\x6e\x72\x79\x75\x70\x75\x7d\xf9\xe1\x62\x74\x7e\x76\x71\x35\x1c\xbc\x24\xec\x89\x74\x5d\x64\x0c\xa1\x9b\x72\x33\xbf\x5f\x3c\xac\xb3\xb3\x7c\x73\xf2\x87\x91\xab\x62\xda\xcc\x77\x5b\x3e\xed\x59\x75\xfc\x9d\xcc\x8b\x7a\x19\x86\x59\xa1\xbe\x62\x6b\x5c\x46\xee\xec\x35\x4b\xef\xf1\x86\x5c\xfd\xaa\xb9\xd5\xea\x66\x39\x59\x14\xcd\xd0\xf0\xe1\xfa\xf9\x1b\xeb\xf4\xb6\x6c\xae\x94\xdf\x9f\xa2\x4a\xda\xe8\xb7\xa9\xae\x52\xb2\xb3\xb9\xf9\x5d\x79\x9b\x87\xf3\x24\xbd\x59\x4f\x7e\xcb\xae\x26\xf7\xad\x4d\x74\xd0\xfc\x54\xc8\xf3\xd5\x8b\xfc\x3f\x57\xeb\xf4\x7e\xa1\xd6\xf6\x3d\xac\xef\xb2\xd9\x7a\x72\x93\x32\xda\x53\xed\x16\xdd\xa9\xd8\x25\x7c\x3f\xce\x3f\x96\x79\xbb\x67\x2a\x16\x8b\x87\xd5\x5d\xdb\xe2\xe9\x61\x75\x87\x2f\x94\x3f\xa5\xad\x53\x56\x3f\x2a\x95\x8f\x84\xe2\xbf\xe2\x39\xc3\x6a\x85\x23\x45\x58\xae\xf8\x9b\xb2\x5e\xf1\xa0\xb6\xa0\x93\xe5\x9a\x2f\x58\x3d\xa8\x2d\xf8\xd0\xb6\x42\xbb\x5e\xe0\xcb\x5c\x2f\xb4\x15\x26\xb3\x49\x6b\xf3\x1e\xcf\x26\x88\x95\x9b\xaf\x92\x3f\xa5\xad\xb3\x32\xd9\xd0\x74\xeb\x39\x5f\x57\x7c\x5a\x5b\x3f\x4a\x0f\xc0\xc5\x72\x9e\xff\x21\x34\x17\x2b\xfe\xc6\x17\xac\x1e\x54\xef\x52\xb4\x16\x88\x21\x7a\x96\xd5\xfc\x30\x9a\xeb\xa0\x02\x80\x5a\x62\x56\x44\xe8\xae\x02\xc2\x12\x31\x5d\x04\x72\xc3\x9f\x6f\xec\xdd\xb3\x4c\x9d\x81\x4e\xd3\x7b\x53\xbb\x2a\x73\x1f\xa6\x46\x8c\x18\xea\x23\xb5\x37\xd2\xf1\xf8\x2a\xbd\x35\x8d\x09\xcd\xcf\x4d\x90\x01\x9a\x9f\x40\x94\x0f\x84\xfa\xd1\x56\xb8\xd8\x26\x78\x8a\xfd\x8d\x0e\x44\x11\xa3\x22\x87\x36\x0c\x12\x84\x06\xaf\xc2\xb3\x96\x34\x6e\x05\xa8\x03\x74\xf0\x6b\x2b\x84\x78\x78\x55\x82\x8b\xd0\x0d\x28\x97\x83\x0a\x56\xa8\x3b\x48\x14\x67\xcc\x8a\xd8\x5a\x08\x52\x6b\x9c\x55\xdc\xd0\xfa\x61\x49\x34\x72\x91\xab\x25\x2a\x05\xbb\x52\x4c\x2b\xe8\x91\x4a\x8a\x1b\x41\xcb\x43\xaf\x95\xcf\xae\x7e\xbe\xc1\x80\x82\x5e\x2e\xc0\x79\x98\x15\x22\x1f\x47\xea\x7a\xa1\xe2\xb3\x4b\xc1\xa7\x54\x05\x78\x18\x55\xea\x03\x8e\x53\xa1\x8d\x28\x58\xbd\xa4\x60\x25\x2b\x12\x3c\xec\x14\x25\x84\xda\xaa\x50\x75\x8a\x56\x2d\x2e\x9f\x76\xe3\x48\x52\x63\xcb\x4a\xd5\xe1\x61\x57\xeb\x47\x94\x96\x67\xa5\xca\xa5\x37\xe0\xe3\x34\x06\xe5\x61\x17\xa0\x31\xa8\xb3\xd3\x5b\xb7\x87\x63\x38\xbb\x6b\x28\x61\x9d\xdc\xc8\xaa\x80\x73\xfb\x9f\x8c\x4e\x64\xf5\xa3\x85\x9e\x04\x3c\xdc\x97\xbb\x37\xb5\x9a\x12\xf0\x8e\xd4\x1d\xea\xaa\x32\xb9\xc1\xce\x4a\xd5\x8b\x3b\x7a\x5b\x32\xc5\xc4\x56\x5c\xe6\x83\x44\xd6\xaa\xd0\xae\x4f\xb2\x96\xa4\xf6\xaa\xda\xd5\xe1\x5b\x9b\x08\x0c\xc0\x26\x50\xa2\x6a\x44\x6d\xff\x54\x1b\xe4\x2a\x20\x30\x12\x21\xe8\x3a\x44\x38\x82\xb9\xae\x42\x02\x23\x10\x92\xf6\x42\x86\xd5\xda\xf2\x2a\x30\xb0\x0b\x83\xac\x8d\xf8\xf7\x95\x1b\xa0\x5d\x18\x5a\xe5\x82\x08\xad\x72\x05\xa8\x80\x06\x18\xa0\x42\x57\x20\xc2\x68\x5c\x05\x2a\x94\x5d\x0c\x4a\x25\xff\x89\x70\xb0\xd0\xd4\x00\xec\xe2\x68\x90\xe8\x21\x1a\x39\xa2\x9d\x23\x09\x8d\x1c\xd5\x0e\x6b\xad\xe7\x81\xdb\x35\xb2\x16\xb6\xd4\x5e\x27\x70\x57\x4c\xb0\x99\x1d\xb5\x2b\x26\xd7\xa1\x1d\xab\x18\xcf\x24\x6d\x7d\x8b\xf1\x98\x9f\x96\x8b\x31\xd7\x49\x27\x0e\x1f\x27\x83\xe3\x7d\x1e\x12\x9c\x32\x7e\x9e\x20\x78\xdd\xbe\x12\x4b\x63\x36\x7e\xa5\x11\x2a\xef\x63\x91\x5c\x66\xe3\xc7\xd6\x1a\x03\x35\xcb\x92\x5a\xa5\x63\xfc\x46\x1d\x98\xe5\x03\xe5\xd2\xa6\xff\xfc\x07\x4e\xf4\xd3\x61\x55\x6e\x23\x56\x2a\xa4\x0c\x93\xe6\xac\x53\x82\x99\xc0\x66\xd6\x21\xcc\x46\x43\xe3\x7e\x92\xa4\x9e\xf1\x43\xc9\xa2\xab\x6c\xc0\x3e\x38\x13\x64\x72\x80\x18\xc9\x33\xb7\xec\x25\xf8\xb1\x4d\x7b\x81\x56\x61\xc5\x03\xc1\x3a\xa0\xbb\x74\x05\x82\x81\x03\xbf\xcc\x6d\x54\x15\x62\xaf\xc2\x81\x5d\xa4\x6e\xc0\x7c\x8a\x66\xf0\xcc\xba\x01\xa4\x5e\xcd\xf8\xe1\xa1\x5b\xe5\x88\x1e\xd4\x01\xf3\xd0\xc9\x9d\x72\x8a\x08\xb3\x81\x9c\xb7\xd8\xc1\x66\xa7\x0b\x10\xaa\xb1\x8e\x91\xec\xdd\x1a\xea\x70\xb7\xba\x32\xb4\x02\x1f\x7c\xe5\xa1\x1e\xf0\x2f\x80\x8c\x0c\xf3\xd8\x7b\xdd\x1c\xbb\x65\xc3\x9a\xbc\xec\xdc\x70\x75\x3c\x74\xcb\xd2\xc8\x99\x33\xb7\xb9\x31\x7a\x43\xf7\x4c\xaa\x23\x00\x03\x52\xc2\x8d\xa2\x5b\xc9\x08\x31\x4f\xbe\xdf\xcd\xc9\x5b\xb7\x4d\x6e\x91\xe7\x7a\xfa\xd6\xe5\x91\xf3\x67\x6e\x77\xeb\x88\x08\x4e\x00\x75\x98\x65\x00\xd6\xf2\xdb\xb4\x6b\x19\x25\x26\x09\x6c\x77\x45\x02\xb6\x9d\x53\x2a\x61\xdc\x89\xc0\x06\x00\xa1\x02\xe6\x96\x47\xc9\x73\x95\xa3\x59\x03\xbe\xfd\x41\x4d\x73\xb5\x51\xc1\x4e\x37\x54\x10\x32\x2b\xd6\x48\x05\xae\xd9\xb0\xdc\x2d\x2f\x1c\x77\x81\x09\xa0\x88\x17\x0e\xf8\x26\xcc\x35\xd2\x3c\x00\x38\xf6\x41\x37\xc7\x6e\xdc\xaa\xfa\xc4\xaf\x17\xae\x87\x6d\x5c\x16\x39\x67\xbe\x69\x73\x3c\x9b\x84\x4c\x70\x16\x22\xb1\x83\x5d\xbe\x3b\x4c\x42\x86\x79\xda\xbb\xdd\x9c\xb6\x65\xc3\xea\xf3\x2e\x9c\xd1\x8e\x27\x6e\x59\x1a\x39\x73\xe6\x36\x2b\x8e\xec\xc0\x67\xaf\xc4\xbb\x07\x60\x23\x3f\x23\x0d\xb0\xb2\xda\x6d\xb4\xf0\xb2\x1b\x5a\x20\xa6\xbf\x33\x13\xdf\x8d\xb4\xe1\x95\xea\xce\x3d\x86\x4e\xfa\x29\xf2\x49\xc3\xa7\x9f\x22\xd2\x2c\xd3\x72\xc0\xa1\xfb\x29\x1a\x8f\xd6\xbd\x9f\x22\xff\x58\xab\x00\x4d\xe0\x43\xad\x13\x33\xc0\xfe\x8e\x66\xcb\x5e\xc5\x27\x54\x83\x4c\x9b\x95\x6e\xfd\xfe\xb6\x80\xba\x0c\x7f\xb9\xda\xea\x56\x00\x1e\xad\x31\xcd\x4e\xc9\x4e\x9a\xda\x82\xed\x3b\xcc\xde\x4a\xaf\xa6\xb6\x48\xaf\x0e\x9b\xd3\x39\x42\x53\x5b\xb3\xdb\xd9\xa3\xa9\xed\x2b\x8f\xda\x95\xeb\xc5\x2a\x5b\xae\x2b\x94\x2e\xb2\xff\xf7\x90\xad\xd6\xbe\x85\x2c\xc6\x35\x19\x55\x2d\xe0\xfb\xb6\x8a\xf9\x75\xf9\x78\x93\x94\x5e\xbd\x0e\x27\xa4\x1b\x4a\x6e\xc2\xd4\xb2\x1b\x3f\x21\x5a\x56\xba\x09\x1a\x9a\x3f\x45\x43\x91\x9e\xaf\xce\x5d\xcf\x25\x79\x7d\xf2\x69\xa3\xb7\xbf\xbf\x6f\x4a\x5e\x27\x14\xb6\xd7\xc9\xfb\xe4\x44\x3a\x42\x0a\x7e\x3d\x68\xb7\xa2\xb6\xf9\xe6\x9f\xd9\x74\x95\xfd\x43\xca\x99\xfb\x86\x90\x33\x87\xdc\xc3\x18\x09\x74\x46\x90\x61\xb3\xe9\x38\x20\x4c\x17\x5b\x29\x18\x17\xef\x34\xa7\x60\x1c\x49\xea\x63\x7f\x81\x24\x2e\xab\x7f\x0b\x28\x2a\xab\x15\xe1\x5a\x63\x94\x60\x74\xc4\x42\xd5\x70\x23\xa0\xcb\xc8\xb7\x75\x57\x9a\xc0\x77\x75\x98\xb8\xc0\x44\xe0\xdd\xa5\x2b\x3b\x34\xbc\x9a\x3b\x90\xe4\x5c\x2d\xe6\x33\xa9\xe9\x4d\x08\xd1\x59\x2d\xea\x2e\x3b\x95\x05\xbe\x4a\xe1\x59\x7d\x43\x57\xd2\xb3\x04\xc7\xe5\x9e\x36\x24\x9d\xe5\x27\xbe\xe0\xdf\x02\x94\x73\x1d\x3b\x90\xa0\x15\xcc\xa8\x22\x14\x86\xf1\x55\xc8\x50\xed\x68\x9e\x8c\x10\x35\x10\x4d\x67\x52\x54\x83\x1d\x5b\x8c\x6a\x00\x1f\x49\x8e\xbe\xce\x02\x9b\x9f\xfa\x82\x0c\xf9\x69\x7f\xd9\xde\xaa\xed\x93\x50\xec\x8e\x8c\xe1\xbd\xc8\x3e\xc5\x93\x9b\x3a\xee\xd1\x64\xa6\x06\x0a\xe5\x95\x04\xe4\xe8\xb2\x92\xb5\x58\xf7\x72\x52\x38\x65\x4e\x17\xb5\x4f\x0c\x79\x59\x4e\x67\x75\x94\x95\xd0\x95\x8b\x21\x27\x75\x78\x61\x65\x24\x79\x7d\x82\x7c\xb4\xcc\x11\x45\x1a\x92\x7d\xf2\x91\x8f\xd0\x71\x94\x18\x05\xf6\xc3\x92\x64\x23\x4c\x24\x6b\xb7\xe1\x72\x88\x4c\x84\x60\x56\x99\x10\xd0\x44\x39\xda\x10\x39\x08\x48\x91\x0b\xc1\x9f\x1c\x17\x4a\xfe\x85\x31\x22\x0d\x2b\x3a\x4a\xc0\xaf\xd2\x7c\x34\x7c\x40\x27\x72\x90\x68\x38\x52\xd0\x73\x93\x84\x7f\x9b\x8c\xee\x62\xb0\x13\x7b\xd1\x00\x30\x9e\x20\xfc\x1a\x2d\x45\xf0\x44\x1e\xcf\x4c\x44\x08\x25\x9e\x8d\x08\x02\x0e\x6e\x20\x82\xd0\x1e\xc9\x3a\x3c\xca\xa6\xd9\x3a\x0b\x6b\x20\x1a\xd7\x64\x48\x48\xf0\xfd\xa7\x6f\x26\x1a\xd1\x8f\x26\x21\x4d\xd0\x50\x46\x49\x43\x91\x2e\x25\xb9\xeb\xfd\x6d\x32\x32\xef\x61\x0c\x69\x69\x04\x19\x56\x5e\x72\x40\x3c\x4d\xdb\x11\x39\x97\xc7\x33\x1f\x51\x82\x89\x63\x41\x22\x60\x83\x19\x91\x08\x1c\x0f\x3b\xd2\xbe\xf5\x0f\x33\x05\x9e\xd6\x44\xb8\xff\xde\x7d\x56\x86\xb6\xba\xa7\x94\xd5\x17\xe4\xcc\xcb\xb0\xbe\x6c\x6b\x71\x1b\x46\xbe\x26\xbf\xa5\xcb\x49\xfa\x71\x9a\x9d\xfd\x96\x2d\x97\x93\x71\x39\x57\x46\xe8\x19\x5b\x3f\x5d\x94\x6c\x17\xc0\x7e\x36\xbd\xb1\x01\xc8\xdf\xfa\x85\x66\xad\x62\xfc\xb1\x7f\xf3\x4b\x7d\xcf\xe2\x4d\xd0\x50\x41\xe1\xa3\x09\x70\xe4\x18\x53\x34\x38\x8b\xc5\x6c\x92\xf9\x34\x44\x3a\x6b\x96\x46\x4d\x7d\xf4\x76\x62\x0d\xbd\x22\xf8\xa4\xe3\xb1\x76\x17\x42\x8c\xd0\x00\x18\x53\x94\x21\x1a\x1a\xbc\xc0\x63\x34\xa8\xeb\x03\xbd\xc6\x3a\xd2\x3b\x9a\xc6\x5d\x16\x1e\x07\xf4\x14\x23\x8d\xd5\x68\x28\xcb\x65\xa4\x06\x40\x16\x8f\xa7\xf5\xc0\xc4\x1a\x47\xe5\x81\x60\x06\xd3\x77\x20\x20\xdd\x28\x3b\xd2\xf1\x1a\x09\x92\xda\xb2\x86\x71\xf0\x0d\xb7\x84\x67\x6a\xc0\xa7\x8e\x20\xcb\x9f\x0b\xe8\x4e\x0f\x26\x1e\xcd\x6a\x8a\x63\xc4\x86\xb0\x7f\x4c\x79\xae\x50\x30\xf5\xb8\x6b\x9a\x36\xf3\x2b\x64\x3a\xa0\x80\x44\xe5\xfd\xd2\xf4\xeb\x5e\x18\xfd\x3a\x4c\x98\xc7\xb0\xa2\xa3\x86\x4d\x09\xf3\x4c\xf6\xbf\xfc\x6b\xfe\xf1\x78\xcc\x99\xe0\xd0\x13\x26\x38\x84\xd6\x70\x63\x47\x76\x74\x58\x2c\xcd\xc1\x3f\xb2\xc3\x5b\x2d\x8a\xc7\x4a\xeb\x01\x9f\x8e\xc7\xc5\x74\xe5\x95\xbb\x23\x09\xbc\x07\xb1\xf5\xb9\x28\x41\x17\x3a\x00\xd3\xc5\x6a\xda\xc6\xfe\xd8\xdc\x2e\x4a\xb3\xd6\x5e\x32\x67\xe2\x24\xc9\xcf\x16\x98\x43\x9f\x37\xb2\xe0\x36\xc5\x4a\x4c\x90\xf1\xa6\x6f\x3d\xbc\xe9\x1b\x08\xb8\x21\x5c\xd7\x0e\x70\x3d\xac\x03\x1c\x08\xbe\x10\x62\xe0\x9e\xd7\x92\x4b\xa0\x02\xf8\x73\xf3\x47\x30\x77\xd0\x8e\xbb\xb8\x32\x2c\xef\x29\xae\x0c\x2b\x32\xc4\x15\xf0\xb6\x4d\x5c\xfd\xb5\xc7\xa9\xf8\x4c\x5b\x0a\x21\xab\x0d\x07\x16\x4d\x56\xeb\xb0\x50\xa9\x40\x41\x8f\x2e\xab\x79\xab\x3d\xaa\x47\xaa\x21\x6c\x9e\x4f\x2a\x44\x2f\x7e\xd4\x37\xf5\x68\xbd\xf8\xd1\xb1\x1e\x8f\xdd\x8b\x9f\x31\x10\xc7\xd9\xd1\x06\xb2\xfc\x18\x9a\x99\x01\x60\x58\xcd\x8c\x0e\x80\xee\x6b\x03\x9b\x66\xa3\x1e\xb7\x90\x4d\xb3\x41\xd7\x5a\xf8\xa6\xd9\x60\xc7\x78\x6a\xd3\x6c\xe7\xc1\x04\xae\x74\xdb\x49\xc7\x11\x50\x21\x46\xae\x95\x57\xf3\x11\xc4\x33\x08\x82\x8e\xd2\x87\x04\x84\xe8\xd5\x92\xc4\x7d\x8f\xa3\x77\x27\x01\x7d\x83\xd8\xf1\xbb\x37\x2a\x41\xdc\x80\xf8\xe1\x87\xec\x59\x82\x1d\xbc\x6b\xfb\x12\xf7\xbd\xed\xac\x93\x09\xd8\x09\x11\x3b\x7e\xbf\xa6\x26\x48\x83\x77\x9c\x04\x62\xf4\x37\xc1\x48\xc1\xa7\xd5\x89\xfb\x5e\x47\x6c\x6d\x8f\x9d\x71\xa4\x2e\xf7\x20\xd8\xd8\x0d\xef\x71\xd2\x0a\xd7\xfb\x5e\x82\x15\xc1\x35\x6f\x5a\x3f\xa4\xb3\x83\xef\x9c\x87\x5e\x37\xaa\xaa\x75\x09\x06\x9e\xae\x72\x25\x3c\x08\x65\xa9\xa8\xe9\x31\x6a\x92\xca\xdc\xea\x16\x98\x93\xdd\x02\xb1\x7d\xf8\x06\x60\x3c\xa3\xc4\xdf\x8b\xcf\x5c\xee\xbf\xa7\x40\x23\xe7\x2c\x15\xa9\xb9\x07\x0b\xe0\x9b\x19\xdd\x26\x8d\x12\x2e\x60\x40\x00\xe3\x05\xf2\x45\x26\xa4\x62\xc4\x2a\xda\x80\x0f\x49\xc1\x34\x42\x8c\x9e\x94\x98\x81\x51\x92\x05\x49\x76\x6c\x9e\x63\x91\x99\xa2\x14\x35\x1a\x9e\x41\xf9\x1e\x14\x94\xaf\x37\x8c\xcd\xb8\x54\x09\x0f\x9f\xab\x52\x80\x22\x48\x7a\xbf\x96\x3b\x62\xc7\xd2\xa0\x1d\xeb\x4c\x0b\xb3\x5b\xef\x40\x8b\xd8\x6a\x43\x3c\x07\xcb\x8b\x4f\xc6\xea\xc6\x63\xfa\xac\xc8\x1d\x79\x0c\x20\x89\x1d\x59\x48\xc8\x72\x3b\xf3\x30\x17\xed\x5e\x92\x8b\x08\xd2\xc5\xb9\x44\x3c\xec\x51\xc0\x5e\xcd\x7a\xe0\x8b\x1c\xaf\x61\x8f\x09\x6e\x8c\xa6\x3d\x0c\x38\x84\xe2\x12\x6c\x4a\x24\x28\xde\xa5\x53\x76\x6e\xe1\x03\x1f\x58\xbc\x06\xe0\xe2\xb2\x94\x86\x3e\x18\x61\xf1\x7a\x81\x3b\x76\xf6\x81\x91\x88\xd8\xe6\x9b\x02\xde\xb7\xf1\xb7\x7f\xe3\x3c\x19\xbf\x90\xdd\xf3\x8c\x2b\x7b\xca\x71\x62\x23\x84\xaf\x4e\x90\x77\xd3\x5b\xcf\x04\xd3\x89\x57\x87\xea\xb2\xc7\x5d\xf5\x6f\x61\xee\xb6\xa5\xdd\x4b\xf3\x88\x3d\xf8\x38\x80\xbe\x46\x79\x6e\x32\xdd\x9f\xa4\x40\x37\x99\xef\xdd\x4b\x74\xb3\x4d\xdc\x9d\x48\x37\x75\x68\xf0\x96\xe9\x56\x0c\x5e\x67\xeb\x93\x74\x9d\xad\x8c\x7a\x85\x38\xf2\x64\xff\xdd\xbb\xed\x64\x27\x19\x24\xbb\xc9\xcb\xf7\xef\x1d\x17\xbc\x4a\x97\xb7\xd9\xfa\x30\x5d\x65\xfb\x5f\xae\x0e\x2e\x5e\x8f\xae\x3e\x9c\x9e\x5d\x7d\xb8\x1c\x5d\x0d\xb7\x92\x83\xd3\x5f\x87\xdb\xc9\xd1\xe8\xfc\xe4\xec\xd7\xb7\xa3\xd3\xab\x0f\xf9\x0f\x3b\xe2\x0f\xc7\x47\xc3\x41\x72\x31\x3a\x19\x1d\x5c\x8e\x8a\x7f\xdd\x6d\xfe\x3a\x3e\x1a\xbe\x74\xfd\x4c\x25\x98\xd4\xa0\x08\xdd\x8b\x9b\xf9\xfd\xe2\x61\x9d\x15\xf3\x64\xf2\x87\x91\x8b\x41\xde\xe6\x77\x5b\x3e\x8e\x14\xe2\x67\xba\x76\x9f\xb2\xaf\xcd\xeb\x43\x85\xaf\x63\xcb\xfd\x8c\x98\x57\x19\x25\xad\x34\x9d\x7d\x6e\xf1\x9c\x7d\x2e\x17\x7a\x31\xba\x5f\xac\x3f\x2b\x4f\x8e\x8b\xa9\x8d\xf7\xd9\x2c\x7f\xae\x79\xe7\x48\xfc\x95\xf4\xf6\xf1\x78\x88\x4c\x2e\x4f\x06\xc9\xf3\xe7\x9b\xc9\xb2\x9c\x0d\x27\x42\xbb\x68\x7e\x02\x40\x55\xef\x11\xe0\xbc\x2c\xc6\xa3\x07\xc8\x39\x05\x49\x26\x66\x0f\x30\x2b\x54\x4a\x4b\x28\x06\xca\xac\xbe\x60\x4e\xeb\x3e\x6a\x6e\xaa\x70\xe9\x78\xd9\xa9\xa1\x32\x2c\x49\x19\xaa\x6d\xde\x57\xe7\x19\xb4\x4d\x9e\x6a\x79\xe3\x74\x04\xaa\x9b\x48\xd8\x83\xd9\x67\x43\x76\x69\x98\xb5\x65\x66\x24\x43\x19\x98\x72\x58\xa5\x77\x8e\xc7\xca\x2b\xbb\xc1\x10\x13\xf8\x96\x0c\xe2\xa5\x05\xab\x8b\x9a\x87\x05\x48\xaf\x25\xca\xdc\x48\x7d\xe7\xec\xa0\x83\x77\xa0\x63\x83\xa2\x27\xdf\x22\x29\xaa\x68\xfa\x2d\x29\x45\x95\x91\xef\x8b\xa6\xe0\xb2\xf3\x7d\x6b\x99\x6a\x4a\xbe\xad\xe8\x9c\xb8\x92\xae\x12\x28\x6b\xee\xb0\xd6\x34\x58\x0d\x59\x32\x10\x96\xad\x6e\xce\x20\x97\xfd\x6a\x7b\x02\x49\x5d\x50\xd0\xd8\xf5\x47\xe3\xa5\x8e\xc6\x4b\x38\x67\x98\xae\xe7\x77\x93\x43\xe8\x6e\x7b\x05\xcc\x26\xc4\x9b\x11\x52\xd0\x88\x96\x57\x48\x84\xef\x99\x61\x18\xe2\x24\x3a\x49\x3a\x07\x33\x63\xe9\x24\xe3\x93\x7e\x8e\x64\x20\x73\x08\x26\x74\x22\x3a\x9d\x58\xdc\x53\xd2\x43\x9c\x40\xc9\xf2\x1d\x88\xa4\x52\x86\xc0\x84\x58\x06\xe3\x98\x39\x8f\xc2\x07\x26\xe1\x73\xbc\x19\x01\x79\x8f\x71\x3f\x1b\x9e\x33\xa3\xcc\xca\x67\xf0\x1a\x23\x34\x8f\x2c\x66\x3a\xe1\x48\x12\xde\x9d\x84\xc0\xdc\x66\x3a\x09\x59\xb0\xe1\x11\x13\x30\x50\xff\x71\x88\x09\xdb\xe3\x9a\xac\x64\x6d\x2b\x24\x81\x61\x18\xc0\xa4\x16\xe2\x70\x6f\x65\xf3\x0c\xa3\x34\xdd\xc3\x53\x8c\x8a\x2e\x9c\x3c\x61\x09\x4d\xc4\x05\xa2\x33\x71\x62\xf5\xd3\x25\x30\x64\x67\x23\x7e\x4c\x1c\x72\x35\x7e\x0f\x32\x4f\x3c\x0c\xb5\xb6\x06\x87\x3b\x57\x04\xa7\xdf\xd3\x89\xd5\x84\x0a\x8f\x25\xee\x3e\x35\x8a\x05\x77\xb7\xed\x2a\xd6\xd8\x7c\x21\xa9\x0b\x84\x0d\xd3\x56\x88\x03\xbd\x15\x5c\x42\x6e\x6c\xf0\x65\x30\x36\x68\x40\x84\xc8\x03\x5f\x3e\x51\x8a\xe2\x33\xc0\x50\x5f\x12\x81\x44\x1d\xb8\x1f\x38\x75\xff\x64\x22\xc3\x5e\x59\xbb\xbe\xf4\x80\xa8\xab\x75\x15\x25\x84\x3b\x48\x76\xa1\xe0\xad\x75\x19\x30\x70\xdb\x46\x68\xdb\xf0\xec\x70\xd7\xe5\x9b\x3b\x88\xc4\x92\x76\xca\x2f\x0a\x4b\xf8\x3c\xe7\xe2\x33\xe3\xba\xcc\x0a\x34\x70\x0d\x5b\xe4\xb5\x4c\x81\x43\xcb\xd0\x2e\x9b\xc7\xa0\x22\xb4\xf2\xa9\x1f\x26\xd3\xb5\x5c\x89\x96\xcc\x97\x63\x61\xde\xd0\x59\xfe\x17\x1c\x7c\x3d\x5b\x64\xcb\xc2\x21\x54\x3c\xdb\x5d\x17\x9e\x28\xd1\xe2\x36\x8a\x6b\x08\x00\xe3\xcb\x36\x7b\x61\x8e\xd8\xaa\x61\x5e\xe7\x05\x43\xb5\x11\x32\xd2\x61\xd4\xa2\x41\x13\x44\x52\xe9\x18\x0d\x55\x5e\xf9\x20\x77\xcd\x47\x0b\xe1\x8a\xb7\x95\x9b\xb3\x58\xdd\x71\xbc\xa8\xb0\x7c\x9c\x1b\xb7\x95\xaf\x3f\x3d\x70\xab\xb0\x0d\x3c\xc4\x58\xb2\xa2\xaf\xb5\xbb\xd0\x53\x8e\x7d\x0f\x28\xf8\x35\xe7\xc5\xc3\xaf\x65\x60\x9c\xe8\xb6\x2d\x4e\xfd\xc8\x08\xd6\x6c\x3b\x4c\x47\x28\x44\x41\x89\x55\x83\x6b\x04\x1b\xbe\x10\x97\x03\x06\x08\x53\xff\x53\x4e\xea\x0d\x53\x92\x2b\x31\x46\x62\xd0\xb7\xd5\x84\x38\x91\x6a\x85\xcb\x3d\xa5\x7e\x51\x8c\x60\xfc\x4e\xf0\x60\xbc\xa2\x54\x29\xf0\x06\x18\xbc\xf6\xd2\x12\xe1\x89\x0a\x97\x29\x4a\xee\x07\xcc\xdb\xd0\x6a\x89\x3b\x42\x15\xb7\x48\xed\x78\x29\x37\xca\x95\x8c\xc8\xc6\xa8\xe6\x46\x30\x69\x34\x96\x98\x05\xdd\xd2\xde\xb9\xe9\x93\x8a\x47\x06\x3c\x6a\x39\x89\x9d\xd8\xc0\x05\x27\xaf\x82\xf9\x04\x0c\x97\x2b\x3a\x1f\xda\x49\x0a\xa7\x29\x05\xc3\x90\x9d\xba\x28\x87\x62\xdb\xa0\xfa\x3c\x4a\xe6\x4f\x6b\xd0\x84\xc0\xbb\x4b\x57\x36\x68\x9e\xfd\xba\x70\x3a\x78\x22\x5d\xbb\x70\x72\x88\xde\xbb\x8b\x42\x14\xb1\x3a\x78\xe1\x04\x12\xb5\x8f\x17\x4e\x26\xf1\x33\x6c\xd0\xa6\x5f\x38\x89\xf8\x64\xd7\xec\x84\x21\x90\x18\x2d\x1e\x71\xe2\x70\xcf\xaa\xf1\xdd\x75\x49\x6f\x0b\x4c\x1b\xad\xf5\x06\x46\x2a\x69\xb4\x61\xc2\x92\x17\x1a\x04\xe2\xbf\x54\xf7\x75\x18\x1a\x03\x37\x5c\x4f\x91\x08\x46\x65\x20\x5c\x8f\x50\x33\x8d\xcc\x2a\x75\x3d\x1a\x8d\x81\x11\x4b\x1a\x8d\x69\x28\x06\x8b\x3d\x77\x4b\x60\xf6\xad\x56\x02\xce\xc1\x48\xcb\x0e\xd1\x23\xcc\x6c\x00\x1d\xa9\x9f\xa1\x19\x4a\xf8\xc0\x92\x5b\x6f\x43\x78\x11\x73\x87\x43\xb1\xb7\x02\x35\xbe\x24\x3c\x8d\x87\x99\x94\xbe\x0b\x01\x1b\x1e\x9a\x3f\xb7\xcb\x08\x06\xa3\xf9\x21\x11\x59\xaf\x18\xc6\x5f\xb3\xe3\x42\xe3\x0b\xa8\xf6\xc1\xaf\x2f\x22\x76\xc3\x3b\xf2\xcc\x46\xeb\x91\xc8\x82\x03\x76\x4a\x34\xf0\x82\x30\xbe\x59\xf7\xfe\x0b\x94\x03\x34\x61\x1e\xcd\xf1\x46\xe9\xc5\x40\xa3\x3a\x08\xe9\x0e\x1c\x70\xa6\xa6\x8a\xd2\x23\xf1\x1d\x71\xd5\x5e\x3a\x32\x45\xa3\x27\x0e\x26\x01\x53\x57\x89\x00\xed\x16\x5f\x67\x91\xfa\x03\x40\x15\xfd\xb4\xce\x00\xd0\x0a\xb6\xe6\x4c\xec\x09\xe1\x94\xb4\x06\xc7\x5e\x4c\x96\x4f\x88\x59\xa3\x6e\x80\x47\x29\x1c\x65\xd6\x8f\x13\xea\xd2\x99\x2b\x76\xaf\x09\x48\x67\xcf\x2b\x44\xe7\xc5\x69\x3f\xb9\x6b\x00\xe8\xdd\x8c\x54\x47\xcc\x28\xeb\x75\xaf\x20\x66\x00\x21\x34\x5a\x72\x9d\x8e\xed\x15\x51\x43\xcf\x27\xca\x8c\xea\xd6\x77\x80\x95\x31\x12\xd2\x8b\x23\x8c\xaa\x46\x01\x07\x9b\x57\x8d\x42\x8a\x31\xb4\x7a\xf4\xc7\x22\x1b\x17\x35\xc8\x70\xca\xf1\xfe\xbb\x77\xfd\x64\x1b\x4a\xb0\x85\x56\xa2\xe6\xd8\xf6\x9b\x1c\xdb\x6d\x47\x9c\x25\x6a\x8d\x93\x66\x4b\xdd\x32\xbf\x4c\x5b\xda\x47\x3a\xa9\x33\xd0\xd2\x0c\x9d\x86\xb2\x8c\x4d\xb1\xf9\x3b\xc7\xd4\x4f\x19\x83\xf6\x3e\x9a\x46\x06\x00\x45\xe5\x30\x0b\x61\xba\x6e\xe6\xb8\xec\xa3\xb6\x0c\x7a\xea\xe3\x2c\x1f\x33\x21\x91\x94\x77\xfa\x55\x25\x24\xd2\xf8\x78\x0c\xd5\x17\x82\x1c\x56\xff\x75\x80\x44\x6f\xa0\xd3\xf1\xf4\x4a\x38\x81\x0e\xed\x9e\x13\x32\x81\x0e\x4d\x47\xf4\x52\xf7\xc9\x5a\xd4\x23\x0f\xa3\xa4\x5e\xa0\x98\x53\x29\x69\x38\x44\xc9\x5d\xa0\x81\x8e\x37\xa7\x92\x4c\x26\x1d\x64\x30\x80\x99\x5a\x64\x3a\xf1\x4f\x62\xe8\x07\x31\x0e\x82\x91\x5c\xf8\x54\x06\x32\xd1\x79\x64\x33\x04\x38\xcc\x0e\x12\x1a\xc0\xac\x2f\x32\xc9\x79\xe6\x34\x00\xfd\x6a\x1e\x83\xde\x42\x66\x36\x90\x29\xcd\x35\xb9\x61\x3b\xb8\x0d\x1e\x26\x31\x01\x5c\xdb\xdb\x0a\x27\xa5\x27\xfc\x6b\xfe\x91\xd0\xea\xb6\xa7\xb5\xba\x75\x4c\x2b\x00\x31\xed\xd8\x68\x25\x26\x17\xf0\x50\xf6\x35\x5b\x1f\x29\xc5\x40\xee\x22\xfa\x4d\xc1\x88\x7e\xcc\x49\xc3\xdd\xd5\x4f\xbc\x38\xdd\x59\x3d\x51\x42\xfe\x2e\xa0\xc0\xa8\x7f\xb9\xeb\xa6\x48\x7f\x75\x3a\x3d\xb8\x45\x24\x71\xdb\x6b\x48\x6e\xed\x40\x7a\x48\x3b\x10\xf2\xd9\xab\x48\x58\x64\xe2\x79\xfe\xca\x76\xb9\x01\x74\x8d\x5d\xca\x76\xd0\x33\xd5\xfa\xc9\x2b\xc0\x95\x2d\xbd\xac\x4f\x0a\x80\xbc\xe0\xd2\xab\xa5\xff\xf9\x78\x2c\x39\xbe\x8f\x8f\x8c\xbe\xef\x0f\xc7\x47\xc3\x6d\xb1\xe7\xff\x0e\xf5\xeb\x0c\x2e\xef\x0a\x64\x40\xa7\xb7\x75\x4b\xfc\xbc\xdc\x96\x0f\x71\x92\xa8\xc6\x94\x38\x82\x04\x35\xbe\xf7\xdf\xd2\xa5\x9f\xd5\x3d\x7f\x5b\xec\x9e\x4f\x78\x7e\xa7\x78\xbe\xcc\x72\x54\x66\x47\x51\xa6\x46\x29\xa8\x4e\x70\x80\xbb\x02\xc0\xf2\xc0\xec\x23\xab\xee\x5e\x1c\xcc\xd4\x06\xff\xe2\x9b\x3f\xae\xe6\x33\x5c\xf9\x29\xb7\xe4\x2e\x4b\xa7\xeb\xbb\x06\xd6\x9b\xe2\x4f\xc6\x60\xac\xf2\x05\x05\x99\xdb\x6c\x96\x5b\x19\xd9\xf8\x6a\x72\xdf\x9e\xf9\x6b\xf1\xd7\x02\xc4\xea\x45\xfe\x9f\xab\x75\x7a\xbf\x50\x56\xc8\xfe\x58\x67\xcb\x59\x3a\x95\x3f\xe3\xfb\xf9\x7c\x9a\xa5\x33\xd3\xd7\xf4\x92\x67\xbd\xfc\x80\x57\xf3\x87\xe5\x4d\x86\xa7\xa4\x5e\x88\x4f\x92\xd3\x51\xeb\xb7\xa4\xf6\x27\xe3\x6c\xb1\xcc\x6e\xf2\x0f\x6b\x16\x2d\x77\x05\x45\xe2\x08\x7a\x93\x8c\x94\x72\x04\x39\x4a\x93\x4a\x73\x5d\x1d\xce\x1f\x66\x6b\x9c\x16\x76\x92\xad\x20\x0d\x42\xe0\x04\xcc\x50\x8a\xaf\x94\x1c\xca\xe2\x9d\x1e\x8a\x2d\x75\x9d\xbf\x67\x36\x3c\xe5\xbe\x15\xdb\xfc\x89\x07\x3b\xf4\x71\x04\xb4\xd6\x18\x25\x25\xd1\xbf\xbd\x12\x29\xd4\x09\x72\x86\x46\x18\x26\xf4\x35\xbc\x5f\x56\x78\x17\xd2\x45\xc3\xae\x94\x39\xec\x29\x76\x22\x80\x9e\x6d\xf3\x2f\x15\xd9\xa5\xbc\xb7\x47\xdb\x50\x89\x1b\x72\x77\x57\x66\xa5\xf8\x67\x56\x72\x52\xf9\xc0\xad\x0a\x53\x41\xae\x69\x88\x88\x32\x0f\x87\x23\xcb\x4c\x05\x5c\xaf\xd9\xcf\x5c\x30\xd6\xbb\x39\xaa\x44\xa7\xfa\x34\x7a\x35\x8d\x92\xce\x71\x23\x1b\x41\x89\x67\xe1\x37\xa2\x4f\x41\xf8\xd5\x53\x3b\xf6\x74\x3c\xb6\x0a\x6c\x75\xb3\x5b\xa6\x71\x3d\x99\xad\xb7\xfb\xcd\xad\x93\x04\x73\x80\x20\xac\xc5\xcc\x88\xe1\x7f\xa0\xa4\xd9\x3b\xfa\x1b\x28\x4b\xff\x3d\x98\xc4\x3e\x73\x63\x5b\x9f\xb9\xb1\x2d\x8d\xfe\x30\xbe\xb5\xa3\xbf\xb5\xa3\x0f\x0c\x11\xac\x1e\x4e\xcf\x95\x4a\x6a\x59\x3f\xa8\x5e\x1e\x76\x0b\xed\xda\xf0\x11\xcc\x21\x05\xab\x97\x49\x2d\xad\x50\xd8\x9a\xe0\x81\x1c\x54\xdb\x3a\x2a\x82\xb5\xa4\x20\xb1\x47\xae\x57\xa9\x78\x0f\x91\xce\x74\x1b\x4a\x25\xee\xad\x44\x96\x31\xe8\x26\x34\xf2\x42\x58\xad\x90\x27\xbd\x5e\xfe\xc5\x6d\x34\x5f\x32\x98\x28\x35\x3b\x20\xdd\x9b\xc5\x05\x8a\x2d\x62\x32\x11\xd0\x7a\x15\xec\x68\xb6\x9e\xed\x37\x07\xa3\x30\x76\x61\x2f\x2b\x01\xd0\xdb\x29\x3c\x9c\x41\xdc\x49\xcd\x76\x85\xf4\x2b\x69\xb6\x2d\xd7\xc1\xa4\x2d\x60\xf3\x34\x11\xdc\x21\x85\x2b\x36\x19\x67\x37\xd3\x74\xd9\x1e\xb5\x90\xfc\x28\xff\x03\xee\x45\x52\xdf\x50\xfc\x0d\x8b\x74\x99\xcd\x1a\x1a\x27\x3b\x94\x66\xe9\x7d\x46\xf4\x25\x2d\xa6\xe9\xfa\xd3\x7c\x79\x4f\x1c\xf4\x98\x1f\x2a\xd1\x69\x54\xaf\x7c\xbd\x9c\xd2\xa6\x3b\x26\xf9\xfd\xb9\x9d\x2f\x3f\x1f\x4d\x56\x8b\x69\xfa\xf9\xcd\x84\xe0\x23\xd8\x4b\xb6\x36\x93\x9b\x65\xa6\xb9\x75\x0e\xdb\xdf\x10\xa7\xce\x6a\x9d\xae\x33\x9a\x73\x6a\x4b\x74\x4e\x11\x5c\x59\x5b\xf5\xc3\xd5\x93\xf8\x3b\xfd\x8a\xc2\x6a\x76\xf2\x46\x76\x84\x1d\x29\xff\xe0\xe9\x12\x0b\xee\x5c\xb1\x2b\xd8\x31\xbc\x2c\x0d\x38\x9e\x92\x48\xb1\x02\x58\x7e\x17\xca\x82\x31\x1d\x30\xa6\x80\xa2\x66\x48\x93\x7c\x20\x2a\x3f\xe2\xb9\x42\x34\x6e\x46\x49\x4c\x55\x58\x26\xcd\x31\x72\xae\x30\x46\xa2\x73\xe4\x34\xd5\xcc\x55\xdb\xb0\xc9\xf3\x8a\x7d\x11\xfd\x16\x57\x9f\x17\xea\xca\xb6\x81\x91\xe7\x2d\x63\x34\xb8\x14\xca\x37\x46\xb3\x87\xfb\xfa\xf9\x43\x9d\x2d\x5a\x6c\xd2\x70\x06\xbe\xc8\x3d\x0d\xde\x04\x9b\xbb\x24\x33\xf8\x49\x04\xff\x8a\xf8\x55\x66\x03\xb5\x6f\x59\xfc\x8d\xc8\x45\x4d\x0e\x87\x27\x65\x92\xaf\x0c\x8c\x3a\xb0\x4d\x6d\xd0\xb5\xa2\x1b\xd7\x98\x3a\x1c\xc2\xca\xc6\x60\x50\x1a\xac\xe2\x21\x7d\x2d\x05\xd9\xa0\xb7\x71\xad\x65\x8d\xf9\xa1\x46\x83\xc6\xc4\x00\xac\xb7\x45\xa3\xa7\x60\x63\xc0\xc3\x3b\xe2\xc3\x0d\x23\x03\x5e\x18\x88\x2f\x14\xac\x0c\x33\x7e\xd5\xd5\x73\x66\x06\xbc\xf3\x32\x7f\x47\x34\x4c\x4c\x4c\x4d\xd8\xf5\x82\x53\xec\xe9\x27\xa5\x6a\x75\xca\x21\xbd\xe2\x5a\x99\x2d\xd3\x82\x28\x66\x4b\xc5\x5e\xb7\xb0\x0b\x84\x7b\xd2\x29\xc9\x3c\x0b\x5a\xbf\x6f\x22\x49\x83\xa2\xa7\x1a\xd5\xf4\xf6\x13\x88\xcd\xc8\xbe\x9d\xe5\x7a\xfb\x5f\xae\x4f\x7f\x3a\x3d\xfb\xe5\x74\xb8\x95\x1c\x9c\x1c\xff\x3c\x1a\xf6\x92\x8b\xd1\xc1\xd1\xaf\xc3\x7e\x72\x94\xff\xbc\x9d\xbc\x3d\xbe\xbc\x3c\x3e\x7d\x3d\x1c\x24\xe7\x07\x17\x57\xc7\x07\x27\xf4\x34\x0b\x03\x8b\x2b\x2e\x77\x9c\x2c\x1a\x9c\xbb\x52\x46\x89\x05\xc8\x9d\x31\x7f\xb6\xca\x5d\x02\xe7\xdf\x6a\x7a\x1f\x98\x2c\x4c\xd8\x2b\x3b\xbe\xa1\x3a\xa2\x62\x48\x54\x99\xda\xe8\xb6\xb5\xf9\xda\x8a\x10\xc0\x73\x69\x31\x14\x8a\x7c\x6d\x14\x01\x8f\xac\x6d\x02\xe1\xa8\x42\xc6\xed\xf6\x6c\xfb\xdf\x1e\x3b\x22\xbc\xbb\x84\xf4\x44\x25\x6c\x49\x2e\x3e\xdd\xb6\x61\xc7\x7f\x1b\x64\xe0\xbc\x4f\x47\xba\x7d\x52\xa8\xa1\x12\xd7\x71\xe6\x33\x52\xa8\x40\x43\x80\xb7\x05\x03\xef\x2d\xc8\xd5\x1b\xb7\xcf\xdf\xf5\xff\x7c\x19\x38\xef\xd3\x77\x83\x9d\xfe\xf5\x72\x1a\x67\x32\x1d\x83\x00\x24\x1c\x78\x1b\xf1\xd2\x7b\x23\x0c\xda\xa7\xdb\x86\xec\x25\x5e\x02\xc2\x6c\xdd\x13\xf7\x25\x57\x39\x85\x5d\xd9\xf3\xdf\x95\x56\xb9\xe6\xab\x17\xa2\xef\xe1\x95\xef\x9e\x98\x10\x21\xeb\x0d\xaf\x02\xe8\x0d\xf0\x56\xd4\x2a\x83\x68\x8d\x04\xd1\x16\x60\xb0\xb0\xa2\xe0\xb5\xe9\xa2\x29\xe4\xa8\x5f\x6f\xf9\xf3\x06\x03\x0a\x4c\x3d\x7b\xcb\xfb\x12\x54\x96\x8d\xdb\x1e\x6c\x7b\xb3\x03\x15\x3c\x87\x03\xf4\xfc\x55\x23\xc9\x66\x75\xdc\x84\xbe\x3f\x21\x58\xd0\x60\x12\x83\xa7\x01\x61\xb0\xc2\x03\x5a\x5d\x26\x9f\x64\x0f\x2c\x0c\x26\x59\x5d\x36\x7c\xe9\x85\xd9\x9e\xb6\x6a\x5d\x20\x8b\xed\x9b\x50\x26\x2b\x3b\x3a\x02\x99\x5d\x28\x02\x48\x89\x76\x2f\x54\x54\xbc\x72\xbd\x84\x8c\x89\xeb\xa1\x3c\x56\x44\x5c\x79\xdd\x5c\xab\x58\xc6\x2d\xcb\xf7\x88\x71\x71\x5e\xa8\x53\x8d\x74\x9e\x52\x82\xd6\xdb\xca\x4b\xd4\x9a\x89\x10\xe5\x94\xa4\x40\x40\x94\x30\x67\x09\x8c\xe7\xac\xc7\x23\x15\xac\x10\x27\xbe\x5c\xd7\x01\xce\x37\x02\x81\x1a\x42\x9d\xdc\x28\x12\x90\x82\x2d\x10\x28\x31\xce\x78\x24\x10\x68\xe8\xc8\x8f\xc6\x4f\xa2\xc7\x7d\x60\xe7\x71\x88\xa8\x0f\x0c\x81\x12\xf3\x91\xa8\x01\x8b\xfe\xb0\x3d\xf4\x7d\xf1\x2d\x85\x22\xa8\x41\x1b\x89\x26\x90\xe0\x8d\x33\x2d\x28\x3b\xd1\x81\xab\xdc\x40\x8e\x16\x14\xe2\xb9\xcc\xed\xdb\xe0\xa5\xc9\xb2\x14\x59\xfb\x3e\x78\xaa\xb1\x1c\x2d\xd6\xb4\x11\x32\xb9\x76\xe0\xfe\x35\xed\x84\x0d\x89\x78\xae\x5f\x78\x2b\x5c\xfd\xe0\x2c\x07\x30\xbc\x11\xee\x1e\x70\x8e\x1b\x58\xfa\xfe\x6e\xa6\xa6\xd1\x8d\x18\x69\x67\xfc\x26\xa5\x71\xd8\x85\x62\xac\xc4\x98\x8e\x66\x81\xe7\x39\x11\xcd\x65\x67\x3b\xe9\x27\x46\x0f\x52\x49\x47\xee\xd3\x40\x8c\xc3\x16\x95\x03\x0f\xdd\x31\xcc\x7e\xd8\xee\x2d\xc2\x5c\x76\xf4\x56\x2e\x18\xec\x80\xd5\xab\xac\xcd\x00\x1b\x6a\xbc\x44\xeb\xb8\x04\x75\x42\x70\x27\x02\xf2\x4e\x05\x44\xd6\x87\x94\x10\x7c\x3d\x46\x29\xda\xa9\xa9\xa9\x25\xed\x40\x58\x4a\xa4\x64\x00\x4c\xa4\xa3\x9d\xae\xe9\x88\xb6\x47\x01\x31\xf5\x21\x22\x08\x59\x8f\x89\x8b\x76\x0a\xa2\x99\x21\x6c\xb7\x29\x3c\x99\xcf\x4e\x57\x44\x93\xc4\x34\x45\xd1\x99\x40\xac\x5b\x20\x4f\x64\xf1\x92\x33\x56\x18\x1e\xf3\x0d\xed\x87\xea\xca\x0f\x58\xf1\x73\xe9\xdc\xdc\x75\x65\x4e\xd0\xdc\x40\xb9\xe5\xbf\xf0\xe9\xb7\xac\x56\x7f\xe9\x43\xa5\x2a\x68\x32\xad\x72\xc2\xe3\x46\x5a\xb5\x7e\xb4\x69\x86\x50\x00\xba\xb5\xc2\x83\xa9\xd7\x65\x77\x0d\xd5\x95\xce\xa1\x3e\x57\x62\xb6\x23\xc0\xf4\x90\x70\xcc\x61\x87\x18\xa7\x67\x30\x6b\xcf\x6d\x77\x9c\x03\x57\x9c\xfc\x07\x85\xec\xd1\x20\x95\x5b\x68\x4a\x22\x75\xc7\x38\x94\xcb\x2e\xaa\x05\xb9\x7e\xc9\x1c\x3d\x97\x0f\x56\x7b\x44\xb8\x58\xf4\x9c\x58\xbe\x72\xa0\xd8\xe7\xd7\xe7\x2a\xd7\x2d\xfb\x1c\x2f\x06\x11\x31\xec\x5d\xa0\x0a\x45\xd2\xd8\x09\x5b\x3b\x54\x55\x11\xdf\x67\x8e\x3e\x1b\x1d\x3e\xc8\xc2\x44\x34\x1c\xa2\xcd\x8a\x6d\x22\x14\x7e\x63\xdf\xef\x39\xf2\xb0\x6d\x3b\xd2\x73\xf4\x74\x58\xb0\xe5\xcf\x3a\x74\x73\x7b\x88\xfd\x4c\x94\x68\x8a\x06\x1f\x9b\x6d\xd8\xa7\x0e\x37\x14\x9a\xb5\xb8\x1b\x57\xf0\x21\xb7\xed\x8f\xc5\x2e\x00\xc5\x40\x43\x37\xe7\x89\xbd\x88\x3f\x36\x89\x55\x52\x93\x9e\xc5\x65\x71\x2b\x83\xa8\xb3\xe9\x8d\x93\x4b\x27\x91\x9b\x15\x21\x4f\xf2\x7b\x45\xa6\xbe\xba\xce\xcf\xc3\x41\xc4\xa2\x06\x3d\xa1\xc5\xd4\x0a\xc2\x95\x36\xe5\x46\x0e\x8e\x3a\xeb\x0e\x23\x3d\x4d\xb6\xbf\x2c\xd0\x41\x6e\x7f\x3c\x93\x44\x1c\x12\xb5\x78\x9d\xad\x4f\xe6\xb7\x97\xeb\x65\x96\xde\x5b\xe6\xa1\xf5\x92\x3e\xd4\x09\xd6\xb4\xc2\xe5\xcd\x7c\x91\x95\xdd\x60\x2f\x0f\xcf\xce\x47\xd6\x4e\xb0\xbd\xe4\xe0\xfc\xfc\xe4\xf8\xf0\xe0\xea\xf8\xec\x74\xd8\x67\x22\x2a\x1b\x18\x0d\xcc\x80\xed\x60\xb1\xed\xf1\xeb\x0a\x0b\x7f\x93\xeb\x08\x57\x6d\x49\xde\xfc\x56\xeb\xeb\xb6\x06\x1e\xac\xd6\xab\x65\xca\x92\x57\x77\x59\x13\x8e\xf6\x6e\xb3\xd3\xc9\xfd\x64\xfd\x7d\x7a\xf3\xef\xe9\xfc\x96\x90\xe7\x14\xa6\xf3\xa5\x09\xc5\x98\x03\x64\x55\x60\x94\x71\xa1\x38\x82\xac\xd1\xb1\x9c\xe5\xba\xce\x59\x02\xfa\x39\xa2\xed\x19\x10\x6a\xa3\x17\xb4\x63\x64\xeb\xd3\x68\xb3\xcd\xa2\x3a\x16\xfb\xcb\x9d\x08\xb4\x1f\x20\x1f\x0a\x66\x57\x91\xa6\xda\x6a\x10\x83\x8f\xb4\xa5\x42\x20\xb5\x9c\x33\xb6\x56\xeb\xe9\xad\xd5\x0c\xe5\xf0\x48\xa3\x3a\xb0\x12\x1e\x23\x2e\x52\xd7\x2a\x89\x5c\x04\x0c\x4a\x9a\xda\xf6\xea\x58\x85\x21\x18\x41\xec\x59\x64\x82\x8b\x08\x34\x2d\x65\x14\x87\xcb\xaf\xae\x73\x7a\xa0\x91\xe9\x3c\xd6\x16\x51\xf4\x49\x5d\x8f\x7d\xc9\x26\xb0\x48\x24\x2e\xfd\x77\xd3\xe8\x27\xda\x34\x3a\xa8\xe4\x34\x73\xbf\xae\xa4\x28\x41\x38\x04\x94\xa8\x04\x68\x7f\xe9\x86\xae\x41\x48\xe7\x69\x64\x1a\x72\x48\x3d\x6e\xf2\x21\x1d\x93\x68\xf9\x88\x74\x14\x62\xa6\x28\xb2\x48\xe8\x91\xb3\x16\x59\xe4\x13\x31\x91\x91\x49\x3c\xa1\x73\x1b\x59\x84\x13\x29\xdd\x11\xf5\xb8\xf9\x67\x3d\x62\x25\x0f\x98\xc5\xe9\x97\xfc\xd8\xf3\xf2\xfb\xf1\xe9\x47\xf7\x74\x3b\xa7\x42\x7a\xa2\xee\x46\x80\x12\xd1\x79\x25\x46\xb2\xd9\x55\x07\x52\x0e\x73\xf4\x78\xdc\x15\xa6\xa4\xe3\x4f\xe3\xed\x82\x5c\xbb\x92\x8f\xc1\x64\xa2\x1f\x73\x13\x9d\x21\xae\x29\xdd\x1e\xdf\xbe\xb2\x61\xc0\x88\xfd\x20\x89\x4a\x27\xf3\xdb\xef\xd3\xf5\xcd\x9d\x3e\x36\x70\xfb\xbd\xb3\x9f\xa7\x59\xd4\xd3\xa1\xd3\xac\xc3\xf0\xdc\x68\xef\x98\x4b\xac\x1d\xe2\x15\xf5\x04\x2d\xc2\x0b\x65\x7d\xf5\x74\x32\x23\x8c\x1d\x3b\xa9\x9f\x82\xa6\x7b\x35\x5f\x35\x9a\xad\x97\x9f\xc5\xc1\x5e\x21\xaa\xab\x9b\xd5\xa3\xf9\x68\x6a\x08\xa8\x99\x6a\x47\x85\xee\x75\xa1\xac\xf1\xc4\xa2\x0f\xc6\x71\x4c\x0d\xbd\x19\x1c\xfd\xa4\xdd\x2e\xa9\x85\xee\x1d\x51\xa8\x0c\x1f\x7e\x53\xd0\x6e\x00\xd7\x88\x81\x61\xc4\xf0\x81\x34\x60\xc2\x3a\x3b\xb0\x65\x29\x35\xd4\x12\x7d\x50\x6b\xa8\x05\x0a\xa1\x16\x50\x0b\xdc\x86\x30\x18\x63\x1b\xf2\x6a\x28\xd4\x62\x77\x6b\x78\x8b\x91\x12\x40\x28\x61\x22\xb3\x50\x8e\x48\x91\xdf\xb4\x85\xc2\xab\xc1\x14\x94\x30\x73\xb2\xae\x53\x3d\x1b\x67\x7e\x93\xfc\x89\x4c\x4e\xc8\x85\x0b\x4d\x0e\x85\x88\x65\x63\x9c\x21\xb4\x9c\x28\xe1\xd0\x2f\x34\xca\xb0\xc8\x32\x03\x5d\x29\x86\xe4\xd8\x96\x24\x47\xd9\xaa\xbd\x94\x1b\x97\xa6\xce\xfc\xbd\xe0\x3d\xe7\x5b\xaa\xa3\xc9\xa6\x9c\x8d\x84\xe4\xfb\xea\x0d\x8f\xca\xfd\x41\x7e\xe5\x2b\x03\xc0\xc5\x21\xff\xb6\x18\x84\xbd\xd4\x5a\xa1\x17\x34\x61\x98\x37\x25\xb3\x0b\x83\x17\x9c\xd5\x92\xbb\x38\x56\x44\x94\xd0\x37\xa1\xfc\x8a\xfd\x2f\x07\xe7\xe7\xc3\xad\x64\x74\x7a\x75\xf1\xeb\xf9\xd9\xf1\xe9\xd5\xb0\xe7\x42\x12\xcd\xb6\x44\x31\xc4\x00\x4a\xd4\xc0\x72\xfa\xc2\x51\xcd\x2f\xc3\xd7\x36\xe7\xe6\x59\x43\xe0\xfa\xd9\x06\xf8\xa1\xbc\xf2\x56\xb0\x85\x93\x01\xfa\xf0\xda\xc5\xd0\xd2\x3d\xee\x60\xb0\x42\xbb\x4b\x57\x10\x2c\x0f\xf7\x15\x74\xae\xf9\x25\x8b\xd3\x14\x05\x3a\x4d\x19\x6a\xd0\x36\x28\x06\xed\xbd\x13\xc7\xb0\xd1\x6a\xe0\x79\x83\xdd\x1a\xe0\x98\x3f\xb8\xd5\xc6\x23\x9f\xae\xf4\xb9\x26\xa8\x1d\x9c\x6e\x63\x47\x44\xc8\xcd\x57\xcc\x57\xb0\x80\xde\xbc\x29\x06\xec\xd8\xe9\xf7\x54\xce\xdd\x02\xae\x0d\x62\xcf\x34\xfb\x6d\x28\xcd\x5e\x35\xed\x99\x28\x16\xfc\x15\x3a\xbb\x9a\xbf\xb6\x76\x22\x9c\x35\x7f\x38\x9f\x7d\x9a\xdc\xfe\x9c\x2e\xd5\x84\xf1\x97\x49\x3f\xd9\x7d\x9f\xbc\xdb\x4e\x76\x92\x01\x94\x3a\xde\xae\xf0\x73\x3a\x7d\xa8\x12\xc6\x7f\x3e\x38\xb9\x16\x13\xc6\xaf\x4f\xf3\xff\x7f\x99\x5c\x5e\x1d\x5c\x1d\x1f\x0e\xfb\xc9\xd1\xaf\xa7\x07\x6f\x8f\x0f\x87\xbb\x24\xdc\x24\xd2\x6d\xc1\x04\xcc\x11\x37\xef\x43\x99\x19\x4e\x78\xe9\x7a\xf6\xb0\xca\xc6\x42\xc6\xfc\xf5\xe9\xf5\xe5\xe8\xe8\x83\x9a\x38\x2f\x26\xca\x6f\x27\xe7\x17\x67\xb9\x0d\x3d\xdc\x49\x2e\xae\x4f\x4f\x47\x17\xc3\x01\x7f\x37\x54\xc8\xf1\xf7\xa4\xe7\x93\x2d\x6f\xfa\x0a\x27\x77\x40\xbb\x10\xc3\x13\xa0\xbf\x64\x73\x02\xac\xd3\xe5\x6d\xb6\x6e\xad\xfa\xe2\x4f\x38\x3f\xaf\x5d\xbc\x7c\x5a\x31\xf8\x49\x83\x25\x4b\x4f\xf5\xc3\x6c\x25\xc0\xbe\xce\xff\x2a\x41\xbf\x18\xdd\x2f\xd6\x9f\xd5\x41\x97\x1f\x3f\xac\xd6\xe9\x7a\x72\x43\x6d\x1b\xfa\x79\x96\xde\x4f\x6e\xda\xb9\x88\xe5\xdf\xd4\x8f\xab\x1e\xff\x39\x9d\x2a\x78\x4c\x66\x65\x41\xe3\x90\x56\x3e\x99\xec\x25\xcf\x7a\xe5\xb6\x1c\xaf\xce\x53\x75\x28\xa4\xfd\xbd\x57\xc5\x7b\x11\x33\x34\x17\xcb\x79\xfe\x47\xb3\xec\x79\xf9\x37\xbe\x64\xf5\xa0\xb2\xdc\xf2\x61\x36\xcb\x96\xcd\x6a\x17\xc5\x9f\xf8\x62\xe5\x73\xe1\x67\x4e\xb6\x27\x19\xcd\x0b\xd4\x80\x40\x6d\x7a\x00\x19\xba\xef\x87\xb4\x48\x94\x80\xc1\x16\x25\x21\x53\xe5\x0b\xf4\x8c\x4c\x8d\xa3\x10\x1c\x41\x25\xa3\xd2\xfd\x4d\xc4\x91\x8e\x2f\xeb\xd8\x44\xc9\x6a\xf4\xd8\x43\xc5\x82\x70\x4c\x4a\xb6\x45\x73\x47\x5d\x16\xfc\xcb\x30\x2e\x92\xb8\xb1\x2d\x4f\xa2\x07\x4b\x8c\x1c\x8d\x30\x9c\xb0\xe2\x96\xb6\xe9\x93\xc5\x9c\xed\x26\x02\x54\xcd\xe1\xd6\x47\x4e\xea\x0f\x9f\x36\x8c\x90\x1b\x2e\x52\x53\xfb\x1e\x25\xe3\x77\x87\x82\x65\xc5\x20\x79\x18\xd6\x5c\x15\xc7\xae\x66\xd4\xfa\x94\x52\x14\xb3\x92\xdb\xf2\x10\xab\x38\x34\x8e\x57\xc5\xf2\xfd\xfd\xad\x26\xed\x29\x86\xab\xb5\x85\x13\xd6\xcb\x8a\xae\x4b\x4f\x20\x16\x34\x32\xd3\xbc\x7c\x3a\x4f\x45\x9d\xaa\x58\xa7\x62\x43\x15\x50\xab\xb2\x29\xb8\xbd\x4c\x5a\x16\x8a\xa7\x2d\x1b\xeb\x90\xfa\x7a\x1d\x92\x69\x06\xa2\xa0\xd4\x29\x38\xec\xd2\xb6\x47\xe0\x8a\xe8\x16\x35\x8c\x4e\x00\x57\xf0\xb6\x3d\x75\xf4\x66\xc5\xe1\xd4\xe7\x5e\xb1\x2b\xa9\xc0\xd0\xa6\x63\x86\xb8\xa8\xe8\x29\xe0\x76\x30\x70\x35\x97\x22\x82\x12\xb4\x40\x05\xd2\x00\x83\x54\xb1\x9d\xf0\xf1\x5a\xe3\xd9\x07\x33\xd3\xcc\x76\x03\xdd\x62\x33\xbc\x6f\x33\xde\x3e\x2d\xe7\xf8\x50\xfe\xd2\xd4\xba\x29\xd6\x7f\x9b\xb6\x01\xdc\xc3\xfa\x97\x8d\xcd\xcd\xef\xe6\x22\xae\x95\xa7\x7a\xf8\xee\x7d\x58\x3d\x1c\xd2\x3f\x82\xab\xe4\x02\x34\x86\x18\xa0\xa9\x48\x74\x45\x9d\xb6\x5e\xd7\x49\x3e\x39\x64\x83\xc6\x9a\x29\x64\xa1\x69\x09\x1b\x8a\xc3\xf0\xc5\xdb\xd4\x10\xb4\xcd\xff\x31\x91\x0f\x4e\xb8\x5d\x2d\x36\xa4\x67\x72\x6e\x92\x3c\x7f\x5e\xb8\x9c\x37\x03\xea\x15\xc6\x9b\x1f\x57\xc5\xc0\x05\x8d\xb7\xb6\x81\x83\xa0\xe4\xf8\x14\xe4\x41\xcd\xed\x69\xe9\xe5\xd9\x56\xce\xe5\xe7\x85\xd7\xbd\x78\x73\x63\x33\x7f\x77\xae\xa2\xb2\xd1\x17\xe8\xa3\xc4\x4a\x38\x03\x01\x10\xe9\x21\xf6\xc6\x48\x5e\xc5\xfc\x53\xe3\x04\x7d\x50\x52\x53\x60\x07\x0d\xfc\xe0\x1f\xde\x1c\x1b\x8c\xc1\x6d\xb6\x7e\x9b\x2e\xe4\x20\x4c\x71\x27\x3d\xa0\x97\xc3\xf3\x74\xf8\xb2\x6f\x5f\x66\x45\xe5\x4b\x39\x4b\xba\x9b\xac\x48\xa0\x2b\xad\x57\x6f\x0f\x93\x6c\xd3\xbc\xfc\xd5\x02\x07\x8b\x85\xe0\xee\x3e\x38\x3f\xd7\x7c\xdd\xaf\x4f\xce\xbe\x3f\x38\x19\xf6\x1a\x37\x77\x5f\x76\x7f\x73\xd0\x95\xce\x48\x02\x1d\xc5\xdf\x6d\xd8\x24\xbf\x26\x31\xc0\x07\x79\xaa\x55\xba\xaf\x99\xae\x52\x29\xef\xda\xd4\xa9\xdb\xe9\xfc\x63\x3a\x6d\x14\xa4\xd7\xc5\x9f\xb8\x03\xb3\x7c\x2e\xae\x6f\xf5\x2b\xab\xd3\x4f\xa6\xe9\xc7\x6c\x7a\x99\x4d\xb3\x9b\xf5\x7c\x89\xaa\xa8\xc5\xcc\xe0\xa7\xeb\x3f\xb6\x39\x25\xc3\xeb\xac\x95\xe3\x94\x7d\x2b\x82\xe8\xaa\xf8\x5a\x8f\x5a\xeb\x5f\x5e\x33\x5e\x99\x7f\x75\x35\x71\xcf\x55\x75\xd7\x1d\x8a\xfb\x1f\xc5\xd5\xf7\x5f\xe4\x2a\x7d\x9c\xe6\x08\x8d\xc3\xd4\x98\x34\x2a\x32\x2f\xae\xb3\xfe\x6b\x74\xb2\x6a\xb2\x3a\xae\x21\x04\x3b\x24\xbd\x8d\x20\x78\x79\xba\xe7\x55\x90\xff\xdc\xae\x0d\x15\xdf\xf1\x77\xc7\xa1\xed\x1a\x98\xee\xb8\x47\x70\x36\x82\xed\x28\x50\x77\x23\xde\x8e\xa2\x4d\x0a\x96\xae\x2d\x60\xbf\x0e\x74\x27\xac\xdd\x4d\x09\x7a\x91\x49\x6e\x4a\x47\xed\xbf\xa4\xa1\xc0\x8d\x0d\xca\x45\xe1\x9c\x50\x90\x2f\x68\x68\xf1\xca\x82\x81\x52\x70\xcc\x2a\xa1\x5a\xbc\x1a\xd2\x65\xb7\x6f\xdb\x6e\x36\x6d\xbe\xcb\xdb\x8e\x67\xe9\x02\x90\xee\xd2\x95\x15\x8e\x47\x92\x2e\x4c\x27\x15\x07\x08\x4c\x28\xb5\x5a\x03\xd6\x25\xc3\x94\xa2\x21\x16\xac\x82\x3c\x2e\xa9\xd8\x37\xb4\xa6\x95\x9a\x61\xfb\x12\x8b\x1d\x92\x47\xb1\x38\xea\x53\xe8\xa0\xe9\x0e\x98\x0a\x0b\x53\x4d\x80\xde\x03\xc0\xe8\xad\xb8\x94\x13\xa3\xeb\x00\x4c\x41\x3e\x2d\x07\x5c\x0f\xa9\x93\xbe\x3b\xe0\x2c\x29\x98\x82\x7c\x1a\xed\x20\x0d\xa8\x31\x02\x08\xdd\x59\x07\x3e\x7c\xf7\x56\x3a\xae\xbb\xab\x6a\x59\x6e\xae\xf3\x01\xd9\x75\x6e\x3a\x5e\x0b\x02\x3c\xff\x39\x32\xab\x0b\xde\x82\x52\xe3\x0b\x4c\xfa\x95\xcd\xb8\xeb\xbe\x31\x2a\x5a\x64\xa2\x47\xe6\x5f\x61\x44\x6f\xdd\x8e\x66\xf2\x42\xa9\x5c\xfb\x92\xbb\x15\x0e\x4c\xeb\xc4\x1d\x95\x4e\xb8\x04\x1f\xf0\x84\xd5\x2f\x43\xa6\xb9\x98\xf3\x9f\x34\xb4\x82\xcd\xc9\x31\xc1\x2b\x4b\xdc\x6c\x1b\xd1\xd4\xb7\x95\xe9\x49\x9c\xb3\x95\x0e\xd5\x0a\xc0\x67\x18\x8e\xe5\x54\xdd\x67\x5b\xd3\x83\x7d\xd2\x79\xf9\xcc\xb1\x26\x47\xf8\xa4\x4f\x2c\x12\xb2\x1c\xe8\xb6\xca\x82\x05\xc7\xa5\x59\x3e\x52\x01\xc9\x53\xd5\x5e\x3a\x54\xaa\x38\x92\xb2\x6d\x6b\x6a\x4a\x2e\x73\xd9\x9c\x09\xd9\xb6\xbc\xc7\x7c\x3a\xcb\x19\x97\x49\xc4\x71\x6a\xf7\x2c\x67\xac\x82\x24\xf6\xac\x23\x99\x70\x61\x4e\x97\xb0\x29\xa1\x10\x74\x26\x11\x2b\x8e\x41\xac\x3d\x89\x46\xaa\xc0\x7b\x14\x09\x26\x24\xa1\xb3\x65\xeb\xca\x80\x1a\x8f\x63\xec\x76\x47\x53\xf6\x4d\x6c\xe6\xf8\x54\xd9\xa7\xce\x24\x61\x07\x11\x5e\xa9\xa9\x93\x57\x31\xa2\x00\x07\xc1\xed\x21\x73\xe0\x2c\x87\xae\xc3\x66\x0e\x81\x43\x26\x37\x02\x12\xbf\xcc\xc4\xf5\xfa\xe8\x57\x6e\x1f\x6d\x82\xce\xfc\x6c\x64\xb6\x96\xe5\xb3\x9f\x94\x93\xe7\x51\xbc\x3b\x4a\x21\xa7\x23\x03\x88\xeb\xcf\xe9\xda\x91\xd3\xa1\xd7\x98\xe8\x5f\x08\xe9\x2e\x06\x46\xa5\x87\x26\x8b\x38\x0e\xe2\x20\x9e\x61\xf6\xc6\x47\x76\x67\x80\xd3\xc3\x2d\x84\x40\xf4\x63\x58\xe8\x60\xd0\x1d\x1d\xc4\x70\x7c\x84\xf0\x78\x10\x36\xfd\x32\x5b\xd7\x6d\x5c\xb5\x86\xaa\x3d\xf7\x86\xaa\xda\xe2\xed\xe7\x78\xa4\xff\x09\xeb\xb1\xd3\xff\x0c\xef\x9a\x1b\xad\xfe\x96\x2e\x27\xe9\xc7\x29\xa1\x11\xea\xcf\xe2\x93\x50\x33\x54\xbd\x0a\x3f\x50\x1f\x54\xed\xd3\x22\xa7\xa6\xb5\x90\x88\x59\x1e\x10\x6a\xdc\xd4\x34\xda\x5a\x2e\xa9\x69\x93\x4f\x1b\xbd\xfd\xfd\x7d\x53\x6a\x1a\xa7\xdc\xd9\xa5\xce\x19\x6f\x59\xda\x50\xd9\xc6\x7c\xf3\xcf\x6c\xba\xca\xfe\x21\x25\xf8\x7c\x43\x4e\xf0\x31\xde\xc6\x78\x09\x3e\x02\xb8\x18\x09\x3e\xf8\xf2\xa6\xeb\xdd\x94\x36\x28\x77\x97\xd0\x5a\x14\xcc\xf5\x41\xeb\x3c\x59\x1f\x24\x49\x65\x09\xd3\x08\xcd\x8b\x1a\xd4\x29\xb9\x07\x16\x1a\xb2\x21\xc9\x1f\x59\x4d\x91\xc0\x46\x24\xc4\x9b\xe2\xd9\xcf\xa8\x07\xf5\x33\x6a\xb7\x8b\xc7\xb2\x14\x95\x01\x3b\xd5\x5a\x73\x90\xe9\xf4\x9d\x7f\x4a\x7e\x81\xd2\x6a\x31\x9f\xad\xb2\x80\x42\xb9\x5a\xd0\x4d\x2a\x2b\x2f\x9b\xc5\x72\x60\x71\x59\xc1\xec\x42\x5e\x96\xa0\x38\x5c\xd3\x86\x9c\x93\xc4\xc4\x17\x73\x11\x99\xba\xac\x4c\x7c\xc4\x92\x46\x90\x91\xe5\x52\x05\x2f\x9a\x60\x82\xd7\x57\x36\x1c\x5d\xf2\x75\xcb\x46\x94\x32\x26\x52\x11\x93\xf0\x3a\x30\xe2\x5a\x1a\x69\xdd\x94\x30\xe1\x45\x4b\xaf\x2d\x72\x2b\x62\xc5\x92\x65\x3f\x42\x54\x2c\x19\xbf\xc6\x83\x3b\xbe\xf6\x30\x59\x0c\xef\xda\x2a\x96\xfe\x22\xcd\xa1\x8e\xc7\x9d\xd5\x2c\xad\xc4\x12\xf9\x93\xfa\x17\xa0\x44\x3e\x59\x2c\xb3\x4f\x93\x3f\x68\x65\xf8\xe1\xea\x92\x5e\x77\x66\xfc\xbd\xe6\x1a\x7f\x10\x6a\x5c\x51\x46\x5b\x2b\x46\x5d\x52\xff\xab\x99\x41\x4a\x2a\x06\x7a\x94\x32\x25\x52\x01\x50\x7d\xc5\x5d\xca\x65\x8e\xc7\x0e\x05\x33\xf4\x66\x49\x8f\x58\x9b\xb4\x3b\x14\xab\x1a\x56\x4f\xbb\x1f\x03\xd8\x7c\xed\xbc\xe0\x8f\xc1\xea\x95\x8c\x92\x3a\x9e\xda\xf8\x3a\xae\x3b\x03\x5f\x9e\x5e\xaf\xe4\x33\x92\x3d\x7c\x23\x21\xb4\x94\x28\x58\x23\x21\xb4\x86\xa8\xe1\x15\x21\x2a\x96\xd0\xb6\x45\xdc\x8a\xa5\x15\xab\x77\xc6\x6e\xd0\xde\x19\x49\x7b\x90\xc5\x25\x45\x9a\x7e\x38\x1b\x05\xdd\x04\xa4\x09\x89\x32\x16\xee\x11\x79\xe2\x21\x66\xbe\x50\xbc\x5f\x46\xcc\x23\x47\xa9\x8d\x30\x63\x0e\x3a\x84\xa9\x28\x6e\xcc\x9a\x10\x45\xb7\x51\x8f\x67\xe8\x1a\xcd\x68\x88\x45\x39\xe1\x03\xd9\x36\x8a\x71\x8d\x67\xbb\x1e\x4a\xdc\xb0\xf6\xf1\x98\x12\x68\xb7\x51\x8b\x73\x9e\x3e\xa9\x38\xc5\x7e\xda\xa1\xc3\xd5\xb6\xb3\x76\x8c\x5a\xbb\xee\x68\x27\xe5\x48\x84\x90\xba\xed\xb8\x7d\xca\x91\x48\x65\x2a\xf6\x13\x8f\x53\x8e\x64\x3b\x77\xf7\x72\x24\xd7\xdd\x15\x55\x28\x66\x1f\xab\x5d\x72\x1f\x2b\xfb\xf6\x1a\x60\x6b\x3d\xac\x04\xf3\x8d\xd7\xc3\xca\x2e\x04\x73\x4d\x2d\x66\x19\x83\x5d\xca\xc9\x90\x23\xd4\x33\xbc\x16\x9c\xe8\xe1\xf3\x52\x5e\x87\x8e\x81\xbd\xf6\x89\x81\x99\x5e\xfe\x6f\x49\x4d\x79\xdd\x5d\xac\xed\x35\x3b\xd6\x06\x22\xe7\xe4\xa0\x8c\x13\x6b\xfb\x6b\xa4\xa7\x98\x2f\x65\x64\x87\x4e\xc4\x38\x20\x61\xfd\xaf\x2c\x43\xc5\x7c\x42\x4f\x2d\x45\xc5\x46\x47\xdd\xe6\xa8\x98\xb1\x78\x92\x49\x2a\x66\x54\x7d\xb3\x54\xb0\x28\x79\x31\xa2\x52\x0d\x67\x0f\xb6\x92\x41\x2f\x19\xf4\xf1\x98\x76\xf5\x3e\x10\xcf\xae\xba\x71\x0e\xb6\x9a\x58\xf6\xa0\x27\x05\xb9\x07\x7d\x2a\x96\x5d\xc5\xb5\x0d\x9b\x12\x22\xa6\xad\x7d\x85\x4f\xb6\x4f\xb9\x16\x3f\xd1\x47\x7e\xcf\x16\xc7\x5e\x7c\xfc\x30\xce\xa6\xd9\x3a\xa3\xce\x46\xda\x2e\x66\x23\xfd\xdd\xb0\x33\x58\xf0\x3b\x27\x90\xa8\xad\xe4\x93\x1c\x21\x14\xc2\x4e\xb2\x15\x30\x48\x5e\x51\x5f\xec\x6c\xaf\x02\x0a\x35\x0d\xc9\x82\x12\x3b\xc7\x0b\x5d\x27\x46\x50\x5c\x9e\xff\x5d\x4e\xf5\xf9\xa6\x9a\x66\x9a\x5f\x5f\x35\xc8\xba\x45\x89\xb2\x56\x3d\xc9\x3a\x6c\xec\x39\xe8\x3d\xd9\x90\xf9\x80\xd4\x74\xf4\xd1\x5b\x7b\x3e\xf5\xf0\xb9\x2d\x18\x7d\xf5\x79\xa1\x3e\xfa\x55\x4d\x3e\x68\xd2\x2a\x4a\x04\xaf\x27\xb3\xf5\xee\x4e\xfd\x71\x6f\xd2\xd5\x5d\xb0\x38\xbb\xa6\x3d\x44\x4c\xcd\x2c\x41\x45\xc9\xca\x04\x97\xa6\x0c\x43\xa8\x18\x9b\x3a\xc8\xc7\x30\xe2\xde\xde\x2f\x74\x00\x4e\x6a\x0a\xda\x30\x74\x80\xf6\x26\x0d\xdb\x31\x74\x10\x23\xad\xa0\xb3\x00\x7c\xc1\x0e\xbe\x9a\x49\x17\xc9\xd6\xb3\xfd\x66\x8f\x8a\xcb\x2e\x6c\x4f\xc5\x0a\x76\x28\x61\x7a\x93\x7d\x53\xd2\xb9\x57\x99\xfc\x36\xa9\x4c\xde\xc0\x58\x34\xe0\xcc\x2a\x79\x64\x04\xb6\xfd\xa3\x63\xf6\x58\x1d\x10\x42\x29\xa6\xbd\xf0\x6b\xb0\x3a\xd8\x72\xb3\x36\x9d\x76\x30\x4a\x67\x55\x0d\x8a\x7b\x57\x55\xa7\x23\x88\x9e\x68\x30\x70\xbc\x24\x9e\x59\x06\x03\xb4\xf7\x6e\x68\xca\x08\x9f\x5e\x60\xa2\x0d\xd7\xd4\x02\xa7\x63\xe8\x2c\x97\x69\x40\xc8\x93\x31\x11\x49\x80\x44\xa6\x01\x9a\xc9\x14\x9a\x50\xe2\x65\x30\x99\x08\xc6\x27\x7b\xc9\xe9\x58\x9e\x4a\x86\x82\x89\x5e\xa2\x67\x27\x98\x4f\x3c\x4e\x66\x82\xe9\xb4\xa3\x66\x25\x98\x8e\x3a\xd7\x29\x63\x86\xe7\x4d\xa7\x28\xc3\x8c\x10\x98\x37\x7d\x68\xa3\x0f\x33\x53\x2f\xe8\x23\xc4\xcc\xb4\x63\x80\x1b\x6e\x74\x98\xe9\x43\x73\x55\xdb\xed\x44\x0b\x77\xa6\xcb\x81\xca\x20\xc1\x03\x3d\x9e\xad\xb5\x1c\x31\xd7\xc0\xc1\x65\xbd\x73\x25\x4e\x81\x4a\xe2\x2c\xab\x32\x82\x09\xc8\x0a\xc6\xb0\xc2\x72\xff\xcb\x8d\xf0\x8e\xe2\xac\x2e\x7f\x84\xfd\xe5\xb6\xd0\x87\x32\x5f\x6a\x69\x75\x51\x2f\x21\x17\xb5\xe5\x9b\xa2\x39\xab\xcd\xf0\x50\x17\x0d\x15\x4d\xba\x03\x9b\xbf\xe2\x63\x65\x4f\x54\x9e\x7d\x66\x02\x05\xee\x9a\xaf\xfc\x75\x12\x25\x3a\xa7\x51\xa0\x77\x36\x86\xe3\xce\x02\x34\xac\x0b\x8f\x07\xc4\xc4\x04\x94\x0a\x19\xed\xea\x73\xe6\xfa\x50\x1c\x8a\x0e\x5f\x63\x10\xa9\xe5\x03\xc1\x7b\x77\x96\xcb\xc2\xb9\x14\x04\x62\xb2\x20\x49\xef\x45\x0d\xeb\x1b\x28\x06\x82\x0e\x60\xdd\xa8\x5a\x85\x94\x0e\x1c\xd7\x22\x51\xd8\x77\xe9\x0a\x81\xec\x31\xe6\xe5\xb5\x19\xba\x43\xae\x84\x65\xa5\x68\x59\x13\x16\x78\xf1\xf3\x27\x08\x5b\xe6\x97\x49\x81\x7e\x99\x93\x42\x64\x59\x95\xa1\x10\x21\x2b\xd8\xf2\x2c\xfe\x4e\x98\x78\x84\x84\x89\x10\xf9\x0c\x96\xf3\x8e\xa6\x2c\x9a\xe1\xa1\x6a\x01\x15\x4d\xba\xb2\xc8\x5f\x31\x46\xde\xc3\x60\xeb\xe9\x4e\x29\xfd\x3b\x99\xc1\x37\x99\x81\x84\xe5\x93\x4f\x66\x70\x8e\xf7\xa3\x32\x2e\x86\x01\x61\x01\x1a\xd6\x80\xe0\x01\xa1\x57\xda\xff\x1d\xe9\xef\x24\xd2\x8f\x02\x0c\x1c\xe9\xf7\xd4\x70\x1f\x2f\x98\x4c\xb8\xc1\x11\xc3\xca\x34\x25\x1c\xb6\xfa\xd0\x2f\x08\x1c\x6a\x46\xe1\xc5\x0a\x3a\x53\x08\xe9\x31\xc3\xcf\x14\x52\x8a\x18\x88\xee\x8e\x96\x42\x06\xa7\x29\xd4\x14\x27\x4c\x4d\x21\xa7\xa7\x10\xb0\xa6\x90\x55\xe4\xd0\x75\x77\xa4\x15\x23\x9c\x4d\x21\xb1\x78\x81\x6d\x0a\x99\xc5\x0f\x71\x7b\x53\x98\x4f\xb0\xbb\x1f\x82\x32\x42\x87\xbd\x29\x54\xe1\x1e\x00\xf7\x26\x89\x78\xa1\x70\xca\x69\x47\x0c\x8a\x6b\xe0\x23\xd4\xac\xdb\x60\x84\xf6\x3d\xf2\xeb\xd7\xb1\x25\xcc\x55\xec\x62\x30\x16\xaf\x64\x3f\x54\x9f\xc6\xab\xd9\x95\x40\x6d\xa0\x82\x76\xdb\xc7\x76\xe7\x7a\x23\x16\xb7\x93\x11\xf5\x70\xbe\x3d\xdd\x42\xf7\x98\xa1\xda\x74\x3c\x96\xc8\xd1\x3d\x56\x8b\xdf\xe9\x4e\x7c\x2d\x51\xca\xdf\x99\x50\xc0\x22\x78\xc3\xed\x0f\x53\x08\xef\x1e\xbe\xc5\x8f\xce\x84\x77\xb4\xaa\x78\x4a\x30\x97\x42\x6d\x10\xca\xa1\x4b\xe4\x71\x7c\xd4\x9b\x16\xbf\x58\xbe\xda\x47\x27\x36\x08\xc4\xa4\xb1\xca\x79\x9d\xc0\xe1\xea\xf9\xd1\x1f\xd9\xcd\xe5\x7a\x99\xa5\xf7\x96\xb0\x70\x2f\xe9\x27\xdb\xc9\x0e\x14\x15\xd6\xd7\x18\xfd\x96\xcd\xd6\x65\x40\x78\xf4\xf3\xe8\xf4\x4a\x08\x08\x5f\x5e\x1d\x5c\x5c\x0d\x7b\xc9\xf1\xe9\xf9\xf5\xd5\xb0\x9f\xfc\x72\x7c\x7a\xf8\x66\xb8\x5d\xfe\xfd\x61\x74\xf6\xc3\x70\x87\x85\xae\x74\x4d\x5a\xb8\x01\x63\xc1\xf0\x16\xf9\x85\x81\xa1\xef\x71\xd2\xc2\xf4\x05\x19\xfa\x97\xfd\x65\x5b\x22\xdc\x6a\x9d\x2e\xdb\x48\xed\x65\xfe\x17\x1c\xf9\xd4\x41\x14\x2f\x29\x31\xd0\xc9\x6c\xf1\xd0\x2e\x7b\x9c\xff\xc5\x5d\xb6\x78\x49\x8d\xd7\x4e\x66\x37\x77\x6d\xac\x36\xff\x8b\xbb\xec\x2f\x93\xd9\x78\xfe\xfb\xe5\xe4\x7f\xd5\xb0\x6d\x81\xf2\x68\xfe\x49\xc6\x7a\x34\xff\x54\x42\x28\xe7\x60\x87\x4f\xf6\xd3\x31\x8c\xa6\x3f\x6a\xa0\x50\xfd\x80\x80\x1c\x5d\x67\x64\x2d\x16\x23\x56\xdb\xa3\x84\x6a\x2d\xf4\x4d\xd7\x1f\x6d\x17\x04\x8f\xf2\x95\xb7\x8f\x19\x81\xb4\x5c\x1c\x7a\x2c\xd2\x76\xf3\x70\x7c\xcb\x6b\xcd\x6c\x39\x0f\xdd\x48\x1f\xa4\x85\x7b\x4d\x88\xa7\x16\x9c\xc3\xd2\x92\xbe\x9a\x78\xaf\xe1\x52\x71\x00\xe2\xbe\xe4\x8c\xc3\x3f\x02\x0b\x89\x97\x18\x06\x81\x0e\x2f\xac\x29\x40\x5e\x9f\x1e\x72\x6d\x65\x16\x27\x67\xd3\x76\x4b\x89\xd1\xc9\x56\xa2\x71\x22\x93\xb6\xab\x46\x0d\x89\x36\xf2\x8e\xd3\x51\x1d\xbc\x2a\x9c\xcf\xad\x45\xa1\xa9\xc9\x7a\x75\x37\x1c\xac\x27\xdb\x41\x68\x0e\xb3\x3e\x4b\x81\x2d\x17\xd1\x54\x61\xa6\x1a\x5c\xae\x72\x95\x2e\x73\x0b\xae\xd0\x86\xaf\x0e\x2e\x5e\x8f\x44\x75\xf8\x68\x74\x7e\x72\xf6\xeb\xdb\x5c\x47\x3e\x3e\x2a\xd4\xe2\xcb\xab\x83\xd3\xc3\x51\xfe\x17\x4f\x11\x2e\x81\xc9\x6e\xd2\x16\x72\x54\x7d\x58\xdf\xad\xd0\x5a\xb1\xfa\x71\x81\x74\x63\x4d\xf7\xe4\x6b\xc8\xf2\x12\xb6\xfc\xc8\x71\xb6\x98\xce\x3f\xdf\x67\xb3\xf5\xf1\x98\xd8\x0d\x69\x52\xa9\x80\x84\x17\x76\x8a\x17\xd2\xe5\x6d\xe9\xfe\xcc\x2f\x5f\x51\xcf\x6f\xf4\x08\x54\x66\x6c\xd2\xdf\xdc\xfc\xae\xe4\x88\xc3\x79\xb2\x58\x7f\x6e\xf3\x2d\xd7\x9f\xb9\x5a\xf1\xf9\xd5\xaf\x80\x6a\xeb\x98\x9a\x48\xd6\x84\xa2\x29\xb8\x95\xee\xe6\x4a\x57\x41\x95\x5d\x74\xc9\x98\x2a\xaf\x9c\x24\x56\x37\x66\x6a\x49\xda\xa0\x0b\x99\xf2\xca\x8e\x1b\x92\x36\xa8\xa9\xda\x0b\xe9\x78\x7c\xb0\xbc\x5d\xf9\x6b\x88\xe7\x57\xbf\xfa\xa8\x86\x39\x71\x13\x12\x15\xd7\x9f\xa3\x28\x6c\x2a\xe7\xeb\x46\x6d\x03\xb5\x99\x60\xca\x1b\x08\x85\xa4\xc2\x19\x22\x8c\x59\xd2\x13\xd4\x0c\xb1\xdf\x0a\xfc\xd6\x8e\xfe\xd6\x8e\xd8\xa5\xe5\xa0\x62\xaf\xa0\xc7\xb8\x7a\xb1\xaf\x37\xf1\xa9\xb9\xaa\x9f\xee\x95\xd3\x62\x40\x2d\x49\xd2\x16\xc4\x0b\x1d\x27\xb8\x4a\xa1\x6e\x0b\x1a\x50\xba\x86\xe4\x98\xf5\x55\x5b\x60\x4f\x33\xfe\x05\x85\xc7\x96\xbc\x95\x71\x3e\x01\x8f\xef\xe3\xdf\x71\x97\xae\x90\xaf\xf0\xa8\x48\x22\xd1\x63\x2b\x2d\x5c\x6b\xa4\x03\x50\xa3\x09\x09\x22\x2d\xee\x3c\x0d\x5a\x24\x6e\x63\x9c\x0f\x08\x44\x89\xe0\x37\x78\x4c\xff\x20\xd1\x61\xcd\xf8\xa9\x21\x37\x6a\xa2\x0b\x89\xfe\x74\xe0\x16\xea\x93\x33\x8a\xfe\xf3\x1f\x6e\xd8\x47\x85\x5d\x69\x5f\xac\x40\x99\xd2\x8b\xc1\x49\xc3\x55\x53\xde\xec\x9b\xdf\xe4\xbb\xd5\x82\xd9\xf7\x93\x4b\x29\x1d\x30\xcb\xcc\xac\x8a\x82\xa3\x87\x48\x44\x21\x61\x49\x4e\x34\x43\x9a\x99\x11\x0f\xc4\xbc\x43\x4d\x6a\xeb\xfa\x33\x21\xbb\x8c\x74\xe7\xcd\x80\xf0\xa9\x4e\xe1\x9c\x0e\xa5\x77\x2d\xb8\xd3\x41\x8b\x4c\xf1\x9d\x0e\xf2\x12\xe6\xb4\xa8\x71\xba\x4e\x87\x85\x65\x77\x94\xae\xd3\x0f\xe9\xea\xfb\xdd\x9d\x8d\x20\x99\x4b\x64\x97\x7f\x3c\xc3\xbc\x00\xe8\x60\xd7\xa0\xb1\x09\xbe\x61\x8e\x2e\x19\x25\x73\xa9\x6a\x94\xfc\x79\x9d\xad\x1a\x83\x3c\x5d\xa7\xee\x19\x44\x38\xf9\x77\x63\x79\x82\x2e\xed\x60\x96\x27\x08\x05\xcc\x20\xaa\x2e\xd3\xf5\x9e\xd1\x0e\x2c\x0f\x04\xa9\xf9\xc1\xb7\xba\x82\xd3\x95\x15\x66\x01\x5f\xf2\x0c\x10\x89\x8f\xf9\xf7\x1e\x14\xac\xa5\xee\x90\x54\x90\xe1\x66\x28\x04\xae\xf7\x28\xf0\xaf\xf7\x82\x82\x5f\xa9\xdb\x0f\xb7\x0d\xcd\x71\xd0\x92\x95\xc2\x89\xa1\xdc\xe6\x0f\x2e\x84\x14\x8f\x2d\x5f\x04\x89\x0b\xd8\xbc\xde\xd9\x2c\xfd\x38\x25\x8f\x5e\xe8\x15\xa3\x17\xd6\xd9\xf2\x1e\x75\x78\xf7\x0b\x87\xf7\xef\x4d\x20\x4a\xcc\xe9\xa8\x7e\x0a\x95\xd8\x11\xc7\x93\x6d\xf4\x29\xc6\x13\x97\xe7\x57\xbf\x3a\xb0\x62\xc4\xf1\xc9\x17\x95\xc8\x82\xf1\x3d\xd8\xe2\x60\x81\x51\x41\x9c\x14\x47\xf4\x2a\x5b\x5f\x65\xcb\xfb\xaf\x35\x55\xa1\xbe\x10\x31\xbc\xd3\x32\x6f\xea\x46\x43\x00\x7c\xa0\xc1\xf4\x03\x00\x06\xa5\xb7\x7b\x45\x5b\x6a\x6f\x77\xa9\xeb\x77\x41\x52\x40\xe1\xb0\xc1\x87\xac\x70\xb7\xe8\x61\x7c\x0f\x52\x68\x36\xc1\xab\xf1\x77\x0f\x69\xfc\x8d\x13\xa4\x86\x05\xb3\x03\x38\x92\x79\x4c\xd8\x86\xfc\x9c\xdd\x14\xb9\x3e\x5b\x91\xd3\xbe\x5e\x06\xce\x2b\x55\x42\x0a\xd3\x08\x9f\xde\x92\x58\x54\xa7\x8a\xc0\x56\x99\xbe\x15\x6d\xbf\x4c\x18\xc7\x73\xb0\xc8\xe0\xcb\x42\x3e\x68\xcb\x9a\x4a\xbe\x96\x0f\xb8\x38\x5b\x64\xb0\x77\xe9\x0a\x04\xda\xa5\xc7\x45\xe0\x49\xc1\x35\x5e\xb3\x82\xc7\x57\x7c\x0d\xeb\x98\x1d\x30\xcb\xf9\xef\x2b\x42\xae\xc7\xd6\x66\x72\x33\x9f\xe2\x4f\xf6\xf3\x27\x7f\x9f\x8c\xd7\xf8\xb0\xab\xed\xfc\xd1\xbb\x6c\x72\x7b\xb7\xe6\x0f\xc6\x0a\xe6\x14\x82\xf4\x94\x78\xaa\x6e\x0b\xd5\x41\xb5\xa0\xa9\x56\x7c\xc5\x97\xb6\x6e\x7c\xfd\xf7\x78\xb6\xde\xee\xd7\x0a\xf0\xc5\xfc\x77\x35\xb9\xa2\x55\x7f\xab\x27\xeb\x7e\xa2\x53\x53\x1a\x86\xe1\xc9\x5f\x72\xfa\xb4\x66\x83\x48\x8f\xbe\x29\xe8\x33\x8a\x56\x6a\x64\x23\xdd\x28\xa7\xb8\x56\x15\x4c\x47\xc5\x41\x41\x29\x14\xe2\xc8\x97\x82\x12\x04\x8d\xb2\x3c\xa7\x42\x5b\x15\x1f\x2b\xc8\x40\x7b\xac\xaf\x3e\x56\xd2\x80\xf6\xdc\xb6\xfa\x5c\x45\x00\xda\x83\xc8\xa4\x19\xe2\x71\x57\x9f\xe5\xea\x42\x63\x8a\x54\x0b\xc5\x29\x28\x30\xda\x6d\x17\x7a\xe7\x37\x01\x36\x21\x3f\x34\x57\xf5\x33\xd0\x26\xc8\x28\x30\x36\x81\xad\x81\xda\x36\xa1\x20\x49\xb7\x5d\xd8\x0e\xb5\x0b\x0a\x0e\x8c\x6d\x60\xeb\x95\xb6\x6d\x28\x6f\x5c\x94\x8e\xf3\xf4\x7d\x50\x91\x60\xf7\xa0\x67\xe0\x20\x7d\x7d\x11\x63\x8c\x6a\x88\x14\x10\xb8\x99\x2f\xd2\xe6\x28\x38\xf2\x9a\xd4\xb0\x32\x87\x3c\x53\x4d\x14\xb3\xc5\xb6\xb7\xb5\xc5\x52\x56\x59\xb8\x18\x2b\x92\xa1\x62\x03\x13\x34\x15\x49\x49\x42\x5a\x3c\xc4\x25\x9a\xb2\xde\x8a\x99\x29\xa2\xe4\x28\x49\x38\xf2\x88\x06\x68\x6c\x14\x9b\x68\x6c\x7b\x5b\x13\x4d\x59\x25\xe3\x4d\x34\x36\x30\x1e\x3d\x6a\x10\xa2\x29\x2a\x6d\x9e\xa8\xcb\x43\x75\x77\xdc\xe0\x32\xc9\x42\x39\xdb\x8f\x47\x39\xb6\x0d\x16\x1c\x24\x37\x77\xfe\x94\x63\x03\x83\xbb\x44\xbc\xd8\xcd\x68\xfe\xc9\x81\x78\xaa\xba\x43\x66\xbe\x9b\xce\x48\x24\xe8\x3c\x8a\x60\x25\x0c\x46\xe0\x25\xe6\x8d\x93\xd8\xc9\x68\xfe\x29\x10\x47\x31\x03\x0b\x94\x8c\x58\x35\x82\x50\x0a\xd0\xb6\x93\x5e\x02\xf6\xe7\x37\x2c\x01\xb4\x62\x38\x3b\x1f\x9d\x0e\xb7\x93\xb3\xeb\xab\xf3\xeb\xab\x61\x2f\x19\xfd\xdf\xe3\xab\x21\xd4\x8e\xdf\xb0\xbc\xec\xf1\x8f\xdd\x7e\xc1\xb0\x2d\xe1\x2a\xcd\xc2\xb4\xc1\x32\xac\xe8\xe8\x6e\x24\x34\xbf\x4a\x96\xfb\x5f\xe6\x8b\xac\x6d\x6c\x7f\xb6\xc8\x90\x8e\xf6\x06\x08\xf9\x4b\x4a\x37\x83\xf9\xc3\x5a\xec\xc0\x70\x56\xfc\xc9\x5f\xb8\x78\x4d\x59\x3a\xfb\x63\xd2\x2e\x3c\xfa\x63\xc2\x5f\x36\x7f\x29\x6e\x27\x85\xd8\xad\xb8\x74\x58\x2c\x57\x93\x7f\x03\x2e\xde\x6a\x31\x1c\x93\xdb\xdc\x6e\x0a\x02\xb1\xba\x75\x53\x10\xa9\x1d\x0f\x9c\x17\x37\x49\x6f\x97\xce\x46\xb7\xb8\x02\x6e\xe1\x7e\xf9\x16\x11\x50\x2e\x6f\xa9\x47\x07\x08\xe1\x82\x79\xa1\x5c\xdc\x50\x1c\xe1\xe2\xf6\x87\x75\x00\x77\xd2\xf7\xcc\x00\x30\x9e\xb3\x97\xdf\xed\xcc\xdc\xe8\xa0\x11\x0d\xae\x69\x03\xe2\xfd\x21\x16\xfe\x0b\x72\xc3\xb5\xbb\x82\x7c\x09\x88\x70\x1b\xb1\xe2\xda\x5e\x41\xa4\x63\x7b\x76\x44\x40\xad\xa3\xd8\xd5\xf0\xaa\x87\x2a\xda\x1d\xf4\x0f\x69\x09\x73\xa4\x33\x74\xfc\x10\xe4\xd4\xf1\x64\x70\x29\x5b\x5c\x77\x39\xac\x34\xc6\x96\x74\x11\xc9\xba\x2c\x4e\xbc\xd2\xc4\xcd\xa4\xdb\x11\xc3\x85\xd8\x50\x38\xae\x0b\x41\x51\x8e\x20\x28\x3b\x28\x18\x4f\x78\x76\xa0\x6a\xce\x0e\xec\x40\x5a\xc2\xd6\x90\x77\x4c\x99\x60\x15\x3e\xef\x00\xd4\x3e\x22\xf2\x8d\x1c\xa0\x0b\x0d\x63\x6a\x92\x03\xdf\xc0\x96\x8c\x58\x8c\x22\x25\x17\x1c\xce\xc7\x1e\xa3\x47\xf1\x1b\xd1\x11\x97\x81\x14\x80\x70\x5c\x06\x82\x62\xba\x62\xdf\xc8\x51\xf9\x71\x66\x0e\xde\x7b\x6d\x70\xb5\x72\xf4\xf8\xb9\xed\x78\x15\xe8\xdc\xd0\x79\x50\xdd\xac\xd4\x3d\x23\x68\x67\x9a\x7f\xc4\x45\x3f\x93\x17\xb1\xb0\xe4\xbb\x74\x36\xcb\xa6\xb4\x74\xb4\x6e\x2a\x07\x11\xeb\x36\xa6\x9a\x57\x80\x74\x52\x3a\x50\x53\xdc\x45\xd5\x43\x17\x8d\x9f\x18\x36\x9a\x3d\xdc\x37\xac\xbb\xa4\x15\x6b\x6a\x58\x55\x74\x98\x88\x45\x87\x11\x4c\x78\xed\xd6\x75\xa5\x58\x82\x96\x66\x40\xd5\x12\x84\x43\x4d\xdd\xaa\x0f\x4b\x10\x00\xc5\x59\x4a\xa5\x06\x94\x9a\xc5\x3e\x5b\x60\x54\x1f\x50\x61\xb0\xff\xe5\xfa\xf4\xa7\xd3\xb3\x5f\x4e\x8b\x1e\xcf\x47\x67\x45\x44\xe1\xf2\xea\x68\x74\x71\xc1\x8d\x29\x68\x27\xdf\x7e\x67\x57\xe2\xc8\x40\x7c\x3a\x0a\xa0\x4c\xca\x4f\xc1\xad\x8e\x00\xd8\x05\xf7\xa2\x50\x4e\x2d\x01\x82\x40\x17\x65\xa1\x38\x0a\x91\x0b\x43\x01\x3a\xf0\x28\x0d\x65\x24\xb4\x99\xe2\x6b\xb9\x35\x1a\x29\xad\x40\xb0\x77\xe9\x01\x6c\x53\xdb\x7f\x19\xc7\x28\x19\x05\xe6\x28\xa0\xc7\xd6\x16\x11\x64\xcb\xe6\xd6\xd1\xe3\xc2\x7d\xca\x8b\x1c\x6b\x70\xee\xd2\x95\x05\x4a\xa0\x8c\x02\x23\xd1\x14\x24\x1c\x99\x6c\xca\x28\x07\x39\xd1\xca\x48\x38\x0a\x9e\x51\x72\xdf\x22\x91\x8e\x6d\x8b\x1b\xe2\x29\xfd\xe0\x01\xc8\xc7\x06\x29\x50\x06\x9c\x31\xaa\xff\xc7\x24\x32\xf9\x14\xf1\x26\x72\xc2\x95\x89\x78\x64\x1c\xa3\x64\xc0\xc5\x21\x1d\xcb\xe6\xd6\x84\x53\x04\x32\xfc\xc9\xc6\x02\x05\xcf\x80\x73\xb6\xa2\x67\xeb\x65\xf9\x9f\xe5\x40\x12\x3d\x8d\xc6\xcd\x86\xb6\x2c\xcb\xb1\xa0\x91\x25\x2c\xcd\x74\xa2\xf6\xef\x2d\xdb\x19\x90\x06\xff\x17\xa5\x5d\xe3\xc9\x2a\xfd\x38\xcd\xf2\x53\xa7\x36\x57\xd8\x29\x2a\x69\x43\x98\xf0\x96\xfd\x8b\x67\xc0\x9b\x01\xe2\xa6\x1d\x15\x51\x86\xf1\xce\x5f\xf2\x09\x75\xe5\xb5\xf5\x36\xb0\x76\xe5\x6d\x6b\xbc\x4a\xf7\x80\x69\x38\xbc\x52\xe1\x55\x36\x58\xa8\x5c\x03\x2d\x95\x86\xf0\x10\xa0\x1c\x25\x8a\x7f\xc0\x02\x35\xb0\x77\x80\x07\x85\xd2\x81\x40\xa2\x03\x64\x3c\x79\xd2\xf6\xe9\x6f\x28\x01\x6b\x4c\x20\xfa\x20\xaa\x11\xe8\xb2\x03\x62\x5b\x72\x40\x08\xa4\xa0\x36\x45\xc0\xca\xbd\xd0\x73\xef\xa6\x75\x2d\x81\xfc\x78\xad\x6b\xdd\x06\x84\x92\xb6\xc3\xb7\x73\x2a\xea\x2c\xa0\x6c\x06\xa3\x73\xaa\x63\x03\x02\xca\x56\xb8\x4f\x8a\xc5\x0a\xbf\x28\x7b\xc0\x98\x14\xab\xf8\x8b\xb0\x9a\x2f\xd2\xad\x68\x6f\x9d\x57\x17\x8e\x1d\xac\x0b\x07\xe9\x6e\x98\x90\x61\x36\xe3\xd8\xf1\x8b\xec\x68\x68\x06\xca\xf8\xb5\xad\xeb\xa5\x95\x12\xb3\x7f\xcb\xe1\xb7\x4d\x3e\x6d\xf9\x36\x92\x51\xab\xc0\x8a\x90\x4a\x6b\xfb\x9a\x0e\x95\x44\x6a\x5a\x2d\x19\x55\x1f\x35\x31\xda\x78\xdb\xbe\xfb\x78\x5b\x15\x4b\x46\x52\xad\x4a\x40\x78\xa6\x67\x45\x97\xee\x09\x01\xf8\xdd\xed\x46\xfd\x8b\x93\xee\xc9\x04\x63\xcc\x09\x90\x33\x20\x05\x46\xc0\xca\x81\x54\x8f\xd6\xa5\x35\x14\x7e\x56\x0d\x82\x21\xfd\x4a\x0a\x58\xc4\xa1\x44\x21\x28\x0d\xc9\x50\x43\xfd\x09\xd0\x85\xc9\xaf\x80\x7f\xa8\x3a\x66\x82\x87\x08\x87\x78\x97\xae\xac\xf0\x7c\x6a\x25\x55\x92\xd2\x67\xd9\x27\xfd\x64\xe0\x3e\xcf\x5e\x03\x10\x58\x9e\xfb\xc8\x71\xbc\x45\xe6\x1f\xd9\x0d\x3a\xb3\x7e\x54\x3d\x04\x8d\xaa\xd7\x20\xe7\x2f\x89\x33\xeb\x93\x6c\xf6\xdb\xcf\xe9\x12\x9f\x90\x3f\x6a\x9f\xc3\x67\xe3\xff\x9c\x2e\x25\x20\x8f\x30\x8c\x3f\xf9\x34\x99\x66\x87\x77\xe9\xec\x36\xbb\x9c\xdc\xce\x52\x3c\xcb\x65\xb7\xf0\xb7\x3d\x2c\xa7\x97\xd9\xf2\xb7\xc9\x4d\xdb\x3e\xf4\xba\xf9\x89\xa9\x42\x5d\x5f\x9c\x54\x2f\x2a\xd5\x4e\xad\xe3\xb0\x01\xd2\x5a\x89\x4c\x20\x82\x79\x39\xfb\x34\x8f\xd0\xa6\x14\x95\xeb\xb1\xd4\x35\xb6\x20\x0e\xa9\x9e\x3d\xcd\x39\xb2\xa6\xeb\xec\xa1\xa2\x15\xdc\x00\xd1\xd3\xd2\xf1\x58\x76\xd6\xd1\x0a\x88\x1a\x46\x40\x2f\x19\x6a\x79\x07\x01\xa5\x92\x1d\x29\x58\x0d\x68\x58\xd5\x53\xd8\x79\x88\x55\x3c\x06\xc7\x4d\xe2\x5f\x0a\x86\xbb\x16\x77\xeb\x0f\x0a\xb7\x62\xb7\x95\xb5\xf3\x1e\x46\xcd\x16\xc0\xc0\x70\x6d\x5e\x60\x93\x96\x21\xb8\x8e\x3c\xcd\xe3\x03\x14\xe6\x88\x7f\x84\xc0\x86\xc3\x7b\xa7\x3b\xb6\x4b\x22\xdb\x23\x5e\xad\x70\x1b\xdd\x05\x18\x9b\x46\xab\x0a\x33\xf2\x34\x6b\x45\x58\xdb\x8b\x57\x50\x67\x08\x38\x80\xf6\x51\xcb\xb8\x50\xb8\x06\xdd\x86\x00\x7d\x80\x43\xaf\xb8\x13\x8a\x80\xc6\x68\x00\x9f\xfe\xae\xde\x6c\x58\xd1\x85\x58\x55\x83\x00\x77\x21\x56\xf0\x29\x4a\x92\x69\x68\xb0\x2b\x6b\x08\x60\xd2\x96\xa4\x67\x9a\x31\x1c\xcc\x88\x29\x20\x84\xb6\x64\x24\x9b\xc0\xc5\x9c\x91\x16\xb0\xd9\x34\x93\xd9\x38\xfb\x83\x96\x6a\xfe\x5f\x37\xb3\x96\xa6\x77\xc5\xd2\xa3\x4b\x2d\xd1\x8d\x2c\x42\x6a\xd4\xd8\x82\x9d\x74\x3a\xdd\xdd\xa9\x83\xe2\xc7\x39\x41\xfe\x3d\x72\xd6\x8d\xf3\x74\xa2\xbf\x40\xa2\x3c\x94\x12\x03\xc1\xa0\xa6\xdb\x97\x94\x24\x57\x5b\xed\xee\xc8\x51\xf4\xaf\x7a\x50\x2c\x42\x0c\xf5\x16\xc4\xc9\xc3\x47\x29\x51\x05\xce\xae\x0a\xf3\xf9\xf0\x68\x73\x20\xf1\xcf\x8e\x35\x05\x12\x81\x1c\x7d\x06\x24\x02\x3f\xf4\x04\x48\xfc\x8c\x1f\x7f\xfe\x23\x4e\x0c\x71\xa6\x3f\x52\x8e\x22\xc8\xec\x47\x04\xd0\x63\x4c\x7e\x04\xcc\x95\xd0\x1a\xb8\xd9\x51\xcc\xd6\xc3\x0d\xcb\xd8\x6a\xf1\x67\xeb\xe5\x7c\x7a\x30\x1e\x2f\x89\x79\xab\xeb\xf9\xbf\xb3\x19\x31\x65\x75\x9a\x7e\xcc\x08\xa3\x0b\xb6\x8b\x7c\xa2\x08\xc9\xa7\xa0\xdb\x2a\x9a\x92\xdd\x02\xe5\x2b\x3a\x34\x3f\x1b\x5b\xe1\xa6\x2d\xdb\x75\x32\xea\x61\x4b\x7c\xd4\x39\x5b\x39\xf1\x59\xd3\x50\xe5\x67\x4f\x0a\xe2\x8b\xa1\x01\x1b\xef\x7f\x27\x7a\x30\xee\x28\x09\xa5\x0d\xe3\x90\x28\xde\x3d\xf1\x84\xa9\x59\xa6\xe5\x19\x63\x09\xa6\xf5\xd3\xd5\x29\x03\x8f\x6f\xf3\x12\x48\xcd\xa7\x2b\x7f\x4b\x37\x39\xa4\x36\x3a\x33\x63\x12\x35\x8d\xd4\xba\x29\xc5\x61\x75\x93\x45\x6a\xdd\x0e\x05\x87\xa8\x49\xa4\xd6\x8d\x28\xe9\xd0\x35\x95\x34\xd0\x4e\xa8\x48\xf0\xb6\x62\x3b\x68\xfa\xa4\xea\x56\x0d\xad\x29\xd9\xa3\xdd\x6c\x6d\xc9\xb2\x94\x3d\xa7\xf2\x7e\x31\x9f\x89\x21\xfb\xc3\xfa\x17\xd8\xc9\xd8\x3c\xa6\x24\x01\x94\x6a\xd2\xdb\x74\xd1\x2c\x78\x52\xff\xb2\xb1\xb9\xf9\x9d\xf4\x71\x95\x06\x3d\x7c\xf7\x3e\x46\x26\x26\x1a\x26\x8b\xa6\x34\xc9\x80\xf9\x92\x91\x1e\xdf\x63\x2b\x4f\xf4\xa5\x1f\x2d\x1d\xa0\xa1\x2c\x7a\x0a\x40\x4b\x8c\x94\xf4\xcc\x9a\xbe\x75\x35\x2d\x53\xe8\x55\xf3\x6b\x6e\x28\xee\x81\x17\x6f\xd3\x85\x0e\x33\xff\xc7\x44\x26\x23\x81\x65\xb4\xda\x1d\xe9\x99\xdc\x16\x4c\x9e\x3f\x2f\xd8\xea\x66\x78\xfd\xcf\xca\xd9\x3a\xd1\x01\x69\xe1\xaa\x50\x7a\x20\x0d\x1a\xbd\xcd\xa8\xcc\x2a\x39\x5d\x3f\x5b\x82\x45\x43\x9b\x2d\x39\x3e\xdb\xca\xc1\xcc\x8b\x1f\x0b\xfd\x70\x63\x33\xd7\x10\xb5\x0f\xd9\xe8\x0b\xe4\x57\x2e\x27\x9c\xab\xa0\x4e\x92\x1e\xf2\xd9\x61\x45\xe7\xac\xbe\x39\xa0\xd7\xa9\x59\x13\x29\xfb\x66\x50\xbd\x09\x4f\xb2\xe7\x89\xab\x8a\x5a\xf1\xa8\x52\x62\xed\x3b\xd6\x66\xc5\xd6\x34\xe8\xe0\x8f\xb2\x82\x2f\xf2\x63\xed\xc0\x7d\x2a\xf0\x39\x24\xd3\xd0\x3e\x7c\x14\xb7\xd9\xfa\x6d\xba\x50\xbc\xb1\x39\x8e\x01\xcf\xc2\x80\x8a\x7c\x16\xb2\xe4\x28\x5f\xca\x25\xc8\xdd\x64\xe5\x96\x4c\x23\x24\x94\x50\xdd\xf0\x1e\x29\xe4\x85\x6f\x92\x79\x74\xd2\xb5\xd1\x71\xb5\xdc\x1a\x3b\xb2\xdc\xdb\x23\x79\xef\x95\x6a\x2b\xdc\x7b\x6f\x84\xcf\xdd\x30\x9e\xf6\xa5\xd0\x14\x70\xbc\x6d\x53\x84\x2a\xa5\x88\xe9\xee\x97\xc9\xa8\x4d\x0b\x8a\x40\x49\x6d\x4e\x24\x2f\xf4\x23\x53\x8f\x09\x45\x36\x01\x71\x0d\x60\x99\x80\x4a\x14\x3c\x69\xa8\x0f\xd1\x90\x90\x3e\xea\x45\x37\xe0\x79\x36\xa4\x23\x24\x83\xf9\x50\x8f\x96\xdc\x15\x8d\x86\xaa\x0c\xd6\x81\x3b\x19\x01\xb8\xb2\x89\x69\xe0\x43\x4c\x12\x22\x9e\x24\x35\xc0\x49\xaa\xce\xfd\xf5\xa1\x2a\xca\x39\xcb\xb5\x38\x62\xc2\x9f\x0f\x85\xa9\xd9\x7b\x6e\x9e\xa7\x5d\xae\xe7\x49\xa2\x1c\x3b\x0e\x3c\xc7\xd3\xae\x33\xd5\x48\x79\x88\x11\x8b\xc5\xc4\x24\x6a\x5e\x7c\x56\xda\x30\x13\xae\xd1\x22\xb4\x0a\xa9\x82\xfb\x54\xd3\xa8\x90\xd4\xe9\xa0\x1a\x4b\xba\x30\x08\xcf\xa7\x9f\x19\x48\x0d\xad\x42\x1a\x93\x1a\x94\xac\x74\x78\x6c\x17\x48\x11\x26\x7c\xc9\x14\x81\xcd\x3b\x45\x28\x02\xdc\xab\x9a\x22\x84\x44\x5b\x5f\x8a\x00\xe1\xf9\x0c\x46\x6b\xa0\x9e\xcc\x6f\xbf\x4f\xd7\x37\x77\x91\x52\x6f\x9b\xe5\x83\xf9\xb2\x9b\x15\x9d\xdc\xd7\xda\xdb\xe6\x18\x3f\xa3\xd3\x54\x19\xe2\x9f\x4e\x66\x84\xe2\xbc\x93\xfa\x29\xa8\x28\xaf\x41\xb1\xc0\x5a\x2c\xcb\x0b\x1b\xef\x6f\xe0\x74\xe0\xb1\xae\x61\x31\x5c\x77\x76\xf4\x5c\xfc\xd2\x94\xd5\xba\x8e\xe5\x5b\xbb\x44\xa1\xf5\x61\x32\x89\xd0\xd3\x62\x15\xd2\xc2\xab\xb1\x0a\x82\x0d\x9a\x0f\x60\x60\x08\x71\x5d\xc0\x0d\xc0\x58\x5e\x5f\x0c\x00\x25\xe8\x4f\x6b\x13\x25\xc5\xfc\x05\x5e\xe2\x5b\x82\xa3\x90\x85\x57\x92\xab\xe1\x7c\x03\xb4\x4f\xa2\xe7\x01\x18\xe9\x2b\x40\xe7\x24\xb2\xd3\xc8\xbc\x01\xcd\x69\x45\xb0\x6a\x15\x6e\x40\x74\x8f\x98\x37\xca\x80\x67\x3c\xf7\x88\x01\x85\x9a\xe7\xc4\x74\x8f\xa8\xdc\xd3\x19\xd9\xd2\x63\x0b\x9c\x6c\xad\x11\xb6\x77\x95\x6a\xbf\x8e\xfe\xc8\x6e\x4c\x63\x7d\xf7\xdf\x15\xbd\x1d\xb6\x93\x1d\x70\x68\xad\x71\x1d\x6c\x6e\x6d\x3d\xae\xb6\x1e\x5f\xbb\x9d\x8c\x2e\x2e\xce\x2e\x86\x3b\x6c\x8c\x65\xb7\x60\x94\x11\xb6\xe8\x4e\x79\x4e\xb1\x45\xbe\xcb\x53\x89\x15\x17\x75\xd2\x63\x4d\x0b\xd8\x92\x2f\xb8\xe3\x6c\x8d\x40\x0c\x13\x6d\xb9\x63\x67\xcd\x44\xa9\x4d\x9e\x75\x9a\x94\x6b\xc6\xd9\x38\x2c\x77\xb9\x9c\x2f\x5b\xb4\xf3\xbf\x9c\xf0\xce\x5f\x8c\xd9\xe7\x4b\x04\xd6\x81\x86\x2e\x80\x63\x28\x57\x20\x92\x2e\x7a\x3a\x71\xc1\x27\xd0\x44\x42\xbd\x1c\x2e\x9d\x24\xb4\x0b\xe6\x34\x44\x17\x9f\x47\x6b\xbd\x79\x2e\xdd\x01\xb4\xdb\xcb\x9d\x4a\xcb\x6d\xca\xa0\x5f\x69\x5f\xb4\xfd\xe6\xff\x32\x5a\x32\x68\x1c\xc3\x7b\xc3\x0b\xb6\x43\xd8\xf1\x82\xaf\x85\x34\xdc\xcc\x72\x30\xae\xed\x26\xc2\x8c\x65\xbe\x11\x60\xd0\x53\x75\x6c\x13\x81\x89\x5d\x18\x34\x7e\x10\x75\x38\xaf\xfd\x46\x7b\xcf\x22\x26\xf6\x32\x30\xdc\x49\xea\x17\x37\x72\xdb\xad\x8f\x81\x7e\xa7\x22\xcc\x24\xb6\x9f\x6b\x14\x45\x92\x3d\x99\x18\x5f\x25\x90\x77\x94\xd6\xbe\xa0\x1f\x6a\x7e\x29\x43\xbe\x46\x55\xa4\x88\xd3\x8f\x9d\xd4\x01\x37\x95\x2a\xc6\x0c\xe4\x68\x2e\x50\xa9\xed\x40\x62\x6a\x3b\x10\x58\xac\x75\x31\x76\x99\xcd\xeb\x83\x0a\x38\xc6\xf0\x65\x5f\x3f\x25\xa1\xc6\x1f\x1b\x90\x47\x39\xa4\x4e\x9d\x8b\x20\xb1\x74\xe9\x64\xc4\x36\xc4\xb9\x9f\x40\x9f\xda\x4f\x00\xdb\x0a\xd7\xa6\x02\xfd\x40\x15\x35\x9a\x4e\x13\x45\xe4\xb2\xa7\x7f\xe3\xab\xd8\x8a\x8e\xbb\x1c\x00\xce\xb0\xf5\xe2\x0a\x50\xda\x18\x70\x27\xd3\xd4\x4d\x80\xfe\x97\x0c\x03\xa7\x5c\x93\xee\xc4\x5f\x8c\x91\xe0\x6c\x40\xc6\x0e\xe0\xfe\x53\xc1\x29\x3b\x1d\x75\x30\x38\xed\xa8\x1f\x6d\x36\x38\x64\x0b\xc6\xb1\x92\xf8\x13\xc2\x29\xeb\x58\xd8\xf6\x13\x19\x12\xce\xf2\x82\x45\xb6\x89\x88\xa3\xc2\x1d\x1d\x77\x8e\x76\xd1\xdf\x03\xc3\xa9\x57\xb1\x43\xab\x28\xca\xd8\x70\x07\x50\xd4\x56\x66\x9d\x4d\x0e\x87\xbe\xc1\x77\x78\x38\x8d\x0a\x62\xcf\x0f\xa7\xd2\x62\xdc\x11\xe2\xe4\xbd\x88\x38\x45\x9c\x85\x43\xb4\x41\xe2\x5c\x2c\x62\xcc\x12\x27\xd3\x84\xf7\x38\xf1\xc0\xe6\x67\xe1\x5f\x8e\x63\x7f\xaa\x51\x68\x47\x03\x54\x5a\xc6\x96\x47\x60\x8b\x9c\xcf\x5e\x5c\xae\xd3\xf5\xc3\xaa\xab\x68\xb8\x25\x06\x16\xd9\x12\xcd\x81\xba\xda\x37\x58\xd0\xce\xd1\x16\xc5\x96\x8d\x62\x8c\xe6\x7b\x57\x9f\xb8\x16\xf3\x6e\x48\x81\x1e\xa1\x0c\x6b\xc2\x2a\x57\xad\x43\x1b\x16\x0a\x22\x85\x35\x62\x21\x48\x84\x39\x56\xd6\xd0\x59\x2f\x11\x0e\xd0\x2b\x09\x14\x3a\x92\x1a\x03\x7e\xb1\x49\x8d\x1b\xb5\x7c\x18\x26\x0c\x15\x8b\xf0\xc5\xf7\x10\xfc\xb2\xc0\xd2\xb2\x0f\x4d\x69\x65\x71\x52\x9c\x1a\x12\x08\xe4\x5d\xba\xb2\x01\x0c\x52\x68\x6f\x4d\x00\x3c\x5b\xe0\xfd\xae\x9c\x4a\x8b\x54\x1f\xb4\x1f\xa6\x2b\x15\x53\xde\xcc\xfb\x9e\x67\xb2\xa2\x0b\x55\x29\xf4\x64\xd9\xe8\x9a\x9c\x8a\xe4\x04\x57\x6a\x92\xe8\xc8\x02\x28\x2e\x19\x59\x26\xee\x87\x25\xa3\x22\x29\x8a\x98\x41\x6d\x25\x23\x19\x53\x1e\x19\xf5\x1f\x9f\x8c\x2c\x1b\xdd\xf6\x0a\x98\xf0\x0a\xdb\xac\x64\x64\x01\x14\x64\x32\x9e\x9d\x1b\x15\x06\x43\x7c\x7e\x54\x26\xaa\x11\xeb\x32\xed\x1c\x49\xc1\x96\x47\x4c\xdb\x8f\x4f\x4c\xd6\xed\x6e\xb8\x52\x99\x44\x14\x86\x2f\xd9\x80\x05\x29\x9e\xb5\x73\x26\x37\x7d\xc6\x29\x7f\x90\x58\xd6\x69\xe7\x4d\x24\xad\xc7\x42\x4f\x3b\x8f\x4f\x4f\x71\x75\xa6\x00\xda\x12\xeb\x80\xaa\x89\xa1\x5a\x85\xc7\x4e\xd2\x4f\xb6\x39\x15\x1e\xd5\x42\x40\x89\xc7\xf1\xe9\x79\xe1\x03\x2c\xfe\xff\xc3\xe8\xec\x87\xe1\x4e\xf2\xcb\xf1\xe9\xe1\x9b\x61\xbf\x28\xff\x18\x1d\x0d\xb7\xf9\x98\xcb\xf7\xa0\x8b\x4a\x0f\xc3\x96\x85\x2d\xf5\x08\x3d\xc2\x5c\x5a\xd5\xc3\x55\x43\x19\x5f\x5e\x8c\x0a\x5a\x3c\xac\xcb\x30\xd2\x71\xfe\x9f\x75\x1c\x29\x29\xfe\x61\x34\xff\xd4\x78\x70\x8e\xab\x1f\xca\xf2\x87\x17\xa3\xfb\xc5\xfa\xb3\x52\x2c\xf1\xfb\x64\x76\x73\xd7\xbc\xf0\x4b\xfe\x17\x77\x28\xd0\x2f\x93\xd9\x78\xfe\xfb\xe5\xe4\x7f\xd5\x39\x9e\xf3\x45\x36\xcb\x94\x0c\x42\xeb\xd0\xfc\x64\xbb\x98\x98\x1f\x74\x9e\x90\xb4\xad\x9d\xb9\x93\xd8\x53\xd4\x61\x34\xdd\x9d\x48\x71\x26\xa8\xf3\x62\x5e\x55\x1c\xab\x4e\x06\x04\x72\xed\x4b\xf2\xd4\xd3\xe7\x2b\xb2\xc5\xfd\x4d\x0d\xb5\x73\x8b\x27\x00\x8a\xf6\x19\x48\x24\xdc\x0b\x1c\xf9\xf2\xe6\xd9\x9a\xb8\xe7\xb7\x66\x43\xa8\x0f\xc9\xc6\x11\xc2\x81\x1d\x4f\x87\x97\x80\xc6\x75\xab\xf1\x27\xc3\x6b\xc9\xff\x06\x65\x20\x4b\x7a\x82\x8f\xad\x24\xf4\x9e\x3e\x9b\x48\x62\xc2\xa6\x5c\xf6\x8a\xc0\x89\x79\xf1\x2d\x8b\x66\x95\x02\x40\xd4\x89\x43\x36\x7e\xfd\xb6\xf8\xf5\x39\x81\x92\x9b\xca\xdb\x15\x8c\x62\xb3\xba\x49\xf2\xb4\x82\x77\x0b\xb1\x95\xbc\x8d\x15\xdf\x82\x30\x60\x87\xd7\x42\xc0\x5f\x69\x07\x00\x59\x0f\x6e\xae\x31\xb3\x76\xc7\xb3\x1b\xcc\x83\xff\x71\xda\x89\x82\x39\xdf\x12\xd1\xd0\xbf\x4b\x57\x36\xe4\x03\x7a\xdc\xac\xe4\x36\x9a\x7f\x72\xb0\x6d\x2b\x79\xed\x62\x0d\xe9\x14\x27\xa1\x10\xcd\x64\x8d\x4c\x7b\xe6\x7d\xac\xed\xd6\x46\x0e\x04\x24\x18\x33\xc4\xf0\xe6\xab\x44\x33\x85\x04\x0a\xe9\x0c\x81\xf4\x2f\x96\x33\xd0\x44\x5e\x0a\xb6\xd1\x7c\xb5\xf1\x68\xcb\xb6\xdf\x35\x61\x95\x1a\x41\x18\xaa\xb2\xc1\x0a\xe8\xb1\x35\x91\x54\xa9\xd3\x62\x34\x65\xb5\x1d\x4b\x4f\xe8\x33\x3f\x6e\xb8\xd2\xd1\x20\x4a\x3f\x86\x13\x36\x1e\x95\x10\xb6\x30\x0a\xea\x61\xe8\xce\x8a\xbd\x87\x5f\xf7\x7c\xb2\xc8\xa6\x93\x99\xe6\x7c\x03\xdd\x6e\xcd\x4b\x67\xbf\xcf\xb2\x65\xe9\x68\x3b\xfb\xe5\x74\x74\x21\x38\xda\xce\x2f\xce\x7e\x1c\x1d\x5e\x81\xde\xb4\x66\x1d\x99\xce\x9b\x45\x03\xfa\xcf\x8c\xdf\xe9\xe7\x31\x33\x60\xef\xe4\x23\x6b\xd6\x61\x78\xc5\xb4\x77\xac\x7e\x30\x6a\x71\xea\x2c\xbd\xc7\x4b\x6b\xca\xe1\x7c\x8b\xe5\x3c\x07\xd9\xce\xc8\x2e\xff\x86\x5d\x62\x17\xd9\xa7\x17\xd5\x83\x8a\x07\x6c\xb5\xce\x16\xd2\x0c\x9b\xcb\xea\x07\x6d\x84\x0d\xbe\x1d\xf9\xab\xcd\x1b\xda\xac\x1b\x47\x5f\x59\xb3\x7a\x34\xef\x58\x0d\x01\xf5\x0c\xd8\x51\xa1\x7b\xc0\x28\x6b\x74\x5e\x01\x6b\xaf\x7c\x95\x67\xf3\x9d\xa6\xf7\x19\xb7\x87\x86\x40\x7a\x74\x57\x95\x48\xaf\x84\x89\xd9\xd5\x15\xd0\xdd\x76\x99\x4c\xd1\x8f\x3a\xe4\xa6\x82\x4a\xbd\x47\xc0\x67\x27\xcf\x9f\x27\x24\x8a\x2e\x56\x0a\x31\x4b\xc7\xc0\x6d\x63\xb8\xde\x1a\x30\x61\x9d\x6d\xd8\xb2\xa4\xaa\x63\x7a\x57\xc4\xe2\x96\x60\x83\x10\x95\xe9\xe0\x02\x13\xe7\xb4\xb1\x10\xef\x09\x3a\x5e\xa7\xb9\x07\xe4\xe9\x3a\x3b\x61\xa6\xeb\x30\x29\xdf\x21\xed\x4f\x5e\xc0\xd4\x46\x98\xf8\xaa\xaa\x88\x25\x3b\xc9\x6e\xf2\x32\xd9\x4b\x5e\x91\x54\xb2\x62\x8d\x9f\x26\xb3\x71\xa9\x96\xfd\x74\x7c\x7a\x24\x68\x65\xa3\xff\x3b\x3a\x1c\x6e\x27\xdf\x5f\x1f\x9f\x1c\x0d\x77\x92\xa3\xd1\xf9\xc9\xd9\xaf\xc3\xdd\xe4\x62\x74\x32\x3a\xb8\x1c\x0d\x5f\x26\xd7\xe7\xc3\xbd\xe4\xfc\xf8\x7c\x74\x72\x7c\x3a\x1a\xbe\x22\x7f\xb1\xa4\xc2\x35\xf0\x63\x68\x70\xda\x2e\x05\x52\xe3\x94\xcf\xf0\xd3\xe5\x24\x45\x84\xa3\xd0\x49\x2f\xda\xb4\x3a\x92\xb2\x56\xea\x75\xe3\x6c\x91\xcd\xc6\xab\xb3\x59\xd1\x96\x39\xbf\xf3\xfb\x9a\xb3\x5a\x19\xb1\x9e\xf4\x37\x37\xbf\x2b\x99\xcf\x70\x9e\x64\x7f\x64\x37\x42\x7f\xbb\xec\x06\xd6\xf3\xe4\x0f\xc9\x9f\x57\xd4\xbd\x8f\x0f\x93\xe9\xb8\x59\xf0\xfb\xfc\x2f\xce\x8a\xc5\x0b\xca\x92\xe3\xa2\x3f\x78\xb3\x66\xd9\x2e\x9c\xb3\x68\xf9\x86\xb2\xea\x32\x9b\x66\xe9\x2a\x6b\x96\xbd\x28\xff\xe6\xac\x5b\xbd\xa2\x2c\xfc\xd0\xaa\xba\xd7\x0b\xce\x72\xd7\x0b\x65\xa5\x45\xf5\xcf\xad\x2a\x5e\xfd\xc0\x59\xd5\x64\x7f\xcc\x37\x93\xc9\x7d\x7a\x8b\x13\xd9\xa0\x20\xb2\xdf\xe7\xcb\x7f\xaf\x16\xe9\x4d\x8b\xc8\x2f\xf5\x2f\xb8\x55\xd0\x3c\x0a\x54\x4e\xf8\x6a\xee\x66\x7d\x26\xb4\xfa\x5e\x80\xa1\xab\x18\x98\x92\x45\x56\xe4\xb1\x85\xba\xd6\xe6\x0d\x4a\xba\x51\x9f\x4f\xc7\xe3\xa3\x9a\x3d\x71\x95\x7a\x9d\xcf\xd0\x75\x7b\x03\x8f\xa2\x74\xef\xcb\x6e\xb8\x2d\xf0\x0c\xac\xcb\x15\xcb\x92\xef\xe1\x68\x96\x0c\x55\xc6\x73\x97\x87\x67\xc9\x0d\x5d\x11\xad\x78\x29\x8e\x69\xc5\xa6\x65\x54\x5f\xf2\x50\xad\x18\xac\x2b\xae\x35\x7f\xc6\x91\xad\x99\xbf\x8c\xed\x1e\x0f\xdb\xeb\x85\x2b\xa2\xd7\xe0\xfd\xae\x70\xbc\x5e\x28\xe8\xbd\xe2\xa1\x57\xff\xe5\x8a\x24\xc5\xb1\x50\xdb\xcb\xb5\x9c\x92\x11\x1e\x58\xac\xfe\xe3\xfb\x02\x11\xe9\xd9\xde\x16\xc5\xee\x6f\x84\x0b\xcf\xf2\x6f\x65\x12\x21\x2b\xa5\x11\x75\xfe\xe9\x26\x36\x65\x34\xaa\xa9\x0b\x99\x3c\xbe\xf6\x2e\xb4\x36\xc5\xe8\xc5\x2c\x59\xb9\xa8\x5c\xd4\x75\xc1\x81\x00\x76\x3b\xb8\xd1\x70\x39\x46\xb0\x41\xa0\x10\x33\x55\x5a\xfd\x97\xd3\xc1\xd1\x24\x1a\x88\x00\x05\xe5\x58\x81\xb8\x4b\x87\x58\xf1\x78\x22\x48\x51\x71\x56\x60\xbe\xa4\xc3\xac\x79\x35\x11\x68\xa5\x59\x2b\xf0\xf6\xe8\xf0\xae\xed\x6e\x00\xd5\x75\x22\x2a\xdd\x0a\xc0\x57\x74\x80\x98\x8f\xa8\xa5\xf3\x92\x1d\x02\xb7\x62\xa0\xd3\xb5\xac\x90\xab\x35\x8f\x5b\x98\x8b\xa7\x65\x88\xde\xbe\x91\xe2\x7a\x68\x0e\x92\x6d\xf7\x39\x4b\x86\xe5\x83\x9a\xf1\xaa\x11\xcb\xb3\xe5\xa5\xb7\xad\x61\x1a\x92\xb1\x55\x5a\xf4\x37\xf3\xfb\xfb\x74\x86\xc7\x75\xca\x60\x4d\xba\xbc\x5d\x31\x4c\xff\x6d\xc1\xf4\x0f\x6f\x81\x99\x55\xed\x28\x66\x58\x01\x8b\x29\x03\x31\x4b\x80\x67\x90\x61\xab\x75\x1e\x63\x31\x28\x51\xb6\x30\xcb\x61\x49\x63\xd6\x5c\x5b\xd9\x88\x3b\x58\xde\x86\x18\x8f\x04\xde\xe3\xf8\x1a\x10\x24\xb6\x83\xa8\x41\x10\x00\x52\x00\x00\x63\xfb\x92\x32\x54\x1f\x21\x16\x06\xa8\x9f\x3f\xa8\x18\x05\x45\x6f\x42\x92\x58\xc1\x83\xac\x3f\x24\x4e\x02\x2b\x42\x43\x2a\xe8\xa0\x8d\x49\xb1\xcf\xae\x4e\x24\x4e\x87\x1c\xec\xc3\x35\xe0\xbc\x4f\x47\xa6\x19\x61\x9f\x5e\x13\x17\x75\xee\x13\x3b\x7d\xc5\xf2\xd5\x3a\x5c\xcb\x67\xcb\xe3\x52\xff\xf3\x1f\x78\x42\x11\x08\xb6\x62\x88\xac\xd9\x4d\x32\x78\xb6\x94\x51\xd2\x9c\x80\xdd\xae\xf3\xe1\x9a\xdb\xfe\x2e\x5c\xec\xa4\xb4\x43\x82\xaa\x5e\x9a\xb7\x9f\xa7\x7b\xc9\xaf\x9b\x9b\x13\x8e\x27\xab\xf4\xe3\x34\x3b\x7f\x58\xdd\x51\xab\xb0\xfa\x5a\x15\x96\x63\x47\x42\x92\x8b\x2f\x8e\x7a\x54\x00\x63\x4a\x48\xd4\x07\xc9\x53\x90\xd0\xe5\x1c\x3b\xf7\xf4\x09\x6d\x64\xcb\x62\xa1\x52\x31\x3a\x6a\x29\xc0\xbd\x13\x0f\x7c\x15\xe2\x6b\x2f\xa0\x13\x20\x88\xfa\x02\x42\x30\xdd\xad\x46\x71\x11\x37\x58\xad\x87\x41\x9a\xfc\xc1\xdb\x2a\xaf\xed\x95\x1a\xdb\x47\x52\x63\xb1\xf3\x35\x23\x02\x77\x5d\x13\xf0\x09\xd1\x77\xcd\xe8\xa3\x09\xca\x8e\xf5\x38\x29\x8f\x1f\x2b\xef\x9b\x19\x72\x1d\x77\x25\x32\xe3\x5e\x1c\x66\x6c\x0b\x63\xc4\xe1\xc6\x25\x34\xe6\x95\xc7\x23\x2d\x3c\x7e\x8c\xaf\x17\xb1\xaf\xb7\xc8\x90\xdb\x60\x4b\x10\x66\xac\xdd\x84\xf8\xdc\x18\x76\x90\x06\x61\xc7\x30\x08\x90\x1f\x1b\x1c\xb2\xc5\xf6\x23\x5d\xbc\x91\x5d\x6d\x17\xf6\x62\xc4\x3d\x16\x23\x36\x9c\xad\x8e\x05\x93\x0b\xfb\xf5\xf2\x36\x7b\xad\x83\xb2\x61\x43\x5a\x09\x8f\x0f\xab\x0b\xd8\xdc\x92\xe3\x66\xf0\xbe\x92\x5c\x53\x8c\xf5\x47\x33\x3b\xda\x67\xd5\xbc\x95\xe5\xc3\x8c\xcc\xe0\x0b\xc9\x5c\xbe\x72\x91\xad\xd3\xc9\x0c\xf5\x7c\x6e\x27\x5b\xd2\x0b\x67\xbf\x65\xcb\xe5\x44\x1d\x1d\x61\x87\xb8\x13\xaa\xcb\x02\x31\xda\x1c\x47\xa6\x54\xe0\x98\x9c\x8b\x10\x12\xe7\x49\x15\xc2\x82\x31\x3d\xa1\x68\x84\xb8\x25\x52\xfa\xec\x4a\x85\xb8\xa9\xb9\x0e\xc5\xad\xb1\x36\x33\x17\xda\x17\x9c\xe7\xb4\x6b\x75\xbe\x56\x23\x30\x84\x47\x4b\x32\x37\x64\xa7\x58\x96\x96\xaf\x45\x70\xd7\xad\xce\xf4\xe2\x4b\x5c\x24\x3c\x18\x44\xe4\x22\x30\x48\x3d\x12\x32\x03\x13\xe5\x8c\x49\x54\x48\x0f\x8d\x15\x96\xa4\x64\xb2\xba\xa4\xd9\x54\x22\x19\x69\xd3\x3d\xb6\x45\x3f\xb1\x89\x80\xd4\xe5\x77\x38\x8a\x84\x4e\x2d\xd2\x0e\x05\x2c\xa2\x95\xf7\x0e\x2e\x0c\xc7\x29\xda\x88\x63\xa8\xfe\xa9\x18\xf8\xc2\xcf\x07\x6e\x52\xed\xe9\x13\x68\x0d\x2f\x43\xc4\xc0\xde\xa5\x2b\x10\xa8\x47\x25\x3e\x81\x28\x0a\xd2\xeb\xd0\xca\x37\x9e\xba\x82\x84\x93\x85\xef\xbd\x09\xe5\xfd\x73\x8b\x24\x6c\xc3\x43\x07\xa8\x5b\xa0\xa2\xc0\x18\x96\xb3\x1d\x72\x13\x6a\x26\xe4\x45\x17\x3b\x81\xe8\xc2\x86\x12\x93\x4a\x76\x02\x5a\x20\xd7\x81\x8b\x1a\xae\x3d\xea\x1a\xae\xe1\xd2\x86\xfd\x2f\x2c\xc3\xa0\xc7\x36\x0c\xfa\x9e\x86\x81\xde\x7e\x2d\x88\xaf\xc9\x94\xdd\x19\xc7\x26\xb8\xe6\xa6\xa7\xc3\x89\xa7\x3c\x4b\x00\x5e\xab\x83\x36\x6b\x82\x8b\xc9\xa4\x61\xf7\xb9\x1a\xb6\xb9\xf7\x58\x17\x1a\xf6\x75\xb7\xc9\xa1\xf6\x5c\xb8\x20\x7a\xb5\x7d\x79\x4a\x5a\x84\x59\xc3\xd5\xa6\xaf\x82\x1a\x6e\x9f\xab\xe1\xb2\x32\x20\xae\x17\xa1\xf5\x18\x9e\x93\x4c\xa1\x16\x4f\x15\x86\xa5\xb9\x1a\x3f\xdd\x47\x7b\x41\x46\xb3\x12\x3e\xdc\x43\x71\x61\x69\x6f\xc0\xa7\x07\xd1\x59\xb0\x66\x2e\xe4\xad\xf0\x56\x57\xb6\x03\xaa\x2b\xcd\x5f\x41\x95\x16\x53\x8d\x1b\x4f\x75\xd1\x56\xb0\xcd\x07\x5a\x66\x9f\x84\x92\xc1\x4f\x84\xae\x18\xc6\xfa\xbb\x10\x83\x83\xa8\xe5\x19\x71\x74\x8d\xfa\x2f\xa6\xac\xa1\x54\x91\xf0\xf4\x0e\xca\x8a\xd1\x86\x04\x91\x8e\x9e\xe7\x79\x64\xd4\xd9\xe4\x04\x18\x28\x8a\x66\xb8\x98\xf1\x15\x0f\x2c\x27\x3e\x88\xfa\x81\x01\x21\x4c\x13\xaa\x2f\x3a\xd7\x93\x87\xe6\xfc\xfb\x1c\x4f\x89\x57\x60\xff\x59\x53\x24\xc6\x90\x3d\x46\xd2\x91\x71\x8b\xe3\x37\x33\x00\x2e\x1c\x67\xe6\x6d\xa9\x3d\x66\xf9\x61\x72\x5d\x65\x06\x48\x77\xe9\xca\x0c\x27\x98\x93\x4c\x3a\xea\xd3\xf4\xbe\x93\x9c\x5a\xe9\x0c\x65\xa0\x11\xb3\x69\x55\xe7\x70\x5b\xe7\xe5\x90\x52\x0a\xb6\xe2\x03\xbe\xd6\x02\x17\x4f\x29\xed\x73\x53\x4a\x5b\xb0\x62\x8d\xb4\x6b\x4a\x69\x9f\x97\x52\xaa\x7b\x99\xc1\xdd\x16\x1c\xcd\x42\xf5\x9d\xdb\xd7\x56\x05\x78\x01\x79\x96\x9e\x2d\xcb\xc9\x28\x96\x8e\x5f\xc6\x2c\xd8\x0c\x1a\x19\x22\xab\xeb\x21\x78\x6e\x96\x8d\x6c\x07\x18\x65\x37\x6c\x36\x27\x71\x37\x0b\x80\x10\xdd\x08\x75\xb2\x28\x32\xee\xa2\xd1\x45\x59\x9a\x0f\x76\x7d\x05\x08\x43\xc1\x2d\x58\x6b\xde\x58\x94\x61\xdb\xcb\x9a\x34\xca\xa2\x54\x2f\xda\xb0\x81\xf0\x68\xbb\x0b\x0b\x84\xe9\xfc\x73\x34\xea\xa8\x1a\x22\xec\xba\x8b\x0d\x09\x3b\x1e\x7d\xec\x76\x4f\x1f\xd6\xed\x94\x63\x8a\x7e\x14\x62\x05\x02\x93\x88\xd3\x21\xd0\x53\xd3\x9c\x69\xa4\xee\x44\xf1\xd2\x91\x48\xa8\x49\x6b\x16\x2a\x79\xd9\x3d\x95\xd8\x77\xb4\x55\xa4\xcb\x3c\x43\x2f\x3a\xb1\x83\x81\x09\xc5\xe9\x20\x8a\xc2\xf1\x68\x34\x72\xbd\x48\xf6\x1c\xc9\x43\xc4\x8a\x47\x19\x7b\xdd\x53\x86\x71\x0b\x6b\xa2\xb8\x5e\xf8\xd1\x83\x71\x71\x98\x14\x9c\x36\x5d\x28\xec\x8f\x46\x10\x8d\x31\xfd\xca\x91\x2c\x74\x0c\x79\xc4\xf1\xaa\x7b\xe2\x00\x36\xb5\x26\x91\xfa\x11\x3f\x42\x01\x00\xc1\xe4\xe2\x74\x18\x7e\x65\xad\x03\x77\x13\xdc\xab\xa2\x75\xe0\x6c\x83\x37\x0d\x21\x02\xfb\x97\xda\x86\x3d\x3d\xa7\x83\x5f\x19\x51\xa3\xbb\x97\xb6\x3c\x48\x1b\xda\x93\x66\x10\x41\xd3\x87\xc3\x8b\xb8\x21\x50\x88\x7f\x89\x06\x52\xa6\x6c\xc7\xa2\x65\xb2\x67\x49\xa6\x68\xe7\x2a\x65\xaa\x4b\x29\x90\xe3\x8c\x5c\x93\x1d\xcc\x67\x46\x0d\x40\x2a\x81\xc7\xb9\x1c\xb0\x0a\xe3\x08\xae\x3a\x6a\xd3\x0c\x7a\x25\xf6\x38\xb7\xc5\xf3\x42\xf9\x52\xdc\xe4\x95\x2a\xaa\xac\x1b\xd7\x48\xaa\xaa\x6b\x32\xe3\x2e\xcb\x32\xca\x0a\x21\x84\x17\x45\xa2\x82\xcb\xaa\xf7\x32\xbc\xeb\xb7\xd9\xfa\x6d\xba\x90\x53\xd1\x88\x0c\xca\x65\x87\x75\xa4\xe4\x2d\x96\x7a\xa7\x97\xaf\x6c\x6c\x16\x91\x5b\x02\xb0\x8b\x87\x99\xde\x67\x68\xc7\xbf\xcf\x50\xbe\x6e\xfb\x1d\x5e\xd1\xe9\x7c\x29\x87\x90\xb4\xf8\x9a\xf7\xe4\x87\x55\xf6\xff\x1e\xb2\xd9\x0d\x65\xfa\xc3\x96\x73\xcb\x59\x7b\xa0\x3b\xf9\xd7\xfc\x63\xd9\xa1\xa8\x85\x5f\x3f\x50\x78\x92\x0b\x28\x3f\x56\x0f\x6d\x00\xe1\xee\x1c\xc6\x8f\xf3\x8f\xcd\xdb\x49\xb6\x99\xac\xd6\xe9\x9a\xd2\xc5\x76\x2b\x68\xbd\x4f\x7e\x3e\xd1\xa3\xec\x17\x0f\x33\x72\x34\xd5\x88\x10\x3f\x9e\x8e\x2c\xf3\x84\xa6\x46\x5c\x4f\x66\xeb\x62\xde\x6f\xf1\xe0\x65\x45\xe2\x4e\x93\x23\x6a\x1b\x2d\x56\x8c\xbe\xb9\x40\xcc\xe6\xb2\x15\xb9\xf3\xf0\xca\xef\x07\x82\x52\x3a\x1e\xe7\xb7\xcd\xda\x9a\x73\x34\x7b\xb8\x6f\x36\x36\xbf\x5e\x01\xb3\x1b\x65\xd6\x1a\x33\xbf\x20\x87\x14\x27\xa9\x00\x58\x39\xd0\x98\x07\x31\xad\xb1\x21\x6d\x21\xfd\xa0\x22\x7e\xd3\x94\x07\x91\x59\xb3\xc7\x3c\x60\xc9\x0a\x4d\x06\x65\xcb\xad\x81\x5e\x52\xa4\x4e\x97\x35\xcd\x5a\x41\x4a\x7b\x51\x50\xa3\xf0\x69\x05\xa9\x0e\x68\xa9\x9a\xf9\xb1\x15\x0b\xec\x7f\xb9\x3e\xfd\xe9\xf4\xec\x97\xd3\xe1\x56\x72\x3e\x3a\x3d\x3a\x3e\x7d\x3d\xec\x25\x97\x57\x07\x17\x57\xf9\x7f\xf6\x93\x8b\xeb\xd3\xd3\xfc\xbf\xb6\x93\xd1\xc5\xc5\xd9\xc5\x70\x27\x39\x3c\x38\x3d\x1c\x9d\x9c\x8c\x8e\x86\x83\xe4\xf2\xfa\xf0\x70\x74\x79\x39\xdc\x65\x93\x7b\x07\x86\x96\x7a\xbf\xe2\xdb\x5a\xda\x27\xd6\x04\x1b\x35\xfd\x53\xfb\x4e\x1d\x6a\xf8\xb4\x4f\xed\x53\x23\xf8\x0f\x25\x89\x44\xb2\x02\xb4\xad\x20\xfb\x0c\x4d\x96\x97\xc3\x46\x44\xf4\xfa\xc9\x80\x7c\x7c\x7e\x0e\x5b\x29\xf0\x39\x6a\x0e\x0a\xf3\xa0\x73\xe9\x4e\x0a\x89\x6a\x67\xac\x23\x66\x39\x63\x3b\x66\x3b\x2e\x67\x5d\xe9\x0e\xac\x44\x15\x23\x68\x7c\x63\xc8\x0a\xab\x42\x89\xc0\x99\xd5\x94\xd8\x88\x2f\x5a\x12\x8b\xce\xe2\x0a\x31\xe2\xe8\x08\x76\xe4\x6f\x32\x48\x90\xb9\xe5\x52\x51\xf3\x01\xbb\x1a\xc5\xd7\x8b\x55\xb6\x6c\xee\x6e\x3d\x9c\xd6\xd3\x3c\x36\x2f\xca\x30\x94\xe1\x05\x6c\xa9\xdb\xbe\xe3\x54\x82\x27\x70\x9b\x3f\x23\x9a\x65\x69\x04\x87\x6a\xd4\x44\x24\xe9\xd6\x26\x7b\xc1\xee\x93\xb7\x6b\xe4\xe8\x89\xdb\x6e\x06\xa1\x63\xe6\x36\x76\x29\x63\x18\x56\x66\x98\x61\x4d\x2c\x16\x0c\x42\xda\x36\x64\x0e\x81\xb9\xdb\xa8\x29\xe4\x71\x38\x71\x03\xcf\x70\x7e\x31\x4e\x38\x3e\xea\x23\x62\x32\x60\xc0\x23\x28\x92\x18\x48\x1f\x95\xb2\x17\x50\xaa\x6a\xe3\xa0\x83\x88\xd5\x6a\x55\x0f\xb9\xaa\xac\xf0\xd5\x0a\xd6\xea\x3b\x3a\x93\xac\x25\x3c\x36\x4f\xb5\xa1\xe9\x2e\x5b\xf1\x15\xff\x16\xae\xdc\xbb\xd9\x85\x74\xad\x80\xc6\x15\xaf\x30\x90\xaf\x45\xbe\x6a\xe7\xf3\x94\x04\xac\x81\x78\x3a\x94\xb0\x1a\xf4\x0e\x44\xac\x06\xf3\xb1\x64\xec\xeb\x2c\xb4\xd9\x6a\x58\x91\x21\x5b\x81\xb7\x03\xcb\xd5\xb8\x55\xc7\x86\xef\x88\x26\x57\x75\x58\x28\x27\xa5\xa0\x47\x97\xa7\xbc\xd5\xfe\x4b\xab\x8c\xfd\x65\x2a\x78\x17\x63\xc8\x53\x03\xc0\xb0\xb2\x94\x0e\x20\xa6\x1c\xf5\xad\x31\x06\xcf\xa5\x83\x08\x07\x28\x4b\x11\xa2\x89\x28\x47\x41\xc8\x11\x64\x28\x08\xef\x49\xc8\xcf\x30\x06\xaa\x69\x49\x57\x09\x4a\x31\x4d\x27\x81\x4d\xd3\x64\x39\x9f\x17\x09\x6b\xc4\xe1\x6c\xb7\xcb\x74\x71\xd7\x40\x7e\x9d\xff\x05\x83\x35\x7d\x61\xf1\x5a\xf8\xd9\xd9\x26\x50\xdd\xc8\x71\xa2\x71\x4c\x42\xd0\x51\x92\xc7\x31\x8b\x83\xf4\x2c\xee\xca\x3a\xa6\x8c\x89\xbb\xa8\xc8\x9d\x9b\x57\x65\x25\x63\x7a\x32\x93\xfd\x26\xe0\x5f\x59\x5e\x34\xff\xac\x25\x98\x03\x46\x57\x5b\xa2\xf8\x00\x18\x10\x80\x6c\xa6\xce\xfc\x00\x4d\xca\x51\x43\x8a\xd8\xbc\x3b\x19\xb3\x96\xe7\x72\xb2\xa1\xec\xc4\x67\xd7\xb1\x42\x8a\xd9\x12\x56\x04\x61\xab\xc9\x12\x17\x91\x2b\x2f\x62\x6e\xf4\x79\x33\x9f\xad\xb3\x59\x7e\xe7\x8a\xc1\x78\xc5\x1f\x1f\xd2\xd5\xf7\x45\xce\xe6\xa7\xf9\xf2\x3e\x5d\x93\xf2\x91\x43\x34\xe3\x64\xb0\x92\x88\xf2\xae\x04\xe9\xc4\x01\x50\xbe\xe7\x22\xfb\xd0\x45\x3b\x68\xd8\xf9\x79\x9d\xad\xea\x64\xdf\x8a\x48\xac\x92\x49\x4c\x4b\xfd\xa1\x20\xa0\x48\x1c\x5e\xbd\x7c\x5d\xf1\x79\x90\xc1\x04\xe4\xf6\x20\x1c\x4a\x06\x6b\x7b\x9d\xaf\xf7\x8c\xec\xb8\x3c\x57\x2d\x95\xb5\x3a\x35\x35\x7f\x13\x99\x10\x66\xff\x84\x72\xbd\xfd\x2f\xc7\xa7\x3f\x1f\x9c\x1c\x1f\x0d\xb7\x92\xb7\xa3\x8b\xb7\x07\xc7\x47\xc3\x9e\xe7\x91\xb7\x1f\x19\x27\x5d\x93\x87\x43\xc9\x37\x41\x4c\x3e\xe6\x3b\x7e\x50\xb0\xd7\xba\xae\xa6\xbe\x4f\x9b\x41\x11\xb9\xde\xa3\xe0\x71\xbd\x17\x1e\x8d\x95\xe1\x4c\xe0\x3e\x96\x39\x2e\x8e\x36\xbf\x7d\x2b\x2a\xa2\x8b\x91\xdc\x4a\xdc\x05\x15\x03\x4e\x2e\x18\x92\xe9\x0a\x2b\xbc\x8f\x19\x57\xc1\x54\xf1\xae\x9c\x41\x5d\x44\x54\x60\x80\xbe\xee\x20\xf7\xc3\xaf\x55\xf0\x38\xc5\xb4\xe8\x09\xeb\xe0\x83\xd6\xd6\xa2\x9f\x5f\x5c\xc5\x80\x84\x6f\x37\x92\xc1\x64\x65\x74\x9f\x14\x3c\x43\x25\x7f\x13\xae\x81\x6d\x87\xea\x3b\x50\x1a\x63\x01\x2e\x80\x0d\x10\x9e\x03\xee\x6a\xa5\x5d\x3c\xcc\x02\x07\x13\x0d\x2b\x32\xec\x32\xe0\xed\xce\x82\x89\xc9\xbf\xe6\x1f\xaf\xb2\xfb\xc5\x34\x5d\xb7\x8b\xfe\xd8\xfe\x06\xaf\x2b\x56\x72\x06\x8b\x4d\x1a\xb6\x25\x9a\x8d\xa7\xc3\x42\xd5\x7e\x0a\x7a\x74\xab\x8e\xb7\xda\xa3\x39\x34\xbb\x0e\x51\xaa\xe6\x23\x88\x1c\xab\xc0\x92\x50\x5c\xb9\x92\x6f\x80\xbf\x85\x0a\x32\x9e\x18\xa6\xa9\x01\x60\x58\x9b\x94\x0e\xa0\x03\x07\x24\xad\xee\x51\x06\xa6\xb2\x38\x05\x5e\x1f\x82\x07\xd5\x3a\xba\x52\xc1\x63\xc7\x69\x11\x12\x8d\xa8\x9a\x83\x90\x23\x68\xe6\x20\xbc\x68\x8a\x39\x76\xf8\x02\x3d\x06\x3c\xff\x9c\x33\x82\x8d\x94\xb1\x63\x37\xa2\x45\x3e\x79\x44\x5b\xc7\x4f\x1e\xde\x15\xa1\x14\xac\xb9\xcb\xfe\xe7\x0f\xc3\x84\x49\x80\xbe\xd7\x95\x46\xac\xb5\x3e\xe9\xbb\xb7\x3e\x31\xad\x1f\x52\xbf\xe5\xc7\xfa\xa1\xd7\x6d\xb1\xfe\x7f\xcd\x3f\x1e\x53\xbb\xa2\xa4\xd3\xe9\x8f\xf9\xe3\x65\x6b\x92\xfc\x68\x0a\x47\x25\xd4\x5a\x3c\xe9\x6f\x6e\x7e\x57\x12\xc9\x70\x9e\x2b\xbf\x6f\xd3\xc5\xdb\x74\x21\xaa\xbe\xe5\x2f\x1b\x9b\x9b\xdf\xcd\xc5\x8f\x25\x31\xd9\xa2\x09\x58\xfd\xd2\xe6\xf0\xdd\x7b\x7a\xe7\x96\x9d\x40\xfd\x4d\x4c\x9b\xde\x8d\xfe\x4c\xcc\x09\x20\x21\xe8\xa8\x41\x3f\x6e\x4e\x80\xa9\xff\x49\x41\xa0\x94\x50\x7d\x3a\x1e\x1f\xd4\xf4\x6c\x88\xd5\x67\x0a\x75\x6a\x1a\xef\x86\x52\xcf\xfb\xe2\x6d\x6a\x98\xe5\x96\xff\x63\x22\x1f\xb3\xc0\x24\x5a\x94\xe0\x67\x2a\xa8\x8c\x3b\x01\x9c\x48\xf2\xfc\x79\x42\x36\x3e\xca\x26\x56\x9b\x96\x21\xca\x58\x47\x99\x30\x1a\x7c\x27\x59\x04\x26\x88\x11\x75\x78\xe7\x2c\x82\x7f\x0a\x1a\x35\xa1\x2d\x4a\xfd\xf4\x81\xc8\xba\xc1\x16\x24\x62\x5e\xc0\x86\x76\x0f\x9e\x6d\xe5\xda\xfb\x3c\xff\xf1\xa4\x58\x61\x63\x33\x5f\x63\xae\x7e\xc9\xc6\xb6\x40\xf7\xe5\x47\x09\x07\x28\xa0\x89\x3c\xc4\xa7\x7c\x5a\x57\x14\x7b\x87\x18\x64\x4e\x33\x4c\x99\xf5\xb9\xc4\x09\x81\x61\xb7\x42\x85\x1d\xb4\x79\x09\xfa\xe1\x12\x89\x51\xbb\x3f\xf8\x28\x73\xd2\xa7\x5b\xa0\x07\x99\x43\x02\x03\x17\x05\x09\xab\xc9\x03\x67\x1a\x09\x8c\x42\xa1\xbc\x63\xfb\x5f\xab\xef\x32\x2b\xf0\xf9\x72\x91\x33\x30\x5b\x28\x6e\x63\xed\x2c\x64\x01\xe4\xb5\x31\x06\x1c\xb5\x8e\x8a\x82\xa4\xa7\xb6\x54\x44\xf7\xc6\xaf\xab\xcf\x0e\x1c\xf8\x44\x2f\x84\x57\x77\x1f\xbf\x61\xcb\x39\x61\xd5\xc8\xad\x02\xb9\xfe\x8d\x6b\x32\x6c\x23\xf0\x7d\xab\xfb\xbf\x6c\x45\xda\x7a\xff\xab\xd6\xa6\xb8\xf3\xbf\x7c\x30\xbc\xb3\xde\xf8\x19\xd1\xcc\x0d\x13\x34\x54\x93\xa2\xa1\x48\x37\x38\xb8\xeb\x3d\x52\x41\x51\x79\xe2\x4c\x67\x7d\x45\x26\x04\x5f\x7d\x45\x79\xce\xd5\x44\xc8\x9d\x8c\xa1\x52\x1b\x41\x86\xd5\xa9\x39\x20\x28\x35\x45\xc2\xfd\x66\x7b\xc4\xab\xb3\x74\xf0\x54\x23\x67\x13\xbd\x5d\x35\xe8\x49\x45\x09\x87\xdc\xba\x9a\xed\xaa\x46\x40\x07\xef\x47\x8d\xc0\xf3\xe8\x4d\xcd\xd9\x61\x9b\xab\xb2\xe7\xee\xaa\x34\x43\x08\x2b\x91\xf9\xee\x4a\x78\x01\x73\x8e\x74\x1d\x90\xc7\xbb\x23\x9f\x8b\x4f\x42\x2d\x92\xb5\x40\x7d\x4e\x94\x01\x52\xa8\xcd\x9f\xd7\x95\xac\x26\x3a\x07\x89\x48\x3a\x4b\xeb\xbf\x56\x2f\x8d\x74\x3c\x6e\xbe\x3d\x98\xa8\xee\xc4\xfd\x65\x86\x19\x55\x58\xf3\x5d\x60\xff\x54\x43\xd7\xf4\x86\xba\xd1\x3a\x6b\x60\x87\xa5\x62\x1b\xa1\x2d\x26\x2d\xe2\x8c\x53\x95\x0d\x51\x76\x9b\x4c\x9e\x58\x37\x39\x54\x9a\x7f\xf6\xec\x9a\xd9\xa3\x4c\x6a\x70\x61\x68\x96\x90\x39\xe6\x7b\x91\x09\xb7\xf0\xbd\x84\x90\xe9\x17\x0f\xb3\x18\x76\xb6\xb8\xac\xa3\x5c\x37\x2d\xf1\x55\x75\xee\xb0\x7d\x4c\x27\x72\x5c\x00\xc8\xe2\xe0\x20\xa2\x6e\xb2\x9c\xb8\xe4\xdf\xdd\x3c\x9c\xaf\x6b\x6c\xb1\x2e\x42\x8d\x27\xd8\x09\x50\x9e\x72\x73\x0f\xfc\x98\x1e\x3b\x73\x8c\x42\x48\x11\xd3\xc7\x70\xf0\x11\x72\xc8\x70\xa0\xd1\x12\xc9\x74\xd0\x91\xed\x73\x09\x48\x70\x61\xee\x67\xa5\x1b\xd7\x80\x0d\xf5\xfc\x15\xb2\xad\x5e\x3f\x4c\x31\xd7\xc5\x79\x4f\x11\x2c\x76\xe9\x53\x3b\x14\xf6\x0e\x76\x3b\x8c\xaa\x8f\xb8\x7f\xca\xd6\xfb\xc5\xc3\x8c\x6f\xc0\x23\xc3\x9a\x14\x1b\x3e\xdf\x84\x90\x12\xbf\x73\x4b\x5e\x02\x1b\x5b\xe6\x07\xb0\xe7\xdb\xfb\x1f\xca\xa4\x07\x06\x0f\x39\x7d\x9d\x51\x0f\xa8\xd1\x8e\x68\xdb\x5f\x3c\xcc\x1c\xe5\x94\x51\x2f\xd0\x31\x8e\x69\xe4\x5b\xf0\x51\x6e\x5a\x17\xa6\x7e\xbe\x8d\x6e\x3c\xd0\xa2\xdf\x00\x47\xaf\xea\x39\x0d\x71\x7b\x99\xfd\xaf\xa5\x05\x23\x34\xe9\x6c\x17\x75\x6c\x79\xa2\x2f\x10\xb8\xcf\x18\x50\x5d\xc7\x9a\xdb\x18\xba\x23\x58\xfb\xe1\x9d\xf4\x48\x69\xc0\xb1\x3a\x67\x00\x48\xba\xf5\x46\x21\x2d\xf8\x97\x2d\xa4\x8b\x9c\x27\x8b\x71\x83\xd8\x7d\x58\x5a\x98\xf1\x7a\xb0\xa0\x30\x9e\x4c\xc9\x1b\x63\x06\xa1\xc7\x99\x3e\xb6\x03\x02\xa7\xb9\x8e\x1a\x4b\x98\x80\x47\x6e\x2d\x61\x02\xd9\x49\x73\x09\x0b\x21\x44\x1d\x1c\x48\x38\xe8\x00\x23\x04\x43\x29\x42\xe1\xbb\xad\x0a\xab\x7a\xa8\x42\xcc\x71\x20\x17\x0f\x33\x4d\x1d\xba\x78\x98\xd1\x3a\xaf\x2a\xa3\xb3\xc3\xf7\x2e\x17\x3e\xa8\x33\x1d\xc7\xa1\xf5\x29\x84\xa6\xbb\x96\xf3\x57\xf4\x86\xc8\xf6\x4b\x98\x66\xe6\xc6\xdb\xda\x85\xa6\x12\xbd\x39\x28\x0e\x84\x11\xfb\xa8\x6f\xbd\x4b\x6f\x50\x47\xb7\x07\x7a\x4a\x32\x7a\x11\x3a\x5a\xa1\x7e\x0e\x02\x21\x99\x51\x8c\xa5\x81\xa0\xfe\x01\x9a\x6b\xc0\x41\x11\x81\xda\x5c\x99\xe1\xc6\x6b\x7c\x7e\x38\x9f\x7d\x9a\xdc\x5e\x7e\x9e\xdd\x34\x18\x84\x71\x4d\xd8\x17\x66\xc8\x64\x7c\x91\xaf\xa7\x02\xc0\xfe\x2d\xd1\x24\xb2\x15\x24\xca\x81\x19\xc8\xd2\xe5\xb2\xd3\xa2\x7f\x57\x05\xb8\x5e\xdb\x18\x92\xd9\x0e\x37\xac\x70\x66\xc3\x79\xba\x45\x02\x94\xa3\x7a\xdc\x4a\x01\x1a\x31\xc5\x2b\x17\xa0\xc0\x0f\x5e\x33\x40\x01\xea\x59\x38\x10\x52\x26\x87\xb1\x92\x81\x95\x3d\xa5\x32\xd1\x5a\x5e\x7d\x9e\xdd\x64\x6d\x96\xa8\xd8\x51\xe4\x52\xfb\x27\xb7\xd6\x22\x52\x5b\x91\x58\x82\x3b\xb6\x2d\x6d\x87\xe9\xc4\xa2\xfd\x6d\x6a\xb7\x55\xa3\x08\xef\xcc\x46\x2d\x9a\xb4\x7e\xb2\xad\x3e\x82\xb5\xf9\xd8\xfc\x73\x33\xa4\x0a\xd1\x89\x75\x0f\x00\x8e\xaf\x44\xf8\xf7\xef\x30\x50\x1e\xb9\xb9\x46\xef\x11\x9a\x6b\x84\xd2\x59\x8c\x95\xf2\xda\x5e\x30\xdb\x09\x80\xc1\x7f\x99\xd0\x3d\xb1\x2d\x14\x08\x08\x5f\xad\xb5\x80\x89\xc5\x50\x7b\x0c\x5c\xcd\xff\x9d\xcd\xae\x96\xe9\x6c\xb5\x98\x2f\xd7\x2f\xe6\xb3\x6c\xfe\xa9\xe0\x70\xab\x0f\xfb\xef\xde\xf5\xfa\xef\xdf\x93\xdf\x1d\xfd\xb1\xce\x96\xb3\x74\x7a\xb8\xcc\xc6\xab\xc3\x74\x95\xed\x7f\x19\xfd\xdf\xab\xd1\xc5\xe9\xc1\xc9\x87\xc3\x8b\xd1\xd1\xe5\x87\xd3\xb3\xab\x0f\x97\xa3\xab\xe1\x56\x72\x76\x70\x7d\xf5\xa6\xfc\x75\xd8\xeb\xd3\xf1\x93\x0e\x55\x07\x08\xe9\xa4\x37\xf3\xfb\xc5\xc3\x3a\x3b\xcb\xbf\x30\x7f\x18\x51\x4a\x81\x8d\x79\xb7\xe5\x93\x5f\x61\xfd\x22\x27\x45\x49\x59\x8d\xa1\x1c\x59\xde\xb4\xa5\x52\x7c\x9c\x8f\x3f\x97\x83\x63\xbe\x9f\x8f\x3f\x37\x53\x63\x56\x93\xdb\x59\xba\x7e\x58\x66\xe5\xbf\x5d\xd6\x7f\x36\x0f\xfc\x3b\xfb\x4c\x68\xff\xb6\x5d\xb4\x7f\xbb\xcf\xd6\xe9\x38\x5d\xa7\xa2\xb6\xf5\xb6\xfd\x4d\x53\xb3\x2a\xe5\x79\xf8\xee\x7d\x32\x4f\x1f\xd6\x77\x05\x21\x34\x6f\x9e\x35\x3f\xc1\xce\x14\x65\x23\xce\x0e\xaa\xd7\xb2\xd9\x7a\x92\x4e\x57\xe1\x87\xbc\x29\x00\xa3\xe9\x66\x32\x1c\x54\xdc\x61\x68\xd1\x75\x30\xfa\x4a\xf1\x9b\xb7\x49\xe3\x6c\x72\xd2\xb5\xe6\x50\x54\x4f\x56\x29\x14\x35\x21\x1b\x3a\xb7\x99\x86\xb2\xfd\x94\x93\xb9\xf2\xec\x4e\xdd\xe5\x4d\xa2\xe1\x47\xed\xf3\x56\x3d\x93\x9b\x84\xb9\xfa\xf6\xfc\xb9\xda\x7a\xad\x87\x36\x67\x46\xae\x0b\xbd\x71\x33\x76\xef\x70\xef\x94\x70\xc3\xfd\x33\x5d\xac\x7c\x39\x86\x6a\xa9\x00\x0b\xab\x4e\xd2\x16\xa7\xa8\x90\x15\xab\xc7\x27\x0a\x35\x3a\xa7\xc0\xff\xc1\xb7\xa4\xee\x6f\xe5\xe5\x01\x3a\xcd\x6d\x8b\x4f\x8b\xb7\x89\xac\xd0\xee\x84\x51\x68\xcb\x87\xd4\xde\xd3\x8a\xa4\x51\x7d\x76\x60\xef\x69\xec\x16\x84\x9f\x6d\x87\x41\x0c\xab\x91\x40\xe2\x94\xa9\xa2\x58\x97\x32\x17\x88\x3c\x2c\xa7\xc4\xb6\xb3\x37\xd3\x49\x36\x5b\x13\xd4\x94\xbe\xf0\xf8\x65\x76\xb3\xcc\xf0\x79\x79\x85\x66\x13\xa2\x76\x84\xcd\x2e\xe3\xa8\x11\x1a\x60\x2e\xaf\xe3\xf0\x79\xa6\xa2\xc1\x59\xba\xeb\xb6\xb1\xd7\xcb\x29\x71\xbe\xeb\x61\x45\x8d\x44\xcd\xe3\x50\xa0\xc6\xf0\x62\x10\xe0\x0e\x1d\xc8\x45\x2a\x37\x0c\x23\x28\xa9\xd0\x28\x92\x33\x3f\x6e\x6a\xeb\xd4\xe6\xc0\xb1\x29\xaa\xf2\x0b\xd5\x91\x23\x62\x33\xc8\x51\x97\x1f\x14\xa7\xe7\x28\x87\xe0\x64\x2c\x82\x76\x1f\x65\x6d\x46\x7d\x62\xae\x59\x91\x01\x77\x44\x47\x25\xe8\x00\x2e\x87\x6d\x29\xe9\xd2\x6d\x6b\xb6\xc3\x6f\x8d\x8a\x0e\x6f\x7b\x90\xf9\x5b\x90\x7b\x2a\x57\x9e\x3b\xb9\x32\x1a\x54\xb7\xd9\x94\x85\x71\x0c\x4e\x84\x24\xc0\x65\x8f\xa2\xf4\x80\xba\x52\xf7\x38\xe4\xe4\x49\xe8\x5b\x1b\x2b\xa7\x93\xfb\x6f\x06\xed\x76\xc6\xad\x5b\xc3\xf9\xa0\x65\x13\x8f\x79\xda\xbe\xf0\x57\xc6\xcd\x67\x9d\x3b\x8f\xe1\x49\x9f\x5e\xd8\xa9\x9d\x30\x36\xe9\x8b\x15\xb0\x9d\x31\x30\xc1\xd0\x66\x46\x4b\x76\x92\xac\x30\x91\x9d\x20\x17\x91\x0b\x23\x6c\x2d\xf2\x21\x39\xd6\x1c\x43\x1e\xd2\x27\xb7\x96\x7c\xc0\xfc\x16\xcc\x63\xd6\x03\x1b\x93\x43\x94\x61\x42\xd7\x42\x1e\x45\xdc\xc3\x90\xf1\xd2\x77\x0d\x81\x38\xd2\x55\x71\x48\xe0\x36\xd7\x29\x32\x82\x57\x05\xcf\x92\xb1\xc2\xbb\x4b\x57\x20\x34\x24\x3b\x06\x3f\x1a\x35\x66\xb6\x97\xf4\x7a\xc9\xab\xa4\xb7\x85\x86\xce\x5e\xfc\x34\x99\x8d\xcb\x40\xd9\x4f\xc7\xa7\x47\x42\x78\xec\xe4\xec\xf5\xf1\xe9\x70\x2f\xb9\xb8\x3e\x3d\x1d\x5d\x0c\x7b\xbd\xe4\xf8\xf4\xe7\xe3\xab\xd1\xf0\x55\x72\x75\x71\xfc\xfa\x75\xfe\xdb\x16\x8a\x98\xcc\xbb\x6a\x58\xa1\x63\x64\xa1\x43\x63\x41\xfc\x4f\x6c\x2f\x13\x1a\xff\x4a\x6f\x6e\xb2\xd5\x6a\xbe\x3c\x1e\x97\x91\xae\x83\xe6\xef\x26\xd4\xf5\x5b\x3a\x9d\x8c\xaf\x67\xeb\xc9\xb4\x89\x41\xfd\xdc\xfc\x54\x78\x06\x57\x2f\xae\x26\xf7\xd9\x6a\x9d\xde\x2f\x94\xba\xe2\xc9\x6a\xf5\x90\x8d\xf3\x7f\x6d\xde\x3d\x6e\x7e\x42\xde\x9d\xce\x6f\x27\x6d\x4d\xcf\x49\xfe\x17\x21\xe2\xf5\xa2\x78\x50\x59\x6a\xf9\x30\x9b\x65\xcb\x66\xad\x8b\xe2\x4f\xca\x62\xe5\x93\xea\x47\xcd\x7e\x9b\x08\x53\x48\x8f\x8b\x3f\x29\xab\x95\x4f\x2a\xab\xad\x97\x93\xdb\x5b\x01\xb9\xab\xf2\x6f\xca\x7a\xd5\xa3\xca\x82\x0f\xb3\x87\x55\x36\xbe\x5e\x65\x4b\xa2\x9f\xb0\x7c\xa1\xd8\x37\xf9\x8d\xef\xe7\xf3\x69\x96\xce\x8c\x43\xa0\x9e\xf5\xea\x17\xcb\xaf\xa2\xbe\x39\x10\xde\x1c\xcd\xd6\xcb\xf2\x83\x9a\xaf\xbf\x56\xfe\x81\xb2\x0d\xed\xd3\x91\x82\x9a\x91\x9d\x90\x34\xf7\x91\xb7\x43\xb1\x6b\xb7\x61\xdf\x1e\xb0\x6c\xb9\x8c\xc1\x1b\x98\x6f\x98\xc0\x15\xb4\xc8\x9b\xc8\x31\xf0\x60\x9a\xc0\xaa\x64\x50\x2f\x83\x83\x12\x38\x9b\x0c\x6a\x8f\x14\x7c\x2c\x39\x17\x33\xd0\x58\xb1\x3b\x1c\xb9\x92\x7f\xca\x78\xf5\x7a\x34\xc4\x4a\x2e\xc8\xc5\xac\xe2\x9d\x38\x6a\x15\x3b\x96\x71\x7b\x45\x43\xad\x64\x3e\x5c\xd4\x2a\x46\x4c\x38\xd2\x92\xb7\x2b\xdb\xb6\x45\xc3\xad\x62\xcf\x5c\xe4\x6a\xae\x8e\x63\x57\x8b\x0a\x05\x3d\x8b\x47\xfd\xba\x91\x0b\x86\x80\x7e\x75\x49\xe7\xf3\xa9\xfc\xb8\x89\x6c\x06\xc0\xf3\xc6\x0d\xdb\xa5\xed\x57\xcb\xc7\xb9\x5b\x26\x48\x00\x7c\xd7\x34\x11\x13\x28\xba\xd0\x45\x0c\x21\x46\xa4\xc0\x27\x1e\x20\xa9\x8b\x78\x64\x5c\x8e\x2f\x2b\x5a\xa4\x12\x5f\xde\x4e\x64\xfe\x4b\x1c\x98\xac\xa8\x97\xca\xa2\x2f\xdd\x16\x6d\x95\x4f\x65\xbd\x3d\x34\x06\x5e\x31\x68\x22\x20\x41\x33\x55\xc3\xed\x60\x8d\x8c\xc4\x71\xa9\x3b\xd5\xea\xad\x0a\xac\x57\x38\xa8\x8a\x83\x12\x41\x89\x3a\xad\xfa\x5d\x5b\x38\xb0\x9a\x23\x5a\xa1\x35\xe1\xa9\x96\xc5\x51\xa3\x54\x22\x9b\x13\xd0\x2b\x38\xdb\x8e\xfe\xa0\xbe\x69\xc5\x93\x03\x9d\xba\x8d\x9a\xac\xf2\xf1\xbb\xf8\xb7\x0b\xac\x2d\x52\xce\x44\x45\xa1\x41\xec\x53\xcd\xf8\xa2\x59\xa9\xf2\x6b\x36\x5b\xf5\x61\x95\x2d\xc9\x33\x77\x33\xdd\xb6\x78\x6a\x56\x85\x45\x75\x0b\x6a\x5b\x94\x40\x88\xc2\x05\xd5\x25\x69\x76\x06\xba\x4c\xe7\x49\x0a\x05\xe1\x18\xf2\x14\x9e\x8e\x52\x12\x41\x1d\x51\xaf\x75\x3c\xa5\x04\x14\x71\x5e\xaa\x09\xb8\x32\x29\x61\xa1\x3c\x7a\x4c\x1a\xc8\xac\x1b\x66\xda\x78\xde\x1b\x8d\x69\x33\x8f\xaf\xf9\x98\x88\xc1\x57\x03\xcd\x68\x40\xc3\xa7\x27\x98\x3e\xb5\xdd\xc1\xd0\x11\x0b\xf1\x46\x13\xdc\xe0\x86\x1d\x31\xe1\x46\xae\xc5\xa5\xc4\xe9\x34\xa0\x45\x74\x01\xdc\x92\x3a\xba\x20\x90\x2e\x31\xba\xa0\x01\xbb\x4b\x57\x20\x28\x38\xb4\xd0\xf7\x56\x47\x2a\x2d\x36\x88\x3e\xa2\xfb\x6f\x69\x0a\x89\xf2\x9e\x39\x13\x73\x42\xd5\x45\xa6\xe9\xc7\x6c\xfa\x26\x5d\xdd\xf1\xdb\x6b\xfa\x64\x55\x5a\x3d\x30\x61\x35\x8c\x12\x0a\x51\x54\xe0\x4e\x21\x9a\x8e\x81\xaf\xd3\xb5\x92\x01\x4c\xcf\x97\xdb\x58\x9e\xd4\xd4\x10\x4c\xd2\x6b\x37\x26\x9e\xa8\x87\x4d\x4c\x2f\x59\x0f\x2f\x4d\x11\xf6\x04\x41\x2f\xb6\x9a\x6c\x0f\x82\xdd\x6b\xd2\xb2\xef\x05\x0e\x31\xe5\xb3\xe1\xa4\x3d\x92\xe4\x48\xc2\xd9\xf4\x91\xcd\xce\x45\xe9\x9f\x68\xff\x54\x03\xdc\xce\xfa\x26\x4a\x7e\x8f\x20\xc2\x49\x0f\x07\xd2\x84\x93\xf2\x9e\xcd\x5c\xfe\xb4\x9c\xdf\x5f\x73\x4c\xe6\x80\x01\xd7\xd5\xe4\x76\xf6\x20\xf4\x96\x28\xfe\x64\x84\x48\xcb\x17\x62\x19\xde\x36\xf7\x7f\x58\xb9\x58\x42\x21\xf2\x55\x3c\x22\x41\x93\x8b\xf8\x3a\x5d\xcb\xc5\x1f\x1a\x32\x74\x33\xc0\x3b\x8f\x8a\x6d\x73\x22\x4f\x15\xa5\x3a\x06\xa0\x2a\x32\xc7\xf1\xac\x2e\x50\x28\x85\x41\xe3\x62\xf1\x14\x06\xd8\x51\xec\xa5\x30\xc0\x4b\x53\x14\x06\x81\x36\x79\x1e\x02\x6b\x40\x80\xe0\x1c\x60\x05\x04\x04\xce\x69\x88\x8f\xb0\xa8\x2c\x96\xfb\x58\x86\x12\x52\x32\xea\x52\x80\x25\x20\x95\xd7\x2d\x46\xdc\x6c\xb2\x9e\xa4\xd3\x9c\x0a\x66\xe9\x3d\x3e\x00\xa1\x17\xb4\xf0\x0d\x63\x04\x31\x24\x52\x05\x8c\x77\x7f\x71\x4e\xc5\x92\x4f\xf8\x72\x51\x5a\x17\x19\xed\x36\x99\x00\xdc\x7b\x02\xc2\xb7\x21\x3a\x87\x85\x6f\x79\x08\x46\x0b\x43\x00\x07\x15\xa9\x9b\x8c\x70\x5b\xe7\x5d\xd6\x41\xc5\xb4\xc6\xec\x67\x6d\xc7\x22\x82\x85\xa6\x49\x73\x49\xb2\x75\xb0\x01\xd2\x97\x9b\x20\x77\xf4\xd1\x85\x64\x0d\xee\x2f\x2e\x15\x50\x82\xab\xd8\xb4\x1b\x0a\x4a\x61\xdd\xc4\x1a\xc0\xc2\x4f\x6c\xdb\x85\xda\x45\x5c\xea\x2e\x54\xef\xb0\x06\xe3\x2e\x5d\xd9\x20\xe0\x9e\x61\x87\x43\x2d\x6f\x57\xf0\x53\x95\xd5\xf7\x6d\xb7\xd3\x55\x71\x23\x1f\x2f\xa5\x7c\xc5\x72\xbc\xd6\xfd\xa8\xcf\xb7\x52\x19\x7d\x0e\xd8\x0a\x03\x3e\xe1\x6d\x6f\x5d\x52\x08\x9c\x05\x51\x24\xcd\x41\x7c\x9a\x16\x69\x78\xd7\xac\x42\x8e\xb3\xc5\x74\xfe\xf9\x9e\xd6\x6b\x21\xb0\xfe\x08\x05\x99\xc3\x2a\x8f\x2d\x24\xa2\x5e\x42\x8b\x7f\xd3\xd4\x46\xda\x5a\x9d\xe9\x8c\x47\xc2\x89\xfb\x2a\x8c\x46\x92\x8f\xa7\x2d\xe2\xa1\x69\x2f\x55\x11\x5f\x1e\xd4\x13\xa5\x8d\xf5\x55\x12\x8d\x3b\xab\x00\x89\xa9\x1d\x59\x4e\xd6\x02\xdf\x45\x47\xf2\x63\xb6\x75\x5a\x5d\x10\x4e\x6b\xa8\x45\xa1\xb1\x59\xf5\x45\x33\x8f\xe5\x3a\xb3\xc3\x71\x58\x6b\x3a\x76\x58\xf6\x5a\x81\x21\xde\x62\x42\x8e\x38\x8d\xb1\x12\x16\xea\x8c\xab\x4a\x9e\x62\x2f\x9e\xaa\x53\x76\x3c\x86\x8a\x24\xa7\x7a\x71\x53\x64\x6d\x90\x95\xd2\x7d\x9b\x0e\xdb\xd9\x99\x85\x69\x3a\xc9\xae\x4c\x4c\xe9\x73\xdb\x4c\xf7\x88\xdd\x11\x6c\x20\xdd\xba\x22\x08\x55\x56\x78\x5b\x02\x00\x34\xbb\x1d\x82\x2b\xe0\x95\x79\x9b\x83\xf7\x41\x90\xbf\xb5\x2d\x43\xe0\x1b\x99\x62\xf1\x18\xc1\x86\x94\x3e\xd5\x04\x37\xac\x01\xa9\x58\x8e\xe0\x87\xd6\xd6\xa3\x50\x94\x41\xb5\x20\x25\xd3\x11\x04\x82\x9b\x8f\x9c\x83\x6b\x4b\x3d\xfc\x0e\xee\x25\xf3\xe0\x4c\x70\xc9\x07\xf7\xd2\xe1\xe0\xc0\x0f\xad\x0f\x4e\x28\x7c\x71\x3a\x38\x10\x08\x7c\x70\xac\x0d\x8c\xec\xa7\xdb\x63\x1e\x26\xcd\x41\x67\x69\x33\xb1\xc7\x6c\x22\xe0\x70\xf6\x61\xbd\x79\x01\xdc\x78\xac\x0d\x6e\x4a\x9a\x82\x9f\x76\x55\x93\xda\x03\x27\xeb\x18\xce\x5b\x45\x87\xd9\x57\xa4\x17\xff\xc4\xad\x1b\x56\x1f\x79\x55\x24\xe6\x74\xe6\xd6\xc5\x91\x86\x21\xac\x6d\x6e\x8a\xcb\x22\x79\x6d\x93\x57\x5c\x8e\xad\x60\xc3\x3b\xf4\x57\xf1\xcf\xdc\xba\x5d\x0d\x77\x2f\xeb\xce\xdc\x38\xbb\x6d\x71\xf8\xcc\x59\x9b\xdc\x16\xf9\x05\x3f\xf3\xba\x8c\xba\xc7\xfa\xee\x95\x01\x21\xe6\x5d\xdf\x8a\x7f\xee\xf6\x3d\xab\x0f\xbe\x2e\x9d\x74\x3a\x79\xfb\xf2\xc8\x75\x67\x01\x92\x0a\x2f\x63\x1a\x83\xd2\xe9\x9a\x40\xc6\x36\x02\x85\x62\x51\xec\x3b\xad\x1d\x50\xca\x46\x62\xcf\xb8\x72\xcb\x08\x1a\xb6\x8c\x04\x0c\x9a\xfe\x65\x4e\x1f\x4c\x63\xe6\xe0\x17\x0f\x5c\xbf\x98\xc8\xba\x6d\x9f\x3c\x70\xfc\xe4\x6e\xea\x8f\x76\x9d\xb6\xc4\xab\xfe\x68\xd7\x81\x4b\x11\xb6\xa4\x66\x57\x5a\xd5\xb3\x13\xdf\x22\x00\x84\x19\xd8\xae\x87\x73\xfc\xcd\xdb\x83\xc3\x9f\xb2\xcf\xbe\x6e\xf1\x7a\x19\x86\x43\x5c\x7d\xc5\xb3\xec\xe8\xdf\x59\x35\xda\xe6\xa7\xac\x99\x6c\x13\xc2\x2f\x5e\xa3\x19\xcd\x23\x5e\x01\x40\x1d\xb0\x56\x44\xe8\x5e\x70\xc2\x12\x4f\xa8\x90\x48\x9a\xe5\xf2\x53\xf6\x39\x40\x42\xb0\x4e\xed\x31\x5c\xe5\x35\x94\xb0\x4e\x72\x64\xd5\x40\x25\x43\xc2\x38\x0f\x4a\x93\x13\xd6\x5e\x47\x2c\x18\x32\x1d\x6c\xbc\x5a\x21\xe3\xa7\xfd\x94\x39\x76\x8a\xc6\x9c\xe5\x36\x68\x6e\x7e\xf2\xfc\x22\x81\x7e\x6a\x00\x1c\xdb\x37\xee\x00\x6c\xa5\xec\xa4\x83\x3f\xdc\x55\x16\x1e\x65\x37\xf3\x71\x56\x48\xe8\x40\x73\xe9\x0d\x2b\x32\x24\x24\xf0\xb6\x59\x58\xae\xf3\x47\xbb\x0b\x19\x1b\xf0\x8b\x26\x25\x75\x58\x28\x1b\xa6\xa0\x47\x97\x9d\xbc\xd5\x3a\x0b\x23\x17\x08\xb9\x47\x90\x41\x92\x8f\x21\x1b\x0d\x00\xc3\x8a\x49\x3a\x00\x30\xa0\x5c\xee\xab\x7b\x2c\x19\xdc\xd8\x7a\xfd\x38\xb2\x10\x39\x53\x15\x74\x97\xa9\x38\x12\x6a\x61\xa6\x8c\x9b\x96\x74\xe5\xb1\xc4\xb9\xe2\x25\x9b\x6d\x5a\xd8\x56\x94\x82\x56\x7b\xaa\x9d\x70\xab\x3e\xd7\x42\x2f\xdc\xea\x17\xd6\xa8\x4b\x7b\xd5\xa8\xe3\x04\x72\xd3\x8e\x74\xc3\xd6\x89\x33\xc7\x49\x08\x3a\x32\xf6\x38\x53\xc6\xa9\x06\x12\xa1\x7b\x2e\xb3\xf4\x92\xd0\x56\xb3\x12\x20\xfc\x62\xd5\x86\x06\x9d\xc7\x45\x52\x9a\x7e\xd6\x77\xc2\xdf\xf8\x83\x99\x4f\x74\x61\x17\x65\xea\x38\x03\x02\x60\x20\x7e\xa3\x34\x30\x6c\x38\x9a\xda\xbe\x10\xaf\xc2\x24\xf7\x48\x14\x79\x1d\xbb\xac\x14\x1d\x8c\xc9\xdd\x33\xbe\x6c\xe6\x7a\x42\x13\xd0\x23\x8c\xd1\x26\x51\x68\x1b\xe2\x3a\xb0\x25\x0b\xc3\x2d\xa3\x36\x96\xdd\x68\x62\x36\x05\xb5\xe0\x9e\x4f\x18\xd4\x5d\xba\xb2\x01\x42\xa2\x37\x7e\x47\x5d\x13\x52\xe8\xe3\x6e\x99\x23\x58\x09\x84\x9f\xbb\x8e\x60\xa8\xb2\x2a\xca\xd9\x03\xdb\xd3\xc6\xec\xea\xab\x1c\x82\x06\x00\x80\xf1\x5a\x71\x15\x81\xa6\x90\x76\xbf\xbe\x20\x43\x25\xb5\xbf\x6c\x6b\x7e\x32\x7e\x58\xa6\xf9\xcf\xd4\x11\x08\x2b\x61\x02\x43\xd5\x3f\x16\x50\x38\x2f\xb2\x4f\x2f\xf2\xa7\x2c\xa3\x1c\x88\xa3\x10\xb6\x8b\x98\x58\x80\xae\x26\xfa\xf6\x44\xd3\x4e\x35\x50\xa8\xc4\x27\x20\x47\xd7\x4c\x59\x8b\x75\xed\xb8\x3f\xaa\x68\x8e\xab\x3a\xd6\xd4\x44\x57\x1a\x1b\xfa\x23\x74\x3b\xd7\xfb\xbd\x6f\x1b\xfb\xb7\x6b\xcd\xe4\x9d\xb5\x4a\x88\x77\xc4\xd0\x29\x75\x78\x61\x35\x4a\xf2\xfa\x94\x80\x43\x43\x24\xbc\x86\x23\x0d\x4f\xe2\x28\x86\x0d\x99\xa0\x8d\xb3\x0d\x0d\xba\x0b\xda\x40\x46\xad\x42\x27\x2d\x7c\x6b\x1c\xa7\x0e\x4c\x66\x06\xe0\x41\x03\x1e\xc8\xa7\x53\x52\x61\x18\x0a\x54\xc3\x22\x40\xd5\x09\xd9\x11\x52\xae\x0c\x5b\x67\x82\x80\x96\xd9\x03\xe6\xad\x68\x32\x06\x56\xa4\xec\x26\x08\xcc\x5d\xba\xb2\x00\xf1\xa8\x48\x47\x0e\x98\x98\xed\x06\x26\xc5\x6c\x23\x49\x31\xc8\x79\x52\xf3\xdb\x6c\xb9\x31\xdb\x5e\x8e\xcb\xd7\xd9\x2c\x5b\xa6\xeb\xac\xcc\x28\x0d\xa9\x2a\x02\x2b\x33\x74\x46\xc2\x2a\x81\x94\x47\x42\x42\x46\xbf\xed\x03\xbb\x7a\x9b\xb6\x8d\xf1\x4e\xea\x5f\x36\x36\x37\xbf\x9b\x8b\x9f\x57\xdd\x88\xe1\xbb\xf7\x21\x34\x44\x60\x33\xa2\xa9\x8a\x76\x98\xa8\x44\xe7\xa0\x4b\x57\x1e\xdd\x56\x7d\x42\x5a\xa4\x69\xaa\x8f\x71\x84\x56\xa6\xd0\x96\xa6\x59\x6e\xc8\x1f\xb5\x7c\xf1\x36\x35\x74\x63\xca\xff\x31\x91\xcf\x5d\xb8\xdb\x2d\x2e\xa4\x67\x72\x56\x9c\x3c\x7f\x5e\x08\xf5\x4d\x6f\x1d\x93\xc4\x7d\x62\x28\x9b\x00\xe0\xb0\x5a\x27\x1f\x50\x50\xf5\x93\x96\x20\x23\xcd\xef\x6f\x09\xee\xd9\x56\xae\x48\xce\x8b\x1f\x8b\x37\x37\x36\xf3\x77\xe7\x2a\xe6\x1b\xdb\x02\x81\x95\x1f\x21\x1c\x9f\x00\x88\xf4\x90\xe3\x6e\x76\xa8\xb2\x12\xa9\x36\xb6\xee\x4a\xdd\x8c\x58\xb5\xae\xd4\x6d\x88\x36\xfe\x9f\xba\x01\x0d\x45\xc3\x78\x68\x83\xa2\xb7\x09\x83\xa2\x49\x38\x94\x25\x60\x3a\x16\xda\xc8\x68\x81\xd9\x2b\x03\xa3\x5d\xf5\xbb\x32\xf1\x3a\xa4\x5e\x67\x58\x91\xa1\xcf\x01\x6f\x07\xd2\xe3\x9e\x78\xff\xe3\xaf\x67\x68\xaa\xe1\xa8\xa2\x69\x99\x3a\x2c\x54\x84\x53\xd0\xa3\x6b\x95\xbc\xd5\x9e\x88\x36\xb9\xf3\x77\xef\x65\xe7\xde\xcb\x4f\x70\x7a\x54\x84\x91\x96\x20\xfb\x8f\xa1\x58\x1b\x00\x86\x55\xa8\xe9\x00\x22\xfa\x71\xad\x8d\xa3\x77\xbe\xbe\xc6\xd1\x0e\x03\x0f\xa3\xcf\xce\x02\xc9\x36\xba\x7e\x8f\x5c\x9a\xd8\x7a\x3d\xf6\xf1\x31\xfb\x2e\xec\xf8\xec\x8b\x6b\x97\x54\xa4\xa0\x11\x04\x1b\xb4\xbb\x02\x08\xc9\xb9\xd5\x82\xfb\x9e\x3e\x89\xbe\xa9\xd8\xa9\xc7\xea\x9e\x8a\x1f\x7b\xb8\x1e\xaa\xd8\xc1\x7b\x74\x52\x75\x3e\xf9\x2e\x2b\x58\xc1\x10\x0a\x46\x00\x01\xca\x59\x11\x43\x1f\x27\x85\xb8\xb5\xad\x18\x79\x78\x17\xba\xfa\xe4\xf8\x9c\x66\xbf\x07\xcd\x3b\xd7\xd6\x63\x58\xf7\xd6\x77\x9f\x44\x59\x8f\x86\x5d\x34\x73\x56\x85\x84\xaa\xcd\x38\x6a\x74\x53\x96\xb3\xd6\xd7\x52\xce\x03\x10\x79\x0c\x2b\x46\x03\x17\xd6\x86\xa1\x2e\x1f\xb5\x90\x07\xd8\xd2\xb8\x65\x3c\xe0\x59\x3e\x66\x11\xcf\xe1\x7c\xf6\x5b\xb6\x5c\x87\x77\x99\xda\x17\x66\xf0\x56\x7c\x91\x27\xc1\x64\xed\x68\x46\xe3\xb6\x56\x90\xe8\x3d\x67\x20\x4b\xe7\xbf\x4e\x8b\x7e\x2d\x8c\x98\x72\x47\x62\x70\x64\x3b\xdc\xb0\xac\x99\x0d\x27\x2a\x8f\xa6\xec\x76\x5c\x66\x4d\x3b\xef\x10\x5c\xdb\x8e\xc2\x32\x4b\xd7\xd9\xe5\x2c\x5d\xac\xee\xe6\xeb\x46\x6a\x88\x6d\xbb\xf6\xdf\xbd\xeb\x25\xfd\xf7\xef\xd9\x8b\x8c\x7e\xcb\x66\xeb\xc3\x74\x95\xed\x7f\x19\xfd\x3c\x3a\xbd\xfa\x70\x7a\x76\xf5\xe1\x72\x74\x35\xdc\x4a\xce\xce\x47\xa7\xc3\x5e\x72\xf8\xe6\xfa\xf4\xa7\x61\x9f\x8f\x9f\x74\x42\x2d\x1c\xe8\x94\x6e\xe6\xf7\x8b\x87\x75\x56\x74\x32\xcb\x1f\x46\xcc\x38\xc2\xc6\xbc\xdb\x7a\xef\x23\x10\xb1\x2f\x73\x93\x86\xe6\x55\x39\xa2\x10\x5e\xc1\x56\xde\x3a\x5f\x08\xd5\xad\x67\x0b\xac\xb8\xd5\x02\x25\x7f\x51\x09\xe9\xdd\xdc\x3d\xcc\xfe\x5d\x36\xe9\x39\xcc\xff\xd3\xd8\xa6\xc7\xb1\x6a\xd5\x82\x45\x3c\x61\x6a\x84\x87\xf3\x67\x22\x9a\x0c\x31\xca\x5e\xf1\xd1\x2a\x58\x01\x4a\xa1\xd7\xb5\x42\xe4\x86\xc7\x8e\x0a\x72\x26\x35\x1c\x2a\x28\x34\x40\x68\x09\x65\x0e\x51\xd4\x00\x33\xd0\xc0\x3a\x00\x0b\x08\xbd\xfc\xb4\x61\x39\x9c\xea\x53\x88\x2c\xf0\x90\x8e\xc1\xe1\x94\x25\x7d\xb1\x3e\x40\xe8\x78\x14\x58\x4c\x14\x28\xc6\x91\x15\x2a\x0f\x76\x14\x18\xd2\x32\x66\xeb\x29\x88\x49\xc4\xb9\xd9\x71\xf9\x78\xc9\x93\x7c\x76\x3d\x3c\x47\xc7\x96\x75\x61\xeb\x3a\x3f\x4f\xf8\xa6\x0e\x89\xac\x3b\xe4\x72\xd0\x9d\x0f\xcb\xea\x20\x48\xca\x71\x78\x2a\xc6\x39\xa4\x80\x91\x0d\xe0\x7b\xe0\x82\x6a\x82\x34\x53\x70\x65\xb6\x21\xf6\x55\xe3\x9d\x6c\x24\x25\x4a\x62\xd9\xec\x3a\x32\x52\xc8\x27\x3c\x1a\x82\xc2\xba\x4b\x57\x16\x48\x1e\x15\xef\x14\x62\x2a\x54\x1b\x9f\x64\xd7\x6f\xfc\xc1\xbb\x35\xaf\x2b\x95\x32\xb0\xa3\x1c\x07\x03\x76\x3f\xbb\x10\xf0\x57\xda\x01\x40\x57\x44\x8a\xfe\x3d\x81\xbb\x81\xd3\x4e\x14\xcc\xc3\x5c\x37\x1b\xf2\x1e\x85\x73\x17\xd9\x6a\x3d\x5f\x0a\x70\x4b\xaf\x0f\xcf\xeb\x62\x59\x24\x84\xd7\xc5\xb2\x74\x7c\xaf\x0b\x61\x63\xfc\xbc\x2e\xe8\x97\x39\x69\xd2\x96\x55\x19\x4a\x34\xb2\x42\x20\xaf\x8b\x05\x4a\xc7\x5e\x17\x0b\x16\xd1\xb4\x75\x33\x3c\x54\x51\xa4\xa2\x49\xd7\xd1\xf9\x2b\x3e\x9a\xd7\x05\xa0\x14\xba\xd7\x05\x22\xb7\xa7\xe8\x75\x41\x99\x43\x0c\x7b\xc4\x02\x34\xac\x29\xc2\x03\x12\xd9\xeb\x02\x91\xc5\x13\xf1\xba\x40\x28\xc6\x91\x15\x5c\xaf\x0b\x65\x19\xb3\xd7\x25\xfb\x63\xb2\xa6\xf6\xdf\xe9\x69\xfd\x77\x1c\xdd\x34\x2c\x56\x10\x97\xf1\xd3\xdc\x34\x8e\xbc\xcb\x51\x04\xc4\x70\xd3\x10\x23\xd8\x65\x83\x9b\x32\x7e\x3d\xfa\x63\xb2\x76\x0f\x5f\xd3\x2e\x4d\x87\x3c\x34\x82\x4f\xc7\x01\x12\x18\xc4\x2e\x76\x5c\x6d\x29\x83\x04\xae\x69\xfb\x5c\x2d\xee\xd5\x7d\xa3\x87\x74\xdf\xa0\x9e\xb8\x82\x09\xb3\x09\x07\x12\xc2\xa6\x18\x2b\x81\x3d\x61\xc0\x77\xc3\x8e\x16\x82\x86\x11\xcb\x13\x46\x33\xad\x3c\xb7\x3a\xa0\x27\x0c\x85\x15\xc5\x13\x46\x21\x26\x6f\x4f\x58\x00\xf0\xd1\x3c\x61\x1c\x0c\x62\x78\xc2\x28\x37\x24\xb8\x27\xac\xbb\xbb\x11\xda\x13\x46\xc4\x3c\xcc\x75\x73\xf7\x84\xb9\xea\xe1\x35\x3a\xbe\x4a\x77\xb3\x0e\x43\xc3\xd6\xde\x89\x17\xc4\x6c\x40\x45\x53\x85\x6b\x08\xa8\x2a\x65\x47\x85\xae\xe4\x52\xd6\x78\xac\xc0\xa3\x81\xa2\x62\x68\xa4\x0d\x98\xb0\xea\x27\xb6\xac\x16\x3f\xf4\xbe\x78\x6f\xd4\x7e\x45\x7e\xf7\xaf\x5a\xce\xe5\x1a\x2a\xaf\xda\x3a\x5a\xfc\x96\x2d\x57\x93\x79\xeb\x15\xfd\xb9\xfc\x1b\x76\x8c\x56\x0f\x1d\xcf\x3e\xcd\x15\x47\xe8\xa7\xf9\xf2\x3e\x5d\x13\xba\x97\x6d\x05\xe9\x0b\xa1\x7e\x6d\x74\x86\x50\x01\xa2\x13\xb4\x0d\x31\x07\xf6\x80\x2f\xf5\x68\xfe\x4f\x81\x20\xe8\xfe\x4e\x91\x8a\x70\xff\x66\x4d\x98\x36\x17\xe7\x68\xf6\x70\x5f\x7b\x38\x7f\x28\xa8\x30\x80\x8b\xd3\x7e\xaf\xa3\x72\xc1\x0a\x5a\x24\x66\x08\xaf\x4e\xf7\x66\x8a\xac\x82\xe3\xd0\x14\xcf\xdd\xea\xc0\xdc\x7a\xb6\xdf\x00\xaa\x8e\x53\x80\x53\x1c\x36\x32\x1b\x4f\xfd\xde\x72\x95\xfd\x2f\xd7\xa7\x3f\x9d\x9e\xfd\x72\x3a\xdc\x4a\xbe\x3f\x3b\xb9\x1a\xf6\x9c\x8e\xbf\xfd\xfc\x80\x76\xb2\xb0\x31\xb0\xd9\x05\x91\xa5\x8e\x57\xa8\x39\x06\x76\xa8\x85\xae\x6e\xdf\x8f\xda\x94\xad\x09\x06\x57\xaf\xed\xa0\xee\xd2\x95\x1d\x90\x87\x25\x0b\x1e\x75\x45\x3a\x8e\x36\xac\xe3\x97\xae\x74\xb8\xa0\x27\x28\xbf\x13\xf4\x3a\xe6\x06\xee\xd5\x32\x9d\x4c\xb3\xa5\x16\x4d\x87\x62\xe9\xda\xcb\x87\x77\xd9\xcd\xbf\x57\x0f\xf7\x65\x20\xfd\xf0\xcd\xe8\xf0\xa7\xcb\xeb\xb7\x42\x2c\xfd\xf2\xcd\x41\x7f\xb0\x4b\xbb\x6c\xf5\xa2\x8a\x11\x2d\x40\x08\x18\x42\x07\xf7\xc1\x2f\x78\x0e\x7c\x90\x9f\x56\x58\xaf\xe7\xa2\x16\xaa\xef\x9a\xad\xb4\xd5\x5d\x9a\x1f\x57\x67\x95\x7a\x1a\x7a\xf1\x15\xb9\x0a\x12\x5d\x28\x5b\x51\x73\x50\xe5\x08\x6b\x75\x56\x85\x77\x59\x9c\xb5\x7b\x1c\x03\x20\xf3\xa8\x4a\x52\x0d\x2e\x92\x96\x84\x2c\x6f\xba\x37\xdf\xc0\x51\xd7\x9e\xa0\xc0\xd0\x6a\xee\x60\x96\x58\x1e\x5c\x9c\x5a\x3b\xf0\x50\x35\xc8\x44\x97\x22\xe0\x6e\xc7\xd8\x30\x53\x98\x29\xaa\x09\x61\xa7\x02\xa3\xcb\x50\x71\x74\x9c\xef\xd2\x95\x15\x63\x5c\xc5\xf1\x16\x57\xdf\xcf\xa7\xa5\xcf\x38\x98\xc0\x6a\x57\x74\x11\x59\xfa\xdb\x36\x67\xc6\xc7\x87\x9b\x7f\x67\xb8\xf7\xa1\x6a\xb2\xbe\xce\xee\xa5\xd6\xe9\xc7\xd5\x0f\x40\xe7\xf4\x64\xf1\xf1\xc3\xa7\xc9\x2c\x9d\x76\x3e\x91\xc7\xb0\x1b\xf1\x65\x64\x03\x8b\xce\x95\x01\xf4\x1c\xe4\x24\x69\xb5\xae\x3b\x60\x7e\x5f\x50\x99\xc1\x11\x91\xc9\x54\xf4\xa8\x3d\xd2\x8b\xb4\x1e\x73\x8b\x74\x60\x64\xcf\x0f\x39\x6d\x87\xf4\x9b\x98\x78\x49\x54\xad\xa0\x05\x18\x49\x2f\x40\x01\x50\x7a\x3d\x56\x24\x44\x6e\x99\x5e\xd3\x14\xb9\x0d\x7a\x3f\x4c\x1b\xf4\x82\x8a\x5a\x3c\x4a\xf2\x60\x8e\xf4\x01\x69\xa1\xd9\x8b\xc8\x6a\x8c\x99\x0e\x35\xd8\x41\x9b\x05\x60\x1f\x5e\x9f\x2a\xb3\x15\x78\x9f\xd0\x0a\x1c\x04\x5d\xa8\x44\x3a\x70\xad\x03\x78\xcb\xc9\x94\x06\xe0\xce\x5f\x5c\xd0\x8f\x57\x8a\x0d\x36\xe0\x06\x3b\x70\x05\x83\x4e\xe7\xdb\xbc\xb9\x99\xfa\x6a\x54\xf9\x12\x0c\x15\x4a\x7c\xdc\x6c\xe8\xdf\xcc\x67\xeb\x6c\xb6\x5e\x55\xb9\xeb\xd5\x5f\x75\xfa\xba\x73\x38\xc7\xd1\x0d\x90\xe3\x1b\x4d\xab\x79\x73\x33\x45\xc5\x88\x11\x01\xba\xde\x82\xbc\x1e\x5f\x51\xa9\xf2\xbc\x4b\x3d\xa5\x3e\xcd\x6e\x43\x26\x32\x95\xc7\x90\xf5\x39\x84\xb0\xc2\x1d\x58\x91\x22\xcd\x85\x6b\x73\xbd\x67\x14\xea\xe5\xb9\x14\x32\xdd\x3f\xb0\x91\x63\x5b\x07\x33\xde\x1c\x9e\x0c\xb7\x92\x1f\x2f\xcf\x4e\x41\xdf\xaa\x7c\x28\x02\xca\x71\xc4\xae\x15\x9c\x63\x1e\x56\x4d\xc8\x60\x2a\x14\x04\x94\x9f\x7a\xe5\x00\x72\x65\xda\x56\x58\xc2\xe4\x70\xe9\x0a\x85\xf6\x85\x11\xe3\x12\xda\xa7\xf9\xc7\x22\x5c\xe5\xe6\x2f\xd5\x7f\xbc\xb9\x99\xfe\x70\x1f\xaa\x06\xcd\xbc\x28\x43\xb6\xc2\x0b\x98\xa5\xed\xef\xed\x3b\xa5\xc0\x15\x16\x31\x96\x8c\x39\xca\x51\x33\x6e\xd1\x24\xab\x11\x1c\xca\xc6\x89\x48\xd2\xa5\x2f\x7b\xc1\x98\x65\x02\xa2\x20\x16\x10\x73\x77\xb3\x63\xb7\x20\x86\xa4\x35\xc3\x0c\x2b\x7b\x59\x30\xc0\xe2\x00\xf9\x32\xa1\x92\xd8\x63\xaf\x65\x60\x71\x64\x28\x0f\x07\x37\xc1\x2a\x12\x26\x28\xe8\xd8\xc8\xb0\x05\x6e\x30\x54\x56\x96\xb3\x71\x10\xc4\xa1\x04\x56\x98\x5e\x75\x96\x55\x3d\x44\x16\xa9\x31\xf6\x63\xc9\xac\xd8\xcd\xe5\xcc\xf0\xd8\x2c\xd1\xbf\xb9\x1c\x7f\xc5\xaf\x5a\x6e\x75\xd2\x9b\xcd\x02\x34\xae\xe4\xf2\x68\xa0\x1d\x4f\x74\x99\x5a\xb3\x74\x2e\xbb\x10\x24\x3a\x16\x5e\x38\x36\xdd\x49\x2f\x53\xe7\x9a\xc7\x16\x5f\xc7\xb3\xe9\x64\x96\xfd\x94\x65\x8b\x74\x3a\xf9\xcd\x5b\x6e\xa9\xcb\xb1\x26\x34\x9a\x5f\xb5\x24\x2d\x4d\x6e\x67\xe9\xfa\x61\x99\xe1\x01\xe0\x6c\x2f\x54\xe6\x92\x8a\x62\xc4\xb1\x84\x12\x20\xc2\xf4\x33\x04\x31\xce\x40\x42\xf2\x52\xae\xa2\x29\xdb\xe3\xe7\x2d\xd5\xc7\xed\x2e\x9b\xec\x94\x1e\x67\x1e\x9d\x0c\x2d\xf4\x30\x3a\xd2\xea\xa0\x18\x6a\xb7\x14\x8a\x4c\x66\x7b\xb0\x08\xb2\xef\xaa\x08\xc2\x51\xf2\x54\x37\xd7\xed\x4c\x4d\xd0\x99\x21\xbf\x6c\xcf\x8b\xb7\x9e\xa7\xb7\x93\x59\x31\xb1\x2d\x90\x1f\x4b\x5f\x90\xc1\x5f\xed\x2f\x9b\x39\xec\x22\xbd\xcd\x2e\x27\xff\x4b\x60\xb0\xc9\xd6\x66\x92\xdf\xfa\xf3\xf4\xb6\x6c\xd5\x4e\x88\x21\x3d\x7f\x9e\xf3\xd9\xec\xb7\xc9\xfc\x61\x45\x7f\x6f\x3b\x14\x27\xd7\x37\x23\x1a\x2f\xd7\x40\xa1\xbc\x83\x80\x1c\x9d\x9f\xb3\x16\x8b\x1f\xb4\xba\x9e\xcc\xd6\xdb\xfd\x9a\xad\x9f\x57\x34\x66\x8d\x5a\xd5\x52\xa0\x8c\x5b\x9d\x8a\x44\x66\x98\xfd\x6a\x7a\xe7\x5c\x25\xb2\x00\x61\x2f\xe8\x62\xc7\x10\x26\x3a\xbc\xb0\xe2\x84\xbc\x3e\x54\x2f\x24\xc6\xba\x9a\x73\x15\xa2\x5d\xd5\xc9\x4b\xb9\x2e\xf2\x81\x02\x72\xa8\x2f\xbe\xa5\x1f\x29\xf0\x26\x92\xb0\x02\x1d\xa5\xf0\x21\xae\xa6\x13\x18\x76\x81\xc9\xc8\x00\x1b\x14\x5f\xc7\xb3\x35\x3d\xba\x84\x7c\xb6\x74\x2e\x71\xda\x39\x20\x1f\x6f\xc1\x20\xe8\x1c\x7f\xec\xec\x55\x32\x73\xdb\x88\x6d\xbf\x8d\x00\xb0\xe0\x6d\x86\x5f\x3e\x8b\x88\x65\x18\x17\xa7\x61\x45\x47\x6d\x86\xe4\xda\xe4\x29\x28\x3d\x47\x05\xa5\x1f\x43\x41\x89\xed\x1d\xd5\x61\xb1\x24\x92\xbf\x57\x94\xb7\x5a\xd7\x29\xc0\x90\xd6\x61\xd3\x54\x62\x6b\x1d\x9d\x38\x56\x0d\x00\xe3\xe9\x1d\xce\xc3\x2e\xfe\xc9\x56\x26\x7a\xce\xca\x04\x92\xac\x03\x9e\x50\x18\xb1\x8a\x79\x63\x11\x22\x09\x23\x57\x19\xca\x85\x69\x1b\x02\x09\x56\x8e\x86\x61\xda\x8a\x60\x92\x15\x51\x33\x2e\xb2\xd5\xfc\x61\x79\x93\x1d\xa6\xeb\xec\x76\xbe\xfc\x7c\x34\x59\x2d\xa6\xe9\xe7\x37\x93\x99\x54\xa0\x7e\x76\xf5\x66\x74\x31\xec\x25\xc7\xa7\x97\x57\x07\xa7\x87\xa3\x61\xbf\xf9\xcf\x0f\x6f\x0f\x4e\x0f\x5e\x8f\x2e\x86\xdb\xc9\xc5\xd9\xf5\xd5\xe8\x62\xb8\x93\x9c\x9f\x9d\x1c\x1f\xfe\x3a\x1c\x24\x87\x67\xa7\x3f\x1c\xbf\x1e\xee\x26\x3f\x5c\x9f\x1e\x5e\x1d\x9f\x9d\x0e\x5f\x26\x97\x57\x67\x17\x07\xaf\x47\xc3\xbd\x3f\x93\xc9\x8b\x79\x21\x15\x5f\x64\x7f\xac\xb3\xd9\x78\x63\x6d\x45\x74\xf3\xcf\x64\x6f\x6f\xaf\x37\x14\x77\xa1\xfe\xef\x7f\xac\x5b\x19\xb3\x55\x33\x0e\x43\x36\xf1\xff\x3f\xab\xee\xce\x77\x5f\xc6\xf3\x59\x36\x7c\xd6\x4b\x7e\x4b\xa7\x0f\xd9\x30\x7b\xb7\xfe\x9f\xff\x79\xff\xe7\xb0\xfa\x79\xeb\xcf\x3f\xff\x2c\x2f\xf1\xf3\x7a\x95\xe7\xfb\xfb\xf9\xc9\xcc\x3f\xfd\xa3\x14\xe3\x2f\xc6\xd9\xa7\xc9\x2c\x3b\x5f\xce\x17\xd9\x72\x3d\xc9\x56\xdf\x99\x7e\xff\x3c\x14\x39\x43\x32\xdf\xfc\x92\x3d\xdb\x3f\x58\x2e\xd3\xcf\xed\x61\x7f\xfb\x6d\xf6\x6c\xbf\x7a\x59\xf8\x71\x23\x7b\xb7\x7e\xbf\x3f\x7f\x51\x20\x98\xab\x46\xd2\xf9\x67\xfb\xef\x9e\x97\x3b\xd7\x22\xf6\xfb\x64\x36\x9e\xff\xfe\xed\xb7\xe5\xff\x27\xda\xbf\xaf\xb2\xe9\xa7\x6f\xbf\xcd\xff\x57\xff\xb7\xdb\xe9\xfc\x63\x3a\xfd\xf6\xdb\xf2\xff\x93\xec\xfd\x37\xb9\xe0\xaa\x76\xf4\x9f\xed\xc6\xfd\xf3\x7f\xfe\xa7\x61\x70\x39\x82\xdf\x4c\x3e\x6d\xcc\xbf\xfd\x76\xfe\xe2\x6d\xba\xbe\xdb\xdf\xcf\xff\x77\xb3\xda\xed\xf9\x9f\xeb\xbb\xe5\xfc\xf7\x7f\x8c\x96\xcb\xf9\x72\xe3\xf9\x61\x3a\x9b\xcd\xd7\xff\xf8\x34\x99\x8d\x2b\x68\xff\xa8\x90\xd8\xfc\xb3\x20\xd4\xcd\x6f\x9a\xe3\x9c\x94\x7c\x74\xf2\x69\xa3\x02\x36\xd9\x5f\x7e\x93\xed\x67\x2f\x56\x8b\xe9\x64\xbd\xf1\xfc\xc5\xf3\xcd\x06\xbf\x74\x7f\xeb\x9f\x69\x83\xdf\xff\xaf\xf7\xcf\xf4\x7f\xfe\xa7\x7c\x69\xb1\x9f\xbd\x4b\xdf\x7f\xb3\xf8\xc7\x64\xf6\x8f\xc9\x7f\xfe\xb3\x31\x79\xb7\x78\xbf\xff\xe5\xcf\xcd\x64\xb2\x9f\xff\xe7\x9f\x1b\xeb\xfd\xf5\x46\xba\x3f\x79\x97\xed\x67\xef\xda\x05\xde\xbf\xdf\xdc\x7c\xb6\x9f\x7e\xfb\x6d\x59\xdf\xb6\xfe\xf6\xdb\xf9\xc6\x24\xc9\x92\x2f\x37\xf3\xd9\xa7\xc9\xed\xc3\x32\xfd\x38\xcd\x69\x24\xc9\x59\x6f\xfd\xdf\x25\x19\xad\xff\xdc\xfc\xf3\xcf\xe6\x2b\xd2\x9a\x28\xe7\xfb\xcf\x1f\x66\x25\x5d\x8c\x9f\x3f\xab\xb7\xfc\xf2\xf3\xfd\xc7\xf9\xf4\xdb\x6f\xcb\xff\x7f\x91\xcb\x91\x74\x3d\x5f\x7e\xfb\x6d\xf6\x4e\xf9\xe9\x7d\x4d\xd2\xf3\xef\xe6\x2f\x6e\xd2\xe9\x74\x23\xdb\x1c\x16\x2a\xe3\x30\x27\xfc\x3f\xff\x9c\x6c\x3c\xaf\x08\x68\xb2\x7a\x2e\xd6\xf6\x34\xa4\x9f\xfd\xe7\x3f\x4a\xc5\x4f\xf5\xfb\xfe\xfe\xfe\xfa\xbb\xdc\x38\xce\xfe\xf3\x9f\xde\xff\xc9\xf6\xf7\x7b\xff\x67\x3d\xcc\x9e\xed\x67\xdf\x7e\xfb\xff\x31\xf7\xf5\xdd\x69\xe3\x4a\xe3\xff\xf3\x29\x88\x9f\xbd\x1c\x69\x51\x1c\x48\xd2\x36\x25\x51\x78\xd2\x24\xed\x66\xb7\x6d\xba\x4d\xba\xed\x5e\xca\x93\x63\x40\x04\xb7\x60\xf9\xda\x22\x6d\x16\xfc\xdd\x7f\x47\x6f\xb6\x6c\xcc\x3b\xe4\xfe\xce\xbd\x67\x1b\xe4\xd1\x68\x66\x34\x1a\x8d\xa4\xd1\x88\xed\x60\x16\x45\x10\x22\x17\x58\x19\x9d\xb5\x5d\xaf\xdd\x1f\x76\xc8\xa2\xad\x29\xf7\xa5\xe7\x86\x05\x5a\x74\x95\x97\xc9\x65\x20\x8c\x15\xf7\x43\xb1\x9a\xc3\x28\x84\x05\x0e\x1d\x60\xaa\x7a\x44\xf4\x74\xe5\x94\xf7\xd6\x78\x5c\x81\xa5\x12\x60\x42\xcf\xec\x81\xf3\x13\xb0\x72\x80\x2a\x10\x1e\xb3\x93\xe0\x98\xe9\x8e\x77\x31\x55\xaa\xe9\x62\xc1\x58\x2c\x1c\xde\x91\x50\x29\xe8\x4e\x45\xb9\x35\x3b\x55\xcd\xe5\x87\x80\x0e\xdc\x90\x64\x98\x4a\x5b\x19\x71\xce\xd6\xc2\x15\xb1\x06\xb0\xdb\x6a\x9a\x97\xbf\x1c\xdc\x68\x16\xe4\xa0\x11\xbf\xbb\x00\x16\x58\xf0\x38\x22\x80\x7b\x61\x21\xed\x3f\x10\x71\x13\x8b\x53\x03\xa3\xb6\xc3\x9d\x3e\x8e\x52\x15\x89\xbe\x8c\x5b\xa3\x40\x35\xe6\x60\xae\x89\x91\x39\x3a\x12\x49\x9b\xd2\x64\x75\x52\xe3\x8e\x14\x03\x09\xfd\x0c\x8e\x04\x5e\x08\x23\xb7\x0b\x88\x1e\x9c\xa4\x40\x8d\xde\x6c\xa5\x6c\x8b\xdb\x05\xbc\x41\x2c\x79\x70\x62\x2a\x52\xbc\x15\x24\xfb\x46\x4b\x9c\x8f\x7b\x20\x5a\x92\x15\x6c\x7f\x18\x72\xfe\xa2\x82\x1c\x8d\x81\x78\x12\xd3\x1d\x10\x3a\x64\xa9\xe6\xdb\xa9\xe6\x7d\x40\xc4\xc6\x84\x09\x71\x6f\xce\xc1\xd2\xa5\x16\x4d\x94\x4a\xaa\x29\x65\x9d\xb4\x3b\x29\x4b\x0b\x09\xe1\x0b\x5a\x33\x61\x73\x39\xf3\xa2\xdb\x28\x30\x3b\x49\x76\x28\xef\xa2\xc8\xec\x96\x14\x9d\xdd\x14\x27\x79\x22\x12\x26\x91\x70\x21\x21\x96\x5f\xd1\x50\x38\x62\xf4\x74\xfc\x3d\x80\x23\x3a\x1e\x03\x8a\x77\x2a\x88\x48\x73\xc0\x50\x00\xa1\x9c\xb2\x64\xef\x20\x8a\x77\xaa\xca\x6a\x8c\x94\xe6\xd5\x64\xfe\x09\x7b\x00\x91\x54\x37\x5d\x70\x0f\xa3\x34\x31\x83\xac\x3a\x08\x2b\xc1\x4d\xb4\x84\x07\x5c\xc9\x6e\x1f\x7d\xa2\x4c\xfb\x59\x51\x0d\x9c\x62\x5b\x1a\x79\xd5\x62\x91\xd1\xa2\xcb\xf8\x84\x63\x41\x58\x10\xe7\x62\x1c\x59\x4a\x65\x25\x4a\x0a\x88\x04\x18\x91\x9a\x5e\x0c\x49\x2b\x49\xe4\x12\x48\x4f\x58\x3a\x03\x94\x30\xcd\x44\xae\x59\x8a\x44\xac\x76\x92\xa9\xba\xc6\x65\x13\x7f\xd3\x2b\x1a\x2e\x92\x88\xd6\x45\x7b\xc2\x82\x8a\xbf\x84\x82\xa6\xd9\xef\xe7\xac\x5c\xd5\x2e\x22\xd7\x0a\x86\x89\xcd\x7a\xc4\x4b\x54\x43\xf5\x90\x80\x51\x12\x22\x30\xca\x71\x1d\x98\x6c\x7d\x08\x18\x4a\xb5\x9f\x6a\xfe\x7e\x52\x87\x5c\x20\x9d\xb8\x54\x56\xc7\x3c\xb0\xea\x04\x98\x9b\x59\x9b\xb8\x5d\x50\xd9\x91\xe3\xa3\x05\xf3\x26\xe8\x90\x30\xd6\x27\xc0\x2a\x93\xb2\x85\x8a\x56\x99\x95\x2d\x58\x8b\x3b\xd8\xe9\xf3\xd5\xe4\xa3\x82\xea\xf0\xa9\x35\x64\x0e\x23\x56\x59\xa1\x2c\x28\xfb\x48\xb4\x7d\x64\xf2\x8f\x6f\x20\x43\xd8\x37\x53\xe3\x95\xc9\xd9\x89\x4d\x8e\x1e\xaf\x04\x57\x8e\xc9\x49\x7a\x90\x97\xcb\x04\x86\x76\x4b\x2a\xaf\xd3\x20\x4d\x58\x30\x07\xa4\x34\x37\xa1\x58\x52\x52\x3d\x73\x9a\x2d\xd3\x9c\xfe\x8d\xcd\x35\xb1\x7f\xe4\x1a\xeb\x14\xed\xc3\xdc\x05\x5f\xda\xe4\xeb\x91\x49\x63\x64\x74\xd2\xf2\x53\xd3\xf2\xa7\x9a\xe0\x1a\x66\xb6\x42\x0d\xb3\x10\x98\x53\x78\x8e\x9a\x91\x7a\xca\xfc\x07\x8f\x23\x17\x10\xc0\xa0\xd1\xb0\x23\x5a\xac\x31\x61\x33\x5c\xe4\x20\x1f\x67\x67\x0e\xa9\x2e\x98\x20\x07\xb3\x08\xc6\x87\xd8\x82\xcb\x1f\x80\xd3\xe0\x42\x14\x00\x8a\x1c\x08\x91\x9f\xa6\x5e\xb4\x93\xb7\x60\x11\xb5\x39\x6f\x2a\xf3\xd2\x84\xbe\xfe\xc8\xee\x9f\x98\xd3\xa1\x32\x0d\x81\xdd\x8a\x37\x46\x08\x08\xec\x76\x66\xd3\x83\x99\x65\xf1\x86\x86\xa9\xeb\x9f\x3c\xf2\xd3\x27\x6d\x46\x3a\x52\x7d\x6b\x45\xab\xcc\xb1\x4a\x1b\x1a\xc8\x19\xce\x9c\x04\xeb\x5c\xe1\xa8\x1a\xb3\x6a\x66\xa3\x82\x74\xd5\xbb\xd8\x8d\x95\x25\x8f\xef\x89\x69\x99\x77\x28\x55\x13\x33\xaf\xe9\xb4\x73\x77\xd2\x73\xeb\xe9\xc1\x11\x60\xde\x8d\x88\xcf\xac\xdc\x19\x04\xf0\x78\xc7\xb7\xf9\x0a\xe6\x38\x29\x82\x2e\xf0\xd5\x1a\x82\x6b\x36\xa2\xba\x45\xa7\x3f\x69\xe7\xa8\x44\xc8\x7d\x2f\x59\xbb\x10\xaf\x33\x39\xda\xba\x0b\x1a\x4d\x38\xe1\x62\xa4\xfb\xc9\x01\x6c\x72\xce\xa2\x70\xe4\x8b\xe5\x0c\xaa\x60\xbc\xbb\x1b\x96\x4a\x04\xf8\x4a\xda\x3e\x6e\x34\x51\x88\x2b\x85\x0e\x1d\xf9\x52\xb2\x2a\xcb\x01\x0a\xcb\x65\xe4\x82\x20\xa1\xdf\x01\x7e\xec\xa7\x43\xc4\x4c\x52\xa3\x1f\x3d\xb7\x4f\xc0\x8e\x24\x55\x71\x19\x29\x6f\xd2\xc7\xfe\x78\x3c\x8a\x50\x28\xba\x73\x3c\xe6\x73\x52\xb2\xdc\x50\x2c\xa4\x17\x18\x48\xf8\x9b\x61\xec\x39\x50\x5c\x39\xa6\x89\xe7\x40\xcb\x65\x18\x3b\x4a\xdc\x37\x6d\x90\x06\xe5\x4b\x07\x23\x39\x46\x3c\x64\x12\xdf\xad\x07\xe0\x28\xf9\xd5\x36\x0c\x90\x1a\xba\xdc\x6b\x35\x56\x67\xc2\x34\xee\x68\xb7\xcd\xe2\x58\xad\x42\x76\x12\x15\xce\xb9\x06\x71\xf8\x8f\x49\x18\xe9\x02\x6b\xea\x58\x41\xb2\x94\x5d\x76\xda\x8c\x4a\x3f\x5c\x2f\x33\x04\x39\x0d\x49\x4f\xf1\xb3\x58\x58\x36\x2d\x8c\xa9\x6e\x4d\x51\x9a\x02\x13\xe4\x08\xa8\xf1\xd8\xf2\xc4\x4e\xa6\x61\x9b\x94\x00\x4b\x25\xd9\xc9\x7c\xe5\x21\xa4\xde\x26\xa9\x22\x5f\x2d\xa0\xaf\xc2\x4b\x6f\x38\x20\x62\xd1\x55\x2a\xed\xe4\x7f\x00\x96\xc4\x60\xc1\x49\x29\xc4\x64\xbd\x56\x52\x57\x94\x19\x6d\x71\x5e\xd7\x69\x9c\xd7\x4f\x9a\x8e\xed\x71\xa4\x3d\x9e\x94\x89\xd6\x0d\x61\xdd\x72\x56\x94\x93\x4a\x33\xcc\x51\x93\x74\x25\x81\x57\x39\x45\xe3\x71\xaa\x3d\x31\xc6\xfa\xd8\x6a\xf7\x69\x38\x0c\xc8\xdd\xd0\xed\xdc\x59\x65\x50\x25\x2f\x7f\x15\xab\xa8\xc0\xf1\x3a\x74\x00\xe0\xe9\xe9\x69\x05\xa2\x47\x5c\x49\xc6\x45\x47\x6f\x5a\xe8\x45\x83\xa0\xd7\x76\x7c\xbf\xff\x08\x88\xdd\x72\xbd\x0e\x72\x82\xfb\xe1\x80\x78\x2c\x84\x09\xbd\xf7\xba\x9e\xd4\x5d\xd3\xf2\x0a\x85\xda\x3f\x89\x6b\x29\x6d\x90\xec\x05\xd9\xad\x11\x3b\xe4\xbd\x2a\x75\x31\xae\x82\xf6\x61\xce\x16\x8f\xd4\xe7\x45\xea\xc7\xb5\xb3\xc0\x43\x2f\xec\xb9\x5d\xa6\xf8\xa3\x48\xa4\xfb\x94\x3f\x84\xdd\x8c\xa6\x6e\x2c\x25\x60\x86\x38\x12\x79\xfc\x48\xcb\x11\xfc\xc0\x5a\x17\xcd\x35\x98\xeb\x75\x4a\xa5\xdd\xea\xce\xb4\x8f\xf1\xd8\x04\xd0\x76\xbd\x0e\xf9\x79\xdd\x05\x96\xe7\x30\xf7\x81\x14\xdb\xb4\x43\x2c\x58\xef\xd4\xee\xa1\x22\x45\xa4\xdb\x30\xa8\xe1\xf2\xf9\x88\x2f\x1c\x46\x6c\x8f\xfe\x30\xd6\xe7\x9a\xaa\x32\x37\xeb\xfc\x7b\x94\x28\x40\x37\x67\x0e\x8e\x8c\xf5\x0e\x36\x4c\x07\x22\xf6\x4d\xe6\x77\x02\x27\x7c\x31\x94\x7a\x5d\x90\x7a\x21\x0b\x86\x6d\x46\x03\x4c\x12\x51\xb5\x92\x45\xef\xc8\x90\xe0\x40\x4a\x10\x05\x7a\x1d\x36\xe1\x5f\xb6\x30\xd5\x6b\xf0\x20\xa9\xf7\x2e\xa9\xa7\x37\xe4\x31\xc6\xb4\x3e\x8a\x6a\x54\x23\x20\xba\x1e\xd5\x98\x14\xca\x6e\x52\x23\xa8\x73\x79\xd6\x0c\xcc\xaf\x34\x66\xe4\x22\xbd\x44\xf6\x9c\x01\x49\xd0\xb9\x1a\x9d\x93\xd4\x7a\xad\x35\x61\x82\x1a\xb5\xe9\x61\xb6\x48\x7e\x14\x5b\xb5\xf8\x1c\x84\xff\x1c\xf0\x85\x83\x60\x27\x41\x79\x93\xb0\xa8\x27\x6b\xd3\xee\xbf\xaa\x07\x62\xc2\xe6\xf4\x52\x14\xd8\xad\xf1\x98\x99\xc2\x47\x81\xdd\x45\x81\xed\x20\xee\x32\x25\x58\x6f\xb9\xc9\x51\xee\x96\x5a\x82\x15\x2b\x35\x65\x74\xde\x53\x39\x9a\xad\x82\x72\xc2\x54\xf9\x59\xbb\x4d\xc2\xb0\xd8\x21\x9e\x4b\x3a\x7c\xf1\xa7\xae\xf4\x17\x3b\xb4\x2d\xf4\xd0\xd2\x1e\x9a\xaa\xf0\xda\xed\x93\xa2\xd8\x15\xa4\x43\xaf\x63\xe9\x50\x99\xf8\x6b\x40\xba\xf4\x67\x31\x74\xfb\xc4\x63\xfd\xc7\x22\xe1\x8d\x12\x0d\x77\x18\x37\xeb\x73\xe3\xef\xc8\x19\x75\x18\x32\x3a\x90\x90\x0a\xee\x59\x0c\xe7\x15\xc9\xcf\x36\xf1\xa5\x2a\xb7\xdb\xc3\x20\x41\xf6\x5c\x03\xfd\xc6\x98\xcf\xd7\xaf\x62\x47\xbe\xe8\xb0\xe2\x61\xa5\x52\xa4\x41\xf1\x59\xa5\x52\xec\x93\x07\xd2\x57\x15\x5e\xe8\x0a\xea\x58\xbc\xf8\xc3\x09\x8b\x4e\x8b\x06\x2c\xc6\x79\x94\x05\x61\xee\x80\x74\x8a\x74\xa8\xe5\xf0\x52\x03\xdc\xf6\x88\x58\x33\x0f\x83\x36\x29\xba\xa1\x10\x89\xf3\xe0\xb8\x7d\x3e\xbf\x14\x69\xb7\xdb\x77\x3d\x62\xc5\xae\xac\xaa\xf5\xc9\x0b\x48\x9b\xde\x7b\xee\x3f\xa4\x23\x39\x96\x76\xc0\x18\x37\xd7\x6a\x01\x2f\xba\xcb\x6e\x3b\x3e\x1b\x06\xe4\x86\x39\xed\xef\xb7\xdc\xe3\x84\x53\xca\xe5\xc1\xc1\xb5\x5a\x92\xcb\x99\x47\xd9\x6f\x3b\xe4\x50\x05\x56\x2a\xc9\xf5\x97\xf8\x89\x19\x8c\x88\x2e\x19\xc8\x13\x09\xbd\xa1\x47\xa0\xa1\x56\x97\xc9\xa1\xa8\xda\x18\xb5\x50\x80\x81\xe1\x79\xfd\x2b\xb4\xe2\x13\xae\xdd\x2a\x72\x71\xe5\xd8\x3d\x09\x8e\xdd\x72\x19\xd2\x32\x26\x0d\xb7\x59\x06\xee\x09\xd3\xfb\xf8\xac\xe1\x36\x6b\xa2\x52\xe1\x5a\xad\xb8\xc4\xf6\x47\x99\x34\x82\xa6\xd1\xf0\x67\x6d\x57\xbe\x89\x45\xa2\x1c\x9a\x2e\xf7\x3c\xe5\x7e\x80\xde\xcf\x6b\xe1\x0b\x3d\xf8\xd5\x30\x96\xab\xf4\x64\xbf\x2f\xa9\x7e\x8f\x2b\x51\x2b\x7d\x76\x34\x75\xc9\xc3\x97\xa9\x11\x6a\x4d\xdb\xf1\x51\xa0\xca\x1d\xfb\x4e\x1e\x43\xb5\xba\x85\x11\x1a\xa4\x9b\x50\xca\xa4\xce\x7d\xa6\xe5\x4c\xe9\x4e\xd4\x7b\x47\x58\x8f\x76\x2e\x48\xd8\x0e\x5c\x9f\x5b\xdd\x29\x35\xdb\x79\x35\x9d\x8e\xc3\x9c\x69\x35\x5a\x13\x35\xce\x9d\x7e\xff\x5a\x8c\xb3\xbc\x5b\xfd\x92\xb3\x08\xbd\xcb\x32\x26\x07\xdd\x1c\xce\xda\x13\x15\xe7\xd1\x37\xd9\xd4\xa2\xb2\x68\x4d\xd4\xbc\x61\x0e\x1b\x4e\x65\xaa\x1b\xa1\x2e\xb8\x46\x62\xa8\x40\x74\x6d\x54\x15\x53\x83\x75\x2e\xac\x93\xb4\x9d\xa8\x0b\x2e\xd1\x35\x44\x97\x13\x50\x67\x61\x48\x02\x8e\x5d\x19\x59\x3e\x52\x2e\x70\x05\xfd\x83\xab\xfb\x47\xc9\xe4\xfc\xc1\x9c\x13\xc5\xae\xa2\xdd\xc2\x07\x88\xd8\xdf\xb0\x30\x28\x21\x0b\x88\x33\xe0\xe6\xa4\x15\xd0\xef\xc4\x2b\xfe\xaf\x55\x26\x76\xbf\x6c\xed\x59\x65\x5a\xb6\x6c\x69\xc3\xc5\xca\x97\xff\xfa\xec\xb2\x5e\xd1\xf5\xfc\x21\xab\x7d\xf5\xac\x32\x93\x5c\x00\x62\x7f\x93\xce\xc3\x03\x3a\x9f\x70\xaf\x94\x1b\x52\xcf\x3d\x5a\x98\x02\xac\x56\x16\x88\xc5\x89\x09\x6b\x13\x3b\x54\x56\x28\x6c\x87\xb1\x6a\xd0\x4e\xb2\xfa\x10\x1f\xa2\xb0\xf1\xb8\xba\x83\x63\x73\xb0\x5b\xad\xc5\x0d\x01\x86\x2a\x70\xce\xf2\x8d\x16\x5d\x11\x07\xc3\xd7\x6e\x98\x2f\xb7\xf4\x41\x8b\x9a\x75\x77\xab\x11\xfa\x5d\x59\x32\x73\x95\x14\xb8\x83\x7a\xde\xb9\x87\xf8\x02\x52\x2c\xe9\x8f\x7b\xff\xd7\xf8\x1a\x7e\xfd\xe9\x54\x9a\xbf\x02\xfe\xd7\x4d\xf3\xd7\x3a\x8c\x8b\x7e\xd9\xb3\xc9\x4f\xc2\xd7\x83\x8d\x6a\xd3\xf0\xc0\xde\x98\x22\xe5\xce\xa1\xc1\x9e\x61\xde\xbe\xa7\x0f\x75\x4e\x98\x90\xc4\x29\xab\x57\x6b\x95\x88\xd4\x84\x09\x7f\x8b\xb9\x87\xf2\xe0\xde\x3b\x8c\x06\xdc\x0d\x7f\x2b\xbd\xe6\x6f\xf8\xad\x3d\x0c\x49\x70\x76\x4f\x3c\xc6\xcb\xbf\xc1\xd1\x03\xfe\xa6\xf7\x4f\xa3\xe8\x01\x5b\x96\x50\x81\x33\x6c\x19\x9e\x43\xb1\xe7\x84\xd7\x3f\x3c\x7d\xd2\x59\x74\xc3\x0f\x5a\x40\xd7\xdd\x62\xde\x4a\xa9\xc8\xe8\x5b\xda\x76\xfa\x2a\x5e\xa1\xa8\x1d\xda\xa2\x58\xdf\x5f\x77\x2d\x3d\x09\x14\x2d\xe3\x30\xf0\x3f\xc9\xea\xa7\x6a\x1e\x02\xd6\x2c\xb3\x77\x1b\xcd\xe3\xca\x09\x2b\x95\xe2\x1e\x86\x54\x9d\x3f\xd8\xc2\xab\x07\x10\x22\xb6\xbb\x1b\xc7\x3e\xc5\xcb\xd0\x18\xec\x1b\x75\x3d\x81\x15\x22\x9a\x48\xf6\xca\xe8\xde\xab\x86\x55\xb4\x9a\x80\x40\x44\x22\xf9\x37\xee\x89\xd1\xf9\x09\xdd\xa1\xf7\xf8\x0d\x78\x40\xd6\xb5\x4f\x02\xc7\x82\xe8\xa7\xfc\x79\x1b\xb8\x1d\xee\xf8\xc0\xf1\x58\xfc\x7e\x77\x73\x75\x69\x41\xf4\x97\xfc\x7a\xd9\xb9\x27\x16\x44\xbf\xc9\x5f\x6f\x48\xfb\x3b\xb5\x60\xa9\xb4\x03\xde\x80\x07\x9b\x0b\xeb\x07\x09\x44\xe2\x68\x88\xac\x1f\xa4\xf5\xdd\x65\xe2\xb3\x51\x57\x43\x4f\x6b\x29\x03\x8e\x7e\xc1\x0b\xa3\x4e\x7a\xe0\xef\x38\x4c\x27\xb4\xb5\x2b\x17\x0b\xb2\x4e\xe2\xb2\x77\xb4\x43\x6a\x72\x54\x6b\xa5\xfb\x93\xcf\xf0\x7f\x60\x70\x87\x1f\xd0\x6f\xf5\xbd\xe0\xa1\x06\x1a\xff\xf7\x15\x1e\x37\xcb\x10\x7c\x85\xe3\x63\xa8\xf4\xfe\x0e\xd6\xfe\xaa\xef\xf1\x86\xbf\xee\x81\xc6\xd7\xce\x57\xbb\x59\x36\xbe\xfd\xac\xef\x7d\x6d\x81\x7a\x8d\x33\x35\x0e\x1e\x60\xa3\x56\x6c\x4e\x45\xf4\x4b\x7d\xef\x33\x69\xfd\xe1\xb2\xaf\x7b\xe0\xeb\x8d\x89\xe6\x7d\x7d\x0f\xd4\x6b\x2a\x69\x3b\x6c\x14\xbf\xee\x35\xeb\x19\x10\x65\x94\xf8\x38\xf8\xa3\x54\x02\x7f\xe2\x3f\xea\x7f\x34\xaa\xcd\x9a\xc5\xfb\x54\x8a\xe1\x0b\xfe\x5b\xae\x63\xe5\x82\xfb\x4b\xa9\xf4\xe5\xd4\x77\x82\x90\xbc\xee\x53\x87\x81\x3f\x21\x1c\x7d\xd2\xde\xcf\x17\x98\x8c\xa3\x4f\xf8\x4f\x31\x8c\xfe\x8d\x47\xc6\x08\x27\xb9\x87\x3c\xc6\xb6\xf2\xbf\x0b\x69\xef\xc0\x38\x02\x48\x0d\x40\x69\x58\x29\x22\xb0\x4e\x1b\xa4\x59\xe3\xff\xc1\x0c\xc0\x08\x10\x04\x32\xc7\x67\xea\x28\x0c\x51\xfc\x3b\x50\x94\x7e\x82\xd0\xdc\xfd\x0a\x92\x2f\x24\xfd\xc5\x4d\x4e\x5f\xf5\x11\x2d\x0a\xf4\x3a\x1e\x39\xb8\x72\x5c\x11\xdb\x11\xce\x89\x6b\x9e\xc5\xd3\x86\xd3\x1c\x8f\x2d\x0b\x85\x38\x50\x7f\x16\x3a\x94\x5b\x7b\x1f\xef\x81\xaf\x9d\x5f\x21\xf8\x7a\xf1\x2b\x04\xf6\xaf\xba\x37\x7c\x38\x1e\x37\x44\xc6\x48\xf9\xff\x26\x0a\xa7\x40\x86\x13\x90\x15\x8c\xfd\x46\xa5\x19\x8f\xf2\x0a\xc6\x61\xf2\x1b\xca\xad\x61\x86\xbf\x03\x01\x58\xd5\x1f\xea\x95\x9a\xe8\xc9\x2b\x8f\x01\x5e\x8c\xaa\x15\x88\x44\xdd\x5c\x90\x50\x81\xc0\xf1\x58\x61\xda\xd7\x60\xb2\x56\xfc\x53\x40\xf0\xcf\x88\x17\x42\xe4\x63\xbf\x71\xc0\x19\x0a\x1b\x07\x4d\xb5\x75\xc9\xc5\x16\x87\xda\x55\x4e\xc4\xae\xbb\x3c\xd3\x33\x07\x5e\xa9\xf4\xb3\x54\x02\x7f\x03\x38\x1e\xc7\x74\x7c\x52\x44\xa8\x53\xaa\x64\xbd\x4e\x00\x1c\x55\x76\x70\xc0\x9d\xf3\x85\xd4\x47\x78\xcf\x7d\x28\xcf\x55\x1b\xfd\xe6\x78\x0c\xd4\x5f\xb8\x5c\x7e\x84\x32\xed\x9e\xfd\x5a\x7a\xc5\xaf\xe5\x6e\x39\xc1\x95\x02\x35\xd7\xf6\xaf\xf1\x4e\x55\xd8\x45\x97\x20\x87\xe8\x4d\xc6\x6e\x40\xc8\x3f\xa9\xc8\x80\x64\xc2\x8a\x8e\x81\x4b\xf0\xce\x4f\x38\x1e\xf3\x3f\x5e\x9e\x60\x15\x01\xc9\x88\xde\xc1\x25\xd8\x25\x28\x24\xf8\x67\xa9\xb4\x43\x08\xb0\x5e\x5a\x10\x79\x24\x73\x88\xb4\x13\xda\x4e\xa7\x23\x1e\xb8\x7f\xeb\x86\x8c\x78\x24\x18\x8f\x77\x72\x23\x73\x74\x14\x80\xa4\x94\xe0\x9d\x2a\x62\x38\x17\x12\x8c\x22\x64\xf9\x4e\x18\xba\x0f\xc4\x42\xa3\x7b\xc2\x6a\x46\xab\x04\xef\x54\xa2\x48\x1e\xfa\x4c\xb6\x0e\x2c\x46\x42\x66\xa1\x1e\x62\x10\x85\x76\x40\x06\xf4\x81\x4c\x85\x48\xce\x67\x92\x88\x4b\x60\x18\xe2\x1e\x91\x86\x41\x9e\xa2\x3c\xfa\xc6\x6e\x83\x2c\x72\x02\xbe\x08\x51\xfb\x17\x6a\xb9\xf8\x21\x20\xbc\x3d\xd2\xc1\x3b\x55\x63\xeb\x99\xc4\xde\x56\x8f\x18\x7d\xcf\xed\x39\xc7\x2c\x0c\x9e\x40\x13\x90\xbe\xc3\x48\xe7\x56\xe1\x9e\x6c\x2e\x59\x11\xb5\x86\x8c\x51\x4f\x7e\x0c\xdb\x01\x21\xde\xdf\xe6\x8f\x2f\xf2\x47\xbb\xef\x12\x8f\xfd\x6d\xfe\xf8\xa2\xd7\x57\xdf\xc9\x23\x9f\x31\xd4\x42\x92\x39\x7f\x90\x47\x85\x81\x4f\xe2\xf1\x2f\xa7\x9f\xfc\xdd\x66\x41\x9f\xff\xe0\x1d\xc8\x7f\x8b\x68\x31\x12\x5c\x75\x34\x4e\x55\x70\xcb\xe5\xa5\x71\xab\x75\x1c\x49\x9d\xdd\x49\x89\x8a\x7f\x50\x80\x89\xdd\xee\x39\xde\x3d\xe9\xdc\xd2\x61\xbb\x47\x42\xee\x5b\xa4\x4b\xb4\x45\xc8\x96\x37\x2a\xcd\x9a\xd8\xff\x77\xbb\xc0\x14\x14\x51\x7f\x8c\xc7\xc4\x0e\x83\xf6\x65\x9f\xf0\x01\x1d\xf7\x20\xe2\x10\x29\x69\x8b\xee\xf9\x0d\x8e\x48\x4d\x9c\xe2\x5d\x01\x66\x7b\xb4\x43\xde\x3b\x03\x22\x47\x85\x6b\x1c\x74\x1b\xca\xe3\xf2\xae\x76\xf9\xd8\xc5\x32\x3d\xa7\xd8\x8a\xb6\x06\x74\x18\x12\xfa\x20\xb6\xe3\x69\x9d\xb7\xd6\x0d\xe8\x40\x91\x51\x53\x9f\x87\x8c\x7f\x15\x51\x36\xc4\x66\x54\x7d\x55\x47\xac\x19\x5d\x40\x41\x1d\xa4\x7a\x31\xde\x43\x0f\x74\x51\x3d\xfe\xab\x16\xd8\xbe\x73\x4f\xbe\xa0\x94\x12\x4c\xd4\xf8\x3b\xae\xf1\xb7\xaa\xf1\x37\x4a\xe9\x50\xa0\xff\x1a\x8f\x2b\x28\xa5\x6a\xfa\xcb\xdf\xe3\x71\x05\xd6\xa6\x50\x46\x62\xca\xe2\xbf\x6a\x64\x26\x65\x24\xa6\x2c\xfe\x4b\xd5\xc8\x50\x46\xa6\x52\x46\x4c\xca\x52\x63\x85\xa8\x3f\x12\xf5\x27\xfc\xbf\x62\xa6\x4c\xa9\x37\xd1\x7f\x21\x73\x04\x10\xf5\x07\x4a\x0f\x12\x12\xff\x99\x1e\x4a\x44\xff\x95\x1d\x2a\x24\xf9\x3b\x26\x3e\x35\x6e\x26\x56\x64\xe6\xe7\x7a\xea\x57\x6d\x48\x1a\xa9\x82\xa6\xc1\x0d\x26\x88\x4c\x58\x26\x15\xc6\xd3\x02\x30\x8a\x7a\x24\x3f\x30\x49\x59\xbd\x49\xa3\x56\xe1\x8b\xee\x36\x41\x3d\x35\x26\x86\x04\x3b\x04\x8c\xf6\x6b\x16\xe3\xc3\xd1\x42\x07\x35\xcb\x27\x9e\x85\x0e\x95\x8a\x5b\x11\x2c\xb4\xa7\xb6\xd2\x26\xf6\x8d\xdd\x4a\x2c\x22\x2c\x18\x21\x45\x6d\x71\xae\x66\xfb\xb2\x75\x15\xef\x0b\xb3\x05\xc0\x08\x76\xb1\xa5\x21\xff\x8b\xaf\x70\xb8\x89\x0a\x09\xe4\x43\x19\xc4\xdd\x39\x1e\x57\xab\xfb\x27\xb2\xd7\xcf\x69\x87\x94\x4a\xd5\xfd\x83\xd3\xe4\x37\x2c\x95\x40\xfc\x03\xef\x56\xcd\x49\x42\x86\x3a\xf4\x49\x72\xba\xd3\x17\xb3\x0a\x5f\x6c\xc9\x43\x9e\xe7\xe9\x43\x1e\xae\x7d\x8f\x24\x75\xc6\x43\x92\x8d\x6c\x25\xe2\xbe\x9a\x99\xf4\xe4\xe2\x07\xf4\xe7\xa3\x61\xe5\xc3\x20\xde\x75\x17\x16\x53\xef\xa4\xcb\x5d\x44\xbc\xb3\x13\xc8\x82\x33\xbd\x05\xce\xb5\xba\x5c\x7e\x54\xe8\xe4\x19\xac\xfd\x90\x9a\x8e\xee\x85\x17\x4c\xec\x50\x46\x35\xc5\x24\x48\x2b\x6d\x92\x20\x4c\xa7\xfe\xf3\x2c\x13\x1a\xf7\x83\xc4\xc1\x30\x1c\x2a\x9e\x1d\x47\x91\xde\xde\xab\x24\xc0\x1f\x49\x2a\x7a\x43\x30\x53\x88\x37\x05\x6c\x47\x1d\x4a\x21\x97\x8f\xb2\x06\x6d\x22\x07\x9f\x03\x17\x31\x78\x0c\x02\x5c\x39\xc1\x0e\x2c\x95\x26\x0e\x9c\xfc\xe4\xc4\xc9\x45\x0e\xaa\x42\x14\x94\x4a\xe0\x9e\x00\x26\x1c\x49\x89\x29\x76\x4b\x41\x87\xf4\x09\x23\x45\xd5\x00\xb1\x5b\xbb\xbb\xd0\x3c\x3a\xea\x92\x64\x97\x47\x3b\xee\x72\x4f\xd4\x88\x61\x73\x25\xa5\x8e\xd8\x1e\xe5\x1c\xec\x38\x76\x58\x2a\x39\x89\x18\x85\x3f\x1e\xf7\x10\xde\xd9\xa1\xfc\xf7\x19\xc6\x81\xde\xf1\x70\xa3\x78\xc7\xe3\x87\x39\x36\x9c\x4e\x07\xa7\x63\x98\xa5\xa6\xa8\x06\x8d\x43\xa9\x63\xa0\xe3\xee\x1a\x4e\x93\x3b\x72\xc6\xcf\x78\xa3\xb5\x55\x2e\xeb\x13\x79\xc5\x1a\xc7\x16\xef\xb6\x9c\xf8\x75\x3e\xef\x34\xfc\x26\xa2\x7c\xfa\x12\x5a\x02\x61\x0d\x00\x79\x79\xa8\x43\x00\x8b\x95\x10\x39\x88\xeb\x9a\x0b\xa1\xfd\x80\xc5\xe9\x12\x5f\xc8\x33\xee\xa4\xca\x81\xd1\x32\x07\xc6\x60\xea\x80\x18\x90\xd4\x82\xec\x5d\x6a\x44\xb8\x5d\x10\x94\x4a\x81\x4d\xbd\x36\x81\xaf\xcd\x4f\xf1\x18\x97\x3a\xe0\x86\xe2\x5f\xde\x7e\x3a\x34\x59\x6f\x4e\x89\xc5\x90\x44\xde\x70\x9a\x29\x24\x14\x3f\x10\x40\x21\x12\x3b\x51\x7d\xd2\xac\x13\xbb\xcb\x25\xaf\x57\x60\x0c\x22\x8a\x76\xaa\x68\x08\x02\x58\xdf\xd9\x89\x77\xec\x6b\x92\xff\xda\x2b\x4d\xd7\x4e\x55\x60\x35\x8e\xa9\x48\xfa\x9c\x8a\x2b\x07\x4b\xc7\x7d\x5d\x79\x0f\x4e\xdf\xed\x14\x85\x05\x2b\xf2\x4e\xb7\x74\x17\x0d\x81\xcb\xdb\x73\x8d\xf6\x5c\x14\xe2\x7f\x88\x8a\x0c\x08\x79\x2f\x37\x5a\xa4\x89\x65\xb8\x95\x18\x7e\x10\xed\x00\x8a\x85\x2b\x0c\x64\xcb\x3e\x72\x20\x94\x63\x18\x72\x79\x4e\x5e\xff\xb9\x20\x88\x61\xdf\x88\x5b\xca\x1e\x3a\x03\x26\x7a\x9c\xc5\x2a\x8d\xa8\xb9\xcb\xa6\xce\x9a\xc5\xad\x99\x69\xe0\x30\x09\x4c\x4f\xce\xd8\x01\x94\xf1\x9b\x3f\x1f\x71\x80\x02\x65\x34\x82\x64\xe0\x70\xb5\xca\xfa\xf4\xd0\x23\x7c\x99\x82\x7d\x88\xe2\xe3\x3a\xb7\x54\x02\xdc\xeb\x82\x39\xf0\x80\x19\xa3\x24\xad\x3a\xc4\x76\x18\x73\xda\x3d\x01\x0f\x53\xbf\xc0\x35\x49\x55\x84\x28\x50\xe7\x31\xe2\x54\x9d\xb7\x62\x2c\x71\x88\x5a\x5a\xc4\x34\xa6\xba\x38\x4b\x51\xd1\xf1\x3a\x45\xa3\xad\xa2\x13\x90\xe2\xd0\x8b\x8f\x9c\x6c\x0b\x16\x52\x2d\x80\xc0\x34\x4a\xaf\xb3\x23\x64\x99\x11\xf0\x7a\x8d\x11\x50\x59\x60\x04\x54\x32\x23\xe0\x66\x1d\x62\x6f\x72\x89\x0d\x70\x2e\x19\x13\x3c\x88\x73\xad\x2e\x02\x0c\xc7\x5c\x98\x1d\x2a\x67\x99\x52\x69\xb7\x7a\x02\x28\x37\x87\x8e\x98\x1e\x98\x6e\x0c\xca\x89\x83\xcf\x0c\x10\xcd\x9a\x68\x1c\x44\xf9\x44\x53\xc1\xd8\xc9\x9d\x59\x58\x3c\xb3\xc0\x9a\xb8\x59\x22\x47\x30\x54\x4e\xbe\xd3\x30\xf5\xac\x89\xb8\x97\x81\x98\x80\xeb\x12\xa0\x45\x27\xee\xa4\xed\x56\x4f\x48\x9d\x35\x88\x5c\xdf\xc0\x52\xe9\x96\x73\x6c\x9e\x1b\x13\x75\xe2\xa8\x03\x7f\xe2\x9d\x7a\x2e\x15\x11\x43\x13\xea\xdd\x5c\x31\x93\x8b\x35\x52\xa9\xc4\xb8\xc0\xe0\x47\xae\xf2\x5d\x44\x8c\x83\x47\x6a\x2e\xc8\xc4\x40\x15\xaf\xba\x4e\x2c\xa3\xeb\xb9\xa5\x80\xd3\x4e\x74\x2f\xc1\x1a\x5f\xda\xc7\x5a\x5f\x4f\xfd\xe2\xe3\x8d\xf2\x41\x56\x63\xa6\xe6\x97\x4a\x2c\x33\xb4\x26\x4b\x40\x20\x84\xf3\x8f\x88\xb1\xac\x83\x8f\x44\xec\xc2\xf1\xfe\xa0\x76\x4b\x5c\xb2\x8d\x5d\x16\x26\xac\xa5\x10\x1e\xac\x09\xa7\x27\x32\x8f\x6b\x49\x26\xb4\xbf\x38\x20\xf5\x01\xe1\xf2\x16\xff\xc5\x16\xf5\xac\xb2\x11\x2e\x71\x69\xb8\x07\xf1\x7a\xd0\xed\x82\x39\x5d\x2c\x75\x9e\x61\x11\x09\xd0\x76\x18\x80\x48\x05\xda\x6a\xe5\x27\x7a\xe3\xce\xc1\xbc\xbb\x0b\x4e\xca\x7f\xa0\xa5\x92\x74\x31\x80\x83\x3f\x13\xe0\xa0\x40\x5c\xaa\x29\x95\x76\xaa\x3b\x18\x3b\xf1\x26\x96\x6b\x1c\xc0\xa6\x9c\xad\xc4\xc3\x13\xfd\x7a\xa6\x56\xc4\xc9\xee\xfc\x83\x50\x2d\xc2\xad\xb3\x50\xf1\x00\x99\xc7\x1d\x17\xc9\xe6\x05\xd7\x27\x7d\x9f\x43\xb8\x3e\x7e\xb2\xa6\x1f\x8f\x3d\x60\xc9\xdb\x50\xb6\x98\xdd\x2c\x58\x90\x7e\x44\x9b\x77\x51\xe2\xdd\x07\x4a\x6c\x3b\xa0\x72\x4a\xb5\xaf\x3d\x1e\xcb\xfd\x5d\x6a\xba\xf0\x50\x2c\xc6\x95\xa8\xab\xbc\x8e\xe8\x65\xed\xab\x8b\x5b\x03\x86\xb3\x3e\xb9\x36\xe7\x3d\x14\x01\x57\x22\xc7\x19\xe4\x42\x57\x52\x0b\x86\x0a\x8c\x78\x57\x51\xee\x40\xb9\x98\xd9\xce\xb1\x7b\xec\x62\xd7\xf6\x9d\x80\x78\xec\x3d\x6f\x53\x1d\x60\xb8\xf2\x34\x24\xde\xc0\x70\xe3\x0b\x34\xbb\xd5\xe3\xca\x09\x76\x8f\xdd\xdd\x5d\x38\x62\xb6\x83\x29\x77\x13\x65\xe7\x5e\x12\xc0\x7f\x21\xc2\x0d\x27\x83\x85\x00\x07\xa5\x92\x23\xda\x94\x6e\xa6\x46\x22\x4e\xe0\x75\x65\x94\xaa\x58\x95\x81\x98\xa2\xa2\x0e\x41\xd1\x7f\x88\x6e\x57\x12\x97\x9e\x9b\x69\x2d\xfe\x31\xf4\x9d\x53\xce\x07\x07\x34\x82\x57\x7e\x90\x3a\x11\x96\x46\x6c\x34\x7e\x20\xd8\xba\xbb\xd3\x0e\x9d\xe8\xd0\xf0\xae\xeb\x4d\x8f\x66\x4b\x7c\xba\x07\xa3\x21\x33\x3a\xae\x0d\x08\xac\x93\x1a\x20\x8d\x0f\x7c\x95\x2a\xff\xc5\x66\xf4\x74\xac\x91\x3d\xc7\xeb\xf4\xa5\x75\x01\x0c\x46\x10\x09\x58\x83\x99\x73\x02\xe0\x88\x1a\x7b\x69\x50\x47\x12\x28\xd7\xc8\x28\x7b\x2f\x5c\xe3\xa4\xee\xef\x24\x09\x41\x7d\x5f\x30\x17\x24\xe3\xb1\x38\x93\x9b\x58\x7f\x33\x28\x35\xb9\x47\xc4\x65\x82\xd8\xa3\x60\x66\xf0\x4f\x8f\x40\x16\x6f\x0a\x26\x9b\x4f\x89\x75\x0d\x30\x2b\xec\x64\x02\x79\xf5\x91\x1a\xb7\xfa\xb8\x7a\xec\x4e\x04\xeb\x09\x55\x10\x70\x62\xa5\x14\xe0\x18\xa0\xe1\x36\xa1\x38\x4a\x0d\x1a\xb4\x99\xb9\xa1\x77\x66\xce\xab\x14\x9f\xf1\x49\x75\xa1\x2d\x69\xee\xbb\x89\xeb\x90\x0a\x2f\x8c\x22\x10\xf3\x2e\x0c\x6d\x00\xa3\x37\x84\x2f\x37\x6c\x07\x13\xe9\x03\x30\x88\x78\x91\x74\x89\x4d\xd3\xf1\xc6\xb0\x98\x5c\x5c\x58\x38\x1a\x8d\x78\x82\x6e\xc2\x91\x69\x17\x0b\xc9\xa2\x6b\xa7\x82\x32\x1e\x42\xb9\xec\xe8\xd3\x0d\xee\x23\xf0\x7e\xf2\x4b\xa5\x1d\x9f\x5b\x46\xdf\xb0\x96\x12\x28\xc4\x7e\x62\xf5\x3c\xec\x73\xab\xe7\x0b\xab\xe7\x73\x73\xc7\x57\xa3\x76\x17\xf9\xdc\x92\x0a\x33\x1a\x4a\xf6\x3d\x14\xc0\x52\xc9\x8d\xcc\x79\xe2\x3b\x31\x22\x2c\xb3\xfa\x0c\xa9\x98\xba\x7f\x88\x4b\x03\xa6\xcb\x68\x06\x86\x26\xd3\xb2\xa9\xd8\xf9\x0b\x83\x7e\xec\x35\xaa\x7e\xe6\xde\x21\xc7\x6f\x56\x45\x24\xb6\xfa\xfb\xd5\xc3\x17\x87\x47\x07\xcf\x0f\x5f\x9c\xe8\x5d\x7c\x58\xdf\xad\xd6\x42\xe3\xfe\x17\xa7\x7f\x3c\xae\x18\x1d\xf3\x36\xe6\x49\xed\x34\x86\x84\xa9\xae\x52\x57\x05\x74\xbc\x40\x5c\xe5\x5b\xb2\xda\x8f\x03\x02\x5b\x58\xc7\x05\xf6\x72\xae\xce\x9d\x99\x1b\xe8\x66\xb8\x9e\x38\x81\xc6\x2c\xea\x82\x73\x82\x28\x81\xe8\xdc\x58\x04\x73\xdf\x84\x77\xff\x79\x66\x61\x9c\x72\x35\x26\x56\xc9\x70\xf4\x4e\x05\x52\xe9\x82\x28\x8d\x21\xc7\x5f\xc9\x41\x72\x33\x81\xe4\x6d\x8a\x0c\xe9\x57\xbc\x4d\x23\x0e\x09\xcb\x5d\xb5\x07\xe3\xf1\x47\x00\x91\xf2\x0d\x75\x74\xcc\x19\xc9\x89\x00\x9f\x16\xe3\xc2\xa5\x26\x97\xd7\xff\x91\x71\x9d\x67\x04\x58\x37\x97\x7f\x5d\x7e\xbc\xb4\x50\x95\x1c\x40\x74\x95\x94\xcb\xdb\xdf\x16\x7a\x51\xa9\x40\xf4\x29\x29\x7f\x7d\xf5\xfe\xd2\x42\xcf\x2a\xa6\x8d\xbe\x4b\x39\x3f\x76\xbb\x4e\xec\x76\x8d\xd8\x4e\x9d\x7f\xb0\x1d\x58\xcb\xdc\x38\x90\xba\xca\x31\x5e\x02\xeb\xb5\xe3\xf6\x87\x01\xb1\xca\x80\xd4\xad\x5a\xd1\x2a\xcb\x03\x8c\x85\xe2\x89\xab\x10\x46\xc0\xfa\x48\x29\x2b\xf6\xe9\xfd\x3d\x11\x91\x0d\x45\x8f\xca\x78\xbf\x62\x48\x98\x6d\x41\xf5\xce\xd5\x37\x53\x54\x7d\x7a\x9f\x91\xb2\x72\x49\x84\x36\x9d\xe2\x3b\x65\xf3\xd5\xfd\x05\x6e\x4a\xd2\x83\x95\x49\xff\x4c\x04\x27\x48\xe1\x88\x51\x90\xac\x79\xa4\x6e\x43\x24\x86\x34\x9f\x7c\x21\x92\x67\x15\xc7\xf4\x18\x52\x4c\x6d\x47\x76\xc5\x7b\x82\x7e\x12\x3c\x8a\xd0\x5f\x44\x5e\x5f\x8c\xa5\xfa\x9b\x9e\x59\x44\x68\x04\xbd\x07\x9f\xcc\xd0\x9b\x18\xec\x17\x92\xba\x98\xf0\x37\x89\x83\x2e\x94\x4f\x26\xdd\x48\x28\xce\x14\x46\x11\xfa\xc2\x01\x38\xf1\x8d\x8a\x18\x1a\xac\x51\xe5\xff\x42\x71\x86\xe1\x60\x4e\x7a\x82\xed\xcf\x34\xf2\x3f\xd2\xb3\xbe\x40\x05\x45\xb8\xeb\x59\x9b\xb9\x0f\xe4\x8b\x4e\xb3\x23\xaf\x9a\x7c\x79\xf7\xf6\x37\xc6\x7c\x15\xf7\x96\xa0\xf9\xa2\x97\x1a\x3b\x84\x7b\xd9\xc6\x15\xeb\x78\x92\x4c\x57\x4d\xc1\xc4\x06\x30\xd5\xa6\x79\x3a\xde\xb0\xde\xdd\x7c\x79\xf7\x76\xdf\xe6\x58\x6e\x6f\x3f\xd8\xcf\xed\x8a\x85\xb2\x85\x07\x39\x85\xbc\xc0\x6d\x07\x34\xa4\x5d\x16\x97\x35\x91\x0c\x41\x62\x66\x08\x92\x9e\x84\xf9\x74\xc9\x7d\x47\x23\xd6\x37\x2d\x0b\x11\x8b\xde\xc2\x81\xb9\xf9\x9b\xbe\xbd\x47\x87\xfd\x8e\x08\x1c\x6d\x07\xc4\x61\x24\x5d\xdf\xd6\x3f\x8b\x03\xf7\xbe\xc7\x8a\x2d\x52\xec\xb8\x21\x5f\xea\x77\x50\x91\x06\x45\x41\xbf\xfa\xc6\x71\xb4\xd4\xdd\x91\x7e\x9f\x74\xac\x24\xfd\x8b\xdd\x4a\xc4\xff\x6f\xd3\x94\xb6\xe2\x1d\x56\x27\xde\xea\x6b\xe3\x8a\xf2\x64\xb2\x0e\x04\x9f\x28\xab\x27\x72\xb0\xd0\x7f\xed\xc3\xec\xd5\xac\x07\xe2\x15\xe5\xf2\xb1\x48\xbb\xf1\xac\x13\x1a\xf1\x3e\x01\xae\x1c\x07\x27\xf4\x38\x28\xe3\x7d\x79\x83\x94\xcf\x16\x89\x1f\x12\x34\x91\xf1\xa3\x5c\x6d\xaa\xb4\xac\xa4\x54\x62\x4c\xa7\x83\x49\x78\x21\x4c\x5f\x74\xb5\xdb\x3b\x5c\x81\xe3\x6b\x09\xe9\x60\x09\x79\x77\x38\x73\xdb\x38\x50\xab\xf6\x02\x65\x80\xd8\x2d\x31\x5d\x03\xb1\xa1\x5b\x2e\x37\x71\x00\x11\x2b\x97\xa3\xa4\x16\xa6\x51\x5e\x43\xd2\xc7\x18\x45\x05\xe9\xee\xb3\x89\xb6\x28\x03\x2e\xd2\x6d\x89\xed\xd5\xb8\x09\xe4\x36\x82\x26\xae\x8a\x96\x0a\xa9\x96\x12\x16\x19\x4b\x72\x2a\x98\x2e\xe2\xbf\x09\x4c\x82\xa8\x98\xdd\x05\xdc\x95\x17\xc2\xd5\x2d\x07\xe5\x32\x14\xf9\x45\x00\xe5\x72\x15\x49\x8a\xc4\x9f\xfa\x4e\x6f\xec\x09\x32\x0d\x87\x98\xf0\xd3\x92\x38\x04\x96\x8a\x4f\x5b\xc8\xed\xe3\x15\xa2\x5f\x72\xa6\xba\x2e\xf8\x93\xa0\x5f\x08\x44\xef\xa5\xc9\xfc\x93\xa0\x7f\x93\x39\x81\xb5\x84\x99\xde\xb7\x13\xbb\x77\x51\xba\xea\x3d\xc9\xa6\xe7\xd2\x5b\x86\xb2\xbe\xdd\x42\x04\xca\x3b\xbc\x2d\xbe\x28\x67\x99\xfa\xd9\x69\x17\x8e\xcc\x8a\x2a\x96\xc2\x6e\x97\xcb\x9a\x0e\x75\x43\x5e\x1f\x09\x8a\x88\x9d\x0c\xce\x2e\x0d\x2e\x9d\xd4\x65\xca\x74\x04\x35\x53\xb7\x4e\xf3\xba\x2d\xce\x86\xc0\xc7\x83\x84\xe4\x9d\xe7\xc2\x42\x7c\x3d\xd5\x41\xae\xca\x66\x26\x67\x92\x80\xe1\xbd\xff\x03\xf5\x1a\x68\xfc\x5f\x6d\xaf\xfe\x3f\x76\xb3\x0c\x6b\xb0\x0e\xea\xb5\xaf\x7b\x5f\xf7\x64\xf9\xd7\xaf\x7b\xf5\xff\x69\xfe\x0a\xff\x17\xd6\x93\x5f\x75\x08\xea\xb5\x1a\x68\x54\x76\x5f\x36\xcb\x90\xd7\xc0\x0d\xf9\x69\xfc\x0b\x14\x80\xf5\xff\x69\x96\x25\x26\xfe\x8b\x23\x10\xbf\xfe\x47\x47\x43\x42\x58\xff\x65\xcf\xc8\x01\x22\xc6\xe4\xf9\xe4\x7a\xaa\x27\xd2\x6c\xc9\x0d\xe7\x7f\x2b\xf7\xed\x02\xab\xe5\xba\x36\x3d\x3a\x18\xe0\xdc\xf4\x03\x65\xd1\xef\xb2\x88\xc6\xb1\x00\xf7\x3a\x50\xc0\x8d\x8b\x7a\x12\xe6\x4a\xfe\x33\x90\xff\xbc\x89\xb1\xc6\xe1\xe2\x43\x03\xef\x37\xec\xa8\xb3\x89\x57\x12\xfe\x37\x71\xc2\x05\x5c\x86\xce\xd5\xd1\xa4\xc3\x78\x0b\x3e\xc3\xae\x79\x51\x26\x4c\x94\xa6\x48\x40\xfc\x82\xbb\xdb\x05\x7f\x91\xf1\x18\xfc\x25\xd5\xfc\x1b\x01\x22\x06\x8d\x34\x2c\xab\x89\xff\x22\xe8\x2f\x62\xb7\xf1\x15\x91\xdb\xed\x3f\x09\xb7\x0a\x70\x44\x35\x2c\xd3\x3b\x1b\xcc\xee\x3b\x21\xbb\xd2\x17\x86\x64\x04\x17\xb3\xc3\x61\x2b\x64\x01\x08\xca\x55\x71\x9c\x45\x40\x5c\x54\x41\x01\x84\xd0\x6e\x8d\xc7\x20\x10\x86\x1d\xa2\xc0\x6e\x35\xdc\x26\xa6\x88\xda\x0e\x0e\xd0\x4f\x99\x9a\x26\x8a\xf7\xd3\x81\x75\x4f\xe9\xbd\xed\x11\x66\x7f\xe9\x05\x57\xd4\x82\x05\x9f\xd9\x2d\x1c\xca\x7b\x86\x1e\xd7\xa9\x1e\x63\x7e\x58\xff\x65\xcf\x45\x3d\x3e\xb7\x7e\xb8\xbe\xb9\xb5\x90\xf5\xe1\xd3\xad\xd5\x4c\x3a\x5d\xcc\xfa\x7a\x9d\xae\x6e\x8f\xec\x8a\x23\x09\x2c\xce\x9a\x8c\xb0\x45\xe3\x7a\x9c\xb2\x2e\x44\xf6\xbb\xd8\x53\xe5\x8b\x13\x79\x94\xe8\xd8\xe2\x56\x86\x48\x7d\xd6\x53\x3b\xf4\x2e\x66\x88\xd8\xf7\xf8\x19\xea\xf3\x06\x51\x47\x5c\xc0\x8e\x11\x8a\xc2\x11\xb1\xdf\x08\x2b\xfb\x86\xe3\x11\x0b\x74\xab\x4d\x07\x3e\xf7\x9c\x2d\xa8\x0a\xe4\x3d\x13\x73\x4b\xe3\xd1\x98\x4a\x8c\x3b\x85\x3e\x14\x45\xe7\x8d\x6a\xb3\x54\x3a\xc4\xf8\x07\x13\xfe\xd3\x3e\xc6\x46\x58\x39\x80\x90\xbb\x6b\x76\x0b\x75\x39\x4b\x96\x08\x96\x2d\x06\xea\xf6\x88\xbc\xe1\xd1\x21\x4c\xde\x5b\x76\xbc\x4e\xd1\xbd\xf7\xc4\x85\x18\x33\xbb\x82\x3d\x48\x1a\x80\x7c\xa1\x68\xff\x81\x2a\xe6\x0e\x81\xa4\x5c\x5c\xe3\x17\x77\x9f\x65\xec\x8a\x05\x51\x5c\x6b\x94\xa2\x42\xdf\x5e\x49\x98\xe7\x22\xe4\xa2\x16\x2e\x8b\x98\x1d\x11\x4d\xf3\x51\x88\xd3\x38\x50\x75\x79\x68\xbf\x52\xa9\xa9\x3f\xaa\xfa\x8f\x7d\xfd\xc7\xa1\xfe\xe3\xb9\xfc\xe3\x40\x97\x54\xf7\xf7\x0f\x6a\xf1\x0e\x5d\x36\xa3\x43\x20\xc2\x5c\xba\x60\x07\x30\x1c\xa8\x04\xed\xae\x4c\xfb\x22\x2e\x56\xe9\x1d\x4c\x1d\xc7\x68\x53\x68\x0f\x84\xff\x14\x30\xd8\xa8\x36\xa5\xc9\x90\x07\xa6\xa5\x12\xf7\x21\x44\x82\x24\xf1\xaf\xdd\xa7\xf2\x4a\x91\x44\xe2\xe1\x4c\xb1\x1c\xbf\x6d\xda\x2f\x38\xd8\x4b\x86\x8e\x97\x5c\x4f\x8e\x5c\xbc\xe3\x31\x9b\x91\x90\x01\xa7\xee\xa4\xb5\x97\xaf\x4e\x22\x86\xdd\x48\xe4\x38\x9a\xa2\x5d\xe1\x50\x5c\xa8\xb2\x74\x6a\x0c\xfb\x1e\x3f\x8f\x65\xde\xc3\xfb\x27\xa2\xbb\xea\x5c\xc7\x43\x21\xf8\x5b\xf2\x93\xd5\x2c\x4b\x39\x89\x2c\xee\x48\xeb\xdc\xf1\x84\x5f\x77\x4f\x58\x51\x82\xf2\x35\x12\xd3\x77\x75\x20\xea\x61\xcb\x8a\xf8\xc0\xe8\x95\xad\x62\xc3\x2a\xa7\x7a\xb3\x6c\x35\x2d\x39\x52\xa2\x48\x3c\x39\xdf\x7f\x1c\xc9\x21\x63\x38\x18\x9d\x44\xf1\x1d\x38\xba\xe7\xbf\x0a\x7a\x9f\xdf\x11\xfa\x71\xde\xa8\x34\xeb\x3d\x19\x19\x15\xcf\xe6\xc4\x3e\x97\x7f\x18\x6a\x69\xc9\x68\x3a\x66\x53\x2f\xab\xa6\x98\x26\xcc\x89\xbd\xce\x16\xd4\x0b\x9b\xff\x10\x64\x7d\x08\x68\xab\x4f\x06\x45\xe2\xb5\xe9\xd0\x63\x24\x20\x9d\xa2\x58\x0d\x33\xd7\xbb\x2f\x4e\xa2\x4b\x49\x21\x5e\x15\x19\x5c\xdd\x2b\x53\xe0\xf0\x56\x5e\x49\xc7\xce\xa6\x1e\x93\xbb\x18\x72\x23\x1f\x11\x7b\x58\x2a\x81\x50\x3e\x4d\x1c\x6f\x70\xd8\x43\xf1\x45\x45\x60\x25\x21\x0a\x2c\xb5\xcc\x75\x44\xf7\x09\xba\x6e\x44\x26\x02\x33\x40\x81\x19\xdb\xdc\x8e\x31\xac\x8d\x3b\xe6\x18\xcb\xeb\x53\x8e\x79\x85\xe6\x37\x99\xd7\x92\x41\x58\x97\x3c\xd5\x8c\x33\x83\x6e\xda\x19\x63\xba\xc3\x7f\x2f\x5b\x7c\xdd\x6c\x53\xf5\x6f\x46\x01\x22\x73\xce\xb2\xdf\xa6\xce\x70\x63\x2b\xa7\xf3\xf1\xe8\xbb\x60\x2e\xb6\x6e\xf5\xa5\xb7\xa2\xd3\x65\x24\x28\xaa\x4c\x21\xfd\xb2\x35\x08\x91\xbc\x31\xe7\x7a\xf7\xf1\x54\x7c\x84\x7e\x23\xda\x65\xea\x2a\x57\x5d\xa2\x82\x62\x58\x88\x02\x4b\xc9\x5f\x87\x28\x4a\x0b\x7f\x04\x61\x84\x52\x54\x8a\xf2\xc9\x3c\x29\x3a\x6d\x50\xbb\x54\x02\x93\xad\x59\x67\x9a\x26\xed\x97\x25\xee\x84\x98\x53\x94\xef\xa6\xa7\x15\xfd\xa1\xaa\x59\x20\xe3\xf1\x8b\x84\xd4\xf4\xa8\x96\x65\xa2\xaa\x25\xe6\x1d\xb5\x25\x9e\xa6\xfb\x8f\x89\xb0\xa7\xd7\xda\x79\xbc\x1a\x8f\xa5\x4f\xa2\xfe\xed\xd5\x1f\x15\x12\x99\x9b\xe2\x1a\x4c\x60\xbb\x36\xb1\x69\xe8\x0c\x4c\xee\xd5\x26\x63\x45\x2a\x6c\x8d\xa8\x58\x57\xec\x2b\x33\xb2\x5b\xcd\xe6\xc1\xd9\xad\x2a\x57\xb2\x25\x76\x0a\x06\x2c\xb3\x23\xf1\x8e\xa9\x58\xdd\x01\x83\xa3\x01\xd3\x6b\x1e\x19\x08\x60\x9d\xbd\x3a\xbf\xb8\x7c\xfd\xe6\xb7\xab\xdf\xff\x78\xfb\xee\xfd\xf5\x87\x3f\x3f\xde\xdc\x7e\xfa\xeb\xf3\x97\xbf\xff\xed\xb4\xda\x1d\xd2\xbd\xef\xb9\xdf\xbe\xf7\x07\x1e\xf5\xff\x13\x84\x6c\xf8\xf0\xe3\xe7\xe3\x3f\x95\xea\xfe\xc1\xe1\xb3\xe7\x2f\x8e\x5e\xc6\x37\x48\x44\xfe\x86\x86\x55\xde\xc3\x16\xb2\xca\x7b\x16\xb2\x76\xef\xb0\xf8\xaf\x2d\xfe\xab\x96\xe3\xcf\x4e\xa9\xb9\x0e\x27\x7a\x61\xc0\xd7\x2f\x09\x2a\x58\x68\x31\xb1\xfb\x5c\x48\x87\xe0\x04\xa9\x0d\x71\x39\xd7\x04\xe2\x6c\x45\x87\x05\x0c\x58\xc3\x69\x96\x4a\x40\xfc\x8b\x5d\x6e\x5a\xc4\x51\xc6\x2b\x4e\x5c\xca\xbf\x41\xd6\x7d\xe0\xb7\x77\xa5\x54\xf5\x2f\x65\x98\x4c\x0f\xe9\x75\x92\x84\xcc\xc1\xc4\xbe\xd5\x0e\xa9\x11\x84\x1b\xaf\xc0\x7b\xf1\x5f\xf7\xf1\x5f\x5d\x63\x7d\xae\xff\xfa\x16\x2b\xaf\xab\x1d\xdb\x81\xf0\x23\x3f\x9b\x09\xbf\xd4\x6e\xa6\xed\xe4\x38\x0f\xa9\x0b\x06\x2a\x5e\xce\x76\x44\xb0\x1c\xd6\x36\x6e\xd2\x3e\x59\xea\x8d\xda\xdd\x5b\x11\x74\x22\xcf\x94\x47\xf2\x4c\x4d\x1e\x64\x99\x53\x26\x4c\x3b\xb2\x4e\x72\xeb\x77\x4f\x08\xeb\x07\x69\xed\x32\xf2\x93\x59\xa8\x02\xe1\x48\x12\xa0\x27\x4b\x8a\x13\x4b\x2b\x49\x58\x68\xaa\x4c\x01\xa7\x27\x4c\xbe\x7c\xe0\x93\x37\xe5\x94\xd2\xf1\xd8\xb2\xe2\x5b\xab\x3a\x32\xeb\x5f\x87\x48\x33\xa2\xfc\x03\x66\xbb\x88\xee\x32\x6e\xcb\xf4\xc2\x5f\x8e\x99\x02\xb3\x5d\x4c\x11\xc9\xc9\x4c\xa4\xb1\x21\x8a\x0f\x7e\x65\x7b\x87\x05\xfa\xaf\x83\x3a\x95\x77\x30\xba\x7d\xca\xd7\xde\xb0\xf6\x06\x58\xd8\xb6\x10\x69\xb0\xdd\x6a\x53\x1c\x23\x62\xa3\x68\xbf\x09\xeb\x74\x77\xbf\x46\x77\xab\x7a\x55\xc0\x7b\xf7\x93\xeb\xb1\x23\x19\x05\x41\xf9\xa2\x60\x32\x73\x66\xf6\xf6\xbf\xce\x67\x1c\x24\xd1\x67\xc9\x89\x6e\xbb\xe7\x04\x67\x0c\xf0\x75\x27\x72\xb9\xe6\xd3\x66\x72\x49\xc6\x8d\xe3\xcc\x84\xbb\x65\x5c\x86\xfb\x65\x4f\xba\x48\x14\x66\xf7\x81\xbe\x7b\xf4\x87\x57\x6c\x39\x21\x79\x7e\x28\x66\xf4\x0e\x9f\xc4\x1d\x56\xe4\x2d\xf1\xee\xa0\xf1\xce\x14\x8b\xde\x99\x87\x35\x7c\x29\x7c\x1c\xaf\x7e\xc1\x6e\x15\x22\x07\x53\x50\x81\xc8\xc7\x14\x3c\x3f\x84\x28\x94\xff\x72\x62\x9e\x1f\x62\x8c\xc3\x52\x69\xb7\x8a\x31\x76\xf5\xd5\x10\xe0\x9e\x9c\xec\x8f\x9d\xd3\xd3\x43\x88\x9e\x1f\xee\xf0\xa9\x0d\x30\xe0\x9c\x9c\x1c\x96\xf6\x0f\x2b\x63\xff\xf4\x74\x5f\x7e\x08\x4b\x25\x06\xfc\x93\x93\xe7\xa5\xea\xcb\xfd\x31\xb7\xe5\xe9\x0b\x37\xdc\x2e\x36\xdc\x72\xb9\x89\x49\x04\xf9\x52\x2a\x1c\xb6\x44\x76\x12\x50\x41\x2e\x8c\xb8\x17\xa5\x8f\x68\x2a\x3b\xbc\xb7\x67\x29\xb9\xd0\x6d\x33\xdd\xd8\x2d\x03\x0c\x8d\xda\xb4\x43\x6a\xfb\x48\x29\x67\x2d\x96\xdd\xb9\x61\x61\x8a\x01\x69\x13\xf7\x81\x74\x6c\x0b\x0d\xd4\x8d\xd9\xda\x28\x8a\x60\x81\x64\xb5\x21\x35\x61\x06\x8f\x3a\xe0\x28\x95\xda\xc6\xed\x02\x4b\x0f\x0f\x4b\xc5\x4b\x26\x4e\x4d\x3c\xcc\x0a\x3a\x87\x80\xfd\x4d\x2d\x04\x1c\x26\x5c\x7b\x4b\x0c\xd5\x5a\x4e\x15\x3e\xd8\x64\x42\x37\x21\xa6\x96\x48\xd4\x6c\xd5\x78\x83\x03\xfa\x8f\x36\x21\x82\x52\x99\xc4\x39\xa7\xf9\x7c\xc0\x48\x8f\xa8\x56\x1c\x00\x56\x2a\xb1\xd8\x79\xd4\x35\x44\x0c\x9c\x70\x81\xbe\x95\x2d\x7d\x1d\x3f\x1c\xfa\xbe\xb8\xdc\x5f\xa4\xf2\x20\xa4\xd8\x0a\xe8\x8f\x90\x04\x96\x76\x1b\xc5\x09\x41\x62\x4f\x54\x0b\xb3\xcc\x4a\xc6\xa4\xc8\xec\x65\x80\xd9\x0e\x84\x11\x35\xd2\x10\x4e\x4f\x89\x45\xe0\x28\xb4\xbb\xe5\x32\xe2\xb3\x01\x08\x6d\xe7\xe4\xe4\x08\x96\x09\x5f\xca\x85\x76\x57\x38\xa5\x2d\xbc\x8f\xe4\x1e\x47\xde\xee\x77\xd2\xeb\x75\x71\x29\x22\xad\x08\xa1\xed\xc0\x1a\x2f\x4f\x7e\x8a\x7b\x4d\xdc\x83\x72\x81\xb9\xec\x0d\x24\x29\xed\x46\x68\xdf\x0b\x5d\x17\x6d\xc6\x90\x66\xf2\x4a\x3d\x41\x8c\xa2\x02\x69\x84\x76\xaf\x89\x43\xbb\x8d\x42\xdb\xd5\xbb\x61\x48\x5c\xc3\x17\x9d\xe5\x20\x1f\x85\x98\x20\x0f\x57\xc4\xe0\x76\x70\x6a\xf3\x32\x21\x75\x3c\x66\x13\x19\x91\xea\xac\x96\xe1\x87\xc1\x63\xef\xc4\xd8\xbe\x55\xca\x19\xc6\xf9\xc4\x0e\x6a\x1f\x40\x88\x1c\xe4\x21\x4b\x5d\x9f\xd6\x09\xef\xe4\x1d\x6a\x2b\x95\x69\xec\xa2\xc6\xed\xbb\x8f\x9d\x86\xd7\x84\xe3\xb1\x8f\xf1\x3f\x75\x3e\xeb\xfa\x09\x16\x57\x9d\xa1\x76\x03\x67\x40\x8a\xad\x47\xe1\x07\x72\xfe\xaa\xa2\xcb\x2a\x88\xcf\xc8\x15\x13\x69\xb5\x46\x81\x40\x98\xce\x69\x16\xa4\x0a\x73\x93\x9a\x0d\x93\xa4\x66\xe2\x66\x58\x90\xe4\x36\xe3\x1c\x46\xdc\xe9\x2e\x23\xaf\x5c\x8e\xf7\xf3\x71\x68\xbb\x48\xe5\x41\xa8\x24\xc9\x91\x55\xcc\x05\x60\xf6\x00\x11\x23\xde\x3c\xdf\xd8\x88\xd6\x8b\xae\x27\x1a\xe5\x16\x3a\xce\x9e\xd1\xa2\x9d\xc7\x8c\xb1\x11\x53\x26\x94\x81\x2a\x95\x63\x92\x6c\x57\x8a\x80\x23\x6e\x03\x39\x26\xda\x20\x4d\xed\x93\xf1\xbf\x1b\x15\x31\x95\x04\x50\xcf\xe7\x2e\x66\x76\x1f\x04\xc2\x7e\xbb\x70\x14\x60\x66\x44\x1b\xb8\xc8\xc7\x95\x63\xff\x24\xb0\x5b\x1a\xbb\x5f\x2e\xc3\xc0\x6e\x35\xfc\x26\x70\x60\xb4\x30\x47\x31\x27\x46\xbe\xff\x20\x9e\x1e\xb3\x86\x34\xe2\xcc\xfd\xa3\xe9\x2f\x95\x2a\x27\x82\xf6\x7f\x9a\xa9\xd3\x84\x00\x5b\x96\x0a\x24\x48\x7f\x16\x81\x11\x41\x59\xdf\x36\xef\x06\x74\x70\xde\x73\x82\x73\xda\x21\x40\x41\x36\x9c\xa6\x9c\xe4\x02\x1c\xa8\xab\xe6\xda\x4b\xfd\x1a\x7c\xf5\x2c\x3e\xcd\x8d\xa2\x98\x7d\x83\x79\x15\x81\x10\x34\xfc\x66\x92\x3c\xa8\x66\xc1\x82\xd3\x10\x65\xd2\x41\x71\xbd\x7b\x50\x41\x21\x54\xb8\x9b\x38\xf3\x2d\x2c\x57\xf5\xb7\x28\xc0\x0e\x67\x03\xf9\x9c\x9f\x94\xf3\xca\x05\x27\x42\xc3\x82\x46\xaa\xbc\xa9\xcf\x9d\xb3\xe5\x30\xe3\xee\x2a\x04\x7e\x8c\x20\xf6\x83\xb3\x18\xe2\x0f\x10\x19\x5d\xa9\xa2\x0e\x1c\x18\x77\xa9\x9f\xf4\x54\x10\x09\x2f\x1c\x42\x64\x38\xb4\xf1\x22\x2d\xdf\x91\xb5\xef\x91\x4a\x55\x32\x8a\x90\x9b\xe3\xa4\x71\x5b\x86\xd3\x8b\xf4\x52\x49\x39\xbd\x67\xfd\x7e\xda\xef\x0d\x01\x94\xfe\x62\xaa\xeb\xe6\x64\x2a\xc8\x73\x99\x48\x83\x36\xa1\x1e\x27\xff\x91\x3f\x91\x8b\x03\x35\x5c\xb2\x31\x43\x5c\x6b\x1a\x55\x5e\x23\x51\x9f\x82\x8e\xf1\x73\x9b\xe3\x71\xa3\x59\xe0\x7f\xf0\x8e\x95\xb6\x38\xc8\x49\x7a\x95\x44\xf1\x09\x71\x14\xe2\xd3\x1f\x02\x03\xbe\x48\x62\x72\xc3\x5e\xa7\x77\x6c\xd0\x26\xa2\x88\x24\x99\x04\x23\xc0\xf2\x73\x46\xab\x0b\xf8\xa8\x68\x89\xe4\x7d\x62\x1e\xe4\x6c\x98\x49\x51\x5c\xa8\xcf\x43\x40\x0a\xc7\x2b\x16\x67\xa4\x06\xe2\xa0\x25\x68\x90\x26\x76\xb9\x19\xe1\x3d\x3d\xed\xec\x44\x0a\xfa\xde\x14\x35\xb1\xef\x1b\xb4\x09\x18\x27\x00\x05\x10\x71\x9f\x6c\x22\x13\xd2\x8b\x9a\x14\x5b\x35\x65\xb9\x8f\x6a\x0e\x3e\x34\x0b\x9e\xd7\x9c\x94\xae\x64\xb0\xec\x57\x74\x46\xa5\x62\x45\xa5\x34\x4a\x4a\x0e\x74\x89\xce\xae\x54\xac\x3e\xd7\x45\x3a\x43\x52\xf1\x85\x2e\xd1\xb9\x90\x8a\xcf\x74\xc9\xcb\xb8\x9a\xc6\x5d\xd5\x69\x97\x8a\x2f\x55\xc9\x7e\x0c\x74\xa4\x4a\x5e\x26\xd5\x54\xf2\xa4\x4a\xa5\x96\x4e\x3b\x54\xdc\xd7\x5f\x12\xca\xe2\xa2\x98\xb2\xea\xa1\x2e\x8a\x49\x3b\x94\xbe\x4d\x6a\xbb\x3b\x33\x9d\x39\xb8\x7a\x18\x55\x2b\x18\x3b\xdc\x2f\xfb\x36\x1e\x1b\x83\xda\x89\x07\xf3\x2d\xf7\x11\xd2\x96\x57\x1e\xee\xf2\x65\x6c\xd6\x12\xb9\xc2\x12\x7d\x64\xbc\xe9\xf4\xc7\x1c\xab\xe3\x8a\x95\x53\x0a\x58\x7f\x85\x42\x15\x62\xcb\x52\x2a\x81\x99\x06\x87\x26\x04\xba\x11\x44\x22\x92\x13\xa2\xcc\xed\xe7\x6c\x52\xea\xb6\x56\x44\x26\x14\xb1\xdd\x60\x4d\xc0\xf5\x50\x8c\x87\x24\xa0\x5d\xed\xdf\xed\x56\x4f\x44\x50\x46\x92\x0f\x44\xd8\x1c\x19\x18\x0e\x18\xaa\x9a\x61\xd9\x2c\x95\xfd\xd7\xe6\x54\x1b\xe7\xbe\x92\x0b\x59\x1c\xb3\xd0\x21\xfc\xe7\xa7\x8f\x57\xe7\x74\xe0\x53\x4f\xc4\x3d\x6a\x67\x55\xd8\xaf\x84\x45\x66\xeb\x3f\x23\x75\x0c\x49\xec\x6e\xfa\xfc\xb8\xdb\x08\x9a\x80\x4a\x2b\xc7\xd2\x0d\x76\x08\x73\xdc\x7e\xb8\x6a\x83\x7a\x18\xf7\xd2\xc3\xb8\xa7\x86\x71\x12\x5c\x6d\xee\x9c\x78\xc0\xea\xd2\x60\xe0\x30\x4b\x1c\xcc\xca\xd5\x48\x1c\xaf\x09\x2c\xee\xee\x07\x24\x0c\xcf\x69\x10\x7e\x08\x48\xb7\xef\xde\xf7\x14\xac\xde\x2b\x69\x63\x11\x5d\xcc\x7a\xe7\x01\xe9\x10\x8f\xb9\x4e\x3f\x4c\x43\xb4\x04\x26\xe1\x47\x5e\x79\x8c\x04\x6d\xe2\x33\x1a\x28\xa0\x64\x6b\xc6\xe3\xae\x9b\x13\x3c\xe6\xc1\x18\xa1\xde\x4c\x87\x18\xe9\x73\xbd\x9c\x44\x46\x80\xdb\x7f\x5a\x0e\x44\x94\xd6\x31\x90\xa7\x81\x2e\x83\xf6\x6f\x7c\x81\xae\x8c\x3d\x2f\x7b\xcd\xc0\xe8\xb6\x46\x23\x61\x61\x1d\xbb\x8f\x03\xbb\x85\x18\x03\x54\x1f\xaf\x22\x66\xa6\x56\x02\x10\x22\x29\x23\x71\x85\xad\x9e\xc0\x89\x03\xff\xf4\x46\x0e\x9a\xb1\x37\x03\x51\xa6\xe6\x59\x9b\x73\x3c\xbb\x0e\xac\x2d\xdf\x5c\x59\xec\x6d\x4e\xb6\xf7\x65\xf7\x53\x48\x82\x5d\x91\xec\x46\xfb\x2d\xbc\xa5\x6f\xce\x83\x23\xa5\xb8\x57\xb1\xab\x79\xf5\xde\x70\xd0\xcf\xa4\x65\x21\x4b\x7c\x37\x84\xc5\x17\x78\x1d\xe2\x74\x44\x9a\x36\x18\x67\xbc\x88\x3f\xdf\x73\x0c\x09\x40\xc1\x97\xdb\x37\x01\x1d\x7a\x1d\xe0\xef\x02\x9d\x7a\x11\x72\xc8\x5b\x77\x40\x80\xca\x7a\xe0\x25\x48\x0a\x94\x01\x2f\xdd\x50\x72\xcb\xc3\xb3\x5b\xb6\x2e\x47\x9e\xdd\xde\xdd\x45\x5e\x1c\x07\x72\xba\xff\xab\x67\xb7\x4b\x25\xc2\x80\x07\x21\xaa\xee\x55\xb0\xd8\xaa\x07\x3e\xae\x40\x54\x39\xf1\x4b\xa5\x0c\xb3\x42\x2a\x7a\x8f\x1d\xf9\x65\x6b\x60\xc9\xe7\x03\xec\x2e\x1c\x71\x34\x09\x59\x10\xf9\xe6\x0e\x6e\x0f\x57\x8e\x7b\x27\x49\xdb\xc7\x3d\xed\x7c\xb6\xb1\x67\x3b\x8d\x5e\xb3\xe0\x37\xda\x4d\xec\xd9\xad\x46\xbb\x19\xa5\x30\xc9\x28\xa2\xa4\x2e\xae\x70\x56\x70\xa5\x40\x6a\xc2\x54\x0e\xc5\x22\x43\x62\x1b\xe2\x9d\x24\xb8\x7e\x88\x77\x2a\xd1\x70\x3c\x06\x7e\x8e\x6b\x66\x59\x53\xb6\xb5\xb4\xf5\x93\xbe\xcb\x14\xb7\x25\xb3\x97\x23\xc2\x53\xcb\x98\x22\x56\xc6\x56\xcd\xe2\xff\x10\xf1\xb7\xf0\xe1\x22\x71\xf5\x10\xf8\x10\x4d\x84\x6b\xbb\x75\x30\xc4\x62\x0f\x2b\x6d\xe0\xac\x5f\x7a\x8c\xf9\xca\x2f\xb4\x20\x02\xc3\x32\xf6\x55\x7a\x7b\xbf\x6e\x61\xab\x9c\x53\x49\x9d\x67\xfa\x50\x1c\x23\x96\x4a\xa0\x72\x0a\x7c\xec\x26\x8e\xfd\xff\x88\xc4\x3f\xa2\x4c\xe7\x65\xa9\x9c\x02\xcf\x04\xa9\x5b\x10\x8e\xc7\xde\xa9\x5f\x07\x1e\xf6\xc5\xf9\x1f\xac\xf5\xb0\x6b\x78\xfb\x5e\xb9\x8a\x7c\xde\xbf\xc0\xc5\x0d\xd7\x38\xe3\x84\xa8\x87\xe2\xdf\x3e\x6c\xc2\x46\xb5\x89\xdc\x46\xb5\x89\x87\x75\xbf\xee\x97\xad\x92\x55\x1e\xd6\x86\x35\x5f\xbc\xb4\x52\x69\x96\x01\xff\x58\xb7\xea\x56\xd9\x55\xb9\x74\xca\x6e\x63\xbf\x09\x61\xcd\xb5\x9d\x8c\x0c\x90\x0f\xe5\x9d\x87\x00\x03\x86\x41\x05\x05\xb6\x03\xe5\xd3\x68\xe9\xd4\x77\x00\xc6\xbb\xa8\x68\x88\x1b\x15\x24\xfe\xd7\x54\x99\xcc\x8d\x55\xff\xb3\x72\x00\x91\x87\x0f\x8e\x2b\x27\xd8\x3b\xf6\x76\x77\xe1\xb0\xe1\x35\x71\xf0\xaf\xfd\x67\xcf\x51\x70\x7a\x7a\x8a\x8f\x44\xe8\xb6\xd0\xfd\x4c\xdd\x21\x44\x55\x88\xe4\x27\x86\x9e\x41\xc4\xb0\x6f\x5a\x42\xa9\x65\x7d\x75\xf5\x82\x25\x17\x02\xfb\xa5\x12\xe8\xf3\xf1\xf5\x8e\x01\x88\xfa\xb8\xc5\x1a\xfd\x26\x62\x7c\xa5\xad\x67\xc8\x78\x7e\xc4\x07\x70\xd4\xc6\xa4\x11\xc8\x5b\x19\x8f\x18\x0c\x71\x50\xae\xc6\x20\xb0\x4e\x44\x10\x5b\xad\x52\xf0\x70\xfb\xf4\x74\x1f\xb5\x31\x38\x28\xb5\xe1\xc9\xc9\xe1\xf8\xf1\xf4\xf4\x10\x3d\x62\x50\x7d\x56\x7a\x84\x27\x27\xfb\x63\xd0\xc3\x7c\xe9\x54\xde\xcf\xd4\xdf\x6f\xd6\x2a\xf0\xf4\xf4\x39\xea\x95\xf0\xf3\x03\xe4\x8f\x39\xe4\xf3\x43\xc4\x07\xce\x23\x7e\x7e\xc8\x95\x57\xba\xfd\xfd\x86\xd7\x44\xfd\x46\x9b\xff\xe7\x51\x5e\xde\xef\x37\x7a\xe2\x0f\x18\x31\xcc\x94\xa7\x6e\x49\xbf\xcb\x6a\x89\xb7\xd0\xa4\x3c\xc4\x0d\x96\x6f\x38\xb5\x75\x37\x99\xae\xd7\x8c\x95\x75\xd2\xdb\xbe\x8d\x74\x24\x49\x53\x05\x8b\x15\xdd\xb0\xe8\x88\x10\xc6\x22\x9f\x72\x8b\x8e\x47\x59\x8f\x04\x3a\x38\x02\xab\x83\xcb\xe3\xa2\x47\x7e\x7c\x0a\x5c\x6c\x95\x19\x2c\x10\x9b\x8a\x40\x0f\x11\xd7\x43\xc4\x1e\x18\xb1\x7f\xc7\x2a\xf6\x84\xc8\x80\x1e\x11\xca\x20\x02\x45\x30\xb1\x2f\xea\x7f\x10\x40\xec\x0b\x58\xfb\x83\x80\xf7\xe2\xc5\xb8\x73\x51\xfc\xb7\x2a\xfe\x5b\x17\x3b\x79\x87\xd3\x3f\x44\xb4\x05\x91\xc7\xd7\xa9\x20\x8a\x6b\x9f\x78\xae\x77\x5f\xfc\xd2\x0b\x64\xfc\xc4\x95\x8e\x4e\xa1\x3e\xf1\x80\x22\x29\x09\xfc\xdd\xa9\x28\xa0\xea\xb4\x1d\x45\x89\x57\x6e\x55\xd0\x04\x7b\x7a\x4f\x51\xdd\x50\x55\x11\x32\x11\x93\x27\x15\xea\x0c\xc0\xb4\x95\xca\xc4\x4a\x93\xd9\x96\xf1\x1c\x3a\xb7\x53\x4e\xf2\x87\x3a\x49\x4e\xc7\x6a\x44\x65\xe9\xa4\xe2\x1c\xcc\xed\x02\xb7\x28\x57\xf0\x69\x9b\x1a\x34\xdc\x26\x12\xef\xef\x8c\x18\x76\x63\xe3\xcd\xf0\x6e\x35\x4e\x7a\x74\xca\x64\xa2\xdd\xdc\x16\xd5\x01\x03\x83\x35\xd2\x60\xcd\x08\x28\xf7\xe6\xdf\x5c\x1e\x7a\x0e\x81\x76\x97\xfb\x2a\x2e\x0e\xed\xd7\x34\x18\x5c\x38\x8c\x2f\x25\xcc\xad\xc1\xe4\x43\x61\x07\x54\x4e\xf0\x39\xe8\x31\x24\xe5\xcf\x2d\x62\x30\x1e\xbb\xe3\x31\x9d\xeb\x67\xfc\xdc\xfd\xf1\xe3\xc7\x2e\xf7\x21\x77\x87\x41\x5f\x1a\xe9\xce\x31\x27\x31\x24\x0c\x0f\x59\x77\xf7\x48\x38\x11\x39\xcb\xd5\x38\x6a\xd6\xe1\xad\x28\xa3\xa6\x8f\xec\xf9\x9c\x03\xe5\x5b\x85\xdf\x54\xb8\x41\xbc\x31\x2e\xd3\xd3\x7c\x83\x68\xc2\xed\xd4\x57\x49\x39\x78\xe6\x9b\x48\x60\xf2\x9b\x42\x95\xf9\xc6\xbf\x48\x65\x15\x71\x0e\x72\x0f\x50\x80\xbe\xca\xcb\x64\xfa\xb3\x54\x22\x04\xbc\x84\xa5\x52\x4e\x5a\x77\xe5\x2e\xa4\xf2\xa8\xc7\x81\x12\x91\x18\xe8\x28\xa5\xba\x9f\xdd\x7e\x5f\x9e\xff\xc7\x91\x01\x44\x86\x05\x14\xdd\x6e\xd1\xf5\xf4\x9e\x0c\x2a\xfe\xec\x05\xfb\xe2\xeb\x2b\x31\x74\x5e\xd5\x05\x2f\x3a\x06\x83\xd8\x7d\x94\x8e\xca\xe0\xc3\xf0\x2d\x57\xb4\x1a\xb1\x87\x58\xc4\x40\xbd\x45\x02\x0c\x66\x68\xb8\x21\x5e\x47\x6e\x59\x8a\x4e\x90\x43\x73\xa0\x87\x66\x28\x5e\xa4\x53\x45\xd5\x89\xa3\xc2\x04\x85\x8c\xcd\xca\x0e\x3d\x3d\xea\x22\x40\x91\x8b\x18\x44\x46\x22\xe8\xcf\x19\x6f\x5e\x1c\xdf\x8a\x2b\x85\x5c\x6a\xc0\xe2\x4e\x77\xf6\x6d\x2d\x79\x80\x24\xbf\xcb\xc0\xb3\x34\x80\x48\x2f\xd1\x16\x37\x17\xc5\x73\x67\x22\x56\x01\x10\x79\x73\x01\x26\x75\xf5\x19\xf3\xd4\xca\x75\x5a\x2a\x31\x99\x41\x5c\x65\x49\xaa\x69\x6c\x72\xe1\x46\xd2\x2b\x45\x62\xab\x25\x5c\xb2\x40\x23\xc6\x02\x2d\x69\x9f\x72\x0d\xe5\x24\xe8\x8f\x19\x22\xcc\x46\x55\xcb\x06\xcb\x5e\x27\xbd\x3d\xc7\x99\x94\x21\x30\x41\x5d\x53\x66\xec\xe2\x5e\xc5\x1a\x14\xef\xe3\x5a\x11\xac\xa9\x36\x02\x49\x8e\xd1\x62\x7a\x95\x7d\xc1\x52\xf7\x55\x93\x77\x64\x72\xf7\x9f\xa4\xdd\xa4\x05\xe3\xa8\xc6\xcc\x60\xe0\xea\x95\x9d\x7c\x6a\x56\x88\x22\x7a\x9d\x7a\x93\xc6\xcb\x0d\x3c\x96\x7a\x80\x31\x51\x41\xc7\x3a\xc5\x45\x4d\x77\x62\xfc\xa9\x97\x7c\x8a\x85\x1b\x7f\xbc\x4f\x3e\x72\x29\xc6\xe5\x6d\xa3\x5c\x28\x14\x16\xef\xbe\x89\x55\xb0\xfe\x24\x56\xa9\x11\x4a\x51\x9b\xbe\xfe\x3c\x87\xf2\x9b\x38\x04\x3a\x43\xb7\xfe\xd0\x43\x13\x54\xeb\x4f\xf7\xc8\xa4\x59\x97\xb6\x51\x86\x62\xfd\xa1\x8b\xf2\xe9\x6d\x73\xdb\xdf\x9f\x08\xaa\xf9\x36\x19\xcd\x93\x5f\x31\xa7\x6c\xa6\x40\x66\x7c\x43\xd9\x6e\xcf\xfc\x46\xd7\xe6\xef\x0f\xb9\xb7\xb8\x62\x25\x75\xcc\x58\x10\xf5\x98\x8a\x88\xd5\x70\x96\x50\xad\xf1\x38\x11\xa5\x50\x0b\xfd\xc8\x8d\x82\x8f\x90\xb3\x5c\xd7\xab\x7b\x65\xd9\x4b\xf2\x93\xb8\xa6\x74\x8b\xa3\x3e\x00\xf1\xea\xa5\xcc\x6f\x2f\x77\x48\x2c\x14\x40\xf5\xba\x13\x49\xd6\x23\xf1\xd3\x8d\x72\xdb\x43\x3b\xbd\x7a\xc8\x72\x53\x8b\x2f\x18\xc8\xdb\x74\xbe\x64\xc0\x47\x04\x85\x7c\xce\x95\x4a\x0a\x8d\x5c\x78\xaf\x41\x20\x6c\x34\x44\x2e\xda\xa9\x42\x71\x8f\x59\x3c\x9c\x94\xee\xa4\x77\x39\xb7\xf6\xd4\x21\x15\xef\x8b\x29\x2c\x38\x4b\xb0\x30\x85\x7a\x4e\x8f\x7a\x98\x2b\xfb\x44\x90\xcc\x5c\xe4\xa3\xb0\xf0\x99\x81\x4b\x26\x1e\xb0\x74\xa0\x61\x3e\x5d\x71\x3e\xd9\x83\x23\xb7\x4e\x81\x0b\x6b\x4e\x3d\xc4\x4e\xcd\xab\xfb\xd8\xab\xf5\xea\x01\xee\x71\x93\x9f\x9b\x2c\x1b\x40\x24\x97\x49\xef\x40\x88\x5c\xe4\x24\x6f\x16\x00\x07\x07\xb0\x3e\x8a\x6a\x4e\xb2\x0e\xf2\xa5\x43\xe7\x43\x3e\x03\x70\xb7\x36\x82\xb1\xb0\xef\x73\x85\x2d\x9f\x87\xca\x3f\x22\x98\x4c\x13\x2e\x1f\x1c\x4c\x77\x88\x10\xf4\x79\xfa\x81\xa3\xcc\x1b\x09\xa2\xfd\xe4\x75\x88\x0c\x82\x8f\x0b\xf6\x68\x48\x82\x07\x12\xdc\xc9\x2d\x3e\x11\xc5\xb8\xb9\xce\x8d\x3b\x6d\xb6\x6a\x66\x28\x97\x14\xdd\x68\x82\x70\x9a\xad\x69\x62\xca\x2f\x4e\x43\xf3\x5e\x71\x5a\x7d\x32\x59\xe1\x5d\x1a\x30\xf0\xdb\x93\x30\x1f\x10\xb1\xc9\x4f\x9f\x06\x2c\xb4\xcf\xb8\x5c\x9c\x36\x3b\x17\xb9\xf4\x5e\x39\x21\xc1\x23\xa9\x64\x57\x5e\x97\xd6\xf2\x2c\x5e\x72\x5f\x37\xd0\x5b\xab\xae\xde\xad\x25\x46\x02\x45\xb9\x2f\x4b\xa3\xc8\x68\xee\x4d\xe0\xb7\x3f\x93\x96\xd1\xda\x35\x33\x3e\xcb\xb3\x08\x91\xaf\x61\x74\xfd\x47\xad\x82\xce\xcf\xde\x9f\x5f\xbe\x7d\x7b\x79\x51\xab\x22\xfd\xfe\xf1\x3e\xba\x7a\xff\xd7\xd9\xdb\xab\x8b\xbb\xb3\x8f\x6f\x3e\xbd\xbb\x7c\x7f\x5b\x3b\x40\x17\x97\x67\x17\x6f\xaf\xde\x5f\xde\x5d\x7e\x39\xbf\xbc\xbc\xb8\xbc\xa8\x1d\xa2\xf7\xd7\xb7\x77\xaf\xaf\x3f\xbd\xbf\xa8\x3d\x43\x67\x6f\x3f\x5e\x9e\x5d\xfc\x7d\x77\xf9\xe5\xea\xe6\xf6\xa6\xf6\x1c\x7d\xb8\xfc\xf8\xee\xea\xe6\xe6\xea\xfa\xfd\xdd\xc5\xe5\xfb\xab\xcb\x8b\xda\x0b\xf4\xe9\xfd\xd9\xa7\xdb\xdf\x2e\xdf\xdf\x5e\x9d\x9f\xdd\xf2\x36\x9f\xa3\x8f\x97\x37\xd7\x9f\x3e\x9e\x73\xbc\xbf\x9d\x7d\xba\xe1\xa5\x47\xe8\xf5\xd9\xd5\xdb\xcb\x8b\xbb\x0f\x1f\x2f\xcf\xaf\xdf\x5f\x5c\x89\x97\x94\x5f\xa2\xb3\x57\xd7\x1f\x45\xad\x0a\xba\xfe\x74\x7b\x77\xfd\xfa\xee\xe3\xd9\xfb\x37\x97\xb5\x2a\x27\xfd\xea\xdd\x87\xb7\x97\x9c\x56\x0e\xc0\x39\xb8\xbd\xfc\xf8\xfe\xec\x6d\xad\x7a\xc0\x5b\xfd\xeb\xec\xea\xed\xd9\xab\xb7\x97\xb5\xea\x21\xba\x38\xbb\x3d\xbb\x7b\x7b\x7d\x73\x53\xab\x3e\x33\x45\x37\x91\x27\xff\xd5\xc4\x47\xb1\x28\x19\x7d\x7a\x7f\xf6\xf1\xef\x9a\xb6\x70\x37\x97\x1f\xff\xba\xfc\x78\x77\x73\xfb\xf1\xf2\xec\xdd\xd5\xfb\x37\xb5\xc9\x81\x12\x45\x68\x7f\x7f\xff\x59\x4d\x79\xc1\xf8\x74\x64\x0d\x43\x91\xb3\xde\x6d\x33\xab\x40\xed\x40\xa4\xfc\xb1\x3b\x80\xa1\xd1\x67\xf5\x04\xb4\xec\xc2\x1a\x80\xf8\x34\x8c\xe2\x67\x62\xc1\xd1\xd1\x51\x55\xec\x7b\x83\xa3\xc3\xe7\xfb\x32\xd4\xeb\xd9\xc1\xc1\x4b\xe3\x6e\xb1\x9f\x79\xc9\x88\x89\x4d\xbf\xfc\x27\x9b\x05\xe8\x48\x3e\xe8\x4b\x11\x89\xb3\x97\xd7\x76\x2a\x68\xc6\x13\xc0\x91\x5c\x96\x62\x8a\x48\xd4\xee\x3b\x61\x58\x0c\x47\x46\xb6\x74\x4d\x80\xaf\xc3\x82\x05\x2f\x77\x49\xf4\x90\xfe\xd0\xa3\x21\xe3\x9a\x9e\xf3\xa9\x9d\xac\xdc\x72\xbe\x52\xf9\xe0\x42\xce\x97\x41\xa6\x1b\xdf\x10\xa6\x72\x60\xf3\x01\x67\x21\xf9\xf8\xfe\x84\x9d\xb7\xf6\x72\x9e\x0b\xd7\x7d\xb1\x97\x45\x12\x18\x0a\x61\x0b\x7d\x40\xae\x7d\x39\xf0\xd9\x23\x72\xec\x34\xb0\x36\xe1\x08\x10\x7c\x3a\xf1\xa8\x3e\x5f\xbf\x4f\xab\x61\x1b\x81\x18\x12\x1a\x4e\x67\x93\x7b\x1e\xd7\x57\x17\xe7\x67\x43\xd6\x93\xb4\x85\x2b\xf2\x9a\x8b\x69\x26\xc3\x39\x35\x16\xe1\x7a\x46\xb5\xa5\x58\x7f\x43\x62\x34\x9f\x3e\xbe\x5d\xbd\x87\x53\x48\x72\x18\x16\xfd\x64\x00\xa9\xcd\x8c\x9c\xf2\x85\x7a\x3c\xa7\xc6\x52\x6c\x9f\xab\x05\x9f\xc6\xb3\x22\xe3\x93\x68\x72\x59\xcf\x82\x25\xcc\x4f\x7e\x99\xcf\xfe\xb4\x3a\x4b\x09\xe0\x3d\x15\x55\x87\xde\x6d\xe0\xde\xdf\x93\x60\x45\x01\x4c\xa2\xc9\x15\x40\x02\x90\xb0\x6e\x96\xcd\x67\x7a\x12\x7a\x59\x35\xff\x14\xae\xcc\x65\x5c\x7b\x9a\x62\xf3\xaf\x29\x8d\x96\x05\x0b\xa9\xb2\x09\xba\xb4\xd5\xe2\x95\xd7\xb1\x55\xaa\xfe\x5c\x0b\x25\xe0\x16\xb5\x4b\x29\xe0\xa5\x58\xfa\xe4\x77\x1c\x46\xd6\xe8\x29\x13\x41\x6e\x67\x25\x00\x49\x7f\x99\x65\xf3\x39\x9c\x84\x5e\x8a\xc5\x0b\x71\x0e\xbb\x06\x8b\x26\x82\x5c\x16\x13\x00\xcd\xa2\xee\xcb\xa9\x5c\x29\x80\x25\xfb\x2a\x24\x01\x4b\xe6\x9f\x95\x7b\x2c\x8b\x66\x4a\xbf\xa5\xc1\xcc\xde\xcb\x7e\x59\xa4\x0f\xf3\xeb\x2c\x6b\x53\xd6\xe6\x3e\x83\x63\x9a\x7d\xc9\xe3\x3b\x53\xbc\x90\xad\x59\x93\x63\x3e\xb8\x37\xe3\x23\x2d\xe7\x1f\xad\xe0\x1b\xad\xeb\x17\xc9\x41\xb4\x76\xff\x4e\xa2\x99\x31\x64\x27\x7b\x79\x2b\x03\x97\x8b\xe7\x33\x0d\xbe\x87\xbe\xd3\x26\xeb\x74\xa2\x89\x24\x97\xad\x34\x50\xa2\xba\xd9\xf2\xc5\xba\x74\xb2\xc6\xb2\xc3\x35\xc6\xb0\xfa\x68\x35\x50\x4c\x1b\xac\x31\x48\x6a\xac\x1a\xa5\x0b\x0d\xd5\x09\xf8\x15\x8c\xf3\xba\xfc\x4e\x60\x99\x61\x9a\x73\xb8\x9e\xf8\xb0\xa8\x61\xde\x04\xef\x1f\x02\x2a\x1e\x3c\x5e\x87\xf3\x18\xc7\x0c\xbe\x15\x4c\x96\xeb\xb8\x78\x51\x9e\x33\x15\x96\x55\xed\xf5\xd8\x35\x11\x4c\x53\xeb\x09\x46\xcd\xb2\x85\x54\x7a\x1d\x16\xb9\x01\x50\xf5\xd7\x31\x59\x09\x8a\xa9\x06\x4b\x83\xa4\xcd\x55\x52\xba\x98\xb1\xca\xc2\x2f\x39\xf9\x84\x2c\xa0\x8f\xeb\xf5\x69\x16\xc9\x94\x89\xc7\x04\xda\xea\xb4\xc3\xdd\x8f\x24\x2c\x62\x0d\x7f\xc9\x44\x32\xd5\x61\x4a\x80\xd2\x1e\x93\x59\xbe\x98\xcb\x34\x59\x63\x15\x37\x79\x6d\xce\x73\xf0\xcc\x72\x94\xf3\xf8\xcf\xf9\xb4\xb0\xab\xbc\xa6\x14\xf8\x90\x78\x35\x74\xfb\x6b\x39\x8d\x1a\xc1\xd4\xa1\x2b\x01\xd2\x03\x57\x97\x2d\x36\x6c\xd3\xd0\xcb\xea\xb7\xa8\xbd\xba\x66\xab\xea\xd3\x74\x5a\x7c\x4e\x98\x13\x3f\x67\xf1\x23\x00\x96\x65\xe1\xad\xc3\x48\xb8\x2e\x23\x29\x24\xd3\xd8\x31\x80\xb6\xca\x94\xb0\xc6\xc3\xb0\x47\x3a\x67\x01\x73\xbb\xce\x9a\x13\x48\x16\xd3\xf4\x79\x24\x0d\x99\x99\x4e\xb2\x1f\x17\x9c\x55\xf2\xab\x2d\xed\x2c\xa4\xd0\xac\xe1\x33\x64\xf0\x4c\x75\x1d\x52\x70\x89\x24\xd2\xe5\xb3\x98\x4f\x43\xae\xa6\xd4\x9b\xe2\x3a\x1f\xdb\x6c\x35\xff\xaf\x4a\x80\x6b\xce\x05\xf1\xfb\xf4\x51\x66\xc7\x5c\x5d\xfb\x53\x58\xa6\x6a\xbe\x01\x95\xd6\xfa\xd4\x87\xc5\x34\x3e\xa7\xca\xb2\xbd\x9f\xa0\x58\xbd\xcf\x4d\x1c\xd3\x7a\x3a\x81\x49\xb8\x4e\xca\x66\x31\x9a\x40\x2d\xdd\xaf\x57\x2a\x5e\x75\x9d\x5e\x35\x70\x4c\xed\xd3\x18\x26\xdd\xa3\x46\xf1\x62\xfd\x39\x51\x61\x69\x8e\x3f\x92\x3e\x71\xc2\xb5\x18\x4e\x50\x4c\xe5\x57\x83\xa4\xd9\x4d\x4a\x17\xe3\x36\x0b\xbf\xac\xea\xaa\xfa\xab\xeb\x6d\x8c\x60\x9a\xd2\x2a\x00\xe3\x58\x46\x16\xcc\x3c\x8b\x91\x20\xab\x59\xe1\xb5\x59\xca\xa0\x99\x6d\x77\x9f\x90\x3d\x19\x1e\xf2\x91\xf8\x34\x58\xc3\xd0\xa4\xb1\x4c\x63\xce\x84\x4a\x78\x33\x4b\x67\x31\x68\xc2\xad\xd6\x89\x9b\xe1\x35\x0f\xd7\xec\xee\xfc\x2f\xf1\xcd\x87\xb2\x59\x79\x1d\xdb\x93\xc1\x33\xd5\x00\xa5\xe0\xd2\x56\x28\xf3\x69\x31\x53\x94\x5b\x69\x29\x29\x5c\xfe\xf4\x49\xc7\x65\x64\x03\x9d\x9f\x8f\x2a\x57\x16\x79\xa0\x89\x38\xf2\xbf\xce\x97\xc8\xac\x7a\x4b\x0f\x09\x7a\x2f\xc3\xe8\xd6\x18\x09\x09\x8a\x94\x10\xb2\xf1\x51\x6a\x2c\x68\x68\x43\x2d\xe8\xfd\x2b\x87\xb5\x7b\x33\xb5\x40\xc1\x2c\xc5\xdf\x0d\x61\xe7\x22\x94\x69\x45\xe6\x8c\xfa\x53\x42\x23\xf8\xc7\x1b\xc2\xcc\x98\x88\xb8\x68\x91\x60\x88\x0c\xf0\xb2\xbd\xb7\x16\x77\x6f\x16\xe2\xee\xcd\x24\x77\x6f\x96\xe1\xee\xcd\x8a\xdc\xc5\xb2\xbf\xa1\xc3\x60\xe5\x43\x80\x09\x2c\xb9\x9c\x66\xa0\xb6\xbd\x93\xb8\x01\xbe\x26\xb0\x4c\x9b\x7a\xf2\xf8\xca\xf9\xb0\xd0\x6e\x62\x5e\x95\xe5\x02\x97\xc4\x9b\x0d\xbf\xa9\xd0\xbf\x55\xc3\x96\x32\x48\xf2\x75\x37\x05\x64\x28\x70\xa6\x7c\x01\x2d\xce\xad\xb1\xc2\x71\xec\x9a\x6c\x67\x91\xcc\x38\x8a\xcd\xb2\xbd\xb5\x83\x58\xdd\xd0\x3a\x2e\x85\x81\x63\xaa\x3b\x11\xc3\xa4\x5d\x09\xa3\x78\x31\x37\x62\xa2\xc2\x52\x1c\xff\x39\x24\x43\xf2\x3b\x6d\xad\xc8\x6c\x52\x3d\x97\x4f\xfd\x39\x61\x31\x29\x99\xcf\x5d\x16\x76\xb9\x61\x29\xee\xa1\xac\xce\x99\x51\x3f\x7f\x30\xea\xef\xdb\x36\xac\xab\xb3\xa0\x2b\x4f\x33\xa3\xa9\x8e\xf9\x9d\xb6\x66\xf5\xc5\xef\xb4\xb5\xf4\x48\xfa\x9d\xb6\xd6\x19\x44\xb2\xfa\xd4\xf1\xc3\x3f\xa7\x87\x8e\x2c\x59\x6c\xd4\x98\xb0\x4b\x31\xf6\x97\xd3\x77\x3b\x0e\x5b\x63\xcc\xa4\x30\xe4\xb2\x67\x40\x24\x1c\xa6\x0a\xe7\x33\x99\x03\xbe\x82\xe6\xad\xeb\x46\x1b\x28\x16\x70\xa3\x63\xe8\xd4\xa4\x6e\x94\x2e\x34\xa3\x4f\xc0\x2f\xbd\xc7\x33\xf4\xbc\x75\x22\x53\x75\xfd\xa9\x3b\x3c\xe2\x7b\x2a\xee\xd6\x23\xc1\x9c\x58\x5b\x8f\x04\xcb\x6f\xcc\x89\x6a\x6b\xed\xcb\x69\x0c\xd3\xb7\xe5\x24\x44\x66\x57\x4e\x17\x2e\xb8\x29\x97\x06\x5f\x8a\xcf\xb3\x0e\xf5\xd7\xeb\xb1\x14\x86\x5c\x3e\x0d\x88\xad\x5a\xfb\xd7\x34\xb8\x5f\x53\xfd\xd2\x28\x72\xb9\x31\x41\xb6\x3d\x79\xdd\x88\xcb\x43\xeb\xae\xe8\xd2\x58\xe6\xdd\x56\x31\xa1\x17\x34\x19\x79\x55\x96\x5d\xd8\x6d\x80\xd5\x09\x2c\xd3\x16\x76\x69\x7a\xb7\xd8\x85\x72\xa1\x70\xe3\x39\x7e\xd8\xa3\xab\xee\x2d\x65\x91\xcc\x9e\x09\x92\xbe\x4c\xd7\x5b\x7c\x5d\x93\xad\xb1\x14\xc7\xaf\x28\x65\x21\x0b\x1c\xff\x56\x24\x0d\x5e\x8d\xe3\x2c\x92\x99\x2a\xfb\x9e\xfc\x10\x60\x8b\x30\x98\x85\x5d\x72\xc9\xd6\xa6\x1d\xb2\x0e\x5f\x29\x0c\x53\x16\x6b\x31\x84\x79\xe6\x66\x14\xce\x67\x32\x07\x7c\x49\xbb\xe3\x91\xc0\x61\xe4\xca\x7b\x70\xd9\x5a\xfc\xe6\x62\xca\xe5\xdb\x80\x48\xf8\x7e\xb2\x9e\xd5\x74\xbe\xa5\xf7\xae\xb7\x09\x86\x4d\x44\xf9\x53\x7f\x0c\xf0\x5f\x64\x57\xce\x61\x9b\xe0\x37\x85\x69\x8a\xdf\x36\x01\xf9\x5f\xe0\xfc\x9c\x7a\x0f\x24\x60\xeb\x6b\x76\x1e\xa2\x69\x1b\xa6\x19\xc0\xff\x02\xdb\xeb\x77\xf4\xfc\x0e\xce\xed\xd8\x54\xe1\x42\x77\xe2\xb2\xe0\x2b\xf0\x99\x8a\x5c\x58\xcb\xa1\x98\x81\x6f\x86\x0c\x72\xe0\xb3\x12\xc9\x05\x59\x54\x3e\x33\x2a\x2f\x77\xfc\xe5\xb1\x40\x32\xba\x96\x90\x26\xd1\xcc\x5b\xaa\x66\x6b\x18\xa7\x5f\x13\x5f\x16\x38\xf9\x9a\x52\x67\x29\x59\x68\x6e\x7e\x6b\xf7\x5f\x0f\x56\x75\xd4\xb2\x48\x72\x75\x24\x0d\x94\xb0\x9e\x2d\x9f\xcf\x78\x7e\x8d\x15\x62\x79\xaf\xbd\x0b\x32\x70\xbc\x8e\x54\xaf\xb5\x94\x61\x16\xc2\x19\xd1\xbd\x79\x15\xb2\x61\xbe\xf9\x30\x8b\xc6\xfb\xce\xaa\xbd\xf4\xfd\xf2\xcd\xc9\x6b\x2a\xb6\x69\x9b\x1f\xb3\x25\x35\x15\x60\xb1\x3b\xe8\x1b\x94\xd1\x85\xcc\x6b\xbe\x59\x51\xcd\x44\x3a\x6f\x5d\xfb\xff\x83\x60\xe4\x59\xcc\x06\x85\x32\x0b\xe1\x8c\xd3\xa0\xd9\x5a\x34\x0b\x66\x91\xe5\xc7\xbc\xda\xcb\xa7\xb2\xc8\x41\xb6\x56\x42\x8b\x7c\x7c\x73\xaf\x6d\xe6\xd6\x5b\x38\xb9\xc5\xac\xca\x2b\x58\xed\x75\x42\xda\x53\x18\x66\xd8\xe5\x4c\x30\x7b\xaa\x70\x51\xcb\x9b\x02\x5f\xe5\xde\xdb\x26\xa2\x9c\xf3\x51\xcd\xba\x05\x37\x25\xbe\x39\xff\xeb\xc2\x77\xe2\x72\xeb\xad\x20\x94\xb5\x43\x80\x27\xd1\xcc\x10\x46\x5e\x20\xf0\xe4\x97\x45\x85\x30\x59\x67\x05\x01\xac\x17\x75\x99\xc1\x31\x83\xf5\x89\x78\xcb\x4c\xf1\xa2\x4c\x67\x2a\xac\xc0\xf1\x06\xa2\xd4\xf2\x10\xcd\xe0\x3d\x3f\x42\x2d\xef\xdb\xa2\x52\xd8\x44\x74\xda\xad\x13\x7e\x5f\xdd\x85\x90\xb5\xa7\x79\x57\xfc\x6b\xca\x9b\x92\x05\x0b\x39\x09\x26\xe8\xd2\x33\xdc\x1a\x4c\x25\xd5\xa7\x1e\x32\xa5\xd9\x4a\x4a\x16\x9b\xb8\x56\x66\x4c\x9e\xf1\xaf\xc1\x9a\x89\x60\x46\x14\x81\xc9\xde\x16\x33\x83\xac\x97\x58\x28\x83\x63\xc6\xb0\x9b\x48\x2c\x94\x29\x5e\x74\xb0\xad\x99\x5e\x68\x3d\x76\x4d\x04\x53\x47\x5b\x96\x51\xb3\x6c\xb1\x31\xb7\x06\x8b\xd2\x4f\x5d\x8f\xcb\x0c\x8e\x19\x1e\x77\x86\xd7\xad\x85\x5f\xa9\x76\xd6\xf1\x8e\x13\x14\xd3\x0d\x4a\xb6\xe7\x52\x85\x0b\x9a\x95\x35\xfa\x6e\xed\x34\x5f\xff\xff\x27\xf8\x52\x0e\xa3\xeb\x13\xf1\xe2\xcd\x5a\x6e\x6f\x8c\x64\x96\xc3\xab\x80\x26\x5c\xdd\xb8\x7c\x61\x27\x37\x53\x63\xd9\x9e\x5d\x93\xe7\x14\x86\x69\x7d\x3b\xc9\x6d\xaa\x70\xa1\xde\x5d\x8b\xcf\x37\x64\xdd\xbe\x4d\x61\x98\x7a\x51\x75\x82\xcf\x54\xe1\x62\x59\x2e\x36\xc4\xe7\xc7\xe1\x1a\x49\x12\x52\x48\xe6\x72\x3b\xf4\xf2\x19\x1e\x2e\x9a\x24\x21\xa7\xc6\x8a\x77\x74\x37\xc1\x7c\x0e\xaa\xd5\x3a\xfc\xc9\xf8\x17\x77\xbb\x15\x8e\xb5\x6e\xa7\x27\x38\xa6\x4e\x46\x31\x4c\xe6\x46\x7a\x52\xbc\xe0\x5d\xf4\x6c\x85\x95\x39\xfe\x38\xf4\x36\xc1\xb4\x44\x33\x97\x6f\x0e\x96\xcf\xba\xfc\xb2\x1c\xf7\x66\x9d\x65\xcf\x56\xbb\xee\xfd\xcd\xa3\xd7\x5e\xd3\xb0\xe5\x21\x9a\x75\xd5\xc6\x00\x9c\xb8\x73\x93\xfa\xb6\xf0\xe5\x9b\x9c\x5a\xcb\xcd\xdd\x57\x77\x1b\x48\xef\x33\x81\x25\x7f\xf6\xbe\x9a\x92\xe4\x67\xe2\xc3\x02\xf3\x77\x7e\x95\x65\x79\x5f\x3b\x7b\x53\x06\xc7\x34\xbe\xf3\x72\x38\x65\x8a\x17\xe2\x79\xcd\x4c\x4e\xaa\x9f\xd6\x4f\x48\x90\x87\x68\x56\x9f\xe7\xa6\x25\xc8\xfb\xb6\x70\xcf\xaf\x9b\x9c\x40\x76\xdc\xfa\x9b\x93\x13\x68\x66\xa8\x40\xee\xe6\xe4\xc4\x97\x45\x15\x61\xdd\xcd\x49\xd9\x85\x6b\x5e\xe9\x9f\xc0\x32\x4b\x0b\x26\x2f\xf6\x4f\x7c\x58\xb8\xff\x17\xba\xde\x4f\xc7\x63\x40\xf1\x28\x82\x88\x8d\xc7\x80\x89\xbf\xc4\x6b\x5f\x03\x87\x61\xf3\x39\x59\x95\xe8\x1d\x4b\x19\x4c\x3c\x46\x00\xa8\x7a\xde\x21\xce\xfb\x8e\x89\x1d\x10\xbf\xef\xb4\x09\xd8\xfb\xba\x57\xfe\x65\x0f\x59\x96\x82\x31\x13\xc0\xeb\xe7\x0e\x74\xda\x77\x4c\xa3\xfb\x54\xce\xf4\x4c\xca\xfb\xf8\x59\x2e\x5a\x37\xe9\xd2\xcf\x35\x80\x34\x11\xe5\xe5\x92\xbf\x13\x2e\x85\x51\x24\x29\x9a\x9d\x6e\x1e\x51\x58\x4b\x11\x10\xbf\x37\xf1\x64\x24\xc0\xa8\x3f\x99\x67\x7d\x9b\xe2\xca\xcd\x1f\x3f\x93\xe0\x9c\x1a\x9b\x12\xdc\x46\x88\x81\x5c\xd9\x8c\x74\xed\x5b\x56\xb6\x54\x1e\xfa\x79\x3d\x6d\x00\x6f\x50\xd9\x56\x25\x01\x46\xed\x4c\x66\xf7\x6d\xca\x6a\x32\x75\xfd\x4c\x52\xb3\xe0\x9b\x92\xd7\x9a\x64\xc0\xc8\xcb\x64\xa0\xdf\xa6\xcc\x26\xb3\xdd\xcf\x24\x36\x0b\xbe\x29\x99\xad\x49\x86\x18\x91\x9f\xc2\xed\x8a\x2a\x4e\x99\x3f\x6f\x00\x70\xa8\x0d\x0e\xbe\xc5\x1b\x95\xb6\x5d\xe4\xaa\xdf\xb6\x45\x57\x59\xf6\xe7\x9a\x4e\x01\xb7\x49\xeb\xbd\x54\xc3\x30\x1a\xc6\xa9\xed\xb7\x29\x11\x33\x47\xff\x4c\xca\x12\xc0\x4d\xc9\x64\x85\xa6\x61\xd4\x89\xf3\xe9\x6f\x53\x2a\x66\x5a\xff\x99\xa4\x25\x80\x9b\x92\xca\x0a\x4d\x73\x5d\x49\xa7\xd0\xdf\xae\xc6\x64\xdf\x08\x98\xd3\x79\x69\xf0\xcd\x69\xcf\x5a\x64\x08\xbb\xfb\x34\x02\xcb\x3c\x2b\x30\xcf\x1c\x6e\x5e\x54\x2b\x13\x20\xad\xf2\x13\x7a\xdb\xcb\x39\xb7\x5b\xf2\xb2\x57\x26\x42\x5b\xa7\xa7\x51\xab\xc9\xd7\x0c\x16\x30\x17\x9b\x57\xae\x35\xc9\x90\x2a\x96\xbc\x26\xb0\x6d\x0d\x33\x9f\x49\x98\xdb\xb7\x09\xf0\x26\xf5\x6b\x45\x12\x84\xc5\x8a\x7f\x6e\xd9\x60\x19\xcf\x0c\xcc\x33\x17\x31\xe8\x06\xcd\xd5\x2a\xcd\xeb\x59\xf0\x49\x44\x34\xf1\x18\xc3\x02\x93\xcf\xc6\x05\xb5\x16\x11\x5a\x5c\x6a\xf7\x78\xfb\xc2\x8a\xb7\xc4\x17\xa0\x52\xc1\x6e\x56\x50\x2b\x10\x20\xc6\xdc\x13\x48\xc8\x3c\x31\x98\xa7\xf0\x1b\x96\xcd\x0a\x4d\x4b\x9b\xad\x4f\x5a\xb6\x6d\xb1\x93\x33\xa4\xb9\xc6\x52\x83\x6e\xd2\x5a\xaf\xd0\x3c\xf7\x03\xcc\x97\x1c\xb6\xeb\x05\xa4\x1f\x96\x98\x33\xf9\x9a\xc0\x9b\xf3\x00\x56\x26\x41\x7a\xe1\xc9\x73\x06\xdb\x76\xc3\xcd\x07\x1b\xe6\xba\xc1\x09\xf0\x26\x1d\xf1\x15\x49\x88\xd7\x78\x4f\x23\xac\x9c\x07\x2e\x16\x59\x5e\x6d\x5e\x64\x6b\x13\x22\x8d\x95\x7c\x4a\x62\xdb\xa6\x4a\xbf\x89\x31\xd7\x52\x48\xc0\x4d\x9a\xa9\x25\x9b\x16\x03\x4f\xfc\xb9\xe5\x21\xa7\xee\xe9\xcc\xd3\x74\xf9\xd4\xc4\xe6\x86\xd9\x32\xcd\x0a\x59\x18\x0f\x60\x6c\x59\x22\xa9\xf7\x38\xe6\x11\x68\x00\x6f\x50\x3a\xab\x92\xa0\x26\xfe\xf4\xbb\x17\x5b\x9f\xff\xb3\x8f\x7c\xcc\x9f\x87\xd3\x35\x36\xea\x0d\xac\x4b\x8c\xf4\x28\x53\x65\xdb\x76\x2c\x33\x17\xc7\xe6\x3a\x79\xe9\x57\x30\x36\xe8\x66\xae\x45\x88\x31\x4a\x9f\x54\x7c\xf9\x0f\x8c\x2c\x36\x68\xb6\x26\xca\xcd\x11\x25\x87\xb4\x11\x3b\xb3\xed\xe1\x9c\x8a\x10\x9a\x3b\x7a\x0c\xe8\x4d\x0e\xe3\x95\x89\x10\x5a\x98\xfc\xde\xb2\xee\x99\x51\x44\xf3\x3a\xd7\x78\xdc\x64\x73\x7a\xb6\x1a\x01\x52\xa7\xe2\xc7\x45\xb6\xad\x51\xc6\x8b\x29\x73\xbb\x32\x86\xdd\xa4\x36\xad\x44\x80\x14\x92\x0e\x5a\xda\xb6\x8c\x92\x70\xac\xb9\x14\x6a\xd0\x4d\x4a\x68\x85\xe6\xc5\x48\x53\x3f\xb6\x3c\xcc\xe2\xbb\xb4\xf3\x54\x5c\xbf\x57\xb2\xb9\x01\xb6\x6c\xd3\xc6\x2c\xf8\x34\xb2\xc9\x3c\xf0\xb2\xd8\x14\xb3\x79\x39\xad\x43\x86\x90\x99\x79\x7b\x77\xcb\x22\x4b\xdf\x51\x9e\x47\x6a\xea\xbd\x94\xcd\x09\x6c\x75\x22\x0c\x15\x7b\x42\xa1\xe5\x3d\x3f\xb3\x58\x2f\x6f\x49\x80\x9b\x21\x48\x5a\xf9\xd4\x73\x2f\xdb\x36\xf5\x99\x37\x6d\xe6\x1a\xdc\x14\xfc\x26\x8d\xfe\x5a\x84\xc0\x88\xe4\xbc\x0a\xb3\x4d\xd9\xe5\x3f\x83\x33\x93\xea\xbc\x2a\x9b\x92\xe0\x86\xc8\x91\xa3\x59\xbf\x51\xc3\xe5\x17\x4b\x2f\x45\x65\x28\xd2\xca\x4a\x28\xd7\xbb\x5f\x7e\xb8\x24\x8f\xe6\xcc\x1d\x25\x1a\x14\x46\xa1\x7e\x84\x63\x9b\x1d\x6b\xbc\x7a\x33\x93\xb4\x18\x6e\x53\x5d\xb8\x74\xc3\xa2\xb3\xb6\x2f\x90\x37\x0b\xd2\xf5\x66\xd3\x02\x59\xba\x61\x43\x43\xe4\x33\x2d\x4f\xa2\x27\xfa\x0d\x9a\xc5\x3a\x4d\x42\x6f\x5c\x67\x56\x21\xc2\xd0\x9f\xed\x8b\x6b\xe2\xc9\x9e\xc5\xba\x74\xb3\xe2\x5a\x8b\x08\x18\xb5\x53\x8f\xe1\x6c\x35\xc2\x3b\xf3\xca\xcf\xec\xc0\xea\x14\xf0\xc6\xa2\xbb\x57\x27\x41\x47\x36\x3d\x85\xa4\xb2\x0f\x03\x2d\x10\x4e\xb4\x69\x49\xad\x41\x82\x74\xf8\xe2\x87\x79\xb6\xed\xec\x19\xaf\x0d\xcd\xf5\xaf\x62\xd8\x4d\x3a\x79\x2b\x11\x00\xa3\xff\xa8\xf7\x7d\xb6\x29\x9f\xe4\x81\xa2\x99\x94\x69\xb0\x4d\x49\x65\xc9\x66\x61\xd4\xd6\xcf\x09\x6d\xd5\xfe\x24\x6f\x1a\xcd\x1e\xf7\x1a\x6e\x63\x56\x67\xd9\x86\xc5\x24\xb6\x65\x69\xe8\xe7\x91\xe6\xcd\x16\x1b\x94\xc3\x12\x4d\x4a\x1b\xf2\x3b\x6d\x6d\xdd\x7c\xc8\x77\x96\xe6\x0e\x5c\x0e\xb6\x49\xa3\xb1\x44\xb3\x30\x7a\x48\x5e\x33\xda\xa6\x38\x52\x4f\x33\xcd\x24\xcd\x80\xdc\x94\x50\x56\x6a\x5c\x0f\x94\x6d\x2f\xed\x8c\x87\x9c\x16\x50\x5e\xbd\xb4\x8b\xdf\x99\xd9\xf6\xe6\xad\x7a\xef\x66\xee\x06\xaa\x7c\x69\x69\x83\x5b\xb7\x4b\x35\xac\xb6\xfb\xe5\x6b\x47\x5b\xdf\xed\xd7\x4f\x37\xcd\xdf\x6d\x97\x90\x1b\xdd\xeb\x5f\xb6\x71\x18\x39\xc9\x23\x4b\xdb\x14\x4d\xea\xb5\xa7\x99\xd4\x19\x90\x9b\x12\xcd\x4a\x8d\xc3\xa8\x6b\xbc\xd8\xb4\x4d\xd9\xa4\x1f\x8f\x9a\x49\x9f\x09\xba\x29\xe9\xac\xd8\xbc\xdc\xda\x37\x5e\x44\xda\xf6\xd6\x7e\xea\x89\xa6\xb9\xbb\xea\x06\xf4\x26\xb7\xf6\x57\x26\x42\x6c\xa7\x3c\x95\xb8\x26\x5e\xb4\x9a\xb7\x93\xb1\x0d\x71\xad\x45\x84\xde\x1f\xd0\x8f\x4a\x6d\x69\x8a\xcd\xbe\x91\xb5\xc0\xba\x5c\x03\xc3\xa8\x95\x7a\x6e\x6a\x9b\xfd\x99\x7d\xd8\x6a\x26\x99\x69\xe0\x4d\xf5\xe6\x1a\x24\xc0\xa8\x93\x3c\x2d\xb5\xdd\xed\x0b\xe3\x9d\xac\x39\x1b\x07\x31\xe4\xe6\x36\x2e\x56\x68\x9c\x1b\xd1\x89\xb7\xae\xb6\x6b\x48\x73\x9e\xd6\x9a\x63\xc7\x26\x6a\x6c\xce\xa0\x6e\x80\x98\x44\x84\xc9\xe3\x58\x4f\x21\x41\xf3\xad\xae\x85\x68\x4e\x2a\x6c\x5a\x7e\x6b\x90\x92\x48\xcf\x78\x44\xe9\x29\xc4\x97\x7a\x19\x6a\x21\xa2\x8d\x1a\x9b\x16\xe0\x5a\xc4\xc0\xa8\x3d\xf1\x58\xd7\x76\x13\x96\x4c\xbe\x21\x36\x27\x57\x48\xb6\xc2\xe6\x92\x96\xac\x4d\x0a\x8c\x82\xa7\x51\xbc\xc5\xfb\x78\x0b\x8a\xb6\x52\xe3\x5a\x34\x39\x0f\x77\x6d\x5f\x50\xb9\xaf\x97\x2d\x40\x79\x4e\xbd\xcd\x0a\x71\x83\x84\xc1\x88\x64\x1e\x01\xdb\x92\x9b\x39\xf9\xd6\xd9\xec\x60\x82\x0c\x38\x8c\x34\x4a\xf9\x66\xd7\x36\x7b\xff\x73\xaa\xa5\x39\x84\xa6\x81\x37\xd5\xcf\x6b\x90\xa0\xaf\x6a\xe5\x3d\x9a\xb3\xfd\x3b\x5b\xf9\xef\x29\x2d\x70\x67\x2a\xaf\xe2\x66\x6f\x71\x6d\x94\x34\x99\xca\xec\x89\x45\x3c\xf5\xc9\xb3\x79\xab\xf0\x6d\x0a\x77\xa3\x44\xa9\x00\xf7\xa9\x6f\x95\x6d\x3d\xe2\x7d\xc6\x2b\x69\xf3\x23\xd0\xa7\x56\xde\x68\x4c\xfc\x76\x48\xd4\x67\xec\x4f\x2d\xf5\x59\xcf\xb0\x2d\x70\xf0\xbd\x4d\x69\x6f\x81\x34\x95\x44\x32\xef\x3d\xb3\xad\xa7\x92\xcc\x7f\xb9\x6d\xee\x36\x79\x6e\xbd\x8d\xa6\x95\xdc\x24\x61\x7a\xf6\xdb\xfa\x55\xca\xd4\x3b\x70\x0b\x4c\x22\x1b\xbd\x44\xb9\x52\xe3\x71\xca\x8d\x27\xbb\xbf\x96\xff\x74\xdc\x22\xf9\x2f\xb6\x72\x73\x6d\x43\xe4\x68\x39\x3e\xcd\x3d\xac\xc9\xd7\xe6\x16\x20\x78\xf3\xb7\xb1\xd6\x24\x43\xcb\xec\x09\x6e\x8d\x64\x1e\xa8\x5b\x80\xcc\x0d\xdf\x17\x59\x99\x00\x2d\xa4\xa7\x0a\x39\xcf\x7b\xd3\x6e\x01\x6a\xb7\x11\x6e\xbe\x01\x52\x84\xeb\x78\xeb\x84\xdf\xb7\xec\x23\xca\x37\xd5\xe6\x79\x5a\x1c\x6a\x83\x5e\xdf\xe2\x8d\x4a\x0f\x63\xdb\x72\x48\x5e\xce\x9b\x3b\x4d\x6f\x52\x12\x4b\x36\xab\x83\xdb\xb6\x2d\x0d\xf3\xb1\xbd\x05\xa2\xcc\x36\x29\x91\x15\x9a\xd6\x66\xe6\x09\x92\x24\x67\x5e\xee\x5b\x60\x44\x6f\x38\x3d\xf2\xca\x04\x48\x6b\xb2\x7d\x09\x99\x8f\xfd\xcd\x1d\xde\x9b\x95\xcd\x0a\x4d\xeb\x45\xe2\x13\x08\x26\xf3\x3e\xe0\x02\xeb\xad\x0d\x8b\x67\x65\x02\x94\x05\x56\x4f\x01\x6e\xdd\x0a\xc7\x4f\x0e\xce\x37\x89\x0a\x74\xa3\xd6\x78\xf9\xe6\xc5\x9e\xfe\x13\x68\xd0\xc2\x49\xd1\x37\x9f\x95\x7d\x85\xa6\xe3\xd5\x99\x7a\x3d\xe9\x09\xd6\x65\xf1\x13\x51\x8b\x2c\x81\x14\xf0\x86\xd7\x62\xab\x90\x20\xf4\xe7\x29\xc4\x94\x7a\x0e\x71\x5e\x37\x6e\x5a\x40\x2b\x35\x2e\xd3\xfb\x3c\x81\x68\x52\x2f\x28\xce\xcd\xa4\xb3\x61\xd1\xac\xd4\x78\x4a\x34\x1f\x87\xdb\xce\xf5\x97\x7a\x71\x70\x51\x1a\x3f\x0e\x37\x99\xeb\x6f\x55\x12\xcc\x54\x47\x4f\x26\xaf\x9c\x77\x1a\x17\xcc\x27\xb4\x15\xd9\x6d\x82\x1c\x95\xae\x4c\x3f\x8d\xb8\xf5\x44\x65\xc9\x7b\x8f\x73\xa7\xe2\x18\x76\xa3\xc9\xc9\x56\x21\x20\x2d\xa4\x8f\x43\xef\xc9\xe4\x24\x9f\x88\x5c\x98\x52\x0e\xbe\x0d\x69\xad\x40\x86\x88\xb6\xc9\x3c\xb6\xb8\xe5\x68\x9b\x89\x57\x25\xe7\x85\xb8\x64\x2a\x6c\x30\xda\x66\x5d\x52\x60\x34\x4c\xbf\x0e\xb9\x55\x4f\x2b\xfb\x10\xe5\x6c\x3f\x27\x0d\xbd\x31\x5f\x6b\x1d\x22\x84\xb8\xde\x3c\x49\x1a\xea\xcc\xdb\x95\xf3\xa8\xdc\x7c\x32\xea\x95\x09\x88\x75\xea\x89\x32\xd9\xe5\x3d\x77\xb9\x48\xa7\x6e\x21\x9f\xdd\x06\x48\xd1\x2a\xf6\x44\x07\x2a\x13\x2f\x64\x2e\xd0\xcf\x5b\x38\x50\x59\x8f\x8c\x58\xe3\x9e\x22\x85\xdb\xc4\xa3\x9a\x8b\x74\xf0\xa6\x13\xb9\xad\x45\x04\x8c\xa2\x08\x1d\x3d\xab\xbc\xa8\x29\x39\xe1\xd3\xd1\x83\x13\x14\x03\xe4\x16\x88\x4d\x7e\x8a\xa4\x3f\x18\x04\xf8\x8e\x38\xee\x5d\x07\xb9\xf2\x8f\x00\xfd\x70\xbd\x0e\xfd\x61\x93\x41\x8b\x04\x67\x43\x46\xaf\x06\x1c\xf4\xe2\xd1\x73\x06\x6e\x1b\x77\x87\x5e\x5b\xe6\xc2\x8e\x05\x5f\xc5\x18\x3b\xc1\xfd\x50\x68\xb6\xdd\x27\xde\x3d\xeb\xd5\x5d\x60\x49\xc4\x8f\xde\x9d\x55\x26\xb0\x66\x14\x30\x51\x02\xce\x82\xc0\x79\xb4\xfd\x80\x32\xca\x1e\x7d\x62\x87\x7d\xb7\x4d\xec\x36\x17\x53\x8c\x0e\x55\x21\x8c\xa6\x90\xc4\xa7\xb8\x3c\x7a\x74\x4b\xe1\xa3\xd7\x5e\xb6\xa5\x00\x58\x8e\x27\x9e\x82\x6a\x34\x11\x88\x91\xc7\xb8\x29\x78\x7e\xf0\xec\x19\x8c\x20\x54\xa0\xee\x6e\x9b\xf6\x69\x10\xce\xa8\xf0\xf2\xe5\x91\xae\xd0\xee\xbb\x7e\x8b\x3a\x41\x67\x3a\xf8\xfe\xcb\x97\x07\x31\x38\xed\x90\x81\x1b\x04\x74\x06\x3d\x2f\x2b\x2f\x0e\x27\xe1\xf7\x9c\x4e\x87\x7a\x7b\xa4\xe3\xb2\xbd\x76\x9f\x86\xa4\x15\x38\xed\xef\x84\xcd\xa0\xb3\xfa\xec\x60\x0e\xa2\x81\xc3\xda\xbd\xf9\x88\x5e\x56\x0f\x5f\x4c\x45\x34\xa0\x1d\xb2\x17\xba\x03\xbf\x4f\xa6\x63\x38\x78\x71\x58\x99\x8a\x21\x24\x7d\x22\x6a\xec\x39\x6d\xe6\x3e\x90\x5d\xe9\x13\x4d\x67\x6b\xff\x59\x0e\x2e\x41\xc7\x37\xe7\xc1\x91\xc3\xc7\xf8\x73\x06\x63\x2f\x9f\xc7\xa8\x3a\x0e\x23\xbb\x5d\x6f\x86\x18\x5e\x18\xfd\xde\xa1\xed\xef\x24\xd8\xf5\x9d\x20\x24\xbb\xee\xc0\xb9\x9f\x41\xf0\xfe\xb3\xaa\xae\x26\x14\x7e\xf7\x3b\x79\x14\x3a\xb3\xd7\x23\x7d\x9f\x04\xe1\x9e\xdb\xe5\x65\xf6\xb7\x59\x9d\xf9\xf2\xf9\xf3\x39\x58\xa8\x37\x1f\xcb\xf3\xa3\x69\x58\x06\xb4\xe3\x76\xdd\x05\xf1\x1c\xec\x57\xf6\xa7\xe0\x09\x49\xf0\xe0\xb6\x49\xb8\xa7\x4b\x66\x22\x7a\x71\x90\x28\x46\xd7\x09\xd9\xee\x80\x0c\xa8\xfb\xcf\x0c\x69\x3e\x7b\xb1\x1f\x8b\xf3\x9e\xd2\xfb\x3e\xd9\x15\x76\xa0\x35\xec\xee\xc9\xdf\x7b\xf1\x6f\x32\xf0\xd9\xe3\x9d\xdf\x9a\x8e\xed\xe8\xf0\x79\xcc\x88\xeb\xb1\xfe\xee\x80\x84\xa1\x73\x4f\xe4\x7b\xc6\x33\x04\x70\x78\x50\x99\x5e\x4f\xea\xc5\x8c\x31\x7e\xf4\xf2\x28\x1e\x51\x52\x87\x86\x41\x7f\x96\x94\x8e\xe2\x91\xcc\x5c\xdf\x9f\xd3\xc9\x47\x2f\x62\x83\xc3\x28\xed\x33\xd7\x9f\x09\xff\xb2\xba\x1f\x13\x33\x74\x14\xed\xbb\xb3\x5b\x78\x19\x8f\x1b\x9d\x5c\xa0\xb3\xdb\xee\x39\xde\x3d\x09\xc9\x0c\xb1\x1d\x3d\x3f\x88\x3b\x4f\x4f\x8f\xbb\x72\x52\x9d\x31\x7e\xf6\x93\x01\x1f\x57\x9a\xd5\xa9\xcf\x0e\x0e\x5e\xea\x0a\x3f\x19\x09\x06\x33\x70\x1f\x24\x04\x09\xd0\x5d\x61\x93\x76\x1d\xc6\x9c\x76\x6f\x46\xff\x3f\xdf\x97\xfd\x2f\x9c\x94\x4c\xe5\xae\x3b\x8b\x9b\xe7\x2f\x05\x71\x30\x42\x47\x47\x47\xfb\xb5\x64\xbe\x43\x0c\x8e\xd4\xc4\x28\x67\x6e\x1c\x90\xff\x0c\xdd\x80\x20\xb3\xb4\x83\x3b\xa4\xeb\x7a\x24\x42\xd5\xfd\x97\xfb\x35\x82\x4f\x47\xd6\x30\x24\xc5\x90\x05\x6e\x9b\x59\x86\x2b\xa0\x6a\x03\xeb\x7f\xc5\x10\xdd\x73\x8c\x27\x20\x78\xeb\x2f\x5e\xbe\x58\xa6\x7a\x9b\x0e\x7c\xea\x11\x8f\x29\x83\xc3\x71\x1c\x1c\x3c\x3b\x58\x06\x47\x87\xb4\x86\xf7\xbc\xe2\xcb\x83\xc3\xea\x72\x15\xc5\xa3\x27\x4e\xab\x4f\x78\xf5\x17\xfb\xd5\x97\xcb\x54\xa7\x2d\xb1\x1c\x12\x5c\xbf\x58\x8a\xe2\x60\xe8\xf5\x29\xf5\x45\xd5\x67\x2f\x0e\x97\xa9\xaa\x2c\x21\xaf\x5a\x3d\x7a\xfe\x7c\x99\xaa\x43\xe6\xf6\x43\x5e\xf1\xd9\xd1\xc1\x62\x72\x92\x56\x58\x1b\x71\x5e\x75\xff\xf0\xd9\xcb\xac\xab\x88\x29\x38\x7c\xfe\x12\x22\x17\x07\xc8\xc1\xaf\xb5\xea\x59\xc6\x55\x09\x0b\x02\x88\x7c\x4c\xc1\x41\xf5\x65\x05\x16\x5c\x5b\xca\xce\x26\x3f\x19\xf1\x3a\x40\xd8\x56\xe4\x43\xe4\x2a\x1a\x6e\x1e\x07\x2d\xda\x07\x96\xf8\x60\x4b\x0b\xcc\x5d\x74\x5b\x06\xb6\x58\xc8\x1b\xf6\xfb\xc8\x81\x68\x0a\x40\xda\xe1\xb3\xdf\x49\x3b\x6a\xbb\x9e\xcb\xe4\xcb\xf3\xc2\xc5\x46\x04\x55\xd0\x6e\x75\x1a\x12\x3b\x20\x3e\xe1\x46\xe8\xb5\x4b\xfa\x9d\xf0\x4e\x34\x0a\x23\xe4\xda\xae\xd7\x23\x81\xcb\x42\x30\xa5\x26\x8a\x9b\xe4\x2c\x5d\x5c\xbe\xfa\xf4\xa6\x54\xda\x39\xbf\x7e\xf7\xe1\xea\xed\xe5\x45\xa9\x34\xad\x9e\xdd\x71\x43\xbf\xef\x3c\xbe\x77\x06\x04\x4f\x65\x7e\x2a\xd7\x59\x82\x71\xe3\xa0\x99\x90\x62\xbf\xb9\x7c\x7f\xf9\xf1\xec\xf6\xf2\xee\xf6\xfa\xee\xfa\xd5\xef\x97\xe7\xb7\x33\x28\x49\xdc\x60\x46\xaf\x45\x67\xe5\x39\xd1\xd3\x6a\xeb\x3a\x5c\x53\x7a\x6e\x08\xa3\xa9\x24\xe7\x60\xe7\x26\x8b\x2b\x16\xc5\x23\xee\x8a\xd5\x12\x0e\xee\x09\x13\xac\x7d\x76\x59\x4f\x85\x6c\x03\x86\xaa\xa8\x02\x91\x9a\x2a\xe7\x02\xef\x8b\xf7\xff\x3b\x84\x39\x6e\x3f\xe4\x2b\x21\xa3\x86\xa6\x85\x17\x03\x66\x8b\x88\xfb\x18\x8e\x2b\xb0\x7d\xe6\x3d\xc6\x50\x88\xc0\xa8\xa0\xe4\x40\x4a\x25\x40\xed\x5f\xbe\x85\x7e\x4b\x21\xd3\x09\xc5\x31\x83\x88\x46\xd3\xbb\xac\x43\x42\x12\x48\x9d\x7c\xe5\xf2\x05\x60\x4a\xcc\x5c\x0c\x0c\x7b\xe4\x47\x31\xb0\xe5\xe7\x8f\xc4\xe9\x90\x00\x10\x88\xa8\x28\x9f\x82\xb7\x30\xa7\x83\x26\x9a\x7d\x1d\xd0\x81\xc2\x4d\x11\x9b\xd1\x61\x33\x6a\x66\xfa\xb0\x4b\x03\x70\xcc\x6c\x8f\xfc\x94\x1d\x01\x60\xa9\xb4\xc3\x6c\x37\xbc\xf4\x3a\x6f\x02\x3a\xf4\x01\x3c\x86\xe1\x0f\x97\xb5\x7b\x52\xda\x02\xea\xfd\x90\x1b\x1d\x00\xe1\xa8\xed\x84\xa4\x58\xad\x49\x55\x60\x76\x40\x9c\xce\x95\xc7\x0e\xf6\x01\x2c\x10\x5b\x24\xa0\xec\x10\x40\x61\xa1\x15\x10\xe7\x7b\x41\x40\xef\xd7\x34\xe4\x0d\x0b\x5c\xef\x1e\x40\x24\x40\x55\xa7\x64\xa0\x0f\x6a\x4a\x86\xbc\x5f\x91\xac\x17\x43\xaa\xde\x9e\xc1\x2e\xc7\xed\x74\x3a\x4a\x47\x12\xdc\x1d\xa9\x6c\x35\x66\x87\xdf\x5d\x5f\xb1\x1e\x69\x4d\x99\x2e\x59\x63\xe5\x39\x4d\x25\xa4\x46\x90\x94\x46\x7c\x0e\x5c\x46\x82\x79\x1d\x9e\x41\x79\x4b\x65\x35\x65\x07\x39\x2b\x22\xaf\x7b\x38\xec\xb3\x57\xc3\x6e\x97\xf7\xc0\x74\x4a\xa7\x20\xcb\x1d\xc3\x72\xc3\xa5\x50\xd9\xc1\x18\x50\x2c\x9a\x11\x1d\x07\x61\xa9\xc4\xec\x1f\xbc\xa2\xec\xd5\x2a\xa2\x10\x69\x10\xdd\x0d\x10\xaa\xad\x82\xd3\x4a\x0c\xae\xba\x76\xdf\x84\x4f\x0d\xd4\x9c\x3a\x1f\x95\x65\xd4\x78\x0f\x90\xee\xe0\x29\xbc\xcc\xe0\x3e\xe9\x27\xc5\x0b\x9e\x74\xc9\xe6\x98\x21\x2e\x74\x6e\xb6\x16\x53\x86\x4c\x23\x24\xa7\x95\x50\x6c\xb9\x32\x7a\x70\xe5\xa9\xc1\xa6\xda\x20\x8b\x32\xa2\x30\xad\xc6\x8b\xb0\xaa\x0b\x32\x33\xd1\xd0\x4c\x7e\x64\x67\x1b\x2c\xed\x2f\xce\x92\xa1\x14\xf3\xd8\xd2\xfa\xf1\x39\x70\x7c\x9f\x04\x46\x7b\xd2\x38\x1c\x2c\xca\x5d\x6e\x9b\x53\x38\x9c\xde\xe8\xc1\x82\x4c\x26\xe6\x27\x33\xf6\x26\x9a\x73\x3a\x9d\x5b\x3a\xb3\xc1\x74\x73\x7a\xb9\x2b\x4d\xe3\x42\xc4\xb4\xfb\xc4\x09\x66\xcb\x5c\x6c\x49\xa6\xa5\x04\x1a\x4d\xe1\x53\xa5\x3d\x42\x36\xd1\x1e\x77\xd0\x5f\xee\x1f\xae\xe8\x7c\x16\xf2\x3d\x4b\xea\x3b\xff\x19\x12\xc7\x7b\xe4\x6c\x66\xbd\xca\xd4\xc7\xe5\x3c\x4a\x81\x68\x9a\xbb\x98\xc2\xbb\xa0\xab\x98\xaa\x93\xe7\x26\xa6\x39\x81\x8b\xb9\x7d\x69\xac\xcb\xb8\x7c\xe9\x9a\xd3\xdc\xbd\x7c\xa8\x7c\x57\x8f\x37\xfc\x29\xe8\x2f\xe0\xed\x71\x07\xee\xc1\xe9\x0f\x49\x4d\x78\x0d\x7f\xf1\x3f\xef\x9c\xf0\xd5\xf3\x43\xb0\xbc\x47\x96\x11\xec\x46\xbc\xb1\x14\xce\xc2\x0c\xb9\x2d\xea\x85\x2d\x5c\x6b\xfb\x1e\x98\xf6\xab\xa4\x0b\x76\x2b\x3b\x6d\xaa\x17\xf6\xea\x91\x91\x50\x3b\x61\xa2\xa3\x96\x75\x93\xa6\xa9\xe8\xda\x2e\x52\x1a\xf1\x1a\xee\xd1\x42\x88\x66\xb8\x46\xc7\xda\x87\xd1\xc2\x9c\xe1\xf3\xa4\x7c\x24\xad\xf8\x9f\x8e\x72\xab\x48\xd9\x73\x2f\x69\x9e\x2c\x93\xb6\x57\xf5\x64\x8c\xd9\x7f\x7a\x87\x4d\x36\xb2\xdc\xcc\x6f\x3a\x33\x33\x58\x11\x62\xd9\x80\x1b\x33\xaf\x09\x69\x72\x66\x36\xd4\xe2\x5d\x70\x26\x2c\x93\x98\xf9\x74\x55\x00\x97\x69\xe5\xd3\xd1\x22\x8d\x7c\x3a\x5a\xba\x8d\x70\x42\x58\x33\x3b\x44\x28\xd4\x84\x27\x36\x6d\xe6\x8e\x1b\x85\x51\x84\x28\x1e\x45\x05\xdd\x4a\x31\xd0\xc6\xd4\xc5\xb4\x41\x9a\x05\xb7\x0b\xe2\x63\x59\x17\xea\xf3\x39\xbd\x1d\x55\xe0\x90\x8e\x80\xc4\x23\xb7\x53\x23\xa8\x4f\x9d\x0e\xe9\xd4\x76\xaa\x48\x81\xd4\x46\x51\x6c\xf8\x59\x83\x34\xd5\xa1\x9d\xc6\x80\x1c\x94\xfc\x1d\x40\xe4\xd8\x12\x03\xde\xa9\x24\x1f\xa2\xc0\x1e\x60\x86\x02\xdb\x19\x74\xae\xf1\x28\x42\x04\x37\x9a\x28\xb0\xaf\x31\x60\x88\x22\x17\x39\xdc\xe7\x70\xbb\x60\x87\x4a\xe2\x7d\x5c\xdd\xab\x14\xb8\x89\x6d\xe3\xca\x71\xfb\x84\xa8\x21\x78\xdc\x2e\x97\xa5\xe9\x7d\x70\x82\x86\xa8\xd9\xc4\xa4\xd1\x6e\xa2\x90\x37\xe8\xe1\xca\xb1\x77\x42\x35\xb0\x57\x2e\x43\xb0\x53\x2d\x39\xe3\xb1\x7f\x8a\x1d\x58\x2a\xc9\x49\xd2\xfe\x4e\x1e\x43\x10\xd8\xd7\xd0\x26\x0f\x24\x78\x04\x80\xe0\xd3\xc0\xbe\x6e\x90\x26\xa0\x0d\xaf\x09\x21\xac\x53\x3b\xf4\xfb\x6e\x9b\x00\x6f\x77\x17\x55\x61\x0d\x84\x78\xa7\x8a\x9c\x13\x9f\x4f\xf0\xd8\x81\x90\x4b\x36\x84\x23\xa2\xe1\xda\x02\x4e\x08\xb4\x87\x5d\x00\x0b\xb1\xd8\x7b\xa5\x12\x60\xb8\x07\x23\x6d\x80\x59\xe4\x60\x67\x3c\x96\x0c\xf2\x0a\x6d\x9c\x30\xc8\xad\x0c\x69\xb4\x77\xab\xcd\xc6\x7e\xf3\xd4\x39\x6e\xef\xee\x42\xce\x21\x96\x85\x05\xf1\xb7\x62\x3d\x42\x81\xed\x61\xa2\xfc\x35\x86\x49\xa9\x44\xec\xbb\x3b\x12\xbe\xa3\x9d\x61\x9f\xd4\x01\xc4\xa7\xc4\xd6\x93\x81\xf8\x55\x88\x75\x90\xab\xd3\xc8\xa9\xb1\x08\x22\xc6\x11\x75\xb0\xb0\x9f\xf8\x54\xcb\xb7\x48\x8b\xae\x57\x64\x30\xb0\x29\xef\x26\x3e\xbf\xf1\x3f\x89\xf8\x53\x49\x52\x6e\x6d\x7f\x08\xa8\x4f\x02\xf6\xc8\xbf\xa1\x11\xf1\x86\x03\x12\x38\xad\x3e\xa9\xed\x54\xd0\x3d\x61\x35\xd6\xa0\xcd\x08\xf2\x46\xa8\x6e\x44\xd5\x4f\x06\x4c\xcf\x09\xaf\x7f\x78\x1a\x93\xd4\x32\x0e\x8a\x02\x3b\xc0\x72\x43\xd5\x93\xad\x75\xac\x1d\xcc\xab\xd0\x6e\x51\x7a\x9c\xa5\x92\xfc\xd7\x66\x54\x1a\xb6\x5b\xe7\x7e\x3a\x85\x93\xb0\x68\x24\x5d\x1e\x4b\x8a\xcd\x8a\x20\x9a\x56\xd9\x4a\xa4\x6b\xe9\x6a\x3b\x15\xc9\x9b\x37\xe8\x70\x42\x01\xb1\x7d\x87\xf5\x42\xae\xe2\xc4\x6e\xf7\xdc\x7e\x27\x20\xde\x78\x0c\x92\x1f\xb8\xd1\x84\x7c\xe6\x03\x40\xfb\xda\x04\x8f\xaa\x87\x07\xb5\x4a\x54\x08\xec\x6b\xfb\x1b\x66\xf8\xb4\x82\x31\x26\x0d\xd6\x2c\xc8\xbe\x05\x86\x67\xee\x22\x07\x35\x7c\x14\x22\xaf\x89\x29\xea\xe1\x0a\x57\x46\xdf\x0e\xe9\x80\x00\xc0\xab\xee\xc8\xaa\x10\xca\xc1\xe2\xf2\x8e\x0c\x45\x47\x86\xc8\x85\xa5\x12\x08\xec\x41\xc3\x6d\xe2\xb0\xe1\x36\x85\x26\x7b\x50\xea\xa1\x07\x64\x02\x56\xc0\x4a\x25\x06\x28\x3c\xee\x9d\xf8\x5a\x35\x7b\xe5\x32\x74\xb0\xdf\xe8\xf1\xa1\xcb\xf5\x80\x8f\x28\xd2\x70\x9a\xf2\xbf\x8d\x4a\x93\x7b\x23\x0d\xa7\x89\x2b\x89\x96\x5d\x03\xbe\xba\xa0\xf8\xbe\x4f\x5b\x4e\xff\x96\x5b\xd1\x1f\xa4\xe5\x3b\xed\xef\xe7\xbd\xa1\xf7\xfd\x4e\x6c\x83\xdf\x39\x43\x46\xef\x5c\x11\x53\x70\xb7\x04\xe8\x78\xdc\x68\x16\xa8\xdd\xa5\xc1\xa5\x23\xdc\xac\x96\xeb\x75\x80\x58\x20\x54\x20\x44\xd4\xf6\x87\x61\x0f\x9b\xc5\xb2\x48\x16\x50\x08\x23\x08\xb8\x82\x5d\x2b\x1b\x89\x1a\x2f\x5e\x1c\x34\x65\xb7\x04\xe0\xe8\xe8\x68\x1f\x42\x39\xa4\x5d\x3c\x15\xea\x59\xe5\x05\x87\x92\x10\x2e\x44\x77\x39\x84\xde\x61\x97\x37\x55\xf8\x7f\x01\x00\x00\xff\xff\xeb\x49\xd4\x82\x7d\x6a\x15\x00") +var _uiDistAssetsChunk1437ea05e17b3d79e3f7777Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x6d\x53\x1c\x39\xb2\x37\x0e\xbf\x9f\x4f\xb1\x33\x71\xc7\x04\xc4\xe9\x9b\xe0\xd9\x36\x73\x71\x6d\x60\x68\xdb\x78\x30\x70\xba\xc1\x73\x4d\x38\x26\x1c\x45\xb7\x80\x5a\x37\x55\xbd\x55\xd5\x9e\xe1\xf8\xec\x77\xff\x47\x3d\xeb\x59\x29\xa5\x54\x30\xbb\xf3\x62\x77\x0c\x94\x32\x53\x3f\xa5\xa4\xcc\x54\x2a\xf5\x35\xca\xfe\xf6\xf9\x33\x79\xb8\x21\xd9\xe7\x68\x55\xa4\x9f\xe3\x87\x65\x9a\x15\x9f\x3f\xff\xb4\xb6\xb6\x7e\xf8\x7f\xbf\x95\x7f\x27\xa3\xe2\xf0\xdb\xde\xce\xce\xab\x83\x35\x32\x2a\x46\x69\xfb\xfb\xec\x30\x5d\xdb\xdd\x7f\xb5\x3e\x8a\x0f\xb3\x51\x74\xf8\x66\x95\xcc\x8a\x38\x4d\xd6\x7e\xc8\x48\xb1\xca\x92\xbf\x15\xf7\x71\xfe\xc3\xfa\xda\xfa\x68\x79\x98\xae\xbd\xdc\xdd\xdf\x5e\xff\x2e\xde\x48\x6f\xfe\x41\x66\xc5\x06\xf9\xa3\x20\xc9\x7c\x6d\x99\xa5\x45\x3a\x5a\xae\x7f\x57\xd2\xcb\x0f\xd3\xb5\xed\xbd\x17\x9b\xaa\xcf\xf2\xfa\xb3\xa4\xfc\x6c\x77\xef\x95\xea\xb3\xa4\xfe\xec\xfe\x30\x5d\x7b\xf1\x6a\x7b\x57\xf5\xd9\xfd\xfa\x28\xde\x20\x7f\x94\xbd\x9d\x3e\x3e\xdc\xa4\x8b\xb5\x1f\xaa\x3f\x6c\xdc\x47\xf9\x7d\x3c\x4b\xb3\xe5\xc6\xef\xd1\xe3\x32\x8d\x93\x62\xe3\x68\x9e\x2e\x8b\xc9\x2a\x49\x48\x36\x21\xff\x5c\x91\xbc\xf8\x61\x94\xac\x16\x8b\x51\x64\x43\x64\xb9\x5c\xc4\xb3\xa8\x84\xc8\xa5\x75\x56\xc4\xb7\xd1\xcc\x89\xf1\xaa\xb8\xff\x40\x8a\xfb\x74\x8e\x6a\xbc\x51\xff\xe7\x38\xca\x09\x8e\xce\xc5\xe9\xc9\xb1\x03\x85\xd7\xab\x78\xe1\xd2\x83\xaa\xdd\xc6\x65\x46\x16\x69\xe4\xd2\xfe\x38\x4a\x66\x64\xf1\x3e\xbd\x71\x1f\xfa\x9a\xc4\x55\x94\x7f\x41\xd0\x48\x1f\x96\x0b\x52\x90\x12\xbd\x12\x4c\x9f\x94\xf2\x65\x9a\x38\x8d\x6a\x49\x2a\x4d\x48\xe2\x2a\x46\xd5\x76\xe3\xea\x71\xe9\xc6\x3c\xb9\x8d\xef\xde\x92\x02\x03\x05\x4b\x62\x63\x3a\x4b\x97\xc4\x51\xc5\x29\x62\x08\x40\x4b\x1a\x53\x7c\x9f\xa6\x3e\xc4\x48\x57\xd9\x0c\xdb\xdc\x03\xa4\xd3\xc7\x64\x76\x19\x2f\xc9\x22\x4e\x08\x1a\x17\x86\x16\x12\xa0\x8f\x51\x86\x69\xbb\x71\xf2\x98\x44\x0f\xf1\xec\x63\xb4\x40\x91\xb9\x8a\xb2\x3b\xe2\x0e\x49\x4f\xa2\xdc\xa3\xf0\xc3\x55\xd2\xbb\x4e\x56\x39\x99\xfb\xa1\xf5\x31\x5a\xac\x10\x54\xbe\x92\xac\x38\x4d\xbe\xc6\x05\xb9\x4a\xbf\x90\x04\xa1\x40\x19\x89\x0a\xf2\x2e\xcd\x8b\x24\x7a\xc0\x28\x22\x47\xc7\x5d\x09\x2b\x42\xd3\x24\x5a\xe6\xf7\x29\x6a\xba\x4b\x09\x6d\x8c\xbf\x92\xa4\x70\x05\x5e\x4e\xf2\x62\x49\x5c\xac\x9f\x13\x32\x5b\x44\x19\x99\x4f\x48\xee\xba\x26\x9d\x90\x59\x3a\xc7\xaa\x00\x43\xc4\x19\xee\x13\x52\x6e\xbf\xbd\x45\x84\x91\xa7\xa4\x84\x57\xc9\x9a\xce\x45\x72\x42\x1e\xa2\x64\x5e\x5b\xba\xf5\x04\x0c\x43\x13\x09\x1d\xce\x92\x6a\x68\x64\xf1\xdd\x1d\xc6\x9e\xaf\xc9\x5c\xe7\x38\x1a\xcb\x45\xfa\xf8\xe0\x66\x40\xf5\x8d\x37\xce\xd2\x68\x7e\x42\x8a\x28\x5e\xe4\x38\x42\xee\x66\x72\x4f\x64\xfc\xc7\x32\x4a\xe6\xc4\x8d\x48\x5e\x64\xe9\xe3\x65\x96\x96\x0e\x1b\x06\xd7\x8a\x0e\x6e\xc1\x48\x67\xab\xb2\x3b\xae\x1e\x1b\xd3\x7e\xe3\x4d\x4c\x9c\xbc\x17\x96\xca\x87\x68\xb9\x24\x2e\x36\xc7\x38\x29\xb2\xfa\x9f\xf5\x14\xf4\x40\x82\x1a\xf1\xd3\xe4\x36\xf5\x41\x71\xfc\x07\x99\xf9\xa0\x73\x3d\x39\x9b\x92\xec\x6b\xec\x34\xee\x3c\x35\x77\x2d\x14\x29\x39\xaf\x7b\x3d\xa9\x12\x23\x1f\x22\x51\x74\x36\xc6\x59\x96\xe2\xb4\x8a\xa1\x86\x30\x1b\x14\x14\xff\x88\xfd\x75\xd6\xd1\x04\x51\x10\x5b\x15\xcb\x95\x47\xd9\x2a\x72\x1b\xc7\xf7\x51\x92\x10\x17\xa7\x80\x27\xeb\x4d\xe1\x3c\x98\x84\x3d\xc9\xb3\xf4\xee\x75\x54\xcc\xee\x5d\x88\x94\xaa\x5a\x6f\x75\x2e\xad\xff\x20\xb3\x69\x91\x91\xe8\x01\x31\x85\x78\x1a\x38\x50\x04\x6a\xa7\x89\xa3\x46\x09\x94\x2e\xaf\x7e\xf5\x42\x67\x5a\x44\x99\x1f\x89\x2a\x4a\x8d\xb3\xe9\x0d\xb0\x5f\xe2\x64\x9e\xfe\x3e\x8d\xff\x07\x4b\xce\x7d\xb2\x08\x44\xbc\xe9\x44\x4b\xce\x71\x05\x14\x29\xb9\x2e\x7f\x12\x4a\xce\x6b\x9f\x8a\x16\x66\xe1\xfb\x63\x49\xe6\x71\x41\xa6\x45\x54\xac\xf2\x09\x29\x1b\x61\xe6\xb8\x92\x1a\x56\x7b\x65\x84\x9d\x15\xef\x4d\x5a\xca\x82\x3d\x99\x78\x4b\x12\x92\x45\x05\xa9\xe9\x20\x5d\xe4\x86\x98\x9b\xcd\xfc\x96\x14\xd4\x31\x09\x46\x08\x96\x8e\x33\xc0\x25\x21\x0f\x7e\x3a\x47\x06\x23\x4e\x75\x9c\x81\x92\x84\x8e\xce\xfa\x26\x84\x8a\xf6\x0a\x24\x31\x38\xf5\xde\x09\xaa\x8f\xa8\x73\x9f\xba\x3d\xd6\xe0\x60\xa9\x60\x30\x11\xc8\x74\x67\x41\xbe\xe8\x9d\xa4\xbf\x27\x8e\x01\x04\x29\x3d\x57\xcf\x44\x4e\x0c\xb1\x27\x4b\x09\xbe\x4f\x6f\xca\x1d\xeb\xce\x1b\x41\xc7\xcd\x59\x4a\xab\xdc\x62\xbc\x09\x76\x45\xb2\x87\x38\x71\x3a\xa7\xd0\xd2\xab\xc7\x24\x0c\x55\xff\xe3\xcd\xd1\x3f\x8b\x93\x50\xa4\xcf\xa3\x07\x32\xaf\x0e\x3e\x82\x33\x70\x89\x18\x42\x38\x4c\xa2\xdf\x03\x51\xae\x8d\xa7\x60\xc4\xc9\x32\x20\xe9\xb7\x59\xba\x0a\x45\xff\x2a\xba\x59\x84\xd2\x97\x8a\x76\xe5\xc1\x87\x64\x30\x49\x1d\x75\xe6\x2c\x2a\x48\xee\xc1\x36\xaa\xe9\x5c\xae\xf2\x7b\x32\x6f\x53\x6e\x3c\x10\x9c\x90\x05\x89\x72\x9c\xb5\x55\x53\xf2\xe3\xdf\xe8\xc8\xe1\x1c\x9c\x92\x72\x7a\xe7\xc1\xe4\xe1\xa9\x20\xf3\xa7\x64\x14\x91\xb6\x6a\x9b\x3f\x73\x3d\x39\x43\xf5\x94\xa1\x83\x31\xef\xfc\x9e\xdf\x29\x09\x62\x44\xc4\xa7\x71\x30\x44\xfc\x88\xd2\x2c\x48\x6f\xb3\x68\xe9\x12\x92\x54\xd2\x2a\xdd\xf3\x87\x08\xdb\xc9\x15\xce\x0f\x66\xe8\xa0\xf0\xc2\x1e\xca\xd1\x34\x50\x82\xf8\x5b\x9d\x7d\xac\xcb\xf8\xe8\x4b\x31\x25\xd9\x57\x3f\xf3\xcb\xdb\xf6\x80\x3b\x62\xef\x08\x60\xfa\x82\x3e\xa1\xa7\x69\x60\x04\xc1\x9d\xf1\x77\x04\x30\x22\x7c\x24\x59\x1e\xa7\xc9\x69\x72\x9b\xe2\x08\xfd\x92\x66\x5f\xf2\x65\x84\x8c\xfc\x50\x54\x9c\x85\x79\xf7\xe1\xe8\xf8\x67\xe2\x62\x4e\xbe\x9b\xb9\xf8\xa1\xef\x66\x0b\xf7\x05\xb9\x4d\xb1\x41\x34\x75\x4f\xd3\xe3\x28\xe0\x0c\x34\x8e\xd8\xd1\xd2\xc5\x1b\x39\x4d\xca\x2d\xe5\x67\x42\x96\xd1\x22\xfe\xea\x22\xc6\x69\x92\x17\x51\xe2\x74\x40\xdf\x36\x75\xcd\x1b\xf6\x92\x0c\xf8\x3e\xbd\x71\x6b\x55\x65\xc2\x5f\xb8\x80\xde\x36\x9e\x90\x7c\xb5\x70\x94\x99\x22\xb0\x81\xa2\x53\xb9\x5a\xce\xdd\x68\x1c\x35\x04\x7f\xe7\x34\x96\xbe\xf1\x86\x73\x7e\x73\x4f\x63\xfa\x98\xcc\x9c\x51\xe8\x49\xa0\xa0\x38\x89\x8a\x08\xd5\x95\x9e\xc0\xc6\x84\xdc\x7a\x21\x52\xfe\xcf\x71\x81\xe2\x88\xd5\xff\xc1\xd0\xaa\x0e\x02\x9c\x07\xa9\x6e\x8e\x1b\xa0\x3a\x1b\x0d\x21\x42\xd3\x1e\xb7\xf2\x53\xa4\x1a\x3b\xdc\x5d\xa2\x74\x96\xa3\x1a\xe3\xf0\xec\x08\xe0\xd6\xb0\xf1\x1f\xc4\x7d\xf2\x36\x69\x31\xee\xdc\xdf\x3a\x9d\xe8\x37\x2d\xab\x75\x1c\xa1\x07\x25\x89\xd7\x51\x1e\xbb\xa4\xdb\xb5\xed\xdd\xd7\x8a\xb2\xf5\x74\xfa\xce\xb1\xf5\x69\x12\xbb\x6b\x6e\xd9\x18\x35\x6c\x67\xe9\xcc\xe9\x18\xa4\x6e\x7b\xe7\x3e\x6d\xce\xd3\xd4\xb5\xe9\xc5\xb2\x39\x92\x47\x68\x4c\x1b\x47\xf0\xb4\x69\xb5\xe4\xa6\x05\x59\x3a\x43\x42\x13\xc1\x49\x93\x2e\x16\xee\x52\xa4\x8b\x05\x8e\x7b\xbd\x1a\x37\x6b\x33\x8e\xd4\x2a\x77\x37\x2e\xcb\xc6\x28\xee\xff\xbd\x22\x2b\x82\xdd\x5b\x68\x22\xde\xa4\x69\xb6\x0b\x5c\x0c\xb9\x24\xda\x44\x8c\x9c\x7b\xd7\x45\x9c\x10\x1d\x9b\x90\x87\xd4\xe9\x68\xb7\x6e\x8c\xe0\x5c\xe5\xef\x5d\x45\xf9\x97\xb3\x68\x95\xcc\xdc\x35\xad\xa3\x83\x95\xc6\x19\x06\x3a\x50\x86\xe9\x06\x45\x04\x6f\x9d\x71\x59\x61\x18\x64\xd2\xa5\x97\x61\x62\xc9\xd4\x88\x23\x3a\x58\x12\xbb\xf8\x4a\xb2\x2c\x9e\x63\x48\x5c\x2e\x56\x77\x71\x72\x19\x65\xd1\x83\xcb\x31\x70\x49\xe6\xda\x7d\xd7\xb9\xc6\xed\x35\x1f\xa3\x45\x3c\x8f\x0a\xf7\x25\xa4\x25\x80\x92\xe2\x97\xa8\x98\xdd\x57\xc3\xe1\x2a\x46\x47\xc1\x59\x8e\xb3\x38\xa7\xd2\xe2\x72\x44\x2c\xb1\xa4\x54\xc5\x14\x72\xf7\x88\x0e\x4d\x03\x25\x48\x9f\x79\x86\x94\x86\x21\x84\x12\xa9\x0d\xfa\x21\x05\xa2\xc8\xa0\xc4\x69\x23\x78\x48\x71\x78\x32\xc8\xed\x5d\x4a\x12\x73\x46\xcc\x11\x44\x41\xf6\x3e\xbd\x41\xa2\x55\x53\x40\x09\xd1\x9e\x54\xfb\x99\xb0\xb2\xd3\x65\x2c\x4d\xea\xb4\x13\x09\x17\x4b\xc9\x8b\x50\x9e\x24\x42\x8b\x53\x9b\xc4\x58\x69\x3a\x2a\x38\x61\x98\xc3\x5c\xac\x4c\x3c\x31\x94\x68\x8d\xa9\x8e\x94\xa9\xa7\x82\x13\xa6\x9a\x24\x58\x59\x5a\x22\x28\x51\x68\x2b\x15\x29\x90\x8c\x14\xce\x8c\x96\x50\x45\x75\x16\x77\x0e\xde\x53\xc0\x09\x81\x3d\x09\x67\x88\xa0\x44\xb9\xce\xf1\x0a\xd4\x9d\x1e\x23\xb5\x47\xa0\x83\xde\xad\x69\x8a\xee\x5d\x74\xbf\xdd\xd8\x36\xdd\x70\xcd\xb4\x64\x09\xb8\x9f\x70\x9d\xa5\x77\x71\x82\x3c\x22\x3d\x27\xbf\x63\x2b\x65\xb0\x06\x07\x9a\xc0\xc6\xcf\x71\xe2\x44\x45\x62\xa9\xb8\x90\x59\xba\xdf\x8c\xea\xda\x6e\x5c\xde\x3f\xe6\xf1\x2c\x5a\xb8\x46\x3f\x3a\x4a\x17\xd9\xdc\xa9\x96\x00\x4b\x60\xc3\x95\xcc\x65\x74\x17\x27\xc8\x7b\x5e\x34\x0d\x67\x25\x6b\xed\x2a\x44\xd3\x8d\x8b\xdf\x4b\xc5\x70\x5b\x78\x3a\x22\x8e\xa9\xe7\x4c\x7b\xe7\x32\x79\x2c\x95\xda\xf5\x44\x93\x71\x2c\xe8\xc0\x12\x29\x27\xad\x0f\x68\xbd\x0c\x74\x45\xa8\xb1\xe9\xd0\x74\xae\x31\xc3\x3d\x59\xb9\xac\x23\x54\x6b\xe7\xf8\x69\x63\xfa\xbb\xb7\xac\xea\x8c\x55\x46\xda\x65\xba\x70\x39\x4c\x6b\xe9\x60\x9b\xd7\xff\x75\xc6\x81\x71\x37\xd0\x04\x10\xc5\x77\xaa\xa3\x0e\xd4\x55\xc5\x9e\x82\xf3\x3a\xea\x76\x1e\x3c\x21\xb7\xc8\xb8\x4d\x45\xc1\x7d\x10\xe8\xe6\x88\xb4\x95\x8a\x0c\xc6\x54\x29\x09\x60\xea\x69\x96\xed\x3d\xd4\x49\xab\xc9\x20\xca\x52\xb1\x04\x90\x88\xbe\x5d\xa4\x37\x4e\xc7\xed\x65\x63\xb7\x1c\xbd\xb2\xa5\x27\x83\xaf\x22\x85\x30\xfa\x98\xf6\x38\xbf\x98\x21\x35\x25\xff\x74\x24\x81\xd8\x42\xe9\xe6\x48\xad\x68\xc9\x54\x56\x17\x92\x86\xa3\xd1\x55\x91\x70\xde\x07\xab\x0c\xb9\x4a\xb7\x50\x8d\xf1\x2a\x51\xd3\x39\x4a\x5c\x4c\xbd\xbe\xfd\xa9\xeb\x7a\x57\x37\x3f\x8b\x6e\x88\x53\xe1\xba\x92\xc4\x55\x94\x7f\x41\x34\x45\x6a\x62\x13\x54\x71\x6c\x7d\x9d\xa3\x9a\x22\x65\x2f\x49\x38\x8f\x5c\xd9\xb8\xfc\x9f\x63\x52\x7c\x49\xa2\x0b\xb6\x38\xb5\x77\xb5\xc0\x9b\x96\xc8\x92\x89\x2d\x15\x77\x93\xad\xa1\x80\x28\x96\xd8\x6e\xf2\xc7\x51\x41\xee\xd2\xec\xf1\x24\xce\x97\x8b\xe8\xf1\x5d\xec\xb8\x6d\xe7\x45\x9a\x51\x15\x5b\x5d\x2d\x49\x39\x21\xd4\x65\x7c\x05\x49\xc7\x6a\x09\x93\x55\x82\xbf\x86\xc8\x10\x71\x37\x99\x57\x09\x3a\xb6\x4b\xd3\xc0\x08\xe2\xb8\x19\xd5\x1b\x51\xf5\x42\x42\x69\x59\x38\xba\x52\x0d\x19\x84\xab\xdf\x50\x70\x4d\xcf\x6c\x9a\x5f\x9c\x4c\xdc\x1b\x3b\xe7\x65\x61\xcd\x4c\x2f\xf7\x7d\x25\x54\x70\x93\x56\x42\xcf\x7d\xc6\xfa\xb8\x7f\x5c\x93\x61\x6a\x03\xf9\x01\x4d\x4a\x12\x29\xa6\x87\xc2\x41\x72\x42\x1b\x47\x33\x27\x83\x49\x4e\x0c\x51\x40\x48\x49\xb1\xc4\xef\xcc\x71\x57\x95\xd3\x74\x2d\x23\xa4\x22\x87\x9e\x16\x02\xc9\x77\x24\xca\x8a\x1b\xe2\x74\x39\x51\x41\xd2\xbb\xe2\x7c\x8c\xb2\x38\xba\x59\x90\xba\x6c\xcc\xd4\xe9\x2e\xa3\x40\xda\xdf\x34\xf1\x50\xe5\x49\x45\xf3\x7d\x7a\x73\x94\xe7\xf1\x5d\xe2\x1a\x13\x51\xd3\xad\xdf\x86\x71\xa6\x89\x3c\xa3\x63\x88\x38\x0f\x05\x7d\x7f\x1d\xd9\x7c\xe3\x68\xfe\x95\x64\x45\x9c\x93\xa3\xf9\xdc\x65\xca\xd6\xc4\xde\x90\xa8\x58\x65\x4e\xb5\x8d\x58\x02\x1b\xb7\xf5\x3f\x9c\x08\x79\x2a\xb5\x37\xe5\x2b\x04\x38\x13\x6a\x0c\x68\x44\xd3\x8d\xd7\xe9\xa2\x38\xbe\x5f\x25\x2e\x7b\x48\x47\xe4\x1d\x89\xdc\x0e\x0d\x39\x0a\xee\x17\xba\x3b\x42\x57\x59\x14\x2f\x70\xb2\x34\x24\x36\x8e\xef\xc9\xec\x4b\xbe\x7a\x70\x5c\x7c\x9c\xcb\x5a\xd5\x0d\x9d\x8f\x73\xea\xe6\x6f\xe2\x45\xe1\x06\x03\xd5\x7c\xc3\x27\x95\xe6\x3f\x28\x34\xeb\x24\x20\x64\xf3\x52\xd9\x16\x85\x4b\x3e\x07\x43\x05\x11\x94\x97\xd2\xf1\x24\x56\x1d\x43\x3c\x75\xf5\xbb\x1c\xe3\x6f\x55\xec\xcd\x55\x63\xfb\x3b\x09\x8e\x2f\x0f\x54\x1b\x9e\x6b\x3b\xaa\x90\xb9\x33\x89\xba\x06\x01\xb2\xf9\xc6\x34\xbe\x4b\x9c\xaa\xc9\xd5\x54\x10\xde\x76\x4d\xa0\xca\x12\x72\x6e\xed\x1c\x73\xa8\x9b\xbb\x87\x5e\xab\xf6\x57\x59\x94\xe4\x8e\x8b\x03\x4b\x60\x63\xfc\x47\x41\xb2\x24\x5a\x1c\x67\x64\x9e\x63\x00\xed\x49\x5e\x54\xf7\x7b\x33\x32\x27\x49\x11\x47\x4e\x21\x4a\x04\x3e\x75\x4b\xf4\xb5\xd1\xeb\x53\xa7\x46\xd4\xe9\xe1\xeb\x55\x32\x77\x2a\x69\x78\x7d\xea\xab\x06\xb0\x48\xc9\xd9\x4c\xae\x49\xa1\xeb\x68\x71\x64\x30\xe2\x78\xbb\xae\x22\xa3\x85\x15\x0c\x9f\xa7\x2e\x10\xc2\x8a\x84\x4f\x09\x17\x08\x61\x44\x6a\x3a\x86\x99\x25\x8d\x20\xee\x24\x96\xf3\x08\xfb\x0a\x16\x4d\xc3\x1d\x8e\x65\x4e\x32\x3f\xd5\xe3\x25\xa4\xb0\x62\x79\xa8\x21\x2f\x52\x42\x0a\x85\xac\x96\xca\x10\x41\x8a\xe2\x65\xa1\x96\x53\x2a\x77\xb3\xdc\xd1\xce\x14\x49\x22\xfb\xe9\xb7\x42\xa7\x8e\x26\x52\x50\xfc\x01\x19\x4f\x07\x2b\x10\x7a\xd7\x64\xc9\x60\xc5\xf1\x54\x83\x52\x4e\x0d\x29\x1c\xba\xaa\x25\x47\x06\x29\x8e\x9f\x9a\x94\x32\x5a\x48\xc1\x70\x77\x7b\x68\x1a\x58\x41\xb0\x67\xc0\x1c\x19\xa4\x38\x1e\x6a\x44\x0a\x84\xdc\x45\x72\xcb\x91\xa9\xf2\x63\xce\x62\xa7\x30\x65\xd7\x16\xf7\xe4\x7d\x4f\xc6\xf1\xc5\xfb\xf6\xa2\x3f\x2a\xb1\x97\x21\xe2\x3c\x0a\xed\xd1\x0f\xa2\xe9\xc6\x9b\x18\xdb\x3e\x89\x16\xae\x6f\x22\x48\xa8\xb8\xdf\x8e\x92\x11\xc3\xbc\x52\xdd\xd1\x7b\x37\x5b\x5c\xa6\x2e\xce\x3e\x4d\x61\xe2\xf8\x22\x49\x47\x03\x55\x72\xaf\xa3\xf2\xf1\x78\x8a\x6a\x8e\xc1\xb3\xaf\x96\x8b\x6b\x5d\x7a\x58\x45\x3a\x4b\x17\xcd\xef\x1c\xa8\xfd\xd2\xfc\xe3\xdd\x6c\xf1\xe6\x01\xb1\xff\xf1\x74\x9c\xa7\x32\x26\xed\xae\x6b\x8b\x4c\xd9\xef\xe9\x08\x39\xb4\x1a\x67\xf5\xf0\x76\x95\xcc\x4a\x8e\x6b\x64\xfd\x5b\xb6\xf1\x81\xe4\x79\x74\x47\x36\xe2\x24\x2e\xe2\x68\x11\xff\x0f\x59\x2b\xee\xe3\x7c\x44\x46\x9b\xa3\xff\xff\x56\x4d\xb0\xfc\xbf\xf5\x7f\x8d\xe2\x8d\x38\xb9\x27\x59\x5c\xe4\x6b\x1a\xfa\xa3\x8e\x66\xd9\x95\x93\xf1\xeb\xeb\xb7\x3f\xfe\xf8\xfd\xf1\xc5\x87\xcb\xd3\xb3\xf1\xc9\x8f\x3f\xea\xda\x6e\xcc\xeb\xec\xbb\xf3\xe8\x81\x1c\x6a\x43\x62\xda\x2e\xca\x02\x1f\xa1\xbb\x2d\xe3\x89\x82\x42\x42\x0f\x0c\x8f\x34\xf2\x63\x03\x59\x3d\x2f\xec\x30\xb3\xa5\xbe\x91\x91\x25\x89\x0a\x32\xaf\x5e\x75\xce\x3f\xa3\xf0\xae\x49\x7a\x04\xbc\x91\xd1\x11\xf1\x66\x5d\xd1\x43\xce\x04\x9e\x82\xeb\x27\xc3\x0d\x05\x14\x43\x09\x8e\x10\x1b\x67\xd3\x43\x23\x44\x78\x83\xc3\x23\x70\x44\x41\x24\x50\x83\xc3\x24\x06\xb7\xe1\x50\xb9\x4c\x5b\x24\x56\x1e\x26\x9e\x48\xce\x0d\x2d\xd0\xa4\x93\x07\xeb\xfd\xae\x74\x22\x7d\x0f\x6b\x9d\x48\x14\xbd\xda\x49\xe4\xb4\x5a\xef\x24\x87\x1e\x96\xe0\x87\xd8\x67\x24\x0c\x7c\xc3\xef\x69\xb7\x91\x49\xea\x3e\x00\x20\xf5\x97\x9d\xe7\x0d\xb1\x5e\x08\x4c\xb1\x2b\x86\x18\xa2\xb6\x59\x33\xc4\x50\xb9\x15\x6c\xc3\xad\xb3\x22\x57\x9f\xc0\x39\xac\xb6\x92\x38\xbe\x1e\x3a\xfe\x1c\x3a\x38\x6a\x3c\x43\x14\x60\x3c\x31\x38\x56\xc2\xf9\xbb\x79\x69\xe4\x0e\x46\xfd\x2e\x8b\x1c\x71\x0f\x4b\x22\x47\x11\xbd\x1c\xf2\x12\x5a\x2d\x85\xfc\xa1\xb2\x0d\xda\x21\x76\x21\x9e\xba\x57\xbc\x3d\xed\x3f\x82\x8c\x8e\x88\x83\xd6\x01\xe6\x8c\x3c\xf8\x22\xc0\x70\x43\x01\xc5\x50\x82\x23\xc4\xa6\x04\x68\xa0\x91\xbf\x4b\x15\x16\x20\x39\x4f\x77\x98\xe4\xf4\x80\x60\x29\x1e\xe6\xd2\x40\xc6\x26\x97\x7b\x9a\xb7\x5c\xc6\x3a\x62\xba\xb2\x94\xdc\x51\xe5\x24\x82\xa1\xc9\x65\xee\x6b\x50\xa4\x40\x0f\xab\x6d\x14\x23\x77\x30\xe8\x78\x32\x0c\x09\x3a\x7e\x0d\x83\x81\x0f\x54\x0f\x06\x0b\xcf\xd8\x0f\x4c\x1c\x51\x7b\xd8\x84\xc0\xbd\x06\x46\x2a\x94\x1d\x16\x36\x8a\x91\x3b\x4c\x14\x11\x20\x2c\x74\xa8\x5e\xa7\x4d\xcd\xc9\x8b\x03\x06\xe6\xd3\x9c\x34\x21\xe9\x6d\xf5\xf6\x75\xfe\x19\xaa\x64\x4d\x5b\x84\x46\xb5\xdc\x81\xea\xd3\x9e\x71\x02\x40\xaa\x0e\x33\x03\x4f\x32\x9a\x95\x07\x10\x4a\x32\x96\x48\xd4\x47\xb6\x10\x38\x3e\x1e\x4f\x07\x42\xe3\xe3\xf1\xd4\x03\x18\x1f\x8f\xa7\xb6\x58\x7c\x3c\x9e\x82\xa0\xa8\xcf\x70\x07\x42\xa3\x66\xe6\x01\x90\x9a\x90\x2d\x26\xcd\x79\x35\x10\x96\xea\x60\x7a\x38\x60\x2a\x76\x7e\xa0\xa9\x48\x39\x80\x53\x1f\xc5\xc3\xd6\x93\x36\x93\x20\xc8\xfa\x4b\x25\x2a\x20\x96\x62\x8a\x8c\x97\x05\xa9\x93\xc9\x7a\x59\xea\x32\x41\x34\xd8\x36\xd1\x75\x4f\x46\x76\x5b\x33\x10\x61\x5d\x37\x24\xdc\xa1\x6b\x65\x80\xc1\xd5\x1e\xad\x9b\x21\xaa\xea\x28\x86\x9d\x98\x34\x27\x3c\x00\x25\x15\x3b\x14\xea\x52\x91\x00\x28\x98\xd2\x94\xc3\x60\xc2\xb0\xc4\x83\xc3\x90\xb3\x44\x89\x2d\xcc\xa9\x81\xab\xcb\xe0\xf0\x34\xbd\xfa\x8c\x10\xc4\x04\xeb\x88\xb8\x83\xd8\xcb\x01\x03\xae\xcf\xa6\x81\x80\xe5\x79\x4d\x12\xe8\x7a\x01\x0f\xbf\x4e\x89\x72\x59\x82\x09\x59\xbb\xa4\xb9\x48\x61\x27\xac\x94\xa5\x0f\x98\xec\x9d\x3a\x79\x26\x96\x2e\x8e\x99\x93\xcc\x57\x9c\x38\x27\x19\x2a\x28\x9c\x93\x0c\x11\xd8\x2c\xb9\x03\x83\x99\x39\xc9\x4c\x98\x54\x19\xba\x3e\x6d\xae\x3e\xed\xd7\xc1\xd2\xea\x1a\x23\xf1\xa9\xf8\xc3\x41\xaa\x33\xa5\x21\x48\x55\xb9\xcc\x81\x63\xe0\x0c\x2f\x1f\x40\x94\x74\x6c\xd1\xa8\x93\xb6\x35\x90\x4c\xc8\x6d\x58\x1c\x26\xe4\xd6\xbd\xf3\x13\x72\x0b\xec\xf1\x84\xdc\x1a\xba\xd9\x54\xe1\x0d\xde\xdb\x86\x0f\xae\xd3\x35\x0d\x78\xdf\xdb\x12\xc3\x06\x08\x06\xdb\x63\x38\x66\x38\x30\xec\xf7\x15\xbe\x1c\xb7\x01\x16\x27\x7b\xc6\x05\x12\xb4\x4d\x42\x11\xb1\x80\x02\x60\x87\x30\xa5\x4c\xc3\x03\xe1\xc1\xc6\x65\xc8\x58\x80\x01\xb2\x75\xd9\xf2\xdf\x3e\x37\x56\xae\xb0\xb8\xc3\xee\xca\x52\xc0\x01\x48\x49\x02\x47\x90\x2a\xac\x6e\x5a\x6f\x9a\xcb\x80\xbe\x01\xec\x2a\xdd\x3b\xc2\xd7\xb6\x47\xae\x4b\xad\x14\x16\x8b\x52\x5b\xe1\xdf\x00\x5c\x57\x42\x3f\xfc\x54\xec\x58\xe1\xc0\xe8\xc8\x58\xa0\xd1\x3f\x14\x60\x80\xa3\xab\xe1\xe1\x5b\x91\xfa\xba\xf4\x8e\x9a\xd4\x11\xc0\xa1\xd7\xcb\x01\x47\xaf\xaf\xc9\x0f\x45\x6f\x4a\xfe\x19\x5e\x9f\x68\x6e\x9e\x40\x99\x92\x7f\xba\xe0\x32\x25\xff\x34\x41\x53\x5f\x37\xf7\xad\x55\x4d\x25\x5d\x47\x95\xaa\x5b\xe3\xa0\x6b\x24\x80\x83\xd6\x94\x31\x02\xc1\x75\x94\x3c\x86\x57\xa3\x8e\x95\x0f\x20\x8e\x92\x47\x6b\x2c\x8e\x92\x47\x18\x1c\xa7\xf3\xa1\xd0\x38\x9d\xfb\x00\xe3\x74\x6e\x8d\xc5\xe9\x1c\x06\x45\xfd\x06\xc2\x50\x70\xd4\xdc\x7c\x40\x52\x53\xb2\x86\xa5\x79\xf2\xc1\x00\x8d\x7d\xcc\xca\xbc\xc2\x54\x0e\xbe\xe3\xfa\x82\x0b\x5c\x75\xdc\xe1\x60\x99\x02\x58\xfd\x33\x0e\xe1\x35\xa7\xe6\x83\xef\xbe\xd5\x24\x6a\xde\xa8\x00\x40\xd0\x3e\x46\x31\x0c\x10\x2d\x37\x3c\x1c\x2d\x25\x4b\x50\xba\xb7\x37\x4c\x7e\x44\x57\x2f\x68\x80\xb0\x45\xc7\x0b\xe9\x1d\xf4\x0f\x76\x5a\xf8\x07\xfd\xdb\x5b\x46\xef\x94\x7d\x24\x2b\x3c\x30\x3c\x47\xac\xe7\xc9\x52\xb3\xf2\x3f\xb9\xf7\xc1\x4c\xf6\xaf\xa4\xb6\xd0\x00\x76\xb0\x84\x2b\xd2\x1e\x96\x50\xb4\xb1\x8b\x65\xcf\x81\x19\xa0\x6b\x8a\xb1\x84\x47\xab\x61\x84\x03\xa8\x2d\xf9\x08\xc7\xa4\x2d\x2f\x69\x80\xe1\x7d\x7a\x13\x1e\x82\xf7\xe9\x0d\xae\xfb\xef\xd3\x1b\x8b\xae\xbf\x4f\x6f\x8c\xa3\x1f\xe5\x5e\x0f\x95\xba\xe7\xaa\x1c\x2d\x97\xb2\x2d\x52\x43\x4a\xee\x16\xea\x11\xe5\xda\x03\x25\xfa\x09\x36\xdf\x40\x75\xaf\xcc\x39\x82\xd5\xb6\x47\x06\x9b\x5b\x29\x2c\xa2\xcd\xed\xeb\x7a\x40\xe0\xaa\xf7\xef\x06\x88\xbd\xd3\xec\xfc\x80\x52\x91\x72\x40\xa6\x7e\xf1\x0f\x08\xcf\xb4\x20\xcb\xe1\xd0\x29\xb9\xf9\x01\xa7\x7a\x1b\xd8\x1e\x9b\xea\x25\x43\x0d\x34\x03\x45\x46\x3d\x44\x45\x6d\x23\xa2\xa0\x68\x68\x9d\xd7\x14\xb6\xef\x35\x0f\xc4\xbd\x99\xba\x92\x3f\xf0\xbe\x4c\xfd\x5e\x80\xb1\xcb\x75\x19\x7d\x5f\x77\x8d\xe8\x3a\xfd\x98\x9b\x46\x14\x1d\x2c\x5e\x8d\x34\x36\xa8\x35\xef\x14\x00\xb1\xdb\x70\x81\x50\xbf\x4f\xc9\xde\x3b\x70\xd8\xae\x24\x64\x3c\xa1\xe9\x0c\xea\x86\x19\x5b\xcc\xa1\x84\x85\x8e\x79\x38\x61\xb0\x3d\x5d\x00\x9d\x2c\x74\x1f\x5d\x64\xf3\xd0\xfb\x37\xcb\xcb\x03\x10\x15\x1d\x5b\x34\xaa\x46\xfa\xab\xa4\xc9\x20\x2a\xd1\xf3\xc1\x5c\x19\x4d\xec\x94\xa2\x6f\xa0\x83\x60\xd8\xb0\x84\xbf\x90\x84\x63\x38\xc2\x26\x14\x71\x42\xf2\x22\x4b\x1f\x87\xc3\x86\x63\x87\x01\x87\x23\x05\x46\x87\x6b\xa7\x83\x87\x7d\x0e\xc5\xd3\x46\xcf\x12\xc5\x6c\xf5\x2c\x25\x77\x2c\x39\x89\x60\x40\x72\x4f\xc5\x18\x50\x0c\xab\x57\x38\x27\xdc\xc2\x01\x37\x39\xdf\x42\xf9\xe3\xc0\x09\x9d\x3c\x3b\x44\x4e\x27\x4f\x0a\x9a\xd6\x29\x14\x7c\x06\xc2\x33\x48\xbd\x1c\x81\x9f\x1f\x80\xec\x4a\x63\x88\xe5\xac\xf5\xa5\x1f\x06\x53\x1f\x96\x17\xaa\xd4\x83\xbd\xe2\xb0\x8d\x40\x90\x0c\x54\x06\xc3\x8f\xbe\x70\x84\x6c\x51\x31\x6b\xca\x09\x59\x90\x82\x0c\xa6\x2c\x02\x3b\xcc\xde\xcd\x91\x02\xef\xdd\x5c\x3b\x1d\x3c\x67\x71\xee\x3e\x93\xa0\x54\x31\xbb\x37\x47\xca\x1d\x4e\x5e\x26\x18\x98\x5c\x2b\x18\x94\x5e\xab\x22\xf1\x64\xfd\x80\x89\x9d\xb7\x82\x54\xb6\x70\x9a\x67\x6e\xfd\x32\xed\x60\x33\x57\x60\x87\x88\x1f\xf2\xa4\xa0\x71\x44\xbe\x9d\x0e\x9e\xea\x4d\xe9\x13\x52\x44\x71\xe0\x9b\x11\x14\x23\x77\x48\x28\x22\x40\x30\xa8\x16\x86\x6d\x8f\x7a\xfd\x29\xf8\xae\x47\xf1\x42\x6d\x7a\x14\x1d\xf8\x9e\x47\x3f\x73\x05\x81\x64\x20\x4b\x80\x66\xe6\x01\x14\x5b\x4b\x80\x79\xb8\xcb\xb0\x3e\x97\xdf\xfa\x2e\x5b\x27\xd0\xc5\xae\xd0\x0c\x31\xdc\x12\xcd\xca\x05\x5f\xa3\x99\x76\x7a\x5f\x85\x7b\x7f\x2d\xb4\xab\xc2\xb1\xc3\x78\x2a\x1c\x29\xb0\xa3\xc2\xbf\x38\x07\x84\x67\x18\x57\x8e\xe7\xe7\x07\x20\x4b\x57\x4e\x78\x4f\xcf\x68\xa0\x0f\xa6\x41\x02\x3b\xac\x81\x6e\xaf\x41\x42\x3b\x6d\x75\x30\x4c\x02\x1d\x80\xaa\xcb\xa9\x8f\x8f\x44\x3b\xeb\x24\x3b\x58\x82\x1d\x45\xd6\xfe\xa6\x30\x94\x2a\x66\x81\xe7\x48\x79\x01\xd0\xe2\x7e\x31\xd7\x4a\x7b\x4c\x74\x7a\x72\x3c\x54\xfa\x26\xcb\x0b\x71\x4c\xc4\xd0\x81\x1e\x13\x31\x8d\xcc\x91\x39\xe1\x35\xcd\x21\xc2\x73\x02\x53\x6c\x8c\x4e\x20\x68\x15\xa8\x13\x5f\x14\xb5\x82\x6d\xb8\xb0\xa6\xc8\xd5\x27\x70\x0e\x21\x4e\xc9\x0b\xaa\x7a\x5b\x7e\x60\x75\x93\x71\x44\x59\xf5\xae\x8a\x26\x6b\x6a\x01\xd5\x40\xce\x8f\x4f\xfd\x92\x92\x73\x43\x0b\x6a\x77\x0d\xac\x5c\x0a\xa6\x58\x1b\xcc\x55\xc5\x14\xad\x4d\x5e\x64\xdf\x20\x84\x2f\x29\xa1\x8e\xf5\x28\x25\x24\x71\x7e\xa5\x4c\x46\xb8\x77\x29\x69\x6d\x82\x9c\xdd\xa3\x43\xc0\xae\xe0\x80\x85\x5e\x41\x16\x07\xbf\x4a\x56\xf8\x10\x28\x28\x18\xd6\xd7\xb6\xd5\xf5\xe4\x6c\xa8\xbd\x48\x64\x89\x5a\x5f\x45\x72\xf0\xf5\x55\x6c\x6b\x03\xd7\x40\xfb\x91\x84\xa7\x3f\xc0\x6c\x77\x24\x49\x63\x53\x86\x70\xb9\x20\xb7\xcd\x86\x89\xfb\xcb\x99\xe2\xb2\x87\x25\x04\x2d\x72\x89\x25\xad\xed\x60\x1b\x42\xd7\x54\x5c\x7d\x02\x67\xa5\x6f\xaa\xe6\x3a\xe8\xfe\x7b\x45\x56\xd4\xfb\xc6\x61\x11\xe3\x98\xb9\x03\xc5\x11\x02\xe2\xc3\xb5\x82\xc1\x32\x84\x26\xf1\xdc\x7c\x00\x63\xa5\x39\x7c\x33\xf3\xa9\xe4\x50\x2a\xc3\x73\xc3\x9e\x49\x5a\x2b\x0d\xdf\x4c\x5f\x4c\x9a\x7f\x2f\x3c\x74\xb1\x6d\x9e\x1f\xa6\x2a\x34\x4f\x0b\x5c\x14\x5a\x78\x24\x1d\x0a\xd1\x10\x73\x4b\xc2\xd0\x13\x48\x56\x33\x4c\xf6\x0a\xbc\x06\x26\xeb\x5b\x9b\x3a\x4a\x82\x05\xaf\xfd\xd8\x21\x1c\xce\x5e\xff\xfc\xce\x0e\x53\xf8\xd5\x4f\xc3\xb5\xcf\x92\xd0\x55\x94\x7f\xb9\xf8\x4a\xb2\x2c\x9e\x07\xd6\x2b\x9e\x9b\xbb\x52\xf1\x94\xe0\x68\x30\xcd\x4c\xd0\x4c\x48\xbe\x5a\x04\x5e\x90\x7a\x3e\x38\x38\x6a\x1a\x16\x40\xd4\x0d\x4c\x10\x0c\x71\x7f\xbe\xe7\x83\x83\xc0\xea\x8e\x7c\xdf\xc0\x04\xc1\x49\x54\x44\x53\xd7\x14\x7e\x20\x65\xc7\x25\x84\xa2\x80\x83\x8e\x92\x04\x0e\x5f\xdf\x08\x0e\xa1\x63\x09\x5a\x0b\xea\x78\x28\x71\x55\x6c\x25\x12\xb9\x40\x6a\xaa\x71\x5b\x7e\x7d\x96\xce\x42\x97\xb8\xed\xd8\xe0\x00\xa9\x48\x58\xe0\x50\x7d\x6f\x5e\x9e\x1f\xd2\x62\x80\x3d\xab\xe6\x83\x5d\x9e\x4b\x1a\x56\xcb\x73\xd9\xc0\x04\xc1\xdb\xd8\x6b\xb5\xcd\x86\xa4\xeb\x14\x7a\x1b\x23\x37\xb1\x92\x37\x1c\xa2\xb7\xb1\x71\xfb\x2a\x09\xbe\x8e\xf2\x78\x16\x5e\x4b\x3a\x56\x78\x08\x2a\x32\x76\x40\xd4\x6d\x20\x70\x4c\xa7\xef\x86\x01\x63\x3a\x7d\x87\x87\x62\x3a\x7d\x67\x09\xc4\x74\xfa\x0e\x02\x43\xf0\x52\xe8\x14\x23\x3c\x0c\x76\xbb\x48\xd3\xc2\x04\xc3\x79\x9a\x06\xae\x35\xd1\x72\xc1\x01\x50\x52\xb0\xe8\x7d\xf9\xb9\xa9\xeb\xd7\xcb\x8b\x01\xba\x5e\x72\xc1\x75\xbd\xa4\x60\xd1\xf5\xf2\x73\x73\xd7\x87\x72\x6b\x5a\x4e\x58\x08\xac\x5d\x9b\xb6\x89\x09\x8a\x36\xc2\x30\x84\x2e\xf4\xbc\x70\x70\xf4\x74\x2c\x00\xe9\x1b\x41\x21\x19\x4a\x47\x58\x7e\x7e\xa0\xb1\xd6\x17\xb6\xa1\x09\xa2\xa3\x55\x71\x3f\x84\xc6\xd4\x7c\x70\x90\xd4\x34\x2c\xa0\xa8\x1b\x40\x20\x70\xd1\x10\x20\x51\xcc\xf9\x39\x4b\x09\x8f\x9e\xb5\x32\xf5\x8d\xe0\x28\x0e\x16\x69\x12\x58\x7a\x03\x08\x81\x13\x30\x14\xf5\x7a\x15\x2f\xe6\x43\x4c\xbc\x86\x11\x0e\x9a\x86\x88\x05\x20\x4d\x0b\x10\x0c\x43\xe9\x0b\xc5\xcc\x03\x1c\xd6\x3a\x42\xb5\x32\xc1\x72\xb9\xca\x07\x59\x95\x6b\x3e\x38\x30\x6a\x1a\x16\x38\xd4\x0d\x20\x10\x0c\xa5\x18\x3d\x2f\x3c\x14\xd6\x6a\xd1\x37\x32\x06\x1e\xab\xc7\x4b\x86\xd0\x8b\x96\x13\x32\x70\xd8\x50\xb1\x09\x19\x36\x4d\x60\x50\x0c\xa5\x1f\x34\x37\x1f\x90\x58\xeb\x08\xdd\xcc\x04\xcd\xf8\x0f\x32\x1b\x42\x47\x6a\x3e\x38\x38\x6a\x1a\x16\x40\xd4\x0d\x20\x10\x0c\xa5\x1b\x3d\x2f\x3c\x14\xd6\x7a\xd1\x37\x32\x47\xd7\xef\xf2\x21\xb4\xa2\xe6\x83\x8d\xaf\x97\x34\xac\x02\xec\x65\x03\xf3\x9a\x51\x95\x74\x72\x42\x01\x46\xd8\xf9\xb4\xa6\x25\x80\x5d\x5c\x5a\x39\x6c\x56\x96\xa6\x8d\xf9\x7c\x62\x41\xa2\x7c\x90\xe8\x42\xc7\x0a\x7b\x4a\xd1\x90\xb1\x3a\xa8\x68\xda\x00\xe1\x18\xee\x50\x9d\x62\xe7\x05\x16\x87\x23\x76\xaa\x1d\x24\x0f\xe3\x72\xb1\xba\x8b\x93\xcb\x28\x8b\x1e\x02\x57\x7d\x95\x71\xc4\xe7\x63\xd0\xd4\x2c\x73\x32\xe8\xa6\x26\xa8\xa6\x45\x54\x97\x7d\xaa\xab\xa4\x0d\x31\xc1\x04\x96\x38\xb0\x04\x72\x16\x68\x09\x6d\xc1\x70\x0d\x35\xf5\x38\x86\x9e\xa0\xb2\x9e\x7e\x5c\x4b\x33\x4c\xe9\x12\xa9\x54\x56\xf4\x5d\xb7\x3e\x9e\x0e\x16\x5e\x4e\x2a\x1b\x7c\xd9\xa6\x26\x80\x7f\x89\x8a\xd9\x7d\x95\x7f\x35\xc0\x84\xa5\x98\xe1\x00\xa2\x08\x59\x60\x43\xb5\x02\xc3\x32\xd4\xf4\xe4\x18\x7a\x82\xc7\x7a\x7a\x72\x2d\x01\xab\x58\xb1\xca\x27\x64\x99\x66\x45\x88\xc9\x49\x53\x77\x9f\x9a\x34\x15\xf4\xba\x47\x4b\x64\xb5\xec\x51\x0d\x6d\x60\x1d\x70\x7f\xe0\x78\xfa\x83\xca\x65\x97\xe0\x1a\x1b\xbd\xa2\x74\x36\x88\x63\x58\xf3\x41\x3a\x38\x15\x0d\x1b\xef\xa6\x6a\x00\x81\xc0\xfb\x01\x50\x4f\x14\x7b\x00\xd4\x53\xc2\xa3\x67\x1f\x79\xea\x1a\xc1\x51\x1c\xec\x00\x48\x60\xe9\x0d\x20\x04\x4e\x56\xb9\xc8\xd3\xc7\x64\x90\x60\x1d\xcd\xcd\x47\x5e\x72\x4d\xc9\x3a\x3b\xb9\x6e\x06\x87\x66\x28\x45\xe2\x39\xfa\x82\xc8\x5a\x8d\xf8\xa6\xc6\x53\x92\xe6\xe9\x99\xe1\x21\x53\x71\x46\x9e\xa0\x28\xa8\xda\x9c\xa7\x28\x48\x18\xa1\xcc\xd2\x7f\x90\x59\xd1\x04\xc4\x06\x83\x51\xc2\x15\x09\xa1\x84\xa2\x0d\x7c\x92\xe6\x46\xe8\xd2\xc5\x62\x90\xe3\xca\x8a\x0f\x12\x9e\x8a\x86\x0d\x20\x55\x03\x08\x04\x83\xe9\x4c\xc7\x0b\x0f\x85\xbd\x7e\x74\x8d\x4c\x90\x9c\x26\xb1\x9b\x6f\x63\x09\x47\xcd\x07\x07\x45\x4d\xc3\x02\x86\xba\x01\x04\x82\xa1\xb4\xa2\xe7\x85\x87\xc2\x5a\x2b\xfa\x46\xd0\x1d\x6b\x5a\x90\x41\xd2\x56\x59\x7e\x7e\x76\xa7\x9a\x96\xc3\x9e\x54\x37\x04\x1e\x54\x35\x2b\xf1\x30\xe7\xfd\x2c\x47\x2f\xe7\x50\x1d\x35\xfb\xe3\xa8\xae\xa9\x8d\x36\x0d\x6d\xf9\xf4\x3c\xfd\x69\x95\xb3\xb5\xd3\x37\x36\x41\x56\xdd\xf5\x1f\x50\xb7\x58\x7e\x38\xa8\x58\x5a\x16\x30\xb1\x0d\x6d\x20\xf2\x1e\x18\x10\x89\x63\x03\x04\x22\x45\x7f\x28\x5b\x2b\xa4\xd8\xd8\x1e\xed\x8d\xa3\xe5\x72\x11\xcf\x06\x78\x8e\xcc\xcc\xdf\x3b\x94\x14\x6d\x14\xac\x34\x21\x6d\x99\xbb\x74\xb6\x7a\x20\x49\xe1\x80\x26\x8c\x26\x46\x7d\x19\x42\x88\x22\x78\x8c\x3c\xc0\xd2\x77\x74\x1b\x30\x80\x1b\x55\x27\x03\xd7\x08\x14\x19\xfa\x82\xa6\x22\xe6\x02\x50\xdd\x12\x0e\xd3\x87\x68\xb9\x0c\xfd\xb4\xa2\x8c\xa3\x2f\xa0\x6a\x6a\x4e\x48\xd5\x4d\x0d\x95\xd1\x86\x2a\x11\xc3\xb0\x42\xd5\x41\xb3\x2e\x0c\xc3\xb4\x31\x95\x37\x7c\x9f\xde\xe4\xfe\x9f\xe0\xa1\xa8\x62\xcb\x18\x52\xa4\x70\xa5\x0b\x69\x99\xe0\xe5\x0a\xa9\x56\x30\x28\xbd\x97\x87\xa4\xc9\xfa\x01\xd3\x47\x21\x48\x46\x2a\x5b\x38\x41\x25\x1f\xdf\xa7\x37\xd3\x22\x23\xd1\xc3\x80\xf3\x95\x61\x88\x9d\xb5\x0c\x31\xab\xb9\xcb\xb4\x84\xc3\xe4\x5c\xd6\xc9\x8a\xbe\xcb\xb1\xb6\x8c\x8e\x2f\x78\x6d\x4b\x43\x0a\x4d\x6d\x01\xde\xb8\x58\x92\xe0\xaf\xf5\x2a\xd8\x7a\x06\xad\x24\x89\x40\xae\x6a\x6f\x0d\xdf\xb4\x88\x42\x17\xdc\x50\xf3\xf5\x0c\x60\x45\x13\x83\x60\x45\xc0\x1a\xc2\xf7\xe9\xcd\xf1\x7d\x94\xdc\x3d\x05\x8c\x1d\x6f\xcf\x50\x76\x74\x31\x70\x76\x44\xac\x21\x3d\x49\x7f\x4f\x16\x69\x14\xd8\xc5\xd0\xb2\xf6\x0c\x68\x4b\x16\x83\x67\x4b\xc3\x1a\xce\x2b\x92\x3d\xc4\x89\x6d\x61\x21\x37\x1e\x18\xab\x48\x4b\xd8\xf3\x80\x74\xf2\x22\x06\xa4\xa5\xe1\x3c\x20\x1b\xe3\xaf\x24\xf1\x5a\xef\x07\xc0\xce\x97\xcd\xc0\x91\x0d\x35\x3e\xb5\xcc\x1e\x46\xa9\xa6\x84\x1c\xab\x26\xb9\xec\x09\x16\x26\xa9\x1c\x61\x41\xaf\x79\xf8\xc3\xbe\x21\x88\x1d\x82\xb3\x38\x79\x8a\xbd\x56\x22\x45\x58\xf8\x4b\x0e\x1e\xc1\x2f\xc9\x61\xa1\x9f\x44\xbf\x3f\x3d\xf2\x93\xe8\xf7\xb0\xc0\x4f\xa2\xdf\x3d\xe2\x3e\x89\x7e\xc7\xc2\x5e\x4a\x31\xff\x18\x2d\x56\xcf\x40\xef\x7b\x59\xc2\x0e\x42\xcf\xc7\xe3\x58\xf4\x44\xfd\x0d\x89\xe5\x66\xe0\x8b\x6b\x30\x43\x4b\x64\x35\xd4\x40\xfb\xdc\x6a\x28\xaa\xd8\xa1\xbe\x8a\x6e\x16\x64\x9c\x14\xd9\xe3\xd3\xcf\xbe\x5e\x96\xb0\x83\xd2\xf3\xf1\x38\x26\x3d\x51\x2f\x43\x32\x49\x2d\x37\x23\x2f\x2c\x43\xcf\xbb\x96\xcf\x00\xe3\x5b\xf6\xc6\xf3\xe8\x4e\x52\xf4\x66\x57\xd1\x19\x7a\x60\x07\x19\xd5\x01\x86\xd4\xf7\x78\xe2\xdd\x25\xb2\xac\x5c\xcd\xa7\x5f\x3a\x3b\x51\x42\x3b\x4d\x0d\x1b\xaf\x7e\x53\x43\xd3\xc7\x70\x3c\x8f\x91\x08\x3f\x08\x9e\xf1\xb7\x86\x7e\x9c\x65\x69\xe0\xc3\x7f\x35\x5f\xcf\xf0\x56\x34\x31\x80\x56\x04\xac\x21\x6c\x1f\x73\x7a\x02\x14\x5b\xd6\x9e\x81\x6c\xc9\x62\xb0\x6c\x69\xe8\xe0\x9c\xac\x92\xc4\x36\xf5\xc4\x40\x0c\xfe\x82\x4a\xf3\xbd\x43\x9c\xb1\x6e\xe9\x8e\x79\xc3\x19\x06\x6e\xfd\xb1\x19\xc5\x8d\x8b\x93\x49\x58\x0d\xec\xf9\xa0\xbb\x7e\x71\x32\xb1\xea\x7e\xd9\x00\x00\xc1\x00\x0f\x13\xd0\x9c\xd0\x30\xd8\x3c\x4f\x40\x37\x01\x40\x31\xc4\x23\x05\x0c\x2b\x34\x18\x56\x4f\x15\x30\x6d\xcc\x70\x5c\xa5\x5f\x48\x32\x48\x56\x88\xc8\x0f\x0b\x0c\x4d\xcb\x0a\x1d\xba\x21\x18\xa2\x21\x1e\xfa\x92\x30\xf4\x04\x92\x55\x66\x87\xa4\xa5\x19\xa6\xfa\xae\xa2\xbb\x2a\xd9\x90\x77\xdf\x9b\x18\x32\x58\x6c\x59\x99\x6c\xb0\x65\x5a\x5a\x62\x3b\x40\xce\x8c\x8a\xab\x5f\xc0\x2c\x32\x66\x54\xcd\xe1\xd0\x0d\x37\x7d\x59\x8e\xbe\x20\x73\x98\xc0\x6c\x53\x28\x54\x5e\x8d\xce\xe6\x05\x30\x44\x74\x86\xa6\xe3\x07\x4b\x07\x0c\xcd\xd8\x79\xc8\xb0\xb4\xe4\xe0\xbe\x06\xfa\x4b\xce\x54\x48\x66\x03\xb0\x4d\x8a\xa6\x82\xdd\x80\xe6\x8b\x8a\xb7\x77\x08\x7d\x40\xb9\xe1\x0e\xe9\xd1\xec\xcb\x93\xc0\x79\x34\xfb\xe2\x1d\xca\xa3\xd9\x17\x1c\x8c\x47\xb3\x2f\x0e\x10\x0e\x13\xfc\x30\x30\xf7\x0e\xa6\x65\x00\xc4\x40\xc5\x01\xd6\x01\xc2\x72\x3a\xce\xde\x01\xb5\x09\xcd\xe9\x48\x38\x40\xf9\x8e\x44\x59\x71\x43\xa2\xa7\x59\x39\x3b\xee\xde\x21\xed\x28\xe3\x60\xed\xc8\x38\x4d\xfe\xd2\x6c\x38\x0b\x9e\x03\x6b\x64\x1f\x60\x01\x68\x49\x63\x97\x80\x96\x8e\x03\xbc\x1f\xa3\x2c\x8e\x6e\x16\xa4\x4e\x10\x98\x92\xa7\xd1\x60\x41\x0a\xef\x60\x0b\x1c\x70\x98\x0b\xe4\xac\xa0\xf7\x7f\x25\x46\xc1\xc2\x8b\x65\xeb\xc7\xfb\x72\xbd\x1b\xa3\x68\xed\x80\xf7\xc6\xfb\xf4\xe6\x28\xcf\xe3\xbb\xe4\xc1\x3a\xd7\x18\xc7\x0b\xef\xb5\x19\x18\xf8\x1f\x1c\x56\x7e\xd4\x50\xb1\xb4\x1c\x07\xee\x38\x4a\x66\x64\x90\xb8\xbb\x86\x7d\x10\x98\x6b\xd2\x78\x88\x6b\x3a\x66\x78\xdf\x92\xa2\x7e\x40\xa4\x1c\x0d\x6c\xa8\xd1\x1a\x5d\x35\x77\x2c\xb8\x6a\xca\x56\xd8\xaa\xc9\x38\x42\x3b\x5c\xb8\x4c\xc3\x3e\x08\xb8\x0e\xeb\xb8\x86\x8e\xe1\x4c\xbc\x6e\x3f\xd4\xad\x5b\x86\x1b\xea\xe4\x9b\xa1\x04\x3f\xec\x66\x9a\x99\xee\x78\xd7\x1f\xbb\xdd\x98\xb7\x05\x47\xe4\x87\xbb\xb2\xcd\xd2\xb2\xb8\xb4\xcd\x36\x04\x43\xe4\xfd\x26\x3c\x47\x19\x7b\x19\x9e\x23\xe7\x09\x5c\xeb\x2b\xf1\x5c\x4b\x1d\xbc\x47\xf3\x74\x39\xe4\xf4\x14\xf9\xb9\x83\x24\xd2\x02\x62\x24\x36\xd4\x41\xf4\x26\xcd\xee\x06\x5d\xc2\x24\x0c\xdd\x41\x92\x10\x03\xa2\x24\x69\xa9\x83\x69\x4a\x8a\x29\xc9\xbe\xe2\x4f\x40\x2d\x90\x92\xf3\x74\x07\x4b\x4e\x0f\x88\x97\xbc\xb1\x61\x67\x64\x5b\x0c\x61\x6e\x28\x98\xa2\xf6\x49\x19\x41\xf8\x76\x29\x6b\xad\xd7\xb4\xfe\x7b\x4f\x7b\x01\x4d\x12\xb3\x09\xd0\x74\x30\x6a\x48\x49\x03\x55\xbe\xbe\x09\x14\xbb\x8d\xa3\xf9\x57\x92\x15\x71\x4e\x8e\xe6\xf3\xc0\xc1\x64\x35\x5f\x4f\x30\x31\x34\x1d\x40\x63\x09\xe8\x20\x3c\xce\x4a\xed\x78\x97\xe6\x45\x12\x3d\x90\x41\xd6\x39\x29\x4b\x77\xe0\xa4\xe4\x80\x98\x49\xdb\xda\xc0\x35\xc4\x1a\x27\xe7\xe9\x0f\x30\xab\x15\x4e\xde\xd8\x64\xf3\xb6\xdf\x0f\xe7\x18\xf0\x1c\x71\xd6\x2b\x4f\xcd\xc2\x7c\xe5\x9b\x5a\x40\xe5\xdd\x41\x10\x68\x63\x5d\x04\x81\xa0\x37\x98\xad\xdd\x04\xa1\xad\xb6\x26\x20\x59\x90\x81\x57\x3d\x29\x4b\x44\x55\x40\x19\x39\x68\x59\x40\x59\x5b\x1d\x5c\xed\xa7\x61\x11\x6a\xb9\xb8\x83\xd2\x52\x00\xe2\xd0\x7e\x0e\xe9\xfa\xc6\x55\x54\x3a\x10\x3e\x4f\x4a\x38\xd2\x2e\x27\x24\x1c\x09\x0f\xc8\x35\xb2\xd8\x01\xd8\xb4\xb2\xc0\xf1\x68\x19\xf8\xce\x93\xc8\xcf\x1b\x38\x47\x4b\xe8\x3d\x26\xb1\xa1\x69\xf5\xff\x25\xcd\xbe\xe4\xcb\x68\x86\xd9\x29\xed\x18\xb8\xa8\x9d\x94\x10\x6e\xe9\x17\xe5\x82\x2f\xfd\x42\x5b\x1b\x94\xbd\x6f\xb2\x22\x71\xec\x2e\x2b\x52\xf4\x87\xb5\xf5\x3e\x2b\x36\x36\x04\x05\xba\x06\x43\x45\xcc\x79\x86\xa8\x60\x00\x4f\x0c\x1e\x08\xe0\x5b\xc2\x61\x1a\x28\x70\x22\x70\xf4\x05\x94\x6d\xc8\x44\x68\xaa\x83\xea\x7a\x99\x93\x6c\x60\xa5\x92\xf3\x74\x87\x4b\x4e\x0f\x08\x98\xbc\xb1\x15\x64\x43\x28\x98\x82\xa9\x47\xd0\xac\xd4\x4c\xd1\xda\x0c\x5b\x57\xdb\x7e\x30\x3d\x63\x39\x62\x01\x63\xa9\x59\xa1\xc5\x36\xb5\x80\x6a\x38\xfd\xe2\x58\x7a\x03\xcb\x41\xb7\xb8\xb6\x86\xe5\x7e\x48\xb5\x12\xd8\xa1\x16\x7a\x27\x85\x12\xda\x41\xe1\xf1\x6a\x9e\x89\x84\x91\x35\x46\xbc\xa9\x9f\x44\x32\x7b\x60\x61\xb1\xb8\xe6\xf3\xe1\x42\x71\x1c\x43\x9c\xed\xca\x11\xb3\x30\x5c\xb9\x96\x70\x98\xbc\x7b\x08\x3c\x69\xac\x7f\xc0\xd3\xf3\x85\xb0\xb5\x6f\xc0\x37\xd5\x87\xe0\xe8\x17\xb5\x06\x0a\xc1\x49\x58\x62\x42\x70\x12\x72\xe0\x10\x9c\xa4\xad\x61\x4d\xa4\xde\xd5\x19\x6a\xdb\x10\x59\xa2\x96\x38\x91\x1c\x7c\x95\x13\xdb\xda\xc0\x35\x90\x4b\x25\xe1\xe9\x0f\x30\xdb\x7d\x41\xd2\xd8\x6c\xc3\x0d\xad\x64\x2a\xae\x58\x4b\xce\x59\xd5\x54\xcd\x2d\xa1\x1b\xce\x04\xf6\xaa\x73\x4a\x92\xee\xe8\x41\x35\xef\xf5\x2a\x5e\xcc\x07\xd4\x39\x9a\x1f\x16\x30\x9a\x96\x15\x52\x74\x43\x30\x44\xc3\xe9\x16\xc3\xd0\x13\x48\x0e\xfa\xc4\xb4\x34\x19\x6e\xd5\xc7\xc3\x59\xb7\x0c\x3b\x9c\xe5\xc5\x90\xb2\x30\xbb\x98\x76\x50\x78\xbc\x5b\xb5\x2c\x61\xac\x4d\xcb\x52\xf3\x83\xab\xb5\x3d\xcb\x36\x34\xd8\x1b\x67\x51\x41\xf2\x01\x57\x31\x29\x4b\x94\xb5\x21\x92\x83\x1b\x1b\x62\x5b\x03\x5c\x83\x02\xe5\x0d\x22\x37\x70\xa0\xb0\x54\xdf\x85\x05\xa3\x62\xe1\x0e\x41\xd5\x1c\xd8\xf1\xea\x5b\x63\x77\x37\x2e\x33\x12\xfe\x5d\x19\x86\x15\xb6\xfb\x0d\x19\x1b\x18\xda\x36\xda\xec\xf5\xac\x88\x6f\xa3\x59\xe8\x9c\xf5\x86\x0b\x22\x53\xbd\xa1\x00\xcd\x4f\x6f\x3e\xd7\x75\xfd\x22\x39\x21\x0f\x51\x32\x77\xaf\x59\x63\x0b\x83\x8c\xa3\x3b\x24\x32\x6a\x40\x78\x64\x4d\xcd\x96\xa0\xac\xd5\x80\xb6\xb3\x86\x3d\xd6\x4a\xd4\x90\xb6\xb2\x19\x35\x74\x5c\xe1\x1d\xce\xee\xd6\xf1\x0f\x03\xb0\x83\x55\xae\x23\x64\xd8\xfc\x9f\x4c\x7d\xf5\xbc\x51\xa6\x01\x5e\x71\xf5\x44\x9c\x20\x1d\x28\xee\x15\x46\x5f\x0d\x84\xb1\xa8\x42\xd3\x44\x9f\x4c\x59\x8d\xec\xb1\xe9\xa3\x78\x95\x35\xd2\x71\x85\x77\x08\xc5\x35\xf3\x0f\x03\xb0\x95\xfa\x9a\x09\x99\x3c\x7e\x59\xdb\x10\x01\x00\x2d\x1f\x6c\x3c\x40\x4b\x1c\x17\x1e\xd0\xcb\x0d\x8f\x16\x68\xe9\x00\xb2\x27\x56\xf9\x3d\x99\xb7\xd6\xf2\x90\xf9\x26\x32\xc6\xe8\x4c\x0a\x19\x51\xbb\x7c\x0a\x19\x05\x7b\x18\x07\xcc\x45\x91\x72\xf6\x0d\xa4\x4b\x66\x8a\x94\x04\x28\x9c\xf5\x04\x4a\xa9\xe7\xed\x21\xc0\x85\x51\x4d\x3d\x11\x53\x52\xcb\x93\x80\xe9\x1f\x46\x24\x80\xd6\xd0\x55\xa9\x05\x4c\x23\xb7\xf0\xbe\x03\x03\x74\x6a\x86\x94\x2a\x32\x41\x43\x2e\xa9\x45\x9a\x86\x94\x80\xf5\x08\xf8\xcf\x8b\x91\x73\xf0\x3e\x06\x5e\xb2\x64\x14\xb2\x22\x46\xc1\xbc\x2c\xb3\x4d\xc2\xae\x1c\x2c\x2f\x77\xb0\x58\x3a\x40\x7c\xd8\x46\x70\x48\x86\x09\x26\xcb\x79\x7a\x83\xc8\x2e\xbc\x2c\x6f\x6c\xd8\x89\xfa\xca\x47\x43\xed\x42\x02\x47\xd4\x0e\x24\x50\x83\xef\x3e\x42\x53\xb3\x49\x39\x30\x5a\x0a\xa6\x58\x43\xd2\x15\x33\x45\x6b\x3b\xd8\x86\xb3\xc2\x45\xae\x3e\x81\x73\xb0\xbe\xc5\xe6\xa6\x9d\xb6\x6f\x11\xc0\xce\x11\x89\x63\xf7\x57\x91\x22\x6e\x6b\x95\x48\x08\xdf\x55\xc5\xc6\x56\x68\x7b\xb7\x69\x24\xd4\xbd\xe2\xed\xc3\x96\x91\xc9\xe8\x88\x38\x24\xa6\xda\x7e\xee\x09\xe5\x9e\x20\x06\xd8\x9e\x0a\x26\xe6\xd7\x49\x02\x8d\xed\xb5\x0d\x60\x88\x0d\x63\xde\x88\xfc\xbc\x40\x62\x67\xd6\x88\x0d\x61\x10\x8d\xff\x58\x46\xc9\x9c\x0c\x06\x51\xcb\xcf\x07\x44\x2d\x2d\x6b\x88\xda\x86\xa6\xa5\xee\x34\xc9\x8b\x28\x09\x77\xb9\x9c\xa7\xef\x7a\xb7\x9c\xa7\x83\x5b\xde\x04\xa9\xe0\x6b\x1b\xdf\xd4\x16\xe0\x0d\x2a\x13\x36\x7c\x2a\xa2\x8e\xbb\x67\x08\x29\xca\x08\x38\x69\x32\x16\xd0\x7a\xdf\xa4\x05\xda\xd8\x2d\x5a\x20\xe8\x0d\x7e\xeb\xed\x59\x68\xab\x03\xba\xfd\x38\xac\xae\xb6\x5c\xdc\x41\x69\x29\x00\x71\x68\x3f\x37\xfb\x2c\x13\xb2\x20\x51\x3e\xe4\xad\x72\x96\x23\xd6\x57\x61\xa9\x59\xf9\x29\x6c\x53\x0b\xa8\x86\xf3\xed\x38\x96\xde\xc0\x72\xf0\xea\xb8\xb6\xa0\xc3\x94\x21\x95\x4b\xc1\xd4\xc3\xf1\x89\x93\x8a\x29\x5a\x1b\x6b\x25\xd7\x5f\x07\x70\x83\x39\xca\xe8\x5a\xc9\x2c\x39\x64\xad\x64\x4e\x36\x8b\x5a\xc9\x6c\x4b\x38\xbc\xfe\x6b\x51\x73\xa4\xfd\x01\xec\xa5\x1a\x35\x2f\x9d\x0b\xc4\xb0\x62\xf1\xc3\xce\x79\x8f\xb3\xdd\x75\x9e\xc3\x67\x78\xf3\xa5\xaf\xf7\x4f\x6a\x6a\xa8\x17\x4e\x6a\x12\x88\x27\x0a\x1a\x19\x80\x0f\x11\xd4\x5f\x03\x20\x1a\xc6\xf1\xe7\x98\xe1\x61\xb0\x73\xf9\xb9\x56\x00\x58\x86\x71\xf6\x39\x66\x68\x58\x2c\xdd\x7c\xae\x95\x0e\x96\xab\x2c\xbe\xbb\x23\x96\xc5\x8f\x4d\xd4\x84\x09\x65\x6c\xe0\xe0\xf5\x37\x4d\xdd\xb1\x6d\x79\xc3\x30\x6d\xbe\x36\x1b\xb9\xcd\x87\x03\xfa\x03\x2c\x47\xac\x89\xcb\x52\xb3\xb2\x70\xd9\xa6\x16\x50\x0d\xe7\x0f\x70\x2c\xbd\x81\xe5\xe0\x0f\x70\x6d\x0d\x56\xc1\x90\x6a\x25\xb0\x43\x59\x05\x4e\x0a\x25\xb4\x83\xc2\x33\x50\xfa\xba\x37\x3d\x12\x69\x39\x20\x04\xcd\x4b\x1f\x52\x89\x64\x1c\xb1\xc9\xd1\x4e\xaa\x24\x6b\x6a\x78\x0e\x0b\x83\x13\x9c\x2e\xf2\x65\x3d\x5f\xd0\x8a\x72\x81\x1f\xc5\x72\x03\xd5\xab\xe7\x28\x12\xf6\x05\xab\x87\xc7\xc7\xdc\x66\xb6\xd8\xd0\xe4\x95\x07\xd1\x57\x91\x30\xd6\x23\xf7\xa5\xb1\x12\xc9\xe0\xde\x38\x5c\x67\x99\xaf\xbd\x87\x3b\x3c\x6a\xad\x84\x9c\x27\x70\xad\x63\x1d\x16\x8a\x5b\x5b\x41\xd3\x22\x2a\x56\xf9\x84\x2c\xd3\x6c\xc8\x5c\x29\x09\x5b\xac\x2d\x28\x21\x69\x65\x0f\x4a\xda\xdb\xc2\x37\x9c\x1d\x2d\xe3\xeb\x17\x40\x07\x8b\x5a\x46\x00\x14\x66\xf7\xa3\x84\x4e\x7c\x5c\x5c\x5f\x1d\x3d\x0f\xe1\x7a\x77\x45\xd6\x91\x30\xad\xb4\x74\x93\x00\xd1\x7b\x19\x79\x78\x9c\x42\x49\xc1\x31\x5d\x41\x46\x0b\xb7\x64\x4b\xa5\x83\xaf\xdb\xb2\xe6\x96\x23\xe6\x7d\x87\x94\xd2\xc7\xee\x93\x52\xa2\x5e\xa1\xb7\xde\x33\xa5\xed\x4d\xef\xe6\x0d\xbd\x6d\xca\x79\xe2\x5e\xcd\xc3\xac\x33\x96\x2b\xcc\xf8\x8f\x25\x99\xc7\x05\x09\xbc\xd2\x6b\xd8\xb8\x2c\x15\x1a\x72\xee\xc8\xeb\x64\x84\xc1\xaf\xa1\x60\x3f\x06\x43\xd8\x2c\x3a\xce\xbe\x81\xb4\x9a\xfe\x3a\x12\xda\x67\x0c\xa9\xef\x7d\x3d\x01\x49\x91\x84\x6f\x8c\x4c\x2b\x07\x0d\xa7\xdb\x23\x5e\x42\xa4\xa5\x00\xbe\x7d\x48\x35\x81\x22\xbd\x31\x21\x79\xba\xca\x42\x27\x3b\x49\x59\x7a\x02\xa7\x25\xe7\x80\x52\xd7\x16\x0c\xd7\x3b\x12\x2d\x8a\xfb\x01\xc1\xaa\x19\x7a\x82\xaa\x26\xe6\x02\x54\xdd\xd2\xe4\x79\xa4\x77\xd3\x22\x23\xd1\x43\x20\x87\x83\x23\xef\xea\x67\x70\x64\x70\xee\x05\x2f\x13\xdc\xab\xe0\x5a\x5a\x62\x3b\x5c\x52\xad\x81\xb9\x5f\xf8\xec\x53\x6a\x0d\x54\xb4\x16\x7f\x7a\xf7\x3a\x2a\x66\x96\xd3\xd9\x48\x0e\x65\xcf\x37\x34\x10\xe6\x7b\x2b\x05\xd0\x5a\x6f\x3e\x87\xe0\xb4\x31\x4e\x8a\xec\x31\x70\x0a\x37\xc3\xcb\x03\x0c\x15\x1d\x4b\x30\xea\x46\xda\x27\x70\xab\xc2\x26\x1f\x23\x97\x37\x96\xcd\x44\x5d\x56\xb6\xae\x31\xe2\x4d\xdc\x8e\x3f\xf0\x19\xdc\xf6\x7b\x10\x52\x1b\x27\x8f\x49\xf4\x10\xcf\x3e\x46\x8b\xc0\x4f\x05\x4b\x38\xfa\x00\xa5\xa7\x66\x8b\x0f\xd5\x14\x06\x95\xff\x77\x36\x79\xda\x28\x15\x43\xbf\xb4\x29\x48\x63\x0b\xa8\xf9\xad\xcd\xfa\xdb\x29\x71\xf3\x89\xc1\x64\x31\x8b\x3d\x4f\x0b\x8b\x27\x25\x95\x0d\x9e\x7d\x33\x20\x9e\x43\xf8\xb7\x02\x3b\x2f\xe0\x58\x79\xb2\x42\x3b\x33\x3c\x6f\x1d\xd5\x0d\x32\x77\x7b\xda\xee\x73\xf7\xad\x37\x5d\x7b\xeb\xa6\x6b\x6f\x2d\x74\xed\xad\xab\xae\xc1\xe9\xe2\x67\xef\x5b\x7f\x1a\xfa\xd6\x51\x43\xdf\xda\x68\xe8\xd4\xd5\xdb\x07\xd1\x75\xd7\xcc\x29\x32\x24\xc0\x48\x61\x35\xbf\xcd\x01\x00\x52\xd0\x9f\x0e\x12\x9b\x96\xf3\x44\x84\x01\xa4\xf4\xa0\x91\x00\x69\x63\x83\xc3\xea\x07\x32\x4b\x0e\x8e\x21\x01\xaf\x50\x2b\x24\x03\x7b\xb3\x58\xa8\x7d\x3f\x16\x28\xa3\x8e\x7c\x31\x50\x46\xd2\x23\xe0\xb6\x49\x87\xb2\xd6\xfa\xa8\x3f\x99\x05\x0b\x74\x09\xc4\xdd\x4e\x59\x38\x22\x98\x23\x01\x5e\x1e\xe8\x39\x00\xd7\xce\x0a\xd1\x8d\x69\x11\x79\x3b\x07\x50\x50\x87\x1f\x09\xa8\x08\xf8\x18\x99\x9a\x94\xcf\xf1\xa9\x65\x73\x1c\xa5\xba\xb5\xdd\x58\x9d\x26\xcb\x55\xe0\xfd\x50\xc1\xd4\x27\x6c\x15\x41\x67\xd8\xaa\xd6\x76\xb0\x5d\x5e\xfd\x3a\x34\x68\x97\x57\xbf\xfa\x84\xec\xf2\xea\x57\x67\xc0\x2e\xaf\x7e\xb5\x83\xeb\x97\x38\x99\xa7\xbf\x4f\xe3\xff\x09\x7e\xb2\xaa\xe6\xec\x13\xbc\x9e\xaa\x33\x86\x3d\x09\x28\x94\xce\xae\xbb\x05\x75\xec\xb2\x88\x3f\xc4\x16\x24\xb2\x07\xd8\xce\x0a\x68\xd8\x5c\x2c\x49\xe0\xc3\x18\x05\x53\xaf\x60\x95\x04\x9d\x11\xab\x5a\x5b\xc2\x36\xfe\x23\x1e\x70\xfb\xa0\x98\x7a\x85\xad\x24\xe8\x0e\x5b\xd9\xda\x56\xdb\x56\xc5\xa0\xfb\x2e\xc3\xd6\xaf\xc6\x55\x24\x11\x3a\x57\xb5\xd7\xc2\x97\x14\x59\xfd\xcf\x01\x9f\xae\x50\x30\x45\x40\x27\x27\x08\x05\x4e\xde\xda\x0e\xb6\x41\x72\x9b\x14\x5c\x7d\x02\x67\xb7\x31\x28\x9a\xdb\x40\xe7\xcb\x97\xe1\xc8\x62\x3c\x71\x9e\x96\x3f\x7c\x1d\x71\xb5\xc1\xb3\x5a\x07\x42\x81\x5a\xd2\xf6\x89\x6c\x45\xd0\x23\xbc\x95\x7c\x6e\x18\x57\x6d\xad\x80\xbe\x9e\x9c\x4d\x49\xf6\x35\x0e\x9d\x24\xa6\x61\xec\x11\xba\x9e\xa8\x2b\x80\x3d\x05\x2b\x18\xfb\x4a\x85\xa7\xc9\x6d\x3a\x30\x94\x2c\x73\x8f\x70\xb2\x84\x5d\x21\x65\xa9\xc0\x60\xf5\x9c\xbd\x23\x12\xf6\xb3\x00\xe0\x33\x7a\x24\x92\xd9\xc2\x0c\xc9\xf2\xe9\xbf\x2e\x57\x88\x10\x91\x4d\x19\x03\x27\x67\x51\x46\xc8\x07\xbe\xb4\x5c\xb6\x10\x53\x6d\xad\x51\x1e\xc2\x71\x54\xf2\xf5\x0d\x9c\x8d\xfb\xa8\x24\x60\x0f\xe1\x00\x4e\xa4\x92\xaf\x6f\x08\x6d\x5c\x49\x25\x01\x07\x2d\x1c\xc2\xa1\xd4\x70\xf6\xae\x89\x56\x6e\xa5\x86\x84\x83\x36\x66\x59\xea\x92\x1b\x88\x57\xc7\x92\xb1\x77\x7d\x2c\x89\xe2\x14\xb2\xa4\x60\x03\x63\x80\x40\xa5\x94\x83\x8f\xfd\xc7\x9f\x77\xca\x48\xe6\x86\x37\xe0\x01\x9d\x78\x49\x16\x71\xe2\x15\xdc\x96\xa6\x0b\x9c\x6d\x5b\xc4\xdb\x31\x2d\x77\xe0\x6b\x31\xcd\xe7\x10\x90\x36\xa6\x05\x59\x7a\x32\x31\x19\x9a\xf0\xd3\x47\xb6\x19\x02\xe0\x8a\x80\x07\x94\x2b\x39\xec\xa0\xae\xda\x80\xf1\xf6\xe9\xdb\x8b\x84\x31\x76\xbd\x48\xcd\x17\x9e\x16\x2e\xbd\xd8\x10\x8e\x6c\xf5\x10\x7f\xe0\x97\xa1\x44\x86\xbe\x40\xaa\x88\x39\xa1\x54\xb5\x84\xc3\x54\x3b\xa4\x43\xe2\x54\x73\xf4\x05\x54\x4d\xcd\x09\xa9\xba\x29\x1c\x2a\xa7\x02\xa6\x38\xac\xd0\x25\x4a\xa5\xe4\x9c\xd0\x02\x94\x2f\x65\x1b\x5c\x5b\xee\x26\x38\xa4\xae\xbd\xad\xf7\xd7\x4e\x4b\xfe\xc6\xb5\xc5\xaa\x8f\x30\x4c\x9c\x01\xf2\x68\x7c\x30\xf4\x9c\xc0\xb2\x31\x4c\x26\x2b\xcb\x88\x01\x84\xa2\x8f\xad\x71\xb2\x42\x84\x14\x68\x59\xec\x10\x9c\xac\xb4\x41\x83\xe6\x11\xe0\xf6\xe3\xe1\xca\x32\x71\x2c\xd1\x2f\x21\xb3\xe4\xec\x9e\x40\x66\xdb\xda\xc0\x35\xe0\x03\xd2\x1c\x4f\x7f\x80\xb9\x3c\x1a\xcd\x35\x36\xbd\x6d\x3c\xa4\x7a\x89\xfc\x70\xef\x19\x3b\x29\x96\xd8\x10\x0c\xd1\x40\x65\x4d\xfd\xe9\x93\x84\x98\x0b\x4a\x96\x9a\xd4\x30\x7a\x9b\x45\xcb\xc0\x75\x07\x94\x6c\xfd\x42\x56\x91\x74\x07\xae\x6e\x6f\x28\xcc\x39\xe8\x44\x14\xf9\xa1\x2a\x6c\xba\x4d\x44\xb1\x21\x18\x22\xdf\xc5\x4b\x85\x11\xc3\x55\x2f\xf5\x37\x81\x65\xb2\x39\xa0\x0b\x2b\x60\xda\x7e\x8f\x78\x66\xce\xb2\x0e\x18\xcf\x11\xf9\xb6\x37\x47\xcd\xe6\x51\x6f\xae\xa9\x05\x54\xfe\x9f\x53\xe7\x69\xa3\x1f\x52\xe7\x09\x7a\x83\xd9\xfe\xf1\x74\xbe\x2d\x14\xe8\xc9\x2a\x19\x5e\x2d\x29\xa6\x7e\x20\xa3\x08\x3a\x80\x46\xb5\xb6\x83\x2d\x98\x8a\xd2\xe4\x7d\x69\x29\x4d\xd3\x27\xea\xce\xba\x4a\x37\x87\xda\x40\xab\x64\x70\x83\xba\x63\xe9\xc7\xf6\xe9\xc8\x39\xd8\x3d\x5d\x5b\x1b\xb8\x86\x36\xae\x7b\x9e\xfe\x00\x73\x36\xb1\xfb\xc6\x80\xfb\xd0\x8f\xc9\x6c\x50\x6b\x51\xc9\x16\x7d\xf7\x59\x24\x69\x77\x11\x5a\x6c\x6f\x0b\x1f\x52\xeb\xbe\x73\xc5\xcf\x53\x85\x08\x09\x4d\x04\x82\x66\x0d\xbc\x4a\xbf\x90\xe4\x2a\x8b\x92\xdc\xbe\xe8\xa1\xfe\x38\x96\xa5\xec\xf4\x16\x11\x43\x01\xf1\x24\x11\x2b\x09\xf0\x65\x22\xa6\x11\x1c\xc2\x8d\x8b\xa3\x55\x71\x7f\x9c\x91\x39\x49\x4a\xd0\xf2\xb0\x53\xd9\xc0\xdc\x1b\x68\x3c\x61\x27\x14\x05\x2a\x46\x58\xbd\x2b\xa4\xb3\x1e\x22\x91\xb4\xc1\xcb\x88\xca\xc6\x59\x7a\x17\x07\x4e\xd6\xa3\x18\x61\xbb\x5e\x11\xb1\x01\xa0\x6e\x61\x86\x61\xb2\x4a\x12\xdb\x57\xd6\xdc\x70\xa8\x39\x61\x81\xa8\xa9\x58\x21\x51\x37\x31\x43\x71\x9a\x7c\x8d\x8b\xc0\xc6\x16\xcd\x09\x0b\x45\x4d\xc5\x0a\x8a\xba\x09\x14\x8a\x8d\x69\x7c\x97\xac\x02\x1f\x74\x4a\x18\x7a\x02\xa6\x26\xe6\x80\x4f\xd3\xd2\x0c\x53\x9f\xb4\x35\x04\x46\x3d\x37\x2c\x40\x3d\x25\x2b\x74\xfa\x66\x66\x68\x9c\x9e\x6f\x74\xc3\x05\xff\xde\x22\x4d\xc6\x0a\x11\xc0\xdb\x8b\xef\x3e\x1c\x1d\xff\x4c\x02\xe7\xa0\x34\x4c\xdc\x21\x68\x08\x00\x3b\xdf\x7c\xad\x7f\xd6\x6d\x96\xce\x49\x85\xd2\x20\xfe\x98\xc8\x0f\xf3\xa4\x1b\x4f\x0b\xfc\xa0\x1b\xdf\x10\x0c\xd1\x10\x9e\xbe\x84\xa1\x27\x90\xac\xbc\x2c\x49\x4b\x43\xd9\xda\x38\x19\x4e\x91\x04\x76\xa8\xe2\xb5\x2c\x29\x78\xfd\x5a\xb6\x9d\x3e\x64\x94\x90\x2c\x2a\x48\x6d\xe5\x0c\x87\x93\x9a\x2f\x26\x74\xa4\xa2\x09\x0e\x1f\xa9\x08\xe8\x20\xac\x77\xfd\xe1\xa0\x13\xf9\xb9\x43\x26\xd2\x02\x42\x25\x36\xd4\x41\x74\x4e\x7e\x1f\x70\xa1\xe2\xb9\xb9\xc3\xc3\x53\x02\x82\xc3\x37\x33\x44\xd0\xbe\x92\xac\x18\x5a\x89\x94\x6c\x51\xf1\x33\x39\x49\x78\xf8\x4c\xde\x5e\x0b\x5f\x46\xa2\x82\x4c\x93\x68\x99\xdf\xa7\x98\xaa\xb4\x96\x1c\x9c\x6a\x5c\x4a\x29\x21\x00\x97\x4b\x06\x44\x5b\xda\xd8\x1e\xea\x01\x6e\x2d\x6a\x18\x7b\x07\xcf\xe2\xde\xa2\x86\x82\xfe\xc1\xfe\xbc\x48\x33\xaa\x9d\xf7\x2b\xb6\x72\x0e\x2e\x1a\x2b\xa7\x84\x79\xf6\x5f\x2a\x19\xf4\xf5\x7f\x59\x63\x7b\xa8\x07\xd0\x58\x0d\x63\xef\xe0\x59\x68\xac\x86\x82\xb6\xf4\x6d\xf3\x7d\xe0\x62\xb7\x0d\x17\x44\x79\xdb\x86\x02\xb4\xa0\x6d\xf3\x39\xa4\xeb\x1b\xef\x48\x34\x0f\x1d\x8f\xe0\x98\x79\x00\xa2\x26\x64\x89\x47\xd3\x0a\x04\xcb\x55\x16\xc5\x0b\x27\x5c\xc0\xb4\x9d\x5e\xdf\xe2\x68\x78\x80\xb2\x95\xc6\x12\xcb\xa6\x19\x08\xcc\xd7\xe9\xa2\x38\xbe\x5f\x25\x5f\x06\x52\xb3\x8e\x9f\x07\x78\x3a\x5a\xb6\x00\x75\x0d\xb5\x51\xb0\x59\xe0\xd7\x42\xde\xcd\x10\x8f\x83\xbc\x9b\x41\xdf\x02\x79\x37\xd3\x3e\xfd\xf1\x4b\xf3\x8f\x77\xb3\xc5\x9b\x87\x61\x9e\xbf\x94\xb2\x74\x87\x42\x4a\x0e\x08\x8e\xb4\xad\x0d\x5c\x43\xf8\x96\x72\x9e\xfe\x00\xb3\xb2\xe1\xe5\x8d\xf5\xb1\x8a\x45\x9c\x90\x9f\x09\x59\x46\x8b\xf8\xab\x0d\x56\x7b\x9b\x9b\x0e\x91\x0a\x86\x1b\x26\x4c\xc1\x10\x02\xc7\x28\x98\x56\xda\xfb\x54\xd1\x5d\x9c\x54\x4f\x85\x0d\x32\xeb\x04\x76\x88\xbb\x52\x3c\x29\xe8\x8d\x29\xbe\x1d\x14\x9e\x21\x66\x99\xc8\xcf\x0f\x40\x56\xb3\x4b\x6c\xf8\xc3\x7a\x2f\xc6\xc6\xdb\xf1\xf9\x78\x72\x74\x35\xfe\x7c\x75\xf1\xf9\xe2\xf5\xfb\xf1\xf1\x95\xf6\x1a\xd2\xe9\x46\xf5\xb7\xe2\x71\x49\x36\x8a\xf4\xe2\xe6\x1f\x64\xc6\x29\x19\x29\x56\x59\xf2\x37\x1d\x85\xb6\xdd\x1a\x19\x95\xe8\xae\xff\x4b\x73\x75\xeb\x54\xc6\x65\x54\xac\x7f\xfb\x1a\x65\x7f\x4b\x0f\xbf\xfd\xeb\xbb\x86\x21\xf9\xf1\xc7\xb5\x74\xe3\xff\xf7\x8f\x7c\x79\xd3\x74\xed\x34\xc9\x8b\x28\x99\x91\xc3\x62\x7d\x94\xfe\x4b\x77\x3f\xec\x74\x63\x4e\x72\x92\xd5\x23\xfe\x3a\x4e\x22\xee\x61\xb8\x92\x57\x71\x98\x90\xdf\xff\x96\x6d\xd4\x7f\x9e\x54\xb6\xe5\x1a\x59\x1f\xa5\xd5\xef\x35\xb4\xbf\x03\x20\x22\xb0\x7f\x93\xa5\x0f\x0d\x8f\x74\x54\x18\x10\xd2\xb4\xe6\x40\xbb\x4d\xb3\xb5\x9f\x8a\x8d\x84\xfc\x51\x54\xb9\xb8\x6b\xeb\x3f\xfe\xf8\x7d\xb1\x11\xe7\xe3\x64\x5e\x99\xa6\x6b\xeb\x3f\xad\x17\x1b\x77\xa4\xfe\xf3\xf9\xea\xe1\x86\x64\x6b\xeb\xa3\x62\x23\xff\x12\x2f\x9b\x26\x1d\xe2\x7a\xa9\x7a\x3d\x51\x42\x5b\x23\x4b\x18\x64\x7f\xc9\xe2\x82\x64\x10\xd0\x38\xb2\x57\x69\xdd\xb4\x99\xb1\xeb\x23\x52\xf6\x63\x42\xf2\xd5\xa2\x78\xbd\xba\xbd\x2d\x3b\xa2\x97\x58\x41\x90\xc3\xf0\x5f\x98\xc9\x53\x65\x0f\x67\x69\xa9\xcf\x5d\xba\x37\x7e\x42\xc9\xa8\xda\x4d\x32\x1d\x05\xd9\xc4\x1b\x65\x87\xdf\x96\xdd\xc2\x72\xb0\x96\x1e\x56\x5a\xd3\xaf\x35\x6b\xeb\xeb\x3f\xfe\x68\xb1\xda\x53\xe2\xa6\xeb\xcc\xa4\xce\x94\x93\x3a\x33\x4c\x6a\x59\xa7\x02\x4e\x74\x19\x3f\x88\x1e\x83\xc4\xb4\x5a\x10\x2c\x29\xba\x2c\x12\xf1\xed\xda\xd6\xe1\xe1\xa1\xb8\x56\xb4\x2b\xb3\x16\x2c\x61\xfc\xbf\x2b\x36\x32\x12\xcd\x9b\x41\x5e\x4b\x2d\x4c\x1c\x5d\xcf\xca\x45\x20\x67\xd4\x32\x5d\xff\x17\x59\xe4\xe4\x6f\x2e\x2b\x9a\x7e\xf2\x06\x5a\xe5\x64\x4c\xbd\xaf\x7c\x16\x4c\x64\xab\xc1\x77\xa5\x4d\xf4\xfd\xe1\x5a\x7a\x48\x24\xab\x40\xb1\xf1\x7b\xd9\xb2\x1d\xdb\xad\x91\xd5\xe8\x2a\xc4\x70\xe8\x50\x3f\x54\x8c\x8c\xf4\x40\x35\xe3\xd1\x2f\xf0\x77\xa4\xf8\x25\x8b\x96\x4b\x92\xd5\xaa\x52\x21\x6c\x61\x0f\x6f\xa1\xe4\xcc\xe5\x72\x12\x89\xa0\xb9\x4c\xd0\xad\x11\x41\xf1\x9f\x2d\x48\x94\x69\x91\x2a\xd9\x70\x33\xec\x6b\x1a\xcf\xff\xb6\x89\xe2\x7b\x1f\xe5\x5a\xae\xb5\xba\x31\xa3\x44\xf7\xda\x8a\xb7\xfc\x8a\xd2\xe1\xa7\xad\xdf\xfc\xed\xf3\x0d\x0f\xdf\x1b\x7d\x43\x16\xb3\xd3\x73\x24\xa4\x5b\x7d\x7c\xf8\x6d\x59\x37\x78\xbd\x4a\xe6\x0b\x92\x97\x24\x0e\x7a\x70\xda\xc6\xe5\xaf\xd7\x6a\x33\x40\xf8\x7c\x4d\xbf\x53\x33\x0d\x3a\x82\xe5\x52\xe6\xc9\xc8\x10\xa1\x4a\xd7\x47\x45\x5a\x44\x8b\xe3\x74\x95\xd0\xbd\x69\x75\xe9\x97\xb8\xb8\x3f\x21\xb7\xd1\x6a\x51\xac\x15\xa3\x9d\xd1\x26\x6b\x95\xc4\x4a\xab\x24\xb6\xb2\x4a\x5a\x57\x6e\x30\xb3\xa4\x66\x68\xbf\xf3\xa8\x04\x45\x18\x26\x66\x92\x2e\x96\x49\xfe\x7b\x5c\xcc\xee\xd7\x64\x96\xc9\x2c\xca\xc9\xdf\xb6\x0e\x00\x06\x0a\xaf\x93\x70\xfb\x44\xd0\x66\x83\x79\x12\xcd\xe7\xec\x74\x59\x4b\xd7\xbf\xbb\xc9\x48\xf4\xe5\xbb\x4a\xdc\xed\x03\x0b\x5b\xaa\x09\x32\x38\x19\x53\xe6\xd1\x90\x59\x53\xb4\xa8\x3b\x07\xe5\x0c\x2d\x59\x5f\xc7\x49\xb1\xbf\xbb\xd6\x34\xb8\xea\xe6\x59\xdf\x60\x5e\x4f\xad\x03\xc6\x0e\xfb\x97\x8b\x1d\x26\x2c\xae\x83\x18\x62\x0d\xd7\xc0\x96\x98\x9e\x8b\x34\x22\x52\x6f\xbf\x3f\x75\xb6\x98\x64\x29\x5e\xdf\x58\x90\xe4\xae\xb8\xff\xbf\x9b\x9d\x71\x36\x69\xb6\x3f\x90\x91\x26\xa8\xb8\xca\x46\x1b\xd9\xd8\x85\xdb\x50\xbb\x50\x0f\xca\xfa\x68\xf3\xfb\xc3\x8e\x25\xa5\x7a\x14\xcb\x46\x3d\x77\x4a\x57\x13\xa3\x69\x52\x7c\x4d\xf6\x64\x0b\xb5\x85\x5d\xc9\x03\xee\x66\xe2\xb0\x76\xa5\x46\x6e\x85\x7d\xa9\x16\xdc\xd6\xce\x14\x04\x12\x16\x41\x4e\xb5\x05\x71\xa2\xf9\xfc\x2a\xd5\x0a\x64\x81\xa6\xd3\xae\xc5\x5b\xc9\x10\x3d\xe8\xac\x65\x71\x52\x7e\xfa\x0d\xaf\x8a\xa1\x5d\x9a\x66\x77\xd9\xc6\x2b\x1f\xc6\xa9\xd9\xc6\x2a\xdb\x50\x5e\x8d\xc0\x18\xe7\xd6\x20\x61\x67\x16\x43\x93\x82\x88\x16\x70\x29\x41\x65\x04\x23\x87\x5e\x26\x83\x62\xe8\x2f\xcb\x76\x3b\xa7\x09\x0d\xc2\x4e\x35\xf8\x08\xc7\x8c\xdd\xb8\xf0\x1e\x99\xdc\x73\x81\xb9\x62\xf2\xb6\xca\x70\x6b\xfd\x75\xef\x06\xd5\x3f\x1b\x7c\xa0\xfa\xa3\x20\xe1\x55\x83\x99\xeb\xd1\x83\x61\x4d\x71\xeb\x51\xc1\xf9\x2c\x60\x5a\x4f\x10\x46\xad\x45\xb3\x08\x9e\x36\xea\x00\x30\xf2\x1b\xed\xc2\xc4\x4b\x55\x73\x2d\x90\x81\x0e\xb2\x49\xdd\x2d\x73\x10\x79\x48\x74\x94\x9a\xb7\x56\xa1\xd1\x66\xec\xdc\x02\xa2\xaa\xb1\xe8\x05\xf2\x69\x34\xd4\x14\x8d\x66\xaa\x5a\x41\x44\xa1\x3c\x06\x3d\x55\x6c\x69\x43\xce\x6c\xbd\xc1\x4c\x02\x15\xaf\xd2\x16\x50\x72\x32\xc7\x37\x11\x3b\xe0\xdb\xae\x07\xfe\x0e\x20\x45\x9a\x76\x3b\xa1\xba\xbd\xd7\xdd\x70\x42\x6e\x83\xee\x88\x62\x37\x42\xee\x8a\x02\x37\xc8\x22\x09\x10\xd1\x6a\x77\xb4\xa2\x37\xfc\x0e\x49\x8d\x38\x7c\x97\xa4\xd5\x64\x98\x9d\x52\x37\x27\x03\xed\x96\x22\x4b\xef\x3b\x26\x98\x45\xc0\x5d\x93\x1e\x4b\xb7\x9d\x53\x37\x36\x41\x76\x4f\x4a\x64\xe3\x0e\xaa\x57\x9c\xa0\xbb\xa8\x8e\x75\x88\x9d\x54\xc7\xef\x79\xec\xa6\xde\x8e\xf9\x24\x44\xdd\xf7\x53\xc8\x11\x9f\x57\xf7\x72\xb4\x88\x0a\x92\x17\xa7\x49\x5c\xbc\x4f\x6f\x3a\x82\x67\xf4\x6f\xf5\x64\xdf\xa7\x37\xc1\xf7\xe7\x01\x0e\xde\x44\x76\xb6\x0b\xb3\x97\x43\x37\x3b\x82\x4f\x76\xe4\x36\x88\x33\x6b\x75\xb2\xf6\x3e\xbd\x81\x1f\xa5\x95\x3a\x6b\x96\x84\x9d\x04\x5e\x4e\xc3\xb4\x2b\xd0\x00\xc6\x43\xa8\x93\x30\x38\x0f\xcd\x39\xd8\x40\xbe\x37\x77\xd0\x25\x2e\x75\x36\x67\x5d\xa5\x26\xe1\x4d\x15\xcd\x61\xd5\x13\x78\xfa\x06\x25\x1d\xcc\x50\xd1\x1e\xde\x84\xb0\x54\xa4\x87\x00\x08\x53\x05\x33\xfc\x8c\x5a\x7a\x54\x82\x72\x9d\x34\x9d\x4e\x98\x14\x40\x21\x9b\xc7\x53\x21\xb3\x1a\x98\xf0\x69\x95\x81\x9d\xde\x5e\x54\xc2\xc4\x1a\x7f\x34\xd4\xbf\x4a\xde\x25\xdc\x09\x39\x6f\xbb\xe8\x9c\x37\x09\x17\xbc\x39\xac\x20\x6c\x9f\xf7\xa6\x21\xa2\xca\x7c\x8b\x96\xcb\x45\x3c\x63\x13\xd0\x8e\xfa\xdf\x99\xe3\x4d\xd4\xc7\x9c\x99\xfc\x7b\x9a\x7d\xc9\x97\xd1\x8c\x74\x84\x7f\x69\x7f\x63\x26\xdb\x7d\xca\x11\x4d\xb3\x39\xc9\x3a\x82\x17\xe5\x4f\x7a\x62\x17\x4b\x92\x55\xd2\x55\xdf\x72\xd4\xf2\x22\x2a\x56\xe6\x7c\xbf\x69\xf7\x99\x2e\xcf\xaf\xfe\xea\x4d\xbc\x28\x28\x3e\x55\x8e\xdf\xfd\x63\x1e\xcf\xa2\x45\xf9\x01\x31\xa6\xe2\xed\xf9\x4d\xc5\x93\xe8\x44\xe8\x64\x3c\x91\x25\x34\xff\x08\x22\xac\x75\x42\x9e\x1d\xd1\x27\xf3\x0f\xb8\xc9\x64\x17\xce\xa3\x67\xa1\xd9\x4a\xa7\x27\xb8\xa5\xcf\xc0\xcc\x4d\xb8\xf7\xc0\x4e\x69\xb3\x84\xfd\x4a\x21\xa6\xe0\x69\xe5\x63\xa7\x3b\x5c\x40\x6e\x99\x30\x4b\x58\x2f\x3d\xac\x74\xbb\x26\xe9\xe8\x25\x02\x2e\x1b\xb3\xb0\x98\xd3\x2d\xeb\xcf\x39\xd1\xf6\xba\xdc\xc5\x71\xb2\x7a\x68\x33\x17\x2f\xe9\x95\xc9\x5f\xf2\xa2\x76\x97\x0c\x98\xbe\x28\xe1\x1b\x24\x81\x11\xce\x07\xee\xba\xf1\x9b\xae\x6d\x10\x98\x5e\x01\x80\x6e\x1c\xbb\x1d\xdb\xb8\x70\xec\x74\x06\xb2\xeb\x37\x6b\x8e\xd5\x8e\x8e\x15\x37\x31\x95\xbc\x5a\x2e\xf4\x5e\x0d\x48\x04\xdd\xd5\xf1\x66\x26\x1e\x28\x1f\x93\x9d\x50\x54\x5f\xab\x59\xb7\x07\x4a\xc8\xd4\xce\x1e\x56\x53\x3c\x47\xe5\x29\xca\xa0\x14\x4c\xc3\x3c\x97\x4b\xea\xf9\x76\x8f\x56\x86\xca\xed\xd1\xe3\xd5\x3a\x3d\xf4\xfc\x03\x27\xc3\x69\x99\xdf\x47\xb9\x9e\x35\xfe\x9a\x8f\x49\x55\xba\x39\xea\x59\x51\x7a\x0b\xc0\xd1\x35\x63\xd4\x44\x22\xa5\xe7\x6c\x49\xb3\x92\xe8\x90\x6a\x55\xa4\x5f\x2f\xbd\x29\x88\x8e\x6d\x10\x9f\x98\x51\x8f\x6a\x49\xf5\xa8\x1a\x9c\xf1\xb5\xe3\x41\x37\x38\x11\xc1\x7a\xb1\xe3\x49\x2f\x54\x10\xb5\x3a\x51\x6f\x6a\xde\xf4\x41\xc5\x4e\xaf\x0b\x68\xa0\x99\x7d\x33\x40\x82\x3f\x63\xf7\xee\x7a\x50\x0b\x99\xb4\xd6\x69\xfd\xbb\x78\x1d\xe9\xcc\x6d\x64\x42\xff\xae\x2e\xa1\x9f\xf5\x1a\xbc\xa8\xb5\x76\xb4\x5b\xdd\xa6\x4c\x29\x50\xfa\xbe\x49\xc5\x18\xe3\xc8\x2d\x45\x7b\x0f\x94\xa2\x6d\xd2\x1e\x85\x20\xda\x3c\xed\xd2\x80\xa3\x06\x6c\xcf\x5e\x77\xc2\xdd\xc4\x95\xb1\x09\x10\x96\x74\xbe\x8f\xab\xa3\x22\x2f\x7b\x33\xef\x5b\x18\xa3\x73\x27\xec\xb7\x86\xab\xb8\xfd\xd7\xe2\x6d\x5c\x4f\xc5\x76\x54\x5d\x1e\x34\xee\x66\x77\x0f\x16\x24\x2e\x2e\xf2\x16\xe6\x68\x1e\x97\x3e\x27\xd1\x07\xab\x9b\xb0\x82\x32\x99\xa3\x33\x14\x26\xe8\x62\x1d\xfa\x79\x3f\x54\xa0\x25\xe4\x55\x51\x0b\x46\xb2\x85\xa4\xbb\x26\x2a\xac\x11\x1e\xee\x88\x0a\x83\xef\x5e\xca\x43\x3f\x90\xa2\xfc\x61\xee\x60\xf2\x1d\xb2\x77\x41\x65\x27\x9f\x4a\xd1\x03\x5d\xc3\xd4\x0b\xc4\xce\xc0\xc0\xd7\x30\x05\x40\x5d\x17\x4d\xce\x7a\x33\x6b\x43\x6b\xc2\xf1\x7a\x5f\xd9\x71\xb8\x74\xc0\x9e\xa4\xd7\xfc\x7a\x91\xac\x75\x4a\xa0\x9a\x84\xea\xf4\x33\x23\xb7\xdd\x59\xe2\x84\xdc\x9a\x8f\x25\x3b\x0f\x97\x4f\x09\x4c\xa3\xf9\x09\x29\xa2\x78\x91\x1b\x0f\xf8\xb6\xfd\x1d\xf0\x49\x3b\x1d\x38\xe5\x4f\x60\x08\x4c\xa8\x02\x08\x6a\x9b\xf6\x67\x45\xf2\x49\x0f\xf6\x3a\xbd\xb1\x3b\xd6\xeb\xd5\xcd\x7c\x20\x55\xea\xaf\x78\x98\x27\x9e\xf9\x9c\xf5\xaa\xea\x2d\x41\x4f\xb7\x26\x84\x4b\xd1\x13\xb9\x86\x48\xd2\x03\x73\x81\x9f\xf5\xb4\x4b\x8d\xed\x19\x4f\xaf\x0e\xa0\xc3\x08\x7a\xa4\xf9\xa3\x88\x6d\xe3\x51\x84\x61\x58\xeb\x6e\x78\x8e\x2b\x77\x1d\x84\xe4\x82\xe9\x95\x8e\x95\xce\x6f\xba\x9d\x8e\x73\xb5\x41\xcb\x91\x69\x37\xe5\x72\xf8\xa1\x59\x55\x3a\x56\xf7\x51\x2e\x67\x84\x4e\xb3\x33\x0c\x3c\xa5\x58\x6e\x61\x9c\x6d\x63\x18\xc7\x3c\xbe\x52\x21\x6c\x42\x38\xdb\xd8\xbb\xf6\x9c\x8c\x3e\xaf\x47\x48\xe8\xa2\xcc\x21\xe0\x25\x89\x3e\xec\xd2\x99\x45\x3d\x15\xbd\x75\xa4\x0b\xad\x78\xbe\xe3\x20\xe9\xd8\x80\x36\x8f\xd5\x4d\x07\x88\xa8\x18\xab\xe7\xaf\xa0\x0a\xe7\x63\x62\xaf\x29\x6a\x27\xf4\x30\xa6\x4c\xc0\x0b\x07\x70\x36\x80\x2b\x8b\xdc\xca\x60\x63\xcc\xf8\x8b\x9e\x98\x86\x8c\x91\xd3\xa3\xb5\xe2\x12\x2e\x31\xab\x97\x54\xd6\x70\xb6\x8b\x29\xba\x00\x0a\x2c\x38\x99\x32\xb2\x1c\x71\x2d\xdf\xa0\x97\x1c\x05\x5d\xc4\xef\xe1\xba\xbd\x10\xb0\x7d\x2b\x9b\xab\x22\x19\x88\x9d\xbb\xff\x8e\x0b\x6a\x44\x59\x11\xdf\x46\xd4\x9d\xc9\xa3\xe6\x17\x86\x4b\x93\xab\xfc\x9e\xcc\xdb\x6f\x39\x9a\x37\xab\x78\x31\xef\x08\xbe\x2e\x7f\xd2\x53\xab\x3e\xe1\x88\xd4\x9d\xbd\xce\x16\x80\x64\xea\x1f\x7e\x58\x1f\xfd\x23\xbd\x39\x89\x8a\x68\x9a\xae\xb2\x19\x99\x50\x31\x9f\xf7\xdc\x1f\xcc\xd7\x36\xfb\xcf\x2b\x87\x45\x76\x31\xb4\x3e\x36\x9d\x90\x65\x9a\x15\xdc\xed\x50\xfa\x4f\x7a\x5e\xf4\x97\x1a\x3b\xca\x3d\x74\x64\xde\x65\x3d\x9a\x50\x82\x3d\xe0\x32\x83\x70\x86\x93\x0d\xb9\x27\x0b\x15\xf5\x42\xc2\x2d\x26\x6a\xfa\x5a\x1a\x4a\x56\x89\xd5\xec\xac\xb6\x28\xc1\xca\xae\x06\x80\xe4\xf4\x76\x91\xb1\xcc\xad\xae\x16\x0a\xb8\x5c\xf5\xba\x62\x16\xa7\x5e\xa2\x54\xc9\xd4\xd3\x22\x8b\x93\xbb\x35\x06\xdd\xeb\x6c\xc1\x7d\xbf\x0f\xb8\x89\xcb\xad\x2c\x76\x17\x73\xb9\x55\xc9\xdc\x2b\x61\xe1\xb3\xbc\x06\x40\x2f\x4f\xb6\x89\xec\xcd\xa2\x06\xbd\x4c\xcc\xac\x99\x5e\x02\x96\x9a\xed\x3e\x90\x85\x0f\x35\x76\xdd\x8d\x7b\x28\x07\x78\x90\x12\x61\xde\x53\x4b\x12\x30\x37\x9c\xb1\x2c\x6c\xd2\xc3\xb9\xe5\x05\xc8\xae\xb7\x3b\x38\x5e\xda\x74\xf0\x7a\xc9\x30\x66\xa0\xf7\xab\x80\xec\x94\xb9\x59\x31\xf6\x4a\x7b\x81\x15\x4a\x6a\x8c\x70\xf2\xed\x9b\x2e\x56\x73\x2b\x81\xd5\x85\x6e\xc1\x3a\xb1\xb9\x12\xc0\xcc\x6d\x37\x5f\x4e\x33\x2f\x43\xb9\x71\x3d\x51\xa3\xf7\xa6\x5d\x35\x42\x3b\x6e\x1a\xe6\xe1\x7c\x36\x0d\x53\xbc\xbb\xe6\xae\x08\xed\x64\xf7\x79\xcd\x9f\x35\x6e\x4c\xf9\xb4\x7a\x55\x10\xe5\xf3\x98\xb5\x6c\x52\x04\x0d\x38\xdd\x4d\x87\x76\xad\xf5\xa0\x04\x1a\x76\xb8\x94\x65\xbd\x0a\x54\x2b\xb1\xc7\xf1\xaf\x6d\x47\x53\x62\xb2\x7e\xd8\x39\x99\xc0\x63\x6e\xce\x42\x36\x8d\xb9\x0a\x8d\x76\xc0\xeb\xdd\xce\xc3\x68\xab\x18\xe9\x87\x1a\x01\x2b\xbd\x9b\xba\x26\x0c\xff\xf0\x83\x87\x85\x9d\xe1\xaf\x3d\x64\xaa\xf7\x77\xab\x4c\x61\x3d\x00\xbc\x59\xe0\xb7\xb0\x05\xef\x76\xec\xa3\xc0\x52\xcb\x0a\x9e\x0e\xfb\xe8\xe9\x00\x00\xac\x9d\x19\x82\xc9\xe5\x61\x92\x00\xd8\xeb\xe7\x0b\x62\x08\xa4\xa6\x9c\x47\x85\x61\xdc\x3e\xd3\x0d\x24\xbd\xaa\xe8\xe4\xf4\x78\xfb\xcb\xa4\x2c\x20\xb8\xd8\xc2\x28\x8c\x99\xec\x41\x61\x40\x22\xe0\x2f\x83\x4d\xc8\x82\x44\x39\x09\x59\x1d\x85\x67\x81\x0f\xa3\xcb\xa8\xda\xdf\x3f\x50\x51\xf8\xab\x28\xca\x7f\x68\x51\x14\x5e\x21\x42\xdf\xcc\xe0\xf8\x41\xd3\xec\x8d\x62\x5a\xdf\xc8\xb0\xa0\xf8\x57\x21\x94\xbf\x0a\xa1\xfc\x55\x08\x05\x57\x08\x45\xbd\x21\x06\xbc\x9c\xc3\x33\x0d\x72\x31\x07\xc8\xe4\xaf\xfa\x27\x7f\xd5\x3f\xb1\xad\x7f\xa2\x9e\x34\xcf\xaa\xf8\x89\x6e\x6e\x0f\x52\xf9\x44\x2d\x40\xe8\xb2\x27\x6a\xce\x03\xd4\x3c\xd1\xaa\xc7\xf3\x28\x78\xa2\x55\x8d\xf0\xd5\x4e\x0c\x8a\x11\xa8\xd4\x89\x56\x29\xc2\xd6\x39\xd1\xaa\xc4\x33\x28\x72\xa2\xd5\x87\xb0\x15\x4e\x0c\xba\xe0\xb9\xbc\x89\x56\x07\xc2\xd5\x36\xd1\x8e\xff\xf3\x2a\x6c\xa2\x55\x85\x01\xab\x9a\xa8\xe5\x78\x9e\x25\x4d\x0c\x7a\x1c\xa4\x9e\x89\x56\xad\x06\x2b\x66\xa2\xd5\x98\xc1\x2a\x99\xf4\x52\x84\x2b\x63\x22\xf0\xf0\x1d\x3f\x74\x2e\x60\xa2\x24\x21\xaf\x5e\x92\x35\x9f\x1b\x63\x68\x13\xea\x43\x43\xdd\x92\xe6\xd3\xa0\x45\x4b\x84\x6e\x0e\x17\x17\xb3\x2b\x57\x62\x16\x14\x11\x19\x7b\xa6\x77\x6a\x18\x05\xb0\xba\x50\xc3\xaa\x8e\x39\x6e\xd2\x42\x81\xae\x4f\xa2\x99\xd0\x83\xc4\x3f\x42\x56\x26\x81\x72\xd1\x96\x25\x61\xe7\xbf\x87\x9a\x24\xec\x50\xbb\x17\x24\xd1\x8c\x1c\x27\x76\x98\x52\x24\x4c\x3f\x2c\xdd\x42\xd9\xbd\x1a\xb9\xc4\x81\x2a\x90\x68\x44\xa1\x66\x57\xe0\xda\x23\x2c\x82\x4e\x2b\x20\x67\x63\x19\x46\xbd\xbf\xdd\x4c\xe9\x34\xb6\xde\x08\xab\xcf\x78\x7b\x40\xbe\x8b\xc2\x0c\x01\x79\x5b\xd5\x55\xda\xc6\x06\xa0\xca\x8b\x54\x3f\x9b\x0e\xf9\xaa\x8f\x9e\xfc\x5a\x89\xfb\xf5\x5c\xc3\x5e\xe3\xd1\x7e\x60\xf7\x43\xeb\xb1\xc7\x59\x0c\x60\x5a\x4f\x78\x8a\x56\x49\x68\x73\x7a\x56\xeb\x1e\xa4\xd2\x48\xad\xca\xff\x49\x77\x06\x54\x0b\x51\x20\x3b\x06\xb4\x8f\xbb\x1b\x30\x20\xf2\x36\xf5\x4c\xfa\xb5\xcd\xee\xdc\xa6\x56\xb9\x3f\x55\x96\xba\x4a\x13\x7a\x1c\xbc\xc6\x9e\x2b\x8a\x46\x0b\x48\xad\x9e\xa2\x50\x1e\x8f\x21\x54\x6c\x69\x7b\xc1\x6c\x2a\xc0\xe2\x8b\x2a\x5e\x55\x15\x14\x15\x27\xdc\x71\x83\x66\xa8\x9f\x4f\x9a\x9d\x66\xe8\x07\xca\xb1\xd3\x6a\xc1\x20\x09\x76\x1a\xdd\xf0\x94\x5d\xe7\x6a\xc3\xbe\x25\xc5\x47\x92\xe5\x71\x9a\x9c\x26\xb7\xa9\xaf\xc8\x96\x82\xaa\x85\x3d\x6b\xa0\xa0\xb2\x6a\xe3\xe4\x36\xed\x8c\xcf\xb2\xa5\xde\xdc\xa4\x58\xf0\x49\x66\x24\xfb\x4a\xb2\x37\x24\x2a\x56\x19\xc9\x3b\x92\x53\xe6\xd7\x06\x5b\x96\xf9\xd6\xbf\x35\xab\x80\x28\x98\x4d\x2b\xe7\x67\xb4\x16\xa0\x62\xc2\xed\x5b\x7b\x8a\x4f\x66\xe5\x52\x72\xc2\x2d\x5d\x5a\x2b\xcd\x16\x65\xa5\xe5\xb6\xa6\x2e\xa3\x9a\x16\xc6\x2e\xab\xd2\x66\xe1\xb8\xf9\x82\x37\x75\x8d\xeb\x55\x08\x83\x57\xc1\xd4\xaf\xd9\x6b\xc7\x04\x6e\xfc\x76\xab\xa0\x8d\xe5\x4b\xab\x20\xd0\xfa\x95\x2c\x8d\x56\x96\x2f\xab\x5a\x0e\xb6\xaf\x51\x35\x1a\x30\x3c\x1a\x42\x14\x3f\xbd\xb1\x06\x50\x5b\x4e\x36\x5f\x56\xb0\x91\x73\x65\x05\x29\x70\x69\xed\x9e\x4a\x87\xcc\x96\x8e\x91\xd7\x7d\x94\x2b\x38\x21\x0c\x61\xc8\xb8\xb3\xda\xe5\xd3\x14\x66\x57\x52\xad\x31\x0c\x51\x02\x95\xa0\xbe\xcc\x61\x98\x3a\x18\xe1\xea\x8e\xac\xd9\x49\xef\x47\x45\x8c\xdc\x11\x19\x39\xdc\x32\xe3\xf3\x94\x98\x23\x8d\x34\xa1\xd5\xd6\xa3\xc9\x74\x56\xb4\x54\x5d\x26\xb9\x6d\x3e\xac\x0e\x83\x4b\x64\xab\x6c\x49\xe9\x19\x49\x03\xf2\x68\x6b\x7d\xfd\xef\xf5\x50\x1f\xa4\x3e\x6e\x3d\x98\xcc\x0a\x5f\x16\x2c\xcb\xc7\xb8\xed\xc3\xad\x1d\x93\xc5\x0a\xa7\xe4\xf7\xe8\xb6\x6c\x5e\x9b\x06\x65\x9b\x13\xb2\x88\x1f\xe2\x82\xcc\xd7\xd6\xff\x5e\x9b\x7c\x97\xd1\xec\x0b\x69\x12\xcd\x0f\x3e\xd1\x69\xe7\xbf\x8d\xb2\xc3\xcd\x9f\xb2\xff\x93\x36\x67\x7e\x3f\x65\xff\xf5\x5f\xeb\xd5\xa1\x4f\x6f\xcc\x7d\xca\x7e\x5b\xff\xce\xed\x00\x56\x39\x57\x42\x98\x6f\x30\xd3\xc2\xd1\x6c\x83\x11\xd7\x9e\xb2\xbe\xa1\x66\xa0\xf4\x94\x95\x1a\xa6\x2d\x7d\x8a\x32\x27\x4d\x33\xb7\x0f\xbf\xbd\x19\x1f\x5d\x5d\x4f\xc6\x9f\xaf\xcf\xa7\x97\xe3\xe3\xd3\x37\xa7\xe3\x93\x83\xcd\x51\xfb\xdb\xd3\xf3\xb3\xd3\xf3\xf1\xe7\x9f\xc7\xe3\xcb\xa3\xb3\xd3\x8f\xe3\xe9\xc1\x96\xcb\xd8\x71\x5d\x81\x9e\xbc\x42\xf7\x79\x8d\xce\x28\xf8\x2a\x36\x4d\xd6\x78\xfa\xdf\xff\xd5\x27\x5b\x29\xd9\x52\x73\xc1\xea\xac\x94\x3b\x24\xb5\x59\x38\xb8\x6d\xda\x80\x76\xbb\x49\x33\xfa\x85\x3a\xf1\xa4\xdd\x02\xe4\xfe\xa6\x08\xbd\x98\x36\x37\x59\x33\xf5\x35\xc9\x98\xba\x1e\x19\xc3\x43\x41\x55\x1e\xda\x2c\x5d\x34\xbf\xe3\x42\x43\x24\x29\xb2\xba\x51\x47\x7d\xdc\xfd\xca\x17\x93\xaf\xf5\x6f\x8d\x17\x0f\x77\xaa\xfa\x01\x1e\xf6\x60\x6d\xd0\xc1\xd7\x06\x4c\x87\x43\x6c\x14\x04\xb1\xf5\x02\xc9\x3c\x87\x08\x11\xaf\x12\x6e\x11\x23\x5e\xaf\x20\xb7\x0c\x63\xdb\x00\x92\x86\x21\x3c\x9a\x84\x93\x9a\x9a\x73\xe2\xd5\x43\x59\xf5\xbb\x86\xb4\x87\x20\x94\x7c\x19\x0c\x61\xba\x00\xe2\x30\x8e\x76\x0b\x80\xb2\xcd\xe5\xb8\x18\x15\x62\xe2\x47\x1f\x18\x72\xe2\x96\x5d\x9b\x70\x93\x13\xf7\x96\x6f\xab\x49\x9a\xfa\x69\x3b\x95\x9d\xe6\x63\x9f\xe5\xa5\xf3\xb8\xef\x6a\xb6\x20\x9b\x7d\x58\x45\x46\x9e\x7c\x3c\x5b\x65\x19\x49\x0a\xe3\xce\xb6\x35\xda\x5c\x1f\x3d\xc4\x49\xfc\xb0\x7a\xb0\x7f\xb3\xc8\x31\xd1\xd8\x6a\x49\x0a\xb0\x2b\x0a\x5b\x00\x66\x38\x3d\xed\x9a\x16\x64\x43\xee\xa2\xf5\x92\x7e\x1d\x27\xc5\xce\xf6\xda\xfa\x77\xd5\x92\x7e\x5c\xeb\x92\xf2\x5d\xa1\xf6\xeb\x7a\x03\xf8\x50\x2b\x93\xe7\x0d\x40\x3d\x3f\x43\x6f\x08\xc0\x75\xcb\xc3\x06\x01\xe4\xa4\xdb\x30\xe8\x5b\xb8\xed\xb0\x51\x8b\x76\x33\x52\xa5\x7b\xcb\x5c\xd8\x6d\xc7\x4c\xfc\xd4\xf0\x42\x10\x6c\x88\x7a\x61\xdc\xae\xc8\x6c\xe9\xaf\xc8\x40\xf5\x44\x14\x42\x7b\x43\xe6\x34\x29\xe0\x07\x00\x60\x20\x1a\xa8\x83\xbc\x98\x03\x06\x42\x10\xc2\x02\x08\x43\xe8\x5b\x6e\xb5\xd5\xd6\x4b\x98\x33\x21\xc1\x34\xd6\xc6\x37\x54\x56\x25\x2b\x9f\xaf\x73\x21\x39\xb7\xe6\x66\xb6\x0c\x8f\xfe\x46\x76\x0c\x88\xf3\xcb\xc9\x57\xd7\xaf\x65\xc4\x11\xc7\x3f\xca\x61\xed\xad\xc3\x81\x46\x57\x7b\xf0\xa0\x1c\x5d\x99\x98\xbe\x4e\x7b\x34\x83\xac\x45\xa7\x1d\x6b\xca\xc0\x46\x0c\xb9\x96\x15\xe2\x2c\x47\x39\xf2\xcd\x1f\xdc\x56\xb2\x1d\x43\x45\x46\xe5\x40\x0a\x5c\xed\xea\x30\xee\xa0\x9e\xfb\xa2\xcb\x8b\x20\x3d\x04\x45\x71\x30\x93\x47\x20\x6b\xa6\x8a\xcc\x2d\xb3\xb4\xfc\x73\x17\x3f\xbb\xac\x7f\x36\x57\x18\x6b\x3e\xe4\x82\x65\x49\xf4\x60\x2e\xd1\xb5\x55\x3d\xb5\x71\x1b\x2f\xc8\xf1\x7d\x94\xdc\x91\x69\x7c\x97\x44\xe6\x17\x3a\xbc\x05\xd8\xb4\x95\x9f\x7c\xb9\x12\x74\x5d\x2a\x9b\x71\x46\xb8\x0a\x40\x32\x21\x5c\x83\x6d\x68\xb9\xae\x46\x6d\xec\x4a\x75\xb5\xba\x66\x0e\x45\xb5\xea\xcb\xba\x21\x5b\x8a\x38\xd4\x79\xf4\x20\xab\x96\x25\xfb\xf4\x0d\xa7\xad\x1e\x5c\x17\xf9\x42\x11\xc2\x55\x01\x54\x3c\x72\x74\x4d\x00\x94\xe1\xb1\x2b\x7a\xed\xb1\xad\xb1\xd4\xaa\x88\x31\x62\x54\x8d\xb9\x26\x5c\x54\xf9\x3d\xdd\x79\x20\x3f\xea\xc6\x38\x93\xe5\x68\xf7\xbd\xf6\x5c\x86\xa6\xa1\xaa\xdf\xb6\x55\x1a\x28\xca\xe4\xcb\x0c\x92\x73\xac\xcc\x20\x35\x0e\xad\x0d\xd4\xea\x87\xd9\x00\x92\xb3\xb9\x8f\x72\x35\x13\x84\xf5\xa3\x1c\xda\x52\xd7\x5c\xbd\x59\xbd\xe9\xa3\x1c\x39\x96\xa5\x9d\xdd\x63\xf0\x53\x94\xdd\xe4\x67\x49\x18\x6b\x4f\xd9\x65\x35\x7b\x17\xb3\x4f\x6d\x6d\x46\x59\x1c\xdd\x2c\xc8\x46\x9a\x90\xf4\xb6\xda\x19\xf3\xcf\x87\x9f\x3e\x6d\x8f\x5e\x8d\xb6\x36\x47\x3b\xbf\x8d\x3e\xed\x8e\xf6\x46\xfb\xa3\x17\xa3\x97\xa3\xad\xad\xdf\x7e\x03\x90\xfa\x18\x2d\x56\xe4\x38\xca\xc9\xe1\xb7\x8f\x47\x67\xd7\xe3\xcf\xe7\x17\x57\x9f\xa7\xe3\xab\x83\xcd\xd1\xf4\x6a\x72\xb0\x3d\x7a\x7d\x71\x71\x76\xf0\x6a\x74\x7e\xfd\xe1\x60\x6b\x73\xf4\xee\xf8\xec\x60\x07\x22\x22\x6b\x83\x77\x4c\x74\xe3\x32\x4b\x1f\x96\xab\x82\x5c\x94\x9d\x2b\x3f\x36\x79\x5f\x32\x34\x3e\x6d\x6a\xcf\xef\xbb\x36\x75\xc5\xeb\xba\xdf\xd3\x8b\xeb\xc9\x31\xdd\xf1\xe3\xb3\xd3\x83\xdd\xd1\x9b\xd3\xb3\xf1\xc1\xde\x68\x7c\xfe\xf1\x60\x7f\xf4\xf1\x78\x7a\xf0\x62\x34\x1d\x4f\x3e\x8e\x27\x07\x2f\x47\x27\xbf\x9e\x1f\x7d\x38\x3d\x3e\xd8\xd2\xe5\x46\xc8\xb1\xa0\x38\x07\x07\x63\x0b\x75\xbe\x2f\x8a\xef\x76\xc8\xd0\xd2\xb1\x39\x51\xe0\xdb\xa8\x9c\x07\x0b\x6b\x3f\x2f\x32\xc0\xd1\x41\xf9\xe5\x4d\x9a\x72\xbe\xc0\xeb\x34\x5d\x90\x28\x91\xb4\x78\x35\xfa\x7e\x6b\x7d\x94\x00\x8e\x25\xb6\x36\x47\x9b\xeb\xa3\xfb\x19\xd0\xcd\x18\xcd\x16\x7d\xc6\xc2\xf1\xa2\xc9\x58\xd8\x18\x3f\x2c\x8b\x47\xce\xe5\x29\xfd\x98\xee\xd3\x72\x2d\x32\x24\x1e\xb4\xe0\x96\x9f\x0a\xf9\x0c\x5f\xa9\x44\x86\xaf\x1a\xa6\x5f\x67\xfd\x4d\x98\x8f\x33\xc3\xf5\x97\x7e\xb9\x39\x9e\x4a\x2f\xd7\x70\x97\x6a\x34\x7c\xe7\x8f\x49\xf4\x10\xcf\xfa\x97\x23\xeb\x9f\xb5\xf0\x24\xd1\xa2\x5a\x82\x28\x90\xda\x5f\x81\xa1\x6a\x1b\x08\xe2\x27\x79\x5c\xc4\x5f\x09\x54\x61\xb6\x76\x4a\x8d\xf1\x92\xa5\xd1\x0a\x17\xee\x30\xaa\xe1\x60\x3e\x89\x50\x8a\x62\x71\xcc\x04\xa0\x11\xfe\x4c\xa9\xf5\xb9\xbe\x53\xb9\x67\xdb\x0a\xf7\x6c\x5a\xf0\x85\x85\x5f\x75\x5f\x96\xda\xd0\x7e\x57\xfd\x9b\x73\x0e\x37\xbb\x2f\x4f\x93\x62\x7f\xb7\x73\x0e\xe9\xf3\x29\xad\x6f\xf8\x6e\xc6\xd3\xec\xaa\x1a\xd7\x53\x42\x4c\xc4\x68\xa6\x8a\xd9\xa1\x2d\xd7\x1e\xb1\x2c\x31\x48\x6f\xaa\x15\xc6\x22\x07\x84\x59\x98\xcc\x92\x55\x4b\x9d\xe2\xf5\x42\x74\xb7\xcb\xd5\x8f\xa5\xfd\x02\xdc\xed\x8f\xc7\x53\x87\x5e\x97\x6b\xa3\x59\xae\x72\xad\x65\xe5\x7a\xe9\xad\xcf\xcd\xe2\xcb\x69\xe7\x96\x37\xfa\xed\x5a\xcd\x31\x30\x67\x18\x89\xcb\xb0\x93\x56\x75\x6b\x38\x44\xb7\xba\x1d\x82\x93\x76\x47\x3a\xad\xa7\xed\x3e\xe0\xe3\x44\x59\xb4\xbc\x82\x1c\x1f\xb7\x6c\x3c\x9f\x15\x1b\xc8\x6a\xa2\x31\x3f\x59\x85\x48\xba\xd0\x8d\xc4\x65\x26\xa3\x6d\x2a\x86\xd3\xb4\xda\x36\xb7\x7a\x45\xb5\xaa\x86\xf7\x95\xb9\xcd\xd6\x26\xd5\xa8\x5e\xc0\xb7\x36\xcd\xcd\x76\x44\x01\x77\xc4\x87\x16\x5b\xcb\x4f\xf6\xf6\x63\x33\xef\x80\x09\x52\x9d\x61\xc8\x91\xda\xd3\xa6\x46\x31\x4b\x32\x38\x15\xeb\xab\xf2\x3d\x48\x3b\x99\x5b\xc3\x92\xa3\xf4\x02\x24\x72\xb9\x9e\x5a\xdd\x57\x94\xb1\x7a\x69\x2f\x34\x6d\x91\xf2\x49\x70\x5b\x2e\xe3\xc6\xd8\xaa\x3c\x45\x7d\x66\x9b\x64\xed\x33\x57\x65\xef\x96\x32\x7e\x32\x6c\x21\x33\xd9\x18\x65\xf2\xe5\x56\xf2\x5e\x0c\xd8\xb7\x64\x1a\x2a\x6f\x44\xc5\x0b\x62\xe1\x64\xde\xcf\x16\x93\x28\xb9\xeb\x3d\x8d\x77\xcd\x2f\x80\x7e\x46\xfb\xb9\xff\x67\xd4\x0d\xc6\x95\x6f\x97\xa1\x62\x03\xdf\x82\x4c\x16\x1f\xd8\x79\x30\x11\x1a\xda\x83\x78\xd3\xe8\x8f\x75\x52\x35\xaf\x11\x0e\x06\x4f\xa7\x4c\x66\x73\xa7\x53\x53\x8f\xd6\x0b\x37\xcb\x83\x9a\x30\xba\xed\x09\x6b\xc7\xe8\x68\x43\x8c\x99\x4e\x05\xc0\x06\x0d\x11\x56\x0e\xab\x74\x66\x61\xfc\x1d\x2e\xd0\xab\x46\x91\xea\x4f\x98\x73\x05\xb5\xfa\x48\x18\x7b\x3d\x5d\xd0\x74\xb9\x45\xd2\x67\xf2\x90\x30\xc1\xf5\xf9\x2d\x6a\x58\x44\xe1\xbc\xa5\x0c\x29\x98\x56\xa7\x65\x1a\x4c\xda\xe3\xb2\x4e\x85\x01\x09\x43\x0a\x56\xf7\x51\xae\x61\x14\xae\x16\x12\x63\x45\xfa\x32\x55\xb8\xe8\x27\xd8\x52\xa1\xdb\xfd\xe7\x18\x2a\xd2\x78\x88\x77\x3b\xe5\xe3\xf1\x14\xbe\xcd\x18\x42\x34\x60\x2b\xc5\x40\xe7\x2f\x23\x65\x30\x23\x85\x9d\xde\x41\x6d\x14\x8d\x3f\x8a\x35\x51\x34\xa4\xff\xfd\x2d\x14\x76\x08\x87\x33\x50\x78\xd5\x19\xcc\x3e\x11\x3a\xfc\x8c\xcc\x13\x01\x94\x01\xac\x13\x96\x67\x48\xe3\x84\xe5\xf4\xe4\xb6\xc9\xbb\xd9\xe2\x32\x45\x57\x97\xe1\xc9\xb9\x58\x28\x5c\x53\xf9\x6d\xbf\x45\x9c\x40\xcc\x93\xcd\xf5\xd1\x2c\x5d\xac\x1e\xcc\x17\xde\xb7\xcb\x6f\x97\x37\x9f\x6f\x1e\x01\xcf\xf2\xee\xf8\xba\x16\xc8\xf5\x39\xbc\x89\x52\x33\x82\x6f\x34\x2a\xc1\x1c\x0c\x15\x33\xa9\xf0\xb6\xca\x29\x7d\xcb\xef\x2c\x4e\xd4\x27\xb2\xa7\xf4\x0d\xbf\xe3\x4a\x87\x94\x07\xa8\xcc\xb7\xaf\x1f\xbd\xbc\xa4\xaa\x9e\x98\x41\x0d\x8b\x86\x5b\x20\xdb\x42\x4f\x1d\x7a\xcd\xaf\x1a\x37\xf6\x9c\x44\x76\xc5\xaf\x19\x34\xe1\xc3\x6d\xfe\xc3\x6a\xc4\x84\xcf\x0c\x19\xb0\xea\xf1\x69\x24\x0c\x73\xf1\x4f\xa3\x15\x1c\x57\x8f\x37\xfd\x74\x5d\xad\x51\x0e\x73\xb9\x4f\xd7\x59\x9e\xaf\xc7\xfb\x7c\xba\xee\x96\xba\xe2\x9a\x11\xea\xde\x59\x96\xab\x45\x57\x71\x97\x7f\x44\xdb\xda\xa3\x79\x20\xb8\xfc\x36\x06\x02\xdb\xd8\x53\x1c\x23\x2f\x22\xea\x89\x91\x69\xf9\x13\x3c\x82\xc1\x59\x3b\x55\xfe\xdb\x9c\xca\x7f\x9b\x23\x48\x79\x0d\x85\xa8\x9d\xe4\x10\xc6\x46\xc5\xca\x6a\xfb\x31\x7a\xf0\x36\x06\x87\x91\xd8\x9f\x31\x3c\x72\x99\x5a\x94\x56\xb6\x30\xbf\xba\xec\xb3\x28\x93\xd5\xbe\x79\x2e\xf2\x95\x73\xc9\xaf\x7d\xc5\xaf\x6d\xa1\x2d\x2c\x6d\x9c\xc2\x83\x8d\xa5\xa5\x1f\x30\x88\xd3\x2f\x99\xae\x11\x1c\x8d\x75\x28\x66\x86\xcc\xad\x1f\x95\x87\xb2\x72\xd4\x9b\xe1\xe2\x45\x52\xa5\x1d\x2c\x68\x24\xef\x7a\x35\xfa\x81\xc2\x46\xe5\x92\x02\x0b\x1a\xc9\x91\xe1\x64\xf3\x1e\x36\x92\x70\x6d\xdf\xe7\xd5\x3e\xfc\x51\xcf\x18\x8b\xa8\x91\x84\xd1\x7d\x94\xab\xd8\x60\x2e\xc1\xeb\x07\x7b\x9c\xcc\x03\x0e\xb5\xf6\xf1\x6b\xc3\x50\x33\x92\xf9\x7a\x55\xdc\x38\xd0\x72\x3c\xfa\x7a\x07\x73\xfc\x20\xcb\x59\x20\x5e\x11\x97\x65\x74\x71\xd7\xc1\xb6\x46\xdb\xa3\x9d\xd1\xee\x68\x0f\x74\x01\x8c\xa2\xa3\xbb\x0b\x36\x3e\x9f\x9e\x5e\x9d\x7e\x1c\x1f\x6c\xd1\xf7\xc2\x76\xaa\x7b\x61\xbb\xd5\xb5\xb0\x3d\x4b\xa9\x19\xd5\x0c\x7b\x43\x4c\x81\x55\x7d\x59\xcc\x43\x36\x9b\xa4\x4f\xd8\x9c\x36\xd9\x75\x13\x8b\xcc\x36\xa1\xb9\x3c\x22\xab\xb8\xbd\x32\xf0\x1d\xaa\x1d\xf0\x1d\xaa\x5d\xe8\x15\xaa\xbd\x5a\xdc\xea\xae\x9d\xf1\xe3\x7d\xdf\x91\x61\x5d\xa6\x79\x80\x44\xbb\x96\x99\x4d\xba\x14\x24\x15\xde\x22\xe9\x0e\x42\x6e\x68\xb7\x4d\x92\x92\x6f\x79\x83\x47\x9e\xea\x2f\xb9\xc1\xb3\x0b\xbd\xc0\xb3\x07\xbe\xc0\xb3\xdf\x7d\x59\x17\x61\x6f\x64\xac\x34\xda\x6f\x96\x9e\x64\xf5\x0a\x9c\xab\x67\xca\x45\xc6\x67\xec\x99\x38\x80\x4a\x42\xc8\xb3\xfd\xc5\xb4\xfd\x60\xb7\x11\x76\xf8\x04\xec\x1d\x73\x9b\x5d\xe1\x32\xc2\xae\xb9\xd1\x9e\x28\xde\x1e\x1f\x71\x6f\x54\x8f\xfa\xb2\x52\xcc\x7d\x60\xc8\x9d\x1a\x93\x9a\xd2\xe1\xb7\xeb\xf3\x9f\xcf\x2f\x7e\x39\x3f\xd8\x1c\x9d\x8c\xdf\x1c\x5d\x9f\x5d\x1d\x6c\xd5\xb7\xae\xb7\xab\x2b\xd8\x3b\xd5\xdd\xeb\xdd\xea\xee\xf5\x5e\x7b\xf7\x7a\xbf\xbb\x7b\xfd\x02\x63\x6f\x74\x6b\x43\xf0\x24\x46\xe9\xec\x92\xf1\x57\x98\xbd\x95\xb1\xc3\xf8\x7b\x18\x7b\x07\x9c\xef\x27\x11\xbb\x79\x0d\x06\x02\x9c\x7f\xb9\xad\x32\x08\x25\xc2\x57\x4f\xc9\xa8\x45\xc7\xd4\x9c\x33\xea\x5a\x91\xb9\x1e\xb5\x60\xb5\x8c\xe6\x0c\xd4\xaf\xed\x27\xd6\x2f\x03\x58\xfe\x25\xf6\xa1\x59\x52\xa1\x7d\x38\xf2\x2a\x9d\x2a\x77\x03\x93\x52\x29\x0d\xee\xda\x77\xfe\x1e\xa1\xd5\x39\x2f\x01\x50\xb9\x76\x9e\x56\xb9\x8c\xa8\xf9\x17\xd9\x83\x76\x29\xa4\xf6\x1c\x44\x60\xd4\xeb\xdc\xb5\xf4\xeb\x2e\xf0\xc0\x54\xa5\x55\xe7\x80\x72\xaf\xfc\x08\xed\x3e\xad\x52\x99\xb0\xf2\x2f\xb1\x07\x9d\x92\x0b\xad\x57\xa9\x5d\x94\x4a\xbd\x9b\x39\x56\x65\xda\xc3\xee\x82\x0c\x67\xa0\x4e\xed\x3d\xad\x4e\x99\xc0\xf2\x2f\xb1\x07\x9d\x92\x0b\xad\xd7\xa9\x3d\x9c\x65\x55\x3b\x12\x4e\x6a\xb5\x8f\x5c\xa9\x78\xde\xda\x53\x9b\xd2\x53\xa2\x7a\xbd\x0f\x54\x10\x76\x4d\x0e\x7f\x42\xc5\x2e\xc5\x03\x1c\x4a\x0d\x6c\x27\x0f\x62\x1c\xbb\xad\x05\xc3\x98\xc1\x88\x59\x3f\x90\xc1\xeb\xd7\xca\x7d\x05\xb5\x72\xf1\xa6\xed\xab\xa1\x54\xc3\xc5\x88\x75\x11\xce\x55\x37\x9c\xcc\xd5\x57\x0e\xeb\xa1\xab\x8d\x5a\x15\x62\xb3\x5f\x0e\x1d\x2c\xd3\xad\xcd\xa1\x94\xc2\xc1\x08\x75\x12\xce\x55\x29\x5c\xec\xcd\x2d\x5b\x3e\x18\x2b\xd3\x58\xe9\x5d\xaa\x14\x2e\xa6\x25\xc4\xa1\xf4\xa2\x13\x0e\x46\xa4\x8b\x6c\xae\x2a\xe1\x62\x2e\xc2\xbc\x5a\x46\x23\x8e\x17\x2e\x0f\x7a\x34\xa5\xae\x60\x2e\x0f\xa3\x12\x0c\x3f\x9d\x4a\x88\x5c\x21\x6e\x21\x57\xdf\xd3\x4d\x33\xe4\x98\xb4\x89\x0f\xc7\x0b\xd0\xa3\x1e\xd2\x41\x95\x53\xf6\xe1\x57\x32\x83\xfa\x26\x5e\x04\xb9\xec\x56\xd5\xab\x83\xf9\x24\xcc\xa0\xb3\xf2\xd8\x8d\x3a\xc4\x71\xf3\x32\xea\x0a\xd0\xba\x97\x61\xe3\x85\xd5\x5d\x38\x66\xdc\x15\xb4\x7d\x38\x7f\xcc\xc0\x8f\x93\xaf\xee\xb3\x79\xdf\x7e\x60\x19\x7e\x76\xe3\xba\x3f\xd4\xb8\xca\x31\xe9\xd3\x98\xbe\x3a\x8f\xaa\x9c\xb2\x7e\x50\x6d\x41\xae\xab\x7c\x85\x98\xcc\x1f\x8f\xa7\xa3\x17\xf6\x43\xce\x48\x63\x37\xe4\x2f\x86\x1a\x72\x39\x62\xed\x90\x7f\x9c\xe5\xce\x43\x2e\xa7\xac\x1f\x72\x5b\x90\xbb\x82\x6b\xee\x53\xf9\xa5\x83\xbf\xcf\xb1\xb4\x1b\xda\x97\x43\x0d\xad\x12\x99\x2e\xfd\xb4\xae\x55\xe7\xec\xba\xab\xe8\xeb\xc7\xd8\x16\xf0\xbe\x0e\x9e\xfb\x20\x6f\x39\xf8\xee\x02\x53\xbb\x61\xde\x82\x1c\x53\x7b\x19\x67\x35\x3a\xed\x40\xb7\x75\x04\x5d\x47\x5a\xcd\xc1\xe0\x77\xd9\xc2\xce\x14\x29\x0c\x63\x96\x75\x65\x5f\xb7\x6c\xc3\x48\xb9\x5c\x38\xf8\xd3\x79\xd0\x74\x72\xc1\xda\xd2\x20\xd2\xdb\x5c\x5d\x6d\x47\x77\xcb\x4b\xc3\xc7\x30\xd0\x0e\x21\x39\x70\xe2\x8c\x36\x2e\xb7\x05\x3e\x7e\xe6\x96\x70\x68\xd6\x4c\x1d\x97\xa6\x65\xe8\x18\x6b\x47\xb3\x7d\xc4\x27\x23\x4b\x12\x15\x64\x5e\x35\xcd\x3f\x1f\x7e\xda\x1e\xbd\xfa\xcd\x39\x55\xb8\xa5\xda\x77\xc6\x29\x3d\x58\xf2\xe0\x99\x29\x25\x98\x6f\xa2\xba\x75\x69\x71\xe3\x32\xea\x5f\x41\xc9\xcf\xe2\x9c\x7e\xbc\xb9\xe5\x52\xfe\xba\xce\xd9\x3c\xe2\x3e\x5e\x03\x3e\x8a\xd6\x52\x1a\x91\xf5\x51\x46\x1e\xd2\x82\x8c\x93\x52\x1f\xe6\x76\x39\xc5\xf3\xa8\x88\xea\x83\x9a\xfe\xbd\x80\xee\x57\xfa\xcb\x9d\xef\xd3\x9b\x8d\xfe\x5b\xfe\x11\x82\xee\x0f\x97\xe9\x62\x21\xa1\x5d\xfe\x5a\x4f\xbf\x1d\x99\xf2\x4b\x8e\x7a\xfb\xcd\xbb\xd9\xe2\xa0\xa2\xfb\x4b\xff\x8b\xcf\x51\xfe\xba\x4a\x30\xa5\x3e\x7a\x93\x66\x0f\x91\xf9\x11\xed\xfd\xd1\xa6\xc3\x9b\x77\x2f\xab\x41\xff\xda\xcc\x47\xf3\x88\x7f\xa4\xbf\xd4\x0d\x77\x37\xc5\xe9\xb1\xce\x8b\xa8\x58\xe5\x13\xb2\x4c\xb3\x82\x81\x76\xca\xfd\x01\x06\xee\xd1\x72\x59\x37\x94\xa0\x5c\xb2\x02\xe8\xfc\x16\x9f\x1c\xee\x78\x97\x57\xf9\x82\x9c\xaf\x84\xf0\xf6\x5d\x3b\xe8\x2a\x82\x48\xfc\x06\x90\x18\x3a\xd9\x5b\xf1\x52\x03\xf4\x81\x44\xf8\xdd\x57\xe0\x13\x87\xeb\x23\xb2\x11\xcd\xe7\xf4\xfa\x07\x4a\x2e\x9f\xd0\x8b\x9d\xea\x4d\x07\xd8\x9a\x05\xef\x13\xb7\xd6\x01\x0a\xf9\xf7\x8b\xa8\xe5\x1b\x09\xf4\xb2\x07\x17\x90\x59\x2c\x6d\xc4\xab\x96\x0a\x55\x0a\xfe\xeb\xc7\x82\xe4\x2d\xf0\xd4\x1a\x0b\xca\xc4\xff\x85\x5f\x7f\x25\xaf\x32\xd8\x3d\xe3\xd8\x3d\x1a\x02\xba\xf7\xe1\x70\x5b\xdb\xac\xae\xdd\xe2\x2d\x7b\xa1\x04\x34\xae\xcc\x8a\x6b\x3f\xc0\xec\x82\x0d\xba\xf7\xce\x6e\x0b\x92\xb7\x2b\x24\xb7\x28\xca\xa5\xdf\xc3\x25\x0a\xd1\xae\x0b\x71\x71\xc2\xf0\xb0\xa4\xe3\x65\x09\x03\x55\xc8\x8d\x73\xab\x87\x2c\x45\x4b\x50\xd2\x70\xd2\x98\xdd\xa0\x3b\xe8\x80\x97\x3f\x7b\xf6\xec\xba\xaa\xbf\x57\x41\x24\x76\xa2\xec\xfd\x05\xe0\x72\x0a\x7d\x36\x40\x34\x1e\x6d\x9e\x3d\x60\x96\x48\x23\x1c\xac\x45\x79\xfd\x52\x3a\x1a\xf5\xfa\x28\x5c\x04\x11\x57\x3e\xd9\x9d\x10\xa7\x17\x4c\x5f\xd2\x0d\x39\x4b\x12\xa0\x2e\xaf\x40\x75\x04\xa0\x6f\x42\xc8\x2c\x4e\xfe\xf5\x85\x4d\xc8\x90\xb0\x8b\x9a\x92\x3d\x73\xd9\xa6\x5a\xa1\x78\x5c\xb7\xb6\xf4\x97\x6d\x3a\x1d\xa8\xff\x5b\x11\x39\xfc\x76\x74\x5c\x5d\xdc\xdd\x1c\x9d\x8c\xa7\x57\x93\x8b\x5f\x4f\xcf\xdf\x1e\x6c\xb9\xdf\x7b\x65\x14\xcd\x93\x47\xcb\x9b\xe7\x50\xb7\x96\x69\x27\xbf\xe2\x4a\xec\xfc\xc6\xad\xca\x6f\x8c\x93\x82\x64\x5f\x01\xde\xd1\xb6\xf0\x22\xb8\xe3\xdd\x51\xbd\x85\xe3\xd9\x47\xa8\xb8\x80\xf7\x1d\xd3\x56\x0c\xf5\x16\x4c\x74\xc2\xbb\x0c\xb5\xa1\xfd\x5d\x73\xb2\x27\x33\xb1\x55\x77\x43\x4f\x1b\x85\xf0\x68\x34\x70\xf3\x27\xa4\xe5\xa0\x5b\x77\x90\xe6\x83\x8e\x34\xc4\x86\x50\xed\xc8\x8c\xed\xd0\xa1\xaf\xd9\x3a\xb6\x81\x4b\x23\x8b\x7a\x2f\x01\x2e\x9e\x69\x08\x67\x2a\xc7\x5c\xe4\x6e\x1b\xd0\x84\xc5\x33\xc5\x6e\xb7\x98\x86\x49\xb9\x55\x77\x58\xe4\x6b\x97\x5a\xbc\x8d\xaa\x8e\x27\xdf\x92\x3d\xed\x62\xca\x68\x13\x74\x3b\x93\x13\xf8\xb7\xd8\xd7\x0c\x8e\x9d\xef\x0d\x8e\x61\x07\x5e\x27\xc1\xde\x27\x74\xcb\x03\x13\xfc\x0f\xdb\xfb\x54\xd3\x2f\xe4\x26\x08\xb2\xc2\x91\xbb\x21\x88\xc7\x73\xdc\x16\x55\x03\x32\xf0\xfe\xa8\xd6\x8b\xa1\x36\x4a\x0d\x10\xc3\xec\x98\x1a\x08\xfc\x6c\x9d\x16\xd1\xac\xa0\xb7\x8e\x64\xc1\xb3\x90\x97\x8e\xa4\xdd\xe3\xa3\x52\xa6\xae\xb6\x11\x07\x8b\x2c\x06\xfa\x94\x41\x7b\xe0\x2e\x05\x44\x2d\xa0\x02\x1c\xb5\x84\xd6\xc3\xcf\x9d\x5f\x70\xeb\x96\xc0\x3c\x9a\xcf\xaf\x52\x2d\x7b\x18\x48\xa0\x9d\x95\xcb\xb6\x00\x8c\x63\x9b\x73\x21\x04\x22\x3f\xfd\x66\xad\x36\x4c\x34\x31\xe8\x3d\x7c\xa9\x52\x28\xd8\x5b\xae\x88\xc0\x54\x08\x36\xa7\xab\x0b\x52\x7a\xcc\xf3\xe1\x8e\xad\xb4\xf9\xe0\x52\x3c\x64\x52\x81\x13\x7c\x76\x6d\x61\xa8\xd3\xb7\x74\x40\x74\x19\x5c\x7d\x0c\xd9\x9c\xde\x23\x32\xba\x8f\x72\x2d\x1b\x44\x5a\xbd\x61\x70\xcb\xbd\xc7\xe3\x00\x33\x87\x7e\xda\x6c\x51\xc3\xf0\xb2\x72\x81\x87\xf8\x05\x72\x88\x15\x70\x88\xc3\x5c\xc5\x89\xd1\x43\xad\x60\x87\x48\xc2\x95\x0e\x37\x15\xc7\x0f\x73\x33\xdf\xc4\xb5\xce\x65\xd1\xf2\xbe\x79\x2c\x48\x7e\x54\xa5\xbc\x54\x68\xb3\x04\xd6\xd6\x91\xec\xaf\x5f\x42\xb8\x5f\xbf\xf4\xc1\x3c\x57\x20\xae\x5f\xb5\x4b\x09\x98\xcb\x22\xf6\x6b\xb6\x70\x5e\x13\xe4\xc2\xbc\xa9\xc3\x3c\x6b\x8f\xf7\xe5\xa5\xbd\xe6\x8f\x9d\xdc\x3a\xfd\xd2\xc5\x88\x55\xb3\xb6\x33\x68\x5f\x3a\x74\x9b\x39\x34\x0b\x60\xcd\x76\xe9\x07\xda\x1b\xbb\x52\x58\x14\xa2\x59\xdb\xb1\xaf\x1c\xec\xd8\x8e\x37\xd2\x88\x7d\xa5\x33\x62\xfb\xd4\x0c\x87\xdd\xc6\x34\x70\xdd\xe5\x0e\xe6\x54\xd4\xc1\x76\xe5\xcf\x35\x03\xec\xf3\x6c\x12\x88\xfe\x1e\xaf\x54\x55\xd4\x32\xc2\xf3\xb6\x37\x9d\x36\x7d\x00\x3a\x54\x1d\x70\xf6\x80\xd8\x71\xe3\x07\xb0\xc4\x5c\x94\x56\x2a\x81\xab\x5f\x6f\x78\xee\x48\x39\xa0\x8e\xc5\x52\xb6\x0c\x7e\xfd\x2f\x69\xf6\x25\x5f\x46\x33\x22\x26\x6d\xef\xba\xa7\x6c\xf7\x54\x91\x87\x03\x3d\x21\x8b\x03\x01\xb1\x91\x87\xc4\xed\x65\x3d\x30\xe6\x14\xde\x4b\xea\x43\x5d\x06\x6f\x2f\x25\x9f\x66\x3e\x22\xeb\xa3\x68\x56\xc4\x5f\xc9\x55\xfc\xd0\xe7\x5e\x1f\x75\xbf\xaa\x02\x9b\xf9\x46\xf9\xcf\xbc\x88\x1e\x96\xfe\xdf\xce\xe9\x85\x0b\x76\xd8\xd0\xb1\x30\xc6\xa0\x35\xc2\xc0\x0f\x15\x40\x44\x9e\x41\xde\xad\x31\x4d\x55\xd0\x1b\x78\x9e\xa0\xa8\x72\xe6\xa4\xc6\x56\x9d\x15\xcf\xe3\x50\x5a\x28\xc8\x41\x6b\xa8\x39\x19\x91\x52\x6f\xfc\x51\x89\x6c\x01\x0a\x71\x3c\xd2\xf3\xf1\x7b\x24\x62\xa4\xeb\x3d\xc3\x90\x5d\xb6\x00\xe9\x62\xda\x24\x3e\x51\xd3\x80\x79\x63\xdc\x22\x27\x79\xea\x86\xd6\x2a\x87\xd7\x6c\x44\xc9\xc2\x6c\x7c\x9e\x6e\x2d\xa9\x77\x09\xab\x8d\x10\x7a\x93\xa9\xd9\xe5\xba\x3d\xa7\x69\xa7\xbf\x2f\x32\x21\xb7\x32\xe9\xd2\xf5\xd1\xef\xad\x00\x1d\xc1\x4e\x24\x33\x49\xe9\xde\xcf\x5c\x1f\x9a\x90\x5b\xc9\xed\xa1\x09\xb9\xb5\xba\x9c\x54\xf2\x62\x39\x20\x36\xdf\x70\x17\xbc\x7a\x38\x14\x57\xbd\xfc\xee\xfb\xc1\x6f\xdc\x08\xac\x2c\x16\x5b\x0f\xb7\x70\xac\x88\x85\xb4\x0b\xb4\x20\x51\x53\xeb\x3b\xf0\x36\x4f\xcf\x47\xf3\xbe\xdb\x4e\x71\xf1\x9e\x87\x51\xb2\x0e\x43\xb8\x09\xc2\x4e\x6c\xb3\x74\xfd\x7a\x61\x79\x3d\x49\x9c\xe4\xce\x37\x7a\x4a\x99\x6d\xae\xcd\x94\x0b\xd0\x53\x58\x4b\xb6\xf6\xa3\xd3\x0d\x2e\xf9\x32\xe4\x7a\x97\xcb\x83\x81\x37\xcc\x35\x12\xb0\x41\x83\x36\xf8\xdc\xaf\x96\x7c\xc7\x9a\x52\xf4\xde\xcd\x67\xde\xeb\x6c\x37\x7a\xf9\x00\x5a\x6d\xec\xae\xce\x31\xdb\x33\x31\x33\x1a\xbb\xea\xcb\x1e\xed\x5e\x6f\xf3\xfa\xa2\x64\x76\x0f\x6a\x9c\xe2\x2e\xf5\x00\xcd\x6e\xc8\xf5\x1e\xc7\xe9\xd5\xab\x96\xc7\xe0\x27\xa5\x74\xfa\x07\x23\xf4\x13\x5f\x94\x0c\x1e\xf2\x84\x06\xca\x14\xb1\x4f\x35\x26\x6d\xc8\xb3\x9d\x90\xe6\x48\xa7\x8e\xd9\x7d\x94\xab\x59\x21\x5e\xe2\x30\x0c\x79\xf7\x67\xcf\x83\xde\xdb\x10\xda\x82\x66\x86\x61\x97\x48\x07\x1e\x78\xc3\xa9\xa0\x71\xe0\x75\xc8\xb4\x43\xdf\x2f\x90\xe8\xc1\xd7\xb1\x43\x54\x8c\x33\x0c\x3f\xb3\xe4\x06\xcb\x5e\xa9\xcc\x34\x6d\x9a\x97\x41\x0f\x14\x62\xfa\x7a\xfd\xd4\xa8\x0b\x26\x98\xc4\xa4\x87\x72\x07\x43\xeb\x84\x89\x2d\xa2\xb6\xb4\x41\x2f\xfa\x2d\xd1\x5e\x29\x68\x6b\x58\x5b\x9b\xd4\x30\xe8\x32\x19\x7c\x3d\x83\x6a\x1c\x71\x2d\x00\x5d\xd6\x5c\x6f\x38\xa0\xc7\x5a\xcb\x10\x51\x00\xd6\x34\xd0\xe1\x73\x3d\xe5\x9e\x89\x36\x13\xcb\xa4\x19\xfe\xf2\x3f\x0d\x89\x6e\x3a\x41\xfc\x66\x82\xee\xea\x0e\xd1\x15\xce\x1d\x4e\xc3\xb1\xd9\xa1\xf8\x60\x2a\x6d\xcd\x7a\x0b\xa8\xca\xc2\x68\x56\x41\x55\x19\x01\x69\x60\x35\x3b\xfc\x46\x85\x05\xfb\x98\x62\xff\x3b\x73\x34\x54\x21\x2d\x2e\x5a\xc9\x84\x0c\x33\x65\xc8\x30\x83\x85\x0c\xb5\x01\x01\xff\x61\x43\x8a\x9d\x85\xfb\x0e\x8c\x5a\xc0\xc3\x87\x40\x82\x4f\x1a\x42\xa4\xa1\xb2\x0a\xd5\x59\xc4\x78\xd8\xe9\xaf\x08\xd7\x3d\xfb\xe3\x42\xf9\x4a\x13\x36\xa2\x04\xf0\xd5\xd1\x51\x25\x00\x0f\x78\x64\x89\x5f\xb8\x6c\xa3\x4b\xa0\xda\x23\x36\xa1\x97\x6d\x9f\xe7\x82\x72\x15\x60\xbb\xed\xd9\x09\xa6\x37\x6b\xa0\x93\xae\x52\x54\xb9\x94\xfe\xa3\x20\x72\xfe\xbc\xc1\x00\xb3\x15\xac\x8c\x62\x39\xe3\xd2\x30\xd6\xb2\xf5\x12\x19\x51\xab\x86\x27\x37\x08\xe8\x8a\xa9\x07\x1f\xe3\x0a\x81\x9d\x5f\xdd\xd8\x07\x74\x87\xd4\x23\xef\xee\x12\x01\x01\x67\x06\x3b\xdc\xad\x3e\x79\xda\x4a\xc8\x7b\x7d\x8a\x2e\xd2\xd9\x20\x41\x3d\xbd\x36\xe6\x0b\xf4\xf2\x64\xb1\xde\xc1\x3c\x3b\xc6\xa3\x6b\x99\x0f\xe3\xcd\x75\xa9\x5e\xb6\x92\xd2\xa1\x69\x93\xf7\xc6\xa4\x00\xe9\x73\xa3\x15\x6a\x33\x70\x34\xe8\x09\xa2\x40\x03\x2e\x77\x83\x44\x7d\xae\x73\x92\x89\x19\x50\x7b\xee\x19\x50\x15\x41\xa4\x8f\x5e\xd1\xb0\x70\xc9\x99\xef\xe5\x05\x3f\xe2\x39\x30\xcf\x77\x95\x93\x0c\x94\x16\x5c\x5d\x49\x1f\xcd\xe3\x7c\xb9\x88\x1e\x8d\x5f\x57\x2f\x64\x8d\xc8\x43\x14\x9b\xcb\x87\xec\x56\xdf\x2e\xe2\xe4\x8b\x39\x83\xe8\xac\xfd\x4a\x97\x3a\x54\xe1\x53\x7e\xa9\x4c\x17\x72\xac\x4f\x52\x11\x0e\xe6\xea\x97\xd4\x8d\x6e\x94\x5c\x04\xb8\x23\x6f\x6a\x3f\x74\x4a\xf0\x29\xb4\xb0\xc8\x75\xa3\xa8\xca\xc2\xb8\xec\xe7\x27\xb5\xa2\x4a\xb2\x45\x64\x5f\x8f\x4b\x45\xb5\x4d\x09\xea\xd4\x0c\x9e\x4d\xd2\x6b\xa6\x39\x83\xa4\x52\x75\x0f\xce\x3e\xb7\x42\x85\xf0\xed\x2b\x16\x7e\x5d\x79\x1d\x49\x48\x32\xf0\xe9\x1c\x9c\x0a\xdc\x69\x96\xa1\x32\x4a\xd7\xa0\xd5\x2d\xcd\xf7\x3b\xf4\xf7\xb5\x76\x69\xbe\xde\xa5\xbf\xa6\x96\x38\x40\x7e\x84\x36\xdb\xa4\x57\x37\x87\x08\x41\xdf\x98\x7e\xc2\xe4\xf0\xd3\xa7\xad\xdf\x7e\x83\xb4\xfa\x40\x8a\xfb\x74\x7e\x1c\xe5\xe4\xf0\xdb\x87\xf1\xd5\xbb\x8b\x93\xcf\xe7\x17\x57\x9f\xa7\xe3\xab\x83\xcd\xd1\xc5\xe9\xc9\xf1\xc1\x16\x88\x3b\x63\x71\x51\x44\x75\x16\xd7\x2c\x7d\x58\xae\x0a\x52\xbd\xdb\x52\x7e\x6c\xb0\xcf\xe5\x5d\xfd\xb4\x89\x89\xe6\xcb\x3a\xe0\x6e\x1d\x30\xbb\x19\xd4\x44\x60\x1a\xa9\x22\xf5\x69\x3c\x9f\x75\x81\xf4\x8b\x78\x3e\xd3\xc7\xe6\x7b\xc2\xe5\x10\xfa\x0f\xaf\x6b\x56\x48\x9f\xfb\x6c\xc5\x02\xb6\xae\x99\x96\x6b\xd0\x8e\x6b\x22\xe2\xb2\xed\xc6\xb7\x6b\x5b\x87\x87\x87\xb2\x6d\x17\x10\x27\x67\x07\x12\x1e\x26\xe7\x14\xc0\x1c\xb9\xae\x74\x2a\x5d\xff\x17\x59\xe4\xe4\x6f\xcc\xee\xf5\x1d\x74\xf7\xe2\xa6\x51\xb0\x2d\x4c\xb7\x54\x62\xf6\x31\x1d\x5d\xd9\xbc\xe4\xe2\xcf\xdd\xac\xb4\x09\x3c\x73\xe3\xa4\xde\x00\xf0\x0b\x5c\xc5\xc0\xdb\x2a\xc7\xaf\x2b\xf0\xa5\x8e\x69\xa9\xf0\x8b\xf2\x1c\xe8\x18\xe5\xab\x9b\xe1\x0a\x1f\x9a\x26\x95\xf7\xa5\xaf\x9e\xf4\x96\x83\xe2\x65\x11\x34\x51\x1a\xdc\x01\xc9\xf9\xbb\x7e\x2a\x0f\x64\xba\xba\xf1\x65\x8e\xcb\xa6\x4d\xd8\x55\x4d\xb7\x08\xa0\x97\x36\x1d\x71\x90\xb1\x9e\xe7\x60\x6b\xbd\x1c\x05\xf7\x12\x86\x4a\xf4\x6b\x29\xc2\x84\xb9\x35\x43\xce\x32\xf5\x1a\xea\xd6\x75\x75\xba\xba\x09\x53\x98\x50\xd7\x55\x86\xa9\xd7\x62\x84\x0a\x67\xa1\xdc\x37\x3d\x9e\x5c\xb2\x7d\xd3\x9f\xa1\xc9\xcd\x16\x4e\x22\xcb\xd7\x26\x1d\xfc\x17\x7b\xd8\xaa\x30\xaf\x02\xb8\x36\xc0\x5b\xd9\x23\xe6\xd0\xae\x8c\xfc\x7d\x94\x2b\x88\x23\x0e\x2c\xb9\x08\x47\xe5\xfd\x07\x9c\xc9\xec\xfc\x85\x96\xd4\x73\x9a\xbe\x4c\xa7\xda\x38\x45\xc0\x99\xcb\x74\x4d\xe4\xe7\x7f\xd2\x32\x1d\x6c\xe2\x2a\x6e\xfd\xdb\xb1\xee\x9f\xc0\xce\xae\x7b\x86\x33\x14\xb1\x7b\x55\x18\xc8\xad\x73\xbb\xd6\x9d\xe3\x98\xd9\x75\xcd\x70\x44\x28\x76\xad\x8b\x59\x05\x38\x3c\xed\xc3\xac\xda\x84\x7e\x11\x02\x89\x50\xd6\x87\xa5\x86\xcb\x12\x1c\xd3\x36\x6a\x8b\x3c\x24\xdd\xd3\x1d\x92\x52\x51\x67\x0b\xc9\xaa\x65\x5d\x37\x4a\xed\xda\xde\x47\x1f\x51\xb9\xac\x13\x72\x8b\xf5\x08\xb9\x7b\xea\x26\x37\x90\xfe\x5c\xee\xfb\xf9\x70\xd4\xa4\x77\x63\x7d\x79\x67\x13\x72\x6b\xb4\xe8\x0d\x97\x73\x4d\x7e\x98\xa1\xb9\x8b\xf3\x25\x7a\x5d\x23\xeb\x28\x0f\xab\x2e\x21\x3c\x21\xcd\xb5\x47\x47\xf7\x47\x43\x91\x83\x11\x37\x8d\xde\x2e\xd2\x9b\x08\xfd\xec\x04\x45\xc9\x72\x52\x71\xad\xc2\xce\xad\x86\x59\xc8\x29\xd6\xf0\x00\x69\x8c\x4a\x1c\xbb\x09\x67\xa6\xf2\x94\xf3\x4e\xd0\xaf\x50\xd3\xaf\x61\xe4\x7f\x16\xea\x09\x7b\x9d\x8c\x1e\x6f\x66\x68\x6e\x39\x40\xa6\x25\xf4\x36\x06\x7b\x17\xc3\xaa\xf8\xdb\x70\xf1\x4f\x63\xee\xbd\xcf\xf9\x6f\x73\x91\xc2\xe2\x52\x00\x64\x25\x78\x06\x97\x27\x64\x31\x50\xfd\x45\x06\x59\x2c\x54\xa8\xa2\xe2\x1c\x0f\x55\xcf\xaa\x50\xeb\x50\xb8\xfb\x07\x40\xea\x90\x90\x28\x7b\xe7\xc0\xaa\xa6\x19\x22\x3c\xaa\x1e\x0c\xbb\xfb\x00\x6e\xd1\x15\x9d\x2a\x58\xe5\xf9\xbb\x45\x5c\xb4\x9d\x07\x96\x80\x70\x8b\xbd\x68\x3b\x0e\x2d\xf1\x10\xe4\x09\x34\xba\x38\x8a\x87\xfd\xce\xa1\xa8\x9b\xac\x99\x7c\x9f\x83\xee\x5a\x5b\x3e\x77\xad\xe0\x75\xc3\xe8\x92\x58\x36\x10\x23\x77\xaa\x40\x55\xc2\x8c\x39\x0b\xb2\xed\xa9\xdf\x6c\x1c\x93\x08\xe4\x5a\x1c\x6a\x7f\x09\x53\x31\x09\x40\x59\x36\x2d\x7e\xb2\xd8\x1c\x0c\x0f\x06\xcb\x51\xc4\xae\x8d\x90\x4d\x01\x55\xfa\x46\xbb\x19\x60\xd6\x45\x6f\x55\x9f\x95\xd5\x1f\x21\x6b\x23\xac\xfa\xf3\xe1\xb7\xbe\x36\xe5\xa0\xeb\xe3\x00\x95\x95\x19\x36\xa0\x19\xea\xa5\xc2\x32\x98\xd0\x60\xeb\x24\x5d\x3c\x10\xb1\x52\x0e\x55\x4c\x18\x54\x0b\x0d\xb1\x5a\x3a\x15\x15\xfe\x49\x56\xe3\x0d\xb3\x62\x2a\xae\x0e\x81\xeb\x4b\xb9\xaf\x9a\x8a\x8b\x43\xf0\xda\x51\xee\x66\xf4\x09\x59\x2e\xd2\xc7\x07\x92\x14\x42\xf2\xf0\x68\x5b\x97\x3e\xcc\x35\x9e\x90\xdb\x3a\x81\x78\x32\x7e\x43\x65\x0f\x9f\x1d\x5d\x8d\xa7\x57\x07\x5b\xa3\xe9\xf8\xbf\xaf\xc7\xe7\xc7\xe3\x83\x6d\xb8\x40\xcc\x30\xb4\x0c\x3c\x26\x13\x6b\xfa\x8f\xcb\x28\x56\xf6\xc3\x79\xd3\xa1\xa8\x59\xee\x3a\x92\x96\xf2\x6d\x67\x11\x15\x24\x2f\xec\x1e\x1e\xce\xc9\x3f\x57\x24\x01\xec\x54\xdb\xa3\x4d\x6f\x1b\x15\xd5\xa3\xa0\x3b\x55\xcf\x07\xb4\x40\xea\xc4\xb2\xdb\xab\x60\x94\xc2\x87\x9e\xe8\xb7\x85\xcf\x2a\xed\x50\xc6\x9c\xae\xe3\xa4\xd8\xdf\xed\xf2\xef\x1a\xb5\xf0\x14\x74\x92\x4e\xa5\x50\xfb\x1c\xc5\xcc\xff\x46\x67\x26\x0e\xaa\x75\x21\xc9\xbd\x21\xa3\x2d\xe9\xa3\xc2\xfa\x36\xdb\x54\x9b\x66\x08\x01\x71\x27\xd5\x12\x5d\xeb\x88\x69\x9b\x44\xbd\x28\xac\x51\x07\x81\xbd\x2e\x69\x0b\x96\xad\xa5\xdf\x20\xac\x36\x57\xfe\x80\xdf\x0c\x95\x57\x51\xcd\x39\x60\x4a\x79\xef\xa3\x5c\x29\x2d\x22\x15\x4c\xa7\x48\xed\xfa\xe1\x1a\xc3\x73\xeb\x68\x2e\x63\x0c\x54\xa2\xed\xa7\x50\x22\x10\x4c\x5e\x85\xc5\xa9\x91\x46\x5e\x44\x2d\x8c\x2a\x24\x9b\x15\xf1\x6d\x34\x73\xb1\x61\xbb\xa6\xde\x2c\xd8\x8e\xe2\x10\xf6\xab\xb4\xe7\x78\xeb\x55\xd2\x07\xf7\xa3\xd3\x96\x96\xed\xb9\x29\xdf\xee\x4f\x6e\xb7\x76\xfd\x09\x7b\x66\xda\x70\x81\x1d\xb0\x29\x45\xb2\x3c\x2d\x05\xd0\xf9\xcf\xb1\x57\x25\x93\x27\xd8\x09\x69\xcb\x2a\xc0\xf1\xa8\x81\xf4\x9f\xc1\x52\x95\x2f\xc5\x03\xd9\xa9\x52\x35\x08\x64\xa5\xaa\xb6\x01\xc0\x39\xaa\x28\x65\x38\x0b\x55\x29\x26\xcc\xb0\x90\xc8\x1a\xd0\x3a\x95\x2b\x4f\x70\xdb\x54\xae\x36\xa1\x2c\x53\xff\x8a\x13\xc8\x2a\x0d\xa2\x3a\x28\x8b\x14\x63\x5f\x1d\xa7\x0f\xcb\x34\xf1\x14\x1c\xec\x89\x59\x5a\x58\x62\x43\xb9\x89\x55\x8a\x07\x38\x8c\xda\x5c\x1f\xc1\x0b\x14\xf9\xb2\xaa\xfa\x3e\x04\x35\xab\x3a\x36\xa0\x6d\x59\x23\x94\x9d\x61\x05\x22\x14\xde\xb2\x1a\x27\xab\x87\xd6\xb2\xba\x7a\x5c\xca\xde\xbc\x92\xe5\x9e\xb1\xaf\x88\xa2\x6c\x2a\xd9\x84\x09\x65\x54\xf5\xbc\xfc\x5b\x55\x46\xda\x3a\xb3\x6a\xf3\xfb\xc3\xae\xd4\x40\x35\x0c\x94\x51\x54\x0d\x11\x93\x64\x66\x7a\x65\x13\x60\x3f\xc9\x50\x6f\x78\xbb\x9e\x86\x19\x57\x6a\xf9\x48\x73\x3c\xad\x5e\x9a\x36\xef\x65\x8a\x7e\xba\xd7\xd3\x84\xe4\x91\x29\x3a\x8a\xa9\xa9\x69\xb8\xc8\x57\x72\xbd\x58\x92\xac\xce\x5d\xb3\x8f\x95\xf4\x6d\xaf\xa2\xec\x8e\x14\x75\xbc\xe4\xea\x68\xf2\x76\x7c\x45\x85\x4c\x4e\x4f\x6c\xc2\x25\x3d\x51\x56\xc7\x7a\x0e\x9e\x43\x26\x72\x04\xf0\x31\x13\x59\x47\x9c\xf7\xf4\x9e\x98\xe5\x9e\x2e\x36\x94\xd6\x13\x8a\x2d\x2a\x0f\x76\xd1\x92\xb6\xf8\x50\xe7\x2f\x1b\x1f\x07\xe8\xa4\x99\x92\x7f\xfa\x7f\x0c\x9c\xed\x6f\xd0\xfd\xbf\x63\x03\xda\x41\x34\x42\xd9\xed\xff\x20\x42\xcf\xa2\x12\x20\x1c\xc1\x29\xf9\xa7\xdd\xb3\x9c\x8c\x12\x99\xcb\x18\x79\x8e\xe6\xc8\xa6\x75\x28\xcb\xa3\xe7\xe5\xdf\xf2\x30\xd2\xf6\x13\xd0\xa1\xd3\xdd\xd9\xe2\x48\xcc\xaa\x61\xf3\x2e\xa2\xa0\x03\x0e\x35\xf2\x34\x3b\x4d\xa8\x12\x04\x6a\xe5\x81\xd4\x22\xb0\x8c\xac\x28\x37\x35\x1b\x8b\x80\xf3\xe4\x0d\xc0\xf8\x14\x12\xe6\xc4\xcb\x24\xbd\x8f\x72\xa9\x9c\xc8\xe0\x8f\x42\x57\xa0\xd1\x1f\xcb\x67\x16\x98\xb5\xd1\x78\xda\xa5\x50\x2a\xbb\x10\x91\xac\xca\xfe\xe0\x1a\xa6\x81\xb3\xbd\xe6\xde\xad\x1a\x28\x15\x79\xb2\x40\x0f\xb3\x6e\xf9\xb4\x0b\x39\x83\xca\xca\x34\xa4\xdb\xaa\xac\xc3\x80\xef\x42\x25\x95\xa9\x61\x7f\xf6\xe6\xc3\x4a\x94\x9a\x10\x41\x0c\xc5\x29\xf9\xa7\xdd\x9e\x6f\xb0\x6e\xac\xcc\x45\x03\xad\x90\x16\xe3\x9f\xe3\xcd\x27\xd9\x31\x60\xd3\x21\xcf\x66\x23\x3b\xf1\x83\x5b\x8e\x1a\xfb\xc8\x87\xf1\xa8\x21\x0f\xb2\x1f\x87\x7b\xa6\x89\x0e\x96\x75\xaa\xea\x70\x86\xa8\x18\xc8\xe7\xf1\xec\x92\x56\xd3\xc2\xbe\xb8\xa4\x61\x1d\xec\xb1\x25\x0d\xcf\x90\xef\x2c\xe9\xd5\xa0\x56\xae\x60\xe7\x81\xea\xe1\xe5\x19\x6b\x63\x85\xa7\x49\x61\x17\x28\x9c\xac\x92\x84\x64\x92\x28\xe1\x68\xc7\x14\x27\x6c\x9a\x6a\x83\x84\x47\xe7\xbf\x1e\x6c\x8d\x4e\x4f\x0e\xb6\x47\x67\x47\xaf\xc7\x67\xd3\x83\x1d\x98\x40\x03\x45\x09\x25\xdd\xc7\x87\x08\x85\x2e\x38\xdb\x81\x0d\x25\x4b\x0b\x90\x6b\x25\xb5\xfd\xb2\xc3\x6f\x51\xf2\xd8\xdb\x7c\xc9\xa3\xd9\xd6\xab\xe9\x1e\x25\x8f\x9c\xa5\x17\xcf\x3b\x3a\x55\x99\x7f\x10\x99\xd3\x39\x47\x65\x11\xdd\x90\x45\xde\x51\x3a\xab\x7e\x84\x52\xab\xbf\xf6\x5f\xfe\x9c\x82\x33\xa8\x3d\x59\xf3\x00\xd9\x00\x2a\x71\xec\x6c\x48\x33\x95\x27\xb5\x1e\x3b\x55\xb3\xb3\x1d\x7b\x0d\x05\x58\x8e\x09\xff\x1a\x09\x28\xc0\xd9\x6a\xaf\x5d\x70\xb3\xd3\x79\xb3\x5c\x42\xdc\x75\x07\x2e\x56\x3d\x0d\x5c\x44\x6b\x26\x90\x59\xbc\x66\x5e\xfa\x31\x9f\x85\x95\x32\x94\xe1\xdc\x30\xf2\x6f\x32\xeb\x09\x5b\x18\xcb\xcd\x02\x6c\x6b\x24\xf7\x1a\x0f\x7c\xc9\xb4\x59\xa1\x6d\x23\xb3\x9d\x02\x03\xd9\x50\xcb\x37\xc7\x6a\x07\xc6\xaa\x51\x48\xc7\x20\xb0\xcc\x8a\x38\x4a\x8c\xa5\x4c\x2d\x0d\xf8\x0e\x7c\xb3\x61\x29\xd1\x74\x56\x20\x6f\xc5\x87\xd5\x66\x0d\xd8\x1a\xe4\x6d\x7c\x29\x70\x9d\x6d\x9f\x3c\x02\x6d\x7a\x81\x7a\x69\xcd\x4b\x69\x23\xad\x78\xd9\xe8\x9b\xe3\xff\x4e\x83\x7f\x3a\x37\x47\x72\x65\x63\x0f\x3d\x1b\xb0\x0e\xe0\xfa\x1d\x7a\x29\x6a\xed\xc8\x9f\xce\x11\x03\xef\x10\xce\xb7\x07\xba\x5b\x88\x82\x8c\x7d\xb3\xdb\x6a\x1f\x38\x54\x8d\x3f\x2f\x96\x9d\x0e\xec\x0c\xa9\x03\x4a\x04\xbb\x1a\xb5\xf5\x5a\xef\xae\x0b\x4a\x0e\xe6\x97\x25\xf1\x7e\x5a\xb9\x77\x7a\x73\xd5\x38\xe7\x08\xee\xad\xd1\x0d\xc3\x96\xf4\xd4\xd8\xc8\xfe\x3d\x9a\xd2\x82\xb7\x43\xcf\x8b\x5f\x63\x20\xf4\x94\xe5\x3d\x65\x4a\x17\xd6\xea\xd5\x18\x87\x68\xc3\x57\x43\xdb\x6b\x9d\xcf\xce\xfc\xf4\x36\x53\xd9\xf8\x03\x7c\xa2\x52\xed\xe4\xf3\x14\x9a\x70\xe5\x77\x3e\xcb\x5c\x4b\xff\xd3\xf9\x74\x6e\xa1\x77\x7a\x6f\x17\x3e\x99\xf5\x74\x06\xab\xe6\x53\xf9\xe5\x88\x32\x3e\x12\x15\x0e\x3b\xef\xd5\xce\x1a\x7a\xda\xab\x49\x6b\x6b\xf8\x98\x1f\x01\xb5\xc7\x30\x70\x6a\x8f\x74\xd4\xd0\xaf\x8c\xe0\x97\xc2\xc6\x3d\xf6\xb6\x1c\x8a\x01\x54\xf8\x92\xc8\xb5\x55\xc5\x9b\xeb\x00\xef\x87\x68\xc9\xc5\x78\x3f\x44\xcb\xb5\xf5\xf5\xbf\xa7\x34\xf3\xc6\x96\x3c\xf8\xf4\x9b\xdf\x28\xae\x2a\xcc\xe5\x7f\xa9\xac\x39\x59\x4c\x57\x73\x04\x0e\xbe\x64\x9a\x69\x05\x59\x36\x09\x37\xa8\x42\xf0\x76\x8d\xe5\x9a\x6d\x7c\x88\x96\xa2\x94\xe5\x1f\x47\x2c\xf4\x94\xa2\xf7\x2b\x33\xe8\x9b\xd2\x85\x18\xfd\xf0\x43\x35\xd5\xd7\xf1\xeb\xb7\x30\xef\xc2\xae\xe1\xfa\x28\x18\x7a\x1d\xd7\x93\x87\xd4\x45\xee\x47\xfb\xfb\xcd\xf5\xf5\x1f\x7f\x4c\xab\x5f\x56\x2b\xfc\xda\x7a\xb9\xc6\xa7\x3c\xf5\xb5\x2d\x6a\x74\x6b\x46\x14\x9c\xd4\x86\x00\xfa\xc8\xaa\x9f\x92\xc0\xc0\x87\x68\xa9\x5f\xca\xef\x48\xf1\x21\x5a\xb2\x2b\x78\xa5\x54\x8e\x9c\x29\x97\x9a\xe1\xcd\x7a\xd5\xec\x3c\xaa\x1b\x95\x1e\xc7\x7d\x9c\x1b\xd8\x56\x0f\xcd\xd8\x5f\xfa\xa8\x9a\x29\x8a\x63\x54\x37\x3d\xae\xa7\xe3\xc9\xf9\xd1\x07\xf3\x4d\x0f\xf1\x35\xa2\x40\x45\x31\x84\x9e\xe2\x4f\x6e\x39\xd9\x9d\xf7\xd4\x8a\x8e\xe5\x5e\xca\xb4\x51\xed\xa1\x96\x47\xad\x25\x4d\xe1\xa0\x75\xd5\xbc\x23\xd6\x51\xa2\x1e\x5c\x07\xd0\x6b\xbf\x0e\x73\xd8\x5a\xa1\x10\x74\x7b\x2e\x39\x80\x56\x60\xb9\x28\x76\xdb\xb1\x89\xc6\x93\x1e\xb2\xd6\xda\x61\x77\xc2\xda\x68\x94\xc3\x31\x26\xe8\x74\x95\x56\x30\xbb\x63\x4c\x46\x35\xcd\xe2\x75\x3a\xef\xe7\x20\x53\x78\xed\x2c\x8c\x51\x50\xb1\xf1\x6f\x0c\xe8\xc8\xc2\x8f\x30\xe5\x27\x8b\xc6\x13\xcc\x46\xa3\x80\xe7\x8a\xcc\x5a\x65\x7b\x88\xc9\xe8\x88\xe3\xc9\xa2\xcb\xe3\x96\x96\xa7\x0b\x35\x22\xe6\x63\x2e\xa7\xd7\x2f\xdd\x0e\x14\x65\x7b\xad\xf9\x3c\x41\xf6\xe8\x9d\x9f\x13\x25\x8e\x72\xa0\xeb\x21\xee\x6f\x7e\x3a\x8c\x78\xb7\xec\x19\x8f\xb9\x10\x4f\x83\xba\x9d\x29\xfa\x1b\x7d\x0d\x7e\xad\x0e\x74\x33\xdc\x55\x13\x34\x3c\xc2\xde\x02\x69\x56\x32\x4f\xf6\xa3\x7d\x80\x9a\x6b\xf5\x3c\xc2\xd3\x2a\x83\xc1\xb7\x49\x07\x0c\x4d\x9b\xed\x17\xa8\x59\xf7\x6f\x12\x96\x16\x94\x36\xa4\xed\x12\x24\x24\xad\x27\x1c\x36\x20\x2d\xa0\x17\x38\x1c\x2d\x19\xad\x27\x0d\x46\x33\x16\x95\xa7\x85\x4f\xe6\x60\x42\x97\x3f\xa1\xad\x7c\x11\xec\x5c\xe0\xc1\x97\x42\xb5\x8b\xe2\x7b\x41\x6c\x39\x81\x27\x27\xc4\x7b\xaa\x17\xc7\xef\xbc\xd0\x1a\x6c\x89\xa4\x7c\x3d\xe4\x42\x29\x51\xf5\x90\xcb\xa5\xc9\x57\x41\x2e\x9a\x26\xf2\xda\xa5\x93\x72\xc4\xb0\x0b\xa8\x04\x55\xf4\xf3\xfa\xd0\xc5\x54\x3a\xa2\xe8\xa7\xf6\xf1\x0b\xeb\xd1\xaa\xb8\xff\x40\x8a\xfb\xd4\x8b\x3d\x49\x51\xb3\x2d\xcf\x2b\xb6\x94\x2f\xa9\xc3\x2f\xa7\x94\x68\x61\x6b\xed\x76\x7c\x60\xc5\x5a\x35\x62\x59\xd6\xdb\x05\x51\x1a\x6c\x19\x3d\x47\x2f\xa1\x52\xa5\x0e\x56\x34\xb7\x67\x16\xa0\x6c\xae\x91\xb8\x76\xf1\x34\x15\x6d\x03\x2c\x9c\x52\x2c\x51\xd5\xcc\x40\xcf\x81\xca\x47\x10\x55\xce\x0c\xbf\x58\x9e\x90\xd9\x22\xca\xc8\x7c\x42\xf2\x74\x95\xf9\x79\x00\x4e\xa0\x69\xfd\x22\x8f\xa2\xfd\x73\x59\x3e\x05\x01\x03\x3f\xb3\xc3\x72\x03\xbe\xd2\x62\x12\xd1\xf6\xc9\x1d\x38\xbd\x3f\xd1\xb2\xaa\x51\xff\x70\xef\xe7\x70\x2c\x43\xbc\xa2\x03\x63\x11\x7a\xa1\xd5\xa0\x1b\x7c\xb9\xd5\x8e\xec\x13\x2f\xba\x17\xc9\x09\x79\x88\x92\x79\x9d\xe7\x70\x9c\x26\xb7\xf1\x9d\x97\xda\x37\x32\xba\xb6\x35\x70\x74\x34\x70\x71\xd1\x27\x28\x7e\x2c\xed\x4d\xd8\xf2\x36\x12\x8e\xb0\x02\x25\x20\x51\x2d\xcb\xdd\x58\xd2\x7c\x16\x85\x12\x03\x17\x4a\x36\x4c\xbe\x60\xf5\x67\x64\x6c\x03\xd4\xa1\xb1\x60\x03\x49\x52\x33\x87\x79\x7d\x96\x53\x36\x8c\x4d\xe8\x5a\x84\x26\xcd\x40\xc7\x8b\x91\x9d\x0f\x5b\x6e\xd9\xdc\x7d\x7c\xe5\x65\xcc\xae\x79\x95\xc5\x77\x77\x7e\x92\xcc\x5a\x52\x96\x7b\x23\xdf\xec\x79\x1c\x13\xb6\x52\x05\xdd\xd6\x1a\x26\xa0\xa5\x4e\x29\x90\xdd\xe6\x05\x20\xf3\xa7\x39\x2a\x14\x75\x37\xd4\x3e\xd3\x72\xf2\xbf\xb5\x18\x28\x87\x3d\x2d\x14\x01\x0c\xbc\x19\xc8\x46\xec\x49\xcf\x0b\xdf\xa7\x37\x3e\x96\xbe\x92\x8c\xe5\xb2\x47\x37\x79\x1e\x4b\x5e\x29\x51\xd0\xe5\xee\x7d\x7a\x03\x9a\x6d\x52\x41\xec\x96\x39\x03\x89\x3f\xcd\x12\xc7\xea\x67\xa8\xe5\xad\xe4\xe2\x7f\x69\xd3\x50\x0d\xbb\xac\xb1\xa0\x05\x5e\xd2\xf8\x11\x0a\x6b\xce\x5e\x45\xf9\x17\x87\xdb\x14\x55\x33\xdd\x6d\x8a\xf7\x17\xaf\x3f\x9f\x9e\x18\xef\x52\x54\x74\x18\x68\x03\xdd\xa5\x10\xfa\x89\xbf\x4b\xc1\xc9\xee\x6e\xe6\x96\x74\x6c\x6d\x5c\xba\x0d\x32\xde\xf3\x8f\xf4\xe6\xd4\xfc\xad\xd7\x80\x4f\x25\x7e\x58\x4b\x38\xca\xbf\xc0\x2c\x31\xa9\x28\x96\x36\xb0\x81\xc6\xb3\x0d\xd8\xbc\x2f\x87\xde\x53\xc4\x86\x9b\x0e\xc1\x2c\xe7\x92\x4d\x00\xb3\x59\x43\x16\x74\x43\xc0\xed\x45\x09\xe3\x23\xa1\xf0\xa8\x8c\xb8\x94\x06\x35\xbc\xf9\xd1\x0e\xf0\x18\x84\x6c\xcd\x06\xee\x68\xbd\x64\x61\x9e\x80\x90\x8a\x06\xcb\xe7\xe6\xe4\x0b\x94\xd9\x2f\x6a\x43\x35\xd7\xc3\xc5\xa5\x44\x85\xe0\x18\xfa\x79\xe8\xd3\x9f\x4e\x98\xf1\xf0\x24\x9d\xab\x5a\xa8\x04\x44\xd6\x10\xbb\x8c\x97\x64\x11\x27\xc4\xc1\xea\xeb\x9a\xea\x2c\xbf\x8b\x5f\xce\xc7\x13\xa3\xe1\xd7\x91\x1a\xc2\xf8\x93\x76\x19\x6f\x00\x4a\xfa\xe0\x6c\x04\x76\xb4\x2c\x0d\x41\xa1\x9d\xf4\x62\xad\xcd\x33\x69\xe9\xef\x09\xc9\xba\xab\xb3\x17\xe5\x4f\xe6\x7b\xb3\xad\x18\xd5\xe7\x61\x5e\x48\xeb\x7a\x1a\xd4\x6e\x6c\xb9\x80\x6c\x11\xb5\x48\x76\xf6\x23\x84\xce\xb3\xb0\x21\xc1\xf0\x55\x7a\x60\x77\xbf\x95\x55\x21\xf3\x05\xd7\x5a\x33\xfd\xd8\xae\x92\x99\x1c\xca\x7e\xed\x58\xf9\xb7\x61\x4d\xa4\x03\xda\xb1\x84\x5d\x2b\x6c\xef\xad\xb2\x63\xef\x78\x71\x55\xbe\xa5\x84\x34\x82\xa5\x6a\x13\xc0\x10\x56\xed\x5f\x66\xc3\x47\x22\x61\x18\x83\x58\x29\x22\xcc\xfa\x91\xc8\x19\xc8\x30\x96\x6b\x49\xa5\x78\x9e\xef\xbc\xb2\x6b\x21\xdc\x2e\x63\x94\x89\x13\xcc\xeb\xad\x57\xff\x6a\xa5\x82\xb1\xbd\xfa\x5a\xaf\x10\x18\x95\x50\x71\x08\x7b\xf1\x95\x5d\x9f\x3c\x9a\x7b\x82\xbd\x64\x63\xf3\xb1\x8d\x55\x86\xdf\x32\x4b\xcb\x3f\x77\x16\xdd\x65\xfd\x33\xc0\xa6\xab\x3f\xe4\x8a\xab\x2c\x1b\xe6\xe7\x6e\x59\x62\x1e\x0c\x40\x85\x81\x10\xc2\x0a\xac\x58\x59\x6d\xeb\x46\xeb\xc5\xc6\x1e\x34\x12\x7b\xd2\xea\x2a\x8d\x7e\xd8\x95\x57\x69\x95\xca\x6c\xdf\xb5\x7a\x0a\x8b\x64\x5e\x52\x6a\xe9\xd9\x28\xe4\x27\x7d\x68\xcb\x50\x6b\x04\x79\x30\x0f\xb5\xf4\xe1\xd5\x50\xe8\x75\xc4\xb6\x24\x4a\xab\x05\xca\x9a\x28\x1d\x13\x7a\x58\x71\x59\x6b\xaa\xe1\xec\xbb\xe2\x7b\xff\xaf\xa9\xc2\x4d\x12\x51\xd1\x44\xc9\x7c\x3e\x7b\xa6\xe2\x5b\x6d\xe5\x6a\x4c\xda\xcd\xbc\x55\x00\xbb\xed\x9c\x67\x76\x1f\xe5\x6a\x56\x9e\x6c\x3d\xd9\x90\x53\x8a\x15\x2e\x28\xaa\x1b\x59\xa9\x00\x43\x67\xeb\xb5\x52\x4c\x0b\xb2\xf4\x69\xd7\x54\xf4\x1c\xcd\x1a\xa6\xad\xfc\x6c\xb3\x35\x42\x00\xe7\x96\x75\x50\xcb\xde\x6a\x19\xe5\x05\x59\x1a\x3f\xdd\xa9\x3e\xcd\x56\x49\xfb\x32\xaf\xb1\xc5\x2e\xff\x1c\x2c\xe2\x18\x95\x41\x6c\x10\x83\xa8\xe4\x64\xb5\x99\xc9\x45\x73\x33\x87\x4c\xb4\x86\x0e\x91\x5d\x76\x5a\x88\x32\x52\xba\x37\xb0\x64\x4d\xca\x3e\x73\x9f\xee\x2a\xde\x7d\x9d\xf4\x5a\xe8\xd9\x02\xe2\x56\x87\xd0\x06\x50\xc5\x2e\x9c\xfd\xa3\x23\x0f\x49\xb6\xa7\x86\x1d\x9a\x74\x6f\x63\xc6\x74\x8d\xaa\xa1\xd7\x7c\xbc\x53\x7e\x4c\x3f\x0f\x4b\x2b\x80\xf8\x46\xec\x2e\xdc\x44\xe2\xc6\x9b\xe9\x73\xf8\x68\x9a\xa0\x6d\x52\xee\xde\x33\xa1\xcc\x9d\x1f\xc6\x56\x50\x77\x1f\x6f\x2a\x38\x02\x50\xfe\xc6\xad\xe3\x3b\xa8\x8e\xb3\x7c\xed\x3a\xbc\x83\xe9\x30\x35\x93\xdc\xfa\xbd\x6b\x7e\x10\x57\xdd\x6d\x29\x77\x8b\x57\x71\x77\x51\x66\xe1\x71\xfa\xb0\x4c\x13\x92\x14\x58\x7b\xb0\x27\x64\x61\x08\x8a\x8d\xe4\x16\x60\x29\x16\xc0\xf6\xdb\x1c\xfa\x3a\x63\x2f\x7f\x30\x7b\xac\x63\x61\xdc\x54\x35\xc2\xc0\x2d\x30\x10\x91\xf0\xa6\xd7\x38\x59\x3d\xb4\x86\xd7\xd5\xe3\x92\xb7\x9f\x02\x5f\x49\x94\x4d\x8a\x10\x66\x50\xcf\xc7\xaf\xfd\x63\xa4\xab\x8b\xfb\xd0\x36\x46\x05\x3d\x65\x5c\x54\xc3\xe2\xf3\x82\x61\x2f\x69\xc9\xea\xf0\xdb\xf5\xf9\xcf\xe7\x17\xbf\x9c\x1f\x6c\x8e\x5e\x5f\x9f\x9e\x9d\x8c\x27\x07\x5b\xa3\xc9\xf8\xed\xe9\xf4\x6a\xf2\xeb\xc1\xf6\xe8\xf2\xec\xe8\xea\xcd\xc5\xe4\xc3\xc1\xce\x68\x32\x3e\x1b\x1f\x4d\xc7\x1f\x8e\xce\x8f\xde\x8e\x27\x07\xbb\x96\xc3\xd9\x74\xce\xd5\xbe\xd1\xae\xf7\x72\xf5\xe1\xf8\x69\x57\xf8\x12\x67\xb8\x3d\xa3\xe8\x5f\x38\x03\x46\xd1\xc1\xa7\x0b\x6e\x4c\x8b\xa8\x58\xa1\x9f\x8f\x69\xa8\x58\xec\x5f\x5c\x0b\xd5\xa1\x4c\x5e\x44\x05\x70\xff\x9a\x93\x22\x8a\x17\x39\x30\x6a\x41\xb2\x2c\xed\xb3\x77\xc6\xe5\x4f\xd5\x74\x4d\x24\x7d\x49\xd7\x47\x79\x11\x65\xc5\x55\x4c\xd5\xca\x9f\xb6\xbf\xa9\x9a\xe5\x1b\xe5\x3f\xf3\x22\x7a\x58\x72\x2d\x67\xe9\xc3\x72\x41\x0a\xc2\x34\x3e\xa6\x7e\xa9\x6f\xef\xe3\x50\xa8\xe9\x51\xb0\x8d\xb6\xa6\x6f\x5c\xb3\x55\x62\xc0\xb7\x58\x33\x85\x61\xf7\xd7\x52\x1e\xe8\x06\x7b\x52\xab\xa7\xe2\x49\xef\x56\xed\x84\x54\xa0\x04\xd0\xe9\x86\x43\xad\xc4\x62\x0c\xa4\xa4\x4f\xe9\x97\xc0\x82\xd6\x3d\x33\x97\x5e\xef\x59\x4e\x7b\xde\x39\x31\x93\x04\x6f\x9a\x08\x2b\x5d\x08\xbb\xa4\x61\xe2\xd7\x28\xd1\x13\x85\x5a\x24\xb5\xb2\x6a\x4d\x92\x56\x47\x4d\x91\x17\xf6\x80\xab\x5f\x3c\x25\x0f\x7c\x27\x06\xe9\x79\x62\xec\xb2\xca\x11\xdc\x1d\xb1\x3a\x04\xa4\x29\xac\xb6\x1c\xd9\x3d\x20\x59\xf3\x10\x55\x18\xd3\xb6\xd8\xe4\xfa\xfc\xfc\xf4\xfc\xed\xc1\xd6\x68\x7a\x7d\x7c\x3c\x9e\x4e\x0f\xb6\x47\xe3\xc9\xe4\x62\x72\xb0\x63\xa3\xaa\xed\xf0\x05\x31\xba\x24\x13\x83\xe7\xe6\xd1\xe4\x92\xf5\xad\xd1\xbb\x30\x26\x97\xac\x7b\x02\x43\xaf\x41\x22\x59\x17\xab\x49\x62\x7f\x70\xda\xed\x0b\xda\xb7\xa5\x65\x5d\xe4\x18\x82\xcf\x43\x0d\xf1\x20\x81\x55\x75\x08\xaa\xea\x5d\x7b\x04\x5a\x2f\x11\xe6\x03\x50\x81\xfa\x7d\x94\xab\x68\x9b\x9f\x84\xb6\x9d\x5f\xf5\xc2\x63\x3f\x48\xf4\x96\xb7\xeb\x30\xd3\x78\xbe\xe0\xb1\xda\x75\x19\x2b\x5d\x47\xdb\xf1\xea\x57\x61\xb7\x31\xd3\xf1\xd0\x8f\x9b\x1d\x7e\xdc\xe2\x8e\x1b\xba\x3d\xdb\xa1\x93\xb3\x06\x8f\xde\x9e\xcb\xe8\x19\xba\xdb\x0e\x20\xb3\xe5\xb9\x8d\xa1\x81\x93\x7e\x18\x01\x58\xbe\x89\x17\x05\xc9\x36\x32\xb2\x24\x51\x41\xe6\x55\xe3\xfc\xf3\xe1\xa7\xad\xdf\x90\xce\x6c\x43\xd8\x8b\x4b\xdb\xd0\xb2\x76\x6c\xb9\x76\xf2\xd8\xec\x6d\xf5\x51\x7e\x16\xe7\x05\xe5\xb5\xb6\x6d\xca\x5f\xb7\x4e\x49\xf7\xdd\x9a\xd1\xcd\x6b\x38\x73\x02\x94\xaa\xe6\x21\x6a\xcb\xb0\x08\xec\x4f\xd6\x5c\x80\x16\xb7\x4a\x24\x5b\xdf\xd2\x4c\x27\x48\x05\x0b\x30\x1c\xcd\xb8\xc2\x73\x09\x65\x4a\x61\x70\xbd\xa2\xf9\xbc\xd1\x38\xf7\x12\x1a\x8a\x99\x18\xce\xe5\x6a\x58\x85\x70\xbc\xf4\xa4\xb5\x15\x35\x98\x99\x2b\x71\xaa\x26\xcd\xe2\x07\x4a\x08\x94\x0d\xa5\xb3\xab\xc2\x92\xe1\xae\x38\x6a\x2f\x38\xca\xda\xd7\xff\xa9\xaf\x3a\xbe\x39\x3d\xbb\x1a\x4f\xa8\xdb\x8e\xd3\xab\xa3\x2b\xfd\x6b\xa1\x32\x92\xcc\x26\x4f\xd1\xf7\x78\xe5\xd1\x84\x04\xee\xe6\xa3\xbe\x53\xf8\x3d\x09\xb9\x35\x81\x76\x28\x58\xf8\x75\xdb\x53\xaa\x16\x68\xad\x0a\xb1\xc9\x6c\xb8\xec\x35\x9e\xb7\x9c\x60\x3b\xcf\x36\xa0\x76\x92\x2c\xa8\xe9\x63\xe5\x1f\x7e\x03\x08\xbf\x0f\xd8\x6f\x07\x86\x4b\x83\xdb\x7c\x4c\xce\x70\xf2\x67\x5c\x2d\x11\xa1\xa2\x6d\x48\xa8\x48\x3d\xb8\xc0\xb8\x91\x45\xb5\x00\xc0\x1a\x0d\x71\xa3\x54\x22\xb7\x1e\xb1\x01\x2f\xff\x32\x43\x7d\x32\x95\xe0\xb5\x93\x2d\x15\x1b\x51\xf7\x40\x61\xb6\xb1\x96\x8c\x49\xb3\x5a\xa3\xc6\xe2\x1a\x80\xa4\xaf\xfa\xac\x75\xa5\x7d\x29\x17\x54\xa1\x87\x6a\x49\x41\x41\x4c\x81\x7d\x6f\x39\x73\xcb\x80\xc0\x3c\x9a\xcf\xaf\x52\x2d\x7b\x3b\xb0\xe0\xfb\x0c\xa7\xfb\xfa\x71\x6d\xc3\x09\xb4\x1d\xfb\x09\x63\x14\x5d\x2c\x49\x16\x95\x3c\xb0\xa6\x50\x4f\xc8\xc2\x00\x12\x1b\xc9\xcd\x1e\x1f\xc6\x4c\xcf\x2b\x98\x09\xd3\xb1\x30\x6e\x91\x1a\x61\xe0\xe6\x0a\x88\x88\x8b\x91\x22\x5a\x27\x23\x6b\xb3\x43\xa6\x58\x21\x8c\x8d\x9e\x8f\x5f\x13\xc3\x48\x97\x03\x16\x44\xea\xf2\xfe\x31\x8f\x67\xd1\x42\x38\x96\xba\x1c\x9f\x9f\xd4\xc7\x52\xc7\x93\xf1\xd1\xd5\xf8\xe4\x60\x67\x74\x32\x9e\x5e\x4d\x2e\x7e\x1d\x9f\x1c\xec\x7a\x98\xdf\x17\xd9\x1c\xef\xef\x70\xd4\x5c\x66\x3a\xdb\x52\x3e\xdd\xd3\xf2\x1b\x90\x97\x33\x9a\x93\x7c\xc6\x7e\xf9\x3a\x4d\x17\x24\x4a\xa4\x77\x5e\xbe\xdf\x5a\x1f\x2d\xe2\x87\xb8\x18\xec\xb6\x0b\xd7\xef\xf0\x4b\x4f\xc5\x07\x3e\x6b\x14\x62\x39\x2c\x42\x46\x4a\x21\x52\x41\xb6\x95\xa9\x20\x95\x38\xca\xbb\x2a\xa5\x92\xf4\x89\x20\xf9\x4c\x7b\x53\x65\x67\xbb\xfd\xf4\xac\xd4\x1d\x0f\xa9\x0f\xca\x59\x19\x74\x85\xac\x99\x05\x5a\x26\xb5\xc4\xa1\x29\x11\xf5\xa0\xc9\xdc\x2f\x2a\x25\x22\x9f\xd1\x5f\x54\x23\x29\xdc\x28\xa9\x07\x8a\xbb\x4b\xb2\xb3\x6d\xba\x4b\xc2\xf5\xa6\xfa\xff\x72\x99\xee\xe2\x66\x93\xab\xcf\x57\xa7\x1f\xc6\xe5\x3a\x7d\xf1\xe1\xf2\x6c\x5c\x2e\xc3\xe5\xcf\xba\x60\x9a\x72\xb0\xdb\x0e\x07\xf1\x0c\x35\x2a\xc6\x73\xb5\x49\x26\x30\x9c\xb4\xeb\xfa\x5a\x8e\x9c\xa9\xab\xca\xc5\xbb\x3e\x09\xff\x5e\xeb\x83\xe8\xba\xcc\x32\xd7\xf6\x98\x96\x01\x74\x04\xaf\xeb\x74\xa5\x88\x41\xae\x62\xe8\x7a\xcb\x71\x1d\xec\x0a\xc6\x5b\x92\x78\x72\x27\x28\x4a\x16\x56\x86\xa4\x15\xb2\xc6\x70\x9c\xc4\x45\x1c\x2d\xc0\xb7\x64\x7d\x85\x5e\xa9\x9e\x04\xb3\x19\x7a\x1e\xc6\x3d\x44\x27\x0e\xdc\x56\x80\x51\x79\x16\x05\xe3\x64\xf7\x54\x4f\x59\x5d\xf0\x60\x07\x48\xe7\x4b\x08\x1b\x80\x62\xe4\x77\xff\x37\x13\x86\xdc\x4c\x05\xdc\x48\xa5\x77\x77\x7e\x20\xc4\x3b\xa3\x86\x88\xad\x14\xf7\x80\x35\xd7\x14\xe3\x1c\xae\x42\xbe\xb2\x83\x2c\x72\x41\x2c\x0f\x65\x67\x55\xbc\x2d\xb6\x27\xdc\xdd\x0a\xdf\xaf\xd1\x62\x5e\xa2\xb5\x7a\x85\x76\x14\xdb\xbc\x43\x3b\x02\xdd\x31\xdc\xaf\xeb\x4b\x2c\xa2\xe2\x36\xcd\x1e\xc0\xb5\x25\xa2\x82\xb9\x72\xd1\x64\x30\xdf\x6f\x1c\x25\x8f\xe2\x15\x8d\x82\xbc\xcf\xd3\x04\xe0\x6c\x97\xb4\x67\x51\x41\xee\xd2\xec\xf1\x24\xce\x97\x8b\xe8\xf1\x5d\x9c\x98\xdd\xf4\x3d\x7e\xbb\x75\xbc\x91\x31\xdc\x93\xbb\xd6\xcf\xed\xfa\x7c\x6a\x37\xf4\x33\xbb\x98\x6d\x58\x52\x5b\x62\x5f\x71\x75\xc3\xe2\x1a\xe5\x65\xa3\xdf\x8a\x6b\x1e\x95\xde\x0a\xd7\x22\x6a\x6d\x06\x5d\xbd\x10\xae\x9b\xec\x2a\xeb\x61\x34\xb3\x41\x72\x4d\x83\x8e\x5e\x34\x57\x2d\xc4\xb9\xe0\xc1\xdc\x18\xf8\x39\xe2\xc0\x4f\x11\x63\x9e\x21\xe6\x0d\x10\xc8\x6b\xc4\x23\xee\x2a\xa9\xf2\xe3\x7d\xa6\x82\x46\xab\x80\x76\x77\x38\x84\xcb\x21\xf4\x1d\x8e\x5a\x3f\x8d\x35\xc8\x7a\x95\xd3\xf0\xde\xe5\x8d\x2b\x99\xea\xf1\x11\x99\x3d\xbd\x79\xf5\x54\x0f\x33\x87\x7e\x94\xd9\xb1\xc3\xee\xb7\x73\xf7\x51\x1d\xb6\xb8\xa5\x2b\x74\x78\x1f\xd3\xe1\x56\xe7\xc3\xdc\x1f\xd1\x77\x5a\xe4\xed\xf5\x2a\x89\xbe\xe3\xa0\x44\x0f\xf1\x74\xb9\xde\x85\xb4\x37\x24\xf4\x9d\x86\x65\x79\x58\xdf\x2d\xd1\x30\xd5\xe6\x69\x50\xb7\x16\x0a\x48\xb6\xbb\x86\x8f\x73\x5a\x85\x2b\x9a\xf4\xba\xe9\x1a\xb7\xc3\xe8\xaf\x84\xb9\x9d\x02\x1b\xee\xa0\xe8\xbb\x2e\x59\xfc\xdd\x40\xd8\xd3\xfb\x88\x7a\x0c\xb4\x52\xd8\x44\xab\xf7\x90\xee\x62\x5e\x64\xe9\xa3\x4f\x7f\x91\x27\x68\xe5\x30\xaa\x1a\x0f\xe5\x31\x6e\xdb\x79\x8c\x3b\x01\x3d\xc6\x3d\x5f\xf5\x99\x45\x54\x03\x7a\x7e\x1c\x2b\x80\x01\x6d\x14\xce\xc6\xf7\xb3\x20\xf6\x0c\x9c\x3f\x95\x47\x27\x71\xfe\x54\x35\x08\x15\xce\xdf\x6e\x30\xe7\x6f\x0f\xee\xfc\x21\x9c\x38\xf5\xaa\x14\xc6\x8b\xe3\xf9\xf9\x76\xe3\x80\xf4\x07\xf7\xe3\xb6\x6d\xfd\xb8\x1d\x0b\x3f\x6e\xd7\xb3\x1f\x67\x74\xc9\xd4\x5a\x13\xd8\x27\xd3\xa9\x6b\x58\xa7\x4c\xdb\x65\x77\xaf\xcc\xec\xa0\x68\xbb\x8c\x71\xcb\x8c\xde\x89\xb6\xcb\x38\xbf\xcc\x54\x12\xd1\xd0\x6d\xac\x63\x66\xf4\x55\xb4\x5d\x47\x79\x66\xda\x3b\xd0\x86\x6e\xbb\xba\x66\x46\x33\x5e\xcd\xd5\xb3\x6f\xa6\x66\xe4\xec\x9c\x39\x03\x8a\xf7\xce\xf6\x70\x5a\x8c\x76\xcf\x0c\x97\xcc\xaf\xa2\xfc\xcb\x59\xb4\x4a\x66\xf7\xa7\xc9\x6d\x2a\x5e\xc6\xde\x1d\xed\xb8\x5f\xc7\xe6\x88\x23\xbd\x19\x8e\x9a\x85\x2b\xa3\x68\xa9\xf2\x63\xd2\x59\x7c\x9d\x2d\x80\x9e\x0c\x49\xbe\xc6\x59\x9a\x3c\x90\xa4\xf8\x18\x65\x71\x74\xb3\x20\xf9\x87\x68\xd9\x57\x16\x93\xff\x7d\x6d\x7d\xfd\xef\x4c\x1f\x9a\x99\x71\xf0\xe9\xb7\x11\x49\x8a\xac\x96\xbc\xba\x19\x5e\xaa\xf6\xa1\x70\x79\x68\x42\x8f\xd4\x5a\x31\xda\x5d\x5f\xff\x7b\x4d\xe3\x20\x1d\x45\xd9\xdd\xaa\xe4\x98\x5b\x10\xd8\xa1\x08\xf8\xf0\x74\x38\xd0\x83\xb9\x39\x2c\x1f\xa3\x79\x69\x12\x0b\xee\xe0\xc0\x29\x0d\xed\xdd\x5c\x54\x0a\x2c\xf1\x6f\x88\x56\x23\x05\xd7\x64\x8d\xbb\xc4\xb2\xf1\x21\x92\xd4\xed\x2a\xff\x38\x62\x87\x8d\x9a\xea\xbd\x74\xa0\x6f\x4a\x5d\x1d\xfd\xf0\x43\xb5\x68\xae\x9b\x0f\xba\xa2\xf9\x7c\xdc\xcd\x16\x88\x97\x16\xcd\xe7\x47\xed\xe4\xf0\xe0\x1c\x29\x57\xb8\x10\x9e\x11\xc7\xcc\xaf\x5b\x04\x23\x0e\xf1\x89\x1a\xed\x83\x7a\x45\x2a\x75\xfc\x7e\xb3\xf4\x62\xd2\x2a\xa9\xb1\xa2\xb3\xb6\x5e\x52\x12\x44\x5b\xdb\xa6\xd4\xaf\x96\x92\x1a\x07\x8a\x2d\xe8\x23\x5a\x2e\x7a\x15\xd6\xde\xde\xa7\x8f\xb6\xda\xe6\x47\xf4\x12\x0c\x69\xbd\xa3\x77\xa8\x94\x9a\xd6\x21\x1e\xc6\x9f\xd2\x68\xb8\xc0\xd7\xab\x3b\xa5\xeb\xb0\x42\x67\xf4\x92\xdc\x91\xe2\x43\xb4\x64\x9d\x9b\x6a\xbd\x71\x92\xa2\x2e\x7b\x65\x92\x83\x35\x83\x75\x8b\x6f\x4d\xb0\x5c\x84\xef\xe3\xdc\x19\x16\x5a\x65\xa1\xd7\x34\xa1\x76\xb2\x4e\x13\x54\x9c\x15\x1a\xc1\xfa\x1d\xff\xfb\xbf\xd5\x95\x42\x7b\xc6\xcc\xea\x6f\x75\xe3\x92\x15\xc0\x6a\x9f\x17\x54\xc0\x80\x79\x57\x02\x8d\x5d\x4f\x1c\xbb\xcc\xaf\x2c\x0e\x83\xac\x3d\xa9\xd2\x0d\xb2\x82\xb1\x79\x8c\x77\x70\x63\xdc\xf1\x75\x1d\xe2\x1d\xdc\x10\x9b\x00\x6f\x47\x98\x5d\xf2\x51\xd7\x64\xb9\x47\xee\x9d\xfd\x25\x5b\x2f\xc9\xdf\xeb\xe8\x45\x94\x7f\x79\x9f\xde\x74\x7e\xd0\x55\xfd\xb3\xf9\x35\xcd\xf7\xe9\x0d\x77\x4c\xf3\x7b\x54\xcc\xee\x69\x5a\xbf\x34\xbf\x70\x21\x56\x15\x72\xa6\x89\x4d\x9b\x5f\xb8\x11\x4b\x97\x2c\xad\xea\x67\x47\xb9\x6c\xce\xa2\xac\xce\xb9\xfe\x91\xde\x4c\x41\x85\x5c\x5e\x8c\x36\xd7\x47\x59\x13\x88\x00\x3d\x01\xf6\xd2\xd7\xc1\x58\xa5\x7d\x41\x9d\x44\x90\x7d\x8d\x75\x08\x9f\x93\x1b\xe8\xf6\x32\xfd\xfb\xf4\xc6\xee\x3d\xfa\x52\x97\xcd\xc7\x57\xed\xfc\x67\x25\x7a\xf5\x84\x12\x75\xab\x88\x3c\x55\xf3\x29\x44\xea\xd6\x22\xf9\x01\xe2\xd3\x88\x54\x2f\x69\xce\x07\x8f\x5d\x66\x6d\x98\x23\xd0\x17\xd2\x7c\xd6\xf7\xcd\x8a\xc7\x7d\xfc\x52\x21\xf6\x84\x5a\xf2\x3c\x45\x05\x06\x88\x05\x04\x88\x00\x04\xbe\x54\xc3\x9e\x55\xd2\x26\x01\x77\x5a\xb9\x6d\x7a\x18\xb7\x54\x5e\x60\xf5\x6f\xc6\x5a\xe0\xf8\xbc\xf2\xc8\x87\x31\x24\x24\x59\xb4\xfe\xf8\xf4\x46\x86\xe4\x90\xd7\x9d\x8d\xf5\xf9\x2f\xf4\xec\x79\xdf\x7c\xf6\x4c\x67\x04\x77\x93\x97\x4f\x03\x7e\x41\x07\x58\x98\x39\xab\x11\xf4\xa5\x39\xae\x22\x96\x6d\xef\xeb\x63\x54\x97\xb0\xcb\x7f\x6e\xd7\xff\xac\x4a\x65\xb4\x55\xdd\x77\xbb\x6b\xd9\x27\x07\x7b\xa3\xe9\xd5\xc5\xe5\x65\xf9\xeb\xfd\xfa\x9f\xe3\x93\x83\x17\xa3\x0f\xa7\xff\x6f\x7c\x72\xf0\x12\xbe\x5a\x04\xbc\x16\x26\xac\x4b\xe1\x2e\x84\x89\x9d\x6a\x66\xbb\xfd\x99\xa8\x71\xd7\xd3\x56\xb4\x12\xfb\x2c\x08\x02\x3e\x23\x35\x9c\x86\x73\xac\x2a\xdf\x51\xdd\xeb\xd6\x6b\x6c\x57\x41\xf3\xd1\x28\x47\xff\x3e\xca\xd5\xd4\x11\x35\xc0\xc4\xa1\x6b\x57\xd0\x00\x63\xf7\xca\x6e\xec\x44\x49\xc0\x83\xf7\xca\x7e\xf0\x34\xfd\x6e\x47\xaf\xdb\x5c\x5c\x86\x4f\x43\x5f\x3f\x7e\x36\xa8\x51\x3b\x53\x80\xf1\x33\x06\x93\x24\xc5\xee\xdd\xc6\xcf\x90\x8f\x21\x1b\x3f\x4d\xbf\x99\x42\xf7\xae\xe3\xa7\xa1\x8f\x48\x16\x97\x8d\x5f\xb5\xe3\x07\x18\x3e\x63\xc0\x97\x1f\x3e\x4e\x10\x5f\xe9\x25\xf2\xd1\x53\xf5\xba\x1f\xbc\xda\x12\x72\x1b\x3b\x15\x75\x44\x2a\x89\x74\xea\x85\xcc\x1e\x91\xce\xb0\xe0\x09\x23\x1e\x53\x9d\xf6\x1d\x7a\xe7\xa0\x7e\x86\xeb\x45\x8a\xc5\xc3\x4b\x42\x93\x74\xd9\x70\xc8\x61\xb2\x41\x8a\x32\xa2\xdd\xf4\xee\x85\xfe\x3a\x85\x38\x30\x22\x3b\x9b\x7b\x13\x2f\x6c\x75\x8e\x36\xfe\xdd\x7a\xf8\xd2\x7a\x66\xc9\x79\xda\x4d\xae\x97\xa8\x0b\x22\xd7\xcb\x9c\x64\x95\xc1\x38\x21\xff\x5c\x91\x1c\xfd\xf2\xb0\x48\xd0\xe2\xbc\x40\xdd\x58\x7a\x78\x90\x1d\x7e\x2b\xa2\xfc\x0b\x73\x20\xa0\x0f\x94\xf3\x07\x18\xdc\x63\x88\x99\x32\xd0\x9c\xe9\x02\xcd\xa2\xd8\xc1\xa2\xce\x02\x2b\x63\x58\x07\x20\x1c\x3c\x1e\x6d\x45\xcc\x25\x38\x8d\x7b\xd6\xa2\x8a\xc9\x83\x23\x96\xa6\xe0\x3a\x15\x66\x76\xaf\x5d\xae\x9b\x60\x21\xa2\x78\x22\x3f\xbf\x21\x3d\x30\x7d\xd9\x8c\xfd\x4e\x8c\xd6\xc9\x82\x3b\xda\x27\x2b\x74\x31\x45\x3b\xc1\x85\x58\x82\x47\x6b\xb8\x24\xa7\x2f\x37\xad\x57\x0c\x4e\x1e\xb0\x55\x62\x88\xa1\xe8\x98\x76\xc1\x05\x43\x64\x01\x60\xa0\xe8\xd8\x34\x31\x06\x6b\x63\x65\xcb\xd3\x2e\x97\x2f\xd3\x24\x47\xdf\x83\x94\x50\x74\xdc\xe7\xb8\xd6\x7f\x9a\x8d\xae\x91\x7b\x90\x9d\xae\xe6\x65\xb5\xf6\xa9\xc4\x73\xdb\xeb\xcc\xd4\xfe\xda\xec\x4c\xf3\x2c\xf4\x6e\xd7\x30\x0c\xb7\xdd\xe9\x19\x3c\xe7\xfd\x4e\x18\x8b\xa7\xde\xf0\x24\xca\x31\xc0\x8e\x27\x70\x0d\xb4\xe5\x09\x7c\x9e\x62\xcf\x7b\x4b\x7c\xba\x75\x1c\x35\xab\x82\xa6\x56\x0e\x5d\x46\x6e\xbb\x6d\x6e\x42\x6e\xcd\x79\x4f\x61\x76\x3a\x4e\xea\x80\x05\x4c\xad\x9c\x39\x93\x58\x36\x85\x4c\x9f\xaf\x1b\xd7\x0e\x2b\x7c\x77\xeb\x14\xc1\xbc\xc3\x95\x4a\xe5\xbc\xc1\x29\x27\x55\x98\x8a\xa7\x01\xfd\x38\x18\x71\xc0\xa6\xd6\x4e\x52\x9b\x3d\xad\x1b\x2e\x87\x7d\x4d\x39\x04\xb5\x2c\x9e\x4f\x34\xcc\xdb\x9a\x46\x25\x58\x79\x7c\xed\x68\x4a\x86\xd5\x6e\x26\x87\xa0\xdd\xcc\xca\xc1\x32\xef\x65\x4a\x0e\xf7\x51\x2e\xa7\x3f\xc0\x36\xe6\xc7\x6f\xe3\xc9\xb9\x6c\x64\x43\x79\x6c\x6e\x09\xcf\xde\xf2\x93\x3d\xe5\x26\x7b\x4b\xbe\x16\x08\x79\xdd\xe7\x43\xbb\xb3\x1c\x23\xf8\xe2\x8f\x77\x64\x2d\x48\x85\xcc\x27\x7e\x32\x67\xd6\x2a\x5f\xd9\x2a\xe7\x15\x93\xa7\x6c\x4c\x0a\x0e\x20\x89\x6b\x32\x70\x10\x51\x54\x49\xc0\x43\x4b\x22\x26\x6d\x23\x8a\xe1\x0f\x19\xfc\xe0\xb9\x05\x32\x10\xed\xc3\x1e\xed\xbb\x38\xa1\xa3\x1f\x9e\x92\x7f\x87\x48\xc8\x1d\x20\x19\xd7\x53\xfe\xf2\x9e\x2b\x0f\xa7\x79\xf1\x14\x81\x28\xdd\x2c\x0d\x14\x85\x52\xb3\xf4\x18\x82\x52\x33\xc1\xc4\x9f\xdc\x07\xd5\x6f\x7e\x99\x31\x2d\xd7\x38\xac\x41\x32\x74\x01\x23\xeb\x2b\x59\xd7\x38\xbe\xde\xf3\x76\xb5\x43\x1c\x20\x05\xd4\x98\xfe\xa9\x1d\xe3\x70\x99\xa0\x86\x41\xf6\x9b\x14\xaa\x1d\xe6\x30\xf9\xa1\x86\x71\xf6\x9d\x2a\x6a\x4c\x13\x35\x0c\x73\xa0\x8c\x51\xe3\x28\xfb\x4b\x1e\x35\x8c\x71\x80\x3c\x52\xed\x10\x07\xc8\xc6\x2f\xc7\x78\xcf\x79\x8c\x11\x49\xf9\x86\x64\x53\xc3\x20\xfb\xcd\xcf\xd7\x0e\xb3\x73\xaa\xfe\x1e\xaa\x20\xf4\x82\x14\xc4\xe3\xc1\x90\x48\xd0\xaa\x20\xb4\xaa\xf1\x33\x3f\x1e\x12\x05\x0f\x58\x73\x99\x63\x05\x28\x77\x6b\x14\xce\xa6\xe6\xb2\x05\xb1\xbf\x8e\x8a\x60\x33\x2d\x4c\x91\x63\x9e\x9f\xef\x22\xc7\x40\xfa\xcf\xf0\xcc\x48\x37\x16\x4f\x74\x6c\xa4\x57\x8f\x30\x27\x47\x3a\x9e\xde\x0e\x8f\x74\x4c\x10\xe7\x47\x4a\x7e\x67\x71\xce\x9c\x56\x09\xf5\x46\xb7\xdc\xab\x8d\xf2\xb4\x91\x7b\x25\x4f\xce\x62\xa7\x54\x35\x55\x15\xd5\x29\xa2\xfc\x4b\x55\xcf\xc5\xa2\x5c\xe7\x96\xe7\x72\x9d\xbc\xcc\xc1\xb6\x48\x8e\x91\x71\xa9\x34\x0a\x06\xdf\x1e\x2d\x48\xf9\xdd\x1c\xcb\xe6\x6d\x9d\x96\x38\x3f\x21\x8b\xf8\x21\x2e\xc8\x7c\x6d\xfd\xef\xf5\x4e\x78\x19\xcd\xbe\x90\xa6\x80\xc5\xc1\x27\xba\x9c\xc5\x6f\xa3\xec\x70\xf3\xa7\xec\xff\xa4\xcd\xfd\xf6\x9f\xb2\xff\xfa\xaf\xf5\xba\xd2\x55\xab\x34\x6b\xe9\xa7\xec\xb7\xf5\xef\xdc\x36\x3e\xf5\xa4\x09\xb1\xed\xf1\xdc\xfc\x6e\x7a\x40\xea\xb2\x59\xf8\x13\x1d\x96\xee\xa6\xa2\xb4\xac\x00\x35\x56\x5b\xfa\xd2\x02\x6a\x6c\x79\x46\x0e\x55\xdc\xac\x96\x59\x21\xba\x26\xe1\x6c\x2e\xe3\xb6\x65\x2e\xe3\xa6\x66\x4c\x6b\xac\x6b\x1d\xb7\x2d\x53\x1d\x37\x35\xfb\x2e\xbe\xa7\xc3\x9c\x8e\xf2\xf5\x4a\x00\xed\x71\xe3\x36\x86\xd9\xd2\xfc\x24\x54\x08\xf4\x9c\x36\x35\x40\x4a\x45\xb3\xa7\x55\xfb\x59\xdf\xf9\xb6\x45\x05\x6b\x97\x24\xd1\x54\x48\xb5\xcf\xe5\x28\xed\x27\x0f\x4f\x9f\x0b\x1d\x1b\x60\xeb\x03\xe6\x15\x98\x45\x73\xd9\xfc\x9e\x63\x7e\x3c\x9f\x71\x01\xf6\x10\x2d\xf2\x25\x9a\xfa\xcf\x95\xce\xb9\xbb\x8a\x9a\x39\x19\x76\xcb\x0c\x72\x70\x0c\x25\x6f\xde\x34\x8d\x75\x8e\x41\x8e\x23\xf0\x20\xdb\xaa\x4b\xe2\xbe\x6b\xb3\xe7\x5a\x38\x93\x9c\xf0\xd0\x3d\x5a\x75\x04\x06\xab\xb3\xaa\x96\xd3\xe0\x60\x6a\x04\x68\x67\x89\xd5\x46\x2d\x15\x00\x0e\x96\xdd\xe2\x25\xdb\xd9\x21\xbb\x3a\xbe\x34\xeb\x71\xb9\xa9\x2c\x3c\x3a\x9a\x22\x41\x8b\x5d\x59\xdd\xf8\x99\x07\x65\x45\xc1\x83\x6d\xbb\x02\x2b\xe3\xa2\x0b\x10\x0e\xbe\xf1\x5a\x11\xfb\x2b\x28\x0b\x9b\x69\x21\xb6\x5a\x91\x9f\xdf\xbd\x16\x4c\xff\x19\x06\x65\x75\x63\xf1\x44\x41\x59\xbd\x7a\x84\x09\xca\xea\x78\x7a\x0b\xca\xea\x98\x3c\x41\x52\xff\x38\xcb\xd2\xec\x84\x14\x51\xbc\xc0\x6e\x75\x34\x29\x8b\x4d\x4e\xd6\x4c\xee\x75\x7e\x21\x8f\xc0\xfa\xe4\x5f\xa3\xc5\x0a\xf8\x04\xad\x0f\x27\x93\xee\x42\xb0\x8d\x8e\x62\x62\x5c\xec\xb4\x02\xc1\x37\x37\x20\x99\x90\xa9\xea\xb2\xd2\xd7\x3f\x93\x47\xe0\xf3\xae\x1f\x4b\x3d\xf0\x90\x4d\x2c\x9f\x25\x21\xb6\x29\x9a\x93\xdf\x0d\x0a\x40\x59\x93\x41\xdc\xb9\x83\x25\xf8\xd0\xd7\x7f\x6a\xf8\x0d\x8f\xa2\x5a\xc3\x5e\x0b\xe1\x56\x18\xca\x54\x44\x55\x35\xd0\x2c\x47\xaf\xc5\x54\x95\x9d\xac\xd0\x73\xeb\xa6\xe9\x51\x51\x65\x37\x39\x9e\x2e\xef\x89\x22\xae\x97\x5d\xe7\x24\xf3\x77\x4b\x9a\xa6\x66\x77\xb9\x4c\xd6\x52\xe5\x71\xad\x72\x92\x75\x2e\x57\xd9\xd0\xec\x73\x95\x5f\x05\xb9\x3f\x45\xcb\x1d\xf2\xfa\x14\xc5\x07\x72\x35\x42\x2b\x96\xd5\xe5\x29\x20\xa5\xa7\xf1\xb3\x4a\xe1\xec\xfc\xac\x4a\x11\xcc\x7e\x56\xa5\x55\x98\x8b\xd2\xf2\x79\x15\xe8\x22\x0c\xcd\xcc\xfb\x3d\x18\x00\x71\x80\x7f\xd5\x4d\x53\x5b\x07\xab\x1a\x30\xb7\x5b\x17\xf2\x31\x68\x84\xf1\xec\x5e\x95\x24\x8d\x37\x06\x54\x4a\xc1\x09\xe4\xf1\xde\x85\x9c\x63\xe5\x59\x29\x40\x68\x5d\xab\x6a\xc0\x40\x49\x9e\x72\x1e\xf7\x51\xae\xe0\x10\xf4\xba\x74\x2d\x8c\xb7\xeb\xd2\x0c\x39\x97\x1d\x0d\x78\x5d\xda\x72\x4b\x0b\xbc\x9d\x0d\x70\x1d\x98\x66\x04\x5f\xe2\xbc\x5c\x07\x86\x92\x1a\x7e\x4b\xb3\xdb\xce\x86\xdd\xca\x86\xba\xd4\xc9\x70\x0b\xb4\x99\xa1\x6b\x59\x39\xed\x66\xe8\x9d\x4c\x76\xfc\xe6\x79\x2b\xb3\xd8\xc6\x64\xa7\x6c\x81\xf7\x31\xf9\x59\x95\xe7\x8d\x4c\x76\x5b\xc1\x79\x27\xd3\x1e\xc0\x95\x54\xf3\x60\x79\x2e\x2c\x75\x0f\x89\x2e\x2c\x41\xcb\x4c\x17\x79\x63\x79\xd0\xb1\xdc\x0c\xcd\xa9\x2e\xd7\xed\x57\xba\x54\x17\x66\xa3\xf4\x98\xdf\xc2\x76\x27\x68\x82\x0b\xc3\x0a\x94\xde\x60\x10\xce\x2e\xc5\x05\x4c\xec\xdf\x61\xbb\x8c\xe6\xf3\xaa\xbf\xb8\x6c\x16\xd5\xcc\x0b\x95\xce\xc2\xf2\xf3\x9f\xcf\x02\xa2\xaf\x4d\x68\xa1\xe6\x2a\x36\xa1\xc5\x75\x17\xd5\x0d\x0c\x2d\x61\x80\x34\x16\xf3\xa6\xaa\xd7\x1a\x99\x70\x21\x92\x57\x54\x12\xb4\xb3\x22\x64\xf6\x4a\x85\x91\xe5\x62\x24\xb1\x03\x4c\x39\x2b\xbd\x22\xa2\x72\x56\xae\x97\xf3\xa8\x20\x1e\x63\xa7\x22\x41\xab\x82\xca\xaa\xc6\xcf\xda\xdd\x14\xc5\x0e\x58\x4e\x99\x63\x05\xa8\xad\x6b\x14\xce\xa6\x98\xb2\x05\xb1\x7f\x87\x7d\x14\xed\x76\xea\x26\x58\x98\x52\xca\x3c\x3f\xdf\x95\x94\x81\xf4\x9f\x9b\xf3\xa9\x1b\x88\xa7\x70\x3f\xf5\x8a\x11\xc8\x01\xd5\x31\xf5\xe8\x82\xea\xd8\x3c\x45\x38\x95\x96\xc7\xd7\xc3\x01\x02\x45\xc7\x7d\xee\xcf\x14\x57\x95\xc8\x3d\xc8\x4e\x07\x7e\x38\xc0\x2c\x9e\xdb\x5e\xf7\x9f\xe1\x34\x7a\xdd\xec\x06\x7a\x38\x40\x60\x18\x6e\xbb\xfb\x73\x05\x5b\xb5\x63\xf1\xd4\x1b\xde\x70\x21\x57\x2d\xd7\x40\x5b\x9e\xd7\xc0\x2b\xae\x44\x8c\x47\xcf\x4e\x24\x68\x5d\x22\x26\xa0\x67\x17\x2e\x37\x46\x14\x3d\x70\x91\x18\x1b\xef\x0e\x20\x9c\x6d\x91\x98\x67\xeb\xdd\x3d\xe3\x3c\x19\xdd\x64\x0b\x57\x25\x26\x9c\x97\x07\xa6\xff\x1c\x13\x66\x74\x83\xf1\x54\x39\x33\x7a\x05\x09\xb4\xf7\xe9\x98\x7a\xdc\xfa\x74\x6c\x82\x1c\x39\x1e\xad\x8a\xfb\x0f\xa4\xb8\x4f\xe7\x1b\x69\x42\xd2\xdb\x6a\x7d\xc9\x3f\x1f\x7e\xfa\xb4\xbd\xf9\xdb\x6f\xa0\x76\xf5\x7f\x8e\xa3\x9c\x1c\x7e\xfb\x30\xbe\x7a\x77\x71\xf2\xf9\xfc\xe2\xea\xf3\x74\x7c\x75\xb0\x39\xba\x38\x3d\x39\x3e\xd8\xde\x84\x49\xc0\xe8\x16\x45\x56\xa7\x61\xb3\xf4\x61\xb9\x2a\xc8\x45\x29\x7c\xf9\xb1\x41\xc5\x14\xfd\xfd\xb4\x89\x89\xfc\x4a\xbb\xe0\x64\x18\x50\x94\x2c\x2c\x02\x49\x2b\x55\x15\x9c\x24\x7a\x30\x5f\xc8\xa8\x2f\x6f\xcc\xe3\x7c\xb9\x88\x1e\xcf\x21\x2d\xb6\xeb\x16\x24\x9f\x65\xf1\xb2\x64\x6b\x6c\xb1\x53\xb5\x88\x66\x33\x92\xe7\x53\xb2\x20\xb3\x22\xcd\x8c\x8d\x76\xab\x46\x69\x3c\x9f\x75\xe6\xcc\x45\x3c\x9f\xe9\xcd\x19\x0a\x9d\x52\x1b\x35\x56\x8d\x63\x55\x1f\x8a\x41\x30\x73\xa6\xe7\x61\xdc\xd0\x74\xe2\xc0\x0d\x18\x18\x95\xa1\xaf\x9c\x94\xca\x08\xbc\x73\x72\xd2\xab\xaf\xe4\x9d\x01\x69\x8b\x5e\x7d\x25\xcf\x01\xc8\x5a\x1c\x31\xea\xcb\x0b\xb6\x69\x2a\xdd\xcf\x69\x26\xbc\x8c\x3f\xaf\xd2\x66\x9b\xac\x9a\x26\xf8\x0b\x38\xd2\x95\x2e\x84\x55\x46\x31\xf2\x6b\x8e\x99\x09\x43\x6e\xdf\x54\x5a\x05\xbd\x7e\x43\x6b\xa2\xe1\x12\x4e\xdf\x86\xd2\x45\x4d\x9b\x1d\xba\x0d\xa7\x8d\x9a\x66\xbb\x65\x33\xd6\xb4\xec\xd6\x51\xfe\x9d\x80\x4d\x9d\x6d\xc9\x2b\xa2\x83\x89\xc9\x93\x10\x52\x9e\x76\x46\xbb\xa3\xbd\xd1\xd6\xd6\xe8\x85\x7b\xee\x13\xcf\xc4\xdf\x36\xcd\x6f\x29\x16\x7b\x35\xd3\x54\xb5\x61\xcf\x16\x31\x49\x8a\xd3\x39\x70\xd3\xae\x3f\x9f\x92\x59\x46\x0a\xe0\xae\x9d\xcf\xd2\x25\xc9\x2d\xaa\xe2\xed\x50\x55\xf1\x46\xd1\x6a\x6e\xd3\x76\x97\x69\xbb\x58\xa4\xbf\x93\xf9\x84\xcc\xe3\x8c\xcc\x8a\xeb\x2c\xb6\x21\xb5\x47\x93\xca\xe3\xbb\x24\x4e\xee\x8e\x16\x77\x36\x24\xb6\xe8\x02\x7f\xa5\xc1\x33\x4b\xbf\x92\xec\xf1\x3a\x5b\x18\xb1\xdb\x6f\x6d\xa4\xba\xc9\x71\x74\x49\x1e\x2c\x38\xbf\xa0\x19\xcf\x16\x51\xfc\xf0\x21\x5a\x2e\xe3\xe4\x2e\xff\x10\x2d\x3b\xe3\xe6\x98\xfb\xc3\xda\xfa\xfa\xdf\x53\x5a\xdb\x1a\x8f\xe2\xe0\xd3\x6f\xa3\x45\x9c\x0b\xdf\x77\x84\xce\x24\x7f\xd4\x10\xf3\x6c\x15\xc9\xf7\x28\xff\xa6\x51\xc5\xc8\x66\x6b\x31\x6d\x9e\x16\x46\x92\x89\xd4\xd0\x96\xd2\x71\xb3\x6e\x00\xad\xa5\x63\x6a\xdd\x80\x98\x4b\xd1\x7c\x3e\xad\xd6\x0d\x88\xa5\x14\xcd\xe7\x47\xab\x39\xff\xe9\x9e\xea\x53\x71\x55\xe0\x5a\x6e\x6d\xa9\x44\xea\x57\x01\xae\xc9\xbe\xda\x4a\xec\xe6\x3c\xd7\xe4\x85\x82\xc9\x09\x33\xe7\xb9\x46\x2f\x0f\x9a\xfd\x54\x9c\x6d\x82\x79\xb7\xc6\xa5\x4e\x6d\x7c\x88\x96\xa2\x0a\x95\x7f\x1c\xb1\x93\x82\xda\xbe\x7a\xf1\x40\xdf\x94\x8b\xd3\xe8\x87\x1f\xaa\x6b\xa9\xeb\x8c\xe0\xaf\x5a\xc1\xe5\x4b\xc5\xb3\x15\xde\x87\x29\xcb\x99\x04\x81\xed\x59\x9d\xa1\x84\x37\x6a\x75\xd4\x21\x96\x6d\xb7\x6e\x40\xad\x5b\x66\xe5\x80\x9a\xb7\xd3\xce\xe6\xd0\x26\x7f\x4a\xad\xdc\xc6\xe0\x80\x34\xdc\x65\x1a\xca\xad\x0d\x08\x9d\x3d\x46\x76\xd6\xd4\x80\xb4\xdf\xe2\xfd\x81\x7e\xcd\xd1\x20\xb6\x2f\x6d\xd4\x59\x1a\x10\xc6\x2f\xd8\x91\xe2\x66\xf5\xf7\x9b\xa5\xc1\x9f\x56\xb3\xbe\x22\xb4\xb6\x5e\x92\x4a\x79\xfd\x59\x7b\x49\xcd\xe2\x5a\x95\xa8\xe9\x42\x89\x0c\xfa\xa8\x17\x48\xba\xd4\x80\x85\x7a\xe5\x55\x28\xa7\x95\x82\x9a\x2f\x61\xea\x20\xe8\x16\x29\x09\x6b\xaf\x05\x11\x00\xdd\xae\x67\x7d\x98\xda\x08\x80\xae\xf3\xec\x5d\xca\x24\xb8\x75\xbf\x5f\xbf\x1c\xaa\x0a\x6b\x1f\x1e\xd2\x76\x5b\xc6\xd6\x5c\x52\x78\xc7\x5c\x52\x58\xcd\xb5\x33\xf4\x5c\xeb\x09\xef\x98\xea\x09\xab\x79\xd7\x8f\x0c\xe9\xa0\xee\xde\x19\xea\xf7\x13\xd7\x8e\x52\x5b\x8b\xc3\x98\x6a\x5f\x1a\xd2\x8e\xa9\xc8\xd4\x3c\xa2\xbb\xc8\x11\x2d\x79\xba\x8e\xe7\x2e\x72\x3c\x35\x20\xb7\xa3\xd9\x6d\xf1\x98\xb1\x94\xef\xf6\x0e\x43\xab\x7d\xb3\x49\x3f\xb4\x26\x19\xcc\x23\xbd\x87\x1d\x69\x51\x04\xd7\x81\xdf\xc3\x0e\x3c\x78\x44\x3a\x3d\x50\x58\x6c\x08\xb5\xe0\x8c\x37\x97\x9a\xf0\xd0\xf3\x54\xc9\xf2\xad\x62\x0e\x28\x0b\x0f\xa8\x0b\xaf\x5f\xc4\x7b\xde\xce\x95\xe1\x8d\xa5\xe1\x4d\x4b\xb9\x11\xfc\x6e\x3d\xe7\x6c\x6c\xc4\x88\xd3\xd6\xb6\x9b\xa5\xb2\x8f\xb1\x54\xe4\xec\xed\x2c\x95\x7d\x84\xa5\x22\xfa\x0d\x0e\x3a\xff\x02\xdf\x7d\x09\x7b\xb3\xd6\xbf\x40\x2a\x3d\xcb\xdd\x55\xef\x5f\x20\xd5\x1e\x34\x04\xad\xe6\x4b\xfc\x3c\x84\xf2\xf3\xde\x95\x1e\xfc\x3b\x52\x7c\x88\x96\x54\xcf\x5f\x8e\x48\x15\x75\x41\x74\x5e\x2d\x01\xdb\x75\x69\xc8\xac\x26\xb1\xb6\x5e\x9d\xaa\xb8\x62\x20\xf3\x32\x2d\x71\x78\x85\xc7\x41\x2f\x85\x80\x85\x3c\x0a\xe7\x80\x07\x03\xc5\x79\xf4\xe0\x58\xc9\xce\xc2\x51\x65\xe6\x3f\xcb\x31\x94\x7f\xca\xaf\x78\xed\x71\x6b\x70\xcf\x94\x5f\xeb\x44\xc6\xa1\x7c\x52\xb6\xcb\xfd\x69\xb1\x5b\x97\x77\x5c\xbb\x2c\x63\x6c\xd7\x65\xc3\x43\xc3\xaa\x2e\xb3\x87\xdd\x6e\xbd\xde\x75\xec\xb5\x8a\xb7\x5d\xc7\x0d\x6f\xef\xaa\x3a\x7e\x11\xcf\x67\x1e\x73\x2e\xf9\x1c\x94\x6d\x6d\x7e\xa2\x0a\x11\x56\x28\x05\x0e\x55\x8e\x9e\xe4\x39\xf1\x4d\x97\x74\x3d\x07\xf0\xaa\xc5\x53\x01\x5f\xbb\xfd\x56\x69\x10\xe6\x3c\x4d\x29\xfd\xfb\x28\x57\x50\x37\x3c\x38\xbe\x89\xc8\x3d\x2c\x07\xcd\x5f\xfe\x21\x47\xcd\x22\xaf\x41\xd1\x52\x5e\xcc\x25\x68\x16\xe2\x97\x38\x31\x67\x4b\xec\x8c\x36\xbd\xd4\x7d\xe1\xba\x1d\xec\x90\x9b\xe5\x63\x3c\x6e\x32\x89\x05\x3f\xe2\x86\x53\xfa\x93\xe7\x02\xd6\x4f\x01\xd6\xdf\xff\x1c\x27\x73\x0f\xd9\x72\xca\xb9\x19\xe2\x84\x91\x63\xe6\xf7\x80\x11\x46\xfc\x49\x33\xe7\x36\xbf\x3f\xec\x92\xd9\xaa\xf1\xa3\x92\xd9\xaa\xb1\xdd\xd1\x17\xb9\xe6\xba\x58\x92\x38\xfc\x76\x7d\xfe\xf3\xf9\xc5\x2f\xe7\x07\x9b\xa3\xb7\xa7\x57\xef\xae\x5f\x1f\x6c\x8d\xde\x5e\x5c\xbc\x3d\x1b\x1f\x6c\xbb\x8c\x7b\x50\x13\x5c\xa3\x6d\x21\xcd\x70\x5d\x67\x83\x9b\xe2\xba\x3e\x87\x37\xc7\x75\x5d\xaf\xf4\xc7\xd1\x16\xd7\x9a\x1e\xba\x2e\xb3\x4c\xb5\x7d\x2d\xa7\x84\x60\x85\xbb\x17\x05\xc8\x49\x56\xf4\x52\x79\x2b\x80\x23\x27\x6b\x55\x1e\x40\x4f\x42\x75\x65\x32\xea\x5a\x74\x39\x74\x3d\x11\xf0\x7d\x83\x00\x55\x03\xe4\xdd\x09\x58\x3a\x40\xca\x10\x70\x9b\x1c\x28\xa8\x4d\x11\x01\x6b\x92\xc3\x5f\xac\xa4\x6c\x34\x97\x6c\x7e\x73\x22\x3f\xa5\x85\x88\xda\x02\xa6\xe9\x1a\xa6\xc0\x80\x9c\xab\xef\x2a\x03\x56\x5c\x00\x97\x2e\xb9\x79\x6f\x73\xf5\xd2\x6c\x32\xb9\x74\x85\x3b\xb3\x6e\xff\x1c\x24\x28\x60\xaa\x43\x60\x56\x24\xa9\x84\xfe\x4a\x12\x98\x04\x68\xce\x9c\x35\x20\xf5\xa7\xce\xdd\x38\x43\x6a\x14\x98\x18\xdf\x47\xb9\x96\x6d\xc8\x12\x3d\xbc\x6c\xbe\x0a\xf5\x28\xe8\xa2\xf6\x63\x60\xd1\x9e\x3f\xcd\x86\x1c\xbe\x98\x8f\x9c\xa3\xc3\xfa\xeb\xa3\xb0\x8f\x3d\xcd\xbf\x36\x65\xd7\x59\x3b\xcc\xae\x1c\xa8\xf8\x8f\x1d\x9b\x3f\xd7\xbe\x2c\x2b\x0a\xf4\xcc\x36\x66\x59\x99\xa0\x61\x77\x66\x79\xc9\xa0\x21\xb6\x66\x59\x11\xa1\x27\xda\x9b\xdf\x12\xff\x6e\xb2\x94\xa6\xdd\xbb\x24\x83\x3a\xc8\x13\x72\x1b\x74\x4f\x96\xf6\x27\xe4\xbb\x25\xf6\xee\x31\x4c\x44\xab\x17\x4c\x9e\xb9\x63\xcc\x0e\xba\x5d\xdd\xa1\xc1\xf7\x62\xc3\x2c\x0d\xf4\xca\x49\x68\xd7\xd8\x86\x45\xd8\xfd\x97\x1b\x54\xb7\xf7\x4f\x9e\xc2\x31\x66\x05\x37\x3e\x8a\xf2\x84\x9e\xb1\x81\x7b\xa0\xbd\xd7\xc0\xf5\xd9\xec\xbb\xde\xde\x02\xc3\x79\xc3\x7a\x02\x7f\x32\x57\x58\xde\x99\xa1\xf6\x5d\xf8\xab\x61\x7e\x3d\x60\x6b\x82\x7f\xb9\xbf\x4e\x13\x74\x80\x3d\x37\xd4\xfb\x62\xff\x1e\x5e\xaf\x69\x80\x9e\xda\xe5\x35\x2b\xd0\x90\xfb\xed\x50\xce\xae\x89\xed\xd3\xed\xb8\x75\x29\x43\xef\xce\xae\x8a\xac\x75\x01\xdd\x7f\x2b\x97\x57\xd5\xa5\xc0\xe5\x75\xed\x1d\x5f\xb0\xa0\xb6\xa5\x76\xff\x72\x7f\xfd\xed\xc5\xe6\xa9\x1b\xae\x10\x6f\x68\x27\xd8\x92\xcb\x73\xf7\x83\xcd\x43\xf5\x1c\x5c\x61\x88\x42\x05\xdd\x9d\xcd\x02\x04\xda\x9f\xcd\x8c\xf1\x3b\xb4\x92\xf9\x59\x9c\x53\xd2\x86\x7b\x55\x54\xc6\x03\xb9\xcd\xab\xc8\x5a\xbe\x30\xaa\x23\x21\x4f\x4d\xef\x37\x79\xf3\x6b\xa3\x47\xec\xb7\xba\x37\x47\x25\x9b\xbf\xc7\x97\x47\x65\xdd\x0c\xfa\xfe\xa8\x84\x21\xe8\x55\x4a\x90\xa0\x76\x6f\x91\x5a\x92\xfc\x77\x73\xbf\xab\x6a\x0e\x1d\x02\xb8\x37\x4a\xf5\xf3\x38\xd4\x4b\xa5\x32\xae\xfe\xdf\x2b\xb5\xe0\x22\x5b\x18\x7e\x12\x77\x7b\x4f\x6f\x97\xe2\xf6\x7f\xf3\xb0\x89\x32\x43\x2f\x80\x07\x70\xd2\x21\x5a\xa6\x16\x37\xc4\xfb\xa6\x7a\x69\xd8\xd9\x65\x75\x81\xdc\xf2\xad\x53\x0a\x41\xa7\x25\x4f\x69\xc9\x98\x8b\xad\xb0\x0a\xad\xbf\x6d\x5e\x7e\xc2\x66\xa0\x87\x33\x2b\x54\x7c\x3c\x98\x16\x2a\xd2\x96\xe6\x85\x89\xcc\xa0\x26\x86\xe2\x06\x9e\x47\x33\x43\xd5\xdd\xa0\xa6\x86\x82\x29\x68\x6b\x01\x0b\x6c\x67\x72\x38\x90\x1d\xde\xec\xe0\x6e\x0c\x82\x4d\x0f\xf8\x85\x3f\xdf\xe6\x87\x79\xbe\x87\x32\x41\x54\x9c\xfd\x9b\x21\x96\x9c\x86\x35\x45\x60\xb7\xfc\x5c\xbb\x38\xb0\x49\xc2\x8a\x61\x36\x4b\x20\xda\x37\xac\x69\x62\x96\x68\x38\xf3\x84\x43\xd3\x79\x89\xf4\x6b\xa6\x20\xb2\x01\x5a\x01\xaf\x27\x67\xfe\xd2\xf0\x24\x44\xed\xb2\x01\x34\x04\xa4\xa7\x12\x71\xb0\x53\x89\x51\xd6\x57\x5d\x03\x5e\xbc\x4f\xd2\x64\x66\xbe\xa4\x5f\x97\x1a\xf1\x50\x60\x5e\x0e\x57\xc8\x7c\x03\x91\x1d\xe4\x88\x19\x22\xa4\x55\xbe\x81\x1d\xc1\x90\xd7\xf2\x9f\xe1\x91\x07\xa4\x1c\x00\x55\x50\x10\xf8\x34\xd0\x79\xa9\xda\x1e\x2a\x02\x98\x16\x9e\x40\x59\x0e\x12\x9e\xde\xb3\x1c\xe0\x3c\x34\x65\x02\x06\x3f\x5a\xe9\x4a\x0d\xd0\x3a\x01\xad\x62\x5e\x6b\x85\xe1\x79\x1e\x84\x36\x3c\x87\xa3\x1b\xb3\xc6\x86\x4e\xab\xd0\xb2\x0f\x97\x56\xa1\x65\x1b\xf0\xd0\x06\xa0\x14\x94\xae\x86\x29\xab\x00\x18\x74\xa9\x0c\x5e\xab\x2b\x00\x80\xa8\x26\x60\x98\x8a\x67\x00\x08\x38\xee\x2e\x65\xcf\x7c\x19\xb0\xde\xf2\x59\x65\x54\x11\x26\x2c\x28\x1e\xb6\x02\x3c\xb7\xb4\x25\x58\x8d\x8e\x71\x2c\x85\x84\x83\x99\x8d\xf0\x3c\x55\x90\x98\xee\x86\xe3\x13\xc5\xac\x64\x95\x9c\xea\xb7\x77\xdc\x13\x47\xf5\x53\x61\x08\x9b\x2a\x54\xea\xa8\x05\x13\x6d\xa8\xc8\xf0\xd2\xc8\x96\x9d\x9d\x22\x0b\xe8\x38\x57\x57\x36\x95\x35\x02\x8c\x6f\x81\xa8\xad\xbc\x85\x5a\x87\x8f\xd3\x87\xe5\x82\x14\xa4\x95\xd0\x53\x28\x41\x45\xd6\x62\x25\x36\x91\x78\xfe\xe1\x84\xbc\x88\x0a\x60\x38\x01\x18\x7a\xa8\x9f\x0f\x9e\xa5\x73\xf3\xa7\x7b\xbe\xa2\x14\xaa\x71\x08\xb6\xe1\x28\x18\x1a\x97\x34\xb0\xa0\xf0\x2d\xc7\x81\xe4\x5f\xd1\x0a\x0f\xd1\x8a\x69\x39\x73\x80\x4f\x18\x73\x91\x0d\xf5\xcb\x7c\x39\x29\x8e\xd3\xb9\x8f\x20\x88\x79\xd1\x0c\xb1\x65\xab\xb8\xfa\xdd\xb3\x2d\xb9\xfc\xdb\x84\x42\x6a\x95\x83\xbe\x54\x6c\x0c\x9c\x30\x0f\xb7\x55\x6a\xa7\xf9\x78\x4f\x6f\xbd\x98\xd5\xed\x39\xc4\x59\x20\x93\x22\x68\xa4\xc5\x2c\x40\xa0\x58\x8b\x99\x71\xc0\x68\x0b\x48\x39\x82\xc7\x5b\x40\x83\x1f\x3e\xe2\x02\x02\xa3\x9a\xe9\x61\x62\x2e\x20\x18\x38\xfe\x5e\x8b\xcd\x83\x00\x40\x04\x9d\x4c\x05\xe7\x41\x00\xa0\xc2\x4e\x86\xa2\xf3\x20\x00\xca\xf5\xd8\xad\xff\x7b\x3e\xfa\xcf\xb2\xb7\xeb\xfe\x9e\x67\x6f\xcf\x4f\xdc\x4d\x49\x17\xe5\xef\x41\x6e\x93\xc7\x87\xdf\x8a\xf4\x0b\x49\x80\xc5\xd8\x57\x39\xc9\x3a\xb7\xf0\x3a\xaf\x6c\x6c\x8d\x43\x58\x7e\xc1\xb9\x81\xf1\xbc\x7a\xd5\x24\x7f\x9f\xa7\x66\xa6\x3b\x1d\x53\x8b\x46\xbb\xe1\x3c\xb7\xd0\xb1\x42\x15\x47\x07\xdb\x16\x1f\x2f\x74\xa1\x39\x74\x09\xf8\xab\x52\x77\x25\x6e\x94\xbe\x80\x5e\x4e\x32\xe1\x39\x6b\xbd\x0e\x9b\xbd\xba\x6a\x32\xc0\xbc\xb3\x53\x6a\x0a\x00\x9d\xb4\x6b\x66\x0a\x04\x71\xc1\x06\x09\x9b\x2a\xd9\x86\x76\xc2\xec\x43\xa7\x7c\xdd\xfa\x5a\xd5\x4c\x85\xeb\x59\x9f\xad\x5b\x21\x39\x6f\x6d\x5b\xe7\xad\x55\x0a\x67\xf4\xd1\x18\x25\x82\xba\x5d\x9c\x1a\x19\xfc\x2f\x9c\xfa\xb4\x90\x85\x09\x0a\x83\xf4\x97\x17\xc0\x6b\xd9\x7b\x18\x04\x25\xe2\x1e\x1d\xca\x6a\xe9\xda\xc6\x03\xc3\x8a\x05\xf6\x20\xad\xdd\x07\x79\xd2\x9f\x02\x94\xd6\x79\xac\x66\x8d\x8b\xdb\x28\x2b\x7e\xa0\xe0\x65\x78\x90\x07\x3f\xf0\xf4\xfc\x1c\xca\x59\x92\x8d\xb4\x5c\x8e\xc0\x4e\x93\x6a\x26\x60\x21\xb1\x77\x9f\x54\xca\x8f\x07\x65\x17\xe5\x49\xfc\xf7\x8a\xac\xc8\xfb\xf4\xc6\xd3\x79\x11\x4f\xce\xc2\x6f\x50\x35\x55\xb9\x0b\xff\x48\x6f\x3a\x0f\xe0\x7d\x7a\xa3\x77\x00\xde\xa7\x37\x9c\xfd\x4f\xfe\x58\xc6\x19\xc9\x4f\xcd\x76\xfc\xb6\x2f\x3b\x9e\xef\x61\x30\xf3\x9d\x63\x64\xb4\x86\x8c\x82\xc1\x8d\x75\x0b\x52\x4f\x76\xc2\xf2\x3e\xbd\x81\x1f\xab\x94\x9a\x63\xb6\xba\x4b\x05\x84\x1d\xa2\x8c\x5b\xbd\xf3\x60\x3c\xab\x27\x6f\x08\x9b\x99\xe7\xe6\xd7\x54\x06\x52\x87\x9f\x53\xb4\x6b\x82\xcd\x01\x45\x39\xd8\x46\x8b\xb7\x1f\x41\xc3\x99\x84\xd3\xc8\xd5\x92\x7b\x34\xd5\xde\xa7\x37\xfa\xc8\xb3\x4e\x8b\x58\x59\x7c\x45\xf8\xd5\x1c\x2b\xb3\x4c\xde\xff\xd6\x2a\x2b\xc7\xd5\x6c\x94\xa9\x59\xdc\x47\xb9\x9c\x01\x22\x78\xaf\x1d\xce\x4e\x5f\xc2\x84\xec\xb5\xc3\x27\xe1\xed\x12\xa8\xc7\x5b\x17\x7e\xe2\x93\x02\x3d\x27\xfb\x02\x94\x0b\xf8\x8f\xf4\xe6\xd4\xfc\x7a\xa3\xb7\x6c\x40\x41\xba\x01\x8c\x03\x60\x4c\xcf\x2c\x9a\x8b\x79\xf0\x8c\xb2\xfe\xde\x97\x43\xed\x9e\xf7\xa7\x51\xf2\xb0\xdb\x70\x90\x90\x15\x94\xbc\x36\xcb\xaf\x46\xd4\x3d\xcf\x4f\x03\x69\x4b\x3d\x4c\x38\x47\x3b\x96\x3c\xe3\x41\xf3\xfb\xca\x55\x64\xe1\xcf\x51\x13\xe8\xd9\x9c\xf0\xa8\xda\xa2\x57\xd2\xd1\x6d\x9a\xf1\xe9\x73\xaf\xd3\x74\x41\xa2\x44\xea\x98\x7d\xbf\xe5\x65\xf1\x15\x3a\x14\xee\x60\x85\xe3\x64\x0e\x54\x1b\x45\xb3\x38\x48\xb1\xa0\x35\xf4\x01\x4a\xbb\x06\xcb\x5d\xa8\x52\x07\x5a\x07\xea\x4d\xa9\x22\x3e\x4e\x1e\xd4\x33\x2a\xc8\x89\x03\xcf\xce\xf3\x49\x03\x90\x3c\xe4\x84\x01\xb4\x7a\x77\xee\x50\x3d\x1e\x94\xa7\x55\x0d\x96\xc1\xff\xd1\x80\x1f\x76\x81\xd7\x8e\xba\x8f\x05\xde\xb1\xcb\x15\x8a\xa6\x2e\x2b\x97\xc2\xda\x52\xff\x5e\x9f\x60\xa4\xed\x39\xc7\x5f\xdb\x73\x5a\x0c\x1f\x5e\xc2\xc7\x68\x11\xcf\xa3\xc2\x63\x18\x52\x42\xd1\x62\x7f\xd3\xb4\x0e\x14\x8c\x9c\xc7\x79\x74\xb3\x20\x47\x79\x1e\xdf\x25\xee\xdb\x9f\x63\x5c\x52\xd2\xdf\x60\x1b\xa0\xc8\xcb\xb8\x72\x42\xc4\x83\x6f\x82\x76\xd4\xfe\x53\x62\x94\xf4\x06\x7b\x42\x2b\xa3\x87\x8d\x56\x3b\xbd\x43\x6c\xb5\x12\x86\x7e\x37\x5b\x38\x83\x67\x10\xae\x64\x87\xd3\x72\x9f\xd6\x8e\xdd\xf0\xa1\x4a\x83\x2a\x85\x89\x56\x6a\x99\x7a\x0b\x58\x6a\xb9\x84\x88\x59\x9a\x86\x96\xd1\x9b\xa0\x96\x89\x69\x54\x15\x92\x3c\x9d\x8d\xe2\x27\x98\x29\x23\xe9\x6a\xa5\x00\x53\x2c\xbf\x96\x6d\xa0\xf6\xc5\x56\x39\x6c\xa3\xaf\x35\x9b\x38\x4d\xc6\x59\x96\xf6\x49\x97\x1f\xd9\xdf\x57\x0b\x4b\xb2\x31\x2d\xa2\x62\x95\x73\xd6\x4d\x54\x0d\x5c\x39\x84\x50\xd6\x3b\x41\x4c\x9b\xd0\x91\x55\x09\x33\xbb\xbd\x0a\x1f\x5f\xb5\x24\x17\xde\xcb\xaf\x0d\x8b\xda\xc7\xaf\x84\x53\x24\x49\xb6\xaa\x23\xe4\x43\x76\x3a\x65\x36\x70\x78\x95\x54\x65\x41\xd2\xc6\xce\x51\xa7\x9b\xbe\x2d\x9d\x41\x82\xc1\x32\x8e\x01\x6d\x1d\x7c\xf6\x62\xad\x03\xbc\x15\x22\x49\x59\x94\xad\x2f\x92\xec\xc5\x4e\x3d\x8c\x76\x10\x35\xd2\x3c\x7b\x43\x75\x1c\xfd\xb0\xb6\xb2\xa2\xb6\xc8\x2d\x9b\x2d\x52\x16\x9a\xe6\x44\xb0\xdc\x1b\x6d\x2c\x20\x25\x00\xfd\x60\xd9\x9b\x84\xdd\xf4\xd7\x66\xbc\xc1\x50\x90\xc9\xe1\x2b\xb3\x50\x2f\x41\x65\x0c\x9a\xb1\x68\x0d\x43\x5e\xc5\x2d\x8d\x44\x59\x96\xa1\x99\x39\x22\xe1\xd0\xa8\x06\xfd\x14\x43\x4d\x86\x1d\xec\x64\x90\xc9\x61\x39\x23\x0c\xa9\x86\xa5\xe7\x25\x56\x99\xde\x1c\x6d\x6d\x8d\x5e\xfd\xa6\x6f\x96\x26\x24\xbd\xad\x76\xd3\xb2\xcd\xa7\xbd\xcd\xd1\xde\xd6\x68\x6f\x7b\xb4\xb7\x33\xda\xdb\x1d\xed\xed\x8d\xf6\xf6\x47\x7b\x2f\x46\x7b\x2f\x47\x7b\xaf\x46\xfb\x9b\xa3\xfd\xad\xd1\xfe\xf6\x68\x7f\x67\xb4\xbf\x3b\xda\xdf\x1b\xed\xef\x8f\xf6\x5f\x8c\xf6\x5f\x8e\xf6\x5f\x8d\x5e\x6c\x8e\x5e\x6c\xfd\x66\xe0\x77\xb1\x24\x59\xa5\x11\xc7\x51\x4e\x0e\xbf\x5d\x5c\x96\x56\xef\xe9\xc5\xf9\xe7\xf3\x8b\xab\xcf\xd3\xf1\xd5\xc1\xe6\xe8\xfc\xe2\xe2\xf2\x60\x6f\x73\xf4\xfa\xfa\xf4\xec\xe4\x60\x6f\x6b\x74\x79\x3d\x7d\x77\xb0\xb7\x3d\x3a\x19\x5f\x9e\x5d\xfc\x7a\xb0\xb7\x33\x3a\x19\x4f\xaf\x26\xe5\x3f\x77\x47\x93\xf1\xd9\xf8\x68\x3a\x3e\xd8\xdb\x1b\x7d\x3c\x3a\x3b\x3d\x39\xba\x1a\x1f\xec\xed\x8f\x8e\xae\xaf\xde\x1d\xec\xbd\x18\x9d\x5c\x1c\x4f\x0f\xf6\x5e\x8e\x8e\x2f\xce\xdf\x9c\xbe\xfd\x3c\xfd\xf5\xfc\xf8\x60\xef\xd5\x68\xfc\xff\xc6\xc7\x07\xfb\x9b\xa3\xeb\xcb\x83\xfd\xad\xd1\xd9\xc5\xdb\xe9\xc1\xfe\xf6\xe8\xbf\xaf\xc7\xd7\xe3\xcf\x97\x93\x8b\xd2\xfe\x3e\xd8\xdf\x19\x5d\x5e\x9c\x9d\x1d\xec\xef\x8e\xa6\x57\x47\x57\xd7\xd3\xcf\x93\xf1\xe5\xc5\xe4\xea\x60\x7f\xaf\xfc\xc5\xe4\xea\xf3\xd5\xd1\xf4\xe7\x83\xfd\xfd\xd1\xf4\xea\xe2\xb2\xf9\xe1\xc5\xe8\xf4\xfc\xf4\xea\x60\xff\xe5\xe8\x97\xa3\xab\xe3\x77\xcd\x6f\x5f\x8d\x2e\x4f\x2f\xc7\x67\xa7\xe7\xe3\xcf\xd3\xab\xf1\xe5\xc1\x8b\xcd\xb6\x0b\x1d\xb7\x17\x5b\x86\x01\x66\x74\x9b\x85\x51\xa7\xde\xb3\xf4\x61\xb9\x2a\xc8\x45\x39\xce\xe5\xc7\x66\xa7\x97\xd1\x89\x4f\x9b\x98\x82\xa2\xac\xdc\x4e\x7e\x09\x17\x9e\x34\xf9\x21\xf4\xe7\x2a\xbf\x83\x77\x3a\x94\xe7\x7f\x79\x9c\xdc\x2d\x48\xf1\xff\xb1\xf7\xae\x4d\x71\x24\xb9\xc2\xf0\xf7\xf9\x15\xcf\xf8\xc3\x06\xc4\x53\xe1\xa0\xb9\x19\xb3\xaf\xcf\x06\x06\xc6\x83\x17\x1b\x0e\xe0\x99\x78\xc3\xe1\x70\x14\xdd\x85\xe9\x75\xd3\xd5\xdb\xd5\xcc\xac\x63\x76\xff\xfb\x13\x75\xcf\xbb\xa4\x4c\x65\x35\x3e\x67\x3e\xcd\xd0\xae\x92\x54\x29\xa5\xa4\xd4\x2d\xf3\x39\x22\x63\x78\x50\xbd\x31\xc9\x16\xd9\x7c\x52\x5c\xcc\xab\x09\xe6\xa5\x76\x7b\x55\xfa\x10\xc6\xa1\xbd\xcd\xfe\x4e\x46\x5b\x9b\x9b\x7f\xab\xb5\xed\x61\xde\x43\x38\x9a\xcd\xf2\xdf\x7f\x4a\xa7\xb3\xc7\x65\x46\x81\x36\x12\xa1\xa5\x8b\xc5\x6c\x3a\xae\x24\xa5\x9f\x5b\xd2\xff\x86\x18\x5c\xd2\x3f\xac\x9c\xa3\x7e\xcf\x97\x5f\x8b\x45\x3a\xce\x3a\xc0\xbf\xb6\xbf\xc0\x60\xbb\x47\x15\xa0\xab\x74\x59\x7e\xd3\xe3\x7c\x2e\x74\xd4\xdd\x08\x3f\xc2\xa0\xeb\xe7\x14\xb8\xf9\x7c\x92\x3d\xa4\xf3\x89\x02\xf9\x42\xfa\x19\x86\x7d\x31\x3f\x11\x9e\x3f\xce\xe7\x77\xd3\x2f\x4e\x4c\x37\x69\xf1\xd5\x82\xad\xfc\x27\x38\x32\x5f\x3e\x75\xf1\x5b\xb6\x5c\x4e\x27\xea\x5a\xcd\xd2\xdb\x6c\x56\xbc\x4b\x17\x1d\x82\xf3\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\xe3\x8d\x31\x3f\xfc\xf8\x29\x99\xa4\xab\xf4\x3a\x7f\x5c\x0a\x8c\x3b\xe9\x7e\x82\x09\xea\x9f\x55\xb3\x06\xdd\x3f\xb4\xf4\x4a\xb4\x9d\x18\xff\xd9\x45\x68\x8b\xf6\xe7\xf1\xac\x17\xb1\xfe\x37\x37\xa9\x3f\x8f\x67\x0a\x7d\xbf\xa5\xcb\x69\x69\x84\xe1\xcb\x05\x7e\x11\x9f\x74\x5d\x2d\xd0\x3e\x28\x5e\x2a\x90\xcc\xf3\xbc\xff\xea\xf7\x79\xbe\x80\xd7\xb4\x7c\x4a\xa1\xf6\xf6\x71\x3a\xeb\x47\x0d\xbd\x2e\xff\x82\xe1\x54\x8f\x5d\xa8\xa0\x16\x8f\xc5\x7d\x07\xe9\xf2\xb1\xb8\x87\x01\x95\x4f\x69\x70\x26\xd9\x62\x96\x7f\xeb\x19\x5a\xfd\x89\x10\x98\xea\x39\x03\xb4\x62\xb5\x94\xc0\x55\x7f\x63\xe0\x55\x0f\x6a\x00\x97\xd9\x2c\x4b\x8b\x5e\xa8\xaf\xea\xbf\x61\x80\xcd\x83\x1a\xc0\x26\xd6\x94\xa9\x41\x26\x04\xc8\xf6\x49\x0d\x66\xfa\xb8\xba\x97\x06\x48\xc1\xb0\xca\xa7\xf4\xd5\xcb\xc7\x45\xbf\x74\xf9\xb8\x40\xac\x5b\x3e\x2e\x34\x38\xe3\x4a\x85\x5d\x7f\x9b\x8f\x3b\x68\xc7\xdd\x4f\x30\xcc\xfe\x59\x0d\x72\xf6\xaf\xac\x87\x79\xfa\xaf\x0c\x01\xad\x7c\x4a\x83\xf3\xd8\x6f\xa6\x0f\x88\xad\xf4\x61\xa1\x41\x98\xe5\x5f\xfa\xb5\x3a\xcf\xbf\x20\xd6\xaa\x7c\x4a\x83\xf3\xcf\xc7\xec\x31\xbb\x5c\xe6\xe5\x2f\x1d\xbc\xff\x16\x7e\x84\xe1\x8a\x4f\xeb\xfb\x34\x9f\xf5\x8a\xee\x32\x9f\x01\x1a\xae\xda\xa7\xf9\x6c\xa6\xc1\x29\xaa\xb3\xeb\x55\xb6\xc8\x97\x3d\x9d\xd7\xc2\x8f\x30\x5c\xf1\x69\x13\xfc\xe5\x4a\x32\x6c\xd7\xed\x2f\x28\xc8\xf5\xa3\xe7\xe9\xe3\x7c\xac\x0b\x76\xb1\xca\x17\x0a\xec\xfa\x07\x0c\xe8\xfa\x49\x0b\xe4\xe9\x7c\xda\x2f\xc7\xd9\x7c\x8a\x58\x86\xf2\x29\x0d\xce\xef\xe9\x6a\x7c\x2f\x91\xf8\x6b\xfb\x0b\x0c\xb1\x7b\x54\xe7\xfe\x74\x91\xcd\xa6\xf3\xec\x7a\x95\xf5\x12\x7f\x29\xfc\x88\x90\x06\xe1\x69\x9b\xbe\x55\xe5\xf7\x44\xfa\x19\xad\x7d\x6d\x32\x8c\x1b\x4e\x37\xda\xda\x4a\xb6\xda\x48\x7c\xa6\x3a\x65\x47\xd2\xcf\x58\x87\xef\x4c\x9d\xac\x57\x6d\xd7\x9b\xe9\x43\x26\xef\xd5\xf2\x97\x0a\x66\xf1\xbc\xfc\xdf\x62\x95\x3e\x68\x4a\xba\x22\x40\x7a\xf5\xa8\xfb\x09\x7a\x77\xfc\x55\x7e\xb1\xfe\x1b\x78\x6b\xdc\x74\xe8\x49\xaf\x1e\x0b\x3f\x02\xef\xf7\xbe\xd7\x55\x76\x67\x70\xb9\xae\xb2\x3b\x92\x67\x57\x2e\xab\xd9\x7b\xfa\x69\x3a\x4f\x67\xbf\xa4\xb3\x47\xd9\xbb\xfb\xc5\xf8\xcf\x9a\x77\x07\x7b\x52\x3d\x80\xee\xbd\xca\x19\xac\x0d\x95\x62\xa4\xb0\x06\x4a\x35\x4d\x52\xea\x08\x4c\x18\x2d\xab\xe0\xb4\xe0\x57\x94\x7f\x62\xdc\x8a\xf2\x39\x95\xd1\x55\xd9\x93\xcc\xe6\xee\x27\x80\xc9\x75\x8f\xa0\xf4\xee\x69\xf7\x13\xf0\xee\x4a\xd4\x57\xb0\xaa\x2a\xf9\x5f\x3e\x65\xd1\x51\x9a\x7e\x82\xa1\x89\xba\xc9\x71\xcf\xb7\x67\x62\xcd\x58\x72\xc2\x95\x48\x7b\x9b\xdf\x82\x99\x0f\xa0\xe6\x05\x4a\x94\x01\xaf\x0f\x5d\xfe\xaa\xd5\xbe\x1e\xd8\x26\x2a\xf6\x01\x12\xe5\x8d\xd1\x96\xe9\x95\x74\x32\x39\x69\xe3\x1b\xea\x0b\x23\xe8\x05\x31\x20\x42\x1d\x6e\xa2\x84\x32\xf0\x73\x4e\xd4\x18\x08\x62\x90\xa5\x10\x5e\xd1\x73\x7e\x20\x95\x5d\x64\x84\x46\x63\x1f\x50\x81\x29\xec\xe3\x34\xfa\x98\x15\x90\xbe\xda\xda\xd2\x88\x6b\x42\x32\x30\x65\x52\xa4\x47\x95\x0f\x14\x93\x4d\x11\x1a\x1a\xb1\xc6\x18\x0f\x4c\xba\x12\x4a\x52\x89\xdf\x83\x88\x57\x83\x3d\x78\xa2\xb5\x30\x11\x95\xd8\xca\x1e\xe8\xa3\x4e\x33\x25\xa4\xa4\x51\xb4\xa1\x5c\xac\xf5\xfc\x5d\xba\xd0\x91\x97\xff\x98\xc8\x4a\x57\x88\x09\xf7\xfb\x1d\xf5\xcc\xfc\x71\x36\x4b\x9e\x3d\xab\xca\xaa\x37\x25\x8a\xf7\x31\x0b\xdc\xbb\x38\xb4\xe5\x15\x5c\x23\x78\x71\x85\x68\x9a\xbc\xa8\x2f\xda\x45\xb5\xc5\xc2\x9e\xf6\x0a\xc3\x1b\xf0\xe7\xf1\x0c\xbf\xae\x3f\x8f\x67\x18\x5d\x25\x04\xfc\xe4\xd5\x7c\x09\x51\xd3\xfa\x94\x78\x92\x3a\x2f\x14\xbe\xdd\xb1\x8b\x11\xaa\x1b\x67\x0b\x23\x87\xef\xf3\x7c\x41\x93\xc0\x2a\x44\x08\x2f\x57\x15\x6f\x54\x28\x1a\x61\x28\x6a\x42\x87\x34\xa2\xda\x78\x23\x4c\x57\x1d\xc0\x54\x08\x03\xe5\xa9\x0f\x45\xd2\xe8\x6a\xc2\x97\x30\x59\x55\x34\x54\xa1\x0a\xb4\xd2\x62\x50\x93\xa8\x46\xda\x50\x28\x42\x89\xd4\xd1\x55\x85\x36\xd0\x42\x4b\x01\x52\x2a\x71\x6d\x5c\x15\x43\x5d\x1d\xac\x55\xc8\x43\x19\xb9\x2e\xdc\x4a\x23\xaf\x8f\xd2\xc2\xe4\xb5\xa1\x5f\x85\x3c\x94\x89\xe8\x43\xb7\x34\xfa\x84\x90\x2f\xba\x36\x4c\xa3\xf0\x05\x86\xc2\x3a\x20\x4c\xa3\xae\x09\x22\xe3\xc6\xb0\xab\x54\x1d\xa0\xa4\xae\x0a\x2f\x13\x45\xae\x0e\x49\x23\xe4\x2d\x1f\x6b\x8a\x16\xd4\xff\x6a\x80\x9a\x46\x9b\x14\xda\x86\x29\x14\xa2\xe6\x32\x9d\xfb\x28\x83\x50\x87\xbe\x69\x14\x36\xe1\x72\x98\xb6\x2a\xfa\xae\x50\x85\x32\x0a\x1f\x16\x54\x9a\xaa\xf0\x3b\x62\x2c\xa4\x6a\xa4\xf6\x51\xb6\xa0\x0e\xcb\xd3\x28\x6a\x42\xf9\x30\x4d\x55\x66\x40\xa1\x0a\x65\x0b\xe4\xa0\x3e\x8d\x3a\x25\x21\x00\x53\x29\xe5\x1b\x14\x6a\x51\xd6\xa1\x4e\x19\x10\xed\x69\x9d\x66\x40\xd8\xd3\x7c\xa6\xba\x69\xfb\x28\xa3\x20\x27\x1c\x68\xd4\x29\xc9\x0a\x98\x4a\x29\x17\xa2\x50\x8b\xb2\x11\x5a\x12\x83\x4c\xb0\x92\x03\x41\xd1\xdc\xa4\x58\x14\x82\x51\x26\x43\x4d\x8d\x50\xe9\x55\x12\x2b\x18\x72\x9b\xac\x8d\x42\x2d\xca\x94\xd4\x69\x17\x1a\x8d\x4d\xaa\x06\xa6\xac\xca\xfc\x28\x54\xa1\x4c\x89\x90\xba\xa1\x91\x26\xe6\x7c\x30\x07\x9e\x36\x99\xa4\x1c\x1e\x51\x76\x44\x4e\x01\x11\x77\xb9\x9c\x3e\x42\xec\x76\x31\x3b\xa5\x50\x8b\xb2\x2f\x6a\x32\xc9\xcb\x61\xa5\x68\x4f\x25\xdb\xa5\x86\x2c\xfb\x98\xe5\xe9\xfc\xf1\xc1\x75\x6d\xcc\x68\x0b\xfc\x40\x31\x35\xe5\x13\x2e\x3b\x43\xdd\x9a\x23\xe7\xca\x54\x22\x5b\xab\x2a\x24\x06\x34\x52\xc4\xa4\x01\xd2\xfe\x54\x09\x07\x15\xd7\x0e\x3b\x2e\x21\xe9\xa6\x22\xdb\xe5\x47\xd6\x24\xea\x54\x4c\x7b\xec\x98\xa4\xbc\x9e\x1a\x27\x44\xed\x72\x39\x53\xe7\x1d\xca\x2a\x65\x8d\x12\xce\xba\xca\xee\x34\x7a\x77\x0e\xbb\x0e\x09\x73\x06\x70\xad\x31\xad\x06\x2b\x2d\xef\xe8\x58\x92\xe4\xd9\xb3\x04\x15\x73\x12\xe0\x69\x61\xb4\x11\x4a\x37\x52\x43\xd7\x42\xb6\x13\x7b\x5a\xd1\x64\x7d\x9f\xb1\xfd\xc9\xd4\xf4\x34\xda\x42\x79\x2b\x75\xe6\x94\x1a\x1e\xa8\xb2\xad\x98\xd8\x40\x95\xbe\x55\x09\x3b\xe0\xdf\xe6\x7d\x5e\x57\x45\xf6\x92\x1d\x99\x90\x08\x56\x77\x28\x2a\xab\x53\x3a\x1c\x34\x23\x55\xa5\x87\x31\x19\x1d\xcd\x93\x19\x8d\x40\x29\x50\x33\xc6\x34\xd2\xa4\x5c\x33\xde\x8d\x61\x68\xb9\x93\xeb\xdd\x63\xb4\xd8\x39\x9a\xec\x3d\x5b\xea\x1c\x10\x31\x2d\x74\x84\xd9\x3c\x62\xb6\xd8\xf1\xce\x81\xf8\xce\x89\x58\x50\x6f\x7c\xab\x2d\x80\x6f\x31\x6e\x19\x5f\x57\xab\xe9\x51\xa0\x0c\x8d\x80\x6a\xf1\x3c\xe5\x0a\x03\x35\x97\x6c\x6d\x12\x94\x51\xca\x65\xf5\x0a\xc2\x1d\x08\x61\x9f\x18\x46\xa2\xd3\xaa\xed\x15\x8c\xbb\x10\xc6\x26\xdb\x8b\x44\x67\x28\xc1\x57\x87\x4e\x8c\xc0\x55\x35\xe6\x6c\xbd\x08\xe8\x6a\x63\x34\x22\xf6\xa0\xd9\x17\x52\x0e\x16\x6c\x00\xed\x13\xab\x3f\x6e\x95\xf8\xf2\xea\xc7\x4a\x22\x37\x36\x4b\x99\xcc\x55\x18\x1b\x7b\x82\x4b\x54\x83\x13\x94\x8d\xb0\x83\x50\x0f\xa9\xcb\xa0\xf4\x00\x28\x9f\xbf\x0f\x7d\xbc\xe0\x56\xc2\x33\x40\xcc\xe9\x4f\xf4\x3a\xbc\x88\xb9\x0e\x6a\x87\x81\x2a\x07\x4e\x59\xfc\x79\x3c\x83\x3f\x5f\x69\x2f\x70\xe8\xa1\x16\xe9\x4b\x17\xce\xce\xe5\x44\xca\x7b\xd7\x92\xa0\x7c\xd9\xde\x16\xc4\xe3\x2a\x07\x89\xc4\xd2\x77\x2c\xa8\x68\xc0\x19\x32\x6d\x56\x11\x89\xa9\xeb\x68\x50\x11\x39\x39\x25\xa4\x09\x91\x78\x84\x7e\x07\x15\x93\x53\x09\x4b\x89\x3f\x34\xae\xbe\x19\x42\x45\xe6\xd4\xbf\x72\x22\x0f\x89\x4d\xec\x94\x50\xb1\x81\x5a\xaf\xcf\xcb\x21\xb1\x49\x5d\x14\x2a\x3a\x50\xcf\x08\x69\x36\x24\xbe\xae\xcb\x42\xc5\xf5\x02\xc2\xd5\x24\xcd\xb0\x3c\x6b\xbb\x30\x54\x3c\x07\x20\xc3\xea\x34\x18\x12\x8f\xd2\x9f\xa1\x62\x73\xea\x0a\x2d\xb1\x85\xc4\xd9\xf5\x6f\xa8\x66\x01\xd4\x19\x4d\x92\x0a\x89\xe7\x83\x51\x33\xed\x83\x2a\xa3\x4a\x3b\x21\x71\x74\x1d\x20\x2a\x16\x50\x5f\x34\xa9\x24\x24\x1e\xad\x33\x44\xc5\x07\x6a\x0d\x25\x39\x84\xd5\x87\x6d\xe7\x88\x8a\x0f\x54\x1c\x4d\x9a\x07\x89\x47\xeb\x28\x51\xf1\x81\xaa\x43\x49\xdc\xe0\xf1\x0a\xcd\x26\x2a\x52\x50\x81\xe8\xc9\x17\x34\x5e\xa1\x11\x45\x45\x0b\xea\x12\x2d\x87\x82\xc4\xda\x35\xaa\xa8\x18\x41\xad\xd2\x64\x44\xb0\x87\x0c\xa9\x87\x45\x45\x06\x2a\x15\x31\xc7\x81\x95\x53\xb5\xb7\x45\x41\xfa\x02\xd4\x2d\x4a\xc2\x82\x66\x5b\x1d\x3b\xf3\x05\xa8\x6f\xb4\xd4\x83\x15\xf7\xd6\x8f\xaf\x5e\xa9\x97\x81\x77\x08\xab\x2c\xc3\x68\x6b\xcb\x70\xcc\xd4\x7b\x60\x54\x47\x74\x0b\xbc\xdc\xbc\xcb\x23\x50\x34\x56\xd7\x4c\xa0\xe1\x2b\xf5\xa3\x18\x95\xc2\xda\x5f\xb9\x75\x46\x03\xbb\xe3\x09\x56\x68\xac\xd1\x60\xee\xfa\xc1\xd4\x3a\x6e\x34\xc0\x7b\x7e\x80\xf5\x4e\x1c\xed\x78\x09\x4a\xbb\x12\xb8\x47\x1f\x33\x94\x80\x3c\xfa\x94\x35\x1a\xed\xf0\x9c\xb3\xbc\x82\xf0\x24\x67\xc8\xbc\xa2\xe0\x2e\xa6\xc5\x09\xac\x83\x9f\x46\x5b\xfb\xa8\xd1\x4f\xaa\xd3\xdd\xb5\x11\x69\xf0\x40\x6b\xd2\x44\xbb\xb1\x8b\x24\x77\x18\x69\xe8\x0e\xfc\x84\x5a\x69\x3e\xd2\xc0\xbe\xf4\x03\x6b\x8f\xc0\x80\x91\xa7\x2a\x26\x4d\x34\x3f\x66\x54\x4e\x0e\x68\x31\x66\x1b\x4a\x20\xea\x5a\x5f\xd9\xfe\xc7\x87\xf7\x7f\x7f\x7f\xf1\xeb\xfb\xc3\xad\x7a\xfe\xcc\xc9\xe1\x28\xf9\xf5\xe8\xec\xe6\xec\xfd\x9b\xc3\xed\xe4\xea\xc3\xfb\xf7\xe5\xff\xed\x24\xa7\x57\x57\x17\x57\x87\xbb\xc9\xf5\x87\xe3\xe3\xd3\xeb\xeb\xc3\xbd\xb0\xb1\x2c\x52\xb4\xaa\xdf\xb1\xde\x33\x5a\x6c\x83\x2a\x30\x03\x5b\x8c\xef\xda\xa6\xb7\xcc\x2a\x0f\xea\x6c\x7e\x97\x0b\x73\x2f\xda\x9f\xdc\x8d\x68\xbd\x03\x56\x3e\xab\xb6\xae\x7e\x9d\x2e\xba\xb1\x3a\x83\x4f\xbd\x86\x9b\x38\x18\xdb\xd9\x24\x4c\xa8\x94\x03\xb6\xbf\x04\xd3\xe8\x86\x85\xb5\xb6\x69\xd7\xb2\x98\xe0\x07\x5f\x2b\xe2\x85\x28\x39\xec\xe5\x16\x33\x0a\xfb\x5a\x94\x50\xa6\x6c\x95\x45\x0d\xc4\x4a\x5d\x61\x62\xe4\x01\x79\x2c\x0c\x78\xfc\x10\x6c\x45\xad\x50\x66\x61\x2b\xa2\x00\x3a\x6b\x32\x6b\x89\x63\xb1\x1d\x7c\x94\xbe\x82\x71\x36\xb6\xfc\x7d\xee\xd1\xce\x4e\x31\x33\x92\xc7\x35\x2b\xdb\x81\xb9\x1a\x8e\xe8\x5c\x9a\x76\x2e\xa2\x20\x05\xf0\x48\x44\x07\xc6\xfb\xb4\x70\xe2\x0b\x18\x9e\xed\x16\x00\x49\xb6\xa2\x8e\xce\x76\x73\xda\x42\xc7\xa0\x83\xb3\x05\xe7\x99\xc1\xe7\xd1\x5b\xfc\x31\xde\x8e\xf2\x96\xd1\xcf\x59\xbe\xfa\xc3\x7f\x02\x94\x71\xf2\x80\xe7\x14\x28\x23\xac\xa0\x49\x50\x46\x88\xa1\xc3\x9b\x8c\x40\x19\x06\x38\x19\xe1\x7a\x0e\x71\x32\x2f\xa5\xdf\x20\x27\xf3\x70\x09\xae\x61\x4e\x46\xe8\xe4\x41\x4c\x46\x28\xcc\x43\x94\xcc\xa2\xee\x37\x48\xc9\x08\x8b\x79\x98\x92\x0d\x07\xc3\x40\x25\x23\x68\xcf\xa1\x47\x46\x58\x3c\x83\x8f\xcc\x1c\xe3\x1d\x7e\xe4\xc4\x71\xac\xef\x92\x4b\xed\x9f\xf0\xf8\x80\x5d\xb3\xa8\xe5\xf4\x44\x99\x76\x77\x29\xfd\x8c\xc0\x26\x3d\x6f\xc2\x24\x1d\x42\x97\xd6\x43\xe8\x12\x3a\x84\xda\x0a\x29\x39\x8f\x9f\x35\x0e\xd4\x81\x01\xae\xeb\xc4\x1c\x39\x61\x28\xeb\xbc\x5a\x49\xb4\xda\xb4\x6b\x96\x44\x73\xef\xd7\x84\x8d\xee\xc1\xf6\x29\xca\x15\x1c\x08\xaf\x5e\x6c\x42\x2b\xb6\x0f\x79\x92\x3f\xe2\xd9\x92\x8d\xea\xb9\x93\x9c\x14\xaf\xb6\x67\x42\x79\xb3\xb1\xf5\x99\xd2\xf9\xec\x43\xa6\xe2\x2f\x79\x77\x40\xa3\xda\xef\x7a\x67\x8a\xde\x04\x8d\x26\xd0\xd0\x08\x8d\x2a\x5e\xef\xbd\x33\x7a\x2f\x34\x5e\x14\xf5\x7e\x68\x54\x67\x9d\x6a\xac\x7c\x5b\xa2\xd1\x84\x5a\xdb\xa2\x51\x2d\x77\xad\x0f\x49\xed\x41\x46\x93\xa7\xf5\x21\xe3\xfa\x6f\x74\x0f\xd4\xbf\xeb\x17\x4d\xab\xa3\xf3\x17\xd7\x51\xd2\xfb\xb8\xf4\xee\x5f\xbc\x16\xd7\x3b\x80\xe1\xb9\x31\x66\x2f\xd9\xbf\x0b\x18\x4d\xad\xa3\x13\x78\x84\x32\x3e\x8a\xf7\xed\xd9\x07\x4c\xa1\xd7\xd8\x05\x0c\x37\x79\xc8\x9e\x3d\xbd\xb7\x16\x4d\xa2\xa1\xbf\x16\x37\xfc\x4a\x39\x21\x78\xf6\xd8\xa2\xe9\xb4\xf5\xd9\x8e\x50\x26\x48\x3f\x6d\xf8\xf7\xda\xe2\xf7\x96\xbd\xdf\x16\x6e\xa9\x71\x9d\x59\xfc\x68\xf7\x30\x07\x86\x83\x96\xf2\x1d\x28\x33\x66\x3a\x0d\x11\xbf\xc1\x74\x9e\x42\xd0\x2f\x1f\xdb\x78\x52\x30\x5a\x3c\x32\x56\xf2\xc5\x5d\x35\x10\x90\x76\x71\x03\xc6\x27\x5c\xac\x45\xe3\xb8\x9a\x71\x5a\x55\x84\xad\x6e\x1c\x55\x36\x4e\x43\x65\x2f\x1d\x47\x56\x8e\xd3\xd0\x39\xea\xb9\xc1\x1a\x50\xf9\xbc\xc1\x51\xd2\x8d\xad\xe8\xa6\xa1\xb4\x55\x75\x83\xf5\x9f\xc2\x21\x20\xb0\xb0\x1b\xac\xd2\x11\x5c\x7a\x96\xda\x6e\xb0\xe4\x53\xd3\xc8\x41\x65\xd7\x60\xd1\x67\xe7\x68\x33\x55\x44\xc3\x35\x70\x06\xc7\x39\xb0\x2a\x1a\xae\x12\x13\xdc\x5f\xa6\xca\x68\x77\x0f\x91\xc5\x99\xe5\xa8\x8e\x1e\x81\xea\x46\x75\x49\x03\xab\x94\xdd\x25\x5b\x8a\x6f\xc9\x51\xa9\x0c\x77\xe9\xa9\x9e\x22\x53\xb5\xf2\x08\x54\x3c\x06\x97\x8f\x88\xdb\xad\x1d\xdc\x35\x6b\x4e\xc7\x0d\x4b\x87\x1e\xb4\x56\x69\x00\x55\x94\xd1\xf1\xf2\xac\x9f\xd3\x1c\xa7\xd6\x85\xe0\xbd\x04\x5c\x74\x2e\xe0\x3c\xbc\xc1\x9b\x53\x89\xe2\x2c\x6f\xd0\xd0\x55\x85\x0d\xb6\x55\x68\x6b\x1a\x6a\x47\x0b\x57\xce\xa0\x61\xb8\x4f\x0b\x1b\xfc\xc0\x1a\x06\x13\x43\x4b\x6f\x8b\x99\x9f\x42\x38\xdb\x79\xc3\xa4\x8d\x9d\x32\x49\x5c\x97\x79\xda\xb9\x69\x59\x82\x96\x99\x95\x23\xeb\xcf\x4b\x0b\xf4\x80\x9b\x39\x6d\xac\xac\x7d\x59\x66\x66\x4a\xe1\xff\x1d\x1f\x76\xaa\x64\xa1\x19\x8a\xb8\x95\xd3\xcc\x50\xeb\x42\xb4\x2c\x6d\x0e\x0c\xfe\x4c\xb5\x62\x70\xb3\x95\xbe\x7e\xfd\x71\x83\x99\xaf\x72\xce\x64\xd7\x87\xb1\x1a\x61\x68\xce\xee\xfa\x72\xd6\xbe\x16\x2d\x6b\xdb\xc3\x99\x3f\x6f\xed\x38\xdc\xcc\xa5\xaf\xa1\x70\xb4\x63\xe6\xae\x92\x6b\xda\xf3\x61\xaf\x4e\x1a\x9a\xbf\x7b\xbe\xfc\x75\x2c\x87\x72\x8f\x72\x08\x87\x1d\x58\xdc\x2c\xa6\xaf\x63\x73\x94\x66\x66\xaf\x90\xa1\xdb\xf7\x61\xad\x4c\x12\x9a\xad\xfb\xbe\x6c\xb5\x2c\x41\xcb\xd2\x2a\xd8\xe0\xcf\x4e\x0b\x74\x37\x2b\xe9\xeb\xd6\x84\x2a\xb8\xed\x6b\x9f\xcf\x7c\xe1\x65\x5d\x25\x92\xd0\xac\x7c\xe1\x6d\x5b\xcd\x4b\xd0\x59\xd6\x7c\x5c\x84\xd8\x55\x33\x74\x37\x2b\xe9\xeb\x26\x85\x82\x98\x19\xaa\x05\xff\x0f\x7c\xd8\x6a\x22\x0f\xcd\xdc\x03\x5f\xe6\x3a\x17\xa5\x65\xb1\x70\x4c\xf6\x67\xb4\x13\x93\x9b\xdd\xf4\xf5\xac\x42\x70\xcc\x6c\xee\x72\xe7\x2f\x7d\xd8\x2b\x92\x83\x66\xeb\x4b\x5f\xb6\x1a\x3f\xbe\x65\xe7\x87\x45\x00\x1b\x8d\x90\xdd\xec\xa3\xaf\x97\x12\xda\x64\x66\xa4\xa1\xd8\x60\x44\x5f\x8b\xc2\x46\x23\x3e\x18\xb1\xe5\xcb\x5e\x60\x71\x5a\x46\x4b\xe1\x61\x7f\x96\x03\xd8\x80\x10\x05\x1d\x65\x13\x5c\xe6\x8e\x51\xf4\xc5\x1a\x23\xaf\x98\x93\x4c\x13\x9e\xcb\xde\x31\x27\xcb\x22\x74\x51\x8a\x7c\x36\x0b\x89\x52\x98\xa1\x03\xdc\xf4\x8a\x38\x89\xc1\x77\x66\xae\x1a\x8a\x5c\x46\x5e\x21\x28\x33\x8d\x78\x2e\x7b\xc7\xa2\x80\xc5\x69\xb9\x2d\xa5\x40\xfc\xb9\x0e\x60\x03\xb8\xef\x15\xa4\xea\x32\x20\xfc\xac\x97\x2a\x85\x46\x5e\xb1\x2a\x03\x75\x78\xa6\x7b\xc7\xab\x5c\x6b\x22\x70\xbc\x49\x3c\x05\xb1\xdb\x8a\x07\xe0\xb5\x57\xe4\xea\x6c\x3e\xe5\xde\xe1\x42\x8d\xd5\xc8\x2b\x68\x25\xd3\x84\x67\xae\x77\xc8\xca\xb2\x08\x2d\x5f\xab\xd4\x9e\x3f\x4b\x2d\xd0\x01\x6e\x7a\x85\xaa\xba\xcc\x1e\x33\x4b\xd5\xc2\xb4\x91\x57\xb4\xca\x40\x1d\x9e\xb9\xde\xf1\x2a\xd7\x9a\xb4\x1c\xee\x13\xaa\xfe\x6c\x76\xe1\x01\x78\xed\x15\xb3\x12\x93\xa9\xdc\x9e\x97\x5e\xda\x37\xf2\x0a\x62\x99\x69\xc4\x33\xdd\x3b\x9a\x05\x2c\x4e\xe7\x91\x89\x29\xed\x00\xcf\xcc\x8d\x0d\xe0\xbe\x57\x98\x4b\x4f\x64\x47\x92\x01\x2d\x56\x32\xf2\x8a\x81\xb9\xe8\xc5\xcb\x83\x77\x48\x0c\xb5\x5c\xaa\x54\xb0\x44\x51\x50\x98\x01\x09\xf1\x8a\x9e\xc9\x65\x06\xdc\xd2\x61\x2a\x3f\x1d\x79\x85\xd1\x6c\x74\xe2\xa5\xc2\x3b\x96\x06\x2e\x51\x27\x11\x72\xd9\x47\x80\x34\x40\x18\x01\x49\x38\x08\x6c\xfc\x6f\xe6\x7d\xf5\x34\x79\x37\xfe\x37\x90\x88\x8d\xff\xca\x5b\xc6\xba\xd8\x3f\x8a\x6a\xc4\xdb\xa1\xbe\x08\xf2\xe0\xa1\x51\xb2\x25\xb7\x7c\xe6\xd6\x96\xcf\x1c\x6a\xf9\xb4\x5d\x1b\xc2\xd9\xf2\x59\xe3\x40\x95\x29\xc3\xb7\x98\x60\x5a\x3e\x61\x28\x3e\x2d\x9f\xd3\xbb\x8d\xd1\xab\x57\xaf\x4c\x2d\x9f\xe2\x75\xfa\xf5\xf5\x51\xf5\x65\xfa\xdd\x55\xd0\xff\xc9\x66\x45\xf6\x7f\xa4\x12\xf1\x1f\x90\x25\xe2\x9a\xe4\xc6\x2a\x11\x77\x8f\xc4\x0b\x28\x11\x77\x03\x36\x6d\x85\x1f\xa4\xd1\x99\xda\x64\xfa\x7a\x76\x26\x3c\x18\xa7\x41\x5c\x03\x10\x87\xad\xfd\x74\x76\x7e\x7a\x38\x4a\xae\x4f\xaf\x7e\x39\xbd\x3a\xdc\x4e\xde\x5e\xbc\x3e\xdc\xa1\xf2\xa1\x23\x0d\x32\x31\xe6\x81\x2a\xd5\x2e\x26\xb3\x5e\x43\xe9\x1c\xa1\x52\x2e\x14\xad\xa6\x4c\x98\x34\x99\xcf\xb3\xfc\xae\x92\xfe\xe2\xf3\xab\x8f\x1f\x47\xc9\x76\xb2\xf3\xe9\x13\xfa\xf5\xfa\x3f\xc7\x69\x91\xbd\xfa\xe3\xfa\xe2\xc3\xd5\xf1\xe9\xe7\xf7\x17\x37\x9f\xaf\x4f\x6f\x0e\xb7\x92\xf3\x8b\xe3\xa3\xf3\xc3\x51\xf2\xe6\xec\xe6\x70\x3b\xb9\x3a\x7d\x77\x71\x73\x0a\x72\x40\x00\x6e\xe0\xc2\x31\x54\x87\x32\xce\x1f\x16\x8f\xab\xec\xa2\xfc\xac\xf2\x61\x4c\x02\xd4\xbc\x1a\x1f\xb7\x3e\x05\x9a\x23\xe3\xa7\x78\x9b\x24\x01\x1a\xd1\x2c\x19\xde\xb4\xcd\xa4\x99\xe5\xe3\xb4\x1f\xad\x71\x5e\xfe\x05\xcf\x2e\xa8\x1e\x53\xc6\x22\x7c\x11\xc6\x52\xbc\xc1\x4c\xa5\x78\x33\xd5\x47\xc6\x3c\xe4\x2b\x71\x62\x4c\xf9\x27\x66\x60\x4c\xf9\x5c\x9c\xd9\x09\xc2\x4a\x46\x35\xa6\x3d\x1e\x94\x52\x77\x91\x45\x33\xaa\x38\x48\x6b\x9d\xa5\x50\x49\x1b\x6d\x8a\x42\x2d\xa0\x98\x1b\x82\x4b\x79\xf7\x98\x9f\xf0\x66\x4a\x6c\x4f\x2b\xa5\x1d\xa6\xe7\x8d\xd6\x69\x89\xea\x59\xad\x77\x00\x75\x0c\x41\xb5\x6b\x30\xf3\x07\xaa\x6d\xc8\xd3\x19\x67\xd4\x90\xb1\x5c\x1f\xf8\x06\x9b\x00\xf7\x07\x06\x4e\x18\x4b\xd8\xa9\x5d\x6a\x97\x5c\x2d\xe8\xc8\x6a\xff\x37\xe6\x96\x0e\xb0\x77\xa5\x94\x5d\x74\xa3\x5a\xa7\xb3\xa9\x7d\x71\x8d\x40\x7a\x76\x0e\x28\xb3\xb4\x75\x2f\x87\xe0\xe3\x54\x93\xd6\xb3\xbb\xda\xc9\xb9\x3a\xfd\x49\xf0\x70\x5a\x67\xb3\xf1\x71\x68\x44\x49\xee\x4d\x8b\x20\x9e\x6f\xa3\xae\x03\xab\x7f\x23\x7f\x0f\x87\x8f\x53\x42\xf4\xf7\x73\xc4\xb7\x6d\xbe\xce\xe3\xfc\xeb\x3c\xff\x7d\xde\x0f\x3d\xab\xff\xae\x3d\x8c\xe7\xa7\x0f\x8b\xd5\x37\x0e\xa7\x46\xf9\x90\x28\xce\x88\xf1\xa2\xd7\x38\x0e\x49\x89\x8b\xaa\x6e\x81\x7b\x68\x89\x8e\x09\x00\x2d\xba\x73\x52\x8b\x86\xee\x81\x34\x22\x83\x18\x4a\xd2\x08\x9a\x9f\xa3\x41\xbf\x11\xb8\x95\x42\xa2\xc3\xc1\x65\xd9\x65\xdd\x30\x80\x75\x77\xdc\x9e\xc0\x63\xe1\x1d\x08\xf0\x56\x5e\x54\x37\x26\x3b\xdf\x88\xd3\x00\xc6\xdc\x75\xdb\x44\x80\x49\x6b\x3e\xd0\x23\x36\x5f\x7f\x3a\xdc\x4e\xe6\x10\x32\x1d\xbb\x25\x86\x52\x59\x53\x53\x67\x5e\x80\x5d\x25\x45\x60\x64\xca\xeb\x72\x49\xeb\xca\x75\x35\x93\x8d\xf0\xe0\x62\xf5\x56\x6c\xf7\x69\x61\xc7\x15\xd8\xeb\xe7\x12\x8d\x37\xec\x65\x19\xad\x62\x04\x4b\x82\x5c\x32\xf3\x06\x51\x99\x61\x91\x97\xed\x75\xca\x8b\x79\x39\x5b\x59\x79\x83\xae\xef\x70\xc9\x89\x19\x47\x60\x13\xa1\x2d\xd8\x57\x9d\x63\x98\x25\xa4\x82\x49\x12\x5b\x49\x36\x14\x92\x62\x69\x93\x10\xc9\x50\xa4\xc2\xb6\x88\xdd\xdc\xf3\xea\x98\x49\x96\x0c\x49\x2a\x6c\x38\xf8\x74\x47\x7c\xbd\xe1\x29\xa6\x43\xe9\x0b\x46\x89\x88\xa0\x27\xd6\xa7\x23\xea\x00\x01\x7b\x53\x6a\x15\x3a\x03\x8b\x0d\x6d\x12\xa1\x12\x45\x13\x8a\x9d\x75\x08\x85\x75\x1d\xfb\x86\xd6\x2a\x88\x13\x26\x1a\x56\x2c\x70\xbf\x72\x48\x88\xa2\x0e\x88\x31\x44\x26\xb4\x1c\x07\x26\x20\x21\xbf\x64\x2e\x07\xc0\xe7\xf8\x7f\xf0\x89\x71\x73\x06\x01\xea\xc8\x3b\x7e\xb5\x02\x8f\xfc\x20\x10\x9f\x93\xbe\x7e\xc4\x4f\xbc\x12\xf6\xaa\x60\xc5\x3a\xd6\x3a\x23\xba\x01\xa7\x59\x27\x5c\x65\x61\x43\x6f\xe3\xa8\x02\xb9\x0c\x7b\x50\xcf\xec\xe1\x6e\xe3\x90\xde\x32\x46\x03\xa7\xaf\xfe\x98\x64\xc5\x78\x39\x5d\xac\xb4\xbb\xc1\x8c\xb5\x39\xcf\x9e\x55\xd1\xc0\x2b\x39\x45\xf9\x66\x8a\xce\x52\xea\xe9\xce\xfa\xce\x8d\x8b\xf9\xf1\x7d\x3a\xff\x92\x61\xef\x27\xdb\xe1\xbc\x9f\xcc\x96\x04\xe2\x1d\x0d\x5f\xe2\x40\x8e\x33\x84\x72\x52\xb8\xd1\xf0\x10\x94\x98\x11\xc3\x3a\x50\x57\x5f\xa3\xd9\x16\x0c\x9d\xf4\xa2\xf6\xb4\x92\x8d\x6a\x6e\xaf\x4b\x39\xea\x57\x95\x9d\x48\xd2\xca\x36\x28\x53\x51\x15\xf1\x06\x65\xba\x92\x4b\x41\x83\x32\x5d\x80\x1d\xc1\xc1\xbf\x0a\xb7\x17\x77\xc2\xb1\xb9\xf9\x7c\x56\x5d\xe1\xfa\x5f\x5b\x5d\x64\xaf\x11\xa5\x91\x7e\xa5\xb0\xac\x7d\x58\xb3\x7a\xf2\x9c\xcb\x8e\xeb\xea\x35\x66\x3b\x70\xb5\x96\xc6\x62\xf9\x93\x7d\xab\xac\x9e\x3d\x23\x23\x2e\x2c\x88\x9d\xb5\x56\xf5\xea\x53\x27\x78\xe9\x9f\xdc\xf1\x6a\x1d\xc7\x59\xd3\x52\x18\x08\xe2\x9d\x7b\xa5\xa0\x6c\xcf\xa3\xe0\xe9\xa3\x97\x6a\x6c\x5d\xb2\x82\xa9\x3e\x97\x7a\x9e\x3f\xe8\x6b\xa9\xed\x12\x88\xc3\xce\x0b\xd9\x76\x10\x17\xb2\x99\x25\xdb\x4c\x02\xf1\x2e\x36\x44\x43\x61\xa9\x37\x94\xf4\xfa\x6e\xb2\x07\xa5\xd7\xcb\xb7\x8e\x1e\x57\xf7\x75\x52\xfd\xe8\xc3\xcd\xcf\x42\x56\xfd\xf5\xd1\xf5\xd9\xf1\xe1\x6e\x72\x7d\xfd\xf3\xe1\x1e\x02\xbd\xb4\xf8\x1d\x54\xe6\x4c\xba\xfa\x9d\xe1\xe9\x73\x99\x74\x6f\xaf\x58\xf1\x24\x31\x2e\xb1\xf8\x8a\xcd\x1f\x7e\x5c\xce\x90\x7e\xf0\x32\xbb\x03\x9f\xdc\xae\x9e\x5c\xa4\xab\x7b\xf0\xd1\x9d\xea\xd1\xe9\x97\x79\xbe\xcc\x6a\xf1\x2d\x2e\x1e\x57\xc5\x74\x92\x5d\x6a\xaf\xdb\xfd\xe2\xd1\x56\xb9\x73\x92\x65\x36\x7e\x5c\x16\xd9\xf5\xe3\xed\x43\x3e\x79\x9c\x65\x05\xfc\x4d\xa3\x64\x6b\x33\xb9\x4d\x8b\x69\x7f\x7d\xd4\xeb\xf2\x2f\x9c\x4f\x5f\x3d\xaa\x5e\xff\x25\x5c\xcc\x77\x8d\xb9\x97\xaf\x04\x74\x7d\xfd\xb3\xa3\x6c\x20\xc0\xc9\x37\x7a\x83\x9c\x1e\xfe\x9b\x29\xee\xe6\x27\xc0\x2d\xc5\xf8\xf6\x00\x88\xa1\x1d\xfb\x0f\x4b\x53\xf5\xa0\xfc\x64\x5b\x45\x77\x67\x75\xb3\xe5\x27\x4b\xa1\x37\xdd\x61\xa2\xbb\xe4\x67\x96\x2d\x63\xba\x4b\xa4\x7e\xfb\xc3\x74\xbe\xda\xd9\xee\x69\x52\xf6\x8a\xcf\x4d\x48\xdd\x1e\xa0\x1f\x51\xea\xad\x83\xb8\xe5\xaa\xda\x8d\x1e\xf7\x1f\x35\xdb\x8a\x4e\x59\xb9\x17\x11\x77\x77\x88\xd7\x5b\x05\x9d\x83\x64\xcb\x10\xeb\x10\xe4\xf0\xf8\x03\x4e\x40\x0e\xa8\x98\xe3\x4f\xb9\x85\xa0\x63\x4f\x5f\x5d\x78\xe7\x7a\x76\x5b\x7c\xb6\xda\x08\x8e\x87\x77\xc4\x87\xad\x3b\x49\x3d\xf0\x8c\xb6\xca\xd7\xc4\x3e\x16\x7d\x13\x09\xef\x34\xfb\x6d\x64\x38\xbc\xf5\x26\x86\x3a\xd0\xbf\xdf\x3a\xd8\x09\xe2\xe6\x6b\x11\xc0\xc1\xda\xed\x4e\xb0\x97\x8a\x84\x7a\x43\xf5\x67\x30\xf9\x44\x9a\x25\xc6\x7a\x46\xf2\x8b\xe6\xa8\xfd\x63\x91\x2d\xe7\xe9\x03\xa6\x8d\xaf\x76\x7c\x8a\xe2\xf7\x7c\x39\xc1\xf9\x49\x5c\x6d\x7f\x0e\xa5\xca\x6c\xef\x6b\x34\x68\xad\x03\x6a\x7a\xac\xed\x07\x01\x0d\xee\x01\x34\x72\x81\x74\x03\x2e\x1b\xb9\x60\xb4\x1b\xea\x1e\x8a\x69\x3d\x9c\x6a\x27\xd0\x86\x38\x61\xa3\x2c\x49\xcb\x0a\xac\x39\xe9\x98\x01\xd8\x14\x0f\x26\x08\xe4\xc4\x8b\x70\x99\xb9\x6f\x40\xcc\x1e\xe1\xb2\x7c\x72\xbb\xa0\x7e\x9f\xbc\xed\xff\xc9\x3a\x62\xda\x27\x87\x5f\x41\xdf\xda\x4a\x26\x5b\xa6\x1c\x06\xb1\x96\x4c\x7c\xcd\x6c\xc7\x16\xcb\xe9\x6f\xe9\x2a\xfb\x7b\xf6\xed\x32\x7b\x38\x6c\x6e\x2e\x16\x7e\xfa\x9c\x16\xaf\xf7\x77\x37\xa8\x16\x2c\x29\xed\x23\xee\xa4\xcf\x69\xec\x8c\x7e\x3a\xb7\xa9\xbb\xbe\xfe\x19\xad\x20\x81\x83\x03\xd6\xcc\x01\x60\xe2\x1b\xb9\xd7\xdf\x56\xa5\x27\xfb\x43\xb3\x69\x04\x01\xf1\x36\x74\xce\x43\x6f\xa9\xb3\x18\x6d\xa2\xbc\x13\x63\x5a\x44\x87\x7f\x1c\x68\x0f\x1d\x90\x31\xd6\x50\xdd\xd5\x1f\x0e\x8c\x66\xae\x66\xb4\x97\x59\x4c\x44\xc3\x0b\x1d\xb5\xc8\x4c\x53\x3f\x21\xae\x19\x75\xe3\xae\x95\xa2\x93\x82\xdb\x72\x1d\x8f\x2a\xdd\x59\x25\x32\x54\x10\x1b\x9b\x2c\x64\x7c\x38\xc0\x50\xf1\xe1\x80\x8f\x08\x75\xff\x63\x53\x0b\x25\x25\x74\xa7\x42\x5f\x80\x41\x5c\x0a\xfd\x93\x59\x1c\x0a\xfa\xe7\x96\x5b\xc9\xef\x53\x77\x7c\x3f\x55\x46\x49\xfb\xcc\x1d\x16\xbf\x89\xa9\x97\xd0\xd0\x7b\x87\xf5\x9b\xc0\xee\xc1\xe9\xab\x3f\xc6\xf9\xc3\xc3\x74\x85\x3c\xff\xaf\xa6\x0f\x59\xb1\x4a\x1f\x16\x5d\x1e\xe0\xa6\xfd\xa5\x0a\xc5\x14\xcf\xbb\xbf\x95\xdc\x41\x8d\xa6\xc1\xe1\xe1\x51\x05\x26\x0a\xa2\x37\x16\x36\x48\xd0\x06\x96\xa1\x95\x10\x01\x66\xe8\xb0\xc1\x71\xc5\x65\x4b\x31\x90\x20\x1c\x5a\xe8\x5a\x14\x1c\x38\x42\xdd\x0b\x1d\xce\x0d\x3b\x16\x85\x8f\xd1\x1f\x1b\xa6\x23\x10\x68\x6d\x0b\xf4\xc7\xfc\x7a\x00\xff\xda\x5f\x04\x5a\x71\x9c\x56\xe1\x23\x2b\x0d\x43\x85\x8f\x28\x0e\x60\x31\x8f\xcc\xdd\x70\x87\x4d\xeb\xf2\xaa\x11\xc4\xf5\xd4\xb4\x1e\x2e\x15\x69\x94\x60\x87\xf6\xa9\xdd\xb2\xd3\xeb\x79\xc4\xed\x0d\x96\x9b\x18\x3f\xd9\x80\x9c\xb3\x76\x47\xc7\x59\x15\xef\xb8\x3e\xb9\x2d\xde\xe9\x05\x16\x57\xbc\xa3\xa3\xba\x4f\x0b\x17\xa2\xc0\xea\x1d\x87\xd8\x36\x10\xe3\x7a\x5f\x16\xe9\xd5\x70\xfb\xb8\x61\xb4\xb2\x99\x0f\x4b\xb0\xdf\x2e\x6c\xa3\xca\x4e\xe6\x12\x6e\xa5\x0b\xdb\xa1\xd2\xc7\x5d\x65\x77\x71\x0f\x0c\xd2\xc7\x49\xd8\xa2\x9c\x13\x94\x23\x11\x7c\xbb\x57\x98\x94\x2a\x47\x21\xc4\xcd\x5d\x8c\x82\x69\xcb\xc5\x06\x95\xd5\xd5\xd5\x41\xd4\x4f\x87\x49\x21\x96\xd7\x61\x6e\x5c\x31\x08\xb3\x92\x61\xf6\xdc\xb7\x88\xd1\x84\x06\xd1\xb6\xe2\x76\x7e\xfa\xd9\x7c\x45\xbc\x82\x44\xfb\xec\x2a\xcc\x1f\xa1\x69\xbc\x2e\x56\x01\xe7\xd1\x6b\x4b\xa1\xd0\x43\x6b\xf4\xdb\x25\xd7\x1a\x52\x57\xac\xbe\x25\xd8\xb2\x66\xad\x79\xae\x8b\x0e\xf0\xa6\x59\x32\xcb\x36\xe0\x81\x77\x54\x6a\x8c\xbf\x66\xbf\x1e\xb8\xad\x03\x02\x07\xd3\x6b\x4c\xbf\x46\xdc\x0b\x6c\x61\xf9\xde\x30\x2c\x37\xaf\x56\x77\x87\x07\xfa\x22\x61\x8d\xdd\x66\xc0\xf0\x6d\x95\x21\xd1\xa0\xf7\x79\xbe\xe0\x08\x05\x55\x70\x88\x71\x20\xe9\x9d\xd0\xd6\x4d\x04\xaa\xa8\x51\x96\x12\x03\xea\xcc\x6c\x26\x85\x16\x5f\x81\x60\xac\xb3\x6d\x53\x91\xa8\x58\xa1\x87\x0a\x0d\x7f\xdc\xc1\x05\x96\xb5\x67\xf3\xc3\xe2\x82\x65\xe3\x55\x70\x88\x1b\x4f\x7a\xc7\x36\xbb\x6d\x59\x5f\x91\x2c\x0c\x87\xad\x2f\x5d\x46\x4c\x87\xad\x1e\xbc\x58\xc4\x99\xc9\x56\x11\x1f\x75\x2b\x97\x18\x50\x32\x68\x26\x85\xb6\x95\x21\x18\x3e\x5b\x19\x9c\xb0\x8e\x68\x21\x6d\x78\x48\x9b\x02\xdb\xb3\x1e\x33\xe5\xb4\x96\xa7\xa0\xa1\xee\xca\x2e\x8a\xa5\x6c\x2a\x34\xfc\xca\xc6\x05\xd6\xb4\x2d\x7f\x50\x47\x7f\xf6\x3b\x92\x3a\xc6\xb4\xe7\x94\xe7\x58\x32\x65\xe5\x63\xdf\x61\x7f\xb1\x80\x47\xda\x68\xc2\x10\x70\x7b\x3d\xe2\xfc\xa4\xa0\x8b\x72\x77\xbd\x82\x23\xe0\xe6\xfa\x51\xa0\xa3\xd8\xde\x85\xcb\x63\xb3\x1a\x58\x64\xbb\xa5\xbc\x67\x76\x1a\x1b\xcb\xf5\x01\xdd\x5e\x95\x2e\x16\x98\x87\xeb\xba\xab\x7a\x88\x00\xe6\x79\xd6\xe2\xab\xee\xdb\x23\x9b\xbe\x1a\x0b\x52\x2b\xda\x48\xa2\x9a\x40\x18\xce\xd0\xe9\xc2\xab\x4e\x86\x90\xe5\x57\x47\x95\x0c\x21\xb3\x7e\x27\xad\x0c\x31\x65\xfc\x0c\x9b\x33\x9e\x29\x6c\x50\xc5\x30\x87\x6e\xd0\x98\xa4\x9f\xc0\x37\x6c\x51\x72\xc3\x39\x6c\xed\x55\xcf\xbb\xb0\x7c\x9e\x81\x67\x12\xfd\xf1\x72\x05\x46\x69\x31\x62\x66\xcf\x1b\x98\x3f\xba\xe6\x40\xbc\xfc\x81\xf9\x83\x55\xac\xec\x79\x04\xf3\xc7\x76\xf2\x13\x2f\xa3\x60\xfe\x5e\x03\xe2\xa1\x6b\x8f\x7e\x49\x67\xd3\x49\xba\xca\x78\x8e\xbe\x02\x34\xa2\x23\x61\x78\x33\x6e\xfc\x49\x40\x18\xd5\x7e\xf7\x78\x50\xca\xdc\x45\x16\xcd\x86\xe3\x20\xad\x33\x2e\x65\x94\xbd\x58\x56\x52\x40\xc6\x6f\x27\x61\xe0\xac\x91\xaa\x16\x1d\x9f\xff\xaf\x40\xf4\xdc\xbc\xa8\xb3\x00\xf7\x06\x1e\xc2\x09\x97\x71\x91\xe4\x8d\xc7\x21\xc7\x43\x7b\x0a\x1b\x7a\x30\xd7\x57\x41\x18\x6f\x63\x93\xdc\xe0\xb0\xcd\x7d\xf4\xb8\xba\xe7\xb1\xc6\x0d\x24\xe2\x66\x56\xde\xb2\x96\x02\xdf\x67\xe3\xaf\x17\xf3\xd9\x37\xf4\x70\x92\x6a\x36\xc9\x38\x7f\x58\xe4\xf3\x6c\xde\xdf\x29\x72\xdc\xfe\xe2\x8e\x63\x5f\x65\x77\xcf\xbb\x47\xe3\x0c\x09\x69\xbe\x3c\xaa\x26\xa9\x71\xa0\x84\xdb\x46\x0e\x4d\x73\xc0\x50\x06\xe8\xa4\xaa\x06\x76\x34\x55\xbf\xad\xdc\x50\xa7\x00\x4a\x02\x80\x1f\x67\x21\xcb\x0d\x1c\x04\xef\xc5\x91\x27\x10\xa0\x6d\xe7\x58\xba\xb0\x41\xc4\xaf\x03\xdd\x80\x51\x75\xbf\x1d\xcf\xb5\x59\x12\x7a\xbd\xaf\xac\x0f\x28\x13\xfd\x64\x56\x7b\x46\xd1\x35\x7e\x89\xf4\x87\xd5\x5f\x21\xca\xaf\x0c\xd2\x62\xc2\x4e\x2d\xb9\x82\x4f\xc6\xc6\xcf\x6e\xd7\x92\x31\x81\x20\xef\x62\xb0\x56\xd5\xb8\x1e\x3a\x59\x9c\x95\xbf\x1a\xca\x2a\x8d\xe0\x5a\x8b\x36\x91\xd0\x4b\x2e\x2e\x95\xa0\x61\xba\x4f\x0b\x17\x9e\xc0\xba\xdf\x12\x5d\xe3\xc7\x2c\xb3\x45\x96\xae\xb2\x49\xf5\x7a\xf1\xf9\xd5\xc7\xd1\xa7\x60\x9f\x85\xef\x30\x22\x40\xf3\xf0\x5d\x90\x09\x89\xf2\xa1\xe2\x7c\x5a\x88\xdd\x4c\xed\x3b\xe5\xcf\x1b\xab\x5e\x51\x56\xcf\x6d\x20\xbc\x87\x06\xb7\x42\x42\x29\x73\x4c\x87\x1e\x01\x49\x74\x37\x85\x70\xd8\x71\x91\x45\x77\x57\xe2\x1c\x72\xc2\x53\xf0\x1a\x87\x69\xa9\x78\x5d\x40\x00\x6f\x24\x9d\x4c\x1a\xf9\x0b\x4b\xc9\x1b\x77\x67\x4c\x37\x24\xda\x71\x0c\x06\x6e\xda\xee\x42\x2a\x42\xd8\xcd\x86\x54\xc1\x55\xa3\x16\xd1\x39\x7b\x9d\xa5\x71\xe6\x44\xe9\x78\x78\xd5\x6c\xb0\xb6\x45\x28\xdd\xa6\x7f\xd4\xef\xf4\x67\x39\xf9\x25\xd5\x29\xb4\x46\x8e\x3d\x87\x6e\xd7\xe7\xd0\xf2\xc5\xd3\xe5\x32\x5f\xf6\xa4\x74\x3f\x55\xb4\xcc\x9f\x5f\xaf\xd2\xd5\x63\xa1\x60\x4c\x1f\x57\xf7\x25\x35\xb3\x6c\x95\x4d\xb0\x38\x77\x2b\x9c\xe5\xab\x32\xca\xa3\xf6\x17\x08\xe3\xf5\xe3\x62\x91\x2f\x09\x18\xf7\x39\x47\xe4\x23\x34\x57\x1c\xe3\xf3\xdc\xcf\x06\xb1\x9b\xa2\xf5\x66\xc3\x9d\x0b\xd6\xed\x0c\xbc\x31\x0a\x3c\x0e\x2b\x49\x77\x71\x1a\xe7\x71\xbf\x1d\x2d\x77\x78\xb7\x32\xae\x1d\xe0\x3b\xe1\x47\xd0\xd4\x6f\x54\x7d\x58\xa7\x4e\xd4\x91\xb8\x63\x2d\x23\x34\x39\xc8\xea\x37\xb3\x8c\x63\xdf\x4a\x55\xb7\xab\x19\x63\x0d\x36\x33\x31\x80\xbd\x1f\xc2\xec\x7b\xd7\x23\xfc\x40\x88\x32\x38\xed\x3e\x1c\x61\x48\xa4\xb8\x47\xb3\x1d\xd4\xc8\xc7\xb6\x21\xf2\x21\x1b\x20\xc3\xe5\xe1\x9d\x34\x82\xa8\x65\xa1\x57\x91\xef\xea\xc8\x65\x53\x64\x18\x93\x49\xc3\xdd\x8b\xb6\x8a\x7b\x1f\x2e\xc4\x70\xc9\x71\xa4\xb8\x44\x1f\x93\x40\xc5\x68\xec\xbb\x2c\x28\x3c\x81\x0c\xd4\xd8\xb0\x47\x8d\x54\xd8\x90\x06\x05\x2d\x82\x16\x5b\xde\x61\x41\xb1\xb9\x6d\x64\x6c\xce\xc5\x77\x13\x29\xc4\x40\x1d\x32\x3c\x05\x2d\x48\xb5\x8f\xe9\x9b\xa3\x33\x82\xe0\x4d\x80\x98\xa5\x50\x88\x40\xef\x01\x44\xbf\x2c\xbc\x07\x5c\xab\xd0\x6d\x82\x5e\xdd\xf2\xec\x02\x17\x52\xf8\xc6\xbf\x10\xae\x4b\xda\x3e\x68\x23\xec\x86\x6f\x04\x0b\x31\xc4\xad\xb0\x1b\xbc\x15\x3a\x8b\x16\xb0\x13\xc0\x6e\x49\xc4\x5a\xf8\x6e\x84\x3d\x86\x8d\xe0\x5a\x83\x76\x1f\xf4\x96\x9f\x65\x1b\xb8\x50\xc2\x9d\x93\xa1\x0c\xef\xfc\x8e\xa0\x5d\xb0\xcf\xb3\x0b\x0c\xc4\x10\x77\xc1\x3e\x49\x06\xa4\xd5\x10\x82\x5d\xd0\x5a\xb4\x71\x2f\x62\x23\x88\xb6\x02\x24\x73\x2e\xad\x96\x91\x58\xcb\x5a\xd9\xa9\xa5\xb9\x4f\x3d\x01\x7d\xa0\x55\x39\x40\x68\xe8\xd3\xc9\xe4\x26\x77\x12\x40\x5d\x32\x4a\x18\x42\xd9\xdc\x6e\x0e\xf7\xed\x2d\x7d\xd0\xf3\x63\xe8\xf5\x3d\xaf\x1f\xa7\xb3\x09\x4f\x75\x4a\x0b\x8a\x18\x74\x54\x5f\x33\xe7\x77\x26\xd3\x22\xbd\x9d\x65\x97\x8f\x05\xfe\xf2\x1c\x2d\x62\x16\x90\xa7\x69\xa9\x8c\x1a\x27\x6b\x90\xa0\x8e\xe9\x56\x82\x68\x31\x31\x04\x98\x28\xb9\x19\xbd\x8e\xe4\xa4\xe7\x70\x58\x76\x44\x17\xe9\x58\xa1\x92\x16\x13\x7f\x80\x04\x80\xec\x4c\x8a\x88\x0b\x69\x2a\xcf\x20\x2f\x9f\x0c\x33\x7a\xc9\x84\x89\x7f\x66\x02\xbc\xaa\x26\x82\xb5\x25\x5f\xc2\x46\x04\xe7\xa3\x35\x31\x49\x9a\xe5\xab\x3f\x6e\xcb\x67\xfb\x6b\xc0\xca\xbf\xdc\xc9\x99\xea\x11\x25\x69\xb1\x78\x14\xee\xff\xea\x64\xcb\x0a\xa2\x7c\x22\x9b\x1c\x2d\x57\xd3\xbb\x74\xec\x2a\xef\x0b\x68\x53\x17\xd7\x20\xbe\x5e\x26\x64\x2e\x9c\x84\x79\xe8\xe7\x27\x9c\xad\xa8\xe8\xc3\x67\x2a\x6a\xc9\x42\xdc\x8e\x55\x09\x29\xb1\xa0\x50\x96\x39\x7c\x45\xa1\x22\xab\x30\x75\x8d\x8d\xe2\x88\xf0\x9b\x35\x4a\x54\x83\x15\x2d\xaa\x8f\x80\x8e\x8f\xe7\xf7\x6a\x8a\x12\xcb\xaf\xe5\x0b\x79\x85\x94\x6a\x21\x51\x35\x89\x8a\xb0\x78\x16\x25\x9a\xd9\xde\x7e\x36\x63\x18\xbc\x82\x07\x1f\xe3\x6c\x62\xa8\xd2\xc3\x19\xf8\x36\xe3\xac\x47\x7e\x59\x56\xa1\x1b\xf9\x55\x09\x07\x2e\xba\x61\x46\x73\x9f\x16\x36\x24\x81\x01\x6e\x2b\x6b\x31\xce\x13\x81\xb3\x8a\xb6\x03\xab\x05\xad\x2c\x46\xf9\x54\x5e\x95\x97\x0e\x0e\x5b\x16\xa3\x65\x70\xb5\x35\x03\xf9\x6b\x41\x01\x17\x5d\x86\x78\x88\x25\x52\x9e\xe3\x74\x03\x89\xe8\x17\x2a\x6f\xc5\x74\x09\xb9\xdc\xb8\x86\xe4\xa8\x1e\x5c\x8d\x03\x65\x23\x6d\xe4\xd0\xfc\x36\x18\xca\xf0\x25\x8f\x91\x7d\xb5\x80\x23\xbb\xb6\x6b\x62\x39\x40\x0d\x22\x7e\xdf\xc7\x0d\x18\x31\x69\x28\x86\xbf\x43\x5d\xf5\xf5\xf9\x1f\x06\x01\x88\xe9\x7a\x68\xe8\xd8\xbd\x0e\x0d\x43\x90\xc3\x11\x6a\x91\xf8\x42\x16\x02\x34\x0f\xcb\x84\x0c\x58\xa4\x8d\x53\xd3\x97\x55\x36\x3f\xac\x3f\xe6\x20\x7c\x45\x74\x83\x45\x88\x38\xb8\xc8\xa2\x1b\xae\xa7\x58\xaf\x2f\x33\x17\x6f\xc5\xc8\x87\xfb\x4e\xd6\x82\x2d\xda\x60\xc7\x7a\x01\x59\x1c\xcb\x46\x3f\xd4\x2b\xd6\x4d\xda\xc0\x14\x03\xc7\x73\xdc\x36\x72\x43\x20\x2b\xde\xb1\x0c\x65\xf9\x8c\xe9\x66\x8d\x34\x6e\x03\x68\x29\x30\xb0\x2f\x49\x57\x5f\xd0\x32\x13\x6f\x0a\x8d\x75\x05\x76\x4c\x71\x2d\x62\x3d\xa5\x87\xe7\x94\xd6\xc1\x22\x5a\x43\xed\xbd\xef\xd0\x16\x76\xdf\x10\xd5\x12\xb6\x58\x50\x9a\xd0\x4e\x12\xcd\x0a\x62\xe0\xfc\x69\x03\xb1\x8b\x18\xdf\x02\x76\xa8\xf8\xed\x1f\x04\xfa\xe9\x5b\x3f\x03\x1f\x9e\x86\xed\x33\x0a\x48\x64\xcb\x67\xc0\x19\xc9\xee\x19\x30\xad\xdf\xea\xf1\x9d\x04\x25\x78\x5e\xd6\x0f\x79\x1a\xac\xa7\xc1\x3e\x88\x4d\x86\x27\xdd\x4f\x6e\x2b\xd8\x3f\x17\xd3\x02\x0e\x71\x1e\x14\x31\x11\x34\x22\xcf\x99\x10\x0b\x6b\x78\x8b\xd8\x33\x18\x6f\x0d\x05\xa1\x80\x2d\xa1\x20\x69\x0c\xb6\x70\xb0\x13\xa1\x84\x2e\x96\x4d\x0c\x3e\x15\x2a\xdb\x98\x62\x19\x05\x26\x06\x59\x45\xd3\xa9\xb0\x87\xcd\x68\x1b\x7b\xa0\x58\xbb\x68\x3a\x15\x9a\x48\xe3\xb7\x8e\xe6\x93\xa1\x73\x59\x5a\x1b\x29\xb0\x94\x62\x25\x4d\xe7\x43\x27\xbe\xb8\xb6\xf2\xf4\x5f\xd9\x98\xe7\x7c\xd8\x40\x22\xda\x47\xe5\x2d\x5b\xf7\xfd\xb4\xb1\x55\x67\x13\xe4\x14\xf6\xd8\xa6\x34\xa0\x25\xbd\xf9\xe4\xa8\x46\xb4\xc6\x81\x52\xa0\x36\x72\x68\x86\x13\x86\x12\x7f\x56\x9b\x3c\x74\xfd\xac\x13\x19\x6a\x75\x95\xa0\xc0\x06\x30\xb5\x1c\xb5\x55\xda\x2e\x8e\x65\x6d\x1b\x44\xfc\x76\xd6\x0d\x18\x33\xa9\x4d\xe0\x37\xed\x96\x66\xb7\x6d\x76\x96\x48\x85\xdb\x66\x8d\x73\xd2\x97\xf8\x4d\xf5\xc6\x8c\x6d\x37\x48\x8c\x11\x2f\xfb\xd0\x76\xd3\x07\xc7\x76\x43\xc0\x8a\x21\xd3\x6a\x04\x39\x20\x88\x92\x21\x0d\x67\x44\xd7\x43\xc3\x15\xe6\x74\x84\x96\x0e\x95\xe4\xf0\x1d\xcf\x05\x68\x1e\xce\x07\xe2\x68\xce\x37\xf8\x59\x40\x18\xdd\xfc\x13\x4e\xd0\x2e\xb2\xe8\x6e\x40\x9c\xd3\x33\xd7\xa0\x67\xa3\xec\xc5\x34\x97\xd1\x8e\xa6\x30\x70\xd6\xe1\xce\xe7\xf9\x97\x82\xe7\xa4\xd0\x40\x22\x6e\x56\xe5\xad\xa7\x7c\x52\x48\x8a\x55\xba\xac\x2e\xd3\xef\x40\x5e\xb7\xbf\x54\x10\x8b\xe7\xdd\x25\xf9\xca\x9b\xb3\xe9\xc3\x74\x05\x52\xbe\x9b\x6c\xb1\x1d\x47\x9a\x75\x8d\xaa\x8f\x6a\x1c\xa8\x2d\x63\x23\x87\xa6\x87\x60\x28\x7f\x1e\x47\x9c\xc7\x11\x69\xf2\x95\x20\xae\x1a\x09\xa2\x28\xc3\xa8\xfa\x6d\x60\x1b\x7f\x75\x36\x5f\xed\x6c\xb7\x93\xa6\xce\xcb\xdd\xc0\x74\x46\xd2\xf4\x57\x2c\xa5\xdf\x20\xe2\x57\xf8\x6e\xc0\xdf\xf1\x19\x49\x41\x26\xeb\x4a\xc3\x2c\x29\x51\xe6\xac\x30\xb7\x7e\x7c\xd5\x41\xac\xe5\x48\x80\x56\x4b\xd9\x2e\xdc\x23\xaa\x49\xcd\x40\xe7\x33\x83\xb4\x0e\x73\x3e\x33\x7d\xf0\xda\xcf\x67\xa6\xd5\x88\x7d\x3e\xd3\x70\x46\x3c\x9f\x69\xb8\xc2\xcf\x67\x64\x26\x77\xbb\x8e\xce\x63\xd1\x3e\x80\xf3\x80\x4c\xbc\x34\xe0\xe6\x1c\xba\x64\x66\xa5\xeb\x83\xbb\x0b\xf8\x3b\x55\xe4\xcf\x48\x17\x9e\xc0\xd9\x4a\x26\x3e\x56\xba\xce\x4f\x31\x55\x6e\x25\x9d\x7b\x0a\x46\xa7\x4a\x3a\x9b\xaf\x68\x93\x92\x4e\xb2\x62\xb5\xac\x8a\x0b\xf2\x79\x96\xdf\x55\xbe\x58\xf1\xf9\xd5\xc7\x8f\xa3\x64\xfb\xd3\x27\xec\xbb\x37\xe9\xf2\x4b\xb6\x3a\x4e\x8b\xec\xd5\x1f\x37\x47\x57\x6f\x4e\x6f\x3e\xbf\xbf\xb8\xf9\x7c\x7d\x7a\x73\xb8\x95\xfc\x7a\x71\xf5\xf7\xeb\xcb\xa3\xe3\xd3\xc3\x51\x72\x72\x7a\x79\x7e\xf1\xff\xbf\x3b\x7d\x7f\x73\xb8\x8d\xa6\x4c\x5a\x7f\x01\x95\x8b\x09\xe3\xfc\x61\xf1\xb8\xca\x2e\xca\x8f\x2a\x1f\x46\x0c\xad\x31\x2f\xc5\xc7\xad\xd0\xc9\x28\xa6\x0f\x09\x28\x96\x68\x81\x91\x2b\x25\xd4\x17\x6d\x65\x12\xbf\xe7\xcb\xaf\xc5\x22\x1d\xf7\xa7\xab\x5f\xdb\x5f\xea\xf3\xda\xf3\xd3\x87\xc5\xea\x9b\x72\xb2\x7a\xd2\xc5\x15\xed\xa7\x47\xae\xac\x68\xd0\x20\x13\xeb\x56\xa2\xa8\x35\x15\x08\x40\xd1\xdb\xfa\x6b\x99\xd0\x6b\x27\x1a\x59\x81\x8f\x2e\xbd\x8c\x7d\x0f\xe7\xb7\xa0\xa3\x92\x49\x21\xc4\xab\xdf\x68\x71\xc5\x28\xde\x00\x60\xe3\x9b\xf4\x65\x0d\x63\xaa\xdf\x68\x04\x09\x79\xc6\x59\x6b\xd2\xc9\x62\xb9\xba\x6f\xf4\xf0\xf2\xeb\xaf\xc7\x14\x7c\x98\x44\xcb\x84\xda\xe2\x46\x54\x06\xd3\x54\xf1\xe1\x67\x3a\x29\x0e\x88\xe2\x3f\xba\x96\xab\xf5\x1f\x7b\xb1\xc1\xd6\x88\xe8\xc8\xee\xd3\xc2\x85\x2a\xb0\x89\xdf\x22\x0b\x6b\x3f\xf2\x59\x04\x85\x70\xea\xb3\x48\xca\xf6\xf0\x92\x12\xab\x9e\xc8\x28\x2b\x6b\xcc\xeb\x35\xb7\x7e\xf3\x38\x92\x3d\x30\xa2\x23\xa9\xbf\x68\xcb\x15\xc4\x08\xfd\x2f\x96\x8f\xf3\x8c\x76\xa1\x47\xf5\xca\x55\xb6\x4a\xa7\x73\x30\xf2\xbf\x93\x6c\x49\x2f\x5c\xfc\x96\x2d\x97\xd3\x09\x1a\xe3\x2e\xe7\xe5\x1a\xfd\x4a\x47\xf5\x5b\x3b\x34\x28\x87\xc2\x41\x14\xcd\x6f\x45\x01\x5a\xdb\x38\xaa\x61\xeb\x81\xe1\xfb\x33\x2e\x4b\x99\x34\xe4\x0f\x0c\x51\xfd\xcb\x5e\x7c\x51\xb7\x60\x5c\xea\xe2\xce\xe4\xe8\x9a\x14\x56\x2c\x47\xb7\xc7\xc5\xef\xe8\x82\xb0\xf1\x8e\x6e\xdc\x4a\xe5\xee\xa2\x85\x5a\x5c\x8c\x37\x4b\x88\x81\x7b\x51\x54\xb4\xf0\xfd\x4e\xf9\xb4\xe1\xc9\x4e\x48\x4c\x77\x47\x78\x48\xc4\x53\x28\x94\x36\x4b\x6a\xf4\x2a\x69\x13\xda\x88\x2e\x8d\x09\x5d\x78\x7d\xb4\x0f\xc3\x2b\x71\x0a\x1a\x00\x8a\xb9\x97\xc1\xc2\x55\x05\x39\xff\x4d\x0c\xae\x8f\xae\xf7\x90\x5f\x00\x79\x07\x0e\x20\xbb\x3e\x59\x45\x4d\x88\x24\x23\xb2\x00\xf0\x47\xb7\x8a\x23\x88\xef\x98\x6b\x08\xe0\x45\xd0\x49\xf1\xba\x84\x80\xc1\x9b\xe7\x2b\xd4\x93\x01\xfa\x79\xf5\xc8\x4e\xba\x65\xfd\x74\xe7\xd6\x37\x6f\x43\xf7\xb4\x57\x0f\xc5\x89\xf1\xca\xf4\x0f\xe1\x2f\x13\x0a\x00\x01\xe2\xbc\xfc\xe6\xa7\xd8\x44\xd7\x90\x86\xf7\x98\x5b\x91\x80\xdd\xe5\x56\xc2\x82\x7a\xe7\x6c\x5b\x2e\xb2\x4f\x1a\xad\x44\x11\x05\x1f\xd1\x3e\x27\x6e\x5f\x8a\x47\xda\xb2\xcf\x33\x4e\x6a\x63\x47\x4f\x11\xa3\x37\xd8\x40\x44\x7b\x2c\xe6\xbb\x28\x14\xaa\x22\xf8\x82\xb6\x0b\x1d\x6c\xeb\xd1\x5f\xe6\x50\xf3\x90\xe4\x09\x9a\xba\xe5\xec\xa8\xe2\xb6\xca\xdd\xa4\xc5\xd7\xcb\xd9\xe3\x97\xe9\xfc\x32\x5d\xa6\x0f\x05\x87\x49\xd4\x60\x12\xad\xa2\xf5\x7d\x73\x1d\xfb\xa2\x7a\xf4\xe6\xdb\x22\x03\x03\x4d\xdb\x55\x71\xec\xfd\x78\x76\x9c\xcf\xef\xa6\x5f\x0e\x2b\x8d\xfb\x73\xfb\xe7\xe7\xb4\x78\xbd\xbf\xbb\x51\x3d\xf0\x53\xbe\x7c\x48\x3d\x6a\x56\x03\xea\xe8\xb5\xcf\x8e\x6a\x4f\x55\x6c\x28\xd5\x0a\x93\x48\xb3\xaa\x14\x78\x31\x82\x52\xdb\x8e\xda\xd6\xcb\x4e\xac\xac\x01\xa0\xd7\xdf\x56\x59\xd1\x06\x74\x3a\x31\xb2\x86\x7f\x4e\xe7\x8f\x0f\xc2\xd3\xb5\x88\x31\x05\x7d\x1c\xfb\x38\x96\x9d\xd5\x50\xf2\x9b\x5a\x2c\x0a\x4c\x99\xa8\xc0\x4f\x47\x99\xe8\xb6\x18\x7e\x11\x35\xc3\x87\x03\xe3\x6b\xb5\x08\xec\xa8\x21\x9e\x9e\xbd\x82\x75\xaf\xf8\x8f\x08\xd7\x38\x78\x29\x7d\x87\xdf\x71\x76\x1b\x51\xa8\xe9\x94\x26\x23\x05\xb4\x92\x4d\xc4\x69\xde\xbd\x08\x1d\x67\x7c\x8f\xf4\x41\x6b\xa0\x1b\x0d\x27\x19\xb7\xa5\x8c\x1c\x55\xb6\xa5\xf2\x1b\xc4\xd7\x37\x36\xf9\xe8\xf8\x70\x80\x21\xe3\xc3\x01\x33\x15\x85\x91\x1d\xee\x93\x7d\x49\x0a\x2d\xd0\x01\x2e\x43\xbd\xdf\xa2\xd5\x08\x82\x0b\xa0\xe2\x77\x2e\x40\xa9\x0a\x58\xe3\x1a\x75\x3d\x66\x5a\x7c\x3d\x4f\x1f\xe7\x63\xa6\x19\xe6\x3a\x50\xa2\x27\x67\x07\x60\x8b\x71\x4c\xe7\x77\x79\x17\xe0\x38\x9b\xdf\xe5\xee\xe8\x46\x0f\xbb\x7c\x56\xcd\x5a\x56\x8c\xea\x6f\xbd\xa9\xfe\x74\xc3\x83\xdc\x57\xbe\xd0\x89\xbe\x34\x51\xdd\x3d\x0d\x1d\xca\xc4\x23\x88\xa4\x39\x7c\x24\x80\x6b\x4b\x43\xca\x52\x85\x0f\xac\x28\xd2\x08\xc7\x57\x2a\x01\x27\x56\xde\x99\x44\x14\x5f\x83\x47\xf5\xba\xdb\x6c\x65\xbd\x77\x78\x7c\x55\x97\xae\x8a\xe5\xac\xea\x38\xf9\xbd\x55\x34\x0e\x7c\xe2\xb2\xd3\x80\x94\x00\x91\x22\x86\xd8\xeb\x74\x7a\xf5\x48\x29\xdc\xa3\xb8\xe9\xf4\x05\x94\x8c\x7c\xf9\x35\x8c\xb1\x29\x79\x99\xe0\x10\x95\x5b\x6c\x15\xea\x38\x63\x54\x2e\xc4\x55\x9c\xca\xb2\x30\x6d\x90\xaa\x12\x22\x5c\x84\xca\x85\xea\x3e\x2d\x2c\x88\x02\xb3\x95\x00\xdb\x6b\x99\x62\x64\xbc\x51\x83\x82\xb5\x7b\x00\xfb\x55\x2a\x39\xbb\xb6\x40\x01\xb0\x2e\x51\x77\x21\x4f\xbd\xb9\x59\x84\xc0\x8a\x2c\x6e\x1d\x5e\x47\x15\x5f\xee\x4e\x05\xe9\xeb\xdd\x22\xf3\x77\xc5\x2a\x5d\x49\xcd\xf3\xab\x3a\xf8\x7f\xff\xfc\x68\xfe\x2d\xb2\x97\x39\x44\x8a\x4e\x41\x46\xb3\xcb\x3c\x69\x3a\x02\xb8\x68\x89\xba\x8a\x9d\x9a\xd3\x58\x33\x19\xd5\x4c\xbe\x0a\x4c\xb8\xd9\x77\x4a\x74\xef\x2a\x5a\xd2\x0d\x89\x01\x91\x76\xeb\xf7\x9d\xc1\xa7\xaa\xb9\x14\xea\xbe\x98\x72\x6b\x15\x5a\xba\x11\xab\x08\x22\x98\x50\x53\x02\x4d\x41\x1d\xc5\x35\x31\x27\xd0\x6c\x1f\x2d\x74\xa2\xae\xb0\xc9\x33\x3b\xaa\xba\x1d\xd5\x88\x28\xd8\x33\xc9\x17\x92\x21\xd4\xda\x35\x77\xa0\x76\x4d\x0d\x44\x45\x6a\xdd\xb4\x79\x7d\x53\x5a\xc0\xbe\x67\xf3\xe4\xec\xea\xf4\xf8\xe6\x70\x94\x5c\xdf\x1c\x5d\xdd\x7c\x7e\x7b\xf1\xfa\xf3\xd9\xc9\xe1\x0e\x95\x48\x5d\xee\x62\x34\x6e\x3a\xd7\x26\xbc\x7f\xd3\xf1\x55\x01\xf6\x5e\x81\x49\x36\xf8\x96\xf7\x6d\xb5\xf8\x51\x22\x50\xc9\x64\xba\xcc\x84\x1b\x25\x4e\xaa\x3f\x6d\x9e\x44\x3d\xb6\xe7\x6d\x7e\x8b\x98\x1d\x54\x87\xc5\x99\xea\xe8\xb5\xc5\x8a\xec\x7b\xc8\xd8\x90\x66\x0b\x22\x91\xea\x7d\xe0\xe1\xc5\x4c\x67\xd2\x93\xbf\x43\xc7\x8f\x9a\x58\x9c\xe0\x30\x69\x21\x2c\xac\xc3\xd4\x88\xbf\x2d\x47\xdb\x26\x75\x85\x51\x3d\xd5\x66\x60\x8b\x65\x59\xd5\x54\x3c\x67\x4b\x41\x19\xc3\xdb\xc2\xa1\xc0\x07\xb2\x86\x88\x2e\xa9\xdd\xa8\xbd\x5e\x24\x7b\x7a\x3d\x28\x83\xef\x90\x25\x3b\x02\xd0\x46\xc0\x76\xe0\xbc\xae\xdb\x50\x3f\x99\x30\x87\x43\xa0\x23\x47\x39\xac\x98\xa3\x04\x39\xac\xd8\xc2\x62\x1c\x01\x22\x50\x4b\x6c\xc4\x43\x82\x8b\xb5\x2a\x72\xd6\x56\x65\xc8\x59\x0c\x97\x0e\xeb\xda\x75\x7d\x1b\xb5\x3a\xe0\x90\x0e\x2b\x2e\xee\xe3\x86\xea\xc9\x37\xb6\x2b\x5e\xd1\x83\x5b\x44\x4c\x14\xb8\xc4\x44\xca\xf0\xaf\x59\x3e\x90\xab\x17\x81\x74\x0e\x89\x73\x52\x0f\xcf\x5b\x0a\x39\x88\xfd\x9a\xae\xc6\xf7\x25\x65\x3c\x67\x30\x11\x1c\xf1\xf8\x65\x7a\xd5\x11\x6b\xad\x16\x4c\x9e\x55\xfa\x36\xbf\x85\xba\x25\xee\x2a\x54\x51\x82\xb1\x22\xfd\x51\x0f\x43\x02\x22\x94\x47\xe9\x24\x8c\x76\x04\x42\x82\x5a\x47\x97\x44\xc5\x59\x4a\x97\x44\x2d\x0a\xc8\xf9\x9f\xa5\x68\x05\x45\x6d\xcd\xfb\x2c\xd6\x21\x42\xc4\xc6\x7f\x7e\x40\x40\xc7\x45\x6a\xfb\x2d\x4b\xeb\x90\xa8\x59\xe7\x19\xc7\x35\x73\x42\x20\x88\xb5\x41\xa2\x22\x15\xf6\x0d\x6c\xe2\x61\x20\x8a\x33\xc0\x6b\x46\x2b\x59\x54\x68\xd2\x60\xc9\x41\x9c\x0d\x34\x23\x13\xcc\xdf\xe0\xed\x11\x1d\x45\x7c\x49\x47\x15\xa4\xaf\x11\x44\xcd\xf8\xcf\xfe\x35\x5d\x1d\xe7\xea\x24\x0d\xe3\xd8\x70\xbe\x46\x06\x95\xc4\x61\x6c\x1d\x21\xe9\x08\x12\xe8\x69\xf3\xd6\x94\x74\x94\xa6\x51\xd4\xcd\x0b\xa7\x0d\xdf\x99\x4c\xd2\x60\x89\x44\x15\x63\x44\xd3\xe4\x91\x48\x14\x2b\xfc\xbb\x15\xd6\x26\x38\x8c\xe0\x48\x90\x7d\x61\x05\xc8\xbe\x73\x98\xf1\x6a\xd6\x94\x2c\xd4\xb1\x13\x1a\xd6\x71\x19\xc3\xd5\x63\x71\x95\x2d\xf2\xe5\xca\x6b\xfe\xa9\x02\xc0\x39\x04\x55\x18\x7c\x3a\x4a\xae\x4e\xcf\x4f\x8f\xae\x4f\xc1\x11\xa8\x0a\x02\x89\x37\xf1\xe6\xa0\x3a\xd6\x85\x23\x99\x66\xf9\xa4\x90\xd2\x19\x11\x22\xbd\x72\xc6\xf4\xb6\xed\x30\x17\x63\xa4\xd5\xd3\x6b\xa6\x57\x16\x25\x76\xa9\x8e\x80\x0b\x5b\xe3\xe1\x24\x8f\x5c\xa8\x83\x84\xf6\xbf\x74\x18\x15\xa6\xe5\x1f\x5f\xf6\xed\xd3\xf2\xcf\x54\xea\x6d\x56\x3c\x11\x2b\x91\x44\x84\x51\x0a\x91\x10\x08\x9e\xcc\x68\x2a\xf4\xc8\x01\x67\x1a\x2e\x70\xe4\x80\xcb\xa2\xae\x7d\x08\x95\x43\x44\x19\x06\x73\x82\x79\x11\x97\xd5\x27\x7b\x53\x6a\x4e\x24\xca\x3c\x2b\x2b\xce\xc8\x43\xad\x5c\x52\x14\x6f\x72\x05\xa6\x2e\xdc\x2a\x3f\xd8\xd1\x15\x7e\x53\x5d\xe3\x0a\x0f\xf7\xf0\x0b\x97\xd8\xf8\x4e\xbf\x60\xa8\x29\xef\x68\x62\x2d\x2b\x57\xa1\x06\xf8\xc7\x84\xe2\xf2\xf6\x15\xa9\xc6\xbc\xfd\xd1\xed\xd9\x8a\x4f\xc6\x77\x6f\x07\xaa\x46\x57\xf0\x91\x1d\x08\xb6\x9a\x74\x02\xc4\xe1\x33\x23\x22\x7d\x78\x4f\x57\x12\x18\x5c\x59\x7b\x27\x89\xa1\xd5\xed\xf6\x3d\x3b\x84\x5b\x19\xb3\xc6\x1d\x89\x04\x59\xe6\x2e\x6d\x7d\x8a\x67\x29\x31\x97\xc1\xe9\xb3\x15\xc4\xb7\xff\xce\x68\xb7\x45\xb0\x34\x9f\xc2\x56\x3a\xaf\x13\xc9\x5c\x41\x6f\xa7\xa0\x2b\xa2\x77\x2c\x94\x58\x4b\xdf\x31\x9c\x6e\x92\x6d\x55\xf5\x0e\xcc\x71\x53\x2f\x27\xf9\x98\xe9\x6a\xd6\x06\x12\xf5\xea\x1e\xf9\x2d\x73\x7e\x85\x2b\x65\xd2\x20\x8b\x7b\x53\x4e\x85\x03\x77\x7f\x89\x85\x1c\xe2\x1d\x39\x20\x14\x1f\x63\xc7\x75\x67\xb2\x26\x5f\xd1\x2e\x83\xa9\x11\x45\xb8\x09\xc6\x09\x58\x59\x5b\x04\xac\x46\x05\x2c\xb3\x45\x96\xae\xb2\x49\xb5\x9e\xc5\xe7\x57\x1f\x47\x9f\x82\x37\x32\x9f\x73\x2d\x40\xf3\xd8\xd0\xa8\xa4\xe9\xb2\x7a\xa8\x38\x9f\x16\xe2\x00\xb8\xf6\x9d\xf2\xe7\x8d\x55\xcf\xac\xea\xb9\x0d\xc4\xfe\x6e\x70\x2b\x24\x94\x16\x82\x51\x89\x0c\xe1\x59\xf7\x78\xd0\xf2\xcf\xe3\x49\xe3\x20\x0d\xef\x41\x1b\x39\x4c\xeb\xa9\xd0\x05\x04\xf0\xa9\xd3\xc9\xa4\x91\xbf\x30\x77\xda\xb8\x3b\x63\xaa\xc2\x68\xee\x33\x0c\xdc\xb4\xdd\xff\xda\xc7\x46\x85\xdd\x6c\x98\xf4\x76\xd5\xa8\x45\x94\x03\x6d\x66\xa9\xdd\x93\x66\xd2\xaf\x51\xd4\x6c\xb0\xb6\x45\x46\x30\xc6\xf9\xc3\x22\x9f\x8b\x49\xbe\xe3\xf6\x17\x77\xec\xa2\x7b\x4c\xed\x93\xcb\xc7\x7d\xef\x5d\x49\x0f\x90\x2a\xcc\xc7\x8f\x0f\xd9\x7c\x95\x96\xb4\x45\xba\x13\x11\xde\xe5\x71\x14\xf5\x73\x3f\x7d\xcd\xae\xb6\xe3\x68\x6f\x96\x74\x5f\x27\x45\x78\xc5\xdd\x0b\x1e\x1c\x00\xe9\x65\x99\x7a\xd3\xa2\x28\x96\x84\xcb\x16\x25\x69\x46\x24\x23\xcb\xfd\xc1\x74\xd3\xa2\x43\x21\x0d\x60\x59\x86\x30\x30\x74\x3b\x63\xce\xfe\xc9\x1a\x8e\x12\xa2\xe9\x65\x0f\xdb\x0e\xd7\x2a\x40\xd2\xb5\x8c\x92\x14\xf9\xde\xcc\xe8\x90\x07\x71\x0d\x18\xa3\x40\x1d\x4c\xc4\x5d\x81\x4e\x69\x35\x51\xc7\x19\xfe\x71\x61\xaf\xa2\x3f\xae\xd5\x69\x43\x3f\xbd\x14\x21\x2f\xd9\x73\x20\xbd\x4f\x0b\x17\xca\xd0\x8b\x19\xdd\xa2\x50\xfe\x33\x67\x1a\x58\x52\x9d\xf0\xed\x8c\x6e\x49\x90\x89\xe3\xec\x7c\x04\x85\xc0\xb2\x2e\x5d\x0a\xb7\xdc\xda\x2c\xac\xb7\x20\x0a\xec\x7a\x34\x9e\x31\x64\x97\x1b\xe2\x7a\xeb\x7d\x13\xfb\x5f\xb5\xcf\x25\x89\xa8\x92\xcb\x35\x10\x6b\x91\x02\x3b\xb5\x34\x95\xd0\x13\xd0\x1f\xf7\x14\xe3\xa2\xa1\x4f\x27\x93\x9b\xdc\x49\x00\x75\xc9\x28\x0e\x9e\x96\x44\x76\x71\xb8\x4f\x24\xf7\x47\xaf\x8f\xa1\xb5\x8e\xf5\x20\xe2\xeb\x6f\xf3\x31\x4f\xf4\x58\x82\x47\x3c\x04\x19\xdf\x8d\x1b\x49\x96\x50\x46\x3d\x5d\x88\x98\x50\x3e\x9a\x9b\x34\xda\x99\x02\x0b\x6b\x9d\x11\x66\x8b\x24\xc6\x72\x81\x25\x74\xfc\xde\x2f\x06\xbc\x16\x73\xe6\xd9\xc8\x7c\x61\x0d\x0d\xa6\xf7\x86\x46\x45\x92\xf9\x37\xf5\x10\x61\x03\x15\x1b\x51\xfa\x78\x82\x06\x14\x78\x4f\x63\x93\x0f\x76\xd6\xd5\x50\xc6\xdc\xec\xa4\x93\x6e\xd8\x86\xbf\x9c\x2e\xb2\xd9\x74\x9e\xc5\xd8\xf8\x56\xd8\x44\x05\x00\xc2\xb1\xd6\x67\x7d\x9b\x8f\xb3\x49\xfb\x7a\xf1\x2e\x5d\xf4\x55\x5a\xda\x3f\x6d\x6c\x6e\xfe\x4d\x9a\x66\x6f\xa5\xe9\x2a\xbb\xeb\x68\xea\x5e\xd8\x3c\xfc\xf8\x89\x2b\x64\x69\xfd\xe0\xa8\x2a\xc8\x86\x15\xb5\x3f\xf0\x24\xd3\x54\x92\x0f\xdc\x28\xc9\xa8\xcc\x26\x35\x5a\xe8\x72\x43\x39\x2c\x3c\x7f\x97\x1a\xdc\xa5\xf2\x1f\x13\x99\x4f\xc2\x9e\xeb\xa7\x68\xb9\x9f\x69\xb0\x22\x65\xd5\xb1\x66\xc9\xb3\x67\x09\xd8\xcb\xdf\x02\xda\xfc\xcf\x66\x48\xfa\x0b\xa1\x73\x62\xa9\x71\x2b\x6a\x7e\x75\x4e\x45\xe5\x08\x60\x76\xf9\x32\x83\xfc\xfd\xb8\xb5\xb9\xf9\x97\xbf\xe4\xe5\xbf\x9e\x57\xe9\xb3\x8d\xcd\xff\xda\x2a\x7f\x50\xe5\x6d\x24\xc8\x5b\x8d\x51\x58\x6f\x61\xaa\x16\xf0\x10\x4d\xe2\x3c\xa3\x97\x08\x09\x31\xae\x86\x3b\x48\xf0\x25\x5b\xbd\x4b\x17\xd8\x73\xb9\x2c\xf0\xc1\xf4\xd6\x65\x65\x0e\x8a\xe5\x13\xba\x45\xd9\xd4\x60\x4a\xbf\xe9\x7e\x5a\x04\x5a\xfe\x65\x5e\xda\xad\x93\xac\x58\x2d\xf3\x6f\x8c\x56\xdf\x04\x97\x6a\xf1\x5d\x30\xcc\x6e\xff\x3f\x50\xd3\x36\x47\xda\xb4\xcd\x80\x13\x82\x91\xca\xb8\x26\xda\x80\x11\xa7\xf7\x50\xa4\x12\x4d\x33\x11\x66\xc4\x3e\x7c\xf9\x16\xc1\x76\xd6\x64\x88\x89\x72\x6f\x8e\x68\xe6\xc9\x84\x36\x82\x69\x22\xa0\x71\xd6\x6f\xd4\x2b\xed\xb8\xda\x0f\xd1\x97\x0f\x2c\x75\x8b\xc5\xb7\x33\x1f\x9e\xbf\x06\xf2\x1a\x39\x7e\xcd\x72\xef\xde\x28\xf8\x9e\xb1\xcb\x7c\x36\xe3\x89\xab\x36\x90\xa8\xda\x58\x7e\x2b\x6e\xd8\xa5\x41\x16\x57\x8d\x56\x38\x70\x3b\xd2\x42\x0e\x51\x55\x82\x50\xd6\x19\x4e\xd1\xe4\x2b\x9a\x7a\xab\x11\x45\x50\x68\x4e\xc0\xbc\x01\x93\x7c\x36\x63\x74\x96\x7a\x68\x1e\x9b\x12\x13\x06\x99\x92\x5c\xa3\x24\x9f\x4d\xae\xb2\xbb\x2e\x4c\x72\x51\xfd\x09\x4f\x4f\x3f\x49\x57\xe9\x75\xfe\xb8\x1c\x67\x95\xdf\x2c\xd7\x84\xcd\xb3\xdf\x45\x98\xef\xab\x3f\xc3\x60\x72\x0d\x4c\x17\x56\x31\xba\xc6\xa1\xb8\x6b\x0e\xb2\xe8\x9a\x67\xbd\x05\x60\x2e\x0f\x8d\x7c\x09\x9f\x2c\x13\xb4\x2b\xf8\x14\x79\x82\xcb\xb3\x1a\xe1\xd7\xa7\x9c\x3f\x2d\x32\x9b\xfd\xc4\x53\x47\x66\x54\x6f\x31\xed\x41\x3c\x27\x17\x04\x8e\x89\xb8\xa0\x3c\x5c\xa5\xea\x4b\x50\x9a\xd4\xb9\xeb\x0a\xf3\x91\x65\x66\x82\x46\x55\x10\xee\x30\x21\xf4\x91\x9a\x01\x3c\x77\xb3\xb0\x72\xf8\xeb\x5e\x9f\x5b\x33\x9e\x79\x9c\xbc\xa2\x4b\xc0\xc2\x1f\xdb\xa2\xa8\xc4\x71\x16\x53\x19\x71\x56\xa1\x2a\xeb\x92\xb4\x75\x28\xcd\x66\xc1\x55\x52\x19\xf1\xdc\xa7\x85\x15\x4b\x60\x11\x95\x8d\xd1\xf5\x86\x8b\xcb\xe8\x1d\x5f\x46\xab\xc4\xa1\x19\x8d\xb8\x11\xdc\xce\x68\xeb\x92\xb4\x8c\x6e\x94\x54\x18\xa3\xad\x58\xe2\xce\xe3\x3e\x9b\x4f\x99\x66\xb8\x35\x90\x88\xce\xbe\xf2\x56\xdc\x13\x78\x83\x2c\xaa\x3f\x5c\xe3\x40\x39\x09\x36\x72\x68\x7e\x30\x0c\x65\x9d\x27\x70\x4d\xbe\x62\x79\x5c\x0d\x22\x7e\x6f\xcb\x0d\x98\xf5\x04\x5e\xa2\xe2\x3b\x81\x0b\xd0\x3c\x36\xe5\xa0\x15\x49\x02\xc2\xe8\x9b\x93\x70\x58\x75\x91\x45\xdf\xa4\x4f\xbb\xf2\xc8\x28\x7b\x31\x37\x6b\xb4\xe3\x11\x0c\x3c\x4a\x9d\xd1\xf5\x2a\x5b\x30\xc5\xb2\x65\x88\x9e\x35\x45\xca\xdb\xf6\x49\x4f\x99\x50\x3b\xb4\xca\x16\xee\xf0\x55\x97\xff\x2e\x1f\x8d\xd3\xd6\xa8\x7c\xc0\x20\x95\x41\x35\x2e\x52\xa1\x85\x8d\x3c\xbf\x2a\x20\x18\xda\xf0\x8d\xe8\x12\xaf\xf1\x7d\x8c\xb2\x88\x60\x86\x39\x65\x8b\xc0\x9c\xa6\x6d\x0b\xc6\x2e\xb6\x69\x10\xc6\x2b\xb1\x71\x23\x40\x0d\x6e\x6a\x76\x34\xa5\x1b\x50\xe6\x60\x60\xa5\x8b\xc6\x94\x86\x2a\xc6\x33\xa6\x44\x2f\xdc\x93\xe3\x10\x17\x85\x32\xce\xde\x3c\x2b\xd6\x66\x2c\x93\x71\x45\xfa\x71\x4c\xd9\x02\x7b\xc0\xb4\xe1\xa9\x46\x30\x19\xb1\x44\x1e\xbd\x54\xa7\x9f\x9b\x64\x34\xd3\x10\x26\x15\x26\x75\x9e\x80\xed\x7d\x5b\xa6\x69\x51\x3f\xd9\x5f\xbe\x5b\xff\x0d\xdf\xff\xd4\x3c\xa8\x5e\xa3\xfb\x75\xba\xe8\xd3\xf2\x55\x68\xa4\x90\xf3\x58\xaf\xf3\x7c\x96\xa5\x73\x43\x3a\x6b\x3b\xf9\x71\xc4\x96\x26\xd2\x16\x22\xee\x08\x01\x05\x1b\xae\x19\x1b\x24\x91\x38\x40\x80\x00\x6f\x6d\xf3\x03\x04\xd1\xa1\x5d\x32\xd5\xca\x1b\xe2\x16\xdd\x46\x84\xf5\x64\x55\x8d\xb0\x94\xc0\xee\xa6\x5b\x83\xbc\x72\xf5\xf7\xdb\xd5\x43\xb4\xf6\x7e\x15\x65\x84\xee\x7e\x24\x0a\x7c\x73\xbf\xa8\x71\xa8\xd7\x57\xb5\x42\x61\xcd\xba\x74\xee\x82\x89\xcf\x02\xc6\x4a\x26\xb6\xe1\xd2\x27\x07\x53\xfb\x4f\x61\x9d\xaf\xdc\x7d\x24\xa2\x27\xd7\x25\x71\x3a\x71\xac\x0d\xfa\x76\xd4\xf5\xad\xb4\xd6\x95\xe9\xae\xa5\x6d\xc4\x00\xd9\xa0\x6d\xc7\x77\x9f\x16\x76\x6c\xa1\x8d\xf9\x4e\xf6\x9b\x84\x0c\x92\x05\xab\x39\xac\xf3\x38\x3f\x06\x32\xdd\x4d\x92\x33\xcd\x26\x52\x26\xa6\x95\xb8\x62\x0a\xfc\x5d\x4b\x02\xd4\x80\xd8\x02\xb2\x53\xa9\x1e\x7f\x27\x5c\x8c\x52\xfe\x59\xa9\x94\x79\x33\x31\x34\x7e\x14\x61\xc8\x1e\xa3\x1e\x1f\xf9\x24\xc9\xdb\x57\x84\x83\x18\x2d\xaa\xd0\x72\x57\xf3\x5e\x3a\xb6\x63\x6e\x0f\xa9\x84\x85\x2d\x36\x30\x78\x33\x8e\x80\x34\x6e\x8c\x80\x5e\x0e\xf2\x83\x7a\x97\x47\xb7\x2f\x0d\xce\x45\xc7\x33\x86\x58\x80\x7d\x74\x07\xdd\x1f\x68\xe9\xa2\x9d\xf9\xed\xf3\x38\xe2\x9f\xfc\x5d\x83\x2d\xc0\x99\x16\x1e\x11\x00\x53\xaa\xd9\x8a\x2d\x6e\x1c\xe0\xbf\x1f\xb3\xc7\x8c\x35\x0a\xa0\x40\x24\x1a\x33\xcb\xdb\x36\x43\xf6\x8f\xfc\xf6\x26\x7b\x58\xcc\xd2\x55\x7f\xcd\xd7\xdb\xfe\x37\xb8\xea\x33\x8a\x99\x53\x3e\x22\xaa\x89\x93\x71\xa1\x14\x21\x44\x1e\xcd\xb4\xe1\xa1\xad\x65\x6a\x2b\x6d\x46\x2b\x6c\xfe\x44\xe9\x0a\xb2\x81\xd6\x9d\x17\xcb\xfe\x29\x08\xf9\x6d\x1f\x0e\x01\xc2\xee\xa9\x3b\x98\x72\xb2\x7e\xeb\x7f\x29\xb4\x95\x23\x32\x49\xbc\x75\x58\xb0\x95\x74\x08\x8a\x99\x2c\x4e\x33\x69\x45\x5e\x99\x48\xf7\xaa\xb4\x76\x52\x64\x27\xce\x58\x5a\xb1\xde\xa7\x85\x1b\x67\xe0\x19\x59\x44\xdc\x58\x69\xee\x59\xe9\x06\x14\xcc\x56\xd7\xef\x18\xe9\x80\x60\xae\x33\x49\x17\x8b\xd9\x74\x5c\x0d\xde\x83\x07\xa9\x1f\x29\x0f\x43\xd3\xd4\x0d\xd4\x08\x20\x62\x8c\x56\x37\x60\x1c\xcc\x70\x13\xce\xa6\x18\x32\xfd\x0d\xf8\x1a\xcf\xa6\x01\xe2\x40\xb3\xf1\x80\x68\xc1\x43\xd9\x45\x59\xe6\xf3\x01\x06\x3b\x07\x1b\x90\xc6\xf5\x05\x02\x3a\x7e\x75\xb5\xc1\x31\xb6\x1d\x90\x80\x38\x33\xdc\x01\xa4\x71\x6c\x80\x49\x67\xfa\xdb\x03\x13\x34\x5b\x6e\x56\xb0\x0e\xdd\xc9\x4c\x78\x1f\xce\xd1\x5a\x48\xcf\x37\x13\x5c\x83\xe1\xb6\x36\x7b\x21\x20\x23\x4b\xd5\x19\x71\x0d\x85\xa4\xfb\x18\x24\x83\xdf\x80\x20\xa1\xaf\x35\x93\xeb\x65\x40\x54\xc9\x84\x0f\x8c\xa2\xd0\xdb\xb2\xba\x6d\xbb\x62\x62\x6a\x57\x0c\x4a\xe4\xa2\xb5\xce\x80\xd6\x06\xa1\x6b\x79\x2d\x0f\x02\x21\x3e\xe5\xab\x2a\x31\x6a\xda\x17\x63\x69\x12\x74\x3f\x20\x22\xed\x8b\x16\x01\xf9\xe3\x98\x13\xc1\x02\x64\xaf\x63\x98\x4d\x6a\xcd\x24\xc7\x3a\x02\x3b\x89\xa9\x8e\xc4\xee\x15\x6c\x8f\xc4\xa2\x10\xd1\x8f\xc4\x4e\x2a\xee\xd3\xc2\x4d\x03\xff\x11\xd9\x2a\x4e\x01\x0d\x99\xdb\x88\x86\x4c\x8a\x98\x04\x35\x69\x22\x7a\x12\x9d\xae\xbc\xc1\x93\x8d\x34\x0d\xdd\xbd\x24\x5e\xdc\xb5\xed\xb6\x01\xe6\xa4\x3b\xa9\x51\x4e\x62\xb1\x87\xa6\x03\x2b\xeb\xe3\x25\xd9\x55\x07\x34\x4e\x5d\x3b\x17\x55\x33\xd5\x9d\xf8\x25\x69\x8c\xd9\x26\x2d\xc9\x4b\xd4\xc6\x68\xb9\x80\x65\x3a\xff\x32\xcb\x56\xf9\xdc\xf7\xdb\x0e\xa8\xdf\x66\xc4\x48\xfb\xc8\x03\xe2\x47\x9e\x64\x8b\x6c\x3e\x29\x2e\xe6\x14\x15\x22\x2e\x2a\x68\x67\xa4\x2f\xb4\xa0\xb3\x7c\xa3\x84\x27\xc9\xfe\xfd\x6f\x8a\x50\xa6\x93\x49\x87\x8d\xb4\x95\x15\xac\xf0\x46\x54\x76\x1d\xb4\xa4\xdd\x0d\x1c\xe2\x73\xd4\xfd\xd6\xbd\x7c\x34\x9b\xe5\xbf\xff\x94\x4e\x67\x8f\xcb\xcc\x97\x87\xa0\x12\x37\xf3\xd0\x8e\x1a\xc1\xcf\x51\x08\x3f\x45\xcc\xde\xbc\x1d\x85\xf0\x16\xb1\xec\x1a\x9f\xd5\x77\xa8\x3c\x1f\xc6\x97\x06\x87\x0a\x30\x3a\xcb\x08\x37\x68\x20\x6f\x98\xcd\xdd\x25\x2c\x5f\xc9\xa7\x7c\xf9\xb5\x58\xa4\x63\xce\x1c\x60\xc9\xd0\x0e\x2e\x3c\x86\x41\x62\xa7\x81\x1e\xce\xf1\x0b\x0a\x33\x5d\x5f\xdf\xb2\xb2\x7b\xc6\x87\x91\x2e\x04\xf0\xc4\x05\x3c\x1b\x6f\xd2\x65\xa9\x5a\x1f\xe7\x73\xf1\xe0\xcf\xc2\xc9\x1a\x68\xb2\x4b\x62\xa3\x99\x1e\x34\x27\x77\xc9\x9c\x04\x16\xa0\x65\xa6\xf8\x98\x0f\x3f\x01\x34\x6e\x96\x12\x96\xf0\x4b\xb6\xba\x98\x4f\xb2\x87\x74\x3e\x89\xc2\xd4\x8b\xf9\x89\x00\xbc\x9e\xba\x9c\x8c\x46\x34\xd5\x6b\xa3\x10\x1f\xaa\x18\xd1\xf5\x2f\xb8\x2c\xdd\x5c\x1c\xe9\x41\x1f\x66\x83\xa8\x80\xb8\x03\x65\x39\x35\x86\xdf\xa4\xc5\x57\xe6\xf9\x38\x25\xc8\x8b\xdf\xb2\xe5\x72\x3a\xc9\x92\xd1\x68\x2f\x80\xd9\x32\x75\x04\x86\xef\x05\x32\xdc\xb2\x2c\x66\xa6\x97\x0f\x87\x33\xde\x82\x12\x62\x3e\x61\x79\xbf\x64\xab\xf3\xf4\x36\x9b\x79\x4c\x60\xdf\x4b\xb2\x6a\x96\x19\x71\x51\x0d\xe8\xb4\xf1\xe9\xdd\x33\xda\xd4\x74\xc2\x29\xa1\x1b\xc9\x14\x6d\xd6\x53\xb2\x4f\x3b\x3c\x18\x28\x42\xcb\xef\x3e\x59\x7a\x9d\x0b\xd0\x39\xe8\xdd\x43\x3e\xd2\xea\x44\xe1\x96\x52\xc2\xd2\x49\xcc\x6c\xb5\x88\x87\xc0\xbe\xf0\x13\x58\x08\xb7\x26\xbd\xe6\x17\x02\x44\xf9\xd7\xe6\x5f\x7e\x1e\xcf\x18\x65\xf9\xe7\xf1\x2c\x21\x9a\x5d\x23\x21\x78\x15\x4c\x37\xb9\xee\x2f\xef\xfc\xe4\xfe\x29\x2f\x4f\xd9\x89\x04\x50\xb6\x34\x43\xfb\x4b\xba\x9c\xa6\xb7\xb3\x2c\x56\xd4\xba\x85\x9f\xbc\x24\xf1\xd5\x42\x16\x39\x0a\xfd\x92\xc2\xe0\x74\x32\xe9\xf0\x06\xc6\x9b\x5f\xba\xe2\xcd\xdd\x9a\x50\x03\x1e\x10\xb3\x5a\xf1\x93\x9e\xa3\x06\x36\xde\xe7\x39\xe7\xa0\x88\x12\x7e\x09\x32\xd9\xa3\x05\x27\x65\x32\x2c\x8c\xbf\x98\x67\xf9\x9d\x4e\xcc\xde\x96\x1b\x51\x5e\xbe\x56\x95\x1c\x14\x9f\x3f\x6e\x7d\x22\x2b\x01\xcb\x12\x75\xc3\x09\xf3\x1c\x3b\x39\x42\xda\xf6\x16\xb0\xee\xfd\x4e\x59\xd6\x2f\xd9\xea\xf5\xe3\x74\x06\x46\xd0\x89\xec\xad\x60\x5e\x2c\x92\x3d\x5a\xe8\x52\x21\x85\xc8\xe2\x51\x5c\x16\xdb\xd6\xa9\xe5\x71\xf5\xef\x3e\x4c\xb6\x01\x06\xb8\x4c\x58\xda\x2f\xd9\xea\xf2\xb1\xb8\x67\x66\x72\x09\xb2\xe4\x31\xcd\x3e\xcb\x84\x10\x59\xbc\x1d\x97\xc5\x96\x45\xea\xba\xbe\x1f\x8b\x7b\x1f\x06\x5b\xc0\x02\xfc\xa5\x59\xed\x93\x6c\x31\xcb\xbf\x71\x1f\x23\x2a\xa0\x25\x8f\x69\x61\x4a\x95\x18\x22\x97\x77\xe2\x72\xd9\xba\x54\x42\x46\x60\x96\x7f\xf3\x3a\x6c\xd8\x40\x03\xbc\xa6\x85\x33\x9b\x1e\x79\x76\x66\x57\x50\x4b\x6e\xd3\xa2\x99\x1a\x39\x44\x76\xef\xc6\x66\xb7\x6d\xb5\x7a\x7e\x57\x4f\xf8\x31\xdc\x06\x1c\xe0\x38\x2d\xda\x79\x95\xcd\xb2\xb4\xe0\x8e\x12\x34\x50\x4b\x8e\xd3\xa2\x5d\x1a\x39\x44\x8e\xef\xc5\xe5\xb8\x7d\xb5\xfa\x4e\xde\xea\x09\x1f\x8e\xdb\x81\x03\x1c\xa7\x45\xbc\x7e\x49\x67\xd3\x09\x7b\xf3\xd9\xf3\x16\x6c\xc9\x73\x5a\x64\x48\x27\x88\xc8\xf4\xfd\xb8\x4c\x77\x2c\x58\x7f\x08\xaa\x1f\xf1\x61\xbb\x03\x3c\xc0\x77\x5a\x14\xe9\xe8\x71\xc5\xed\xa7\x95\x20\x4b\x7e\xbf\xa0\x65\x8e\x25\x42\x88\xbc\x7e\x11\x97\xd7\x96\x45\xea\xd2\xcb\x8f\x2b\x2f\x3f\xcd\x02\x16\xe0\x2f\x61\x59\x4b\xdb\x9d\x8f\xc1\x31\x3b\x54\xc3\x9d\x8f\x8b\x92\xbf\x07\x34\xab\x2d\x11\x42\xe4\xef\x41\x64\x93\x6d\x5e\xa4\xce\x5e\xe7\xe3\xc2\xcb\x58\x9b\xc1\x02\xfc\x25\x2c\xeb\x97\x6c\xd5\x5f\xd1\xca\xcc\xe5\x1e\x70\xc9\x6b\x5a\xec\xcc\x44\x14\x91\xe3\x2f\xe3\x72\xdc\xb9\x6c\x2d\xdf\xfb\x87\x7c\xb8\xef\x44\x01\xc8\x00\x61\xb9\xbf\x64\xab\xd3\x7f\x65\xdc\xdc\x2f\x41\x5e\x2c\x92\x7d\x5a\xc4\x4c\x26\x84\xc6\xf1\xfd\xc8\x11\x33\xcb\x22\xb5\xbc\x2e\xff\xd9\x87\xcb\x16\xb0\x40\xa2\x87\x16\x31\xfb\xc0\x1d\x0d\xfd\xb0\x28\x79\x4b\x8b\x95\x7d\xf0\x8e\x85\xee\x47\x0e\x94\x19\x97\xa7\xe5\xeb\x07\xaf\x38\xa8\x11\x24\xc0\x53\x5a\x7c\xec\x3c\xff\xc2\x6d\x97\x4b\x90\x25\x5f\x69\xf1\x31\x99\x10\x22\x67\x23\xc7\xc7\x2c\x8b\xd4\xf2\xb6\xfc\x67\x1f\xee\x5a\xc0\x02\xfc\xa5\xc5\xc7\xc4\x6a\x7c\x66\x3e\xcb\xc3\x2b\x92\x7d\x5a\xac\xcc\x4c\x18\x91\xef\x91\x23\x66\xc0\xe2\xb5\xfc\x17\x1f\xf3\x91\x03\x00\x0d\x20\x0f\xb4\x18\xda\x65\x3e\xe3\x4c\x54\xbf\xed\x6e\x89\x4d\xf6\x69\xd1\x33\x99\x10\x22\xdf\x23\x87\xce\x2c\x8b\xd4\xc5\xc3\xf3\x99\x57\x32\xdb\x02\x16\xe0\x2f\x2d\x62\x56\x8f\xa4\xbb\xca\x16\xf9\x92\x7b\xbf\x8b\xa0\x4b\x7e\xd3\x62\x67\x66\xc2\x88\x7c\x8f\x1c\x40\x03\x16\x6f\xd5\xcd\xc3\xef\x1f\xf3\x91\x03\x00\x0d\x20\x0f\xb4\x78\xda\xf5\x2a\x5d\xae\x22\x54\x0d\x76\x70\xcf\xd3\xc7\xf9\xf8\xbe\x94\x07\x5a\x5c\xcd\x40\x18\x51\x18\x22\x07\xd6\x5c\x2b\x27\x48\x42\xfd\x8c\xa7\x18\x58\x11\x00\x32\x40\x8b\xad\x5d\xaf\xf2\x45\x14\x11\xa8\xc1\xf6\x12\x40\x8b\xb4\xe9\x64\x11\x05\x20\x72\xb4\xcd\xb1\x6c\x3d\xff\xeb\x47\xfc\xd8\x6f\x05\x0f\x70\x9f\x16\x79\x3b\x9b\x4f\xb9\x2d\x41\x7d\x2b\x5d\xb2\x4f\x8b\xbc\xc9\x84\x10\x79\x1d\x39\xf2\x66\x59\xa4\x96\xcf\xe5\x3f\xfb\xf0\xd8\x02\x16\xe0\x2f\x2d\xf2\xf6\x6b\xba\x1a\xdf\x47\xd8\xde\x1d\xdc\x92\xd3\xb4\xb8\x9b\x81\x24\x22\xbb\x23\x87\xdd\x5c\x6b\xd6\x57\x2e\x36\xcf\xf8\xd5\x2d\xda\x11\x00\xdc\xa7\xc5\xdc\xc4\x71\xbb\xdc\x7e\xbd\x74\x97\x4f\xf2\x82\x16\x83\x33\x13\x46\x13\x83\x17\x91\x63\x71\xc0\xe2\x75\xfe\xbe\xf0\x98\x97\xdf\xef\x46\xe3\x96\x07\xca\xb2\xf7\x35\x12\x71\x4e\xfc\xea\x35\x06\xc9\x0b\x6a\x8b\xae\x99\x38\xa2\x54\x44\x8e\xe3\x81\x4b\xa8\xd4\x4f\x04\x9c\xfc\x41\x54\x80\x6c\xd0\x62\x7d\xe5\xb9\x03\x4c\xac\x5b\xe6\x21\x6c\x6d\x25\xb4\xfd\xaf\x20\x73\x8e\x0b\x38\x9d\x3f\x3e\x48\xed\xed\x5b\xc4\x71\x01\x47\x45\x31\xfd\x32\xcf\xe2\x74\xc5\xd5\x40\xcf\x26\xc9\x68\x8b\x26\xee\x36\xaa\xf0\x55\xf9\x5b\xa4\xe1\x10\x75\x8e\x18\x5a\x8a\x2e\x5b\x2c\x3d\xe8\x95\x37\x86\x50\x01\xf5\xf9\x94\xe5\x6c\x43\x99\x37\xd3\x07\x8f\xda\x90\xe2\x79\xf9\x5e\xb1\x4a\x1f\x16\xc9\x68\x8b\x16\x98\x36\xa0\x25\x30\x90\xde\x57\xe1\xfa\x4c\x29\xe2\x58\x3e\xe3\x1d\x6e\xb4\x20\x80\x38\x46\x0b\x3e\xd7\x02\xc2\xc1\x32\x5a\x6c\xd9\x84\x97\xc0\x33\x7a\xc7\xb8\xf3\x43\xe5\x0d\xe7\xcb\x35\x27\x0a\x88\x6d\xb4\x18\xf1\xd1\xf8\x2b\x07\xcf\x68\xf1\x60\x0d\x29\x81\x61\xf4\xc6\x70\xfb\x27\x76\xdc\xaa\x9f\xf0\x62\x95\x15\x38\xc4\x27\x5a\xac\xf7\x38\x7f\x58\xcc\xb2\x15\x8b\x4e\xa4\x05\x73\xcd\x98\x09\x1c\xa3\x37\xfc\x02\x1f\xdb\xd7\x4a\xf4\x8f\xf9\x55\x4b\x38\xd1\x40\x0c\xa4\x05\x67\xfb\x6e\xc4\xab\xec\x2e\x5a\x2b\x6c\xe9\xc4\x24\x23\xea\x44\x24\x33\x69\x84\x9e\x6e\x92\x0f\xa7\x74\x73\x9a\x97\x43\x6f\x8c\xbd\xca\xee\xc2\x7a\x63\xcd\x88\xa0\x26\x6e\xda\x91\xac\xed\x41\xfb\x69\x3a\x4f\x67\xbf\xa4\xb3\x47\x9f\x06\xd9\xd1\x68\x07\xd3\x48\xf7\xbc\x47\xe2\xd9\x51\x67\xa3\x52\x6b\xa5\x35\xbf\x10\xd0\x4a\x5b\x17\x2a\x45\x29\x1f\x4b\x46\xc4\x61\x52\x2a\x2d\x04\xb9\xa7\xbb\xec\xd6\x0f\x97\x0b\xc0\xfc\x8b\xbf\x3c\x44\x9c\xe6\x9a\x9f\x2e\x97\xb9\xc7\xb1\xab\xbf\x41\x6b\x8b\x96\x3c\x52\xf0\x11\x0c\x0f\xbd\x57\xdf\xf6\x6d\x5d\xc5\x56\xf9\xef\x5e\x25\x5b\x16\xc0\x90\x8d\xa1\x25\x7f\x7c\x6f\x37\x73\x62\xa8\x81\x26\xa3\x2d\x5a\xc6\xc7\xff\x9e\xb3\xad\x17\x1e\xdd\x10\x9c\xd7\x9a\x49\x9c\xf3\xbd\xc3\x8c\xb2\x5c\xa5\x42\x4c\xe7\xe3\x6c\xc6\xe1\xdd\xd1\x12\x35\x26\xbc\x04\x56\x91\x66\x3d\xd6\x0a\xd0\xf5\xa1\x9d\x12\xec\x1e\xf2\x52\x84\x2e\x14\x10\xdb\x68\x09\x99\xd3\x7f\x2d\xa6\x4b\x16\xa7\x9c\x96\x75\x31\xe1\x25\xb0\x8d\x34\x20\xa0\x29\x65\x75\x7c\x68\x5f\xd0\xda\x3e\xe4\x57\xd6\xea\x40\x01\xb1\x8d\x96\x49\x61\x4e\xa1\x5d\x65\x77\xd5\x68\xa5\x64\x34\xa2\x0e\x49\xf3\x1c\xa2\xe4\x33\x1e\xcd\x99\x01\xf3\x4d\x7e\x79\x8e\x46\xa2\x1d\x7e\xdb\xa4\x0a\x33\xcb\xc4\x5c\x4d\x32\x1a\xd1\xec\x9b\x4e\x13\x81\x7d\x74\x0b\xe7\x58\x02\x35\x75\x15\x92\xb6\xf2\x60\xa5\x73\xd9\x4e\xf2\xf1\xe3\x43\x36\x5f\xd5\xc3\xcb\xb5\x6b\xc7\xf6\xfd\xaf\x1d\x93\x21\xf7\x1f\xe3\x75\xd3\x8c\x0c\x8c\x70\xa9\x8c\xf9\x45\x01\xb7\x74\x7f\xcc\x24\x2b\xc6\xcb\xe9\xa2\xfc\x17\xf0\xaa\x97\x6a\x2a\x75\x92\xfd\x2b\x7d\x58\xcc\x32\xdc\xc5\x30\xc9\x74\xbe\x78\x5c\x81\xcf\xee\x54\xcf\xe6\x8f\x2b\xcc\xc3\xbb\xd5\xc3\x77\x15\xc3\xde\xa5\x8b\xee\xda\x9b\x9f\xda\x5f\x36\x36\x37\xff\x96\x8b\x4b\x86\x5c\xab\x0a\x40\xf7\xde\xe6\xe1\xc7\x4f\xc9\x43\xb5\x51\xe0\x7b\xd7\xde\xf5\xcf\xb9\xae\x5c\x93\xf1\xd5\x2f\x59\x2f\x59\xf3\xbc\x47\x47\xc6\x11\xed\xca\x1c\x09\x0d\x78\x45\x09\x40\x14\xfe\x22\x1c\x34\x20\x45\xe0\x59\xef\xbc\x91\x6f\x93\xf9\xa1\x4d\x2e\xb7\x1b\x09\x79\xff\xcc\x69\xbd\x91\x94\xa7\x77\x2c\x4f\x9f\x95\x1b\x49\x79\x76\xd7\xf2\xec\x45\xb5\x91\x94\x87\xf7\x0e\x9b\xcb\x4e\x84\x7d\x92\xa8\x17\xf2\x6c\xc8\xab\xb6\x2c\x65\x54\x5f\xe5\xf2\x1f\x13\x59\x62\x04\x75\xd7\xd3\xe3\x7e\xa6\xc1\x4a\xdb\x9d\x0e\x8e\x27\xcf\x9e\x25\x78\x91\xad\xe1\x6d\xfe\x67\x53\x5a\xa4\xfd\x43\x8a\xd8\x37\x3b\x58\x5b\x45\xda\xfe\x87\x6f\xc2\x6b\xb4\x0b\xc3\x5d\x45\x36\x13\x15\xe3\x5a\x22\x19\x17\xef\x0d\x44\x28\xd8\x26\x9b\xd7\x5c\x36\xd4\xdd\x7c\x27\x6e\x5b\xc7\xfd\x3f\xa3\x24\xef\x6f\x0b\x6a\x37\x2e\x70\x5f\x50\xf7\x7c\xbd\x75\x1d\x4f\xef\x88\x4f\x37\x9b\xd7\xf1\xf8\xae\xf8\x78\xbf\x9b\x7f\xdc\xda\xdc\xfc\xcb\x5f\xf2\xaa\xad\xaa\x7a\x73\x63\xb3\x7c\x37\x57\x97\x67\x63\x4f\xd8\xbd\xf5\x4a\x09\x92\x20\x20\x02\x1e\xf2\xda\xbf\xe0\x55\x4c\x92\x25\x45\xdc\x42\xb8\xef\xba\x08\xca\xb8\xdf\xf8\xef\x1d\x34\x7d\x28\xab\xfb\x27\x7b\x26\x64\x27\x50\x7e\xdd\xb8\x2d\xfe\x98\xa7\x0f\xb0\x4f\x57\x7b\x80\xc5\xb7\x79\xbe\x28\xa6\x05\xd2\x05\x2c\x1e\x1f\x1e\xd2\xe5\x37\xac\x13\x58\xed\xc5\x74\x26\x3f\xfe\x3a\xcf\x67\x59\x3a\x37\x7a\x83\x3f\x8e\x36\x93\x6c\xfe\xdb\x2f\xe9\x12\x44\xb1\x57\xa1\x28\xb9\x02\x3e\xba\x5f\x3d\xba\xb8\xfd\xdc\xea\x5a\xe8\x85\x17\xda\x45\x88\x9e\xb7\xe4\xa2\xcc\x5e\x14\x37\xae\x46\x46\x54\xec\xa0\x5d\xa6\xb9\x74\x20\xb8\xa1\x1d\xbb\xf7\xe9\x83\xea\xa3\xd9\x3c\xba\xeb\x66\x63\x20\x5d\xba\xeb\x7a\x63\x58\x9d\xba\x52\xe8\x3b\x97\xae\xd9\x16\x06\xa7\xce\xe8\x5b\x56\xfb\x41\x79\x78\xdf\xf2\xf0\xcd\xb7\x85\xfa\x85\x2f\x2c\x8f\xb6\xe2\xce\xed\x89\xa8\x3a\x33\xbe\x3f\xe2\x34\x47\x2c\x5e\x89\x13\x03\xc6\x37\xa9\x24\x0f\xeb\x94\x74\xb2\x87\xf5\x4a\x5a\xe9\x43\xfb\x25\xad\x04\x0a\xb7\x31\x56\x12\x2a\xb9\x23\x8d\xe0\x39\x80\xee\x89\x8f\x57\xa2\xe7\x78\x78\x5f\x7c\xb8\x15\x3e\xc7\xf3\x2f\xdc\xf7\x34\xba\x85\xae\x59\x72\xcf\x12\x55\xe0\x5a\x2b\x48\xde\x15\xd4\xac\x97\x78\x81\x9f\xdd\x0a\x8f\xdf\xa7\x43\x77\x08\x82\x9f\xae\xa3\x67\xbd\x37\x10\xfe\xfc\x7a\x2b\xf8\x7d\xfd\x4e\xf0\xd7\xab\xd8\x69\x1f\x0f\x94\x0b\x82\x1f\xdf\xee\x6b\xe8\xeb\xad\x2e\xd8\x7d\x75\x37\xca\x8f\xce\x94\x3d\xb8\x08\x3a\x15\xce\x55\x10\x89\x69\x29\x08\x5b\x86\x5a\x71\xf9\x89\xc0\x5e\xa8\x08\xa8\xc8\x69\x12\x00\x54\xb3\x81\x9f\x5e\x2a\x61\xbf\x0f\xdf\x0f\xfd\x70\x19\x35\xed\xb3\x81\x5a\x0a\xf0\xb3\x9b\x2f\xf1\xfb\xf2\x17\xa1\x5f\xae\x61\xa7\x7d\x7c\x9d\xae\xe1\x39\xb0\x36\xe7\x62\xd6\x13\xab\x12\xdb\x26\x1f\x59\x95\xf7\xcd\x67\x56\x5c\x72\x61\x44\x49\x2e\xd4\x47\x56\x4a\x56\x64\x27\xce\xb9\xcf\x16\x1c\x8c\x73\xf0\xab\xb1\x11\x5d\x68\x38\x7e\x49\x3b\xfa\xc1\xf0\x86\x3e\xfb\x99\x82\xee\xb6\xc3\x9f\x31\xe8\x6e\x3b\xfa\x19\xb3\x05\x4c\x67\x29\x6d\x3b\xc7\x3f\x4c\xb9\x23\x6b\x2c\xa7\x29\x37\x0a\xcc\x71\x0a\x0c\xc3\x8e\x68\x61\xd8\x6d\xf9\x6c\x82\x8a\x23\xef\x50\xce\x27\x1a\x23\xdb\x8f\x18\xe2\x84\x62\x90\x22\x15\x79\xc4\x33\x8a\xe9\xd3\x6b\x8e\x0c\x71\x44\x31\x7d\xbb\x8a\x3d\xe2\x09\xc5\xf4\xf1\x82\x7c\x0d\x71\x4c\x31\xad\x80\x91\x84\x88\x67\x15\xde\xef\xa7\x49\x3f\xf7\x87\x93\x84\x5f\x29\xe7\xab\x92\x4d\x43\x88\xbd\x52\xce\xa7\xe0\x8d\x28\xf0\x5c\x1a\x8e\x26\xe3\x7c\xaa\xcd\x5f\xac\x43\x74\xda\xae\xff\xd7\x86\x29\x33\xd2\x51\x5b\xfa\xdc\x2e\x59\x49\x6c\x3f\xd9\x73\x35\x9f\x18\xd3\xfa\x74\xf2\xaa\x9a\x36\x03\x81\x5a\xe7\x89\x50\x3f\x81\x6d\x36\x71\x2c\x89\x90\xef\x84\xc4\xc0\xe3\xd6\x2f\x63\xb9\x82\xb3\x82\xdf\x21\x35\x46\x52\xc9\x37\x81\x91\x8e\xed\x3d\xfe\xbe\x0c\x42\xf1\xf5\x34\xec\xc0\x8d\x60\xfb\x78\x59\x6a\xcb\x3b\xbc\xc5\xc9\xcd\xdc\xb6\x4a\x52\x4c\x79\x57\x77\x84\xf9\x1e\xeb\xdf\x64\xab\xb7\xf9\xed\x55\xf6\xcf\xc7\xac\x58\x85\x9e\xe7\x65\x60\x84\x83\xbc\xf9\x45\xf3\x09\xfe\x1f\xf9\xed\xd9\x04\x77\x82\xe7\x38\x62\xcb\xa4\x45\x3b\x5b\x4b\x68\xc0\xa3\x14\x40\x14\xfe\x34\x8d\x06\xe4\x73\x8c\x9e\xde\x6d\x8c\x5e\xbd\x7a\x65\x3a\x46\xdb\xcf\xcf\x6f\x4b\xf6\x6e\xe4\x9b\xff\xc9\x66\x45\xf6\x7f\xa4\x73\xed\x0f\x88\x73\xad\x4d\x9e\x63\x1c\x68\x65\x5c\xbc\x27\x59\x14\x6c\xd3\x06\xe9\xce\xae\xf5\x42\x02\x67\x57\x8f\x95\x6c\x41\xc7\xf1\xa9\xed\xfc\x53\xb1\xb2\x7a\xd3\xa5\x22\x7d\x9b\xdf\x16\x2d\x62\xce\x1a\x6f\x15\x76\xa0\x92\x55\xc1\x11\xd4\xac\xed\x55\x5b\xa5\xf7\xef\xed\xad\xff\x5d\xc1\xf4\xaf\xed\x2f\x55\x4a\xd7\x8a\xe8\x2a\xbb\x7b\xde\x3d\x2a\x52\x98\x57\x9a\xb6\xfc\xa3\x03\xd9\x0e\x23\x02\x01\x36\x0f\x2a\xe0\xd2\xc5\x62\x36\x1d\x57\xa6\xb4\x03\x79\xd4\xff\x06\x83\x15\x1e\x56\x40\xaf\xaa\x4b\xf2\x97\xd5\xac\x98\x0e\xf6\x8d\xf0\x23\x0c\xbc\x1e\x34\xa3\xae\x40\xd3\xa6\xd0\x2f\x41\xdb\xf3\x00\xaf\x81\xd0\xec\xa1\x40\xfd\x47\x7e\x5b\xac\xd2\x55\x56\x15\x9e\xcf\x1f\x67\xb3\x57\xaf\x36\xf2\x57\x46\x6f\xb0\xd9\x17\xc9\xfe\xe6\xe6\xdf\xea\x88\xd7\x61\x9e\x2c\xd2\x2f\xd3\xb9\xbc\x8e\x97\xdd\x4f\x6e\xca\xfa\xe7\x0c\x42\x99\xb3\x94\xa8\xab\xa2\x1b\xcd\x10\x2b\x88\x40\x23\x00\x12\x86\x37\xc6\x04\x50\x31\xa3\xda\xce\xe5\x91\x76\xf6\x0f\xe8\x2a\x66\x59\x21\x00\xe5\xcb\x85\xa8\x67\xf4\x48\x3a\x48\x5f\xa3\x28\xf0\x35\xd6\xa2\x76\x81\x69\x6b\x15\x96\x1e\xb6\x07\x29\x13\x74\x0d\x8d\x3a\x51\x49\xc1\x14\x8a\xfa\x4f\xaf\x14\x03\xa9\xac\x95\x16\x8d\xc0\x46\xd1\xc1\xb4\x49\xfa\x53\xaf\x4c\x83\x99\x2b\xb6\xbb\xd1\x38\x2c\xea\x4e\x04\x9b\x5b\xa5\xac\x56\xc4\x95\x9b\xad\xdc\x29\xcb\x57\xe5\x0e\x3b\xc9\x66\xd3\x87\xe9\x2a\x9b\x6c\x6c\xfe\xad\x26\xe7\x32\x1d\x7f\xcd\x26\xa7\xf3\xc7\x87\x8d\xcd\xc3\x8f\xf5\x6f\xf5\x5f\x9f\x92\xe9\xab\xad\xbf\x4e\xff\xbf\x65\xe3\x93\xfd\x75\xfa\x7f\xff\xef\x66\x75\xfa\x7c\xdb\x28\xef\x8d\xe5\xc7\xe9\x27\xad\xac\xce\xb9\x28\x9a\xf2\xc5\xaf\x8a\xae\xb7\x11\xcb\xd2\xdb\x84\xf0\x2c\x94\xdd\x35\x8a\xe1\xaf\xab\xd8\x78\x3d\x76\x24\x74\x47\xda\xe9\x87\xba\x49\xb1\x75\xe0\x65\x5f\x6b\x25\x55\xd0\x97\xce\x3b\x56\xdb\x5a\xeb\xe7\x65\x74\xa2\x1f\xa6\x20\xdb\x86\x90\xb5\xca\x13\x89\x4a\xf5\xcf\x14\x74\x3b\x10\x3a\x51\x1b\x22\x51\x6a\x6e\x9b\x82\x73\x17\xc2\xd9\x28\x38\xec\x62\x8a\x1e\x9d\x82\x6a\x0f\x5c\x4d\x51\x51\x81\xdd\x0f\x6f\x05\xbf\xcf\x78\xdc\x13\xf4\x51\x55\x1b\xa9\x50\x2a\xfb\x78\x0a\xad\x2f\x5c\xb4\xea\xea\xc3\xde\x27\xe1\xa1\x02\xc4\x2d\xc0\xdc\x33\xdd\xc1\x4d\x9c\x25\x68\x2e\xf5\x64\xa2\x0d\xdf\x3b\x4d\x3b\x8d\x2a\x21\x42\xd7\xaa\x74\xb3\xa0\x3b\xe5\x01\xf7\x51\xdb\xd1\xdd\xa7\x85\x0b\x19\xd0\x54\xed\xcd\x76\xfe\x59\xc0\xa2\x5b\xe8\x9c\x08\xe9\x64\x39\x76\x0c\xb0\x4e\x18\x90\xdb\x02\x18\x0e\x0f\xf6\xc5\x4f\xf4\x75\x32\xdb\x77\xac\xaf\xe7\x92\xca\xa6\x80\x99\xdd\xa2\xaf\xed\x9c\x26\xe9\x64\xb9\x91\x3e\x34\xdb\x81\x2c\x1f\xc0\x76\xf7\xda\x74\x63\x1f\x05\x63\x1a\xc8\x7e\x37\x42\xb7\x08\x78\x2e\xb1\x62\x9a\x99\x65\xa0\x39\xc9\x38\xe7\x74\x38\xd9\x6f\xa6\x0d\xcd\x7f\x20\xed\x09\xf0\x1f\x58\x98\x7e\xe8\x89\xe0\xda\x04\x4a\x00\x80\xd2\x2d\x02\x9e\xcb\x3c\xd0\x68\x14\xe7\xa0\x4b\xb7\xda\xf7\x1f\x92\x02\xd4\x59\x43\x7a\x9f\x75\x5c\x8a\x5b\xf3\xfb\x8e\x4e\xf1\x5c\x56\xc5\x71\xc5\xe6\xb1\xc5\xa4\xac\x37\x3f\xcd\x88\x2d\x3c\x95\xd3\xc0\xff\xfe\xf7\xc7\x4f\x9b\xff\xf9\xc1\x03\xaf\x70\xc8\x27\x65\xa3\x95\x34\x34\x29\x80\xa8\x88\x13\xb0\xe0\xad\x48\x49\x07\x8a\x2a\xb9\xec\xb9\xa9\xbb\xe3\x01\xe3\xb6\xd6\xa3\x1d\xce\xc9\x3d\xee\x7d\x6d\x20\x10\xbd\xb3\x81\xe1\x47\xd0\xce\x76\xad\x4d\xb7\xb7\xfb\xa3\x59\xe8\xee\x76\xa1\x03\x6e\x6c\xc0\x21\x2d\x16\xf9\xbc\xc8\xf4\xbc\xd9\x88\x23\x6f\xd6\x00\x67\x4b\x9c\x35\xf0\xbc\x32\x67\xca\xbb\xb6\xd4\xd9\x3f\xf2\x5b\x78\x04\xd0\xdb\xe6\x21\xd7\xfc\x9f\xb7\xf9\xad\x38\xee\x87\x2b\x4d\xa3\x2f\x01\x77\x9e\xa6\xc1\x30\x40\xa2\xa6\xc6\x44\x08\xff\xd9\x48\xf3\x49\xd5\xc0\xb0\xd6\x96\xab\x79\x9b\xdf\xe2\x33\x34\xa5\x9c\xc1\x63\x65\xca\x6f\xa6\xa6\x64\x74\xb1\xf3\x8b\x50\xc3\x2b\x1d\x37\x44\xad\x69\xa1\xb8\x31\xea\x06\x5d\xac\x20\xb5\x1b\x3c\xa6\x39\xa2\xd7\x5e\x88\x99\x2b\xce\x78\x75\x29\x7b\xd8\xc0\xaa\x33\x5c\xe9\x0c\x54\x1b\x64\x29\x28\x5e\xa9\xc9\x83\xb0\x26\x11\xea\x32\xdf\xe6\xb7\xd8\x90\x9a\x41\x52\x0d\x94\x91\xcb\x30\xd1\x51\x4b\x0d\x7f\xa3\x39\x02\xcb\x30\x47\xae\x32\xcc\x72\x79\x68\x2a\xdb\xe0\x1d\x23\x3c\x63\x92\x57\x6c\x12\x91\xe8\x6e\x71\xa3\x63\x91\x31\x39\x93\xac\x04\x39\xc6\xe8\x50\xa7\x99\x0d\x31\x3d\x63\x0d\x63\x98\x6b\xbc\x1d\x5c\x77\x7b\xbd\x5a\x66\xe9\x03\x6b\xf5\xad\x0c\x92\x5c\x83\x6b\x7e\xfd\x09\x55\xe2\xca\x04\x46\xae\xc7\x95\x90\x21\xeb\x41\x01\x02\xa9\xb5\xb9\x68\x70\xdf\x57\x85\xae\x4d\xf2\xe3\xd5\xe9\xca\x18\x63\x54\xeb\xa2\x30\x0c\x50\xb3\x6b\x5b\xdb\x21\x2a\x77\xed\x7c\x8d\x5a\xbf\x2b\x23\x6f\xf4\xbc\x78\xad\xe6\xab\x8f\x1f\x47\xc9\x76\xf2\x22\xd9\x49\xf6\x93\xdd\x64\xef\xd3\x27\x22\xb0\xd3\xdf\xb2\xf9\xea\x38\x2d\xb2\x57\x7f\x9c\xfe\x72\xfa\xfe\xe6\xf3\xfb\x8b\x9b\xcf\xd7\xa7\x37\x87\x5b\xc9\xc5\xe5\xe9\xfb\xc3\x51\x72\x7d\x73\x74\x73\x7a\xb8\x9d\xbc\xbd\x78\x7d\xf8\x22\xb9\x39\xbd\x7a\x77\xf6\xfe\xe8\xfc\x70\x27\x39\xb9\xf8\xf5\xfd\xf9\xc5\xd1\xc9\xe1\x7e\x72\x7a\x75\x75\x71\x75\xb8\x9b\x1c\x5f\xbc\xbb\x3c\x3f\xbd\x39\x3d\xdc\xa3\x7e\x94\xc4\xce\x9e\x28\x17\x4b\xc7\xf9\xc3\xe2\x71\x95\x55\x97\x93\x96\x0f\x03\xbe\x04\xb8\x96\x1f\xb7\xc2\x3b\x4e\xac\x5f\xc5\x60\xfa\xe8\xe1\x1d\xe7\xfb\xc6\x10\xcf\xf2\xd5\x1f\xf9\x22\xeb\x63\x30\x17\x8b\x0c\x88\xbe\x18\x71\x94\xaf\x29\x75\xbc\x55\xec\xb5\x83\x5b\x5d\x4a\xea\x01\xb8\x7a\x4f\xaf\x10\xee\xe0\xbe\xcd\x6f\x3d\xa0\xbe\xcd\x6f\x8f\xef\xd3\xf9\x17\x15\xf2\x2a\x5b\x3e\x4c\xe7\xe9\xac\xaf\x92\x6e\x7e\xf0\xc0\xd1\xbe\xaa\xa0\x98\xe4\xbf\xcf\x67\x79\x3a\xe9\x50\x9c\x34\x3f\x78\xa0\x68\x5f\x55\x50\x64\xcb\x65\xde\x17\x7a\xd7\xb7\xe4\xd0\x81\x57\xef\x29\x90\xc7\xcd\x1d\x6d\x1d\xf0\xf6\xd2\x36\x0f\xf8\xed\xab\x8e\xd8\xdd\xd2\xea\x60\x2d\xf1\x0e\x56\xec\xf8\x9d\x09\x1b\xd1\x94\x87\xc7\xf1\xa8\xf0\xd6\x16\xcb\xb3\x6a\x0f\x7c\x84\xcf\xae\x80\xe0\x90\x5a\xa5\xde\x88\x71\x3f\xbb\x5e\xc2\xc7\xff\x1c\xba\x0d\x26\xba\xd6\x9d\xfa\x94\x4a\x3a\xd5\x9d\xde\x0b\xa4\xbc\xd7\x9f\x30\xf5\xa5\x86\x26\x96\x98\x3b\xf5\x69\x20\xe9\x9d\x5a\x46\x94\x78\xb7\xca\x5f\x9f\x25\x4a\x27\xbf\xd5\xd5\x81\xe4\x77\x2a\x1f\x26\xbf\x33\x2c\xc4\xd2\x79\xbb\x35\x08\xa4\xbd\xb6\x28\x30\xe1\xb5\xc5\x22\xd6\xd4\x3b\x6d\x4c\x20\xe1\x9d\xa9\x82\x69\xef\x0c\x62\x78\xc4\x1e\x70\x30\xe3\x9f\x30\xa3\x44\xee\x29\x28\xf0\x35\xe6\x9d\xdb\x4a\x29\x2f\xb7\x1b\x12\x64\x10\xbf\x77\x6a\x29\xf1\x7b\x87\x2d\x40\xe2\x6d\x9d\x5e\x4a\x91\x33\xa0\xc7\xb1\xe5\xe7\xa2\x3f\x4c\x29\x77\x77\xeb\x62\x24\x76\xc9\x55\x56\xb0\x3b\x87\xe1\xbb\x55\x29\x12\x7b\xef\x48\x53\x6a\xee\x1d\x9a\x10\x89\x57\xf2\xb1\x29\x35\xf8\x6e\x5d\xc6\x7f\x17\x80\x7d\x3f\xc5\x38\x16\xab\x47\x4e\xaf\xb3\xb1\x04\xc4\x1c\x1d\xe6\x0f\xf9\x3a\x5d\xd6\x98\xc7\x92\xda\xd1\xf6\x5f\x6d\xee\x03\x0a\x04\xd4\xe7\x94\xa2\x1f\x4f\x92\xc0\xd0\xae\x59\x90\x07\x33\xbf\x2e\x83\xc4\x69\x83\x5d\x78\x14\x46\x30\xab\x88\xda\xf6\xc5\xd0\x11\x5a\xf4\xc8\x4b\x49\xc8\x50\x6c\x95\x52\x8b\x65\xf6\xdb\x34\x7f\x84\xaf\x06\x19\x25\x5b\x9b\xc9\xf8\x71\xb9\xcc\xe6\x98\xa1\xac\x5b\xc4\x80\x97\x58\x68\xd5\x44\x6d\xaa\x1b\x58\xa7\xf3\x2f\xa4\x8b\x45\x38\xaa\xa8\x28\xc7\xde\xa8\x8a\xaf\xc2\xe9\xb7\xff\xc0\x53\xba\x97\xea\x03\xa1\xc6\x9f\xf7\x5a\xf7\xf2\xfe\xd0\x64\x2b\x6a\xe1\xb5\x0e\x7c\xad\x1f\x6e\xce\x38\xb5\xec\x52\x4f\xf5\x55\x65\x03\x63\x19\x97\x31\xb6\x60\xbe\x42\xe4\xb8\xdd\x01\xb1\x8e\x65\xaa\x0a\x1b\xcc\x3a\x38\xcf\x0d\x9c\xe6\xc1\x89\xc8\x75\x50\xdb\xfa\xf1\x95\xd0\x9b\xdb\x88\x99\xe0\xca\x56\x92\x55\xcd\x9f\x15\x9f\x6c\x65\x4c\x7d\x70\x5b\xef\xfc\xb4\x9c\x86\x9c\xc7\x11\x67\xa5\x56\x47\x43\x27\x35\xa6\x7b\x3f\x42\x45\x44\x58\x0e\xdf\x44\xa6\xb3\x5c\x04\x29\xa7\x06\x22\x9c\x19\xcd\x92\x0b\x81\xf9\x4c\xc3\x4a\x34\xec\xf6\x1d\xf5\xc9\xb2\x10\x1a\x0d\x94\x75\x00\xaa\x85\xb0\xeb\xf0\x36\xbf\x65\xac\xa6\x2a\x35\xae\xb3\x9f\x0d\xbb\x34\x12\x59\x5c\x5d\x83\x28\xe4\x6d\x49\x9b\xbb\x9a\x0d\x51\x3d\x85\xc2\x76\x9f\x16\x66\x5c\x01\x3d\x83\xe8\x2d\xd0\x6a\x9b\xa8\xb7\x91\xa0\x37\x83\x4e\x8d\xd7\xad\x24\xac\x07\x85\x3e\x5c\x15\xe3\xb0\x60\x4c\x0a\x7b\x1d\x18\x74\x48\xb6\xdc\x7b\x98\x67\x1f\x2d\x59\xea\xc8\xef\x44\x75\xd3\x3b\xbc\x7e\xce\x10\x2a\x2d\xe5\xe5\xae\xa3\x20\x47\xa9\x5c\x1b\xb4\x33\xa2\x73\xa9\x59\x6a\xe2\x1c\xbb\x76\x30\xff\x18\x8c\x70\x73\xfa\xc8\x20\x32\x93\x1a\xf8\x01\xe5\xcd\x7a\xf7\x1d\x70\x70\x2b\x8a\x63\x42\x37\x53\x66\x41\xf2\x74\x4e\x7c\x1c\x57\x13\x01\x71\x1d\x14\x13\x46\x4f\x27\x65\xc4\x6d\x8d\xbb\xfc\x49\x0c\x63\x6c\x2a\x6d\xf2\xb2\xc5\x1a\x20\x9b\x29\x9e\xa4\xab\xf4\x3a\x7f\x5c\x8e\xb3\xab\xec\xae\xaf\xce\x12\x7f\x85\xcd\x73\xff\x78\xd5\xb8\x3f\x8c\xb5\xb6\xd7\x04\x44\x35\xd6\x2d\x5a\x3f\xc5\x8c\x29\x64\xf0\x32\xd5\x18\xc0\x6b\xb1\xd4\x8a\x70\xd0\x0c\xb7\x22\x58\x88\xea\x0f\x49\x70\x79\x2d\xba\x61\xe7\x0f\x66\xd0\xa1\xac\x2d\xa7\x3d\x87\x70\x21\xcc\xb9\xae\x3f\xa8\x86\x5d\xe1\x3c\x97\x9d\x37\xf0\x50\x25\x97\xd7\xe0\x2b\x1f\xe2\x61\xff\x8d\x62\x67\x23\x39\xaa\x23\x60\xa0\xa4\xf2\x03\xa0\xe5\x6b\x3d\x02\x59\x2a\x3c\x7d\x03\x03\x11\xf7\x69\x01\x91\x10\x30\xeb\xcc\x5d\xc3\xc1\x39\x32\xc1\x8d\x29\x86\xbf\x61\xaa\xd6\xf6\xf2\x37\x34\x40\xe6\xaa\x82\xec\xb7\x6c\xbe\x82\x27\x2b\x9c\x76\x8f\xb9\x66\x2b\xb8\x09\xa9\x60\x48\xb3\x17\x6e\x2b\x7d\x98\x4d\xb0\xf9\xc0\x6d\x2d\x1f\xc8\x59\x07\x61\xaf\xc8\x8c\xea\xbe\xb4\x68\xfd\xcc\x10\xa6\x8c\xd4\xcb\x7d\xc1\x00\x7e\x5a\xd5\xdb\xb2\xa0\x05\xd6\x71\x2b\x52\x0b\x4f\x72\xa8\x77\x88\x35\x6f\x29\x66\x01\x5f\x37\x62\x1f\x2b\x09\x68\x50\x50\x83\xb9\x45\x50\x29\x1d\xa7\x5b\x04\xe1\xc2\x0c\x5d\x10\x15\x5b\xe8\xd8\x05\x8c\x20\x81\xc9\xbe\x4e\x38\xd4\x5c\xdf\xb6\x47\xae\x4f\x41\xae\x34\xf0\x6d\x27\x3b\xc9\x6e\xb2\x97\xec\x27\x2f\x92\x03\x72\x03\x9f\x02\xdb\xd1\xcf\x77\x7e\xf6\xfe\xf4\x70\xbb\xea\xe7\xfb\x70\x7d\xb8\x93\xbc\x3f\x7a\x77\x7a\xf2\xf9\x97\xa3\xf3\x0f\xa7\xd7\x87\xbb\xc9\xd5\xd1\xaf\x87\x7b\xc9\xcd\xd1\xeb\xf3\xd3\xc3\xfd\xe4\xfa\xe6\xf4\xf2\xf3\x9b\xab\x8b\x0f\x97\x87\x2f\xaa\x3f\x0e\x0f\x02\xbf\x5a\x72\x2c\x87\xeb\xf0\x73\xac\x7d\x84\x86\x3f\xeb\x37\x47\x70\x4d\x64\x43\x1e\xec\xa0\xc8\xe0\x6c\x61\x91\xd5\xf4\x21\x2b\x56\xe9\xc3\xa2\xef\x89\x6b\x7f\xa9\xb6\x4a\xf1\xbc\xfb\x5b\x29\x3b\x92\xae\x06\x39\x07\xaf\x05\xc1\x10\x5b\x42\x31\xb4\x19\x3e\x16\x52\x9f\x61\x53\x5f\x10\x84\xa9\x86\xa3\xe0\x9a\xa7\x0f\xd9\xe4\x97\x74\xf6\x98\xf5\x08\xdf\xf7\xbf\x85\x63\x15\x80\x29\xa8\x97\xe9\xef\x1d\xca\xab\xf4\xf7\x70\x54\x57\xe9\xef\xda\x35\x31\xb7\xb3\x4c\xb8\x1f\xe6\x76\xc6\xc0\xb1\x0a\x8c\xc6\xb2\x6c\x51\xed\x48\x81\x6b\xcd\x2f\x1c\x8c\x6b\x40\x19\x90\x4a\xf8\x78\x50\x0d\x14\xe2\x83\xdc\xa2\x41\x3c\xe5\xc6\xc1\xe3\x50\x62\xd1\xbc\x66\x10\x7c\x6c\xdf\x59\xd0\x87\x9a\x2b\x2c\xea\x4a\x44\xfb\x59\xa7\x67\x39\x1a\x16\x0d\x9a\x94\xab\x93\x4e\xd0\xcd\xf0\x57\x9d\xeb\x57\x91\x84\xf5\x03\x4a\x0a\x9b\xf7\x93\x1a\x23\x80\xeb\xd0\xd4\x8a\x27\xfd\x1a\xed\xec\x16\x81\xf7\xdb\x44\x53\x03\x7f\xa0\x68\xe5\x38\x1a\xf3\x74\x63\xc4\xfb\x75\xa5\x75\x83\xbf\xaa\x34\xa4\x1c\xbd\x9d\x26\x9b\xc7\xfb\x3d\xb5\x19\xc5\xdc\x4a\x54\x5a\x6d\x8e\x56\x61\x9b\x59\xe5\xde\x61\xad\xb5\xc6\x6c\xb2\xd6\x49\x90\xbf\xef\x80\xeb\xfb\xf8\x3f\x0d\xf9\x55\xd1\x03\x12\xea\xe1\x64\xf8\xb0\x84\xf3\x14\x1e\x25\x38\xe1\xc4\x88\xef\x2c\x95\x4f\x3b\x86\xe4\x8d\x68\xd4\x91\x1d\x7d\xe7\x96\x1b\x75\xe8\x6d\xa3\x26\x1b\x4c\x68\x5e\x95\x2b\xb1\x19\x1a\x39\x25\xbb\x89\x24\x44\x3d\x41\x05\x77\x57\x3a\x2c\x1d\x92\xa4\xf6\x84\x15\xdc\x6d\x69\x30\x4b\xe8\x8b\x9e\xda\xf3\x57\x70\xa3\xab\xd1\x96\xa0\xa5\x44\x3c\x99\x05\x37\x1c\x5b\xd5\x3f\x81\x1c\x13\x25\x07\x1c\x94\x0c\xd5\x12\x6b\xde\x2d\x03\x84\x8e\xf4\xa0\x06\x47\x04\x49\x81\x6a\xce\x77\x35\x61\x1a\xd4\x90\xc5\xe4\xa1\xf8\x82\x68\x8c\x2b\x9f\xac\x4e\xf5\xc8\x2c\xd6\xce\x30\x59\x2c\xf7\xd1\x61\xc0\x83\x7a\x43\x03\x8b\xe1\x86\x4f\x42\x1c\xc7\x76\x18\x4b\xfc\xae\x38\x79\x46\xa4\xf1\x60\xd7\x67\x97\xda\x87\x6b\x57\xee\x5d\xf1\xc5\x70\xb2\xd5\xf3\x50\x03\xba\x7c\x9a\x6e\x59\x97\xe7\xe7\x76\x09\x22\x3a\x80\x6e\xc4\x98\x54\x55\xe7\x28\x39\xa7\x59\x76\x89\xa4\x52\x0a\x1c\xcf\x6e\x8b\xcf\xaa\xe6\xac\x92\x92\x9d\xf0\x84\x93\xc6\xf6\xee\x33\x86\x98\x99\x89\x16\x45\x8d\xa6\xf8\xb3\x34\x11\x0b\xf5\xae\x00\x5b\x70\x6c\x7d\x68\x71\x56\x49\x22\x88\xb6\x44\x3e\x6d\x69\x28\x59\xca\x16\x41\x6d\x4a\x3b\x3e\x6d\x4a\x28\x81\x12\x09\x23\x76\x2c\xed\xf0\x77\x2c\x99\xce\x67\x03\x38\x7a\x6a\x9e\x8c\xc3\xcd\x93\x60\x9a\x9d\x3c\x8c\xdf\x36\x6a\xfc\xb6\x6f\xb3\x0c\xe7\xe3\x0d\xe5\xb1\x99\xe3\xd7\x43\xfa\x6b\x25\x05\x2c\xc6\x16\x0a\xc5\x73\xf8\x6a\x10\x8e\xa1\x3d\x35\xdd\xf9\xb2\xb9\x69\xd7\xa5\xec\x0d\xe4\x7f\x29\x1b\x7e\x5d\xde\x97\x2b\x2e\x14\xd1\xf7\x72\xa1\xc5\x78\x5e\x80\x2b\x35\x92\x5d\xa9\x6f\x55\xbc\xc4\xe9\x78\xf1\x72\x33\xc4\x57\xe0\xf0\xa8\x34\xe1\x0a\xf1\x14\x18\x9c\x29\x7d\x79\x2a\xa6\xac\xcf\x99\xd2\x17\x48\x21\xc8\xc7\x99\x8a\xe9\x1f\x5c\xa5\xbf\x0f\xe1\x1e\x28\xb5\x1f\x1c\xde\x81\x08\xd2\xec\x1c\x4c\xd2\x55\x7a\xd8\xf5\x54\x7d\x4e\x8b\xd7\xfb\xbb\x1b\xa5\x27\x30\xc9\x96\xcb\x27\x56\x89\xec\x48\x22\x0e\xe9\x10\x5c\xa5\xbf\xb3\xa8\x7f\x20\x1b\xca\xe1\x0e\x00\x28\xe2\x7b\x03\xaf\xbf\xad\xb2\xa2\x75\x06\x4a\x09\x43\x95\x04\x5f\x57\xd2\x37\x90\x33\x20\xef\xee\x75\xf9\x02\x8e\x1c\x44\x44\x57\xc0\x81\x15\xe3\x09\x34\x2a\xe3\xc3\x81\xd1\xc2\xd7\xbc\x57\xdc\x81\x8a\xb1\x11\x8a\x79\x65\x2e\x36\xb4\xad\xcf\x09\x30\x92\x53\x6b\x57\x27\x51\xb7\xe5\x9a\x1d\x55\x4a\xb8\xea\x4a\x6a\xde\xdc\xd8\x8c\x45\xd0\x87\x03\x0c\x3d\x1f\x0e\xa2\x92\x53\xa8\xec\x72\x87\x08\x4a\x9a\x78\x7d\x24\x6d\x75\x6a\x41\x0d\x0a\xa6\x6c\x33\x04\x53\xb4\x65\x52\xe9\x22\xc6\x52\xe2\xfb\x4a\x7d\x5a\x77\x08\x97\x49\xc0\xc6\xec\x39\x19\x20\x9b\x1d\xa8\x79\xfa\x00\x87\x4c\xea\xf0\xca\x6f\x25\xb8\xa7\x15\x5e\x11\x3e\x73\xad\x3e\x55\x4f\x07\x8b\x35\x75\x7d\x16\xaf\x87\x85\xc3\x34\x74\xd8\xa5\xa4\x0a\x19\x77\xa9\x68\x1f\xc8\xd5\x32\x2a\x87\x75\x79\x5c\x02\x31\xc3\x3b\x5e\x30\x72\x8c\xff\x55\xb1\x19\x1b\x8a\xa9\x19\x1d\x37\x14\x63\x64\x70\x43\xe8\xfa\x9c\x31\x8b\xd8\x29\x54\x0d\x1e\x98\xb1\x2d\x56\xf5\xd3\xfa\xc2\x33\xb6\xd5\x52\xc8\x1a\x3c\xe3\x25\x16\x8c\x0d\xd7\xd5\xae\xe3\x1e\xd4\xad\x61\x2f\x0b\x32\x81\x36\x3b\x36\x95\xb7\x02\xf7\xc2\xff\xd2\x3d\x16\xda\x0b\x6f\x70\xb9\x4a\xa9\x19\xdc\x13\x5a\x73\x7d\x90\x40\x08\xb3\x9d\x8b\x5e\x29\x84\x44\x35\xfc\x9c\x1f\xa2\x0b\x1a\xa9\xa5\x03\xd1\x37\xdf\x35\x73\x70\x0e\x06\x42\x29\xb3\xf5\xbb\x61\xeb\xa8\x43\x42\x60\x77\x5e\xa9\x2b\x6a\xbf\x21\x1a\xe6\x61\xbf\x91\x73\x45\x74\xb7\xc4\x76\x87\xbd\xe4\x9b\xd8\xef\xd8\x67\xa2\x2c\x64\x20\x8e\x7b\x0f\x18\xbf\xd2\xe2\xea\xd8\x3f\x93\xd5\x39\x14\x09\xec\x34\x84\x22\x94\x1a\x79\xe9\x64\x72\x93\x3b\x09\x64\xe3\x05\xab\xd5\xe8\x3f\xb5\x9a\xdc\xe4\x94\xb9\x76\x6c\x93\xb0\x07\x3f\xc6\x9e\x24\x50\x55\xe9\x9f\xce\x57\xcb\x6f\x43\xf8\x81\x02\x36\x66\x37\xd0\x00\xd9\xe1\x05\x22\xe3\x5b\xe3\x7c\x96\x2f\x9f\x56\x7c\x4b\xf8\xce\xb5\x3a\x75\x3d\x1d\x2c\x46\xd3\xf5\x59\xbc\x2e\x1d\x0e\xd3\xd0\xf1\x2d\x25\x68\xe5\x0c\x70\x1d\x97\x52\x39\x50\x80\xcb\xa8\x1e\xd6\xe5\x59\x09\xc4\x0c\xef\x58\xc1\xc8\x31\x01\x2e\x30\x66\x25\x45\xb8\x6a\x4e\xc7\x8d\x70\x19\x39\x1c\x16\xb4\xe1\x08\x71\x59\x04\x2f\x2c\x68\xc3\xe0\xc6\xd8\x96\xab\x62\xd5\xfa\x62\x5c\xb6\xe5\x52\xc8\x1a\x3c\xc6\x55\xd1\x75\x95\xff\x3e\x78\x80\xab\x43\x3c\x94\x57\x53\xe2\x8a\xe1\xd3\x88\x70\x2d\x33\x1e\xe7\xab\xe5\x14\x11\xd8\x3a\xed\x9f\x0b\x8d\x6c\x19\xbc\xad\x01\x23\x5b\xdd\xba\xac\xdf\x03\xba\xca\x79\x4a\xa7\xec\x9f\x14\xc1\xfb\x01\xf0\x3c\xcd\x68\x96\xe0\x70\xf2\x8f\xbc\x00\xfd\xc1\x76\x0a\x64\xbd\x85\xe2\x86\xb3\x0c\xaa\x6b\xad\x1e\x57\x49\xca\x9a\xfc\x2d\x07\x6a\x67\x14\x4b\x52\x75\x43\x84\xb1\x60\xef\x90\x6d\x3d\x24\xb7\x43\xf8\xd0\x35\x05\xb1\xfa\x2f\x0f\x0f\x62\x19\x25\xdf\xfc\x8d\xeb\x08\x61\x19\xc8\xeb\x75\xc2\xba\x03\x58\x02\x1f\xf8\xac\x84\x12\xbd\x72\x4b\x5b\x1b\xbe\x12\x37\x5f\x15\xbf\x0a\xa7\xc5\xe0\x3e\x26\xdb\x03\x38\x90\x83\x79\x8f\x51\x5c\x47\xf0\x2e\xe1\xfb\xca\xb6\xd5\x9e\xe3\xfc\x71\x36\xab\xee\xc5\x34\x2a\x8d\x46\x52\x93\xd1\xe6\xe6\xdf\xea\x23\xed\x61\x9e\x2c\xf3\xdf\x61\xaf\xf3\xaa\x79\x88\xc5\xe5\x14\x9d\x61\xd5\xe1\xe4\xbc\x3b\xd8\xb8\x9a\xeb\xf7\x36\xf9\x6c\xfa\x20\x7e\xe6\x93\x09\xb0\xa5\x93\xc9\xcf\xb5\xa8\xc7\x98\x71\xd8\x4a\x66\x84\x51\x6c\x80\xa7\xde\x78\xa5\xe5\x16\x1b\x32\x1e\xf8\x54\x1c\xd3\x75\x79\xa5\x21\x01\xc0\x9f\x7b\x95\xeb\xf4\x4c\x4d\xe1\xc0\x5e\x95\x22\x5c\xda\xe0\x21\x5f\x90\x03\xce\xb3\x94\x92\x37\x2b\x2c\x0e\xd6\x9b\xe5\xb9\x54\xc4\x26\xdc\x66\x8a\x2c\xbe\xa7\xec\xcd\xfd\xfb\xdf\x5c\xbe\x8f\xe4\x6d\x36\x04\x91\xbc\x4d\xc5\xcd\x64\x52\xee\x8a\x6f\xe8\xe6\x5d\xeb\x1b\x8a\xe2\xcf\xbf\x3e\xc2\x1e\x59\xe7\x69\xa8\xb4\x05\xdb\x11\x84\x51\xff\x36\xf2\x29\x88\x2b\xa4\x2b\x0b\x65\x49\x58\xe0\xf9\x67\x9b\xe5\xfc\x53\x59\xe1\x28\xe2\xed\x90\xab\x56\xb6\x3b\xf5\x1c\x3d\x69\xdf\xcf\xb3\x1b\xe0\x7c\x62\x9c\x74\xce\x33\xd0\x4d\x05\x6c\x8e\x6f\x8f\x67\x79\x91\x61\x3b\x77\x47\xc3\x4e\x5f\xb3\x8e\x95\x1d\x76\x00\x5b\x43\x06\xd3\x08\x2d\xc4\xac\x5c\x9e\x31\x6c\x08\x44\x51\x82\xd1\x62\x83\x6e\x9d\x7f\x3f\x2e\x65\x2c\x6e\x58\xd7\xb4\x69\xd7\x37\x26\x0d\x18\x88\x19\x75\x52\x1a\x80\xdb\x19\xd9\xad\x19\xa5\xf6\xdb\x8e\x38\x66\x99\xe9\xec\x69\xf1\x05\xb5\x4d\x8e\x58\x66\x50\x99\x64\x47\x25\x8e\xd8\x3b\x39\x8a\xde\x3b\x59\x4d\x3b\x1d\xc8\x44\xc5\xb0\x4e\x80\x61\x9a\x4e\x10\x75\x64\x5b\x9b\x09\xc9\x80\x55\x5d\xb6\xa8\xd1\xa4\x3b\xcd\x88\x2b\xd4\xc4\xd3\xdd\xea\xe1\xfc\x71\xb5\x78\x5c\xd5\xe3\x31\x2e\xaa\xff\x6f\x07\x64\x0c\x69\x32\xd7\x6f\x2d\xd9\x94\xe8\x10\x36\x72\xbd\x61\xb4\xb3\xf9\x6a\x67\xbb\x35\x93\x67\x13\xd4\xb8\x8b\xd6\x9a\x9a\x67\x94\x42\xd3\x4c\x77\xad\x03\xb5\x0c\x43\x52\xf7\x0e\x95\xc9\x1c\xf5\xb3\xb5\x70\x0f\x36\xfd\x34\x7b\x2a\x46\x7d\x4d\xf6\xdc\x67\xfe\xfd\xd6\x8f\xaf\xba\x79\xdb\x67\xd2\x7d\x78\xb5\xc8\xc9\x95\x70\x46\xb3\xbf\x4d\x18\x88\xba\x23\x8f\xed\x80\x66\xad\xee\x8a\x8f\x77\xaa\xd2\x39\x18\x64\x8f\xc7\x09\x91\xfd\x8f\xb3\x89\x6f\x0d\x1e\xfd\xa6\x5f\x48\xac\x25\x62\x9c\xce\xc6\xd9\x7c\xc5\x3d\x40\x55\x5d\x98\x70\xc7\x8c\x63\x9e\x85\xbe\x46\x61\x3e\x19\xcb\x20\x55\x75\xa9\xbc\xa7\xc7\xed\xb0\x4c\x9a\x55\x57\x28\x60\x7a\xdc\x4e\x8c\xe5\x09\x99\x58\xbc\x1b\x65\x85\xc2\xe6\x15\xef\xc6\x58\xa4\x5a\x05\xfa\x2d\xd2\x1e\xff\x22\x29\xfe\x2b\x75\x04\x51\xe3\x1e\x04\x4f\xfd\x71\x50\x45\x9e\x43\x14\x89\xa6\x42\xe7\x1d\x69\x18\xd1\x5e\xb8\x34\x49\x0b\xd4\xdd\x62\x03\xc9\x92\x1e\x23\x16\xae\xc0\x09\x4f\xf6\x48\x2b\x64\x20\x2a\xea\xc5\xfe\x56\x5a\xaa\x58\xb3\x6b\x89\xda\x60\x73\x7f\x5f\x90\xe7\xb5\xfe\x56\x12\xee\xd3\xc2\x45\x40\xb4\x8b\xfd\x0d\xb2\x72\x3e\x9d\x83\x26\x9e\x39\x81\x53\x5d\x58\x18\x9c\xbc\x91\x84\x4b\xfe\x0a\x8b\x5c\x55\x77\x11\x9b\xd2\x22\x41\x74\x28\xb7\x12\xb3\x4b\xaa\x85\x41\xad\x90\x56\x17\x50\x45\x90\x4f\x0b\x5a\xb7\x68\x32\x32\x15\xed\x34\x30\x0b\x67\x73\xf9\xe4\x0e\xab\x78\x22\x9d\x0d\x8b\x80\xee\x3c\x6d\x01\xb5\xb2\xa9\x15\xd1\xe6\x24\x18\x41\x48\xad\xa8\xdd\x62\xca\xc8\x5c\xf9\xd2\xb3\x81\x65\x55\xbc\x51\x74\x97\x55\x60\x8d\xdf\x44\x93\xda\xdd\xa7\x2d\xb5\x6e\xae\xb5\xa2\x2b\x5e\x68\x17\x41\x7e\xdd\x44\xb8\x85\x98\x91\xe1\xf5\x35\x79\x03\x0b\xef\x55\xfa\x7b\xb2\xc7\x2a\xb4\xd2\x37\xd0\x84\x75\xef\x69\x0b\xab\x99\x3b\x5d\x51\x44\xfa\x7b\x0c\xe1\x34\x23\x75\x0b\x25\x23\x43\xdb\x8b\x13\x07\x16\xcb\xfa\xc6\xdf\x7d\xde\xa3\x8f\xfc\x1d\x34\xd1\xdc\x7f\xda\xa2\x69\xe3\x51\x77\x88\xaa\x2e\xbf\x8c\x71\x80\xb2\x20\x76\x0b\x28\x23\x63\xc5\x2b\x35\x07\x77\x52\xdb\x2b\x9c\x5f\x30\xfb\xa9\xda\xf7\xd0\x84\xf5\xc5\xd3\x16\x56\x17\xbf\x7a\x6f\xb5\xbd\x26\x35\x8a\xc3\x6a\x27\xc0\x2d\xb8\x8c\x8c\x46\xde\xfa\x15\x41\x66\x93\x03\x76\x71\xf5\x95\xd4\x83\xa7\x2f\xa9\x80\x90\xc6\x92\x4f\xb2\x68\x06\x30\x55\x12\xca\x8a\x9e\x35\x56\x16\x87\x44\xd6\x24\xb9\x34\x7d\xc8\xb0\xcd\x94\x3d\x39\xe9\x64\x52\x93\xb3\xe6\xe6\xc9\x90\x3a\x0d\x65\x6f\x38\xe5\xa4\xeb\x90\xec\x1e\x0a\x2a\x82\x97\x04\xb4\xce\xe6\x67\x60\xba\x38\x62\x4a\x54\x92\x33\x9d\x9e\xf5\x8f\xf6\x3f\x5d\x2e\xf3\x65\x94\x82\xb4\x1a\x72\x68\x09\x9a\x0c\xc5\xd8\xb5\xb9\x7c\xf5\x47\x56\x3e\x75\xb8\x91\xd7\x05\xae\xd5\x3b\x55\x65\xc4\xdc\x70\xf1\x76\x2e\x17\x76\x2d\xad\x85\x5d\x4b\x72\x61\x57\x4d\xec\xb0\xa5\x5c\x15\x4e\xbf\x62\x19\x0b\xb9\x81\xe5\x5a\x20\xd4\x68\xc3\x34\x5a\x6e\x6b\xd3\x30\xe6\x88\xfb\xad\x9b\x2a\xa9\x5a\x76\x78\xab\x9e\xd5\x3d\x36\x58\x35\x54\x8d\x78\x80\xfa\x27\x27\x22\xd3\xa6\xfd\xa1\x76\x51\xba\xe1\x14\xdd\x8e\x6d\xca\x87\xc4\x29\x14\x73\xe0\x26\x69\x4f\x6a\x65\x5f\xa6\xfc\x89\xee\x61\xb7\xa4\x79\xb8\x22\xba\x50\xa8\x44\x44\x4d\xb7\xaa\xe8\x6b\x4b\x6d\x59\x85\xce\x48\x57\x6c\xf2\xf4\x63\x55\x8c\xf7\x69\x61\xc3\x07\x27\x54\x59\x6d\xe0\x71\xfe\xb0\x98\x65\xab\x38\xa3\x0d\x3a\xe0\xa1\x96\x50\x03\xc4\x63\x0c\x93\x65\xb5\xf3\xbb\xe7\x6b\x45\x50\xbd\x60\xa5\xef\x6d\x7e\xfb\xbc\x7e\x6e\x20\xc3\xda\x7d\xfb\xb0\xb6\xb5\x45\xeb\xa7\x7d\xed\x44\x07\x5a\x58\x0c\xe0\x98\x55\xd0\xdc\xb6\x96\x34\x7e\xa0\x97\x3d\xfc\x70\x01\x41\x5e\x61\xaa\x9a\x0d\x10\xa9\x4e\xda\xa0\x6b\x06\x73\x07\x3a\xdc\x03\x78\x04\x10\x2e\x57\x19\x34\xa7\x6f\x90\xc8\xc0\x04\xed\xa6\x40\x73\x0e\x07\x10\x04\x88\xcb\x09\x31\x08\xc2\x5a\xfc\x10\xa3\x40\x0e\xea\x8a\x18\x28\x88\xef\x8d\x18\x90\x06\x39\x24\x1c\xcc\xaf\x25\x8c\x31\xce\x2b\xe8\x4a\x7a\xa9\x8f\x59\x30\x54\x1a\xd1\x92\xe1\x53\xc6\x6d\x93\x0c\xeb\x42\x75\x29\xd6\x7a\x9b\xb3\xca\x86\x15\x29\x77\x8d\x95\x24\x13\x17\x8b\x6c\x1e\x3b\xf2\x5f\xe2\xf0\x10\x62\x49\x2e\x64\x3a\x69\xb1\xfd\x11\x11\x71\x78\x30\x5f\x91\x27\xcb\x22\xb7\xd2\x54\xfe\xb3\xaf\x2c\x49\x22\x64\xc1\xc3\xad\x5d\x94\xd4\x51\xba\x8a\x9e\x94\xaf\x90\x04\x89\x7a\xa1\x51\x1a\xb7\x2a\x94\x5d\x86\x6c\xeb\x2c\x56\xd5\x79\x27\xd6\x95\xa4\x8f\x19\x53\x54\x3d\xf4\x36\xbf\x8d\x2d\x44\x6f\xf3\xdb\xe3\xfb\x74\xfe\x25\xf3\x48\x9e\x4a\x82\x24\xd1\x1a\x37\x21\xce\x2e\x46\xe6\x75\x6e\x85\xe8\x6d\x7e\xcb\x22\x42\x66\x2c\xdc\x19\x6d\xb9\x38\xa8\x49\x89\x0c\x95\xc6\xf6\xa8\x1a\x95\x8b\x80\x34\x7a\xe3\x56\x01\xb3\x4b\x92\x63\xc1\xbb\x62\x9f\xe6\x11\x16\x99\x72\xe0\xe3\x2e\xef\x95\x04\xeb\x24\xff\x7d\x3e\xcb\x53\x30\xcb\x17\x2a\x58\x2d\x1e\x8f\x9a\x24\x49\xb0\x74\x7a\xe3\x16\x98\xb1\x0b\x96\x63\xc1\x5b\xc1\x6a\x1f\x61\x11\x2c\x07\x3e\xee\xe2\x31\x8e\xb3\xb8\x47\x54\xdc\xa3\x38\xd8\xe3\xb4\xce\x54\xf8\xcd\x2e\x4f\x51\xcf\xf9\x0c\xc7\xfb\x10\xe6\x54\xd7\xa0\xd4\xa7\xc9\xd8\x92\xd4\xe2\xf1\x28\xea\x95\x84\x49\xa7\x37\x6e\x6d\x36\xbb\x3c\x39\x16\xbc\x15\xa9\xf6\x11\x16\xa9\x72\xe0\x0b\xa8\xbe\xbe\x7a\x9c\xcf\xb3\xa5\x3e\xe5\x7b\xe7\x13\xf8\x8e\xb8\xa2\xaf\x3e\x7e\xdc\x4b\xf6\x93\x17\xc9\xee\x27\xf8\xc5\xbf\x4f\xe7\x93\xe3\xb4\xc8\x5e\xfd\xf1\xf7\xb3\xf7\x27\x9f\xdf\x5f\xdc\x7c\xbe\x3e\xbd\x39\xdc\x4a\x2e\x4e\xae\x0e\xf7\x92\xf3\x8b\xe3\xa3\xf3\xc3\xfd\xe4\xea\xf4\xdd\xc5\xcd\xe9\xe1\x8b\xe4\xe4\xf4\xf2\xea\xf4\xf8\xe8\xe6\xf4\xe4\xf3\xd9\xf5\xe7\xf2\xa1\x5d\xf8\x8b\xa4\xcd\xd1\x61\x74\x6d\x8e\x71\xfe\xb0\x78\x5c\x65\x95\xbc\x95\x0f\x03\xbb\xc3\xb0\x0a\x1f\xb7\x42\xe6\x0f\x6a\x84\x7b\x65\x07\x1b\x28\x84\x34\xa0\xf2\x86\x31\xdf\x37\x45\xce\x5c\x7a\xf6\x6c\x33\xb9\xfd\x76\x36\xb9\x98\xcf\xbe\xd1\xe6\x2e\xe5\x93\x3e\x99\x78\x31\x59\xba\x33\x83\x0d\xc9\x17\x27\x57\x4a\x96\x71\x96\x8f\xd3\x59\x07\xe7\xbc\xfc\x0b\x05\xa9\x7a\x52\xcb\x58\x3e\xe4\xab\x4c\xc8\x58\x96\x7f\xa2\xa0\xd5\x8f\x2a\xe0\x26\xd9\x62\x99\x8d\xcb\x4d\x76\x56\x5c\x4c\x96\xd8\xd5\xd9\xad\x56\xa7\x94\xcd\x7c\xde\xd6\xae\x39\xc7\xbe\x1f\x4b\x8f\xba\x86\xbf\x77\x4f\x8a\x93\xdd\x93\x59\x7a\x9b\xcd\x8a\x77\xe9\xa2\x5f\xc6\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\x67\x35\x7a\xed\xf0\xe3\xa7\x24\x9f\xcf\xa6\x73\xfc\xb0\xc8\x6a\x36\x5b\x72\x37\x5d\x16\xab\xeb\x2c\x9b\x77\xb8\x7e\x6a\x7f\xa9\x16\x5a\xe8\x3b\x57\x19\x9d\x2a\x2f\x9e\xa7\xa8\xf7\xd2\x49\xbe\x28\x85\xbb\x8a\x6e\x80\x02\x7d\x90\x6c\xb1\x8c\xba\x6f\xe4\x22\x5a\x5a\xb9\x86\x0f\xa6\xeb\x6c\x64\xe0\x13\xc5\x30\x84\xf8\x73\xb1\xe4\xfb\x1b\x91\x83\xb1\x5e\x37\x4a\xc9\x30\xc4\x0a\xb1\xb2\xa5\xa6\xc1\xe7\x81\x05\xed\x04\xe7\x81\x4b\x5d\x27\xd3\xb4\x8f\xa4\xa9\xd2\x59\x64\xaa\x6a\x4d\x07\xd3\x55\xeb\x4e\x99\xb2\x17\x48\xca\x6a\xfd\x47\x26\xad\x51\x9b\x98\xdc\x79\xa5\x8a\x6d\xc3\xcb\x44\xbe\x9f\xc8\x5a\xd7\x30\x1a\xcd\xf9\x41\x9d\x8a\xc4\x7f\x4c\xaf\x55\xe1\xfb\x03\x7a\x5d\xad\x10\x36\x2a\xa5\x38\x53\x94\xaf\x46\xc3\x86\x52\xbc\xfd\xfc\x5d\x6a\x98\x59\x57\xfe\x63\x22\xab\x14\xc1\xc9\xe8\x77\x14\xea\x99\xd2\xd5\x4c\x9e\x3d\xab\xe6\xca\x6c\xca\x24\x8f\x8c\x0c\xb8\xa8\xec\x82\xf2\x79\x2f\x9b\x75\x17\xe7\x8a\xa8\x1f\x27\xea\x70\x58\x24\x7a\xbb\xa1\x2c\xe4\x16\x3b\xaa\xce\xd2\xc8\x98\x0e\xba\xcf\x3f\x9d\x3f\x3e\xb4\x9f\x7f\x24\xda\x1b\x86\x6a\x0f\xcd\x49\x8c\x51\xd6\xd1\x20\xe1\xad\xdf\x70\x03\x75\x14\x6a\xfc\x55\x9a\x55\x87\xbb\xbf\xb5\x53\xf7\xc6\xc1\x75\x72\xb1\x46\xeb\x6d\x2a\x95\x1a\x7b\xae\x4a\x0d\x41\xc5\x23\x4b\x42\x7a\x5f\x54\xc1\xb3\x8f\xc0\x53\x2b\x6d\x74\xf1\x49\xe7\xa8\x2a\xa8\x5e\x20\x50\x35\x4a\x18\xc6\x65\x38\x6e\x66\xc9\xae\xba\xde\xbb\xf2\xad\xba\xb2\x6b\x8a\xb8\x4c\x63\xc7\x45\x72\xaf\x6a\xad\xe4\x6e\x68\x6a\xf4\xc7\xad\x92\xc6\xbc\xfa\xb1\xc2\xbe\xb1\x59\xe2\xcf\x55\x18\x1b\xa3\x6d\x41\x6f\xd6\xf0\x84\x7d\x27\x88\x1e\xea\x21\x61\xa6\x61\xad\x11\xb5\x49\xca\x23\x5d\x34\x65\x6f\x58\xe1\xe6\xcb\x44\xd6\x5c\x58\x41\x4c\xed\x20\x47\x5b\x58\x98\xe2\x0c\x49\x59\xc7\x09\x60\x2b\x45\x78\xe0\x1e\xce\xd8\x88\x9d\x04\xe3\xd5\x1f\x97\xa7\xef\x4f\xce\xde\xbf\x39\xdc\x4a\x2e\xaf\x4e\x8f\x4e\x2e\x2e\x6f\x4e\x4f\x0e\x47\x49\xfb\x7f\xdb\xc9\xd5\x69\x79\x9c\x3e\x3d\x39\xdc\x09\x3e\x70\x97\x9b\x98\xe7\xd0\xad\x9c\x47\x91\x07\x6f\xf1\x2d\xf3\xb8\xe3\xc5\x32\xbf\x9b\xce\xb2\x33\xe4\x09\x9c\x63\xa2\xb0\xcb\x87\xe5\x3d\xb5\x94\x38\xb0\x16\x09\x70\xa9\x91\xa7\x17\x00\x4a\xc4\xc1\xf7\xf2\xd1\xe5\xb2\x65\xab\x7f\x23\x88\x51\x84\x23\xba\x04\x0e\x83\x17\xe6\x16\x38\x00\x3b\xa7\xd2\xf7\x6b\x08\xb8\x06\xd4\x45\x14\x61\xfb\x0e\x82\x75\x0f\x5f\xb4\xf0\xce\x84\xd6\xe7\xb2\xf5\x40\xad\x58\xbb\x1c\x3c\x7a\x51\x8b\xae\x21\x35\xa3\xfc\x9e\x59\x37\x32\x2a\x3b\xcb\xd1\x98\x59\xdd\x55\x58\xb0\xfb\x0d\x3c\xad\x23\x55\x1e\x08\xc7\x47\xe9\xe9\xda\x2e\xf1\x55\x60\xaa\xb4\x45\x54\x61\x4e\x5f\x3a\x4c\x89\x39\x41\x2b\x2b\x1c\xbc\x41\x1b\x47\x9d\x67\x87\xea\x11\x6b\xe4\x16\x55\x5e\x8c\xbe\x47\x6d\x31\x22\xe6\x4d\x5a\xa3\xc1\x8a\x14\x1c\xb8\x42\x6e\x53\x18\xd0\x9a\xf7\xa9\x26\x74\x11\x37\xaa\xfb\x24\x1a\xb6\x53\xdd\xb0\xb5\xad\x4a\x4a\x36\x46\xf6\x17\x24\x5f\x21\xd4\x49\x20\x7d\x58\x1b\x54\x89\x3a\xe8\xc0\xf4\x95\x3a\x62\xde\xe1\xee\xa6\x8f\xbd\x98\x70\x16\xe5\x08\x69\x04\x4c\x3a\x5e\xfa\x7a\x89\x12\xb6\x22\x09\x73\xfa\x9a\xb8\x4e\x75\x59\xbb\x71\xa5\xba\xaa\xf6\x09\xa6\xa8\x46\x83\x7c\x9f\x16\x66\xb8\xe1\xb5\x0e\x12\x9b\x2b\x93\xcd\xcf\xe8\x3a\x37\xe3\xac\x0c\x33\xb1\x5a\xa1\x86\xad\x62\x8f\x8f\xd9\xb6\xf5\xea\x06\x0f\x57\x61\x4e\x3f\x86\xdb\x60\x07\x94\xdf\x99\x58\x5e\xeb\x7e\x7e\x9e\x37\x59\x2f\x67\x01\xb3\x89\xe9\x2a\x3d\x6c\xa5\xe4\x7c\x5c\xb7\x2e\x59\xdf\x09\x55\xc5\x9c\xfd\xf8\x6e\x85\x1e\x50\x29\x6e\x62\xbc\x92\x0b\x0c\x32\x63\xbb\x1e\x66\xcc\x8a\xdf\xc5\x71\x5c\x09\x25\x1f\xab\x29\x8b\xc4\x42\xa3\x9f\xcc\xc0\x64\x06\x54\x5b\x9a\x84\x47\xce\x5d\x44\x18\x45\xd6\xa7\x9a\x9d\x95\xea\x26\xc1\xb2\xd1\x46\x9e\x2e\x06\xdc\xf2\xa2\xe1\x96\x52\xd8\x81\xa3\xc4\x76\x5c\xa3\xc4\x84\x3c\x3c\x5d\xa4\x41\xd6\x89\xf5\x9a\x42\x7e\xca\x3d\x21\xcc\xe8\x4d\xb4\x59\x26\x37\x0f\xbe\x64\xab\x77\xe9\x42\x74\xc6\xb7\x93\xac\x4a\xd3\x78\x18\x64\x1d\xa5\xfc\x5d\x72\x0d\x41\xfd\x52\x79\x02\xbc\x9f\x16\x54\x97\xb8\x4a\x5c\x05\xa9\xcd\x11\x74\x27\xa7\xd1\x01\x56\xf0\x52\x6f\xdb\xf4\x38\xea\x74\x89\x37\xba\x9b\x20\x16\x1a\xbc\xa4\x7e\xaa\x01\x2f\xba\xf5\xf9\xa5\x8f\xba\x77\x7d\x68\xbb\x2d\xfa\x2c\xa4\x9f\xae\x76\xe1\x70\x6b\x69\xda\xfa\x09\xc9\xcd\x30\xb6\x8d\x68\x9f\x58\x98\xf0\xe2\x67\x19\x6c\x79\xf9\xe1\xf6\x0f\xed\x5c\xf1\x34\x88\x6b\x0e\x0c\x40\x27\x31\x0d\x95\x9a\x40\xf6\x0b\x9e\x1c\xb8\x6f\xdd\x33\xf1\xcc\x82\xd5\xa9\x5d\x4e\xe7\x8f\x0f\xd2\xb8\xd8\xf0\x4c\xcb\x4d\xfe\x35\x9b\x5f\x65\xff\x7c\xcc\x8a\x15\x4f\x34\x57\x82\x48\x0e\xe9\x1a\xdf\xb6\x0d\x81\x5a\x56\xaf\xf4\x35\xd2\xd5\x9f\xa8\x1a\x69\xf6\x89\x4e\x06\xea\x23\x47\x89\x45\x5c\xc8\xa0\xa6\x9b\x3c\x6a\xbc\x18\x0b\x2d\xda\x28\x44\x80\x3e\x6d\x6a\x13\x24\x14\x88\xd2\xcf\x5a\xc2\x02\x13\xe6\x96\x3d\x17\x2f\x98\x2d\x21\x8c\x11\xd1\xc6\x20\x40\x4c\x48\x14\x36\xb0\x61\x0c\x12\xc4\x3e\x8f\xa1\x45\x4e\x7e\x74\x04\xb1\x07\x6b\xdc\xe3\x2e\x00\x21\xd1\x88\xe2\x9a\x5b\xe4\xc4\x5b\x07\x62\x6c\xcb\xd1\x05\x62\x6a\x06\x62\x4d\xbe\x05\xd7\x7d\x5a\x58\x31\xc5\x9b\x9a\x28\x91\xa4\xb5\xc0\x85\x1b\xc4\x06\xa4\xaf\x45\x54\x5e\x37\xa7\x3a\x57\xe5\xb3\x43\x97\x69\xc9\x04\x0e\x63\xf5\x6a\x64\x34\xf5\x67\x23\xd0\xd3\xee\xc1\xe0\x06\x2b\xe5\xaa\x28\x62\xb2\x4a\x86\x6e\xd9\xc8\x66\xa9\xc1\x18\xd1\x2e\xb9\x31\x38\x2b\xbc\xea\xa5\x0d\xad\xee\xb2\xad\x6d\x8b\x20\x66\xca\xd6\xce\x57\x15\x77\x84\x14\xee\x71\x3e\xbf\x9b\x7e\x69\x55\xbc\xd2\xb3\x3b\x82\xbb\x75\xe5\xf7\xab\xf9\xf9\x75\xef\xee\xe9\x2f\xa7\xef\x6f\xc4\xe6\xdd\xcb\xd3\xf7\x87\x23\x22\x3d\x12\x23\x7a\xe0\xec\x6d\xba\xf6\x55\xe0\xe8\xd9\xb5\x7d\x53\x80\xc9\x92\x41\x92\x4d\x96\xf9\x75\xdb\x29\x2e\x5f\x08\x8d\x94\xd5\x18\x32\xc4\x09\x4e\x46\x51\xbe\x15\xeb\x4c\x27\x63\x8a\x6c\xde\x24\x64\x48\x35\x0a\x10\x48\x35\x6f\x68\x70\xeb\x3a\xd7\xe9\xac\xa7\x9e\xf4\x0c\xc2\x83\x68\x95\x5c\x84\xdb\x58\xdb\x56\x8d\x67\x63\x65\x8c\x31\x6c\x2c\x0a\x03\xe2\xf0\xd7\xed\x7c\xfa\xd1\xcf\xc0\x4f\xfb\x61\x90\x53\xd9\x56\xa8\x22\x68\x5c\x55\x9f\xf9\xa8\x5d\x09\xc6\x77\x13\x41\xc3\x6c\xcd\x88\x2a\xb7\x56\x27\xde\x2c\x63\x56\xbe\x10\xcc\x3f\x23\x6b\x94\xdd\x39\x94\x92\x75\xe9\x1f\x46\x4d\xeb\x42\xf3\x74\x63\x6d\x4e\x0e\xad\x37\xe2\x06\x08\x4f\xe4\xb8\x9b\x13\x7b\x94\xe8\x9b\x13\x63\x58\x0c\xce\xff\x14\xc6\x3c\x0a\xda\xf6\xa5\x21\x54\xc6\x1b\x04\x8d\x38\x2d\xd2\x45\x49\x91\x22\x9e\x31\xd0\x6e\x44\x21\x53\xa0\x79\xdc\x33\xce\xf8\xad\x02\xd3\xdb\x2d\x43\x44\x70\x4b\x97\x6c\x5c\x3d\xde\xb9\x64\xf5\xdb\xf8\x23\x71\x6c\xc7\x6c\x98\x30\xaf\x8c\x8d\x68\x86\xb9\x02\xbd\x78\x78\x9e\x8e\xd8\x36\xcf\x51\xd8\xef\xf8\x8b\x70\xca\x1a\xd9\x63\x72\xca\x06\x8c\x2c\x2b\x28\x63\x3a\x63\xf4\xd8\xb2\xe2\x88\x09\x1b\x9c\x72\x5b\x8b\xc4\xca\x60\x77\xcc\x3c\xd3\xb3\xfc\xb7\x48\xc6\xd8\x3d\xaa\x1d\x14\x1c\x8d\x38\xae\x2b\x3a\x00\xcc\x4d\x45\xa7\x65\x61\xfa\x4a\xce\x8a\xa5\x54\x33\x6a\x9e\xbb\x69\xc1\x15\x30\x08\x5f\x12\x1d\x6d\xf6\xe6\x28\xd9\xfe\xc4\x62\x85\x39\xad\xaf\xaf\xd5\x05\xf2\xa5\xb5\xad\xfd\x25\x5d\x62\x06\x1b\x8a\x8f\xba\x07\x1b\x36\x4f\x4a\x83\x0d\x6b\x54\xd7\xf9\xe3\x72\x9c\x61\xb1\x09\x4f\xc3\x08\xeb\x87\x45\x9c\x7c\x29\x5e\x9b\xc5\x88\x61\xf4\x49\x2a\x9e\xcb\xc8\xaf\xf3\x96\x39\x58\x90\xf0\x06\xbe\x97\x3d\xcc\xf8\xb7\x56\xa2\xa9\xd7\xd3\x89\x02\x47\x19\x4d\x27\x88\x29\x96\xbc\x66\x0b\xb0\xcd\x2e\xd3\x54\x53\x6c\x27\x24\xa2\xf3\x11\x32\xcd\x4c\x55\x67\x88\x61\x58\xce\xb8\x50\x2f\x78\xe0\x30\x2c\x83\x6e\x43\x60\x77\x3a\x43\x92\x68\x05\x3a\x43\x26\x27\xa8\x5d\xa7\x28\x8d\x37\x0d\x02\x7c\x48\xc2\xe4\x09\xe9\x14\x72\x5f\xee\x6f\xa1\x40\x52\x24\x81\x4d\x38\xce\xfb\xfc\xfb\x85\xc2\x6b\x75\xa3\xe3\xe6\x60\xa6\xec\xc0\x75\xbb\x03\xd3\x8a\x63\x17\x1e\x41\xd2\xa3\xc9\x4f\xa3\x8b\xf1\x6e\x9f\x41\x84\x8c\x74\x92\xa5\x88\xe0\x5f\x9b\xa4\xa8\x21\x22\x50\x90\xb6\x61\x41\x6a\xad\x57\x98\x2c\xb9\x79\x2b\x8b\x93\xa8\xf1\x30\x12\x25\x4c\xe4\x37\x97\xcf\x24\xdb\xc9\x4e\xb2\x9b\xec\x25\x2f\x92\x83\xe4\x65\xb2\x0f\x97\xd3\x68\x20\x1d\x15\x35\x57\xa7\xff\xfd\xe1\xf4\xfa\xe6\x70\x94\x1c\x1d\xff\xfd\x70\x3b\x39\xbe\x78\x77\x79\x7e\x7a\x73\x7a\xb8\x93\x9c\x5e\x5d\x5d\x5c\x1d\xee\x26\x37\xa7\x57\xef\xce\xde\x1f\x9d\x1f\xee\x25\x27\x17\xbf\xbe\x3f\xbf\x38\x3a\x39\x7c\x91\x1c\x5f\xbc\xff\xe9\xec\xcd\xe7\xea\xaf\x83\xe4\x97\xa3\xab\xb3\xa3\xd7\xe7\xa7\x9f\x7f\x39\x3a\xff\x70\x7a\x5d\x01\x7f\x99\xfc\x7c\x7a\x74\x75\xf3\xfa\xf4\xe8\xe6\x70\x9f\xbe\x0e\x43\x95\xed\x38\x19\xc0\x51\xb9\xe3\xf8\xb2\x80\x13\x93\x06\x95\x7c\x76\xb2\x42\xb0\xa6\x91\xeb\xe7\x84\x69\xf5\xd5\xdf\x98\xa8\xa5\x86\xcb\x40\x75\xbe\x99\xa4\xe3\xaf\x1d\xf4\xa3\xf1\x57\x2f\xc8\x47\xe3\xaf\x0a\xd4\x71\x73\xab\x85\x10\x6d\x6d\xee\xcc\xf0\x81\x6f\xba\x05\x3d\xdf\x4c\x6c\x57\x95\x93\xf7\x6a\x75\xb7\xbc\x0c\x7b\xd5\xdc\x47\xd5\x81\xef\x6e\xbb\x72\x62\x70\x5e\x2a\xa6\xde\x1c\xd0\xdc\x4c\xd4\xa1\xe8\xee\x3d\xa2\xa3\x68\x5f\xd5\xd8\x50\xea\xc7\x73\x11\xc9\x71\xf7\x93\x27\x2b\xda\xd7\x15\x54\xbf\xa5\xcb\x69\x7a\x3b\xcb\x7e\x49\x67\x8f\x59\x71\x9d\xf5\x32\xfb\x8b\xfa\x2f\x5e\x88\x35\x28\x0a\xfe\xfb\x2c\x5d\xae\x6e\xb3\xb4\xc7\xfb\x73\xfb\x8b\x17\xbe\xee\xed\x58\x71\x7f\x0d\x63\xe4\x20\x80\x8a\x0f\x79\xd8\x82\xc9\xa4\x06\x06\x28\x10\xd7\x16\x22\x70\xeb\x50\x6a\x62\xc0\xaa\x8b\x31\x43\xf1\x6b\x8d\x4f\x8c\x24\xd8\x35\x35\x75\x7e\xbf\x51\xdb\xc3\x74\x97\xb6\x84\x38\x95\x1f\xd0\xfe\xc1\x84\x77\x66\x04\x93\xa0\x69\xcc\x95\x7e\x19\x81\xcf\x27\xd4\xf7\xb4\x85\xd2\x5f\xdb\x29\x98\xf8\xda\x12\x12\x6f\xc4\x70\x5f\x87\x89\x26\xdd\x6d\x00\x61\xda\x3b\x33\x4b\xbc\xa2\xc2\x7d\xe9\x62\x18\xf9\x9d\x71\x85\xc9\xef\x4c\xb8\x7e\x89\x80\x9f\xe8\xb7\xd6\x96\x41\xf8\x3b\xc3\x8d\xcd\x4f\x9e\xeb\x1f\xf2\xd2\xf3\x43\x34\xeb\x1d\xfc\x3d\xba\x3f\x00\x7f\x96\xee\x89\x78\x5d\xd1\x62\xf7\x15\x82\xbf\xaa\xf7\x3a\xe0\xaf\xe9\xfd\x1b\xae\x18\xae\xe3\xd8\x14\x2f\x9a\xab\x21\x8d\x11\xd7\xc5\x22\x71\x44\x78\xd5\x32\x3f\xe1\x24\x46\xaf\xf3\xb3\x3a\x04\xc8\x69\xff\xed\x49\x8d\x9e\xd8\x36\x9a\x73\x24\x56\xe9\x10\xa7\xa0\x76\xde\xe8\x00\x19\x64\x24\xfe\xfe\x88\xa7\x20\xdf\xf5\x40\x5e\x5b\x53\x24\x66\xe9\xf4\x47\xb9\x51\xc4\x6d\x0f\x91\xd8\xa5\x83\x21\xe5\xf2\x0f\xb7\x39\x43\x73\x5d\x3a\x31\x2a\xf8\x0f\xbc\xf8\xde\xd9\x22\x24\x0d\xe6\x33\xa4\xe1\xe6\x8c\x70\x33\x82\xa4\x48\x3e\x5d\xd2\x2f\x7f\x71\xa8\xfe\x58\x2d\x16\x56\xa5\x13\x27\x3a\xc6\x17\x25\xc3\x44\xcb\xda\x96\x0b\xec\x6d\x1a\xc9\x32\x4b\x57\xab\x74\x7c\xff\x36\xbf\x45\xbc\xb3\xcd\xdb\xda\x8d\x3f\x10\xc6\x0d\x02\x3c\x0f\x0c\x06\xc4\x0b\x0a\xac\x39\x38\x60\xea\x06\xbf\x6a\x04\xcc\x7a\x33\x61\xfb\x78\x7b\x72\x17\x04\x2c\x9e\x8f\xb6\x56\x5f\x6d\x50\x9f\xcd\xdf\x77\xfb\xab\xdc\x9c\x41\xb8\x71\x4c\x66\xa2\xe3\xad\x6d\x4c\xbb\x3a\x82\x79\x02\x91\x31\x9b\xd7\x51\x62\x64\xa0\x24\x42\x2b\x3b\x72\x51\x44\x46\xf8\xad\xcc\x36\xe7\xca\x98\xc9\xa1\x2d\xcf\x36\xc3\x9c\x31\xa3\x3f\x1f\xc7\xa0\x2b\x69\x1e\x4f\x63\x2e\x42\x89\x7d\xaf\x04\x2e\x76\x19\xd9\xc4\x1e\x8d\xbf\xfa\xaa\x57\x20\xd4\xea\x69\x5a\x01\xa8\xeb\xbd\x8b\x02\x90\xe7\x01\x6d\x9b\xe3\x60\xcc\x6b\xd7\x1c\x88\xb4\x2b\x2b\x98\x95\x45\x77\x02\x8f\xa3\x31\x4c\x89\x5b\x4f\xb5\xa1\x81\xb2\xa7\xcc\x4b\x6e\x08\x19\xf3\xf2\x4f\x77\x0a\xf0\x6d\x7e\xfb\xbc\x7e\x6e\xb0\x64\x9f\x3d\x17\x11\x59\x1b\xb5\x88\x7d\x77\x05\x26\x89\xe2\xa9\x97\x30\xa0\x87\xef\xcc\xee\x85\x03\x9f\xf5\x13\x04\x0a\x93\xe1\xab\x24\x34\xb0\x19\x08\xb3\xb5\x07\x54\x9e\x50\x68\x8f\x57\x83\x42\xd8\x30\x6d\xdb\xbd\x9e\xa0\x84\x73\x05\x4e\x7b\x97\xc7\x62\x58\xd7\x51\xc8\xd8\x36\xd4\xd3\x8e\x29\x91\xc5\x09\x98\x46\x25\x6f\x33\x37\x86\x88\xe6\x6a\x0b\xcb\x62\xf5\x57\x5b\x54\xfc\xc6\xb6\x12\x61\x10\x57\x77\x5e\x58\xd0\xc6\xee\xcf\xb5\x84\xb7\xe3\x98\x75\xad\x60\xca\xd3\xa6\xcb\x70\x6c\x06\xdd\x56\xe6\x35\x7f\x7e\xbd\x4a\x57\x8f\xc5\x60\x36\xdb\x92\x7f\x8f\x6c\xb0\x2b\xac\xbe\x6a\x18\x2c\x19\xf0\x34\xd5\x20\xdc\x68\x76\xba\xe5\xba\x66\x8c\x3b\x71\xc0\x17\x48\xf0\x1a\x5c\x75\xc7\x0d\x68\x6d\x9d\xb9\x2c\x5e\x53\xeb\x44\x85\xb0\xb3\xd6\x1c\x5e\x69\x66\x3b\x1e\xf2\xd9\x52\x95\x2b\x2d\x09\x74\x3b\xda\x12\xe7\x65\x2c\x75\xe1\x50\xc9\x88\x6c\x28\x55\x02\x2a\x2b\x69\x5b\x89\xd6\x48\xd6\xcc\xf2\xb6\x91\x2a\xce\xfb\xb4\xb0\x61\x1c\xdc\x3e\xf6\xe9\xb6\x38\x36\xd2\x58\x3f\xea\x69\x27\x75\x58\x83\x07\xce\x1c\x85\x29\x91\xed\x5f\x87\xd9\x57\x39\xa2\x6a\x6a\x3c\xed\x20\x0a\xf6\x13\x0b\xa8\x99\x24\x7f\x40\x5b\x05\xe6\xb9\x79\xed\x15\x88\x2e\x7e\x88\xad\x2b\x76\x88\x15\x64\x33\x95\xe4\x7b\x87\xd9\x34\x60\x8c\xf3\x74\xca\x13\x67\xdc\x69\x3a\xa4\xba\xc7\xe8\xa1\xb6\x16\xb5\x7f\x14\x05\x53\xb4\xe9\x1d\x6e\xc3\x00\x5f\x4f\xc0\x8d\x3a\x7f\x47\x10\xac\xa1\xa6\xef\xe0\x36\xfa\xa0\x21\x37\xa8\xaa\x8a\x3b\xe8\x06\xe1\x0b\x1a\xd2\x03\x86\xdd\x42\x47\xf4\xe0\x18\x18\x63\x5e\x4f\x4f\xbd\x67\xe0\xcd\x28\x68\xfe\xa3\x7b\x7c\x43\x6f\x06\x32\xa2\xcc\xf1\xc1\xa1\xf6\x1f\xea\x13\xe1\x78\xa1\xd7\x15\xc6\x31\xfe\xce\xb6\x38\x4f\x1f\xc0\x0e\xd3\xe6\x0a\xdc\x4d\xe7\xe9\xac\x7e\xfc\x5d\xba\xe8\x5c\x82\x9f\xa4\x9f\x37\x36\x37\xff\x96\x8b\xe4\x59\xe9\x6a\x09\x78\xde\x03\xe8\xde\xdb\x3c\xfc\xf8\x29\xa2\xbb\x80\x68\x2b\x88\xec\x35\x68\x14\xf8\xda\x03\x52\x87\x84\xa7\x0f\x41\xc2\x11\xc5\x95\xc8\x4c\x82\xa6\x39\x0e\x1b\xca\xd8\x83\xe7\xef\xd2\x85\x4e\x6a\xf9\x8f\x89\xcc\x47\x61\xdb\xf6\x15\x7e\xee\x67\x1a\xac\x34\xf1\x76\x2c\x5b\xf2\xec\x59\xe2\x14\x24\x03\xbc\xcd\xff\x6c\x32\x7b\x37\x2e\x85\x36\xa0\x93\x83\xae\xd7\xe6\xf5\x75\xd0\x68\x31\x45\x88\x8a\xb4\xfe\xb8\x55\x7a\x3f\x79\x75\xcf\x69\x55\x5c\xb8\xb1\xf9\x5f\x5b\xe5\x0f\xaa\x74\x8e\x04\xe9\xac\xb1\x09\x3c\x10\x6a\x11\x81\x87\xbc\xe4\x93\xcf\xcb\x72\x09\x92\xb6\x38\x6e\x67\x46\xbf\x70\xd9\x35\x9e\xc4\xb8\x4d\x58\xc9\x6f\xae\xde\x35\x7f\x80\x76\x7d\xb3\xaa\xb4\x68\x77\x38\x3b\x7a\xb5\xfa\xee\x24\xf6\x19\x93\xb6\xe2\x48\x2f\x3f\x56\xc9\x1b\x2b\x14\x33\x0f\x7f\xd6\xb0\x7b\xcc\x7f\x76\x7c\x41\x93\x74\xb6\xad\x7a\x9f\x75\xae\xbb\xc6\xbc\x3d\x5f\x25\xdb\x6c\xc3\x17\x3c\x49\xdc\x2d\x5e\x47\xe3\xaf\xf1\x45\xeb\x68\xfc\x15\x33\x77\xc9\x2d\x56\x12\xa5\x34\x91\xda\x7e\x0a\x22\x65\x5e\xe9\x56\x9c\x8e\xc6\x5f\x99\x44\xc9\x8c\x27\x78\x16\xaa\x5b\x8c\xda\x1a\x8a\xf8\xb2\xd4\xcd\x10\xd8\x09\x15\x28\x9d\x66\x9a\x54\xed\x3c\x05\xa9\x72\x2c\x7c\x7f\x44\x6f\x7a\x3d\x79\xe4\xcb\x81\xd1\x2d\x64\x61\x0c\xf3\xcf\xf6\x7a\xe5\x3a\x93\xdd\x50\xf1\xc2\x25\x85\x2d\xb2\xb5\xfb\x14\x64\x2b\x72\x4e\x99\x21\x9b\x1c\xc6\x24\xa1\x1b\x98\x51\xaa\xdc\xe3\x37\xf6\x42\xc5\x4a\xa7\x98\x26\x59\x7b\x4f\x41\xb2\x1c\xcb\xde\x0a\x57\xd7\xa7\xcd\x23\x5f\x0e\x8c\x6e\x11\x0b\x63\x98\xd0\xf2\x1d\x5b\xc4\xba\x11\x29\x2f\x42\x45\x4c\xa7\x98\x26\x62\x2f\x9e\x82\x88\x39\x96\xbd\x15\xb1\xae\x19\x9f\x47\xc4\x1c\x18\xdd\x22\x16\xc6\x30\xa9\xaf\x7f\x08\xff\xab\x1b\x64\x73\x10\xee\x81\xe9\x74\xd3\x44\xed\xe0\x29\x88\x9a\x73\xf9\xe5\x44\xc9\x39\x9f\xb8\x39\xb1\xba\x05\x2e\x8c\x71\xa6\x21\x0e\xf1\xe5\x4e\x9f\x3b\xf4\x32\x54\xfc\x1c\x5f\x41\x93\xc2\x97\x4f\x41\x0a\x31\x3c\x69\x85\x51\x1f\xc2\xc1\x23\x93\x18\x1a\xdc\xa2\x19\xc6\x54\x71\x9a\x47\x7c\x91\xec\x87\x45\xed\x87\x8a\xa2\x81\x6a\x9a\x08\xee\x3f\x05\x11\x74\xad\x7d\x2b\x7a\xfd\xb4\x15\x1e\x91\x73\xe1\x74\x8b\x1a\x8d\x69\x8d\x97\xa5\x0f\x98\x26\x8d\x94\x6e\xa0\x38\x66\x4a\x1f\x5d\x5f\x9f\xbd\x79\xff\xee\xf4\xfd\xcd\xe1\x28\x39\x3e\x7a\x7f\x7c\x7a\x7e\xb8\xed\x41\xa8\x7c\x72\x1e\x64\x02\xb4\x61\x89\x98\x47\x40\x73\xde\x59\xa7\x83\x0d\xc9\xb7\x23\x6f\xae\x4b\x8b\x62\xfa\x65\xfe\x90\xcd\xfb\xb6\xd6\xa3\xee\x27\xe2\x74\xdb\x06\xe5\xdb\xfc\xb6\x07\xa1\x4e\x0d\x4e\xe7\xe3\xac\x9f\x7c\x7c\x5c\xfd\xe9\x8d\xa6\x7e\x7d\x80\x7a\xbf\x61\x2e\xd0\xd3\x10\xd2\x33\x99\x5c\xd7\xe8\x91\x40\x3e\x9d\x49\xba\x26\x09\x0c\x18\xa8\x6b\x14\x68\xc4\x7c\xda\x7e\x03\x85\x8e\xd6\x55\x65\x3d\x60\x0a\xa4\xb6\x6d\x10\xd5\x8c\xf5\xf6\x8c\x30\x5f\x68\xc0\x7b\x05\x75\xac\x91\xd3\xfa\xf4\xdb\x05\xcd\x63\x20\x15\x3d\x1c\x34\x09\xd2\x28\xc9\xd8\x21\x7d\xbd\x92\x0e\x9a\x09\xa9\x09\x20\x47\xe2\xdf\xf8\x61\xda\xfd\x78\xc1\xb7\xe3\x41\x18\x23\x39\x00\x56\x53\xea\xeb\x0e\x98\x01\x1a\x9d\x83\xe9\xab\x3f\xfe\x91\xdf\x76\xa6\xfa\x6d\x7e\x0b\x17\xe0\x9b\xae\x08\x58\xdf\xf5\x79\x53\xab\xf5\x9f\xfa\x58\x7f\xc0\x0c\x44\xf6\x05\x14\xa3\xc6\x23\x51\x11\xfc\x04\x34\x82\xb5\x79\x0d\x6f\xf3\x5b\x5a\xf5\x3f\x6c\x28\xcb\xcd\xf1\xbf\xe7\x3e\x3e\xbc\x32\x1c\xd2\xaa\xa3\x6c\x1b\xb3\x8d\x47\xe1\xc4\x5b\xfc\x56\xc7\x52\xdb\x15\xbe\xdf\xeb\xfb\xf0\xa2\x54\x2f\x0f\x6f\xa7\x04\xb1\x5a\x09\x14\x76\x99\xc2\x68\x3d\x12\x00\x1d\x55\xe4\xcb\xbc\x56\x6d\xcc\xab\x14\x34\x8f\x68\x17\x80\xf8\x3e\x2d\xcc\x68\x39\x4b\xc6\x60\x31\x79\x8a\x37\xf8\x91\xa4\x68\xf0\xab\xfd\xf0\xd4\x3d\xe5\x3b\xff\x88\x3b\x84\xe1\x32\xc0\x08\x67\x8a\xe6\x68\x14\xef\x3c\xa1\xc7\xcc\x02\xce\x12\x0a\x30\xf3\xe8\x80\xbb\x7c\x39\xce\xe4\x29\xd8\xaf\xf3\x7c\x96\xa5\x73\xe3\x00\xed\x1f\x47\x71\x86\x61\xc3\xf1\x8f\x01\x3c\xf8\x1a\x75\x88\x8f\x03\x07\x6f\x02\x3c\x77\x18\x78\x94\x46\x9b\xda\xfd\x2d\x85\xa2\x9d\x87\xfd\x53\x29\x33\x8c\x6d\xb4\x8e\x0d\x36\xb0\x8f\xea\x8e\x7d\xf0\xfb\xa7\x6e\x7c\xa6\x1d\xdb\x37\x93\x54\x4c\x10\x1c\xd2\x8a\x43\x23\xe2\x34\x6a\xc7\xd2\xb7\x38\x20\x03\x6d\x55\x17\xb5\xf7\xf4\xa3\xaf\x07\x61\x90\x05\x95\x20\xe7\xd4\x65\x91\xae\x20\x57\x4e\x5a\x92\xde\x64\xc5\xcc\x18\x9b\x4c\xa4\x9f\x2b\x26\x2d\x9f\x89\xf8\x78\xed\x16\xe6\x04\x5f\x28\x0f\xea\xea\x78\x17\x17\xba\x22\xf9\x3e\x44\xeb\xef\x4e\x4b\x0e\xb4\x13\x6d\x04\x3f\x5a\xf6\x9c\xab\xfd\x30\x8c\xd4\x35\xf9\x0c\x2f\xdf\x59\xf6\x96\x15\xa2\xe3\x75\x62\x44\x94\x36\xeb\xca\x77\x1e\x68\x1d\x84\x67\x92\x32\x2b\x3a\xb8\x2b\x23\xcc\xe7\x7d\x93\xad\x4e\xb2\xc5\x2c\xff\x56\x4a\x78\xed\x55\xeb\x45\x14\x01\x2e\xaf\x03\x3e\xd9\xe3\x45\xc0\x8a\x3d\x2b\xcb\x41\x42\x64\xef\xd5\x8e\x19\xe9\xfc\x50\x48\xa7\xfa\xae\x7e\xb0\xd7\x3b\x2b\x0b\x25\xf9\xf1\x7c\x51\x07\xfa\x18\xae\x28\x1d\x1d\xf3\xac\x2c\x23\x01\x9c\xd5\x3a\x2e\x04\x3c\xaa\x06\x51\xc1\xf3\xea\x8f\x22\x5b\xfe\x96\x2d\x8f\x26\x93\x25\xf2\x6e\xaa\xfa\x85\x9b\x59\x81\x3d\x91\x6f\x97\xfe\x75\xff\xda\xf5\xd7\xe9\xe2\x97\x6c\x39\xbd\xfb\x86\x05\xb0\xc3\x7b\xa4\x77\xad\xd5\x3a\x94\x22\xa9\x54\x87\x44\x3c\x8b\x5a\x5c\x6f\xf9\x8e\xe9\xae\xab\xeb\x4e\x64\xad\xb7\x5d\xd5\xa1\x80\x44\x78\xfc\x66\x56\x18\xee\x7c\x76\x3c\xdd\xcb\x29\x5b\xde\x0b\xa7\x53\x06\xd6\xe1\x11\x6b\x5a\x3c\xf0\x61\x66\x54\x08\xfc\xc7\x5e\x95\xd5\xcb\x80\x1a\x8d\xd8\x36\x3e\x26\x30\x5f\x7d\x61\x07\x13\xbe\xc0\x71\x5a\xfa\x16\xe8\xd4\x14\x72\xa3\x16\x56\xf0\x8c\xe4\x44\xb8\x56\x8b\xb8\x3c\x37\xb3\x22\x28\xc2\xb3\x8d\x8a\xf0\x10\x17\x49\x22\x8a\x18\xe5\x41\x25\x55\xe8\x8b\xd4\x4b\x6d\xd0\x72\xed\x44\x5a\x2e\x13\x79\xc4\x85\xdb\x09\xba\x95\xec\x4d\x7b\x6b\x1c\xd3\x91\x51\x83\x47\xf0\xdb\xac\xef\x9a\xdd\x34\xda\x05\xa2\x1c\xce\x92\x46\x60\x34\xdf\x48\xc5\x04\x5a\x33\x98\x34\xbc\xe7\x43\x81\x15\x31\x77\x61\xbd\xcd\xd3\x33\x81\xe1\x10\xf5\x18\xfe\x85\x86\x8e\xd7\x9d\xc0\x82\x77\x66\x23\xba\x45\x05\x9c\x06\xbf\x55\x8d\x7e\x37\xa6\x93\xa3\x4c\xb7\x61\xfa\x2a\xd6\xf3\x69\xd1\x50\x50\x30\xa9\x56\x03\x44\x82\x72\x75\xbc\x1d\x2f\xe2\x66\x40\x1a\x4d\x65\xea\xb8\xc0\x2d\x8a\x21\x0f\xaf\x36\x69\xd0\xd6\x15\x39\x73\xca\x65\x0c\x3d\x68\x40\xc8\xab\x09\xf1\x08\xb4\x78\x18\x0e\x66\xe3\xc1\x69\x15\xf0\x23\xff\x0a\x78\x13\x7c\x4e\xf5\x40\x0f\x9a\xb9\x5e\x77\xf9\x5f\x70\x11\xfa\x55\xff\x9c\xab\xfc\xbc\x7e\xcc\x5a\x78\xce\xa1\x81\x62\x47\xb4\x0c\xc8\x68\xdb\x23\x3c\x6a\x45\x04\x37\xfc\xb8\xf8\x9a\x38\x6a\x03\x19\xa2\x2e\xbb\xf9\x6a\x7f\xff\xd0\xbd\x27\xa3\xab\xc6\x28\x41\x27\x02\x06\x84\xa3\x88\x2f\x73\x46\x74\x52\xf9\x14\x38\xbb\x59\x24\xd3\x19\xa1\x42\xb5\x86\xee\x2e\x0a\x80\xa4\xc8\x4c\x22\xb9\x06\x15\x88\x29\xb9\xa9\xe8\x77\x4b\x60\xad\xa9\x73\x80\x6b\xb3\x5a\x64\x75\xa5\xa4\xf1\xdd\x2c\xed\x26\x75\x0a\x02\x1a\x54\x47\x7a\x34\xc9\x17\xbc\x21\x11\x03\x44\x82\x5d\x76\xbc\xcd\x11\x16\x49\xd2\x12\x3e\x29\x6f\xc5\x61\x96\x0d\x5f\x15\xcd\x2a\xeb\xb8\x40\xc5\x8c\x21\x0f\x6f\x93\x69\xd0\x86\x4e\x1d\x09\x81\x15\x38\x71\x54\x7d\x0a\x43\xf2\xc7\xb9\xcb\x62\x98\x5a\x03\x42\x5e\x4b\x8b\x47\x80\xc9\xe7\x60\x03\x33\x5d\x9a\xa6\x66\x8c\x29\x93\xe3\xcb\x85\xe8\xd1\x1b\x40\x06\x98\xe2\x37\xde\x1f\x5f\xfd\x7b\xd4\x1c\x0b\xb4\x00\x0a\x05\x5e\x09\x15\x5f\x33\xf8\x53\xbe\xfc\xc2\x9c\x1a\x30\x81\x24\x18\x42\xd7\xeb\x4f\x25\x41\x60\xa2\x31\x9a\x5d\x33\x20\x03\xd5\x20\x8a\x40\xbc\x65\x23\x82\xfb\x8e\x92\x05\x6e\xf9\x8f\x61\xa1\x4c\x18\x79\x4d\x14\x01\x43\xec\xac\x81\x7b\x79\xa3\x9b\x1e\x88\xbb\x6b\xce\x1d\x5c\xb7\x19\x62\xd6\x6a\x5e\x0b\x54\x82\x0a\x06\x20\xd8\xe6\x61\x79\xdc\x3c\x29\xa2\xe1\x9f\x45\x65\xf9\x8e\x68\x9a\xda\x8c\x0f\xd4\x08\x58\x32\xf1\xfa\x9a\x0e\x71\xf8\x00\xa1\x48\x20\x3e\x4c\x28\x09\x4c\xfc\x3b\x25\xc1\x1d\x1a\xc3\x42\x58\x90\xf2\x1a\x09\x1a\x12\xd3\x96\xe7\xb9\x32\x52\x62\xa8\x47\xa8\x10\xe4\x50\x8c\x9b\x22\x45\x8c\xee\x30\x21\x42\x80\xa2\x5d\x10\x09\xe2\x66\xbe\x15\x12\xc4\xb7\x9e\xab\x20\xdf\xa8\x64\xf1\xe4\xe1\x6c\x60\x69\x85\x50\x4e\x10\xdf\x8d\xa1\xb5\x7d\x48\xcc\xba\x29\x13\x42\x4c\xb1\x0e\x8e\x50\x52\x15\x15\x15\xe4\x9f\xc6\xd6\x73\xa3\x46\xaa\xdf\x32\x62\x65\x2f\xe3\xa2\x60\x79\xba\xf6\x16\x66\xd2\x7a\x0d\x2e\x46\x88\xa2\x59\x5c\x18\x39\xb3\xc9\x85\x11\x86\xd9\x5c\x9c\x18\x71\x56\xcc\x48\x80\x83\x4f\xc2\x66\xa3\x07\x9f\x7f\x0d\xef\x99\x63\x8f\xe9\xe4\xb7\x6c\xb9\x9a\x16\xd9\xd1\x64\x82\xa8\x91\x39\xd2\x1e\x77\x95\xca\x48\x74\x48\xaf\x8a\xe5\x33\xc9\x62\x96\xae\xee\xf2\xe5\x03\x18\xff\xdc\xad\x32\x81\xe3\x3c\xff\x3a\xcd\xc0\x87\xb7\xb9\x82\xa5\x6e\x2b\xc2\x77\xf6\x16\x2c\x1c\x49\x30\x82\xce\xd9\x38\x38\x6b\x9b\xd7\x68\x97\x20\x4f\x2f\x40\x96\x42\xb8\x5a\x47\x16\x78\x25\xf7\xb8\x7b\xa8\x86\x75\x6b\x47\xe2\xb2\x11\x68\x6b\xaa\x52\x7e\xfc\xb8\x12\x68\x86\x6c\xa5\x45\xf7\xc4\x39\xe3\xc3\x66\xd8\xfb\x64\x0f\x83\xc6\xe4\x26\x4d\xba\x2a\xb4\x24\xc8\x21\x4b\xe0\x20\xc6\x4e\x2a\x1c\xe1\xe8\x5d\x31\x57\xda\xc8\x85\xe3\xf1\x3a\x6f\xca\x62\xaa\xe4\x8f\xe1\x34\x5c\x66\xc5\x4f\x35\x63\x66\x28\x36\xa3\x86\x6e\x89\x5e\x51\x9b\xa1\x57\x6b\x6d\x83\xa6\xe8\xb2\x18\x96\x49\xd1\xc1\x01\x72\xc0\x65\xb5\xd0\x50\x87\xae\x57\x41\x37\x39\x63\xdb\x9b\xb9\x1b\x9b\x51\xdb\x3f\xba\xed\x40\x29\x51\x0e\x4b\x82\x42\x84\xb3\x2b\x84\xee\x65\xb0\x6f\x39\xa8\x63\x19\xc5\xc2\x86\xe4\x38\x19\x4a\xa4\x10\xad\x22\xf6\x25\x63\x17\x21\x76\x2b\x32\x76\x29\x22\x76\x1f\x13\x96\x62\xa0\x86\x63\xc2\xa2\xb0\xf5\x18\x53\xfd\x63\xa3\xaf\x18\xa1\x2c\xdb\xbe\x16\x84\x58\x85\xb2\xab\xec\x64\x73\x97\x6a\x5b\xa8\xd0\xce\x48\x31\x4b\xb5\x1d\x2b\x88\xf7\x18\x94\x60\x16\x8a\xf5\xdd\xd0\x3f\xfd\x4c\x51\x55\x71\x7b\x88\x5c\x7b\x1c\xf0\xd3\xcb\xbb\x14\xbd\x2c\xc9\x8c\x8e\x97\xa6\x8d\x77\x7d\xf7\x58\x7d\x9c\xf1\xfb\xdc\x6d\xef\xcf\x55\xb1\xd2\x3e\x36\xac\x38\xf1\x78\x59\x0a\xf9\xcf\x79\xb1\x9a\xa7\x0f\x19\x53\x79\x8c\x19\x28\xe1\x58\xe5\x06\x60\xcc\xd9\x4d\x5f\xfd\x71\xdf\x3c\x8f\x3d\x57\xa5\xcb\x2f\x59\x7f\xaf\xdc\x4d\xf5\xa7\x3b\xc5\xd7\x52\xf4\xbc\x7e\xd8\x91\xe5\xf3\xbc\xdc\xc5\xfc\xe1\xd1\xce\x4d\x46\x74\xa0\x73\x8c\x24\x12\x7f\x5a\x22\x03\x1c\xfa\xa0\xd4\x92\x46\xbd\x45\x45\x91\x17\xfc\x45\x2a\xaa\xa0\xc1\x99\xc1\x46\x7c\xc3\xcf\x5c\x90\x46\x88\x71\xdc\x32\xe3\xe4\x3d\x69\x91\x70\x60\x0e\x59\x9d\x50\x40\x07\x2d\x39\xa9\x28\xe8\x19\xca\x7d\x65\xaa\x44\x78\xe4\x15\x21\xce\x0a\xdf\x14\xe7\x24\x06\x8b\x96\x81\x00\xd6\x83\x18\x62\x09\xea\xf5\x65\x4c\xac\xaa\x4a\xc0\x39\x53\x18\xb1\x44\x2a\x81\xe8\xcc\x2a\x70\x32\x83\x50\x57\xae\xa8\x75\x75\x5a\xf7\xb3\x11\x6f\x38\xaf\x0a\xa1\xbb\x4f\x0b\x2b\xb2\x78\x73\x80\x55\xaa\x78\x0a\x99\x2c\x50\x03\x3c\x22\x64\x19\x53\xe7\x12\xb5\x5e\x8e\xa0\xb4\x30\x7e\x0e\x7b\x19\x93\xe5\x3b\x06\xf3\x70\x90\x45\x4c\x58\x32\xfd\x7d\x9c\xa7\x58\xc2\xd4\x52\x87\x4f\x5c\x76\x82\x02\x3b\x28\x82\x0f\xe5\x59\xbc\x04\xee\xcd\x21\x5c\x93\x28\xa5\x4b\x34\x24\x88\xca\x25\x69\x9b\x53\x6a\x97\x3a\x86\x32\xf8\x17\xa6\xb2\x25\xac\x83\xe1\x61\x5f\xdd\x11\x2a\x84\xf0\xe0\x9d\x0f\x72\x64\x0a\xc4\x5e\x19\x57\xc7\xe2\xb4\xe6\xb5\x63\x2c\xdd\xc0\x9a\xea\x96\x1c\x18\xe3\x55\x0b\x9f\x4f\x8b\xee\x3b\x38\x27\x7a\x69\x30\x89\x33\x7b\xac\xef\xdb\xac\x6b\xd4\x08\x82\xa7\x81\x35\x7e\x48\xd4\x31\x3d\x2a\x36\xd4\xac\x16\x98\x44\xda\xa0\x1e\x0a\xbc\xf5\x19\xd6\x86\xeb\x1e\xf6\x95\x1e\x07\x08\x18\xdd\xe3\xd8\x9c\xb1\x66\xf7\x68\x28\xf9\x87\xf7\x60\x51\x20\xcc\xab\xfd\x0c\x8f\x33\xae\xfe\x67\x78\x80\x3d\x43\x9c\x5f\xc1\x99\x3d\x4e\xf1\xf1\x3f\xbe\x22\xe6\xf4\x38\x30\x33\x9f\x5e\x01\x6c\xfe\x87\x57\xca\xea\x46\x9a\xa6\xa7\x63\xe0\x35\xce\x7e\x13\xf5\xec\x00\xcc\x15\x56\xed\xd1\x17\xae\x18\xfe\x59\x7c\xd2\x55\x2c\xac\x1d\x8b\x19\x27\xeb\xe9\x9f\x37\x94\xd1\x26\x4c\xd7\x43\x10\xe9\x6d\xb6\xff\x77\x1d\x88\xd3\xc9\xa4\xfb\x76\x36\x63\x3d\xd8\xa4\x3d\x1d\x67\x54\x73\x1d\x30\x6d\x4f\xd9\xdb\xa1\xc5\xb5\x21\xc7\x63\x88\x59\x2a\xb5\x11\xca\x3b\x70\x47\x65\x58\xaa\x6c\x84\xc6\x98\xbd\xe7\xa2\x44\xdc\x45\x31\x8b\x3a\xba\x75\xf3\x50\x68\x96\x33\x3e\x54\xc6\x21\x0b\x6e\xd0\x1c\xbe\x93\x6c\x96\xb1\xe7\xf8\xcd\x40\x09\x36\xdd\x0d\xc0\x6d\xd3\x87\x1b\x43\x64\xa6\x32\x9a\x69\x36\xa2\x03\x55\x32\x92\x48\xbc\x69\x26\x03\x1c\x6c\x1c\x51\x78\x14\x19\xda\x0d\x31\x6c\xa6\x19\x27\xaf\xcd\x24\xe1\x40\xd9\xcc\x80\xa1\x44\xd0\x22\x47\x4f\x35\xc3\x5c\x66\x4a\x35\xfb\x2a\xe5\xce\x93\x08\xd4\xc3\xa6\x54\x1d\xa4\x7a\xb5\x77\x98\x2a\xaa\xee\xfe\x39\x99\xe3\x9a\x1e\x9b\xe2\xab\xf3\xf4\x36\x9b\x15\xef\xd2\x85\x12\x43\xed\x7e\xdf\xd8\xdc\xfc\x5b\x2e\x7e\x5a\x73\x32\x3f\xfc\xf8\x89\xa3\xdc\xca\xee\xad\x73\x29\xf4\xee\x04\x81\xe6\x63\x80\xda\xc6\xc0\x78\x42\xa5\x53\xa6\x46\xc3\x9f\xfe\x39\x99\x1b\x5a\x4d\x32\xa3\x6c\x68\xf5\x54\x1b\x8a\x0f\xf8\xfc\x5d\xba\xd0\x17\xa3\xfc\xc7\x44\xe6\xa4\xb0\x0b\x7b\x9a\x50\xcf\xcc\x1f\x67\xb3\xe4\xd9\xb3\x4a\x1d\x6d\x06\x17\x5f\x19\xb4\x42\x0c\x7b\x04\x1d\x63\x3c\x4d\x10\x04\x96\xb5\xaa\xaa\x7d\xa1\x92\x18\xa0\x01\x31\xd9\xb0\x88\xd0\x8f\x5b\x9b\x9b\x7f\xf9\x4b\x5e\xfe\xd3\x79\xf5\xfe\xc6\x66\x09\x21\x57\xbf\x60\x63\x47\x10\x99\xfa\x63\x04\x16\x09\xe8\x50\x0f\xa1\xd6\xb0\x89\x11\x8b\xd7\x79\xbf\xfa\xf8\x71\x7b\xeb\xd3\x27\xfc\xcb\xf5\x7f\x8e\xd3\x22\x7b\xf5\xc7\xcd\xd1\xd5\x9b\xd3\x9b\xcf\xef\x2f\x6e\x3e\x5f\x9f\xde\x1c\x6e\x25\x47\x97\x97\xe7\x67\xc7\x47\x37\x67\x17\xef\x0f\xb7\xb7\x08\x24\x19\xc2\xcd\x15\x0a\x97\x21\x1f\xe7\x0f\x8b\xc7\x55\x56\x5d\x73\x5e\x3e\x4c\x8b\x39\xab\x97\x9a\x73\xd8\x5d\xed\x63\xc2\xcc\xaf\x9e\xcf\x43\x5b\x61\xe5\x55\x5b\xb6\x31\x5d\x2c\x66\xd3\x71\x5a\xfe\x4b\x67\x2e\x8f\xfa\xdf\x48\x79\xc7\xa3\xc5\x82\x3f\xf5\x08\x26\xab\xb8\x8d\x6a\x9b\x4e\xa3\x32\x89\xc3\xc4\xc2\xa0\x3c\xcf\x44\xdb\x5b\x6c\x79\xc6\xa3\xc5\xc2\x3b\xd5\x58\x4a\x08\x9c\x6d\x14\xe5\xcf\xfb\x44\x66\xdf\x92\x51\x6d\x9f\x3b\x09\x17\x6a\x02\xdd\xd0\x11\x39\x46\x75\x6b\xab\xc5\xc2\x5b\x84\x4c\x63\xc9\x4c\x8f\x88\xa5\x53\xf1\x0b\xf4\xc5\x4b\x36\x1e\x2d\x16\xc9\xb6\x33\x11\xe7\x12\x1e\x33\x8d\x96\x53\x5e\x65\x9a\x0c\x45\xb3\x5b\xde\x56\xca\x1d\xdb\xb4\x13\x5e\xf7\x7c\x39\x97\xb7\x6b\xf6\x12\x84\x04\x4e\x5a\xda\x51\xde\xa7\x85\x1b\x21\x50\x71\xbb\xc5\x67\x91\x4b\x59\xe5\x35\xca\x8a\xb1\x23\xda\x65\xf1\xed\x28\xa6\xf9\x2a\xbb\x7b\x2e\x3c\x2c\xdb\xe5\xe4\xf7\x7c\xf9\xb5\x58\xa4\xe3\xbe\x84\xf7\xd7\xf6\x17\x18\x6c\xf7\x68\x74\x63\x6f\x34\x17\x91\xec\x7d\x69\xd6\x3c\x44\x80\xcf\xea\x03\xd0\xd6\x36\x8a\x48\x91\x24\xc2\xcd\x60\x8a\x08\x52\x0d\x3f\xa9\x29\x4a\x12\x4c\x7c\x4b\x94\x2c\xcf\x30\x85\xfd\x36\x09\xef\x89\x72\xaa\xa8\x01\x9c\x14\x87\xfd\xe6\xf1\x53\x1c\x08\x1c\x87\x76\x9a\xc7\xe2\xbe\xc8\x4c\x91\x40\xeb\xa8\x22\x19\xa5\xac\x0b\x29\xfd\x54\xb2\x38\x85\x3b\x47\xb2\x4c\x44\xf3\x8f\x94\x75\x72\x27\x72\x01\xb1\x25\xb9\x47\xe4\xdc\xad\x13\xf9\x50\x2e\x8e\x8c\x35\xd0\xcb\xf1\x5f\x6b\x51\x52\x99\x85\xa1\xd7\xa4\xce\xbe\x32\x48\x14\x0c\xe4\x71\xf5\x95\xc1\x82\xe0\x5a\x9b\x56\x0c\xfa\x9d\x1e\x2e\x04\x2e\x7c\x70\x6b\x19\x25\x78\x1b\x3d\xcf\x65\x0c\x18\xc7\xee\xa2\x34\x7f\xe8\x4f\xff\x9c\x80\x9a\xce\x6f\x74\x82\xf9\x23\x65\x7c\x3e\x43\x13\x88\x1f\xa8\x04\x8f\xdd\xb8\xbf\x64\xab\x77\xe9\x42\x1e\xfc\x52\x19\x2f\x22\x5e\xa1\x6e\xd5\x80\x59\xde\x26\xa6\x1c\x49\x0d\x60\x63\xb3\x3a\xf6\x00\xc5\x2b\xdd\xbe\xe8\x2a\x5a\x95\xe8\xf3\x28\xd9\x4e\x76\x5c\x01\x68\x33\x94\xeb\x71\xbe\xc8\xea\x28\xf4\xf5\xf1\xc5\xe5\xa9\x10\x84\x7e\x73\x7e\xf1\xfa\xe8\xfc\x70\x94\x5c\x5e\x5d\x94\x07\xc5\xc3\x6d\x29\x2e\xbd\x43\xa6\x58\xe2\x58\x8f\x98\x31\x36\x0d\xaf\x54\x58\x84\x1a\xfa\x2e\xef\x12\x5c\x1d\x28\xb1\x04\xd7\x0e\xc0\x76\x30\xfe\x32\xcb\x6f\xd3\x59\x77\x74\x7d\x53\xfd\x59\x9f\x5b\x9f\x9f\x3e\x2c\x56\xdf\x94\xd3\xee\x62\x99\x97\x7f\x74\x2f\x5c\xd6\x7f\xc3\x27\xdd\xe6\x41\x05\x5c\xbc\x73\x39\x57\xab\x8e\xbe\xa4\x51\xcb\x7e\x35\x74\xa8\x72\x4f\x04\x91\xb4\xb2\x5f\x12\xc0\xe8\xc7\xe9\x5a\x12\xf5\xd3\x72\x23\xa1\xf0\x51\xb3\x11\x6b\x8f\x73\x70\x23\xb6\xb4\x53\x70\x2b\xeb\x30\x61\xed\xf6\xd1\x13\xea\x94\x38\x02\x8d\x3a\x86\x38\x82\xf7\x39\x1d\x52\x9d\xb1\xea\xa1\x75\x9c\xfc\xf5\xd0\x68\x1c\xf8\x03\xbb\xa0\x8e\x4d\x67\xf5\x46\xfe\x91\x47\x71\x51\x55\x53\x0f\xe2\xad\x44\x23\x51\x01\x81\x86\x1d\x8e\x40\x43\x98\xe3\x51\xaf\xac\xc7\x51\xaf\x5e\x73\xb8\x3e\xdb\x2d\xe5\x1a\x7e\x5a\xce\x63\x14\xe8\xfc\xc0\x45\xdd\x2e\xf2\x2b\x87\xd5\xba\x80\xed\x79\xb0\x91\x5d\x5c\xa7\x96\x0b\xdd\x7d\x5a\x58\x91\x05\xb6\x6a\x01\x42\xd2\x48\x3d\x73\x40\xa0\x35\x29\xce\xa3\x2a\x42\x84\x34\xea\x88\x79\xb3\xf5\xcb\x90\x7d\x7d\x5b\x21\x6a\x75\x16\x8b\x14\xd9\xd1\x05\xc4\x14\x10\x62\x34\x4c\xa0\x71\x27\x50\x9c\x18\x52\xb1\x3b\xeb\x17\xa9\x18\x21\x4b\x84\x68\x85\x44\x2d\x49\x8c\x8b\xd4\x51\x6a\x40\xc1\x7c\x9e\xf5\xeb\x29\x75\x40\x30\x37\xa0\x74\xd9\x58\xb8\xab\xf4\x57\xe9\x51\x57\x5b\xa9\x9e\xa5\x65\xec\x2b\x35\x7c\xe2\x60\x27\x4c\x42\x67\x29\x86\x4c\xff\x33\xe6\x53\xec\x2d\xed\xe8\xc3\xa7\x69\xd1\xe9\xcf\x74\x32\xe9\x3f\x3f\xac\xbd\xd4\xb9\x75\x87\x38\x4f\x45\x6b\x30\xc5\x23\x71\x76\xcb\xa8\xfb\x3c\xb4\xc5\x34\x28\x29\x09\x72\x4c\x23\x38\x42\x97\x69\x9f\x92\x22\x79\xc8\xa6\x3e\x53\x1b\xad\x31\x1a\x4d\x9d\xb4\x48\x3b\x2a\x66\xab\xa9\x50\x19\x11\x44\xb0\x9c\x58\x83\xba\x4d\x15\x21\x0e\x6a\x37\x7d\x23\x80\x63\x8a\x5e\x9b\x40\xd2\x2e\x81\xb5\xbe\x6e\x8b\x5c\x3f\xd5\xba\x2b\xd3\xb7\xc4\xbc\x03\x56\x45\x86\xb9\xec\x13\x26\x90\x74\xf7\x2b\x05\xdc\xf0\x76\x5c\xe2\x37\xad\xe4\xca\xb7\x9c\xc9\xff\xf2\x57\xc7\xc6\x8c\x74\xf1\xab\x86\x91\xfd\xd2\x57\x2c\x06\x44\xcd\xb5\xb3\x9c\x08\xac\x5f\x0a\xb2\xdc\x6e\xe6\x0c\x52\x40\x02\x5d\xfa\xea\x14\x9e\xa0\x0a\x12\xf8\xce\x57\x07\xee\x28\x25\x24\x6e\x94\x41\x35\x24\x81\x17\xad\x0b\x64\xb1\xdd\xb2\xae\xc3\xf4\xb6\xae\xc8\xc1\xc4\xde\xe6\x75\x30\xd3\x3a\xc0\xfd\xea\x1a\x36\xa2\x42\x65\xb9\x59\x9d\x04\xef\x7f\xd6\x31\x39\x86\x59\x1d\xea\x42\x75\x1d\x65\x4c\xc3\x1a\x3c\x90\xd8\xdf\xb2\x32\x5a\x55\xe7\x69\x98\xd1\xac\x7a\x99\x54\xe7\xf1\x37\xb6\x4d\x05\x8e\x8f\x51\x8c\xaa\x69\x1e\xf1\x7a\xac\xea\x87\x45\x91\x2d\xd9\x0f\xad\x16\xa8\x04\xcb\x0a\x40\xf8\x9e\x6c\xab\xe5\x53\xa2\x59\x57\x33\x3e\x50\xb1\x62\xc9\xc4\x5b\x58\x3a\xc4\x3f\x6d\xac\xc7\x0e\x8d\x61\x65\x2d\x48\x79\xed\x2c\x0d\xc9\xd3\xb5\xb4\x20\x87\xd6\x6b\x6b\x11\x02\x14\xd3\xda\x82\xe8\xa3\xd8\x5b\x10\xeb\xd3\xb1\xb8\x3c\x47\x59\x1b\xd8\x10\x9b\xfb\x1d\x1f\x68\x6d\xdf\x32\x9c\xd5\x45\x1e\x6b\xd1\x84\x06\xd8\xdd\x3f\x0f\xb7\x2c\x86\x77\x90\xf3\xad\x0d\x6b\x64\xd3\xfb\xbd\x9e\x72\x61\x26\x3d\x31\xe3\x3b\xf0\x59\x17\xc6\x3f\x8c\xf9\x7d\x6a\x27\xde\xa6\x62\x91\xf5\xbc\xab\xc0\x24\x5b\x5e\xcb\xfb\x36\xb3\xeb\xd5\x30\x64\x6c\x16\xe2\x33\xb8\xca\x27\x44\xb6\xb6\x32\x36\xa4\x6a\x85\x48\xa4\xda\x59\x3c\xbc\xe1\x8d\x6c\x43\x1b\xde\xc4\xfa\xf4\xd7\x04\x99\x57\xeb\x3e\x8c\x67\x5b\x15\x94\x31\x0c\x2b\x0e\x05\xc2\xaa\x3a\x3a\x4b\x9c\x36\x15\xea\x2a\xf1\xe7\x4b\x94\xe2\xfd\xb6\x70\x1f\x61\x4a\x1d\x02\x83\xae\xdb\xf7\xb4\xa2\x56\xd4\xec\x25\xf7\x00\xbe\x80\x8a\x7b\x46\xcb\xc9\x79\x6e\x55\x81\xfa\xdb\x4e\xe4\x99\xf5\x49\x1b\xcf\x61\xce\xaa\x0a\x3a\xaa\xf6\xe4\x3a\xa7\x12\x00\xfe\x69\x40\x29\xdb\x71\x00\x0b\x1a\xf1\x6c\x8a\xc4\xb1\x4e\x1b\xfa\x83\x37\x6b\x9e\x8c\x11\x35\x9d\x46\x87\xb2\xa2\xe6\x93\x68\x44\x33\x6a\x3a\x83\xae\xc3\x8e\xbe\xc9\x98\x8f\x9f\x3a\x40\x5a\x0d\xd3\x10\x07\x4f\xeb\xa4\x0a\xa6\xf2\xa5\xa1\x4e\x9e\x1a\x2a\x4c\xc5\x0a\xdf\x99\x93\x04\x6c\x3d\x15\xc1\x64\x9b\xe9\x3b\xd8\xc1\xbf\x68\x69\xd0\x53\xa7\x8e\x8f\xbd\x5c\x69\xed\xe7\x4d\xcc\x24\x03\x4f\x96\x44\xef\x16\x87\x0a\x95\xd6\x72\xe2\x74\xe1\x65\xb7\x93\x2e\x64\x81\x36\x12\x85\xd3\xd6\x7a\xbb\xed\xdf\x7a\x6b\x00\xcf\x68\x64\xbd\x2a\x85\x49\x47\xd4\x29\xe7\x11\x35\x89\xdc\xbb\xab\x22\x55\x7b\x78\x3d\xaf\x28\x32\xac\xd9\x20\x66\x1d\x5f\x90\xcc\x78\x18\xa6\x41\x5b\xdb\x9c\xe5\x41\x0e\xc4\xa4\x59\x52\x9a\x18\xe2\x67\x36\xe9\x12\x4c\x6c\x2e\x0e\x1d\xda\xe4\xd4\x52\xb1\x7d\x91\x58\xb5\xd3\x01\x27\x77\xf3\xac\xa6\x58\x07\xf8\x24\xa0\x8f\xd9\x39\xd7\x49\x97\xab\x40\x9f\xe8\x09\x05\x10\x00\x91\x1d\xc6\x23\x8a\x1f\x3a\x70\x62\x1b\xd0\x27\x32\xd7\x31\x44\x6f\x5f\xc7\x8d\x52\x82\x64\x81\xad\x85\x1d\x98\x59\xeb\xa4\x83\xb3\x7d\x7d\x1b\xd5\xbe\xde\x1b\xa2\x30\x79\x5e\x4b\x0b\x7b\x09\xa1\xa1\x8b\x73\x00\xab\x0a\x92\x38\xad\xc6\xf6\xba\x35\x44\x95\x7e\x99\xce\xe5\xe1\xa7\x97\xdd\x4f\x80\x07\xdd\x3d\x67\xa0\x95\x6f\xfa\xa9\xfa\x45\x51\x27\xd3\x28\xc8\x50\x83\x48\x40\x02\x69\x33\x69\x08\xe0\xd6\x90\xe6\x51\x79\x4e\xf0\x6f\x35\x71\x41\x78\xba\xbd\x28\x06\x0d\xa8\xb1\xef\xd3\x58\xd3\x69\x54\x8c\xfc\xa3\x69\x90\x18\x30\xb1\x2c\x79\xc3\x93\x3c\x47\x8d\xa9\x9e\x03\x69\xec\x1c\x92\x08\xe4\x74\xe2\x54\xd2\xe1\x49\x34\x2e\x31\x32\x12\xc9\xe5\xd2\xb9\x91\xd7\x3e\x9d\x6b\x8d\x3a\xb7\xae\xe7\x34\x6e\xe6\x9c\x1d\x69\xe9\xda\xb9\x50\x06\x8e\xc5\xec\x11\x47\x1a\x37\xa7\x21\x60\xb5\xdd\x7e\xa3\xe6\xac\xef\x03\x91\x2f\x38\x58\x75\x29\x3c\xe8\x0a\x55\x99\x92\x4f\xa5\x7a\x62\x72\x13\xf4\x65\xc9\x37\x93\x55\xbe\x4a\x67\xc7\xf9\xe3\x7c\x05\xde\x0b\xbe\x93\x6c\xb1\x04\xcc\x8c\x8b\x3d\x90\x63\x41\x18\x78\x07\x93\xe8\xeb\x5a\x3c\xe1\xc0\x59\xec\xcc\x58\x3a\x99\xb4\xeb\x40\x8d\xa0\xe9\xa2\x8c\x0f\xa1\x19\xb6\x01\xd1\xff\x51\xc7\xb3\xd7\xa8\x3f\x4c\xe7\xab\xfd\xdd\xf6\x6a\xf4\x9b\x6e\x2f\x31\x4d\x4a\x77\xa8\xc9\xf8\xae\x53\xb4\xb1\x7e\x58\x14\x8e\xd0\xdb\x5f\x95\xa0\x1b\xd3\x64\x3f\x8f\x49\xe7\x6e\xf7\xcd\x19\x7f\x33\x08\xa5\x15\xe9\xd6\x8f\xaf\x3a\x94\x82\x98\x09\x28\x1b\x51\xdc\x29\x0f\x7f\xde\x52\xa5\xac\x68\x84\xd8\x0d\x3a\xa5\x09\xca\xbf\x85\xd2\x18\x83\x07\x1d\x74\x08\x0a\x2d\xe6\xd0\x41\xe9\x2a\x8a\x00\x72\xc5\x08\x24\x14\xaf\x91\xf6\x56\x15\xad\x09\x11\xab\xd8\xa7\x88\xc6\x24\x80\xb3\xba\x01\x99\x0a\x39\x47\x00\xf1\x3f\x14\x6b\x22\x1f\x24\x8c\x41\x62\xff\x93\x44\xc8\x6a\x4b\x9a\x0c\x12\x0a\xf3\xb5\x64\x95\x47\x1a\xc2\x6e\x13\x01\xce\x7b\xca\xce\xe6\x2b\xf9\xc6\xb0\x80\x18\xe6\x49\x56\xac\x96\xf9\x37\xde\x22\x3b\x33\x50\xc2\x51\xc8\x0d\xe0\xfb\x29\xb6\x33\x7f\x47\xb4\x63\x86\x11\x1d\xe8\x71\x21\x89\xc4\x1f\x34\xc8\x00\xff\x2c\xbe\xf3\xd9\x9a\x31\xbc\x6f\x33\x4e\x5e\xf7\x9b\x84\xe3\xe9\x16\xe2\x41\xec\x59\x6f\x31\x1e\x2c\x3c\xf1\xd2\xcf\x10\x6e\xf6\x0c\x34\x84\x70\x7d\xc5\xeb\xc2\x95\x1c\x7c\x05\xec\x06\xa0\xb4\xf2\x3a\x07\x00\x9b\x6d\x7d\xda\x77\x24\x9a\xbf\x29\x66\x05\x9c\x8e\x0e\x53\x50\x84\x21\x92\x54\x07\x47\x03\xb8\x1e\x3b\x2b\xd0\x48\xb3\xb5\x21\x77\x04\xfa\x17\xbc\x3b\xb7\x6c\xa4\x42\x33\x03\x4e\xf6\x5a\x33\x3c\x0e\x84\xcd\x1d\xe2\x12\xff\x00\x36\x3d\x8d\x8b\xf5\x61\x61\x8a\x7b\xb7\x3e\x84\x3f\xda\x5d\x55\x10\x62\x86\x1b\xf6\xb9\x6c\x32\x5b\xc1\xbb\x09\x6a\x80\x55\x46\xf6\x66\x07\x99\xe5\x41\x4d\xf2\x00\x55\xe9\x06\x7c\x64\xe5\xcb\x52\x9d\x4e\x84\x38\xbc\x59\xf6\x32\xc9\x4f\xc0\x1c\x0f\x55\xf8\x6d\x42\x1a\xd7\x20\x07\xb7\x6e\x87\x58\x64\x66\x6b\x6c\x8a\xb2\xc6\x31\xc7\xde\xa6\xd8\x14\x87\x1d\xd4\x16\x9b\x23\xef\x43\x18\x63\x53\xf4\x7d\x5d\xd6\xb8\xee\x3a\xe7\x3f\x24\x5b\xe1\x92\x87\xa5\x50\x8f\xca\xbe\xcd\x68\xd6\x30\x74\x32\x4f\x1f\x32\xb0\x2c\x66\x3b\x79\xf6\x6c\x33\xb9\x9b\xce\xb2\xe3\xfb\x74\xfe\x25\xbb\x9e\x7e\x99\xa7\x33\x44\x35\xcd\xb3\x67\x2c\xe5\x34\xd6\xc5\x8a\x3c\x98\xc5\xe3\x18\x8e\x27\x95\x3a\x9e\x25\xfe\x61\xfc\xbb\x28\xaf\x71\xf6\xa7\xd5\x08\xaf\x57\xcb\xe9\xfc\x4b\x5b\xb2\xf2\x3e\x7d\xc8\xac\xd5\x2d\xf2\xa3\x3f\x29\x12\xce\x50\xe3\x82\xd0\x41\xf1\xc6\xc3\x44\x3f\xf8\x53\xd1\xc4\x6f\x35\x43\xd5\xb7\xb4\x48\x2a\xd1\x30\x95\xd4\x34\x62\xb1\x5d\x6a\xc8\xf6\x61\x4d\x38\x1c\x2f\x02\x25\x2a\x08\xa1\x58\x6f\x7c\x1f\x25\xb5\xb1\xe7\xd3\xc0\xd1\x05\xce\x28\x3f\x02\x67\xac\x6e\x33\x9c\x38\x94\xc2\xea\x57\x43\x50\x99\xef\x60\x6e\xcb\xf8\x9d\x25\x04\xf5\x2e\xc0\x97\x8d\xe0\x16\x40\xdd\x80\xbe\x05\x15\x1c\x8b\x61\xa7\x85\xb6\x30\x61\xe5\x15\x06\x5a\x39\x67\x01\x06\x06\x9d\x60\x20\xdf\x5f\xdc\xc9\xfe\x4d\x43\xba\xa2\xa4\x39\x81\xcc\x01\x28\x2f\xa0\x7f\xc6\xa0\x42\xb6\xf0\x40\x0e\x62\xc4\x19\x82\xff\x63\x82\x51\x18\x76\xad\x3f\x1e\x85\x13\xaa\xb8\x21\x29\x0c\x0d\xd1\xa2\x52\x18\xe4\x6b\x0f\x4c\xbd\x7e\x9c\xce\x26\xac\x21\x29\x09\x22\xd9\x52\x1b\xdf\xb6\x99\xe8\xdb\xf2\xe1\xce\x38\x57\xaf\xba\xcd\x72\xf5\x48\x2c\x83\x2c\x91\x1e\xd9\x12\x8b\xb8\x90\x6a\xd6\x4d\x1e\xd5\xf6\x62\xa1\x0d\x6f\x74\x2b\xca\xf0\xe6\xb6\x16\x09\xd8\xd0\xd6\xd2\x15\x68\x62\x2d\xbb\x2d\x9e\x6d\x95\x10\xc6\x30\xaa\x18\x04\x08\x6b\xda\xef\x5d\x8a\x1d\xad\x79\xe7\x6d\x41\x2d\xdc\x68\xc9\x61\x34\x9a\x15\x3c\x8c\xb9\xb4\x0a\x88\x4a\x12\xaf\x85\xb4\xa0\xad\x4c\xa3\x6d\x2d\x5a\xa3\x58\xb3\x0e\x6b\x0e\x2d\x98\xee\xd3\xc2\x86\x67\x20\x0b\xc8\x79\x66\x95\x41\xfa\xda\x40\xe4\x39\xf5\x49\x1a\xc1\x61\xce\xa3\x12\x32\x9a\x46\xe4\x3a\x83\xa2\xc1\xfd\x69\x08\x31\x9b\x2e\xba\x25\x8c\x78\xbe\x44\x61\x78\xe2\xb6\xd0\x74\x8e\x5c\xb7\x31\x34\x9d\x1a\x87\xb0\x86\xe6\x93\x62\x14\x73\x68\x3a\x17\x0e\x6f\x0f\xcf\xa7\x45\x4d\x10\xe7\xa8\x2f\x19\x20\x71\x56\x88\xf9\xe5\xe1\x0b\xf8\x13\xef\x4b\x4d\x4b\xb0\x96\x8b\x4d\x93\x7c\x39\xc9\x96\x1d\xc0\x8b\xf2\x2f\x37\xb0\x8b\x45\xb6\xac\xa8\xab\x9e\x8d\x33\x89\x4c\x5e\xf2\xa8\xe3\x42\x24\x54\xa8\xa9\x09\x00\x71\xb4\x41\x21\x68\x60\x6b\x2d\x63\x58\x4b\x6b\x01\x69\x60\x88\x24\xe2\xf8\x59\x21\xf2\xce\xa0\xdd\xe1\xaa\xd6\x51\x38\xe9\x93\x77\x0d\x9e\x40\x65\xb7\xc1\x14\xd6\x3b\x98\x67\x24\x89\x4d\x0f\xc7\x9a\x47\x22\xe3\xe3\x1f\x46\x82\x82\x8f\xaf\xcc\x18\xa2\x39\x23\x21\x5c\x69\xeb\x1c\x40\x22\x4b\x3a\x12\x5d\x6f\x0e\x14\x54\x3b\x2e\x54\x8a\xcc\x7a\xce\xa9\xb3\x09\xdf\xd3\xe8\x39\x71\x6f\x8f\xb8\x09\x05\x17\xee\x68\x89\x04\x17\x52\x86\x04\x82\xaf\x28\xc4\xb8\x47\x59\xb6\x25\xe0\xd8\x0b\x87\x18\x84\xdc\xa2\x8c\x18\x30\xe2\x14\x02\xee\xfb\x93\x01\x01\xf0\xbf\x39\xd9\x7b\x81\x5b\x05\xc5\xc8\x7a\xc5\x4c\xef\x04\xf0\x5e\x21\x0d\xcd\xf7\x9d\x40\xbe\xdb\x96\xa4\xe5\x79\xad\xd3\x83\xf9\x6d\x43\xe3\xe6\x35\x7a\x41\x23\xcd\xa2\x54\xc0\x33\x1e\x2d\xfd\xe6\x50\x5a\xde\x36\xfa\x20\x75\x90\x15\x9e\x40\xf9\xba\x7b\xcc\x35\x7f\x52\x0e\xc0\xaa\xd7\xa3\xe4\xd6\xb3\x5b\x8e\x3d\xbb\x0d\x31\xeb\x51\xc6\x45\xf2\x31\x79\xe6\x3c\xe2\xa1\xfd\xcf\x08\xbd\xa6\x93\x49\xfd\xc9\x61\x53\xa2\xad\xdb\x30\xf6\xc9\x22\xda\x9c\x43\x1c\x02\xd3\xbe\xfe\xab\x14\x72\x65\x1a\x6e\xe8\x1d\x88\x75\x72\x47\x22\x32\xc2\xbc\x40\x44\x50\x16\x90\x1e\x23\x7d\x31\xa6\x04\x5a\x69\xe8\x76\x48\xcc\x09\x81\xf5\x42\x51\xb5\x93\x29\x88\x0c\xcd\x05\x14\x84\x32\xe8\x0e\x87\x37\xd9\xea\x3c\x5d\x65\x05\x6b\xad\x8f\x19\x28\xad\x1b\xdc\x01\xe0\x7f\x48\x88\x97\xa9\xcb\xdc\xb0\x50\x31\x9b\xcc\x75\x74\x98\x86\x62\x0c\x91\xa4\x16\x73\x1a\xc0\x3f\x83\xb4\x4f\x34\x48\x1b\x72\x1d\x9a\x53\x6f\x45\x6a\x8c\x37\xe0\x64\xef\x8b\xc7\xe3\xf8\x5f\x1d\x12\x0d\x10\x8e\xa7\x11\xaa\x84\x45\x38\x7a\x4b\xbe\x13\x7f\xcc\x8e\x7c\x27\xe2\x98\x61\x4b\x84\x68\xac\x39\x74\x89\x10\x8b\x88\xe1\x4b\x94\x50\x70\x87\x30\x11\x02\x11\x16\xc6\x0c\xf0\x8e\x99\xfd\xe2\x00\x8f\x98\xe4\x0b\x2f\xb3\xbb\xce\x55\xbd\xca\xee\x60\x27\xb5\x8b\xb0\x46\x71\x52\x07\x73\x4f\xa9\x8e\x29\xa3\x4b\xfa\x74\xab\xde\x25\xfe\xd2\x7c\xd0\x5e\x2c\x60\xff\xae\x94\xb3\x90\x51\x47\xc3\xba\x72\x71\x9d\x38\xa6\xd2\xf7\x76\xeb\x52\xfd\xb5\x9e\x6d\x7e\xee\x93\xdd\x3a\x5e\x65\x77\xcc\x76\xb1\xa3\x15\xb4\xdc\x76\x8b\x28\x51\xc5\xe8\x20\xb9\xac\xa0\x79\x25\x5a\xfb\x57\x72\x0e\x65\xf9\xec\x36\xcf\x8c\x20\x5e\x89\x5f\x1d\x9c\x0c\xb4\x71\x5a\x01\x39\x64\xd9\xe4\x17\x6c\x43\x85\xbe\xb3\xd8\x4e\x52\x94\x0c\x9d\x8f\xe1\xc9\x45\x07\xc9\xd6\x66\x32\x9d\x80\xcf\x8d\xaa\x09\x47\xc5\x2a\x5d\x3d\x16\x1d\xa1\xd7\xd5\x9f\x6e\x2a\xeb\x67\x14\xf2\xc6\xf9\xc3\x22\x9f\x67\xf3\x7e\x4a\xd3\x71\xfb\x8b\x1b\x5a\xf7\x98\x02\x30\x5d\xae\xa6\x77\xa9\x30\xf5\xe9\xa8\xf9\x01\x68\x85\x6f\x9e\x52\xa0\xcd\xd2\xdb\x6c\x56\xbc\x4b\x17\x1d\xb8\xf3\xf6\x97\x8d\xcd\xcd\xbf\xe5\xe2\xe3\xcd\x26\x3b\xfc\xf8\x29\x59\x65\x0f\x8b\x59\xba\xca\x4e\xd2\x55\x7a\x58\xbd\x76\x23\xfc\xf2\x39\x2d\x5e\x57\xf7\x44\xfd\x23\xbf\x3d\x83\x17\xfc\x65\xb5\xe0\x8b\x65\x36\xcb\xd3\x89\x30\xcc\xaa\xfa\x1b\xd3\x44\xd1\x3c\xea\xf0\xa7\x3c\x87\x4d\x59\x32\x42\x5c\x5e\x54\x9d\x9f\xc2\xed\xf3\x00\x8f\x09\x04\x10\x23\x68\xb7\xff\xdd\x04\xed\x5e\x3c\xdd\xa0\x5d\x45\xdf\x81\xe5\xfe\xb5\xeb\x46\xf1\x29\x8f\x8f\x2c\x03\xad\xce\x26\xd4\x60\x65\xad\xcf\xf0\x1f\xdc\xe8\x3f\xf8\x4b\x1b\x65\x4a\x2c\x20\xed\x14\x22\x9e\xa2\x5e\x87\xc2\x44\xf5\x6a\x59\xa6\x6b\x17\xa2\xab\xd5\xac\x78\xb2\x3a\x5d\x8c\x10\xdb\x56\xb9\xcb\x44\xed\x1d\x36\x6e\xab\xa0\xad\x35\xfc\x1b\x4a\xfe\xed\xf9\xbb\x74\xa1\xa3\x2c\xff\x31\x91\x55\x97\xe0\x99\xf4\x72\x84\x7a\xa6\x74\x99\x92\x67\xcf\xaa\xb9\x3a\x9b\xb2\x58\x6e\x75\x72\xf9\xfa\xdb\x2a\x2b\xba\x5b\x04\x05\xbb\xa1\x7c\xe4\x4b\x8b\x24\xbf\x2d\xad\x8a\x2a\xf5\x23\x88\x4d\x92\xa9\xc0\xf3\x4a\xb6\x30\x98\x81\x74\xb5\xd9\x0a\x0f\xbc\xab\x4e\x62\x8c\xd3\x99\x33\x4b\xee\x79\x26\x73\xc2\x64\x0b\xa4\xef\x0f\x1d\x48\x7f\xc1\x50\x5b\x2c\xde\x6b\xd8\xa9\x6f\xfd\x56\xc3\x03\x71\xd6\xdc\xd9\xc4\x35\x5d\x6e\x54\x0d\xee\x94\xbe\x42\x70\x55\x29\xb9\x80\x46\x7b\x23\x97\x4a\x76\x62\x29\xb5\xd1\xbd\x4e\x46\xa2\x92\xfc\x5b\x05\xd3\xae\x73\xbe\x4b\xab\x66\xc1\xe1\x7f\xbd\x16\xfd\x71\xab\xc4\x92\x57\x3f\x56\x4b\xbe\xb1\x59\x2e\x7a\xae\xc2\xd8\xd8\x13\xb4\x66\x0d\x4e\xd8\xaa\x02\x87\x50\x0f\xf5\x94\x28\x6e\xf4\x87\x03\x23\xf3\x6b\x0d\x3a\xda\x12\xe5\xa4\xd6\x8a\x0e\x51\x79\xa9\x8b\x8a\xe8\x63\xab\x81\x0f\x44\x75\x4d\xab\x15\xed\x91\x8f\xb0\x03\x72\x0b\x9f\xe5\xa0\x6c\x38\x24\xe0\x0e\xcc\xea\x8b\xb6\x40\xf0\x3f\xf2\xdb\x92\x6b\xd7\xf9\xe3\x72\x9c\x5d\x09\x51\xe1\xb7\xca\x3f\xb8\x8f\x34\x6f\xf3\xdb\xe7\xfd\xe3\x95\x66\x61\x8f\x13\x03\x46\x8d\xf5\x7c\xd3\xa2\x41\xda\x22\x84\xa5\xc5\x9d\x77\x10\x80\x86\x8f\x0f\xeb\xcc\xc5\x9f\x79\x0c\x82\x01\xbb\x23\x9a\xec\x79\x87\x8d\x6d\x5b\x32\x9e\x5b\x02\xa8\x97\x20\xf7\x04\x80\x8d\x08\x18\x1b\x77\x35\x25\x7a\x6c\xe0\xa7\x47\x08\xd9\xc6\x16\x03\x85\x8c\xd1\x64\x9d\x76\x77\x48\xd9\x2e\x3c\x0e\x2a\xb9\xa2\xcb\x36\xe4\x55\x6c\x19\xb1\x48\x6d\xa0\x59\xe3\x38\x1c\x75\xb6\xa1\xbe\x4f\x0b\x04\xe2\x80\xec\xbb\x7a\x78\x18\xac\x10\x63\x9f\x42\x55\x70\xe1\xc5\x3e\x86\xf3\x03\x14\x5a\xa8\x88\x02\x0b\x2b\x48\x8b\x38\x48\x21\xc5\x0b\x22\x5b\x43\x0a\x27\x5e\x78\x30\x95\xbb\x50\xc2\xc0\x50\xff\xc2\x08\xd2\xe2\x09\x47\x43\xbf\xa9\xc6\x07\xee\x6b\xa2\x0d\xcc\xd2\xf1\x11\x6e\x85\x3e\xa0\x71\xab\x3a\xd1\xfa\x7d\xd8\x08\x18\xd7\x6c\xf8\xb2\x33\x78\x3a\x89\x65\x1a\x33\xca\xa6\xc8\x5c\xab\x0e\xd0\x8c\x3b\xb0\x89\xbf\x3a\x6b\x98\x4c\xdc\x54\xe8\xe0\x2a\x58\x32\xee\x3b\xeb\x47\xb7\x9b\xae\x89\x46\x78\xed\x38\x2b\xf0\x80\x76\x4a\x03\xe3\xba\x88\x04\x23\xef\xfa\x60\xb5\xb3\xe1\xcf\xc0\x3e\x03\x35\x5c\x9d\x93\x46\x0e\xba\xbe\xbe\x65\x62\x1f\xed\xf1\xe2\xa3\x0b\x45\x40\xb7\xa4\xc9\xc7\x69\x42\x3e\x9c\x93\x76\xdb\xf0\xfe\x2e\xd5\xb3\xd1\x68\x41\xf3\x71\xd7\xc7\xad\xb1\x7f\x7a\xe7\xd3\xb4\x91\x34\x3f\x87\xc6\x8e\xc0\xcd\x44\xd2\xc2\x89\xd1\x38\xf7\xca\x7d\xc9\x56\xef\xd2\x85\x80\x67\x2f\xc9\xaa\xf8\x16\x79\xe9\x0c\x08\xe5\xb5\x93\x13\x2d\xf5\x4b\x1b\x9b\x55\xfc\x88\xf6\x69\x62\x78\xcf\xd3\x08\x6e\x11\xad\xa0\x31\x37\xef\xc4\x7d\xfb\x6d\x95\x15\x47\x55\x0a\xbf\xfd\x7a\x29\x4b\xb3\x19\x86\xfe\xc3\x01\x06\xfb\x87\x03\x06\xe4\x85\x6d\xc5\x9d\xbe\x40\x15\x5d\x15\x5d\x81\x2d\xb2\x2f\x50\x05\x63\xfd\x18\xfc\x92\xee\xe5\x28\xd8\x68\x8e\xce\x4b\xf2\xc7\x35\xc7\x59\xee\x59\x74\x5d\x6e\x6e\x44\x3a\xd9\x16\x06\x82\xf0\x91\x03\xa2\x9b\xd7\x5c\x35\x63\xfb\xfe\xfe\xaa\x99\x3a\xae\xee\xa5\x67\xed\xe0\x81\x78\x40\x48\x45\x5a\x97\x2b\x09\x8c\xb5\x9b\xca\x8c\xa0\x30\xbb\xf6\x8e\xb5\x34\xcd\x59\xfa\x74\xff\xfc\x68\xfe\xcd\x52\x2c\xf5\xb6\xc8\xe7\xb8\xab\xed\x38\xca\x86\xec\xf9\x7d\xae\xc8\x7a\x8b\x01\x8c\xa4\x62\x4a\x0d\xa0\x78\x3a\x06\x46\xec\xbe\xbf\x8a\xb9\x5a\xac\xbc\x66\xb9\x77\x15\x85\xed\x9a\xb8\x23\x41\x6a\x18\x12\xf9\x86\xbd\x15\x23\x68\x0e\xa5\x3b\x3d\xe3\xe5\x10\x58\x42\x46\xdf\x91\xc8\x1d\x25\x2d\x37\xc1\x64\xad\xc4\x1d\xe0\xc6\x36\x1a\x57\x82\x0e\x10\x15\xf5\xee\xa0\xac\x51\x10\x42\xce\x09\x80\xf5\x32\xe0\x8b\x70\x54\x30\x60\x09\x39\x2d\x50\x57\x50\x91\x08\x3f\xa7\x0b\xba\x16\xcd\xcd\x39\x19\xaf\xcf\x75\x68\xbe\x66\xfb\x62\x7e\x92\x3d\xa4\xf3\xc9\xd5\xe3\x7c\x9e\x2d\x8f\xf3\xf9\xdd\xf4\x4b\xa8\x09\x37\xc2\x24\x98\x73\xe7\xfb\x36\xd3\x8e\xae\xcb\x46\x5d\x52\x7b\x50\x3d\xba\x4a\x97\xa5\xa2\xab\xc8\xe8\x5c\x86\x1b\xe1\x47\xb8\xe8\xbc\x7e\x4e\x1d\x18\x3b\x9e\x7e\x58\xc2\x57\xde\xd6\x37\xe5\x66\xf3\xdf\xa6\xcb\x7c\xfe\x90\xcd\x57\xbf\xa4\xcb\x69\x7a\x3b\xcb\xa4\x72\xeb\x53\xf3\xbf\xbb\x8a\xaf\x17\xb3\xc7\x2f\xd3\xf9\xcd\xb7\x05\xbc\x10\xbb\x75\x69\x75\xf5\x42\xcd\x89\xba\x5a\xfb\x52\xf8\xa5\xab\xd6\x1e\x57\x7f\xfe\x94\x2f\x1f\xd2\x15\x08\x79\x3f\xd9\xda\x4c\x16\xb7\x9f\x5b\xab\x28\x3d\xff\x3a\xcf\x67\x59\x3a\x37\xbc\xf6\x22\xf9\x71\xc4\xe2\x63\x19\xa5\x2c\x9a\xbf\x65\xc2\x06\x1a\x64\x1c\x89\x78\x3f\x8c\x0a\x2f\xa6\x4f\x26\xbb\x4d\x3f\x98\x2b\x8c\x0f\xf0\xd7\xf0\xbe\xc4\x14\x61\xd7\x1f\x4e\xab\xc0\x6e\x76\x30\xec\x23\x4a\x8a\x01\xe7\x27\x5e\x54\x8a\xc0\x50\xc7\x9c\x39\x77\xf6\xd3\x2e\xd4\xdd\xb5\x7c\xec\x65\xa7\x75\x0c\xb5\xc8\x86\xc2\x5e\x51\xc5\x28\x6f\xec\x77\x6f\x9c\xce\x1f\x1f\x36\xba\x02\xec\x5e\xfd\x18\x4a\xf4\x1b\x14\x79\x3e\x6b\x5f\x68\xb5\x4a\xb8\x87\x0e\x98\xd1\x18\xde\xba\x11\x25\xaf\xe7\x4e\x41\xe1\xf0\xe2\xff\x4a\xa8\x44\xc5\xde\xa6\x7c\xa0\xd7\x22\x6a\x86\x59\x39\x21\xbc\x84\xea\x6f\x9b\x9d\x0e\x9e\x1f\x9a\x5d\x8b\xbd\xeb\xd9\xb6\x8d\xd1\x95\xa2\x3b\x71\x2a\x45\x85\xfd\xe8\xf8\x94\x5d\xf1\x53\x14\xab\xef\x2c\x2e\xdd\x2b\x5f\x14\xeb\x95\xa5\xed\x29\xf0\xa7\xda\xc2\xfb\x22\x9a\x76\x5f\x0a\x0f\x55\xdb\xf6\x85\xfb\x40\x06\x6c\xc2\x88\x89\x63\x70\xfb\xc7\xcb\x23\xc3\x1f\xed\x7f\xd7\xf3\x41\xf0\x67\x87\xdc\xf3\x0c\xd4\x05\xc0\x1f\x2e\x2a\x04\xe6\xba\x96\xc6\x91\x78\x19\xb6\x3a\x66\x02\xd1\x87\x77\x20\xf0\x0e\xe0\xaf\x0e\xf2\xc0\x12\xb5\x87\x79\x49\xb5\xc2\x07\x7a\x00\xf3\x7d\x5a\x00\x78\xdd\x07\xfc\x90\x55\xef\xd4\x77\x9c\x63\x3e\xcc\x73\x15\x3b\xeb\xdd\xe7\xf0\xc7\x5b\x8c\x11\x31\x51\xba\x83\x48\x94\x62\xc4\x0f\xa4\x46\xcb\xa2\x5a\x7d\x62\x6c\x4e\x15\x5e\xa2\xde\x2e\xfa\xc9\xc8\x6e\xb0\x8c\x98\x28\xa0\xc9\x09\x90\xff\xc7\x2e\x42\xfd\x2f\x7e\xcb\xb0\x17\xb6\x0c\xc6\x18\x03\x35\xeb\x2c\x1d\x21\x9c\x89\x5f\x32\x35\xe4\x24\x34\x1b\x2d\x85\x8d\x3b\xa4\x9c\xf4\x5e\xa8\x84\x88\xee\x9c\x9f\x84\xec\xbb\xeb\x0c\xe1\x65\x30\x93\xe0\x5c\x86\xd2\xd9\xc4\x97\xff\xc2\xab\xd0\x7c\x10\xb4\x00\xd6\x78\x56\x5d\xae\xfa\xa3\x33\x66\x0d\x2f\x84\x46\x85\x5b\x14\x04\x62\xc4\x82\xd9\xb0\xfb\x37\x4d\x54\xb2\x5e\x48\xed\x42\x40\xbe\x9b\x13\x03\xcc\xd6\xa7\x55\x87\x39\x85\x71\x1c\xcd\x96\x76\xdd\xf8\x05\x84\xc4\x39\xaf\xee\x74\x7d\x5a\xe4\x8b\x3c\x1d\xa8\x91\xd7\x3b\x92\x88\xa7\x5e\xf2\xe9\x09\x7c\xf8\x2e\x2f\x63\xb4\x18\x7f\xe1\x15\x31\xcc\x2b\x85\xcf\x42\x6f\x04\xc5\xa9\x81\x78\xf7\x83\xba\xf0\xc7\xb8\x2d\xd4\x03\x1f\xa2\x37\x4c\xd0\x29\x94\x8e\x30\x4a\xc0\x2e\xec\xd3\x0c\xae\x00\xe3\x11\xdb\x84\x19\x73\xd3\x28\x56\xf8\x34\x8a\x79\x2f\x1e\xc5\x91\xd1\x14\x4f\x5b\x96\xae\xaf\x9c\xae\x24\x01\x7b\x11\x29\x0e\x75\x55\x52\x6d\x41\x1c\xfb\x9e\x6e\x33\x85\x9c\xd7\x76\x3b\x31\x30\x79\x0a\xc8\x4b\xbd\xbf\x4b\x57\x61\x98\x4b\xbf\x5d\xb8\x83\x74\x3d\xd7\x95\xe0\xbe\xd0\xff\x74\x17\x82\xdd\x85\x01\xef\x13\x77\x12\x30\x9c\xc3\x10\x7c\xdb\xf8\x13\xf6\x18\x4c\x97\xe0\x3c\x71\x97\xc1\x74\x2f\xce\x3a\x7c\x06\xf3\xb5\x33\xc3\x38\x0d\xa6\xcb\xcc\xd7\xe0\x35\xbc\xc9\x62\x86\x16\x00\xe8\xb4\xb1\xdf\x03\x07\x15\xaa\x89\xbc\x83\x78\x0b\xc0\xb7\xc5\x9c\x12\x1e\x12\x52\xa0\x92\x4d\x9a\x21\xfe\xdd\x04\x13\x6c\x62\x42\x9c\x2e\xbe\x1e\x2f\x01\xbd\xfb\x23\x8d\x1e\x1f\x2e\x9c\xe0\x87\x2c\x9e\x67\x60\x65\xba\xdf\x98\xf2\xf5\x05\x13\x6c\x1f\x02\xce\x30\x5f\x7b\x34\x01\x4d\x03\xb3\x57\x80\xc6\xfb\xc4\x3c\x02\x9e\x20\x02\x04\x9e\xc3\x27\xf8\xde\xc3\x07\xd0\x87\x0d\xef\x11\x20\x03\x07\x64\xc2\x19\x7c\x82\x3f\x43\x06\xb1\x9d\x81\x41\xe2\x05\x10\xf6\x81\xdc\x81\xef\x3d\x52\x80\x67\xe2\xd3\x08\x13\x50\x84\x6e\x78\x4f\x20\x76\x80\x00\x8f\x78\x3d\xbe\xc0\x49\x36\xcb\x56\x59\xc4\x00\x01\x8c\x80\xe0\x0f\xe0\x81\x7d\x97\x61\x02\xf8\xf3\xa2\xf9\x05\x20\x6a\x50\xbd\x7b\x10\x8f\xf7\x0d\x82\x80\xff\x19\x32\x20\x79\x09\x14\x95\x10\xc3\x4f\x80\xf1\xf3\x7a\x0a\xde\xf8\xbe\x8f\xd8\x01\x85\x9d\x4f\x27\x7c\x40\x13\xc2\x68\x7e\x03\x85\x0c\x66\xcf\x81\x82\xfa\xe9\xf9\x0e\x3c\xa1\x04\x04\x06\x26\xef\xe1\x7b\x0f\x28\x20\xbe\x6d\x2d\xbe\x03\x32\xac\xe0\x43\x3e\x8f\xf7\xf0\x67\x70\x61\x00\xb7\x61\x90\xf8\x02\x82\x80\xe1\x1c\x87\xef\x3d\xca\x40\xe2\xe6\xd3\x08\x34\x10\x05\x70\x2d\x3e\x43\xec\x70\x03\x09\x77\x98\xd7\x60\xa5\xe1\x7c\x5a\x18\x63\x1e\x45\x47\xc2\x32\x5b\x64\xe9\x2a\x9b\x54\x10\x8b\xcf\xaf\x3e\x8e\x3e\x79\x3b\x21\x30\xb6\x40\x1f\x04\x46\x40\x70\x41\xf0\xc0\x8c\xf3\x00\x1a\xff\xa3\x28\xc1\x08\x03\x5f\xda\x77\xca\x9f\x37\x04\xc7\xa4\x7a\x6e\x83\x3a\xc3\xa5\x85\x56\x4a\xb9\xe8\x99\xe4\x56\xcf\x24\x77\x79\x26\xf0\x27\x47\x73\x4c\x40\xd4\xa0\x4d\xf1\x20\x1e\xef\x96\x04\x01\xff\xdf\xe0\x95\xa4\x93\x49\xb3\x22\xfe\x6e\x09\x45\x3f\xc4\xf0\x4a\x60\xfc\xbc\x4e\x89\x37\x3e\x93\xc2\xf9\xab\xec\x8d\x34\xfa\xc4\x30\xb2\xe2\xaa\xd1\xe8\x83\xfa\x28\x14\xd6\xca\xdf\x00\xf9\x29\xed\xe7\x44\xf5\x57\x68\x92\x69\x26\xdf\xe2\xb3\xd8\xe9\x07\x7c\x17\x0a\x4d\xfd\xee\x54\x44\x47\xa3\x28\x9d\x4c\x6e\x72\x27\x4d\xc4\x75\x0d\x54\xab\x46\xf7\xcb\x26\x18\xb2\x0f\x56\x6f\x81\x8f\x9f\x82\xdb\x38\x2e\x1f\x8b\xfb\x6c\xd2\x0e\x30\x64\x6d\xf4\x34\x83\x26\x37\x6e\xb8\xc1\xd8\x22\x24\x9e\xb7\xa3\xcb\xc8\x62\xf5\x6b\x98\x3f\x29\x72\xa3\x86\x11\x29\xb2\xba\x1e\x49\x30\xb5\x35\x83\x0c\x76\x78\x6f\x43\x26\x11\xef\x67\x28\x82\x44\x1a\x4d\x1c\xd4\x89\x01\x6d\xe8\x78\x2d\x18\x66\xcc\x31\x7a\x2f\x48\x98\x10\x41\x0e\x68\x20\x31\x96\xcb\xde\x0d\x17\x10\xd3\xe2\xdc\x68\x22\x63\xc5\x74\x59\xc0\xc2\x15\x71\x8a\x31\x8e\x84\x08\x83\x8d\x71\x88\x43\x67\x1d\xf3\xda\x71\xce\x46\x4c\x0b\xec\x60\x4b\x8e\x4c\x76\x7c\x57\xa6\x7c\x98\xa6\x4b\x33\x56\x4f\x3d\xcd\xd5\x68\x49\x87\xfb\xa7\x39\xf7\x5d\xd4\x75\xd8\xf3\x88\xcd\x94\x34\x54\xdf\xa3\x45\x37\x45\x02\x9e\xa4\x49\x37\x9d\xf9\x87\xb6\xe9\xe6\xf3\xf1\x10\x46\xdd\x94\x9c\x58\x8b\x55\x7f\x93\xad\xce\xd3\x55\x56\xc4\x39\xa0\x03\xd0\x69\xad\x11\x18\x48\x56\xdb\xde\x5f\x8e\xdb\x9b\x77\xe1\xc6\x5d\xb0\x22\x52\x78\x58\x99\xce\xff\x7b\x7b\x4d\x6b\x07\xb8\xbf\xf7\x15\x04\xdb\x3d\x1a\xa5\xe7\xc2\xb5\x62\x31\x5b\x2e\x1c\x78\x31\x65\xf3\x24\xb2\x49\x0d\x17\x9e\x90\x63\x0e\xb6\x07\x0b\x2b\x05\xc9\xa3\xd5\x53\x8a\x22\x8b\x70\x24\x84\xdd\xa0\x4f\xa3\x07\xa9\xec\x6f\x6e\x26\xd1\xd8\xcb\x3f\x4c\x61\xbf\xad\xc2\x07\xb0\xa3\xd5\x5e\xa4\xce\x10\x17\x72\xf6\xc6\x10\x0f\x64\x8e\xf1\xec\xaa\x07\xa4\x68\x51\x6a\xdd\xa7\x28\xa5\xd6\x51\xea\x32\x4a\x59\xbf\x2a\x08\xb7\x21\x84\xbd\xc8\xf9\x75\xa3\xe0\xe4\x66\xb0\xfb\xef\xa1\x66\x14\xac\x98\x07\x5e\x8c\x0f\x37\xa4\xe0\x08\x89\x76\x63\x3e\x9a\x82\xc0\xab\xf4\x79\xf8\x31\xc8\x1d\xfb\xce\x7b\xab\x29\xa2\x13\x72\xf9\x3e\x30\xa2\x9a\x26\x38\xdc\xb7\xf2\x53\x84\xc6\xff\xba\xfe\xed\x30\xff\x3d\x96\xe7\xce\xe1\xb3\xfb\x79\xeb\xcb\xec\xae\x73\xa6\xaf\xb2\x3b\x44\xbf\xd2\x22\x5b\x1a\x7c\x73\x26\x37\x7a\x78\x07\xda\xdb\x75\x8e\xe1\x34\x7f\x07\xd9\x33\x49\x06\x88\x5d\x47\x9d\xe8\xc0\x1e\x68\x29\x8b\x21\xdd\xc8\x6b\x72\x36\x07\x72\x33\xb9\xb3\x65\xed\xce\x27\x77\x12\x75\x1c\xf5\x73\xf0\x10\xb6\xf9\x2a\xbb\xe3\x6e\x19\x6a\x89\x06\x1d\x08\x84\x3d\x96\xc8\x63\x74\xe1\x50\x36\xd8\xbc\x36\xad\xf5\x2d\x99\x8a\xb2\xbb\x08\x8b\x6b\xc6\x14\x58\xca\x2b\xe3\x2d\x5a\xc4\xdc\x35\xbc\x16\x34\x81\x56\xdb\x01\x99\x58\xb5\x0b\x40\x31\x5a\xee\xe9\x77\x17\x67\x4b\x8a\x55\xba\x7a\x84\xeb\x8b\xaf\xbb\xc7\x5c\xe5\xc5\xf5\x53\x3f\x4d\x67\x2b\xe1\x0a\xcf\x52\x95\xe6\xcb\x89\x70\x23\xe8\x45\xf9\x17\xd0\x44\xd5\x6a\x83\xea\x59\x85\xe6\xe9\x7c\x3c\x7b\x9c\x64\xd5\x4d\xee\xd8\x6b\x30\xf7\xb8\xae\xc1\x74\xc8\x46\xd4\xba\x66\x33\x4e\x54\x39\x2a\x96\x5c\x5a\x25\x33\x1d\x6a\x8c\x28\xe2\xce\x77\x13\x45\xdc\x7d\xba\x51\xc4\x26\x1e\x0b\xd0\x27\xee\x6e\x3c\x79\x92\x4e\x80\xeb\xbf\xeb\xc7\xa9\x01\x58\x59\x5d\xe0\x89\x53\xd4\x0c\xbc\x78\xb5\xea\xb2\x5e\xc7\x29\xdc\x95\x79\x26\x28\x29\x86\x78\x2d\xca\x64\xc6\xaa\x67\xb7\x20\xe6\x2f\x64\xa7\x21\x62\x8b\xd1\xee\x0c\x1d\xa3\xdd\x0d\x8f\xd1\x76\x97\x3f\x8a\xa6\x39\xb4\x52\x5f\xda\xac\xc8\x0f\xed\xad\x39\x25\x10\xad\xec\x3c\xf0\x2b\xa5\xed\xa4\xde\x73\xb9\xe7\xbe\xe7\x12\xb5\x77\x06\x8b\x57\xef\x04\x93\x1a\x1c\xab\xde\x81\x9b\x02\xfe\x1f\x7b\x7f\xfa\xd4\xc6\x95\x3d\x8c\xe3\xef\xf3\x57\x8c\xfd\x22\x05\xf5\xe9\x9f\x1f\x24\x10\xc6\x9a\x1f\x95\x22\xa0\xd8\x24\x18\x28\x96\xe4\x49\xb9\x5c\xae\x36\x6a\x83\x66\x84\xa4\x47\x12\x49\xfc\xf1\xe4\x7f\xff\x56\xef\x77\x3d\xcb\x5d\x1a\x3c\xc9\x9b\x99\x20\x77\xdf\x73\xfa\xde\x73\xcf\xbe\xa0\x48\x44\xf3\x53\x93\xa0\x7b\xfa\xa8\xfd\xcf\xa0\x13\xff\xf4\x4e\x08\x52\xf1\xf1\x4d\x23\x63\xf1\xe8\x84\x12\xda\x2f\x4d\x25\x12\x77\x9f\xb4\xff\xde\x4b\xbc\x39\x42\x05\x92\xa4\x8f\xb9\x9a\xf5\x12\xa9\x98\xd0\x8d\x51\x71\x84\xe2\xd2\x28\x82\x31\x2b\x8d\x64\x7d\x36\x0c\x9d\x83\x07\x5e\x13\xba\x20\xb1\x8b\xc2\x22\x6f\x32\x2b\x64\x68\xc8\x5a\x7c\x59\x9d\x06\xc3\x64\x54\xda\x52\x70\x0c\x15\x1e\xa3\x1f\x8d\x6d\x93\xea\x53\x29\xf5\x98\x70\xac\xc7\x06\x0f\x0f\x85\x79\xd3\x83\xa8\x2c\x61\x64\x01\x4e\x5a\x1c\x20\x93\x16\xa9\x87\x6f\x46\x88\x39\x74\x11\x99\xc0\x69\xc4\x25\x52\x03\x02\x1b\x9c\x18\xde\x4b\xb7\xa6\x03\xd8\x32\xe6\x76\x03\x75\x05\x00\xee\x10\x3c\x10\x9f\x84\x7c\x82\x96\xea\x80\x80\xcd\x06\x6c\x9f\xda\xad\x3b\x8e\xd1\x60\x80\x8c\xb0\xa7\x43\xee\xaf\x5b\x17\x90\x8e\xdb\x7d\xf0\x6b\x25\x80\xdf\xf4\xce\x9c\x2e\xd1\xda\x07\x30\x21\x81\x8d\x03\x14\xbe\xe0\xeb\x90\xf0\xaf\x12\xa0\x1d\xa2\x8a\x79\x04\x75\x9d\x53\x31\x40\xa5\x3c\x1b\xd2\x9d\x28\xed\xa6\x06\x01\xcd\x3f\xc7\x54\xdc\x95\x9d\x74\x66\x8c\xaa\x33\x03\x21\x00\xb5\xf6\x21\x40\x6b\x00\x85\xbc\x3d\xd5\x07\x7b\x21\x1e\xa6\x31\x58\xde\xfc\xaf\x09\x72\xe6\x3a\xe9\xec\x26\x1b\x22\x43\xd6\x93\x57\xc9\xd6\x66\x32\x19\xa3\xcf\xf5\x92\xe7\xcf\xeb\xd8\x69\x83\x68\x15\xba\x00\xb1\x2c\x9f\x51\xd0\xbb\x99\xdf\x2f\xe6\xb3\x6c\xb6\x16\xfa\x4c\x56\xbf\xc0\xab\x35\x8f\x29\x0b\x3a\x16\x72\x9a\x4b\x38\x93\x8f\xb9\xd6\x7e\x8c\x6f\xca\xa0\xd8\x94\x69\xfa\x31\x9b\xae\xde\xa6\x8b\x06\xf8\x49\xfd\xcb\xc6\xe6\xe6\x77\x73\x71\xf1\xca\xd8\x1a\xbe\x7b\x9f\xac\xb3\xfb\xc5\x34\x5d\x67\x47\xe9\x3a\x1d\x16\xaf\x5d\x09\xbf\x7c\x48\x57\xdf\xef\xee\x6c\x54\xb8\x34\x2b\xb7\xde\x60\xeb\x37\x15\x8f\x28\x1f\xf4\xaf\xf9\x47\xc2\xe7\xf4\xca\x43\x5e\x2c\xb3\xe9\x3c\x6d\x61\x9e\x97\x7f\xb3\x4a\x62\xab\x77\x80\xdc\x3c\xc7\x60\x34\xa6\x15\x85\xd2\x78\x15\xad\x8d\xc9\x88\x3c\xf4\x5a\xfa\x4a\x31\x82\xcb\x2f\xbf\x9a\xe0\xf2\xde\x13\x0f\x2e\xbf\x6a\x62\xa4\xd7\x93\xd9\xba\xb8\xca\xa5\xc7\xb1\xe2\xcc\x86\x58\x74\xf9\xf8\xe5\x7a\x39\x99\xdd\x36\x41\xd5\x31\x37\x32\x5c\x32\x5c\x6e\xb8\x9a\xf0\xa5\xc6\x40\xf5\x36\x86\x4e\xc3\xb1\xe9\x18\xb5\x4c\x9e\xd2\xd3\xb5\x96\x1b\xcc\xdc\x83\x56\x99\xa2\xa2\xe5\x56\xa2\x6d\x8e\x9b\xcb\x87\xfc\x7d\x29\x6f\x94\xa7\x77\x87\x95\x85\x21\x88\x13\x0d\xdb\x0d\x45\xeb\x7c\xf1\x36\x5d\xe8\x08\xe6\xff\x98\xc8\x3c\x50\x50\xbd\x5a\x84\x48\xcf\xcc\x1e\xa6\xd3\xe4\xf9\xf3\x5c\x56\xfc\xb9\x29\x13\x71\xbf\x4d\x0c\xf8\xbc\xce\x56\xf5\xf7\x89\x82\x4d\xa5\xfb\x2d\xec\xa0\x8a\xcd\xa1\x9f\x52\x29\xfe\xf0\x23\x52\xd2\x14\x4a\x64\x6c\xb7\xf0\xc7\x5c\x7e\xaa\x0f\xa3\xa4\x6f\x96\x89\xf4\x4f\xb1\xc8\x54\xfc\xdb\x6a\x89\xed\x9f\x84\x61\x55\xd7\x63\xf8\x00\x68\xa6\xaf\xa3\xd9\x4f\x5b\x3c\x58\x82\xc5\xcb\xae\x13\x2c\xf6\x02\x24\x58\x6c\x3d\xdb\x6f\x80\x35\x72\x4a\x80\x55\x49\xb2\x57\xb9\x4a\xd9\xa4\x29\x8c\x8d\x3e\x8f\xea\xfe\xf4\xf2\x47\xe5\xaf\x10\x8c\x06\x4e\xfa\x44\x25\xa6\x88\x5b\x25\x9b\x13\x9c\xe4\x97\x56\xf8\x10\x41\x41\xfd\x20\xc0\xac\x17\xd4\xc7\xd3\xec\x71\x2d\x1f\x80\x8d\x1e\x88\x67\xd2\x0a\x8c\x67\x5b\x39\x56\xf3\xe2\xc7\xe2\xcd\x8d\xcd\xfc\xdd\xb9\x0a\x73\x63\x57\x10\x10\x25\x78\xe1\xb2\x0b\x80\x48\x0f\xb5\x98\x28\x26\xcd\xf5\x9e\xf1\x1b\x4a\x61\xd1\xeb\xeb\xc4\xa2\x65\xbf\x34\x3e\xb4\x2d\x68\x6b\x4b\x21\x80\xee\x6b\xc9\xd6\x21\xf2\x35\xd0\xaf\x68\x0e\xa9\x48\x81\x94\x65\x61\xe7\x76\x0f\x5f\x20\x1f\x4b\x0d\x28\xac\xaf\xc5\x60\xe1\x31\x7d\x2e\xea\x0a\xb6\xd2\xb0\x7f\xcd\x3f\xe6\xe4\x73\x39\x7f\x58\xde\x64\x17\x42\x9d\xd8\x8f\xca\x3f\xc0\x16\xea\x8f\xf3\x8f\x2f\xda\xc7\x0b\x96\x18\xbc\x72\x8c\x2a\xb1\xe3\x58\xa9\x35\x3c\xae\xa0\x25\x28\x16\x4c\xab\x95\xb0\x62\xf7\x81\x18\x9d\x00\xe8\x96\xab\x81\x78\x70\x35\x4c\xa3\x4f\xe7\xb8\x0c\x7a\xa3\x3b\x50\xc7\x10\x7e\x15\x46\x2d\x43\x80\x10\x4a\xc8\x8c\x4c\x81\x53\x4f\x66\x38\x6a\x87\x20\x0c\x7a\x62\x06\x54\x03\xe6\xb3\xe8\x1f\x01\x87\x5f\x08\x04\x06\xa0\x1b\xaa\xde\x0c\xc5\xa2\x88\x5a\x10\xb6\xad\x0e\x5c\x68\xc4\x80\x27\xbb\xa0\x38\xdc\xa5\x2b\x02\x06\x1e\x25\x69\x56\x9b\xab\xb3\x84\xdd\x97\x4e\xe8\x79\x27\xe9\xbe\x64\x51\x87\x1a\xcb\x8a\x90\x98\x6b\x85\xe8\x99\x8c\xeb\xb6\xbf\x9d\x24\xe0\xee\xb9\x1e\xbd\x4f\xd2\xed\x9e\xcf\xc1\x87\x4e\xb4\x85\x0e\xdd\x3d\xb9\xd6\x6d\x5f\x05\x3b\x1c\x3b\x71\x73\x3a\xdb\xab\xc4\xed\x5b\x57\x26\xc0\x60\xf6\xda\xf1\x4c\xfc\xdc\x57\x8e\x27\x5a\x38\x14\xdc\x3e\xb5\x08\x5e\x39\x7e\xeb\x31\x35\x47\xaf\xb4\x0b\x9d\x25\x9a\x7c\xb2\x4a\xbe\xaf\xf7\x4d\xae\x3c\xff\x60\x42\x25\x78\xe2\x6a\x02\x72\xa0\x8c\x55\xf8\xfe\x5a\xb7\x41\x4e\x1e\xf6\xbc\xb9\x56\x28\x1e\xc9\xa9\xd0\xe1\x36\x6e\xa4\x80\xe7\xdb\x86\x52\xc0\x6a\x0e\xe8\x88\x0d\x68\x85\xaa\xa1\x81\x4f\x19\xda\x8f\x76\xfe\x44\xed\xb4\xf3\x3b\x6b\x08\x96\x47\x95\x0c\xa8\x97\x55\xbf\x06\x3c\xed\x26\x40\x05\xd6\x65\x80\xda\x98\x86\x54\xa8\x32\x18\x44\x15\xb3\x6f\x86\x43\x37\x55\x50\x09\xb3\x43\xf2\xa8\x75\x81\x0e\xba\x72\xc5\xba\x89\xa8\x81\x87\x88\xd2\x00\xf3\xe4\x14\x92\x4a\x0e\x7d\x72\xe3\x4d\x86\x61\xdf\x66\xeb\xb7\xe9\x42\x00\xb9\x9b\x64\x85\xeb\xd4\x9d\x90\x0c\x90\x65\x4a\x92\x83\xa3\xe5\x4b\x1b\x9b\x85\x23\xd2\xf1\x63\x45\x87\xb5\xa3\x1e\xd2\x77\x3d\x65\x63\x0a\x10\x88\xc4\xc7\xcf\xeb\x6c\x75\x50\x64\x0a\xd5\xfb\x21\xc5\x5a\x37\x03\xe1\x71\xbd\x47\x41\xe3\x7a\x2f\x24\x16\x2b\xdb\x61\xc0\x45\x14\x39\x2a\xa2\x7e\xe6\xaa\x9b\xd4\x77\x3d\x20\x47\x2f\x23\xd9\x3d\x67\x8d\x9c\x56\x4c\x62\xf0\xba\x6c\xf9\x70\x73\xdb\x2e\xd4\xac\xbc\x0c\xd1\xf8\xf1\x71\x1b\x0c\xc4\x8b\xe2\x06\xaf\x0e\xfc\x38\x5e\x6f\x1f\x3b\x43\x81\xcb\x34\x35\x3c\x6c\x8d\xca\x8d\x15\xad\x1d\x7c\x93\xdc\xd0\x73\x56\x4d\x35\x14\xe9\xf4\xed\xa5\x99\xda\xb7\xa6\xa6\xf0\x3a\xe2\xe7\x47\xe3\x76\x38\x08\x95\x6f\xfb\xf5\x8a\x3c\xca\x16\xd3\xf9\xe7\xfb\x6c\x16\xb0\x4f\xa4\xbe\x26\xaf\x47\xa4\xfd\x7d\x5b\x02\x76\xa8\xfe\x90\x49\x7e\x06\x47\xd9\x3a\x9d\x4c\x57\x68\x42\x6c\x3f\xd9\x0a\x92\xb4\x6a\xfc\xe2\x98\xcd\x24\x35\x68\x94\x9e\x81\x04\x14\x59\x4d\x24\x59\xeb\x3d\x6a\xbf\xf5\xce\xfa\x48\xaa\x89\x9c\x25\xb8\xd1\xec\xe1\xbe\xce\x34\x3b\x69\xc9\x33\x4c\xcf\x73\xe8\xfa\x47\x6a\x3e\xa9\x83\x0c\xde\x78\x92\x0c\x82\x9e\xd0\x15\xaf\xf7\xa4\x94\x57\x25\x1e\xb0\x00\xae\xa0\x81\x3e\xdc\xd5\x05\x39\xcd\x47\x6e\x52\x09\x13\x5a\xb4\x06\x95\x10\xd8\x90\xcd\x29\x21\x38\x31\x1a\x53\xe2\x87\x2d\x50\x92\x9b\x2a\xdb\x87\x83\x03\xf8\x99\x1a\x31\x00\x95\xda\x9c\xcc\x35\xc7\xb1\xdf\x78\xba\xe0\xfa\x8d\x6d\x59\xf6\x50\x3a\xbe\x96\x33\x6e\xde\x68\x94\x9d\x76\x11\x58\xe7\x69\x9f\x53\x4b\xa3\x1e\xd6\xf3\x37\xf3\xd5\x7a\x96\xde\xe3\xe5\x60\xa1\x34\x1e\xdb\x06\x44\x1e\x5e\xc7\xd7\x7b\xc8\x88\x72\x47\xd6\x7d\x1d\xda\x4f\x8b\x25\x5d\xf5\x11\x28\x0d\xd7\x7b\x04\xf2\xa5\xa8\x3f\x07\x02\xb1\x06\xd0\x7f\x70\x0e\x11\x6f\xc6\x5d\x6c\x2d\x88\x09\x85\xae\x08\x29\x1c\x87\xa3\x0f\x09\xa4\x41\x52\x86\xa4\xe3\x66\x6a\x43\xb6\xef\xbf\x5a\x4e\x56\xeb\x74\x9d\xed\x7f\xb9\x3e\xbd\x1c\x5d\x0d\xb7\x92\xab\x8b\xeb\xd1\xb0\x97\xfc\x70\x70\x72\x39\x1a\xf6\xbd\xc8\x45\xda\x9e\x80\xaa\x56\xbb\x28\x65\xb0\x1e\x22\x96\x4d\x18\x86\x9d\xaa\x87\x2a\x5d\xe0\x26\xd5\xba\x97\x40\x68\xd4\xa1\x7a\x88\x16\x06\x82\xf5\x50\xc6\x48\x84\x21\x12\x73\x14\x85\x8c\x74\xf8\x66\x2c\x1e\x53\x29\x0b\x39\x2f\xd8\xb0\xae\x97\x5a\x46\x9c\x13\x1c\x41\x2f\x0b\x37\x27\xd8\xf0\x3d\x1d\xaa\x59\xac\xf9\xc0\x14\x54\x7d\x14\xad\xa7\xd8\xff\xa7\x5b\x15\xcb\x6b\x22\x30\x78\x6b\xbb\xd1\x94\x22\x4e\x02\xa6\x83\x21\xa4\x99\xc7\x55\x92\xfc\x4e\xea\xe9\x29\x29\xa6\x46\x3e\xdd\x6a\x29\xe6\x06\x38\x5d\xa8\x29\xa6\xb9\xbf\xb1\xf4\x94\x93\xc9\x4a\x80\x1d\x6d\x92\x89\x01\x84\xa7\x74\xb7\xac\xca\x6c\x01\x08\xac\xf0\x5f\xd3\xd8\xa7\x93\xe9\x25\x8b\xbb\xcf\xab\xc9\x4d\x3a\xcd\x1f\xc0\x9d\x46\x83\x64\x2b\xf4\xc0\x13\x4e\x94\x6e\x37\x90\xcf\xca\x42\x41\x51\x9b\x2a\xea\xf0\x48\x9d\xf2\x28\x68\xf2\x5a\x29\xf2\x56\xfc\x7b\xae\xc9\x53\x6e\x3d\xf3\x84\xe7\x9a\x0c\x8c\x5e\xbf\x73\x91\xdd\x7c\x55\x93\x50\x76\x3b\x08\xe2\xa2\x12\x37\x56\x3f\x4e\x03\xd0\xf0\xad\x38\xe9\x40\xfe\x1e\x7e\xa2\x4a\xf6\x6e\x86\x9f\x88\x0e\x5b\xf9\xa6\xaa\x1e\xdb\x81\xde\x2d\x21\xee\xac\x14\x6a\x60\x7d\x17\x1f\x97\x02\xde\xb0\xa7\x33\x2a\x05\x61\x04\xf1\xc7\xa4\x80\x08\x44\x1d\x91\x02\x42\x8e\x3d\x1e\x05\x23\x8f\x27\x30\x1a\x05\x23\x8d\xc8\x63\x51\x70\xc2\x88\x31\x12\x05\x23\x8a\x88\xe3\x50\x30\x92\x78\x42\xa3\x50\x30\xd2\xe8\x6a\x0c\x0a\x88\xc7\x13\x1c\x81\x82\xd3\x74\xf8\xf1\x27\x18\x59\x49\x22\xd8\xb5\x0e\xc9\xef\x5e\xa9\x2a\xbb\x5b\x9c\x89\x30\xdd\x02\xdb\x8b\xc7\x1e\x03\x83\xed\x52\xc4\x11\x30\x38\x69\x86\x1c\xff\x82\xb1\xd9\x48\xa3\x5f\xb0\xf3\xf7\x4e\x81\xdb\xf5\xbf\x09\xde\x49\x70\xbb\xcc\xc3\x8e\x34\xe1\xc5\x04\x23\xb4\x57\xd7\x6d\xb2\x0b\xb4\x84\x79\xaa\x4b\x1b\xaf\xc5\x5d\xa5\x47\xf2\xb3\x90\xbf\xd4\x10\xcb\x0d\x38\xd5\xc5\xf4\x99\xdd\x39\x1f\x19\xd3\x5c\x48\x88\x7a\xb8\x1f\xff\x7a\x51\xdc\x74\x3c\x16\x76\xc0\x6f\x7e\x0b\x7c\x8f\x3b\xf1\x15\x45\x9b\xdb\xc2\x80\x02\xce\x6c\xd1\xee\xbc\xaf\x27\xc5\x2f\xa6\x8b\x1f\x9b\x8e\x73\x04\x9b\x82\x1a\xdf\xa5\x50\x99\x1d\xdd\xe8\x76\x85\x69\x4a\x8b\xf0\x40\x4c\xeb\x42\xd8\x41\x27\x96\x67\x0d\x4f\x63\x16\x86\x4a\xd0\xb0\x99\x21\x50\xab\xae\x45\xbc\x4a\xfa\x1e\x9a\x84\xb0\xb4\xa7\xf2\x60\x4e\x9c\xc2\xf4\x05\xc3\x5b\xff\x35\xa1\x5f\xea\x4c\x97\xde\x16\x6b\xa8\xcb\xc3\x72\x8a\x3f\xb9\x57\x3c\x7a\x9b\xcd\x2a\x03\xa9\xf9\xb0\xd7\xcd\x4f\xf0\x97\xb5\xcf\x19\x22\xda\xb4\xc2\x84\xa7\x3f\x7e\x86\x3c\x33\x06\x4f\x28\xbc\x7b\x71\x30\xfb\xac\x80\x69\xdf\xfa\x71\x35\x9f\xe1\x7b\xb6\xd5\xc1\x7c\x1a\xe2\x68\x99\xa2\x29\x46\x72\x97\xae\x46\xb3\xf5\xb2\xdc\xcd\xc3\xf9\xec\xd3\xe4\x76\x48\x9b\xcd\x99\xf4\xb6\x93\x67\xbd\x72\x85\x3f\xb2\x9b\xf3\xe9\xc3\xed\x64\x46\x7e\x77\x50\xbf\x7b\x32\xbf\x5d\x31\xdf\xdd\x2d\xde\x1d\x67\x37\xd3\x74\x99\x8d\x2f\xb2\x55\xd1\xf5\x91\x62\x57\x18\xde\x80\xad\x0b\xf9\x05\x29\x23\x63\x9c\xad\xd6\xcb\xf9\x67\x1e\x02\xa6\x57\x60\x0c\x94\x37\xe4\xa4\x10\x97\xb9\x40\x02\x3f\x8e\x36\x13\x08\xd2\xb3\x43\xd9\x4b\x82\xfe\xcf\x10\x5c\x1e\x56\x11\x6d\x95\x18\x89\x18\x7b\x5f\x4d\x22\xc6\xab\xa7\x9e\x88\xb1\x15\x69\x08\x50\x6f\xcf\xf2\xe4\xf5\x72\xaa\x3e\xfa\x12\xdb\xa4\x56\x32\xd3\x77\x48\x90\xe6\xf8\xf6\x08\x2a\x02\xa5\x06\xcc\x94\x05\x82\xce\x5a\xe9\x76\xea\x11\x9a\x01\xf4\x48\x53\x8f\x6c\x03\x86\x0e\x1a\xfd\xc4\x90\xbf\x92\x7f\x48\xa1\x6d\x68\xb8\x96\x3a\x88\x4f\x91\xdf\x96\x05\xa1\x23\x49\x93\x51\xde\x7a\xf9\xf5\x0d\x3e\xda\xe1\x0f\x3e\xea\x73\x67\x0d\x55\xeb\xcf\xe7\xd3\xfa\xd1\x37\xba\x3a\xa5\xbe\x38\xb0\xbe\xd8\x68\x51\xea\x2b\xbb\xb6\x57\x5a\xe5\x49\x7d\x05\x65\xc4\xaa\x6e\x43\xbf\x16\x9a\x56\x44\x71\xa5\x29\x9a\x97\x4a\x95\x68\x82\x9c\xa6\x08\x71\xf0\x55\x75\x28\x0a\xc2\xaa\xa6\x66\x1a\x4c\x45\xd4\x4f\xf8\x73\xa6\x0c\x3a\x5a\x97\x33\xa6\x8c\x2e\x83\x18\x7e\x4a\xdc\x49\xe7\xe8\x9a\xc4\x17\x0e\x96\xbb\x86\x8e\x79\x0a\x9d\xbb\xf6\xaa\xbb\xb9\x52\xbd\x2d\xe6\x60\xa9\xfa\xd1\x5c\xeb\x81\x9e\xdd\xd3\xf3\xd2\x14\xb7\x85\x5a\xbf\x03\x8e\xef\x12\x94\x1f\xda\x27\x1b\x93\xe5\x0c\xd3\x8e\xec\xa3\xb1\xc0\x94\xc5\x80\xa3\xb1\xc0\x4c\x45\xc2\x68\x2c\x75\x28\x16\x61\x68\x15\xa7\xae\x6a\x37\xa9\x95\x12\x14\x03\x45\xc3\x00\xb0\xe8\x6f\x79\xce\xce\x7a\xf9\x04\x66\x67\xed\x88\xdf\x80\xcf\xb5\xea\x8b\x8f\x9b\xd4\x08\x61\xf3\x0b\x2d\xa0\xb7\xad\xbe\xd1\xea\x0f\xda\xb3\x03\xe5\x59\x41\x71\xd0\x9e\xdd\x15\x9f\xb5\xf8\x4c\x28\xd1\x19\x90\x4f\x69\x4a\x04\x81\x7c\xcc\xce\x13\x02\x2a\x7d\x24\x52\xa4\xea\x07\xc4\x7b\x0b\xcd\x1d\xa3\xc6\xa6\xf0\x99\x63\x94\x55\xc4\x8c\x87\x2f\xa7\x67\xa7\xa3\xe1\x56\x72\x70\x71\x75\xfc\xc3\xc1\xe1\xd5\xb0\x97\x7c\x7f\x7d\x7c\x72\x34\xec\xbb\x97\x90\x1b\x10\x0e\x17\x4b\x70\x98\x5b\x06\xbc\x6d\x8d\x2d\xb8\xcd\x23\xb7\xcf\xb3\x9f\x07\x9a\x04\x5e\xba\x90\xaf\x09\x2e\xff\xed\xc2\x63\xfb\x18\xc3\xd7\xfc\xdd\x80\xd1\x07\xaf\xe9\xb0\x38\xda\x67\x80\x81\x6b\xbc\xd5\x1e\xad\xbf\x90\x32\x46\xdd\x75\xf4\xad\xf3\xc4\x65\xb4\x7a\xa8\xc3\xe9\xc2\xdb\xa0\x2f\x44\xf7\xdc\xa1\x4e\x26\xc3\x90\xaf\xce\x07\xda\x05\x34\xfe\xba\x99\x6a\x47\x97\x86\xfe\xc6\xa0\xc3\x34\x3b\x8b\x51\x08\xcc\x98\x05\x65\x3f\x6d\xea\x31\x79\xea\x2a\x58\xb4\x43\x1c\xba\xda\x92\x3b\xa0\xa0\x6e\xeb\x96\x01\x65\xb0\x1f\x68\xbe\x84\x19\xec\x07\x12\x6c\x9c\x49\x20\xf2\x21\xc2\xb9\x39\xc8\x7d\xf2\x99\x09\x82\xe4\xe1\x80\x90\x23\xcc\x05\x01\xe1\xf9\xcc\x06\x71\xdf\xdf\x68\x33\x03\xc0\x44\x69\xec\xc8\x5d\xc7\x06\x20\x49\xe8\xf8\x79\x87\x9a\x1c\x80\x9d\xb4\xdb\xf4\x00\xf7\x3d\x15\x99\x98\x5b\xda\xf9\x36\x32\x43\x00\x3b\x52\x03\x78\xde\x2c\x01\xa4\xd0\x0f\xfb\xfc\x6e\x27\x97\x82\x95\x58\xd8\x56\x05\x98\x5a\x8a\x14\xbf\xe1\x17\x21\xee\xc4\x52\xec\x7a\x78\x4f\x2b\xa5\xee\xbf\x2c\x07\x3b\xa9\x97\x05\xc7\x2a\x5a\x02\x0b\x9e\x35\xb2\xc8\xb0\x4a\x23\xd0\x68\x75\xb1\x46\x68\x9e\xb5\xb0\xfc\x3d\xed\xa4\xfe\xf5\x95\xcb\x51\xfb\xd4\xbc\x22\x33\x2c\xed\x07\x1d\xba\xce\xd5\x76\xc8\xee\xb5\xad\xfc\xbd\xf4\x9e\x44\x5a\x24\xa5\x3a\x9c\xa0\xd7\x18\x52\x6c\xf2\x91\xed\x53\x63\xcd\x20\xb5\x7d\x64\xb4\xf9\xa3\xb6\x0f\x74\xd6\x5c\xca\x44\x60\x87\x4f\xf4\x50\x56\x7a\x2e\x2c\x57\x8a\xf1\x05\x64\x4a\x42\xb6\x54\x0f\x9c\xe3\x6c\xdb\x08\x13\x56\x74\x1b\x0c\x99\x91\x6d\x67\x4a\xe0\x66\xd4\x5c\x49\x88\x8a\xba\xb3\x25\x10\x12\x62\x7a\xf1\x77\xb4\x8e\xaf\x46\xe9\xb8\x6b\x65\x4a\xee\x55\xcf\x74\xab\x4a\xfb\xc6\x18\xc3\x82\xc1\xc6\x17\xd0\xe7\x3b\x0d\x0a\xa6\x9b\x1d\x0a\xf5\x86\x1b\x12\x6c\xa3\x5a\xc7\x01\xc1\xfc\xfd\x8b\x3e\x1c\x98\xaf\xae\x7b\x0e\x06\xa6\xdb\x47\xca\xa9\x86\x1e\x0a\x6c\x3b\x5b\xf7\x81\xc0\x6e\xa6\x4f\x93\xfc\xe0\xda\x9e\xc1\x4d\xc4\x9a\xe0\x06\x9d\x12\x6b\xfb\xe0\xf6\x77\x3e\x41\x97\x99\xa7\xbb\x2e\xdf\x6b\x02\x4b\x26\x5a\xa4\xea\xde\x4e\xb4\xe0\xc7\x3a\xf5\x8c\xb5\x91\x2d\x08\x09\xa6\x5b\xfe\x7e\x6a\x29\x33\x8e\x02\x75\xcb\x91\x78\x6d\xc0\x79\x04\xdc\x77\x54\xf8\x5d\x67\x1c\xbf\x24\xcc\x38\xb6\x93\x52\xa4\xf9\xc6\xb6\x8f\x0c\x30\xdb\x78\xc7\xe5\x74\x3b\x9e\x6b\x4c\xc4\x21\xe2\x4c\x63\x1b\x8d\x87\x98\x67\xec\x22\x6c\x3d\x27\xde\x62\x03\xad\x6d\x9f\xeb\x37\xed\xd6\x51\x51\x36\x24\xb3\x61\x9f\x6d\x2d\xfe\xab\x86\xcb\x3e\xa3\x46\x84\xa4\xaf\x07\x11\x81\xcf\x5c\xc0\x87\x36\xe1\x16\xda\x8c\x26\x4f\xcf\x6f\x1b\x06\x1e\xdb\x60\x40\x81\xbb\x01\x8e\x9a\x89\x94\x7c\xe8\xb7\x01\xbb\xee\x1b\x60\x42\x81\xbb\x01\x2e\xfa\x8a\x2d\xa3\x32\x4a\xef\x08\xa5\xc0\xa3\xe7\xe4\xaf\x45\xd0\xe5\xf7\x8e\x70\x71\xe2\x9a\x4a\x48\x7c\xbb\x46\xbc\x82\xdb\x46\xa8\xd5\x31\xae\xaa\x29\xed\xb0\x5b\x2d\xd5\x94\x6e\x4b\xee\x1d\xa1\x10\x9a\x29\x61\x36\x0a\xa5\xa9\xb5\x39\x7d\xa7\x7b\x89\x21\xcc\xa6\xb5\xbe\x8b\x2f\xd6\x58\xfd\xe3\x49\x6c\x7d\xa4\x47\x89\x56\xdb\xe4\x4a\x6d\xc4\x13\x6f\xc9\xcd\x98\x53\xed\x46\x6f\xe1\x27\xda\x1b\x4a\xa8\x7a\x4e\x94\xe5\x31\xc9\xde\x85\x84\x82\x4f\xb1\xb7\xd9\xa3\xce\x13\xec\x7b\x1e\xf3\xc4\x5a\x64\x46\x7f\x2c\xd2\xd9\x38\x0b\x98\x0c\xde\xac\xe8\x94\x0c\xae\xbd\x6d\x4c\x06\x8f\x33\x3d\x2c\xc9\xcd\x88\x55\xe5\xf5\xbc\xc8\x16\xf3\xe5\x5a\xe8\xee\xa1\xfe\x13\xa5\x45\x4a\xf9\x64\xf8\x19\x65\x86\xfd\xea\x20\x2b\xbb\x86\xc5\x48\x07\xb5\xa3\xe7\x92\x95\x4d\x59\xed\xd1\xb2\xb2\x85\x66\x16\x8f\x30\xf5\x95\x50\xc7\x5f\x12\x23\xb7\x9a\xbf\x22\x61\x1c\x3d\xc3\x0d\x09\x99\xc9\x6c\x60\x54\x71\x33\x99\x1b\x80\xb1\x32\x99\x31\x00\xf4\x4c\x66\xb8\xbe\xcf\x7b\xb8\xac\x0c\xcc\xc2\x09\x39\x49\xcd\x12\x65\x79\xa5\x0b\x1b\xa8\xe2\xb1\x07\xb5\x21\x24\x1b\x75\x44\x1b\x08\x3b\xba\xa3\xdd\x00\x33\xe2\x58\x36\x8c\x08\x74\x3a\x0d\x1e\xe8\xad\x38\x2a\x31\xe9\xd5\x4c\x0e\x10\x9a\xe1\xb3\x8a\x6d\x64\x41\xda\xac\x9a\x3c\x0c\x1c\xc0\x9f\x4c\x48\x18\x78\x76\xbe\xae\xf5\xab\xa6\xe7\xf4\x7c\x96\xcd\x3f\x15\x6a\xc0\xea\xc3\xfe\xbb\x77\xbd\xa4\xff\xfe\x3d\x73\x89\xcb\x9b\xf9\x22\x3b\x4c\x57\xd9\xfe\x97\xcb\xc3\xb3\xf3\xd1\x87\xd3\xb3\xab\x0f\xe5\x88\xec\xa3\xd1\xf9\xc9\xd9\xaf\x6f\x47\xa7\x57\x1f\x8e\x8f\x86\xbd\xe4\xe0\xfc\xfc\xe4\xf8\xf0\xe0\xea\xf8\xec\x14\x9c\x98\x6d\x84\x23\xd1\x76\x0b\x14\x22\xe9\x9b\xf9\xfd\xe2\x61\x9d\x9d\xe5\x1f\x99\x3f\x8c\xd0\x34\xba\x43\xef\xb6\xde\x7b\xd8\x1c\xc8\x57\x39\xf7\xc2\xd6\xd6\x64\x36\xc2\xb6\xbe\x6f\x2b\x43\x6d\x2d\x0f\x4a\x8f\xbe\xa2\xe0\xd3\xab\x2b\xa6\x11\x49\xa0\x4d\x66\x3a\x59\x5f\x4d\xee\xb3\xf9\xc3\x9a\x56\x8e\x1a\x6a\xcc\x9f\x86\x63\xd4\x3e\xdb\x2a\x34\x52\x43\x65\x1c\x45\x5e\x87\x6d\xce\x7a\x31\x0d\x13\xb9\x02\xf2\x1b\x45\xcf\xd0\x3a\x1f\xa1\x06\x03\x46\x72\x74\x23\x02\x25\x5e\x9f\x56\x75\xb6\xe2\xcf\x5f\xda\x2b\x10\x68\x54\x1c\xc0\xb8\x62\x35\xff\xd6\x40\x86\xef\xfc\x4d\x05\x41\xb2\x44\x0c\x52\x39\x4b\x7a\x82\x69\x20\x36\x99\x61\xb5\xe7\x01\x6d\x09\x94\xc0\xd0\xda\x49\x91\x5a\x90\xea\xc9\xc0\xd2\x4f\x44\x33\x86\x24\xb4\x08\x09\x27\xa9\x68\x5a\xcb\xe6\x9b\xfb\xca\x9a\x40\x87\xf0\xc8\xf1\xf9\x5c\x4c\x61\x28\x75\x11\xf5\x26\x9d\xd0\x42\x92\xb8\xf6\xa3\x79\xf2\x9e\x44\x1b\x56\x54\x46\x3f\x5e\x1b\xd6\xb0\x92\xd4\xcc\x04\x3b\x93\xaa\x04\x51\x11\x52\xc2\x12\xc0\x05\x6b\x6b\x07\x3a\xfe\x62\xb4\xb5\x03\x05\x35\xad\xad\x5d\x18\xea\xe9\xac\x54\x12\x1d\xe9\x41\x26\x77\xcf\x02\x4a\xc2\x3c\x0f\x22\x2a\x51\xc7\x8d\x12\x71\xf0\x2c\xb6\x0c\x75\x2a\x9d\x94\x60\xf2\xbd\x56\x56\x12\xf2\x29\xcc\x24\x4c\xc7\xe3\x10\x50\x8c\xb1\xa4\x74\xe2\x71\x2f\xe2\xe4\x9f\x86\x25\xf2\x10\xab\xda\x11\xb5\x46\x2d\x38\x58\x08\xa1\x70\x0e\x4a\x7c\xc4\xcb\x3f\xe8\x40\x44\xd6\x00\x05\xb2\x83\x11\x90\x77\x24\x43\x4b\xb8\xc3\x88\x7f\x68\xc6\xd5\x81\xcc\x43\x9d\x41\x3e\x77\x86\x29\xf8\x8a\x13\x37\x31\xaf\x47\xa6\xda\xce\xe4\x65\x30\x19\xe9\xc9\xe8\x04\xa7\x49\x9c\x6e\x2d\x38\xdd\x18\x51\x08\xda\xb1\x45\xc1\x21\xd2\x8c\x50\x1d\x42\x58\x5f\x90\xdb\x7c\x50\xfb\x02\x46\xfb\xe4\xcb\xa4\x7e\x1e\x1d\xa1\x73\x2c\x3e\x09\x4d\xce\xa9\x1f\x8c\x31\x17\x54\xff\xbc\xae\x1c\x34\x8c\x99\xa0\x04\x24\x9d\x5d\x31\x4f\x71\x1e\x68\x8d\x1e\xdd\xe3\xd2\x90\x08\x3e\x0f\xa0\xf9\x76\xbf\x49\xa0\xd0\x6d\xed\xc0\x69\x11\x6d\x0a\x28\x19\x86\xe9\xfa\x37\x33\x40\x95\xbb\xed\x3b\x01\xb4\x39\x5e\x7f\x77\x81\x69\xfa\xa7\x84\x6d\x84\xac\xfa\x7a\x7d\x96\x5e\x67\x9a\xfb\x69\x41\x34\xc6\xd4\x4f\x08\x13\xf1\x16\xf9\xd6\x6e\x40\xd9\xf4\xcd\xbe\x39\x30\x34\x45\x31\xc3\x8e\xb8\x56\xcd\x64\xc2\x7d\xe7\x93\xe8\xd0\x10\xad\xa7\x18\xd7\xc4\x1f\x41\x72\x6b\xef\xd8\x92\x18\xc8\x83\x2c\x59\xd9\x0e\x7d\xff\x6c\x87\x47\x98\x01\x9a\x1f\x11\x61\xc4\xe4\x56\x90\x4c\x09\xbb\xc4\x0a\xa5\x6f\x34\x52\x94\x4c\x60\x1e\x5a\x05\x65\x8d\xae\x33\x1f\x8c\xf9\x0e\xf0\xc0\x2c\xed\x15\x74\x36\x9a\xea\x09\x7e\x94\x20\x11\xda\xcd\xfa\x91\x67\xf5\x0d\x8c\xb3\xe8\xae\x3e\x2f\x42\x44\x93\x0c\x7c\x36\x86\x02\x86\xe9\x20\x8e\x3a\x17\xb6\x2c\x10\x05\xfa\xa7\xc3\x34\x1f\x89\xd4\xa1\xb9\x2d\xec\xec\x0c\x70\x8a\x4e\x8c\x28\x13\xd8\x8f\xda\x61\x78\x52\x41\x8e\xea\x20\xa1\x41\x91\xed\x81\x9f\x5e\xfe\xf2\xfe\x97\x93\xb3\xd3\xd7\x1f\x2e\xae\x4f\x4f\x8f\x4f\x5f\x0f\xb7\x92\xb3\xd3\x0f\x47\xa3\xb7\x07\xa7\x47\xc3\x5e\xf2\xf3\xf1\xc5\xd5\xf5\xc1\x09\x98\xf0\x69\xa0\xe4\x88\xfd\xf2\x8c\xf7\x26\x5e\xb7\x3c\xf3\xc7\xf9\x3b\xca\xb1\x06\x0a\xe6\xcf\x64\x39\xc7\x6d\xfd\x50\x5c\x3e\xb8\x9b\x78\x24\xd8\x39\xcb\xbc\x23\x7e\x71\x47\xc4\x83\x66\x00\x19\xcd\x5f\x6a\x80\xe5\xe9\x23\xe5\xee\x66\x27\xf1\x42\xb0\x7b\x96\xf9\x88\x7d\xe2\x82\x48\x6b\x14\xdb\x01\x87\x8e\xff\x99\x0f\xd7\x3d\xce\xc7\xdd\xc5\x4a\x4e\xb8\xf6\x1e\xe3\x7e\xdb\x4a\x05\xc7\xe9\x86\x58\xb6\xf5\x70\x35\x5f\xaf\x17\xab\x6c\xb9\xbe\xc8\xa6\x59\xba\xca\x02\xe5\xe9\x1b\xd7\x64\x98\xb5\xe0\xfb\xb6\x2c\xc4\x65\xf9\x78\x63\x29\x56\xaf\x63\x76\x62\xf1\x50\xf8\x04\x41\xe3\x27\x44\xb3\x01\x4d\xd0\x50\x4d\x97\x86\x22\xdd\x36\xe4\xae\xd7\xbd\xc3\xb9\xc2\x8d\x93\xe1\x57\x92\x07\x6e\x12\xd5\xd4\xe6\xec\x6c\x46\xee\x61\x0c\x53\xc7\x08\x32\xac\xd9\xc3\x01\x61\xba\xd8\x4a\x06\x9c\x78\xa7\x79\xd9\x6f\xe5\x39\x3a\xf8\x95\x91\x73\x69\x91\x0a\xaa\x01\x14\x2b\xc2\x7e\x64\x94\x60\x74\xc4\x42\xa5\x97\x21\xa0\x0b\x8d\xc0\xbe\x2b\xb5\x3e\x50\x1f\x26\xae\x0d\x20\xf0\xee\xd2\x95\x1d\x1a\x9e\x81\x11\x48\x72\x86\x09\xe6\x9a\x17\x75\x97\x9d\x84\x60\xee\x93\x17\x9e\xb1\x23\xb6\x46\x70\x5c\xee\xe9\x1f\xb1\x65\x2f\xf8\xb7\x00\xe5\x5c\xc7\x0e\x24\x68\x94\x68\x2d\x0b\xc6\x57\x21\x43\x4d\xb1\xd9\xa7\x21\x44\x4d\xc1\xd8\xae\xa4\xa8\x39\xa0\x19\x51\x8c\x6a\x00\x1f\x49\x8e\xbe\xae\x5b\x0c\x84\x35\x42\x6d\xcb\x32\x64\x29\xb6\x84\x2d\xda\xfa\xb5\x45\x44\xa7\xed\x30\x6a\x42\x0d\x79\x98\xc0\xa8\x6d\x6f\xa3\x49\x79\x0b\x40\x94\xc7\x93\x11\xa5\x4b\x7a\x87\x25\xff\xae\x8e\x7b\xca\x81\xcf\x6d\x63\xe0\x53\x98\xf1\x1e\x20\xfe\x89\xb3\xc9\x18\x1a\x8e\x0d\x6a\x58\x1d\x87\x09\xe5\x2f\x5d\x32\x27\x05\x33\x45\x12\x53\x63\x9a\xdb\x70\x4c\x13\xa7\xa7\xa7\x51\x56\x47\xa1\xfb\xb8\xd5\x74\x38\x06\xd1\x82\x5c\x38\xe8\x98\xb5\x73\x24\x12\x79\xe4\x92\x39\x12\x79\x44\xac\x94\x23\x12\x47\xe8\x00\x19\x89\x30\x22\xd5\xc5\x91\xc8\x42\xe0\x4c\xae\x15\x23\x9e\x1b\xb0\xb2\x20\xc1\x89\xad\x11\x2a\x46\x2a\xf8\x4d\xd1\x4a\xe8\x7a\x11\x75\x7d\x4f\xb3\xc8\xb4\x24\xb3\x56\xc4\xf6\xfa\x7f\x8b\x39\xb4\x2a\xba\xd2\xa1\x85\x2d\x97\xcd\x63\x50\x55\x4b\xf9\xd4\x0f\x93\xe9\x3a\x5b\x8a\x95\x2d\xc9\xe2\xee\xf3\x6a\x72\x93\x4e\x8b\x39\x78\xa4\x7c\xd4\x64\xbe\x1c\x67\xcb\xe6\x4b\xcf\xf2\xbf\xe0\xaf\x3c\x5b\x54\x53\x04\x8b\x67\x3d\xac\xbe\xdd\x40\x56\x9f\x89\x7c\xa2\x56\xe2\x28\xc0\x48\xf5\x17\x28\x82\xbc\x2a\x1c\xc6\x72\x31\xac\xbc\xed\xaf\xc6\xca\x7b\xea\xe9\xad\x3d\x5a\xe3\xe5\xf2\xae\x73\x1b\x2f\x57\x1c\x02\x2f\x6c\xaa\xa6\x34\x52\x32\x6f\xcf\x45\x16\xc3\x35\xa9\x65\xde\x41\xff\x1c\x85\xe7\xe0\xdb\x5d\xf2\x31\x19\xbb\xdd\x0e\x0c\x6a\x58\xb8\xc6\x2a\xee\x52\x21\x86\x2f\xed\x22\x42\x08\x66\x44\x7f\x95\x19\xc1\x35\x20\x51\x88\xfb\x96\xaf\x49\x17\x99\x64\xbe\xcb\x17\xd4\x94\x94\xac\xec\x4b\x2b\xf3\x39\x8e\x05\xe5\x4a\x7a\x7b\x16\x76\x61\xcf\x02\x7c\xb1\x9e\x46\x72\x2c\x76\xf9\xe3\xe6\xc9\xc2\xd0\xa3\xb6\x18\xb0\x83\x8d\x99\x3d\x8b\x92\xc4\x23\x27\xd2\xa2\xe4\x10\x31\xa7\x96\x40\x0c\x31\xda\xeb\x80\x84\x10\x29\xd3\x16\x25\x83\x96\x1d\x47\xa8\xcf\x95\xd4\x33\xb4\x46\x17\x24\x07\x13\x9e\x31\xca\x73\xed\x48\x34\x9a\x60\xcc\xca\x5c\x59\xa1\xf5\x24\x62\xf0\x6c\xd7\xd2\x0c\x72\xc2\x4c\x2b\x94\x94\x24\xd9\x1a\x25\x91\x1b\xa5\x12\x0b\x0a\xfc\xe4\x6e\xf7\x5d\x28\x24\x7e\x40\x9e\xaa\x58\x05\x68\x5b\x19\x70\x7f\x14\xe4\x42\x36\x2f\x43\x68\xd1\xb6\x2d\x35\x19\x96\x7a\x56\x00\x46\x6a\x03\xe4\xd9\xad\x07\x3c\x73\x6f\xd7\xeb\xae\x27\xdd\x7b\xbb\x5d\x91\x41\x9d\x32\x02\x91\xfa\xf4\x68\x00\x82\x3a\x5e\xdd\xba\xf4\x58\xdf\x37\x37\xe9\xa9\xb2\x3a\x71\x57\xe6\x85\xf0\x20\xe4\xcc\x54\x33\x3e\x03\x76\xe8\xd1\x3e\xad\x23\xb7\x20\xa3\x3f\x0f\x8e\xa2\xab\x63\xf0\xaf\x94\xeb\x99\x8e\xc7\xf5\x87\xfb\xb5\xe6\x01\x2e\x68\x7c\xe7\x4d\xb4\xc6\x3c\x54\x10\x60\x5f\x1e\xf9\x3e\xfb\xfa\x35\x3c\x32\x3f\x91\x73\x52\x50\x8d\xa0\xf3\x93\xb2\x40\x51\x6a\xb2\x60\x19\x57\xe3\x37\xf5\xe3\xa9\xff\x35\xa6\xd2\x5f\x6f\x19\x9f\x7f\x29\x4a\x16\x72\xb4\x4a\x02\x6b\x80\x56\x3c\xaf\xb3\xf0\x39\xa4\x5e\xd9\xa3\xcc\xbc\xd1\x65\xf6\x49\xa8\xc0\xf8\x84\x47\x30\x1b\x6d\xdc\x23\xb4\xd7\x0f\x97\xd0\xd9\x61\x2a\x27\x3f\x89\x33\x68\xfa\xe6\x57\x92\xb8\xd9\xd0\x07\x2f\xa0\xd7\x92\x15\xa5\x6e\xe3\x93\xb5\xfd\x4e\xd4\x64\xc8\xae\xd3\x20\x63\x27\x40\x86\x4e\x7d\xac\x19\x08\x37\xe5\xb1\x3d\x7c\xef\x38\x41\x1f\xcd\x40\x84\xeb\x2a\x3f\x05\x76\x06\x37\x9f\x86\xa6\xbd\xc1\x65\x95\x9f\xa2\xe4\x18\x62\xf5\x94\xa6\xdd\x68\x65\xe8\x27\x5a\xd2\x18\x5c\x44\x69\x02\xe1\x97\x3f\x18\x35\x45\xac\x8f\xa6\x88\x45\x4d\x0e\x43\xdc\x50\xb5\xda\xac\x3b\x26\x5e\x25\xfd\x2d\x77\xe7\x44\xbd\xae\xa7\x6e\x63\xa8\xde\xc4\x34\x1a\xf5\x95\xff\x9a\x84\xaf\x9c\x3c\x66\x37\x78\x16\x56\x6f\x2b\xd9\xda\x4c\xc8\xcd\x14\xcb\x44\xb2\x06\xd3\x2a\x73\x83\x30\x48\xde\x90\x90\x46\x40\xae\x97\x23\x77\x33\xbf\x5f\xcc\x67\xe2\x9c\xfc\xc3\xfa\x17\x18\x72\xf3\x98\x02\x1c\x2a\x0d\xbe\x7b\x71\x30\xfb\x6c\x7e\xfe\xc7\xd5\x7c\x86\xa3\xbc\xcb\x6f\x3a\x39\x28\x5e\x99\xa6\x1f\xb3\xe9\xea\x6d\xba\x10\x46\xf6\x57\xbf\x6c\x6c\x6e\x7e\x37\x17\x91\xaa\x18\xe3\xf0\xdd\xfb\x64\x9d\xdd\x2f\xa6\xe9\x3a\x3b\x4a\xd7\xe9\xb0\x78\xed\x4a\xf8\xe5\x43\xba\xfa\x7e\x77\x67\x63\x33\x79\x58\x4e\x51\x3c\x5e\x15\x78\xfc\x6b\xfe\x91\x32\x16\xb4\x68\x7f\x9e\x3c\xcc\x26\xf7\x8b\x69\x96\x7f\x68\xa6\xbc\xf4\xfd\x7c\x3e\xcd\xd2\x99\xe9\xdd\x41\xf2\xac\x97\xef\xd1\xcd\x34\x5d\x66\xe3\x8b\x6c\x35\x7f\x58\x52\x1a\x6f\x1f\x99\xde\x80\xbc\x7b\xea\x0b\x52\xba\xe2\x38\x5b\xad\x97\xf3\xcf\x3c\x04\x4c\xaf\xc0\x18\x28\x6f\xc8\x19\x93\xcb\x2c\x37\x6c\x9a\x13\x3f\x2f\xff\xa6\x15\xa9\x57\x0f\x03\xc5\xea\x8e\x76\x8f\xd5\xed\x15\xca\xda\xa9\x1d\x71\x54\x86\xee\x61\xd9\x10\x96\x88\x61\xcf\xbc\xfc\x6a\x52\x14\xf7\x9e\x7a\x8a\xe2\x56\x63\x7c\x5d\x4f\x66\xeb\x82\x99\x95\x01\xeb\x4a\xc4\x19\x52\x1a\x4d\xad\x52\xf9\x33\x64\x4b\xc1\xc5\xcd\x7a\x24\x7c\xaa\x31\xdf\xb1\xd7\x33\x1a\x99\xa6\x44\x47\xb4\xb5\x6b\x23\xf8\xe8\xc8\xb7\xb2\x12\xc7\xbf\x15\xbf\xe6\x6c\xd7\x42\x86\x6a\xa0\x4b\xc9\xca\x69\x9b\x20\x6d\xcf\xae\xe5\x5c\x2f\x5a\xe1\x6c\xcd\x20\x25\x37\xcd\xcd\x81\x64\x8a\xe8\xd5\x3e\x64\x43\xf1\x54\xbe\x78\x9b\x2e\xf4\xef\xca\xff\x31\x91\x39\xa3\xa0\xdf\xb6\x58\x91\x9e\xc9\x2d\x96\xe4\xf9\xf3\xa2\x61\xe4\xa6\xbc\x2f\x3b\xcd\x57\x7e\xff\x79\x9d\xad\x9a\x16\xb5\x82\x12\xa0\x7c\xe4\x2b\xcb\xbe\x5c\x2f\xa7\xea\xa6\xdb\xe6\x13\xff\x98\xeb\x08\xea\xc3\xed\x7e\xe7\xa2\xbf\x59\x55\xd4\x10\xd4\x57\x5e\x61\x94\xac\x0a\x70\x3a\x41\x6b\xa2\x1f\x0f\xe2\x68\xea\x85\xca\x31\xb6\x70\x74\x15\x69\xcf\xc1\x57\x55\x14\x28\x08\xab\xea\x88\xba\xc1\x84\x32\x63\x49\x99\xe0\xf0\x77\x59\x0b\xc1\x2f\x76\xad\xdc\xf8\xfb\xca\x74\x7b\x31\x86\x87\x0c\x09\x12\x39\xfa\xc5\x90\x55\x83\xe5\x30\xbf\xec\x3a\x87\x79\x2f\x70\x21\x70\x23\xdf\x05\x58\x95\x06\xd0\xdb\x12\x3b\x43\x13\x9a\x48\xcb\x9f\x21\x58\xad\x9c\x9c\xe3\x4a\xbe\xd3\x90\x37\xa6\x3f\xf7\x0c\xc8\xc8\xb6\x2c\x27\x11\xbd\x15\xd9\xc4\xe3\x03\xfa\xe4\xec\x24\xb5\x80\x46\xf3\xcb\x45\x81\x0b\xed\xfb\xae\x4b\xf7\xee\x81\xf8\x52\x2b\x84\x9f\x6d\xe5\x38\xcf\x8b\x1f\x8b\x37\x37\x36\xf3\x77\xe7\x2a\xb6\x1b\xbb\x82\xd0\x2d\x11\x17\x98\x84\x00\x88\xf4\x50\x8b\x89\x62\x52\x5f\xef\x19\xbf\xa1\x14\xc0\xbd\x1d\xf1\x1b\x72\xa1\x0a\x7c\xef\x2b\xf1\xd9\x52\xaa\x42\x7b\xba\x2d\x2d\x2d\x49\x56\xe1\x50\x0b\xf1\xdb\x1b\xc8\xfb\x6f\xb4\x9c\x29\x71\xf4\x57\x10\x0d\x6a\x52\x16\x25\x1f\x9b\x09\x4d\x40\xa5\xbf\x05\xa3\xa2\x0a\x50\xe2\xb5\x10\x8d\x6e\x35\xb4\x80\x74\x37\x90\x45\xa0\x43\x36\x41\xbd\x84\xe8\xb9\xfd\x72\x7a\x76\x3a\x1a\x6e\x25\x47\xa3\xf3\x93\xb3\x5f\xdf\x8e\x4e\xaf\x86\xbd\xe4\xe0\xe2\xea\xf8\x87\x83\xc3\xab\x61\x3f\xf9\xfe\xfa\xf8\xe4\x68\xb8\xed\x1e\x54\x56\xf1\x0e\xe4\x76\x35\xf8\x23\xa8\xee\x57\xf5\x55\x5b\x53\xbf\xd6\xad\xd6\xb8\x4c\x5a\xce\x02\x7b\x4d\xda\xe7\x14\xef\x5e\xba\x5c\x4f\x3e\xa5\x37\xed\x8a\x07\xd5\x0f\xf0\x7a\xe7\x0f\xab\xbb\x6c\x5c\x3f\xab\xac\xf9\xf1\x61\x32\x6d\xbd\x3a\xdf\xe7\x7f\xc1\xab\x15\x8f\x28\x8b\xfc\x6b\xfe\x31\xe7\x37\x97\x05\x31\x5f\x08\x81\xf4\x1f\x95\x7f\x80\x97\xfe\x71\xfe\xf1\x45\xfb\x78\x21\x89\x83\xb7\x37\x44\x95\xc1\xc0\x9e\xa3\x1a\x10\x59\x87\x23\x68\xa9\x54\x4f\x12\x61\xa9\x47\x8b\x90\xb7\x44\x4e\x77\x26\x09\x17\x03\xd7\xe1\x85\xdb\xc6\xf4\xa6\xc8\xf7\x85\x6e\x67\x28\xf7\x8c\xe0\xea\xaa\xaf\x2f\xd3\x69\x52\x5c\x41\x3a\x5e\xe5\x8d\xc5\xd1\x29\x2f\x3f\xb3\x2c\x58\xbf\xb3\x74\xc4\x0c\xf7\x1d\xc7\x52\x63\x29\xe1\x8c\x34\x5d\xca\xc4\x34\xd6\x10\x59\xec\x69\xb4\x21\xab\xd3\x8d\x37\x45\x6a\x71\x32\x1a\x84\xfb\x4a\x54\x70\x24\x81\xc6\xb1\x78\x94\xbb\x47\x04\xd7\x8a\x3b\x8e\x35\x53\xde\x27\x22\x08\xa3\x04\xe4\xd4\xd4\x1a\x2e\x89\x87\xf6\xa6\x93\xb8\x74\xc4\x01\x73\x3e\xda\x45\xe1\x3c\x05\xe8\xf2\x19\x31\x0b\x95\xf5\x61\x07\xac\x0c\x47\x07\x52\x3f\x84\xcb\x81\x67\x80\xd8\x01\x4a\xb3\xcc\xc3\xa6\x81\x80\x07\x5f\xdf\x97\x80\xc7\xae\x08\x4f\xb0\x98\x06\x3c\x7a\x1d\xb7\x50\x25\x4a\xc8\xc1\x03\x9b\xd2\x54\xfe\xd6\x6c\xca\xf3\xd0\x01\x50\x1e\x35\x4a\xe0\x91\x17\xcc\x2b\xe0\x79\x97\xba\x08\x58\x7f\x0c\x1e\xb3\x82\x4f\xa8\x22\x6f\xe4\x8c\x6d\xbb\x50\x1f\x70\x29\x18\x3c\x4f\xd7\x06\xc4\xa3\x94\x1b\x3c\x5a\x55\xd4\x04\x3c\x65\x83\x96\x07\xd6\x1a\x83\x47\x6e\xc7\x33\x54\x55\x37\x72\xfa\x84\x8d\xaa\x09\x41\x13\xdf\x9e\x34\x41\x00\xed\x51\xe2\xad\x47\x1b\x3a\x6b\xf8\xf0\x92\x87\x97\x77\x93\x87\x97\x34\x0a\x50\x79\x7b\x84\xc6\x0e\x3a\x28\xcf\x66\x0e\xcc\xad\xec\xa4\x81\xc3\x1e\xfb\x78\x7d\x9a\x36\xec\x39\x1d\x6e\xe8\x46\x0d\xc6\x83\x75\x6f\xce\xc0\xdc\x42\x21\xae\xe4\x96\xa0\x5b\xe4\x4b\x72\x4f\x4d\x07\x09\x26\xe5\x1e\xcf\x24\x45\x74\x8b\x7b\x6e\x11\x47\x6f\x1a\x3f\xcf\x73\xf2\xe6\x37\xcc\xf3\x53\x7a\x44\x78\xdf\xc9\x2a\xcf\x87\xa4\xfd\xc9\xc7\xaa\x76\xab\x08\xac\x4a\x2b\x37\xd1\xfa\xe1\x72\xa7\x09\xd7\x3b\x68\x5d\x3e\x80\xd2\xac\x1d\xa0\xeb\xed\xeb\xb9\xdc\x3e\xf7\x5e\x15\x3d\xa2\xb5\x2b\x7d\x5f\x13\x97\x0d\x48\xa3\x6d\x46\x17\x49\x93\x95\xbe\xdf\x80\x4f\x68\x83\x40\xa1\x54\x68\x07\x6a\x62\x6d\xe3\xde\x8e\xf4\x0a\x01\x09\x60\x0c\x48\x47\x5a\xfd\xc8\x3f\xd0\x32\x15\x8e\xa9\x5e\x7a\x8d\x68\x21\x2a\xf1\xca\x89\xd9\x3f\x90\x3f\x94\xc5\x78\x5a\x76\x00\xa1\x35\x73\x21\x3f\xc1\x91\xc9\xec\xba\x08\x41\x23\x58\xa6\x34\x44\x9a\x84\x18\x3f\xd7\x7f\x0e\xf5\xc0\xe5\x73\x43\x8c\xa1\x46\x3a\x01\x19\x3f\xb7\xc9\x09\x81\x81\xde\x66\xeb\xb7\xe9\x42\xee\xbf\x52\xf8\x90\x1d\xee\x86\x01\xa4\x7c\x3b\xe4\x7c\xd1\xf2\xa5\x8d\xcd\x22\xf8\xcd\xfd\x3c\x31\xd1\xc4\x91\x7a\x77\xd8\xc7\x69\xac\x19\x01\xa1\x7f\xfc\xbc\xce\x56\x07\x45\x69\x49\xbd\x03\x52\xc2\xe9\xa6\x2f\x02\xd7\x7b\x14\xf8\xd7\x7b\x41\xc0\xaf\x6c\xfb\x0e\x92\x73\x91\xed\x23\xde\x5e\x36\xe7\x2d\xd3\x83\xdc\x8e\xf9\x95\xcb\xa5\x95\xa0\xf1\xee\xea\x2b\x87\x8f\x2b\xf2\x99\x1c\xa9\x78\xdb\xe5\xfb\x14\x80\x4c\xee\xcb\xd6\x75\xd4\x1c\x2c\xec\x53\xad\x15\x51\x05\xf8\xa2\x28\x8a\x7d\xa2\x66\xf8\x30\xe1\x0a\x68\x34\xb0\x5d\x04\x8f\x21\xa5\x2c\x42\xbf\x13\x2d\x05\xbc\xf7\xca\x41\x5a\x81\xb8\xf2\xbb\x9e\xb0\xaf\x83\x29\xbd\xdc\xb7\xe5\xc9\x2b\xa8\xe7\x89\x9e\x39\xef\x20\xfa\xa8\x67\xdc\x46\xee\x4c\x69\x86\x70\xdb\x43\x0b\x71\x99\xb2\x04\xa3\x50\x97\x9a\xb1\xdf\xe7\x5b\x98\x18\xb6\x6c\xfa\xea\xb3\x7d\x3e\xc6\x6a\x00\x4f\x02\xcb\xb1\xe0\xec\x9c\x1b\x85\x11\x0f\xba\x25\x31\x63\xfe\xa8\x03\x8d\x55\xa1\x84\xa0\xde\x5d\xb9\x98\xa2\xc7\xf7\x29\x69\x48\xd1\x03\xf3\x6e\x5e\x25\xfb\x2e\xd4\x3b\x5e\xe7\xc7\x3a\x5a\x7e\x76\x00\x48\x00\xbe\xef\xd1\x37\xa9\xc2\x64\xf4\xc7\x22\x9d\x8d\xb3\x50\x29\xae\xcd\x72\xfc\x14\x57\xed\x55\x5b\x8a\x6b\xb8\xb9\xd5\xc9\xb4\x98\x26\x54\xfa\xf5\x2e\xb2\xc5\x7c\xb9\x16\x4a\xcb\xd5\x7f\xa2\x14\xf1\x97\x4f\x46\x4b\x1f\x6d\xf6\x28\x76\xfa\x68\x0d\x88\x9a\x55\x66\x47\x8c\x9d\x3e\x4a\x59\xea\x11\x1b\x2c\x95\x75\xd9\x51\x87\x61\x3b\xd4\xe0\x96\x74\xc7\xad\xc4\xad\xa8\x15\xc7\xcd\x70\x19\x82\xa5\x3f\x1a\x38\x50\xc4\xf4\xc7\x06\x5a\x94\xf4\x47\x6c\x75\x4e\x27\x27\x6b\x25\x92\x57\xdf\x46\x25\x4d\xd0\xc2\xe5\xf8\x45\x5f\x15\x29\xb9\xa7\x08\x1a\xc8\xe0\xf1\x46\x84\x43\xa4\x19\x6f\x38\xb8\x1d\x6a\x2c\x0f\xb4\x01\x94\xe7\x40\x70\xb7\x63\xd6\xc9\x30\x78\xf4\xb2\xe2\x90\x14\x7d\xd3\x7c\xec\x10\x8e\x81\xe3\x9a\x36\x0a\x20\x6d\x53\x4d\x0c\x86\xab\xed\x49\x17\x24\xf0\x1e\xb1\xd0\xab\xe5\xe4\xf6\x36\x5b\xea\xcd\xb3\x76\xde\xe3\x2f\xcd\x67\xd9\xfc\x53\x21\xec\xf3\x37\xde\x0d\xb6\x92\x41\x2f\x19\xf4\x93\xc1\x76\x32\xd8\x49\x06\x83\x64\xb0\x9b\x0c\x5e\xbe\x27\xac\xd4\x74\x8c\x3b\xcc\x2f\xc1\x97\xb3\xf3\x5c\xab\x3e\x3e\x3b\xfd\x70\x7a\x76\xf5\xe1\x72\x74\x35\xdc\xaa\x0a\xcc\x06\x5b\xc9\xf9\xf5\xe5\x9b\xe1\xa0\x57\x55\xa2\x0d\x07\xfd\xe4\x68\x74\x79\x75\x91\xff\xe7\x76\x72\x31\x3a\x19\x1d\x5c\x8e\x86\x83\x9d\xe4\xfa\x7c\x38\x18\x24\xc7\xa7\xc7\x57\xc3\xc1\x6e\x72\x79\x75\x70\x75\x7d\xf9\xe1\x62\x74\x7e\x76\x71\x35\x1c\xbc\x24\xec\x89\x74\x5d\x64\x0c\xa1\x9b\x72\x33\xbf\x5f\x3c\xac\xb3\xb3\x7c\x73\xf2\x87\x91\xab\x62\xda\xcc\x77\x5b\x3e\xed\x59\x75\xfc\x9d\xcc\x8b\x7a\x19\x86\x59\xa1\xbe\x62\x6b\x5c\x46\xee\xec\x35\x4b\xef\xf1\x86\x5c\xfd\xaa\xb9\xd5\xea\x66\x39\x59\x14\xcd\xd0\xf0\xe1\xfa\xf9\x1b\xeb\xf4\xb6\x6c\xae\x94\xdf\x9f\xa2\x4a\xda\xe8\xb7\xa9\xae\x52\xb2\xb3\xb9\xf9\x5d\x79\x9b\x87\xf3\x24\xbd\x59\x4f\x7e\xcb\xae\x26\xf7\xad\x4d\x74\xd0\xfc\x54\xc8\xf3\xd5\x8b\xfc\x3f\x57\xeb\xf4\x7e\xa1\xd6\xf6\x3d\xac\xef\xb2\xd9\x7a\x72\x93\x32\xda\x53\xed\x16\xdd\xa9\xd8\x25\x7c\x3f\xce\x3f\x96\x79\xbb\x67\x2a\x16\x8b\x87\xd5\x5d\xdb\xe2\xe9\x61\x75\x87\x2f\x94\x3f\xa5\xad\x53\x56\x3f\x2a\x95\x8f\x84\xe2\xbf\xe2\x39\xc3\x6a\x85\x23\x45\x58\xae\xf8\x9b\xb2\x5e\xf1\xa0\xb6\xa0\x93\xe5\x9a\x2f\x58\x3d\xa8\x2d\xf8\xd0\xb6\x42\xbb\x5e\xe0\xcb\x5c\x2f\xb4\x15\x26\xb3\x49\x6b\xf3\x1e\xcf\x26\x88\x95\x9b\xaf\x92\x3f\xa5\xad\xb3\x32\xd9\xd0\x74\xeb\x39\x5f\x57\x7c\x5a\x5b\x3f\x4a\x0f\xc0\xc5\x72\x9e\xff\x21\x34\x17\x2b\xfe\xc6\x17\xac\x1e\x54\xef\x52\xb4\x16\x88\x21\x7a\x96\xd5\xfc\x30\x9a\xeb\xa0\x02\x80\x5a\x62\x56\x44\xe8\xae\x02\xc2\x12\x31\x5d\x04\x72\xc3\x9f\x6f\xec\xdd\xb3\x4c\x9d\x81\x4e\xd3\x7b\x53\xbb\x2a\x73\x1f\xa6\x46\x8c\x18\xea\x23\xb5\x37\xd2\xf1\xf8\x2a\xbd\x35\x8d\x09\xcd\xcf\x4d\x90\x01\x9a\x9f\x40\x94\x0f\x84\xfa\xd1\x56\xb8\xd8\x26\x78\x8a\xfd\x8d\x0e\x44\x11\xa3\x22\x87\x36\x0c\x12\x84\x06\xaf\xc2\xb3\x96\x34\x6e\x05\xa8\x03\x74\xf0\x6b\x2b\x84\x78\x78\x55\x82\x8b\xd0\x0d\x28\x97\x83\x0a\x56\xa8\x3b\x48\x14\x67\xcc\x8a\xd8\x5a\x08\x52\x6b\x9c\x55\xdc\xd0\xfa\x61\x49\x34\x72\x91\xab\x25\x2a\x05\xbb\x52\x4c\x2b\xe8\x91\x4a\x8a\x1b\x41\xcb\x43\xaf\x95\xcf\xae\x7e\xbe\xc1\x80\x82\x5e\x2e\xc0\x79\x98\x15\x22\x1f\x47\xea\x7a\xa1\xe2\xb3\x4b\xc1\xa7\x54\x05\x78\x18\x55\xea\x03\x8e\x53\xa1\x8d\x28\x58\xbd\xa4\x60\x25\x2b\x12\x3c\xec\x14\x25\x84\xda\xaa\x50\x75\x8a\x56\x2d\x2e\x9f\x76\xe3\x48\x52\x63\xcb\x4a\xd5\xe1\x61\x57\xeb\x47\x94\x96\x67\xa5\xca\xa5\x37\xe0\xe3\x34\x06\xe5\x61\x17\xa0\x31\xa8\xb3\xd3\x5b\xb7\x87\x63\x38\xbb\x6b\x28\x61\x9d\xdc\xc8\xaa\x80\x73\xfb\x9f\x8c\x4e\x64\xf5\xa3\x85\x9e\x04\x3c\xdc\x97\xbb\x37\xb5\x9a\x12\xf0\x8e\xd4\x1d\xea\xaa\x32\xb9\xc1\xce\x4a\xd5\x8b\x3b\x7a\x5b\x32\xc5\xc4\x56\x5c\xe6\x83\x44\xd6\xaa\xd0\xae\x4f\xb2\x96\xa4\xf6\xaa\xda\xd5\xe1\x5b\x9b\x08\x0c\xc0\x26\x50\xa2\x6a\x44\x6d\xff\x54\x1b\xe4\x2a\x20\x30\x12\x21\xe8\x3a\x44\x38\x82\xb9\xae\x42\x02\x23\x10\x92\xf6\x42\x86\xd5\xda\xf2\x2a\x30\xb0\x0b\x83\xac\x8d\xf8\xf7\x95\x1b\xa0\x5d\x18\x5a\xe5\x82\x08\xad\x72\x05\xa8\x80\x06\x18\xa0\x42\x57\x20\xc2\x68\x5c\x05\x2a\x94\x5d\x0c\x4a\x25\xff\x89\x70\xb0\xd0\xd4\x00\xec\xe2\x68\x90\xe8\x21\x1a\x39\xa2\x9d\x23\x09\x8d\x1c\xd5\x0e\x6b\xad\xe7\x81\xdb\x35\xb2\x16\xb6\xd4\x5e\x27\x70\x57\x4c\xb0\x99\x1d\xb5\x2b\x26\xd7\xa1\x1d\xab\x18\xcf\x24\x6d\x7d\x8b\xf1\x98\x9f\x96\x8b\x31\xd7\x49\x27\x0e\x1f\x27\x83\xe3\x7d\x1e\x12\x9c\x32\x7e\x9e\x20\x78\xdd\xbe\x12\x4b\x63\x36\x7e\xa5\x11\x2a\xef\x63\x91\x5c\x66\xe3\xc7\xd6\x1a\x03\x35\xcb\x92\x5a\xa5\x63\xfc\x46\x1d\x98\xe5\x03\xe5\xd2\xa6\xff\xfc\x07\x4e\xf4\xd3\x61\x55\x6e\x23\x56\x2a\xa4\x0c\x93\xe6\xac\x53\x82\x99\xc0\x66\xd6\x21\xcc\x46\x43\xe3\x7e\x92\xa4\x9e\xf1\x43\xc9\xa2\xab\x6c\xc0\x3e\x38\x13\x64\x72\x80\x18\xc9\x33\xb7\xec\x25\xf8\xb1\x4d\x7b\x81\x56\x61\xc5\x03\xc1\x3a\xa0\xbb\x74\x05\x82\x81\x03\xbf\xcc\x6d\x54\x15\x62\xaf\xc2\x81\x5d\xa4\x6e\xc0\x7c\x8a\x66\xf0\xcc\xba\x01\xa4\x5e\xcd\xf8\xe1\xa1\x5b\xe5\x88\x1e\xd4\x01\xf3\xd0\xc9\x9d\x72\x8a\x08\xb3\x81\x9c\xb7\xd8\xc1\x66\xa7\x0b\x10\xaa\xb1\x8e\x91\xec\xdd\x1a\xea\x70\xb7\xba\x32\xb4\x02\x1f\x7c\xe5\xa1\x1e\xf0\x2f\x80\x8c\x0c\xf3\xd8\x7b\xdd\x1c\xbb\x65\xc3\x9a\xbc\xec\xdc\x70\x75\x3c\x74\xcb\xd2\xc8\x99\x33\xb7\xb9\x31\x7a\x43\xf7\x4c\xaa\x23\x00\x03\x52\xc2\x8d\xa2\x5b\xc9\x08\x31\x4f\xbe\xdf\xcd\xc9\x5b\xb7\x4d\x6e\x91\xe7\x7a\xfa\xd6\xe5\x91\xf3\x67\x6e\x77\xeb\x88\x08\x4e\x00\x75\x98\x65\x00\xd6\xf2\xdb\xb4\x6b\x19\x25\x26\x09\x6c\x77\x45\x02\xb6\x9d\x53\x2a\x61\xdc\x89\xc0\x06\x00\xa1\x02\xe6\x96\x47\xc9\x73\x95\xa3\x59\x03\xbe\xfd\x41\x4d\x73\xb5\x51\xc1\x4e\x37\x54\x10\x32\x2b\xd6\x48\x05\xae\xd9\xb0\xdc\x2d\x2f\x1c\x77\x81\x09\xa0\x88\x17\x0e\xf8\x26\xcc\x35\xd2\x3c\x00\x38\xf6\x41\x37\xc7\x6e\xdc\xaa\xfa\xc4\xaf\x17\xae\x87\x6d\x5c\x16\x39\x67\xbe\x69\x73\x3c\x9b\x84\x4c\x70\x16\x22\xb1\x83\x5d\xbe\x3b\x4c\x42\x86\x79\xda\xbb\xdd\x9c\xb6\x65\xc3\xea\xf3\x2e\x9c\xd1\x8e\x27\x6e\x59\x1a\x39\x73\xe6\x36\x2b\x8e\xec\xc0\x67\xaf\xc4\xbb\x07\x60\x23\x3f\x23\x0d\xb0\xb2\xda\x6d\xb4\xf0\xb2\x1b\x5a\x20\xa6\xbf\x33\x13\xdf\x8d\xb4\xe1\x95\xea\xce\x3d\x86\x4e\xfa\x29\xf2\x49\xc3\xa7\x9f\x22\xd2\x2c\xd3\x72\xc0\xa1\xfb\x29\x1a\x8f\xd6\xbd\x9f\x22\xff\x58\xab\x00\x4d\xe0\x43\xad\x13\x33\xc0\xfe\x8e\x66\xcb\x5e\xc5\x27\x54\x83\x4c\x9b\x95\x6e\xfd\xfe\xb6\x80\xba\x0c\x7f\xb9\xda\xea\x56\x00\x1e\xad\x31\xcd\x4e\xc9\x4e\x9a\xda\x82\xed\x3b\xcc\xde\x4a\xaf\xa6\xb6\x48\xaf\x0e\x9b\xd3\x39\x42\x53\x5b\xb3\xdb\xd9\xa3\xa9\xed\x2b\x8f\xda\x95\xeb\xc5\x2a\x5b\xae\x2b\x94\x2e\xb2\xff\xf7\x90\xad\xd6\xbe\x85\x2c\xc6\x35\x19\x55\x2d\xe0\xfb\xb6\x8a\xf9\x75\xf9\x78\x93\x94\x5e\xbd\x0e\x27\xa4\x1b\x4a\x6e\xc2\xd4\xb2\x1b\x3f\x21\x5a\x56\xba\x09\x1a\x9a\x3f\x45\x43\x91\x9e\xaf\xce\x5d\xcf\x25\x79\x7d\xf2\x69\xa3\xb7\xbf\xbf\x6f\x4a\x5e\x27\x14\xb6\xd7\xc9\xfb\xe4\x44\x3a\x42\x0a\x7e\x3d\x68\xb7\xa2\xb6\xf9\xe6\x9f\xd9\x74\x95\xfd\x43\xca\x99\xfb\x86\x90\x33\x87\xdc\xc3\x18\x09\x74\x46\x90\x61\xb3\xe9\x38\x20\x4c\x17\x5b\x29\x18\x17\xef\x34\xa7\x60\x1c\x49\xea\x63\x7f\x81\x24\x2e\xab\x7f\x0b\x28\x2a\xab\x15\xe1\x5a\x63\x94\x60\x74\xc4\x42\xd5\x70\x23\xa0\xcb\xc8\xb7\x75\x57\x9a\xc0\x77\x75\x98\xb8\xc0\x44\xe0\xdd\xa5\x2b\x3b\x34\xbc\x9a\x3b\x90\xe4\x5c\x2d\xe6\x33\xa9\xe9\x4d\x08\xd1\x59\x2d\xea\x2e\x3b\x95\x05\xbe\x4a\xe1\x59\x7d\x43\x57\xd2\xb3\x04\xc7\xe5\x9e\x36\x24\x9d\xe5\x27\xbe\xe0\xdf\x02\x94\x73\x1d\x3b\x90\xa0\x15\xcc\xa8\x22\x14\x86\xf1\x55\xc8\x50\xed\x68\x9e\x8c\x10\x35\x10\x4d\x67\x52\x54\x83\x1d\x5b\x8c\x6a\x00\x1f\x49\x8e\xbe\xce\x02\x9b\x9f\xfa\x82\x0c\xf9\x69\x7f\xd9\xde\xaa\xed\x93\x50\xec\x8e\x8c\xe1\xbd\xc8\x3e\xc5\x93\x9b\x3a\xee\xd1\x64\xa6\x06\x0a\xe5\x95\x04\xe4\xe8\xb2\x92\xb5\x58\xf7\x72\x52\x38\x65\x4e\x17\xb5\x4f\x0c\x79\x59\x4e\x67\x75\x94\x95\xd0\x95\x8b\x21\x27\x75\x78\x61\x65\x24\x79\x7d\x82\x7c\xb4\xcc\x11\x45\x1a\x92\x7d\xf2\x91\x8f\xd0\x71\x94\x18\x05\xf6\xc3\x92\x64\x23\x4c\x24\x6b\xb7\xe1\x72\x88\x4c\x84\x60\x56\x99\x10\xd0\x44\x39\xda\x10\x39\x08\x48\x91\x0b\xc1\x9f\x1c\x17\x4a\xfe\x85\x31\x22\x0d\x2b\x3a\x4a\xc0\xaf\xd2\x7c\x34\x7c\x40\x27\x72\x90\x68\x38\x52\xd0\x73\x93\x84\x7f\x9b\x8c\xee\x62\xb0\x13\x7b\xd1\x00\x30\x9e\x20\xfc\x1a\x2d\x45\xf0\x44\x1e\xcf\x4c\x44\x08\x25\x9e\x8d\x08\x02\x0e\x6e\x20\x82\xd0\x1e\xc9\x3a\x3c\xca\xa6\xd9\x3a\x0b\x6b\x20\x1a\xd7\x64\x48\x48\xf0\xfd\xa7\x6f\x26\x1a\xd1\x8f\x26\x21\x4d\xd0\x50\x46\x49\x43\x91\x2e\x25\xb9\xeb\xfd\x6d\x32\x32\xef\x61\x0c\x69\x69\x04\x19\x56\x5e\x72\x40\x3c\x4d\xdb\x11\x39\x97\xc7\x33\x1f\x51\x82\x89\x63\x41\x22\x60\x83\x19\x91\x08\x1c\x0f\x3b\xd2\xbe\xf5\x0f\x33\x05\x9e\xd6\x44\xb8\xff\xde\x7d\x56\x86\xb6\xba\xa7\x94\xd5\x17\xe4\xcc\xcb\xb0\xbe\x6c\x6b\x71\x1b\x46\xbe\x26\xbf\xa5\xcb\x49\xfa\x71\x9a\x9d\xfd\x96\x2d\x97\x93\x71\x39\x57\x46\xe8\x19\x5b\x3f\x5d\x94\x6c\x17\xc0\x7e\x36\xbd\xb1\x01\xc8\xdf\xfa\x85\x66\xad\x62\xfc\xb1\x7f\xf3\x4b\x7d\xcf\xe2\x4d\xd0\x50\x41\xe1\xa3\x09\x70\xe4\x18\x53\x34\x38\x8b\xc5\x6c\x92\xf9\x34\x44\x3a\x6b\x96\x46\x4d\x7d\xf4\x76\x62\x0d\xbd\x22\xf8\xa4\xe3\xb1\x76\x17\x42\x8c\xd0\x00\x18\x53\x94\x21\x1a\x1a\xbc\xc0\x63\x34\xa8\xeb\x03\xbd\xc6\x3a\xd2\x3b\x9a\xc6\x5d\x16\x1e\x07\xf4\x14\x23\x8d\xd5\x68\x28\xcb\x65\xa4\x06\x40\x16\x8f\xa7\xf5\xc0\xc4\x1a\x47\xe5\x81\x60\x06\xd3\x77\x20\x20\xdd\x28\x3b\xd2\xf1\x1a\x09\x92\xda\xb2\x86\x71\xf0\x0d\xb7\x84\x67\x6a\xc0\xa7\x8e\x20\xcb\x9f\x0b\xe8\x4e\x0f\x26\x1e\xcd\x6a\x8a\x63\xc4\x86\xb0\x7f\x4c\x79\xae\x50\x30\xf5\xb8\x6b\x9a\x36\xf3\x2b\x64\x3a\xa0\x80\x44\xe5\xfd\xd2\xf4\xeb\x5e\x18\xfd\x3a\x4c\x98\xc7\xb0\xa2\xa3\x86\x4d\x09\xf3\x4c\xf6\xbf\xfc\x6b\xfe\xf1\x78\xcc\x99\xe0\xd0\x13\x26\x38\x84\xd6\x70\x63\x47\x76\x74\x58\x2c\xcd\xc1\x3f\xb2\xc3\x5b\x2d\x8a\xc7\x4a\xeb\x01\x9f\x8e\xc7\xc5\x74\xe5\x95\xbb\x23\x09\xbc\x07\xb1\xf5\xb9\x28\x41\x17\x3a\x00\xd3\xc5\x6a\xda\xc6\xfe\xd8\xdc\x2e\x4a\xb3\xd6\x5e\x32\x67\xe2\x24\xc9\xcf\x16\x98\x43\x9f\x37\xb2\xe0\x36\xc5\x4a\x4c\x90\xf1\xa6\x6f\x3d\xbc\xe9\x1b\x08\xb8\x21\x5c\xd7\x0e\x70\x3d\xac\x03\x1c\x08\xbe\x10\x62\xe0\x9e\xd7\x92\x4b\xa0\x02\xf8\x73\xf3\x47\x30\x77\xd0\x8e\xbb\xb8\x32\x2c\xef\x29\xae\x0c\x2b\x32\xc4\x15\xf0\xb6\x4d\x5c\xfd\xb5\xc7\xa9\xf8\x4c\x5b\x0a\x21\xab\x0d\x07\x16\x4d\x56\xeb\xb0\x50\xa9\x40\x41\x8f\x2e\xab\x79\xab\x3d\xaa\x47\xaa\x21\x6c\x9e\x4f\x2a\x44\x2f\x7e\xd4\x37\xf5\x68\xbd\xf8\xd1\xb1\x1e\x8f\xdd\x8b\x9f\x31\x10\xc7\xd9\xd1\x06\xb2\xfc\x18\x9a\x99\x01\x60\x58\xcd\x8c\x0e\x80\xee\x6b\x03\x9b\x66\xa3\x1e\xb7\x90\x4d\xb3\x41\xd7\x5a\xf8\xa6\xd9\x60\xc7\x78\x6a\xd3\x6c\xe7\xc1\x04\xae\x74\xdb\x49\xc7\x11\x50\x21\x46\xae\x95\x57\xf3\x11\xc4\x33\x08\x82\x8e\xd2\x87\x04\x84\xe8\xd5\x92\xc4\x7d\x8f\xa3\x77\x27\x01\x7d\x83\xd8\xf1\xbb\x37\x2a\x41\xdc\x80\xf8\xe1\x87\xec\x59\x82\x1d\xbc\x6b\xfb\x12\xf7\xbd\xed\xac\x93\x09\xd8\x09\x11\x3b\x7e\xbf\xa6\x26\x48\x83\x77\x9c\x04\x62\xf4\x37\xc1\x48\xc1\xa7\xd5\x89\xfb\x5e\x47\x6c\x6d\x8f\x9d\x71\xa4\x2e\xf7\x20\xd8\xd8\x0d\xef\x71\xd2\x0a\xd7\xfb\x5e\x82\x15\xc1\x35\x6f\x5a\x3f\xa4\xb3\x83\xef\x9c\x87\x5e\x37\xaa\xaa\x75\x09\x06\x9e\xae\x72\x25\x3c\x08\x65\xa9\xa8\xe9\x31\x6a\x92\xca\xdc\xea\x16\x98\x93\xdd\x02\xb1\x7d\xf8\x06\x60\x3c\xa3\xc4\xdf\x8b\xcf\x5c\xee\xbf\xa7\x40\x23\xe7\x2c\x15\xa9\xb9\x07\x0b\xe0\x9b\x19\xdd\x26\x8d\x12\x2e\x60\x40\x00\xe3\x05\xf2\x45\x26\xa4\x62\xc4\x2a\xda\x80\x0f\x49\xc1\x34\x42\x8c\x9e\x94\x98\x81\x51\x92\x05\x49\x76\x6c\x9e\x63\x91\x99\xa2\x14\x35\x1a\x9e\x41\xf9\x1e\x14\x94\xaf\x37\x8c\xcd\xb8\x54\x09\x0f\x9f\xab\x52\x80\x22\x48\x7a\xbf\x96\x3b\x62\xc7\xd2\xa0\x1d\xeb\x4c\x0b\xb3\x5b\xef\x40\x8b\xd8\x6a\x43\x3c\x07\xcb\x8b\x4f\xc6\xea\xc6\x63\xfa\xac\xc8\x1d\x79\x0c\x20\x89\x1d\x59\x48\xc8\x72\x3b\xf3\x30\x17\xed\x5e\x92\x8b\x08\xd2\xc5\xb9\x44\x3c\xec\x51\xc0\x5e\xcd\x7a\xe0\x8b\x1c\xaf\x61\x8f\x09\x6e\x8c\xa6\x3d\x0c\x38\x84\xe2\x12\x6c\x4a\x24\x28\xde\xa5\x53\x76\x6e\xe1\x03\x1f\x58\xbc\x06\xe0\xe2\xb2\x94\x86\x3e\x18\x61\xf1\x7a\x81\x3b\x76\xf6\x81\x91\x88\xd8\xe6\x9b\x02\xde\xb7\xf1\xb7\x7f\xe3\x3c\x19\xbf\x90\xdd\xf3\x8c\x2b\x7b\xca\x71\x62\x23\x84\xaf\x4e\x90\x77\xd3\x5b\xcf\x04\xd3\x89\x57\x87\xea\xb2\xc7\x5d\xf5\x6f\x61\xee\xb6\xa5\xdd\x4b\xf3\x88\x3d\xf8\x38\x80\xbe\x46\x79\x6e\x32\xdd\x9f\xa4\x40\x37\x99\xef\xdd\x4b\x74\xb3\x4d\xdc\x9d\x48\x37\x75\x68\xf0\x96\xe9\x56\x0c\x5e\x67\xeb\x93\x74\x9d\xad\x8c\x7a\x85\x38\xf2\x64\xff\xdd\xbb\xed\x64\x27\x19\x24\xbb\xc9\xcb\xf7\xef\x1d\x17\xbc\x4a\x97\xb7\xd9\xfa\x30\x5d\x65\xfb\x5f\xae\x0e\x2e\x5e\x8f\xae\x3e\x9c\x9e\x5d\x7d\xb8\x1c\x5d\x0d\xb7\x92\x83\xd3\x5f\x87\xdb\xc9\xd1\xe8\xfc\xe4\xec\xd7\xb7\xa3\xd3\xab\x0f\xf9\x0f\x3b\xe2\x0f\xc7\x47\xc3\x41\x72\x31\x3a\x19\x1d\x5c\x8e\x8a\x7f\xdd\x6d\xfe\x3a\x3e\x1a\xbe\x74\xfd\x4c\x25\x98\xd4\xa0\x08\xdd\x8b\x9b\xf9\xfd\xe2\x61\x9d\x15\xf3\x64\xf2\x87\x91\x8b\x41\xde\xe6\x77\x5b\x3e\x8e\x14\xe2\x67\xba\x76\x9f\xb2\xaf\xcd\xeb\x43\x85\xaf\x63\xcb\xfd\x8c\x98\x57\x19\x25\xad\x34\x9d\x7d\x6e\xf1\x9c\x7d\x2e\x17\x7a\x31\xba\x5f\xac\x3f\x2b\x4f\x8e\x8b\xa9\x8d\xf7\xd9\x2c\x7f\xae\x79\xe7\x48\xfc\x95\xf4\xf6\xf1\x78\x88\x4c\x2e\x4f\x06\xc9\xf3\xe7\x9b\xc9\xb2\x9c\x0d\x27\x42\xbb\x68\x7e\x02\x40\x55\xef\x11\xe0\xbc\x2c\xc6\xa3\x07\xc8\x39\x05\x49\x26\x66\x0f\x30\x2b\x54\x4a\x4b\x28\x06\xca\xac\xbe\x60\x4e\xeb\x3e\x6a\x6e\xaa\x70\xe9\x78\xd9\xa9\xa1\x32\x2c\x49\x19\xaa\x6d\xde\x57\xe7\x19\xb4\x4d\x9e\x6a\x79\xe3\x74\x04\xaa\x9b\x48\xd8\x83\xd9\x67\x43\x76\x69\x98\xb5\x65\x66\x24\x43\x19\x98\x72\x58\xa5\x77\x8e\xc7\xca\x2b\xbb\xc1\x10\x13\xf8\x96\x0c\xe2\xa5\x05\xab\x8b\x9a\x87\x05\x48\xaf\x25\xca\xdc\x48\x7d\xe7\xec\xa0\x83\x77\xa0\x63\x83\xa2\x27\xdf\x22\x29\xaa\x68\xfa\x2d\x29\x45\x95\x91\xef\x8b\xa6\xe0\xb2\xf3\x7d\x6b\x99\x6a\x4a\xbe\xad\xe8\x9c\xb8\x92\xae\x12\x28\x6b\xee\xb0\xd6\x34\x58\x0d\x59\x32\x10\x96\xad\x6e\xce\x20\x97\xfd\x6a\x7b\x02\x49\x5d\x50\xd0\xd8\xf5\x47\xe3\xa5\x8e\xc6\x4b\x38\x67\x98\xae\xe7\x77\x93\x43\xe8\x6e\x7b\x05\xcc\x26\xc4\x9b\x11\x52\xd0\x88\x96\x57\x48\x84\xef\x99\x61\x18\xe2\x24\x3a\x49\x3a\x07\x33\x63\xe9\x24\xe3\x93\x7e\x8e\x64\x20\x73\x08\x26\x74\x22\x3a\x9d\x58\xdc\x53\xd2\x43\x9c\x40\xc9\xf2\x1d\x88\xa4\x52\x86\xc0\x84\x58\x06\xe3\x98\x39\x8f\xc2\x07\x26\xe1\x73\xbc\x19\x01\x79\x8f\x71\x3f\x1b\x9e\x33\xa3\xcc\xca\x67\xf0\x1a\x23\x34\x8f\x2c\x66\x3a\xe1\x48\x12\xde\x9d\x84\xc0\xdc\x66\x3a\x09\x59\xb0\xe1\x11\x13\x30\x50\xff\x71\x88\x09\xdb\xe3\x9a\xac\x64\x6d\x2b\x24\x81\x61\x18\xc0\xa4\x16\xe2\x70\x6f\x65\xf3\x0c\xa3\x34\xdd\xc3\x53\x8c\x8a\x2e\x9c\x3c\x61\x09\x4d\xc4\x05\xa2\x33\x71\x62\xf5\xd3\x25\x30\x64\x67\x23\x7e\x4c\x1c\x72\x35\x7e\x0f\x32\x4f\x3c\x0c\xb5\xb6\x06\x87\x3b\x57\x04\xa7\xdf\xd3\x89\xd5\x84\x0a\x8f\x25\xee\x3e\x35\x8a\x05\x77\xb7\xed\x2a\xd6\xd8\x7c\x21\xa9\x0b\x84\x0d\xd3\x56\x88\x03\xbd\x15\x5c\x42\x6e\x6c\xf0\x65\x30\x36\x68\x40\x84\xc8\x03\x5f\x3e\x51\x8a\xe2\x33\xc0\x50\x5f\x12\x81\x44\x1d\xb8\x1f\x38\x75\xff\x64\x22\xc3\x5e\x59\xbb\xbe\xf4\x80\xa8\xab\x75\x15\x25\x84\x3b\x48\x76\xa1\xe0\xad\x75\x19\x30\x70\xdb\x46\x68\xdb\xf0\xec\x70\xd7\xe5\x9b\x3b\x88\xc4\x92\x76\xca\x2f\x0a\x4b\xf8\x3c\xe7\xe2\x33\xe3\xba\xcc\x0a\x34\x70\x0d\x5b\xe4\xb5\x4c\x81\x43\xcb\xd0\x2e\x9b\xc7\xa0\x22\xb4\xf2\xa9\x1f\x26\xd3\xb5\x5c\x89\x96\xcc\x97\x63\x61\xde\xd0\x59\xfe\x17\x1c\x7c\x3d\x5b\x64\xcb\xc2\x21\x54\x3c\xdb\x5d\x17\x9e\x28\xd1\xe2\x36\x8a\x6b\x08\x00\xe3\xcb\x36\x7b\x61\x8e\xd8\xaa\x61\x5e\xe7\x05\x43\xb5\x11\x32\xd2\x61\xd4\xa2\x41\x13\x44\x52\xe9\x18\x0d\x55\x5e\xf9\x20\x77\xcd\x47\x0b\xe1\x8a\xb7\x95\x9b\xb3\x58\xdd\x71\xbc\xa8\xb0\x7c\x9c\x1b\xb7\x95\xaf\x3f\x3d\x70\xab\xb0\x0d\x3c\xc4\x58\xb2\xa2\xaf\xb5\xbb\xd0\x53\x8e\x7d\x0f\x28\xf8\x35\xe7\xc5\xc3\xaf\x65\x60\x9c\xe8\xb6\x2d\x4e\xfd\xc8\x08\xd6\x6c\x3b\x4c\x47\x28\x44\x41\x89\x55\x83\x6b\x04\x1b\xbe\x10\x97\x03\x06\x08\x53\xff\x53\x4e\xea\x0d\x53\x92\x2b\x31\x46\x62\xd0\xb7\xd5\x84\x38\x91\x6a\x85\xcb\x3d\xa5\x7e\x51\x8c\x60\xfc\x4e\xf0\x60\xbc\xa2\x54\x29\xf0\x06\x18\xbc\xf6\xd2\x12\xe1\x89\x0a\x97\x29\x4a\xee\x07\xcc\xdb\xd0\x6a\x89\x3b\x42\x15\xb7\x48\xed\x78\x29\x37\xca\x95\x8c\xc8\xc6\xa8\xe6\x46\x30\x69\x34\x96\x98\x05\xdd\xd2\xde\xb9\xe9\x93\x8a\x47\x06\x3c\x6a\x39\x89\x9d\xd8\xc0\x05\x27\xaf\x82\xf9\x04\x0c\x97\x2b\x3a\x1f\xda\x49\x0a\xa7\x29\x05\xc3\x90\x9d\xba\x28\x87\x62\xdb\xa0\xfa\x3c\x4a\xe6\x4f\x6b\xd0\x84\xc0\xbb\x4b\x57\x36\x68\x9e\xfd\xba\x70\x3a\x78\x22\x5d\xbb\x70\x72\x88\xde\xbb\x8b\x42\x14\xb1\x3a\x78\xe1\x04\x12\xb5\x8f\x17\x4e\x26\xf1\x33\x6c\xd0\xa6\x5f\x38\x89\xf8\x64\xd7\xec\x84\x21\x90\x18\x2d\x1e\x71\xe2\x70\xcf\xaa\xf1\xdd\x75\x49\x6f\x0b\x4c\x1b\xad\xf5\x06\x46\x2a\x69\xb4\x61\xc2\x92\x17\x1a\x04\xe2\xbf\x54\xf7\x75\x18\x1a\x03\x37\x5c\x4f\x91\x08\x46\x65\x20\x5c\x8f\x50\x33\x8d\xcc\x2a\x75\x3d\x1a\x8d\x81\x11\x4b\x1a\x8d\x69\x28\x06\x8b\x3d\x77\x4b\x60\xf6\xad\x56\x02\xce\xc1\x48\xcb\x0e\xd1\x23\xcc\x6c\x00\x1d\xa9\x9f\xa1\x19\x4a\xf8\xc0\x92\x5b\x6f\x43\x78\x11\x73\x87\x43\xb1\xb7\x02\x35\xbe\x24\x3c\x8d\x87\x99\x94\xbe\x0b\x01\x1b\x1e\x9a\x3f\xb7\xcb\x08\x06\xa3\xf9\x21\x11\x59\xaf\x18\xc6\x5f\xb3\xe3\x42\xe3\x0b\xa8\xf6\xc1\xaf\x2f\x22\x76\xc3\x3b\xf2\xcc\x46\xeb\x91\xc8\x82\x03\x76\x4a\x34\xf0\x82\x30\xbe\x59\xf7\xfe\x0b\x94\x03\x34\x61\x1e\xcd\xf1\x46\xe9\xc5\x40\xa3\x3a\x08\xe9\x0e\x1c\x70\xa6\xa6\x8a\xd2\x23\xf1\x1d\x71\xd5\x5e\x3a\x32\x45\xa3\x27\x0e\x26\x01\x53\x57\x89\x00\xed\x16\x5f\x67\x91\xfa\x03\x40\x15\xfd\xb4\xce\x00\xd0\x0a\xb6\xe6\x4c\xec\x09\xe1\x94\xb4\x06\xc7\x5e\x4c\x96\x4f\x88\x59\xa3\x6e\x80\x47\x29\x1c\x65\xd6\x8f\x13\xea\xd2\x99\x2b\x76\xaf\x09\x48\x67\xcf\x2b\x44\xe7\xc5\x69\x3f\xb9\x6b\x00\xe8\xdd\x8c\x54\x47\xcc\x28\xeb\x75\xaf\x20\x66\x00\x21\x34\x5a\x72\x9d\x8e\xed\x15\x51\x43\xcf\x27\xca\x8c\xea\xd6\x77\x80\x95\x31\x12\xd2\x8b\x23\x8c\xaa\x46\x01\x07\x9b\x57\x8d\x42\x8a\x31\xb4\x7a\xf4\xc7\x22\x1b\x17\x35\xc8\x70\xca\xf1\xfe\xbb\x77\xfd\x64\x1b\x4a\xb0\x85\x56\xa2\xe6\xd8\xf6\x9b\x1c\xdb\x6d\x47\x9c\x25\x6a\x8d\x93\x66\x4b\xdd\x32\xbf\x4c\x5b\xda\x47\x3a\xa9\x33\xd0\xd2\x0c\x9d\x86\xb2\x8c\x4d\xb1\xf9\x3b\xc7\xd4\x4f\x19\x83\xf6\x3e\x9a\x46\x06\x00\x45\xe5\x30\x0b\x61\xba\x6e\xe6\xb8\xec\xa3\xb6\x0c\x7a\xea\xe3\x2c\x1f\x33\x21\x91\x94\x77\xfa\x55\x25\x24\xd2\xf8\x78\x0c\xd5\x17\x82\x1c\x56\xff\x75\x80\x44\x6f\xa0\xd3\xf1\xf4\x4a\x38\x81\x0e\xed\x9e\x13\x32\x81\x0e\x4d\x47\xf4\x52\xf7\xc9\x5a\xd4\x23\x0f\xa3\xa4\x5e\xa0\x98\x53\x29\x69\x38\x44\xc9\x5d\xa0\x81\x8e\x37\xa7\x92\x4c\x26\x1d\x64\x30\x80\x99\x5a\x64\x3a\xf1\x4f\x62\xe8\x07\x31\x0e\x82\x91\x5c\xf8\x54\x06\x32\xd1\x79\x64\x33\x04\x38\xcc\x0e\x12\x1a\xc0\xac\x2f\x32\xc9\x79\xe6\x34\x00\xfd\x6a\x1e\x83\xde\x42\x66\x36\x90\x29\xcd\x35\xb9\x61\x3b\xb8\x0d\x1e\x26\x31\x01\x5c\xdb\xdb\x0a\x27\xa5\x27\xfc\x6b\xfe\x91\xd0\xea\xb6\xa7\xb5\xba\x75\x4c\x2b\x00\x31\xed\xd8\x68\x25\x26\x17\xf0\x50\xf6\x35\x5b\x1f\x29\xc5\x40\xee\x22\xfa\x4d\xc1\x88\x7e\xcc\x49\xc3\xdd\xd5\x4f\xbc\x38\xdd\x59\x3d\x51\x42\xfe\x2e\xa0\xc0\xa8\x7f\xb9\xeb\xa6\x48\x7f\x75\x3a\x3d\xb8\x45\x24\x71\xdb\x6b\x48\x6e\xed\x40\x7a\x48\x3b\x10\xf2\xd9\xab\x48\x58\x64\xe2\x79\xfe\xca\x76\xb9\x01\x74\x8d\x5d\xca\x76\xd0\x33\xd5\xfa\xc9\x2b\xc0\x95\x2d\xbd\xac\x4f\x0a\x80\xbc\xe0\xd2\xab\xa5\xff\xf9\x78\x2c\x39\xbe\x8f\x8f\x8c\xbe\xef\x0f\xc7\x47\xc3\x6d\xb1\xe7\xff\x0e\xf5\xeb\x0c\x2e\xef\x0a\x64\x40\xa7\xb7\x75\x4b\xfc\xbc\xdc\x96\x0f\x71\x92\xa8\xc6\x94\x38\x82\x04\x35\xbe\xf7\xdf\xd2\xa5\x9f\xd5\x3d\x7f\x5b\xec\x9e\x4f\x78\x7e\xa7\x78\xbe\xcc\x72\x54\x66\x47\x51\xa6\x46\x29\xa8\x4e\x70\x80\xbb\x02\xc0\xf2\xc0\xec\x23\xab\xee\x5e\x1c\xcc\xd4\x06\xff\xe2\x9b\x3f\xae\xe6\x33\x5c\xf9\x29\xb7\xe4\x2e\x4b\xa7\xeb\xbb\x06\xd6\x9b\xe2\x4f\xc6\x60\xac\xf2\x05\x05\x99\xdb\x6c\x96\x5b\x19\xd9\xf8\x6a\x72\xdf\x9e\xf9\x6b\xf1\xd7\x02\xc4\xea\x45\xfe\x9f\xab\x75\x7a\xbf\x50\x56\xc8\xfe\x58\x67\xcb\x59\x3a\x95\x3f\xe3\xfb\xf9\x7c\x9a\xa5\x33\xd3\xd7\xf4\x92\x67\xbd\xfc\x80\x57\xf3\x87\xe5\x4d\x86\xa7\xa4\x5e\x88\x4f\x92\xd3\x51\xeb\xb7\xa4\xf6\x27\xe3\x6c\xb1\xcc\x6e\xf2\x0f\x6b\x16\x2d\x77\x05\x45\xe2\x08\x7a\x93\x8c\x94\x72\x04\x39\x4a\x93\x4a\x73\x5d\x1d\xce\x1f\x66\x6b\x9c\x16\x76\x92\xad\x20\x0d\x42\xe0\x04\xcc\x50\x8a\xaf\x94\x1c\xca\xe2\x9d\x1e\x8a\x2d\x75\x9d\xbf\x67\x36\x3c\xe5\xbe\x15\xdb\xfc\x89\x07\x3b\xf4\x71\x04\xb4\xd6\x18\x25\x25\xd1\xbf\xbd\x12\x29\xd4\x09\x72\x86\x46\x18\x26\xf4\x35\xbc\x5f\x56\x78\x17\xd2\x45\xc3\xae\x94\x39\xec\x29\x76\x22\x80\x9e\x6d\xf3\x2f\x15\xd9\xa5\xbc\xb7\x47\xdb\x50\x89\x1b\x72\x77\x57\x66\xa5\xf8\x67\x56\x72\x52\xf9\xc0\xad\x0a\x53\x41\xae\x69\x88\x88\x32\x0f\x87\x23\xcb\x4c\x05\x5c\xaf\xd9\xcf\x5c\x30\xd6\xbb\x39\xaa\x44\xa7\xfa\x34\x7a\x35\x8d\x92\xce\x71\x23\x1b\x41\x89\x67\xe1\x37\xa2\x4f\x41\xf8\xd5\x53\x3b\xf6\x74\x3c\xb6\x0a\x6c\x75\xb3\x5b\xa6\x71\x3d\x99\xad\xb7\xfb\xcd\xad\x93\x04\x73\x80\x20\xac\xc5\xcc\x88\xe1\x7f\xa0\xa4\xd9\x3b\xfa\x1b\x28\x4b\xff\x3d\x98\xc4\x3e\x73\x63\x5b\x9f\xb9\xb1\x2d\x8d\xfe\x30\xbe\xb5\xa3\xbf\xb5\xa3\x0f\x0c\x11\xac\x1e\x4e\xcf\x95\x4a\x6a\x59\x3f\xa8\x5e\x1e\x76\x0b\xed\xda\xf0\x11\xcc\x21\x05\xab\x97\x49\x2d\xad\x50\xd8\x9a\xe0\x81\x1c\x54\xdb\x3a\x2a\x82\xb5\xa4\x20\xb1\x47\xae\x57\xa9\x78\x0f\x91\xce\x74\x1b\x4a\x25\xee\xad\x44\x96\x31\xe8\x26\x34\xf2\x42\x58\xad\x90\x27\xbd\x5e\xfe\xc5\x6d\x34\x5f\x32\x98\x28\x35\x3b\x20\xdd\x9b\xc5\x05\x8a\x2d\x62\x32\x11\xd0\x7a\x15\xec\x68\xb6\x9e\xed\x37\x07\xa3\x30\x76\x61\x2f\x2b\x01\xd0\xdb\x29\x3c\x9c\x41\xdc\x49\xcd\x76\x85\xf4\x2b\x69\xb6\x2d\xd7\xc1\xa4\x2d\x60\xf3\x34\x11\xdc\x21\x85\x2b\x36\x19\x67\x37\xd3\x74\xd9\x1e\xb5\x90\xfc\x28\xff\x03\xee\x45\x52\xdf\x50\xfc\x0d\x8b\x74\x99\xcd\x1a\x1a\x27\x3b\x94\x66\xe9\x7d\x46\xf4\x25\x2d\xa6\xe9\xfa\xd3\x7c\x79\x4f\x1c\xf4\x98\x1f\x2a\xd1\x69\x54\xaf\x7c\xbd\x9c\xd2\xa6\x3b\x26\xf9\xfd\xb9\x9d\x2f\x3f\x1f\x4d\x56\x8b\x69\xfa\xf9\xcd\x84\xe0\x23\xd8\x4b\xb6\x36\x93\x9b\x65\xa6\xb9\x75\x0e\xdb\xdf\x10\xa7\xce\x6a\x9d\xae\x33\x9a\x73\x6a\x4b\x74\x4e\x11\x5c\x59\x5b\xf5\xc3\xd5\x93\xf8\x3b\xfd\x8a\xc2\x6a\x76\xf2\x46\x76\x84\x1d\x29\xff\xe0\xe9\x12\x0b\xee\x5c\xb1\x2b\xd8\x31\xbc\x2c\x0d\x38\x9e\x92\x48\xb1\x02\x58\x7e\x17\xca\x82\x31\x1d\x30\xa6\x80\xa2\x66\x48\x93\x7c\x20\x2a\x3f\xe2\xb9\x42\x34\x6e\x46\x49\x4c\x55\x58\x26\xcd\x31\x72\xae\x30\x46\xa2\x73\xe4\x34\xd5\xcc\x55\xdb\xb0\xc9\xf3\x8a\x7d\x11\xfd\x16\x57\x9f\x17\xea\xca\xb6\x81\x91\xe7\x2d\x63\x34\xb8\x14\xca\x37\x46\xb3\x87\xfb\xfa\xf9\x43\x9d\x2d\x5a\x6c\xd2\x70\x06\xbe\xc8\x3d\x0d\xde\x04\x9b\xbb\x24\x33\xf8\x49\x04\xff\x8a\xf8\x55\x66\x03\xb5\x6f\x59\xfc\x8d\xc8\x45\x4d\x0e\x87\x27\x65\x92\xaf\x0c\x8c\x3a\xb0\x4d\x6d\xd0\xb5\xa2\x1b\xd7\x98\x3a\x1c\xc2\xca\xc6\x60\x50\x1a\xac\xe2\x21\x7d\x2d\x05\xd9\xa0\xb7\x71\xad\x65\x8d\xf9\xa1\x46\x83\xc6\xc4\x00\xac\xb7\x45\xa3\xa7\x60\x63\xc0\xc3\x3b\xe2\xc3\x0d\x23\x03\x5e\x18\x88\x2f\x14\xac\x0c\x33\x7e\xd5\xd5\x73\x66\x06\xbc\xf3\x32\x7f\x47\x34\x4c\x4c\x4c\x4d\xd8\xf5\x82\x53\xec\xe9\x27\xa5\x6a\x75\xca\x21\xbd\xe2\x5a\x99\x2d\xd3\x82\x28\x66\x4b\xc5\x5e\xb7\xb0\x0b\x84\x7b\xd2\x29\xc9\x3c\x0b\x5a\xbf\x6f\x22\x49\x83\xa2\xa7\x1a\xd5\xf4\xf6\x13\x88\xcd\xc8\xbe\x9d\xe5\x7a\xfb\x5f\xae\x4f\x7f\x3a\x3d\xfb\xe5\x74\xb8\x95\x1c\x9c\x1c\xff\x3c\x1a\xf6\x92\x8b\xd1\xc1\xd1\xaf\xc3\x7e\x72\x94\xff\xbc\x9d\xbc\x3d\xbe\xbc\x3c\x3e\x7d\x3d\x1c\x24\xe7\x07\x17\x57\xc7\x07\x27\xf4\x34\x0b\x03\x8b\x2b\x2e\x77\x9c\x2c\x1a\x9c\xbb\x52\x46\x89\x05\xc8\x9d\x31\x7f\xb6\xca\x5d\x02\xe7\xdf\x6a\x7a\x1f\x98\x2c\x4c\xd8\x2b\x3b\xbe\xa1\x3a\xa2\x62\x48\x54\x99\xda\xe8\xb6\xb5\xf9\xda\x8a\x10\xc0\x73\x69\x31\x14\x8a\x7c\x6d\x14\x01\x8f\xac\x6d\x02\xe1\xa8\x42\xc6\xed\xf6\x6c\xfb\xdf\x1e\x3b\x22\xbc\xbb\x84\xf4\x44\x25\x6c\x49\x2e\x3e\xdd\xb6\x61\xc7\x7f\x1b\x64\xe0\xbc\x4f\x47\xba\x7d\x52\xa8\xa1\x12\xd7\x71\xe6\x33\x52\xa8\x40\x43\x80\xb7\x05\x03\xef\x2d\xc8\xd5\x1b\xb7\xcf\xdf\xf5\xff\x7c\x19\x38\xef\xd3\x77\x83\x9d\xfe\xf5\x72\x1a\x67\x32\x1d\x83\x00\x24\x1c\x78\x1b\xf1\xd2\x7b\x23\x0c\xda\xa7\xdb\x86\xec\x25\x5e\x02\xc2\x6c\xdd\x13\xf7\x25\x57\x39\x85\x5d\xd9\xf3\xdf\x95\x56\xb9\xe6\xab\x17\xa2\xef\xe1\x95\xef\x9e\x98\x10\x21\xeb\x0d\xaf\x02\xe8\x0d\xf0\x56\xd4\x2a\x83\x68\x8d\x04\xd1\x16\x60\xb0\xb0\xa2\xe0\xb5\xe9\xa2\x29\xe4\xa8\x5f\x6f\xf9\xf3\x06\x03\x0a\x4c\x3d\x7b\xcb\xfb\x12\x54\x96\x8d\xdb\x1e\x6c\x7b\xb3\x03\x15\x3c\x87\x03\xf4\xfc\x55\x23\xc9\x66\x75\xdc\x84\xbe\x3f\x21\x58\xd0\x60\x12\x83\xa7\x01\x61\xb0\xc2\x03\x5a\x5d\x26\x9f\x64\x0f\x2c\x0c\x26\x59\x5d\x36\x7c\xe9\x85\xd9\x9e\xb6\x6a\x5d\x20\x8b\xed\x9b\x50\x26\x2b\x3b\x3a\x02\x99\x5d\x28\x02\x48\x89\x76\x2f\x54\x54\xbc\x72\xbd\x84\x8c\x89\xeb\xa1\x3c\x56\x44\x5c\x79\xdd\x5c\xab\x58\xc6\x2d\xcb\xf7\x88\x71\x71\x5e\xa8\x53\x8d\x74\x9e\x52\x82\xd6\xdb\xca\x4b\xd4\x9a\x89\x10\xe5\x94\xa4\x40\x40\x94\x30\x67\x09\x8c\xe7\xac\xc7\x23\x15\xac\x10\x27\xbe\x5c\xd7\x01\xce\x37\x02\x81\x1a\x42\x9d\xdc\x28\x12\x90\x82\x2d\x10\x28\x31\xce\x78\x24\x10\x68\xe8\xc8\x8f\xc6\x4f\xa2\xc7\x7d\x60\xe7\x71\x88\xa8\x0f\x0c\x81\x12\xf3\x91\xa8\x01\x8b\xfe\xb0\x3d\xf4\x7d\xf1\x2d\x85\x22\xa8\x41\x1b\x89\x26\x90\xe0\x8d\x33\x2d\x28\x3b\xd1\x81\xab\xdc\x40\x8e\x16\x14\xe2\xb9\xcc\xed\xdb\xe0\xa5\xc9\xb2\x14\x59\xfb\x3e\x78\xaa\xb1\x1c\x2d\xd6\xb4\x11\x32\xb9\x76\xe0\xfe\x35\xed\x84\x0d\x89\x78\xae\x5f\x78\x2b\x5c\xfd\xe0\x2c\x07\x30\xbc\x11\xee\x1e\x70\x8e\x1b\x58\xfa\xfe\x6e\xa6\xa6\xd1\x8d\x18\x69\x67\xfc\x26\xa5\x71\xd8\x85\x62\xac\xc4\x98\x8e\x66\x81\xe7\x39\x11\xcd\x65\x67\x3b\xe9\x27\x46\x0f\x52\x49\x47\xee\xd3\x40\x8c\xc3\x16\x95\x03\x0f\xdd\x31\xcc\x7e\xd8\xee\x2d\xc2\x5c\x76\xf4\x56\x2e\x18\xec\x80\xd5\xab\xac\xcd\x00\x1b\x6a\xbc\x44\xeb\xb8\x04\x75\x42\x70\x27\x02\xf2\x4e\x05\x44\xd6\x87\x94\x10\x7c\x3d\x46\x29\xda\xa9\xa9\xa9\x25\xed\x40\x58\x4a\xa4\x64\x00\x4c\xa4\xa3\x9d\xae\xe9\x88\xb6\x47\x01\x31\xf5\x21\x22\x08\x59\x8f\x89\x8b\x76\x0a\xa2\x99\x21\x6c\xb7\x29\x3c\x99\xcf\x4e\x57\x44\x93\xc4\x34\x45\xd1\x99\x40\xac\x5b\x20\x4f\x64\xf1\x92\x33\x56\x18\x1e\xf3\x0d\xed\x87\xea\xca\x0f\x58\xf1\x73\xe9\xdc\xdc\x75\x65\x4e\xd0\xdc\x40\xb9\xe5\xbf\xf0\xe9\xb7\xac\x56\x7f\xe9\x43\xa5\x2a\x68\x32\xad\x72\xc2\xe3\x46\x5a\xb5\x7e\xb4\x69\x86\x50\x00\xba\xb5\xc2\x83\xa9\xd7\x65\x77\x0d\xd5\x95\xce\xa1\x3e\x57\x62\xb6\x23\xc0\xf4\x90\x70\xcc\x61\x87\x18\xa7\x67\x30\x6b\xcf\x6d\x77\x9c\x03\x57\x9c\xfc\x07\x85\xec\xd1\x20\x95\x5b\x68\x4a\x22\x75\xc7\x38\x94\xcb\x2e\xaa\x05\xb9\x7e\xc9\x1c\x3d\x97\x0f\x56\x7b\x44\xb8\x58\xf4\x9c\x58\xbe\x72\xa0\xd8\xe7\xd7\xe7\x2a\xd7\x2d\xfb\x1c\x2f\x06\x11\x31\xec\x5d\xa0\x0a\x45\xd2\xd8\x09\x5b\x3b\x54\x55\x11\xdf\x67\x8e\x3e\x1b\x1d\x3e\xc8\xc2\x44\x34\x1c\xa2\xcd\x8a\x6d\x22\x14\x7e\x63\xdf\xef\x39\xf2\xb0\x6d\x3b\xd2\x73\xf4\x74\x58\xb0\xe5\xcf\x3a\x74\x73\x7b\x88\xfd\x4c\x94\x68\x8a\x06\x1f\x9b\x6d\xd8\xa7\x0e\x37\x14\x9a\xb5\xb8\x1b\x57\xf0\x21\xb7\xed\x8f\xc5\x2e\x00\xc5\x40\x43\x37\xe7\x89\xbd\x88\x3f\x36\x89\x55\x52\x93\x9e\xc5\x65\x71\x2b\x83\xa8\xb3\xe9\x8d\x93\x4b\x27\x91\x9b\x15\x21\x4f\xf2\x7b\x45\xa6\xbe\xba\xce\xcf\xc3\x41\xc4\xa2\x06\x3d\xa1\xc5\xd4\x0a\xc2\x95\x36\xe5\x46\x0e\x8e\x3a\xeb\x0e\x23\x3d\x4d\xb6\xbf\x2c\xd0\x41\x6e\x7f\x3c\x93\x44\x1c\x12\xb5\x78\x9d\xad\x4f\xe6\xb7\x97\xeb\x65\x96\xde\x5b\xe6\xa1\xf5\x92\x3e\xd4\x09\xd6\xb4\xc2\xe5\xcd\x7c\x91\x95\xdd\x60\x2f\x0f\xcf\xce\x47\xd6\x4e\xb0\xbd\xe4\xe0\xfc\xfc\xe4\xf8\xf0\xe0\xea\xf8\xec\x74\xd8\x67\x22\x2a\x1b\x18\x0d\xcc\x80\xed\x60\xb1\xed\xf1\xeb\x0a\x0b\x7f\x93\xeb\x08\x57\x6d\x49\xde\xfc\x56\xeb\xeb\xb6\x06\x1e\xac\xd6\xab\x65\xca\x92\x57\x77\x59\x13\x8e\xf6\x6e\xb3\xd3\xc9\xfd\x64\xfd\x7d\x7a\xf3\xef\xe9\xfc\x96\x90\xe7\x14\xa6\xf3\xa5\x09\xc5\x98\x03\x64\x55\x60\x94\x71\xa1\x38\x82\xac\xd1\xb1\x9c\xe5\xba\xce\x59\x02\xfa\x39\xa2\xed\x19\x10\x6a\xa3\x17\xb4\x63\x64\xeb\xd3\x68\xb3\xcd\xa2\x3a\x16\xfb\xcb\x9d\x08\xb4\x1f\x20\x1f\x0a\x66\x57\x91\xa6\xda\x6a\x10\x83\x8f\xb4\xa5\x42\x20\xb5\x9c\x33\xb6\x56\xeb\xe9\xad\xd5\x0c\xe5\xf0\x48\xa3\x3a\xb0\x12\x1e\x23\x2e\x52\xd7\x2a\x89\x5c\x04\x0c\x4a\x9a\xda\xf6\xea\x58\x85\x21\x18\x41\xec\x59\x64\x82\x8b\x08\x34\x2d\x65\x14\x87\xcb\xaf\xae\x73\x7a\xa0\x91\xe9\x3c\xd6\x16\x51\xf4\x49\x5d\x8f\x7d\xc9\x26\xb0\x48\x24\x2e\xfd\x77\xd3\xe8\x27\xda\x34\x3a\xa8\xe4\x34\x73\xbf\xae\xa4\x28\x41\x38\x04\x94\xa8\x04\x68\x7f\xe9\x86\xae\x41\x48\xe7\x69\x64\x1a\x72\x48\x3d\x6e\xf2\x21\x1d\x93\x68\xf9\x88\x74\x14\x62\xa6\x28\xb2\x48\xe8\x91\xb3\x16\x59\xe4\x13\x31\x91\x91\x49\x3c\xa1\x73\x1b\x59\x84\x13\x29\xdd\x11\xf5\xb8\xf9\x67\x3d\x62\x25\x0f\x98\xc5\xe9\x97\xfc\xd8\xf3\xf2\xfb\xf1\xe9\x47\xf7\x74\x3b\xa7\x42\x7a\xa2\xee\x46\x80\x12\xd1\x79\x25\x46\xb2\xd9\x55\x07\x52\x0e\x73\xf4\x78\xdc\x15\xa6\xa4\xe3\x4f\xe3\xed\x82\x5c\xbb\x92\x8f\xc1\x64\xa2\x1f\x73\x13\x9d\x21\xae\x29\xdd\x1e\xdf\xbe\xb2\x61\xc0\x88\xfd\x20\x89\x4a\x27\xf3\xdb\xef\xd3\xf5\xcd\x9d\x3e\x36\x70\xfb\xbd\xb3\x9f\xa7\x59\xd4\xd3\xa1\xd3\xac\xc3\xf0\xdc\x68\xef\x98\x4b\xac\x1d\xe2\x15\xf5\x04\x2d\xc2\x0b\x65\x7d\xf5\x74\x32\x23\x8c\x1d\x3b\xa9\x9f\x82\xa6\x7b\x35\x5f\x35\x9a\xad\x97\x9f\xc5\xc1\x5e\x21\xaa\xab\x9b\xd5\xa3\xf9\x68\x6a\x08\xa8\x99\x6a\x47\x85\xee\x75\xa1\xac\xf1\xc4\xa2\x0f\xc6\x71\x4c\x0d\xbd\x19\x1c\xfd\xa4\xdd\x2e\xa9\x85\xee\x1d\x51\xa8\x0c\x1f\x7e\x53\xd0\x6e\x00\xd7\x88\x81\x61\xc4\xf0\x81\x34\x60\xc2\x3a\x3b\xb0\x65\x29\x35\xd4\x12\x7d\x50\x6b\xa8\x05\x0a\xa1\x16\x50\x0b\xdc\x86\x30\x18\x63\x1b\xf2\x6a\x28\xd4\x62\x77\x6b\x78\x8b\x91\x12\x40\x28\x61\x22\xb3\x50\x8e\x48\x91\xdf\xb4\x85\xc2\xab\xc1\x14\x94\x30\x73\xb2\xae\x53\x3d\x1b\x67\x7e\x93\xfc\x89\x4c\x4e\xc8\x85\x0b\x4d\x0e\x85\x88\x65\x63\x9c\x21\xb4\x9c\x28\xe1\xd0\x2f\x34\xca\xb0\xc8\x32\x03\x5d\x29\x86\xe4\xd8\x96\x24\x47\xd9\xaa\xbd\x94\x1b\x97\xa6\xce\xfc\xbd\xe0\x3d\xe7\x5b\xaa\xa3\xc9\xa6\x9c\x8d\x84\xe4\xfb\xea\x0d\x8f\xca\xfd\x41\x7e\xe5\x2b\x03\xc0\xc5\x21\xff\xb6\x18\x84\xbd\xd4\x5a\xa1\x17\x34\x61\x98\x37\x25\xb3\x0b\x83\x17\x9c\xd5\x92\xbb\x38\x56\x44\x94\xd0\x37\xa1\xfc\x8a\xfd\x2f\x07\xe7\xe7\xc3\xad\x64\x74\x7a\x75\xf1\xeb\xf9\xd9\xf1\xe9\xd5\xb0\xe7\x42\x12\xcd\xb6\x44\x31\xc4\x00\x4a\xd4\xc0\x72\xfa\xc2\x51\xcd\x2f\xc3\xd7\x36\xe7\xe6\x59\x43\xe0\xfa\xd9\x06\xf8\xa1\xbc\xf2\x56\xb0\x85\x93\x01\xfa\xf0\xda\xc5\xd0\xd2\x3d\xee\x60\xb0\x42\xbb\x4b\x57\x10\x2c\x0f\xf7\x15\x74\xae\xf9\x25\x8b\xd3\x14\x05\x3a\x4d\x19\x6a\xd0\x36\x28\x06\xed\xbd\x13\xc7\xb0\xd1\x6a\xe0\x79\x83\xdd\x1a\xe0\x98\x3f\xb8\xd5\xc6\x23\x9f\xae\xf4\xb9\x26\xa8\x1d\x9c\x6e\x63\x47\x44\xc8\xcd\x57\xcc\x57\xb0\x80\xde\xbc\x29\x06\xec\xd8\xe9\xf7\x54\xce\xdd\x02\xae\x0d\x62\xcf\x34\xfb\x6d\x28\xcd\x5e\x35\xed\x99\x28\x16\xfc\x15\x3a\xbb\x9a\xbf\xb6\x76\x22\x9c\x35\x7f\x38\x9f\x7d\x9a\xdc\xfe\x9c\x2e\xd5\x84\xf1\x97\x49\x3f\xd9\x7d\x9f\xbc\xdb\x4e\x76\x92\x01\x94\x3a\xde\xae\xf0\x73\x3a\x7d\xa8\x12\xc6\x7f\x3e\x38\xb9\x16\x13\xc6\xaf\x4f\xf3\xff\x7f\x99\x5c\x5e\x1d\x5c\x1d\x1f\x0e\xfb\xc9\xd1\xaf\xa7\x07\x6f\x8f\x0f\x87\xbb\x24\xdc\x24\xd2\x6d\xc1\x04\xcc\x11\x37\xef\x43\x99\x19\x4e\x78\xe9\x7a\xf6\xb0\xca\xc6\x42\xc6\xfc\xf5\xe9\xf5\xe5\xe8\xe8\x83\x9a\x38\x2f\x26\xca\x6f\x27\xe7\x17\x67\xb9\x0d\x3d\xdc\x49\x2e\xae\x4f\x4f\x47\x17\xc3\x01\x7f\x37\x54\xc8\xf1\xf7\xa4\xe7\x93\x2d\x6f\xfa\x0a\x27\x77\x40\xbb\x10\xc3\x13\xa0\xbf\x64\x73\x02\xac\xd3\xe5\x6d\xb6\x6e\xad\xfa\xe2\x4f\x38\x3f\xaf\x5d\xbc\x7c\x5a\x31\xf8\x49\x83\x25\x4b\x4f\xf5\xc3\x6c\x25\xc0\xbe\xce\xff\x2a\x41\xbf\x18\xdd\x2f\xd6\x9f\xd5\x41\x97\x1f\x3f\xac\xd6\xe9\x7a\x72\x43\x6d\x1b\xfa\x79\x96\xde\x4f\x6e\xda\xb9\x88\xe5\xdf\xd4\x8f\xab\x1e\xff\x39\x9d\x2a\x78\x4c\x66\x65\x41\xe3\x90\x56\x3e\x99\xec\x25\xcf\x7a\xe5\xb6\x1c\xaf\xce\x53\x75\x28\xa4\xfd\xbd\x57\xc5\x7b\x11\x33\x34\x17\xcb\x79\xfe\x47\xb3\xec\x79\xf9\x37\xbe\x64\xf5\xa0\xb2\xdc\xf2\x61\x36\xcb\x96\xcd\x6a\x17\xc5\x9f\xf8\x62\xe5\x73\xe1\x67\x4e\xb6\x27\x19\xcd\x0b\xd4\x80\x40\x6d\x7a\x00\x19\xba\xef\x87\xb4\x48\x94\x80\xc1\x16\x25\x21\x53\xe5\x0b\xf4\x8c\x4c\x8d\xa3\x10\x1c\x41\x25\xa3\xd2\xfd\x4d\xc4\x91\x8e\x2f\xeb\xd8\x44\xc9\x6a\xf4\xd8\x43\xc5\x82\x70\x4c\x4a\xb6\x45\x73\x47\x5d\x16\xfc\xcb\x30\x2e\x92\xb8\xb1\x2d\x4f\xa2\x07\x4b\x8c\x1c\x8d\x30\x9c\xb0\xe2\x96\xb6\xe9\x93\xc5\x9c\xed\x26\x02\x54\xcd\xe1\xd6\x47\x4e\xea\x0f\x9f\x36\x8c\x90\x1b\x2e\x52\x53\xfb\x1e\x25\xe3\x77\x87\x82\x65\xc5\x20\x79\x18\xd6\x5c\x15\xc7\xae\x66\xd4\xfa\x94\x52\x14\xb3\x92\xdb\xf2\x10\xab\x38\x34\x8e\x57\xc5\xf2\xfd\xfd\xad\x26\xed\x29\x86\xab\xb5\x85\x13\xd6\xcb\x8a\xae\x4b\x4f\x20\x16\x34\x32\xd3\xbc\x7c\x3a\x4f\x45\x9d\xaa\x58\xa7\x62\x43\x15\x50\xab\xb2\x29\xb8\xbd\x4c\x5a\x16\x8a\xa7\x2d\x1b\xeb\x90\xfa\x7a\x1d\x92\x69\x06\xa2\xa0\xd4\x29\x38\xec\xd2\xb6\x47\xe0\x8a\xe8\x16\x35\x8c\x4e\x00\x57\xf0\xb6\x3d\x75\xf4\x66\xc5\xe1\xd4\xe7\x5e\xb1\x2b\xa9\xc0\xd0\xa6\x63\x86\xb8\xa8\xe8\x29\xe0\x76\x30\x70\x35\x97\x22\x82\x12\xb4\x40\x05\xd2\x00\x83\x54\xb1\x9d\xf0\xf1\x5a\xe3\xd9\x07\x33\xd3\xcc\x76\x03\xdd\x62\x33\xbc\x6f\x33\xde\x3e\x2d\xe7\xf8\x50\xfe\xd2\xd4\xba\x29\xd6\x7f\x9b\xb6\x01\xdc\xc3\xfa\x97\x8d\xcd\xcd\xef\xe6\x22\xae\x95\xa7\x7a\xf8\xee\x7d\x58\x3d\x1c\xd2\x3f\x82\xab\xe4\x02\x34\x86\x18\xa0\xa9\x48\x74\x45\x9d\xb6\x5e\xd7\x49\x3e\x39\x64\x83\xc6\x9a\x29\x64\xa1\x69\x09\x1b\x8a\xc3\xf0\xc5\xdb\xd4\x10\xb4\xcd\xff\x31\x91\x0f\x4e\xb8\x5d\x2d\x36\xa4\x67\x72\x6e\x92\x3c\x7f\x5e\xb8\x9c\x37\x03\xea\x15\xc6\x9b\x1f\x57\xc5\xc0\x05\x8d\xb7\xb6\x81\x83\xa0\xe4\xf8\x14\xe4\x41\xcd\xed\x69\xe9\xe5\xd9\x56\xce\xe5\xe7\x85\xd7\xbd\x78\x73\x63\x33\x7f\x77\xae\xa2\xb2\xd1\x17\xe8\xa3\xc4\x4a\x38\x03\x01\x10\xe9\x21\xf6\xc6\x48\x5e\xc5\xfc\x53\xe3\x04\x7d\x50\x52\x53\x60\x07\x0d\xfc\xe0\x1f\xde\x1c\x1b\x8c\xc1\x6d\xb6\x7e\x9b\x2e\xe4\x20\x4c\x71\x27\x3d\xa0\x97\xc3\xf3\x74\xf8\xb2\x6f\x5f\x66\x45\xe5\x4b\x39\x4b\xba\x9b\xac\x48\xa0\x2b\xad\x57\x6f\x0f\x93\x6c\xd3\xbc\xfc\xd5\x02\x07\x8b\x85\xe0\xee\x3e\x38\x3f\xd7\x7c\xdd\xaf\x4f\xce\xbe\x3f\x38\x19\xf6\x1a\x37\x77\x5f\x76\x7f\x73\xd0\x95\xce\x48\x02\x1d\xc5\xdf\x6d\xd8\x24\xbf\x26\x31\xc0\x07\x79\xaa\x55\xba\xaf\x99\xae\x52\x29\xef\xda\xd4\xa9\xdb\xe9\xfc\x63\x3a\x6d\x14\xa4\xd7\xc5\x9f\xb8\x03\xb3\x7c\x2e\xae\x6f\xf5\x2b\xab\xd3\x4f\xa6\xe9\xc7\x6c\x7a\x99\x4d\xb3\x9b\xf5\x7c\x89\xaa\xa8\xc5\xcc\xe0\xa7\xeb\x3f\xb6\x39\x25\xc3\xeb\xac\x95\xe3\x94\x7d\x2b\x82\xe8\xaa\xf8\x5a\x8f\x5a\xeb\x5f\x5e\x33\x5e\x99\x7f\x75\x35\x71\xcf\x55\x75\xd7\x1d\x8a\xfb\x1f\xc5\xd5\xf7\x5f\xe4\x2a\x7d\x9c\xe6\x08\x8d\xc3\xd4\x98\x34\x2a\x32\x2f\xae\xb3\xfe\x6b\x74\xb2\x6a\xb2\x3a\xae\x21\x04\x3b\x24\xbd\x8d\x20\x78\x79\xba\xe7\x55\x90\xff\xdc\xae\x0d\x15\xdf\xf1\x77\xc7\xa1\xed\x1a\x98\xee\xb8\x47\x70\x36\x82\xed\x28\x50\x77\x23\xde\x8e\xa2\x4d\x0a\x96\xae\x2d\x60\xbf\x0e\x74\x27\xac\xdd\x4d\x09\x7a\x91\x49\x6e\x4a\x47\xed\xbf\xa4\xa1\xc0\x8d\x0d\xca\x45\xe1\x9c\x50\x90\x2f\x68\x68\xf1\xca\x82\x81\x52\x70\xcc\x2a\xa1\x5a\xbc\x1a\xd2\x65\xb7\x6f\xdb\x6e\x36\x6d\xbe\xcb\xdb\x8e\x67\xe9\x02\x90\xee\xd2\x95\x15\x8e\x47\x92\x2e\x4c\x27\x15\x07\x08\x4c\x28\xb5\x5a\x03\xd6\x25\xc3\x94\xa2\x21\x16\xac\x82\x3c\x2e\xa9\xd8\x37\xb4\xa6\x95\x9a\x61\xfb\x12\x8b\x1d\x92\x47\xb1\x38\xea\x53\xe8\xa0\xe9\x0e\x98\x0a\x0b\x53\x4d\x80\xde\x03\xc0\xe8\xad\xb8\x94\x13\xa3\xeb\x00\x4c\x41\x3e\x2d\x07\x5c\x0f\xa9\x93\xbe\x3b\xe0\x2c\x29\x98\x82\x7c\x1a\xed\x20\x0d\xa8\x31\x02\x08\xdd\x59\x07\x3e\x7c\xf7\x56\x3a\xae\xbb\xab\x6a\x59\x6e\xae\xf3\x01\xd9\x75\x6e\x3a\x5e\x0b\x02\x3c\xff\x39\x32\xab\x0b\xde\x82\x52\xe3\x0b\x4c\xfa\x95\xcd\xb8\xeb\xbe\x31\x2a\x5a\x64\xa2\x47\xe6\x5f\x61\x44\x6f\xdd\x8e\x66\xf2\x42\xa9\x5c\xfb\x92\xbb\x15\x0e\x4c\xeb\xc4\x1d\x95\x4e\xb8\x04\x1f\xf0\x84\xd5\x2f\x43\xa6\xb9\x98\xf3\x9f\x34\xb4\x82\xcd\xc9\x31\xc1\x2b\x4b\xdc\x6c\x1b\xd1\xd4\xb7\x95\xe9\x49\x9c\xb3\x95\x0e\xd5\x0a\xc0\x67\x18\x8e\xe5\x54\xdd\x67\x5b\xd3\x83\x7d\xd2\x79\xf9\xcc\xb1\x26\x47\xf8\xa4\x4f\x2c\x12\xb2\x1c\xe8\xb6\xca\x82\x05\xc7\xa5\x59\x3e\x52\x01\xc9\x53\xd5\x5e\x3a\x54\xaa\x38\x92\xb2\x6d\x6b\x6a\x4a\x2e\x73\xd9\x9c\x09\xd9\xb6\xbc\xc7\x7c\x3a\xcb\x19\x97\x49\xc4\x71\x6a\xf7\x2c\x67\xac\x82\x24\xf6\xac\x23\x99\x70\x61\x4e\x97\xb0\x29\xa1\x10\x74\x26\x11\x2b\x8e\x41\xac\x3d\x89\x46\xaa\xc0\x7b\x14\x09\x26\x24\xa1\xb3\x65\xeb\xca\x80\x1a\x8f\x63\xec\x76\x47\x53\xf6\x4d\x6c\xe6\xf8\x54\xd9\xa7\xce\x24\x61\x07\x11\x5e\xa9\xa9\x93\x57\x31\xa2\x00\x07\xc1\xed\x21\x73\xe0\x2c\x87\xae\xc3\x66\x0e\x81\x43\x26\x37\x02\x12\xbf\xcc\xc4\xf5\xfa\xe8\x57\x6e\x1f\x6d\x82\xce\xfc\x6c\x64\xb6\x96\xe5\xb3\x9f\x94\x93\xe7\x51\xbc\x3b\x4a\x21\xa7\x23\x03\x88\xeb\xcf\xe9\xda\x91\xd3\xa1\xd7\x98\xe8\x5f\x08\xe9\x2e\x06\x46\xa5\x87\x26\x8b\x38\x0e\xe2\x20\x9e\x61\xf6\xc6\x47\x76\x67\x80\xd3\xc3\x2d\x84\x40\xf4\x63\x58\xe8\x60\xd0\x1d\x1d\xc4\x70\x7c\x84\xf0\x78\x10\x36\xfd\x32\x5b\xd7\x6d\x5c\xb5\x86\xaa\x3d\xf7\x86\xaa\xda\xe2\xed\xe7\x78\xa4\xff\x09\xeb\xb1\xd3\xff\x0c\xef\x9a\x1b\xad\xfe\x96\x2e\x27\xe9\xc7\x29\xa1\x11\xea\xcf\xe2\x93\x50\x33\x54\xbd\x0a\x3f\x50\x1f\x54\xed\xd3\x22\xa7\xa6\xb5\x90\x88\x59\x1e\x10\x6a\xdc\xd4\x34\xda\x5a\x2e\xa9\x69\x93\x4f\x1b\xbd\xfd\xfd\x7d\x53\x6a\x1a\xa7\xdc\xd9\xa5\xce\x19\x6f\x59\xda\x50\xd9\xc6\x7c\xf3\xcf\x6c\xba\xca\xfe\x21\x25\xf8\x7c\x43\x4e\xf0\x31\xde\xc6\x78\x09\x3e\x02\xb8\x18\x09\x3e\xf8\xf2\xa6\xeb\xdd\x94\x36\x28\x77\x97\xd0\x5a\x14\xcc\xf5\x41\xeb\x3c\x59\x1f\x24\x49\x65\x09\xd3\x08\xcd\x8b\x1a\xd4\x29\xb9\x07\x16\x1a\xb2\x21\xc9\x1f\x59\x4d\x91\xc0\x46\x24\xc4\x9b\xe2\xd9\xcf\xa8\x07\xf5\x33\x6a\xb7\x8b\xc7\xb2\x14\x95\x01\x3b\xd5\x5a\x73\x90\xe9\xf4\x9d\x7f\x4a\x7e\x81\xd2\x6a\x31\x9f\xad\xb2\x80\x42\xb9\x5a\xd0\x4d\x2a\x2b\x2f\x9b\xc5\x72\x60\x71\x59\xc1\xec\x42\x5e\x96\xa0\x38\x5c\xd3\x86\x9c\x93\xc4\xc4\x17\x73\x11\x99\xba\xac\x4c\x7c\xc4\x92\x46\x90\x91\xe5\x52\x05\x2f\x9a\x60\x82\xd7\x57\x36\x1c\x5d\xf2\x75\xcb\x46\x94\x32\x26\x52\x11\x93\xf0\x3a\x30\xe2\x5a\x1a\x69\xdd\x94\x30\xe1\x45\x4b\xaf\x2d\x72\x2b\x62\xc5\x92\x65\x3f\x42\x54\x2c\x19\xbf\xc6\x83\x3b\xbe\xf6\x30\x59\x0c\xef\xda\x2a\x96\xfe\x22\xcd\xa1\x8e\xc7\x9d\xd5\x2c\xad\xc4\x12\xf9\x93\xfa\x17\xa0\x44\x3e\x59\x2c\xb3\x4f\x93\x3f\x68\x65\xf8\xe1\xea\x92\x5e\x77\x66\xfc\xbd\xe6\x1a\x7f\x10\x6a\x5c\x51\x46\x5b\x2b\x46\x5d\x52\xff\xab\x99\x41\x4a\x2a\x06\x7a\x94\x32\x25\x52\x01\x50\x7d\xc5\x5d\xca\x65\x8e\xc7\x0e\x05\x33\xf4\x66\x49\x8f\x58\x9b\xb4\x3b\x14\xab\x1a\x56\x4f\xbb\x1f\x03\xd8\x7c\xed\xbc\xe0\x8f\xc1\xea\x95\x8c\x92\x3a\x9e\xda\xf8\x3a\xae\x3b\x03\x5f\x9e\x5e\xaf\xe4\x33\x92\x3d\x7c\x23\x21\xb4\x94\x28\x58\x23\x21\xb4\x86\xa8\xe1\x15\x21\x2a\x96\xd0\xb6\x45\xdc\x8a\xa5\x15\xab\x77\xc6\x6e\xd0\xde\x19\x49\x7b\x90\xc5\x25\x45\x9a\x7e\x38\x1b\x05\xdd\x04\xa4\x09\x89\x32\x16\xee\x11\x79\xe2\x21\x66\xbe\x50\xbc\x5f\x46\xcc\x23\x47\xa9\x8d\x30\x63\x0e\x3a\x84\xa9\x28\x6e\xcc\x9a\x10\x45\xb7\x51\x8f\x67\xe8\x1a\xcd\x68\x88\x45\x39\xe1\x03\xd9\x36\x8a\x71\x8d\x67\xbb\x1e\x4a\xdc\xb0\xf6\xf1\x98\x12\x68\xb7\x51\x8b\x73\x9e\x3e\xa9\x38\xc5\x7e\xda\xa1\xc3\xd5\xb6\xb3\x76\x8c\x5a\xbb\xee\x68\x27\xe5\x48\x84\x90\xba\xed\xb8\x7d\xca\x91\x48\x65\x2a\xf6\x13\x8f\x53\x8e\x64\x3b\x77\xf7\x72\x24\xd7\xdd\x15\x55\x28\x66\x1f\xab\x5d\x72\x1f\x2b\xfb\xf6\x1a\x60\x6b\x3d\xac\x04\xf3\x8d\xd7\xc3\xca\x2e\x04\x73\x4d\x2d\x66\x19\x83\x5d\xca\xc9\x90\x23\xd4\x33\xbc\x16\x9c\xe8\xe1\xf3\x52\x5e\x87\x8e\x81\xbd\xf6\x89\x81\x99\x5e\xfe\x6f\x49\x4d\x79\xdd\x5d\xac\xed\x35\x3b\xd6\x06\x22\xe7\xe4\xa0\x8c\x13\x6b\xfb\x6b\xa4\xa7\x98\x2f\x65\x64\x87\x4e\xc4\x38\x20\x61\xfd\xaf\x2c\x43\xc5\x7c\x42\x4f\x2d\x45\xc5\x46\x47\xdd\xe6\xa8\x98\xb1\x78\x92\x49\x2a\x66\x54\x7d\xb3\x54\xb0\x28\x79\x31\xa2\x52\x0d\x67\x0f\xb6\x92\x41\x2f\x19\xf4\xf1\x98\x76\xf5\x3e\x10\xcf\xae\xba\x71\x0e\xb6\x9a\x58\xf6\xa0\x27\x05\xb9\x07\x7d\x2a\x96\x5d\xc5\xb5\x0d\x9b\x12\x22\xa6\xad\x7d\x85\x4f\xb6\x4f\xb9\x16\x3f\xd1\x47\x7e\xcf\x16\xc7\x5e\x7c\xfc\x30\xce\xa6\xd9\x3a\xa3\xce\x46\xda\x2e\x66\x23\xfd\xdd\xb0\x33\x58\xf0\x3b\x27\x90\xa8\xad\xe4\x93\x1c\x21\x14\xc2\x4e\xb2\x15\x30\x48\x5e\x51\x5f\xec\x6c\xaf\x02\x0a\x35\x0d\xc9\x82\x12\x3b\xc7\x0b\x5d\x27\x46\x50\x5c\x9e\xff\x5d\x4e\xf5\xf9\xa6\x9a\x66\x9a\x5f\x5f\x35\xc8\xba\x45\x89\xb2\x56\x3d\xc9\x3a\x6c\xec\x39\xe8\x3d\xd9\x90\xf9\x80\xd4\x74\xf4\xd1\x5b\x7b\x3e\xf5\xf0\xb9\x2d\x18\x7d\xf5\x79\xa1\x3e\xfa\x55\x4d\x3e\x68\xd2\x2a\x4a\x04\xaf\x27\xb3\xf5\xee\x4e\xfd\x71\x6f\xd2\xd5\x5d\xb0\x38\xbb\xa6\x3d\x44\x4c\xcd\x2c\x41\x45\xc9\xca\x04\x97\xa6\x0c\x43\xa8\x18\x9b\x3a\xc8\xc7\x30\xe2\xde\xde\x2f\x74\x00\x4e\x6a\x0a\xda\x30\x74\x80\xf6\x26\x0d\xdb\x31\x74\x10\x23\xad\xa0\xb3\x00\x7c\xc1\x0e\xbe\x9a\x49\x17\xc9\xd6\xb3\xfd\x66\x8f\x8a\xcb\x2e\x6c\x4f\xc5\x0a\x76\x28\x61\x7a\x93\x7d\x53\xd2\xb9\x57\x99\xfc\x36\xa9\x4c\xde\xc0\x58\x34\xe0\xcc\x2a\x79\x64\x04\xb6\xfd\xa3\x63\xf6\x58\x1d\x10\x42\x29\xa6\xbd\xf0\x6b\xb0\x3a\xd8\x72\xb3\x36\x9d\x76\x30\x4a\x67\x55\x0d\x8a\x7b\x57\x55\xa7\x23\x88\x9e\x68\x30\x70\xbc\x24\x9e\x59\x06\x03\xb4\xf7\x6e\x68\xca\x08\x9f\x5e\x60\xa2\x0d\xd7\xd4\x02\xa7\x63\xe8\x2c\x97\x69\x40\xc8\x93\x31\x11\x49\x80\x44\xa6\x01\x9a\xc9\x14\x9a\x50\xe2\x65\x30\x99\x08\xc6\x27\x7b\xc9\xe9\x58\x9e\x4a\x86\x82\x89\x5e\xa2\x67\x27\x98\x4f\x3c\x4e\x66\x82\xe9\xb4\xa3\x66\x25\x98\x8e\x3a\xd7\x29\x63\x86\xe7\x4d\xa7\x28\xc3\x8c\x10\x98\x37\x7d\x68\xa3\x0f\x33\x53\x2f\xe8\x23\xc4\xcc\xb4\x63\x80\x1b\x6e\x74\x98\xe9\x43\x73\x55\xdb\xed\x44\x0b\x77\xa6\xcb\x81\xca\x20\xc1\x03\x3d\x9e\xad\xb5\x1c\x31\xd7\xc0\xc1\x65\xbd\x73\x25\x4e\x81\x4a\xe2\x2c\xab\x32\x82\x09\xc8\x0a\xc6\xb0\xc2\x72\xff\xcb\x8d\xf0\x8e\xe2\xac\x2e\x7f\x84\xfd\xe5\xb6\xd0\x87\x32\x5f\x6a\x69\x75\x51\x2f\x21\x17\xb5\xe5\x9b\xa2\x39\xab\xcd\xf0\x50\x17\x0d\x15\x4d\xba\x03\x9b\xbf\xe2\x63\x65\x4f\x54\x9e\x7d\x66\x02\x05\xee\x9a\xaf\xfc\x75\x12\x25\x3a\xa7\x51\xa0\x77\x36\x86\xe3\xce\x02\x34\xac\x0b\x8f\x07\xc4\xc4\x04\x94\x0a\x19\xed\xea\x73\xe6\xfa\x50\x1c\x8a\x0e\x5f\x63\x10\xa9\xe5\x03\xc1\x7b\x77\x96\xcb\xc2\xb9\x14\x04\x62\xb2\x20\x49\xef\x45\x0d\xeb\x1b\x28\x06\x82\x0e\x60\xdd\xa8\x5a\x85\x94\x0e\x1c\xd7\x22\x51\xd8\x77\xe9\x0a\x81\xec\x31\xe6\xe5\xb5\x19\xba\x43\xae\x84\x65\xa5\x68\x59\x13\x16\x78\xf1\xf3\x27\x08\x5b\xe6\x97\x49\x81\x7e\x99\x93\x42\x64\x59\x95\xa1\x10\x21\x2b\xd8\xf2\x2c\xfe\x4e\x98\x78\x84\x84\x89\x10\xf9\x0c\x96\xf3\x8e\xa6\x2c\x9a\xe1\xa1\x6a\x01\x15\x4d\xba\xb2\xc8\x5f\x31\x46\xde\xc3\x60\xeb\xe9\x4e\x29\xfd\x3b\x99\xc1\x37\x99\x81\x84\xe5\x93\x4f\x66\x70\x8e\xf7\xa3\x32\x2e\x86\x01\x61\x01\x1a\xd6\x80\xe0\x01\xa1\x57\xda\xff\x1d\xe9\xef\x24\xd2\x8f\x02\x0c\x1c\xe9\xf7\xd4\x70\x1f\x2f\x98\x4c\xb8\xc1\x11\xc3\xca\x34\x25\x1c\xb6\xfa\xd0\x2f\x08\x1c\x6a\x46\xe1\xc5\x0a\x3a\x53\x08\xe9\x31\xc3\xcf\x14\x52\x8a\x18\x88\xee\x8e\x96\x42\x06\xa7\x29\xd4\x14\x27\x4c\x4d\x21\xa7\xa7\x10\xb0\xa6\x90\x55\xe4\xd0\x75\x77\xa4\x15\x23\x9c\x4d\x21\xb1\x78\x81\x6d\x0a\x99\xc5\x0f\x71\x7b\x53\x98\x4f\xb0\xbb\x1f\x82\x32\x42\x87\xbd\x29\x54\xe1\x1e\x00\xf7\x26\x89\x78\xa1\x70\xca\x69\x47\x0c\x8a\x6b\xe0\x23\xd4\xac\xdb\x60\x84\xf6\x3d\xf2\xeb\xd7\xb1\x25\xcc\x55\xec\x62\x30\x16\xaf\x64\x3f\x54\x9f\xc6\xab\xd9\x95\x40\x6d\xa0\x82\x76\xdb\xc7\x76\xe7\x7a\x23\x16\xb7\x93\x11\xf5\x70\xbe\x3d\xdd\x42\xf7\x98\xa1\xda\x74\x3c\x96\xc8\xd1\x3d\x56\x8b\xdf\xe9\x4e\x7c\x2d\x51\xca\xdf\x99\x50\xc0\x22\x78\xc3\xed\x0f\x53\x08\xef\x1e\xbe\xc5\x8f\xce\x84\x77\xb4\xaa\x78\x4a\x30\x97\x42\x6d\x10\xca\xa1\x4b\xe4\x71\x7c\xd4\x9b\x16\xbf\x58\xbe\xda\x47\x27\x36\x08\xc4\xa4\xb1\xca\x79\x9d\xc0\xe1\xea\xf9\xd1\x1f\xd9\xcd\xe5\x7a\x99\xa5\xf7\x96\xb0\x70\x2f\xe9\x27\xdb\xc9\x0e\x14\x15\xd6\xd7\x18\xfd\x96\xcd\xd6\x65\x40\x78\xf4\xf3\xe8\xf4\x4a\x08\x08\x5f\x5e\x1d\x5c\x5c\x0d\x7b\xc9\xf1\xe9\xf9\xf5\xd5\xb0\x9f\xfc\x72\x7c\x7a\xf8\x66\xb8\x5d\xfe\xfd\x61\x74\xf6\xc3\x70\x87\x85\xae\x74\x4d\x5a\xb8\x01\x63\xc1\xf0\x16\xf9\x85\x81\xa1\xef\x71\xd2\xc2\xf4\x05\x19\xfa\x97\xfd\x65\x5b\x22\xdc\x6a\x9d\x2e\xdb\x48\xed\x65\xfe\x17\x1c\xf9\xd4\x41\x14\x2f\x29\x31\xd0\xc9\x6c\xf1\xd0\x2e\x7b\x9c\xff\xc5\x5d\xb6\x78\x49\x8d\xd7\x4e\x66\x37\x77\x6d\xac\x36\xff\x8b\xbb\xec\x2f\x93\xd9\x78\xfe\xfb\xe5\xe4\x7f\xd5\xb0\x6d\x81\xf2\x68\xfe\x49\xc6\x7a\x34\xff\x54\x42\x28\xe7\x60\x87\x4f\xf6\xd3\x31\x8c\xa6\x3f\x6a\xa0\x50\xfd\x80\x80\x1c\x5d\x67\x64\x2d\x16\x23\x56\xdb\xa3\x84\x6a\x2d\xf4\x4d\xd7\x1f\x6d\x17\x04\x8f\xf2\x95\xb7\x8f\x19\x81\xb4\x5c\x1c\x7a\x2c\xd2\x76\xf3\x70\x7c\xcb\x6b\xcd\x6c\x39\x0f\xdd\x48\x1f\xa4\x85\x7b\x4d\x88\xa7\x16\x9c\xc3\xd2\x92\xbe\x9a\x78\xaf\xe1\x52\x71\x00\xe2\xbe\xe4\x8c\xc3\x3f\x02\x0b\x89\x97\x18\x06\x81\x0e\x2f\xac\x29\x40\x5e\x9f\x1e\x72\x6d\x65\x16\x27\x67\xd3\x76\x4b\x89\xd1\xc9\x56\xa2\x71\x22\x93\xb6\xab\x46\x0d\x89\x36\xf2\x8e\xd3\x51\x1d\xbc\x2a\x9c\xcf\xad\x45\xa1\xa9\xc9\x7a\x75\x37\x1c\xac\x27\xdb\x41\x68\x0e\xb3\x3e\x4b\x81\x2d\x17\xd1\x54\x61\xa6\x1a\x5c\xae\x72\x95\x2e\x73\x0b\xae\xd0\x86\xaf\x0e\x2e\x5e\x8f\x44\x75\xf8\x68\x74\x7e\x72\xf6\xeb\xdb\x5c\x47\x3e\x3e\x2a\xd4\xe2\xcb\xab\x83\xd3\xc3\x51\xfe\x17\x4f\x11\x2e\x81\xc9\x6e\xd2\x16\x72\x54\x7d\x58\xdf\xad\xd0\x5a\xb1\xfa\x71\x81\x74\x63\x4d\xf7\xe4\x6b\xc8\xf2\x12\xb6\xfc\xc8\x71\xb6\x98\xce\x3f\xdf\x67\xb3\xf5\xf1\x98\xd8\x0d\x69\x52\xa9\x80\x84\x17\x76\x8a\x17\xd2\xe5\x6d\xe9\xfe\xcc\x2f\x5f\x51\xcf\x6f\xf4\x08\x54\x66\x6c\xd2\xdf\xdc\xfc\xae\xe4\x88\xc3\x79\xb2\x58\x7f\x6e\xf3\x2d\xd7\x9f\xb9\x5a\xf1\xf9\xd5\xaf\x80\x6a\xeb\x98\x9a\x48\xd6\x84\xa2\x29\xb8\x95\xee\xe6\x4a\x57\x41\x95\x5d\x74\xc9\x98\x2a\xaf\x9c\x24\x56\x37\x66\x6a\x49\xda\xa0\x0b\x99\xf2\xca\x8e\x1b\x92\x36\xa8\xa9\xda\x0b\xe9\x78\x7c\xb0\xbc\x5d\xf9\x6b\x88\xe7\x57\xbf\xfa\xa8\x86\x39\x71\x13\x12\x15\xd7\x9f\xa3\x28\x6c\x2a\xe7\xeb\x46\x6d\x03\xb5\x99\x60\xca\x1b\x08\x85\xa4\xc2\x19\x22\x8c\x59\xd2\x13\xd4\x0c\xb1\xdf\x0a\xfc\xd6\x8e\xfe\xd6\x8e\xd8\xa5\xe5\xa0\x62\xaf\xa0\xc7\xb8\x7a\xb1\xaf\x37\xf1\xa9\xb9\xaa\x9f\xee\x95\xd3\x62\x40\x2d\x49\xd2\x16\xc4\x0b\x1d\x27\xb8\x4a\xa1\x6e\x0b\x1a\x50\xba\x86\xe4\x98\xf5\x55\x5b\x60\x4f\x33\xfe\x05\x85\xc7\x96\xbc\x95\x71\x3e\x01\x8f\xef\xe3\xdf\x71\x97\xae\x90\xaf\xf0\xa8\x48\x22\xd1\x63\x2b\x2d\x5c\x6b\xa4\x03\x50\xa3\x09\x09\x22\x2d\xee\x3c\x0d\x5a\x24\x6e\x63\x9c\x0f\x08\x44\x89\xe0\x37\x78\x4c\xff\x20\xd1\x61\xcd\xf8\xa9\x21\x37\x6a\xa2\x0b\x89\xfe\x74\xe0\x16\xea\x93\x33\x8a\xfe\xf3\x1f\x6e\xd8\x47\x85\x5d\x69\x5f\xac\x40\x99\xd2\x8b\xc1\x49\xc3\x55\x53\xde\xec\x9b\xdf\xe4\xbb\xd5\x82\xd9\xf7\x93\x4b\x29\x1d\x30\xcb\xcc\xac\x8a\x82\xa3\x87\x48\x44\x21\x61\x49\x4e\x34\x43\x9a\x99\x11\x0f\xc4\xbc\x43\x4d\x6a\xeb\xfa\x33\x21\xbb\x8c\x74\xe7\xcd\x80\xf0\xa9\x4e\xe1\x9c\x0e\xa5\x77\x2d\xb8\xd3\x41\x8b\x4c\xf1\x9d\x0e\xf2\x12\xe6\xb4\xa8\x71\xba\x4e\x87\x85\x65\x77\x94\xae\xd3\x0f\xe9\xea\xfb\xdd\x9d\x8d\x20\x99\x4b\x64\x97\x7f\x3c\xc3\xbc\x00\xe8\x60\xd7\xa0\xb1\x09\xbe\x61\x8e\x2e\x19\x25\x73\xa9\x6a\x94\xfc\x79\x9d\xad\x1a\x83\x3c\x5d\xa7\xee\x19\x44\x38\xf9\x77\x63\x79\x82\x2e\xed\x60\x96\x27\x08\x05\xcc\x20\xaa\x2e\xd3\xf5\x9e\xd1\x0e\x2c\x0f\x04\xa9\xf9\xc1\xb7\xba\x82\xd3\x95\x15\x66\x01\x5f\xf2\x0c\x10\x89\x8f\xf9\xf7\x1e\x14\xac\xa5\xee\x90\x54\x90\xe1\x66\x28\x04\xae\xf7\x28\xf0\xaf\xf7\x82\x82\x5f\xa9\xdb\x0f\xb7\x0d\xcd\x71\xd0\x92\x95\xc2\x89\xa1\xdc\xe6\x0f\x2e\x84\x14\x8f\x2d\x5f\x04\x89\x0b\xd8\xbc\xde\xd9\x2c\xfd\x38\x25\x8f\x5e\xe8\x15\xa3\x17\xd6\xd9\xf2\x1e\x75\x78\xf7\x0b\x87\xf7\xef\x4d\x20\x4a\xcc\xe9\xa8\x7e\x0a\x95\xd8\x11\xc7\x93\x6d\xf4\x29\xc6\x13\x97\xe7\x57\xbf\x3a\xb0\x62\xc4\xf1\xc9\x17\x95\xc8\x82\xf1\x3d\xd8\xe2\x60\x81\x51\x41\x9c\x14\x47\xf4\x2a\x5b\x5f\x65\xcb\xfb\xaf\x35\x55\xa1\xbe\x10\x31\xbc\xd3\x32\x6f\xea\x46\x43\x00\x7c\xa0\xc1\xf4\x03\x00\x06\xa5\xb7\x7b\x45\x5b\x6a\x6f\x77\xa9\xeb\x77\x41\x52\x40\xe1\xb0\xc1\x87\xac\x70\xb7\xe8\x61\x7c\x0f\x52\x68\x36\xc1\xab\xf1\x77\x0f\x69\xfc\x8d\x13\xa4\x86\x05\xb3\x03\x38\x92\x79\x4c\xd8\x86\xfc\x9c\xdd\x14\xb9\x3e\x5b\x91\xd3\xbe\x5e\x06\xce\x2b\x55\x42\x0a\xd3\x08\x9f\xde\x92\x58\x54\xa7\x8a\xc0\x56\x99\xbe\x15\x6d\xbf\x4c\x18\xc7\x73\xb0\xc8\xe0\xcb\x42\x3e\x68\xcb\x9a\x4a\xbe\x96\x0f\xb8\x38\x5b\x64\xb0\x77\xe9\x0a\x04\xda\xa5\xc7\x45\xe0\x49\xc1\x35\x5e\xb3\x82\xc7\x57\x7c\x0d\xeb\x98\x1d\x30\xcb\xf9\xef\x2b\x42\xae\xc7\xd6\x66\x72\x33\x9f\xe2\x4f\xf6\xf3\x27\x7f\x9f\x8c\xd7\xf8\xb0\xab\xed\xfc\xd1\xbb\x6c\x72\x7b\xb7\xe6\x0f\xc6\x0a\xe6\x14\x82\xf4\x94\x78\xaa\x6e\x0b\xd5\x41\xb5\xa0\xa9\x56\x7c\xc5\x97\xb6\x6e\x7c\xfd\xf7\x78\xb6\xde\xee\xd7\x0a\xf0\xc5\xfc\x77\x35\xb9\xa2\x55\x7f\xab\x27\xeb\x7e\xa2\x53\x53\x1a\x86\xe1\xc9\x5f\x72\xfa\xb4\x66\x83\x48\x8f\xbe\x29\xe8\x33\x8a\x56\x6a\x64\x23\xdd\x28\xa7\xb8\x56\x15\x4c\x47\xc5\x41\x41\x29\x14\xe2\xc8\x97\x82\x12\x04\x8d\xb2\x3c\xa7\x42\x5b\x15\x1f\x2b\xc8\x40\x7b\xac\xaf\x3e\x56\xd2\x80\xf6\xdc\xb6\xfa\x5c\x45\x00\xda\x83\xc8\xa4\x19\xe2\x71\x57\x9f\xe5\xea\x42\x63\x8a\x54\x0b\xc5\x29\x28\x30\xda\x6d\x17\x7a\xe7\x37\x01\x36\x21\x3f\x34\x57\xf5\x33\xd0\x26\xc8\x28\x30\x36\x81\xad\x81\xda\x36\xa1\x20\x49\xb7\x5d\xd8\x0e\xb5\x0b\x0a\x0e\x8c\x6d\x60\xeb\x95\xb6\x6d\x28\x6f\x5c\x94\x8e\xf3\xf4\x7d\x50\x91\x60\xf7\xa0\x67\xe0\x20\x7d\x7d\x11\x63\x8c\x6a\x88\x14\x10\xb8\x99\x2f\xd2\xe6\x28\x38\xf2\x9a\xd4\xb0\x32\x87\x3c\x53\x4d\x14\xb3\xc5\xb6\xb7\xb5\xc5\x52\x56\x59\xb8\x18\x2b\x92\xa1\x62\x03\x13\x34\x15\x49\x49\x42\x5a\x3c\xc4\x25\x9a\xb2\xde\x8a\x99\x29\xa2\xe4\x28\x49\x38\xf2\x88\x06\x68\x6c\x14\x9b\x68\x6c\x7b\x5b\x13\x4d\x59\x25\xe3\x4d\x34\x36\x30\x1e\x3d\x6a\x10\xa2\x29\x2a\x6d\x9e\xa8\xcb\x43\x75\x77\xdc\xe0\x32\xc9\x42\x39\xdb\x8f\x47\x39\xb6\x0d\x16\x1c\x24\x37\x77\xfe\x94\x63\x03\x83\xbb\x44\xbc\xd8\xcd\x68\xfe\xc9\x81\x78\xaa\xba\x43\x66\xbe\x9b\xce\x48\x24\xe8\x3c\x8a\x60\x25\x0c\x46\xe0\x25\xe6\x8d\x93\xd8\xc9\x68\xfe\x29\x10\x47\x31\x03\x0b\x94\x8c\x58\x35\x82\x50\x0a\xd0\xb6\x93\x5e\x02\xf6\xe7\x37\x2c\x01\xb4\x62\x38\x3b\x1f\x9d\x0e\xb7\x93\xb3\xeb\xab\xf3\xeb\xab\x61\x2f\x19\xfd\xdf\xe3\xab\x21\xd4\x8e\xdf\xb0\xbc\xec\xf1\x8f\xdd\x7e\xc1\xb0\x2d\xe1\x2a\xcd\xc2\xb4\xc1\x32\xac\xe8\xe8\x6e\x24\x34\xbf\x4a\x96\xfb\x5f\xe6\x8b\xac\x6d\x6c\x7f\xb6\xc8\x90\x8e\xf6\x06\x08\xf9\x4b\x4a\x37\x83\xf9\xc3\x5a\xec\xc0\x70\x56\xfc\xc9\x5f\xb8\x78\x4d\x59\x3a\xfb\x63\xd2\x2e\x3c\xfa\x63\xc2\x5f\x36\x7f\x29\x6e\x27\x85\xd8\xad\xb8\x74\x58\x2c\x57\x93\x7f\x03\x2e\xde\x6a\x31\x1c\x93\xdb\xdc\x6e\x0a\x02\xb1\xba\x75\x53\x10\xa9\x1d\x0f\x9c\x17\x37\x49\x6f\x97\xce\x46\xb7\xb8\x02\x6e\xe1\x7e\xf9\x16\x11\x50\x2e\x6f\xa9\x47\x07\x08\xe1\x82\x79\xa1\x5c\xdc\x50\x1c\xe1\xe2\xf6\x87\x75\x00\x77\xd2\xf7\xcc\x00\x30\x9e\xb3\x97\xdf\xed\xcc\xdc\xe8\xa0\x11\x0d\xae\x69\x03\xe2\xfd\x21\x16\xfe\x0b\x72\xc3\xb5\xbb\x82\x7c\x09\x88\x70\x1b\xb1\xe2\xda\x5e\x41\xa4\x63\x7b\x76\x44\x40\xad\xa3\xd8\xd5\xf0\xaa\x87\x2a\xda\x1d\xf4\x0f\x69\x09\x73\xa4\x33\x74\xfc\x10\xe4\xd4\xf1\x64\x70\x29\x5b\x5c\x77\x39\xac\x34\xc6\x96\x74\x11\xc9\xba\x2c\x4e\xbc\xd2\xc4\xcd\xa4\xdb\x11\xc3\x85\xd8\x50\x38\xae\x0b\x41\x51\x8e\x20\x28\x3b\x28\x18\x4f\x78\x76\xa0\x6a\xce\x0e\xec\x40\x5a\xc2\xd6\x90\x77\x4c\x99\x60\x15\x3e\xef\x00\xd4\x3e\x22\xf2\x8d\x1c\xa0\x0b\x0d\x63\x6a\x92\x03\xdf\xc0\x96\x8c\x58\x8c\x22\x25\x17\x1c\xce\xc7\x1e\xa3\x47\xf1\x1b\xd1\x11\x97\x81\x14\x80\x70\x5c\x06\x82\x62\xba\x62\xdf\xc8\x51\xf9\x71\x66\x0e\xde\x7b\x6d\x70\xb5\x72\xf4\xf8\xb9\xed\x78\x15\xe8\xdc\xd0\x79\x50\xdd\xac\xd4\x3d\x23\x68\x67\x9a\x7f\xc4\x45\x3f\x93\x17\xb1\xb0\xe4\xbb\x74\x36\xcb\xa6\xb4\x74\xb4\x6e\x2a\x07\x11\xeb\x36\xa6\x9a\x57\x80\x74\x52\x3a\x50\x53\xdc\x45\xd5\x43\x17\x8d\x9f\x18\x36\x9a\x3d\xdc\x37\xac\xbb\xa4\x15\x6b\x6a\x58\x55\x74\x98\x88\x45\x87\x11\x4c\x78\xed\xd6\x75\xa5\x58\x82\x96\x66\x40\xd5\x12\x84\x43\x4d\xdd\xaa\x0f\x4b\x10\x00\xc5\x59\x4a\xa5\x06\x94\x9a\xc5\x3e\x5b\x60\x54\x1f\x50\x61\xb0\xff\xe5\xfa\xf4\xa7\xd3\xb3\x5f\x4e\x8b\x1e\xcf\x47\x67\x45\x44\xe1\xf2\xea\x68\x74\x71\xc1\x8d\x29\x68\x27\xdf\x7e\x67\x57\xe2\xc8\x40\x7c\x3a\x0a\xa0\x4c\xca\x4f\xc1\xad\x8e\x00\xd8\x05\xf7\xa2\x50\x4e\x2d\x01\x82\x40\x17\x65\xa1\x38\x0a\x91\x0b\x43\x01\x3a\xf0\x28\x0d\x65\x24\xb4\x99\xe2\x6b\xb9\x35\x1a\x29\xad\x40\xb0\x77\xe9\x01\x6c\x53\xdb\x7f\x19\xc7\x28\x19\x05\xe6\x28\xa0\xc7\xd6\x16\x11\x64\xcb\xe6\xd6\xd1\xe3\xc2\x7d\xca\x8b\x1c\x6b\x70\xee\xd2\x95\x05\x4a\xa0\x8c\x02\x23\xd1\x14\x24\x1c\x99\x6c\xca\x28\x07\x39\xd1\xca\x48\x38\x0a\x9e\x51\x72\xdf\x22\x91\x8e\x6d\x8b\x1b\xe2\x29\xfd\xe0\x01\xc8\xc7\x06\x29\x50\x06\x9c\x31\xaa\xff\xc7\x24\x32\xf9\x14\xf1\x26\x72\xc2\x95\x89\x78\x64\x1c\xa3\x64\xc0\xc5\x21\x1d\xcb\xe6\xd6\x84\x53\x04\x32\xfc\xc9\xc6\x02\x05\xcf\x80\x73\xb6\xa2\x67\xeb\x65\xf9\x9f\xe5\x40\x12\x3d\x8d\xc6\xcd\x86\xb6\x2c\xcb\xb1\xa0\x91\x25\x2c\xcd\x74\xa2\xf6\xef\x2d\xdb\x19\x90\x06\xff\x17\xa5\x5d\xe3\xc9\x2a\xfd\x38\xcd\xf2\x53\xa7\x36\x57\xd8\x29\x2a\x69\x43\x98\xf0\x96\xfd\x8b\x67\xc0\x9b\x01\xe2\xa6\x1d\x15\x51\x86\xf1\xce\x5f\xf2\x09\x75\xe5\xb5\xf5\x36\xb0\x76\xe5\x6d\x6b\xbc\x4a\xf7\x80\x69\x38\xbc\x52\xe1\x55\x36\x58\xa8\x5c\x03\x2d\x95\x86\xf0\x10\xa0\x1c\x25\x8a\x7f\xc0\x02\x35\xb0\x77\x80\x07\x85\xd2\x81\x40\xa2\x03\x64\x3c\x79\xd2\xf6\xe9\x6f\x28\x01\x6b\x4c\x20\xfa\x20\xaa\x11\xe8\xb2\x03\x62\x5b\x72\x40\x08\xa4\xa0\x36\x45\xc0\xca\xbd\xd0\x73\xef\xa6\x75\x2d\x81\xfc\x78\xad\x6b\xdd\x06\x84\x92\xb6\xc3\xb7\x73\x2a\xea\x2c\xa0\x6c\x06\xa3\x73\xaa\x63\x03\x02\xca\x56\xb8\x4f\x8a\xc5\x0a\xbf\x28\x7b\xc0\x98\x14\xab\xf8\x8b\xb0\x9a\x2f\xd2\xad\x68\x6f\x9d\x57\x17\x8e\x1d\xac\x0b\x07\xe9\x6e\x98\x90\x61\x36\xe3\xd8\xf1\x8b\xec\x68\x68\x06\xca\xf8\xb5\xad\xeb\xa5\x95\x12\xb3\x7f\xcb\xe1\xb7\x4d\x3e\x6d\xf9\x36\x92\x51\xab\xc0\x8a\x90\x4a\x6b\xfb\x9a\x0e\x95\x44\x6a\x5a\x2d\x19\x55\x1f\x35\x31\xda\x78\xdb\xbe\xfb\x78\x5b\x15\x4b\x46\x52\xad\x4a\x40\x78\xa6\x67\x45\x97\xee\x09\x01\xf8\xdd\xed\x46\xfd\x8b\x93\xee\xc9\x04\x63\xcc\x09\x90\x33\x20\x05\x46\xc0\xca\x81\x54\x8f\xd6\xa5\x35\x14\x7e\x56\x0d\x82\x21\xfd\x4a\x0a\x58\xc4\xa1\x44\x21\x28\x0d\xc9\x50\x43\xfd\x09\xd0\x85\xc9\xaf\x80\x7f\xa8\x3a\x66\x82\x87\x08\x87\x78\x97\xae\xac\xf0\x7c\x6a\x25\x55\x92\xd2\x67\xd9\x27\xfd\x64\xe0\x3e\xcf\x5e\x03\x10\x58\x9e\xfb\xc8\x71\xbc\x45\xe6\x1f\xd9\x0d\x3a\xb3\x7e\x54\x3d\x04\x8d\xaa\xd7\x20\xe7\x2f\x89\x33\xeb\x93\x6c\xf6\xdb\xcf\xe9\x12\x9f\x90\x3f\x6a\x9f\xc3\x67\xe3\xff\x9c\x2e\x25\x20\x8f\x30\x8c\x3f\xf9\x34\x99\x66\x87\x77\xe9\xec\x36\xbb\x9c\xdc\xce\x52\x3c\xcb\x65\xb7\xf0\xb7\x3d\x2c\xa7\x97\xd9\xf2\xb7\xc9\x4d\xdb\x3e\xf4\xba\xf9\x89\xa9\x42\x5d\x5f\x9c\x54\x2f\x2a\xd5\x4e\xad\xe3\xb0\x01\xd2\x5a\x89\x4c\x20\x82\x79\x39\xfb\x34\x8f\xd0\xa6\x14\x95\xeb\xb1\xd4\x35\xb6\x20\x0e\xa9\x9e\x3d\xcd\x39\xb2\xa6\xeb\xec\xa1\xa2\x15\xdc\x00\xd1\xd3\xd2\xf1\x58\x76\xd6\xd1\x0a\x88\x1a\x46\x40\x2f\x19\x6a\x79\x07\x01\xa5\x92\x1d\x29\x58\x0d\x68\x58\xd5\x53\xd8\x79\x88\x55\x3c\x06\xc7\x4d\xe2\x5f\x0a\x86\xbb\x16\x77\xeb\x0f\x0a\xb7\x62\xb7\x95\xb5\xf3\x1e\x46\xcd\x16\xc0\xc0\x70\x6d\x5e\x60\x93\x96\x21\xb8\x8e\x3c\xcd\xe3\x03\x14\xe6\x88\x7f\x84\xc0\x86\xc3\x7b\xa7\x3b\xb6\x4b\x22\xdb\x23\x5e\xad\x70\x1b\xdd\x05\x18\x9b\x46\xab\x0a\x33\xf2\x34\x6b\x45\x58\xdb\x8b\x57\x50\x67\x08\x38\x80\xf6\x51\xcb\xb8\x50\xb8\x06\xdd\x86\x00\x7d\x80\x43\xaf\xb8\x13\x8a\x80\xc6\x68\x00\x9f\xfe\xae\xde\x6c\x58\xd1\x85\x58\x55\x83\x00\x77\x21\x56\xf0\x29\x4a\x92\x69\x68\xb0\x2b\x6b\x08\x60\xd2\x96\xa4\x67\x9a\x31\x1c\xcc\x88\x29\x20\x84\xb6\x64\x24\x9b\xc0\xc5\x9c\x91\x16\xb0\xd9\x34\x93\xd9\x38\xfb\x83\x96\x6a\xfe\x5f\x37\xb3\x96\xa6\x77\xc5\xd2\xa3\x4b\x2d\xd1\x8d\x2c\x42\x6a\xd4\xd8\x82\x9d\x74\x3a\xdd\xdd\xa9\x83\xe2\xc7\x39\x41\xfe\x3d\x72\xd6\x8d\xf3\x74\xa2\xbf\x40\xa2\x3c\x94\x12\x03\xc1\xa0\xa6\xdb\x97\x94\x24\x57\x5b\xed\xee\xc8\x51\xf4\xaf\x7a\x50\x2c\x42\x0c\xf5\x16\xc4\xc9\xc3\x47\x29\x51\x05\xce\xae\x0a\xf3\xf9\xf0\x68\x73\x20\xf1\xcf\x8e\x35\x05\x12\x81\x1c\x7d\x06\x24\x02\x3f\xf4\x04\x48\xfc\x8c\x1f\x7f\xfe\x23\x4e\x0c\x71\xa6\x3f\x52\x8e\x22\xc8\xec\x47\x04\xd0\x63\x4c\x7e\x04\xcc\x95\xd0\x1a\xb8\xd9\x51\xcc\xd6\xc3\x0d\xcb\xd8\x6a\xf1\x67\xeb\xe5\x7c\x7a\x30\x1e\x2f\x89\x79\xab\xeb\xf9\xbf\xb3\x19\x31\x65\x75\x9a\x7e\xcc\x08\xa3\x0b\xb6\x8b\x7c\xa2\x08\xc9\xa7\xa0\xdb\x2a\x9a\x92\xdd\x02\xe5\x2b\x3a\x34\x3f\x1b\x5b\xe1\xa6\x2d\xdb\x75\x32\xea\x61\x4b\x7c\xd4\x39\x5b\x39\xf1\x59\xd3\x50\xe5\x67\x4f\x0a\xe2\x8b\xa1\x01\x1b\xef\x7f\x27\x7a\x30\xee\x28\x09\xa5\x0d\xe3\x90\x28\xde\x3d\xf1\x84\xa9\x59\xa6\xe5\x19\x63\x09\xa6\xf5\xd3\xd5\x29\x03\x8f\x6f\xf3\x12\x48\xcd\xa7\x2b\x7f\x4b\x37\x39\xa4\x36\x3a\x33\x63\x12\x35\x8d\xd4\xba\x29\xc5\x61\x75\x93\x45\x6a\xdd\x0e\x05\x87\xa8\x49\xa4\xd6\x8d\x28\xe9\xd0\x35\x95\x34\xd0\x4e\xa8\x48\xf0\xb6\x62\x3b\x68\xfa\xa4\xea\x56\x0d\xad\x29\xd9\xa3\xdd\x6c\x6d\xc9\xb2\x94\x3d\xa7\xf2\x7e\x31\x9f\x89\x21\xfb\xc3\xfa\x17\xd8\xc9\xd8\x3c\xa6\x24\x01\x94\x6a\xd2\xdb\x74\xd1\x2c\x78\x52\xff\xb2\xb1\xb9\xf9\x9d\xf4\x71\x95\x06\x3d\x7c\xf7\x3e\x46\x26\x26\x1a\x26\x8b\xa6\x34\xc9\x80\xf9\x92\x91\x1e\xdf\x63\x2b\x4f\xf4\xa5\x1f\x2d\x1d\xa0\xa1\x2c\x7a\x0a\x40\x4b\x8c\x94\xf4\xcc\x9a\xbe\x75\x35\x2d\x53\xe8\x55\xf3\x6b\x6e\x28\xee\x81\x17\x6f\xd3\x85\x0e\x33\xff\xc7\x44\x26\x23\x81\x65\xb4\xda\x1d\xe9\x99\xdc\x16\x4c\x9e\x3f\x2f\xd8\xea\x66\x78\xfd\xcf\xca\xd9\x3a\xd1\x01\x69\xe1\xaa\x50\x7a\x20\x0d\x1a\xbd\xcd\xa8\xcc\x2a\x39\x5d\x3f\x5b\x82\x45\x43\x9b\x2d\x39\x3e\xdb\xca\xc1\xcc\x8b\x1f\x0b\xfd\x70\x63\x33\xd7\x10\xb5\x0f\xd9\xe8\x0b\xe4\x57\x2e\x27\x9c\xab\xa0\x4e\x92\x1e\xf2\xd9\x61\x45\xe7\xac\xbe\x39\xa0\xd7\xa9\x59\x13\x29\xfb\x66\x50\xbd\x09\x4f\xb2\xe7\x89\xab\x8a\x5a\xf1\xa8\x52\x62\xed\x3b\xd6\x66\xc5\xd6\x34\xe8\xe0\x8f\xb2\x82\x2f\xf2\x63\xed\xc0\x7d\x2a\xf0\x39\x24\xd3\xd0\x3e\x7c\x14\xb7\xd9\xfa\x6d\xba\x50\xbc\xb1\x39\x8e\x01\xcf\xc2\x80\x8a\x7c\x16\xb2\xe4\x28\x5f\xca\x25\xc8\xdd\x64\xe5\x96\x4c\x23\x24\x94\x50\xdd\xf0\x1e\x29\xe4\x85\x6f\x92\x79\x74\xd2\xb5\xd1\x71\xb5\xdc\x1a\x3b\xb2\xdc\xdb\x23\x79\xef\x95\x6a\x2b\xdc\x7b\x6f\x84\xcf\xdd\x30\x9e\xf6\xa5\xd0\x14\x70\xbc\x6d\x53\x84\x2a\xa5\x88\xe9\xee\x97\xc9\xa8\x4d\x0b\x8a\x40\x49\x6d\x4e\x24\x2f\xf4\x23\x53\x8f\x09\x45\x36\x01\x71\x0d\x60\x99\x80\x4a\x14\x3c\x69\xa8\x0f\xd1\x90\x90\x3e\xea\x45\x37\xe0\x79\x36\xa4\x23\x24\x83\xf9\x50\x8f\x96\xdc\x15\x8d\x86\xaa\x0c\xd6\x81\x3b\x19\x01\xb8\xb2\x89\x69\xe0\x43\x4c\x12\x22\x9e\x24\x35\xc0\x49\xaa\xce\xfd\xf5\xa1\x2a\xca\x39\xcb\xb5\x38\x62\xc2\x9f\x0f\x85\xa9\xd9\x7b\x6e\x9e\xa7\x5d\xae\xe7\x49\xa2\x1c\x3b\x0e\x3c\xc7\xd3\xae\x33\xd5\x48\x79\x88\x11\x8b\xc5\xc4\x24\x6a\x5e\x7c\x56\xda\x30\x13\xae\xd1\x22\xb4\x0a\xa9\x82\xfb\x54\xd3\xa8\x90\xd4\xe9\xa0\x1a\x4b\xba\x30\x08\xcf\xa7\x9f\x19\x48\x0d\xad\x42\x1a\x93\x1a\x94\xac\x74\x78\x6c\x17\x48\x11\x26\x7c\xc9\x14\x81\xcd\x3b\x45\x28\x02\xdc\xab\x9a\x22\x84\x44\x5b\x5f\x8a\x00\xe1\xf9\x0c\x46\x6b\xa0\x9e\xcc\x6f\xbf\x4f\xd7\x37\x77\x91\x52\x6f\x9b\xe5\x83\xf9\xb2\x9b\x15\x9d\xdc\xd7\xda\xdb\xe6\x18\x3f\xa3\xd3\x54\x19\xe2\x9f\x4e\x66\x84\xe2\xbc\x93\xfa\x29\xa8\x28\xaf\x41\xb1\xc0\x5a\x2c\xcb\x0b\x1b\xef\x6f\xe0\x74\xe0\xb1\xae\x61\x31\x5c\x77\x76\xf4\x5c\xfc\xd2\x94\xd5\xba\x8e\xe5\x5b\xbb\x44\xa1\xf5\x61\x32\x89\xd0\xd3\x62\x15\xd2\xc2\xab\xb1\x0a\x82\x0d\x9a\x0f\x60\x60\x08\x71\x5d\xc0\x0d\xc0\x58\x5e\x5f\x0c\x00\x25\xe8\x4f\x6b\x13\x25\xc5\xfc\x05\x5e\xe2\x5b\x82\xa3\x90\x85\x57\x92\xab\xe1\x7c\x03\xb4\x4f\xa2\xe7\x01\x18\xe9\x2b\x40\xe7\x24\xb2\xd3\xc8\xbc\x01\xcd\x69\x45\xb0\x6a\x15\x6e\x40\x74\x8f\x98\x37\xca\x80\x67\x3c\xf7\x88\x01\x85\x9a\xe7\xc4\x74\x8f\xa8\xdc\xd3\x19\xd9\xd2\x63\x0b\x9c\x6c\xad\x11\xb6\x77\x95\x6a\xbf\x8e\xfe\xc8\x6e\x4c\x63\x7d\xf7\xdf\x15\xbd\x1d\xb6\x93\x1d\x70\x68\xad\x71\x1d\x6c\x6e\x6d\x3d\xae\xb6\x1e\x5f\xbb\x9d\x8c\x2e\x2e\xce\x2e\x86\x3b\x6c\x8c\x65\xb7\x60\x94\x11\xb6\xe8\x4e\x79\x4e\xb1\x45\xbe\xcb\x53\x89\x15\x17\x75\xd2\x63\x4d\x0b\xd8\x92\x2f\xb8\xe3\x6c\x8d\x40\x0c\x13\x6d\xb9\x63\x67\xcd\x44\xa9\x4d\x9e\x75\x9a\x94\x6b\xc6\xd9\x38\x2c\x77\xb9\x9c\x2f\x5b\xb4\xf3\xbf\x9c\xf0\xce\x5f\x8c\xd9\xe7\x4b\x04\xd6\x81\x86\x2e\x80\x63\x28\x57\x20\x92\x2e\x7a\x3a\x71\xc1\x27\xd0\x44\x42\xbd\x1c\x2e\x9d\x24\xb4\x0b\xe6\x34\x44\x17\x9f\x47\x6b\xbd\x79\x2e\xdd\x01\xb4\xdb\xcb\x9d\x4a\xcb\x6d\xca\xa0\x5f\x69\x5f\xb4\xfd\xe6\xff\x32\x5a\x32\x68\x1c\xc3\x7b\xc3\x0b\xb6\x43\xd8\xf1\x82\xaf\x85\x34\xdc\xcc\x72\x30\xae\xed\x26\xc2\x8c\x65\xbe\x11\x60\xd0\x53\x75\x6c\x13\x81\x89\x5d\x18\x34\x7e\x10\x75\x38\xaf\xfd\x46\x7b\xcf\x22\x26\xf6\x32\x30\xdc\x49\xea\x17\x37\x72\xdb\xad\x8f\x81\x7e\xa7\x22\xcc\x24\xb6\x9f\x6b\x14\x45\x92\x3d\x99\x18\x5f\x25\x90\x77\x94\xd6\xbe\xa0\x1f\x6a\x7e\x29\x43\xbe\x46\x55\xa4\x88\xd3\x8f\x9d\xd4\x01\x37\x95\x2a\xc6\x0c\xe4\x68\x2e\x50\xa9\xed\x40\x62\x6a\x3b\x10\x58\xac\x75\x31\x76\x99\xcd\xeb\x83\x0a\x38\xc6\xf0\x65\x5f\x3f\x25\xa1\xc6\x1f\x1b\x90\x47\x39\xa4\x4e\x9d\x8b\x20\xb1\x74\xe9\x64\xc4\x36\xc4\xb9\x9f\x40\x9f\xda\x4f\x00\xdb\x0a\xd7\xa6\x02\xfd\x40\x15\x35\x9a\x4e\x13\x45\xe4\xb2\xa7\x7f\xe3\xab\xd8\x8a\x8e\xbb\x1c\x00\xce\xb0\xf5\xe2\x0a\x50\xda\x18\x70\x27\xd3\xd4\x4d\x80\xfe\x97\x0c\x03\xa7\x5c\x93\xee\xc4\x5f\x8c\x91\xe0\x6c\x40\xc6\x0e\xe0\xfe\x53\xc1\x29\x3b\x1d\x75\x30\x38\xed\xa8\x1f\x6d\x36\x38\x64\x0b\xc6\xb1\x92\xf8\x13\xc2\x29\xeb\x58\xd8\xf6\x13\x19\x12\xce\xf2\x82\x45\xb6\x89\x88\xa3\xc2\x1d\x1d\x77\x8e\x76\xd1\xdf\x03\xc3\xa9\x57\xb1\x43\xab\x28\xca\xd8\x70\x07\x50\xd4\x56\x66\x9d\x4d\x0e\x87\xbe\xc1\x77\x78\x38\x8d\x0a\x62\xcf\x0f\xa7\xd2\x62\xdc\x11\xe2\xe4\xbd\x88\x38\x45\x9c\x85\x43\xb4\x41\xe2\x5c\x2c\x62\xcc\x12\x27\xd3\x84\xf7\x38\xf1\xc0\xe6\x67\xe1\x5f\x8e\x63\x7f\xaa\x51\x68\x47\x03\x54\x5a\xc6\x96\x47\x60\x8b\x9c\xcf\x5e\x5c\xae\xd3\xf5\xc3\xaa\xab\x68\xb8\x25\x06\x16\xd9\x12\xcd\x81\xba\xda\x37\x58\xd0\xce\xd1\x16\xc5\x96\x8d\x62\x8c\xe6\x7b\x57\x9f\xb8\x16\xf3\x6e\x48\x81\x1e\xa1\x0c\x6b\xc2\x2a\x57\xad\x43\x1b\x16\x0a\x22\x85\x35\x62\x21\x48\x84\x39\x56\xd6\xd0\x59\x2f\x11\x0e\xd0\x2b\x09\x14\x3a\x92\x1a\x03\x7e\xb1\x49\x8d\x1b\xb5\x7c\x18\x26\x0c\x15\x8b\xf0\xc5\xf7\x10\xfc\xb2\xc0\xd2\xb2\x0f\x4d\x69\x65\x71\x52\x9c\x1a\x12\x08\xe4\x5d\xba\xb2\x01\x0c\x52\x68\x6f\x4d\x00\x3c\x5b\xe0\xfd\xae\x9c\x4a\x8b\x54\x1f\xb4\x1f\xa6\x2b\x15\x53\xde\xcc\xfb\x9e\x67\xb2\xa2\x0b\x55\x29\xf4\x64\xd9\xe8\x9a\x9c\x8a\xe4\x04\x57\x6a\x92\xe8\xc8\x02\x28\x2e\x19\x59\x26\xee\x87\x25\xa3\x22\x29\x8a\x98\x41\x6d\x25\x23\x19\x53\x1e\x19\xf5\x1f\x9f\x8c\x2c\x1b\xdd\xf6\x0a\x98\xf0\x0a\xdb\xac\x64\x64\x01\x14\x64\x32\x9e\x9d\x1b\x15\x06\x43\x7c\x7e\x54\x26\xaa\x11\xeb\x32\xed\x1c\x49\xc1\x96\x47\x4c\xdb\x8f\x4f\x4c\xd6\xed\x6e\xb8\x52\x99\x44\x14\x86\x2f\xd9\x80\x05\x29\x9e\xb5\x73\x26\x37\x7d\xc6\x29\x7f\x90\x58\xd6\x69\xe7\x4d\x24\xad\xc7\x42\x4f\x3b\x8f\x4f\x4f\x71\x75\xa6\x00\xda\x12\xeb\x80\xaa\x89\xa1\x5a\x85\xc7\x4e\xd2\x4f\xb6\x39\x15\x1e\xd5\x42\x40\x89\xc7\xf1\xe9\x79\xe1\x03\x2c\xfe\xff\xc3\xe8\xec\x87\xe1\x4e\xf2\xcb\xf1\xe9\xe1\x9b\x61\xbf\x28\xff\x18\x1d\x0d\xb7\xf9\x98\xcb\xf7\xa0\x8b\x4a\x0f\xc3\x96\x85\x2d\xf5\x08\x3d\xc2\x5c\x5a\xd5\xc3\x55\x43\x19\x5f\x5e\x8c\x0a\x5a\x3c\xac\xcb\x30\xd2\x71\xfe\x9f\x75\x1c\x29\x29\xfe\x61\x34\xff\xd4\x78\x70\x8e\xab\x1f\xca\xf2\x87\x17\xa3\xfb\xc5\xfa\xb3\x52\x2c\xf1\xfb\x64\x76\x73\xd7\xbc\xf0\x4b\xfe\x17\x77\x28\xd0\x2f\x93\xd9\x78\xfe\xfb\xe5\xe4\x7f\xd5\x39\x9e\xf3\x45\x36\xcb\x94\x0c\x42\xeb\xd0\xfc\x64\xbb\x98\x98\x1f\x74\x9e\x90\xb4\xad\x9d\xb9\x93\xd8\x53\xd4\x61\x34\xdd\x9d\x48\x71\x26\xa8\xf3\x62\x5e\x55\x1c\xab\x4e\x06\x04\x72\xed\x4b\xf2\xd4\xd3\xe7\x2b\xb2\xc5\xfd\x4d\x0d\xb5\x73\x8b\x27\x00\x8a\xf6\x19\x48\x24\xdc\x0b\x1c\xf9\xf2\xe6\xd9\x9a\xb8\xe7\xb7\x66\x43\xa8\x0f\xc9\xc6\x11\xc2\x81\x1d\x4f\x87\x97\x80\xc6\x75\xab\xf1\x27\xc3\x6b\xc9\xff\x06\x65\x20\x4b\x7a\x82\x8f\xad\x24\xf4\x9e\x3e\x9b\x48\x62\xc2\xa6\x5c\xf6\x8a\xc0\x89\x79\xf1\x2d\x8b\x66\x95\x02\x40\xd4\x89\x43\x36\x7e\xfd\xb6\xf8\xf5\x39\x81\x92\x9b\xca\xdb\x15\x8c\x62\xb3\xba\x49\xf2\xb4\x82\x77\x0b\xb1\x95\xbc\x8d\x15\xdf\x82\x30\x60\x87\xd7\x42\xc0\x5f\x69\x07\x00\x59\x0f\x6e\xae\x31\xb3\x76\xc7\xb3\x1b\xcc\x83\xff\x71\xda\x89\x82\x39\xdf\x12\xd1\xd0\xbf\x4b\x57\x36\xe4\x03\x7a\xdc\xac\xe4\x36\x9a\x7f\x72\xb0\x6d\x2b\x79\xed\x62\x0d\xe9\x14\x27\xa1\x10\xcd\x64\x8d\x4c\x7b\xe6\x7d\xac\xed\xd6\x46\x0e\x04\x24\x18\x33\xc4\xf0\xe6\xab\x44\x33\x85\x04\x0a\xe9\x0c\x81\xf4\x2f\x96\x33\xd0\x44\x5e\x0a\xb6\xd1\x7c\xb5\xf1\x68\xcb\xb6\xdf\x35\x61\x95\x1a\x41\x18\xaa\xb2\xc1\x0a\xe8\xb1\x35\x91\x54\xa9\xd3\x62\x34\x65\xb5\x1d\x4b\x4f\xe8\x33\x3f\x6e\xb8\xd2\xd1\x20\x4a\x3f\x86\x13\x36\x1e\x95\x10\xb6\x30\x0a\xea\x61\xe8\xce\x8a\xbd\x87\x5f\xf7\x7c\xb2\xc8\xa6\x93\x99\xe6\x7c\x03\xdd\x6e\xcd\x4b\x67\xbf\xcf\xb2\x65\xe9\x68\x3b\xfb\xe5\x74\x74\x21\x38\xda\xce\x2f\xce\x7e\x1c\x1d\x5e\x81\xde\xb4\x66\x1d\x99\xce\x9b\x45\x03\xfa\xcf\x8c\xdf\xe9\xe7\x31\x33\x60\xef\xe4\x23\x6b\xd6\x61\x78\xc5\xb4\x77\xac\x7e\x30\x6a\x71\xea\x2c\xbd\xc7\x4b\x6b\xca\xe1\x7c\x8b\xe5\x3c\x07\xd9\xce\xc8\x2e\xff\x86\x5d\x62\x17\xd9\xa7\x17\xd5\x83\x8a\x07\x6c\xb5\xce\x16\xd2\x0c\x9b\xcb\xea\x07\x6d\x84\x0d\xbe\x1d\xf9\xab\xcd\x1b\xda\xac\x1b\x47\x5f\x59\xb3\x7a\x34\xef\x58\x0d\x01\xf5\x0c\xd8\x51\xa1\x7b\xc0\x28\x6b\x74\x5e\x01\x6b\xaf\x7c\x95\x67\xf3\x9d\xa6\xf7\x19\xb7\x87\x86\x40\x7a\x74\x57\x95\x48\xaf\x84\x89\xd9\xd5\x15\xd0\xdd\x76\x99\x4c\xd1\x8f\x3a\xe4\xa6\x82\x4a\xbd\x47\xc0\x67\x27\xcf\x9f\x27\x24\x8a\x2e\x56\x0a\x31\x4b\xc7\xc0\x6d\x63\xb8\xde\x1a\x30\x61\x9d\x6d\xd8\xb2\xa4\xaa\x63\x7a\x57\xc4\xe2\x96\x60\x83\x10\x95\xe9\xe0\x02\x13\xe7\xb4\xb1\x10\xef\x09\x3a\x5e\xa7\xb9\x07\xe4\xe9\x3a\x3b\x61\xa6\xeb\x30\x29\xdf\x21\xed\x4f\x5e\xc0\xd4\x46\x98\xf8\xaa\xaa\x88\x25\x3b\xc9\x6e\xf2\x32\xd9\x4b\x5e\x91\x54\xb2\x62\x8d\x9f\x26\xb3\x71\xa9\x96\xfd\x74\x7c\x7a\x24\x68\x65\xa3\xff\x3b\x3a\x1c\x6e\x27\xdf\x5f\x1f\x9f\x1c\x0d\x77\x92\xa3\xd1\xf9\xc9\xd9\xaf\xc3\xdd\xe4\x62\x74\x32\x3a\xb8\x1c\x0d\x5f\x26\xd7\xe7\xc3\xbd\xe4\xfc\xf8\x7c\x74\x72\x7c\x3a\x1a\xbe\x22\x7f\xb1\xa4\xc2\x35\xf0\x63\x68\x70\xda\x2e\x05\x52\xe3\x94\xcf\xf0\xd3\xe5\x24\x45\x84\xa3\xd0\x49\x2f\xda\xb4\x3a\x92\xb2\x56\xea\x75\xe3\x6c\x91\xcd\xc6\xab\xb3\x59\xd1\x96\x39\xbf\xf3\xfb\x9a\xb3\x5a\x19\xb1\x9e\xf4\x37\x37\xbf\x2b\x99\xcf\x70\x9e\x64\x7f\x64\x37\x42\x7f\xbb\xec\x06\xd6\xf3\xe4\x0f\xc9\x9f\x57\xd4\xbd\x8f\x0f\x93\xe9\xb8\x59\xf0\xfb\xfc\x2f\xce\x8a\xc5\x0b\xca\x92\xe3\xa2\x3f\x78\xb3\x66\xd9\x2e\x9c\xb3\x68\xf9\x86\xb2\xea\x32\x9b\x66\xe9\x2a\x6b\x96\xbd\x28\xff\xe6\xac\x5b\xbd\xa2\x2c\xfc\xd0\xaa\xba\xd7\x0b\xce\x72\xd7\x0b\x65\xa5\x45\xf5\xcf\xad\x2a\x5e\xfd\xc0\x59\xd5\x64\x7f\xcc\x37\x93\xc9\x7d\x7a\x8b\x13\xd9\xa0\x20\xb2\xdf\xe7\xcb\x7f\xaf\x16\xe9\x4d\x8b\xc8\x2f\xf5\x2f\xb8\x55\xd0\x3c\x0a\x54\x4e\xf8\x6a\xee\x66\x7d\x26\xb4\xfa\x5e\x80\xa1\xab\x18\x98\x92\x45\x56\xe4\xb1\x85\xba\xd6\xe6\x0d\x4a\xba\x51\x9f\x4f\xc7\xe3\xa3\x9a\x3d\x71\x95\x7a\x9d\xcf\xd0\x75\x7b\x03\x8f\xa2\x74\xef\xcb\x6e\xb8\x2d\xf0\x0c\xac\xcb\x15\xcb\x92\xef\xe1\x68\x96\x0c\x55\xc6\x73\x97\x87\x67\xc9\x0d\x5d\x11\xad\x78\x29\x8e\x69\xc5\xa6\x65\x54\x5f\xf2\x50\xad\x18\xac\x2b\xae\x35\x7f\xc6\x91\xad\x99\xbf\x8c\xed\x1e\x0f\xdb\xeb\x85\x2b\xa2\xd7\xe0\xfd\xae\x70\xbc\x5e\x28\xe8\xbd\xe2\xa1\x57\xff\xe5\x8a\x24\xc5\xb1\x50\xdb\xcb\xb5\x9c\x92\x11\x1e\x58\xac\xfe\xe3\xfb\x02\x11\xe9\xd9\xde\x16\xc5\xee\x6f\x84\x0b\xcf\xf2\x6f\x65\x12\x21\x2b\xa5\x11\x75\xfe\xe9\x26\x36\x65\x34\xaa\xa9\x0b\x99\x3c\xbe\xf6\x2e\xb4\x36\xc5\xe8\xc5\x2c\x59\xb9\xa8\x5c\xd4\x75\xc1\x81\x00\x76\x3b\xb8\xd1\x70\x39\x46\xb0\x41\xa0\x10\x33\x55\x5a\xfd\x97\xd3\xc1\xd1\x24\x1a\x88\x00\x05\xe5\x58\x81\xb8\x4b\x87\x58\xf1\x78\x22\x48\x51\x71\x56\x60\xbe\xa4\xc3\xac\x79\x35\x11\x68\xa5\x59\x2b\xf0\xf6\xe8\xf0\xae\xed\x6e\x00\xd5\x75\x22\x2a\xdd\x0a\xc0\x57\x74\x80\x98\x8f\xa8\xa5\xf3\x92\x1d\x02\xb7\x62\xa0\xd3\xb5\xac\x90\xab\x35\x8f\x5b\x98\x8b\xa7\x65\x88\xde\xbe\x91\xe2\x7a\x68\x0e\x92\x6d\xf7\x39\x4b\x86\xe5\x83\x9a\xf1\xaa\x11\xcb\xb3\xe5\xa5\xb7\xad\x61\x1a\x92\xb1\x55\x5a\xf4\x37\xf3\xfb\xfb\x74\x86\xc7\x75\xca\x60\x4d\xba\xbc\x5d\x31\x4c\xff\x6d\xc1\xf4\x0f\x6f\x81\x99\x55\xed\x28\x66\x58\x01\x8b\x29\x03\x31\x4b\x80\x67\x90\x61\xab\x75\x1e\x63\x31\x28\x51\xb6\x30\xcb\x61\x49\x63\xd6\x5c\x5b\xd9\x88\x3b\x58\xde\x86\x18\x8f\x04\xde\xe3\xf8\x1a\x10\x24\xb6\x83\xa8\x41\x10\x00\x52\x00\x00\x63\xfb\x92\x32\x54\x1f\x21\x16\x06\xa8\x9f\x3f\xa8\x18\x05\x45\x6f\x42\x92\x58\xc1\x83\xac\x3f\x24\x4e\x02\x2b\x42\x43\x2a\xe8\xa0\x8d\x49\xb1\xcf\xae\x4e\x24\x4e\x87\x1c\xec\xc3\x35\xe0\xbc\x4f\x47\xa6\x19\x61\x9f\x5e\x13\x17\x75\xee\x13\x3b\x7d\xc5\xf2\xd5\x3a\x5c\xcb\x67\xcb\xe3\x52\xff\xf3\x1f\x78\x42\x11\x08\xb6\x62\x88\xac\xd9\x4d\x32\x78\xb6\x94\x51\xd2\x9c\x80\xdd\xae\xf3\xe1\x9a\xdb\xfe\x2e\x5c\xec\xa4\xb4\x43\x82\xaa\x5e\x9a\xb7\x9f\xa7\x7b\xc9\xaf\x9b\x9b\x13\x8e\x27\xab\xf4\xe3\x34\x3b\x7f\x58\xdd\x51\xab\xb0\xfa\x5a\x15\x96\x63\x47\x42\x92\x8b\x2f\x8e\x7a\x54\x00\x63\x4a\x48\xd4\x07\xc9\x53\x90\xd0\xe5\x1c\x3b\xf7\xf4\x09\x6d\x64\xcb\x62\xa1\x52\x31\x3a\x6a\x29\xc0\xbd\x13\x0f\x7c\x15\xe2\x6b\x2f\xa0\x13\x20\x88\xfa\x02\x42\x30\xdd\xad\x46\x71\x11\x37\x58\xad\x87\x41\x9a\xfc\xc1\xdb\x2a\xaf\xed\x95\x1a\xdb\x47\x52\x63\xb1\xf3\x35\x23\x02\x77\x5d\x13\xf0\x09\xd1\x77\xcd\xe8\xa3\x09\xca\x8e\xf5\x38\x29\x8f\x1f\x2b\xef\x9b\x19\x72\x1d\x77\x25\x32\xe3\x5e\x1c\x66\x6c\x0b\x63\xc4\xe1\xc6\x25\x34\xe6\x95\xc7\x23\x2d\x3c\x7e\x8c\xaf\x17\xb1\xaf\xb7\xc8\x90\xdb\x60\x4b\x10\x66\xac\xdd\x84\xf8\xdc\x18\x76\x90\x06\x61\xc7\x30\x08\x90\x1f\x1b\x1c\xb2\xc5\xf6\x23\x5d\xbc\x91\x5d\x6d\x17\xf6\x62\xc4\x3d\x16\x23\x36\x9c\xad\x8e\x05\x93\x0b\xfb\xf5\xf2\x36\x7b\xad\x83\xb2\x61\x43\x5a\x09\x8f\x0f\xab\x0b\xd8\xdc\x92\xe3\x66\xf0\xbe\x92\x5c\x53\x8c\xf5\x47\x33\x3b\xda\x67\xd5\xbc\x95\xe5\xc3\x8c\xcc\xe0\x0b\xc9\x5c\xbe\x72\x91\xad\xd3\xc9\x0c\xf5\x7c\x6e\x27\x5b\xd2\x0b\x67\xbf\x65\xcb\xe5\x44\x1d\x1d\x61\x87\xb8\x13\xaa\xcb\x02\x31\xda\x1c\x47\xa6\x54\xe0\x98\x9c\x8b\x10\x12\xe7\x49\x15\xc2\x82\x31\x3d\xa1\x68\x84\xb8\x25\x52\xfa\xec\x4a\x85\xb8\xa9\xb9\x0e\xc5\xad\xb1\x36\x33\x17\xda\x17\x9c\xe7\xb4\x6b\x75\xbe\x56\x23\x30\x84\x47\x4b\x32\x37\x64\xa7\x58\x96\x96\xaf\x45\x70\xd7\xad\xce\xf4\xe2\x4b\x5c\x24\x3c\x18\x44\xe4\x22\x30\x48\x3d\x12\x32\x03\x13\xe5\x8c\x49\x54\x48\x0f\x8d\x15\x96\xa4\x64\xb2\xba\xa4\xd9\x54\x22\x19\x69\xd3\x3d\xb6\x45\x3f\xb1\x89\x80\xd4\xe5\x77\x38\x8a\x84\x4e\x2d\xd2\x0e\x05\x2c\xa2\x95\xf7\x0e\x2e\x0c\xc7\x29\xda\x88\x63\xa8\xfe\xa9\x18\xf8\xc2\xcf\x07\x6e\x52\xed\xe9\x13\x68\x0d\x2f\x43\xc4\xc0\xde\xa5\x2b\x10\xa8\x47\x25\x3e\x81\x28\x0a\xd2\xeb\xd0\xca\x37\x9e\xba\x82\x84\x93\x85\xef\xbd\x09\xe5\xfd\x73\x8b\x24\x6c\xc3\x43\x07\xa8\x5b\xa0\xa2\xc0\x18\x96\xb3\x1d\x72\x13\x6a\x26\xe4\x45\x17\x3b\x81\xe8\xc2\x86\x12\x93\x4a\x76\x02\x5a\x20\xd7\x81\x8b\x1a\xae\x3d\xea\x1a\xae\xe1\xd2\x86\xfd\x2f\x2c\xc3\xa0\xc7\x36\x0c\xfa\x9e\x86\x81\xde\x7e\x2d\x88\xaf\xc9\x94\xdd\x19\xc7\x26\xb8\xe6\xa6\xa7\xc3\x89\xa7\x3c\x4b\x00\x5e\xab\x83\x36\x6b\x82\x8b\xc9\xa4\x61\xf7\xb9\x1a\xb6\xb9\xf7\x58\x17\x1a\xf6\x75\xb7\xc9\xa1\xf6\x5c\xb8\x20\x7a\xb5\x7d\x79\x4a\x5a\x84\x59\xc3\xd5\xa6\xaf\x82\x1a\x6e\x9f\xab\xe1\xb2\x32\x20\xae\x17\xa1\xf5\x18\x9e\x93\x4c\xa1\x16\x4f\x15\x86\xa5\xb9\x1a\x3f\xdd\x47\x7b\x41\x46\xb3\x12\x3e\xdc\x43\x71\x61\x69\x6f\xc0\xa7\x07\xd1\x59\xb0\x66\x2e\xe4\xad\xf0\x56\x57\xb6\x03\xaa\x2b\xcd\x5f\x41\x95\x16\x53\x8d\x1b\x4f\x75\xd1\x56\xb0\xcd\x07\x5a\x66\x9f\x84\x92\xc1\x4f\x84\xae\x18\xc6\xfa\xbb\x10\x83\x83\xa8\xe5\x19\x71\x74\x8d\xfa\x2f\xa6\xac\xa1\x54\x91\xf0\xf4\x0e\xca\x8a\xd1\x86\x04\x91\x8e\x9e\xe7\x79\x64\xd4\xd9\xe4\x04\x18\x28\x8a\x66\xb8\x98\xf1\x15\x0f\x2c\x27\x3e\x88\xfa\x81\x01\x21\x4c\x13\xaa\x2f\x3a\xd7\x93\x87\xe6\xfc\xfb\x1c\x4f\x89\x57\x60\xff\x59\x53\x24\xc6\x90\x3d\x46\xd2\x91\x71\x8b\xe3\x37\x33\x00\x2e\x1c\x67\xe6\x6d\xa9\x3d\x66\xf9\x61\x72\x5d\x65\x06\x48\x77\xe9\xca\x0c\x27\x98\x93\x4c\x3a\xea\xd3\xf4\xbe\x93\x9c\x5a\xe9\x0c\x65\xa0\x11\xb3\x69\x55\xe7\x70\x5b\xe7\xe5\x90\x52\x0a\xb6\xe2\x03\xbe\xd6\x02\x17\x4f\x29\xed\x73\x53\x4a\x5b\xb0\x62\x8d\xb4\x6b\x4a\x69\x9f\x97\x52\xaa\x7b\x99\xc1\xdd\x16\x1c\xcd\x42\xf5\x9d\xdb\xd7\x56\x05\x78\x01\x79\x96\x9e\x2d\xcb\xc9\x28\x96\x8e\x5f\xc6\x2c\xd8\x0c\x1a\x19\x22\xab\xeb\x21\x78\x6e\x96\x8d\x6c\x07\x18\x65\x37\x6c\x36\x27\x71\x37\x0b\x80\x10\xdd\x08\x75\xb2\x28\x32\xee\xa2\xd1\x45\x59\x9a\x0f\x76\x7d\x05\x08\x43\xc1\x2d\x58\x6b\xde\x58\x94\x61\xdb\xcb\x9a\x34\xca\xa2\x54\x2f\xda\xb0\x81\xf0\x68\xbb\x0b\x0b\x84\xe9\xfc\x73\x34\xea\xa8\x1a\x22\xec\xba\x8b\x0d\x09\x3b\x1e\x7d\xec\x76\x4f\x1f\xd6\xed\x94\x63\x8a\x7e\x14\x62\x05\x02\x93\x88\xd3\x21\xd0\x53\xd3\x9c\x69\xa4\xee\x44\xf1\xd2\x91\x48\xa8\x49\x6b\x16\x2a\x79\xd9\x3d\x95\xd8\x77\xb4\x55\xa4\xcb\x3c\x43\x2f\x3a\xb1\x83\x81\x09\xc5\xe9\x20\x8a\xc2\xf1\x68\x34\x72\xbd\x48\xf6\x1c\xc9\x43\xc4\x8a\x47\x19\x7b\xdd\x53\x86\x71\x0b\x6b\xa2\xb8\x5e\xf8\xd1\x83\x71\x71\x98\x14\x9c\x36\x5d\x28\xec\x8f\x46\x10\x8d\x31\xfd\xca\x91\x2c\x74\x0c\x79\xc4\xf1\xaa\x7b\xe2\x00\x36\xb5\x26\x91\xfa\x11\x3f\x42\x01\x00\xc1\xe4\xe2\x74\x18\x7e\x65\xad\x03\x77\x13\xdc\xab\xa2\x75\xe0\x6c\x83\x37\x0d\x21\x02\xfb\x97\xda\x86\x3d\x3d\xa7\x83\x5f\x19\x51\xa3\xbb\x97\xb6\x3c\x48\x1b\xda\x93\x66\x10\x41\xd3\x87\xc3\x8b\xb8\x21\x50\x88\x7f\x89\x06\x52\xa6\x6c\xc7\xa2\x65\xb2\x67\x49\xa6\x68\xe7\x2a\x65\xaa\x4b\x29\x90\xe3\x8c\x5c\x93\x1d\xcc\x67\x46\x0d\x40\x2a\x81\xc7\xb9\x1c\xb0\x0a\xe3\x08\xae\x3a\x6a\xd3\x0c\x7a\x25\xf6\x38\xb7\xc5\xf3\x42\xf9\x52\xdc\xe4\x95\x2a\xaa\xac\x1b\xd7\x48\xaa\xaa\x6b\x32\xe3\x2e\xcb\x32\xca\x0a\x21\x84\x17\x45\xa2\x82\xcb\xaa\xf7\x32\xbc\xeb\xb7\xd9\xfa\x6d\xba\x90\x53\xd1\x88\x0c\xca\x65\x87\x75\xa4\xe4\x2d\x96\x7a\xa7\x97\xaf\x6c\x6c\x16\x91\x5b\x02\xb0\x8b\x87\x99\xde\x67\x68\xc7\xbf\xcf\x50\xbe\x6e\xfb\x1d\x5e\xd1\xe9\x7c\x29\x87\x90\xb4\xf8\x9a\xf7\xe4\x87\x55\xf6\xff\x1e\xb2\xd9\x0d\x65\xfa\xc3\x96\x73\xcb\x59\x7b\xa0\x3b\xf9\xd7\xfc\x63\xd9\xa1\xa8\x85\x5f\x3f\x50\x78\x92\x0b\x28\x3f\x56\x0f\x6d\x00\xe1\xee\x1c\xc6\x8f\xf3\x8f\xcd\xdb\x49\xb6\x99\xac\xd6\xe9\x9a\xd2\xc5\x76\x2b\x68\xbd\x4f\x7e\x3e\xd1\xa3\xec\x17\x0f\x33\x72\x34\xd5\x88\x10\x3f\x9e\x8e\x2c\xf3\x84\xa6\x46\x5c\x4f\x66\xeb\x62\xde\x6f\xf1\xe0\x65\x45\xe2\x4e\x93\x23\x6a\x1b\x2d\x56\x8c\xbe\xb9\x40\xcc\xe6\xb2\x15\xb9\xf3\xf0\xca\xef\x07\x82\x52\x3a\x1e\xe7\xb7\xcd\xda\x9a\x73\x34\x7b\xb8\x6f\x36\x36\xbf\x5e\x01\xb3\x1b\x65\xd6\x1a\x33\xbf\x20\x87\x14\x27\xa9\x00\x58\x39\xd0\x98\x07\x31\xad\xb1\x21\x6d\x21\xfd\xa0\x22\x7e\xd3\x94\x07\x91\x59\xb3\xc7\x3c\x60\xc9\x0a\x4d\x06\x65\xcb\xad\x81\x5e\x52\xa4\x4e\x97\x35\xcd\x5a\x41\x4a\x7b\x51\x50\xa3\xf0\x69\x05\xa9\x0e\x68\xa9\x9a\xf9\xb1\x15\x0b\xec\x7f\xb9\x3e\xfd\xe9\xf4\xec\x97\xd3\xe1\x56\x72\x3e\x3a\x3d\x3a\x3e\x7d\x3d\xec\x25\x97\x57\x07\x17\x57\xf9\x7f\xf6\x93\x8b\xeb\xd3\xd3\xfc\xbf\xb6\x93\xd1\xc5\xc5\xd9\xc5\x70\x27\x39\x3c\x38\x3d\x1c\x9d\x9c\x8c\x8e\x86\x83\xe4\xf2\xfa\xf0\x70\x74\x79\x39\xdc\x65\x93\x7b\x07\x86\x96\x7a\xbf\xe2\xdb\x5a\xda\x27\xd6\x04\x1b\x35\xfd\x53\xfb\x4e\x1d\x6a\xf8\xb4\x4f\xed\x53\x23\xf8\x0f\x25\x89\x44\xb2\x02\xb4\xad\x20\xfb\x0c\x4d\x96\x97\xc3\x46\x44\xf4\xfa\xc9\x80\x7c\x7c\x7e\x0e\x5b\x29\xf0\x39\x6a\x0e\x0a\xf3\xa0\x73\xe9\x4e\x0a\x89\x6a\x67\xac\x23\x66\x39\x63\x3b\x66\x3b\x2e\x67\x5d\xe9\x0e\xac\x44\x15\x23\x68\x7c\x63\xc8\x0a\xab\x42\x89\xc0\x99\xd5\x94\xd8\x88\x2f\x5a\x12\x8b\xce\xe2\x0a\x31\xe2\xe8\x08\x76\xe4\x6f\x32\x48\x90\xb9\xe5\x52\x51\xf3\x01\xbb\x1a\xc5\xd7\x8b\x55\xb6\x6c\xee\x6e\x3d\x9c\xd6\xd3\x3c\x36\x2f\xca\x30\x94\xe1\x05\x6c\xa9\xdb\xbe\xe3\x54\x82\x27\x70\x9b\x3f\x23\x9a\x65\x69\x04\x87\x6a\xd4\x44\x24\xe9\xd6\x26\x7b\xc1\xee\x93\xb7\x6b\xe4\xe8\x89\xdb\x6e\x06\xa1\x63\xe6\x36\x76\x29\x63\x18\x56\x66\x98\x61\x4d\x2c\x16\x0c\x42\xda\x36\x64\x0e\x81\xb9\xdb\xa8\x29\xe4\x71\x38\x71\x03\xcf\x70\x7e\x31\x4e\x38\x3e\xea\x23\x62\x32\x60\xc0\x23\x28\x92\x18\x48\x1f\x95\xb2\x17\x50\xaa\x6a\xe3\xa0\x83\x88\xd5\x6a\x55\x0f\xb9\xaa\xac\xf0\xd5\x0a\xd6\xea\x3b\x3a\x93\xac\x25\x3c\x36\x4f\xb5\xa1\xe9\x2e\x5b\xf1\x15\xff\x16\xae\xdc\xbb\xd9\x85\x74\xad\x80\xc6\x15\xaf\x30\x90\xaf\x45\xbe\x6a\xe7\xf3\x94\x04\xac\x81\x78\x3a\x94\xb0\x1a\xf4\x0e\x44\xac\x06\xf3\xb1\x64\xec\xeb\x2c\xb4\xd9\x6a\x58\x91\x21\x5b\x81\xb7\x03\xcb\xd5\xb8\x55\xc7\x86\xef\x88\x26\x57\x75\x58\x28\x27\xa5\xa0\x47\x97\xa7\xbc\xd5\xfe\x4b\xab\x8c\xfd\x65\x2a\x78\x17\x63\xc8\x53\x03\xc0\xb0\xb2\x94\x0e\x20\xa6\x1c\xf5\xad\x31\x06\xcf\xa5\x83\x08\x07\x28\x4b\x11\xa2\x89\x28\x47\x41\xc8\x11\x64\x28\x08\xef\x49\xc8\xcf\x30\x06\xaa\x69\x49\x57\x09\x4a\x31\x4d\x27\x81\x4d\xd3\x64\x39\x9f\x17\x09\x6b\xc4\xe1\x6c\xb7\xcb\x74\x71\xd7\x40\x7e\x9d\xff\x05\x83\x35\x7d\x61\xf1\x5a\xf8\xd9\xd9\x26\x50\xdd\xc8\x71\xa2\x71\x4c\x42\xd0\x51\x92\xc7\x31\x8b\x83\xf4\x2c\xee\xca\x3a\xa6\x8c\x89\xbb\xa8\xc8\x9d\x9b\x57\x65\x25\x63\x7a\x32\x93\xfd\x26\xe0\x5f\x59\x5e\x34\xff\xac\x25\x98\x03\x46\x57\x5b\xa2\xf8\x00\x18\x10\x80\x6c\xa6\xce\xfc\x00\x4d\xca\x51\x43\x8a\xd8\xbc\x3b\x19\xb3\x96\xe7\x72\xb2\xa1\xec\xc4\x67\xd7\xb1\x42\x8a\xd9\x12\x56\x04\x61\xab\xc9\x12\x17\x91\x2b\x2f\x62\x6e\xf4\x79\x33\x9f\xad\xb3\x59\x7e\xe7\x8a\xc1\x78\xc5\x1f\x1f\xd2\xd5\xf7\x45\xce\xe6\xa7\xf9\xf2\x3e\x5d\x93\xf2\x91\x43\x34\xe3\x64\xb0\x92\x88\xf2\xae\x04\xe9\xc4\x01\x50\xbe\xe7\x22\xfb\xd0\x45\x3b\x68\xd8\xf9\x79\x9d\xad\xea\x64\xdf\x8a\x48\xac\x92\x49\x4c\x4b\xfd\xa1\x20\xa0\x48\x1c\x5e\xbd\x7c\x5d\xf1\x79\x90\xc1\x04\xe4\xf6\x20\x1c\x4a\x06\x6b\x7b\x9d\xaf\xf7\x8c\xec\xb8\x3c\x57\x2d\x95\xb5\x3a\x35\x35\x7f\x13\x99\x10\x66\xff\x84\x72\xbd\xfd\x2f\xc7\xa7\x3f\x1f\x9c\x1c\x1f\x0d\xb7\x92\xb7\xa3\x8b\xb7\x07\xc7\x47\xc3\x9e\xe7\x91\xb7\x1f\x19\x27\x5d\x93\x87\x43\xc9\x37\x41\x4c\x3e\xe6\x3b\x7e\x50\xb0\xd7\xba\xae\xa6\xbe\x4f\x9b\x41\x11\xb9\xde\xa3\xe0\x71\xbd\x17\x1e\x8d\x95\xe1\x4c\xe0\x3e\x96\x39\x2e\x8e\x36\xbf\x7d\x2b\x2a\xa2\x8b\x91\xdc\x4a\xdc\x05\x15\x03\x4e\x2e\x18\x92\xe9\x0a\x2b\xbc\x8f\x19\x57\xc1\x54\xf1\xae\x9c\x41\x5d\x44\x54\x60\x80\xbe\xee\x20\xf7\xc3\xaf\x55\xf0\x38\xc5\xb4\xe8\x09\xeb\xe0\x83\xd6\xd6\xa2\x9f\x5f\x5c\xc5\x80\x84\x6f\x37\x92\xc1\x64\x65\x74\x9f\x14\x3c\x43\x25\x7f\x13\xae\x81\x6d\x87\xea\x3b\x50\x1a\x63\x01\x2e\x80\x0d\x10\x9e\x03\xee\x6a\xa5\x5d\x3c\xcc\x02\x07\x13\x0d\x2b\x32\xec\x32\xe0\xed\xce\x82\x89\xc9\xbf\xe6\x1f\xaf\xb2\xfb\xc5\x34\x5d\xb7\x8b\xfe\xd8\xfe\x06\xaf\x2b\x56\x72\x06\x8b\x4d\x1a\xb6\x25\x9a\x8d\xa7\xc3\x42\xd5\x7e\x0a\x7a\x74\xab\x8e\xb7\xda\xa3\x39\x34\xbb\x0e\x51\xaa\xe6\x23\x88\x1c\xab\xc0\x92\x50\x5c\xb9\x92\x6f\x80\xbf\x85\x0a\x32\x9e\x18\xa6\xa9\x01\x60\x58\x9b\x94\x0e\xa0\x03\x07\x24\xad\xee\x51\x06\xa6\xb2\x38\x05\x5e\x1f\x82\x07\xd5\x3a\xba\x52\xc1\x63\xc7\x69\x11\x12\x8d\xa8\x9a\x83\x90\x23\x68\xe6\x20\xbc\x68\x8a\x39\x76\xf8\x02\x3d\x06\x3c\xff\x9c\x33\x82\x8d\x94\xb1\x63\x37\xa2\x45\x3e\x79\x44\x5b\xc7\x4f\x1e\xde\x15\xa1\x14\xac\xb9\xcb\xfe\xe7\x0f\xc3\x84\x49\x80\xbe\xd7\x95\x46\xac\xb5\x3e\xe9\xbb\xb7\x3e\x31\xad\x1f\x52\xbf\xe5\xc7\xfa\xa1\xd7\x6d\xb1\xfe\x7f\xcd\x3f\x1e\x53\xbb\xa2\xa4\xd3\xe9\x8f\xf9\xe3\x65\x6b\x92\xfc\x68\x0a\x47\x25\xd4\x5a\x3c\xe9\x6f\x6e\x7e\x57\x12\xc9\x70\x9e\x2b\xbf\x6f\xd3\xc5\xdb\x74\x21\xaa\xbe\xe5\x2f\x1b\x9b\x9b\xdf\xcd\xc5\x8f\x25\x31\xd9\xa2\x09\x58\xfd\xd2\xe6\xf0\xdd\x7b\x7a\xe7\x96\x9d\x40\xfd\x4d\x4c\x9b\xde\x8d\xfe\x4c\xcc\x09\x20\x21\xe8\xa8\x41\x3f\x6e\x4e\x80\xa9\xff\x49\x41\xa0\x94\x50\x7d\x3a\x1e\x1f\xd4\xf4\x6c\x88\xd5\x67\x0a\x75\x6a\x1a\xef\x86\x52\xcf\xfb\xe2\x6d\x6a\x98\xe5\x96\xff\x63\x22\x1f\xb3\xc0\x24\x5a\x94\xe0\x67\x2a\xa8\x8c\x3b\x01\x9c\x48\xf2\xfc\x79\x42\x36\x3e\xca\x26\x56\x9b\x96\x21\xca\x58\x47\x99\x30\x1a\x7c\x27\x59\x04\x26\x88\x11\x75\x78\xe7\x2c\x82\x7f\x0a\x1a\x35\xa1\x2d\x4a\xfd\xf4\x81\xc8\xba\xc1\x16\x24\x62\x5e\xc0\x86\x76\x0f\x9e\x6d\xe5\xda\xfb\x3c\xff\xf1\xa4\x58\x61\x63\x33\x5f\x63\xae\x7e\xc9\xc6\xb6\x40\xf7\xe5\x47\x09\x07\x28\xa0\x89\x3c\xc4\xa7\x7c\x5a\x57\x14\x7b\x87\x18\x64\x4e\x33\x4c\x99\xf5\xb9\xc4\x09\x81\x61\xb7\x42\x85\x1d\xb4\x79\x09\xfa\xe1\x12\x89\x51\xbb\x3f\xf8\x28\x73\xd2\xa7\x5b\xa0\x07\x99\x43\x02\x03\x17\x05\x09\xab\xc9\x03\x67\x1a\x09\x8c\x42\xa1\xbc\x63\xfb\x5f\xab\xef\x32\x2b\xf0\xf9\x72\x91\x33\x30\x5b\x28\x6e\x63\xed\x2c\x64\x01\xe4\xb5\x31\x06\x1c\xb5\x8e\x8a\x82\xa4\xa7\xb6\x54\x44\xf7\xc6\xaf\xab\xcf\x0e\x1c\xf8\x44\x2f\x84\x57\x77\x1f\xbf\x61\xcb\x39\x61\xd5\xc8\xad\x02\xb9\xfe\x8d\x6b\x32\x6c\x23\xf0\x7d\xab\xfb\xbf\x6c\x45\xda\x7a\xff\xab\xd6\xa6\xb8\xf3\xbf\x7c\x30\xbc\xb3\xde\xf8\x19\xd1\xcc\x0d\x13\x34\x54\x93\xa2\xa1\x48\x37\x38\xb8\xeb\x3d\x52\x41\x51\x79\xe2\x4c\x67\x7d\x45\x26\x04\x5f\x7d\x45\x79\xce\xd5\x44\xc8\x9d\x8c\xa1\x52\x1b\x41\x86\xd5\xa9\x39\x20\x28\x35\x45\xc2\xfd\x66\x7b\xc4\xab\xb3\x74\xf0\x54\x23\x67\x13\xbd\x5d\x35\xe8\x49\x45\x09\x87\xdc\xba\x9a\xed\xaa\x46\x40\x07\xef\x47\x8d\xc0\xf3\xe8\x4d\xcd\xd9\x61\x9b\xab\xb2\xe7\xee\xaa\x34\x43\x08\x2b\x91\xf9\xee\x4a\x78\x01\x73\x8e\x74\x1d\x90\xc7\xbb\x23\x9f\x8b\x4f\x42\x2d\x92\xb5\x40\x7d\x4e\x94\x01\x52\xa8\xcd\x9f\xd7\x95\xac\x26\x3a\x07\x89\x48\x3a\x4b\xeb\xbf\x56\x2f\x8d\x74\x3c\x6e\xbe\x3d\x98\xa8\xee\xc4\xfd\x65\x86\x19\x55\x58\xf3\x5d\x60\xff\x54\x43\xd7\xf4\x86\xba\xd1\x3a\x6b\x60\x87\xa5\x62\x1b\xa1\x2d\x26\x2d\xe2\x8c\x53\x95\x0d\x51\x76\x9b\x4c\x9e\x58\x37\x39\x54\x9a\x7f\xf6\xec\x9a\xd9\xa3\x4c\x6a\x70\x61\x68\x96\x90\x39\xe6\x7b\x91\x09\xb7\xf0\xbd\x84\x90\xe9\x17\x0f\xb3\x18\x76\xb6\xb8\xac\xa3\x5c\x37\x2d\xf1\x55\x75\xee\xb0\x7d\x4c\x27\x72\x5c\x00\xc8\xe2\xe0\x20\xa2\x6e\xb2\x9c\xb8\xe4\xdf\xdd\x3c\x9c\xaf\x6b\x6c\xb1\x2e\x42\x8d\x27\xd8\x09\x50\x9e\x72\x73\x0f\xfc\x98\x1e\x3b\x73\x8c\x42\x48\x11\xd3\xc7\x70\xf0\x11\x72\xc8\x70\xa0\xd1\x12\xc9\x74\xd0\x91\xed\x73\x09\x48\x70\x61\xee\x67\xa5\x1b\xd7\x80\x0d\xf5\xfc\x15\xb2\xad\x5e\x3f\x4c\x31\xd7\xc5\x79\x4f\x11\x2c\x76\xe9\x53\x3b\x14\xf6\x0e\x76\x3b\x8c\xaa\x8f\xb8\x7f\xca\xd6\xfb\xc5\xc3\x8c\x6f\xc0\x23\xc3\x9a\x14\x1b\x3e\xdf\x84\x90\x12\xbf\x73\x4b\x5e\x02\x1b\x5b\xe6\x07\xb0\xe7\xdb\xfb\x1f\xca\xa4\x07\x06\x0f\x39\x7d\x9d\x51\x0f\xa8\xd1\x8e\x68\xdb\x5f\x3c\xcc\x1c\xe5\x94\x51\x2f\xd0\x31\x8e\x69\xe4\x5b\xf0\x51\x6e\x5a\x17\xa6\x7e\xbe\x8d\x6e\x3c\xd0\xa2\xdf\x00\x47\xaf\xea\x39\x0d\x71\x7b\x99\xfd\xaf\xa5\x05\x23\x34\xe9\x6c\x17\x75\x6c\x79\xa2\x2f\x10\xb8\xcf\x18\x50\x5d\xc7\x9a\xdb\x18\xba\x23\x58\xfb\xe1\x9d\xf4\x48\x69\xc0\xb1\x3a\x67\x00\x48\xba\xf5\x46\x21\x2d\xf8\x97\x2d\xa4\x8b\x9c\x27\x8b\x71\x83\xd8\x7d\x58\x5a\x98\xf1\x7a\xb0\xa0\x30\x9e\x4c\xc9\x1b\x63\x06\xa1\xc7\x99\x3e\xb6\x03\x02\xa7\xb9\x8e\x1a\x4b\x98\x80\x47\x6e\x2d\x61\x02\xd9\x49\x73\x09\x0b\x21\x44\x1d\x1c\x48\x38\xe8\x00\x23\x04\x43\x29\x42\xe1\xbb\xad\x0a\xab\x7a\xa8\x42\xcc\x71\x20\x17\x0f\x33\x4d\x1d\xba\x78\x98\xd1\x3a\xaf\x2a\xa3\xb3\xc3\xf7\x2e\x17\x3e\xa8\x33\x1d\xc7\xa1\xf5\x29\x84\xa6\xbb\x96\xf3\x57\xf4\x86\xc8\xf6\x4b\x98\x66\xe6\xc6\xdb\xda\x85\xa6\x12\xbd\x39\x28\x0e\x84\x11\xfb\xa8\x6f\xbd\x4b\x6f\x50\x47\xb7\x07\x7a\x4a\x32\x7a\x11\x3a\x5a\xa1\x7e\x0e\x02\x21\x99\x51\x8c\xa5\x81\xa0\xfe\x01\x9a\x6b\xc0\x41\x11\x81\xda\x5c\x99\xe1\xc6\x6b\x7c\x7e\x38\x9f\x7d\x9a\xdc\x5e\x7e\x9e\xdd\x34\x18\x84\x71\x4d\xd8\x17\x66\xc8\x64\x7c\x91\xaf\xa7\x02\xc0\xfe\x2d\xd1\x24\xb2\x15\x24\xca\x81\x19\xc8\xd2\xe5\xb2\xd3\xa2\x7f\x57\x05\xb8\x5e\xdb\x18\x92\xd9\x0e\x37\xac\x70\x66\xc3\x79\xba\x45\x02\x94\xa3\x7a\xdc\x4a\x01\x1a\x31\xc5\x2b\x17\xa0\xc0\x0f\x5e\x33\x40\x01\xea\x59\x38\x10\x52\x26\x87\xb1\x92\x81\x95\x3d\xa5\x32\xd1\x5a\x5e\x7d\x9e\xdd\x64\x6d\x96\xa8\xd8\x51\xe4\x52\xfb\x27\xb7\xd6\x22\x52\x5b\x91\x58\x82\x3b\xb6\x2d\x6d\x87\xe9\xc4\xa2\xfd\x6d\x6a\xb7\x55\xa3\x08\xef\xcc\x46\x2d\x9a\xb4\x7e\xb2\xad\x3e\x82\xb5\xf9\xd8\xfc\x73\x33\xa4\x0a\xd1\x89\x75\x0f\x00\x8e\xaf\x44\xf8\xf7\xef\x30\x50\x1e\xb9\xb9\x46\xef\x11\x9a\x6b\x84\xd2\x59\x8c\x95\xf2\xda\x5e\x30\xdb\x09\x80\xc1\x7f\x99\xd0\x3d\xb1\x2d\x14\x08\x08\x5f\xad\xb5\x80\x89\xc5\x50\x7b\x0c\x5c\xcd\xff\x9d\xcd\xae\x96\xe9\x6c\xb5\x98\x2f\xd7\x2f\xe6\xb3\x6c\xfe\xa9\xe0\x70\xab\x0f\xfb\xef\xde\xf5\xfa\xef\xdf\x93\xdf\x1d\xfd\xb1\xce\x96\xb3\x74\x7a\xb8\xcc\xc6\xab\xc3\x74\x95\xed\x7f\x19\xfd\xdf\xab\xd1\xc5\xe9\xc1\xc9\x87\xc3\x8b\xd1\xd1\xe5\x87\xd3\xb3\xab\x0f\x97\xa3\xab\xe1\x56\x72\x76\x70\x7d\xf5\xa6\xfc\x75\xd8\xeb\xd3\xf1\x93\x0e\x55\x07\x08\xe9\xa4\x37\xf3\xfb\xc5\xc3\x3a\x3b\xcb\xbf\x30\x7f\x18\x51\x4a\x81\x8d\x79\xb7\xe5\x93\x5f\x61\xfd\x22\x27\x45\x49\x59\x8d\xa1\x1c\x59\xde\xb4\xa5\x52\x7c\x9c\x8f\x3f\x97\x83\x63\xbe\x9f\x8f\x3f\x37\x53\x63\x56\x93\xdb\x59\xba\x7e\x58\x66\xe5\xbf\x5d\xd6\x7f\x36\x0f\xfc\x3b\xfb\x4c\x68\xff\xb6\x5d\xb4\x7f\xbb\xcf\xd6\xe9\x38\x5d\xa7\xa2\xb6\xf5\xb6\xfd\x4d\x53\xb3\x2a\xe5\x79\xf8\xee\x7d\x32\x4f\x1f\xd6\x77\x05\x21\x34\x6f\x9e\x35\x3f\xc1\xce\x14\x65\x23\xce\x0e\xaa\xd7\xb2\xd9\x7a\x92\x4e\x57\xe1\x87\xbc\x29\x00\xa3\xe9\x66\x32\x1c\x54\xdc\x61\x68\xd1\x75\x30\xfa\x4a\xf1\x9b\xb7\x49\xe3\x6c\x72\xd2\xb5\xe6\x50\x54\x4f\x56\x29\x14\x35\x21\x1b\x3a\xb7\x99\x86\xb2\xfd\x94\x93\xb9\xf2\xec\x4e\xdd\xe5\x4d\xa2\xe1\x47\xed\xf3\x56\x3d\x93\x9b\x84\xb9\xfa\xf6\xfc\xb9\xda\x7a\xad\x87\x36\x67\x46\xae\x0b\xbd\x71\x33\x76\xef\x70\xef\x94\x70\xc3\xfd\x33\x5d\xac\x7c\x39\x86\x6a\xa9\x00\x0b\xab\x4e\xd2\x16\xa7\xa8\x90\x15\xab\xc7\x27\x0a\x35\x3a\xa7\xc0\xff\xc1\xb7\xa4\xee\x6f\xe5\xe5\x01\x3a\xcd\x6d\x8b\x4f\x8b\xb7\x89\xac\xd0\xee\x84\x51\x68\xcb\x87\xd4\xde\xd3\x8a\xa4\x51\x7d\x76\x60\xef\x69\xec\x16\x84\x9f\x6d\x87\x41\x0c\xab\x91\x40\xe2\x94\xa9\xa2\x58\x97\x32\x17\x88\x3c\x2c\xa7\xc4\xb6\xb3\x37\xd3\x49\x36\x5b\x13\xd4\x94\xbe\xf0\xf8\x65\x76\xb3\xcc\xf0\x79\x79\x85\x66\x13\xa2\x76\x84\xcd\x2e\xe3\xa8\x11\x1a\x60\x2e\xaf\xe3\xf0\x79\xa6\xa2\xc1\x59\xba\xeb\xb6\xb1\xd7\xcb\x29\x71\xbe\xeb\x61\x45\x8d\x44\xcd\xe3\x50\xa0\xc6\xf0\x62\x10\xe0\x0e\x1d\xc8\x45\x2a\x37\x0c\x23\x28\xa9\xd0\x28\x92\x33\x3f\x6e\x6a\xeb\xd4\xe6\xc0\xb1\x29\xaa\xf2\x0b\xd5\x91\x23\x62\x33\xc8\x51\x97\x1f\x14\xa7\xe7\x28\x87\xe0\x64\x2c\x82\x76\x1f\x65\x6d\x46\x7d\x62\xae\x59\x91\x01\x77\x44\x47\x25\xe8\x00\x2e\x87\x6d\x29\xe9\xd2\x6d\x6b\xb6\xc3\x6f\x8d\x8a\x0e\x6f\x7b\x90\xf9\x5b\x90\x7b\x2a\x57\x9e\x3b\xb9\x32\x1a\x54\xb7\xd9\x94\x85\x71\x0c\x4e\x84\x24\xc0\x65\x8f\xa2\xf4\x80\xba\x52\xf7\x38\xe4\xe4\x49\xe8\x5b\x1b\x2b\xa7\x93\xfb\x6f\x06\xed\x76\xc6\xad\x5b\xc3\xf9\xa0\x65\x13\x8f\x79\xda\xbe\xf0\x57\xc6\xcd\x67\x9d\x3b\x8f\xe1\x49\x9f\x5e\xd8\xa9\x9d\x30\x36\xe9\x8b\x15\xb0\x9d\x31\x30\xc1\xd0\x66\x46\x4b\x76\x92\xac\x30\x91\x9d\x20\x17\x91\x0b\x23\x6c\x2d\xf2\x21\x39\xd6\x1c\x43\x1e\xd2\x27\xb7\x96\x7c\xc0\xfc\x16\xcc\x63\xd6\x03\x1b\x93\x43\x94\x61\x42\xd7\x42\x1e\x45\xdc\xc3\x90\xf1\xd2\x77\x0d\x81\x38\xd2\x55\x71\x48\xe0\x36\xd7\x29\x32\x82\x57\x05\xcf\x92\xb1\xc2\xbb\x4b\x57\x20\x34\x24\x3b\x06\x3f\x1a\x35\x66\xb6\x97\xf4\x7a\xc9\xab\xa4\xb7\x85\x86\xce\x5e\xfc\x34\x99\x8d\xcb\x40\xd9\x4f\xc7\xa7\x47\x42\x78\xec\xe4\xec\xf5\xf1\xe9\x70\x2f\xb9\xb8\x3e\x3d\x1d\x5d\x0c\x7b\xbd\xe4\xf8\xf4\xe7\xe3\xab\xd1\xf0\x55\x72\x75\x71\xfc\xfa\x75\xfe\xdb\x16\x8a\x98\xcc\xbb\x6a\x58\xa1\x63\x64\xa1\x43\x63\x41\xfc\x4f\x6c\x2f\x13\x1a\xff\x4a\x6f\x6e\xb2\xd5\x6a\xbe\x3c\x1e\x97\x91\xae\x83\xe6\xef\x26\xd4\xf5\x5b\x3a\x9d\x8c\xaf\x67\xeb\xc9\xb4\x89\x41\xfd\xdc\xfc\x54\x78\x06\x57\x2f\xae\x26\xf7\xd9\x6a\x9d\xde\x2f\x94\xba\xe2\xc9\x6a\xf5\x90\x8d\xf3\x7f\x6d\xde\x3d\x6e\x7e\x42\xde\x9d\xce\x6f\x27\x6d\x4d\xcf\x49\xfe\x17\x21\xe2\xf5\xa2\x78\x50\x59\x6a\xf9\x30\x9b\x65\xcb\x66\xad\x8b\xe2\x4f\xca\x62\xe5\x93\xea\x47\xcd\x7e\x9b\x08\x53\x48\x8f\x8b\x3f\x29\xab\x95\x4f\x2a\xab\xad\x97\x93\xdb\x5b\x01\xb9\xab\xf2\x6f\xca\x7a\xd5\xa3\xca\x82\x0f\xb3\x87\x55\x36\xbe\x5e\x65\x4b\xa2\x9f\xb0\x7c\xa1\xd8\x37\xf9\x8d\xef\xe7\xf3\x69\x96\xce\x8c\x43\xa0\x9e\xf5\xea\x17\xcb\xaf\xa2\xbe\x39\x10\xde\x1c\xcd\xd6\xcb\xf2\x83\x9a\xaf\xbf\x56\xfe\x81\xb2\x0d\xed\xd3\x91\x82\x9a\x91\x9d\x90\x34\xf7\x91\xb7\x43\xb1\x6b\xb7\x61\xdf\x1e\xb0\x6c\xb9\x8c\xc1\x1b\x98\x6f\x98\xc0\x15\xb4\xc8\x9b\xc8\x31\xf0\x60\x9a\xc0\xaa\x64\x50\x2f\x83\x83\x12\x38\x9b\x0c\x6a\x8f\x14\x7c\x2c\x39\x17\x33\xd0\x58\xb1\x3b\x1c\xb9\x92\x7f\xca\x78\xf5\x7a\x34\xc4\x4a\x2e\xc8\xc5\xac\xe2\x9d\x38\x6a\x15\x3b\x96\x71\x7b\x45\x43\xad\x64\x3e\x5c\xd4\x2a\x46\x4c\x38\xd2\x92\xb7\x2b\xdb\xb6\x45\xc3\xad\x62\xcf\x5c\xe4\x6a\xae\x8e\x63\x57\x8b\x0a\x05\x3d\x8b\x47\xfd\xba\x91\x0b\x86\x80\x7e\x75\x49\xe7\xf3\xa9\xfc\xb8\x89\x6c\x06\xc0\xf3\xc6\x0d\xdb\xa5\xed\x57\xcb\xc7\xb9\x5b\x26\x48\x00\x7c\xd7\x34\x11\x13\x28\xba\xd0\x45\x0c\x21\x46\xa4\xc0\x27\x1e\x20\xa9\x8b\x78\x64\x5c\x8e\x2f\x2b\x5a\xa4\x12\x5f\xde\x4e\x64\xfe\x4b\x1c\x98\xac\xa8\x97\xca\xa2\x2f\xdd\x16\x6d\x95\x4f\x65\xbd\x3d\x34\x06\x5e\x31\x68\x22\x20\x41\x33\x55\xc3\xed\x60\x8d\x8c\xc4\x71\xa9\x3b\xd5\xea\xad\x0a\xac\x57\x38\xa8\x8a\x83\x12\x41\x89\x3a\xad\xfa\x5d\x5b\x38\xb0\x9a\x23\x5a\xa1\x35\xe1\xa9\x96\xc5\x51\xa3\x54\x22\x9b\x13\xd0\x2b\x38\xdb\x8e\xfe\xa0\xbe\x69\xc5\x93\x03\x9d\xba\x8d\x9a\xac\xf2\xf1\xbb\xf8\xb7\x0b\xac\x2d\x52\xce\x44\x45\xa1\x41\xec\x53\xcd\xf8\xa2\x59\xa9\xf2\x6b\x36\x5b\xf5\x61\x95\x2d\xc9\x33\x77\x33\xdd\xb6\x78\x6a\x56\x85\x45\x75\x0b\x6a\x5b\x94\x40\x88\xc2\x05\xd5\x25\x69\x76\x06\xba\x4c\xe7\x49\x0a\x05\xe1\x18\xf2\x14\x9e\x8e\x52\x12\x41\x1d\x51\xaf\x75\x3c\xa5\x04\x14\x71\x5e\xaa\x09\xb8\x32\x29\x61\xa1\x3c\x7a\x4c\x1a\xc8\xac\x1b\x66\xda\x78\xde\x1b\x8d\x69\x33\x8f\xaf\xf9\x98\x88\xc1\x57\x03\xcd\x68\x40\xc3\xa7\x27\x98\x3e\xb5\xdd\xc1\xd0\x11\x0b\xf1\x46\x13\xdc\xe0\x86\x1d\x31\xe1\x46\xae\xc5\xa5\xc4\xe9\x34\xa0\x45\x74\x01\xdc\x92\x3a\xba\x20\x90\x2e\x31\xba\xa0\x01\xbb\x4b\x57\x20\x28\x38\xb4\xd0\xf7\x56\x47\x2a\x2d\x36\x88\x3e\xa2\xfb\x6f\x69\x0a\x89\xf2\x9e\x39\x13\x73\x42\xd5\x45\xa6\xe9\xc7\x6c\xfa\x26\x5d\xdd\xf1\xdb\x6b\xfa\x64\x55\x5a\x3d\x30\x61\x35\x8c\x12\x0a\x51\x54\xe0\x4e\x21\x9a\x8e\x81\xaf\xd3\xb5\x92\x01\x4c\xcf\x97\xdb\x58\x9e\xd4\xd4\x10\x4c\xd2\x6b\x37\x26\x9e\xa8\x87\x4d\x4c\x2f\x59\x0f\x2f\x4d\x11\xf6\x04\x41\x2f\xb6\x9a\x6c\x0f\x82\xdd\x6b\xd2\xb2\xef\x05\x0e\x31\xe5\xb3\xe1\xa4\x3d\x92\xe4\x48\xc2\xd9\xf4\x91\xcd\xce\x45\xe9\x9f\x68\xff\x54\x03\xdc\xce\xfa\x26\x4a\x7e\x8f\x20\xc2\x49\x0f\x07\xd2\x84\x93\xf2\x9e\xcd\x5c\xfe\xb4\x9c\xdf\x5f\x73\x4c\xe6\x80\x01\xd7\xd5\xe4\x76\xf6\x20\xf4\x96\x28\xfe\x64\x84\x48\xcb\x17\x62\x19\xde\x36\xf7\x7f\x58\xb9\x58\x42\x21\xf2\x55\x3c\x22\x41\x93\x8b\xf8\x3a\x5d\xcb\xc5\x1f\x1a\x32\x74\x33\xc0\x3b\x8f\x8a\x6d\x73\x22\x4f\x15\xa5\x3a\x06\xa0\x2a\x32\xc7\xf1\xac\x2e\x50\x28\x85\x41\xe3\x62\xf1\x14\x06\xd8\x51\xec\xa5\x30\xc0\x4b\x53\x14\x06\x81\x36\x79\x1e\x02\x6b\x40\x80\xe0\x1c\x60\x05\x04\x04\xce\x69\x88\x8f\xb0\xa8\x2c\x96\xfb\x58\x86\x12\x52\x32\xea\x52\x80\x25\x20\x95\xd7\x2d\x46\xdc\x6c\xb2\x9e\xa4\xd3\x9c\x0a\x66\xe9\x3d\x3e\x00\xa1\x17\xb4\xf0\x0d\x63\x04\x31\x24\x52\x05\x8c\x77\x7f\x71\x4e\xc5\x92\x4f\xf8\x72\x51\x5a\x17\x19\xed\x36\x99\x00\xdc\x7b\x02\xc2\xb7\x21\x3a\x87\x85\x6f\x79\x08\x46\x0b\x43\x00\x07\x15\xa9\x9b\x8c\x70\x5b\xe7\x5d\xd6\x41\xc5\xb4\xc6\xec\x67\x6d\xc7\x22\x82\x85\xa6\x49\x73\x49\xb2\x75\xb0\x01\xd2\x97\x9b\x20\x77\xf4\xd1\x85\x64\x0d\xee\x2f\x2e\x15\x50\x82\xab\xd8\xb4\x1b\x0a\x4a\x61\xdd\xc4\x1a\xc0\xc2\x4f\x6c\xdb\x85\xda\x45\x5c\xea\x2e\x54\xef\xb0\x06\xe3\x2e\x5d\xd9\x20\xe0\x9e\x61\x87\x43\x2d\x6f\x57\xf0\x53\x95\xd5\xf7\x6d\xb7\xd3\x55\x71\x23\x1f\x2f\xa5\x7c\xc5\x72\xbc\xd6\xfd\xa8\xcf\xb7\x52\x19\x7d\x0e\xd8\x0a\x03\x3e\xe1\x6d\x6f\x5d\x52\x08\x9c\x05\x51\x24\xcd\x41\x7c\x9a\x16\x69\x78\xd7\xac\x42\x8e\xb3\xc5\x74\xfe\xf9\x9e\xd6\x6b\x21\xb0\xfe\x08\x05\x99\xc3\x2a\x8f\x2d\x24\xa2\x5e\x42\x8b\x7f\xd3\xd4\x46\xda\x5a\x9d\xe9\x8c\x47\xc2\x89\xfb\x2a\x8c\x46\x92\x8f\xa7\x2d\xe2\xa1\x69\x2f\x55\x11\x5f\x1e\xd4\x13\xa5\x8d\xf5\x55\x12\x8d\x3b\xab\x00\x89\xa9\x1d\x59\x4e\xd6\x02\xdf\x45\x47\xf2\x63\xb6\x75\x5a\x5d\x10\x4e\x6b\xa8\x45\xa1\xb1\x59\xf5\x45\x33\x8f\xe5\x3a\xb3\xc3\x71\x58\x6b\x3a\x76\x58\xf6\x5a\x81\x21\xde\x62\x42\x8e\x38\x8d\xb1\x12\x16\xea\x8c\xab\x4a\x9e\x62\x2f\x9e\xaa\x53\x76\x3c\x86\x8a\x24\xa7\x7a\x71\x53\x64\x6d\x90\x95\xd2\x7d\x9b\x0e\xdb\xd9\x99\x85\x69\x3a\xc9\xae\x4c\x4c\xe9\x73\xdb\x4c\xf7\x88\xdd\x11\x6c\x20\xdd\xba\x22\x08\x55\x56\x78\x5b\x02\x00\x34\xbb\x1d\x82\x2b\xe0\x95\x79\x9b\x83\xf7\x41\x90\xbf\xb5\x2d\x43\xe0\x1b\x99\x62\xf1\x18\xc1\x86\x94\x3e\xd5\x04\x37\xac\x01\xa9\x58\x8e\xe0\x87\xd6\xd6\xa3\x50\x94\x41\xb5\x20\x25\xd3\x11\x04\x82\x9b\x8f\x9c\x83\x6b\x4b\x3d\xfc\x0e\xee\x25\xf3\xe0\x4c\x70\xc9\x07\xf7\xd2\xe1\xe0\xc0\x0f\xad\x0f\x4e\x28\x7c\x71\x3a\x38\x10\x08\x7c\x70\xac\x0d\x8c\xec\xa7\xdb\x63\x1e\x26\xcd\x41\x67\x69\x33\xb1\xc7\x6c\x22\xe0\x70\xf6\x61\xbd\x79\x01\xdc\x78\xac\x0d\x6e\x4a\x9a\x82\x9f\x76\x55\x93\xda\x03\x27\xeb\x18\xce\x5b\x45\x87\xd9\x57\xa4\x17\xff\xc4\xad\x1b\x56\x1f\x79\x55\x24\xe6\x74\xe6\xd6\xc5\x91\x86\x21\xac\x6d\x6e\x8a\xcb\x22\x79\x6d\x93\x57\x5c\x8e\xad\x60\xc3\x3b\xf4\x57\xf1\xcf\xdc\xba\x5d\x0d\x77\x2f\xeb\xce\xdc\x38\xbb\x6d\x71\xf8\xcc\x59\x9b\xdc\x16\xf9\x05\x3f\xf3\xba\x8c\xba\xc7\xfa\xee\x95\x01\x21\xe6\x5d\xdf\x8a\x7f\xee\xf6\x3d\xab\x0f\xbe\x2e\x9d\x74\x3a\x79\xfb\xf2\xc8\x75\x67\x01\x92\x0a\x2f\x63\x1a\x83\xd2\xe9\x9a\x40\xc6\x36\x02\x85\x62\x51\xec\x3b\xad\x1d\x50\xca\x46\x62\xcf\xb8\x72\xcb\x08\x1a\xb6\x8c\x04\x0c\x9a\xfe\x65\x4e\x1f\x4c\x63\xe6\xe0\x17\x0f\x5c\xbf\x98\xc8\xba\x6d\x9f\x3c\x70\xfc\xe4\x6e\xea\x8f\x76\x9d\xb6\xc4\xab\xfe\x68\xd7\x81\x4b\x11\xb6\xa4\x66\x57\x5a\xd5\xb3\x13\xdf\x22\x00\x84\x19\xd8\xae\x87\x73\xfc\xcd\xdb\x83\xc3\x9f\xb2\xcf\xbe\x6e\xf1\x7a\x19\x86\x43\x5c\x7d\xc5\xb3\xec\xe8\xdf\x59\x35\xda\xe6\xa7\xac\x99\x6c\x13\xc2\x2f\x5e\xa3\x19\xcd\x23\x5e\x01\x40\x1d\xb0\x56\x44\xe8\x5e\x70\xc2\x12\x4f\xa8\x90\x48\x9a\xe5\xf2\x53\xf6\x39\x40\x42\xb0\x4e\xed\x31\x5c\xe5\x35\x94\xb0\x4e\x72\x64\xd5\x40\x25\x43\xc2\x38\x0f\x4a\x93\x13\xd6\x5e\x47\x2c\x18\x32\x1d\x6c\xbc\x5a\x21\xe3\xa7\xfd\x94\x39\x76\x8a\xc6\x9c\xe5\x36\x68\x6e\x7e\xf2\xfc\x22\x81\x7e\x6a\x00\x1c\xdb\x37\xee\x00\x6c\xa5\xec\xa4\x83\x3f\xdc\x55\x16\x1e\x65\x37\xf3\x71\x56\x48\xe8\x40\x73\xe9\x0d\x2b\x32\x24\x24\xf0\xb6\x59\x58\xae\xf3\x47\xbb\x0b\x19\x1b\xf0\x8b\x26\x25\x75\x58\x28\x1b\xa6\xa0\x47\x97\x9d\xbc\xd5\x3a\x0b\x23\x17\x08\xb9\x47\x90\x41\x92\x8f\x21\x1b\x0d\x00\xc3\x8a\x49\x3a\x00\x30\xa0\x5c\xee\xab\x7b\x2c\x19\xdc\xd8\x7a\xfd\x38\xb2\x10\x39\x53\x15\x74\x97\xa9\x38\x12\x6a\x61\xa6\x8c\x9b\x96\x74\xe5\xb1\xc4\xb9\xe2\x25\x9b\x6d\x5a\xd8\x56\x94\x82\x56\x7b\xaa\x9d\x70\xab\x3e\xd7\x42\x2f\xdc\xea\x17\xd6\xa8\x4b\x7b\xd5\xa8\xe3\x04\x72\xd3\x8e\x74\xc3\xd6\x89\x33\xc7\x49\x08\x3a\x32\xf6\x38\x53\xc6\xa9\x06\x12\xa1\x7b\x2e\xb3\xf4\x92\xd0\x56\xb3\x12\x20\xfc\x62\xd5\x86\x06\x9d\xc7\x45\x52\x9a\x7e\xd6\x77\xc2\xdf\xf8\x83\x99\x4f\x74\x61\x17\x65\xea\x38\x03\x02\x60\x20\x7e\xa3\x34\x30\x6c\x38\x9a\xda\xbe\x10\xaf\xc2\x24\xf7\x48\x14\x79\x1d\xbb\xac\x14\x1d\x8c\xc9\xdd\x33\xbe\x6c\xe6\x7a\x42\x13\xd0\x23\x8c\xd1\x26\x51\x68\x1b\xe2\x3a\xb0\x25\x0b\xc3\x2d\xa3\x36\x96\xdd\x68\x62\x36\x05\xb5\xe0\x9e\x4f\x18\xd4\x5d\xba\xb2\x01\x42\xa2\x37\x7e\x47\x5d\x13\x52\xe8\xe3\x6e\x99\x23\x58\x09\x84\x9f\xbb\x8e\x60\xa8\xb2\x2a\xca\xd9\x03\xdb\xd3\xc6\xec\xea\xab\x1c\x82\x06\x00\x80\xf1\x5a\x71\x15\x81\xa6\x90\x76\xbf\xbe\x20\x43\x25\xb5\xbf\x6c\x6b\x7e\x32\x7e\x58\xa6\xf9\xcf\xd4\x11\x08\x2b\x61\x02\x43\xd5\x3f\x16\x50\x38\x2f\xb2\x4f\x2f\xf2\xa7\x2c\xa3\x1c\x88\xa3\x10\xb6\x8b\x98\x58\x80\xae\x26\xfa\xf6\x44\xd3\x4e\x35\x50\xa8\xc4\x27\x20\x47\xd7\x4c\x59\x8b\x75\xed\xb8\x3f\xaa\x68\x8e\xab\x3a\xd6\xd4\x44\x57\x1a\x1b\xfa\x23\x74\x3b\xd7\xfb\xbd\x6f\x1b\xfb\xb7\x6b\xcd\xe4\x9d\xb5\x4a\x88\x77\xc4\xd0\x29\x75\x78\x61\x35\x4a\xf2\xfa\x94\x80\x43\x43\x24\xbc\x86\x23\x0d\x4f\xe2\x28\x86\x0d\x99\xa0\x8d\xb3\x0d\x0d\xba\x0b\xda\x40\x46\xad\x42\x27\x2d\x7c\x6b\x1c\xa7\x0e\x4c\x66\x06\xe0\x41\x03\x1e\xc8\xa7\x53\x52\x61\x18\x0a\x54\xc3\x22\x40\xd5\x09\xd9\x11\x52\xae\x0c\x5b\x67\x82\x80\x96\xd9\x03\xe6\xad\x68\x32\x06\x56\xa4\xec\x26\x08\xcc\x5d\xba\xb2\x00\xf1\xa8\x48\x47\x0e\x98\x98\xed\x06\x26\xc5\x6c\x23\x49\x31\xc8\x79\x52\xf3\xdb\x6c\xb9\x31\xdb\x5e\x8e\xcb\xd7\xd9\x2c\x5b\xa6\xeb\xac\xcc\x28\x0d\xa9\x2a\x02\x2b\x33\x74\x46\xc2\x2a\x81\x94\x47\x42\x42\x46\xbf\xed\x03\xbb\x7a\x9b\xb6\x8d\xf1\x4e\xea\x5f\x36\x36\x37\xbf\x9b\x8b\x9f\x57\xdd\x88\xe1\xbb\xf7\x21\x34\x44\x60\x33\xa2\xa9\x8a\x76\x98\xa8\x44\xe7\xa0\x4b\x57\x1e\xdd\x56\x7d\x42\x5a\xa4\x69\xaa\x8f\x71\x84\x56\xa6\xd0\x96\xa6\x59\x6e\xc8\x1f\xb5\x7c\xf1\x36\x35\x74\x63\xca\xff\x31\x91\xcf\x5d\xb8\xdb\x2d\x2e\xa4\x67\x72\x56\x9c\x3c\x7f\x5e\x08\xf5\x4d\x6f\x1d\x93\xc4\x7d\x62\x28\x9b\x00\xe0\xb0\x5a\x27\x1f\x50\x50\xf5\x93\x96\x20\x23\xcd\xef\x6f\x09\xee\xd9\x56\xae\x48\xce\x8b\x1f\x8b\x37\x37\x36\xf3\x77\xe7\x2a\xe6\x1b\xdb\x02\x81\x95\x1f\x21\x1c\x9f\x00\x88\xf4\x90\xe3\x6e\x76\xa8\xb2\x12\xa9\x36\xb6\xee\x4a\xdd\x8c\x58\xb5\xae\xd4\x6d\x88\x36\xfe\x9f\xba\x01\x0d\x45\xc3\x78\x68\x83\xa2\xb7\x09\x83\xa2\x49\x38\x94\x25\x60\x3a\x16\xda\xc8\x68\x81\xd9\x2b\x03\xa3\x5d\xf5\xbb\x32\xf1\x3a\xa4\x5e\x67\x58\x91\xa1\xcf\x01\x6f\x07\xd2\xe3\x9e\x78\xff\xe3\xaf\x67\x68\xaa\xe1\xa8\xa2\x69\x99\x3a\x2c\x54\x84\x53\xd0\xa3\x6b\x95\xbc\xd5\x9e\x88\x36\xb9\xf3\x77\xef\x65\xe7\xde\xcb\x4f\x70\x7a\x54\x84\x91\x96\x20\xfb\x8f\xa1\x58\x1b\x00\x86\x55\xa8\xe9\x00\x22\xfa\x71\xad\x8d\xa3\x77\xbe\xbe\xc6\xd1\x0e\x03\x0f\xa3\xcf\xce\x02\xc9\x36\xba\x7e\x8f\x5c\x9a\xd8\x7a\x3d\xf6\xf1\x31\xfb\x2e\xec\xf8\xec\x8b\x6b\x97\x54\xa4\xa0\x11\x04\x1b\xb4\xbb\x02\x08\xc9\xb9\xd5\x82\xfb\x9e\x3e\x89\xbe\xa9\xd8\xa9\xc7\xea\x9e\x8a\x1f\x7b\xb8\x1e\xaa\xd8\xc1\x7b\x74\x52\x75\x3e\xf9\x2e\x2b\x58\xc1\x10\x0a\x46\x00\x01\xca\x59\x11\x43\x1f\x27\x85\xb8\xb5\xad\x18\x79\x78\x17\xba\xfa\xe4\xf8\x9c\x66\xbf\x07\xcd\x3b\xd7\xd6\x63\x58\xf7\xd6\x77\x9f\x44\x59\x8f\x86\x5d\x34\x73\x56\x85\x84\xaa\xcd\x38\x6a\x74\x53\x96\xb3\xd6\xd7\x52\xce\x03\x10\x79\x0c\x2b\x46\x03\x17\xd6\x86\xa1\x2e\x1f\xb5\x90\x07\xd8\xd2\xb8\x65\x3c\xe0\x59\x3e\x66\x11\xcf\xe1\x7c\xf6\x5b\xb6\x5c\x87\x77\x99\xda\x17\x66\xf0\x56\x7c\x91\x27\xc1\x64\xed\x68\x46\xe3\xb6\x56\x90\xe8\x3d\x67\x20\x4b\xe7\xbf\x4e\x8b\x7e\x2d\x8c\x98\x72\x47\x62\x70\x64\x3b\xdc\xb0\xac\x99\x0d\x27\x2a\x8f\xa6\xec\x76\x5c\x66\x4d\x3b\xef\x10\x5c\xdb\x8e\xc2\x32\x4b\xd7\xd9\xe5\x2c\x5d\xac\xee\xe6\xeb\x46\x6a\x88\x6d\xbb\xf6\xdf\xbd\xeb\x25\xfd\xf7\xef\xd9\x8b\x8c\x7e\xcb\x66\xeb\xc3\x74\x95\xed\x7f\x19\xfd\x3c\x3a\xbd\xfa\x70\x7a\x76\xf5\xe1\x72\x74\x35\xdc\x4a\xce\xce\x47\xa7\xc3\x5e\x72\xf8\xe6\xfa\xf4\xa7\x61\x9f\x8f\x9f\x74\x42\x2d\x1c\xe8\x94\x6e\xe6\xf7\x8b\x87\x75\x56\x74\x32\xcb\x1f\x46\xcc\x38\xc2\xc6\xbc\xdb\x7a\xef\x23\x10\xb1\x2f\x73\x93\x86\xe6\x55\x39\xa2\x10\x5e\xc1\x56\xde\x3a\x5f\x08\xd5\xad\x67\x0b\xac\xb8\xd5\x02\x25\x7f\x51\x09\xe9\xdd\xdc\x3d\xcc\xfe\x5d\x36\xe9\x39\xcc\xff\xd3\xd8\xa6\xc7\xb1\x6a\xd5\x82\x45\x3c\x61\x6a\x84\x87\xf3\x67\x22\x9a\x0c\x31\xca\x5e\xf1\xd1\x2a\x58\x01\x4a\xa1\xd7\xb5\x42\xe4\x86\xc7\x8e\x0a\x72\x26\x35\x1c\x2a\x28\x34\x40\x68\x09\x65\x0e\x51\xd4\x00\x33\xd0\xc0\x3a\x00\x0b\x08\xbd\xfc\xb4\x61\x39\x9c\xea\x53\x88\x2c\xf0\x90\x8e\xc1\xe1\x94\x25\x7d\xb1\x3e\x40\xe8\x78\x14\x58\x4c\x14\x28\xc6\x91\x15\x2a\x0f\x76\x14\x18\xd2\x32\x66\xeb\x29\x88\x49\xc4\xb9\xd9\x71\xf9\x78\xc9\x93\x7c\x76\x3d\x3c\x47\xc7\x96\x75\x61\xeb\x3a\x3f\x4f\xf8\xa6\x0e\x89\xac\x3b\xe4\x72\xd0\x9d\x0f\xcb\xea\x20\x48\xca\x71\x78\x2a\xc6\x39\xa4\x80\x91\x0d\xe0\x7b\xe0\x82\x6a\x82\x34\x53\x70\x65\xb6\x21\xf6\x55\xe3\x9d\x6c\x24\x25\x4a\x62\xd9\xec\x3a\x32\x52\xc8\x27\x3c\x1a\x82\xc2\xba\x4b\x57\x16\x48\x1e\x15\xef\x14\x62\x2a\x54\x1b\x9f\x64\xd7\x6f\xfc\xc1\xbb\x35\xaf\x2b\x95\x32\xb0\xa3\x1c\x07\x03\x76\x3f\xbb\x10\xf0\x57\xda\x01\x40\x57\x44\x8a\xfe\x3d\x81\xbb\x81\xd3\x4e\x14\xcc\xc3\x5c\x37\x1b\xf2\x1e\x85\x73\x17\xd9\x6a\x3d\x5f\x0a\x70\x4b\xaf\x0f\xcf\xeb\x62\x59\x24\x84\xd7\xc5\xb2\x74\x7c\xaf\x0b\x61\x63\xfc\xbc\x2e\xe8\x97\x39\x69\xd2\x96\x55\x19\x4a\x34\xb2\x42\x20\xaf\x8b\x05\x4a\xc7\x5e\x17\x0b\x16\xd1\xb4\x75\x33\x3c\x54\x51\xa4\xa2\x49\xd7\xd1\xf9\x2b\x3e\x9a\xd7\x05\xa0\x14\xba\xd7\x05\x22\xb7\xa7\xe8\x75\x41\x99\x43\x0c\x7b\xc4\x02\x34\xac\x29\xc2\x03\x12\xd9\xeb\x02\x91\xc5\x13\xf1\xba\x40\x28\xc6\x91\x15\x5c\xaf\x0b\x65\x19\xb3\xd7\x25\xfb\x63\xb2\xa6\xf6\xdf\xe9\x69\xfd\x77\x1c\xdd\x34\x2c\x56\x10\x97\xf1\xd3\xdc\x34\x8e\xbc\xcb\x51\x04\xc4\x70\xd3\x10\x23\xd8\x65\x83\x9b\x32\x7e\x3d\xfa\x63\xb2\x76\x0f\x5f\xd3\x2e\x4d\x87\x3c\x34\x82\x4f\xc7\x01\x12\x18\xc4\x2e\x76\x5c\x6d\x29\x83\x04\xae\x69\xfb\x5c\x2d\xee\xd5\x7d\xa3\x87\x74\xdf\xa0\x9e\xb8\x82\x09\xb3\x09\x07\x12\xc2\xa6\x18\x2b\x81\x3d\x61\xc0\x77\xc3\x8e\x16\x82\x86\x11\xcb\x13\x46\x33\xad\x3c\xb7\x3a\xa0\x27\x0c\x85\x15\xc5\x13\x46\x21\x26\x6f\x4f\x58\x00\xf0\xd1\x3c\x61\x1c\x0c\x62\x78\xc2\x28\x37\x24\xb8\x27\xac\xbb\xbb\x11\xda\x13\x46\xc4\x3c\xcc\x75\x73\xf7\x84\xb9\xea\xe1\x35\x3a\xbe\x4a\x77\xb3\x0e\x43\xc3\xd6\xde\x89\x17\xc4\x6c\x40\x45\x53\x85\x6b\x08\xa8\x2a\x65\x47\x85\xae\xe4\x52\xd6\x78\xac\xc0\xa3\x81\xa2\x62\x68\xa4\x0d\x98\xb0\xea\x27\xb6\xac\x16\x3f\xf4\xbe\x78\x6f\xd4\x7e\x45\x7e\xf7\xaf\x5a\xce\xe5\x1a\x2a\xaf\xda\x3a\x5a\xfc\x96\x2d\x57\x93\x79\xeb\x15\xfd\xb9\xfc\x1b\x76\x8c\x56\x0f\x1d\xcf\x3e\xcd\x15\x47\xe8\xa7\xf9\xf2\x3e\x5d\x13\xba\x97\x6d\x05\xe9\x0b\xa1\x7e\x6d\x74\x86\x50\x01\xa2\x13\xb4\x0d\x31\x07\xf6\x80\x2f\xf5\x68\xfe\x4f\x81\x20\xe8\xfe\x4e\x91\x8a\x70\xff\x66\x4d\x98\x36\x17\xe7\x68\xf6\x70\x5f\x7b\x38\x7f\x28\xa8\x30\x80\x8b\xd3\x7e\xaf\xa3\x72\xc1\x0a\x5a\x24\x66\x08\xaf\x4e\xf7\x66\x8a\xac\x82\xe3\xd0\x14\xcf\xdd\xea\xc0\xdc\x7a\xb6\xdf\x00\xaa\x8e\x53\x80\x53\x1c\x36\x32\x1b\x4f\xfd\xde\x72\x95\xfd\x2f\xd7\xa7\x3f\x9d\x9e\xfd\x72\x3a\xdc\x4a\xbe\x3f\x3b\xb9\x1a\xf6\x9c\x8e\xbf\xfd\xfc\x80\x76\xb2\xb0\x31\xb0\xd9\x05\x91\xa5\x8e\x57\xa8\x39\x06\x76\xa8\x85\xae\x6e\xdf\x8f\xda\x94\xad\x09\x06\x57\xaf\xed\xa0\xee\xd2\x95\x1d\x90\x87\x25\x0b\x1e\x75\x45\x3a\x8e\x36\xac\xe3\x97\xae\x74\xb8\xa0\x27\x28\xbf\x13\xf4\x3a\xe6\x06\xee\xd5\x32\x9d\x4c\xb3\xa5\x16\x4d\x87\x62\xe9\xda\xcb\x87\x77\xd9\xcd\xbf\x57\x0f\xf7\x65\x20\xfd\xf0\xcd\xe8\xf0\xa7\xcb\xeb\xb7\x42\x2c\xfd\xf2\xcd\x41\x7f\xb0\x4b\xbb\x6c\xf5\xa2\x8a\x11\x2d\x40\x08\x18\x42\x07\xf7\xc1\x2f\x78\x0e\x7c\x90\x9f\x56\x58\xaf\xe7\xa2\x16\xaa\xef\x9a\xad\xb4\xd5\x5d\x9a\x1f\x57\x67\x95\x7a\x1a\x7a\xf1\x15\xb9\x0a\x12\x5d\x28\x5b\x51\x73\x50\xe5\x08\x6b\x75\x56\x85\x77\x59\x9c\xb5\x7b\x1c\x03\x20\xf3\xa8\x4a\x52\x0d\x2e\x92\x96\x84\x2c\x6f\xba\x37\xdf\xc0\x51\xd7\x9e\xa0\xc0\xd0\x6a\xee\x60\x96\x58\x1e\x5c\x9c\x5a\x3b\xf0\x50\x35\xc8\x44\x97\x22\xe0\x6e\xc7\xd8\x30\x53\x98\x29\xaa\x09\x61\xa7\x02\xa3\xcb\x50\x71\x74\x9c\xef\xd2\x95\x15\x63\x5c\xc5\xf1\x16\x57\xdf\xcf\xa7\xa5\xcf\x38\x98\xc0\x6a\x57\x74\x11\x59\xfa\xdb\x36\x67\xc6\xc7\x87\x9b\x7f\x67\xb8\xf7\xa1\x6a\xb2\xbe\xce\xee\xa5\xd6\xe9\xc7\xd5\x0f\x40\xe7\xf4\x64\xf1\xf1\xc3\xa7\xc9\x2c\x9d\x76\x3e\x91\xc7\xb0\x1b\xf1\x65\x64\x03\x8b\xce\x95\x01\xf4\x1c\xe4\x24\x69\xb5\xae\x3b\x60\x7e\x5f\x50\x99\xc1\x11\x91\xc9\x54\xf4\xa8\x3d\xd2\x8b\xb4\x1e\x73\x8b\x74\x60\x64\xcf\x0f\x39\x6d\x87\xf4\x9b\x98\x78\x49\x54\xad\xa0\x05\x18\x49\x2f\x40\x01\x50\x7a\x3d\x56\x24\x44\x6e\x99\x5e\xd3\x14\xb9\x0d\x7a\x3f\x4c\x1b\xf4\x82\x8a\x5a\x3c\x4a\xf2\x60\x8e\xf4\x01\x69\xa1\xd9\x8b\xc8\x6a\x8c\x99\x0e\x35\xd8\x41\x9b\x05\x60\x1f\x5e\x9f\x2a\xb3\x15\x78\x9f\xd0\x0a\x1c\x04\x5d\xa8\x44\x3a\x70\xad\x03\x78\xcb\xc9\x94\x06\xe0\xce\x5f\x5c\xd0\x8f\x57\x8a\x0d\x36\xe0\x06\x3b\x70\x05\x83\x4e\xe7\xdb\xbc\xb9\x99\xfa\x6a\x54\xf9\x12\x0c\x15\x4a\x7c\xdc\x6c\xe8\xdf\xcc\x67\xeb\x6c\xb6\x5e\x55\xb9\xeb\xd5\x5f\x75\xfa\xba\x73\x38\xc7\xd1\x0d\x90\xe3\x1b\x4d\xab\x79\x73\x33\x45\xc5\x88\x11\x01\xba\xde\x82\xbc\x1e\x5f\x51\xa9\xf2\xbc\x4b\x3d\xa5\x3e\xcd\x6e\x43\x26\x32\x95\xc7\x90\xf5\x39\x84\xb0\xc2\x1d\x58\x91\x22\xcd\x85\x6b\x73\xbd\x67\x14\xea\xe5\xb9\x14\x32\xdd\x3f\xb0\x91\x63\x5b\x07\x33\xde\x1c\x9e\x0c\xb7\x92\x1f\x2f\xcf\x4e\x41\xdf\xaa\x7c\x28\x02\xca\x71\xc4\xae\x15\x9c\x63\x1e\x56\x4d\xc8\x60\x2a\x14\x04\x94\x9f\x7a\xe5\x00\x72\x65\xda\x56\x58\xc2\xe4\x70\xe9\x0a\x85\xf6\x85\x11\xe3\x12\xda\xa7\xf9\xc7\x22\x5c\xe5\xe6\x2f\xd5\x7f\xbc\xb9\x99\xfe\x70\x1f\xaa\x06\xcd\xbc\x28\x43\xb6\xc2\x0b\x98\xa5\xed\xef\xed\x3b\xa5\xc0\x15\x16\x31\x96\x8c\x39\xca\x51\x33\x6e\xd1\x24\xab\x11\x1c\xca\xc6\x89\x48\xd2\xa5\x2f\x7b\xc1\x98\x65\x02\xa2\x20\x16\x10\x73\x77\xb3\x63\xb7\x20\x86\xa4\x35\xc3\x0c\x2b\x7b\x59\x30\xc0\xe2\x00\xf9\x32\xa1\x92\xd8\x63\xaf\x65\x60\x71\x64\x28\x0f\x07\x37\xc1\x2a\x12\x26\x28\xe8\xd8\xc8\xb0\x05\x6e\x30\x54\x56\x96\xb3\x71\x10\xc4\xa1\x04\x56\x98\x5e\x75\x96\x55\x3d\x44\x16\xa9\x31\xf6\x63\xc9\xac\xd8\xcd\xe5\xcc\xf0\xd8\x2c\xd1\xbf\xb9\x1c\x7f\xc5\xaf\x5a\x6e\x75\xd2\x9b\xcd\x02\x34\xae\xe4\xf2\x68\xa0\x1d\x4f\x74\x99\x5a\xb3\x74\x2e\xbb\x10\x24\x3a\x16\x5e\x38\x36\xdd\x49\x2f\x53\xe7\x9a\xc7\x16\x5f\xc7\xb3\xe9\x64\x96\xfd\x94\x65\x8b\x74\x3a\xf9\xcd\x5b\x6e\xa9\xcb\xb1\x26\x34\x9a\x5f\xb5\x24\x2d\x4d\x6e\x67\xe9\xfa\x61\x99\xe1\x01\xe0\x6c\x2f\x54\xe6\x92\x8a\x62\xc4\xb1\x84\x12\x20\xc2\xf4\x33\x04\x31\xce\x40\x42\xf2\x52\xae\xa2\x29\xdb\xe3\xe7\x2d\xd5\xc7\xed\x2e\x9b\xec\x94\x1e\x67\x1e\x9d\x0c\x2d\xf4\x30\x3a\xd2\xea\xa0\x18\x6a\xb7\x14\x8a\x4c\x66\x7b\xb0\x08\xb2\xef\xaa\x08\xc2\x51\xf2\x54\x37\xd7\xed\x4c\x4d\xd0\x99\x21\xbf\x6c\xcf\x8b\xb7\x9e\xa7\xb7\x93\x59\x31\xb1\x2d\x90\x1f\x4b\x5f\x90\xc1\x5f\xed\x2f\x9b\x39\xec\x22\xbd\xcd\x2e\x27\xff\x4b\x60\xb0\xc9\xd6\x66\x92\xdf\xfa\xf3\xf4\xb6\x6c\xd5\x4e\x88\x21\x3d\x7f\x9e\xf3\xd9\xec\xb7\xc9\xfc\x61\x45\x7f\x6f\x3b\x14\x27\xd7\x37\x23\x1a\x2f\xd7\x40\xa1\xbc\x83\x80\x1c\x9d\x9f\xb3\x16\x8b\x1f\xb4\xba\x9e\xcc\xd6\xdb\xfd\x9a\xad\x9f\x57\x34\x66\x8d\x5a\xd5\x52\xa0\x8c\x5b\x9d\x8a\x44\x66\x98\xfd\x6a\x7a\xe7\x5c\x25\xb2\x00\x61\x2f\xe8\x62\xc7\x10\x26\x3a\xbc\xb0\xe2\x84\xbc\x3e\x54\x2f\x24\xc6\xba\x9a\x73\x15\xa2\x5d\xd5\xc9\x4b\xb9\x2e\xf2\x81\x02\x72\xa8\x2f\xbe\xa5\x1f\x29\xf0\x26\x92\xb0\x02\x1d\xa5\xf0\x21\xae\xa6\x13\x18\x76\x81\xc9\xc8\x00\x1b\x14\x5f\xc7\xb3\x35\x3d\xba\x84\x7c\xb6\x74\x2e\x71\xda\x39\x20\x1f\x6f\xc1\x20\xe8\x1c\x7f\xec\xec\x55\x32\x73\xdb\x88\x6d\xbf\x8d\x00\xb0\xe0\x6d\x86\x5f\x3e\x8b\x88\x65\x18\x17\xa7\x61\x45\x47\x6d\x86\xe4\xda\xe4\x29\x28\x3d\x47\x05\xa5\x1f\x43\x41\x89\xed\x1d\xd5\x61\xb1\x24\x92\xbf\x57\x94\xb7\x5a\xd7\x29\xc0\x90\xd6\x61\xd3\x54\x62\x6b\x1d\x9d\x38\x56\x0d\x00\xe3\xe9\x1d\xce\xc3\x2e\xfe\xc9\x56\x26\x7a\xce\xca\x04\x92\xac\x03\x9e\x50\x18\xb1\x8a\x79\x63\x11\x22\x09\x23\x57\x19\xca\x85\x69\x1b\x02\x09\x56\x8e\x86\x61\xda\x8a\x60\x92\x15\x51\x33\x2e\xb2\xd5\xfc\x61\x79\x93\x1d\xa6\xeb\xec\x76\xbe\xfc\x7c\x34\x59\x2d\xa6\xe9\xe7\x37\x93\x99\x54\xa0\x7e\x76\xf5\x66\x74\x31\xec\x25\xc7\xa7\x97\x57\x07\xa7\x87\xa3\x61\xbf\xf9\xcf\x0f\x6f\x0f\x4e\x0f\x5e\x8f\x2e\x86\xdb\xc9\xc5\xd9\xf5\xd5\xe8\x62\xb8\x93\x9c\x9f\x9d\x1c\x1f\xfe\x3a\x1c\x24\x87\x67\xa7\x3f\x1c\xbf\x1e\xee\x26\x3f\x5c\x9f\x1e\x5e\x1d\x9f\x9d\x0e\x5f\x26\x97\x57\x67\x17\x07\xaf\x47\xc3\xbd\x3f\x93\xc9\x8b\x79\x21\x15\x5f\x64\x7f\xac\xb3\xd9\x78\x63\x6d\x45\x74\xf3\xcf\x64\x6f\x6f\xaf\x37\x14\x77\xa1\xfe\xef\x7f\xac\x5b\x19\xb3\x55\x33\x0e\x43\x36\xf1\xff\x3f\xab\xee\xce\x77\x5f\xc6\xf3\x59\x36\x7c\xd6\x4b\x7e\x4b\xa7\x0f\xd9\x30\x7b\xb7\xfe\x9f\xff\x79\xff\xe7\xb0\xfa\x79\xeb\xcf\x3f\xff\x2c\x2f\xf1\xf3\x7a\x95\xe7\xfb\xfb\xf9\xc9\xcc\x3f\xfd\xa3\x14\xe3\x2f\xc6\xd9\xa7\xc9\x2c\x3b\x5f\xce\x17\xd9\x72\x3d\xc9\x56\xdf\x99\x7e\xff\x3c\x14\x39\x43\x32\xdf\xfc\x92\x3d\xdb\x3f\x58\x2e\xd3\xcf\xed\x61\x7f\xfb\x6d\xf6\x6c\xbf\x7a\x59\xf8\x71\x23\x7b\xb7\x7e\xbf\x3f\x7f\x51\x20\x98\xab\x46\xd2\xf9\x67\xfb\xef\x9e\x97\x3b\xd7\x22\xf6\xfb\x64\x36\x9e\xff\xfe\xed\xb7\xe5\xff\x27\xda\xbf\xaf\xb2\xe9\xa7\x6f\xbf\xcd\xff\x57\xff\xb7\xdb\xe9\xfc\x63\x3a\xfd\xf6\xdb\xf2\xff\x93\xec\xfd\x37\xb9\xe0\xaa\x76\xf4\x9f\xed\xc6\xfd\xf3\x7f\xfe\xa7\x61\x70\x39\x82\xdf\x4c\x3e\x6d\xcc\xbf\xfd\x76\xfe\xe2\x6d\xba\xbe\xdb\xdf\xcf\xff\x77\xb3\xda\xed\xf9\x9f\xeb\xbb\xe5\xfc\xf7\x7f\x8c\x96\xcb\xf9\x72\xe3\xf9\x61\x3a\x9b\xcd\xd7\xff\xf8\x34\x99\x8d\x2b\x68\xff\xa8\x90\xd8\xfc\xb3\x20\xd4\xcd\x6f\x9a\xe3\x9c\x94\x7c\x74\xf2\x69\xa3\x02\x36\xd9\x5f\x7e\x93\xed\x67\x2f\x56\x8b\xe9\x64\xbd\xf1\xfc\xc5\xf3\xcd\x06\xbf\x74\x7f\xeb\x9f\x69\x83\xdf\xff\xaf\xf7\xcf\xf4\x7f\xfe\xa7\x7c\x69\xb1\x9f\xbd\x4b\xdf\x7f\xb3\xf8\xc7\x64\xf6\x8f\xc9\x7f\xfe\xb3\x31\x79\xb7\x78\xbf\xff\xe5\xcf\xcd\x64\xb2\x9f\xff\xe7\x9f\x1b\xeb\xfd\xf5\x46\xba\x3f\x79\x97\xed\x67\xef\xda\x05\xde\xbf\xdf\xdc\x7c\xb6\x9f\x7e\xfb\x6d\x59\xdf\xb6\xfe\xf6\xdb\xf9\xc6\x24\xc9\x92\x2f\x37\xf3\xd9\xa7\xc9\xed\xc3\x32\xfd\x38\xcd\x69\x24\xc9\x59\x6f\xfd\xdf\x25\x19\xad\xff\xdc\xfc\xf3\xcf\xe6\x2b\xd2\x9a\x28\xe7\xfb\xcf\x1f\x66\x25\x5d\x8c\x9f\x3f\xab\xb7\xfc\xf2\xf3\xfd\xc7\xf9\xf4\xdb\x6f\xcb\xff\x7f\x91\xcb\x91\x74\x3d\x5f\x7e\xfb\x6d\xf6\x4e\xf9\xe9\x7d\x4d\xd2\xf3\xef\xe6\x2f\x6e\xd2\xe9\x74\x23\xdb\x1c\x16\x2a\xe3\x30\x27\xfc\x3f\xff\x9c\x6c\x3c\xaf\x08\x68\xb2\x7a\x2e\xd6\xf6\x34\xa4\x9f\xfd\xe7\x3f\x4a\xc5\x4f\xf5\xfb\xfe\xfe\xfe\xfa\xbb\xdc\x38\xce\xfe\xf3\x9f\xde\xff\xc9\xf6\xf7\x7b\xff\x67\x3d\xcc\x9e\xed\x67\xdf\x7e\xfb\xff\x31\xf7\xf5\x5d\x6d\xe3\x4a\xe3\xff\xe7\x53\x04\x3f\x7b\x73\xa4\x1b\x61\x12\xa0\xb4\x04\x44\x1e\x0a\xb4\xcb\x6e\x5b\x7a\x0b\xdd\xed\xde\x34\x0f\xc7\x49\x14\xe2\x36\xb1\x7c\x6d\x85\x96\x4d\xfc\xdd\x7f\x47\x6f\xb6\xec\x38\xef\x09\xf7\x77\xee\x3d\x5b\x22\x8f\x46\x33\xa3\xd1\x68\x24\x8d\x46\x6c\x07\xb3\x28\x82\x10\xb9\xc0\xca\xe8\xac\xed\x7a\xed\xfe\xb0\x43\x16\x6d\x4d\xb9\x2f\x3d\x37\x2c\xd0\xa2\xab\xbc\x4c\x2e\x03\x61\xac\xb8\x1f\x8a\xd5\x1c\x46\x21\x2c\x70\xe8\x00\x53\xd5\x23\xa2\xa7\x2b\x67\xbc\xb7\xc6\xe3\x0a\x2c\x95\x00\x13\x7a\x66\x0f\x9c\x9f\x80\x95\x03\x54\x81\xf0\x84\x9d\x06\x27\x4c\x77\xbc\x8b\xa9\x52\x4d\x17\x0b\xc6\x62\xe1\xf0\x8e\x84\x4a\x41\x77\x2a\xca\xad\xd9\xa9\x6a\x2e\x3f\x06\x74\xe0\x86\x24\xc3\x54\xda\xca\x88\x73\xb6\x16\xae\x88\x35\x80\xdd\x56\xd3\xbc\xfc\xe5\xe0\x46\xb3\x20\x07\x8d\xf8\xdd\x05\xb0\xc0\x82\xa7\x11\x01\xdc\x0b\x0b\x69\xff\x91\x88\x9b\x58\x9c\x1a\x18\xb5\x1d\xee\xf4\x71\x94\xaa\x48\xf4\x65\xdc\x1a\x05\xaa\x31\x07\x73\x4d\x8c\xcc\xd1\x91\x48\xda\x94\x26\xab\x93\x1a\x77\xa4\x18\x48\xe8\x67\x70\x24\xf0\x42\x18\xb9\x5d\x40\xf4\xe0\x24\x05\x6a\xf4\x66\x2b\x65\x5b\xdc\x2e\xe0\x0d\x62\xc9\x83\x13\x53\x91\xe2\xad\x20\xd9\x37\x5a\xe2\x7c\x3c\x00\xd1\x92\xac\x60\xfb\xc3\x90\xf3\x17\x15\xe4\x68\x0c\xc4\x93\x98\xee\x80\xd0\x21\x4b\x35\xdf\x4e\x35\xef\x03\x22\x36\x26\x4c\x88\x07\x73\x0e\x96\x2e\xb5\x68\xa2\x54\x52\x4d\x29\xeb\xa4\xdd\x49\x59\x5a\x48\x08\x5f\xd0\x9a\x09\x9b\xcb\x99\x17\xdd\x46\x81\xd9\x49\xb2\x43\x79\x17\x45\x66\xb7\xa4\xe8\xec\xa6\x38\xc9\x13\x91\x30\x89\x84\x0b\x09\xb1\xfc\x8a\x86\xc2\x11\xa3\xa7\xe3\xef\x01\x1c\xd1\xf1\x18\x50\xbc\x53\x41\x44\x9a\x03\x86\x02\x08\xe5\x94\x25\x7b\x07\x51\xbc\x53\x55\x56\x63\xa4\x34\xaf\x26\xf3\x4f\xd8\x03\x88\xa4\xba\xe9\x82\x07\x18\xa5\x89\x19\x64\xd5\x41\x58\x09\x6e\xa2\x25\x3c\xe0\x4a\x76\xf7\xe4\x13\x65\xda\xcf\x8b\x6a\xe0\x14\xdb\xd2\xc8\xab\x16\x8b\x8c\x16\x5d\xc6\x27\x1c\x0b\xc2\x82\x38\x17\xe3\xc8\x52\x2a\x2b\x51\x52\x40\x24\xc0\x88\xd4\xf4\x62\x48\x5a\x49\x22\x97\x40\x7a\xc2\xd2\x19\xa0\x84\x69\x26\x72\xcd\x52\x24\x62\xb5\x93\x4c\xd5\x35\x2e\x9b\xf8\x9b\x5e\xd1\x70\x91\x44\xb4\x2e\xda\x13\x16\x54\xfc\x25\x14\x34\xcd\x7e\x3f\x67\xe5\xaa\x76\x11\xb9\x56\x30\x4c\x6c\xd6\x23\x5e\xa2\x1a\xaa\x87\x04\x8c\x92\x10\x81\x51\x8e\xeb\xc0\x64\xeb\x43\xc0\x50\xaa\xfd\x54\xf3\x0f\x93\x3a\xe4\x02\xe9\xc4\xa5\xb2\x3a\xe6\x81\x55\x27\xc0\xdc\xcc\xda\xc4\xed\x82\xca\x8e\x1c\x1f\x2d\x98\x37\x41\x87\x84\xb1\x3e\x01\x56\x99\x94\x2d\x54\xb4\xca\xac\x6c\xc1\x5a\xdc\xc1\x4e\x9f\xaf\x26\x9f\x14\x54\x87\x4f\xad\x21\x73\x18\xb1\xca\x0a\x65\x41\xd9\x47\xa2\xed\x23\x93\x7f\x7c\x03\x19\xc2\xbe\x99\x1a\xaf\x4c\xce\x4e\x6c\x72\xf4\x78\x25\xb8\x72\x42\x4e\xd3\x83\xbc\x5c\x26\x30\xb4\x5b\x52\x79\x9d\x06\x69\xc2\x82\x39\x20\xa5\xb9\x09\xc5\x92\x92\xea\x99\xd3\x6c\x99\xe6\xf4\x6f\x6c\xae\x89\xfd\x23\xd7\x58\xa7\x68\x1f\xe6\x2e\xf8\xd2\x26\x5f\x8f\x4c\x1a\x23\xa3\x93\x96\x9f\x9a\x96\x3f\xd5\x04\xd7\x30\xb3\x15\x6a\x98\x85\xc0\x9c\xc2\x73\xd4\x8c\xd4\x53\xe6\x3f\x78\x1a\xb9\x80\x00\x06\x8d\x86\x1d\xd1\x62\x8d\x09\x9b\xe1\x22\x07\xf9\x38\x3b\x73\x48\x75\xc1\x04\x39\x98\x45\x30\x3e\xc4\x16\x5c\xfe\x00\x9c\x06\x17\xa2\x00\x50\xe4\x40\x88\xfc\x34\xf5\xa2\x9d\xbc\x05\x8b\xa8\xcd\x79\x53\x99\x97\x26\xf4\xf5\x47\x76\xff\xc4\x9c\x0e\x95\x69\x08\xec\x56\xbc\x31\x42\x40\x60\xb7\x33\x9b\x1e\xcc\x2c\x8b\x37\x34\x4c\x5d\xff\xec\x91\x9f\x3e\x69\x33\xd2\x91\xea\x5b\x2b\x5a\x65\x8e\x55\xda\xd0\x40\xce\x70\xe6\x24\x58\xe7\x0a\x47\xd5\x98\x55\x33\x1b\x15\xa4\xab\xde\xc5\x6e\xac\x2c\x79\x7c\x4f\x4c\xcb\xbc\x43\xa9\x9a\x98\x79\x4d\xa7\x9d\xbb\x93\x9e\x5b\x4f\x0f\x8e\x00\xf3\x6e\x44\x7c\x66\xe5\xce\x20\x80\x27\x3b\xbe\xcd\x57\x30\x27\x49\x11\x74\x81\xaf\xd6\x10\x5c\xb3\x11\xd5\x2d\x3a\xfd\x49\x3b\x47\x25\x42\xee\x7b\xc9\xda\x85\x78\x9d\xc9\xd1\xd6\x5d\xd0\x68\xc2\x09\x17\x23\xdd\x4f\x0e\x60\x93\x73\x16\x85\x23\x5f\x2c\x67\x50\x05\xe3\xdd\xdd\xb0\x54\x22\xc0\x57\xd2\xf6\x71\xa3\x89\x42\x5c\x29\x74\xe8\xc8\x97\x92\x55\x59\x0e\x50\x58\x2e\x23\x17\x04\x09\xfd\x0e\xf0\x63\x3f\x1d\x22\x66\x92\x1a\xfd\xe8\xb9\x7d\x02\x76\x24\xa9\x8a\xcb\x48\x79\x93\x3e\xf6\xc7\xe3\x51\x84\x42\xd1\x9d\xe3\x31\x9f\x93\x92\xe5\x86\x62\x21\xbd\xc0\x40\xc2\xdf\x0c\x63\xcf\x81\xe2\xca\x09\x4d\x3c\x07\x5a\x2e\xc3\xd8\x51\xe2\xbe\x69\x83\x34\x28\x5f\x3a\x18\xc9\x31\xe2\x21\x93\xf8\x6e\x3d\x00\x47\xc9\xaf\xb6\x61\x80\xd4\xd0\xe5\x5e\xab\xb1\x3a\x13\xa6\x71\x47\xbb\x6d\x16\xc7\x6a\x15\xb2\x93\xa8\x70\xce\x35\x88\xc3\x7f\x4c\xc2\x48\x17\x58\x53\xc7\x0a\x92\xa5\xec\xb2\xd3\x66\x54\xfa\xe1\x7a\x99\x21\xc8\x69\x48\x7a\x8a\x7f\x8a\x85\x65\xd3\xc2\x98\xea\xd6\x14\xa5\x29\x30\x41\x8e\x80\x1a\x8f\x2d\x4f\xec\x64\x1a\xb6\x49\x09\xb0\x54\x92\x9d\xcc\x57\x1e\x42\xea\x6d\x92\x2a\xf2\xd5\x02\xfa\x3a\xbc\xf2\x86\x03\x22\x16\x5d\xa5\xd2\x4e\xfe\x07\x60\x49\x0c\x16\x9c\x94\x42\x4c\xd6\x1b\x25\x75\x45\x99\xd1\x16\xe7\x75\x9d\xc6\x79\xfd\xa4\xe9\xd8\x1e\x47\xda\xe3\x49\x99\x68\xdd\x10\xd6\x2d\x67\x45\x39\xa9\x34\xc3\x1c\x35\x49\x57\x12\x78\x95\x53\x34\x1e\xa7\xda\x13\x63\xac\x8f\xad\x76\x9f\x86\xc3\x80\xdc\x0f\xdd\xce\xbd\x55\x06\x55\x72\xfc\x4f\xb1\x8a\x0a\x1c\xaf\x43\x07\x00\x9e\x9d\x9d\x55\x20\x7a\xc2\x95\x64\x5c\x74\xf4\xa6\x85\x5e\x34\x08\x7a\x6d\xc7\xf7\xfb\x4f\x80\xd8\x2d\xd7\xeb\x20\x27\x78\x18\x0e\x88\xc7\x42\x98\xd0\xfb\xa0\xeb\x49\xdd\x35\x2d\xaf\x50\xa8\xfd\xd3\xb8\x96\xd2\x06\xc9\x5e\x90\xdd\x1a\xb1\x43\xde\xab\x52\x17\xe3\x2a\x68\x1f\xe6\x6c\xf1\x48\x7d\x5e\xa4\x7e\x5c\x3b\x0b\x3c\xf4\xc2\x9e\xdb\x65\x8a\x3f\x8a\x44\xba\x4f\xf9\x43\xd8\xcd\x68\xea\xc6\x52\x02\x66\x88\x23\x91\xc7\x8f\xb4\x1c\xc1\x0f\xac\x75\xd1\x5c\x83\xb9\x5e\xa7\x54\xda\xad\xee\x4c\xfb\x18\x8f\x4d\x00\x6d\xd7\xeb\x90\x9f\x37\x5d\x60\x79\x0e\x73\x1f\x49\xb1\x4d\x3b\xc4\x82\xf5\x4e\xed\x01\x2a\x52\x44\xba\x0d\x83\x1a\x2e\x9f\x4f\xf8\xd2\x61\xc4\xf6\xe8\x0f\x63\x7d\xae\xa9\x2a\x73\xb3\xce\xbf\x47\x89\x02\x74\x73\xe6\xe0\xc8\x58\xef\x60\xc3\x74\x20\x62\xdf\x66\x7e\x27\x70\xc2\x17\x43\xa9\xd7\x05\xa9\x17\xb2\x60\xd8\x66\x34\xc0\x24\x11\x55\x2b\x59\xf4\x8e\x0c\x09\x0e\xa4\x04\x51\xa0\xd7\x61\x13\xfe\x65\x0b\x53\xbd\x06\x0f\x92\x7a\xef\x93\x7a\x7a\x43\x1e\x63\x4c\xeb\xa3\xa8\x46\x35\x02\xa2\xeb\x51\x8d\x49\xa1\xec\x26\x35\x82\x3a\x97\x67\xcd\xc0\xfc\x5a\x63\x46\x2e\xd2\x4b\x64\xcf\x19\x90\x04\x9d\xab\xd1\x39\x49\xad\x37\x5a\x13\x26\xa8\x51\x9b\x1e\x66\x8b\xe4\x47\xb1\x55\x8b\xcf\x41\xf8\xcf\x01\x5f\x38\x08\x76\x12\x94\xb7\x09\x8b\x7a\xb2\x36\xed\xfe\xeb\x7a\x20\x26\x6c\x4e\x2f\x45\x81\xdd\x1a\x8f\x99\x29\x7c\x14\xd8\x5d\x14\xd8\x0e\xe2\x2e\x53\x82\xf5\x8e\x9b\x1c\xe5\x6e\xa9\x25\x58\xb1\x52\x53\x46\xe7\x03\x95\xa3\xd9\x2a\x28\x27\x4c\x95\x9f\xb7\xdb\x24\x0c\x8b\x1d\xe2\xb9\xa4\xc3\x17\x7f\xea\x4a\x7f\xb1\x43\xdb\x42\x0f\x2d\xed\xa1\xa9\x0a\x6f\xdc\x3e\x29\x8a\x5d\x41\x3a\xf4\x3a\x96\x0e\x95\x89\xbf\x06\xa4\x4b\x7f\x16\x43\xb7\x4f\x3c\xd6\x7f\x2a\x12\xde\x28\xd1\x70\x87\x71\xb3\x3e\x37\xfe\x8e\x9c\x51\x87\x21\xa3\x03\x09\xa9\xe0\x5e\xc4\x70\x5e\x91\xfc\x6c\x13\x5f\xaa\x72\xbb\x3d\x0c\x12\x64\x47\x1a\xe8\x57\xc6\x7c\xbe\x7e\x15\x3b\xf2\x45\x87\x15\x0f\x2b\x95\x22\x0d\x8a\x2f\x2a\x95\x62\x9f\x3c\x92\xbe\xaa\xf0\x52\x57\x50\xc7\xe2\xc5\x1f\x4e\x58\x74\x5a\x34\x60\x31\xce\x57\x59\x10\xe6\x0e\x48\xa7\x48\x87\x5a\x0e\xc7\x1a\xe0\xae\x47\xc4\x9a\x79\x18\xb4\x49\xd1\x0d\x85\x48\x9c\x47\xc7\xed\xf3\xf9\xa5\x48\xbb\xdd\xbe\xeb\x11\x2b\x76\x65\x55\xad\xcf\x5e\x40\xda\xf4\xc1\x73\xff\x26\x1d\xc9\xb1\xb4\x03\xc6\xb8\xb9\x51\x0b\x78\xd1\x5d\x76\xdb\xf1\xd9\x30\x20\xb7\xcc\x69\x7f\xbf\xe3\x1e\x27\x9c\x52\x2e\x0f\x0e\x6e\xd4\x92\x5c\xce\x3c\xca\x7e\xdb\x21\x87\x2a\xb0\x52\x49\xae\xbf\xc4\x4f\xcc\x60\x44\x74\xc9\x40\x9e\x48\xe8\x0d\x3d\x02\x0d\xb5\xba\x4a\x0e\x45\xd5\xc6\xa8\x85\x02\x0c\x0c\xcf\xeb\x1f\xa1\x15\x9f\x70\xed\x56\x91\x8b\x2b\x27\xee\x69\x70\xe2\x96\xcb\x90\x96\x31\x69\xb8\xcd\x32\x70\x4f\x99\xde\xc7\x67\x0d\xb7\x59\x13\x95\x0a\x37\x6a\xc5\x25\xb6\x3f\xca\xa4\x11\x34\x8d\x86\xff\xd4\x76\xe5\x9b\x58\x24\xca\xa1\xe9\x72\xcf\x53\xee\x07\xe8\xfd\xbc\x16\xbe\xd4\x83\x5f\x0d\x63\xb9\x4a\x4f\xf6\xfb\x92\xea\x0f\xb8\x12\xb5\xd2\x67\x47\x53\x97\x3c\x7c\x99\x1a\xa1\xd6\xb4\x1d\x1f\x05\xaa\xdc\xb1\xef\xe4\x29\x54\xab\x5b\x18\xa1\x41\xba\x09\xa5\x4c\xea\xdc\x67\x5a\xce\x94\xee\x44\xbd\xf7\x84\xf5\x68\xe7\x92\x84\xed\xc0\xf5\xb9\xd5\x9d\x52\xb3\x9d\x57\xd3\xe9\x38\xcc\x99\x56\xa3\x35\x51\xe3\xc2\xe9\xf7\x6f\xc4\x38\xcb\xbb\xd5\x2f\x39\x8b\xd0\xfb\x2c\x63\x72\xd0\xcd\xe1\xac\x3d\x51\x71\x1e\x7d\x93\x4d\x2d\x2a\x8b\xd6\x44\xcd\x5b\xe6\xb0\xe1\x54\xa6\xba\x11\xea\x82\x1b\x24\x86\x0a\x44\x37\x46\x55\x31\x35\x58\x17\xc2\x3a\x49\xdb\x89\xba\xe0\x0a\xdd\x40\x74\x35\x01\x75\x1e\x86\x24\xe0\xd8\x95\x91\xe5\x23\xe5\x12\x57\xd0\xdf\xb8\xba\xff\x2a\x99\x9c\x3f\x9a\x73\xa2\xd8\x55\xb4\x5b\xf8\x00\x11\xfb\x1b\x16\x06\x25\x64\x01\x71\x06\xdc\x9c\xb4\x02\xfa\x9d\x78\xc5\xff\xb5\xca\xc4\xee\x97\xad\x3d\xab\x4c\xcb\x96\x2d\x6d\xb8\x58\xf9\xf2\x5f\x7f\xba\xac\x57\x74\x3d\x7f\xc8\x6a\x5f\x3d\xab\xcc\x24\x17\x80\xd8\xdf\xa4\xf3\xf0\x88\x2e\x26\xdc\x2b\xe5\x86\xd4\x73\x8f\x16\xa6\x00\xab\x95\x05\x62\x71\x62\xc2\xda\xc4\x0e\x95\x15\x0a\xdb\x61\xac\x1a\xb4\x93\xac\x3e\xc4\x87\x28\x6c\x3c\xae\xee\xe0\xd8\x1c\xec\x56\x6b\x71\x43\x80\xa1\x0a\x9c\xb3\x7c\xa3\x45\x57\xc4\xc1\xf0\xb5\x1b\xe6\xcb\x2d\x7d\xd0\xa2\x66\xdd\xdd\x6a\x84\x7e\x53\x96\xcc\x5c\x25\x05\xee\xa0\x9e\x77\xee\x21\xbe\x80\x14\x4b\xfa\xe3\xde\xff\x35\xbe\x86\x5f\x7f\x3a\x95\xe6\x3f\x01\xff\xeb\xb6\xf9\xcf\x3a\x8c\x8b\x7e\xd9\xb3\xc9\x4f\xc2\xd7\x83\x8d\x6a\xd3\xf0\xc0\xde\x9a\x22\xe5\xce\xa1\xc1\x9e\x61\xde\xbe\xa7\x0f\x75\x4e\x99\x90\xc4\x19\xab\x57\x6b\x95\x88\xd4\x84\x09\x7f\x87\xb9\x87\xf2\xe8\x3e\x38\x8c\x06\xdc\x0d\x7f\x27\xbd\xe6\x6f\xf8\x9d\x3d\x0c\x49\x70\xfe\x40\x3c\xc6\xcb\xbf\xc1\xd1\x23\xfe\xa6\xf7\x4f\xa3\xe8\x11\x5b\x96\x50\x81\x73\x6c\x19\x9e\x43\xb1\xe7\x84\x37\x3f\x3c\x7d\xd2\x59\x74\xc3\x8f\x5a\x40\x37\xdd\x62\xde\x4a\xa9\xc8\xe8\x3b\xda\x76\xfa\x2a\x5e\xa1\xa8\x1d\xda\xa2\x58\xdf\xdf\x74\x2d\x3d\x09\x14\x2d\xe3\x30\xf0\x3f\xc9\xea\xa7\x6a\x1e\x02\xd6\x2c\xb3\x77\x1b\xcd\x93\xca\x29\x2b\x95\xe2\x1e\x86\x54\x9d\x3f\xd8\xc2\xab\x07\x10\x22\xb6\xbb\x1b\xc7\x3e\xc5\xcb\xd0\x18\xec\x1b\x75\x3d\x81\x15\x22\x9a\x48\xf6\xda\xe8\xde\xeb\x86\x55\xb4\x9a\x80\x40\x44\x22\xf9\x37\xee\x89\xd1\xf9\x19\xdd\xa3\x0f\xf8\x2d\x78\x44\xd6\x8d\x4f\x02\xc7\x82\xe8\xa7\xfc\x79\x17\xb8\x1d\xee\xf8\xc0\xf1\x58\xfc\x7e\x7f\x7b\x7d\x65\x41\xf4\x87\xfc\x7a\xd5\x79\x20\x16\x44\xbf\xca\x5f\x6f\x49\xfb\x3b\xb5\x60\xa9\xb4\x03\xde\x82\x47\x9b\x0b\xeb\x07\x09\x44\xe2\x68\x88\xac\x1f\xa4\xf5\xdd\x65\xe2\xb3\x51\x57\x43\x4f\x6b\x29\x03\x8e\x7e\xc1\x0b\xa3\x4e\x7a\xe0\xaf\x38\x4c\x27\xb4\xb5\x2b\x17\x0b\xb2\x4e\xe2\xb2\xf7\xb4\x43\x6a\x72\x54\x6b\xa5\xfb\x17\x9f\xe1\x7f\xc7\xe0\x1e\x3f\xa2\x5f\xeb\x7b\xc1\x63\x0d\x34\xfe\xef\x2b\x3c\x69\x96\x21\xf8\x0a\xc7\x27\x50\xe9\xfd\x3d\xac\xfd\x51\xdf\xe3\x0d\x7f\xdd\x03\x8d\xaf\x9d\xaf\x76\xb3\x6c\x7c\xfb\x59\xdf\xfb\xda\x02\xf5\x1a\x67\x6a\x1c\x3c\xc2\x46\xad\xd8\x9c\x8a\xe8\x97\xfa\xde\x9f\xa4\xf5\xbb\xcb\xbe\xee\x81\xaf\xb7\x26\x9a\x0f\xf5\x3d\x50\xaf\xa9\xa4\xed\xb0\x51\xfc\xba\xd7\xac\x67\x40\x94\x51\xe2\xe3\xe0\xf7\x52\x09\xfc\x0b\xff\x5e\xff\xbd\x51\x6d\xd6\x2c\xde\xa7\x52\x0c\x5f\xf0\x5f\x72\x1d\x2b\x17\xdc\x5f\x4a\xa5\x2f\x67\xbe\x13\x84\xe4\x4d\x9f\x3a\x0c\xfc\x0b\xc2\xd1\x67\xed\xfd\x7c\x81\xc9\x38\xfa\x8c\xff\x25\x86\xd1\xbf\xf1\xc8\x18\xe1\x24\xf7\x90\xc7\xd8\x56\xfe\x77\x21\xed\x1d\x18\x47\x00\xa9\x01\x28\x0d\x2b\x45\x04\xd6\x69\x83\x34\x6b\xfc\x3f\x98\x01\x18\x01\x82\x40\xe6\xf8\x4c\x1d\x85\x21\x8a\x7f\x03\x8a\xd2\xcf\x10\x9a\xbb\x5f\x41\xf2\x85\xa4\xbf\xb8\xc9\xe9\xab\x3e\xa2\x45\x81\x5e\xc7\x23\x07\x57\x4e\x2a\x62\x3b\xc2\x39\x75\xcd\xb3\x78\xda\x70\x9a\xe3\xb1\x65\xa1\x10\x07\xea\xcf\x42\x87\x72\x6b\xef\xe3\x3d\xf0\xb5\xf3\x4f\x08\xbe\x5e\xfe\x13\x02\xfb\x9f\xba\x37\x7c\x38\x1e\x37\x44\xc6\x48\xf9\xff\x26\x0a\xa7\x40\x86\x13\x90\x15\x8c\xfd\x46\xa5\x19\x8f\xf2\x0a\xc6\x61\xf2\x1b\xca\xad\x61\x86\xbf\x03\x01\x58\xd5\x1f\xea\x95\x9a\xe8\xc9\x6b\x8f\x01\x5e\x8c\xaa\x15\x88\x44\xdd\x5c\x90\x50\x81\xc0\xf1\x58\x61\xda\xd7\x60\xb2\x56\xfc\x53\x40\xf0\xcf\x88\x17\x42\xe4\x63\xbf\x71\xc0\x19\x0a\x1b\x07\x4d\xb5\x75\xc9\xc5\x16\x87\xda\x55\x4e\xc5\xae\xbb\x3c\xd3\x33\x07\x5e\xa9\xf4\xb3\x54\x02\x7f\x01\x38\x1e\xc7\x74\x7c\x56\x44\xa8\x53\xaa\x64\xbd\x4e\x00\x1c\x55\x76\x70\xc0\x9d\xf3\x85\xd4\x47\x78\xcf\x7d\x28\xcf\x55\x1b\xfd\xe6\x78\x0c\xd4\x5f\xb8\x5c\x7e\x82\x32\xed\x9e\xfd\x46\x7a\xc5\x6f\xe4\x6e\x39\xc1\x95\x02\x35\xd7\xf6\x6f\xf0\x4e\x55\xd8\x45\x97\x20\x87\xe8\x4d\xc6\x6e\x40\xc8\xdf\xa9\xc8\x80\x64\xc2\x8a\x4e\x80\x4b\xf0\xce\x4f\x38\x1e\xf3\x3f\x8e\x4f\xb1\x8a\x80\x64\x44\xef\xe0\x12\xec\x12\x14\x12\xfc\xb3\x54\xda\x21\x04\x58\xc7\x16\x44\x1e\xc9\x1c\x22\xed\x84\xb6\xd3\xe9\x88\x07\xee\xdf\xb9\x21\x23\x1e\x09\xc6\xe3\x9d\xdc\xc8\x1c\x1d\x05\x20\x29\x25\x78\xa7\x8a\x18\xce\x85\x04\xa3\x08\x59\xbe\x13\x86\xee\x23\xb1\xd0\xe8\x81\xb0\x9a\xd1\x2a\xc1\x3b\x95\x28\x92\x87\x3e\x93\xad\x03\x8b\x91\x90\x59\xa8\x87\x18\x44\xa1\x1d\x90\x01\x7d\x24\x53\x21\x92\xf3\x99\x24\xe2\x12\x18\x86\xb8\x47\xa4\x61\x90\xa7\x28\x4f\xbe\xb1\xdb\x20\x8b\x9c\x80\x2f\x42\xd4\xfe\x85\x5a\x2e\x7e\x0c\x08\x6f\x8f\x74\xf0\x4e\xd5\xd8\x7a\x26\xb1\xb7\xd5\x23\x46\xdf\x73\x7b\xce\x31\x0b\x83\x27\xd0\x04\xa4\xef\x30\xd2\xb9\x53\xb8\x27\x9b\x4b\x56\x44\xad\x21\x63\xd4\x93\x1f\xc3\x76\x40\x88\xf7\x97\xf9\xe3\x8b\xfc\xd1\xee\xbb\xc4\x63\x7f\x99\x3f\xbe\xe8\xf5\xd5\x77\xf2\xc4\x67\x0c\xb5\x90\x64\xce\xef\xe4\x49\x61\xe0\x93\x78\xfc\xcb\xe9\x27\x7f\xb7\x59\xd0\xe7\x3f\x78\x07\xf2\xdf\x22\x5a\x8c\x04\xd7\x1d\x8d\x53\x15\xdc\x71\x79\x69\xdc\x6a\x1d\x47\x52\x67\x77\x52\xa2\xe2\x1f\x14\x60\x62\xb7\x7b\x8e\xf7\x40\x3a\x77\x74\xd8\xee\x91\x90\xfb\x16\xe9\x12\x6d\x11\xb2\xe5\x8d\x4a\xb3\x26\xf6\xff\xdd\x2e\x30\x05\x45\xd4\x1f\xe3\x31\xb1\xc3\xa0\x7d\xd5\x27\x7c\x40\xc7\x3d\x88\x38\x44\x4a\xda\xa2\x7b\x7e\x85\x23\x52\x13\xa7\x78\xd7\x80\xd9\x1e\xed\x90\x0f\xce\x80\xc8\x51\xe1\x1a\x07\xdd\x86\xf2\xb8\xbc\xab\x5d\x3e\x76\xb1\x4c\xcf\x29\xb6\xa2\xad\x01\x1d\x86\x84\x3e\x8a\xed\x78\x5a\xe7\xad\x75\x03\x3a\x50\x64\xd4\xd4\xe7\x21\xe3\x5f\x45\x94\x0d\xb1\x19\x55\x5f\xd5\x11\x6b\x46\x17\x50\x50\x07\xa9\x5e\x8c\xf7\xd0\x03\x5d\x54\x8f\xff\xaa\x05\xb6\xef\x3c\x90\x2f\x28\xa5\x04\x13\x35\xfe\x8a\x6b\xfc\xa5\x6a\xfc\x85\x52\x3a\x14\xe8\xbf\xc6\xe3\x0a\x4a\xa9\x9a\xfe\xf2\xd7\x78\x5c\x81\xb5\x29\x94\x91\x98\xb2\xf8\xaf\x1a\x99\x49\x19\x89\x29\x8b\xff\x52\x35\x32\x94\x91\xa9\x94\x11\x93\xb2\xd4\x58\x21\xea\x8f\x44\xfd\x09\xff\xaf\x98\x29\x53\xea\x4d\xf4\x5f\xc8\x1c\x01\x44\xfd\x81\xd2\x83\x84\xc4\x7f\xa6\x87\x12\xd1\x7f\x65\x87\x0a\x49\xfe\x8e\x89\x4f\x8d\x9b\x89\x15\x99\xf9\xb9\x9e\xfa\x55\x1b\x92\x46\xaa\xa0\x69\x70\x83\x09\x22\x13\x96\x49\x85\xf1\xb4\x00\x8c\xa2\x1e\xc9\x0f\x4c\x52\x56\x6f\xd2\xa8\x55\xf8\xa2\xbb\x4d\x50\x4f\x8d\x89\x21\xc1\x0e\x01\xa3\xfd\x9a\xc5\xf8\x70\xb4\xd0\x41\xcd\xf2\x89\x67\xa1\x43\xa5\xe2\x56\x04\x0b\xed\xa9\xad\xb4\x89\x7d\x6b\xb7\x12\x8b\x08\x0b\x46\x48\x51\x5b\x9c\xab\xd9\xbe\x6c\x5d\xc5\xfb\xc2\x6c\x01\x30\x82\x5d\x6c\x69\xc8\xff\xe0\x2b\x1c\x6e\xa2\x42\x02\xf9\x50\x06\x71\x77\x8e\xc7\xd5\xea\xfe\xa9\xec\xf5\x0b\xda\x21\xa5\x52\x75\xff\xe0\x2c\xf9\x0d\x4b\x25\x10\xff\xc0\xbb\x55\x73\x92\x90\xa1\x0e\x7d\x92\x9c\xee\xf4\xc5\xac\xc2\x17\x5b\xf2\x90\xe7\x28\x7d\xc8\xc3\xb5\xef\x89\xa4\xce\x78\x48\xb2\x91\xad\x44\xdc\x57\x33\x93\x9e\x5c\xfc\x80\xfe\x7c\x32\xac\x7c\x18\xc4\xbb\xee\xc2\x62\xea\x9d\x74\xb9\x8b\x88\x77\x76\x02\x59\x70\xae\xb7\xc0\xb9\x56\x97\xcb\x4f\x0a\x9d\x3c\x83\xb5\x1f\x53\xd3\xd1\x83\xf0\x82\x89\x1d\xca\xa8\xa6\x98\x04\x69\xa5\x4d\x12\x84\xe9\xd4\x7f\x9e\x67\x42\xe3\x7e\x90\x38\x18\x86\x43\xc5\xb3\xe3\x28\xd2\xdb\x7b\x95\x04\xf8\x13\x49\x45\x6f\x08\x66\x0a\xf1\xa6\x80\xed\xa8\x43\x29\xe4\xf2\x51\xd6\xa0\x4d\xe4\xe0\x0b\xe0\x22\x06\x4f\x40\x80\x2b\xa7\xd8\x81\xa5\xd2\xc4\x81\x93\x9f\x9c\x38\xb9\xc8\x41\x55\x88\x82\x52\x09\x3c\x10\xc0\x84\x23\x29\x31\xc5\x6e\x29\xe8\x90\x3e\x61\xa4\xa8\x1a\x20\x76\x6b\x77\x17\x9a\x47\x47\x5d\x92\xec\xf2\x68\xc7\x5d\xee\x89\x1a\x31\x6c\xae\xa4\xd4\x11\xdb\xa3\x9c\x83\x1d\xc7\x0e\x4b\x25\x27\x11\xa3\xf0\xc7\xe3\x1e\xc2\x3b\x3b\x94\xff\x3e\xc7\x38\xd0\x3b\x1e\x6e\x14\xef\x78\xfc\x30\xc7\x86\xd3\xe9\xe0\x74\x0c\xb3\xd4\x14\xd5\xa0\x71\x28\x75\x02\x74\xdc\x5d\xc3\x69\x72\x47\xce\xf8\x19\x6f\xb4\xb6\xca\x65\x7d\x22\xaf\x58\xe3\xd8\xe2\xdd\x96\x53\xbf\xce\xe7\x9d\x86\xdf\x44\x94\x4f\x5f\x42\x4b\x20\xac\x01\x20\x2f\x0f\x75\x08\x60\xb1\x12\x22\x07\x71\x5d\x73\x21\xb4\x1f\xb1\x38\x5d\xe2\x0b\x79\xc6\x9d\x54\x39\x30\x5a\xe6\xc0\x18\x4c\x1d\x10\x03\x92\x5a\x90\xbd\x4f\x8d\x08\xb7\x0b\x82\x52\x29\xb0\xa9\xd7\x26\xf0\x8d\xf9\x29\x1e\xe3\x52\x07\xdc\x50\xfc\xcb\xdb\x4f\x87\x26\xeb\xcd\x29\xb1\x18\x92\xc8\x1b\x4e\x33\x85\x84\xe2\x47\x02\x28\x44\x62\x27\xaa\x4f\x9a\x75\x62\x77\xb9\xe4\xf5\x0a\x8c\x41\x44\xd1\x4e\x15\x0d\x41\x00\xeb\x3b\x3b\xf1\x8e\x7d\x4d\xf2\x5f\x7b\xad\xe9\xda\xa9\x0a\xac\xc6\x31\x15\x49\x9f\x53\x71\xe5\x60\xe9\xb8\xaf\x6b\xef\xd1\xe9\xbb\x9d\xa2\xb0\x60\x45\xde\xe9\x96\xee\xa2\x21\x70\x79\x7b\xae\xd1\x9e\x8b\x42\xfc\x37\x51\x91\x01\x21\xef\xe5\x46\x8b\x34\xb1\x0c\xb7\x12\xc3\x0f\xa2\x1d\x40\xb1\x70\x85\x81\x6c\xd9\x47\x0e\x84\x72\x0c\x43\x2e\xcf\xc9\xeb\x3f\x97\x04\x31\xec\x1b\x71\x4b\xd9\x43\x67\xc0\x44\x8f\xb3\x58\xa5\x11\x35\x77\xd9\xd4\x59\xb3\xb8\x35\x33\x0d\x1c\x26\x81\xe9\xc9\x19\x3b\x80\x32\x7e\xf3\xe7\x13\x0e\x50\xa0\x8c\x46\x90\x0c\x1c\xae\x56\x59\x9f\x1e\x7a\x84\x2f\x53\xb0\x0f\x51\x7c\x5c\xe7\x96\x4a\x80\x7b\x5d\x30\x07\x1e\x30\x63\x94\xa4\x55\x87\xd8\x0e\x63\x4e\xbb\x27\xe0\x61\xea\x17\xb8\x21\xa9\x8a\x10\x05\xea\x3c\x46\x9c\xaa\xf3\x56\x8c\x25\x0e\x51\x4b\x8b\x98\xc6\x54\x17\x67\x29\x2a\x3a\x5e\xa7\x68\xb4\x55\x74\x02\x52\x1c\x7a\xf1\x91\x93\x6d\xc1\x42\xaa\x05\x10\x98\x46\xe9\x4d\x76\x84\x2c\x33\x02\xde\xac\x31\x02\x2a\x0b\x8c\x80\x4a\x66\x04\xdc\xae\x43\xec\x6d\x2e\xb1\x01\xce\x25\x63\x82\x07\x71\xae\xd5\x45\x80\xe1\x98\x0b\xb3\x43\xe5\x2c\x53\x2a\xed\x56\x4f\x01\xe5\xe6\xd0\x11\xd3\x03\xd3\x8d\x41\x39\x71\xf0\x99\x01\xa2\x59\x13\x8d\x83\x28\x9f\x68\x2a\x18\x3b\xb9\x33\x0b\x8b\x67\x16\x58\x13\x37\x4b\xe4\x08\x86\xca\xc9\x77\x1a\xa6\x9e\x35\x11\xf7\x32\x10\x13\x70\x5d\x02\xb4\xe8\xc4\x9d\xb4\xdd\xea\x29\xa9\xb3\x06\x91\xeb\x1b\x58\x2a\xdd\x71\x8e\xcd\x73\x63\xa2\x4e\x1c\x75\xe0\x4f\xbc\x53\xcf\xa5\x22\x62\x68\x42\xbd\x9b\x2b\x66\x72\xb1\x46\x2a\x95\x18\x17\x18\xfc\xc4\x55\xbe\x8b\x88\x71\xf0\x48\xcd\x05\x99\x18\xa8\xe2\x55\xd7\x89\x65\x74\x3d\xb7\x14\x70\xda\x89\xee\x25\x58\xe3\x4b\xfb\x58\xeb\xeb\xa9\x5f\x7c\xbc\x51\x3e\xc8\x6a\xcc\xd4\xfc\x52\x89\x65\x86\xd6\x64\x09\x08\x84\x70\xfe\x16\x31\x96\x75\xf0\x89\x88\x5d\x38\xde\x1f\xd4\x6e\x89\x4b\xb6\xb1\xcb\xc2\x84\xb5\x14\xc2\x83\x35\xe1\xf4\x44\xe6\x71\x2d\xc9\x84\xf6\x17\x07\xa4\x3e\x20\x5c\xde\xe2\xbf\xd8\xa2\x9e\x55\x36\xc2\x25\xae\x0c\xf7\x20\x5e\x0f\xba\x5d\x30\xa7\x8b\xa5\xce\x33\x2c\x22\x01\xda\x0e\x03\x10\xa9\x40\x5b\xad\xfc\x44\x6f\xdc\x39\x98\x77\x77\xc1\x49\xf9\x0f\xb4\x54\x92\x2e\x06\x70\xf0\x9f\x04\x38\x28\x10\x97\x6a\x4a\xa5\x9d\xea\x0e\xc6\x4e\xbc\x89\xe5\x1a\x07\xb0\x29\x67\x2b\xf1\xf0\x44\xbf\x9e\xab\x15\x71\xb2\x3b\xff\x28\x54\x8b\x70\xeb\x2c\x54\x3c\x40\xe6\x71\xc7\x65\xb2\x79\xc1\xf5\x49\xdf\xe7\x10\xae\x8f\x9f\xac\xe9\xc7\x63\x0f\x58\xf2\x36\x94\x2d\x66\x37\x0b\x16\xa4\x1f\xd1\xe6\x5d\x94\x78\xf7\x81\x12\xdb\x0e\xa8\x9c\x51\xed\x6b\x8f\xc7\x72\x7f\x97\x9a\x2e\x3c\x14\x8b\x71\x25\xea\x2a\xaf\x23\x7a\x59\xfb\xea\xe2\xd6\x80\xe1\xac\x4f\xae\xcd\x79\x0f\x45\xc0\x95\xc8\x71\x06\xb9\xd0\x95\xd4\x82\xa1\x02\x23\xde\x55\x94\x3b\x50\x2e\x66\xb6\x73\xe2\x9e\xb8\xd8\xb5\x7d\x27\x20\x1e\xfb\xc0\xdb\x54\x07\x18\xae\x3c\x0d\x89\x37\x30\xdc\xf8\x02\xcd\x6e\xf5\xa4\x72\x8a\xdd\x13\x77\x77\x17\x8e\x98\xed\x60\xca\xdd\x44\xd9\xb9\x57\x04\xf0\x5f\x88\x70\xc3\xc9\x60\x21\xc0\x41\xa9\xe4\x88\x36\xa5\x9b\xa9\x91\x88\x13\x78\x5d\x19\xa5\x2a\x56\x65\x20\xa6\xa8\xa8\x43\x50\xf4\x1f\xa2\xdb\x95\xc4\xa5\xe7\x66\x5a\x8b\xbf\x0d\x7d\xe7\x94\xf3\xc1\x01\x8d\xe0\x95\x1f\xa4\x4e\x84\xa5\x11\x1b\x8d\x1f\x09\xb6\xee\xef\xb5\x43\x27\x3a\x34\xbc\xef\x7a\xd3\xa3\xd9\x12\x9f\xee\xd1\x68\xc8\x8c\x8e\x6b\x03\x02\xeb\xa4\x06\x48\xe3\x23\x5f\xa5\xca\x7f\xb1\x19\x3d\x1d\x6b\x64\xcf\xf1\x3a\x7d\x69\x5d\x00\x83\x11\x44\x02\xd6\x60\xe6\x82\x00\x38\xa2\xc6\x5e\x1a\xd4\x91\x04\xca\x35\x32\xca\x3e\x08\xd7\x38\xa9\xfb\x1b\x49\x42\x50\x3f\x14\xcc\x05\xc9\x78\x2c\xce\xe4\x26\xd6\xdf\x0c\x4a\x4d\xee\x11\x71\x99\x20\xf6\x28\x98\x19\xfc\xd3\x23\x90\xc5\x9b\x82\xc9\xe6\x53\x62\x5d\x03\xcc\x0a\x3b\x99\x40\x5e\x7d\xa4\xc6\xad\x3e\xae\x9e\xb8\x13\xc1\x7a\x42\x15\x04\x9c\x58\x29\x05\x38\x06\x68\xb8\x4d\x28\x8e\x52\x83\x06\x6d\x66\x6e\xe8\x9d\x9b\xf3\x2a\xc5\xe7\x7c\x52\x5d\x68\x4b\x9a\xfb\x6e\xe2\x3a\xa4\xc2\x0b\xa3\x08\xc4\xbc\x0b\x43\x1b\xc0\xe8\x2d\xe1\xcb\x0d\xdb\xc1\x44\xfa\x00\x0c\x22\x5e\x24\x5d\x62\xd3\x74\xbc\x35\x2c\x26\x17\x17\x16\x8e\x46\x23\x9e\xa0\x9b\x70\x64\xda\xc5\x42\xb2\xe8\xda\xa9\xa0\x8c\x87\x50\x2e\x3b\xfa\x74\x83\xfb\x08\xbc\x9f\xfc\x52\x69\xc7\xe7\x96\xd1\x37\xac\xa5\x04\x0a\xb1\x9f\x58\x3d\x0f\xfb\xdc\xea\xf9\xc2\xea\xf9\xdc\xdc\xf1\xd5\xa8\xdd\x45\x3e\xb7\xa4\xc2\x8c\x86\x92\x7d\x0f\x05\xb0\x54\x72\x23\x73\x9e\xf8\x4e\x8c\x08\xcb\xac\x3e\x43\x2a\xa6\xee\x1f\xe2\xd2\x80\xe9\x32\x9a\x81\xa1\xc9\xb4\x6c\x2a\x76\xfe\xc2\xa0\x1f\x7b\x8d\xaa\x9f\xb9\x77\xc8\xf1\x9b\x55\x11\x89\xad\xfe\x7e\xf5\xf0\xe5\xe1\xab\x83\xa3\xc3\x97\xa7\x7a\x17\x1f\xd6\x77\xab\xb5\xd0\xb8\xff\xc5\xe9\x1f\x8f\x2b\x46\xc7\xbc\x8b\x79\x52\x3b\x8d\x21\x61\xaa\xab\xd4\x55\x01\x1d\x2f\x10\x57\xf9\x96\xac\xf6\xe3\x80\xc0\x16\xd6\x71\x81\xbd\x9c\xab\x73\xe7\xe6\x06\xba\x19\xae\x27\x4e\xa0\x31\x8b\xba\xe0\x82\x20\x4a\x20\xba\x30\x16\xc1\xdc\x37\xe1\xdd\x7f\x91\x59\x18\xa7\x5c\x8d\x89\x55\x32\x1c\xbd\x57\x81\x54\xba\x20\x4a\x63\xc8\xf1\x57\x72\x90\xdc\x4e\x20\x79\x97\x22\x43\xfa\x15\xef\xd2\x88\x43\xc2\x72\x57\xed\xc1\x78\xfc\x09\x40\xa4\x7c\x43\x1d\x1d\x73\x4e\x72\x22\xc0\xa7\xc5\xb8\x70\xa9\xc9\xe5\xf5\x7f\x64\x5c\xe7\x39\x01\xd6\xed\xd5\x1f\x57\x9f\xae\x2c\x54\x25\x07\x10\x5d\x27\xe5\xf2\xf6\xb7\x85\x5e\x56\x2a\x10\x7d\x4e\xca\xdf\x5c\x7f\xb8\xb2\xd0\x8b\x8a\x69\xa3\xef\x53\xce\x8f\xdd\xae\x13\xbb\x5d\x23\xb6\x53\xe7\x1f\x6c\x07\xd6\x32\x37\x0e\xa4\xae\x72\x8c\x57\xc0\x7a\xe3\xb8\xfd\x61\x40\xac\x32\x20\x75\xab\x56\xb4\xca\xf2\x00\x63\xa1\x78\xe2\x2a\x84\x11\xb0\x3e\x51\xca\x8a\x7d\xfa\xf0\x40\x44\x64\x43\xd1\xa3\x32\xde\xaf\x18\x12\x66\x5b\x50\xbd\x73\xf5\xcd\x14\x55\x9f\x3e\x64\xa4\xac\x5c\x12\xa1\x4d\x67\xf8\x5e\xd9\x7c\x75\x7f\x81\x9b\x92\xf4\x60\x65\xd2\x3f\x13\xc1\x09\x52\x38\x62\x14\x24\x6b\x1e\xa9\xdb\x10\x89\x21\xcd\x27\x5f\x88\xe4\x59\xc5\x09\x3d\x81\x14\x53\xdb\x91\x5d\xf1\x81\xa0\x9f\x04\x8f\x22\xf4\x07\x91\xd7\x17\x63\xa9\xfe\xaa\x67\x16\x11\x1a\x41\x1f\xc0\x67\x33\xf4\x26\x06\xfb\x85\xa4\x2e\x26\xfc\x45\xe2\xa0\x0b\xe5\x93\x49\x37\x12\x8a\x33\x85\x51\x84\xbe\x70\x00\x4e\x7c\xa3\x22\x86\x06\x6b\x54\xf9\xbf\x50\x9c\x61\x38\x98\x93\x9e\x60\xfb\x57\x1a\xf9\xef\xe9\x59\x5f\xa0\x82\x22\xdc\xf5\xbc\xcd\xdc\x47\xf2\x45\xa7\xd9\x91\x57\x4d\xbe\xbc\x7f\xf7\x2b\x63\xbe\x8a\x7b\x4b\xd0\x7c\xd1\x4b\x8d\x1d\xc2\xbd\x6c\xe3\x8a\x75\x3c\x49\xa6\xab\xa6\x60\x62\x03\x98\x6a\xd3\x3c\x1d\x6f\x58\xef\x6f\xbf\xbc\x7f\xb7\x6f\x73\x2c\x77\x77\x1f\xed\x23\xbb\x62\xa1\x6c\xe1\x41\x4e\x21\x2f\x70\xdb\x01\x0d\x69\x97\xc5\x65\x4d\x24\x43\x90\x98\x19\x82\xa4\x27\x61\x3e\x5d\x72\xdf\xd1\x88\xf5\x4d\xcb\x42\xc4\xa2\xb7\x70\x60\x6e\xfe\xa6\x6f\xef\xd1\x61\xbf\x23\x02\x47\xdb\x01\x71\x18\x49\xd7\xb7\xf5\xcf\xe2\xc0\x7d\xe8\xb1\x62\x8b\x14\x3b\x6e\xc8\x97\xfa\x1d\x54\xa4\x41\x51\xd0\xaf\xbe\x71\x1c\x2d\x75\x77\xa4\xdf\x27\x1d\x2b\x49\xff\x62\xb7\x12\xf1\xff\xdb\x34\xa5\xad\x78\x87\xd5\x89\xb7\xfa\xda\xb8\xa2\x3c\x99\xac\x03\xc1\x27\xca\xea\xa9\x1c\x2c\xf4\x1f\xfb\x30\x7b\x35\xeb\x91\x78\x45\xb9\x7c\x2c\xd2\x6e\x3c\xeb\x84\x46\xbc\x4f\x80\x2b\x27\xc1\x29\x3d\x09\xca\x78\x5f\xde\x20\xe5\xb3\x45\xe2\x87\x04\x4d\x64\xfc\x28\x57\x9b\x2a\x2d\x2b\x29\x95\x18\xd3\xe9\x60\x12\x5e\x08\xd3\x17\x5d\xed\xf6\x0e\x57\xe0\xf8\x5a\x42\x3a\x58\x42\xde\x1d\xce\xdc\x36\x0e\xd4\xaa\xbd\x40\x19\x20\x76\x4b\x4c\xd7\x40\x6c\xe8\x96\xcb\x4d\x1c\x40\xc4\xca\xe5\x28\xa9\x85\x69\x94\xd7\x90\xf4\x31\x46\x51\x41\xba\xfb\x6c\xa2\x2d\xca\x80\x8b\x74\x5b\x62\x7b\x35\x6e\x02\xb9\x8d\xa0\x89\xab\xa2\xa5\x42\xaa\xa5\x84\x45\xc6\x92\x9c\x0a\xa6\x8b\xf8\x6f\x02\x93\x20\x2a\x66\x77\x01\x77\xe5\x85\x70\x75\xcb\x41\xb9\x0c\x45\x7e\x11\x40\xb9\x5c\x45\x92\x22\xf1\xa7\xbe\xd3\x1b\x7b\x82\x4c\xc3\x21\x26\xfc\xb4\x24\x0e\x81\xa5\xe2\xd3\x16\x72\xfb\x78\x85\xe8\x97\x9c\xa9\xae\x0b\xfe\x45\xd0\x2f\x04\xa2\x0f\xd2\x64\xfe\x8b\xa0\x7f\x93\x39\x81\xb5\x84\x99\xde\xb7\x13\xbb\x77\x51\xba\xea\x03\xc9\xa6\xe7\xd2\x5b\x86\xb2\xbe\xdd\x42\x04\xca\x3b\xbc\x2d\xbe\x28\x67\x99\xfa\xd9\x69\x17\x8e\xcc\x8a\x2a\x96\xc2\x6e\x97\xcb\x9a\x0e\x75\x43\x5e\x1f\x09\x8a\x88\x9d\x0c\xce\x2e\x0d\xae\x9c\xd4\x65\xca\x74\x04\x35\x53\xb7\x4e\xf3\xba\x2d\xce\x86\xc0\xc7\x83\x84\xe4\x9d\xe7\xc2\x42\x7c\x3d\xd5\x41\xae\xca\x66\x26\x67\x92\x80\xe1\xbd\xff\x03\xf5\x1a\x68\xfc\x5f\x6d\xaf\xfe\x3f\x76\xb3\x0c\x6b\xb0\x0e\xea\xb5\xaf\x7b\x5f\xf7\x64\xf9\xd7\xaf\x7b\xf5\xff\x69\xfe\x13\xfe\x2f\xac\x27\xbf\xea\x10\xd4\x6b\x35\xd0\xa8\xec\x1e\x37\xcb\x90\xd7\xc0\x0d\xf9\x69\xfc\x0b\x14\x80\xf5\xff\x69\x96\x25\x26\xfe\x8b\x23\x10\xbf\xfe\x47\x47\x43\x42\x58\xff\x65\xcf\xc8\x01\x22\xc6\xe4\xc5\xe4\x7a\xaa\x27\xd2\x6c\xc9\x0d\xe7\x7f\x2b\xf7\xed\x12\xab\xe5\xba\x36\x3d\x3a\x18\xe0\xc2\xf4\x03\x65\xd1\x6f\xb2\x88\xc6\xb1\x00\x0f\x3a\x50\xc0\x8d\x8b\x7a\x12\xe6\x5a\xfe\x33\x90\xff\xbc\x8d\xb1\xc6\xe1\xe2\x43\x03\xef\x37\xec\xa8\xb3\x89\xd7\x12\xfe\x57\x71\xc2\x05\x5c\x86\x2e\xd4\xd1\xa4\xc3\x78\x0b\x3e\xc3\xae\x79\x51\x26\x4c\x94\xa6\x48\x40\xfc\x82\xbb\xdb\x05\x7f\x90\xf1\x18\xfc\x21\xd5\xfc\x1b\x01\x22\x06\x8d\x34\x2c\xab\x89\xff\x20\xe8\x0f\x62\xb7\xf1\x35\x91\xdb\xed\x3f\x09\xb7\x0a\x70\x44\x35\x2c\xd3\x3b\x1b\xcc\xee\x3b\x21\xbb\xd6\x17\x86\x64\x04\x17\xb3\xc3\x61\x2b\x64\x01\x08\xca\x55\x71\x9c\x45\x40\x5c\x54\x41\x01\x84\xd0\x6e\x8d\xc7\x20\x10\x86\x1d\xa2\xc0\x6e\x35\xdc\x26\xa6\x88\xda\x0e\x0e\xd0\x4f\x99\x9a\x26\x8a\xf7\xd3\x81\xf5\x40\xe9\x83\xed\x11\x66\x7f\xe9\x05\xd7\xd4\x82\x05\x9f\xd9\x2d\x1c\xca\x7b\x86\x1e\xd7\xa9\x1e\x63\x7e\x58\xff\x65\xcf\x45\x3d\x3e\xb7\x7e\xbc\xb9\xbd\xb3\x90\xf5\xf1\xf3\x9d\xd5\x4c\x3a\x5d\xcc\xfa\x7a\x9d\xae\x6e\x8f\xec\x8a\x23\x09\x2c\xce\x9a\x8c\xb0\x45\xe3\x7a\x9c\xb2\x2e\x44\xf6\xbb\xd8\x53\xe5\x8b\x13\x79\x94\xe8\xd8\xe2\x56\x86\x48\x7d\xd6\x53\x3b\xf4\x2e\x66\x88\xd8\x0f\xf8\x05\xea\xf3\x06\x51\x47\x5c\xc0\x8e\x11\x8a\xc2\x11\xb1\xdf\x0a\x2b\xfb\x96\xe3\x11\x0b\x74\xab\x4d\x07\x3e\xf7\x9c\x2d\xa8\x0a\xe4\x3d\x13\x73\x4b\xe3\xc9\x98\x4a\x8c\x3b\x85\x3e\x14\x45\x17\x8d\x6a\xb3\x54\x3a\xc4\xf8\x07\x13\xfe\xd3\x3e\xc6\x46\x58\x39\x80\x90\xbb\x6b\x76\x0b\x75\x39\x4b\x96\x08\x96\x2d\x06\xea\xf6\x88\xbc\xe1\xd1\x21\x4c\xde\x5b\x76\xbc\x4e\xd1\x7d\xf0\xc4\x85\x18\x33\xbb\x82\x3d\x48\x1a\x80\x7c\xa1\x68\xff\x8e\x2a\xe6\x0e\x81\xa4\x5c\x5c\xe3\x17\x77\x9f\x65\xec\x8a\x05\x51\x5c\x6b\x94\xa2\x42\xdf\x5e\x49\x98\xe7\x22\xe4\xa2\x16\x2e\x8b\x98\x1d\x11\x4d\xf3\x51\x88\xd3\x38\x50\x75\x79\x68\xbf\x52\xa9\xa9\x3f\xaa\xfa\x8f\x7d\xfd\xc7\xa1\xfe\xe3\x48\xfe\x71\xa0\x4b\xaa\xfb\xfb\x07\xb5\x78\x87\x2e\x9b\xd1\x21\x10\x61\x2e\x5d\xb0\x03\x18\x0e\x54\x82\x76\x57\xa6\x7d\x11\x17\xab\xf4\x0e\xa6\x8e\x63\xb4\x29\xb4\x07\xc2\x7f\x0a\x18\x6c\x54\x9b\xd2\x64\xc8\x03\xd3\x52\x89\xfb\x10\x22\x41\x92\xf8\xd7\xee\x53\x79\xa5\x48\x22\xf1\x70\xa6\x58\x8e\xdf\x36\xed\x17\x1c\xec\x25\x43\xc7\x4b\xae\x27\x47\x2e\xde\xf1\x98\xcd\x48\xc8\x80\x53\x77\xd2\xda\xcb\x57\x27\x11\xc3\x6e\x24\x72\x1c\x4d\xd1\xae\x70\x28\x2e\x54\x59\x3a\x35\x86\xfd\x80\x8f\x62\x99\xf7\xf0\xfe\xa9\xe8\xae\x3a\xd7\xf1\x50\x08\xfe\x8e\xfc\x64\x35\xcb\x52\x4e\x22\x8b\x3b\xd2\xba\x70\x3c\xe1\xd7\x3d\x10\x56\x94\xa0\x7c\x8d\xc4\xf4\x5d\x1d\x88\x7a\xd8\xb2\x22\x3e\x30\x7a\x65\xab\xd8\xb0\xca\xa9\xde\x2c\x5b\x4d\x4b\x8e\x94\x28\x12\x4f\xce\xf7\x9f\x46\x72\xc8\x18\x0e\x46\x27\x51\x7c\x07\x8e\x1e\xf8\xaf\x82\xde\xe7\x77\x84\x7e\x5c\x34\x2a\xcd\x7a\x4f\x46\x46\xc5\xb3\x39\xb1\x2f\xe4\x1f\x86\x5a\x5a\x32\x9a\x8e\xd9\xd4\xcb\xaa\x29\xa6\x09\x73\x62\xaf\xb3\x05\xf5\xc2\xe6\x3f\x04\x59\x1f\x03\xda\xea\x93\x41\x91\x78\x6d\x3a\xf4\x18\x09\x48\xa7\x28\x56\xc3\xcc\xf5\x1e\x8a\x93\xe8\x52\x52\x88\x57\x45\x06\x57\x0f\xca\x14\x38\xbc\x95\xd7\xd2\xb1\xb3\xa9\xc7\xe4\x2e\x86\xdc\xc8\x47\xc4\x1e\x96\x4a\x20\x94\x4f\x13\xc7\x1b\x1c\xf6\x50\x7c\x51\x11\x58\x49\x88\x02\x4b\x2d\x73\x1d\xd1\x7d\x82\xae\x5b\x91\x89\xc0\x0c\x50\x60\xc6\x36\xb7\x63\x0c\x6b\xe3\x8e\x39\xc6\xf2\xfa\x94\x63\x5e\xa1\xf9\x55\xe6\xb5\x64\x10\xd6\x25\x4f\x35\xe3\xcc\xa0\x9b\x76\xc6\x98\xee\xf0\xdf\xca\x16\x5f\x37\xdb\x54\xfd\x9b\x51\x80\xc8\x9c\xb3\xec\x77\xa9\x33\xdc\xd8\xca\xe9\x7c\x3c\xfa\x2e\x98\x8b\xad\x3b\x7d\xe9\xad\xe8\x74\x19\x09\x8a\x2a\x53\x48\xbf\x6c\x0d\x42\x24\x6f\xcc\xb9\xde\x43\x3c\x15\xbf\x42\xbf\x12\xed\x32\x75\x95\xab\x2e\x51\x41\x31\x2c\x44\x81\xa5\xe4\xaf\x43\x14\xa5\x85\x7f\x05\x61\x84\x52\x54\x8a\xf2\xc9\x3c\x29\x3a\x6d\x50\xbb\x54\x02\x93\xad\x59\xe7\x9a\x26\xed\x97\x25\xee\x84\x98\x53\x94\xef\xa6\xa7\x15\xfd\xa1\xaa\x59\x20\xe3\xf1\xcb\x84\xd4\xf4\xa8\x96\x65\xa2\xaa\x25\xe6\x1d\xb5\x25\x9e\xa6\xfb\xf7\x89\xb0\xa7\x37\xda\x79\xbc\x1e\x8f\xa5\x4f\xa2\xfe\xed\xd5\x9f\x14\x12\x99\x9b\xe2\x06\x4c\x60\xbb\x31\xb1\x69\xe8\x0c\x4c\xee\xd5\x26\x63\x45\x2a\x6c\x8d\xa8\x58\x57\xec\x2b\x33\xb2\x5b\xcd\xe6\xc1\xd9\xad\x2a\x57\xb2\x25\x76\x0a\x06\x2c\xb3\x23\xf1\x9e\xa9\x58\xdd\x01\x83\xa3\x01\xd3\x6b\x1e\x19\x08\x60\x9d\xbf\xbe\xb8\xbc\x7a\xf3\xf6\xd7\xeb\xdf\x7e\x7f\xf7\xfe\xc3\xcd\xc7\x7f\x7d\xba\xbd\xfb\xfc\xc7\x9f\x5f\xfe\xfa\xb7\xd3\x6a\x77\x48\xf7\xa1\xe7\x7e\xfb\xde\x1f\x78\xd4\xff\x4f\x10\xb2\xe1\xe3\x8f\x9f\x4f\x7f\x57\xaa\xfb\x07\x87\x2f\x8e\x5e\xbe\x3a\x8e\x6f\x90\x88\xfc\x0d\x0d\xab\xbc\x87\x2d\x64\x95\xf7\x2c\x64\xed\xde\x63\xf1\x5f\x5b\xfc\x57\x2d\xc7\x5f\x9c\x51\x73\x1d\x4e\xf4\xc2\x80\xaf\x5f\x12\x54\xb0\xd0\x62\x62\xf7\xb9\x90\x0e\xc1\x09\x52\x1b\xe2\x72\xae\x09\xc4\xd9\x8a\x0e\x0b\x18\xb0\x86\xd3\x2c\x95\x80\xf8\x17\xbb\xdc\xb4\x88\xa3\x8c\xd7\x9c\xb8\x94\x7f\x83\xac\x87\xc0\x6f\xef\x4a\xa9\xea\x5f\xca\x30\x99\x1e\xd2\x9b\x24\x09\x99\x83\x89\x7d\xa7\x1d\x52\x23\x08\x37\x5e\x81\xf7\xe2\xbf\x1e\xe2\xbf\xba\xc6\xfa\x5c\xff\xf5\x2d\x56\x5e\x57\x3b\xb6\x03\xe1\x47\xfe\x69\x26\xfc\x52\xbb\x99\xb6\x93\xe3\x3c\xa4\x2e\x18\xa8\x78\x39\xdb\x11\xc1\x72\x58\xdb\xb8\x49\xfb\x64\xa9\x37\x6a\x77\xef\x44\xd0\x89\x3c\x53\x1e\xc9\x33\x35\x79\x90\x65\x4e\x99\x30\xed\xc8\x3a\xc9\xad\xdf\x3d\x21\xac\x1f\xa4\xb5\xcb\xc8\x4f\x66\xa1\x0a\x84\x23\x49\x80\x9e\x2c\x29\x4e\x2c\xad\x24\x61\xa1\xa9\x32\x05\x9c\x9e\x30\xf9\xf2\x81\x4f\xde\x94\x53\x4a\xc7\x63\xcb\x8a\x6f\xad\xea\xc8\xac\x7f\x1c\x22\xcd\x88\xf2\x0f\x98\xed\x22\xba\xcb\xb8\x2d\xd3\x0b\x7f\x39\x66\x0a\xcc\x76\x31\x45\x24\x27\x33\x91\xc6\x86\x28\x3e\xf8\x27\xdb\x3b\x2c\xd0\x7f\x1c\xd4\xa9\xbc\x83\xd1\xed\x53\xbe\xf6\x86\xb5\xb7\xc0\xc2\xb6\x85\x48\x83\xed\x56\x9b\xe2\x18\x11\x1b\x45\xfb\x4d\x58\xa7\xbb\xfb\x35\xba\x5b\xd5\xab\x02\xde\xbb\x9f\x5d\x8f\xbd\x92\x51\x10\x94\x2f\x0a\x26\x33\x67\x66\x6f\xff\xeb\x7c\xc6\x41\x12\x7d\x96\x9c\xe8\xb6\x7b\x4e\x70\xce\x00\x5f\x77\x22\x97\x6b\x3e\x6d\x26\x97\x64\xdc\x38\xce\x4c\xb8\x5b\xc6\x65\xb8\x5f\xf6\xa4\x8b\x44\x61\x76\x1f\xe8\xbb\x47\x7f\x78\xc5\x96\x13\x92\xa3\x43\x31\xa3\x77\xf8\x24\xee\xb0\x22\x6f\x89\x77\x07\x8d\x77\xa6\x58\xf4\xde\x3c\xac\xe1\x4b\xe1\x93\x78\xf5\x0b\x76\xab\x10\x39\x98\x82\x0a\x44\x3e\xa6\xe0\xe8\x10\xa2\x50\xfe\xcb\x89\x39\x3a\xc4\x18\x87\xa5\xd2\x6e\x15\x63\xec\xea\xab\x21\xc0\x3d\x3d\xdd\x1f\x3b\x67\x67\x87\x10\x1d\x1d\xee\xf0\xa9\x0d\x30\xe0\x9c\x9e\x1e\x96\xf6\x0f\x2b\x63\xff\xec\x6c\x5f\x7e\x08\x4b\x25\x06\xfc\xd3\xd3\xa3\x52\xf5\x78\x7f\xcc\x6d\x79\xfa\xc2\x0d\xb7\x8b\x0d\xb7\x5c\x6e\x62\x12\x41\xbe\x94\x0a\x87\x2d\x91\x9d\x04\x54\x90\x0b\x23\xee\x45\xe9\x23\x9a\xca\x0e\xef\xed\x59\x4a\x2e\x74\xdb\x4c\x37\x76\xc7\x00\x43\xa3\x36\xed\x90\xda\x3e\x52\xca\x59\x8b\x65\x77\x61\x58\x98\x62\x40\xda\xc4\x7d\x24\x1d\xdb\x42\x03\x75\x63\xb6\x36\x8a\x22\x58\x20\x59\x6d\x48\x4d\x98\xc1\x93\x0e\x38\x4a\xa5\xb6\x71\xbb\xc0\xd2\xc3\xc3\x52\xf1\x92\x89\x53\x13\x0f\xb3\x82\xce\x21\x60\x7f\x53\x0b\x01\x87\x09\xd7\xde\x12\x43\xb5\x96\x53\x85\x0f\x36\x99\xd0\x4d\x88\xa9\x25\x12\x35\x5b\x35\xde\xe0\x80\xfe\xad\x4d\x88\xa0\x54\x26\x71\xce\x69\x3e\x1f\x30\xd2\x23\xaa\x15\x07\x80\x95\x4a\x2c\x76\x1e\x75\x0d\x11\x03\x27\x5c\xa0\x6f\x65\x4b\x5f\xc7\x0f\x87\xbe\x2f\x2e\xf7\x17\xa9\x3c\x08\x29\xb6\x02\xfa\x23\x24\x81\xa5\xdd\x46\x71\x42\x90\xd8\x13\xd5\xc2\x2c\xb3\x92\x31\x29\x32\x7b\x19\x60\xb6\x03\x61\x44\x8d\x34\x84\xd3\x53\x62\x11\x38\x0a\xed\x6e\xb9\x8c\xf8\x6c\x00\x42\xdb\x39\x3d\x7d\x05\xcb\x84\x2f\xe5\x42\xbb\x2b\x9c\xd2\x16\xde\x47\x72\x8f\x23\x6f\xf7\x3b\xe9\xf5\xba\xb8\x14\x91\x56\x84\xd0\x76\x60\x8d\x97\x27\x3f\xc5\xbd\x26\xee\x41\xb9\xc0\x5c\xf6\x06\x92\x94\x76\x23\xb4\x1f\x84\xae\x8b\x36\x63\x48\x33\x79\xa5\x9e\x20\x46\x51\x81\x34\x42\xbb\xd7\xc4\xa1\xdd\x46\xa1\xed\xea\xdd\x30\x24\xae\xe1\x8b\xce\x72\x90\x8f\x42\x4c\x90\x87\x2b\x62\x70\x3b\x38\xb5\x79\x99\x90\x3a\x1e\xb3\x89\x8c\x48\x75\x56\xcb\xf0\xc3\xe0\x89\x77\x6a\x6c\xdf\x2a\xe5\x0c\xe3\x7c\x62\x07\xb5\x8f\x20\x44\x0e\xf2\x90\xa5\xae\x4f\xeb\x84\x77\xf2\x0e\xb5\x95\xca\x34\x76\x59\xe3\xf6\xdd\xc7\x4e\xc3\x6b\xc2\xf1\xd8\xc7\xf8\xef\x3a\x9f\x75\xfd\x04\x8b\xab\xce\x50\xbb\x81\x33\x20\xc5\xd6\x93\xf0\x03\x39\x7f\x55\xd1\x65\x15\xc4\x67\xe4\x8a\x89\xb4\x5a\xa3\x40\x20\x4c\xe7\x34\x0b\x52\x85\xb9\x49\xcd\x86\x49\x52\x33\x71\x33\x2c\x48\x72\x9b\x71\x0e\x23\xee\x74\x97\x91\x57\x2e\xc7\xfb\xf9\x38\xb4\x5d\xa4\xf2\x20\x54\x92\xe4\xc8\x2a\xe6\x02\x30\x7b\x80\x88\x11\x6f\x9e\x6f\x6c\x44\xeb\x45\xd7\x13\x8d\x72\x0b\x1d\x67\xcf\x68\xd1\xce\x53\xc6\xd8\x88\x29\x13\xca\x40\x95\xca\x09\x49\xb6\x2b\x45\xc0\x11\xb7\x81\x1c\x13\x6d\x90\xa6\xf6\xc9\xf8\xdf\x8d\x8a\x98\x4a\x02\xa8\xe7\x73\x17\x33\xbb\x0f\x02\x61\xbf\x5d\x38\x0a\x30\x33\xa2\x0d\x5c\xe4\xe3\xca\x89\x7f\x1a\xd8\x2d\x8d\xdd\x2f\x97\x61\x60\xb7\x1a\x7e\x13\x38\x30\x5a\x98\xa3\x98\x13\x23\xdf\x7f\x10\x4f\x8f\x59\x43\x1a\x71\xe6\xfe\xd6\xf4\x97\x4a\x95\x53\x41\xfb\xdf\xcd\xd4\x69\x42\x80\x2d\x4b\x05\x12\xa4\x3f\x8b\xc0\x88\xa0\xac\x6f\x9b\x77\x03\x3a\xb8\xe8\x39\xc1\x05\xed\x10\xa0\x20\x1b\x4e\x53\x4e\x72\x01\x0e\xd4\x55\x73\xed\xa5\x7e\x0d\xbe\x7a\x16\x9f\xe6\x46\x51\xcc\xbe\xc1\xbc\x8a\x40\x08\x1a\x7e\x33\x49\x1e\x54\xb3\x60\xc1\x69\x88\x32\xe9\xa0\xb8\xde\x03\xa8\xa0\x10\x2a\xdc\x4d\x9c\xf9\x16\x96\xab\xfa\x5b\x14\x60\x87\xb3\x81\x7c\xce\x4f\xca\x79\xe5\x82\x13\xa1\x61\x41\x23\x55\xde\xd4\xe7\xce\xd9\x72\x98\x71\x77\x15\x02\x3f\x46\x10\xfb\xc1\x59\x0c\xf1\x07\x88\x8c\xae\x54\x51\x07\x0e\x8c\xbb\xd4\x4f\x7a\x2a\x88\x84\x17\x0e\x21\x32\x1c\xda\x78\x91\x96\xef\xc8\xda\x0f\x48\xa5\x2a\x19\x45\xc8\xcd\x71\xd2\xb8\x2d\xc3\xe9\x45\x7a\xa9\xa4\x9c\xde\xf3\x7e\x3f\xed\xf7\x86\x00\x4a\x7f\x31\xd5\x75\x73\x32\x15\xe4\xb9\x4c\xa4\x41\x9b\x50\x8f\x93\xff\xc8\x9f\xc8\xc5\x81\x1a\x2e\xd9\x98\x21\xae\x35\x8d\x2a\xaf\x91\xa8\x4f\x41\xc7\xf8\xb9\xcd\xf1\xb8\xd1\x2c\xf0\x3f\x78\xc7\x4a\x5b\x1c\xe4\x24\xbd\x4a\xa2\xf8\x84\x38\x0a\xf1\xe9\x0f\x81\x01\x5f\x24\x31\xb9\x61\xaf\xd3\x3b\x36\x68\x13\x51\x44\x92\x4c\x82\x11\x60\xf9\x39\xa3\xd5\x05\x7c\x54\xb4\x44\xf2\x3e\x31\x0f\x72\x36\xcc\xa4\x28\x2e\xd4\xe7\x21\x20\x85\xe3\x35\x8b\x33\x52\x03\x71\xd0\x12\x34\x48\x13\xbb\xdc\x8c\xf0\x9e\x9e\x76\x76\x22\x05\xfd\x60\x8a\x9a\xd8\x0f\x0d\xda\x04\x8c\x13\x80\x02\x88\xb8\x4f\x36\x91\x09\xe9\x65\x4d\x8a\xad\x9a\xb2\xdc\xaf\x6a\x0e\x3e\x34\x0b\x8e\x6a\x4e\x4a\x57\x32\x58\xf6\x2b\x3a\xa3\x52\xb1\xa2\x52\x1a\x25\x25\x07\xba\x44\x67\x57\x2a\x56\x8f\x74\x91\xce\x90\x54\x7c\xa9\x4b\x74\x2e\xa4\xe2\x0b\x5d\x72\x1c\x57\xd3\xb8\xab\x3a\xed\x52\xf1\x58\x95\xec\xc7\x40\xaf\x54\xc9\x71\x52\x4d\x25\x4f\xaa\x54\x6a\xe9\xb4\x43\xc5\x7d\xfd\x25\xa1\x2c\x2e\x8a\x29\xab\x1e\xea\xa2\x98\xb4\x43\xe9\xdb\xa4\xb6\xbb\x33\xd3\x99\x83\xab\x87\x51\xb5\x82\xb1\xc3\xfd\xb2\x6f\xe3\xb1\x31\xa8\x9d\x78\x30\xdf\x71\x1f\x21\x6d\x79\xe5\xe1\x2e\x5f\xc6\x66\x2d\x91\x2b\x2c\xd1\x27\xc6\x9b\x4e\x7f\xcc\xb1\x3a\xae\x58\x39\xa5\x80\xf5\x57\x28\x54\x21\xb6\x2c\xa5\x12\x98\x69\x70\x68\x42\xa0\x1b\x41\x24\x22\x39\x21\xca\xdc\x7e\xce\x26\xa5\x6e\x6b\x45\x64\x42\x11\xdb\x0d\xd6\x04\x5c\x0f\xc5\x78\x48\x02\xda\xd5\xfe\xdd\x6e\xf5\x54\x04\x65\x24\xf9\x40\x84\xcd\x91\x81\xe1\x80\xa1\xaa\x19\x96\xcd\x52\xd9\x7f\x6d\x4e\xb5\x71\xee\x2b\xb9\x90\xc5\x31\x0b\x1d\xc2\x7f\x7e\xfe\x74\x7d\x41\x07\x3e\xf5\x44\xdc\xa3\x76\x56\x85\xfd\x4a\x58\x64\xb6\xfe\x33\x52\xc7\x90\xc4\xee\xa6\xcf\x8f\xbb\x8d\xa0\x09\xa8\xb4\x72\x2c\xdd\x60\x87\x30\xc7\xed\x87\xab\x36\xa8\x87\x71\x2f\x3d\x8c\x7b\x6a\x18\x27\xc1\xd5\xe6\xce\x89\x07\xac\x2e\x0d\x06\x0e\xb3\xc4\xc1\xac\x5c\x8d\xc4\xf1\x9a\xc0\xe2\xee\x7e\x40\xc2\xf0\x82\x06\xe1\xc7\x80\x74\xfb\xee\x43\x4f\xc1\xea\xbd\x92\x36\x16\xd1\xc5\xac\x77\x11\x90\x0e\xf1\x98\xeb\xf4\xc3\x34\x44\x4b\x60\x12\x7e\xe4\xb5\xc7\x48\xd0\x26\x3e\xa3\x81\x02\x4a\xb6\x66\x3c\xee\xba\x39\xc1\x53\x1e\x8c\x11\xea\xcd\x74\x88\x91\x3e\xd7\xcb\x49\x64\x04\xb8\xfd\xa7\xe5\x40\x44\x69\x9d\x00\x79\x1a\xe8\x32\x68\xff\xca\x17\xe8\xca\xd8\xf3\xb2\x37\x0c\x8c\xee\x6a\x34\x12\x16\xd6\xb1\xfb\x38\xb0\x5b\x88\x31\x40\xf5\xf1\x2a\x62\x66\x6a\x25\x00\x21\x92\x32\x12\x57\xd8\xea\x09\x9c\x38\xf0\x4f\x6f\xe4\xa0\x19\x7b\x33\x10\x65\x6a\x9e\xb7\x39\xc7\xb3\xeb\xc0\xda\xf2\xcd\x95\xc5\xde\xe6\x64\x7b\x5f\x76\x3f\x87\x24\xd8\x15\xc9\x6e\xb4\xdf\xc2\x5b\xfa\xe6\x3c\x3a\x52\x8a\x7b\x15\xbb\x9a\x57\xef\x2d\x07\xfd\x93\xb4\x2c\x64\x89\xef\x86\xb0\xf8\x02\xaf\x43\x9c\x8e\x48\xd3\x06\xe3\x8c\x17\xf1\xe7\x07\x8e\x21\x01\x28\xf8\x72\xfb\x26\xa0\x43\xaf\x03\xfc\x5d\xa0\x53\x2f\x42\x0e\x79\xe7\x0e\x08\x50\x59\x0f\xbc\x04\x49\x81\x32\xe0\xa5\x1b\x4a\x6e\x79\x78\x76\xcb\xd6\xe5\xc8\xb3\xdb\xbb\xbb\xc8\x8b\xe3\x40\xce\xf6\xff\xe9\xd9\xed\x52\x89\x30\xe0\x41\x88\xaa\x7b\x15\x2c\xb6\xea\x81\x8f\x2b\x10\x55\x4e\xfd\x52\x29\xc3\xac\x90\x8a\xde\x63\x47\x7e\xd9\x1a\x58\xf2\xf9\x00\xbb\x0b\x47\x1c\x4d\x42\x16\x44\xbe\xb9\x83\xdb\xc3\x95\x93\xde\x69\xd2\xf6\x49\x4f\x3b\x9f\x6d\xec\xd9\x4e\xa3\xd7\x2c\xf8\x8d\x76\x13\x7b\x76\xab\xd1\x6e\x46\x29\x4c\x32\x8a\x28\xa9\x8b\x2b\x9c\x15\x5c\x29\x90\x9a\x30\x95\x43\xb1\xc8\x90\xd8\x86\x78\x27\x09\xae\x1f\xe2\x9d\x4a\x34\x1c\x8f\x81\x9f\xe3\x9a\x59\xd6\x94\x6d\x2d\x6d\xfd\xa4\xef\x32\xc5\x6d\xc9\xec\xe5\x88\xf0\xd4\x32\xa6\x88\x95\xb1\x55\xb3\xf8\x3f\x44\xfc\x2d\x7c\xb8\x48\x5c\x3d\x04\x3e\x44\x13\xe1\xda\x6e\x1d\x0c\xb1\xd8\xc3\x4a\x1b\x38\xeb\x97\x1e\x63\xbe\xf2\x0b\x2d\x88\xc0\xb0\x8c\x7d\x95\xde\xde\xaf\x5b\xd8\x2a\xe7\x54\x52\xe7\x99\x3e\x14\xc7\x88\xa5\x12\xa8\x9c\x01\x1f\xbb\x89\x63\xff\x3f\x22\xf1\x8f\x28\xd3\x79\x59\x2a\x67\xc0\x33\x41\xea\x16\x84\xe3\xb1\x77\xe6\xd7\x81\x87\x7d\x71\xfe\x07\x6b\x3d\xec\x1a\xde\xbe\x57\xae\x22\x9f\xf7\x2f\x70\x71\xc3\x35\xce\x38\x21\xea\xa1\xf8\xb7\x0f\x9b\xb0\x51\x6d\x22\xb7\x51\x6d\xe2\x61\xdd\xaf\xfb\x65\xab\x64\x95\x87\xb5\x61\xcd\x17\x2f\xad\x54\x9a\x65\xc0\x3f\xd6\xad\xba\x55\x76\x55\x2e\x9d\xb2\xdb\xd8\x6f\x42\x58\x73\x6d\x27\x23\x03\xe4\x43\x79\xe7\x21\xc0\x80\x61\x50\x41\x81\xed\x40\xf9\x34\x5a\x3a\xf5\x1d\x80\xf1\x2e\x2a\x1a\xe2\x46\x05\x89\xff\x35\x55\x26\x73\x63\xd5\xff\xa2\x1c\x40\xe4\xe1\x83\x93\xca\x29\xf6\x4e\xbc\xdd\x5d\x38\x6c\x78\x4d\x1c\xfc\x63\xff\xc5\x11\x0a\xce\xce\xce\xf0\x2b\x11\xba\x2d\x74\x3f\x53\x77\x08\x51\x15\x22\xf9\x89\xa1\x17\x10\x31\xec\x9b\x96\x50\x6a\x59\x5f\x5d\xbd\x60\xc9\x85\xc0\x7e\xa9\x04\xfa\x7c\x7c\xbd\x67\x00\xa2\x3e\x6e\xb1\x46\xbf\x89\x18\x5f\x69\xeb\x19\x32\x9e\x1f\xf1\x01\x1c\xb5\x31\x69\x04\xf2\x56\xc6\x13\x06\x43\x1c\x94\xab\x31\x08\xac\x13\x11\xc4\x56\xab\x14\x3c\xdc\x3e\x3b\xdb\x47\x6d\x0c\x0e\x4a\x6d\x78\x7a\x7a\x38\x7e\x3a\x3b\x3b\x44\x4f\x18\x54\x5f\x94\x9e\xe0\xe9\xe9\xfe\x18\xf4\x30\x5f\x3a\x95\xf7\x33\xf5\xf7\x9b\xb5\x0a\x3c\x3b\x3b\x42\xbd\x12\x3e\x3a\x40\xfe\x98\x43\x1e\x1d\x22\x3e\x70\x9e\xf0\xd1\x21\x57\x5e\xe9\xf6\xf7\x1b\x5e\x13\xf5\x1b\x6d\xfe\x9f\x27\x79\x79\xbf\xdf\xe8\x89\x3f\x60\xc4\x30\x53\x9e\xba\x25\xfd\x2e\xab\x25\xde\x42\x93\xf2\x10\x37\x58\xbe\xe1\xd4\xd6\xdd\x64\xba\x5e\x33\x56\xd6\x49\x6f\xfb\x36\xd2\x91\x24\x4d\x15\x2c\x56\x74\xc3\xa2\x23\x42\x18\x8b\x7c\xca\x2d\x3a\x1e\x65\x3d\x12\xe8\xe0\x08\xac\x0e\x2e\x4f\x8a\x1e\xf9\xf1\x39\x70\xb1\x55\x66\xb0\x40\x6c\x2a\x02\x3d\x44\x5c\x0f\x11\x7b\x60\xc4\xfe\x0d\xab\xd8\x13\x22\x03\x7a\x44\x28\x83\x08\x14\xc1\xc4\xbe\xac\xff\x4e\x00\xb1\x2f\x61\xed\x77\x02\x3e\x88\x17\xe3\x2e\x44\xf1\x5f\xaa\xf8\x2f\x5d\xec\xe4\x1d\x4e\xff\x10\xd1\x16\x44\x1e\x5f\xa7\x82\x28\x6e\x7c\xe2\xb9\xde\x43\xf1\x4b\x2f\x90\xf1\x13\xd7\x3a\x3a\x85\xfa\xc4\x03\x8a\xa4\x24\xf0\x77\xa7\xa2\x80\xaa\xd3\x76\x14\x25\x5e\xb9\x55\x41\x13\xec\xe9\x3d\x45\x75\x43\x55\x45\xc8\x44\x4c\x9e\x54\xa8\x33\x00\xd3\x56\x2a\x13\x2b\x4d\x66\x5b\xc6\x73\xe8\xdc\x4e\x39\xc9\x1f\xea\x24\x39\x1d\xab\x11\x95\xa5\x93\x8a\x73\x30\xb7\x0b\xdc\xa2\x5c\xc1\xa7\x6d\x6a\xd0\x70\x9b\x48\xbc\xbf\x33\x62\xd8\x8d\x8d\x37\xc3\xbb\xd5\x38\xe9\xd1\x19\x93\x89\x76\x73\x5b\x54\x07\x0c\x0c\xd6\x48\x83\x35\x23\xa0\xdc\x9b\x7f\x73\x79\xe8\x39\x04\xda\x5d\xee\xab\xb8\x38\xb4\xdf\xd0\x60\x70\xe9\x30\xbe\x94\x30\xb7\x06\x93\x0f\x85\x1d\x50\x39\xc5\x17\xa0\xc7\x90\x94\x3f\xb7\x88\xc1\x78\xec\x8e\xc7\x74\xae\x9f\xf1\x73\xf7\xc7\x8f\x1f\xbb\xdc\x87\xdc\x1d\x06\x7d\x69\xa4\x3b\x27\x9c\xc4\x90\x30\x3c\x64\xdd\xdd\x57\xc2\x89\xc8\x59\xae\xc6\x51\xb3\x0e\x6f\x45\x19\x35\x7d\x64\xcf\xe7\x1c\x28\xdf\x2a\xfc\xa6\xc2\x0d\xe2\x8d\x71\x99\x9e\xe6\x1b\x44\x13\x6e\xa7\xbe\x4a\xca\xc1\x33\xdf\x44\x02\x93\x5f\x15\xaa\xcc\x37\xfe\x45\x2a\xab\x88\x73\x90\x7b\x80\x02\xf4\x75\x5e\x26\xd3\x9f\xa5\x12\x21\xe0\x18\x96\x4a\x39\x69\xdd\x95\xbb\x90\xca\xa3\x1e\x07\x4a\x44\x62\xa0\xa3\x94\xea\xfe\xe9\xf6\xfb\xf2\xfc\x3f\x8e\x0c\x20\x32\x2c\xa0\xe8\x76\x8b\xae\xa7\xf7\x64\x50\xf1\x67\x2f\xd8\x17\x5f\x5f\x8b\xa1\xf3\xba\x2e\x78\xd1\x31\x18\xc4\xee\xa3\x74\x54\x06\x1f\x86\xef\xb8\xa2\xd5\x88\x3d\xc4\x22\x06\xea\x1d\x12\x60\x30\x43\xc3\x2d\xf1\x3a\x72\xcb\x52\x74\x82\x1c\x9a\x03\x3d\x34\x43\xf1\x22\x9d\x2a\xaa\x4e\x1c\x15\x26\x28\x64\x6c\x56\x76\xe8\xe9\x51\x17\x01\x8a\x5c\xc4\x20\x32\x12\x41\xff\x99\xf1\xe6\xc5\xf1\xad\xb8\x52\xc8\xa5\x06\x2c\xee\x74\x67\xdf\xd6\x92\x07\x48\xf2\xbb\x0c\x3c\x4b\x03\x88\xf4\x12\x6d\x71\x73\x51\x3c\x77\x26\x62\x15\x00\x91\x37\x17\x60\x52\x57\x9f\x31\x4f\xad\x5c\xa7\xa5\x12\x93\x19\xc4\x55\x96\xa4\x9a\xc6\x26\x17\x6e\x24\xbd\x52\x24\xb6\x5a\xc2\x25\x0b\x34\x62\x2c\xd0\x92\xf6\x29\xd7\x50\x4e\x82\xfe\x98\x21\xc2\x6c\x54\xb5\x6c\xb0\xec\x75\xd2\xdb\x73\x9c\x49\x19\x02\x13\xd4\x35\x65\xc6\x2e\xee\x75\xac\x41\xf1\x3e\xae\x15\xc1\x9a\x6a\x23\x90\xe4\x18\x2d\xa6\x57\xd9\x97\x2c\x75\x5f\x35\x79\x47\x26\x77\xff\x49\xda\x4d\x5a\x30\x8e\x6a\xcc\x0c\x06\xae\x5e\xd9\xc9\xa7\x66\x85\x28\xa2\x37\xa9\x37\x69\xbc\xdc\xc0\x63\xa9\x07\x18\x13\x15\x74\xac\x53\x5c\xd4\x74\x27\xc6\x9f\x7a\xc9\xa7\x58\xb8\xf1\xc7\x87\xe4\x23\x97\x62\x5c\xde\x36\xca\x85\x42\x61\xf1\xee\x9b\x58\x05\xeb\x4f\x62\x95\x1a\xa1\x14\xb5\xe9\xeb\xcf\x73\x28\xbf\x8d\x43\xa0\x33\x74\xeb\x0f\x3d\x34\x41\xb5\xfe\xf4\x80\x4c\x9a\x75\x69\x1b\x65\x28\xd6\x1f\xba\x28\x9f\xde\x36\xb7\xfd\xfd\x89\xa0\x9a\x6f\x93\xd1\x3c\xf9\x15\x73\xca\x66\x0a\x64\xc6\x37\x94\xed\xf6\xcc\x6f\x74\x63\xfe\xfe\x98\x7b\x8b\x2b\x56\x52\xc7\x8c\x05\x51\x8f\xa9\x88\x58\x0d\x67\x09\xd5\x1a\x8f\x13\x51\x0a\xb5\xd0\x8f\xdc\x28\xf8\x08\x39\xcb\x75\xbd\xba\x57\x96\xbd\x24\x3f\x89\x6b\x4a\xb7\x38\xea\x03\x10\xaf\x5e\xca\xfc\xf6\x72\x87\xc4\x42\x01\x54\xaf\x3b\x91\x64\x3d\x12\x3f\xdd\x28\xb7\x3d\xb4\xd3\xab\x87\x2c\x37\xb5\xf8\x92\x81\xbc\x4d\xe7\x2b\x06\x7c\x44\x50\xc8\xe7\x5c\xa9\xa4\xd0\xc8\x85\xf7\x06\x04\xc2\x46\x43\xe4\xa2\x9d\x2a\x14\xf7\x98\xc5\xc3\x49\xe9\x4e\x7a\x9f\x73\x6b\x4f\x1d\x52\xf1\xbe\x98\xc2\x82\xb3\x04\x0b\x53\xa8\xe7\xf4\xa8\x87\xb9\xb2\x4f\x04\xc9\xcc\x45\x3e\x0a\x0b\x7f\x32\x70\xc5\xc4\x03\x96\x0e\x34\xcc\xa7\x2b\xce\x27\x7b\x70\xe4\xd6\x29\x70\x61\xcd\xa9\x87\xd8\xa9\x79\x75\x1f\x7b\xb5\x5e\x3d\xc0\x3d\x6e\xf2\x73\x93\x65\x03\x88\xe4\x32\xe9\x3d\x08\x91\x8b\x9c\xe4\xcd\x02\xe0\xe0\x00\xd6\x47\x51\xcd\x49\xd6\x41\xbe\x74\xe8\x7c\xc8\x67\x00\xee\xd6\x46\x30\x16\xf6\x43\xae\xb0\xe5\xf3\x50\xf9\x47\x04\x93\x69\xc2\xe5\x83\x83\xe9\x0e\x11\x82\xbe\x48\x3f\x70\x94\x79\x23\x41\xb4\x9f\xbc\x0e\x91\x41\xf0\x69\xc1\x1e\x0d\x49\xf0\x48\x82\x7b\xb9\xc5\x27\xa2\x18\x37\xd7\xb9\x71\xa7\xcd\x56\xcd\x0c\xe5\x92\xa2\x5b\x4d\x10\x4e\xb3\x35\x4d\x4c\xf9\xc5\x69\x68\xde\x2b\x4e\xab\x4f\x26\x2b\xbc\x4f\x03\x06\x7e\x7b\x12\xe6\x23\x22\x36\xf9\xe9\xd3\x80\x85\xf6\x39\x97\x8b\xd3\x66\x17\x22\x97\xde\x6b\x27\x24\x78\x24\x95\xec\xda\xeb\xd2\x5a\x9e\xc5\x4b\xee\xeb\x06\x7a\x6b\xd5\xd5\xbb\xb5\xc4\x48\xa0\x28\xf7\x65\x69\x14\x19\xcd\xbd\x0d\xfc\xf6\x9f\xa4\x65\xb4\x76\xc3\x8c\xcf\xf2\x2c\x42\xe4\x6b\x18\xdd\xfc\x5e\xab\xa0\x8b\xf3\x0f\x17\x57\xef\xde\x5d\x5d\xd6\xaa\x48\xbf\x7f\xbc\x8f\xae\x3f\xfc\x71\xfe\xee\xfa\xf2\xfe\xfc\xd3\xdb\xcf\xef\xaf\x3e\xdc\xd5\x0e\xd0\xe5\xd5\xf9\xe5\xbb\xeb\x0f\x57\xf7\x57\x5f\x2e\xae\xae\x2e\xaf\x2e\x6b\x87\xe8\xc3\xcd\xdd\xfd\x9b\x9b\xcf\x1f\x2e\x6b\x2f\xd0\xf9\xbb\x4f\x57\xe7\x97\x7f\xdd\x5f\x7d\xb9\xbe\xbd\xbb\xad\x1d\xa1\x8f\x57\x9f\xde\x5f\xdf\xde\x5e\xdf\x7c\xb8\xbf\xbc\xfa\x70\x7d\x75\x59\x7b\x89\x3e\x7f\x38\xff\x7c\xf7\xeb\xd5\x87\xbb\xeb\x8b\xf3\x3b\xde\xe6\x11\xfa\x74\x75\x7b\xf3\xf9\xd3\x05\xc7\xfb\xeb\xf9\xe7\x5b\x5e\xfa\x0a\xbd\x39\xbf\x7e\x77\x75\x79\xff\xf1\xd3\xd5\xc5\xcd\x87\xcb\x6b\xf1\x92\xf2\x31\x3a\x7f\x7d\xf3\x49\xd4\xaa\xa0\x9b\xcf\x77\xf7\x37\x6f\xee\x3f\x9d\x7f\x78\x7b\x55\xab\x72\xd2\xaf\xdf\x7f\x7c\x77\xc5\x69\xe5\x00\x9c\x83\xbb\xab\x4f\x1f\xce\xdf\xd5\xaa\x07\xbc\xd5\x3f\xce\xaf\xdf\x9d\xbf\x7e\x77\x55\xab\x1e\xa2\xcb\xf3\xbb\xf3\xfb\x77\x37\xb7\xb7\xb5\xea\x0b\x53\x74\x13\x79\xf2\x5f\x4f\x7c\x14\x8b\x92\xd1\xe7\x0f\xe7\x9f\xfe\xaa\x69\x0b\x77\x7b\xf5\xe9\x8f\xab\x4f\xf7\xb7\x77\x9f\xae\xce\xdf\x5f\x7f\x78\x5b\x9b\x1c\x28\x51\x84\xf6\xf7\xf7\x5f\xd4\x94\x17\x8c\xcf\x46\xd6\x30\x14\x39\xeb\xdd\x36\xb3\x0a\xd4\x0e\x44\xca\x1f\xbb\x03\x18\x1a\xfd\xa9\x9e\x80\x96\x5d\x58\x03\x10\x9f\x85\x51\xfc\x4c\x2c\x78\xf5\xea\x55\x55\xec\x7b\x83\x57\x87\x47\xfb\x32\xd4\xeb\xc5\xc1\xc1\xb1\x71\xb7\xd8\xcf\xbc\x64\xc4\xc4\xa6\x5f\xfe\x93\xcd\x02\x74\x24\x1f\xf4\xa5\x88\xc4\xd9\xcb\x6b\x3b\x15\x34\xe3\x09\xe0\x48\x2e\x4b\x31\x45\x24\x6a\xf7\x9d\x30\x2c\x86\x23\x23\x5b\xba\x26\xc0\xd7\x61\xc1\x82\x97\xfb\x24\x7a\x48\x7f\xe8\xd1\x90\x71\x4d\xcf\xf9\xd4\x4e\x56\x6e\x39\x5f\xa9\x7c\x70\x21\xe7\xcb\x20\xd3\x8d\x6f\x09\x53\x39\xb0\xf9\x80\xb3\x90\x7c\x7c\x7f\xc2\xce\x5b\x7b\x39\xcf\x85\xeb\xbe\xd8\xcb\x22\x09\x0c\x85\xb0\x85\x3e\x20\xd7\xbe\x1a\xf8\xec\x09\x39\x76\x1a\x58\x9b\x70\x04\x08\x3e\x9b\x78\x54\x9f\xaf\xdf\xa7\xd5\xb0\x8d\x40\x0c\x09\x0d\xa7\xb3\xc9\x3d\x8f\x9b\xeb\xcb\x8b\xf3\x21\xeb\x49\xda\xc2\x15\x79\xcd\xc5\x34\x93\xe1\x9c\x1a\x8b\x70\x3d\xa3\xda\x52\xac\xbf\x25\x31\x9a\xcf\x9f\xde\xad\xde\xc3\x29\x24\x39\x0c\x8b\x7e\x32\x80\xd4\x66\x46\x4e\xf9\x42\x3d\x9e\x53\x63\x29\xb6\x2f\xd4\x82\x4f\xe3\x59\x91\xf1\x49\x34\xb9\xac\x67\xc1\x12\xe6\x27\xbf\xcc\x67\x7f\x5a\x9d\xa5\x04\xf0\x81\x8a\xaa\x43\xef\x2e\x70\x1f\x1e\x48\xb0\xa2\x00\x26\xd1\xe4\x0a\x20\x01\x48\x58\x37\xcb\xe6\x33\x3d\x09\xbd\xac\x9a\x7f\x0e\x57\xe6\x32\xae\x3d\x4d\xb1\xf9\xd7\x94\x46\xcb\x82\x85\x54\xd9\x04\x5d\xda\x6a\xf1\xca\xeb\xd8\x2a\x55\x7f\xae\x85\x12\x70\x8b\xda\xa5\x14\xf0\x52\x2c\x7d\xf6\x3b\x0e\x23\x6b\xf4\x94\x89\x20\xb7\xb3\x12\x80\xa4\xbf\xcc\xb2\xf9\x1c\x4e\x42\x2f\xc5\xe2\xa5\x38\x87\x5d\x83\x45\x13\x41\x2e\x8b\x09\x80\x66\x51\xf7\xe5\x54\xae\x14\xc0\x92\x7d\x15\x92\x80\x25\xf3\xcf\xca\x3d\x96\x45\x33\xa5\xdf\xd2\x60\x66\xef\x65\xbf\x2c\xd2\x87\xf9\x75\x96\xb5\x29\x6b\x73\x9f\xc1\x31\xcd\xbe\xe4\xf1\x9d\x29\x5e\xc8\xd6\xac\xc9\x31\x1f\xdc\x9b\xf1\x91\x96\xf3\x8f\x56\xf0\x8d\xd6\xf5\x8b\xe4\x20\x5a\xbb\x7f\x27\xd1\xcc\x18\xb2\x93\xbd\xbc\x95\x81\xcb\xc5\xf3\x27\x0d\xbe\x87\xbe\xd3\x26\xeb\x74\xa2\x89\x24\x97\xad\x34\x50\xa2\xba\xd9\xf2\xc5\xba\x74\xb2\xc6\xb2\xc3\x35\xc6\xb0\xfa\x68\x35\x50\x4c\x1b\xac\x31\x48\x6a\xac\x1a\xa5\x0b\x0d\xd5\x09\xf8\x15\x8c\xf3\xba\xfc\x4e\x60\x99\x61\x9a\x73\xb8\x9e\xf8\xb0\xa8\x61\xde\x04\xef\x1f\x03\x2a\x1e\x3c\x5e\x87\xf3\x18\xc7\x0c\xbe\x15\x4c\x96\xeb\xb8\x78\x51\x9e\x33\x15\x96\x55\xed\xf5\xd8\x35\x11\x4c\x53\xeb\x09\x46\xcd\xb2\x85\x54\x7a\x1d\x16\xb9\x01\x50\xf5\xd7\x31\x59\x09\x8a\xa9\x06\x4b\x83\xa4\xcd\x55\x52\xba\x98\xb1\xca\xc2\x2f\x39\xf9\x84\x2c\xa0\x4f\xeb\xf5\x69\x16\xc9\x94\x89\xc7\x04\xda\xea\xb4\xc3\xdd\x8f\x24\x2c\x62\x0d\x7f\xc9\x44\x32\xd5\x61\x4a\x80\xd2\x1e\x93\x59\xbe\x98\xcb\x34\x59\x63\x15\x37\x79\x6d\xce\x73\xf0\xcc\x72\x94\xf3\xf8\xcf\xf9\xb4\xb0\xab\xbc\xa6\x14\xf8\x90\x78\x3d\x74\xfb\x6b\x39\x8d\x1a\xc1\xd4\xa1\x2b\x01\xd2\x03\x57\x97\x2d\x36\x6c\xd3\xd0\xcb\xea\xb7\xa8\xbd\xba\x66\xab\xea\xd3\x74\x5a\x7c\x4e\x98\x13\x3f\x67\xf1\x23\x00\x96\x65\xe1\x9d\xc3\x48\xb8\x2e\x23\x29\x24\xd3\xd8\x31\x80\xb6\xca\x94\xb0\xc6\xc3\xb0\x47\x3a\xe7\x01\x73\xbb\xce\x9a\x13\x48\x16\xd3\xf4\x79\x24\x0d\x99\x99\x4e\xb2\x1f\x17\x9c\x55\xf2\xab\x2d\xed\x2c\xa4\xd0\xac\xe1\x33\x64\xf0\x4c\x75\x1d\x52\x70\x89\x24\xd2\xe5\xb3\x98\x4f\x43\xae\xa6\xd4\x9b\xe2\x3a\x1f\xdb\x6c\x35\xff\xaf\x4a\x80\x6b\xce\x25\xf1\xfb\xf4\x49\x66\xc7\x5c\x5d\xfb\x53\x58\xa6\x6a\xbe\x01\x95\xd6\xfa\xd4\x87\xc5\x34\x3e\xa7\xca\xb2\xbd\x9f\xa0\x58\xbd\xcf\x4d\x1c\xd3\x7a\x3a\x81\x49\xb8\x4e\xca\x66\x31\x9a\x40\x2d\xdd\xaf\xd7\x2a\x5e\x75\x9d\x5e\x35\x70\x4c\xed\xd3\x18\x26\xdd\xa3\x46\xf1\x62\xfd\x39\x51\x61\x69\x8e\x3f\x91\x3e\x71\xc2\xb5\x18\x4e\x50\x4c\xe5\x57\x83\xa4\xd9\x4d\x4a\x17\xe3\x36\x0b\xbf\xac\xea\xaa\xfa\xab\xeb\x6d\x8c\x60\x9a\xd2\x2a\x00\xe3\x58\x46\x16\xcc\x3c\x8b\x91\x20\xab\x59\xe1\xb5\x59\xca\xa0\x99\x6d\x77\x9f\x91\x3d\x19\x1e\xf2\x89\xf8\x34\x58\xc3\xd0\xa4\xb1\x4c\x63\xce\x84\x4a\x78\x33\x4b\x67\x31\x68\xc2\xad\xd6\x89\x9b\xe1\x35\x0f\xd7\xec\xee\xfc\x2f\xf1\xcd\x87\xb2\x59\x79\x1d\xdb\x93\xc1\x33\xd5\x00\xa5\xe0\xd2\x56\x28\xf3\x69\x31\x53\x94\x5b\x69\x29\x29\x5c\xfd\xf4\x49\xc7\x65\x64\x03\x9d\x9f\x8f\x2a\x57\x16\x79\xa0\x89\x38\xf2\xbf\xce\x97\xc8\xac\x7a\x4b\x0f\x09\xfa\x20\xc3\xe8\xd6\x18\x09\x09\x8a\x94\x10\xb2\xf1\x51\x6a\x2c\x68\x68\x43\x2d\xe8\xc3\x6b\x87\xb5\x7b\x33\xb5\x40\xc1\x2c\xc5\xdf\x2d\x61\x17\x22\x94\x69\x45\xe6\x8c\xfa\x53\x42\x23\xf8\xc7\x5b\xc2\xcc\x98\x88\xb8\x68\x91\x60\x88\x0c\xf0\xb2\xbd\xb7\x16\x77\x6f\x17\xe2\xee\xed\x24\x77\x6f\x97\xe1\xee\xed\x8a\xdc\xc5\xb2\xbf\xa5\xc3\x60\xe5\x43\x80\x09\x2c\xb9\x9c\x66\xa0\xb6\xbd\x93\xb8\x01\xbe\x26\xb0\x4c\x9b\x7a\xf2\xf8\xca\xf9\xb0\xd0\x6e\x62\x5e\x95\xe5\x02\x97\xc4\x9b\x0d\xbf\xaa\xd0\xbf\x55\xc3\x96\x32\x48\xf2\x75\x37\x05\x64\x28\x70\xa6\x7c\x01\x2d\xce\xad\xb1\xc2\x71\xec\x9a\x6c\x67\x91\xcc\x38\x8a\xcd\xb2\xbd\xb5\x83\x58\xdd\xd0\x3a\x2e\x85\x81\x63\xaa\x3b\x11\xc3\xa4\x5d\x09\xa3\x78\x31\x37\x62\xa2\xc2\x52\x1c\xff\x6b\x48\x86\xe4\x37\xda\x5a\x91\xd9\xa4\x7a\x2e\x9f\xfa\x73\xc2\x62\x52\x32\x9f\xbb\x2c\xec\x72\xc3\x52\xdc\x43\x59\x9d\x33\xa3\x7e\xfe\x60\xd4\xdf\xb7\x6d\x58\x57\x67\x41\x57\x9e\x66\x46\x53\x1d\xf3\x1b\x6d\xcd\xea\x8b\xdf\x68\x6b\xe9\x91\xf4\x1b\x6d\xad\x33\x88\x64\xf5\xa9\xe3\x87\x7f\x4e\x0f\x1d\x59\xb2\xd8\xa8\x31\x61\x97\x62\xec\x0f\xa7\xef\x76\x1c\xb6\xc6\x98\x49\x61\xc8\x65\xcf\x80\x48\x38\x4c\x15\xce\x67\x32\x07\x7c\x05\xcd\x5b\xd7\x8d\x36\x50\x2c\xe0\x46\xc7\xd0\xa9\x49\xdd\x28\x5d\x68\x46\x9f\x80\x5f\x7a\x8f\x67\xe8\x79\xeb\x44\xa6\xea\xfa\x53\x77\x78\xc4\xf7\x54\xdc\xad\x47\x82\x39\xb1\xb6\x1e\x09\x96\xdf\x98\x13\xd5\xd6\xda\x97\xd3\x18\xa6\x6f\xcb\x49\x88\xcc\xae\x9c\x2e\x5c\x70\x53\x2e\x0d\xbe\x14\x9f\xe7\x1d\xea\xaf\xd7\x63\x29\x0c\xb9\x7c\x1a\x10\x5b\xb5\xf6\x6f\x68\xf0\xb0\xa6\xfa\xa5\x51\xe4\x72\x63\x82\x6c\x7b\xf2\xba\x15\x97\x87\xd6\x5d\xd1\xa5\xb1\xcc\xbb\xad\x62\x42\x2f\x68\x32\xf2\xaa\x2c\xbb\xb0\xdb\x00\xab\x13\x58\xa6\x2d\xec\xd2\xf4\x6e\xb1\x0b\xe5\x42\xe1\xd6\x73\xfc\xb0\x47\x57\xdd\x5b\xca\x22\x99\x3d\x13\x24\x7d\x99\xae\xb7\xf8\xba\x26\x5b\x63\x29\x8e\x5f\x53\xca\x42\x16\x38\xfe\x9d\x48\x1a\xbc\x1a\xc7\x59\x24\x33\x55\xf6\x03\xf9\x21\xc0\x16\x61\x30\x0b\xbb\xe4\x92\xad\x4d\x3b\x64\x1d\xbe\x52\x18\xa6\x2c\xd6\x62\x08\xf3\xcc\xcd\x28\x9c\xcf\x64\x0e\xf8\x92\x76\xc7\x23\x81\xc3\xc8\xb5\xf7\xe8\xb2\xb5\xf8\xcd\xc5\x94\xcb\xb7\x01\x91\xf0\xfd\x6c\x3d\xab\xe9\x7c\x47\x1f\x5c\x6f\x13\x0c\x9b\x88\xf2\xa7\xfe\x18\xe0\xbf\xc8\xae\x9c\xc3\x36\xc1\x6f\x0a\xd3\x14\xbf\x6d\x02\xf2\xbf\xc0\xf9\x05\xf5\x1e\x49\xc0\xd6\xd7\xec\x3c\x44\xd3\x36\x4c\x33\x80\xff\x05\xb6\xd7\xef\xe8\xf9\x1d\x9c\xdb\xb1\xa9\xc2\x85\xee\xc4\x65\xc1\x57\xe0\x33\x15\xb9\xb0\x96\x43\x31\x03\xdf\x0c\x19\xe4\xc0\x67\x25\x92\x0b\xb2\xa8\x7c\x66\x54\x5e\xee\xf8\xcb\x63\x81\x64\x74\x2d\x21\x4d\xa2\x99\xb7\x54\xcd\xd6\x30\x4e\xbf\x26\xbe\x2c\x70\xf2\x35\xa5\xce\x52\xb2\xd0\xdc\xfc\xda\xee\xbf\x19\xac\xea\xa8\x65\x91\xe4\xea\x48\x1a\x28\x61\x3d\x5b\x3e\x9f\xf1\xfc\x1a\x2b\xc4\xf2\xde\x78\x97\x64\xe0\x78\x1d\xa9\x5e\x6b\x29\xc3\x2c\x84\x33\xa2\x7b\xf3\x2a\x64\xc3\x7c\xf3\x61\x16\x8d\xf7\x9d\x55\x7b\xe9\xfb\xe5\x9b\x93\xd7\x54\x6c\xd3\x36\x3f\x66\x4b\x6a\x2a\xc0\x62\x77\xd0\x37\x28\xa3\x4b\x99\xd7\x7c\xb3\xa2\x9a\x89\x74\xde\xba\xf6\xff\x07\xc1\xc8\xb3\x98\x0d\x0a\x65\x16\xc2\x19\xa7\x41\xb3\xb5\x68\x16\xcc\x22\xcb\x8f\x79\xb5\x97\x4f\x65\x91\x83\x6c\xad\x84\x16\xf9\xf8\xe6\x5e\xdb\xcc\xad\xb7\x70\x72\x8b\x59\x95\x57\xb0\xda\xeb\x84\xb4\xa7\x30\xcc\xb0\xcb\x99\x60\xf6\x54\xe1\xa2\x96\x37\x05\xbe\xca\xbd\xb7\x4d\x44\x39\xe7\xa3\x9a\x75\x0b\x6e\x4a\x7c\x73\xfe\xd7\x85\xef\xc4\xe5\xd6\x5b\x41\x28\x6b\x87\x00\x4f\xa2\x99\x21\x8c\xbc\x40\xe0\xc9\x2f\x8b\x0a\x61\xb2\xce\x0a\x02\x58\x2f\xea\x32\x83\x63\x06\xeb\x13\xf1\x96\x99\xe2\x45\x99\xce\x54\x58\x81\xe3\x0d\x44\xa9\xe5\x21\x9a\xc1\x7b\x7e\x84\x5a\xde\xb7\x45\xa5\xb0\x89\xe8\xb4\x3b\x27\xfc\xbe\xba\x0b\x21\x6b\x4f\xf3\xae\xf8\xd7\x94\x37\x25\x0b\x16\x72\x12\x4c\xd0\xa5\x67\xb8\x35\x98\x4a\xaa\x4f\x3d\x64\x4a\xb3\x95\x94\x2c\x36\x71\xad\xcc\x98\x3c\xe3\x5f\x83\x35\x13\xc1\x8c\x28\x02\x93\xbd\x2d\x66\x06\x59\x2f\xb1\x50\x06\xc7\x8c\x61\x37\x91\x58\x28\x53\xbc\xe8\x60\x5b\x33\xbd\xd0\x7a\xec\x9a\x08\xa6\x8e\xb6\x2c\xa3\x66\xd9\x62\x63\x6e\x0d\x16\xa5\x9f\xba\x1e\x97\x19\x1c\x33\x3c\xee\x0c\xaf\x5b\x0b\xbf\x52\xed\xac\xe3\x1d\x27\x28\xa6\x1b\x94\x6c\xcf\xa5\x0a\x17\x34\x2b\x6b\xf4\xdd\xda\x69\xbe\xfe\xff\x4f\xf0\xa5\x1c\x46\xd7\x27\xe2\xc5\x9b\xb5\xdc\xde\x18\xc9\x2c\x87\x57\x01\x4d\xb8\xba\x71\xf9\xc2\x4e\x6e\xa6\xc6\xb2\x3d\xbb\x26\xcf\x29\x0c\xd3\xfa\x76\x92\xdb\x54\xe1\x42\xbd\xbb\x16\x9f\x6f\xc9\xba\x7d\x9b\xc2\x30\xf5\xa2\xea\x04\x9f\xa9\xc2\xc5\xb2\x5c\x6c\x88\xcf\x4f\xc3\x35\x92\x24\xa4\x90\xcc\xe5\x76\xe8\xe5\x33\x3c\x5c\x34\x49\x42\x4e\x8d\x15\xef\xe8\x6e\x82\xf9\x1c\x54\xab\x75\xf8\xb3\xf1\x2f\xee\x76\x2b\x1c\x6b\xdd\x4e\x4f\x70\x4c\x9d\x8c\x62\x98\xcc\x8d\xf4\xa4\x78\xc1\xbb\xe8\xd9\x0a\x2b\x73\xfc\x69\xe8\x6d\x82\x69\x89\x66\x2e\xdf\x1c\x2c\x9f\x75\xf9\x65\x39\xee\xcd\x3a\xcb\x9e\xad\x76\xdd\x87\xdb\x27\xaf\xbd\xa6\x61\xcb\x43\x34\xeb\xaa\x8d\x01\x38\x71\xe7\x26\xf5\x6d\xe1\xcb\x37\x39\xb5\x96\x9b\xbb\xaf\xef\x37\x90\xde\x67\x02\x4b\xfe\xec\x7d\x3d\x25\xc9\xcf\xc4\x87\x05\xe6\xef\xfc\x2a\xcb\xf2\xbe\x76\xf6\xa6\x0c\x8e\x69\x7c\xe7\xe5\x70\xca\x14\x2f\xc4\xf3\x9a\x99\x9c\x54\x3f\xad\x9f\x90\x20\x0f\xd1\xac\x3e\xcf\x4d\x4b\x90\xf7\x6d\xe1\x9e\x5f\x37\x39\x81\xec\xb8\xf5\x37\x27\x27\xd0\xcc\x50\x81\xdc\xcd\xc9\x89\x2f\x8b\x2a\xc2\xba\x9b\x93\xb2\x0b\xd7\xbc\xd2\x3f\x81\x65\x96\x16\x4c\x5e\xec\x9f\xf8\xb0\x70\xff\x2f\x74\xbd\x9f\x8e\xc7\x80\xe2\x51\x04\x11\x1b\x8f\x01\x13\x7f\x89\xd7\xbe\x06\x0e\xc3\xe6\x73\xb2\x2a\xd1\x3b\x96\x32\x98\x78\x8c\x00\x50\xf5\xbc\x43\x9c\xf7\x1d\x13\x3b\x20\x7e\xdf\x69\x13\xb0\xf7\x75\xaf\xfc\xcb\x1e\xb2\x2c\x05\x63\x26\x80\xd7\xcf\x1d\xe8\xb4\xef\x98\x46\x0f\xa9\x9c\xe9\x99\x94\xf7\xf1\xb3\x5c\xb4\x6e\xd2\xa5\x9f\x6b\x00\x69\x22\xca\xcb\x25\x7f\x27\x5c\x0a\xa3\x48\x52\x34\x3b\xdd\x3c\xa2\xb0\x96\x22\x20\x7e\x6f\xe2\xd9\x48\x80\x51\x7f\x32\xcf\xfa\x36\xc5\x95\x9b\x3f\x7e\x26\xc1\x39\x35\x36\x25\xb8\x8d\x10\x03\xb9\xb2\x19\xe9\xda\xb7\xac\x6c\xa9\x3c\xf4\xf3\x7a\xda\x00\xde\xa0\xb2\xad\x4a\x02\x8c\xda\x99\xcc\xee\xdb\x94\xd5\x64\xea\xfa\x99\xa4\x66\xc1\x37\x25\xaf\x35\xc9\x80\x91\x97\xc9\x40\xbf\x4d\x99\x4d\x66\xbb\x9f\x49\x6c\x16\x7c\x53\x32\x5b\x93\x0c\x31\x22\x3f\x87\xdb\x15\x55\x9c\x32\x7f\xde\x00\xe0\x50\x1b\x1c\x7c\x8b\x37\x2a\x6d\xbb\xc8\x55\xbf\x6d\x8b\xae\xb2\xec\xcf\x35\x9d\x02\x6e\x93\xd6\x7b\xa9\x86\x61\x34\x8c\x53\xdb\x6f\x53\x22\x66\x8e\xfe\x99\x94\x25\x80\x9b\x92\xc9\x0a\x4d\xc3\xa8\x13\xe7\xd3\xdf\xa6\x54\xcc\xb4\xfe\x33\x49\x4b\x00\x37\x25\x95\x15\x9a\xe6\xba\x92\x4e\xa1\xbf\x5d\x8d\xc9\xbe\x11\x30\xa7\xf3\xd2\xe0\x9b\xd3\x9e\xb5\xc8\x10\x76\xf7\x79\x04\x96\x79\x56\x60\x9e\x39\xdc\xbc\xa8\x56\x26\x40\x5a\xe5\x67\xf4\xb6\x97\x73\x6e\xb7\xe4\x65\xaf\x4c\x84\xb6\x4e\xcf\xa3\x56\x93\xaf\x19\x2c\x60\x2e\x36\xaf\x5c\x6b\x92\x21\x55\x2c\x79\x4d\x60\xdb\x1a\x66\x3e\x93\x30\xb7\x6f\x13\xe0\x4d\xea\xd7\x8a\x24\x08\x8b\x15\xff\xdc\xb2\xc1\x32\x9e\x19\x98\x67\x2e\x62\xd0\x0d\x9a\xab\x55\x9a\xd7\xb3\xe0\xb3\x88\x68\xe2\x31\x86\x05\x26\x9f\x8d\x0b\x6a\x2d\x22\xb4\xb8\xd4\xee\xf1\xf6\x85\x15\x6f\x89\x2f\x40\xa5\x82\xdd\xac\xa0\x56\x20\x40\x8c\xb9\x67\x90\x90\x79\x62\x30\x4f\xe1\x37\x2c\x9b\x15\x9a\x96\x36\x5b\x9f\xb4\x6c\xdb\x62\x27\x67\x48\x73\x8d\xa5\x06\xdd\xa4\xb5\x5e\xa1\x79\xee\x07\x98\x2f\x39\x6c\xd7\x0b\x48\x3f\x2c\x31\x67\xf2\x35\x81\x37\xe7\x01\xac\x4c\x82\xf4\xc2\x93\xe7\x0c\xb6\xed\x86\x9b\x0f\x36\xcc\x75\x83\x13\xe0\x4d\x3a\xe2\x2b\x92\x10\xaf\xf1\x9e\x47\x58\x39\x0f\x5c\x2c\xb2\xbc\xda\xbc\xc8\xd6\x26\x44\x1a\x2b\xf9\x94\xc4\xb6\x4d\x95\x7e\x13\x63\xae\xa5\x90\x80\x9b\x34\x53\x4b\x36\x2d\x06\x9e\xf8\x73\xcb\x43\x4e\xdd\xd3\x99\xa7\xe9\xf2\xa9\x89\xcd\x0d\xb3\x65\x9a\x15\xb2\x30\x1e\xc0\xd8\xb2\x44\x52\xef\x71\xcc\x23\xd0\x00\xde\xa0\x74\x56\x25\x41\x4d\xfc\xe9\x77\x2f\xb6\x3e\xff\x67\x1f\xf9\x98\x3f\x0f\xa7\x6b\x6c\xd4\x1b\x58\x97\x18\xe9\x51\xa6\xca\xb6\xed\x58\x66\x2e\x8e\xcd\x75\xf2\xd2\xaf\x60\x6c\xd0\xcd\x5c\x8b\x10\x63\x94\x3e\xab\xf8\xf2\x1f\x18\x59\x6c\xd0\x6c\x4d\x94\x9b\x23\x4a\x0e\x69\x23\x76\x66\xdb\xc3\x39\x15\x21\x34\x77\xf4\x18\xd0\x9b\x1c\xc6\x2b\x13\x21\xb4\x30\xf9\xbd\x65\xdd\x33\xa3\x88\xe6\x75\xae\xf1\xb8\xc9\xe6\xf4\x6c\x35\x02\xa4\x4e\xc5\x8f\x8b\x6c\x5b\xa3\x8c\x17\x53\xe6\x76\x65\x0c\xbb\x49\x6d\x5a\x89\x00\x29\x24\x1d\xb4\xb4\x6d\x19\x25\xe1\x58\x73\x29\xd4\xa0\x9b\x94\xd0\x0a\xcd\x8b\x91\xa6\x7e\x6c\x79\x98\xc5\x77\x69\xe7\xa9\xb8\x7e\xaf\x64\x73\x03\x6c\xd9\xa6\x8d\x59\xf0\x79\x64\x93\x79\xe0\x65\xb1\x29\x66\xf3\x72\x5a\x87\x0c\x21\x33\xf3\xf6\xee\x96\x45\x96\xbe\xa3\x3c\x8f\xd4\xd4\x7b\x29\x9b\x13\xd8\xea\x44\x18\x2a\xf6\x8c\x42\xcb\x7b\x7e\x66\xb1\x5e\xde\x92\x00\x37\x43\x90\xb4\xf2\xa9\xe7\x5e\xb6\x6d\xea\x33\x6f\xda\xcc\x35\xb8\x29\xf8\x4d\x1a\xfd\xb5\x08\x81\x11\xc9\x79\x15\x66\x9b\xb2\xcb\x7f\x06\x67\x26\xd5\x79\x55\x36\x25\xc1\x0d\x91\x23\x47\xb3\x7e\xa3\x86\xcb\x2f\x96\x5e\x8a\xca\x50\xa4\x95\x95\x50\xae\xf7\xb0\xfc\x70\x49\x1e\xcd\x99\x3b\x4a\x34\x28\x8c\x42\xfd\x08\xc7\x36\x3b\xd6\x78\xf5\x66\x26\x69\x31\xdc\xa6\xba\x70\xe9\x86\x45\x67\x6d\x5f\x20\x6f\x17\xa4\xeb\xed\xa6\x05\xb2\x74\xc3\x86\x86\xc8\x67\x5a\x9e\x45\x4f\xf4\x1b\x34\x8b\x75\x9a\x84\xde\xb8\xce\xac\x42\x84\xa1\x3f\xdb\x17\xd7\xc4\x93\x3d\x8b\x75\xe9\x66\xc5\xb5\x16\x11\x30\x6a\xa7\x1e\xc3\xd9\x6a\x84\x77\xe6\x95\x9f\xd9\x81\xd5\x29\xe0\x8d\x45\x77\xaf\x4e\x82\x8e\x6c\x7a\x0e\x49\x65\x1f\x06\x5a\x20\x9c\x68\xd3\x92\x5a\x83\x04\xe9\xf0\xc5\x0f\xf3\x6c\xdb\xd9\x33\x5e\x1b\x9a\xeb\x5f\xc5\xb0\x9b\x74\xf2\x56\x22\x00\x46\xff\x51\xef\xfb\x6c\x53\x3e\xc9\x03\x45\x33\x29\xd3\x60\x9b\x92\xca\x92\xcd\xc2\xa8\xad\x9f\x13\xda\xaa\xfd\x49\xde\x34\x9a\x3d\xee\x35\xdc\xc6\xac\xce\xb2\x0d\x8b\x49\x6c\xcb\xd2\xd0\xcf\x23\xcd\x9b\x2d\x36\x28\x87\x25\x9a\x94\x36\xe4\x37\xda\xda\xba\xf9\x90\xef\x2c\xcd\x1d\xb8\x1c\x6c\x93\x46\x63\x89\x66\x61\xf4\x98\xbc\x66\xb4\x4d\x71\xa4\x9e\x66\x9a\x49\x9a\x01\xb9\x29\xa1\xac\xd4\xb8\x1e\x28\xdb\x5e\xda\x19\x0f\x39\x2d\xa0\xbc\x7a\x69\x17\xbf\x33\xb3\xed\xcd\x5b\xf5\xde\xcd\xdc\x0d\x54\xf9\xd2\xd2\x06\xb7\x6e\x97\x6a\x58\x6d\xf7\xcb\xd7\x8e\xb6\xbe\xdb\xaf\x9f\x6e\x9a\xbf\xdb\x2e\x21\x37\xba\xd7\xbf\x6c\xe3\x30\x72\x92\x47\x96\xb6\x29\x9a\xd4\x6b\x4f\x33\xa9\x33\x20\x37\x25\x9a\x95\x1a\x87\x51\xd7\x78\xb1\x69\x9b\xb2\x49\x3f\x1e\x35\x93\x3e\x13\x74\x53\xd2\x59\xb1\x79\xb9\xb5\x6f\xbc\x88\xb4\xed\xad\xfd\xd4\x13\x4d\x73\x77\xd5\x0d\xe8\x4d\x6e\xed\xaf\x4c\x84\xd8\x4e\x79\x2e\x71\x4d\xbc\x68\x35\x6f\x27\x63\x1b\xe2\x5a\x8b\x08\xbd\x3f\xa0\x1f\x95\xda\xd2\x14\x9b\x7d\x23\x6b\x81\x75\xb9\x06\x86\x51\x2b\xf5\xdc\xd4\x36\xfb\x33\xfb\xb0\xd5\x4c\x32\xd3\xc0\x9b\xea\xcd\x35\x48\x80\x51\x27\x79\x5a\x6a\xbb\xdb\x17\xc6\x3b\x59\x73\x36\x0e\x62\xc8\xcd\x6d\x5c\xac\xd0\x38\x37\xa2\x13\x6f\x5d\x6d\xd7\x90\xe6\x3c\xad\x35\xc7\x8e\x4d\xd4\xd8\x9c\x41\xdd\x00\x31\x89\x08\x93\xc7\xb1\x9e\x43\x82\xe6\x5b\x5d\x0b\xd1\x9c\x54\xd8\xb4\xfc\xd6\x20\x25\x91\x9e\xf1\x88\xd2\x73\x88\x2f\xf5\x32\xd4\x42\x44\x1b\x35\x36\x2d\xc0\xb5\x88\x81\x51\x7b\xe2\xb1\xae\xed\x26\x2c\x99\x7c\x43\x6c\x4e\xae\x90\x6c\x85\xcd\x25\x2d\x59\x9b\x14\x18\x05\xcf\xa3\x78\x8b\xf7\xf1\x16\x14\x6d\xa5\xc6\xb5\x68\x72\x1e\xee\xda\xbe\xa0\x72\x5f\x2f\x5b\x80\xf2\x9c\x7a\x9b\x15\xe2\x06\x09\x83\x11\xc9\x3c\x02\xb6\x25\x37\x73\xf2\xad\xb3\xd9\xc1\x04\x19\x70\x18\x69\x94\xf2\xcd\xae\x6d\xf6\xfe\x9f\xa9\x96\xe6\x10\x9a\x06\xde\x54\x3f\xaf\x41\x82\xbe\xaa\x95\xf7\x68\xce\xf6\xef\x6c\xe5\xbf\xa7\xb4\xc0\x9d\xa9\xbc\x8a\x9b\xbd\xc5\xb5\x51\xd2\x64\x2a\xb3\x67\x16\xf1\xd4\x27\xcf\xe6\xad\xc2\xb7\x29\xdc\x8d\x12\xa5\x02\xdc\xa7\xbe\x55\xb6\xf5\x88\xf7\x19\xaf\xa4\xcd\x8f\x40\x9f\x5a\x79\xa3\x31\xf1\xdb\x21\x51\x9f\xb1\x3f\xb7\xd4\x67\x3d\xc3\xb6\xc0\xc1\xf7\x36\xa5\xbd\x05\xd2\x54\x12\xc9\xbc\xf7\xcc\xb6\x9e\x4a\x32\xff\xe5\xb6\xb9\xdb\xe4\xb9\xf5\x36\x9a\x56\x72\x93\x84\xe9\xd9\x6f\xeb\x57\x29\x53\xef\xc0\x2d\x30\x89\x6c\xf4\x12\xe5\x4a\x8d\xc7\x29\x37\x9e\xed\xfe\x5a\xfe\xd3\x71\x8b\xe4\xbf\xd8\xca\xcd\xb5\x0d\x91\xa3\xe5\xf8\x3c\xf7\xb0\x26\x5f\x9b\x5b\x80\xe0\xcd\xdf\xc6\x5a\x93\x0c\x2d\xb3\x67\xb8\x35\x92\x79\xa0\x6e\x01\x32\x37\x7c\x5f\x64\x65\x02\xb4\x90\x9e\x2b\xe4\x3c\xef\x4d\xbb\x05\xa8\xdd\x46\xb8\xf9\x06\x48\x11\xae\xe3\x9d\x13\x7e\xdf\xb2\x8f\x28\xdf\x54\x9b\xe7\x69\x71\xa8\x0d\x7a\x7d\x8b\x37\x2a\x3d\x8c\x6d\xcb\x21\x79\x39\x6f\xee\x34\xbd\x49\x49\x2c\xd9\xac\x0e\x6e\xdb\xb6\x34\xcc\xc7\xf6\x16\x88\x32\xdb\xa4\x44\x56\x68\x5a\x9b\x99\x67\x48\x92\x9c\x79\xb9\x6f\x81\x11\xbd\xe1\xf4\xc8\x2b\x13\x20\xad\xc9\xf6\x25\x64\x3e\xf6\x37\x77\x78\x6f\x56\x36\x2b\x34\xad\x17\x89\xcf\x20\x98\xcc\xfb\x80\x0b\xac\xb7\x36\x2c\x9e\x95\x09\x50\x16\x58\x3d\x05\xb8\x75\x2b\x1c\x3f\x39\x38\xdf\x24\x2a\xd0\x8d\x5a\xe3\xe5\x9b\x17\x7b\xfa\xcf\xa0\x41\x0b\x27\x45\xdf\x7c\x56\xf6\x15\x9a\x8e\x57\x67\xea\xf5\xa4\x67\x58\x97\xc5\x4f\x44\x2d\xb2\x04\x52\xc0\x1b\x5e\x8b\xad\x42\x82\xd0\x9f\xe7\x10\x53\xea\x39\xc4\x79\xdd\xb8\x69\x01\xad\xd4\xb8\x4c\xef\xf3\x0c\xa2\x49\xbd\xa0\x38\x37\x93\xce\x86\x45\xb3\x52\xe3\x29\xd1\x7c\x1a\x6e\x3b\xd7\x5f\xea\xc5\xc1\x45\x69\xfc\x34\xdc\x64\xae\xbf\x55\x49\x30\x53\x1d\x3d\x9b\xbc\x72\xde\x69\x5c\x30\x9f\xd0\x56\x64\xb7\x09\x72\x54\xba\x32\xfd\x34\xe2\xd6\x13\x95\x25\xef\x3d\xce\x9d\x8a\x63\xd8\x8d\x26\x27\x5b\x85\x80\xb4\x90\x3e\x0d\xbd\x67\x93\x93\x7c\x22\x72\x61\x4a\x39\xf8\x36\xa4\xb5\x02\x19\x22\xda\x26\xf3\xd8\xe2\x96\xa3\x6d\x26\x5e\x95\x9c\x17\xe2\x92\xa9\xb0\xc1\x68\x9b\x75\x49\x81\xd1\x30\xfd\x3a\xe4\x56\x3d\xad\xec\x43\x94\xb3\xfd\x9c\x34\xf4\xc6\x7c\xad\x75\x88\x10\xe2\x7a\xfb\x2c\x69\xa8\x33\x6f\x57\xce\xa3\x72\xf3\xc9\xa8\x57\x26\x20\xd6\xa9\x67\xca\x64\x97\xf7\xdc\xe5\x22\x9d\xba\x85\x7c\x76\x1b\x20\x45\xab\xd8\x33\x1d\xa8\x4c\xbc\x90\xb9\x40\x3f\x6f\xe1\x40\x65\x3d\x32\x62\x8d\x7b\x8e\x14\x6e\x13\x8f\x6a\x2e\xd2\xc1\x9b\x4e\xe4\xb6\x16\x11\x30\x8a\x22\x74\xbc\xff\xe2\x45\x4d\xc9\x09\x9f\x8d\x1e\x9d\xa0\x18\x20\xb7\x40\x6c\xf2\x53\x24\xfd\xc1\x20\xc0\xf7\xc4\x71\xef\x3b\xc8\x95\x7f\x04\xe8\x87\xeb\x75\xe8\x0f\x9b\x0c\x5a\x24\x38\x1f\x32\x7a\x3d\xe0\xa0\x97\x4f\x9e\x33\x70\xdb\xb8\x3b\xf4\xda\x32\x17\x76\x2c\xf8\x2a\xc6\xd8\x09\x1e\x86\x42\xb3\xed\x3e\xf1\x1e\x58\xaf\xee\x02\x4b\x22\x7e\xf2\xee\xad\x32\x81\x35\xa3\x80\x89\x12\x70\x1e\x04\xce\x93\xed\x07\x94\x51\xf6\xe4\x13\x3b\xec\xbb\x6d\x62\xb7\xb9\x98\x62\x74\xa8\x0a\x61\x34\x85\x24\x3e\xc5\xe5\xd1\xa3\x5b\x0a\x9f\xbc\xf6\xb2\x2d\x05\xc0\x72\x3c\xf1\x14\x54\xa3\x89\x40\x8c\x3c\xc6\x4d\xc1\xd1\xc1\x8b\x17\x30\x82\x50\x81\xba\xbb\x6d\xda\xa7\x41\x38\xa3\xc2\xf1\xf1\x2b\x5d\xa1\xdd\x77\xfd\x16\x75\x82\xce\x74\xf0\xfd\xe3\xe3\x83\x18\x9c\x76\xc8\xc0\x0d\x02\x3a\x83\x9e\xe3\xca\xcb\xc3\x49\xf8\x3d\xa7\xd3\xa1\xde\x1e\xe9\xb8\x6c\xaf\xdd\xa7\x21\x69\x05\x4e\xfb\x3b\x61\x33\xe8\xac\xbe\x38\x98\x83\x68\xe0\xb0\x76\x6f\x3e\xa2\xe3\xea\xe1\xcb\xa9\x88\x06\xb4\x43\xf6\x42\x77\xe0\xf7\xc9\x74\x0c\x07\x2f\x0f\x2b\x53\x31\x84\xa4\x4f\x44\x8d\x3d\xa7\xcd\xdc\x47\xb2\x2b\x7d\xa2\xe9\x6c\xed\xbf\xc8\xc1\x25\xe8\xf8\xe6\x3c\x3a\x72\xf8\x18\x7f\xce\x60\xec\xf8\x28\x46\xd5\x71\x18\xd9\xed\x7a\x33\xc4\xf0\xd2\xe8\xf7\x0e\x6d\x7f\x27\xc1\xae\xef\x04\x21\xd9\x75\x07\xce\xc3\x0c\x82\xf7\x5f\x54\x75\x35\xa1\xf0\xbb\xdf\xc9\x93\xd0\x99\xbd\x1e\xe9\xfb\x24\x08\xf7\xdc\x2e\x2f\xb3\xbf\xcd\xea\xcc\xe3\xa3\xa3\x39\x58\xa8\x37\x1f\xcb\xd1\xab\x69\x58\x06\xb4\xe3\x76\xdd\x05\xf1\x1c\xec\x57\xf6\xa7\xe0\x09\x49\xf0\xe8\xb6\x49\xb8\xa7\x4b\x66\x22\x7a\x79\x90\x28\x46\xd7\x09\xd9\xee\x80\x0c\xa8\xfb\xf7\x0c\x69\xbe\x78\xb9\x1f\x8b\xf3\x81\xd2\x87\x3e\xd9\x15\x76\xa0\x35\xec\xee\xc9\xdf\x7b\xf1\x6f\x32\xf0\xd9\xd3\xbd\xdf\x9a\x8e\xed\xd5\xe1\x51\xcc\x88\xeb\xb1\xfe\xee\x80\x84\xa1\xf3\x40\xe4\x7b\xc6\x33\x04\x70\x78\x50\x99\x5e\x4f\xea\xc5\x8c\x31\xfe\xea\xf8\x55\x3c\xa2\xa4\x0e\x0d\x83\xfe\x2c\x29\xbd\x8a\x47\x32\x73\x7d\x7f\x4e\x27\xbf\x7a\x19\x1b\x1c\x46\x69\x9f\xb9\xfe\x4c\xf8\xe3\xea\x7e\x4c\xcc\xd0\x51\xb4\xef\xce\x6e\xe1\x38\x1e\x37\x3a\xb9\x40\x67\xb7\xdd\x73\xbc\x07\x12\x92\x19\x62\x7b\x75\x74\x10\x77\x9e\x9e\x1e\x77\xe5\xa4\x3a\x63\xfc\xec\x27\x03\x3e\xae\x34\xab\x53\x5f\x1c\x1c\x1c\xeb\x0a\x3f\x19\x09\x06\x33\x70\x1f\x24\x04\x09\xd0\x5d\x61\x93\x76\x1d\xc6\x9c\x76\x6f\x46\xff\x1f\xed\xcb\xfe\x17\x4e\x4a\xa6\x72\xd7\x9d\xc5\xcd\xd1\xb1\x20\x0e\x46\xe8\xe8\xb0\x52\xa9\x25\xf3\x1d\x62\x70\xa4\x26\x46\x39\x73\xe3\x80\xfc\x67\xe8\x06\x04\x99\xa5\x1d\xdc\x21\x5d\xd7\x23\x11\xaa\xee\x1f\xef\xd7\x08\x3e\x1b\x59\xc3\x90\x14\x43\x16\xb8\x6d\x66\x19\xae\x80\xaa\x0d\xac\xff\x15\x43\x74\xcf\x31\x9e\x80\x80\x11\x7a\xf5\xf2\xf8\xe5\x32\xd5\xdb\x74\xe0\x53\x8f\x78\x4c\x19\x1c\x8e\xe3\xe0\xe0\xc5\xc1\x32\x38\x3a\xa4\x35\x7c\xe0\x15\x8f\x0f\x0e\xab\xcb\x55\x14\x8f\x9e\x38\xad\x3e\xe1\xd5\x5f\xee\x57\x8f\x97\xa9\x4e\x5b\x62\x39\x24\xb8\x7e\xb9\x14\xc5\xc1\xd0\xeb\x53\xea\x8b\xaa\x2f\x5e\x1e\x2e\x53\x55\x59\x42\x5e\xb5\xfa\xea\xe8\x68\x99\xaa\x43\xe6\xf6\x43\x5e\xf1\xc5\xab\x83\xc5\xe4\x24\xad\xb0\x36\xe2\xbc\xea\xfe\xe1\x8b\xe3\xac\xab\x88\x29\x38\x3c\x3a\x86\xc8\xc5\x01\x72\xf0\x1b\xad\x7a\x96\x71\x55\xc2\x82\x00\x22\x1f\x53\x70\x50\x3d\xae\xc0\x82\x6b\x4b\xd9\xd9\xe4\x27\x23\x5e\x07\x08\xdb\x8a\x7c\x88\x5c\x45\xc3\xed\xd3\xa0\x45\xfb\xc0\x12\x1f\x6c\x69\x81\xb9\x8b\x6e\xcb\xc0\x16\x0b\x79\xc3\x7e\x1f\x39\x10\x4d\x01\x48\x3b\x7c\xf6\x7b\x69\x47\x6d\xd7\x73\x99\x7c\x79\x5e\xb8\xd8\x88\xa0\x0a\xda\xad\x4e\x43\x62\x07\xc4\x27\xdc\x08\xbd\x71\x49\xbf\x13\xde\x8b\x46\x61\x84\x5c\xdb\xf5\x7a\x24\x70\x59\x08\xa6\xd4\x44\x71\x93\x9c\xa5\xcb\xab\xd7\x9f\xdf\x96\x4a\x3b\x17\x37\xef\x3f\x5e\xbf\xbb\xba\x2c\x95\xa6\xd5\xb3\x3b\x6e\xe8\xf7\x9d\xa7\x0f\xce\x80\xe0\xa9\xcc\x4f\xe5\x3a\x4b\x30\x6e\x1c\x34\x13\x52\xec\xb7\x57\x1f\xae\x3e\x9d\xdf\x5d\xdd\xdf\xdd\xdc\xdf\xbc\xfe\xed\xea\xe2\x6e\x06\x25\x89\x1b\xcc\xe8\x8d\xe8\xac\x3c\x27\x7a\x5a\x6d\x5d\x87\x6b\x4a\xcf\x0d\x61\x34\x95\xe4\x1c\xec\xdc\x64\x71\xc5\xa2\x78\xc4\x5d\xb1\x5a\xc2\xc1\x03\x61\x82\xb5\x3f\x5d\xd6\x53\x21\xdb\x80\xa1\x2a\xaa\x40\xa4\xa6\xca\xb9\xc0\xfb\xe2\xfd\xff\x0e\x61\x8e\xdb\x0f\xf9\x4a\xc8\xa8\xa1\x69\xe1\xc5\x80\xd9\x22\xe2\x3e\x86\xe3\x0a\x6c\x9f\x7b\x4f\x31\x14\x22\x30\x2a\x28\x39\x90\x52\x09\x50\xfb\x97\x6f\xa1\xdf\x52\xc8\x74\x42\x71\xcc\x20\xa2\xd1\xf4\x2e\xeb\x90\x90\x04\x52\x27\x5f\xbb\x7c\x01\x98\x12\x33\x17\x03\xc3\x1e\xf9\x51\x0c\x6c\xf9\xf9\x13\x71\x3a\x24\x00\x04\x22\x2a\xca\xa7\xe0\x2d\xcc\xe9\xa0\x89\x66\xdf\x04\x74\xa0\x70\x53\xc4\x66\x74\xd8\x8c\x9a\x99\x3e\xec\xd2\x00\x9c\x30\xdb\x23\x3f\x65\x47\x00\x58\x2a\xed\x30\xdb\x0d\xaf\xbc\xce\xdb\x80\x0e\x7d\x00\x4f\x60\xf8\xc3\x65\xed\x9e\x94\xb6\x80\xfa\x30\xe4\x46\x07\x40\x38\x6a\x3b\x21\x29\x56\x6b\x52\x15\x98\x1d\x10\xa7\x73\xed\xb1\x83\x7d\x00\x0b\xc4\x16\x09\x28\x3b\x04\x50\x58\x68\x05\xc4\xf9\x5e\x10\xd0\xfb\x35\x0d\x79\xcb\x02\xd7\x7b\x00\x10\x09\x50\xd5\x29\x19\xe8\x83\x9a\x92\x21\xef\x57\x24\xeb\xc5\x90\xaa\xb7\x67\xb0\xcb\x71\x3b\x9d\x8e\xd2\x91\x04\x77\x47\x2a\x5b\x8d\xd9\xe1\x77\xd7\x57\xac\x47\x5a\x53\xa6\x4b\xd6\x58\x79\x4e\x53\x09\xa9\x11\x24\xa5\x11\x7f\x06\x2e\x23\xc1\xbc\x0e\xcf\xa0\xbc\xa3\xb2\x9a\xb2\x83\x9c\x15\x91\xd7\x3d\x1c\xf6\xd9\xeb\x61\xb7\xcb\x7b\x60\x3a\xa5\x53\x90\xe5\x8e\x61\xb9\xe1\x52\xa8\xec\x60\x0c\x28\x16\xcd\x88\x8e\x83\xb0\x54\x62\xf6\x0f\x5e\x51\xf6\x6a\x15\x51\x88\x34\x88\xee\x06\x08\xd5\x56\xc1\x59\x25\x06\x57\x5d\xbb\x6f\xc2\xa7\x06\x6a\x4e\x9d\x4f\xca\x32\x6a\xbc\x07\x48\x77\xf0\x14\x5e\x66\x70\x9f\xf4\x93\xe2\x05\x4f\xba\x64\x73\xcc\x10\x17\x3a\x37\x5b\x8b\x29\x43\xa6\x11\x92\xd3\x4a\x28\xb6\x5c\x19\x3d\xb8\xf6\xd4\x60\x53\x6d\x90\x45\x19\x51\x98\x56\xe3\x45\x58\xd5\x05\x99\x99\x68\x68\x26\x3f\xb2\xb3\x0d\x96\xf6\x17\x67\xc9\x50\x8a\x79\x6c\x69\xfd\xf8\x33\x70\x7c\x9f\x04\x46\x7b\xd2\x38\x1c\x2c\xca\x5d\x6e\x9b\x53\x38\x9c\xde\xe8\xc1\x82\x4c\x26\xe6\x27\x33\xf6\x26\x9a\x73\x3a\x9d\x3b\x3a\xb3\xc1\x74\x73\x7a\xb9\x2b\x4d\xe3\x42\xc4\xb4\xfb\xc4\x09\x66\xcb\x5c\x6c\x49\xa6\xa5\x04\x1a\x4d\xe1\x53\xa5\x3d\x42\x36\xd1\x1e\x77\xd0\x8f\xf7\x0f\x57\x74\x3e\x0b\xf9\x9e\x25\xf5\x9d\xff\x0c\x89\xe3\x3d\x71\x36\xb3\x5e\x65\xea\xe3\x72\x1e\xa5\x40\x34\xcd\x5d\x4c\xe1\x5d\xd0\x55\x4c\xd5\xc9\x73\x13\xd3\x9c\xc0\xc5\xdc\xbe\x34\xd6\x65\x5c\xbe\x74\xcd\x69\xee\x5e\x3e\x54\xbe\xab\xc7\x1b\xfe\x1c\xf4\x17\xf0\xf6\xb8\x03\xf7\xe8\xf4\x87\xa4\x26\xbc\x86\x3f\xf8\x9f\xf7\x4e\xf8\xfa\xe8\x10\x2c\xef\x91\x65\x04\xbb\x11\x6f\x2c\x85\xb3\x30\x43\x6e\x8b\x7a\x61\x0b\xd7\xda\xbe\x07\xa6\xfd\x2a\xe9\x82\xdd\xc9\x4e\x9b\xea\x85\xbd\x7e\x62\x24\xd4\x4e\x98\xe8\xa8\x65\xdd\xa4\x69\x2a\xba\xb6\x8b\x94\x46\xbc\x86\x7b\xb4\x10\xa2\x19\xae\xd1\x89\xf6\x61\xb4\x30\x67\xf8\x3c\x29\x1f\x49\x2b\xfe\xe7\x57\xb9\x55\xa4\xec\xb9\x97\x34\x4f\x96\x49\xdb\xab\x7a\x32\xc6\xec\x3f\xbd\xc3\x26\x1b\x59\x6e\xe6\x37\x9d\x99\x19\xac\x08\xb1\x6c\xc0\x8d\x99\xd7\x84\x34\x39\x33\x1b\x6a\xf1\x2e\x38\x17\x96\x49\xcc\x7c\xba\x2a\x80\xcb\xb4\xf2\xf9\xd5\x22\x8d\x7c\x7e\xb5\x74\x1b\xe1\x84\xb0\x66\x76\x88\x50\xa8\x09\x4f\x6c\xda\xcc\x1d\x37\x0a\xa3\x08\x51\x3c\x8a\x0a\xba\x95\x62\xa0\x8d\xa9\x8b\x69\x83\x34\x0b\x6e\x17\xc4\xc7\xb2\x2e\xd4\xe7\x73\x7a\x3b\xaa\xc0\x21\x1d\x01\x89\x47\x6e\xa7\x46\x50\x9f\x3a\x1d\xd2\xa9\xed\x54\x91\x02\xa9\x8d\xa2\xd8\xf0\xb3\x06\x69\xaa\x43\x3b\x8d\x01\x39\x28\xf9\x3b\x80\xc8\xb1\x25\x06\xbc\x53\x49\x3e\x44\x81\x3d\xc0\x0c\x05\xb6\x33\xe8\xdc\xe0\x51\x84\x08\x6e\x34\x51\x60\xdf\x60\xc0\x10\x45\x2e\x72\xb8\xcf\xe1\x76\xc1\x0e\x95\xc4\xfb\xb8\xba\x57\x29\x70\x13\xdb\xc6\x95\x93\xf6\x29\x51\x43\xf0\xa4\x5d\x2e\x4b\xd3\xfb\xe8\x04\x0d\x51\xb3\x89\x49\xa3\xdd\x44\x21\x6f\xd0\xc3\x95\x13\xef\x94\x6a\x60\xaf\x5c\x86\x60\xa7\x5a\x72\xc6\x63\xff\x0c\x3b\xb0\x54\x92\x93\xa4\xfd\x9d\x3c\x85\x20\xb0\x6f\xa0\x4d\x1e\x49\xf0\x04\x00\xc1\x67\x81\x7d\xd3\x20\x4d\x40\x1b\x5e\x13\x42\x58\xa7\x76\xe8\xf7\xdd\x36\x01\xde\xee\x2e\xaa\xc2\x1a\x08\xf1\x4e\x15\x39\xa7\x3e\x9f\xe0\xb1\x03\x21\x97\x6c\x08\x47\x44\xc3\xb5\x05\x9c\x10\x68\x0f\xbb\x00\x16\x62\xb1\xf7\x4a\x25\xc0\x70\x0f\x46\xda\x00\xb3\xc8\xc1\xce\x78\x2c\x19\xe4\x15\xda\x38\x61\x90\x5b\x19\xd2\x68\xef\x56\x9b\x8d\xfd\xe6\x99\x73\xd2\xde\xdd\x85\x9c\x43\x2c\x0b\x0b\xe2\x6f\xc5\x7a\x84\x02\xdb\xc3\x44\xf9\x6b\x0c\x93\x52\x89\xd8\xf7\xf7\x24\x7c\x4f\x3b\xc3\x3e\xa9\x03\x88\xcf\x88\xad\x27\x03\xf1\xab\x10\xeb\x20\x57\xa7\x91\x53\x63\x11\x44\x8c\x23\xea\x60\x61\x3f\xf1\x99\x96\x6f\x91\x16\x5d\xaf\xc8\x60\x60\x53\xde\x4d\x7c\x7e\xe3\x7f\x12\xf1\xa7\x92\xa4\xdc\xda\xfe\x18\x50\x9f\x04\xec\x89\x7f\x43\x23\xe2\x0d\x07\x24\x70\x5a\x7d\x52\xdb\xa9\xa0\x07\xc2\x6a\xac\x41\x9b\x11\xe4\x8d\x50\xdd\x88\xaa\x9f\x0c\x98\x9e\x13\xde\xfc\xf0\x34\x26\xa9\x65\x1c\x14\x05\x76\x80\xe5\x86\xaa\x27\x5b\xeb\x58\x3b\x98\x57\xa1\xdd\xa2\xf4\x38\x4b\x25\xf9\xaf\xcd\xa8\x34\x6c\x77\xce\xc3\x74\x0a\x27\x61\xd1\x48\xba\x3c\x96\x14\x9b\x15\x41\x34\xad\xb2\x95\x48\xd7\xd2\xd5\x76\x2a\x92\x37\x6f\xd0\xe1\x84\x02\x62\xfb\x0e\xeb\x85\x5c\xc5\x89\xdd\xee\xb9\xfd\x4e\x40\xbc\xf1\x18\x24\x3f\x70\xa3\x09\xf9\xcc\x07\x80\xf6\xb5\x09\x1e\x55\x0f\x0f\x6a\x95\xa8\x10\xd8\x37\xf6\x37\xcc\xf0\x59\x05\x63\x4c\x1a\xac\x59\x90\x7d\x0b\x0c\xcf\xdc\x45\x0e\x6a\xf8\x28\x44\x5e\x13\x53\xd4\xc3\x15\xae\x8c\xbe\x1d\xd2\x01\x01\x80\x57\xdd\x91\x55\x21\x94\x83\xc5\xe5\x1d\x19\x8a\x8e\x0c\x91\x0b\x4b\x25\x10\xd8\x83\x86\xdb\xc4\x61\xc3\x6d\x0a\x4d\xf6\xa0\xd4\x43\x0f\xc8\x04\xac\x80\x95\x4a\x0c\x50\x78\xd2\x3b\xf5\xb5\x6a\xf6\xca\x65\xe8\x60\xbf\xd1\xe3\x43\x97\xeb\x01\x1f\x51\xa4\xe1\x34\xe5\x7f\x1b\x95\x26\xf7\x46\x1a\x4e\x13\x57\x12\x2d\xbb\x01\x7c\x75\x41\xf1\x43\x9f\xb6\x9c\xfe\x1d\xb7\xa2\x3f\x48\xcb\x77\xda\xdf\x2f\x7a\x43\xef\xfb\xbd\xd8\x06\xbf\x77\x86\x8c\xde\xbb\x22\xa6\xe0\x7e\x09\xd0\xf1\xb8\xd1\x2c\x50\xbb\x4b\x83\x2b\x47\xb8\x59\x2d\xd7\xeb\x00\xb1\x40\xa8\x40\x88\xa8\xed\x0f\xc3\x1e\x36\x8b\x65\x91\x2c\xa0\x10\x46\x10\x70\x05\xbb\x51\x36\x12\x35\x5e\xbe\x3c\x68\xca\x6e\x09\xc0\xd1\x61\xa5\x02\xa1\x1c\xd2\x2e\x9e\x06\x75\xbc\xff\xe2\x05\x87\x92\x10\x2e\x44\xf7\x39\x84\xde\x63\x97\x37\x55\xf8\x7f\x01\x00\x00\xff\xff\x17\x0e\xea\x1a\x7d\x6a\x15\x00") -func uiDistAssetsChunk143399ac03cf32e920eeb6fJsBytes() ([]byte, error) { +func uiDistAssetsChunk1437ea05e17b3d79e3f7777JsBytes() ([]byte, error) { return bindataRead( - _uiDistAssetsChunk143399ac03cf32e920eeb6fJs, - "ui/dist/assets/chunk.143.399ac03cf32e920eeb6f.js", + _uiDistAssetsChunk1437ea05e17b3d79e3f7777Js, + "ui/dist/assets/chunk.143.7ea05e17b3d79e3f7777.js", ) } -func uiDistAssetsChunk143399ac03cf32e920eeb6fJs() (*asset, error) { - bytes, err := uiDistAssetsChunk143399ac03cf32e920eeb6fJsBytes() +func uiDistAssetsChunk1437ea05e17b3d79e3f7777Js() (*asset, error) { + bytes, err := uiDistAssetsChunk1437ea05e17b3d79e3f7777JsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.143.399ac03cf32e920eeb6f.js", size: 1403517, mode: os.FileMode(0644), modTime: time.Unix(1680804348, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x79, 0x77, 0x4c, 0xab, 0x93, 0xcb, 0x80, 0xab, 0xe8, 0xc2, 0x8f, 0x42, 0x82, 0x42, 0xbc, 0x4f, 0x50, 0x66, 0x22, 0x7d, 0x7d, 0xe3, 0xff, 0xf, 0x81, 0x8a, 0x19, 0x41, 0xa2, 0x3, 0xfd, 0x66}} + info := bindataFileInfo{name: "ui/dist/assets/chunk.143.7ea05e17b3d79e3f7777.js", size: 1403517, mode: os.FileMode(0644), modTime: time.Unix(1676568142, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xaf, 0xd3, 0x5e, 0x92, 0xe6, 0xd4, 0xad, 0xec, 0x20, 0x9d, 0x2f, 0x81, 0x7, 0xc0, 0x6, 0x51, 0xcc, 0xf5, 0x8, 0x95, 0x67, 0xa0, 0x12, 0x23, 0xe0, 0x4, 0x81, 0x40, 0xd2, 0xb6, 0xff}} return a, nil } -var _uiDistAssetsChunk178412575959b4acd89e192Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4f\x6f\xe3\xb6\x13\xbd\xeb\x53\xd8\x39\x08\x1c\x98\xe6\x4f\xca\x22\xf9\xb9\x76\xc6\x8b\x45\xdb\x43\x4f\x2e\xd0\xde\x04\x41\xa0\x29\x3a\xe6\x46\x26\xbd\x23\x2a\x59\x43\xd6\x77\x2f\x28\x59\x71\xb0\x48\x16\xd8\x8b\x31\x1e\xbd\x37\x7f\xde\x0c\xc9\x67\x49\x93\xa2\xd0\x87\xad\xa6\x42\x36\xde\x15\xe6\x70\x74\xe4\x8b\x62\xc5\x18\xe0\xba\x0d\xdf\x89\x6b\x6c\x17\x8b\xc5\xed\x72\xd7\x58\xe5\x8d\xb3\x8c\xb8\x86\xf6\xc5\xd8\xd2\xbd\x88\x42\x4b\x53\x10\x92\xfe\xd6\x18\xd2\xfc\xad\xb7\xc4\x52\xef\x8c\xd5\x1d\xbf\x4f\xee\x3e\x2d\x03\x8d\xbb\x31\xac\xe7\x36\x22\xa1\xbf\x87\x7c\x35\x32\x8f\x03\x85\xdb\xc1\xa0\x31\x52\x5f\xdc\x97\xc6\xbb\xbf\xfa\xd2\xfe\x38\x59\x79\x30\x0a\xaf\xb5\x40\x4b\xda\x37\x64\x27\x29\x22\x4a\x7a\x6c\x0e\xda\xfa\x5a\x54\xda\x3e\xfa\xfd\x67\xcb\x6e\x86\xc0\x27\x5b\xdc\xcc\x08\x96\x6f\x1c\xbe\xf7\xb0\x2f\x44\xf2\x24\x8e\xe4\xbc\xf3\xa7\xa3\x16\x75\x65\x94\x16\x4a\x56\x15\x7b\x0d\xc7\x53\x80\xee\x83\x92\xfe\x39\xd9\x77\xeb\x19\x33\xd5\x27\xab\x7e\x35\x93\x67\x37\xf2\xbb\x9e\x2b\x47\xfa\x86\x67\x39\x67\xaf\xf1\x5f\xc3\x3b\x96\xde\xde\x43\x07\x10\xc0\x95\x2b\x65\xbd\x17\x4a\xd6\x5e\x86\x24\x1f\x93\xee\x17\x9f\xd2\x1f\x58\x95\xac\xfd\xc7\x84\xbb\x24\xb9\xfb\x81\xe0\x0e\xe6\x27\x84\xdf\xd2\xbb\xa4\x27\x3c\x3b\x53\x4e\x3c\xbb\xf9\xd6\xd8\x9f\xe3\xfb\x36\xa0\xeb\xb8\xc3\xb6\x8b\x46\xcc\xc4\x07\x31\xc3\xae\x58\x74\x19\xe5\x91\xd9\xb1\x3e\x64\x32\x45\xb4\x30\xaa\x3c\xee\x50\x14\x90\xa6\x47\x62\x6b\xca\x25\xf1\xca\xc9\x52\x97\xcb\x69\xca\x2f\x90\x65\xdb\x75\xd1\x85\xa7\x33\xca\x07\xe9\xcd\x18\x81\x1b\x7e\xb5\x3d\x70\x23\x86\x08\x38\x4d\xae\x1f\x3a\x2f\x0e\xa8\x39\x61\x96\x73\x2f\x36\xc8\x34\x77\xdc\x72\x13\xf6\xda\xec\xd8\xd4\x0d\x25\x4b\x4c\xff\x97\x44\x3b\x47\x4c\x61\xb2\x52\x0f\x74\x59\xc8\x95\x9a\xcd\xa0\x0d\xfe\x67\x49\x59\xcf\xcc\x91\x32\x95\xf3\x22\xa4\x69\x30\x59\x35\x0f\x6e\x04\x37\xb3\x19\xb0\x69\x1a\x9b\xf3\x59\xae\xd1\x40\x1c\x6f\xb6\x5f\xb5\xf2\xe2\x49\x9f\x6a\xe6\xc5\x06\x84\x7e\xd6\x74\x62\x8c\x70\xed\xc5\x26\xa3\x9c\xb9\xac\xc9\x01\xe0\xb3\x13\xf5\x31\xec\x17\x6b\xe6\x73\x9e\xc2\x92\x15\x38\x4d\xb9\x79\x90\x71\xcc\x24\x1a\x80\xa0\x67\x01\x2d\x8d\x38\xd5\xe3\x7a\x19\x2b\xb4\x0c\xa2\x57\xb1\xab\x38\x66\x1a\x2b\xe8\xba\x51\xbc\xce\xa0\x39\x9f\x87\x06\x03\x41\xe1\xb5\xc1\x75\x12\xc7\x94\xa9\x79\x9a\x67\xb7\xf9\xda\xac\xd4\x7c\x0e\xa1\x43\x1c\x9c\x51\x6f\x5f\x5a\xef\xb8\x17\x0e\xfb\x0b\x05\xd7\x97\xde\xae\xe7\x63\x2f\xeb\xcd\x8b\xfd\x9b\xdc\x51\x93\x3f\x0d\xd3\x0a\x50\xee\x85\x3d\x94\x48\xb8\x66\x24\x8e\xd2\xef\xeb\x30\x0d\x12\x6a\x6f\xaa\x92\xb4\x3d\x9f\xd9\xf5\x0f\x66\x39\x70\x02\xfe\xe6\x46\xc3\x36\xfd\xff\x62\x99\x74\x91\x17\x1b\xf1\x15\x35\xae\x13\x44\xa4\x4c\xe7\x7d\xf7\xba\x1f\xea\x88\xb6\xdc\xf0\x4c\xf2\x82\x37\x39\x3a\x5e\x61\x12\x74\x93\xa2\x76\x07\xcd\x58\xa0\x4e\x07\x2a\xc0\x30\x57\x3b\x31\x76\x52\x80\x17\x8e\x15\xdc\x42\x1c\x33\x2f\x0e\x99\xcd\xb1\xc8\x6c\xde\x8b\xde\xc0\x20\x59\xc3\x3c\x74\x81\xa2\xe3\x58\x33\x07\xab\xea\x41\x8e\x2a\x56\xb3\x19\x18\x94\x59\x15\xb6\xcc\x31\xe2\x61\xf8\x94\x99\x7c\xf8\xcd\x92\x9c\x01\x0f\x16\x26\xe3\x46\x7b\xb1\x61\x0a\xc2\x21\x7a\xac\xdc\x56\x56\xff\xee\x4d\x2d\x5e\xf4\xf6\x28\xd5\xd3\xef\xfb\xc6\x3e\xbd\x73\xd1\xff\x02\xf4\x7c\xce\xf2\xc8\x89\x9d\xa3\x3f\xa5\xda\x33\x2d\xb6\xc6\x96\xcc\x36\x55\xc5\x13\x00\xee\xc4\xb1\xa9\xf7\xf8\xd6\x3d\xb8\x06\x87\x03\xe8\x80\x85\xc9\x6d\x2e\x87\x98\x67\x8b\x45\x9a\x0f\x63\xf1\x2c\x3c\x30\x00\xc3\xf6\x59\xfc\x08\x15\xde\x91\x80\x1a\x10\x16\xf8\xbb\x8f\x17\xda\x90\x2a\xfa\x2f\x00\x00\xff\xff\xf4\xfb\xd6\xc1\xdd\x06\x00\x00") +var _uiDistAssetsChunk178A0678c725f03d32449a2Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x36\x10\xbd\xeb\x57\xd8\x39\x08\x1c\x78\xcc\x4a\xbb\x4d\x9a\xda\x19\x2f\x16\x6d\x0f\x3d\xb9\x40\x7b\x13\x04\x81\x91\xe8\x98\x1b\x99\xf4\x8e\xa8\x64\x0d\x5b\xff\xbd\xa0\x64\xc5\xc1\x22\x59\x60\x2f\xc6\x78\xf4\xde\x7c\xbc\x19\x92\x4f\x8a\x27\x45\xa1\x77\xf7\x9a\x0b\xd5\x7a\x57\x98\xdd\xde\xb1\x2f\x8a\xa5\x10\x40\xab\x63\xf8\xce\xa8\xe9\x78\xf3\x6b\x92\x2c\x36\xad\x2d\xbd\x71\x56\x30\x6a\x38\x3e\x1b\x5b\xb9\x67\x59\x68\x65\x0a\x26\xd6\x5f\x5b\xc3\x1a\x5f\x7b\x2b\xaa\xf4\xc6\x58\xdd\xe1\xc7\xeb\xeb\xdb\x45\xa0\xa1\x1b\xc3\x7a\xb4\x11\x4b\xfd\x2d\xe4\x6b\x48\x78\x1a\x28\x68\x07\x83\xc7\x48\x7d\x71\x9f\x5b\xef\xfe\xee\x4b\xfb\xf3\x60\xd5\xce\x94\x74\xa9\x05\x8e\xac\x7d\xcb\x76\x92\x12\x91\xe2\x87\x76\xa7\xad\x6f\x64\xad\xed\x83\xdf\x7e\xb2\xe2\x6a\x08\x7c\xb0\xc5\xd5\x8c\x61\xf1\xca\xe1\x7b\x8f\xf8\xcc\xac\x0e\x72\xcf\xce\x3b\x7f\xd8\x6b\xd9\xd4\xa6\xd4\xb2\x54\x75\x2d\x5e\xc2\x61\x0a\xd0\xbd\x53\xd2\xbf\x07\xfb\x66\x3d\x63\xa6\xe6\x60\xcb\x9f\xcd\xe4\xc5\x95\xfa\xa6\xe7\xa5\x63\x7d\x85\x59\x8e\xe2\x25\xfe\x4b\x78\x27\xd2\x0f\x37\xd0\x01\x04\x70\xed\x2a\xd5\x6c\x65\xa9\x1a\xaf\x42\x92\xf7\x49\x37\xb7\x1f\xd3\xef\x58\xb5\x6a\xfc\xfb\x84\xeb\x24\xb9\xfe\x8e\xe0\x76\xe6\x07\x84\xdf\xd3\xeb\xa4\x27\x3c\x39\x53\x4d\xbc\xb8\xfa\xda\xda\x1f\xe3\xfb\x36\xa0\xeb\xd0\xd1\xb1\x8b\x46\xcc\xc4\x07\x31\xc3\xae\x58\x72\x19\xe7\x91\xd9\x88\x3e\x64\x32\x25\xb2\x30\xaa\x3c\xee\x50\x14\x90\xa6\x47\xd2\xd1\x54\x0b\xc6\xda\xa9\x4a\x57\x8b\x69\x8a\x67\xc8\xe2\xd8\x75\xd1\x99\xa7\x33\xce\x07\xe9\xcd\x18\x01\x0d\x5e\x6c\x0f\x68\xe4\x10\x81\xa6\xc9\xe5\x43\xe7\xe5\x8e\x34\x32\x65\x39\x7a\xb9\x26\xa1\xd1\xa1\x45\x13\xf6\xda\x6c\xc4\xd4\x0d\x25\x2b\x4a\x7f\x49\xa2\x8d\x63\x51\x52\xb2\x2c\xef\xf8\xbc\x90\xcb\x72\x36\x83\x63\xf0\x3f\x29\xce\x7a\x66\x4e\x9c\x95\x39\x16\x21\x4d\x4b\xc9\xb2\xbd\x73\x23\xb8\x9d\xcd\x40\x4c\xd3\xd8\x9c\x4e\x6a\x45\x06\xe2\x78\x7d\xff\x45\x97\x5e\x3e\xea\x43\x23\xbc\x5c\x83\xd4\x4f\x9a\x0f\x42\x30\xad\xbc\x5c\x67\x9c\x0b\x97\xb5\x39\x00\x7c\x72\xb2\xd9\x87\xfd\x12\xed\x7c\x8e\x29\x2c\x44\x41\xd3\x14\xcd\x9d\x8a\x63\xa1\xc8\x00\x04\x3d\x0b\x38\xf2\x88\x2b\x7b\x5c\x2f\x63\x4d\x56\x40\xf4\x22\x76\x1d\xc7\x42\x53\x0d\x5d\x37\x8a\xd7\x19\x32\xa7\xd3\xd0\x60\x20\x94\x74\x69\x70\x95\xc4\x31\x67\xe5\x3c\xcd\xb3\x0f\xf9\xca\x2c\xcb\xf9\x1c\x42\x87\x34\x38\xa3\xde\x3e\xb7\xde\xa1\x97\x8e\xfa\x0b\x85\x56\xe7\xde\x2e\xe7\x63\xab\x9a\xf5\xb3\xfd\x87\xdd\x5e\xb3\x3f\x0c\xd3\x0a\x50\xf4\xd2\xee\x2a\x62\x5a\x09\x96\x7b\xe5\xb7\x4d\x98\x06\xcb\x72\x6b\xea\x8a\xb5\x3d\x9d\xc4\xe5\x0f\x65\x39\x20\x03\xbe\xba\xd1\xe8\x98\xfe\x76\xbb\x48\xba\xc8\xcb\xb5\xfc\x42\x9a\x56\x09\x11\x71\xa6\xf3\xbe\x7b\xdd\x0f\x75\x44\x5b\x34\x98\x29\x2c\xb0\xcd\xc9\x61\x4d\x49\xd0\x4d\xc9\xc6\xed\xb4\x10\x81\x3a\x1d\xa8\x00\xc3\x5c\xed\xc4\xd8\x49\x01\x5e\x3a\x51\xa0\x85\x38\x16\x5e\xee\x32\x9b\x53\x91\xd9\xbc\x17\xbd\x85\x41\xb2\x56\x78\xe8\x02\x45\xc7\xb1\x16\x0e\x96\xf5\x9d\x1a\x55\xac\x67\x33\x30\xa4\xb2\x3a\x6c\x99\x13\x8c\x61\xf8\x9c\x99\x7c\xf8\xcd\x92\x5c\x00\x06\x8b\x92\x71\xa3\xbd\x5c\x8b\x12\xc2\x21\x7a\xa8\xdd\xbd\xaa\xff\xdb\x9a\x46\x3e\xeb\xfb\xbd\x2a\x1f\xff\xd8\xb6\xf6\xf1\x8d\x8b\xfe\x27\xa0\xa7\x53\x96\x47\x4e\x6e\x1c\xff\xa5\xca\xad\xd0\xf2\xde\xd8\x4a\xd8\xb6\xae\x31\x01\x40\x27\xf7\x6d\xb3\xa5\xd7\xee\xc1\x35\x38\x1c\x40\x07\x22\x4c\x6e\x7d\x3e\xc4\x98\xdd\xde\xa6\xf9\x30\x16\x2f\xc2\x03\x03\x30\x6c\x9f\xa5\xf7\x50\xe1\x1d\x09\xa8\x01\x61\x01\xdf\x7c\xbc\xc8\x86\x54\xd1\xff\x01\x00\x00\xff\xff\x18\x0d\x5f\x39\xdd\x06\x00\x00") -func uiDistAssetsChunk178412575959b4acd89e192JsBytes() ([]byte, error) { +func uiDistAssetsChunk178A0678c725f03d32449a2JsBytes() ([]byte, error) { return bindataRead( - _uiDistAssetsChunk178412575959b4acd89e192Js, - "ui/dist/assets/chunk.178.412575959b4acd89e192.js", + _uiDistAssetsChunk178A0678c725f03d32449a2Js, + "ui/dist/assets/chunk.178.a0678c725f03d32449a2.js", ) } -func uiDistAssetsChunk178412575959b4acd89e192Js() (*asset, error) { - bytes, err := uiDistAssetsChunk178412575959b4acd89e192JsBytes() +func uiDistAssetsChunk178A0678c725f03d32449a2Js() (*asset, error) { + bytes, err := uiDistAssetsChunk178A0678c725f03d32449a2JsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.178.412575959b4acd89e192.js", size: 1757, mode: os.FileMode(0644), modTime: time.Unix(1680804343, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2c, 0x4a, 0x9e, 0xb6, 0x68, 0x20, 0x1b, 0x7a, 0xc5, 0x2e, 0x95, 0xca, 0xd2, 0x60, 0x2c, 0x51, 0x9, 0xb1, 0xb3, 0xd4, 0xb0, 0xc2, 0x4d, 0xad, 0x4f, 0xa6, 0xfb, 0xb0, 0xf7, 0xaf, 0xb9, 0xb8}} + info := bindataFileInfo{name: "ui/dist/assets/chunk.178.a0678c725f03d32449a2.js", size: 1757, mode: os.FileMode(0644), modTime: time.Unix(1676568137, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xba, 0x34, 0x9f, 0x8b, 0xed, 0x5e, 0x67, 0x86, 0xa1, 0xc1, 0x10, 0x33, 0x8, 0xfa, 0x95, 0x71, 0xf, 0x66, 0x48, 0x50, 0x4f, 0x71, 0x89, 0x73, 0x97, 0xe9, 0x5d, 0x54, 0x85, 0x5a, 0xfb, 0xc0}} return a, nil } @@ -686,7 +685,7 @@ func uiDistAssetsChunk773080e27e51c6dc8852e23Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js", size: 1078892, mode: os.FileMode(0644), modTime: time.Unix(1680804349, 0)} + info := bindataFileInfo{name: "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js", size: 1078892, mode: os.FileMode(0644), modTime: time.Unix(1676568144, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0xe9, 0x7, 0x17, 0x1, 0xf3, 0xb7, 0xa0, 0x5a, 0x74, 0x8b, 0xa7, 0xc5, 0x13, 0x7b, 0x1f, 0xf8, 0x3e, 0xf9, 0x59, 0xff, 0xa8, 0x3, 0xbb, 0xee, 0x11, 0x52, 0x42, 0x50, 0xf9, 0x68, 0x5b}} return a, nil } @@ -706,7 +705,7 @@ func uiDistAssetsChunk773080e27e51c6dc8852e23JsLicenseTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js.LICENSE.txt", size: 3479, mode: os.FileMode(0644), modTime: time.Unix(1680804342, 0)} + info := bindataFileInfo{name: "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js.LICENSE.txt", size: 3479, mode: os.FileMode(0644), modTime: time.Unix(1676568136, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0xa3, 0x13, 0x79, 0xa4, 0x6d, 0xde, 0xb2, 0x2, 0x68, 0x87, 0x4c, 0xf6, 0xf, 0x45, 0x8f, 0x22, 0xbc, 0xc6, 0x1c, 0x4c, 0xf8, 0x49, 0xd8, 0x5e, 0xed, 0x20, 0x72, 0x22, 0x79, 0x8a, 0xe1}} return a, nil } @@ -726,7 +725,7 @@ func uiDistAssetsChunk881Ab3fcf50025d53687447Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.881.ab3fcf50025d53687447.js", size: 517902, mode: os.FileMode(0644), modTime: time.Unix(1680804351, 0)} + info := bindataFileInfo{name: "ui/dist/assets/chunk.881.ab3fcf50025d53687447.js", size: 517902, mode: os.FileMode(0644), modTime: time.Unix(1676568141, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xb5, 0x11, 0x1e, 0xa9, 0x52, 0x15, 0x42, 0x55, 0x35, 0x6e, 0xd0, 0xdd, 0xc8, 0x36, 0xab, 0x1b, 0xef, 0x92, 0xea, 0x32, 0xc8, 0x3c, 0xa0, 0x95, 0x22, 0xf5, 0x98, 0xe0, 0x7f, 0x89, 0xc0}} return a, nil } @@ -746,7 +745,7 @@ func uiDistAssetsChunk881Ab3fcf50025d53687447JsLicenseTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/chunk.881.ab3fcf50025d53687447.js.LICENSE.txt", size: 614, mode: os.FileMode(0644), modTime: time.Unix(1680804342, 0)} + info := bindataFileInfo{name: "ui/dist/assets/chunk.881.ab3fcf50025d53687447.js.LICENSE.txt", size: 614, mode: os.FileMode(0644), modTime: time.Unix(1676568136, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0x9b, 0xce, 0xb8, 0x5f, 0xf0, 0xa3, 0x58, 0x51, 0x22, 0xe1, 0x7, 0xb4, 0x46, 0x40, 0x5b, 0xf2, 0x9f, 0xc8, 0xcd, 0xd6, 0x5c, 0x6d, 0xed, 0xd8, 0x81, 0xd7, 0xbd, 0x9, 0xa, 0x53, 0xe9}} return a, nil } @@ -766,7 +765,7 @@ func uiDistAssetsVendor2ce96bdcbadb262cf4ea8a43db367ae4Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/vendor-2ce96bdcbadb262cf4ea8a43db367ae4.js", size: 966119, mode: os.FileMode(0644), modTime: time.Unix(1680804355, 0)} + info := bindataFileInfo{name: "ui/dist/assets/vendor-2ce96bdcbadb262cf4ea8a43db367ae4.js", size: 966119, mode: os.FileMode(0644), modTime: time.Unix(1676568144, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x64, 0xa5, 0x52, 0x6e, 0x57, 0x11, 0x74, 0x1b, 0x67, 0x9c, 0x4c, 0x50, 0x9d, 0x8c, 0xbd, 0xf8, 0x4a, 0x69, 0xe8, 0xa5, 0x83, 0xb5, 0xd3, 0x78, 0x30, 0xe, 0x51, 0x94, 0x79, 0xce, 0x63, 0xa6}} return a, nil } @@ -786,7 +785,7 @@ func uiDistAssetsVendorE916acdafcac64f547bcedba455db8e5Css() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/vendor-e916acdafcac64f547bcedba455db8e5.css", size: 7511, mode: os.FileMode(0644), modTime: time.Unix(1680804343, 0)} + info := bindataFileInfo{name: "ui/dist/assets/vendor-e916acdafcac64f547bcedba455db8e5.css", size: 7511, mode: os.FileMode(0644), modTime: time.Unix(1676568137, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x12, 0x1c, 0x95, 0x91, 0x29, 0x9e, 0x29, 0x19, 0xce, 0x69, 0x91, 0xb7, 0x0, 0xc2, 0xe2, 0x48, 0x11, 0x9, 0xf7, 0xa4, 0x88, 0x2, 0x8b, 0xfb, 0x4e, 0x62, 0x96, 0xaf, 0x37, 0x2f, 0xf5}} return a, nil } @@ -806,28 +805,28 @@ func uiDistAssetsWaypoint446ef0d58a3680f5a4b6223a6a1704c3Css() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/waypoint-446ef0d58a3680f5a4b6223a6a1704c3.css", size: 223034, mode: os.FileMode(0644), modTime: time.Unix(1680804343, 0)} + info := bindataFileInfo{name: "ui/dist/assets/waypoint-446ef0d58a3680f5a4b6223a6a1704c3.css", size: 223034, mode: os.FileMode(0644), modTime: time.Unix(1676568137, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0xe7, 0x52, 0xd4, 0xdc, 0xc6, 0xde, 0x23, 0xd0, 0x21, 0x95, 0xbe, 0x8a, 0x15, 0x33, 0xf8, 0x65, 0xe9, 0x4d, 0x2e, 0x6b, 0xa2, 0x4, 0x5d, 0xfd, 0x8e, 0x7f, 0x80, 0xd, 0xb4, 0xa8, 0x98}} return a, nil } -var _uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xed\x72\xdb\xb6\xd6\x30\xfa\xdf\x57\xa1\xf0\x7d\xc6\x0f\xf9\x6c\x48\xb6\x6c\x27\x4d\x3d\xa3\xed\xa4\x4d\xb3\x93\x3e\x69\xd3\x1d\x27\xed\x7e\xb6\x5f\x8f\x37\x44\x42\x12\x1a\x8a\x60\x01\xd0\x8e\xb6\xa3\x99\x73\x29\xe7\xd7\x99\x39\xb7\xf1\x5e\xca\xb9\x92\x33\xf8\x22\x41\x12\x94\xa8\x0f\x27\x91\x9b\xfe\x68\x2c\x92\x58\x00\x16\x16\x16\xd6\x17\xd6\xf2\x32\x86\x3a\x8c\x53\x1c\x72\x6f\x2f\x42\x23\x9c\x20\xdf\xbb\x81\xb3\x94\xe0\x84\x1f\xc0\x34\xf5\xc0\x85\x87\x3e\xa4\x84\x72\xe6\x01\xef\x09\x9a\x0e\x11\x15\xcf\x63\x1c\x42\x8e\x49\xe2\x01\x4f\x3e\xeb\x52\xc4\x48\x7c\x8d\x68\xfe\x20\x26\x30\xea\xe2\x04\x73\x0c\x63\xfc\x6f\x44\x45\xfb\x1c\x72\x48\x92\x11\x1e\x1f\xa0\xe4\x1a\x53\x92\x4c\x51\xc2\xbd\x4b\xe0\x8f\xb2\x24\x14\x40\x7d\x04\x38\x48\x00\x06\x34\xb8\x35\xcf\x3a\x44\x3d\x0d\x6e\x29\xe2\x19\x4d\x3a\xbc\x83\x93\x0e\x3a\x7b\x3d\xfc\x1d\x85\xbc\xa7\xc6\xfe\x0b\x25\x29\xa2\x7c\x26\x3f\xbd\xbd\x86\x71\x86\x4e\x13\x80\x92\x6c\x8a\x28\x1c\xc6\xe8\xf4\xc1\x21\x50\x5d\x67\xf9\xef\x1b\x8a\xb9\xfe\x7b\x1e\x9c\xa2\x0b\x7e\x39\x48\x00\x9a\x37\xc1\xf5\xae\xae\x10\xfb\x89\x44\x59\x8c\x3c\xd3\x85\x68\x09\x90\xf8\x16\x66\x31\x1f\x5c\x13\x1c\x75\x0e\xf7\xc2\x18\x32\xd6\x89\x3b\xe8\x03\x47\x49\xc4\x3a\xdc\x7c\x70\x1b\x92\x84\x71\x9a\x85\x9c\x50\x3f\xb8\x65\x59\x8a\xa8\xdf\xeb\xf5\x20\x1d\x67\x02\x15\x2c\x00\xc4\xe7\x13\xcc\x80\x37\x95\x1d\xfd\x42\xd1\x08\x7f\xf0\x00\x35\x10\x7a\xf6\xf3\xe2\xeb\x94\x44\x3f\x35\x34\xa8\xbc\x2a\xda\xbc\xc9\xd7\x2d\x31\x1f\x07\xf3\x79\x31\x99\x18\xf8\x87\x00\xe7\xaf\xfc\xb8\x69\x14\xf3\x20\x00\x75\x0a\xca\xf8\x04\x25\x5c\x10\x0b\xa1\xec\x80\xe0\x28\x2c\x53\x94\xa2\x15\x86\xa7\x69\x8c\xba\xe2\xeb\x5a\x13\xf1\xfb\xa8\x2b\x3e\xc0\x21\xe6\xdd\x31\x85\x09\xf7\x80\x47\xd9\x75\x5a\xa7\x99\xe0\x76\xe3\x75\x03\xa8\x97\x42\xca\xd0\x1b\xc4\x52\x92\x30\x34\x28\x7a\x30\xb4\xe7\x1f\x02\x5e\xfe\x28\xf0\x51\x30\xd7\x2b\x8e\x1d\x2b\x4e\x11\xe3\x84\xa2\x02\x44\x07\xf5\x38\x79\x8f\x92\x33\xff\x10\x24\x3d\xbd\x79\x04\x94\x53\xfd\x40\xcc\x22\xf0\x83\xb9\x85\x0e\xab\xb9\xe7\x3d\x18\x0c\x72\x10\x62\x25\x7b\x57\x61\x8c\x60\xf2\x2e\x7d\x45\x42\x18\x9f\x73\x42\xe1\x18\xf9\x01\xa8\xc2\xaf\x75\xe0\x6e\x77\x7b\x83\x93\x88\xdc\xf4\x62\xeb\x69\x8f\xa2\x29\xb9\x46\x2f\x39\x9a\x16\x4b\xfc\xfa\xe5\xb3\xef\x9f\x66\x7c\xf2\x13\xe2\x13\x12\x79\x01\x58\xa5\xe1\xcf\x24\x09\x91\x57\xa2\x37\xdc\x86\x8e\xe4\xbc\xcb\x84\x24\xe9\xa1\x05\x3d\x0d\x21\x43\x77\x42\x37\xb5\xd5\x4f\xda\xad\x3e\xaf\xae\x3e\x6f\xb9\xfa\x95\xc6\xb7\x12\xe2\x29\x9a\xd7\x80\x2c\xc5\x6e\x48\xa6\x29\x49\x50\xc2\xbb\x53\x98\xc0\x31\xa2\xec\x60\x1c\xe3\xe9\x54\x70\x85\x12\xfb\xd7\x4f\x8b\x06\x07\xdd\x94\xe2\x6b\xc8\xd1\x81\x42\x7c\x0d\x52\x15\xd5\x6b\x20\xba\xb1\x81\x9e\x94\x07\x6e\xcb\x1c\x7e\x8c\xf8\x69\xde\x67\x71\x5e\x18\x24\xcc\xe7\x6e\x5e\x95\x8f\x9d\x1d\x40\xd9\x96\x89\x63\x8a\xa3\x0f\xdc\x79\x08\xe6\x9f\x17\x8f\x38\x9a\xa6\x31\xe4\xa8\x3b\x82\x82\xb7\xcf\x9c\x28\xb3\x1f\x72\x0a\xc3\xf7\x38\x19\x17\x20\x88\x9c\xac\xfb\x30\x04\x24\xb8\xbd\x86\xb4\x13\x03\xb8\x97\x1f\x8b\xcc\x3e\x2c\xc5\x5b\x32\xb8\x9d\xef\xe9\x39\x6b\xd4\xbd\x47\x33\xe6\xe3\xa0\x37\x22\xf4\x07\x18\x4e\x7c\xdf\x66\x69\xe4\x02\x5d\x0e\xf0\x05\xba\x14\x48\x21\xbd\x02\x95\x83\x07\x0f\xec\x9f\x80\xf4\xec\xa3\x53\xbe\xb5\x1f\x00\xdf\x93\x8b\xe6\xe1\xa4\x43\x3e\x7e\x24\x3d\xeb\xec\x0f\xf6\xf7\x7d\xd2\x33\x27\xed\xe0\xc1\x61\x00\xc8\x20\xe9\xb1\x18\x87\xc8\x0f\x7a\x14\x5d\x23\xca\xd4\x5f\x51\x16\x22\x6b\x80\x09\xc0\xf9\x0a\x62\xbd\x57\x3f\x7e\x4c\xe6\x01\x20\x01\xa0\xfb\xfb\x6a\xef\x3d\x18\x0c\x4a\xfd\xc9\xee\xe4\x68\xca\xcf\xcf\x4a\xbf\x7a\x21\x8c\x63\x9f\x06\xa7\x9a\xf1\x97\x5e\xea\x5d\x1d\x00\xf5\xef\xa0\xde\x43\xb3\xe4\x41\xe4\xf4\xb2\x38\x0e\x00\xd9\x86\x20\x21\xc4\x85\x4e\x36\x90\x8c\x3b\xa4\x08\x72\xf4\x56\x53\xda\x73\x45\x68\x81\x7f\x8b\xa3\x53\xef\x29\xfa\xe1\xe0\x79\xfa\xc7\x6b\x0f\x0c\x63\x12\xbe\x3f\xfd\xcf\x8b\x8b\x8b\x3e\xf0\xfe\xf7\xff\x4e\xbc\x4b\x70\xd1\xef\x83\xfe\x25\xb8\x38\x3a\x01\x87\xc0\x9b\xe0\x84\x77\x63\x9c\xbc\xef\x84\x24\x49\x50\xa8\x7e\x78\xea\xbd\x47\x89\x18\x94\x37\xcc\x38\x27\xb2\xed\x09\xb8\x38\x7e\x0c\x0e\x2f\xc1\x85\x17\xc6\x38\x7c\xef\x81\x8b\xe3\x43\x70\x08\x2e\x3c\x4e\xc6\xe3\x18\xbd\xc0\x42\x82\xbb\xbc\x04\x62\xd6\xa2\xaf\x23\xf1\x3f\xd9\x75\xa7\x23\x00\x3c\x06\x17\xc7\xdf\xca\xfe\xf5\x00\x12\x78\xdd\xc5\xa1\x80\x2e\x9e\x79\x4f\x12\x38\x15\x7c\xf9\xc2\xfb\x37\x4c\x3d\x0b\x90\x86\xf1\xfd\xab\x97\x66\x1a\xc7\xf9\x63\xfd\xe4\xa4\x9f\x8f\x46\x4c\xeb\x25\xfb\x15\x33\x3c\x8c\x91\x02\x2d\xbe\x55\x63\xe8\x1f\xca\x19\xf4\x65\xff\x61\x8c\xbb\x13\x39\xea\xca\x68\xf3\x6f\x8f\xac\x37\xdf\x2b\x24\x75\x38\xe9\xcc\x48\x46\x3b\xbf\x69\xa6\xd1\xc1\x09\xe3\x30\x09\x51\x67\x38\xeb\xd0\x2c\x49\x70\x32\xee\xf0\x09\xea\x8c\x48\x1c\x93\x1b\xf1\x2b\x24\xd3\x29\x4c\x22\x21\xad\x8a\x17\xdf\xbf\x7a\x59\x99\x85\xe9\x52\xa1\xe8\x58\x4d\x5d\xfd\xef\xe2\x22\x67\x72\x72\x2a\x97\xe0\xe2\x52\xfc\xe7\x18\xad\xc7\xa6\x30\x8e\xf3\xd9\x28\x60\x27\x1a\xdf\x8f\x80\x37\xe1\x3c\x65\xa7\x07\x07\x86\xdd\xa5\x94\x48\xba\xc4\xe4\x40\x8f\x30\x67\x77\x5d\x45\x63\x66\x15\x6a\xa3\x10\x9d\xbf\x41\x30\xea\x4c\x09\x45\x62\x5e\x02\x23\x11\x09\xa5\xf0\xaa\xb4\x82\x4b\x6b\xa4\xc7\x15\x52\xa8\x3f\xe8\xcb\x75\x39\x2a\xad\x4b\x97\x5c\x23\x1a\xc3\xd9\x96\x49\xb2\xe8\x5b\x8f\x51\xbd\x16\x7f\x82\x11\x8c\x19\x02\x17\x9e\xd4\x6a\x46\x31\x1e\x4f\xb8\x22\x51\xe0\xe1\x91\x07\xbc\x0a\x7a\x80\x27\x4e\x7a\x9a\xc0\x58\xef\x9d\xcb\xff\x04\x4a\x22\xfe\x19\x4e\xd1\x69\x9b\x83\xa5\x37\x19\x32\x0f\x60\x76\x2e\x35\xb0\x9f\x48\x84\x4e\x1f\xf4\xe7\xc1\x5e\x8c\x78\x27\x1c\xf8\xf1\x40\xc9\x14\x46\xa2\xc0\x0d\x1a\x84\x60\xfb\xfa\x14\xd8\x73\x69\x13\x68\x20\x65\x7d\x3e\xa8\xec\x0f\x80\xd5\x0b\x3f\x19\xc0\x60\x7f\x7f\x81\x2a\x65\x1d\xb0\x89\x7d\x26\x94\x94\xa9\xa4\x7c\x1e\xe4\x8a\x55\x92\x73\x7e\xa0\x55\xb2\x12\x4f\x4e\xea\x3c\x19\x1b\x9e\x3c\x0f\xe6\xc5\x6a\xe6\x67\xf9\x03\xc1\x8e\xa5\xd0\x5b\x9a\xcf\x59\xfd\xd1\xe0\x41\xff\xd4\xf5\xf4\x70\x3e\x07\x70\xc0\xfc\xb8\x97\x52\xc2\x09\x9f\xa5\x08\x54\x91\x73\x41\x7b\xf2\x7c\x46\xd1\x25\xb8\xad\x6a\x8d\x65\x89\xc3\xd2\x21\x81\x35\x99\xba\x14\xf2\xa0\x3f\x9f\x07\xa0\xd2\xaf\x45\xaf\xe0\x82\xf4\x14\x8d\x5c\x1a\xb9\x67\x8c\xf8\xeb\x9b\xc4\x2c\xc7\x33\xc4\x42\x8a\x53\xb1\xee\x4d\x30\x02\x60\xbd\x09\x40\x1c\xec\x15\x27\x4a\x08\xa4\x6c\xc8\x10\xff\xde\x10\xa5\x39\x4a\x02\x3f\x03\x61\x6b\xc9\x28\x42\x69\x4c\x66\x5f\x05\xa3\xaf\x82\xd1\x2e\x08\x46\xff\x08\xdf\xfc\xfa\x3f\x37\xe1\x9b\x46\xc1\xc8\x3a\x57\xd4\x31\xa4\x7e\x77\xd4\x3f\xdd\x2e\x43\x21\x49\x22\x48\xcd\x71\x74\x72\xb7\xc2\x91\x53\x30\xca\xd2\x98\xc0\xc8\x21\x1b\x69\x09\xa0\x6f\x81\x7e\x26\xb7\x67\xaf\xd7\xf3\xaa\x87\xde\x67\x12\xa0\xde\x92\x8e\x62\x19\x1d\xc1\x8e\x3b\xc3\x0c\xc7\x91\x10\xa5\x3a\x21\x4c\x84\xe0\xb4\x1d\xa1\x49\xe0\x8b\xa2\x91\x44\x97\xea\xae\x5b\x0c\xf3\xd2\x29\xc8\x68\x58\x85\x1c\x95\x52\x54\x4c\x49\xcc\x93\x44\xea\xc1\x09\xe8\x83\x3a\xd4\x62\x8a\x86\x5d\x9a\x89\xca\x77\x12\xb1\xfd\x42\x0e\xaa\xce\xe0\x8e\x25\x3a\xcd\xa6\xff\x5c\x92\x9c\xf7\x84\xa1\x3f\x32\x94\x84\x62\xdd\x96\x0b\x75\xe9\x4c\xf0\xde\xae\x5c\xe7\x4d\x64\x3a\x85\xeb\xaf\x22\xdd\x57\x91\x6e\x37\x45\x3a\x9c\x5c\x63\xa1\xd6\x6c\x57\xa4\x33\x3d\x76\xd3\x61\x4d\x98\xcb\x7f\xd3\x2c\x89\x09\x49\x8b\x07\x0c\xd1\x6b\x1c\x22\xa7\x48\xd8\x20\x02\x82\x18\x40\xc0\xd4\xce\xc9\x40\x08\x52\x10\x81\x11\x18\x16\x02\xe1\xd4\x7c\x1d\xdc\x26\x5f\xea\xce\xc8\x07\x3b\xfb\x2a\xbd\xfe\x39\xa4\xd7\xc9\x72\xe9\xf5\x8f\xa7\xbf\x9c\xb0\xdf\x7e\xfd\xfb\x2a\x66\xbd\x2f\xc1\x92\x97\xc6\x19\xeb\x86\x98\x86\x31\x72\x48\xad\x2f\x25\xbb\x59\x5b\x26\x6d\x25\x8a\x3a\x04\xd1\xff\xd1\x32\x27\x9b\x40\x8a\x2a\x52\xa7\xb4\x87\xde\x60\x3e\xe9\xc0\x64\x46\x12\x24\x05\xd4\x1b\x98\x48\xbb\xdf\x18\x5f\xa3\x0e\x0c\x43\xc4\x98\xf8\x29\xc5\xd8\x9a\x19\xd0\x2d\x15\xd9\x63\xc5\x49\x9a\xf1\xee\x0d\x85\x69\x93\xe0\xdc\xd7\x1f\xe9\x25\x94\x3f\x05\xaa\xba\xca\xeb\x25\x3e\x79\x04\x8e\xc0\xc5\xd1\xb7\xe0\x22\x47\x11\x61\x5c\xe1\xfd\x12\x78\xd2\xe5\xa5\xd9\xf9\x99\x6c\x34\xb0\x57\x59\x02\x51\x12\x9d\xd2\x64\xa4\x8b\x23\x27\x0d\x31\x7a\xf3\x31\x43\x31\x0a\xf9\xf7\x24\xe1\xe2\xa4\xb0\xc9\x42\x7d\x7b\xb2\xe8\xdb\x7a\x97\x4d\x02\x5c\x59\x98\x7f\x58\x90\x56\x93\x16\x96\x3f\x11\x27\x0d\x0c\x0d\xaa\x3c\x8e\xb9\x24\xf7\xef\x49\x3a\x33\xe4\x18\xc6\x38\x1d\x12\x48\xa3\xb7\x90\x8e\x91\x3c\x74\x58\x26\x97\x51\x12\xe9\xff\x2a\x21\x37\x1f\x33\x49\xce\xcd\x47\x97\x6d\x34\x87\x56\x2a\xdc\xc5\xc3\xa3\xbc\x03\x21\x77\x16\x5d\x48\x1a\x56\xc3\xec\x86\x13\x24\x24\x14\xcf\x7a\x56\x42\x5e\x1b\xed\x61\x05\x8d\xb6\x01\x97\x2d\x35\x5c\xcd\xb7\x9c\x2b\xdc\x4e\xad\xa5\xa8\xaa\xd6\x2e\x57\x33\x6a\xca\x91\xd2\x30\xd5\x9e\x86\x0e\xeb\xbc\xd8\xe7\x42\xa6\x40\xb4\x33\xcd\x18\xef\x0c\x91\x54\x3a\x71\xd2\x81\x9d\x98\xa8\x50\x96\x0e\x9f\x40\x2e\xbf\xcc\x18\xa2\x4c\x72\x09\xb5\xdf\x7b\x79\xaf\x43\xea\x2d\xa5\xdf\x47\xad\x54\xb4\x88\x84\x6c\x5b\x7a\x99\x1b\x57\xae\x9f\x5f\x84\x7e\xb6\x5c\x29\x8b\x70\xd4\xc5\x09\x43\x94\xeb\x1f\x59\x1a\x29\x93\xbb\xd8\x36\x5d\x3d\xb4\x4d\x94\x35\xb5\xeb\x17\x29\x6b\xe3\x81\x9f\xb5\x54\xd6\x5c\x0a\xda\x54\xc7\xd7\xc0\x14\x7b\x20\x04\xe2\x47\xf1\x90\x21\xc6\x64\xf0\x54\x5a\x79\xa1\xb9\x50\x54\x79\x5c\x51\x63\x46\x95\xd7\x36\x2f\x01\x43\xf5\x72\x5e\xe6\xc7\x42\x24\x44\xbd\x11\x09\x33\xe6\x0b\x59\x44\xbd\xf5\x83\x79\xce\xe8\xfc\xe0\x56\xaa\x55\x16\xb0\xc1\x83\x43\xa1\x5c\xc4\x3d\x21\x93\xd0\xc0\xf7\xfd\x60\xf0\x57\xc7\x57\xfd\x79\x00\x8e\xd0\x71\x30\x87\x6c\x96\x84\x1d\x8b\x27\xf8\xc1\xad\xc0\x25\x1a\x24\xe8\xa6\x43\x7b\xea\xcc\x97\x6f\xde\x08\x15\x9d\xf1\x3d\x31\x14\xfe\x2c\xa3\x92\xaa\x7d\xaf\x7f\x34\xf1\x14\xfe\xf9\x00\xde\x40\xcc\xe5\x41\xdb\x83\x29\xee\x85\x31\x46\x89\x50\x9e\x12\x44\x21\x47\x16\x2c\x21\x9d\x99\xaf\x7e\xc3\x32\x16\x05\xfa\x41\xb0\x27\x1f\xaa\x03\x50\x2a\x5d\x7a\x48\xf3\x31\xe2\x1d\x73\x62\xe6\x7a\xdc\xbf\xfe\xc3\x8e\x79\x11\xa3\x51\x2a\x57\x48\xe2\xf9\xc1\x41\xfd\xa5\x00\x30\xff\x97\x9e\xb2\x43\xa3\xf5\x3c\xad\xd0\xca\x01\xec\xef\x5b\xb3\x29\x21\x08\x6c\x47\xf5\x0d\x07\x33\x3f\xb3\xd5\x47\x49\x78\x17\xb0\x87\x13\xc1\x72\xd6\xd6\x77\xc5\xa6\x9d\x07\x20\xad\x82\xcf\x49\x78\x6b\x5d\x44\xd5\x2e\xcc\x91\xcc\xb6\xaf\xb4\x7b\x9e\x50\xda\x47\xd5\x1e\xab\xe6\x82\x3b\xe8\x59\x99\x0b\x86\xd5\x9e\x4b\x5b\xf8\xee\xfa\xad\xf4\x5a\x48\x39\xab\x58\x29\x1a\x40\x04\x20\xb3\x8d\x14\xd5\x09\x5a\x82\xc2\xda\x9d\xd9\x40\x16\x77\xb7\xa6\x01\xa6\x09\x46\xa5\xb3\xcc\x36\xc0\x8c\x17\x19\x60\x26\x60\xdc\xda\x00\x43\x51\x8c\x20\xdb\xba\x05\xe6\xab\x53\xed\xab\x59\xe2\x2e\x9c\x6a\xd7\xbf\x1c\x0f\xbf\xe1\x42\x2a\x5b\xd3\xa9\x96\x52\x3c\xfd\xbc\x2e\xb5\x71\x4c\x86\x2e\xdb\x84\xc3\xa3\xf6\x46\x6d\xce\x2f\xcb\xa5\xa6\x39\x86\x32\x46\x28\xff\x83\x10\x3f\xef\xd6\xb1\xa6\x3b\xdd\xb6\x67\xad\x0e\xd6\xe1\x5a\x33\x13\xfe\x12\x7c\x6b\x86\x5d\x7f\x75\xae\x7d\x02\xe7\x9a\x46\xf6\x57\xef\xda\x57\xef\xda\x6e\x7a\xd7\x32\xf7\x55\xaa\x76\x72\x5d\xc5\x89\xe6\x92\xf2\x4c\xfc\x7d\x12\x66\x94\xa2\x24\x9c\x75\xed\x6e\x0a\x7f\x5a\xed\xbb\x0d\x7d\x6c\x85\x6c\x38\xda\x25\xff\xda\xf0\xab\x20\xfb\xe7\x10\x64\xa7\xcb\x05\xd9\xfe\x49\x3c\xf9\xe7\xf3\xe7\xa3\x06\x41\x56\xcb\x81\xf2\xd8\xcd\xd2\x6e\x71\xb4\x5a\x22\x5a\x45\xe4\x53\x7b\x8b\xff\x84\x18\x83\xe3\x92\xcc\x57\x48\x20\x96\xf4\x63\x03\xbe\xba\x9a\xb2\xb1\x05\xbd\x11\xe4\x82\x63\x1a\x14\xf2\xa5\x25\x07\xf7\x1f\x01\x2f\xc2\x4c\x90\x52\x54\x48\x01\x82\x2f\x79\x98\xbd\x51\xb1\xeb\x0a\xae\x92\x19\x8e\x6c\x99\xe1\x48\x00\xfa\xa6\xe4\x1c\xca\x52\xe3\xe4\xe9\x17\xf2\x81\x11\x13\x2e\xbc\x27\xd7\x90\x62\xa8\xe4\x38\x2f\x17\xf5\x17\x8a\x8a\x2a\x6a\xad\xb3\xdf\xd1\xc2\xb6\x16\x7d\xaa\x72\x5c\x4d\x00\x97\x62\x89\x7d\x29\xb5\x90\x4c\xa4\x18\x92\x46\xec\x20\xb7\x19\xcb\xff\xa5\x88\x8e\x08\x9d\xae\x24\x82\x64\xe9\x22\xe9\x63\x56\x37\x17\xd3\x15\xcc\xc5\x23\x97\xb9\x78\x94\xdf\xeb\x8c\x63\xd1\x5b\x5c\x18\x8c\xcd\xab\x0a\x59\x18\xcb\xf1\xfc\xbf\xb2\x54\x70\x29\x65\x6e\x2c\x7d\x63\xb6\x87\xb2\xb1\x26\xe8\xa6\x83\x7b\x3f\x92\x21\x48\x8a\xbf\x7b\xef\xd2\xd7\x29\xa0\xfa\xc1\xdf\x33\x94\xa1\x1f\xc9\x50\x5b\x6c\x41\x3c\x70\x18\x5b\x01\xd4\x5f\xbf\x41\xa3\xde\xd3\x62\x29\x00\xb3\x9e\xff\x46\xe8\x7b\x96\xc2\x10\x81\xcc\x7a\x2a\x48\x0f\xd1\x3d\x26\x0e\xd9\xfc\x0b\x3f\x27\x92\x00\x40\xf1\xc6\x82\xe9\xa3\x9e\xb5\xd8\xfa\xfd\x2f\x4a\x42\xf7\x51\x4f\xcb\xea\x01\xc8\x64\xbb\x64\xe6\x57\xfb\x7a\x9a\xcc\x02\x75\xa8\xdb\x50\xa1\x7e\xf6\x2e\xf5\x13\xfd\xa7\x72\x19\xaa\x46\x7e\xa6\x1f\x16\x63\x64\x01\xa0\xe2\xc9\x8f\x64\xe8\x73\x23\x84\xce\x30\x8a\xa3\x9a\xd5\xfa\x0f\x8d\x44\x9f\x0a\xf9\x42\x7e\xe3\x0b\xd6\xa9\x09\x31\x50\x77\x38\x19\xa7\x08\x4e\xc5\x6a\x84\x42\x8c\xf9\x91\x0c\x5f\x46\x7e\x10\x80\xe6\x65\x54\xaf\x72\x02\xe9\x51\x92\x71\x74\xd6\xa3\x68\x44\x11\x9b\xf8\xc1\xfc\xbf\x72\x98\x82\x1e\xec\x45\xff\x9b\xec\xc0\xac\x6a\xe2\x5a\xd5\x3d\xae\xa7\xf7\x32\xf2\x91\x9a\x20\x1d\xd4\x0d\xf2\xe2\x8b\x73\xd9\x8d\x2f\x0e\x1a\x35\xbd\x8e\xe8\xe5\x17\x4a\xa6\x98\x21\xdf\x97\x77\xff\x06\x7f\xbd\xa5\x3d\x92\xf8\x1e\xe3\x90\x67\xcc\x03\x3e\x1a\xfc\x55\xec\x0d\x12\xa3\x5e\x4c\xc6\x3e\x0a\x02\x81\x52\xf1\xc9\x14\x71\x18\x41\x0e\x17\x7e\x54\x7c\x70\x8b\xa4\x81\x1f\xd1\x29\x4e\x60\xec\x07\x67\xe2\xe7\x0f\xd7\x62\x73\xbd\xc2\x8c\xfb\x41\x6f\x0a\x53\x5f\x7c\x29\x3f\x7c\x25\xe4\x35\xf5\xd1\x4f\x6c\xec\x07\x41\xd0\x1b\xe1\x98\x23\xea\x4f\xac\xf3\x1e\x19\x6f\x47\x33\x7e\x9d\x4b\x83\xe6\x81\x94\x0b\xd5\x20\x11\xa5\x84\x7a\x80\xe7\xbf\x93\xc8\x03\xca\x95\x82\xfc\x40\x7d\x2a\x0d\xf8\x43\x97\x01\x3f\xde\x9a\x01\xbf\x02\xde\x62\x2a\x5b\xeb\x24\xaa\x76\x52\x65\x4f\x5b\xb0\x6c\xeb\xae\x2a\x1d\x49\xf1\x1a\xf6\x38\x64\xef\x57\xb4\xf2\x66\x69\xd5\xba\x5b\x01\x9d\x6f\xa0\x75\x7b\x28\x00\xd4\xcd\xc8\xb9\x40\x3a\xb1\x6e\x07\x8b\x29\x3e\x18\x20\xeb\xde\xee\x6c\x91\x1a\x32\x05\xb3\xe5\x6a\x48\x9a\x76\x87\x14\xc1\x28\xa4\xd9\x74\xc8\x0e\x70\x12\xa1\x0f\x5b\xb7\x34\x97\x95\x8d\x86\x8c\x0e\x52\xda\x06\xf1\xde\xb6\x24\x3c\xb8\x5c\xc2\x3b\x79\xcd\xa2\x0f\x3f\xf6\xbf\x69\x94\xf0\xbc\x2c\x2e\x64\x31\x0b\x4f\x9d\x34\x62\x36\xde\x5c\x62\xdf\x51\x2e\x1d\x29\x73\xa3\xf5\xb7\x96\x94\x6c\x00\x25\xf0\x85\xe1\xc5\x48\x6e\xda\x92\x54\x15\x16\x63\x2c\xff\x7a\x28\xc0\x1d\x7d\x2b\x04\xaa\xf2\xb8\xae\xae\xe4\xbf\x1d\x0f\xc8\x18\x13\x5b\x5a\xd3\x7f\x9b\x50\x9d\xa3\x42\x48\x74\x8e\x2e\x46\xc9\x98\x4f\x2c\x8b\x90\x87\x59\x57\x88\x40\xd7\x48\x87\xc2\xb8\xc5\xde\xbe\x10\xb6\xd8\x2f\x28\x89\x94\x18\x69\x4d\xc2\x9a\xc8\xb1\x42\xf2\x23\xe0\xfd\x2f\x8d\x6f\x4f\x48\x89\xdd\x18\x0e\x05\x23\xf2\x62\x02\x55\xfb\xa2\x9b\xff\xef\xff\xfa\x7f\x5c\x02\x9f\xb3\x87\x3c\x80\xa8\x30\x5a\x0a\x7e\xed\xe9\xb9\x8b\x31\xea\x07\x0b\x82\x7a\xaa\x93\xca\x0d\xc7\x76\x6f\xb5\x90\x8f\xbc\xc7\x3c\xd8\xa7\xdc\xbe\x6a\x64\x76\x09\xec\x15\x64\xf5\xcb\x5a\x80\x00\xa6\xf0\x54\x37\x18\x9a\x76\x75\x51\x59\x3d\x01\x25\x82\xaa\xa0\xb2\x6f\x13\x45\x4d\xb0\x2e\xc8\x43\x28\x0a\x92\x6d\x14\xe2\x35\x82\xe1\xc4\x03\x5e\x57\x32\xf5\x2e\xa4\x14\xce\x8c\xed\x0f\xfd\x21\xbf\x0f\xc5\xaa\xe2\xe4\x7d\x97\x93\x8a\x8d\xb0\x95\xec\xed\x62\x5b\x8b\xc4\x70\x36\xf0\xc9\xd6\x8d\x80\xa5\x1d\x52\x98\x00\xe3\x2f\xd6\x04\x38\x07\xd9\x80\x58\x47\x50\x58\x99\x43\x3a\xb8\xa0\xf9\x91\x1f\x0d\x36\x39\x89\xc1\x70\x70\x3b\x07\xb6\xc5\x24\x6a\xb0\x98\x0c\x2f\xd0\xe5\x20\xd2\x16\x93\x61\xd9\x62\x62\xff\x04\xc3\xaa\xc5\x64\xd8\x68\x31\x19\x7e\xfc\x38\xac\x5a\x4c\x86\x65\x8b\xc9\x70\x90\xb6\xb1\x98\xc8\xdc\x14\x26\x55\x84\x9f\x81\x10\xa0\xe0\xe3\x47\x24\x24\x8d\x00\x8c\x2c\x8b\xc9\xb0\x62\xcf\x18\x6a\x8b\x49\xe9\xf9\xd9\xb0\xbe\x40\xa3\xdc\x62\x32\x5c\x6c\x31\xa9\xf6\xe0\xa6\x31\x31\xc4\xa1\x98\x9e\xb2\x98\xc4\x83\x21\x20\xc1\x5e\x35\xfa\xbd\x38\x33\xd9\x22\x11\x02\x02\xd6\x4a\x84\x18\x11\xc2\x11\xdd\x5c\x7a\xa8\x7c\x5c\x7c\x43\x92\x78\xe6\x12\x1c\xb6\x92\xa0\x45\x8a\x0b\x74\xb9\xb8\x30\x84\x0f\xff\xc6\x7e\xfb\xc7\x51\x49\x5c\x38\x04\x9e\x9a\x7d\xe1\xb2\xb2\x7e\xbb\xfd\x8f\x87\xda\xa3\x64\xdc\x32\x78\x3a\xce\xdd\x45\x0b\x5c\x8e\xca\xc3\x43\xd2\x19\x15\xdc\xd2\x86\xff\x7f\xfe\x5f\xe3\xfa\x92\xc7\xfa\x43\xf9\x7d\x21\x39\x18\x46\xff\x02\xb2\x09\xfe\x9e\xd0\xd4\xe9\x48\x52\x63\x3b\xb2\x13\x0d\x54\x8e\x26\xc7\x71\x9b\xb3\xfc\x34\x62\x07\x31\x19\x93\x29\xa4\xef\x0f\x26\xa2\xa3\x50\x74\x94\xcb\xfa\xdd\x19\x82\xd4\x03\x9e\xd8\x69\x98\x24\x5d\x9c\x8c\x48\x6b\x5e\x6f\xd3\x57\x13\x9b\x57\xd6\xda\x05\xc4\x4c\x2b\x29\xab\x02\xdb\xa0\x4f\xda\x91\x39\x9d\x1e\x68\x3b\x42\x97\xa2\x94\x30\x2c\xc8\xa3\xcb\x10\xe7\x38\x19\xb3\x0d\x48\x5f\xbe\x68\x29\x40\xe7\x0f\x32\x8e\x63\xd6\x2a\x94\x03\x78\x32\x2f\x55\x37\xa3\x71\xfd\x7a\xcd\x42\xab\x3e\xc8\x40\xa8\x0e\x45\xcd\x3b\xc0\x14\xcc\xc0\x04\x8c\x0b\x1d\xe5\x7a\x97\x2c\xfc\x37\x5f\x2d\xfc\x7f\x0e\x0b\xff\xef\xcb\x19\xfa\x7b\xfa\x02\xbf\x4e\x9f\x46\xcd\xa1\x2a\xca\x1a\x6c\xbc\xeb\x42\xbb\x32\x4f\x2c\x07\x3a\xcb\x86\x53\xcc\x0b\xdb\x39\x83\xd7\xe8\xdc\xb0\x04\x77\x34\x8a\xe3\x12\x88\xd8\xa1\x62\xa3\x8e\x30\x8a\x23\x56\xa8\x9d\xa1\x0c\xf4\x77\x46\x7e\xd4\xa2\x59\xc4\xb7\x5d\x18\x23\x6a\xa2\x2f\x9e\x08\x39\x4f\xec\xf8\x90\xc4\x44\x1e\x49\x1e\x4e\x62\x9c\x20\xe9\x3d\xa4\x49\xae\x94\xb5\xb8\xc7\xa0\x54\x8d\xb7\xf2\x2e\xc5\xe5\xa2\x74\x34\x35\xf5\xc3\x3e\x99\xa4\xfb\x80\x4a\xd3\xa9\x1a\x69\x4f\xdd\xce\x28\x9d\x54\x56\xdf\xae\x68\x8d\xea\x98\x8c\x85\x45\xc7\x4e\x6c\x6d\x64\x91\x0d\x77\x83\xf1\xbd\xc2\xc9\xfb\xd3\xd3\x73\x0e\x93\x08\xc6\x24\x29\xc5\x86\x3c\xd1\x81\x11\xf2\xdf\x5f\xc4\x89\xa2\xd2\x67\x3e\x51\x19\xc6\xbc\x27\x13\x13\x60\x53\x8e\x92\x00\x1e\xa7\x10\xc7\x92\xd9\x1b\x65\xbe\x3e\x03\x7d\xe7\x4b\xab\xec\x26\x7c\x25\x42\xd7\x28\x16\x1b\xab\x97\x1f\xd4\xbd\x90\x4c\xf3\xb0\x16\x79\x0b\xe1\x40\x01\x72\x84\x41\xe9\x69\xf7\x9b\xa2\x68\x0e\x4b\xb4\xdb\x9d\x20\x18\x39\xc4\x21\xdb\x8e\x31\x39\xb1\x5d\x5b\xf6\x7a\x88\xed\x66\x4c\xf7\x57\x63\xcc\xaf\xcc\x59\xdb\x13\x3f\x6a\xa4\x53\x0f\x58\x72\x3d\x3a\x34\xbb\x0c\xf1\x62\x9f\x99\xcd\xfd\x5c\xbc\x39\x47\xae\x68\x2b\xc7\x0c\x4b\xad\x9c\x4d\x2c\x6b\x8d\xd2\xd2\xd5\x6e\x1f\x11\x71\xdc\x8f\x31\xef\x32\x92\xd1\x50\x1d\xcd\x65\xb0\x02\xe4\xcf\xda\x6c\xe0\x00\xeb\xa4\xdf\xc5\xf8\x52\x5d\x5d\x65\x34\xbe\x32\x83\x71\x51\xb5\x13\x73\x2b\xe4\xa3\x12\xad\xde\x99\x70\x2c\xdb\xa7\xa9\x27\x31\xc6\xfc\x89\xdd\x43\xe7\xe5\xa8\x93\x31\x9c\x8c\x3b\x30\xe9\x9c\x9f\xbf\xe8\xbc\x47\xb3\x5e\xe7\x35\x9f\x20\x7a\x83\x19\x02\x9d\x6c\x01\x30\x43\xd4\x25\x80\x37\x13\x94\x18\x90\x9d\x14\x32\x76\x43\x68\xd4\x21\xb4\x93\x90\x8e\x95\x3c\xb1\xe1\xc6\x4c\x75\xb2\x26\x02\xac\xef\x5a\x30\x21\xc7\xa7\x31\x0c\xd1\x84\xc4\x91\x94\xe1\xcc\x88\xc6\x98\x4f\xb2\xa1\xdc\x59\xd3\x99\xbc\x46\x95\xcc\x0e\xe0\x0d\x62\x64\x8a\xba\x26\x74\x6c\x8c\x15\xa5\xc9\xbb\x7b\xfa\x00\x11\xcf\x80\x27\xe1\x5f\x9a\x00\x2e\xf4\x47\x86\xa9\xbc\xfe\x55\x39\x7d\xd4\xa5\xc0\x9c\x07\x3c\x14\xcf\xb8\x74\x50\xa9\x13\xbd\x78\xf5\xc8\xd8\x1e\x2f\x81\x67\xba\x8f\x20\x87\xe7\x72\x3e\x62\x24\x3d\x35\xa7\xb2\xd3\xd6\xf2\xdd\xca\xd3\x44\x76\x20\xef\x06\x56\x38\x43\x79\x97\x54\xa9\xe7\x0e\xb7\x8e\xe6\x90\x9f\x62\xeb\x50\x34\xba\xf3\xad\x53\x1f\x68\x29\xc2\x73\xbd\x41\x4f\x50\x9c\xea\x1b\x9d\xb6\x4a\xd8\xb0\xab\xd6\xeb\x03\x7d\x80\xd3\xd4\xc1\x90\xdb\x98\x24\xdb\xee\x3a\xbd\xd6\xf5\x5d\x37\x85\x38\xf1\xdc\xbb\xc5\xb1\xb9\x24\x98\xcb\x3b\xdc\x49\x6a\x9c\x6b\xee\xa4\xcf\xb3\x8d\x52\xc8\x27\x9f\x6a\x1f\x89\xbe\x36\xdd\x48\x6e\x02\x31\xb3\xa8\x53\x48\x84\xe9\x01\xcb\x86\xe2\x9f\xe9\xcc\x30\xe0\x62\xd6\x75\x22\x51\xaf\xee\x92\x4a\x74\xe7\x77\x46\x26\xde\xa4\xf1\x66\xea\xdd\x90\x92\x38\x5c\xbb\x66\xd4\x77\x4a\x48\xa2\xa7\x2b\xd1\xd3\xfa\x64\xe4\x9c\xfc\x1b\x18\x61\xf2\x1b\x85\x69\xda\x20\xb4\x96\x89\xf0\x1b\x4d\x84\xc7\xae\xf9\x0b\x92\x3a\x51\x7f\x78\xf9\xfd\x6d\x43\x1e\x8f\x2d\x57\xa0\x68\xf6\xbd\x8e\x1a\x3f\x29\x66\xd2\x4c\x76\xdf\x96\xae\xd8\xf3\xa7\xce\xf6\x16\x21\x61\xb9\x9e\xc5\x10\x87\x90\xe1\x70\xa9\xea\xb7\xf1\xd2\xc8\x6e\x96\x2c\xd0\xa2\xd3\x60\x25\x4c\x3f\x5c\x15\xd3\x0f\x37\xc4\xf4\xc3\x36\x98\x66\x6c\x72\xf7\x78\x66\x6c\x19\x37\xdd\x1a\x96\x0f\x57\xc5\xf2\xe1\x86\x58\x3e\x6c\x83\xe5\x84\xf0\xae\x54\xe7\xee\x1a\xd3\x09\x91\xaf\x36\xc0\x76\x33\xbf\x2e\xdf\x1e\xb2\x02\x47\x45\xf7\xe7\xe7\x2f\x1a\xfd\xe7\xab\xb1\xf0\xb6\xf2\x00\x63\x93\x6e\xc6\x72\xcf\x46\x6b\x56\xbe\xbe\x54\x20\xc8\x58\xf4\xd8\x02\xbb\x4e\xa6\xbe\x5c\x3a\xb0\xe7\x54\x97\x10\xc6\x98\x8b\x97\xc6\x57\x5f\x12\x09\xf4\xd8\x85\x1c\x91\x9f\xe1\xaa\x89\x07\x3c\xb1\xc9\x81\xa7\x00\xaf\x44\xe8\xe7\x6c\x22\x68\x5d\xe6\xfa\xd0\xe3\x5a\x4f\x0a\x58\xfd\xa0\xdb\x16\x89\x18\xf5\xfa\xd3\x92\x89\xe9\xf5\x6e\x49\xc5\x9e\x5b\x9d\x5c\xfe\x2b\xff\x6f\x1d\x6a\x29\x60\xaf\x4d\x31\xd6\xf0\x16\x50\x8d\xd5\xd1\x97\x45\x39\xef\xd1\xec\xd3\x12\xcd\x7b\x34\xdb\x06\xbd\xf4\xfb\x8d\x04\xa3\xa7\xb4\x88\x56\x9a\x48\x26\x42\x42\x09\x8f\x7e\x51\x95\x33\xfe\x5b\x00\xba\xd4\x67\x6d\xa1\xcf\xd6\x4f\x84\xb5\x69\x27\xef\xe7\x17\x34\x75\xea\x20\xad\x88\xc5\x8a\xba\xaa\x1c\x58\xdf\x15\x22\xe6\x27\x3b\xb2\x4a\xdc\xfb\x93\x90\x95\x92\x70\x4d\xbf\x77\xc7\x8d\xec\x99\xb5\x39\xb8\x1a\x68\xc6\x2c\xca\x4a\xfc\x4a\x29\x0b\xea\x80\xd2\xe9\xc4\x56\xa1\x3a\xd9\x67\xe9\x94\xd3\xe3\xdc\xa5\x93\xee\xd3\x9f\x72\x8a\xb2\xee\xfe\x9c\x5b\xf1\x8c\xbb\x0b\xc2\x5a\xf3\x28\x2c\x13\xd6\x5d\x1e\x86\xb5\x5c\x55\x56\xec\xe4\x27\x36\xb6\xdc\xa1\x69\x6e\x96\x2c\xd3\xd5\xd7\xda\x79\x6f\xe5\x9d\xda\x16\xb6\x94\xfe\x91\xe5\x17\x65\x13\x72\xf3\x4a\x0c\x46\x46\xb8\x48\x8e\x01\xbc\x27\xda\xc4\xe6\x3d\x61\xf8\xdf\xf2\x5f\x92\x14\xe0\x39\xcd\x90\x26\xed\x59\x12\x76\x51\x52\xb9\xd4\xe6\xa2\xc5\x5f\x48\x1c\x7b\xc0\x33\xdf\x0a\x42\x52\x49\x00\xca\x44\x67\xc2\xb7\xed\x9b\x6e\xad\xc0\x55\x88\xb1\xb5\x7a\xaa\xbc\xc7\x47\x82\xd0\x6f\x30\x0f\x27\x25\x9f\x31\x49\x5e\xe9\xc8\xe8\x27\x64\x34\xca\xff\x2e\x12\x58\x60\xde\x91\x09\xa8\xa4\x2b\xb9\xf8\x35\x1a\x79\xc0\xfb\x1b\xe6\x9d\xf3\x59\x12\x36\xee\x80\xfa\x10\x4c\x7c\xb1\x0e\x5b\xb3\x98\xa3\x8d\xe7\xfc\x82\x9f\x58\x22\x1b\x69\x27\xeb\x22\xad\x15\xb6\x1c\x41\x72\x82\xfc\xd4\x4d\xee\x57\xf9\xce\x71\x33\xe7\xf5\x37\x8a\x15\x1c\xb0\x94\x37\x2f\xe4\xcf\xcb\x2c\x33\x82\x2d\xaf\x6d\x48\x70\x3e\x72\x3f\xd8\x24\x12\xe5\x93\x79\xfd\x27\x61\xbc\xfb\x5e\x7f\xe3\x7a\x98\x84\x71\xd7\x24\x8e\xbb\x53\xee\x2e\xb0\x66\x75\xf4\xb9\x0d\xe5\x8d\xf3\x17\x82\x83\x0c\x28\xbd\x6c\x61\x63\x54\x89\x3b\x5f\x84\x92\x31\xe9\x56\xcb\x0d\x8d\xb6\x53\xa6\x80\x50\x69\x5f\x37\x34\xba\x86\x2c\x43\x40\xef\xc2\xe2\x68\x2f\xd7\x95\xe8\x64\xfb\xb6\xdd\x85\x4b\x20\xce\xd1\x95\x57\x40\x35\x5a\x7b\x01\x4a\xcd\x5b\xe2\x5f\x35\xbf\xf3\x15\x50\xdd\x7c\x5a\x8b\x6f\x09\xb5\x77\xad\x40\xdb\xc8\x0d\x55\x66\xd0\x3b\x56\x73\x04\x7e\x75\x4f\xdb\x50\x6c\x56\x0b\xa9\xd8\x20\xa8\xc2\x1e\xb7\x2b\xa2\xc2\x3d\xcc\x36\x7b\xb3\xff\xb0\x50\xce\x9c\xeb\x61\x0b\x57\x52\xee\x7d\xa9\xf6\x95\xf7\x24\x57\xc8\xac\xad\xa9\x8d\x49\x26\xe5\xb1\x21\xa4\x42\x77\x6a\x7c\x53\xd0\x5d\x4b\x0d\xa9\xb0\x00\x2d\xbe\x54\x56\x7b\x50\xb9\x79\xd0\xb7\xaf\xcb\x99\x2c\x11\xc0\x56\xdd\x74\xb6\x08\x60\x22\x6e\xdd\x1b\xbf\xe5\x52\xe6\x09\x3b\x72\x51\x73\x79\x36\x89\xa7\x9e\xc9\x10\x54\xcd\x72\x35\x89\xd8\x81\x0a\xbc\x05\x1e\xd7\xb9\x25\x04\x81\x74\x75\x18\xa7\xf8\xad\x19\xa1\x97\xca\xdc\x19\x62\x11\xf4\x0b\x2a\x4e\x52\xb5\xc9\xcc\x0d\xb9\x51\x9e\x2c\x4b\x7c\x20\x80\x40\x8a\xa0\x07\xbc\x0f\x5a\xb0\xf5\x80\x37\x95\xd0\x12\xc2\x3d\x15\xbf\xd3\x45\x11\xe6\x84\xe6\x80\xac\xfc\x16\xed\x2f\x5a\x2c\xbe\xe1\xd0\x70\xf9\x02\x5c\x0d\x6e\x13\x09\xd8\x03\x56\x0e\x06\x79\xc7\xfe\xf4\xe2\x12\x14\xa2\xfe\xe9\xed\x18\xf3\xd3\xdb\x8c\xc6\xe2\xdb\x14\xf2\x89\xf8\x97\xa2\xd1\xa9\xf7\xe2\x87\xa7\xcf\x3c\x20\x4d\x02\xa7\xb7\xc6\x4a\xa4\xbe\x52\x2a\xfb\xa9\xe7\xcd\x01\x63\x13\xf5\xb6\xf2\x06\x94\xec\x99\xe2\xd3\x39\x90\xc5\xa6\xf5\x7d\xb4\xb2\xb6\x71\x7a\xab\x95\x8d\xd3\x07\x7d\x80\x13\x8e\xe8\x35\x8c\x4f\xbd\xa3\xa9\x37\x07\x14\x4d\x09\x47\x3f\x14\xef\x6f\x8a\xad\x22\x3a\xb2\x7e\x3e\x27\x74\x0a\xf9\xe9\x21\x90\xe4\x3a\x8c\x91\x99\xf1\x5c\xde\x3a\x7c\x3d\xf0\xd3\x81\xaf\x02\xe5\x55\xd5\x65\xb1\x26\xcf\x63\xc8\x26\xfa\xea\x3b\xf3\x02\x10\xb5\xca\x0f\x22\x2f\xa2\x5d\x43\xda\x91\x57\x17\xf4\xcd\x44\xf1\x10\x5c\xdb\x39\x42\x4c\x0e\x68\xf3\x70\x54\xea\xcc\x64\x81\xce\x5f\xcb\x6b\xaf\xd4\x03\xd3\xca\xf3\x5c\x4b\x9b\x55\x5e\xe4\x8e\x5d\x30\xa9\xbc\xb1\xce\xf2\xb1\x7e\x65\x2e\x05\x00\x1f\x0f\xcc\x36\xd5\x09\x39\xbc\x00\x27\xbe\x4a\x2e\x11\x34\x14\xeb\x17\x13\xd5\x71\xfe\x74\xa5\x62\xfd\xc9\x05\xbe\x1c\x50\x95\x82\xa1\xdc\xeb\xe0\xc7\xf3\xd7\x3f\xab\x12\xed\xbe\xfc\x93\x71\x8a\x93\x31\x1e\xcd\xfc\x2b\x93\x4f\x43\x4f\x7d\xe0\x68\x2e\x16\xf5\x56\xbf\x3f\x25\x73\x9d\xf2\x82\x8e\xd9\x1e\x56\x89\x57\x7a\x29\x49\xb3\x18\x72\xf4\xc3\x07\xcc\xc4\x86\x91\x47\x32\xf3\x49\x09\xb4\xee\xc8\xa0\x72\x70\xa2\x7e\xe7\x08\x1c\x3c\x78\x60\x7f\x7e\xd6\xb3\x28\x4e\x7d\x3a\xc6\xfc\xac\x97\xd1\x38\xb8\xc5\x23\x9f\x58\x41\x45\x67\xea\x15\x63\x93\xb3\x5e\x69\x43\x04\xfa\x4e\x88\x5c\x10\xdd\x5d\xee\x65\xf7\x1f\x06\x62\x06\x0f\x1c\x90\xe4\x76\x3c\xeb\x99\xed\xb8\x18\xcc\x61\x30\x97\x49\xb4\x0b\x28\x56\x9d\x6d\x6b\x46\x56\x37\xf2\x7b\xed\xcc\x28\x3e\x7e\x68\xf2\xd2\x19\x1c\xe5\x9f\x49\x93\x5f\xf1\xe1\x49\xe3\x87\x3f\x13\x7e\x8e\x8a\x54\x77\x9d\x43\xe7\x97\x63\xcc\x2b\x43\xac\x60\x40\xcd\xa7\x76\x98\x16\x8d\x20\x27\x43\xbf\x34\x39\x6b\xb5\x3e\x7e\xf4\xbc\xc0\x06\x51\x38\x77\x5c\x10\x1a\xd6\x4e\x41\xb9\x86\x31\x8e\x20\x47\x7f\xc3\xfc\x1d\x8d\xf3\x0c\xea\xfe\x21\xc8\x8a\x3b\x6d\x0d\x58\x3e\x2b\x28\x46\x5f\x75\xf2\x73\x5c\x48\x8c\x7e\xfc\x98\xff\x56\x88\x0b\xf6\xf7\x55\x1c\xb3\xac\x29\x9f\xa7\x3c\x3f\x53\xed\x4a\x5c\xa5\x27\x33\x99\xf8\xff\xf9\x37\xcc\x3b\x19\x8d\x3b\x09\x42\x91\xac\x85\x22\xa3\xb6\x55\x30\xb4\xd7\x31\x10\xfe\x33\x00\x0f\xfa\xc1\xe9\x83\xbc\xbf\xf3\xf3\x17\x1f\x3f\x4a\x97\xe8\xc0\xee\xe9\xe3\xc7\x95\xbb\x12\x47\x43\xb5\xa3\x79\xc3\x8e\x94\xec\x74\x44\xa8\x1f\x23\x7e\x91\x00\x7c\x49\x46\xe6\xf6\x17\x4a\x38\xc5\x88\xf9\x28\x08\xf4\x93\xfc\xc6\x74\x6f\x02\x99\x95\xd9\x43\x5d\x88\xe2\x20\x09\xf6\xf7\x7d\x99\x11\x1f\xb3\x1f\xa6\x29\x9f\x05\x3e\x0e\xce\xf8\x45\x72\xe9\xe2\x22\x17\xc9\xe5\xa9\xef\xe9\x8b\x79\x83\x81\x80\x4b\x46\x1d\xbc\xbf\xbf\x88\x83\xa0\x8b\xe4\x12\x94\xbb\x10\x80\x82\xb3\xdb\xf9\xa9\xfc\x03\xe0\x07\x83\x81\xf8\x6b\x7f\x5f\xbe\x19\xe0\x20\x08\xe6\xf6\xee\x34\x79\x9f\x72\xbe\x83\xe6\xb6\x0d\x5d\xa1\xc4\xd0\xe1\xfe\xfe\x2f\x3e\xef\xa9\xb8\x46\x31\x3b\xf3\x5c\x31\x04\xb3\x38\xf9\x83\x41\xe3\x81\x1d\x80\xf2\x97\x17\xe8\x72\x60\x00\xab\x80\x49\x39\x4a\xed\x99\x54\x83\x10\xbc\xc8\xb4\xd2\x1c\x47\xf2\x27\x6b\x48\xe6\x71\x0e\x9c\xb1\x89\x3d\x2a\xc6\x26\x83\x76\x62\x82\x4a\x10\x90\x54\x06\xb5\x57\xf1\x8f\x0a\xda\xdc\xdf\xf7\x93\xc1\x90\x13\xe8\x27\x81\x35\x2d\xc6\x26\x62\x52\xc9\xbc\x2c\x55\xe7\xf8\x76\xf0\x05\x05\x05\x99\xca\x08\xf6\x85\x31\xd1\x0c\x8f\x64\xbe\x2a\x74\x8d\x12\xfe\x4c\xd1\x8e\x49\x29\x54\xe5\x02\xba\x8f\xfc\xec\x30\x38\x70\x75\xea\x79\xc1\x1e\xa7\xb3\xdb\x4a\x01\x85\x2c\x65\x88\xe6\x89\xb2\xec\xd6\xe5\x73\x4a\x8f\xa0\xbc\x21\x75\xcd\x1c\xdf\x33\xe3\x97\x93\x89\x3c\xfd\xb1\x92\x2f\xf2\xbc\x48\xde\x8d\x49\x92\x65\xba\xc8\xfb\xf2\x82\xe2\x6e\x6e\x8f\x23\x49\xfb\x1f\x3f\xfa\x87\x20\x34\x65\x26\x2c\x80\x32\x7e\x5b\x40\xf4\xc0\x22\x90\xe0\x18\x1d\x97\x07\xc2\x29\x4c\xd4\x15\xab\xb7\x64\xe1\x68\x4a\x07\x76\x4f\x1e\x7d\xf3\x10\xf2\x70\xe2\x9b\x4d\xe2\x62\x4c\xde\x73\x88\x63\x14\x09\x8e\x24\xd0\xd0\xc9\x6f\x01\xca\xac\x46\x42\x8f\x3b\xe5\xbd\xa9\x6a\x03\x18\xc7\xe1\xfb\x99\x14\x59\xe6\xf3\xf9\x1c\x8c\x06\x37\x7e\x54\xcf\xf4\x44\xb6\x94\x84\x69\x58\x05\x5f\x11\x0d\x2f\xd2\x4d\x7b\x98\x56\x7b\x30\xd2\xe5\xd6\xe6\x30\xab\xf6\x90\x2f\xd7\x05\xdc\x56\x06\xa9\x49\x6d\x19\x72\x91\x77\x7b\x9d\x8c\xab\x9d\x58\xd2\xf3\xf6\x7a\xa9\xf5\x51\xc4\x55\x82\x0b\xd6\x3a\x41\x6e\x23\x90\x00\x44\x76\xde\xaa\x7a\x77\x85\x83\x76\x93\xfe\x0a\x28\x4b\x3b\x34\x01\x2e\x9b\x74\x67\x60\x2c\xed\xcc\x36\xa1\x6c\xd2\xa1\x0d\x67\x49\xa7\xf6\xcd\xe2\xf5\xbb\xb4\xa1\x54\x3a\x8c\xac\xdc\x63\xbf\x14\xb9\xc7\x3c\xa5\x28\x15\xe2\x0a\x52\xc7\xa4\x95\x8b\xec\xf5\xa2\x44\x22\xbf\x83\xd7\xad\x12\x89\x60\x8e\xa6\x07\xb2\x0a\xf4\xfd\x4d\x23\x32\xfd\x31\xf9\xf7\xdf\xe1\xe1\xe3\xe6\xac\x63\xdc\x9d\x3c\x44\xbe\x32\x37\x74\x3c\x16\x12\x79\xb5\x9b\x92\x9b\xc2\x58\x2b\xb9\xc1\xd5\x15\x8e\xba\x21\x89\xb3\x69\x35\x1f\x6d\xd9\xe4\x78\x68\xd2\xbf\xea\xfa\x78\xae\x7c\x65\x47\x2a\x66\x62\x8c\x7a\x72\x55\xca\x97\xb5\x81\xd7\xb9\xf6\xf2\x5b\xce\x45\x02\xf8\xb2\xff\x56\x27\xdb\x02\xde\x93\x29\x89\x50\xac\xea\xeb\x35\x1f\xbd\x3d\x98\xa6\x3d\x43\x02\x95\xfc\xb2\x8b\xba\x59\x5e\x68\x60\x58\xe0\x69\x08\xa3\x31\xea\xc8\xff\x77\xbb\x3a\x25\x89\x8d\xab\x6b\x6d\xcd\x76\xf5\xd9\x60\xca\x2f\x32\x83\xe9\x30\x16\x1b\xe5\xad\xaa\xb2\x9d\x9c\x14\x78\x7f\x68\xcd\x38\xcd\xd8\x04\x45\x4f\x29\xc7\x23\x59\x88\xaf\x96\x5d\xb7\x9e\x18\x8e\xbb\xfd\x00\x35\x47\xb9\xa1\x97\x90\x24\xd2\x52\xd9\x0d\x51\x1c\x77\x59\x0a\x17\x64\x32\x96\x31\x09\x2a\x53\xa7\x23\xff\x59\xc9\xdb\x54\xce\x7e\x66\xa2\x36\x2e\x2b\xd3\xb4\x3d\x4b\x95\x40\x1f\xab\x2f\x20\xff\x90\x37\x02\xfa\x39\xfd\x45\x48\x15\x39\xd0\x76\xea\x95\x21\x1d\xe5\x90\xa4\xa3\x2b\x2f\x4b\xba\x36\xc0\xe3\x1c\xe0\x87\xcd\x81\x1d\xba\xe7\x99\x3f\xed\x3f\x5a\x10\xc3\x51\xf7\xc7\xd8\xfb\xdb\x83\x69\x7a\x25\xb8\xed\x95\xda\xd7\x79\xe7\xf2\x2f\xd4\xf5\xaa\x4b\x5d\x0c\xab\xe6\xa5\xab\x05\x82\xae\x41\x10\x05\xba\x56\x9e\x96\x7b\x2a\x7a\x1e\x59\x02\xaf\x21\x8e\xe1\xd0\x91\x62\xa2\x96\x05\xaf\x5d\xf4\x44\x6d\x97\xd9\x3b\xa9\xa8\xb6\x22\x33\x1c\xc9\xfd\xd4\xbc\x95\x8e\x9b\xb3\x15\xae\xc6\x9c\x8b\x6e\x9b\x38\xf4\xf1\xe6\x4c\xb9\xe8\x84\x59\x7f\xd7\xb9\xf4\xf1\x2a\xf1\x3b\xcf\x8a\xf2\x34\x9b\xf1\xe9\xe3\x06\x07\x5c\x63\xf6\x43\x97\x5b\x75\x21\x61\x25\x84\xeb\xf5\x45\xd1\x72\x62\x5a\x4e\x37\xdb\xe3\xce\xeb\x31\xdf\xfe\xa1\xc5\x7d\x6c\xd1\x2a\x8f\xf1\x5d\xce\x67\xca\x58\xeb\xf7\x5b\x41\x5c\xec\x09\x6f\x72\x31\x1e\x39\x93\xdb\x7b\x4f\xb4\xac\xe0\x09\x99\x0d\x9a\xec\x29\x53\xa1\xab\xe3\x64\x5c\x90\x97\xe5\xb1\x2b\x12\x4f\x86\x24\x09\xa1\xf1\xd9\x99\x3c\x95\xb1\x74\xcc\x49\xcf\xb8\xf4\xc0\x95\x2b\xd8\xc0\x24\x77\xd2\xc9\x85\x19\x11\xda\xb5\xa7\x9a\xff\xdd\xd5\x93\x6e\xe7\x79\x2b\x24\xdf\xcf\x98\xe0\x4c\x0e\xa2\xb4\xb5\xef\xa9\x0c\xfe\xdd\xfb\x57\x4f\x3f\x84\xe4\xe7\x66\x19\xbc\x96\x5a\xd7\xe0\x47\x49\x6f\xa5\x84\xba\x7d\xb7\x78\x5a\x1c\xa1\x35\x91\x15\xe4\xe0\xba\xdd\x94\xa2\x6b\x4c\x84\x34\x65\x44\xc3\x12\xf0\x23\x1b\xb8\x91\x0c\x4e\x1c\x70\x22\xc4\x38\xd5\xbc\xc9\x05\xe8\x78\x13\x16\xdf\x28\x7c\x03\xaf\x29\x0b\xf0\xf2\xb8\x68\xaf\x1c\x99\xee\x38\xed\x6c\xf9\xf0\xd1\x0a\xa7\xdd\xb6\xf5\x91\x65\x47\xdf\x37\x1b\x28\x28\x77\xac\x9e\xd4\xc2\x85\x0c\xc5\x94\x84\x15\x4d\x59\x8b\xd2\x38\x2b\xb9\xea\x0d\x12\xfc\xc0\x03\xde\x04\xc1\x98\xeb\xab\xcd\x4a\x75\x59\xf8\x9d\xf9\xe3\xdc\x68\x0e\x6e\x49\xd1\x9c\x7f\xc5\xbe\x53\xcd\x54\xf9\xf3\x8e\xfd\xa3\xdb\xad\x5f\x0c\xb0\x44\x0f\x27\xc5\xb9\xba\x92\x48\x29\x03\x96\x87\x6d\x39\xfb\x97\x0b\x31\xf6\x0e\x6d\x1a\x08\xf0\x28\x82\x91\xa5\xa3\xd4\xf2\x45\xd7\x0e\xd1\x43\x5b\xf7\xd3\x75\xd0\x85\x0a\x20\x16\xeb\x9d\x4e\x0a\xd4\x4e\xf6\xae\x03\x7f\x54\x51\xbe\xf4\x6a\xc9\x28\x43\xca\xaf\x70\x12\xe1\x10\x72\x42\x7b\x32\x2a\xab\x57\xc7\xf0\x4a\x2b\xec\xce\x6b\xd1\x28\x7d\x37\x9d\xfc\xc7\x97\x97\x97\xa5\xb4\xd8\x75\x72\x73\x10\x94\x57\xba\xaf\xb7\x5c\x1a\x3a\xaa\xc5\xf9\x57\x38\xf0\x89\xcd\x81\x0b\xdd\x6c\x82\xe2\xb4\xa6\xe4\x2d\x07\x50\x28\xb1\xa1\x38\x82\xd6\x80\x50\x51\x5e\xd7\x80\x50\x68\xab\x32\x76\xa9\xcb\x29\x86\xc9\x38\xae\xde\xcd\x5a\x2e\x01\x96\x8b\x62\x2e\x50\xd8\x6a\xf4\x57\x61\xe8\x4c\xab\x6f\x57\x29\x45\x23\xfc\xa1\xa7\xd8\xb9\x3d\xe8\x06\x72\x2a\x77\x58\xdd\x9d\x8d\xc8\xd7\x24\xe3\x39\xe0\xb8\x86\xee\x1c\x2e\xe5\x28\xba\xe2\x78\x8a\xf4\xa0\x5d\x29\x96\x8a\xdd\x7d\x52\x1e\x0f\xe5\x6f\xb1\x24\x48\x86\x42\x92\x44\x6c\xa5\xdd\xbd\x00\xb4\x90\xbc\x62\xc4\x51\x5b\xe8\xe5\x7d\xe8\xda\x85\x27\xea\x72\x56\x71\x20\x14\xbc\xe9\x77\x32\x7c\x96\x07\x1b\xbc\x41\xa3\xfc\x82\x57\x48\xa6\x79\xa0\x5e\x69\xd7\xae\xd2\x76\x91\x4d\xa1\xbe\xb5\x4d\x5a\x88\xa2\xeb\x45\x96\x04\xfb\x0c\xb0\x5b\xc9\x23\xa8\x90\x46\xc4\x41\xf4\x96\xe2\xf1\x18\x51\x14\x75\x86\xb3\x8e\xfa\xee\xb4\xa3\xe8\xf3\xa1\x43\xf8\x71\x8e\xd6\xae\x41\x10\xc6\x38\x1d\x12\x48\xa3\xb7\x2a\x88\xf4\xc2\x40\x5a\x21\x82\xd5\x35\xf8\xab\x2b\x36\x81\xd6\x89\x95\x93\xc7\xa3\xa2\x8f\xc5\x11\xab\xcb\x63\x56\xab\xb4\xf1\xb0\xca\xa1\x9b\x43\x40\xdb\x95\xed\xb2\x85\x2c\xef\x89\x10\xe0\x19\xcf\x0f\x41\xf1\xf8\x85\x39\x74\x72\xfb\x54\xbe\x74\xa5\x22\x5f\x09\xe1\x5d\xa9\xac\x29\x8d\x2d\x2f\x5a\x01\xda\x69\x81\x11\xb9\x49\x42\xe9\x30\xf3\xc2\x18\xc1\xa4\x9b\xa5\x3a\x89\x72\x59\x2b\x94\xda\xa2\x52\x0d\x23\xa9\x09\xc9\xc8\xc0\x6e\x84\x19\x87\x49\x88\xba\x9c\x74\x13\x72\xa3\x6b\x9f\x76\xf3\xaa\x63\x9c\x66\xa2\x6b\x54\x50\xeb\x0a\xda\xa2\x25\x06\x7f\x66\x95\x71\x0b\x25\xca\xbf\x6c\x7d\x71\x84\x5f\x47\x21\x39\x7f\xb3\x63\x3e\x1b\x53\x1e\xf7\x13\x69\x49\x05\x19\x54\x2c\x82\x6e\x25\xf8\x6e\xfd\x36\xb5\x3e\x17\xf9\x6d\x8e\xb6\xed\xb7\x39\x6a\xf4\xdb\x1c\x7d\x2e\xbf\xcd\xf1\x27\xf4\xdb\x1c\x6f\xcd\x6f\xe3\x86\xb4\x81\xdf\xc6\x0d\x70\x4d\xbf\x8d\x1b\xd8\x27\xf1\xdb\x98\xbd\xed\xf6\xdc\x38\x07\xf6\xe5\x7a\x6e\xca\x93\xf9\x84\xbe\x1b\xe7\x4e\x39\xf9\x74\x6e\x99\x93\x4f\xe7\x96\x39\xf9\x2c\x6e\x99\x93\xaf\x6e\x99\x75\xdd\x32\xc7\x5b\x77\xcb\x2c\x86\xe8\x9a\xf7\x72\xb7\xcc\xf1\x12\xb7\xcc\x93\x5c\x2a\xb8\x0f\x1e\x1a\xc3\xa8\x3e\x8f\xc0\x2d\x6f\xe0\xdf\x5b\x21\xfb\xbb\x7f\xce\xc6\x3f\xfc\xf4\xf2\x7f\x1a\xcb\x71\xe8\xd4\x93\xc6\x32\x2c\xb0\xa1\x15\xf0\xbe\x66\x24\xdf\xd8\x77\x3a\x2d\x81\xed\x31\x38\x2e\x6f\x14\x4d\xc9\x92\x52\xe5\xf5\x2b\xb1\xf6\x02\xa1\xfb\x90\x73\x2a\xff\x28\x18\xa4\xa1\xca\x99\xba\x60\xdb\x82\x5e\xc4\xd0\x3e\x23\x8d\x1c\xe8\xec\x0b\xf7\x96\x54\x8e\xdf\xa1\xf3\x77\xb3\x1f\x6e\x1a\xf5\xb1\x76\xd9\x28\x34\x6d\xf4\x9d\xb4\x51\xe6\x67\x1b\x93\x83\x5e\x93\xcf\x45\x15\xf5\xfb\xa1\xf7\x95\x36\x6e\x8e\x5e\xbc\xfb\xe3\xe4\xed\xdb\x85\x6c\x44\xd7\xcb\x21\x11\x9a\x62\x4a\xe5\x01\x91\x70\x88\x13\x45\x24\x79\xf6\x02\x73\x58\x9b\x6b\xd7\xc5\xad\x6b\x22\x1d\x43\xcc\xd8\xed\xfa\x46\xb9\x33\xb1\x28\x2e\xff\x93\x3e\x19\x5d\x77\xb8\x0b\x70\x86\xba\xe4\x8a\xa9\xc1\xb5\xa3\xb1\xea\x0a\x7f\x36\x4a\xd3\x88\xec\xe2\x29\x1c\xa3\x2e\x87\xe3\x4f\x52\x56\x18\x14\xa3\x91\x75\xd1\x0e\x54\xf7\x14\x8d\x58\x53\x85\x33\x75\xa1\x36\x06\x70\x6b\x45\x87\x59\x8b\xa2\x53\xe7\x7f\x44\x7f\xf9\x9f\xf1\xef\x6d\x58\x57\x1d\x95\x2e\xa5\x65\x79\xa5\x61\xd9\xfc\x8d\xc4\x44\xb5\xb2\xb0\x97\x51\xec\x55\x2c\x11\x8f\x4b\x95\x00\x65\x16\x0e\x0d\xa0\x20\x77\x67\xe1\xda\x7e\x49\x7c\x4f\x0e\x60\x59\x02\xaf\xee\x04\x0b\xea\x92\xca\xb1\x66\x29\x5b\xee\x84\x06\x0a\x5c\xb4\x23\xac\xea\x98\x60\xba\x68\x77\x30\xe0\xc7\x5b\x2f\x25\x2b\xaf\xfa\x14\x25\x64\xe1\x17\x5b\x42\x76\x8c\x78\x47\x6a\xe7\xac\x72\x6f\x16\xd2\xb1\xf1\xdd\x29\xc7\x70\x8f\x22\x95\x60\x50\xde\x89\x3f\x6b\xf3\x91\x2c\xc6\x3f\x0b\x4e\x2f\x2e\x65\x3f\x39\xd5\xe6\x5d\xc9\xbb\xf4\x23\x9c\x44\x2f\xcd\x2b\x7d\x2d\x4c\x0d\x49\x55\xb8\x8d\xcb\x15\x6e\x25\x6a\xbf\x56\xb6\xbd\x77\x95\x6d\xe1\x60\x08\xe2\xc0\xba\xae\x32\x93\x37\x2e\xe9\xcc\x4c\xca\xba\xeb\xaf\x0c\x4b\xe8\x47\x46\x12\xeb\x1a\x9f\xfe\x4e\xec\x59\x12\x23\x73\x85\xef\x7b\x92\xc5\x51\x27\x21\xbc\x23\xdb\x76\xf2\x96\x9d\x11\xa1\x1d\x43\xaf\x1e\x40\x01\xb8\x9d\xcf\xad\x0b\x30\xd3\x36\x27\xa3\x34\x17\xc8\xd3\xe1\x13\x1d\x8a\xae\xda\xa0\x66\x70\xdd\x74\xd8\x5c\xfc\x53\xb1\x2f\x59\x01\xb4\xc0\x71\xb8\x4b\xa5\x3e\xd3\xaf\xa5\x3e\xff\x1c\xa5\x3e\xa3\xe5\x52\xd7\xbf\x23\xf6\xf6\x9b\xe8\xdf\x53\xb7\xd4\x95\xdb\x76\x73\x81\xc7\x14\x5d\x2c\xef\xd9\x85\xa9\xc6\x8c\x19\x31\xa5\x26\xfd\xb4\xc7\xe1\x50\xef\x72\xef\xb0\x90\xdc\xec\x72\x5b\x32\xdf\x53\xb5\x93\x42\xc4\x33\x3b\xb5\xa3\x3f\xe9\xa8\x4f\x3a\xff\x5b\xfe\x27\x6d\x72\x3a\x0b\x5a\x17\x46\x11\x1d\x14\x76\x57\x21\xf6\x4d\x08\xe3\x45\xbe\x66\x21\x95\xb9\xda\xc9\x0a\x1f\xe4\x3d\x4a\x06\xf5\x50\x1e\x03\x49\xbe\x2f\x7b\xd1\x5c\xb0\x74\x26\x2a\x09\x73\xc0\x69\x56\x1d\x28\xef\x6a\xd4\x75\xca\x03\xd5\xb3\xfb\xb9\x18\xeb\xb1\x43\x5e\xbc\xd4\xe6\x62\x5b\x47\x4a\x67\x62\xdb\x74\x15\x3e\x5b\xca\x86\x55\x1e\xdc\x24\x16\xc6\x88\x77\x46\x03\x1f\xb6\x92\xf6\xe4\x71\x6a\x65\xe5\x09\xed\xac\x3c\x4c\x27\xc4\x31\x0f\x15\x3a\x41\xa6\x1f\x4b\x11\x46\x53\xaf\x78\xe3\x9b\xc4\x00\xa5\x67\x3a\xe1\x47\xe5\xf6\x7e\x18\x63\x94\xf0\xde\x18\x25\x88\x42\x8e\x5e\x91\x31\x4e\x54\x83\x04\xdd\x74\xe2\x5e\xf1\xe0\x0d\xfa\x23\x43\xcc\x5c\xea\x4f\x71\xef\x37\xcc\x27\x3f\x21\x0e\x85\x82\x27\x1f\x2a\x2a\x40\xbd\x31\xe2\x66\x1c\x42\x0e\x33\x64\x94\x8b\x61\xff\xfa\x8f\xdb\x1b\x9c\x44\xe4\xa6\x67\x72\xe4\xf5\xcc\x37\xf3\xd3\x6f\xbf\x39\xec\xff\x4b\xb6\xb3\x56\xb5\x55\xd3\x6e\x86\xff\x35\x9f\x03\x36\x48\x7d\x58\xbf\x07\x4f\xb7\x74\x87\x3c\xab\x82\xd7\x8b\x71\x41\x36\xbe\x76\x9d\xb3\xe6\xfc\xda\xac\x37\x9f\x07\x00\xda\xfa\xf3\x68\xd1\x35\xd9\x08\x8c\x96\x5e\x93\x2d\x05\x90\xd8\xc2\x83\x3c\xf9\xbb\x61\x8c\xbb\x79\x64\x51\x53\xbb\xca\xa1\xbf\x86\x79\xa6\xb1\x81\xe1\x8d\x25\x11\xe0\xc1\x21\x18\x23\x5e\xc7\x4f\x87\x1b\xbc\xcc\xe7\xad\x26\x9e\x6f\xf6\x3b\x92\x9e\x5a\x14\x52\x6f\x5b\x3c\x3d\x97\x9f\x0a\xe9\x29\xfb\x2a\x90\xfc\x39\x04\x92\xb0\x85\xb3\xe3\x9c\x1d\xff\x9a\xfe\xfa\xae\xd1\x0c\x54\x09\x83\x2f\x51\xbf\xb9\xd9\xf1\xb0\x9f\x5f\x05\xf6\x86\x2a\x8a\xb8\xe1\x16\x46\xcd\x01\x52\xb1\xf4\x5c\x68\xc7\xca\xc3\x23\xeb\x50\x4e\x67\xe7\x2a\xbd\x8b\x4c\x8b\x2e\x19\x08\x2b\x1e\xc8\x54\xe0\xda\x0d\xee\x7d\x4f\xd2\x99\xc9\x51\x59\x04\x36\xca\x84\x3a\xd2\xc7\xa9\x9b\x89\xed\xa3\x2c\x9a\xe0\x42\xcd\xeb\x7f\x79\x26\x2a\xa6\x48\x42\x49\x12\xab\xdf\xe2\xe1\x0f\xda\x16\xba\xfc\x3a\x45\xb9\xdc\xc1\xa1\xf2\x03\x9a\xe1\x99\x28\xd1\x85\x73\x35\x53\xe8\xe6\x09\x70\x8b\x67\x9e\x23\x33\x66\xdb\xb8\xc6\xbc\xfa\xba\x94\x30\x9d\x5e\xa6\x2c\x89\x15\xaa\x66\x3a\x8f\x63\x39\x64\xb0\xe6\xf0\x6c\x27\xf6\xd4\x78\xe7\x22\xa9\x27\x6d\x2b\xf5\xac\x62\xe3\xb2\x71\x6c\xd9\xba\xd8\x17\x6b\xeb\xca\xc9\xd0\xd7\x29\x7f\xac\x19\x0c\x1e\x1c\xaa\x74\x5c\x3a\x39\x91\xef\x07\x83\xbf\x3a\xbe\xea\xcf\x03\x70\x84\x8e\x03\x29\xd7\x64\x65\xc1\xa3\x84\x90\x0b\xba\x7d\xf1\xe3\x41\x5f\x88\x1f\x95\x5e\x8b\xcd\x25\x44\x9e\xb6\x09\x44\x1a\x40\x04\x00\xda\xd9\x43\x4a\x92\x4e\xba\x48\xd2\x09\x41\xba\xf4\xc0\x57\x02\x4d\x4a\x52\x72\x5d\xf5\x65\xaa\x57\x9c\x90\x98\xe3\x94\x35\x37\xda\x49\x41\xa7\x34\xb9\xd5\xe6\x6d\x1a\xed\xe8\xbc\x53\x3e\xd3\x37\xd1\xee\xad\x77\x12\x93\x97\xdf\xbc\xb8\xf9\xf1\x79\x0b\xf7\x8f\x8d\x8f\x95\x3c\xd7\x1b\xfb\xab\xad\x9e\x3f\x93\x17\x11\x7d\x40\xe1\xdd\xc8\xf8\x63\x42\xc6\xb1\xac\xbf\xcf\xc9\x30\x1b\x1d\xa8\xdf\x07\xf9\x6f\x39\xf7\xab\x74\x58\xb1\x93\xd6\xdc\x8b\x62\x84\xdd\x1b\x34\x64\x24\x7c\x8f\x78\x17\x46\x91\x3c\x9e\x2b\x5f\x29\x52\xe8\x72\x44\xa7\x38\x81\xf1\xaa\x16\xda\x03\x75\x12\x1c\xa0\xe4\x1a\x53\x92\xe8\x28\xa9\x06\x8d\x03\x48\x63\x2d\x08\xd5\xa1\x9c\x3b\xb3\x4a\x16\xf2\xdd\xb1\xde\x4e\xbe\x2a\x4b\x7f\x0e\x65\x69\xbc\x9c\x69\xc6\xff\xfc\xe1\xd5\xaf\xd7\xef\x5a\x5b\x6f\xf3\xed\x66\xf9\xc0\x8b\x67\x35\xf1\x3d\x37\x30\xe6\xac\x92\xa2\x24\x12\xc7\x69\xd1\xa6\x05\xd3\xcc\x59\xd6\x22\xd1\xfa\x7a\xe0\xa7\x6b\x19\x14\x67\x79\x9e\x6d\x26\xc3\x6d\x41\xa4\xad\x87\xe6\x45\x11\xfb\xfb\x32\x2a\x12\x81\x9b\xb7\x05\x07\x1a\x56\xde\x28\x06\x96\xe7\x00\x97\x49\xae\x6d\x58\xa7\x89\x9d\xe9\x5a\x27\xb4\x2d\x5e\x0f\x12\x65\x51\x34\x1d\x88\xd5\x84\xf9\x6a\xaa\x67\x62\x19\x93\x34\xe3\xcf\x30\x33\x59\xd5\x4d\x62\x58\xd3\xac\x37\x22\x61\xc6\x4c\x9a\x53\x79\x31\xf2\x87\x0f\x28\x3c\xe7\x14\xc1\xa9\x9f\xe4\xa9\x52\x2b\x2f\x90\x32\x8b\xea\x74\xdd\x1a\x37\x32\xf3\xb1\xcc\x5b\x8a\x12\x8e\x43\xc8\x51\x74\xa6\x8c\x9b\x20\x19\x24\xe8\xa6\xf3\xee\xcd\x2b\x3f\xcc\xb3\x8d\xc2\x14\x3f\x8d\x22\x8a\x18\xfb\xf8\xb1\x6a\x9c\xe4\xe4\x5c\x66\xbe\x13\xc7\x57\x92\x27\x27\x1e\x78\x37\x8c\x9d\x7a\x20\x91\x05\xfc\x85\x42\x39\xf0\x0e\xae\xfb\x92\x04\xc4\x53\x86\x20\x0d\x27\xbf\x40\x0a\xa7\xac\x07\xd3\x14\x25\x91\x6f\xec\x8c\x5c\xd1\x01\x96\x03\xf9\x0d\x0d\xcf\x25\xfa\xfd\x24\xd8\xc3\xbd\x21\x4e\x20\x9d\xbd\x9d\xa5\x68\xa0\x62\x5d\x87\xd9\x68\x24\x64\x5f\x35\x3b\xf9\xe5\x00\xcb\xf6\x74\xa0\xec\xbb\x02\x17\x39\x94\xa7\xe2\x10\xf2\x31\xb8\x1d\xe2\x08\x53\x24\x39\x0d\x8c\x85\x74\x56\x5a\x50\x34\x37\x06\x5f\x83\xfc\x98\xc0\x48\x35\xa6\xc1\x3c\xc2\x2c\x24\x49\x82\x42\x9e\x1b\x9d\x45\x5f\xa4\x57\xe0\x5d\xdb\x92\xf7\x90\x38\xfc\x65\x10\xd3\x0f\x64\x24\x2d\xce\xb4\xa7\xd2\x13\xdb\x43\xee\x31\x81\x00\xf1\x2d\x55\x5c\xe6\x3b\x39\x4f\x3f\x28\x7f\x15\xc6\x44\xf0\xca\xf9\x0d\x8e\xe3\x67\x2a\x99\x85\xd1\xbc\xec\x21\x01\xb9\x29\x7a\xa5\xaf\xe6\x73\x10\x0d\x26\x7e\x5a\xce\xac\xa8\x37\xca\x05\xdb\x92\xe9\x78\x54\xed\xa2\xbc\xe5\x2e\xb2\x6d\x25\xee\x1c\x56\x3b\x2a\x76\xef\xf6\x3a\x99\xd6\x10\xa6\x19\xc1\xf6\xba\x48\x6d\x99\xef\x7a\x91\x3e\x38\x06\xd7\xcb\xf5\x83\x0f\x1c\xd1\x04\xc6\xdd\x18\x27\xef\xef\xaf\x86\xf0\xb7\xec\x9f\xcf\xfe\xf1\x21\xfb\xae\x31\x7e\xf1\xd8\xd8\xde\x8c\x79\xed\x6a\x18\xc3\xe4\xbd\xa7\x1f\x53\x59\x0c\x30\x21\x24\x45\x09\xa2\x9d\x84\x50\x34\x42\x94\xea\xf0\xd7\x6f\xea\x37\xf5\xb5\x2e\x71\xd4\xac\x4b\x6c\x25\x26\xba\xb4\x7c\x9f\x49\xad\x90\x39\x8f\xbb\x3a\x03\x73\x93\xfb\x44\x7e\xd4\xdc\x6a\x27\x75\xeb\xd2\x0d\x89\xd2\xce\x99\x40\x36\xc1\x21\xa1\xa9\x36\x21\x58\x5f\xb2\x26\x08\x3b\x89\x02\xeb\x7a\xff\xbd\xe5\x1d\xc7\xff\xfe\xc7\xf9\xb3\xc7\xc3\xdf\xdc\xbc\xc3\xe4\x6e\x28\x82\x34\xb7\x98\x03\xa1\xef\xcc\x81\x60\xe5\x3e\x58\x31\x51\x83\x57\xbe\xb3\x55\x8f\x49\x75\xe6\x4f\xe8\x2f\xbb\xdd\xb6\x46\xe2\x84\xe3\x02\x76\x73\xcd\xc9\x16\x37\x85\xcb\x25\x84\xbd\x27\xee\x84\x05\xe5\xbb\x4c\x9b\xa7\x0b\x28\xe6\x77\x77\x3c\x77\x6f\xd1\xbe\xcb\x4b\x63\x1d\xd8\x19\x95\x9a\x98\x50\x84\x18\x1e\x27\x5d\x36\x63\x1c\x4d\xbb\x25\x17\xc6\x12\x88\x3b\xc9\x94\x8a\xa9\xb8\x8c\x5d\xeb\xa2\x45\xc1\xda\x71\x84\x18\xc6\xb3\x0d\x84\x98\xdb\xb7\xbb\x8a\x90\x6b\xc8\x21\xdd\x16\x89\xd8\xc0\x76\x16\x25\xea\xf2\x71\x48\xb2\x64\x5b\x5b\xa7\x0e\x71\xb7\x91\xb3\x4d\xb4\xec\x3c\x42\x28\x82\x51\x48\xb3\xe9\x70\x5b\x58\xa9\x02\xbc\x17\xa8\xe1\x68\xba\x55\xcc\x08\x78\xf7\x01\x31\x5a\xee\xda\x86\xdc\xe2\x86\xba\xbb\x48\x92\xa2\x69\x97\xa1\xad\x71\xe1\x2a\xc0\x1d\x47\xcd\x56\xd1\xb2\xeb\x28\x09\x55\x4c\xaa\xb9\x69\xbb\x29\x52\x2a\xe0\x76\x16\x2d\x11\x66\x61\x4c\x58\x46\xb7\x75\x66\xd7\x00\xee\x2e\x6a\x28\x49\x23\x72\xb3\xad\x6d\x54\x01\xb7\xfb\x68\x89\x31\xe3\x2a\x33\x89\xb4\x14\x6c\xe5\x04\x5f\x08\xfc\x3e\xa1\x6c\x9b\xf6\x88\x25\xe0\xef\x13\xda\xe4\x5d\x13\x1c\xde\x05\xca\x0c\xe8\xfb\x84\x2e\x59\x5e\xdc\x64\x1d\xdd\x3e\xca\x6c\xf0\xf7\x09\x6d\x0c\xa5\x90\x42\x4e\x36\x17\x13\x16\x02\xbf\x4f\x28\xdb\x8e\xc5\xac\x11\xf0\xee\xa3\x8a\x93\xf1\x38\x46\x07\xae\xdb\x53\x9b\x20\xaa\x0c\xf6\xde\xa0\x69\xa1\xb3\x70\x5d\x24\xed\xae\xff\x50\xcc\xc6\x0a\x8c\x3d\x18\x92\x68\xb6\x31\x7a\x6a\x00\xef\x05\x6a\x46\x84\xf0\x2d\xe8\x77\x0e\x90\xf7\x02\x3d\xce\xec\x6c\x9b\xa1\x27\x4f\x70\x76\x0f\xd0\xb3\x1d\x55\xaf\x0e\x71\x67\x91\x33\x22\x74\x7a\x20\x2f\xa2\x0d\xc9\x87\x83\x61\x3d\xd3\xfa\xea\xd8\x71\x80\xbc\x27\xe8\x71\x65\xb7\xdb\x14\x3f\x0a\xe6\x3d\x41\xd0\x98\x92\x2c\xdd\x32\x82\x14\xcc\xdd\x46\x90\xbc\x98\xba\x25\xe6\x53\x03\xf8\xa5\xa2\x66\x69\xe4\x86\x35\x13\x67\xd8\xdc\x66\xc8\xd9\xe9\x98\xba\x7c\x2e\x92\x3d\x6c\x93\x72\x6c\x80\xf7\x00\x35\xdb\xf3\x0e\xb9\x60\xee\x36\x82\x26\x28\x4e\xe5\x4d\x93\x0f\x5b\xc5\x51\x1d\xec\x6e\xa3\x29\x2f\x4c\xb7\x4d\x24\x55\x81\xee\x36\x8a\x64\xc5\xbe\x6d\xa2\xc7\x06\xb8\xe3\xa8\x41\x63\x94\x6c\x95\x43\x97\x20\xee\x36\x72\x28\x8c\x30\xd9\xa2\x56\x61\xc1\xbb\x0f\x88\xd9\xa2\x3e\x61\x03\xbc\x0f\xa8\xd9\xa2\x26\x61\x03\xdc\x6d\xd4\x30\x14\xa3\x90\x6f\x71\x3f\xd9\x00\xef\x05\x6a\xb6\xb8\xa3\x4a\x10\x77\x1b\x39\x32\x2d\xa1\xbc\x25\xbb\x45\xda\xa9\x02\xbd\x37\x28\xda\x22\x0d\xd5\xa0\xee\x3e\x92\x20\x45\x70\xcb\x54\x54\x80\xbc\x27\xe8\xd9\x32\x05\x59\x30\x77\x1c\x41\xda\x99\xb9\x3d\xea\xb1\x00\xde\x0b\xd4\x6c\x93\x72\x6c\x88\xf7\x02\x39\x5b\x94\x09\x4b\x10\x77\x16\x39\xaa\x4c\x1c\x8e\xb7\xe5\xd7\xaa\xc2\xdb\x5d\xc4\x14\x81\x4b\xdb\x42\x4d\x0d\xe2\xce\x22\x27\xc6\xc9\xfb\x03\x93\x2c\x72\x43\xb4\xd8\xb0\x76\x1b\x21\x8c\xc3\x24\x82\x31\xd9\x16\x52\x2c\x78\x3b\x8b\x18\xc6\x51\x9a\x22\x2a\xff\x2d\x2c\x9a\x1b\xe3\xa7\x01\xec\xce\xa3\x89\x43\xf6\xfe\x0e\xd0\x54\x01\xbb\xb3\x68\x6a\xaa\xd6\xb5\x3a\x66\x0a\x48\xbb\x8b\x0c\x02\xd9\xb6\xbc\x32\x36\xac\x9d\x45\xc8\x6c\x8b\x8e\xce\xd9\xce\xfb\x38\x65\xc8\xd5\x27\x29\xe3\xe3\x4c\xf9\xa8\xb3\x22\x82\x78\x6b\xd5\xeb\xe0\xf2\x04\x23\xf0\xe6\xdd\x68\xfc\x7b\xdc\x90\x89\xaf\x7f\x08\x3c\xab\xd4\xa6\x2c\x6e\xb2\x52\xe9\xcd\x4a\xc2\x10\x93\xbe\x7b\x48\x61\x12\x79\xa5\x12\xd9\xba\x10\x74\x8c\xcd\x0d\xca\x96\x49\xc1\x8f\x16\x95\x32\xcf\x13\x7e\x86\x24\x96\xd5\x85\x8f\x4e\x9c\x25\x96\x6b\x49\x44\xd2\x88\x75\xbb\xd7\x98\x65\x30\x8e\x67\x2f\x70\x14\xa1\xa4\x21\x91\x88\x97\x52\x12\x65\x21\xef\xe9\x1c\x28\xce\x84\x22\x8d\xe9\x44\x0e\x81\x97\xc0\x6b\x47\x99\xe9\x7a\xd6\xf3\x47\xc0\x9b\x70\x9e\xb2\xd3\x83\x03\x33\x2d\x53\x35\x1c\x93\x83\x88\x84\xcc\x4c\x6d\x71\x35\xf0\x4a\x9a\x78\xb5\x20\x09\xbc\xee\xba\x72\xaa\x7b\x02\xae\xca\xcf\xe5\x2e\x4d\xfd\x8c\x84\x32\x33\xb8\x5c\xb4\xc6\xe4\x29\x56\xb2\x1a\x99\x9d\x1d\x26\xaf\xc8\x98\x64\xdc\xab\x94\x07\xcf\x69\xce\xa2\xaf\x6a\xa9\xf1\x62\xfc\x8f\xf4\x74\xf3\xff\xb9\x0b\x7d\xb7\x84\xf6\x4d\x23\xb4\x52\xa6\x97\x72\xe1\xf1\x85\xd0\x0b\xd8\x8f\xed\x34\x37\xc5\xe4\x8b\x64\x96\x36\x46\x5c\xc9\xe8\x2b\x99\x67\x56\xa9\x67\x0b\xac\xe2\xdb\xe5\x5c\x34\x82\x31\x55\x72\xb0\xa9\x94\x35\x2a\x89\x78\x5e\x5c\xc7\x7a\x82\x93\x6b\x2c\xeb\xd9\xc7\x66\xb4\xcb\x13\xd6\xd8\x7c\x75\x51\x26\x4d\x36\xf0\xc9\xd6\x93\xd4\xe7\x49\x03\x8b\x04\xf5\xf1\x17\x9b\xa0\x5e\x16\xd9\x31\x94\x50\xa9\xc7\x68\x52\x61\x62\xf6\xd4\xce\x83\x29\x2b\x24\x92\x72\x85\xc4\x7c\xce\x5f\xab\x24\xde\xbb\x2a\x89\xf1\x60\x08\x48\xad\xc2\xa9\x95\xbe\x89\x2d\xca\xca\x08\x01\x5b\x2a\x06\xe5\xf6\xa8\xfb\x9b\x55\x0d\xdf\xdc\xbc\x9c\xfe\xf6\xb8\xa9\xa2\xb4\x9d\xb3\xbd\xc0\x86\x4b\xe0\xa9\x67\x2a\xae\x8a\x20\x26\x3f\x9b\xae\x4d\x72\x74\x09\xbc\xfe\x23\x23\x88\xb8\x32\xa4\xd5\x2b\x8c\x28\x66\xfd\x04\xb3\xf3\x29\x8c\x63\x8b\xbf\x97\xb9\x39\x6e\x57\x4c\x37\x9f\xd0\x67\xca\x1e\x56\x94\xfe\x5d\x9f\xbc\xe4\x8b\x26\x51\x5b\xe7\x7d\x24\x49\x98\x51\x8a\x92\xd0\x49\x6e\x9f\xad\x5a\x74\xf4\xed\x87\xd7\x93\xbf\xa0\x78\x71\x99\x20\x45\x7a\x45\x91\x64\x5d\x7d\x50\xd7\xe6\x91\xc5\x72\xdd\x02\xb8\xb3\xfd\xd5\x55\x46\x71\x83\x8c\x59\x08\x65\xf2\x9b\x05\xf9\xee\xea\x62\xdc\x04\xb2\xb7\x70\x5c\x96\xe1\x16\x8d\x82\xc3\x71\x47\x66\x1f\x52\xff\xef\x76\x71\x32\x22\xd5\xb4\x84\x1a\x76\x4a\x11\x13\x62\xe5\x30\x46\xaa\x8f\xfa\xf0\xab\x13\x70\x36\x29\x4f\xb6\x21\x7b\x5f\x83\x98\xca\xe1\xf8\x25\x7b\x86\xc7\x88\xf1\xfa\x24\x6b\x3a\x8d\x35\x51\x2b\xc9\x5f\x47\xa6\xc1\xee\x52\x9c\xa8\x52\xdf\x8f\xac\x04\x8c\xaa\xae\xf7\x51\x5e\x39\x5b\x34\xee\x59\x6d\xbb\xe6\x9a\xa6\xd2\x29\xaa\xc5\x98\x94\x64\x96\x97\x62\x32\xcc\x46\x0d\x5c\x15\x74\x52\x3d\x1c\x5b\x82\x66\x84\x59\x1a\xc3\xd9\xf7\xa5\xfa\x48\xa5\x1e\xda\x68\x0e\x27\x8e\xdc\x8f\x76\xf9\x25\x47\x2f\xc0\xc3\xec\x4d\x96\x24\x12\x11\xcb\x2a\x32\x75\x43\x55\x7e\xca\xa9\xaa\xd5\x95\x8b\xf2\x52\x16\xf5\x2c\x73\x16\x5a\xaf\x4b\x2e\xe5\xdc\x4a\x32\x46\x0f\x78\x29\xa2\x23\x42\xa7\x6b\x54\x64\x2a\x56\x70\x6b\x45\xc9\x65\x75\x6c\x0e\xd9\xfb\xc0\xbf\xa5\x48\x66\x4a\xd7\xf2\xd9\x3c\x00\xd5\x7a\x4e\x34\x17\x95\x85\x14\x99\x51\xec\x07\xb7\x78\xe4\x3f\x28\xea\x74\x1b\x2c\x04\xa6\x96\xa1\xcc\x0c\x4f\xd1\x18\x33\x4e\x67\xa7\x08\x88\x95\x64\x29\x0c\xd1\x29\x07\x14\xa5\x84\x61\xc1\xb8\x4a\xe9\xe2\x73\x20\xba\x70\xc3\x85\xe4\xa7\x97\xbd\x11\x8e\x39\xa2\xfe\x77\x84\xc4\x08\x26\x41\xef\x77\x82\x13\xdf\x3b\xf0\x74\xc1\x49\xc9\x28\x8a\x32\x46\x8e\x41\x9d\xf5\x38\x1c\xcb\x8f\xad\x5d\xe7\x2a\x49\x5e\x6a\x70\xd6\xc3\x49\x18\x67\x11\x62\xbe\x77\xea\x05\x67\x67\x0f\xfa\x12\x46\x99\x15\xe4\x59\xcf\x1b\xa0\xec\xe1\x91\x10\x5c\xf1\x48\xd5\x1e\xb7\x06\x20\x1b\x5e\x88\x19\x0e\x50\x8f\xa5\x31\xe6\xb2\x9f\xbd\xbc\xf6\x25\x9f\x9f\xfe\xc7\x6d\xd2\x63\xd9\x90\x71\xea\x1f\x82\x6f\x82\xf9\xbf\xe6\x7a\xcc\x68\x3e\xff\xaf\xfa\x46\xc8\x07\x93\x9f\xa0\x3d\x8e\x18\xc7\xc9\xf8\xec\xf0\xf4\x08\x1d\xef\x49\xad\x4d\x2d\x3d\x9e\x22\x92\xf1\xc0\x47\xaa\x10\x3a\x2c\x8b\xf9\xae\x4d\x96\x0e\x2e\x62\x21\xea\xeb\x13\xad\x5d\xf9\x27\x07\xa0\x00\x8c\x4a\xdd\x7d\x95\xfe\xbf\x08\xe9\x1f\x96\x64\xad\xa5\x05\xca\x7f\x67\x24\xe9\x5e\x63\x74\x53\xbb\x9c\xba\xa1\x41\xf3\x73\x0b\xf0\x4f\xf1\x87\xc7\xff\x24\xe1\x79\x0b\x01\xde\xc6\x41\x59\x86\xa8\x9c\xf6\xb2\x3a\xfc\x1b\xc4\xa4\x71\xd9\xd3\x55\x0d\x1b\x4f\xfd\xc2\x54\xe4\x38\x32\x17\x81\x04\x5e\x7e\x47\xea\xb2\xf1\x28\xab\xc8\x53\x7d\x39\x9f\x13\x70\x71\xfc\xd8\xb6\x77\xaa\x0d\x02\x3c\x22\x53\xd2\x30\xdb\x9e\x24\x0e\x31\xc8\x39\x8a\x7e\x3c\x7f\xfd\xb3\x5d\x75\x31\x24\x11\xfa\x09\x8b\x91\xbc\x36\xad\xec\x3c\xcf\xf5\x0a\xcd\x8e\x87\xe5\x43\x34\x8d\x98\xba\xfc\x55\xa4\x61\x97\xbd\x74\xa7\x58\xe3\x70\xf9\xe1\x69\x2d\xd2\x06\x6a\x49\x93\xed\x48\x9e\x08\xc5\x52\xd4\x0e\x46\xd1\xbb\x3e\x14\x6f\xe5\x4c\x4e\x13\x74\xd3\x91\xd5\x29\x7d\xef\x67\xd2\x61\x24\xa3\x21\xea\x08\x54\x76\x52\x4a\xae\x71\x84\x22\x2f\x98\xef\x71\x3a\xd3\xcc\xe4\x36\x82\x1c\x9e\x8a\x0f\x7a\xb2\x23\xbf\x02\x7c\x3e\x0f\x21\x0f\x27\x82\x41\x96\xfa\x41\xf3\xb9\x3c\xaf\x4a\xcb\x55\x54\x1b\x16\x50\x05\x03\x94\xd0\xac\x19\x9c\xc9\x9e\x98\x2c\x64\x82\x47\xaa\xee\x8b\xfd\x5e\xd6\x4b\x51\x64\x72\x94\x9b\x97\x44\x3f\x2c\xa4\x08\x25\x6f\xa4\x41\xee\x15\x1c\xa2\xd8\x75\xc2\xca\x6b\x22\x67\x67\x9e\x24\x1d\x5d\xf8\xb9\x42\x34\x79\xb3\xdb\xa9\x58\xa0\xdb\x44\xae\xec\xef\xf0\x1a\xaa\x13\xc6\x03\x62\xda\x62\x97\x03\x8a\x60\xf4\x3a\x89\x67\xa7\x0f\x0e\x81\x58\x61\xc1\x82\x7e\x82\x74\x8c\x93\xd3\xfe\xc1\x21\xa8\x8d\xe8\x54\x59\xbb\xaa\x8f\xe7\xf3\xf9\x4a\x85\x01\xe4\x24\xba\x31\x66\xf7\x38\x39\xfc\xb3\x1f\xc9\x7f\xbf\xf8\xfd\xf7\x67\xcd\xbe\x9b\x2c\xf6\x72\x46\x68\x61\xc4\xc1\x07\x8f\x72\x6d\xa1\x5f\xcd\x8e\x6e\xf8\x4d\xd5\xf0\x1d\xe3\x02\xb8\x5b\xad\x2b\x6a\xce\x1f\x6b\x1e\x77\x6a\xe9\x6c\x47\x2e\xe6\x72\x24\x3f\xad\x88\xf2\x85\x24\x2f\x27\x21\xd6\xd1\xf0\xbe\xf7\x68\x66\x49\xf5\x08\x86\x13\x0f\x78\x5d\xf1\x6f\x17\xb7\x13\xdc\x0b\xbc\x7c\xa6\x1a\x16\x02\x06\xe3\x5d\x8a\x62\x04\x19\xea\x66\xd4\x7d\xe9\xeb\x0e\x8a\x61\x7f\x39\x6e\xc8\x93\xc7\xaf\x5f\xd1\xe4\xa7\xe1\xc2\x3a\x07\xf2\x60\xc3\x94\xf1\x37\x0a\x55\x1e\xf0\x32\x1a\xeb\x43\xda\xd2\xc7\xfb\x8f\xc0\xa3\x92\x7a\xbd\xb0\x71\xe1\xb2\xd3\xbe\x49\xa5\xb7\x6b\x15\xbc\x9b\x52\x3c\x85\x74\x96\xff\x2e\x3b\x4c\x96\x7a\xdc\x6c\x7b\xc8\x51\xc9\x5c\xd1\x30\x98\xaa\xe3\xd0\xc8\x1c\xc7\x8b\x8b\x1f\x7b\xce\x71\xd5\x4e\xf3\x06\xad\xb9\x7e\xaa\x57\xfd\x42\x28\x19\x11\x1a\xea\x32\x8b\x21\x89\xd7\xd0\x90\x9b\xe8\x7c\x2b\x3e\x21\x29\xd9\x0b\xc2\xd5\xc6\xbd\x3d\xab\xd2\x5a\xa2\x5c\x3f\x78\xe0\xe9\xbe\x99\x07\x88\x76\x07\xd1\x05\xee\x20\x01\xca\x76\x07\xd1\x46\x77\x10\x6d\x70\x07\xd1\xaa\x3b\x88\x96\xf4\x07\x5a\xd7\x1f\x48\xe1\x0e\x52\xb5\xb4\x62\x02\x23\xdf\x54\x4b\x53\x3f\x54\x09\x2d\x33\x97\x01\xbc\x81\x98\x5b\xe7\xb7\x79\xa1\x24\x0b\x8b\xca\xfc\x42\xc7\x35\xdf\x04\xf6\xe9\x6f\x1e\x5e\x1c\x5e\xba\xdc\x4a\x05\xf2\xa4\x5f\x29\x2f\x29\xf5\xd5\xb1\x74\x1f\x54\xcb\xbb\x77\x2c\xc5\x64\xdc\x65\xb2\xda\xdc\xdd\x9c\x6f\x4b\x2b\xb5\x46\x12\x48\xc2\xda\x15\x6d\x5d\x50\x96\x55\x71\x1a\x59\x9b\x15\xa4\x45\x39\xd6\x68\x97\xca\xb1\x8e\x74\x8d\xd2\x9c\x66\x3b\x38\xe9\xa0\xb3\x05\xa3\xd6\xbd\x55\x36\x77\x75\xeb\x5b\x9b\x7d\x1e\x9c\xa2\x0b\x7e\x39\x48\x00\x2a\xfa\x1d\x7e\x2d\x03\xfb\xe7\x28\x03\x3b\x5d\x2e\xf5\xfd\xfd\xd7\xf4\x9f\x7d\xfe\xf4\xfb\xa5\x52\xdf\x04\xb2\x57\x64\xcc\x6c\x7b\x8c\xbb\x10\xd5\x8a\x85\x62\xab\xf6\x96\x7a\x58\xd9\xb2\x78\x2a\x2d\xdf\x1d\x59\x2a\xd5\xdb\x09\xa2\xa8\x03\x29\xea\x24\xa4\x13\x93\x31\xeb\x70\xd2\xd1\x36\x56\xa1\xe9\xcb\xc3\xb6\x03\xd3\xb4\x33\x43\xdc\x73\x87\x0d\x55\x40\x8a\xc9\x77\x6e\x70\x1c\x77\x86\xc8\x80\x42\x51\xe7\x66\x82\xc4\xd1\x8d\x24\xb0\x94\xe2\x84\xcb\xbe\x54\xa8\x66\x87\x64\xbc\x43\xa8\xf9\xa5\x0d\x5a\x4b\x03\xd3\xf2\x27\x35\x91\xb0\x5a\x43\xb7\x52\xd0\xbc\x8d\x04\x58\x39\x01\x16\x49\x7e\xb3\x81\xcf\xd6\xaa\xab\x1b\xe9\x32\xb8\x30\xc5\x1e\xc8\x74\x6d\xdc\xa8\x56\x35\x37\xac\xbc\x31\x24\x06\x52\xfd\x62\xa4\x5f\x90\xe4\x19\xe4\xd0\x03\x3e\x1a\xfc\xf5\x56\x87\xe2\xf0\x17\xea\x6b\x5f\x50\xff\x18\xf1\x57\x38\x41\xec\x15\x66\xdc\xb7\x98\x96\xf8\x5e\xd5\xb2\x95\xdf\xbc\xc5\x53\xc4\x38\x9c\xa6\x7e\xb0\x27\xed\x4f\x5a\xf6\x92\xb3\x4d\x94\xb3\x47\xd9\x81\xde\x3c\xff\xfe\xf8\xf8\xf8\xdb\xc0\xe7\x3d\x4e\x9e\x41\x8e\x84\x42\x59\xae\xef\x2a\x58\x13\x8a\x13\xff\x5f\xff\x71\x9b\xcc\x4f\x3b\xff\x71\x9b\x0f\xc3\x0f\xe6\xff\x12\x47\xb1\xe0\x8e\xc5\x14\xce\x39\xe4\x19\x6b\x9e\xc4\x59\x2f\x42\x1c\xe2\x98\xed\xef\xbb\x3b\x42\xe6\x03\x09\x58\x7e\xa3\x31\x36\x78\xd0\xaf\x17\x0c\xa6\x4b\x0b\x06\xe7\x02\xae\xf4\x6b\x99\xef\x74\x15\xe0\x52\x75\xe0\xea\xbb\x92\x33\x27\xc5\xbd\x30\xc6\x28\x91\xbe\x8e\x57\x64\xac\x3f\xb2\xa5\xe1\x3f\x40\xfe\xe9\x6f\x98\x4f\x7e\x42\x1c\x2a\x0d\x9d\x24\xbe\x32\xb1\xa9\x0f\xd4\x42\x8b\x15\x15\x2f\x98\xc6\x98\x7e\xa5\x10\x18\xcc\x6d\xb4\xdd\xda\x68\xf8\xf8\xd1\x2f\x63\xe5\x50\x39\x6d\x86\x3e\xb3\x7d\x2d\x92\x2a\x2f\xe2\x2d\x15\xb0\x0d\xab\xe0\xad\xba\xb2\x70\x6b\x45\x5f\xab\x9d\xe4\x5b\x65\x7b\x7d\x30\xdb\x62\x32\x5b\x24\x69\x4e\xc1\xac\x8d\xa4\x89\x93\xae\x8a\x55\xbc\x5b\x59\xb3\x9b\x0e\x8b\xc6\x44\x9e\x9c\xdb\x95\x2e\x85\x18\xbe\x57\x17\x9e\x76\x41\xc2\x9c\x7e\x95\xf4\xfe\x1c\x92\xde\x6c\xb9\xa4\xf7\xe8\x30\x7d\x4b\xcf\xdf\xb0\xc6\x1a\xc8\xd2\x63\xe5\xe5\x46\x38\xb9\x83\xbd\xdc\xe9\x75\x78\x09\x2e\x3c\x96\x0d\x55\xad\x57\x2d\xd7\xe9\x6f\x2c\x99\xce\x11\x0e\xe5\x99\xe4\x72\x4d\xf1\x4f\xc6\x32\x6e\x82\xac\x46\xd2\x47\xa7\x78\x47\x57\x96\x78\xef\x9a\xdb\xdc\xb9\x05\x4f\x47\xba\xf4\x2f\x2b\x41\x3c\xb2\xd1\x95\x1c\x57\x4f\x1e\x77\xe2\x6c\xba\x32\xe0\xf5\x28\x97\xb4\x28\x7d\xed\xac\x4c\x5a\xb5\x08\x7a\x30\xe3\x44\x86\x19\x79\xc0\xd3\x28\xec\x37\x4e\xe1\x11\xf0\xd2\x18\x86\x68\x42\x62\x95\xb3\x78\xb5\xc9\xd8\x6d\xdb\x4e\xc9\xd1\xc6\x44\x33\xa9\x7d\x69\x09\xeb\xaa\xf9\x5b\x59\x5a\xdf\x15\x0a\xef\x0a\x4b\xb3\xd7\x32\xcf\xd9\x6e\x1c\x13\x4e\x6b\xae\x7e\x7f\x02\x0c\x51\x2d\x88\x2e\x6b\x83\x1f\x81\x99\xbc\xe7\x65\x48\x29\x7f\xb8\x24\x4a\x2d\xaf\xd9\xfd\x24\x94\xfe\x16\x23\x91\x9b\x90\x4f\x15\xb6\x24\xf1\xdc\x56\x04\xaf\x1c\x8d\x8b\x84\xf0\xc9\xba\x42\xf8\x50\x4b\x9e\x79\x28\xba\x11\xc4\xcd\x0b\x79\xe9\x87\x16\x62\xf8\xd0\x96\xda\xd3\xca\x43\x9b\x28\x40\x54\x79\x29\xf0\x02\x46\xea\xa1\x8c\x68\x0a\x63\x7c\x9a\x00\xab\xcd\x29\xb6\x22\x98\x94\x20\x6d\xbd\x1d\x60\x90\xec\xef\x2b\xe1\x2d\x8c\xf1\xe0\xc1\xa1\x31\xbc\x8e\x71\xe2\x07\x85\xe9\x55\xfc\x44\xc1\x2d\x3a\xeb\xa5\xe2\x58\x48\xf8\x33\x85\x08\x5f\xe1\x8a\x0f\x12\x74\xd3\xa1\xbd\xef\x49\x72\x8d\x28\x7f\x59\xf4\xf0\x06\xfd\x91\x21\xc6\xf7\xa4\x48\x23\x9f\xf8\xd5\x41\x04\x5a\x0b\xb0\x6d\xb9\x85\x68\x1b\xd6\x40\xfa\xdc\x2d\xd4\x5a\xed\xcd\x85\x01\x68\x5d\x17\xf0\x3d\xeb\x17\xa1\xa7\x5c\xa1\x34\x91\xfa\x89\x84\x6b\x84\xfb\x30\xc6\x67\xca\x28\x2c\x17\x4a\xc8\x79\x09\xc3\xe2\xe0\x7b\x4b\x7c\xef\x86\xd0\xf7\x32\x52\xcc\xb3\x2f\xe4\xfd\x91\x21\x3a\xfb\x05\x52\x38\x65\xa7\x72\x15\x3c\x4e\x33\xe4\xcd\xe7\xc1\x69\x33\x28\x92\xc8\x88\x3f\x21\x13\x29\x81\x79\x5a\x16\x36\x73\x0a\xda\xa2\xd0\x5c\xe9\xc2\xd0\xe2\xd6\x7a\x48\xab\x3d\x6c\x57\xea\x8f\xaa\xe0\x4b\xfb\x63\x0b\x42\x79\xed\x1e\xa5\x27\x16\x11\x8c\xaa\xfd\xca\xad\x77\x17\xfd\x3d\xe8\x8b\xfe\x2a\xbd\xa9\xf3\x1e\x5c\x90\x9e\xba\x8d\x74\x09\x96\x45\xb9\x39\x9a\x07\xc0\x7a\x58\xd1\x3b\x26\x8b\xf4\x8e\x19\x98\xb4\xd4\x3b\xe4\xa6\xba\xd3\x6b\xa4\x4d\x8a\xc6\xb2\x40\x77\xc0\x0a\x55\x22\xdb\x25\x55\x22\xfc\xaa\x4a\xfc\x39\x54\x89\x74\xb9\x2a\xf1\x97\xbf\xfd\x70\xf3\x0f\x7a\xf4\xfc\x0b\x57\x25\xca\x37\x85\x85\xf4\xe8\x19\x99\x58\x49\x4d\xd8\x92\x01\x17\x48\xf9\xf6\xfd\x66\x7d\x17\xa4\xb0\x3e\x64\x0c\x51\xc5\x6f\x96\xdc\x97\x2e\x46\x98\x52\xeb\xea\xc8\xa1\x0a\xd5\x2b\x2e\x77\x3b\x21\x17\xb3\x35\xaf\x3b\xe2\x75\xa7\x78\x7d\xec\x9a\x41\xfd\xca\x73\x31\x0a\xa6\xaf\x32\x29\xc8\x65\x7d\x66\xf1\x45\xe7\x90\x4c\xa7\x30\x89\xd8\x41\x79\xee\x8d\x76\xfa\x37\x08\x46\x9d\x29\xa1\xa8\x23\xb6\x6c\x46\x3b\x91\x7d\x63\xb9\x34\xca\x6a\xe0\x45\x55\xcb\xd8\x4c\xa5\x6c\xd0\x25\x5d\x04\x52\xd7\x03\x17\x10\xc8\xc9\x62\x35\x70\xa9\xfe\x67\x85\x7d\x79\x4b\xb5\x36\xb7\xd2\xc6\x1b\xd5\xb5\x45\x68\xdc\x9a\xaa\xe6\x35\x61\xb2\xa2\x69\xad\x74\xa1\xba\xa2\x6a\x71\x7d\x5d\x44\xb0\xf6\xae\xdc\x33\x8e\xbb\xd3\x2b\x6a\x61\x96\xa0\xb0\x48\x09\x8b\x06\x7e\xbc\xea\xbd\x68\xe7\xad\xe8\xac\xaa\x94\x41\xad\x4a\x65\x15\xa5\x8c\xe9\xe7\xc9\xc0\xf3\x80\xcf\x07\x7a\x81\x03\xa1\x00\x49\x4d\x2a\xb8\x1b\x3f\x71\x0b\x55\x0b\xac\xa7\xe1\x28\x07\x85\xd4\xb4\x40\x0b\xb5\x86\x49\x5d\x04\x0e\x42\x3f\x76\xeb\x22\x64\x4b\xa2\x3c\xab\x76\x91\xeb\x22\xdb\xea\xa1\x02\xdf\x08\xd1\xb4\xb5\x10\xed\x68\x1e\x80\xd8\x16\xa2\x63\x5b\x88\x8e\x16\x09\xd1\x29\x88\xda\x08\xd1\x24\x73\x67\xe9\xf9\x2a\x3f\x7f\x95\x9f\xbf\xca\xcf\x1b\xca\xcf\x0f\x93\x1f\x27\xe3\xc9\x87\x77\x0b\x83\x2e\xfa\xe5\x98\x08\x21\x55\x17\xc7\xb5\x92\xab\x05\x9f\xd5\xc1\xa6\xf2\xd1\x89\xfd\x89\x92\xb5\xe5\x51\x1c\xc6\x38\x7c\x5f\x12\xb5\x75\x9a\x13\xa7\xac\xbd\x6a\x7e\x1a\x99\x9b\x4a\x67\x92\xa9\x99\x8a\x55\x22\x0d\xf7\x89\xdf\x14\xf8\x61\xc5\xd9\x5a\x33\xac\x65\x2a\xca\xf8\x64\x95\x14\x45\x4b\xe7\x91\x25\x62\x31\x9c\xb3\xb0\xf3\x7d\x2c\x0f\xda\x28\x27\x98\x29\x05\x70\x48\x41\xa6\x9c\x34\xc0\xa4\x86\x69\x29\xb4\xe4\x8c\x79\x4b\xf2\xca\x36\xa4\x94\x42\x68\x50\x49\x53\x1c\x02\x02\x4e\xae\x61\x8c\x23\x19\x49\xb1\xe0\xf8\x97\x8b\x7a\x8f\x0f\x7e\x41\x12\x9b\x9c\xfc\xa2\xfd\x9d\x1e\xfd\x09\xbc\xc6\x63\xa9\x97\x75\x13\x48\x1d\xc5\xa2\x55\x6e\x07\xd8\xef\xcf\xba\x14\x49\x5d\x67\x59\xf3\x9d\xcc\x44\x97\x10\x8e\x47\x3a\x11\x1a\xfb\x02\x12\xd2\x7d\xda\x14\x19\x37\xbf\x0f\x31\x9f\xfd\xe3\xa8\xc5\xe5\xce\x12\xa2\x3a\xa5\x5f\xdd\xee\x90\x70\x4e\xa6\xd5\xa7\x31\x1a\x71\xa3\x98\x43\x8a\x61\x37\x96\x75\xdc\xbd\x94\xc4\x98\x57\xb3\x6a\xb8\xae\x46\x55\xae\x49\xc9\xab\x1c\x31\x64\x93\x9f\xd4\xed\x47\xb1\x3c\x7f\x64\x28\x43\xf6\xd5\x12\xc5\xd3\xbd\x62\x97\x46\x6f\xf1\x14\x79\xce\xcb\xa5\xb6\xc1\x47\x02\x2e\xd2\xc8\x38\xc3\x17\xfb\x0b\xee\x4b\x99\xf6\xd5\xfb\x51\xd2\x60\xdf\x15\x7b\x44\x10\x48\x99\xdc\xec\x5f\xad\xce\x05\x07\xb5\x2e\x3a\x1e\xb2\x81\x4f\x54\x88\x98\xe2\x73\x81\xef\xa5\x11\x7b\x5e\x42\x61\x00\x56\xd6\x78\x97\x66\x02\xab\x2c\x52\x91\x0f\x0c\x7e\xb1\xf9\xc0\xe6\x20\x1c\xd8\x4c\x38\xad\xcd\x22\x1a\x5c\x90\x4b\x30\xda\xec\x06\xc6\xb4\x7a\x03\x63\xd4\xa0\x05\x4c\x85\x16\x30\xd2\x5a\xc0\xb4\xac\x05\xd8\x3f\xc1\xb4\xaa\x05\x4c\x1b\xb5\x80\xe9\xc7\x8f\xd3\xaa\x16\x30\x2d\x6b\x01\xd3\x41\xb4\xfa\x0d\x8c\x10\xa4\xf9\x0d\x8c\x69\x00\x86\x96\x16\x30\xad\xc8\xe8\x53\xad\x05\x94\x9e\x9f\x4d\xeb\x6b\x33\xcc\xb5\x80\xe9\x62\x2d\xa0\xda\x83\x9b\xbc\xc4\x10\xa7\x62\x7a\xfa\x72\xff\x60\x2a\xce\x53\x41\xd1\x56\x96\x10\xeb\x7c\xcd\x16\x9d\xaf\x0c\x64\x2b\x9e\x2b\xf6\xaf\x4f\xa1\x6e\x2f\x3a\x63\xb6\x76\xbe\xc4\x2d\xb2\x7f\xfd\xf4\xe2\xf5\xeb\xdf\xff\x09\xdd\xe7\x4b\x9e\xd2\x4b\x19\x55\x29\x91\x29\x97\x60\x8c\x28\x8f\x30\x8c\xc9\xb8\xd0\x80\x2a\x9c\xb2\x81\x63\x2f\xbc\x1a\x58\x8f\x60\xbf\x16\x87\x92\xc2\x1e\x49\xbe\x8f\x09\xcb\x2d\xad\xc7\xe0\xc2\x13\x6c\xc0\x5c\xe7\x3f\x59\x92\xb0\xc7\xc0\x3f\x04\x0f\xc1\x85\xf7\x42\xa7\x6d\x6d\x19\xd7\x6e\x27\x57\x12\x1d\x5b\x49\x0b\x96\x65\xe3\xc9\x95\xc8\x63\x99\x6f\x20\xe1\x32\x63\x44\x3d\xd1\x67\x31\xb6\xef\x64\xa1\xfc\xd6\x23\xab\x8e\xad\xe8\xa3\x16\xc1\xb3\x24\x57\xd0\x49\xbf\x96\x24\x49\x00\x54\x02\xb2\x4c\xb0\xa4\x71\x7d\x2c\xed\xc0\x4f\xb5\xd7\xa6\x00\xd0\x38\xa5\xe7\xba\xbc\xfd\x8a\x93\x2a\x9b\xf4\x1d\x2a\xf5\x43\x5b\xa5\xd6\x43\x7f\x64\x89\x22\xd6\x20\x0d\x91\x94\x84\x90\xcb\x2a\x91\x89\xfd\x0a\xe5\xee\xbc\xf0\x94\x1d\x9b\xd3\x0c\x2d\xf3\x26\xd5\x17\xa1\x84\xb3\xca\x3a\x34\x79\x83\xda\x64\x73\x52\xda\xf9\x25\xb8\x78\x58\xff\xec\x08\x1c\xcb\x5d\x70\x59\xbd\x26\xae\x76\x21\xf0\x6c\x66\x94\x3f\x93\x7b\x0a\x78\xbf\x94\x32\xe9\x41\x36\xb1\xf2\x57\xa4\x11\x3b\x48\x49\x9a\xa5\x79\x46\xd4\x24\xf2\xf2\xc5\x30\x9a\xf4\x3a\xe2\x51\x9d\xe9\x2e\x92\x95\xe0\xa2\xeb\xaf\x66\xa9\xc5\xc9\xec\x19\xce\xea\x0d\x06\x82\x47\x90\x91\x75\x21\x54\xce\xae\x67\x3e\xd7\x11\xfe\x8e\x37\x2a\xcf\x10\x2b\xdd\xfb\xcc\x06\x05\x49\x81\x70\x60\x69\x8f\xe9\xd2\x24\x43\x36\x9c\x02\x4a\x00\xa2\x52\x0f\xa3\xaa\xf4\x91\x36\x48\x1f\x42\xf0\x18\xa4\x5a\xfa\x18\x95\xa5\x0f\xfb\x27\x18\x55\xa5\x8f\x51\xa3\xf4\x31\xfa\xf8\x71\x54\x95\x3e\x46\x65\xe9\x63\x34\x08\x57\x97\x3e\x18\xc8\x72\xe9\x63\x14\x80\xc8\x92\x3e\x46\x15\xd9\x60\xa4\xa5\x8f\xd2\xf3\xb3\x51\x5d\xfa\x88\x72\xe9\x63\xb4\x58\xfa\xa8\xf6\xe0\x3e\x5b\xc5\x10\x47\x62\x7a\xda\x06\xa9\x24\x0f\x3b\xec\xbc\x38\x62\xe1\x22\xc9\x23\x06\x70\xa9\xe4\x41\x70\x14\x76\xa5\x3d\x4d\xed\xa1\xcd\xb5\xda\x4a\x04\x7e\x0b\x1d\x77\x85\xd4\x90\x20\x56\x72\x09\x04\x12\x1f\x85\xd5\x3f\xdd\x25\xab\x7f\xf4\xd5\xea\xff\xe7\xb0\xfa\x8f\x96\x0b\xbd\xd7\x7f\x9b\x9e\x7f\x1b\xbf\x4b\x1a\xac\xfe\x8b\x6d\x1c\x7d\x6d\xf1\xfe\x09\xf1\x09\x89\xe4\x45\xb7\xba\x75\xa3\x94\x25\xa6\x62\xfc\xee\x3f\x92\x59\xe6\xe4\xd5\xaf\xc2\x15\x50\xe0\xec\xf5\xcb\x67\xdf\x3f\x8f\xc9\x4d\x25\x4b\x64\x2e\xf5\x1c\x3b\xa4\x9e\x93\x52\xd4\x78\x0d\x92\x96\x7f\x8e\x16\xca\x3f\x2a\x7f\xbf\x8e\x33\x68\x17\x40\x73\x58\x89\x57\xe8\xc2\x18\x8f\x13\x97\xdd\xa8\xdf\x7e\xa2\x25\x41\xd2\x9d\xe4\xde\x59\xdf\x20\x26\x50\x46\xce\xca\xa4\xc2\x4d\x97\x5b\xcb\x69\xeb\xcb\x92\xdb\x51\x91\xac\xf3\x67\xe9\x8a\xa8\x0b\x68\xed\x6e\x8c\x1e\x59\x1d\x35\x26\xc5\x77\x47\xff\xd4\xf5\xa1\x6f\xec\x98\xa7\x92\xcf\xa5\xd7\x26\xd8\xa9\x1c\x0f\xf2\xb8\xdc\xf6\x4a\xbb\xac\xea\x21\x21\x2e\x4d\xa6\x9a\xff\x56\x4a\x97\x53\x12\xa1\xd8\x03\xd6\x96\x58\x6a\x62\x13\x02\x65\x59\x7a\x2c\x32\x8d\x4a\x01\xd3\xed\x96\x01\x5e\xbb\x78\x92\x86\xe3\x75\x91\x68\x39\x1c\xf8\x50\x5d\x3a\x5d\x64\x86\xab\x46\xff\xd3\xb5\x02\x4f\x12\xcd\xae\x64\x2c\x89\xc2\xde\x9d\xc7\x92\x80\xd4\x75\x0f\xd8\x3c\xac\x98\xd1\xf4\x2d\x84\xf9\x7f\xd5\x77\xaa\x38\x07\xcd\x2d\x5e\xb1\xff\x40\x22\xe3\xfc\x71\xef\x6f\x88\x8b\x6f\x9e\x66\x7c\xf2\xee\xcd\x2b\x1d\xe3\x0f\x68\xf1\xf6\x69\x4e\x1e\xe6\x25\xd1\x2f\xdf\xa0\x51\xaf\x78\xbb\x47\x84\x60\x25\x16\xd7\xe7\x01\xa0\xe2\x47\xf1\xd2\x27\x01\x48\x6a\x8f\xe4\x0a\xc6\xea\x52\xc3\xd5\x18\x25\x88\x42\x8e\x7e\x26\x89\x38\x32\xf7\xe4\xe7\xea\x47\xac\xdd\x5d\x57\x8c\x13\x8a\xcc\x70\x9f\x41\x0e\xfd\x18\x70\xa3\x63\xfc\xeb\x3f\x6e\x6f\x70\x12\x91\x9b\x5e\x4c\x94\x66\xd2\x23\x14\x8f\x71\x32\x3f\x10\x34\xa5\xa8\x4b\x1c\x88\x43\x18\xbe\xff\x97\x82\xff\x06\x45\x98\xa2\x90\xbf\xa3\xd8\x87\x81\x4c\x85\xa7\xae\xe5\xca\xf4\xa5\xb5\x1b\x0c\xe3\x12\xb2\xfc\xc4\x7d\x7b\x41\xb5\xad\x8e\x85\x22\x19\x8a\xe6\xcb\x2b\xce\xef\x68\xec\x07\x81\x4e\xa7\xc7\xf4\x15\xdc\xd2\x6a\xf6\x90\x4a\xdc\x67\xb9\x4d\x65\xbe\x0b\x88\xe5\xe1\x73\xab\xad\x05\xa7\xac\xa7\xf5\x3d\xc0\x38\x0e\xdf\xcf\x24\xf1\xcc\xe7\x55\x74\xea\x69\x89\x85\x7b\x87\x13\x7e\x7c\xf4\x54\x6c\x69\xbf\x7f\x68\xb2\xc0\x9a\xf1\x86\x74\x96\x72\x22\xc6\xf8\x06\x26\x11\x99\xfe\x2a\x48\x97\xf9\x48\x9c\xda\x2a\x1d\xae\x17\x68\xb1\xe6\x10\x1c\x1d\x06\x73\xc7\xa2\x48\x25\xc2\x9a\x7f\x7c\xce\x09\x85\x63\x24\x30\xfe\x92\xa3\x69\x21\x5c\x8b\x66\x72\x84\x1e\x40\x01\x68\xdd\xa4\xa0\x22\x0f\x70\x75\xdf\x22\x72\x5d\x55\xd8\x9a\x13\xb2\x0a\xbe\xb2\xf1\x2e\xe0\xc6\x97\x21\xaa\x57\x21\xea\x47\xed\x45\x2c\xb3\x28\xaf\x78\x5f\xc0\x01\x69\xd1\xe5\x81\xe1\x22\x15\x69\x04\x86\xcb\x55\xa4\x54\x90\x1d\x26\x49\x37\x26\xe3\xcd\xf5\x23\x98\x30\xac\xca\x1e\xb1\x76\xda\xd2\xd2\xf4\x39\x2d\x6e\x35\xb7\x32\xf9\xaa\x5b\xce\x42\xb3\x52\xe7\xc6\xbd\xb8\xe5\xfc\xc9\xf3\xe8\xcc\xbe\x2a\x77\x7f\x0e\xe5\x6e\xd2\x22\xa4\xeb\x19\x7c\x17\xa3\x9f\x48\xe3\x95\x88\xc3\xd2\xf5\x87\x3c\x17\xf0\x04\x26\x63\xf4\x23\x19\x1a\x65\xa9\xef\x0c\xca\x5a\x9e\x8b\xa7\xc9\x7d\xbd\x61\x36\x9e\x4a\x58\xd6\x2a\x7e\x8b\x72\xfa\x9c\x9f\x49\x87\x64\x3c\xcd\x78\x07\x5e\x43\x1c\x0b\x5a\x74\xe4\xdd\x69\x48\xe6\x83\x59\x27\x24\x59\x1c\x75\x86\xa8\x33\x44\x21\xcc\x18\x92\x39\x77\x72\x7e\xdd\x89\x70\xd4\x49\x08\xef\xa8\x04\x39\x1d\x98\xcc\x74\x77\xa0\x43\x68\xde\x06\xf3\x0e\x66\x2a\x25\x50\x32\x16\x9f\x2d\x18\x4a\x73\x84\x57\x71\x1f\xf8\x77\x32\x7c\x69\x2b\x1e\x11\x8e\xba\x59\x1a\x41\x59\x9e\x6b\x4b\x09\x7b\x5c\x67\x52\x83\x52\x01\xc6\x83\x5b\x55\xe9\xeb\x14\xf7\x86\x24\x8e\x80\x4a\x71\x8c\xc5\xde\xd6\xc9\xaf\xbb\xe2\xb9\xa7\x1e\xa9\x6f\x6e\x20\x15\x2a\xf0\x29\xee\xcd\x50\x1c\x93\x1b\x71\x0c\xc9\x27\xf9\xa7\xea\xb9\xfa\x1a\x27\x23\x72\x8a\x7b\xe1\x0c\x26\x40\x97\xbd\x38\xc5\xbd\x31\x45\x28\x01\x9e\x7e\x90\x37\x94\x8f\x55\x3b\xcf\x33\x63\xd2\x64\x73\x8a\x06\x7f\x45\x73\x29\xfe\x5e\x0f\xfc\xb0\xa2\xe4\x90\x95\xae\x38\x3b\x6f\x2c\xe7\x29\x52\xaa\xb7\x95\x8b\xc5\xd0\x57\x96\xc1\xd4\xc4\xbb\xc9\xcc\x35\x1e\x30\xfc\xc7\x3c\x57\xb6\x4a\xfe\xa3\x5c\xee\xda\xdb\x25\xd9\x89\xe4\x13\x99\xc3\xc7\x64\xd1\x79\x2d\x29\xd3\x47\x52\x1e\x99\xb6\x4e\x10\xb4\xe5\xfc\x40\xf1\xa6\xf9\x81\x72\xde\x65\xd2\xf0\xa8\x64\xdb\x02\x49\x0f\x06\x4a\x31\xb2\x11\x57\x5c\xf0\x46\x30\x79\x97\x1a\x30\xe5\x81\xc9\xb7\xd4\x5f\xd4\x6f\x30\x77\x23\xd3\x4e\xf4\xf4\xc3\x35\x4a\xf8\xf7\x32\xdf\xe6\x1e\x1e\xf9\x7c\x30\xa0\x42\x1d\xfc\x91\x0c\x15\x94\x37\x88\xa5\x24\x61\xa8\x97\x7f\xd8\x7b\xfb\xc3\x9b\x9f\x5e\xfe\xfc\xf4\x55\x09\x8e\xe9\xc4\x0f\xf6\xf8\x19\xcf\x21\x2f\xcb\x33\xa5\x92\x40\x81\x44\xfd\x3a\xe7\x48\x27\x9c\xe2\xfb\xfb\x12\xc8\x4f\x6c\xec\x07\x7a\x19\xe5\x64\x64\x03\x1e\x80\x64\x7f\x5f\x5e\x04\xd7\x93\x0a\x72\xd5\xa7\xc7\x89\x3a\xcc\xa4\x72\x99\x7f\x71\x05\xd9\xbb\xc7\x7e\xd0\x8b\x51\x32\xe6\x93\xbf\x1e\xee\xef\xfb\xa8\xa7\x18\xdf\xc0\x17\xfa\xd2\x5b\xf4\x81\x3f\x43\x21\x89\x10\x0d\x7a\x91\xfc\xc3\xaf\xb7\x0f\xaa\xab\x20\x07\xe5\xfa\x70\x3e\x0f\xf4\x4d\xf2\x1a\xf9\xa9\x0c\x69\x79\xce\xb5\x32\x83\x2d\x92\xae\xe5\xfc\xcc\x0b\xe6\x2d\x97\xe6\xfc\xed\xd3\xb7\x3f\xec\xef\xa3\x33\x85\x4d\x19\x43\x7a\x66\x61\xe4\x4c\x10\xdd\x99\x52\x3a\xf3\xe5\x6b\xf3\xf1\x99\xd1\x3f\x3f\x7e\xf4\xbc\x86\xf4\x5e\xe3\x0b\x9b\x71\x5e\xfa\x5c\x20\xa1\x58\xb4\x32\xdd\xc9\x85\x05\xc9\xc0\x1f\x5f\x20\xab\xcf\x1e\xe3\xb3\x18\x5d\x7e\xfc\x38\x2e\x12\x54\xf3\xa6\x7c\x62\xc9\x8a\x19\xae\x16\xa5\xe9\xaa\x6d\xc2\x41\x65\xa3\xee\x15\xaa\x75\x75\x19\x54\xc2\x04\xa9\xc4\xca\xa6\x7e\xa5\x69\xbe\x47\xc5\xe7\xae\x54\x60\x39\x2c\xc1\xac\x1d\xb6\x06\xbb\x7d\x53\x22\xb0\xea\x27\x0d\x29\xc1\x2a\x3c\xe5\xd6\x6a\x66\xd8\x8e\x06\x12\xc2\x24\x44\xb1\x5f\x1e\xbc\x16\x42\xeb\xd8\xd2\xac\x7e\x7e\x83\xe3\xf8\x19\x62\x9c\x92\x99\x09\x99\xee\x95\x9e\x01\x17\x6b\x9b\xcf\x41\x3a\x98\xf9\x61\x5d\xb7\x87\x5b\x4b\x43\x50\x01\x5f\xe4\x05\x63\xdb\xca\x0b\x36\xaa\xf6\x61\x25\x38\xdb\x5a\x27\x95\x2e\x0a\xb1\x18\x5c\x64\xad\x83\xa5\x1b\x40\x04\x20\xb4\x4d\x06\xa1\x6d\x32\xb8\x5e\x64\x32\x98\x80\xeb\x15\x4c\x06\x8a\x34\xbb\x4d\x75\xf0\xef\x51\xd1\x83\xdf\x1e\xbd\xfc\x83\x47\xe1\x37\x2d\xa2\x83\x17\xa0\xa7\xe1\x8a\xb7\x55\xb6\x4e\x96\x49\x44\x1f\x78\x77\x4c\x49\x96\x36\xdc\x3a\x6d\x51\xff\xd1\xe1\x4a\xb3\xd7\x21\x31\x5e\x17\x1d\x22\xec\xf0\xe3\x54\xcb\xea\x39\xf3\x14\x3d\x06\x0f\x17\x95\x40\x1e\x3a\xae\x1c\x1f\xb7\x1a\x92\xfb\xea\xf1\x92\xbb\xd2\xf6\x4d\x22\x70\x61\x18\xa7\x52\xed\x4e\x4e\x0a\xac\x58\xce\x2d\xa5\x94\x58\xd5\x71\x8a\xaf\xbe\xb1\xfe\x7e\x6c\xfd\xfd\xad\x35\x01\xc3\x9b\x3d\xa3\xdc\x98\x55\xb9\x04\x5e\x96\xbc\x4f\xc8\x4d\x3d\x35\x53\x7b\x58\xfd\x1c\x16\x35\x3e\xbb\xb5\x61\x1d\xe5\xb0\x8a\xca\x7d\xeb\xc2\x3a\xce\x61\x99\xf4\xae\x25\x97\x6c\x09\x81\x55\x20\xf5\x72\x44\xd5\xf5\x02\x9e\x96\xe9\xed\x12\x81\xee\x8a\xdd\x92\x30\x1f\x0a\x05\xff\xe8\x5b\x70\x51\x8e\x13\xe3\x26\xf1\xa9\xfb\x69\xb7\xeb\xe5\xae\xc8\x7c\x62\x95\x48\xb3\x3c\x0b\xd7\xf1\x25\xf0\xac\x96\x53\xc8\xc3\x49\x97\xcf\x52\x32\xa6\x30\x9d\x08\xee\xd4\xd4\xf2\xe4\x12\x78\xa5\x5a\x8c\x95\xf0\x34\x7d\x25\x80\xc3\xa1\xb6\xbc\x7a\x87\xcd\x4e\xdd\x93\x45\x1e\xdb\x36\xec\x60\x19\x49\x97\x91\x51\x25\x60\x6f\x82\xe2\xb4\x15\xd9\x94\xe1\x54\x89\xd7\x0b\xd5\xa5\xb3\x95\x01\x55\x29\xd7\x93\x35\x1c\xd7\x00\x54\x22\x5b\x1d\x66\xdb\xe5\x14\xc3\x64\x6c\x55\xbe\x5c\xc0\x1c\x9d\x75\x3c\x4b\x7e\x6e\x9b\xab\xe7\xa4\x73\x75\x55\xcd\xd4\x61\xaf\xf0\x4a\x48\xac\x12\x42\x2d\x1f\xc1\x61\xc3\x16\xa6\x5c\x5d\x02\xf1\x18\x0a\x49\x12\xb1\x32\xcf\x6d\xb0\x88\xad\xd2\x87\x60\xea\x31\xe2\xa8\x6d\x37\x8e\x20\x01\x27\x57\xb7\x57\x57\xa3\xa7\xc2\x44\x4e\x9c\x11\xb2\xe5\x6d\xd2\xb7\xa3\x9e\x53\x92\xa6\xa8\x28\x49\xe6\x3c\x21\xa6\x24\xc2\x23\x8c\x68\xd3\x7b\x9d\x2a\xe0\xf5\x35\xa2\x23\x19\x01\xe2\xfc\x0a\xb1\x10\xa6\x48\x68\x02\x6f\xd0\x08\x51\x24\x5d\x68\xde\x90\x64\x49\x04\x29\x46\xec\x87\x18\x4d\x55\x89\xbb\x0b\x65\x59\xf3\x4c\xd5\x2a\x55\x29\xed\xd2\xf0\xc0\x25\xd1\xb1\xd5\x28\x8b\x86\x00\xea\x9c\xff\xb4\x08\x83\x75\x1e\xbe\x96\x04\xf0\xa8\x51\x02\x78\x0c\xbe\x71\x6c\x9b\x23\x53\x81\xae\xb9\xde\x52\xa1\x30\x03\xef\x1a\x4a\x57\xd2\x13\xc9\x74\xdf\x16\x3c\x57\xd6\xa6\x7e\x26\x4f\x0a\x59\xc5\x75\x5f\x4b\x5b\x5c\x15\xa8\xdd\x97\xd1\x1e\xf9\x2f\x59\x23\xaa\xb9\x88\xb5\x10\xbb\x46\x84\x76\x6d\x81\x44\xba\x85\xed\x68\xde\xae\x66\xab\xd2\xca\x19\x23\xf1\xcd\x44\x05\xf7\xca\x13\x4d\x05\xeb\xa2\x3f\xf2\x92\x0f\x32\xab\x76\x37\xc2\x8c\x0b\x05\xac\xcb\x49\x37\x91\x21\x38\x2a\x1e\x90\x13\x12\x73\x9c\xae\x68\x10\xad\x8a\x94\x9f\xa9\x78\x54\xf3\x80\x0e\x86\x19\x16\x68\xbb\xaf\x8a\xc0\xc3\xe9\x63\x78\xf0\x97\x0f\xbf\x2f\xb9\xc6\x91\xb3\x18\x9b\x94\x6d\x82\x2d\x8a\xb4\x17\x81\xef\x36\x05\x2f\x8e\x2e\xb2\xc3\xe5\x64\xaa\x4f\x89\xf5\xab\x9c\x07\xf7\x84\xde\xa7\x25\x9c\xaa\xa0\x6d\x2e\x73\x78\x3d\x79\xba\x58\x5f\xd5\x24\xbd\x5a\x10\xdb\x92\x70\x2c\x7b\xba\x56\x26\x9b\x05\xfa\xa2\xce\x70\x93\x84\xb0\x65\xc8\xd1\x12\xc2\xfb\xf2\xf6\x43\x84\xd2\x98\xcc\x24\x73\xbf\xb7\x9b\xe2\xf5\x77\x28\xfc\xf6\x59\xbf\xa1\xa2\xc6\x3a\x9b\x42\xd2\x4e\x7d\x57\xe8\x20\x3e\xf3\xc3\x70\xf5\x95\xb6\x4a\x0a\xc7\x62\xa6\x66\x55\xa4\xc9\x9d\x67\xec\x2a\xa5\x68\x84\x3f\xf4\x36\xd8\x0e\xa0\x3e\x8c\xc7\xe0\xa8\x9e\x9c\xaa\xf9\xe3\xe3\x86\x8f\x17\x6d\xb4\xa5\x67\x5d\xdb\xfd\x67\x8e\xbc\x0d\xf7\x61\x81\xda\x2f\x6f\x33\x52\x53\xf8\xee\xbe\xee\xc4\xef\xf0\xeb\xc3\xf8\xd7\xdf\xfe\xfb\x33\x1d\x4f\x0f\x8f\x6a\x15\x10\x97\x99\x36\x54\x95\x38\x15\xc6\xa3\x2b\xc6\x45\x9e\x51\x0a\x48\xb2\xe5\xe3\x46\x55\x19\xfc\x63\x53\x1a\xd7\x74\xf4\x99\x08\x5c\x70\xb0\xae\xf2\x7a\xdf\x5f\x4a\x3e\x0c\xff\xfb\xef\x6f\x6f\x8e\xfb\xcd\x65\x66\x35\x06\xca\x36\x20\x0b\x37\x1d\xcf\x84\x97\x5c\x36\x9a\x54\x8e\x16\x97\xda\x16\x5b\x44\xeb\x08\x85\x31\x45\x35\xf3\x62\x48\x95\xea\xb9\x34\xfc\xdd\xcd\xdc\x5d\xb9\x81\xbc\x27\x32\x26\xe0\x67\x6d\xbf\x11\x5d\xeb\xbf\xf7\x0b\xbd\xaf\x94\x5d\x67\x12\xb1\x03\x65\x35\xc6\xf2\xca\x70\x7b\x16\x6e\x61\xea\x33\xd2\xf1\xfd\x25\xe0\x5f\xff\x78\x3e\x7a\xfe\xfa\xd1\xdb\x66\x02\x9e\x42\x6c\x12\x51\xf6\x81\xa4\x5c\xb7\x87\xe0\x31\xe8\xb7\x20\x1d\x07\x85\xac\x46\x0c\x9f\x8d\x0a\x12\x14\xdf\x7b\x76\xf6\xf3\x87\x34\x8e\xc8\xf5\x3f\x1a\x6e\x42\x9d\x94\x7c\x36\x86\xf7\x70\xcc\xe5\xa6\x56\xb9\xbb\xca\x72\x6c\xe9\x06\x79\xe5\x72\x52\xff\x12\x78\x96\xde\x91\x9f\xb5\x15\xd1\xb7\xa7\xe0\x57\xed\xa7\x4d\x10\x95\x66\x5f\x06\xa6\x94\xae\xd5\xe0\x18\x21\xac\x0c\xc9\x1c\xa9\x65\x58\xea\x5d\x96\xe4\x51\x15\x0d\x7d\xb5\xc1\x48\x65\xfc\x13\x38\x9d\x3a\xca\x89\xb4\x1e\xf5\x38\x26\xc3\xaa\xb1\x38\x77\x54\x34\x1f\x4f\x05\xb1\x5b\x6e\x82\x23\xc1\xce\x75\x82\x36\x65\x8d\x32\xad\x17\x9d\x5d\x56\x23\xd7\x21\xf6\x68\xd9\x21\x66\x77\xba\xe2\x69\xa6\x1d\x9e\x72\x62\x4b\xe6\xd0\xed\xea\x25\x73\x3b\x33\x25\xaa\xfa\x0e\x47\xe1\x37\xd6\x30\x0d\x84\xba\x09\xb9\x48\xfb\x50\xb5\xfa\x96\x9d\x90\xf5\x7a\xf1\xd7\x88\x32\x4c\x4a\x77\xe8\xae\xad\xe4\x02\x97\x0e\x1e\x5b\xb3\x8c\x3a\x83\x28\x25\xc7\x3e\x59\x92\x93\xd8\x71\xb3\x4f\xf9\xfc\x59\x83\xd3\xd7\xe5\x6b\xad\x9d\x03\x8e\xca\xf6\x26\x3f\x1f\xa4\x1c\x0b\x6e\x69\x99\x54\x19\xfa\x23\xd3\x96\xe8\x7d\xc3\x6a\xf6\x8b\x51\x98\x53\x64\xa1\xa9\xd3\x29\x84\xac\xa6\x4b\xda\x7b\xe2\x73\x9d\x41\x11\x3b\x80\x69\x7a\x30\x84\x49\x52\x3b\x85\xc4\xcc\x71\x48\x68\x2a\x3e\xeb\x56\x8e\x99\x5a\xdb\x9d\x4c\xfd\x96\xcf\x81\x44\xb3\x35\x67\x2f\x93\xa9\xec\xf2\xdc\x23\x0a\x6f\xd6\x5d\x7b\xdd\x76\xa7\xe7\x3f\x52\xb9\x63\xd6\x9a\xbf\x6e\xbb\xd3\xf3\x77\x4a\xa0\x2d\xe7\x9f\x9f\xf5\x3b\x3c\x7f\xd7\xd5\xaf\x76\xd3\xdf\xed\x79\x4f\x49\x04\xe3\x2e\xa4\x08\xae\xb7\xf6\x56\xfb\x9d\xc6\x03\xc3\x11\x1a\xc2\x35\x37\x80\x69\xbc\xbb\x18\xb8\x86\x7c\xad\xc9\xab\x76\x3b\x3b\x6f\x25\xb5\xac\x79\xf0\xdb\x8d\xbf\x54\x0c\xec\xb5\xc4\xc0\xba\xc7\x5f\xb9\xf9\x97\x8a\x85\xb6\x74\xb0\xee\x21\x58\x6e\xbe\xeb\x58\x58\xf3\x28\xdc\x75\x0d\x60\x48\x11\x8c\x42\x9a\x4d\x87\xec\x40\xfe\xb3\x06\x0a\x6a\x20\xee\x05\x36\x22\x7c\x8d\xd7\xdb\x17\x0e\x20\xf7\x02\x23\xeb\x6e\x91\x02\xc4\x0e\xe3\x41\xa5\x60\x62\xa8\x1a\xd2\xd1\x06\x01\x45\xdb\x1d\x9f\xff\xba\x73\xdf\xdd\x79\xcb\x70\xe3\x21\xf9\xa0\xea\x9a\x1d\x8c\x60\x08\xa3\xaa\x03\xab\x05\x1a\xdc\x60\xee\x0b\x56\xd6\x64\x0c\x65\x28\x3b\x8c\x0d\x92\xce\x28\x1e\x4f\xd6\x60\x0d\x45\xd3\xdd\x9d\x3d\x87\xba\x2c\xdd\xca\x93\x37\x2d\x77\x76\xee\xf2\x3d\x56\x69\x0b\x30\x73\x97\x12\x6b\x81\x88\x0a\x98\xfb\x83\x8f\xf7\x68\x0d\x0d\xd3\x05\xe4\xde\x60\x44\x25\xb0\xd9\x18\x27\xa6\x30\xe6\xae\x62\x65\x5d\xd9\x7a\xe7\xe5\xe9\x88\x92\x34\x22\x37\xc9\x81\x4e\xf1\xbf\x3a\x06\x2a\x00\x76\x1f\x13\xeb\x32\x4d\xdd\xfe\x1e\x60\x40\x6c\xe9\x2e\xe6\x68\xba\x01\x39\x14\x30\x76\x1f\x1f\x9c\xe2\xf1\x78\x2d\xf6\x50\x85\xb0\xb3\xb8\xb0\xf2\x27\xad\x69\xa8\xad\x41\xb8\x17\xb8\x58\xd7\x64\xeb\x80\x71\x2f\xf0\xb1\xae\xf1\xd6\x01\xe3\x5e\xe0\x63\xcd\xc3\xa4\x94\xae\x6c\x67\xf1\x20\x13\xf8\xe4\xb5\x45\x56\xc6\x41\xa9\xf9\x8e\x63\x61\x23\xce\x59\x85\x70\x2f\x70\xb1\x36\xe7\xac\xc3\xb8\x17\xf8\x58\x97\x53\x14\x20\x76\x18\x0f\x1f\x38\xa2\x09\x8c\xd7\x34\xdc\x94\x9b\xef\x2c\x16\xc6\x31\x19\xc2\xb8\xab\x88\x7a\x5d\x7a\x28\x01\xf9\x62\x71\xb1\xd4\x23\x5e\xc6\x45\x02\xaf\x37\xc4\x84\x04\xf1\xa5\x62\x63\x45\xca\x48\x29\x89\xb2\xd0\xe4\x02\xd8\x0c\x2d\x25\x58\xbb\x8e\x9f\x75\x85\xcf\x72\xf3\x9d\xc5\xc2\x04\xc5\xa9\xbe\x81\xbb\x2a\x06\x8a\xa6\x3b\x3b\x7b\x75\xbd\x60\xd5\x89\xeb\x6b\x2d\xbb\x3a\xe7\x24\xcd\xd6\x58\x6d\xd5\x6c\x67\x67\xad\x6b\xff\x1c\xa0\x18\xa6\x0c\x55\x13\x7d\xb4\x98\x7f\x15\xc0\xce\x63\x62\x5d\xc6\x57\x69\xbf\xf3\x78\x58\x53\x66\x32\xc5\xa4\x76\x7e\xfe\x6b\xeb\xda\x55\x00\x3b\x8c\x89\x31\x99\x42\xfa\xfe\x20\x24\x09\xcb\xe2\x75\x30\x51\x06\xb0\xfb\x98\xc8\x27\xbd\x01\x32\x0a\x18\xbb\x8f\x8f\xb5\x99\x84\x6a\x7f\x0f\x30\x90\x90\x29\x5c\xeb\xd8\x2c\xb5\xdf\x7d\x3c\x70\x44\x29\x54\xb5\xe8\xd6\xc6\x45\x01\x63\xf7\xf1\x71\xad\x3a\x59\x1b\x17\xd7\xfa\xee\xff\x8e\xe2\x41\xde\xa2\x59\xd3\x46\x6b\xb5\xdd\xf1\xf9\xaf\x6b\x97\x2d\xb5\xde\x71\x1c\xac\x79\x44\xc8\xc6\xbb\x3b\xf7\xb5\xac\x6c\x3b\x6d\x57\xb3\xf2\xcf\x1c\x98\x4b\xe7\x2b\x63\xc0\x05\xe4\x5e\x60\xc4\x0e\x94\xdf\x08\x2b\xf7\x22\xe2\xde\x9e\xd0\x9a\xfc\xc1\x4e\x9a\x75\x2f\xf0\xc0\xe1\xa6\xa4\x21\x21\xdc\x0f\x5c\xa8\xec\x15\x1b\x21\x43\xe7\x95\xd9\x61\x6c\xac\x29\x3e\x15\x4d\x77\x7b\xf6\x1b\x30\x86\x1d\x9e\x39\x49\xb3\x75\xf3\x76\x58\x6d\x77\x7c\xfe\xeb\xca\xcd\xa5\xd6\x3b\x8e\x83\x75\xed\xd0\xa5\xd6\x5f\x2a\x0e\x96\xfa\xac\xd5\x2c\xd6\x65\x01\xa2\xf1\x17\x3b\xf7\xa5\xeb\x4f\x61\x84\xc9\x86\x97\xd2\x1c\x30\xee\x05\x3e\xd6\xa4\x08\x0b\xc4\xee\xe2\x81\xa1\x18\x85\x7c\x6d\x92\x28\x37\xdf\x75\x2c\xac\x49\x08\xaa\xf5\xee\xce\x9e\xc3\x61\x77\x2d\xdb\x82\x69\xb8\xbb\x33\x47\x1f\xf8\x7a\x59\x7d\xf2\x96\xbb\x3b\x77\x42\xe2\x21\xa4\xeb\xdf\xad\xaa\x02\xd8\x79\x4c\xa0\x64\x0d\xa7\x8b\xdd\x78\xe7\x31\xb0\x26\x03\xd4\xcd\x77\x7f\xfe\xaa\xf4\xd6\xda\x34\x60\x2a\x77\xed\x38\x16\x64\x05\xb0\xf5\xb1\xa0\x9a\xef\x26\x16\x28\x11\x7d\x76\x55\xd1\xd6\xee\x35\xa4\x58\x00\x67\x8d\x37\xee\x56\xc9\x3e\xad\x6a\x3a\xa9\x02\xac\x32\x2f\x88\xf7\x64\x1c\xe3\xe9\xd4\x0d\x80\xc8\xd9\x17\xbf\x19\xa2\xd7\x58\xe6\x61\xcd\x5b\xc9\x22\xb3\x8e\xb8\x18\x90\x00\x0c\x28\x20\x20\x06\x30\xb8\xbd\x86\xb4\xc3\x40\x06\x42\x90\x82\x08\x8c\xc0\x10\x4c\xf7\xcc\xd7\x9d\x59\x91\xe8\x3a\xd9\xdf\x6f\xc2\x38\x2f\x61\x3a\xe9\x15\x3f\x40\xa9\xbc\x6d\xd2\xb3\x7f\x16\xc5\x6d\x93\x9e\xf9\x13\xa8\xf5\x4d\x7a\x56\xb1\xdb\xb3\xd2\xaf\x5e\x08\xe3\xd8\xc7\xc1\xa9\xca\x9e\x3d\x0f\xe6\xf9\x60\x27\xc5\xe4\xd4\xb4\xc8\xe0\x76\xbe\xa7\x97\x59\x8f\xfd\x3d\x9a\x31\x1f\x5b\x35\xc8\x0b\xc4\x04\xb7\xe4\x02\x5d\x0e\xf0\x05\xba\x14\x74\x40\xac\x69\x0c\x1e\x3c\xb0\x7f\x02\x52\x9a\x88\x7c\x5b\x9a\x99\xef\xa9\x0b\xd5\x38\xe9\x90\x8f\x1f\x89\x3d\xfe\x60\x7f\xdf\x27\xf9\x7c\x07\x0f\x0e\x03\x40\x06\x49\x8f\xc5\x38\x44\x7e\xd0\xa3\xe8\x1a\x51\xa6\xfe\x8a\xb2\x10\x59\x03\x94\xab\xa0\x67\x83\xd5\x54\x83\x8f\x1f\x93\x79\x00\x48\x00\xe8\xfe\xbe\x42\xc8\x83\xc1\xa0\xd4\x9f\xec\x4e\x8e\xa6\xfc\xfc\x8c\xd4\xb1\x4a\x0d\x56\x41\xe9\xa5\xa9\xe7\xac\x4b\xf8\x0f\xea\x3d\x34\x13\x06\x91\xd3\xcb\xe2\x38\x00\x64\xbe\xf2\x16\x6f\xc8\x95\x3e\x5e\x9e\x2b\xfd\xbf\x1f\x3e\xcf\xfe\x9b\x7e\xf7\xba\x39\x73\x7e\x8c\x17\xd7\x50\x34\x75\x6f\x0f\xc1\x85\x87\xd9\x0f\x11\xe6\x72\x2b\xa9\x32\x81\xea\xe1\xf7\x62\x00\xea\x69\xbd\x6a\xa0\x84\xde\x07\x9e\x8e\x2d\xb8\x38\x92\x09\x9a\x05\x77\x34\x4f\x4e\xc0\xc5\xf1\x63\x55\x50\x88\x65\xc3\x29\xe6\x5e\x0e\x9b\xc1\x6b\xf4\xab\xe6\x2e\x36\x74\x77\x09\xdd\x3c\x03\xb4\x97\x4a\xce\xec\x49\xa5\x93\x15\x49\xab\x43\x48\x23\x47\x4e\xe8\x3a\x00\xfd\x6d\xd7\x4a\x3c\x5e\x6f\x62\x25\xdd\x3e\x69\xa8\xce\x2b\x67\xad\xf7\xc4\x55\xce\x26\xaf\x18\xe2\x02\x5f\xac\x9c\x81\xdd\x55\x18\xb0\xa1\x5e\x60\xd1\xb5\x9a\xa2\x4c\x81\xa4\x07\x6e\x50\xfb\x5c\xbc\x39\xd7\x6f\x16\x8c\xfe\xb0\xe9\xbd\x03\x29\x25\xd8\x8d\x80\xed\xf1\x15\x55\x3a\x4f\x24\x0d\xa8\x1a\x49\xf6\xa9\x61\x62\xf6\xed\x2e\x04\xf8\x9f\xcd\xe3\xa6\x2e\xaa\xe5\xa9\xda\x20\xdc\x3c\xba\xd2\x9d\x56\xcb\x4f\xd5\xa0\xd7\x31\x5f\xbc\x54\xb9\xe1\x65\x66\xfb\x23\x59\x77\xa2\x71\x66\x8f\x80\x97\xc6\x30\x44\x13\x12\x2b\x1d\xc2\xca\x90\xbf\xd2\x90\xaf\x6c\x30\xd6\xf0\x1f\x81\xa3\x7c\xd3\xd8\x47\x67\x5e\x0a\xda\xde\x65\x26\xdc\x5a\x0f\xe2\xa1\x78\xc6\x21\x1d\x23\xde\x33\x79\x34\x8a\xb2\x9b\x17\x75\xb0\x97\x97\x06\x70\xa5\x8a\x97\x19\xce\x85\xf7\x44\x95\xc6\x13\x80\x65\x34\x7e\x43\x7d\xd7\x25\x68\xfe\x34\xf4\x67\x92\x7e\x7c\x5a\x02\x34\xbd\x6e\x44\x81\x6b\x22\xa7\x25\xf9\x16\x88\xd9\x0a\xfd\x4a\x70\xab\x12\x70\x3a\x94\xa5\x18\x71\x78\x27\x54\x6c\x41\xdf\x06\x29\x2f\x27\x66\xd7\xab\xc5\x2f\xd6\x59\xe1\xc5\x0d\xdf\x92\xb1\xaa\xcd\xbc\x78\xf7\x28\xf2\xf8\xc6\xaa\x7c\xc1\x26\xe4\xe6\x95\xd8\x4f\x52\xa6\xd7\x48\xd6\x85\x30\x80\xf7\x84\x24\x05\x64\x4e\x33\xd4\xc8\x90\x5e\xb2\x5f\x20\x9f\xa8\x3a\xd4\x53\x18\xc7\xde\xc2\x7a\xd3\x0b\x21\x54\x6b\x86\xb4\x29\xeb\x6b\x4f\x50\x17\x55\xbb\xc1\x3c\x9c\x98\xa5\x75\xcc\xd5\x30\x72\x5d\x50\x58\xfc\xec\x62\xd6\x4d\xf5\x34\x16\x10\x44\xb5\x2b\xcd\x8f\xf4\xa6\xd3\x1c\xa9\x0a\x4f\x0c\x20\xdf\x7c\xb9\x20\x76\xb8\x0a\x42\x5a\x63\xc2\x51\x64\x5b\x50\x0b\x97\x4b\xf9\xca\x51\x63\xbb\x0e\x60\x1d\x3e\x58\x0c\xba\x67\x58\xf4\x22\x4e\xb8\x64\x6f\x75\x9c\x25\x98\x1d\xef\xfb\x8d\x1f\x7c\xdd\x9e\x82\x96\x70\xa2\xae\x20\xaf\xbb\x39\xad\xf6\x9b\x6f\xcd\xa3\x35\xb6\xa6\x3d\x81\x96\xdb\xf2\xa8\x69\x5b\xda\xb0\x56\xdb\x92\x0e\x34\x7c\xe9\x1b\xd2\x0c\xf9\x93\x6e\xc7\xa3\xad\x6d\xc7\x25\x6a\xd2\xc4\x52\xe2\x1a\xbf\xaa\x28\x7f\x79\x2c\x43\xb3\xfa\x54\x29\x84\x6f\x48\x74\xd9\x32\x5b\x4d\x8f\x2c\xc2\x96\xab\xa2\x8c\x5b\xb9\xcc\x91\x52\x3c\x85\xd2\x2e\xa6\x75\xe3\xb6\x84\xb4\x3a\x05\xa8\x9c\xb2\x57\xa6\x9f\x05\x04\xb0\x78\x6d\xcb\xb3\xbb\xb0\x65\xb6\x30\xc6\xe1\xfb\xa2\x56\x57\xcd\x7c\x50\xf0\x24\x98\x84\x28\x96\x6f\x50\xfd\xf9\x0f\x11\x56\xc5\xfc\x6d\x31\xcd\x60\x4f\xda\x11\x50\x48\x92\x48\xe0\xed\xce\xd1\xa5\x46\xb4\x36\xba\x9a\xdf\x39\x29\xba\xa9\x4a\x56\xbd\xba\x56\xc5\x02\x63\x53\x77\x3e\x99\x6e\xd7\x4e\x6f\xd6\x68\x55\xe9\x2f\x6c\x59\x68\xb9\xda\xfe\xa1\x97\xca\x7c\x5b\xd2\x42\xdd\x13\x5a\xda\x45\xa1\x89\x38\xcb\xb7\x55\xba\xb3\x75\x86\x4a\x25\xb3\x82\x23\xa4\xd4\x02\x28\xb6\x3c\x89\x96\xcc\xa2\xa2\x8a\xa8\xa9\x34\x96\x35\x73\x0f\x2d\x9a\x25\x70\x8a\x43\x0f\x78\x23\x4a\xa6\x1b\x8c\xcf\x40\xea\x5c\x63\xd8\xf1\x9a\x86\x5c\xeb\x6e\xf9\xb8\xf3\xc1\x34\xd3\xdf\xd2\xe5\x2a\x8e\x3f\x6b\x02\xab\x23\xbc\x74\x8a\xda\xe3\x5e\x6f\x54\x65\x29\x7b\xa3\x91\x55\x44\x6e\xf7\xd8\x2a\x04\xaa\x8c\xa7\xda\x92\xe9\x28\xb0\xa7\x59\xe6\xb1\x75\x20\xc0\x18\x8f\x25\x18\x4f\x27\x33\x6e\xc1\xcc\x0a\xb9\xe6\x18\x5c\x78\x6f\x4d\xc2\x3e\xc7\x31\x23\xe0\x8e\x27\x84\xb5\x3d\x53\x36\x30\x76\x98\x04\x82\xbd\x22\x81\x60\x13\xbb\x5c\xcc\x2c\xed\xb9\x3d\xd3\x99\x3a\xd7\x38\x7c\xc5\x2a\x33\x24\xfd\x09\x2d\x05\xed\xc6\xa3\xcc\x16\x8e\xf5\x4a\xa3\x08\x73\xcb\x6a\x5d\x27\x20\x47\xfd\xfb\x8d\x0f\xb0\xed\xac\x0f\x8a\x96\x1c\xfd\x6d\x04\xbb\x75\x70\x16\xa1\x18\x71\xb4\x21\xd6\x6e\x20\x4d\x8c\x20\xf1\xe9\x70\xa6\x86\xbe\x11\xd6\x16\x48\xbb\xcd\xe2\x81\x40\x51\xbd\x92\xfb\xb2\xc2\x9a\x06\xa2\xa3\xec\xb1\x52\x31\x3c\x50\xfc\xf1\xac\x5a\x23\x5b\xea\x45\xb2\xfe\xa9\x34\xce\x15\xb9\x3b\xbc\x54\x2e\x6d\xa1\x05\xa9\x9a\x0e\xde\x87\x6e\x0e\x6c\x24\x9a\x4d\xe5\xc7\x09\x31\xcd\xed\x02\x10\xd6\x03\xfd\xa3\x48\x46\xdb\xa6\xf8\xe5\x52\xaf\x74\x53\x49\xcc\x18\xf1\xce\xf5\xc0\x67\x03\xff\x10\xc4\x3d\x9c\x08\x30\x81\x2f\x46\xf0\x3c\x86\x6c\xf2\x93\xca\x26\xc0\xbc\x00\x64\x03\x59\x55\xbc\x83\x3e\x70\x94\x44\xac\x43\x8d\x67\xee\x56\xba\xe4\x68\x16\x72\x42\x95\x23\xff\x1a\xd2\x4e\x02\x28\x20\x7b\x2c\x4b\x91\x7a\x08\x66\x3e\x9f\x60\x06\x3c\x98\x62\x0f\x84\x40\xfc\x28\x1e\x8e\x4a\x9d\x81\x54\xbf\x26\xda\xeb\x07\x7c\x3a\xf0\xb4\xc3\x31\xdf\x28\x01\x4e\xfc\x64\x20\x3f\x3c\x73\xfb\x15\xc5\x18\xb4\x33\x91\x80\x72\x24\x40\xc9\x2b\xfd\xe0\xb0\xf0\x44\x3f\x38\x9c\x07\xa7\xc9\x05\xbd\x1c\x90\x7c\x74\xc5\xf1\x17\x55\xc6\x6d\x69\xbe\xa3\xca\x2b\x4b\xba\x07\xc3\xda\x3b\xe3\x4d\x04\x53\xf5\x4a\x2c\xc4\xad\xe9\xe7\x34\x06\xf9\x17\xa7\x10\x14\x90\x4e\xd9\x7c\xc0\xf7\x44\x83\x7c\x33\x0e\x62\x09\xa0\x97\x37\x18\x40\xf3\xc0\xb4\x1a\x30\xe0\x57\x1e\x7d\xfc\x58\x6e\x14\xec\xef\xab\x4f\xf2\x09\x0d\x64\x25\xd4\xef\xcd\xcf\xc0\x2f\xf5\x1a\x04\xf3\x31\xe2\x9d\xe2\x60\xcf\xa3\x29\x1e\x94\xbe\xeb\x69\x31\x6c\xce\x38\xa1\xe8\x65\x79\x05\xfd\xe0\x56\x8d\xa2\xfc\x78\xf0\xe3\xf9\xeb\x9f\x7b\x29\xa4\x0c\xf9\xf2\x4f\xc6\x29\x4e\xc6\x78\x34\xab\x8d\x01\xb2\x59\x12\x76\xca\x0c\xd4\x47\xc1\x2d\xbc\x81\x98\x77\xe4\xd7\x90\x8e\x59\xaf\xf6\xc5\xdc\x3e\xa8\xf2\x71\xe4\x28\x7c\x70\x08\x56\xc2\x86\x1e\x88\xed\xb3\x15\xc3\x40\xbd\x94\xa2\x6b\x94\xf0\x67\x6a\xa7\xf8\xc6\x81\xfe\x60\x30\x28\xc3\xdf\xdf\xf7\x3d\xaf\xf6\x54\x9a\x0a\xf7\xf7\x5d\x6f\x72\x89\xfc\xac\x3c\x14\xd9\xc4\x0d\xe8\xcc\xaf\xa2\xc5\x1e\xef\xb9\xe6\xf2\x15\x32\x00\x0f\xfa\x01\x58\x82\xce\xca\xaa\x9c\xae\xdb\x4d\x05\xe5\x7a\xeb\x57\x89\xf9\x41\xbf\x4a\xf0\x0f\xfa\xc1\xa9\x7c\x54\xe2\x22\x3d\x99\x57\xd1\xf7\x4c\xcf\x9d\xf7\x68\xc6\x3a\x84\x76\x24\x43\x60\x9d\x10\x26\x9d\x84\xf0\xce\x10\x75\x64\xae\x56\x2f\x08\xe6\xb6\xee\x6d\xa8\x62\xad\x01\x81\x62\xf6\x65\x98\xf3\x42\x8d\xdf\xa8\x83\xf9\x1c\x84\x83\x89\x9f\xf5\x52\x4a\x38\xe1\xb3\x14\x69\xce\x7a\x61\xb8\xf8\x25\xb8\xad\x32\xb9\x32\x0b\xb4\x58\x1e\xb0\x82\x39\x4e\xc5\x19\x3a\x0f\x40\x5a\x05\x5f\xe1\xd1\x17\x6c\xd3\x1e\xa2\x6a\x0f\x05\x9f\xbd\x80\x3d\x19\xbb\x84\xa2\x4d\x3b\x19\x55\x3b\xb1\x58\xf6\xf6\x7a\x19\x56\x7b\xb1\xb9\xff\xf6\xba\x99\xd6\xbb\xc9\x0f\x92\xed\xf5\x52\xe9\xa3\x22\x9f\x82\x0b\xd2\x53\x97\xa4\x2f\x4d\x00\xde\x18\xf1\xd7\x37\x89\x39\x76\x9f\x21\x16\x52\x9c\x0a\x69\x60\x11\x9c\x00\x58\x6f\x6b\x9d\x96\x14\x89\xb5\xbb\x2c\x41\x59\xdc\x61\x29\xde\x66\xed\x0e\x4b\x50\x16\x77\x58\xb2\xf3\xad\xdd\x61\x09\x4a\x9b\x0e\xa5\x01\x71\xc3\xee\x24\x8c\x4a\x67\x99\x5d\x2a\xfd\x1a\x2c\x28\xb2\x3e\x06\xd7\x9b\x85\x59\x6e\x10\x61\x69\xfa\xea\xa6\xc3\xa6\xe8\xca\x31\x21\xe3\x18\x75\xe5\xd4\x86\xd9\xe8\x40\xfd\x3e\xc8\x7f\xcb\xc3\xe2\x4a\xb5\xdf\x6a\x20\x26\x60\x4a\x72\x2e\x05\x62\x82\xd9\x5e\x3d\xba\x71\x17\x42\x31\xc7\x5f\x43\x31\xff\x1c\xa1\x98\xd7\xcb\x43\x31\x8f\xc8\x3f\x7f\x23\x0f\x9f\xc7\xee\x50\x4c\x87\xb9\x98\xbd\xc2\xc6\x36\xa7\x74\x79\x63\xb9\xca\x62\xcf\x61\xe9\xd4\x25\xae\xaa\xc6\xac\x3c\x10\xaa\x1a\xe7\x59\xb2\x86\x2d\x76\x0e\x74\x5c\x0f\xaf\xae\x16\x46\x47\xae\xe7\x3b\xd0\x86\x98\xfe\x26\xa1\x7c\x8d\xfe\xbd\x15\x9d\x0c\x6b\x0d\xa6\x16\xd6\xb5\xee\x68\xea\x36\xf4\xf5\x06\x64\xc1\xd9\x78\x4c\x6e\x0b\xfa\xfa\xab\x66\x4c\xe8\x9b\x8f\xac\x48\x58\xd3\xe0\xe4\x6d\xe3\x38\x03\x17\x27\x47\xa5\xd0\xb6\xd2\xdf\x0d\xbb\xb3\x6c\x93\x34\x56\xe8\xb2\x1b\x25\x8f\xb4\x2b\xdb\xe0\x95\x2f\xe1\x89\x25\xbe\x8a\x1f\x85\xc8\xec\x3d\x29\x8b\x47\xde\x13\x97\x12\x29\x9e\x57\xad\xa7\x6a\xb8\x02\x67\x56\x74\x9c\x09\x41\xd2\xde\xb8\x9c\xdf\x08\xdc\xd9\x62\x5f\xe1\xae\xd3\x86\xc4\xb5\x3c\xb5\xce\xa1\x5a\xef\x6b\x06\xdf\x6a\xc0\x86\x89\xd7\x29\x99\x33\x6b\xcb\x58\xa0\xf7\x51\x4b\x3f\x40\x29\x78\xe6\x42\xc6\x36\x46\x98\x89\x41\x44\x5e\x53\x50\xbb\x8e\x5a\xd7\xc6\xca\x2e\x8c\xa2\xee\xb5\x85\x6c\x65\xe2\x7e\x6c\x9b\xb8\x0d\x6e\xa3\xa8\x1e\xbf\x5e\x37\x5c\x1b\x2f\xff\x32\xc3\x75\x31\xf6\x6f\x2d\x62\x32\x4c\xd4\x4b\xe3\x8c\x95\x02\x5f\x56\xd9\x99\xda\x9f\x0d\xd3\x34\x9e\x39\x8d\xd9\x2e\x5b\x74\xfd\x59\xd5\xff\x6c\xb9\x03\x0e\x57\x5c\x21\x15\x9a\xf3\x42\x9f\x32\x4b\x1a\xaf\x32\x55\x25\xbd\xca\x62\x13\xf2\x10\x53\x32\x69\x1e\xa7\x53\xb3\xb7\x97\x07\xf4\x9d\xcc\xf2\xd1\xda\xeb\xe4\xad\xbc\x12\xf6\xf0\x42\x92\x70\x94\xb8\x7d\x32\x6e\xe7\x40\x79\xb0\xcf\x75\x10\xcb\x4a\xc3\xb5\xb6\xc7\x17\x42\xf8\x9f\x99\xf4\x9b\x71\xdd\xb0\x25\x8e\x5c\x7b\x42\x3a\x59\x2c\xce\xff\x4b\xd5\xbb\x22\xd4\x27\x04\xc3\x89\x07\xbc\xae\x54\x96\xba\x90\x52\x28\x54\xb6\x36\x37\xee\x3c\xf4\xc7\x52\xa7\x8a\xfc\xdf\x28\xc6\xe3\x09\xef\xaa\x4c\xf3\x5e\xad\x4e\xd3\xa6\xae\x96\x45\x5e\x96\x9b\x81\x9f\x09\x51\x19\x2e\xf4\xb2\x84\xed\xbd\x2c\x96\x6f\x65\x62\xfb\x56\x8c\xf3\x64\xe2\xf6\xad\x44\x95\xd7\xe5\x53\x3d\x77\x63\x98\xd7\x7a\xbe\x85\x0f\x63\xe2\xf0\x6f\x4c\x2b\xef\xaa\xe7\xea\xcc\xe1\xe4\x90\xfd\x9d\x26\x40\x77\x70\x8a\x6b\xae\x0d\xf9\xc5\x20\x51\xc6\x4f\xfd\xd9\x00\x6b\xd3\x6a\xa9\x07\xa9\xd4\x38\xec\xa6\x4e\x83\x6e\x09\x7c\x8f\xa5\x52\xd9\x3b\x04\xc6\x00\x5d\xee\xfd\xa2\xd7\xeb\xd5\x1f\x5f\xba\xfa\x6a\xe1\x8c\x70\x5a\xc2\x11\x78\x70\x18\xcc\x2d\xae\x51\xf8\x23\x0a\xf0\x87\x92\x86\xd0\xc0\x4f\xd0\x4d\x07\xf7\xbe\x97\xd4\xf7\x2b\xa4\x41\x8f\x13\xa5\xc9\xf9\x81\x0b\x7b\x17\x08\x2c\x9a\x41\x05\x8d\xc8\xe1\xc8\xb0\xc6\xc9\x83\x5b\x31\x8a\x64\x60\x0f\xe2\x1c\xf1\x37\xe8\x8f\x0c\x31\x0e\xa8\x7e\xf1\x06\x8d\x7a\xbf\xa8\xf5\xda\xa3\x3d\x86\xb8\xfe\xe1\xdb\x2b\x29\x7d\x12\x6a\x6b\xc4\x83\xca\xac\xf6\x62\xbb\x15\x0d\x80\xfc\x2d\x36\xa5\xaf\x3c\x1c\x01\x40\x67\x85\x0f\x64\x7f\x5f\xbe\x3f\x97\x3f\x7c\x54\xbc\x10\x4a\xab\xd1\x02\xf4\x47\x2f\xf5\x4f\xbf\x78\x23\xbe\x2a\x64\x72\xfd\xdd\xcf\xf9\x03\xdf\x7e\x1b\x00\xae\x3f\x78\x97\x30\xc4\xe5\x72\x90\xde\x0f\x82\x89\x04\x20\x11\xcf\x7f\xb5\xd1\xec\x5f\xc4\x97\xc1\x1e\xa7\xb3\x92\x4b\x2a\xc5\xbd\x30\xc6\x28\xd1\x16\x32\x31\x69\x5f\x93\xb9\x78\xf7\x1b\xe6\x93\x9f\x10\x87\x7e\x10\xe8\x55\xaf\xa3\x15\xb5\x40\x2b\x2f\xa1\xf5\x6f\xf9\x3a\xed\x71\xbb\xb1\xfe\x98\x0e\xdc\x23\x1c\xe7\x23\xe4\xee\x11\x3a\x88\x8e\x9e\x59\x54\x59\x7e\xb7\xe2\xee\xe5\xe1\xc4\x87\x7a\x3b\x38\xbd\x3b\xcf\x21\x8e\x51\xd4\xe1\x44\xd2\x6c\xa7\x60\x39\xb7\x5a\x7c\x38\x85\x3d\x9d\x12\x1f\x30\x8e\xc3\xf7\x33\x69\xcc\x98\xcf\xe7\x20\x1d\x8c\xfd\xb0\xee\x3f\x81\x5b\xf2\x9f\x44\x55\xf0\x55\xff\x49\xb6\xb9\x6b\xa3\xd2\x43\x85\x95\x5f\xb0\xed\xb9\x37\x2a\x3d\xe5\xa7\xc2\xf6\xfa\x98\x56\xfb\x28\xb9\x50\xb6\xd6\xcd\xac\xb6\xea\x95\xb3\x6a\x7b\x5d\x55\x3a\xaa\x18\xfc\xe3\xd6\x16\xf8\x66\x28\x01\x08\x6d\x1b\x7c\xa5\xc3\x9a\xe3\x66\xcd\x2e\x6b\x8e\x9b\x45\x9d\xda\xd2\xef\xda\x3d\xda\x40\x16\x77\xe7\x36\x0b\xac\xdb\xaf\x13\x5a\x65\x00\xa1\xed\xe8\xb8\x59\xe4\xe8\xb8\x06\x37\xad\x1d\x1d\x82\x7c\xba\x92\xa7\x6d\xe0\xdd\xa8\x7e\x5c\x7c\x43\x92\xb8\x96\x9e\x51\x79\x12\xb6\x65\x06\xa6\xcb\xcd\xc0\xdf\xfe\x72\xf3\xf3\xc9\xf9\x0b\xd6\x78\x23\xff\xa8\x6a\x4f\x2d\x34\x9f\x43\x97\xe6\x03\x63\x44\x79\x97\x0b\x9d\x6a\xac\x22\xe7\x2a\xf7\x5e\x1c\x0a\x68\x1d\xe1\xea\x2a\x7a\x2f\xa5\x68\x84\x3f\x38\x74\x20\xaf\x1a\x1b\xab\xee\x49\x90\x08\x75\xe5\x3c\x2a\xf1\xb2\x7d\x70\xe1\x45\x90\xc3\x73\x92\x51\xe9\x04\x1a\x63\xb1\x6a\x19\x8d\x6b\x71\xe0\x15\x93\x4e\x81\x08\xeb\x7e\x54\x6d\xb8\x57\x57\x45\x89\x97\x3a\xb6\xda\x36\xbe\xb2\xb4\x7f\xa7\x31\xd3\x81\xa7\x52\x39\xd7\x45\x17\xf8\xbd\x92\xcd\xca\x1d\x56\xac\x6e\x04\x72\xc4\xf8\xcb\x04\xf3\x1f\xc9\x50\x68\x71\x8a\xfe\xbd\x7c\x82\x6d\xf1\xe5\x24\x9c\xe5\x13\x9a\x12\x8a\xba\x13\x14\xa7\x8b\x17\x5f\x51\xe0\x91\xb6\x09\x3c\x02\xde\x84\xf3\x94\x9d\x1e\x1c\x98\x0d\x6d\x44\x2f\x4c\x0e\x22\x12\xb2\x83\xb1\x62\x1d\x5d\x99\xe7\x06\x45\x76\x08\xf2\x22\xc3\xcf\x2a\x03\x8e\x71\xf2\xbe\xdb\x74\x5f\xc9\x65\x9a\x72\x04\x3d\x3e\x31\xa7\x78\xa1\x8b\x97\xf5\x63\xa9\x94\x97\x2b\x73\xae\xa0\x21\x5b\xe3\x6e\x50\x8b\x95\x5b\x70\x01\x07\xa5\x40\xc6\x5d\x69\xa4\x05\x42\xdc\x2c\xd8\x0f\x59\x89\xb7\xd2\x2c\x49\x94\x28\x71\x4f\xb9\x6b\xfc\xea\xfd\x74\x78\xf4\x97\xfe\x62\xee\x2a\xf9\x02\x25\x37\xdd\x3c\xc0\xbe\x2d\xc3\x35\xf7\x29\x05\xe5\x98\x72\x5b\xc0\xeb\x3f\x72\xb0\xdd\xff\xf3\x7f\xb7\xda\x84\x7a\x49\x96\xf1\x5f\x1b\xda\xa7\x65\xc3\x2b\xb3\x15\x33\xa3\x30\xc6\x2d\x59\x4a\x8e\x63\x8a\x46\xd2\x09\x92\xc4\x38\x51\x48\x56\x96\x29\x01\x57\x6c\x45\x9a\xa1\x05\xa6\xc2\x9c\xe3\x3a\xf1\xd4\x07\x36\x30\x6b\x52\x66\xd7\x74\xf2\x17\xc7\x0b\xd9\xc8\x6a\x18\x60\xd9\xc8\x85\x81\xed\xa3\x7b\x25\x3e\x7e\xfc\x59\xf9\x78\x7d\xc8\x9f\x8c\x93\x87\x24\x9d\x09\xc1\xb6\x2b\x29\x63\x63\xce\x6e\x66\xf2\xb9\x79\x7b\x9a\xf1\x2d\xa7\x61\x73\x27\x5d\xab\x85\xf2\x2c\x8d\xff\x69\x8c\xf5\x51\x01\x31\x10\x58\x49\xd7\x8a\x28\x9f\xe1\x2e\x45\xf9\x4c\xbf\x46\xf9\xfc\x39\xa2\x7c\x66\xcb\x05\x90\xeb\x97\xef\xff\x7d\xf8\xe6\x97\x7f\x7c\x4d\xb8\xf6\x19\x13\xae\x69\xbe\xf8\x45\x67\x5c\x5b\x27\x63\x88\x2b\x9b\x55\x99\xf7\xaf\x9d\x4c\xad\xe9\x22\xdc\x02\x54\xb6\xcf\xa5\xd6\x78\xbd\xcd\x95\x88\xca\xa3\xe8\x8f\x0c\x53\x14\x79\xc0\xd3\xf4\xdb\x6f\x9e\xe6\xf2\xcc\x54\x6d\x67\xd0\x26\x33\x95\xf3\x4e\xfb\x66\x39\xa9\x2e\x0b\x8b\x75\x6f\x5b\x49\xd5\x16\x5c\x27\xbc\x73\x02\x5c\x3b\x9b\xda\x26\x14\xb8\x3c\x99\xda\x12\x12\x6c\x46\xca\xd5\x95\x9a\xa0\xd2\x49\xcc\x6d\x46\x37\x07\xcf\x19\xf4\x8b\x30\x76\xdd\xed\xdf\x88\xe4\x17\x64\x63\xb3\xd2\x69\x88\x03\x1e\xbd\x96\xaa\xf8\xe5\x9a\x9b\xa1\x96\xa7\xed\x8a\xa1\x84\x61\x8e\xaf\x73\x14\x6f\x0b\xb2\x1d\x75\xa3\x36\x5a\xd3\x54\x3c\xcf\xb5\x09\x27\x12\xcf\xdb\xdd\x84\x12\xe6\xba\x7b\xb0\x9e\x7d\x63\xf1\xca\x2f\x58\x66\x07\x5d\xdc\xf5\xca\x8b\x0f\x77\x63\xe1\x19\xa7\x5b\x5f\x78\x09\x73\xc3\x85\xbf\x04\xf5\x75\xd7\xfc\xa5\x9c\xce\x69\x39\x53\x71\x11\x4f\xdf\xd0\x4b\x23\x97\x50\xd4\x2b\x29\x25\x9c\xa0\xf0\x7d\x39\xa8\x51\xf1\x25\xd5\xf6\x44\x7f\x31\x24\x1f\x2a\x42\xa1\xba\x1c\x56\x60\xeb\x1b\x4b\x22\x55\x43\x35\xfc\x6d\xd9\x15\xfd\xe6\x94\x4b\xab\x1f\x2c\x66\x66\x1a\x43\x2f\xbe\x7f\xb5\x80\xa7\x2f\x67\xf8\x77\x75\x16\x34\xed\xf8\xc7\x26\xd8\xd4\xb1\x2c\xe7\xc5\x36\xbb\x5c\x75\x29\xec\xb6\x6d\x72\x26\xb4\x4d\x93\xd1\xa9\xa5\x2e\x7c\x65\x72\xa4\xad\x94\x6e\xc3\xc2\xeb\x9a\x87\x3b\x43\xbc\xce\x88\x16\x10\xd4\x27\x4d\x03\xb8\x58\x59\x58\x37\xa3\xd8\xb7\xeb\x27\x14\x3b\xfc\xd4\x09\xc5\x16\x2c\xe1\x1d\x64\x14\x3b\xdc\xf9\x8c\x62\xcb\xf1\xf5\x35\xa5\xd8\x97\x91\x52\xac\xcc\x98\x9d\x99\xba\x2a\x09\x00\x05\xd5\x68\x63\xf3\x13\x25\x26\x80\x0b\x0f\xcd\x50\x97\x8c\x46\xeb\xea\xa6\x2d\xc4\xf1\x05\x52\x68\x1b\xb5\xc4\x9c\xc1\xc3\x42\x6d\x1b\xc2\xc8\xe1\x5b\x2f\xfe\x7b\xf1\xfd\xab\x15\x34\xce\x05\xa2\xfb\x32\xc1\xb9\xb1\xbd\x96\x00\xeb\x24\x9e\x87\x5a\x97\xa5\xb1\x46\xda\x77\x24\x62\x5c\x3d\xef\x96\x57\x0a\xba\xdf\x5e\xd6\xad\xa7\xea\x5e\x93\x6b\x82\xce\xdd\x5d\x8c\x61\xad\xec\x58\x86\x12\x96\xe7\xc6\x6a\xc1\x92\x1d\x22\xcb\x67\xc9\x8c\x25\x78\xfb\xb6\x8f\x1b\xc7\xdc\x3e\x4b\x06\xab\x67\xb2\xd3\x95\x0e\x87\x06\x79\xc5\xdd\xa4\x21\x4b\xab\xfb\x80\x50\x0f\xc5\x34\x9e\xaf\x95\x3b\x4a\xdd\x57\x90\x69\xa2\x26\x11\x3b\x10\x1c\xf2\x40\x09\xb9\x07\xaa\x7c\xe4\xb2\xdb\x0d\xa2\x95\xe2\x5c\x1b\xa4\x8f\x6a\x74\xa6\x2d\xba\xd7\x30\x19\xf8\x70\x79\xf6\x28\x56\xb9\xd7\x80\x97\x65\x8f\xc2\x80\xda\xd9\xa3\x86\xee\xcb\x0c\x99\xbe\x78\x40\xf3\x44\x51\x78\xbd\x44\x51\xd8\x38\x41\xe8\x8a\x89\xa2\xf0\xe5\x80\xe6\xa3\x2b\x98\xb4\x49\x70\x35\x74\xdc\x96\x48\x6b\xef\xf2\x5b\x90\x51\xe5\x55\x61\x0f\x30\x17\x33\xca\x89\xa2\x88\x95\x28\x2a\xb6\x13\x45\xc1\x7a\xa2\x28\x52\xcd\x22\x53\x8f\xb9\xd6\xa9\xa3\xf2\x5e\x8b\xd4\x33\x6b\xa7\x68\x52\x69\xa2\x5e\x84\x71\x91\x21\xaa\x92\x22\x6a\x12\xc6\xfa\xab\x5c\xe6\x68\xfc\x36\x3f\xff\xef\x26\xa1\x54\x6d\xfa\x8d\xdd\xdf\x75\xe6\x29\xf7\xf4\x1a\xf2\x4c\xe1\x91\xef\x48\x35\xe5\x79\x03\x9d\x07\xaa\x64\x65\xcf\x53\x7f\xbd\x08\xe3\xfd\x7d\xc7\x47\x93\x30\xfe\xf8\xf1\xc1\x92\x8f\x18\xa7\x81\x29\x9f\xb6\x85\xd4\x4b\xfa\xbe\x42\xfb\xcc\x51\x66\x20\x4e\xf2\x0c\xf6\xf0\xc8\xd7\x97\x55\xd0\x80\x57\x6e\xfc\x8c\x70\x12\xf9\x3e\x1a\xfc\x55\xe1\xc3\x89\xa4\x20\xd8\x43\x26\x25\x5a\xbe\x81\x50\x30\x6f\x95\x9a\xc9\x75\xe9\xa8\x55\xbe\xa8\x85\x79\xb5\x1c\x99\xa3\x5a\x01\xcd\x87\xef\xc2\xd4\x3c\x37\x6a\x09\x3a\x2a\xd6\xbc\x9a\x55\x8c\x71\x3a\x90\x94\x01\x6a\xb4\x32\xf0\xbc\xe0\xd4\xaf\x3f\x96\x8d\x40\x1d\x8c\xe7\x05\xf3\x8a\xfd\x26\xef\xbb\xbe\xd1\x06\x0f\xec\x5d\x37\x07\xd9\x60\xea\xb3\x45\xb7\x2a\xe0\xa6\x51\xfb\x61\xb5\x07\x2b\x2b\x15\xdd\xd6\xd5\x80\xb4\xda\x49\xe9\xb2\xc3\xd6\xba\x89\xea\xdd\x14\xf9\xa2\xb6\xd6\xcb\xa8\xda\x8b\x75\x6a\x6d\xaf\x97\x4a\x1f\x1b\x64\xa5\x5a\x04\x27\x00\xcc\x0e\xf6\xaf\x74\xba\x76\x56\xaa\x66\x28\x8b\x3b\x5c\x3b\x2b\x55\x33\x94\xc5\x1d\xae\x9d\x95\xaa\x19\x4a\x9b\x0e\x57\xce\x4a\xd5\x04\x63\x71\x67\x85\x09\x7f\xed\xbe\x0a\x10\x6d\xba\x2a\xac\x28\x1b\x76\x58\x00\xaa\x74\xcb\xec\xb0\xb9\xc9\xa2\xeb\x28\x33\x30\x59\xe1\x3a\x4a\x5d\x13\xf8\x1c\x11\x75\x95\x7c\x5d\x2d\xe3\xeb\x1a\x8a\x9a\x7e\xcd\xa5\xf5\x35\xca\xee\xcb\x8e\xb2\x6b\x91\x4b\xeb\x2f\x2f\x7f\xfe\xc7\x39\x79\x46\xbf\xe6\xd2\x5a\x25\x97\xd6\x3a\xb1\x5c\x77\x97\x4c\x6b\xad\xb8\x9e\xfb\x91\xd6\xe9\x0b\x4c\xe3\xf4\x35\x5d\xd3\x17\x99\xae\x69\xb9\xb3\xf0\xfe\xe4\x6b\x5a\x30\xd7\x2f\x22\x61\x53\xcb\xf1\x7d\xcd\xd8\x54\x73\xa3\x7c\x0e\xea\xff\x62\x52\x36\x2d\xb8\x9c\xf3\x19\x32\x36\xb9\x46\xb3\x24\x61\x13\x5b\x9e\xb0\xa9\x5a\x16\x63\x81\x63\xa3\x29\x61\x53\x58\xc9\x9e\x44\x49\x26\xb6\xc1\xaa\x89\x9c\xf2\x9c\x1c\xd5\x14\x4e\x95\xb4\x20\xdb\x4a\xe4\x64\x12\x37\x25\xb9\xab\xc1\xe4\x68\x4a\x5c\x99\x94\x4a\x49\x6a\xd6\xcf\x09\xd3\x32\x4f\x52\x82\x6e\x3a\x71\xcf\x7c\xa9\xd2\xe5\x9c\x23\x7a\x8d\xa8\x6f\x8c\xcd\x68\x59\xea\x24\xbe\x4a\xea\x24\xde\xe8\x12\x68\xc2\x45\xd5\x2a\x1d\x73\x44\x7d\x9f\x0f\xfe\xca\x4d\x11\x07\x63\x8b\x06\xcb\x52\x48\xb9\x2b\x17\xb4\xc5\xe8\x92\x94\x4f\x9c\xce\x74\xda\xa7\x4a\x86\xa0\x2c\x65\x88\x3a\x93\x10\x69\x85\x0a\x08\x45\xa9\x3e\xd7\x60\xcf\xf6\x1c\x54\x88\xa6\xec\x48\x60\x59\x18\x22\xc6\x7c\xcf\x0c\x49\x8e\x33\xf2\x82\x55\x68\x46\x3d\x52\xbb\xaa\x47\xd1\x88\x22\x36\xf1\xbd\x1b\x42\xdf\xb3\x14\x86\xc8\x8c\x20\x1f\x8a\x17\x80\x44\xe7\x1e\x4a\x72\xc5\x54\xce\xa8\x75\x1e\xa2\x42\xb4\xcd\xf3\x10\x25\x4d\x79\x88\xc2\xc1\xd8\x55\xc7\x61\x5b\x79\x88\xd2\x2a\x78\xc3\x5e\xb6\x9a\xe9\xe8\x6e\x2b\x45\x8c\xaa\x3d\x14\xf9\x87\xb6\x66\x5f\x1e\x56\xfb\xa8\x66\x53\xda\x9e\x25\xbb\xda\xd3\xdd\x18\xff\x67\x35\xba\xaa\x66\x3a\xda\x5a\x57\xd5\x8e\x4a\x39\x80\xd6\x2c\x35\x50\xce\x01\x94\x95\x73\x00\x7d\x86\x02\x15\xe3\x4f\x5d\xbe\x61\xdc\x5c\x5a\xc2\xca\x74\xb4\x85\x42\x15\x56\xa6\xa3\xe6\x92\x0e\x1b\x67\x3a\xa2\x28\x89\x10\xed\x72\x44\xa7\x38\x81\xf1\x01\x4e\x22\xf4\x61\xdb\x36\xe5\x0f\x02\xbc\x90\xfc\x49\xd2\x1d\x61\xde\x7c\x47\x3b\x42\xc3\xcc\x32\x38\xd3\x2c\x89\x09\x49\x37\x28\xd9\x50\x98\x96\x53\x6d\xc2\x34\x27\x07\xef\xe0\xa4\x83\x1a\x22\x4f\xa4\x8d\x59\xdb\x86\x57\x8a\x3c\x41\x17\xfc\x72\x90\x00\x54\x58\x89\xa3\xaf\x56\xe2\x3f\x87\x95\x78\xb4\xdc\x4a\xfc\xc3\x01\xfb\xe7\x8b\xe9\x63\xde\x78\x17\xbb\xb0\xd4\xaa\x2d\x73\x43\x61\x9a\xd6\xac\xb0\xc6\xa4\xfc\xd0\x0e\xa5\x7d\x4e\xe2\x98\xdc\xe0\x64\xfc\x8a\x48\x43\x99\xeb\x06\xb6\xd6\xe1\x72\x7b\xd4\x48\xb6\xe9\xc6\xb2\x85\xba\xe0\xa5\xae\x23\x03\x4f\x81\xeb\x58\xaf\x4e\xec\xf6\x4a\x6b\xef\x3b\xb4\x76\x05\x33\x1f\xc4\xa2\xeb\xda\xe5\x0c\x4e\x87\xc0\x93\xea\xa4\x56\xf1\x8b\x74\x62\x94\x92\x9b\xae\x8e\x9a\xab\x5f\x30\x6d\x08\x0d\xaf\x19\xfd\xfa\x12\xb9\x47\x16\x72\x53\x98\x58\x16\x08\xdb\xf6\x1a\xe1\xe8\x65\x22\xa4\xe8\x9f\x65\xb6\x16\xab\x86\xb2\xfc\xf4\xc4\xfa\xf4\x06\xc7\xf1\x33\xc4\x38\x25\x33\xf7\xc7\x0f\xcb\x70\xdf\x20\x95\xae\xa7\x11\x35\xb6\x35\xbb\x76\x55\xc9\x61\x4a\xae\xcd\x3d\x37\x07\x64\x49\x8c\x18\x73\x6b\xec\x11\x8e\xba\x58\x4e\xd1\x03\x72\x0e\xdd\x48\x4d\x42\x7e\xde\xa5\x66\x94\xcb\xf5\x78\xe7\x01\xb2\x48\x81\x1f\x0e\xfc\x15\xb4\xf3\x3c\xec\xb0\x5c\xb6\x32\xd5\x9a\x30\x8a\xd1\x54\x9e\x31\x86\x1b\x98\x17\x66\x3c\xf5\x37\x23\xcc\x9f\x8a\x93\xa8\x78\xa3\xa2\x10\x01\x1e\xd4\xb6\x11\x20\xea\x95\x4f\x07\x61\xd0\xe4\x90\x94\x61\x8a\xd6\x21\x41\x1b\x1d\x92\xb4\xc1\x21\x49\xab\x0e\x49\x5a\x62\x8a\xb4\xce\x14\x49\xe1\x90\xcc\x27\x76\x8d\xd1\xcd\x2f\x84\xf2\x08\x47\xe7\x21\x25\x71\xec\x01\xdf\x0f\x06\x7f\x55\x6a\x27\x43\xfc\x65\x79\x76\xbe\x14\x0e\x4c\xeb\x2a\x21\xdb\x6d\x0d\x32\xcf\x7a\x11\x66\x29\x11\x27\x01\x50\x62\x59\xa7\xf4\x5e\xa9\x74\x7a\x4d\x7a\x7f\x64\x88\xce\xce\x51\x8c\xe4\x6a\x7a\x3d\xb5\xeb\xc4\x28\x85\x64\xe1\x05\x67\x3d\x8a\xa6\xe4\x1a\xfd\x70\x8d\x12\x2e\xa4\x79\x94\x20\xea\x7b\x4c\x8f\x5d\x69\xa8\xd5\x39\x95\xc6\x5c\xec\x27\x3d\x5a\x69\x17\x8a\xd0\x90\x64\x49\x88\x54\x39\x48\xad\xbf\x62\xfe\xd6\x0c\xb2\xff\xf0\x50\x40\x91\xd6\x12\x33\xf2\xd3\x38\x37\x97\x98\x47\x45\x20\x66\x09\x6b\x83\x07\x87\xf3\x12\x7f\xc8\x8d\x09\x7a\xde\x03\x1d\xfd\x76\xc5\x10\xcf\x52\x3f\x98\x9b\x3f\x6e\xf1\xc8\x2f\xf5\x10\x94\xb1\xdb\x23\x29\x4a\x7c\x1b\x94\x9d\x68\x98\xf6\x9e\x6b\xc2\xdd\x33\x33\x92\xbf\x4c\x77\x39\x94\x98\xc0\x48\xbe\xf1\x51\x00\x4a\x9f\x8a\x3f\xfc\xa0\xf2\x39\x49\x14\x62\x7d\x89\x41\x37\xd2\xfd\xc0\x04\x61\xb6\x5f\x5b\x18\x45\x2b\x2e\xec\xdc\x45\xa2\xb7\xce\x35\xd0\x0f\x55\x4b\x14\xbd\x25\xdf\x11\xce\xc9\xd4\x0f\xe6\xc5\xf1\xe3\x07\x55\xe2\x55\x03\xb0\x3f\x2e\xa8\xa2\xfe\xb5\xe2\x81\xfe\x49\x91\x83\xbc\x8c\xc7\xb9\xab\x7f\x13\xdc\xb8\x0a\xae\xf6\x4c\x50\x2d\xda\xdf\x47\xc5\x28\xd3\xbf\x0e\xf2\x5f\x2f\x90\x64\xde\xe8\xac\x47\x46\x23\x86\xb8\xfa\x2d\xad\x14\x51\x55\x69\xad\x70\xb0\xed\x25\xce\xad\xf4\x54\x3e\x24\xd7\x57\xef\x4a\x60\x2a\xba\x4e\xa5\x4b\x4b\xb6\x58\xbb\x3f\x0b\xc6\x22\xc5\x6a\xb8\x48\xb1\x1a\x81\x61\x0b\xc5\x8a\xc9\x1c\x77\xdd\x08\x71\x88\xe3\xad\x87\xe9\x54\x8b\xda\xe5\x63\xc8\x38\x8e\xd9\x01\x9e\xc2\x31\xea\x52\x34\x62\x4d\x9a\x92\x3a\x5b\x63\x00\xf7\xb6\x25\x01\xb3\xe5\x12\xf0\xbb\x7f\x8f\xd8\xdf\x9f\x1f\x92\x16\x12\x70\x15\x81\x65\x51\xa9\x21\x2f\xa2\xf1\xea\x18\x9f\x1c\xf0\x86\xd2\xd7\xe6\xf2\xf1\x55\x3a\xe8\x91\x6b\x81\x4c\x74\xd3\x73\x3a\xf4\x80\xcb\x29\x77\x08\x3c\x6e\x1c\x59\xcd\x61\x12\x1e\x37\x83\x58\x98\x43\x88\x37\x5f\xc4\xb5\x3e\x9a\xe8\xf0\x10\x8f\x85\x24\x15\x0b\x4f\xc9\x4d\x53\x58\xc3\xa2\x19\xc6\xcb\xea\x5c\x95\x7a\x5d\x94\x8a\xc5\x11\x67\x52\xe9\xf8\xea\x6a\x14\xa3\x0f\x0b\x41\x34\x27\x60\x54\x90\x8a\xd8\x83\xe6\x2c\x33\x0b\xae\x13\x2d\x7c\xb5\xf8\xc5\xa7\x5d\x19\xb5\x79\xa2\x35\x97\xc6\xbe\xdc\x6b\xc2\x32\x34\xc4\xb7\x58\x66\x0b\x55\xb7\xd5\x58\xc9\xa1\xda\x06\x29\x95\x30\xa6\x09\x64\xf2\xf6\x3d\x73\x67\x95\x69\x85\xb8\x6d\xa3\x2e\xd6\x03\x5a\x86\xb9\xd6\x64\x6d\xd3\xe4\x43\x8b\x26\xf3\x8e\x72\xc5\xce\x3c\xd9\x1a\x71\x56\xd4\x58\xfb\xd2\xac\x60\xec\x6f\x04\x5f\x07\x5e\x8c\x92\xb1\xc0\xdd\x17\xb3\x04\x72\x70\x1b\xad\x40\x25\x3a\xea\x1b\x2b\x3a\xca\xbe\xdb\x58\x60\x61\x79\x64\x94\x7b\x41\x1f\xdb\x37\xa4\x35\x34\xb3\xa4\x47\xee\x60\xa2\xa3\x8a\x5d\x61\x2b\x4b\x6b\x41\x72\xc2\x70\x06\x94\x55\x23\x06\xee\xe0\x34\x94\x9e\xfc\xee\xef\x8c\x24\xed\xcf\xc3\x7a\x70\x85\x68\xef\x59\xcc\x48\x42\xfd\x51\x3e\x74\xee\x95\xb6\x99\x55\xf3\x63\x01\x78\xd6\xe2\x19\xcb\x87\xb9\x2d\xac\xa2\x21\xf2\x99\xa9\x53\xaf\x8b\x93\x08\x87\x90\xcb\xdb\x9f\x91\x14\xb5\x08\x9d\x42\xde\x8d\x30\xe3\x30\x09\x51\x97\x93\x6e\x42\x6e\x04\xe8\x91\xa7\x13\xc1\xa8\x00\xcc\xa6\xc8\x8a\x5c\xd8\xf2\x80\x27\x66\x2c\x85\x7b\x19\x32\xd3\xc6\x7e\x52\xc6\xfb\x82\xc4\xad\xa5\xb0\xe9\x45\x49\x5c\x19\xf0\xe3\x56\x26\x16\x25\x03\x6a\xa1\x50\xdb\x57\x7a\xbd\x1e\xa4\xe3\x4c\xa8\x2e\x2c\x00\x4a\x97\x01\x7c\x90\x3b\x28\xb1\x36\x89\x24\x03\xd8\x68\x12\xf9\xdc\x31\xda\x63\xc4\x3b\x92\xd4\x7c\xe5\x28\xd7\x06\x6a\xeb\xc6\x61\x71\x9b\xcd\x2c\xc0\x59\x2f\x27\xce\xb3\x33\xef\x76\xee\x05\xda\xdb\x8c\xca\xde\x66\x81\x3f\x12\x23\xed\x62\x46\xc1\x5c\xf6\xa6\x4e\x00\xbf\x70\x2f\xa8\xeb\x82\x90\xa3\xb3\x5e\x4a\xa2\xb3\xde\x14\x71\x18\x41\x0e\xcf\xf4\x39\xa5\x2e\x57\x1a\x36\x96\x37\xf4\x0f\x01\x91\x77\xe1\x5e\x9a\x57\xca\x8c\xa1\x60\xa9\x99\xe5\x87\x6f\xf5\x42\xa6\x82\xbc\xbf\x7f\xf8\x60\x30\xb0\x5d\x0b\xd6\xcb\xa0\xa7\x0e\x0d\x79\x69\x2b\xb6\x14\xa3\xb0\x58\xe1\x74\x70\x41\x73\x27\x74\x34\xd8\x44\x6b\x04\xc3\xc1\xed\x1c\xd8\x63\x89\x1a\xdc\x1c\xc3\x0b\x74\x39\x88\xb4\x9b\x63\x58\x76\x73\xd8\x3f\xc1\xb0\xea\xe6\x18\x36\xba\x39\x86\x1f\x3f\x0e\xab\x6e\x8e\x61\xd9\xcd\x31\x1c\xa4\x6d\xdc\x1c\xd2\x16\x69\x96\xd6\x17\x1b\x11\x05\x1f\x3f\xa2\x79\x00\x86\x01\x18\x59\x6e\x8e\x61\xc5\x09\x31\xd4\x6e\x8e\xd2\xf3\xb3\x61\x9d\x7c\x47\xb9\x9b\x63\xb8\xd8\xcd\x51\xed\xc1\xbd\x03\xc5\x10\x87\x62\x7a\xca\xcd\x01\x07\x43\x10\x97\x72\x39\x4f\x5b\x2b\xb0\x75\xb6\x79\x5f\x93\xf5\xff\x25\x1e\x7d\xfb\xf7\xa7\xbc\x21\x59\x7f\x3d\x03\xbf\xd8\x93\x19\x7b\x83\xa4\x1d\xc7\x92\x54\xac\xec\x2b\xb9\xa6\xd5\xfc\x52\x87\x64\x78\x40\xff\x3e\x97\x50\xed\x53\xb3\xfc\x9d\x95\x4d\xef\xe8\xff\x67\xef\xdf\xb7\xdb\xb6\xb5\x45\x71\xf8\x7f\x3f\x85\xa2\xbd\x8e\x07\xd9\x52\x30\xef\x17\xad\xad\xfa\x64\x39\x69\x9b\x7d\xdc\xcb\x49\x9a\x76\x9c\xe5\xf8\xb4\x8c\x04\xdb\x5c\xa1\x48\x96\xa4\xe2\x78\xdb\x3a\xcf\xf2\x3d\xcb\xf7\x64\xbf\x31\x27\x00\x12\xa4\x48\x5d\x1c\xbb\xb5\xbb\xdc\x91\x51\x0b\xc4\x85\xc0\x24\x30\xef\x98\xb3\xed\x3c\xce\x7f\xdb\x2b\x9d\xa1\x97\x2e\x08\xee\xf0\xed\xf7\xff\xeb\xfb\x1f\x7e\xf9\xbe\x33\x88\xde\xfa\x31\x8c\x6a\x8c\xe7\xc7\xaf\x7e\x7e\x79\x8b\x11\xcc\x6a\x84\xd7\x2f\x9f\xbf\xf8\x3f\xb7\x18\xc1\xaa\x46\x78\x71\xbb\x45\xd8\xd5\x00\x3f\x3e\x7f\xfd\xd3\xab\xe7\xc7\xb7\x18\xc3\xa9\xc6\xf8\xee\xd5\x9b\x37\xaf\xbe\xff\xa6\x1d\xaa\x8f\xff\xd7\xc1\x47\x36\xa4\xda\x8a\x67\xc1\xaf\x3e\xca\x71\x33\x35\x78\x94\x8b\xb0\xb8\x10\xd1\x2a\xc2\x64\xc6\xbc\x34\x77\x62\x2d\xda\x27\xf8\x4f\x8a\x0e\x2f\xe6\x53\x8c\x10\xff\x8e\x18\x6f\x82\x6e\xf3\x7f\x51\x84\xf2\x7f\xcc\x5f\xdc\x9f\x8e\xe3\xff\xbd\x2d\x42\xb9\x8c\xca\x8b\xef\xc2\xfc\x3c\x4a\x1a\xfa\x8e\x5e\xbf\x66\x21\x46\x4d\xc3\xac\x19\x1e\xc7\xd7\xdc\x6a\xe3\x59\xab\x62\x02\xcb\x44\x11\x9f\xe7\xe9\x22\x5b\x73\xad\x68\x9a\x4a\x97\x91\x2e\x47\xe6\x81\x33\xec\x34\x4b\xae\xf6\xb8\xa7\x26\xc3\x35\xeb\x29\x41\x4c\x59\xb3\x98\x1e\x41\xb8\x25\x00\x37\xa5\x5d\x0c\xb1\x93\x85\xe7\xb4\xe2\x12\x0b\x82\x7b\x57\xc8\x44\x05\xd9\x74\x3f\xe9\x73\xc7\xe7\x71\xf2\xee\x6d\xfc\x0d\x02\xfb\xe7\x0e\x5f\x08\x62\x76\x6f\x6f\xc8\xf2\xf4\x63\x54\x44\x69\x42\x67\xa3\xf7\x57\xfd\x6f\x5a\x11\xa4\xd7\x6e\xa6\x0e\x8d\x6d\x4b\x35\x61\x77\x90\x08\xb3\xad\x8c\xa8\x84\x4f\x12\x01\x9a\x3b\x39\xb1\x6d\xd6\xd2\x92\x44\x6e\xe1\xad\x81\x75\x75\x40\x58\x81\x15\x90\x2d\x1f\x0a\xd7\x8c\xb6\x42\x84\xff\xf6\xa5\xdf\xc1\x69\xfd\x0e\xb6\x7d\x4e\xb5\xe1\x8c\x66\x71\x7a\x35\x97\x2e\x82\x68\x6b\x9c\x6d\x49\x98\x65\xa4\xee\x52\x90\x8e\xee\x5b\xbf\x3a\xa7\x31\x0d\x0b\xba\xf5\x7b\x5b\xed\xdb\xef\xfb\xdc\x65\x57\x8c\x98\x2e\x75\xae\x37\x5a\xdd\xa3\x19\x9b\x5f\x1b\x0e\x3e\x32\x37\x17\x78\x41\xa5\x7e\x28\xe8\xef\x0b\x9a\x4c\xbb\x42\xcd\xde\x16\x3e\x1b\x26\xc8\x9b\x7f\xde\xec\x24\x2e\xa5\xa5\x2c\xdb\x42\x71\xb8\xad\xd2\x70\x4d\x1c\x33\x43\xdc\x9d\xe3\x0e\x47\x30\x73\xbb\xbe\x44\xc8\x9d\x80\xc4\xd6\xff\x9f\xf3\x74\x26\x54\xae\x0d\xe0\x58\xba\xe6\x68\xe2\x88\x00\x2c\x89\xc4\x5a\xb5\xa0\x29\x33\xcb\x86\x25\x7d\x88\x35\xd0\xaa\xe6\x15\xcd\x24\x10\xee\x16\x70\xb3\xb5\xb2\xdd\xa3\x67\x6e\xb2\x4e\xcc\x6a\x22\x5d\xb1\x7c\xcc\x95\x8a\x7f\x09\x0e\x73\xbb\xe3\xd6\x53\x05\x10\xe1\xa7\x64\xe3\x4d\xa8\xb0\x64\xb9\x39\x4e\xbb\x02\x3a\xb6\x16\xc6\xf7\xf1\x96\xd3\x6c\xa9\x93\x5d\xe9\xb5\x9f\x63\xa9\x68\xbe\x80\x2f\xd8\x5b\x63\x48\xb2\xe5\x35\x6d\x3d\xef\xe1\x6a\x7a\x94\xad\xd1\x4e\x87\x4a\x7a\xc3\x81\x80\xad\xcd\x4f\xf9\x9a\x13\x71\x4b\x34\xae\xed\x7a\x16\xb6\xdd\xf6\xed\x0b\x8b\xfd\x34\x7c\x15\x4a\xf2\x06\xeb\x08\x00\x3a\xc0\xff\x8f\x46\x1f\x69\x5e\xb4\xc2\x41\x7e\xac\x37\x65\xff\x3a\xd6\x19\x24\xfa\xee\xa1\x4a\x26\x98\x9d\x90\xf8\x9f\xf5\xb9\xf9\x44\x46\xc8\x70\xfc\xe9\x9f\x78\x85\x96\x3f\xd4\xef\xbb\x1a\xe4\x75\x63\x6c\x6d\x1c\xc1\xe1\x51\xff\xd9\x1f\x6b\xfd\x7d\xf3\x9e\x59\x34\x04\x3f\xad\xc6\x55\x85\x64\xbd\xf8\x41\xb8\xca\x4b\xa6\x8f\x8f\x61\x0e\x4d\xf6\x6b\xf1\x4f\x68\x13\x4a\x7e\x3d\xf4\x8a\x87\xa9\xec\xb7\x5d\xc4\x78\xc3\xb3\x53\xc7\x00\x82\x58\x32\x0d\xa1\x1e\xd3\xe1\x95\x29\xd4\x66\x19\xc5\x06\x62\x80\xa6\x63\x29\xfc\x19\x9d\xa5\xf9\x48\x96\xdf\xd7\x5b\x59\xd6\xd9\x67\xa2\xb3\x9d\x34\x1d\x6d\xcd\xc2\xc3\x50\x74\xfc\x75\xf5\x1b\x57\xc7\xa1\xfe\xb2\x7c\xf3\xe6\x49\xbf\xf1\xa4\xdf\x78\xd2\x6f\x3c\x1c\xad\x03\x57\x36\x34\x63\x8d\xaf\x93\xe9\x76\x91\xe8\x86\xb5\x43\x8a\x25\x24\xa3\x1e\x07\x94\x2a\xb2\xca\x0a\xaf\x63\x6d\x25\xeb\x21\x9f\xde\x2f\xf8\x03\xcf\x74\x2a\xb3\x65\x95\xd7\x43\x43\x7e\xb3\x3e\x5b\x7e\xb3\x76\x96\xdf\xfa\xf3\x2e\x0d\xbb\x53\x63\xf4\xa4\xcf\x1f\x9d\x45\x71\xbc\x26\xb3\x5a\x47\xf8\xa3\x6c\x56\x8c\x46\x1f\xa3\x62\x11\xc6\xf1\xd5\xb7\xd1\x6c\x46\x65\x46\xaa\x63\x39\x9d\x71\xb3\x37\xb8\xa5\xdc\x42\xfc\xec\x5a\x6d\xc5\xa0\x1a\x12\x83\xba\xbd\xf8\x69\x6d\x12\x3f\xd7\x0b\x9f\xa6\xf4\xd2\x5b\x09\x9f\xfd\xa2\xa7\xb5\x46\xf4\xb4\xd6\x89\x9e\x5d\x1c\xe3\xfd\x71\x95\xf8\xbc\x75\xf0\x3e\x93\xa1\x64\x4e\x33\xab\xfc\x22\xe3\x2d\xef\x9f\x69\xbc\x05\xbf\xf8\x27\xb1\x89\x95\x9b\xd2\x1f\x1d\xc1\x71\xa3\x47\x78\x75\x7b\xb5\x78\xba\xbd\xfa\xef\x71\x7b\x75\xb1\xc5\xed\xd5\xe0\xf9\xe5\x7f\xcf\xe7\xff\xea\xcf\x24\x2c\x67\xe9\x70\x34\x5d\x3b\x31\x03\xed\x44\xa0\x36\x5e\x29\xf8\xa2\x46\x86\x24\xfa\x29\x0b\xd1\x12\x7c\x7a\x5a\x8d\x32\x1a\x55\x4f\xa5\x67\xd3\x34\x8e\xc3\xac\xc0\xa6\xa7\x6d\x5e\x86\xcf\xa3\xf6\x43\xe7\xdd\xd6\x44\x33\x14\x53\xbf\x30\x87\xdd\xbd\x98\xe3\xe3\xda\xa4\x3c\x2f\x71\x9e\xa1\x48\xb2\xb1\xa2\x4d\xe7\x24\xa1\x8b\xfc\xf5\xc1\x60\x7a\x41\x3f\xe6\x69\xc2\xae\xbd\xd6\x45\x91\xfd\xa5\xcb\xab\xa0\x43\x95\x21\xb3\x06\x3d\x3c\x9f\xaf\x19\x5d\xac\x45\x07\xcd\x5f\x65\x5c\x77\x00\x04\x76\xee\xb8\x81\x5c\x81\x5a\x4a\x5d\x27\x31\x8a\x3d\xe0\x69\xe4\x2d\xe2\x43\x10\xb1\x33\xba\x33\x43\x8a\x56\x6c\x98\x56\xb6\xc7\x61\x98\x47\xa1\xb4\xdd\x7a\x3f\x4b\x99\x2f\x80\x08\x22\x51\x1c\x9e\xf6\xde\x8b\xb6\x3b\xee\x45\xb3\x05\xbe\xac\x47\x6b\x5d\x00\xde\xe2\x0a\xf3\x3a\xe0\x37\xc0\xd3\xbc\xf8\xed\x6b\xe6\xfa\xed\xd2\xf6\xae\xdd\xaf\xfd\x85\xf7\xb9\x44\xd2\x08\x31\xd6\x24\xde\x32\x47\x90\x6e\x97\xd9\x44\x7c\x8c\x35\x64\x77\xba\x8e\xec\x2e\xee\xc3\xbf\xb5\xfe\xfc\x8f\xc5\xc3\x55\x3e\x70\x2d\xcf\x53\xf4\x6c\x95\xeb\x0f\x0f\x9f\xe9\xcb\xe6\x1e\x14\x57\x1e\xc5\xc2\x27\xcf\x1a\xc5\xe5\x52\x0b\x27\x85\x12\x37\x62\xa4\xd7\x47\xe4\xf3\xa3\xd4\x54\x54\xb8\x63\xea\xe2\x45\x38\xed\xa5\xaa\xb5\xe6\xd1\x3a\x4c\xbb\x5c\x06\x5c\x37\x8e\xaa\xc5\xf2\x85\xc0\xa6\xc3\xe4\x74\x23\x3b\xd7\xe7\xc1\xf5\x57\xd5\xfe\x7d\x7a\xf3\xe2\xfd\xab\xb7\xbf\x38\x3d\x41\x8f\xed\x4e\x9f\x47\xae\x30\xd1\x86\xf3\xca\xed\x31\xe2\x2e\x94\xaf\x17\x49\xc2\xd0\x0e\xac\x38\xa6\x25\x45\x69\xac\x65\x04\x6f\x07\xcb\x95\xdc\xf2\xda\x1e\x94\xb5\x42\x64\x91\x7c\x48\x30\x82\x84\xa4\x16\xe8\xe8\xd8\xe1\x62\x69\xb7\x6e\x2f\xe0\xdc\x45\x98\xc3\xda\x1d\x72\xa5\x49\x73\x09\x4d\x43\xbb\x4c\x97\x57\xf8\xa4\xc1\xa0\x67\x23\x6d\xaa\x1f\x8d\x86\x55\xcc\x4e\xa1\x96\x3a\x95\x68\xfa\x59\x3a\x85\x5e\x51\x72\x5e\x5f\xb6\xe0\xca\x9e\x32\x7c\xcf\x03\xff\x0c\xf5\x7e\x26\xa9\x56\x31\xf4\xcc\xe0\xd7\x5f\xeb\x34\x7d\x36\xa7\xaa\x17\x4c\x01\xc1\x69\x67\x07\xb9\xdb\xf9\x1d\x75\x66\xde\x8d\xb9\x1c\x37\xa8\x42\xb8\x1e\x00\xf3\x32\xb3\xd7\xfd\xca\x5e\xf7\x6b\xed\x2a\x89\x6f\x23\x59\x4e\xcf\xa2\x4f\x1b\x15\x89\x8d\x21\xe5\xdc\xce\x1b\x86\xef\xf8\x70\x6d\x77\x8d\x75\x3a\xc5\x56\xc8\xd5\x8a\xcd\xcc\xd2\x2c\xa3\xf9\x0f\x28\xcb\x37\x9d\x27\xea\x46\xf3\x74\x16\x9d\x45\x34\xef\xab\xe7\x09\x8c\x7e\xf8\x48\xf3\xb3\x98\xe9\x02\x3b\x5a\xd1\x62\x1a\x66\xf4\x97\xa8\xbc\x78\x4d\xcf\x68\x8e\x06\x39\x6d\xf8\x3e\x5d\x24\xb3\x30\x8f\x68\xf1\x92\xc7\xe9\x38\xd5\x4e\x18\x2b\x31\xac\xee\xbf\x9f\xd6\xff\xf5\xa9\xe5\x24\x5e\xc7\x44\x46\xb3\x89\x2f\xba\x5d\x58\xb6\xfb\xbc\x65\x9a\xc6\x65\x94\x11\x4c\x82\x1c\x25\xe7\xbf\x26\xb8\xc6\x26\xd0\xbb\x95\x79\xab\x26\x50\x31\xc1\xf9\x2a\x1a\xd9\x6a\x12\x2d\x2c\xd5\x9e\xc6\x2a\x24\x5a\x48\xa6\x37\x91\x66\x31\x0f\xe3\xf6\x91\x19\x9e\x6a\x5d\xaa\xc9\x1d\xe1\x16\x87\x45\xf9\xab\xc8\x20\xdd\xb5\x59\xbb\xc7\x0e\x24\x68\x35\x16\xd1\xa3\x7a\xdb\x74\x39\x55\x62\x68\x5b\x1a\xcc\xee\xf0\xba\xab\xdd\x4d\x1e\x5b\xb7\xe9\xd4\xcf\x6d\xac\x35\x03\xbc\x6a\x2e\x05\x11\x6d\x1a\x16\x54\xd8\x4c\x4b\xd9\x6e\x8a\x04\x7c\xc4\x81\x25\x94\x63\xeb\x34\x5b\x5b\xb1\xcf\xdd\x98\xf1\xcf\xd2\x62\x35\x66\x33\xa7\x65\xc8\x94\x6a\xf7\x13\x4a\x6e\x25\xee\xc1\x4a\x24\xb9\x0e\xed\x97\x9c\xaf\x64\x97\xf4\x24\xb5\x1e\xec\xfd\x63\x4a\x4c\x32\x7f\x52\xda\xfd\x7b\x28\xed\xae\x36\xf3\xe8\x47\xaf\xfe\xab\x38\xff\xf9\xfd\xfb\xdd\x78\xf4\x8b\x74\x11\xcf\x5e\x63\x64\xaf\x6f\x91\x31\x7e\x9e\xcc\x7e\x0a\xe1\x28\xc9\x55\x47\xe9\x9c\xa5\x51\xef\xe7\xcf\xdb\x4c\xf4\xa9\x36\x7c\xd1\xef\x91\x2b\x37\x7b\xdd\xe3\x04\xdc\xe0\x93\xc4\xd5\xab\x95\xea\x2c\xa7\x71\x1a\xce\x86\xda\xf0\x5f\xe9\xfb\x17\x61\x19\xbe\x41\x7d\xff\x6b\xbc\xa2\x7b\x1e\x31\x1c\xcd\x66\x5f\xb3\xe6\xb2\xe6\x30\xcc\xcb\x08\x50\xd1\x48\xdc\x6d\x5f\x61\x38\x2b\xdb\x4f\x4f\x00\x90\x8d\x46\x5d\xa3\x79\xdb\xc8\x66\x11\xf7\xed\xd3\xda\x68\xd9\x05\xec\xee\xda\xc6\x57\x92\xc0\xb1\xca\xb0\xf8\x9a\xdd\xad\x0d\x5a\xc7\xdc\xf8\x95\x21\x5c\xc0\xa5\xbe\xf3\xbf\x48\xc2\x8f\x61\x14\x73\x28\x74\x32\x4e\x4d\x83\xf1\x9a\x79\xdf\x8f\xd1\x7a\x9b\x55\x70\x33\x12\x72\x32\x5b\xa5\x9b\x59\x17\x3c\x62\x55\x0f\xcd\x68\xa4\x64\xa4\xda\xc2\x47\x3a\x58\x77\xd3\xb0\xe7\x18\x34\xb4\x86\xff\xff\xff\xdf\xaa\x9e\x90\x7b\x0a\x7e\x1b\x16\xf5\xa9\xe8\xb6\xdf\xb7\x2d\xd5\x22\x48\x23\x0f\xd5\x3d\x92\x21\x36\xaa\x35\xa0\x7d\xf9\x50\x5e\xb3\x6e\x35\xcf\x5e\x47\x91\xec\x0a\x23\xc9\xdf\xc2\xf6\xc7\x11\xfb\x2a\xdd\x39\x20\x34\x96\xe1\xfe\x4d\x19\xe6\x72\x32\xf3\x7a\xa2\x95\x44\x71\x4b\xe7\xc6\x75\xdb\x26\xa7\xa3\x7c\x91\x8c\xfa\x76\xcf\x1f\xe4\x88\xb8\xe9\xe1\x5d\x79\x7e\xdc\x06\x42\x2b\x21\x41\x36\x2f\x64\xeb\x33\xe6\xaf\x66\xca\xbf\xcd\x41\xd9\x11\xb0\xdd\xb1\x59\xd6\xe0\xeb\xfb\xba\x5e\xb1\x0d\xf8\x05\x95\xdb\xd9\x85\x7e\xed\xed\x0d\xd9\xbb\x61\x5a\x73\x01\xb7\x22\xbe\x7d\x9e\x2d\xdb\x6d\xfd\xee\xc3\xb3\xd2\x77\xa5\x57\xa7\x93\x05\x13\x00\x05\x10\x7f\xba\xca\x6a\xb7\x08\xc9\xdb\xb6\xc6\x20\x9d\x42\x61\x58\x7b\x3b\xa0\x3c\x88\x22\xdf\x45\x58\x8c\x90\x01\x6b\x19\x4c\xfa\x6f\xfd\xae\xe6\x5c\x99\xa6\x49\x19\x46\x09\xcd\x47\x2c\xde\x48\x89\x0c\xd9\x79\x54\x8e\x2a\x68\xee\x2a\x3b\xb6\xa5\xb5\x0d\x19\xe5\x31\xc0\x5b\x7e\x07\x89\x57\x44\xd6\x95\xa6\x2d\xe6\x7d\x57\xfa\x95\x9e\x14\xf3\xed\x6c\xed\x55\xea\x81\x76\xae\xf6\x15\xca\x23\x12\xb1\xa0\x09\x45\xfe\xd6\x5d\x76\x08\xb9\x1e\x3b\xe0\x66\xe8\x6a\x89\x15\x55\xe0\x11\x81\x6a\x5a\x2d\xb1\x11\x91\x1b\x60\x8f\x2e\xa2\xdc\x8c\x25\x29\x1c\xfc\xa7\x8b\x3c\xa7\x49\x79\x48\x66\x55\x43\x21\xd8\xfd\x23\x4d\x63\x1a\x26\x0a\xdd\xdf\x7f\x46\x49\x9c\x4e\xc3\x58\x64\x26\x5f\x25\xa6\x20\xe5\xad\x26\x27\xe7\x29\x58\x12\x7a\x39\x08\xc9\x6b\x7a\x46\x7e\xc8\x68\x1e\x82\xd0\xb5\x87\xba\x83\x57\x33\xa5\xb5\x60\x12\xcd\x58\xaf\x44\xea\xf5\x8b\xb8\xa0\xc0\x2d\x69\x72\xfb\xea\xf2\xc2\x61\xfd\xf3\xe6\xa6\xa2\xca\x7b\x09\xbc\xa7\x1a\x40\x89\xd8\xe8\x39\x1f\xfd\xe5\xa7\x8c\xce\xa2\x92\xbe\x91\x20\xf8\x9a\xfe\xbe\xa0\x45\xb9\x97\x37\x7b\x26\x6a\x43\xd4\x10\xf9\xc4\xe5\x0f\x7a\x88\x5d\xea\x46\x4a\xa9\x8e\x2b\xb9\xa3\xab\xc3\xfe\x3e\xf6\xe0\x4d\x14\x1e\x9f\x35\x6d\x67\x60\x99\xc6\x11\x4d\x4a\x42\x3b\x26\xab\xf0\xdc\xdb\xd0\xec\x97\xa8\xbc\xf8\x8e\x96\xa1\xa2\xaa\x84\x45\x9a\x51\xa8\x88\xb8\xdb\x95\xcd\x84\x8a\x54\x25\x18\xbd\x36\x3a\x53\xd2\xfd\xfd\xf4\x90\x9c\xd3\xf2\xbf\xd2\xf7\xaf\x66\x8a\x5a\x05\x4b\x6d\xee\xf8\x66\xfa\x9d\x90\x7c\x83\x1d\xde\x94\x39\x0d\xe7\x02\x78\x98\x89\x87\x0d\x93\xca\x23\x8a\x0c\xf0\xb8\x8d\x60\x76\x98\xd4\xfe\x9c\x96\x18\xdb\xf5\x08\xa0\xa0\x4e\x26\x93\xf6\xa0\x45\x96\x26\x05\x25\x55\x23\xf2\xe6\xa7\xe7\x3f\xbd\x64\x3b\xba\x9c\xe0\x00\x6f\x58\x78\x1e\x9c\xff\x11\xdb\xd5\x8a\xba\xe7\x00\xd8\x45\x8a\xf7\xd5\x85\x18\xea\x72\xf9\x77\xa5\x1b\xdc\xe7\xd2\x0c\x14\xda\x09\x66\x95\xa4\x89\x32\x84\xa3\x33\xd4\x4a\x9e\xe5\x65\xde\x95\xe5\x25\xbf\xb3\x2c\x2f\xf3\x7b\xce\xc1\x32\x6b\xbf\x41\xce\xc1\x72\x37\x8b\x38\x6b\xbf\x62\x15\xa5\x9e\xc4\x77\x6f\x0d\x7e\x66\x2c\x31\xbf\x78\x33\x4b\xce\xaa\x58\x70\xeb\x48\xb0\x1d\x63\xad\x8b\x08\xfb\xd9\x59\x9c\x8b\x8f\xe7\xa3\x2c\x2c\x4b\x9a\x27\xc5\x5f\xd7\x28\xfc\xed\x97\xbf\x94\xff\xf5\x5f\x76\xcf\x95\x10\x34\x46\x7c\x3c\x97\x7c\xad\x64\xa0\x70\x6e\xf7\x02\xa3\x1b\x57\xb6\x48\x5b\x1b\x5e\x46\x33\xb4\xd2\x56\x0f\x3e\xcd\x63\x00\xe2\xf0\xa2\x2c\xb3\xf1\xc1\xc1\xe5\xe5\x25\xb9\xb4\x48\x9a\x9f\x1f\x98\xba\xae\x03\xa8\xfb\x2b\xb1\xef\x81\x18\x49\x5c\x35\xd3\x86\x06\x31\xd6\xa8\x71\x66\x2c\x94\xee\x1a\x0b\x8a\x68\x19\x47\x09\x0d\xf3\x6f\xf2\x70\x16\x71\x93\x97\x61\x6b\x86\x36\x8c\xd3\xf3\x74\x94\x85\xd3\x0f\xa3\x69\x1a\xa7\xf9\x28\xac\x16\x63\x0c\xb5\xa1\xa3\xff\x8f\xaa\x6c\x36\xcb\x57\x50\x2f\x15\xa1\xda\xd0\xf9\x83\xf5\x41\x49\x8b\x32\xcd\x44\x3f\x16\x3a\xba\x31\x14\x54\xb3\xd9\x0c\xb5\xe1\x7f\x78\x8e\x77\xf4\x8f\xe7\x5d\x36\xda\xad\x87\xae\xa6\xb5\x32\xb8\xe9\x98\x81\xab\xaf\x1b\x7c\x83\x2c\xb8\x2d\x58\xdf\x3f\x34\xb0\x7e\x7d\xe4\x99\x47\xde\x3d\x81\xf5\xc5\x4b\xc3\x71\x8f\xfe\x00\xb0\x4e\x1f\x1a\x58\x7d\x3f\x70\x5f\xfc\xe3\x9e\xc0\x6a\x7b\x8e\x19\xbc\xd8\x01\xac\xfd\xe8\x60\x1e\x16\x1f\x6a\xb0\x42\xa9\xc2\x62\x50\x18\x95\x4c\xcc\x0c\xe3\xec\x22\x94\x2b\xde\x26\x11\x12\x87\x45\x41\xf3\x37\xc0\xd2\xfe\x90\xbc\x2d\x2a\xdf\x8a\x4f\x43\x6d\x68\x56\x30\x96\x0b\x02\x57\x9a\xfa\x0a\x3e\x35\xbb\x9c\x3b\xda\xf3\xcd\xc2\x5a\xef\x70\x16\xc5\xf1\x28\x47\xea\x30\x04\x51\x21\x9d\x89\xcb\x1e\xc3\x69\x1c\x65\x3d\x55\x20\xdc\x7e\xe7\x11\xdd\x30\x06\xa6\x41\x2c\xdf\x72\x8f\x3c\x62\x19\x9e\xe1\x42\xd9\xf3\x75\x7f\xe0\x11\xcf\x0d\x3c\x77\x60\x9a\x03\x9f\x98\xb6\x1f\x78\x03\xd3\x3c\x36\x1c\xe2\x39\xae\x07\xad\x02\xdf\xb5\x8e\x0c\x97\x98\x96\x13\x88\xf2\xc0\x70\x89\xeb\xfb\x0e\x8e\xe2\x58\x36\x94\x83\xc0\xc6\xf6\x96\x1b\x04\xc7\xa6\x41\x5c\xc7\xf2\x06\x86\x43\x6c\xc3\x38\x82\x6e\x4e\x10\x40\x51\x37\x2c\x78\x03\xd1\x5d\x18\xc6\x26\x8e\xee\xfa\x83\xaa\xde\xc6\xfa\x63\x53\x27\x66\xe0\x04\x03\x97\x38\x30\xfc\x91\xa9\x13\xc3\x0f\xec\x81\x4b\x74\xdf\x34\x82\x81\x11\x10\xdf\x0d\x82\x81\x43\x5c\xdf\x0e\x2c\x28\xdb\x96\xee\x0d\x1c\x62\xbb\x8e\xe7\x1c\x1b\x26\x71\x03\x67\x60\x12\xc3\xb5\x2d\xff\xc8\x30\x89\xed\x9b\x03\x93\xe8\x8e\xed\x05\x03\xc3\x24\xa6\x6d\xda\x03\x13\x7e\xe9\xba\xe9\x0f\xcc\x23\xc3\x20\x9e\x6b\x99\xf0\xcc\x20\x8e\x69\xb9\x75\x6b\x83\x58\x86\xee\x8a\xc1\x8e\x6d\xe2\x78\x36\xbe\xdb\xf6\x02\xdb\x39\xb2\x89\x61\x39\x9e\x01\x73\x41\xd0\x58\xc4\x37\x5c\xd3\x82\xb9\x06\x8e\x1f\x0c\x2c\xe2\xe9\x81\x07\x73\x77\xfc\x40\xb7\x8f\x4d\xa2\xdb\x8e\x8f\x4b\x35\x3d\xfb\xc8\x20\x81\xc9\x97\xee\x98\x3a\xcc\x99\x55\x3b\x58\x3d\x30\x89\xe5\x18\x81\x8b\x80\x34\x6d\xef\xb8\xf1\x31\xff\xf9\x9d\x11\xc0\xac\xfc\x81\x61\x11\xd3\xf2\xbd\x6f\xa1\xec\xf9\xc1\x11\x02\xc4\xb4\xe0\xb9\xa5\x07\x06\x00\xc8\xf1\x3d\x03\xca\x8e\x65\x5b\x72\xd9\xd3\x2d\x13\xda\x3b\x96\x8e\xe3\xf8\xbe\x6b\x42\xbd\x65\x7b\x62\x96\x50\x34\x2c\xd7\xe3\x45\x68\xad\x07\xb6\x2d\xd5\x8a\xaf\x29\x8a\x26\xab\x34\x4c\x9c\x8a\x8e\x2f\x0a\x02\xdf\x1f\x18\x3e\x09\xe0\xcb\xca\x65\xdf\xf0\x45\xf9\x08\xca\xae\xe7\x35\xea\x71\x23\x41\xd9\xb1\xb0\x6c\x01\x3c\xa0\x6c\xb0\xf6\xa6\xe3\x60\xd9\xf7\x59\xbd\x61\xd8\xac\x6c\x63\x7f\x1f\xa0\xcf\xcb\xd0\xde\xc3\x71\x2d\x12\x38\xae\x0b\xf5\x9e\xe9\xb3\x7a\xfc\xeb\x13\xd7\xb6\x05\x1c\xa0\xb9\x6b\x9a\x38\x5d\xdf\x0b\x4c\xac\xd6\xd9\x74\x7d\xd7\xc7\xee\x8e\xaf\xe3\x74\x7c\xc7\x37\x8e\x5b\x65\xe8\xef\x38\x01\x4e\xcf\xb7\x3d\x07\xdb\x5b\xec\x75\xbe\xe5\x06\x58\x36\x3c\xfc\x4e\xbe\x19\x04\xdf\x42\x19\xbf\x87\x0f\xe7\x0d\xdf\xe3\x59\xb0\x1c\x8f\x04\x81\x8b\xe3\xb8\x36\xf4\xf3\x88\xe7\x19\xd8\xcf\x35\x7c\xff\x5b\x28\xdb\x96\x71\x64\x78\xc4\xf5\x02\x5f\x3c\x87\x76\xae\xad\x9b\xac\x9f\xe9\x60\x59\x67\xf3\x73\x5d\xd7\x3a\x6e\x95\xa1\xbf\xe3\x33\x70\xb9\x9e\x6d\x42\x7b\x07\xff\x5a\xc4\xf5\x4d\x03\xcb\x2e\xfb\x9c\xae\x1f\xe0\xfb\x1c\xc7\xaa\xca\x58\x6f\xb3\xcf\xe3\x06\xb0\x17\xa0\xcc\x8b\x00\x4e\x28\x9a\x6c\x19\x41\xc0\xaa\xad\x40\xec\x42\x56\x34\x45\x11\x26\x67\xb9\x7c\x70\xcf\xc1\x97\x99\xa6\x89\xfb\xcc\x30\x18\x50\x74\xd3\x31\xf1\xe8\xe0\x66\x75\x01\x28\xb8\x69\x03\xdb\x08\x10\x69\x05\x96\x05\x67\xc7\xd3\x61\xf2\x0e\x71\x9d\x00\xdb\x59\xa6\x81\x3b\x34\x30\x2c\xd6\xcf\xf1\xfc\x63\x28\xfb\xb0\x58\x97\x04\xa6\xeb\x1d\xc9\x65\xcb\xc2\xdd\x1f\xe0\xc7\x85\xb2\x87\xef\x0d\x3c\x38\x44\x2e\x09\x6c\xdd\xc7\xf6\x9e\xc5\xea\x6d\xdb\x62\xf5\x3a\xaf\x67\x87\xa9\x2a\x3b\x36\x6b\xef\x7a\x6c\x7c\x40\x57\x58\xe6\xfd\x7d\xf8\x0b\x65\xde\x3e\xf0\x1c\x6c\x6f\xbb\x08\x35\xdd\xd1\x59\x7b\x9c\x97\x47\x0c\x5c\x9f\x0d\x7b\x1a\x8b\xbe\x6e\x1c\x21\x0a\x61\xdf\xdc\xf2\x02\x1b\x96\x6f\x38\x86\xcb\xbe\xa9\x8f\xb8\xd9\x0c\x5c\x84\xba\xaf\x1b\x3e\xe0\x7c\xcb\x64\x45\xdb\x70\x7f\x86\xbf\x8e\xe3\xc1\x30\x96\xe5\xe2\xa7\xf5\x3d\x17\x31\x93\xe5\xe8\xac\x8c\x48\xc0\x21\x96\xcb\xb6\x4a\x60\x98\xd8\xdc\x83\x83\xe8\x91\xc0\x64\x88\xcb\x0a\x4c\xb6\x83\x6d\x58\xac\x43\x6c\xdd\xc5\x59\x05\xae\x6f\x41\x7b\xdb\x35\xf1\xa0\xea\x16\x9b\x95\x63\xc0\x4e\xf2\x89\x81\x98\xcb\x21\x8e\x6b\xe0\xc1\x36\x02\xcb\x81\xf6\x8e\xe7\xe0\x41\x35\x75\x0f\xc7\x77\x80\x34\x54\x27\xc6\x21\xae\x6e\xe1\x49\x33\x5d\x2b\x38\x92\xcb\x1e\xdb\x03\xba\xc7\x4a\xb6\x83\x45\x40\xee\x58\xf6\xb1\xb1\x61\xe3\xcb\x4d\xdf\xe0\xd5\x1e\xab\xf6\x9b\xc5\xc0\x44\x08\xbb\x9e\x85\xa7\xd8\xd6\x6d\x9c\xbb\x28\x3b\x78\x6a\x1d\xe2\xda\x8e\xc7\x91\xca\x91\xd4\xdd\x43\xdc\xe3\x10\xc7\xb2\xf0\x6d\xbe\x6d\xe0\xdc\x6c\xcb\x76\x05\xce\xaa\x41\x29\x70\x1c\xff\x40\x02\x05\x3a\xc4\x74\xd9\xe8\x50\xc6\xef\x1d\xb8\x7e\x5d\x6f\x93\xc0\xf4\x82\x7a\x78\x9b\xf8\xb6\xc5\x50\x9c\x07\xb3\x6f\x96\xb1\xde\x0c\xf0\x75\xae\xe3\x37\xcb\x30\x7b\x28\x9a\xac\x68\x32\x82\xe5\x1b\x0e\x43\x89\x46\x80\xa7\xc9\xd7\x7d\x8e\x22\x7d\xdc\xdd\xbe\x6e\x60\xd9\x09\x7c\x3c\x2d\x5e\xc0\x60\xeb\xf8\x1e\x9e\x26\x0f\x49\x90\x4f\x1c\xcf\x72\xa1\xbd\x07\xf4\xb2\x42\x89\x36\xa0\x34\x7c\x9f\xed\xe2\x6c\x3c\xd3\xf3\x04\xac\xb1\xb9\x11\xe0\x6a\x2d\xcf\xc5\xc3\xe0\xb1\xb7\x59\xb6\x8f\xb3\xf1\x74\x13\x61\x69\x99\xba\x09\x67\xdb\x75\x75\x5b\x6c\xa3\x9f\xe1\xaf\x17\x38\xf8\xdc\xf2\xd8\x73\xc3\xc5\x59\x3b\xd8\x1f\x76\xbb\x8d\x40\xb4\x5d\x9f\x21\x4e\x87\x9d\x79\x0b\x09\xae\x47\x6c\x90\xd2\xa0\xac\xb3\x7a\x2b\x30\xb0\xde\x74\xd8\x29\xb2\x18\x49\x34\x90\xbc\x79\xc4\xb2\x03\x68\x6d\x78\xec\xc4\x5a\xb6\x8e\x30\x34\x3c\x1d\x0f\x8b\x85\xb3\xb0\x89\xe1\xb2\xb3\x66\x31\x90\x18\x88\x00\xa1\x68\xb3\xe6\x4e\xe0\x36\xcb\x7c\x38\xcb\x0e\x60\x31\xba\x1b\x98\x35\x06\x60\x54\x05\xca\xa6\x6b\x23\xda\x75\x02\x5d\xea\x6f\xc1\x6b\x4d\x31\x79\xe0\x93\x02\x9b\xbd\x0f\x19\x41\xc3\x04\x9e\xc4\xaf\xf0\xb2\x49\x0c\xc3\x74\x79\x11\x58\x26\xdb\xf2\xaa\x4a\x9d\x78\x78\x4e\x3d\x62\xeb\x40\xa8\x75\x62\xd8\x06\xbe\xdb\x70\xdd\x63\x43\x27\x3a\x6e\x36\x0e\x08\x9d\xe8\x96\xc3\x16\x0e\xcc\x13\x96\x59\x6b\xcb\x05\xd4\xa6\x03\x2b\xc1\x56\x06\x74\x03\x8a\xb6\x57\x41\x15\x8a\x86\x29\x17\x71\x27\x62\x11\x1b\xe3\x89\x87\xa2\x1f\x0c\x02\xe0\x14\x18\xed\xb2\x80\x96\x05\x24\xf0\x7c\xfe\x6e\x2f\x70\x8f\x59\xd9\x14\xe5\xa3\x80\x04\x96\xce\x96\x69\xeb\xba\x31\x08\x10\xef\xe1\x78\x36\xf0\x02\x01\xf1\x2d\x93\xd7\xfb\x81\x77\x14\x10\xcf\xd4\x19\x86\x73\x5d\x7b\x10\x10\xd7\x31\x59\xd1\x77\x75\x6b\x10\x10\xc7\x0d\x7c\xdc\xb8\x7a\xe0\x1f\x03\xa3\xe5\x32\xc6\x03\x36\xe2\x71\x40\x6c\x46\x2c\xd8\x46\x3d\x0a\x88\xed\x23\x72\xe7\x1b\x39\x20\xb6\xe7\xb1\x63\x67\x79\x0e\x14\x5d\x7e\x8a\x6c\xdd\xc0\xee\x2e\xc3\x7e\xb6\x6e\xc0\xdc\x6d\xc7\x62\x28\xc6\x76\x6c\x0f\x9a\x5b\x3e\x3f\x84\xba\x07\x73\xb7\x75\x24\xbc\xfc\xd0\x05\xc4\x0a\xc4\xa1\x83\x43\x19\x10\xcb\x37\xf8\x21\x36\x1c\x1f\xca\xae\xe7\x09\xb6\xe8\xa8\x59\x84\x5a\x07\xd9\x42\x8e\x31\xe4\x32\x60\x98\x80\x98\x6e\x60\x32\x04\x67\xc2\xe0\x86\xae\x9b\x41\x85\xa0\xe0\x0f\xd2\x5f\x8e\xc0\x7c\xe2\x7b\x8e\xee\x49\xf5\xbe\xe1\xb3\x23\x8f\xf8\xcf\x27\x9e\x6b\x4a\xf8\x11\x78\x2b\xc3\xc2\xc9\x22\x4f\x07\x88\x42\x30\x65\x80\x7e\x61\x8d\x20\x94\x08\x74\xdd\x2a\x43\x7d\x60\x39\x9c\x34\xf8\x8d\x22\x50\x0e\xc0\x63\x9e\x6b\x56\x94\x05\xf0\x9e\xe1\x55\x84\xc7\x27\xae\xe5\x78\x7e\x45\x98\x00\x06\x3a\xc3\xe6\x06\x70\x21\x3e\x71\x5d\x46\x0b\x0c\x47\x0f\xa0\xe8\x79\x1c\x01\x59\xba\x77\xcc\xca\xbe\x28\x1f\xf9\xc4\x33\x6c\xc6\x80\xea\x9e\xe9\xc1\x62\x6d\x9f\x2d\x46\x07\xb9\x00\xd6\xa8\x33\x6a\x8d\x74\xd3\x27\xbe\xce\x39\x41\xa4\xab\x15\xb0\x38\xdd\xf5\x61\x97\x32\x44\x06\x47\x1b\x68\x00\x47\x0d\x48\xb5\x7d\xe2\x4b\x34\xbd\x82\x3c\xa3\xf9\x3f\x73\x1e\xe0\x08\x38\xf9\x80\xb1\x75\xae\x6e\xc2\x5e\x36\x90\x70\x71\x64\x17\x10\xd3\x36\xf4\x9a\xe3\xa8\xbe\xb7\x47\x74\x20\x9f\x52\xbd\x6e\x18\xb0\x3f\x4c\x03\xbe\x3f\xe7\x7f\xa4\x22\xb0\x47\x01\x31\xf5\x80\xb1\x63\x78\x22\xa0\xec\xf8\x6e\xc5\x5e\x41\xd9\x84\x73\xcd\xd9\xaf\x80\x18\x8c\xe5\xe7\xec\x99\x5c\x36\x5d\xef\x38\x20\x26\x80\x00\xd9\x3b\xdb\x82\x73\xaa\x7b\xc8\xf6\xb9\x40\x86\xeb\x35\xbb\xc4\x0e\x74\x0b\x3f\x90\xcf\xb8\x2d\xcb\x72\x9c\x23\x8f\xf8\x46\x60\xb9\x15\xd7\xe8\xe1\x67\x65\x84\x06\x44\x25\x97\xf8\x96\x60\xad\xfd\xc0\x38\x76\x89\x6b\xb9\x8c\xd5\xf7\x0c\xcf\x3a\x72\x91\x4c\x1a\xa2\x3c\x80\xb2\xcb\x99\x5d\xd8\xf5\x50\x36\x7d\x8f\x95\x75\x6c\x0f\xfb\x88\x71\xbf\xae\x07\xf5\x86\xc3\x44\x05\x64\x8e\x5d\x24\xab\x15\x73\xec\x12\x27\x00\xb9\x1d\x59\x69\xcf\x3c\x72\x89\xe3\xf8\x4c\x62\x70\x5d\x14\x95\x1d\xdd\xb6\x58\x19\xa0\xe0\x12\xdb\x44\xaa\xce\xca\xdf\xba\xc4\x0a\x3c\xd7\x39\x72\x89\xe1\x99\x36\x93\x24\x5c\x90\x62\x03\xcb\x62\xf2\x93\x67\x3b\x0e\x48\xb5\xae\xe3\x32\x01\xc8\xb6\xbf\x05\x58\x18\xae\x71\xe4\x10\xd7\xd2\x99\x58\xe3\xa0\xe8\xcb\xbe\x1c\x48\x45\x86\x3b\x00\x96\x0c\x0e\x3c\x4a\x4d\xa6\x71\xcc\xca\x8e\x28\x1f\x01\x4b\xe7\x19\x5c\xca\x32\x41\x6c\x77\x6c\x24\xce\x16\xf1\x81\x61\x77\x88\x63\xa2\x58\x6f\x91\x40\xd7\xad\x23\x87\xd8\x8c\xbf\xb2\x48\x00\xe2\x03\xf0\x45\xba\xce\x84\x48\x0f\xc5\x7e\xd3\x33\xb8\x10\x08\x42\xa4\x43\x4c\xc7\xb3\x2b\xa1\x12\xea\x91\xf6\xd8\x20\xed\xc3\xf0\x26\x93\x0b\xa0\xec\x04\xd0\xdc\x70\x4c\x87\x95\x03\x1b\xea\x75\xc3\xf0\x84\x04\x3b\x70\x88\x81\x8c\x0a\x17\x68\xa5\x22\xce\xdd\xf0\x2c\xdd\x94\x8a\x8c\x1d\x65\x92\xb2\x03\x5c\x05\x63\x1b\x74\xe0\xc1\x1c\xa2\xfb\xbe\xe3\xca\x65\xdb\xe5\x53\xb1\x0d\xe3\x08\x78\x2c\x83\xf1\x6a\x58\x0f\xdc\x09\xe2\x6f\x8b\x04\x86\x6d\x0f\x6c\xe2\x30\x7c\xcd\x37\x99\x0d\xe2\x97\x8b\x90\xb1\xe1\xe4\x01\xd7\xe3\x23\x20\x4c\xc7\xf4\x07\x20\x40\x18\x6c\xd3\x18\x81\xeb\x1c\x81\x00\xc2\xc5\x51\xc3\x37\x61\xb8\x00\x00\x5c\x95\x1d\xa2\xe3\x6b\x79\xf9\xc8\x21\xba\xc1\xa5\x73\x51\xcf\x48\x9f\x85\x6a\x86\x7a\xfa\x50\x76\xb0\xbd\xab\xdb\xac\x3f\xe0\x40\x87\xe8\x9e\xcd\x18\x0d\xc3\xf5\xad\x7a\xf9\xac\x7c\xec\x10\xc3\xe4\xf2\xa1\xe1\xc2\x77\x36\x75\x9f\x7d\x47\xc4\x99\x0e\x31\x7d\xd3\x64\xaf\x87\xa3\x06\x92\x07\x97\x3e\xa1\x7c\x04\xa2\x05\x4c\x0b\xca\x26\x6e\x5e\xdb\xb1\x79\x7f\x5e\x16\xca\x04\x28\x7f\x0b\xa2\x85\xee\x3b\x47\x0e\xf1\x75\xce\x0f\xe9\x81\x17\x0c\x5c\xa2\x33\x16\xd5\x02\xfe\x09\xce\x8a\xe9\xe9\x8c\xff\x09\x82\xc0\x3e\x72\x89\xe5\x38\x70\x46\x4c\x12\x00\x13\xc8\xcf\x0e\x96\x61\x1f\x56\x67\xcb\x84\x43\xe2\x1e\xc9\x65\x20\xda\x50\xc6\x0d\x07\x65\x38\x9a\x36\x43\xcd\x50\xd4\xe1\x08\xda\x16\xca\x7d\x26\x92\x49\x28\xa2\x8a\x02\x8a\x96\xd3\x28\x1b\xae\x7d\x5c\x21\x0e\x93\x78\xae\x6e\x1c\x55\xf5\x06\xb1\x5d\xc7\x18\xb8\xc4\xd3\x3d\x8b\x71\x60\x8e\x3b\xf0\x88\x8d\xd2\x72\x00\x0c\x58\x10\x1c\x01\x17\x63\xe8\x80\x3e\x75\xc3\xb6\xb0\xde\xf2\x7c\x20\x20\x41\x60\xb8\x58\x76\x5c\x17\x08\x56\xe0\xba\x86\x77\x8c\x65\xcf\xe0\x65\x97\x97\x4d\x5e\xb6\x79\xd9\xe2\x65\x93\x97\x1d\x5e\xe6\x45\x97\x15\xf5\x80\x97\x3d\x5e\xf6\x60\x3a\xae\x8d\xd4\x37\x70\x1c\x13\x5f\xef\x59\x06\x76\xb7\xad\xc0\x86\x32\x8a\x19\x9c\x59\x38\x46\xce\x19\xc7\x43\xfa\xf7\xb3\x4f\x3c\xcf\x75\xec\xa3\xfa\xb9\xa7\x03\x0e\xaa\xcb\x8c\x4c\x7b\xf0\x4d\x2d\xa4\xf2\xac\xb9\x81\x5b\xcd\x27\xb6\xe1\xe9\xee\xc0\x25\x81\xee\x05\x30\x2d\x33\x80\x2d\xe4\x12\x60\x25\x60\x55\x86\xed\x5b\xfe\x31\x2b\x9b\x72\x19\xb1\xbd\x4f\x0c\x33\x40\xec\xed\x70\x32\x6c\xe8\x80\xa6\x01\x1d\x9b\x36\x40\x11\xa8\x39\x60\x7f\xc7\x00\xa6\xd2\x27\x40\xd3\x9c\x6a\x8b\xf8\x44\x37\x40\x7a\x16\x5b\xcc\x23\x81\x07\x6c\xb3\xd8\x82\x40\xbd\x3d\x3f\x38\x72\x89\xe9\x00\x33\x0b\x65\x38\xe1\x2e\x31\xf1\xe4\x79\xb0\x03\x4d\x6c\xcf\x97\xe9\x23\x6f\xe4\x12\x13\xe5\x10\x20\xf0\x81\x81\x5b\xda\xb0\xf1\xeb\xfa\xb8\x0e\x97\x98\x80\xfb\xb0\x6c\x38\x3e\x90\x01\x64\x7e\x78\x79\x00\x65\xc0\x0c\xc0\x10\xf8\x08\x1f\xc3\x87\xcd\x05\x65\xdb\x41\xb2\x81\xa2\x05\x94\x0d\x1d\xd6\x67\x20\x6f\xe5\xa1\x9e\xcb\x18\x08\xb2\xc2\xcb\x47\x0e\x60\x1e\x0b\xea\x5d\xcf\x77\x82\x8a\xce\x00\x27\x01\x28\xdc\x25\x3a\x48\xce\x1e\x4c\x53\xc7\xe9\xd8\xb6\x89\x44\xd7\x70\x1c\x5b\x02\x87\xee\x04\xa6\x5d\x9d\x40\x5e\x3e\x12\xe0\xad\xeb\xd9\x19\x81\xcf\x6c\xd8\x5e\x75\x26\x38\x11\x3f\x92\xca\xbe\x8e\x9f\xdb\x33\x4c\xcf\xc0\xb2\xe5\x63\x7b\x53\xc7\xe9\x19\xbe\x6f\xbb\xc7\xcd\xb2\x07\xfd\x4d\xdb\xc3\xfe\x81\x01\xab\xf7\x2c\xdd\xc0\xee\x81\x8d\xd0\xf5\x2c\xc7\xc6\x4d\x07\x4d\x1d\x03\xa7\x6e\x1a\xae\x0d\x5f\xca\x73\x7d\x84\x94\x89\x3a\x06\x97\x78\xbe\x69\xc0\x50\xa6\xe5\xf9\x70\x9c\xbd\xc0\xf0\x10\x14\xb6\xed\xc2\x52\x7c\x9d\x7d\x09\xd3\xd1\x71\x29\x3e\xb2\x45\x50\x76\xad\x63\x56\xf4\x78\x11\xba\xfb\x9e\x6b\x02\x64\x2c\x13\x8e\x31\x30\x47\x26\x7e\x58\x0b\x3f\x98\x4b\x02\xdf\xf7\xd9\x31\xb7\x2c\x38\x7f\xba\xe1\xe1\xca\x6d\x0f\x70\xa6\x47\x74\x3c\x74\xa8\xf9\xf2\x00\x9f\xc3\x1f\xc7\x34\x7c\x13\xda\xba\x01\xa2\x14\xc7\x32\x5d\xfc\x1a\x9e\x8f\xcb\x74\x6c\xb6\x19\x74\x9f\x7d\x45\xc7\x31\x02\xe3\xc8\x23\x26\xe0\x43\xb4\x31\x00\xbb\x00\x67\xdd\xb3\xe1\x6f\x80\xf4\x1e\x64\x6a\x1d\x99\x51\x3c\x24\x47\x1e\x71\x81\x73\xab\x0e\x91\x47\x3c\x0b\xcf\x90\x61\xd8\x01\x0e\x83\x4a\x4f\x5e\x3e\xf2\x00\x52\xa6\x54\xed\xeb\x40\xf4\x7c\xd4\x0e\xc2\xe8\x3e\x32\x54\x30\x9a\x17\xc0\xec\x7d\xcb\xb2\xb1\xbb\xce\xaa\x71\xa7\xd6\x2f\x63\x3b\x9f\x97\xbf\xe5\x27\xe9\xd8\x27\xba\x85\xfc\xb7\x11\x04\x36\x08\x11\x88\x6f\x24\xb4\xea\xa1\x0c\xed\x12\x9f\x89\x07\x3a\xf1\x0d\xcf\x15\x3b\x10\xa4\x64\xdd\x83\xf3\xe0\xb8\xa8\xac\x31\x88\x05\xe7\xc2\x45\x3d\x30\xb3\x36\x78\x9e\x27\xf0\xc3\x31\x94\xd9\x79\xb5\x4c\xcf\xf4\xa0\xec\x1a\xf8\xd9\x80\x99\x34\xb1\x6c\xc1\xe8\xa6\x6f\x39\x30\xb8\xeb\x39\x16\x62\x03\x36\x38\x88\xa2\x78\xb8\x4d\x07\x4d\x17\x9e\x65\xe2\xe1\x35\x5c\xc3\x42\x23\x07\xf2\x74\x01\x0a\xc6\xac\x1a\xa8\xb4\x67\x21\xf9\x33\x80\x7b\x70\x05\xfb\x75\xdc\x2c\x1b\xad\xf2\xda\xa2\xef\xb7\xca\x6e\xab\x6c\x36\xcb\x9e\x8b\x93\xd3\x91\xc7\xb0\xdd\xc0\xc5\xd9\xb9\x01\x23\xe2\x06\x9a\x2c\xa0\xac\x5b\x82\x09\xf8\xd9\x21\x96\x6d\x04\x36\xc2\xc0\xb7\x00\xa3\x58\x86\x0b\xbc\x0b\x94\x75\xe4\xe2\x60\xe7\x63\xd9\x43\xfb\x8c\xe9\x19\x01\xce\x53\x2a\xfb\x0c\x86\xc8\x74\x9a\x36\x87\x8a\x0b\x4c\x00\x70\x89\xb6\xce\xde\xeb\x9a\xa6\xe0\x0a\xb1\xbd\x05\xc3\x73\xce\x8e\x7f\xa0\x8a\x35\xe2\x65\xa6\x9b\x35\x7f\xb6\x89\x6f\x07\xa6\xf7\x33\xe7\xec\x8e\xea\x7a\x97\xc9\xfd\x7c\x78\x9b\x38\x4c\xf2\x36\x88\x07\x88\xda\x26\x76\x80\x6a\x31\x83\xf8\x16\x72\x82\x36\x0a\x4b\x06\xd0\x45\x6f\x60\x03\x14\x90\x65\xd0\x1d\xd7\xe2\xc5\x23\xc3\x24\x26\x1c\xd0\xba\x16\xde\x0d\x63\x33\xb1\xbd\x2a\xe3\x5c\x60\x4e\xae\x65\xd9\x3f\xdb\x28\x80\xa1\x99\xcc\xc3\x2f\xa2\xdb\xae\x89\x76\x32\x1b\xd8\x24\x07\x25\x54\xd4\xff\xd8\x8e\x0e\x65\xd3\x70\x0c\xfb\x98\x95\x6d\x56\x36\x5b\x45\x07\x87\xb3\x5c\x2c\x33\x6e\xdc\x24\xb6\x89\xec\xb7\x65\x58\x5e\xa3\x2c\x3e\x28\x70\xf5\x38\x0e\x30\x22\x0e\xb1\x4d\xd7\x86\x61\xac\x00\xdf\xea\x22\x6f\x68\x12\x0b\xf0\x9a\x43\x02\x53\x47\x16\xcb\x02\xa9\xcd\x85\x39\x9a\x06\x6b\x8d\x04\xc0\x34\x5c\x17\x99\x24\xdb\x42\xfa\x6b\x3a\x01\x7f\xa9\xe7\xe2\x01\x0a\x3c\xc7\x3b\x16\x20\x71\x61\x52\xb8\x06\xd4\x78\xb9\xb0\xb9\x2c\x34\x24\x3a\x16\x22\x6d\x07\x44\x88\x23\x90\x92\x18\x12\xe6\x3c\x18\x30\xe8\x26\x20\x67\xdd\x32\x74\x34\x70\xda\x20\x50\x73\x4c\x76\xdc\x2a\x57\x1a\x63\x86\x6c\xb0\xbd\x8f\xbc\x15\xe2\x18\x03\x18\x51\x40\x87\xa6\x89\x73\x03\x22\x6e\x56\xf8\xef\x5b\x28\x3b\x06\x9a\x35\xbc\xc0\x14\xac\x07\x0a\xac\x3a\x32\x60\x75\xd9\x72\x6a\xd6\x04\xca\x1e\x72\x5c\x55\xbd\x0d\x3b\x50\xe0\x4d\x28\xbb\x68\xfe\xd5\x7d\xd7\x87\xe6\xae\xed\x00\xd2\x0f\x5c\xd4\xdf\xba\xc4\x37\x7d\x28\x23\xb6\x15\x46\x17\x8f\x38\xbe\xae\xbb\x47\x68\x8c\xb0\x81\x6e\x38\x2e\xaa\x7f\x81\x28\xb8\x36\xd2\x08\x6e\x26\xd0\x03\x64\x3c\x1c\x40\x42\x47\x68\xac\x40\xc6\xc3\xd1\x51\x7f\x0f\x24\x1e\x69\x88\x1d\x00\x5a\x86\xb2\x69\xf9\x82\xef\x3b\xe2\xba\x05\x8e\x6f\x51\x0b\x67\x5a\x38\x3e\x50\x58\xa6\xe5\xd3\x91\x16\x01\xad\xf1\x8e\x9b\x65\x9c\x9f\x65\xea\x8c\xff\xe3\x16\x2d\xce\x78\x98\x4c\x59\xe4\x21\x1e\xe1\xf4\x13\x9b\x3b\x48\x3e\x01\xa3\x72\x25\xa2\x65\x20\x75\x76\xb8\x82\x92\x91\x4b\xa4\xde\xc7\x42\xdd\x09\x94\xde\x80\x35\xe1\xd4\x0d\x61\x58\x41\xad\x89\x20\x8b\x86\x47\x3c\xc3\x11\xc5\x23\xae\x64\x91\xab\x03\x10\x92\x3c\x02\x7c\x79\x50\x59\x44\x60\x2a\xa6\x69\x1d\x71\x95\x35\x40\x82\xa9\x98\x7d\x62\x00\xe5\xf1\x50\x5f\xc0\x2d\x2c\x3a\x63\xf9\x10\x19\xd4\x65\x1f\x18\x7d\x28\x5b\x36\x63\x11\xd1\x90\xe3\x91\xc0\xf4\x90\x10\x06\xa6\xe9\x61\x7b\x13\x79\x2e\x3f\x70\x0c\x83\x69\x8e\x78\xbd\x6f\x0b\x4d\x12\x72\x9c\x96\x8f\x1f\xd2\x0f\x90\xb1\x08\x4c\xa6\xc2\xf6\x91\x6b\x09\x2c\x83\xa9\xa8\x7d\x46\x26\x03\xdb\x60\x70\xf5\x1d\x07\xf9\x59\xdb\xb7\x59\xbd\xed\x61\x6f\xe0\x1d\x06\x35\x30\x70\xd7\x41\x7b\xcf\x41\x7e\x9a\xf1\xc7\x00\x4b\x1f\x35\x55\xc8\x3f\x57\xb0\xe5\xd4\x9a\x19\x2e\x25\x66\x40\x18\x2a\x61\xd3\x3b\x8e\x21\x2c\x8d\x00\x32\x90\x3a\xa0\x08\x4c\x16\xb0\xf3\x68\xba\x86\xed\x87\xc3\x1b\x8e\x67\x54\xea\xfd\x01\xea\xf2\x80\x2c\x7b\xc4\x46\x46\xc5\x08\x74\xb6\x89\x4d\xdd\x06\x6e\xde\xb2\x5c\x0f\x9b\x83\xe0\x0c\xd2\x84\x13\x30\x95\x93\x6f\xe3\x91\x42\x15\x22\x9c\x29\xe4\x7a\x25\x1d\x93\xc7\x74\x84\x9e\x0d\xb4\xab\x2e\xa3\x12\xef\x67\xae\xad\x03\x0c\xe0\x02\xf2\xf7\xd1\xb0\x88\x47\x3f\x08\x3c\x63\x50\x29\x91\x85\x62\x9f\x89\x7a\x30\x4b\x34\xc5\x30\x1e\xe4\xa8\xb2\xde\x1a\xc4\xf6\x82\x7a\x43\x1a\x26\x31\x1c\x66\xc4\x40\x28\x80\x64\xa9\x9b\x68\x0d\x66\x7a\x15\x13\xb8\x7e\x84\x52\x55\x46\xe6\x05\xca\x36\x13\x5c\xb9\x32\xd1\xd3\x79\x7f\x8f\xed\x20\x0f\x0d\xb3\x26\x32\xa1\x62\xc3\x63\x31\xf0\xe5\x22\x22\x1a\x66\xb3\x1e\x48\x56\x07\x66\xd3\x66\x52\x37\xdb\x42\xcc\x96\xad\xdb\x86\x7b\x84\x0a\x74\x26\xdc\x73\x43\x8f\xc5\xf4\x56\xa8\x1b\xa8\xcc\x52\x4c\xb5\xf0\xad\xb0\x5a\x81\x3c\x28\x69\x38\xa0\xcc\x2d\xd0\x55\xd9\x67\xaa\x25\xd4\x78\x18\x3e\x2c\xbd\x51\x1f\xa0\xd1\xcd\x02\x01\x09\x1d\x29\x74\xc3\xc1\xf1\x4c\x1d\x88\x5e\x40\x74\x87\xd5\x9b\x06\xa0\x43\xe1\x0b\xc1\xca\xd8\xde\x67\xaa\x2d\x13\x2d\x8b\xc2\x75\x02\xca\x1e\xb6\x37\x84\xc6\xc6\x34\xb0\xde\xe0\x1a\x16\x13\x75\xdd\xc2\xf3\x82\x95\x8f\xe4\x32\x9a\x4b\x03\x62\xa0\x16\x53\x2a\x4b\x0e\x21\xff\xfc\x0e\x38\x04\xd8\x8a\x5c\x37\x81\xae\x31\x20\x1f\x03\x65\xb3\x91\xd8\xfa\xb8\x25\x0c\xc0\x0a\x48\xd3\x91\x9e\x02\x9f\xea\x98\xce\xb7\x9c\xeb\x02\xae\xc9\x74\xfd\xba\x99\xc1\x6c\x21\xf5\x28\xf2\x4b\xfe\xf9\x9d\xa0\x41\xc0\xfd\xfa\x0e\xec\x5b\xdb\xf6\x71\x54\x87\x5b\xb8\x6d\xdc\x20\xa2\x9f\x4b\x50\x41\x67\x12\x47\x07\xaa\x69\x13\x13\x81\xc6\xde\x76\x64\xd8\x44\xf7\x2d\x36\x49\x8b\xa9\xa7\x50\x68\xe4\xac\x98\xd0\xd3\xa1\x41\xca\x45\x2b\x1b\xfa\xa1\x18\xb0\x14\xa6\x6b\x43\x14\xc0\x59\x6f\x28\xa3\x4b\x88\x41\x4c\xdf\x34\x80\x46\x03\x25\x03\x4e\x1e\xb9\x20\x97\xe8\x16\x6c\x24\x61\xc0\xe2\x54\xd8\xd0\x09\x8a\x96\xcd\xa5\xfd\xf3\x3b\x80\xb4\xaf\x63\xbd\x69\xc0\x21\x72\x88\xc1\x24\xff\x40\xb7\x00\x6d\xdb\xc4\xb6\x03\x4b\x50\x75\x34\xc2\x31\x01\x8d\xd1\x53\x13\x18\x7e\x53\x08\xc6\x00\x4a\xcf\x40\x4b\x4d\xe0\x59\x3a\xda\xe4\x3c\x66\x5e\xd3\xd1\x18\x6b\x12\x34\x4b\xea\xf0\x72\xfc\x8a\x1e\xea\xbc\x75\x62\x98\x5e\x80\x16\x3c\x03\xf1\x81\xc9\x15\xb0\xa8\x08\x33\x74\xc2\xd8\x93\xe6\x5c\xff\xf9\x1d\x2c\x82\xc9\xd9\x1e\xda\xb2\x0c\x83\x18\x26\xd2\x0c\x94\xbc\xa0\x18\x20\x71\xf7\x4c\x9d\x31\xa7\x26\x72\x33\x48\x71\xa0\x35\xa7\x9d\x4c\x6e\x83\x0f\x00\x22\x94\x10\xf2\xa1\x1c\xa0\x94\xed\x02\x4b\x01\xbb\x06\xd1\x56\x40\x02\xe0\x9d\x8f\xf8\x26\xc3\xd9\xa3\x21\x08\x5e\xe7\x79\xf5\xf4\x75\x12\x20\xb2\x67\xe5\x23\x28\xa3\xae\xb5\xae\xf7\xd1\xa1\x43\x87\x69\xb9\x95\xec\x05\x65\x5b\x77\x8e\x7d\x12\xd8\x8e\xed\x54\x9f\x22\x20\x8e\x69\xa2\x88\x67\x71\xa8\x40\xb3\x9a\x66\x35\x81\xf1\xcf\xef\x02\x12\xd8\xb6\x8f\xeb\x32\xad\x20\x38\xf6\x89\xe9\x06\xf8\x6d\x70\xa7\x08\xb1\x16\x76\x86\x87\x84\xdb\x61\xae\x0b\x06\x73\x82\xf1\x40\x54\x63\x7a\x3d\xdc\xd6\x01\x60\x77\x83\x1d\x22\xcf\x82\xe9\xf8\x4c\x1b\x6a\xc0\x32\xd0\x30\x29\x5e\xe7\x1b\x1e\x14\x51\xcf\x6c\x10\x0f\x49\x56\x0d\x24\x17\x18\x28\xd8\x02\x68\xca\xab\x81\x2a\x4f\xf6\x9f\xdf\x71\x01\x56\x6c\xb8\x63\xbe\x47\x6a\x54\x57\x6f\x0a\x54\xce\x1a\x3a\x50\x09\x86\x3a\x02\xb6\x2a\x86\xd8\xf0\x54\xe8\x40\x72\x8c\x6a\xf7\x4a\x65\x34\x2f\x40\x59\xf7\x2a\x57\x9e\xe3\x80\xb8\xc8\x57\x1b\x0e\xf1\x3c\xd3\x3e\xe2\xf6\x26\xee\xb2\x50\x9d\x05\x90\x72\x90\x25\x6a\x4c\x55\xc2\x5a\x0c\x51\x1c\x55\x68\xa9\x46\x1c\xa8\xcd\x13\x88\xc3\x82\x13\x8f\x78\x05\x20\x0e\x6c\xba\xee\x07\x78\x76\x2d\xa1\x7f\x76\xd8\x70\x16\xf3\xe6\x32\x0d\x8b\x71\xca\x86\x65\x1f\xb3\xb2\xc3\xcb\x16\x2f\xbb\xa2\x7c\x84\x10\xd1\xf1\xe8\x9b\x01\x73\x46\xb3\x5c\x07\xfb\x33\x2f\x12\x8b\xd8\xe8\x7b\x82\x0c\x3a\xe2\x50\xe4\x15\x6d\x62\x06\x36\x93\x60\x50\x9d\x6c\x03\x4e\x46\x82\x67\x3a\x0c\x6f\xb1\xfd\x60\x12\xc3\x67\xbe\x02\xe8\xc7\x61\x12\xdd\x64\x0e\x13\x02\x6f\xf9\x36\x73\x73\x62\x6e\x4f\x5c\xaa\xe7\xc3\xc1\x77\x75\x4d\x26\x3d\xa0\x78\xc0\x14\x0e\x30\xf7\x80\x6d\x36\x47\x70\xf9\x6d\x94\xeb\xb9\xe6\x3f\xbf\xe3\x5f\x08\xbf\x85\x8e\x12\x8a\x6d\x72\xe7\x22\x74\x56\xe2\x4e\x45\xf5\x63\xdb\x64\xbe\x2a\xd0\xeb\xb8\x72\x28\x64\x8e\x69\x47\xc2\x10\xc1\xb6\x4d\xbd\x5d\xf8\x9e\x12\xee\x6c\x82\x5a\x5a\xc4\xf3\x3d\xaf\xa6\xb6\xcc\x6d\xae\xde\x92\xc2\x2b\x8f\xdb\x0b\x0c\x17\x84\x01\xa4\x8e\x8e\xed\xdb\x88\xab\x91\xd3\x16\xfd\x1c\x12\x38\x8e\x2d\x40\x39\x68\xae\xed\x9f\xb2\x33\xed\x50\x1b\x5e\x5e\x44\x65\x67\x20\xb4\x35\x0e\xdb\xdd\xd7\x57\x4f\xb5\x93\xea\x0e\xea\x56\x77\x3f\xa5\xbb\x16\x7f\x52\xb0\xa0\xbf\x78\x3e\x94\x9f\x7e\xfe\x3d\x79\xef\x7e\xe7\xf5\x5c\x7e\x91\xaf\xc1\x60\x70\x88\x95\xe0\x7f\x08\x9f\x95\x10\xc9\xc6\x29\x0f\x33\x32\x1a\x5d\x46\xe5\xc5\x68\x2e\x52\xa8\x88\xcb\xcd\xdd\x91\x90\x0d\x39\x38\x09\x0b\xce\xd2\x75\xb9\xc5\xd7\xac\xf6\x1d\xec\x2d\xae\x4b\xb7\xa2\xcb\xef\x87\x65\xd9\x77\x3d\x1a\x6f\x40\xb3\x5b\xcf\xdb\x6c\xd3\x3f\x33\x24\x7b\x19\xcd\x69\x1c\x25\x9f\xb5\x45\xb7\x08\x5b\xd5\x19\x84\x8a\xc7\x6a\xd2\xba\x03\xb0\x3f\x86\xc0\x53\x8b\xa7\xc0\x53\xff\x1e\x81\xa7\xa6\x9b\x51\xe1\x2f\xaf\xbf\x7d\xe5\x7c\x1f\xf4\xe4\xd2\x37\x74\x6d\xb8\x90\x92\x2f\x55\xe7\x6e\xf5\x86\x9d\x94\xfc\xc6\x68\x06\x9f\x3c\x11\xc1\x62\xc4\x1d\xed\xd5\xb8\x99\x22\x4c\x45\x23\x30\x04\xde\x7a\xea\xbc\x09\x23\xe3\xe6\xc6\xbc\x7e\xfd\x75\x96\x96\xfd\x44\xbb\x0e\x8d\x61\xb6\x73\xdd\x6c\x48\x28\x5f\x65\x2f\x69\x65\x71\xc5\x58\xb2\x3d\xf9\xf9\xfa\x52\xe5\x18\x72\x26\x54\x39\xf0\xe4\xa6\x01\xd7\xc5\xc4\xe1\x20\x31\x3a\x40\x42\x93\x32\xaf\x23\x5b\x55\xb9\x7e\x56\x53\xda\xb0\x18\x41\xd3\x28\x9f\xb2\xc8\xf0\xab\xb9\x5c\x78\x24\x93\x7e\xc8\xac\xbf\xc4\x76\xbb\x3c\x82\x2b\x20\x69\xd3\x3c\xbb\x6e\x17\x15\xfc\x92\xfa\xeb\x0a\xc0\xdd\xb1\x36\xbb\x00\xc5\xa3\x36\x00\xdd\xfe\xd0\xc8\x42\x20\xaf\xbb\x15\xc1\x45\xf4\x26\x2b\x9d\x3b\xe0\xd1\x1d\x92\xc6\x68\x04\x02\xde\x61\xbe\x71\xf4\xeb\xaf\x50\x2a\xca\x70\xde\xce\x9f\x36\x6c\x86\x2e\xf3\xb7\x0c\x8f\xdc\x13\x5e\x6a\x35\x22\x68\x7b\xa0\xbc\xdc\x18\x17\xb4\x3f\xd7\xd2\x56\x2f\xd9\x3a\xfe\x68\x67\x76\xa4\x2d\x23\xd2\x74\x07\x22\xdd\x84\x73\xc2\xe2\xa2\x0f\xe9\x74\xbd\xd5\x58\x13\xd4\x5f\x6c\x2c\x89\x2f\xeb\x49\x08\x59\xa5\xee\xa9\xa2\x98\x96\xfd\x99\x7b\xce\x44\x98\x9b\xcf\x0d\x6a\x5a\xed\xf7\x6e\xc6\x4f\xcb\x26\xd7\xef\x17\x51\x3c\x1b\xf7\x9d\x13\xac\x1d\x6a\x75\x4e\xd9\xde\x96\x72\x12\x5c\x9e\x9f\xb4\xb7\xad\xc8\x5f\xba\xd4\x66\xd5\x04\x36\x24\x60\xed\x98\xc8\x2d\x33\xf4\x56\x93\xdb\x32\x61\xfa\x12\xc3\x75\x9c\x4d\x94\xf4\x33\xa2\xf0\x14\x72\x14\x9e\x98\x47\xd3\x11\x0f\x91\xbc\xe4\x43\x2d\xe4\x31\x74\xc2\x9c\xfe\x42\xbf\xa5\x39\x05\xee\x8d\x45\xf7\x98\x9d\xd0\xd3\x3d\x39\xe8\x0d\xeb\x23\xf0\x18\xe2\x4f\xd8\x06\x24\x4a\xa6\xf1\x62\x46\x0b\xa5\x6c\xc6\xe2\x29\xaa\xd0\x37\x27\xa7\x7b\x67\x69\xae\xe0\xb8\x83\x68\x25\xda\x8e\x4a\x49\xb6\x28\x2e\x94\x6b\x81\xc4\xc7\xad\x06\x27\xe5\x29\x11\x75\x1a\xd0\x93\x71\x76\x52\x9e\x6a\x38\xa1\xf1\x0c\x7e\x32\x24\xd0\xd9\x0f\x6b\xb4\x26\xde\x17\x0d\xc5\xa2\x4b\x75\xa9\x8a\xb5\x52\x52\xa4\x79\xa9\x28\xc0\x75\xa9\x93\xaf\x28\x66\x36\xfc\xaa\xc4\x3f\x87\xc6\x78\x64\xa8\xaa\x46\x97\x4b\x2d\x9e\x2c\x94\xf4\xfe\x42\x8e\x84\xed\xe1\xc5\x27\xbb\xb3\x37\xa4\xb2\x44\x75\xb6\x2e\x2a\xc6\x54\x3b\xdb\x18\x15\x83\x93\xe8\x51\x94\x9c\xa5\xf7\x14\x32\xb8\x3f\x1f\x56\x1d\x46\xf8\x3c\x4d\xcf\x63\x3a\x42\xb8\xbd\x5f\x9c\x1d\xb0\xf2\x41\x55\xa6\xf3\xac\xbc\xfa\x75\x5d\xfc\x60\x26\xf1\x84\x5a\xa1\x2d\x6a\xf1\x6d\xfa\x98\xc4\xb7\xec\x49\x7c\xfb\xf7\x10\xdf\x66\x9b\xc5\xb7\x1f\xcc\x2f\xf3\x37\xdf\x9a\x97\xbd\xe2\x5b\xcd\xaf\xc8\x27\x78\x45\xaa\xea\x12\xf6\xe4\x0e\xa3\x38\x2a\xca\x35\x61\x57\x9a\x82\xda\x2f\x1c\x81\x48\x29\x20\x41\xfe\xe3\x03\xbe\x82\x09\xd4\x11\x5d\xba\x72\x42\x76\x0f\xfb\xfc\xc7\x57\xe3\xc1\xc7\x75\x63\x22\x8e\x1e\x72\x12\xb6\xc3\xc8\x2f\x41\x44\xc2\x29\x6f\x78\x01\xad\x1a\xae\x79\x4f\x8b\xf7\x36\xda\x91\x97\xd7\x4c\x7d\x1e\x25\xd1\x7c\x31\x17\xf1\x83\xb7\x59\x61\x33\x36\x73\xff\x0b\x1a\x53\xdf\xf8\x9e\xde\x85\x36\xc3\x3c\x77\xc4\x01\xee\x13\xf2\x30\x3a\x5a\x4f\x60\x8b\x5a\x30\xb7\xea\x08\xb6\x2c\x39\xe9\xe9\xba\xb4\xab\xbd\x19\x57\xdf\x66\xc0\xe8\x0e\xaa\x90\xc7\x5b\x06\x09\xed\x4e\xdb\xd9\xd1\xa3\xa9\x34\xc5\x60\x24\xe7\x65\x8b\xed\xde\x86\x9d\x5e\x25\xab\xeb\x62\x3b\x9e\x4d\x94\x70\x2b\x96\x11\x78\x1b\xce\x35\xc2\x4f\x6d\x2a\x33\x8b\x05\x67\x16\xc5\xc3\xc6\x87\x5f\xf0\x4a\xe4\xa0\xce\x69\xf9\x73\x5d\xa9\x88\x38\x85\xed\xc7\x9c\x0d\xec\x0f\xf8\x26\xb7\x4e\xe8\xe5\x20\x26\x2f\x81\x4e\x77\x07\x7f\xc3\x50\x73\x6c\xe0\x3d\x6c\x20\xcd\x6f\x42\x0f\x49\x99\x32\xfc\xaa\xa8\xcb\xa5\x56\x4c\x32\x25\x5c\xe5\xd2\xd2\x3b\xe2\xa1\x16\xed\xe1\x1b\xb0\xba\x83\xe4\x5a\x82\x1b\xdc\x9a\x57\x9b\x31\x5e\x6d\x6f\x1d\xaf\x56\x89\x21\xa3\xe2\x32\x2a\xa7\x17\xf4\x0e\x92\x5b\x49\x99\x1c\xba\x98\x37\x96\x40\x03\x24\x51\x44\x15\xd3\xab\xae\x67\xa3\xb2\xb8\x2d\x5f\xf6\xc4\xea\xfc\xb5\x59\x9d\x6c\x33\xab\xf3\xbf\xae\xb2\xb7\xcf\x7f\x8f\xfe\x77\x4f\x8a\x84\x9a\x62\xb3\xf0\xce\x2f\x3f\x21\xc7\xd2\xca\xe6\x65\x20\x43\xc4\xe8\x4b\xc7\x31\x61\x16\xb8\x8e\x44\x9c\xc3\xce\xfc\xa0\x51\xf1\x43\xc6\x52\x55\xf1\xfc\xee\x1b\xd4\xb4\x62\x14\x16\x86\xfa\xa7\x3c\x3a\x3f\x87\x97\x4a\x09\xd1\xb7\x52\xf3\xd6\x09\x08\x9a\x83\xb7\x15\x57\x3d\xef\x7d\x11\x85\x71\xca\xc3\xf8\xf7\x41\xe2\xd7\x5f\x67\x55\xab\x75\xf3\x6a\x81\x3e\x4e\xc3\x59\x15\xdb\x15\x50\x4d\x1c\x16\x2c\x3b\x4f\x8c\x19\x39\x39\x0f\xb0\x26\x03\x92\x94\x9a\x76\x7d\x78\x6b\xb6\x96\xe3\xa8\x28\x5f\x95\x74\xbe\x13\x10\x7b\x14\x7a\x5d\x50\xc0\x09\x8f\xb8\xa2\xb4\x77\x4e\x83\xb6\x6d\x61\x53\xba\xf8\xb5\x99\xe2\x57\xf5\xa1\x98\x1a\x75\x75\x7a\x44\xb0\x54\xeb\x02\xd9\x0f\x06\x4a\x93\xa1\xdd\xee\x1b\x69\x52\x76\x2c\x36\xb2\xda\x0d\xc1\xbe\x78\x6e\xdd\x5a\xd4\x35\x2c\xd8\xc9\x89\x6c\x43\x92\x33\xb3\x39\x12\x4f\xbb\x69\xf6\x97\x75\xdd\x26\x23\xd3\xee\x7b\x4f\xfe\xca\xae\xb0\x20\x61\xfa\x3c\xc1\x21\x33\x5f\x00\x3e\x6f\x8f\xcf\xdb\xa9\xf3\xf8\x57\x47\x97\xdb\x91\x32\x4c\xad\x88\xcc\x64\x9d\x69\x21\x68\x25\x5a\xc0\xbc\xf7\x71\x5a\xd0\x76\x6e\x85\x1e\x03\x93\x7b\xba\xa2\xf7\x6f\x4f\xc1\xdb\xde\xb2\xd4\x02\x93\xb1\xf6\xbc\xa0\x56\x7a\x9a\x26\x25\x30\x22\xeb\x4d\x12\x9b\xa1\xd3\x65\x28\xd8\xea\xb0\xf1\x04\x0f\x5b\xa6\x5f\xee\x38\x77\xcd\x69\xad\x3f\xa5\xdd\x07\x60\xfd\x11\xe8\x3e\x04\x4e\x4f\x6e\xb4\xbe\xb1\xea\x78\xf8\x6d\x49\xbe\x3f\xe7\x5a\xed\x01\x22\xa8\x97\x36\x7c\x01\xa5\x6a\x07\xd7\xdf\x15\x1e\xaf\x6e\xb1\x86\xe4\x93\xcd\x8a\x83\x59\x9e\x66\x3c\x01\x76\xd3\xea\x80\x8c\xe1\x06\xe3\x05\x1a\x25\xf0\xf1\xa8\xb2\x63\x6c\x29\x3b\x75\x20\xc4\x35\xde\x28\xb3\x75\xde\x28\x99\xa6\x84\x50\x9f\x92\x32\x2c\x3e\xa8\xca\x75\x4e\xd1\xa6\xc5\x59\xf6\xa5\xaa\x15\x2d\xb9\x2b\xef\x97\xbb\xe0\x6d\x9c\xad\xdd\x93\x64\xb0\x84\xa5\x2b\x8e\x26\x4c\x46\x49\x79\xf6\xe2\x7c\xb2\xe8\xcd\x5e\x0c\xa3\xc8\x2a\xc7\xbc\x57\xe5\x98\xf7\xa8\x1c\xf3\xb6\xca\x31\x6f\x70\x8c\xf9\x2a\xc7\x98\xd6\x2a\x47\x90\x43\x62\x84\xc8\xd7\x69\xae\xb2\x60\xdf\x4d\xfc\xab\x92\x8c\xe6\x67\x69\x3e\x57\xd4\xe5\x17\xcd\x2a\x45\xbd\x2e\xf3\x2b\xce\xdd\x5e\xd7\x68\x79\x8c\x1e\x46\xb5\x94\x18\x47\x45\x29\xf7\x5a\x2e\x59\x90\x75\x2a\x38\xe3\x6b\x24\x48\x63\xba\x5c\xb2\xb0\xfd\x35\x77\x57\x4b\x9e\x1b\xe7\xb9\x87\x01\xd1\xa3\x82\x87\xc2\x56\x45\xec\xea\x3d\x11\xea\x1c\xc8\xc8\x21\xe3\xaa\xa1\xed\xb3\xb2\x6e\x12\x9d\x29\x9c\x28\x46\xc9\xa0\x7a\x8e\xc1\xda\xe5\x75\x25\xcb\x49\x29\x44\x93\x84\xc4\x34\x39\x2f\x2f\xbe\x32\x6e\x6e\x80\x7f\x17\xe5\xfd\xfd\xe4\x44\x3f\x25\x80\x57\x9e\x4d\xa4\xa0\xfb\xfc\xf0\x2d\x97\xda\x62\x32\x55\x8a\x55\x81\x36\xba\x23\x81\xb6\x35\x78\x9b\x9a\x9e\x84\x9b\x83\x73\xaf\x1b\x40\xd5\x0a\x39\x30\x77\xd1\xf0\xea\x9a\x6d\xb2\x31\x7c\x1a\xb1\x44\xcf\x23\x96\x3a\xb6\x21\xb3\x8a\x0c\x8d\x50\xbf\xa6\x4f\x4b\xbc\xbc\x85\x57\x61\x6f\x07\x41\x23\x1b\x27\xf2\x99\xae\x9d\xd3\xb2\x2b\x47\xb6\x58\xf6\x72\xb9\xd1\xb6\x52\xad\x81\xe1\xb1\x1d\x17\xce\x3b\x3d\xea\x95\xef\xb6\xe4\x47\xb5\xd6\xa4\xcc\xd3\x38\xa6\x79\x71\x10\x2e\xca\x8b\x83\x28\xf9\x18\x95\x7d\x7e\x8b\xa2\x6d\xa7\x35\x6c\x45\x73\xc2\x28\x0d\xa3\x33\x95\xc6\x24\x7e\x4c\x96\xac\xf0\x49\xbd\xf3\x57\x57\xef\x00\x7d\x2d\x26\x4a\xd4\x62\x9f\xca\x1e\x4f\x07\xd8\x04\x08\xa8\xbd\x2e\x9f\x87\x64\x72\x32\x2c\xd3\x0f\xc8\xb4\x4e\xd1\x82\xa3\x94\x93\xe1\xef\x0b\x9a\x5f\xfd\x18\xe6\xe1\xbc\x18\xaa\x51\xa2\xb0\x5c\x3c\xea\xe1\x9a\xcd\xcf\x37\x6d\x8b\x76\xb6\x29\xab\x44\x4b\x97\xea\x98\x9e\x94\xa7\x93\x44\x8b\xb9\xd6\x9c\xcf\x23\xe7\xfa\x72\xf1\x18\xa6\xa5\xa5\xdc\xed\x62\xa9\xe5\x93\x50\x89\x64\x82\xc9\xbb\x9d\x24\x77\x9f\x89\x63\x80\x34\x1e\x76\x57\xfb\xa5\x38\xa9\x7b\x7d\x65\x24\x13\xfa\x62\x23\x2a\xac\xd8\xa6\x03\xe1\x28\x73\xc0\x54\x7f\x5b\x20\xc6\x7b\xca\x2c\xcc\xf6\x5e\xac\xa1\x06\x5a\x9b\xee\xad\x9a\xdb\x1f\x03\x46\x9d\x3d\x61\xd4\x7f\x07\x8c\x7a\x36\x51\x62\xa6\x31\x5f\x97\xe4\xad\x6d\x2b\xec\x43\xba\x5d\xa8\x36\xeb\xb2\x18\x66\xdd\x49\xde\x16\xad\x6a\x76\x94\xbf\x89\xca\x2a\x3d\x1c\x37\x1c\x16\xe1\x47\x58\x33\x5a\xef\xd6\x65\x36\xab\x93\xb0\x69\x2c\x61\x59\x4a\x78\x37\x96\x78\xec\xfb\x70\x4e\x95\x12\xc5\x28\xd6\x25\xe2\xad\xde\x66\x05\xcd\x4b\xde\x56\x24\xcd\x8a\xa0\x8b\x78\x6d\xa2\xee\x81\x58\xca\xe4\xc6\x6e\x83\xe5\x42\x1e\x44\x89\x3a\xad\x94\x7b\x1d\xe9\xbf\x8a\xc5\x74\x4a\x8b\x42\xf9\x8d\x77\x1d\x0c\xff\x76\xcd\x26\xb9\x1c\x0e\x18\x4c\x66\xbf\x71\xcb\x6a\x05\xa2\x43\x2c\x96\x79\x98\x14\x11\x6c\xf1\x9f\x52\xf4\x60\x53\xd6\xf9\x12\x16\xb4\x2c\xa3\xe4\xbc\x18\x6a\x54\xb2\x86\x8a\xea\x43\x06\x97\xf1\xee\x03\xaf\x1d\x8f\x8b\xe5\xb9\xda\x9f\xf9\x6c\xf8\x75\x18\xc5\x74\x36\x28\x53\xbe\xdc\x41\x35\xf0\x35\xd7\x09\x8e\x73\x91\x1d\x4d\x2b\xca\x68\xfa\xe1\x0a\x37\xf9\x12\x2d\xb9\xb3\x2e\x4b\x6e\x72\x67\x96\xdc\xd6\xf0\xed\x14\x5f\xf1\x67\x8b\xd6\xed\x37\x48\xc7\xe0\x0e\x2c\xc5\x3d\x89\xb7\x5a\xef\x94\x4e\x18\x6a\x0d\xb6\xcd\xb8\xd5\x3b\x88\xaa\x85\xb2\x44\xdf\x34\x54\xdf\x86\xce\xaf\xf3\x1d\xbc\xa5\xfc\xb3\x77\x37\x48\x35\xbd\x05\x9b\xaa\x45\x1a\xbb\x09\xd6\xc7\xae\xfe\x59\x6c\x2a\x4b\xe9\xa8\xa5\x13\xc6\xfc\x85\x5c\xdb\x18\x4f\xf2\x5e\x6d\x23\x2c\x45\x66\x62\xe2\x5e\x26\x26\xee\x61\x62\xe2\x36\x13\x13\x37\xc8\x6d\xbc\x4a\x6e\x43\x89\x89\x59\x6a\xf1\x44\x66\x5b\x43\x3e\xf7\x62\x22\xb3\xae\x8b\xc9\x1d\x33\xaf\x5a\x36\xb9\x5e\x6a\x32\x6f\xb4\xe8\xe1\x8d\x32\xe0\x8d\x16\x9c\x37\xca\x9a\xbc\x91\x5c\xd4\xb2\x36\x6f\x94\xf5\xf2\x46\xd9\xcd\x4d\xd6\xe6\x8d\xb2\x26\x6f\x94\x4d\x8a\x6d\x78\x23\x54\x84\x08\xbd\x84\x02\x8c\x2c\x55\x6f\x6e\xe8\x52\xd5\x32\x55\x9b\x4a\xbc\x51\xd6\xe2\x5c\x32\xce\x1b\x35\x9e\x1f\x66\xab\x1f\x6b\x5a\xf1\x46\xd9\x7a\xde\xa8\xfd\x86\xee\xfd\x06\x53\xcc\x60\x79\x8c\x37\xca\x27\x19\x88\x11\x0d\x2e\x5c\xcb\xb6\xb8\x15\xba\x16\xdd\xf0\x1f\x07\x61\x96\xdd\x46\xb6\xd8\x8c\x85\x80\x23\x85\x39\xa3\x13\xcb\xde\xaa\x6a\xe3\x31\x48\x0d\xc5\x93\xd4\xf0\xef\x20\x35\x2c\x26\x4a\xfe\x19\x22\x41\x58\xa5\x6a\x7e\x83\x2a\xe7\x28\x39\xff\xa5\x36\x15\x72\x9d\x47\xd5\x4a\xdc\x67\x88\xa5\x34\xce\xd5\xf9\x7c\xc3\x0d\x76\x3f\x85\xf9\x39\x65\x77\x36\x9a\x89\x94\x3b\x2e\xa3\xe0\x1d\x93\xbf\x53\x92\x85\xf0\x68\x7f\x7f\x08\x47\xfa\xd9\x64\x22\x9e\xb0\x5c\xca\x20\x1a\xfc\x5d\xa5\xd5\xd3\xea\xda\xc7\xba\x09\x7c\x87\xb6\x4d\xe9\x3e\x8b\xc6\x65\x90\x75\x13\x66\xf3\x29\xeb\xf9\xd4\x76\xd3\x67\x93\x49\xd9\x39\xab\x13\x42\x08\xff\x96\xf8\xb1\x0a\x05\xdb\x85\xf3\x42\xd5\x08\x21\x14\x5f\xbc\x32\xf3\xa5\x96\x4e\x0a\x25\x6f\xe6\x76\xed\xfa\x06\x27\xd1\x7d\xb1\x99\x71\x7b\x02\xd5\x75\x95\xbb\x62\xd0\x73\x99\xb3\x5c\x7c\x26\xaa\x3f\x90\xae\x6a\xdd\x86\xd7\x6c\x6b\x95\xd6\x61\xfd\x0e\xdd\xfb\x13\x1a\x7d\x98\x68\xb4\x4d\x9d\x6b\x7e\x69\x10\x25\x03\x7a\x4f\xac\x38\xbd\x3b\x35\xfa\xb6\xe8\x5b\x92\x4f\x3a\x25\x13\x81\xa4\x65\x99\x44\x3b\xb9\x8e\x8a\x37\x17\xe9\x65\x94\x9c\xbf\xa0\x45\x99\xa7\x57\x74\x36\xbe\x0e\x8b\xf1\x70\x26\x8a\xc3\xe5\xf2\x54\xd5\x18\x8e\xd6\xca\xc9\x70\xb5\xc3\x50\x48\x1e\x4a\x32\x49\x7b\x45\x8d\x3f\x9b\xf3\x01\x5a\x70\x11\x16\xdf\xa5\x39\xad\xf3\xca\x17\x92\x5d\xaf\x52\x40\x91\xb3\x28\x2e\x69\x8e\x39\xdf\x6d\x20\x36\xe8\x0b\xa8\xaa\xc2\xc0\xaf\xe3\x58\xb3\xf5\x83\xb4\xdb\xfc\xe3\xea\x1b\x9a\xf0\x94\xfd\xdd\xb7\x28\xd3\x33\xd6\x5d\xea\xc4\xda\x25\x13\x90\xe2\x45\xe7\x43\x12\xcd\x0e\x0f\x4b\x12\xcd\xb4\x68\x42\xc9\x59\x94\xcc\x70\xa6\x54\x6a\xf3\xea\xc5\x64\x32\x49\x54\x75\x2f\xba\xb9\x51\x98\xa2\x6c\xa1\x24\xb0\xc7\xf0\x56\x66\xa4\xaa\x18\x87\xa5\xbe\xda\x8a\x8f\x4b\x75\x59\xd1\x9f\xe2\x22\xbd\xac\x3e\xb0\x52\xa5\xaf\x6f\x7f\xfa\xc9\x33\x1d\x49\x55\xbc\x42\xaa\x56\xf6\xc8\x7d\xd8\x22\x38\xa1\x6a\xbe\xbc\x31\xf5\x9d\x34\x22\x6b\x86\x51\xb5\x5c\xd6\x89\x34\x28\x57\xb1\xc7\x4e\xe8\xa2\xe9\x17\xa4\x5e\x8b\x23\xd7\xa4\x4c\xa7\xd5\x4d\x0b\xe9\x73\xd1\xe5\xf2\x73\xe9\x9f\xb8\x6a\xfc\xd7\xd1\xb3\x74\xe2\xb1\x1a\x13\xe1\x39\x93\x91\x4f\xbf\x9e\xe3\x21\x20\x1f\xe6\xc5\x04\x07\xe3\xed\xeb\xe3\x7a\x0b\x3f\x93\x10\xcf\x22\x8f\xf7\xf7\xf9\x51\x3b\x0e\x4b\x5a\x94\xd8\x53\x14\x3a\x91\x55\x34\x9b\x4c\x24\xed\x39\x89\xb1\xe9\x6b\xb6\x19\x00\x59\x74\x29\x59\x38\xe8\xee\x48\xcd\x82\xec\xdc\x93\x4e\xe5\xdf\x41\xa7\x22\xec\x10\x07\xec\x43\x8c\x3e\x86\x79\x04\x10\xbe\x15\xcb\xfd\x38\xd1\x4e\x65\xe0\x78\x0c\x88\xa7\xe3\xec\x57\xf3\x7f\x3a\xfd\x4f\xa7\x9f\x9f\x7e\xb4\x8c\x55\xfe\x14\xab\x8e\x79\xd3\x38\x1a\xb1\x36\x8d\x96\x8f\xc7\x29\x8f\x85\xbf\x69\x60\xa9\xc6\xe4\xef\x22\x16\x65\xfd\xe0\xba\x8c\xe6\x74\x7c\x7d\x71\x31\x9f\x17\xc5\xf8\xfa\x22\x5d\xe4\xe3\x21\x2e\x23\x9a\x0e\xb5\x79\x94\x2c\x4a\x2a\x3d\x60\x71\x8d\xea\x07\xcb\xa5\x36\x0b\xcb\xcf\x1b\x20\x59\xc0\x87\x1b\x5f\x4f\xd3\x79\x16\x4e\xcb\xf1\x75\x92\x96\xc8\x6c\x8e\x87\xfc\xd1\x70\xa9\xbd\x7c\xfb\x7a\x7c\x5d\x94\x57\x31\x1d\x0f\xeb\x5b\x9c\xe2\xd7\x78\xf8\xf2\xed\x6b\x7c\x5b\x34\x5f\xcc\xbf\xce\x19\x1b\xfd\x22\x3a\x8f\xca\x62\x6c\x6a\xf3\xf0\x53\xd7\xf3\xa5\xf6\xf6\xcd\x8b\xb5\xa3\xbe\x7d\xf3\x62\xf7\x51\x7b\xf8\xe3\x0b\x1a\x67\xe8\x68\x99\xcc\x3a\x1d\x4a\xf3\x45\x79\x31\x12\x8d\xe4\xc6\xf7\xb8\x75\x71\x2e\x5b\x6e\xdb\x30\x99\x2d\xff\xc0\x63\x50\x43\xa0\x88\x46\x65\x3a\xba\x28\xe7\xf1\xfa\x8b\xc2\xbc\xcb\x10\x96\x55\xc8\x16\x13\x71\x6f\xb8\x5b\x51\x56\xa9\x5d\x72\x1e\x7e\xe8\xa4\x3c\x9d\xd0\x2a\xf8\xd0\xa1\x52\x4e\x4a\x92\xd3\x2c\x0e\xa7\x54\x39\xf8\xcf\x83\x73\x6d\xb8\x1f\x97\x7f\x1f\xaa\xf5\xc3\xaf\xf0\xe1\x39\x3c\x64\x81\x43\x61\xb2\x6f\xc2\x33\xaa\x2a\x89\x58\x27\x81\x85\xfc\x94\x7e\x5b\xce\x63\xa5\x54\x55\x75\x3c\x1c\xde\x46\xf3\x52\x8f\x32\xc9\x57\xcf\xb5\x14\xd8\x94\x01\x43\x55\xf2\xcd\xa1\x4b\x2b\x50\x67\x59\x15\xec\x6e\x4b\x48\xcb\x4c\xd9\x59\x74\x7e\x40\x93\x8f\x51\x9e\x26\xf3\xc6\xbd\xeb\x38\x1a\x49\x43\x1f\x2c\xca\x28\x2e\x0e\x72\x7a\x4e\x3f\x65\x5b\x7e\x92\x41\x39\xa9\x18\x9c\xea\xf2\x82\x44\xe2\xaa\xca\x13\xe3\xf4\x50\x2e\x8c\xaf\x97\x55\xe0\xdd\xfa\x53\x3c\xff\xf1\x47\x71\x6f\x9f\x33\x5f\xa5\x28\xff\x90\xc4\x57\x37\x37\x25\xb9\x88\x66\xf4\xcd\x45\xa8\xc5\x93\x92\x14\x17\xa1\xfc\x98\xc7\x0b\xd0\x42\x24\x64\x62\xa3\xa4\xfb\xfb\x0a\x34\x4d\x2f\x5f\x22\xff\x46\x67\xfb\xfb\x4a\x38\xc9\xc9\x1c\x3d\x53\x22\xf1\x02\x51\xfb\x9a\x9e\xbf\xfc\x94\xa9\xaa\x16\xde\xdc\x74\xb5\x13\xf5\xaa\x16\xb7\x06\x2a\x2e\xc2\xba\xf3\x61\x78\xa2\x9f\x8e\xf3\x5b\x6d\xa5\x2c\xe3\x4b\xb9\x97\xad\x44\xbb\xf1\x1c\x6e\xa2\x02\x90\xc3\x2a\xb2\x63\x9d\xee\x13\xdf\xf1\x69\x6d\x8b\xf2\xb0\xf9\x9f\x82\xf5\x1a\x77\xce\xb6\x39\x8b\x9f\x0f\xb5\xce\x2d\x90\x34\xb7\x40\x83\x0f\x61\x8b\x3a\x39\x25\x6c\x9e\x20\x86\x50\x0c\xff\x50\x8f\x94\xac\x5d\xe5\x34\x9c\x53\xe0\x19\xfb\xf8\xb8\xa2\xcc\xa3\xe4\x7c\x65\x9f\x54\xdd\xee\x71\xa7\xd4\x53\xdb\xf2\xc3\x8a\x0e\x7f\xc6\x6e\x99\x86\xc9\x94\xc6\xa3\x30\xee\xbc\x96\x24\xc5\xb8\xe8\xea\xf1\x78\x38\xe3\x7a\xf2\x59\x54\x86\xb7\xda\x38\x55\xc7\x7b\xdd\x3a\xf5\xf4\xb6\xde\x3c\xa2\xcb\x9f\xb2\x7d\x2e\xc2\xe4\x9c\x16\xb4\x1c\x9d\xd3\x6e\x99\x4a\x34\xe8\xe9\xf2\x08\xb7\x50\x35\xff\x62\xf7\x25\x17\xf7\xbb\xe4\xea\x45\x6f\xe8\xf6\xeb\x96\x3b\xfd\xa9\x7b\x68\x2d\x30\x47\x1f\xc3\x38\x9a\xa1\x70\x57\x74\x74\xfd\x23\x80\xba\x3b\x44\xff\x1c\x70\x2e\x92\x0f\x3b\xb2\x4f\xac\xcf\xbd\xc2\x10\x27\xb5\x35\xfc\x16\xc9\x87\x3f\x05\x76\x71\x58\x14\xd1\xd9\xd5\xae\xc4\x41\x74\xbb\x4f\x08\x56\x53\xdb\x16\x88\xbc\xc3\x9f\x03\x47\x1a\x26\xa3\x45\x36\x5a\xe4\x5b\x4a\xde\x2b\x90\xab\x04\xb9\xa4\x53\xb6\xae\x24\xe8\xe1\x45\x59\x66\xc5\xf8\xe0\x60\xa8\x0d\x25\xc1\x1a\x1f\xaf\x3e\xbd\xbc\xbc\x24\xf8\xe8\x36\x52\x0f\xae\xea\x6d\xf6\x36\x8f\x27\x49\x37\xcb\x1b\x35\x59\xde\x44\xe6\x67\xa3\xf5\x10\xe3\xea\xaa\x1d\xcf\x2d\xef\xf5\x08\xa9\xa8\xd8\x00\x23\x8c\x45\xf2\x87\xc9\x29\xd5\xa0\xdf\x87\x73\xda\x25\xbc\x32\x91\x3f\x99\x1c\x28\x87\xe3\xff\x7b\xf3\xae\xb8\x19\xdd\xbc\x3b\x50\xdf\xbd\x39\x38\xd7\xa2\xc9\xc1\xaf\x5f\xde\x8c\xbe\x3c\x38\xdf\xeb\xd1\xfc\xc8\x01\x16\x86\x6f\x93\x0f\x49\x7a\x99\x0c\x51\x4f\x90\x4f\x4a\x52\xa6\xc7\xe9\x25\xcd\x8f\x42\xae\x95\x67\x7b\x32\xd1\x3a\x24\xa3\x01\x25\x65\xfa\x36\xcb\x44\x6b\x10\x8d\x78\x4d\x3e\xc9\xab\xbe\x91\x36\x1c\x0c\x55\x4d\x7e\x34\x7c\x7e\x09\x30\x7c\xfe\xcb\x9b\x76\xc5\xcb\x69\x3e\xd4\x86\x2f\x8f\x5e\x43\xc5\xf2\xf3\x84\x74\x00\xe3\xa2\x7d\xab\x71\xab\xed\xba\x58\x55\xa6\xdd\x29\x9a\x14\x13\xdb\x16\x4b\xb2\xf6\xf7\x87\x24\x57\x03\x1a\xd6\xd0\x48\xca\x30\x4a\x8a\x9d\x81\xc8\xbb\xdd\x2b\x14\xc5\xd4\xb6\x06\x23\xeb\xf0\xa7\x10\x1b\x9e\xa0\xe2\x8a\x86\x1b\xe2\x41\x6e\x43\x6c\xc4\xfb\x31\x9e\xe7\x8b\xb0\xa4\x2a\x39\xa7\xe5\xd7\x8b\x38\xfe\x3f\x34\xcc\x95\xdb\x11\x0e\x36\x43\x18\xe0\xee\x29\xc7\x2c\x2c\x2e\x68\xbe\xbb\x44\x5b\xf7\xbb\x4f\xea\x51\x4f\x6e\xdb\x8f\x2e\x7a\xfc\x19\x5b\x69\x5d\x12\x89\x2d\xd5\xda\x6c\x88\xd5\xe3\xa9\x25\xd2\x36\x8b\x7a\xec\x05\xba\x96\x10\xf6\xfa\x17\xfc\xed\x3f\xa5\xdf\xa7\x97\xaa\x62\x50\xeb\x8b\x52\xbb\xe6\x29\x0b\xde\xb0\x14\x21\xb0\xe0\x70\x36\x7b\xb3\x38\x3b\x8b\x3e\x31\xcf\xcc\xe1\x82\x13\x9d\x5b\xb9\x66\x86\x25\xfd\x7a\xf5\xed\x93\xa8\x7b\xcb\xe6\xcd\x2d\xdb\xb8\x29\x9f\xef\x0c\xe6\x7b\x82\xaf\x16\x55\x74\xf9\xe6\xe6\x59\x24\x68\xf3\xa2\x49\x9b\xc5\x59\x47\x38\x47\xe8\x59\x2b\x3f\x29\x05\xf1\xed\xf8\x40\xaa\x92\x6a\x79\xc7\x97\x59\xde\x0a\x53\xac\x7e\x82\x7b\x80\x3e\x9d\xee\x48\x72\xa0\xc7\xbd\xb2\x98\xd3\x1d\x0e\xf2\xf4\x4f\x41\x0c\xe9\x65\x32\xed\xf7\x3b\xfc\x73\x14\xea\x74\xf2\x55\x07\x12\x69\xb2\x99\xbb\xe8\xd4\x67\x79\x9a\xed\xba\x33\xa0\xcb\xe3\x93\x3e\x68\x72\x96\xe6\x53\x9e\x6e\x63\x9a\xde\x99\x8c\x3a\x28\x27\xf4\x44\x3f\xd5\x92\x49\x49\x30\xce\x5e\xf1\x4b\x54\x5e\x48\x32\xaa\xaa\x45\x1d\x55\x58\x53\x85\x58\xbb\xb9\x89\x0e\xcb\xf1\x6f\xa2\xcf\xdf\xae\xcb\xe5\x6f\x9f\xef\x69\xaf\x51\xc2\x57\xfd\x23\x5f\xf4\x24\xf9\x4c\xce\x83\x26\x65\x1e\xb5\x9d\xe2\x36\x6e\x19\xd1\xeb\x41\xee\x9a\xfe\x31\xab\xc5\x6e\x39\x26\x6f\xbf\x71\x27\xfe\xbe\xbd\x47\x07\xfd\xfd\xd1\x01\xed\xf7\x45\x18\x6f\x0f\x32\x68\xbd\x09\x60\xec\xda\xc2\xe8\x7d\xb7\x8e\xae\x7f\xdb\xd5\xfd\x1e\x24\x0c\xb7\x58\xf3\xad\x16\xfc\x28\x57\x9b\xcc\x6e\xf3\x7d\x59\xaf\x47\xb8\xde\x38\x2c\x4b\x9a\xec\xba\x5e\xde\xeb\x41\xae\xb7\x7f\xcc\x6a\xb1\x5b\x8e\xc9\xdb\x6f\x84\x21\x17\x26\x56\x22\x6d\x31\x38\x46\x49\x19\x77\xb6\x7d\x90\xd0\xdb\x66\xa5\x22\x88\xf9\x96\x8b\xad\x62\x9e\x3f\xd6\xf5\x32\x4f\xcf\x6d\x97\xcb\x5b\x3f\xda\xd5\xe6\x34\x0e\xcb\xe8\xe3\xd6\x9f\xb7\x6a\xff\x68\x57\x5c\x46\x6d\x2b\x40\xff\x6a\xb1\xed\x23\x5c\x69\x9e\xce\x47\xb7\xe3\x99\x1b\x5d\x1f\xe4\xca\xd7\x60\xfc\x3c\x9d\xbf\xdc\x91\x79\x96\xfa\x6c\x82\xea\x79\x9e\x2e\xb2\xdd\xd9\x85\xaa\xdb\x83\x84\xe6\xfa\x15\x77\x5a\x09\xbb\x45\x86\xf3\x07\x6a\x1b\xec\x1f\xf3\x7c\xfb\xe1\xce\xb7\x00\x55\x77\x04\xe6\x1e\x58\x3d\x50\xac\xb2\x0e\x58\xdb\x2b\xd6\xcf\xd1\xca\xb5\x16\x5c\x17\x61\x31\x4a\xe8\xa7\x5d\xad\xd0\x55\xb7\x47\x06\xbd\x8b\xb0\xf8\x1e\x57\xbb\xe5\x98\xbc\xfd\x36\x50\xcc\x72\xfa\x31\x4a\x17\xbb\xe2\xf9\x46\xd7\xc7\x07\xcd\x1f\xab\x55\x6f\x0f\x51\xd1\x67\x23\x54\x67\xc5\x88\x67\xd7\x18\xf1\x94\x1d\x4d\xa5\xdd\x45\x58\x5c\x44\xd3\x34\xcf\x0e\x66\xb4\x88\xce\x93\x51\x71\x55\x94\x74\x3e\x92\xe2\xac\xaf\x19\xeb\x41\x02\x7b\x6b\x80\x60\xb8\x8b\xbb\x81\x07\x1b\xea\x11\x82\xa3\x9c\xc7\xa3\x22\x3c\xdb\xd5\x0c\x5a\xf7\x7b\x90\x6b\x5e\x73\xde\xf8\x45\xa1\xed\x0f\x1b\xef\xb0\x11\x92\x8b\x79\x98\xec\x6e\x4f\xae\xba\x3d\x36\x38\x56\xcb\xdd\x16\x8e\xbc\xc3\x26\xff\x8e\x68\x9a\x26\xa3\xb3\x34\x1f\x49\xf9\x24\xef\xd2\x15\x8e\xe5\xc7\x50\x4a\xf5\x1a\x2d\x53\xe1\x65\x31\xa2\x53\x73\x38\x96\x4a\x45\xa3\x94\x0f\xc7\xdc\xfc\x09\xe5\x69\x1a\xa7\xf9\x70\x8f\xd5\xff\xf7\x22\xa7\x23\xee\xc4\x81\x52\x17\x33\x3e\x16\x75\x0f\xde\xa2\xee\x33\x4b\xa7\x1f\x68\x3d\x24\x2b\x36\x5a\xf0\x9c\xe6\xd3\x38\x5d\xcc\x46\xf9\x22\xa9\xda\x9e\x4f\xb3\x46\xc3\x0f\x8b\xf7\x34\x4f\x68\x49\xc5\x7c\xeb\x07\xa3\x30\xcb\xe2\xab\xaa\xa7\x54\x21\x0f\x90\xa4\xf3\x70\xc6\xfb\xe2\xef\xd1\xbf\xd2\xf7\x45\x46\xa7\x5d\xcf\x46\xd3\x30\x09\xf3\x7a\x4c\x56\x29\x0f\x97\x85\xd3\x0f\x55\x35\x14\x44\x2d\xdf\x4f\xa2\x6a\x9e\xe6\x74\x74\x91\xe6\xd1\x7f\x03\xe4\xe2\xe1\xf2\x4e\xcc\x34\xb0\x6f\xbe\x4e\xf3\x2a\x9b\xd3\x67\xdb\x69\xa2\xb3\xd1\x07\xda\x29\x20\x7d\xa0\x57\xef\xd3\x30\x9f\xb5\x9a\x92\x7f\x3d\x46\x82\x18\x25\xbb\xda\xb5\xa1\xc7\x83\x5c\x67\xff\x98\xb8\xc8\x2d\xc7\x8b\x92\xe9\x16\x30\x8b\x17\xb3\xde\xc0\x16\xf7\x6e\xd7\x86\xed\xce\xa7\x30\x89\xd6\x1b\xb9\xb5\x44\x32\x73\x47\x4a\xa9\x25\x88\x7e\x65\x9f\x8f\x3a\xac\xc1\xb3\x67\xab\x3e\x95\xcf\x9e\xd1\xfd\xfd\xa1\x78\x3e\x9c\x4c\xca\xab\x8c\xa6\x67\x83\x7a\x0a\x4b\x85\xaa\xfb\xfb\x75\x59\x29\xd5\xe5\xb6\xc6\xf3\x28\x29\x69\x5e\xf4\x45\x16\x58\xb7\x07\x45\xbf\x07\xb9\x13\x37\xac\xf9\x63\xfa\x61\x57\x27\x50\xde\xe9\x41\xae\x76\xdd\xb9\x63\x4b\xdd\xfa\xe8\x41\xf3\x8d\xf0\x2b\x46\xe1\xb4\x4f\xcf\xcb\x02\x51\xae\x82\xaf\xea\xf3\xd8\x20\x58\x3c\xe7\x6b\xdd\x16\x86\xbc\xc3\x36\x50\x64\xe9\x17\xb7\xd5\xf4\x54\x3d\x1e\x1f\x08\xd9\x42\xb7\x87\x20\xb4\xdf\x02\x80\xd3\x38\xca\x90\x13\x18\x15\x8b\x0c\x40\x48\xbb\x6f\x60\xc7\x51\xdd\x74\x53\xff\x47\x07\xdc\x23\xb1\x88\x37\x35\x0c\xb6\x86\xf4\x6a\xe7\x2d\xc0\x4e\xe7\x59\xb9\xdb\xbe\x65\x3d\x1e\x24\x68\x37\x2e\x96\x39\x83\xec\xb2\x58\xec\xf1\x20\x17\xbb\x6e\x1f\xbd\xdc\xc9\xeb\x85\xb7\xdf\x04\xc0\x7f\xa5\xd1\xae\x2e\x02\xd8\xe5\x41\x42\x6f\xed\x4a\x3f\xd0\xab\x5d\xf5\xa6\xd8\xe5\x41\xae\xb4\x7f\x4c\xb6\xcc\x2d\x07\x84\xc6\x9b\xe0\x86\x89\x42\x47\x05\x8d\x57\x98\xd0\xcf\xd1\x34\x20\xdb\xad\x45\x93\xe1\xb0\xbe\x7b\xd7\x19\xf2\x8c\x9e\xe8\xa7\x93\x49\xb2\xbf\xaf\x44\x13\x7a\x62\x9c\xe2\x64\xa3\x3b\x91\x88\x71\x65\x6f\x70\x61\x9f\x2d\x0c\xc7\xe9\x14\x2f\x11\x8f\x2e\xd2\xa2\xfc\x8c\xbb\x67\x1d\x57\x46\x7e\xfb\xdb\xf5\x65\x94\xcc\xd2\x4b\x22\x5e\x42\xc4\x4b\x96\xe3\xc0\xd3\x8d\xbb\x71\xe3\x14\x83\x7f\xcb\xc7\xbe\x03\x90\x5c\xd2\x7c\xd5\xbb\x79\xa3\xc6\xaf\xee\xf7\xc8\x8e\x9e\xb4\xe0\x2d\x47\xad\x7a\x6c\x3c\x84\x3b\x18\x67\xe3\x07\x2a\xf3\xad\x01\xdc\xf6\xc3\x6d\xc6\xf3\xf1\x2e\xc6\xd9\xf8\xf1\x19\x67\xe3\x1d\x8c\xb3\xf1\x66\xe3\xec\x3c\xbc\x85\x9b\x03\xef\xf4\x20\x21\xb7\x69\xb5\xbb\x2f\xf5\x11\xae\xf3\x16\xe6\xf6\xc7\x68\x6a\x4f\x76\xb1\xb3\x27\x5b\x18\xd9\x93\x74\xe7\xbb\x2a\xd8\xe5\xb1\xc1\x0d\x97\xb9\x2d\xdc\xd2\x34\xdb\x0c\xb7\x72\xb4\xcb\x9d\x03\xde\xfe\xd1\x81\xad\x44\xa1\xea\x5b\xc6\xbc\x6d\x0f\x40\xb9\xdb\x16\xa0\xdc\x09\x8e\x8f\x10\x88\xbb\x40\x6e\x13\xb8\x58\x34\xdd\x51\x3b\x28\xdd\xc6\x63\x5b\xf7\x7b\x64\xf0\x63\x13\x7f\xbe\xfd\xa0\xa2\xc3\x46\x48\x26\x5b\xdb\xf3\x58\xd3\xc7\x69\xcf\x4b\x33\xe8\xd8\xad\x32\x5a\xb7\x5f\x44\xb7\x07\xb9\xe2\x35\xdb\xa5\x5a\xee\xb6\xdb\x85\x77\xd8\x08\xc7\x4e\xb7\xf9\x6e\x34\x95\x3e\x50\xa7\xf9\x35\x60\xdb\x1e\xbd\xa7\x1b\x51\x7a\x16\x9e\xd3\x51\x19\x95\x71\xa7\x64\x52\xd7\x76\x75\xb8\xb7\x4b\xbf\x15\x1c\xb6\xbe\xc8\x9b\xd1\xfc\x2c\xcd\xe7\xdb\x46\x74\x14\xcd\x1f\xe4\x97\x5f\xeb\x62\x93\x45\xd3\x5d\x43\x9d\x61\x97\x07\xb9\xd2\xfe\x31\xd9\x32\xb7\x1c\x10\x1a\x6f\xdc\xe7\x51\x46\x47\x2c\xf6\xf8\xce\xe0\xab\x7b\x3e\x48\x28\x6e\x5c\xf7\x2d\x16\xfc\x30\x57\xba\x6e\xbf\x64\xdb\xab\x1e\xa0\xf1\x46\xb8\xc5\x8b\x3c\xec\x8b\x9a\x1a\x25\x67\x31\x9d\x96\x69\x7e\x10\x47\xef\x3b\xba\x3c\x24\xc4\x78\x3b\xb7\xec\xc7\xea\x92\x9d\xed\xea\x8f\x9d\x6d\xe9\x8c\xcd\xb3\xab\x8c\xa2\x62\x94\xd3\x79\x5a\xd2\xd1\x22\xcb\x60\xf0\x3b\x0e\xa4\xb0\x27\x3c\x77\xca\x43\x32\x0b\xcb\xf0\x4d\xba\xc8\xa7\xf4\x90\x9c\x47\xe5\x21\xcb\x23\xd5\xac\xf9\x31\x8d\xe3\x43\x42\x13\x98\xca\xec\x4e\x94\xed\x7c\xa5\xaf\x8a\xd7\xb8\xce\xb7\x6c\x99\x9f\xad\x72\xff\x7d\x41\x17\xbb\x62\x22\xd6\xe7\x91\x6d\x41\xbe\xd0\x2d\x47\xc4\xd6\x9b\x36\x5f\x1e\x26\xdd\x17\x5f\xd7\xc0\x8e\xf5\x79\x64\xb0\xe3\x0b\xdd\x72\x44\x6c\xbd\x11\x76\x98\x0a\x68\x57\xe0\xb1\x4e\x0f\x12\x7a\x1b\x56\x8b\x58\x6a\x67\xad\x79\xdd\xef\x31\xae\x39\xa3\x3b\xeb\x58\x78\xa7\x07\xb9\xda\x35\xe7\x83\x2f\x75\xdb\x03\x82\xcd\x37\xc3\x0f\xd3\x66\xed\x0c\x40\xd6\xeb\x41\x42\x70\xfd\x7a\xd3\xb4\x5c\x0d\xd3\xbb\xd6\x05\xb1\xea\xf2\x20\x57\xbb\x66\xbf\xa4\x69\xf9\x36\xdf\x5e\xc1\xc2\xdb\x6f\x86\xe0\xa2\xa4\xa3\x4c\x24\x1b\xde\x1e\x8a\x52\xb7\x47\x07\xc9\x45\x49\x45\x7a\xe5\xad\xa1\x59\xf5\xd9\x04\xd1\x9e\x58\xf0\x05\x2d\x39\x14\x1b\x2d\x1f\x24\xec\xd6\xaf\xef\x62\x71\x76\xd6\xad\x63\x5a\x83\x63\x44\xaf\x07\xb9\xde\xfe\x31\xab\xc5\x6e\x39\x26\x6f\xbf\x11\x86\x51\x72\xbe\x88\xc3\xbe\xc0\xa7\xdd\x42\xa9\xdc\xe9\x01\x89\xa5\x98\xb2\x71\xd7\xdd\x80\x7d\x1e\xe4\x5e\x58\xbf\xd6\x34\xbf\x05\x47\x26\x7a\x3d\xc2\xf5\x96\x79\x94\x8d\xc2\xa4\x88\xee\xf6\xf6\x5f\x23\xd4\x38\x8b\x63\x9a\x4c\x4e\x86\x27\xef\xde\x2d\x74\xdd\xf8\x07\xfe\x09\xfe\x71\x7a\x72\xf2\xee\xdd\xa9\xa2\xfe\xc7\xdf\x0f\x4f\xbf\x50\x0e\xc7\xec\xdf\x49\x38\xfa\xef\xe7\xa3\x7f\xbe\x7b\x37\xc3\x87\x7f\x3f\x19\x55\x0f\xde\xbd\x3b\xf8\x8f\x7d\x32\x9e\x1c\xfe\x8f\xff\xf9\xff\x7e\x3d\xfd\x42\xfd\x42\x3d\xc4\xa1\x74\x4f\x1d\x6a\x43\xd6\xfd\xdd\xbb\xd9\xb5\xa1\xd9\x4b\xe8\x0a\xbf\x75\xcd\x5e\x42\xc3\x93\x77\xef\x66\xcf\x47\x3f\xbe\x1e\xfd\xf4\xcf\xe9\xd9\x28\x29\x7f\xcf\xaf\x26\x5f\xfd\xe7\xff\x3b\x55\xd5\xe1\x29\xf9\x57\x1a\x25\xca\xf0\x06\x23\x20\x26\xf4\x72\xc0\xf2\x90\x29\x89\x36\x3c\xaf\x63\x1f\x96\x72\x64\xf3\xdb\x05\xe9\x5f\x91\xe0\xf1\x03\x3c\x4f\x8a\xe8\xb3\x85\xf6\xe2\xe3\xf9\xe8\x5f\xed\x18\xd3\x9c\x34\xb1\x2a\x9e\xa0\x6e\x1e\x7e\x10\x5b\x78\x5d\x8b\xe2\x63\x67\x76\x60\xf9\x46\x93\x7a\x5d\xe6\x57\x62\xcf\xe5\xf4\xf7\x45\x94\x53\xe5\xb7\xe6\x88\x51\x12\x47\x09\x9d\x1d\xfc\xed\x9a\x2e\x7f\x53\xab\x7d\x39\x0d\xf9\xed\x50\x11\x57\x72\x11\xc7\xcb\x65\x35\x78\x2e\x5f\x97\xc2\xb8\xb6\xbc\xa3\x8a\xf3\x88\xee\x08\xf8\x1f\xcf\xff\x2b\xcc\x27\xb9\x9c\x13\xae\x7a\xcf\x0e\xf1\xe6\x3b\xf9\x81\x46\x6c\xa0\xc7\xc8\x07\x94\xe1\xce\xb7\xa7\xb0\xcb\x63\x5c\x69\xd1\x63\xa8\x59\x35\x47\x61\xdb\x47\xb8\xc4\xa8\x8c\xe9\xee\xd7\xe6\xab\x6e\x0f\x72\xc5\xfd\x63\xd6\xcb\xdd\x72\x50\xd1\x61\x23\x1c\xd3\xf3\xf3\xf8\x96\xd6\xa9\x66\xdf\x07\x09\xd1\x2d\xd6\x7e\xab\x45\x3f\xcc\xd5\xae\xd9\x3f\x7c\xa9\xdb\xee\x1e\x6c\xbe\x11\x7e\x39\x30\x5a\xe8\xde\x5f\xa6\x3b\xc8\xe2\xcd\x7e\x8f\x0d\x92\xd5\xe4\x7f\x4a\xb7\x87\xa7\xd4\x69\x33\x54\xa3\x6e\x5f\x82\x35\x58\x0d\xba\x3c\x3a\x38\xc2\x32\xb7\x86\x5f\x34\xdf\x0c\xb7\x45\x32\x0d\x4b\x0a\x87\x77\x1e\x3d\xac\x64\xac\x3d\xb1\xe3\x8b\xc5\xfb\xa2\xcc\x15\x5d\xf3\x3a\x22\xc7\xf7\xfb\x61\x88\x95\xee\xbc\x4b\x78\xb7\x47\xb7\x53\xc4\x72\xb7\xde\x2d\xac\xc3\xa6\x1d\xb3\x48\x66\x34\x2f\xa6\x69\xbe\x2b\x24\xa5\x8e\x8f\x0c\x96\xf2\x92\xb7\x1c\xb6\xee\xb2\x19\x9e\xbb\xf3\x10\xac\xcf\x83\x84\xe2\xfa\xb5\x66\xd9\xad\x6e\x71\xd5\xfd\x1e\xe4\x9a\xd7\xec\x9c\x7a\xc1\xdb\x6e\x1c\xd1\x63\x23\x2c\xf3\x78\x74\xd6\xed\x37\xd9\xc3\x41\x88\x1e\x8f\x0d\x86\x79\xfc\xf5\x0e\x1e\x94\xac\xf9\x26\xe8\xe1\x62\x76\xf5\xb1\xe1\x9d\x1e\x19\xfc\xc4\x52\xb7\x1c\x92\x35\xdf\x04\xbf\xcb\x1d\x4f\xf0\xe5\x63\x83\xda\xe5\xd6\xa3\x5d\x6e\x84\x55\x54\x5e\xa4\x8b\x5d\xed\xdd\xa2\xd7\x63\x83\x9b\x58\xec\xb6\xd0\x63\xed\x37\xc1\xf0\xd3\x2e\x1e\xe2\x9f\x1e\x1f\x92\xfb\xb4\x03\x86\xfb\xd4\x8f\xde\xa2\x24\x2a\x23\x74\x69\xcc\x8b\x83\x30\xcb\x46\x1f\x69\x5e\xf4\xf1\x17\x71\x34\x92\x9a\xc8\x7d\x47\x67\xe1\xb4\x4c\xf3\xab\xa1\x56\x0f\x3d\x4d\x93\xb3\xe8\xfc\x80\x26\x1f\xa3\x3c\x4d\xe6\x34\x59\xd9\x9a\x5a\xc2\xfc\xe2\x22\x2d\xdf\xfb\x7c\xc5\x6c\xa5\xec\x25\xcf\x7f\xfc\x11\x6f\xec\x37\x9e\x90\x24\x9c\x53\x2d\x6f\x3d\xe4\x6b\x51\xb9\x2e\xf7\x1a\x1a\x8d\x87\xcf\xb3\x6c\xf0\xb3\x00\x44\xbd\xcc\x71\x53\xd5\x1b\x69\xb9\xba\xdc\xa8\xed\x6d\x40\xb8\x8e\x46\x38\xa3\xef\x17\xe7\xa3\x70\x16\x66\x3d\x59\x50\x72\x5a\xa4\xf1\x47\x9a\x1f\x88\x1f\x22\x25\xf3\xb4\x77\x94\x7b\x13\xb3\x38\x58\x7a\x67\x5f\xaf\x51\x51\xaf\x95\x30\x3f\x5f\xc0\xe7\x2e\x4e\x8c\xd3\x9b\x9b\xba\xa4\x9f\xaa\x24\xa7\xe7\x51\x51\xd2\x5c\xe9\x1b\x6c\x3c\x0f\xa3\x64\x28\x81\x79\xb9\xdc\x68\x72\x6c\x80\xb8\xde\xab\xf3\x28\x6f\x65\x93\x38\x6d\xa6\xa5\xbd\x1b\xf0\x94\x02\x3c\xab\x6f\x6e\xc0\xa5\xb1\x90\x72\xdb\x85\x14\xd1\x3c\x8b\xe9\x28\x5c\x94\x17\xcd\x5d\xb2\xee\x9c\x55\xf6\x99\xba\x33\x6f\xb6\xc8\x43\xa6\x82\xec\x68\xd1\x78\x7b\x41\xcb\x45\x36\x2a\x68\x51\xec\xde\x1c\xf6\x6e\x99\xae\x79\x93\x68\x07\xad\x68\x71\x80\x9f\x1e\xa3\x68\x6d\x6e\x1b\xa7\xd3\x30\xc6\x02\x42\x78\x73\x87\x69\x9a\x7e\x88\x56\xe4\x00\x2d\xd1\x22\x2d\xd7\x52\x2d\xd6\xc2\xbb\xda\x08\x45\x73\x23\x34\xbe\x9c\xb4\x13\xa8\x7a\xcd\xf2\x31\x17\xb5\x55\xfd\xa4\xa3\xcf\xe9\xcd\xcd\xf5\x72\xaf\x60\x1e\x3b\xaf\x8f\xeb\xc6\xe2\xc9\xcd\x4d\xfd\xe8\x7d\x58\xd0\xb7\xaf\x8f\x25\x24\x18\xa7\xe1\x4c\x29\x60\xaa\xf5\x99\x6b\x80\x66\x5c\x83\x3d\xad\x4e\xdb\x9a\xe6\x1c\x90\x5a\xb8\x4d\xe3\xd6\x67\x8a\xeb\x3e\x8a\xae\x45\x92\x59\x0e\x1f\xe4\xf2\x83\xc6\x39\x29\xb6\x38\x27\x78\x24\x30\xa6\x6a\xc4\xc3\xa0\x9c\xc7\xe9\xfb\xce\x3b\x76\xbb\xd3\x27\xc9\x70\xa9\x5e\xc3\x57\xa6\x93\x7e\xfc\x86\x06\x6c\xe3\xd9\x44\x22\x32\x6c\x02\xcf\xeb\xc9\x7d\x83\x73\x63\x63\x45\xd0\x01\xb5\x05\xb0\xc0\xd9\xf0\x99\x08\xdf\xc8\x42\xae\xa8\xd1\x84\xfd\xd8\xa3\x71\x41\x07\x3d\x6d\xd9\x62\xd5\x68\xc2\x7e\x60\xdb\xeb\x66\xdb\x2a\x2c\x64\x41\xe3\x33\x6e\x5f\xdf\x8b\x26\x50\xc2\x9c\xd9\xb9\x96\x6e\x9e\xf2\x5e\x3e\x19\x32\x66\xbd\x1e\x2f\x3d\x4c\xc7\xf5\x26\x7c\x83\xb5\x55\x92\x7e\xa5\x1e\x72\x8e\x67\xe8\xc7\x9c\x9e\x45\x9f\x54\x2d\x3a\xc9\x4f\x6f\x6e\x14\xf8\x33\xa1\xb8\x89\xd2\x8c\x26\xca\xf5\x65\x14\xc7\x2f\x68\x51\xe6\xe9\x95\xcc\xc7\x94\x17\x51\x41\x7e\x2d\x16\x19\xcd\x09\x46\xce\x55\xe0\x89\x56\x01\x1e\x36\x48\x4c\x4b\x3a\x80\x01\x97\x4b\x55\xbd\xa3\x90\xb5\xd5\x26\xe3\x51\x3c\xf3\xea\x7c\xf7\xef\x38\x89\x59\x88\x96\x1b\xb3\x97\x36\xf6\xf1\x59\x1c\x16\x17\x22\xa9\x51\xb1\x0b\xb2\xe7\x6a\x57\xa4\xa3\x0d\x6e\x0d\x87\xe4\xd6\xf9\xc6\xf0\x23\x76\xcf\xb2\x23\xe1\xac\x16\xdd\x55\x04\xd4\x0a\x7a\xb9\x9c\x59\x5e\x20\xbf\x75\xc7\x48\xbb\xc6\xc9\x7e\xc7\xe6\xfa\x82\x0d\x5d\x8c\x93\x65\x8d\x03\x01\x37\x6a\xd7\x51\x02\x13\x8d\xd2\xe4\x6b\x64\x3f\x23\x5a\x8c\xf3\xe5\x24\xb9\xb9\x39\x39\xd5\xd0\x30\x2f\x61\x9a\x44\xdd\xcb\xf7\xf7\x73\x12\xd3\xe4\xbc\xbc\xd8\x4b\xc9\x6a\xe7\x3a\x06\x54\x39\xf9\xea\x9a\xf2\x16\x4a\x89\x19\xbe\xaa\xf9\xc0\xf7\x28\x68\xfe\x31\x9a\xd2\x71\xeb\x9b\x01\x8f\xbd\x6c\x70\x92\xed\x8f\x2a\xed\x8f\x7c\x47\xde\x91\x91\x58\xae\xaa\xe1\x13\x18\xe5\xf4\x2c\xa7\xc5\xc5\x28\x4b\xe3\xab\xb3\x28\x5e\xe7\xf1\xda\xd7\xe5\x36\x6f\x79\x64\xc2\x52\xbd\xc2\x1d\x82\x9d\x8a\x2e\xfd\xa2\x13\xcf\xa5\xbd\x3d\xd7\xf6\x47\xf0\x9f\x7d\x6c\xc7\x56\x0c\xe8\x3c\x9d\x45\x67\x11\x93\x54\x66\x14\xf8\xd8\xbc\x5b\x8e\x16\x0d\x87\xda\x10\x5a\x8a\x86\x5d\x23\x31\xf4\x23\x18\x85\x91\x68\x31\xba\x98\xc6\x98\xa8\xa2\x31\xc4\x41\x38\x9b\xa5\xc9\x01\x9d\x45\xe5\xc1\x3c\x2c\xa7\x17\xef\xf3\x70\xfa\x81\xe2\x9b\xbb\x5b\x4d\xe3\xb4\xa0\xeb\x5a\xb1\xe0\x71\x20\xb0\xb2\x18\xb3\xa3\x38\x4a\x5a\x2f\x85\x69\x1c\xfc\x2b\xfc\x18\x16\xd3\x3c\xca\x4a\xe9\xe7\x7d\xf3\x8d\x82\x13\xbc\x86\x29\x8c\x2b\xf0\x7d\x7b\x74\x3c\xd4\xca\x0b\x0a\x9f\x75\x9e\x26\xe9\x87\x30\x1a\x6a\x30\xef\xef\x31\x09\x1c\x66\x49\x9f\x2e\xf2\x22\xcd\xff\x11\x47\xc9\x87\xd7\x61\x49\xc7\x8e\xae\x6b\x08\xb2\x7f\x70\x60\x40\xa3\x70\x51\xa6\x47\x00\x21\xf9\x61\x51\x5e\xc5\x94\xc5\xa1\x3d\x8e\x12\x9c\xda\x1e\x12\xed\xc1\x62\x40\x3f\x95\x34\x99\x15\xf5\xc1\x62\xf8\x3a\x5f\x00\x8e\x14\x2c\x10\xc0\x61\x0f\x09\xb2\x42\x08\x91\x08\x71\x22\x08\x80\x52\x4e\x86\xbf\xc2\xf7\x49\xf3\xa1\x1a\x25\x0a\x9d\x00\xcd\x56\x0f\xfb\x20\x56\x0a\x30\x25\x5a\xf3\x7c\x56\x62\x0b\x2f\x5f\xe6\x51\xc9\x7f\x2f\xd5\x31\x3d\x29\x4f\x27\xc9\x72\x16\xcd\x5e\xc1\x69\x8c\xe3\x9a\x5d\x00\x3c\xa6\xa8\x50\xf5\x36\x9b\x85\x25\x7d\x2e\x66\xa9\x30\xa5\x03\x9b\x11\x4c\xbe\x40\xd5\xc0\x8c\x29\x32\x0f\x0f\x87\x43\xad\x5c\xa9\xe3\xf4\x72\x8f\x3e\x9b\xb0\x3a\xbe\x38\x72\x4e\xcb\x9f\xa1\x9f\xa2\xee\xef\x37\x2a\x0a\x51\x41\x55\xad\xdc\xdf\x6f\xf9\x3f\xa6\xb9\x82\xde\x8d\x83\x28\x19\x50\xb5\x54\x12\x8d\x9e\x24\xa7\xea\x52\x29\x35\x05\x9b\x4c\xbe\xba\x6e\x0f\xf7\x43\x56\x0d\x00\x74\xe6\xd7\x34\x39\xba\x08\x93\x73\x2a\x5d\x2f\x94\xa6\xb3\xd7\x11\x15\x7c\x65\x55\xc9\xab\x24\x5b\x94\x7c\xe6\xab\x15\x4a\xa9\x2e\x05\x24\xaf\xd1\x39\x13\xda\xd1\x98\x02\x20\xd5\xf2\x22\x4f\x2f\x07\x09\xbd\x1c\xbc\x84\x53\xa4\x0c\x8f\xd2\x19\xfd\x0e\x4f\xd4\x40\x1c\xff\xc1\x45\x58\x0c\x92\x74\xc0\xfb\x0c\xd5\x3d\x06\xfb\xa6\x73\x9e\x3c\xac\x76\x4d\x08\x29\x34\x42\x48\xcf\x37\xd0\xd8\x46\xe9\xfd\x7a\x4b\x75\x8f\x92\x34\x51\x86\xd3\x0b\x76\xd7\x0c\xed\xc2\x0c\x98\x12\xc8\x00\xff\xc9\x10\x9e\xd0\xa5\x14\x17\x7d\xb1\x01\x3d\xce\xa2\xd9\x28\x4a\x0a\x9a\x77\x5b\xc0\x73\x9a\xcc\x24\x2c\x59\x74\xf7\x7c\x90\x54\x74\x8b\x85\x67\x61\xa7\x7e\xf0\x9c\x16\xe5\x22\xa7\xbd\xab\x86\x6e\x8f\x75\xc9\x8b\x6c\x35\x0d\xeb\x76\xdf\x9a\xf7\x7c\x8c\x0b\xdf\x22\x26\x4f\xbb\xf1\xe3\x8a\xca\xd3\x98\x7d\x4e\x8b\x1e\x4f\xc7\xaa\xb2\xfa\xc8\x9d\x3d\x1f\xe3\xba\xcb\x34\x8d\xcb\x28\xeb\x4d\xb3\x95\xcd\x8a\x11\xdb\xe6\xab\x7d\x1e\xe3\x7a\x37\x33\xa3\x27\x4d\x86\x76\x85\x9d\x44\x5e\x91\x31\xd9\xab\x10\xa8\x08\x08\x5f\xd3\x1b\x6c\xf7\x5d\x3a\x93\x66\x83\xbc\xdd\x75\x51\x86\x79\x39\x3e\xb9\xce\xe9\x39\xfd\x34\x3e\x18\x2a\x87\xe3\x93\xff\xfb\xee\xdd\xe9\xcd\xbb\x77\x44\xfd\xe2\x50\x39\x1c\x0f\x6f\xfe\xa6\x1e\x68\x65\xfa\x81\x26\x63\xa1\x78\x59\x6a\xa2\x83\xf2\xee\xf2\x4b\x55\x79\x57\x7c\xa9\x2a\x93\xaa\xd9\xc9\xf0\x03\xbd\xba\x4c\xf3\xd9\x50\x1b\x26\x0b\x90\x06\xd9\x9f\x53\xa9\xdf\xfb\x45\x14\xcf\x6e\x66\x34\x8b\xd3\xab\x9b\x9c\xc6\x34\x2c\xe8\xcd\x45\x9a\x7e\xb8\x61\x50\xc9\xaf\x6e\x80\x5b\xb8\xc9\x17\x49\x42\xf3\x9b\x45\x1e\xab\xca\x40\x55\xae\x77\x7a\xc9\xc7\x30\x8f\xe0\x9b\xa9\xef\xde\x57\x4b\x10\xbd\xea\x66\x65\xbe\xa0\x37\x67\x61\x5c\xd0\x1b\x18\xe1\xa6\x52\x58\x55\x7d\xc2\x32\x9d\x4b\x1d\xf4\x4f\x27\xe1\xe8\xec\xdd\xec\xf4\xcb\x9b\x93\xd1\x97\xa7\x00\xa5\x77\xe4\xdd\xec\xcb\x9b\x77\xb3\x2f\xdf\x91\xc3\x77\xb3\x2f\x54\xe5\x70\x4c\xb1\xee\xdd\xec\x4b\xf5\xf0\x20\x12\x23\xf1\xec\xc9\xd2\x1c\xff\xe3\xe6\xdd\xc1\xbb\x03\x80\xe1\x17\xef\xde\x7c\x51\x83\x7a\x9a\xce\x91\x55\x91\x9a\x66\x61\x79\xa1\x2a\x44\x02\x81\x58\xe0\xc8\xec\x5a\xfe\x65\x9a\x7f\x28\xb2\x70\x4a\xa1\x93\x22\x8f\x7e\x22\xbe\x64\x05\x3b\x5e\x96\xba\xbf\x3b\x78\xf7\xc5\xca\x6c\xb4\x84\x7e\x2a\xbb\x26\x77\x32\xfa\xf2\xe0\x8b\xc9\x7f\x7e\xf5\xec\xf4\xcb\xaa\x13\x1c\xa4\x10\x58\x6f\xa9\xd9\xf5\x89\x72\x7a\xa0\x45\xc9\x8c\x26\x25\x9c\xbe\xba\x66\xf9\xee\x54\x3d\x3d\xd0\x66\x54\x54\x9d\x6a\xfc\x35\xf5\xfe\x24\x5f\x1c\xbe\xfb\xe2\xdd\x41\xdf\xb4\x70\x37\x4b\x6f\x23\xab\x0b\x58\x9e\x6a\x73\x5a\x86\xe3\xeb\x59\x9a\x94\xaf\x70\x1a\x6f\xca\xb0\xa4\xc5\xf8\xa4\x6a\x73\x8a\x32\xce\x11\x7f\xf9\xf0\x3f\x86\x9b\x0f\xf4\x65\x14\xc7\xa3\x19\x53\x1a\xee\x4a\x9e\x1b\x7d\x1f\x0f\x36\x63\xca\x99\xee\xc5\xa6\x8b\x32\x4a\xce\xab\x26\x9f\xa1\xed\xe6\x4f\xc4\xa4\x50\x50\xb9\x1f\xf1\x4d\xa3\x9f\xaf\xaf\xe5\xf2\x6b\xbe\x51\x7e\xed\x92\x5a\x23\xa6\x50\x1e\x8a\x20\xe4\xc3\x86\x19\x85\x3d\xfb\xe9\x2a\xa3\x75\x4b\x6e\x81\x91\x1b\xf2\x47\xaa\x2c\x45\xe4\x5a\x4e\xe6\x61\x26\xc5\x94\xe7\xe2\x29\x7e\x1f\x65\xc8\x94\x34\x7d\xb5\x51\xf2\x31\x2a\xe9\x90\x8b\x29\xfc\x21\x9e\xaa\xd6\xb3\x34\x9a\x4d\x47\xd3\x30\x8e\xdf\x87\xd3\x0f\xc3\x5a\xb2\x11\xd5\x09\xf2\x6a\x88\x75\xfa\xdf\x85\xe2\x73\x7f\x83\x79\x98\x2c\xc2\xb8\xf5\xe2\x8b\x74\x4e\xdf\xe7\xf4\xb2\xf5\x78\x7a\x91\x4e\xd3\x38\x2c\xe9\x55\xab\x22\x8e\x92\xc5\xa7\xfe\x77\x2c\xde\x2f\x92\x72\xd1\x1e\x8c\x26\x65\x5a\xb4\x1e\x9e\xd1\x59\x9a\x87\xad\x87\xe1\x3c\xfc\xef\x34\x61\x4a\xd8\x16\x08\xa6\x69\x92\xd0\x69\xd9\xea\xc0\xb0\xd6\x4a\xe3\x38\x7c\x3f\xd4\xae\x01\xe7\x8f\x87\x07\x23\x28\x2d\x7b\xa7\xcc\xa8\xe4\x28\xcb\xd3\xb3\x28\xa6\xed\x69\xb2\xda\x62\xf5\x15\x15\x81\x28\xea\x37\xad\x79\x0b\x0f\xd8\x53\xf4\x83\x8e\xb7\xe8\x5c\x7c\xf5\xb2\xfa\x5d\xe3\xea\xd9\xaf\xd1\x6c\xab\x17\x6f\x3f\x4b\xe9\x2d\xfc\xc9\xfa\x77\x84\x59\xb6\x66\x61\xd3\x9c\x82\xf8\xb4\xb2\xa8\x30\xcb\xea\x17\x85\x59\x76\x30\x0e\xb3\x6c\xfd\x8b\x90\xf3\x69\x7f\x22\x7c\x38\x8a\x66\xf5\x60\xf8\xe4\x60\x8c\x7f\x70\xc0\x8e\x0e\xed\xd6\x05\xfd\xfd\x60\x5c\xd0\xdf\x17\x34\x99\xd2\x76\x0f\xc6\x6b\x21\xae\xe9\x5f\x67\xdd\x48\x82\x5f\x3d\x62\xff\x06\xa4\x05\x46\x89\xaa\x7a\x89\x07\xc5\xc1\x58\xfc\x64\xab\xe8\xd8\x19\x9c\xfd\x5b\xd9\xb6\xec\x71\x03\x2a\xfc\x19\x0c\x8a\x3f\x3a\x20\xc3\x6b\x56\xfb\xb4\xa0\x73\x37\x6b\x69\x1e\xd9\xf4\x7c\x75\x11\xbc\x6f\xeb\x39\xfd\x44\xa7\xab\xdb\xa9\xa0\x25\x10\xce\x35\x1f\x28\xa7\x59\x5a\x44\xcc\xc9\xa9\x3e\x0c\xcd\x51\xa2\x24\x5b\x94\x23\xc1\x1b\xb6\xdf\xcc\x68\xa1\x5c\xdd\x85\xa9\xea\xfd\x5e\xfd\xeb\x61\x01\xd0\x61\x4b\x58\x20\x37\xb3\x03\xf5\x63\x16\x93\xb7\x2e\x73\x33\x4f\xb7\x31\x90\xdb\x87\x6b\x1b\x5e\x5c\xeb\xc1\x59\x6d\x3a\xb9\x5e\x8a\xeb\x16\x9c\x90\x7f\xa0\x57\x85\x12\xa9\xdd\x49\x55\xd2\x13\x7a\x3a\x89\x4e\xe8\x29\x2c\x2d\x25\x35\xc3\x30\x79\xf6\x4c\x2e\x6a\x29\x91\xd9\x07\xac\x95\x1f\x68\x0a\x73\x55\x1d\x46\xc9\x20\xbd\xb9\x49\x25\x9b\x4d\xae\xee\xef\x2b\x29\x11\xdc\xc6\xe4\x99\xae\xa2\x89\x1b\x03\x0c\x28\x2a\xe1\xa1\x6d\xf0\xd7\x6c\x31\xa5\xd2\x04\x71\xd1\x55\x46\x46\xc6\x05\xdd\xdc\x24\x4b\x55\x4b\x55\x2d\xdf\xdf\x67\xfc\xc6\xb3\xc9\xa4\xf1\x3e\x7c\x1d\xce\xa6\xf9\xfc\xb0\x51\x22\x40\xa4\x95\x5c\x1d\x73\x2d\x79\xa3\x92\x73\x32\xaa\xc6\xfe\x4e\x56\xdf\xd0\xcf\x7d\xa5\xb8\xbc\x45\x1c\xab\x5a\x7a\x17\xcc\x14\x5a\x25\xc2\xc9\x09\xf0\x20\x61\x1c\xcd\x06\xc0\xa9\xd0\xa4\xe4\x9b\x6d\xc0\xb8\x10\x6d\xf8\x7c\x51\x62\xaa\x58\xe9\xe9\x20\x2a\x06\x49\x5a\x0e\x8a\x05\x6c\x4e\x3a\x1b\x9e\xa2\xca\xb7\x98\x28\xf9\x84\x31\x69\x5b\x9b\x18\xb4\xa8\xd3\xc8\xc0\x34\xf7\x5a\x39\x19\x56\xee\x49\x11\x7b\xa4\x24\x93\x54\xdd\xdf\x5f\xc3\xa5\x4a\xdc\x69\x22\x6f\xb5\x06\x9f\x9a\x34\xb7\x59\xc5\xb3\x26\xd5\x86\xe2\x3a\xe8\xa4\xf1\xa9\x93\xd5\x4f\x1d\x89\x4f\xbd\x54\x97\x61\x71\x95\x4c\x07\xef\xe9\x59\x9a\xa3\x46\x20\x86\xb3\x10\x5e\x86\x51\xc9\xf4\xf2\x7c\x31\x84\xeb\xdb\x35\x56\xc5\xdc\x1e\x9a\xbd\xb4\x46\xfb\xa8\x78\x5e\x7f\x1c\x3a\xbb\xb9\xa1\xa4\x4c\x51\x29\x4e\x90\xc1\x29\x7e\x89\xca\x0b\xce\x6b\xaa\x37\x37\x4a\xa3\x73\x58\x96\x74\x9e\x95\x74\xf6\x53\x75\x77\x6e\x42\xd9\xf8\xf2\x6d\x3a\xd1\x5d\x5d\x52\x54\xf5\x57\xf9\x47\x07\xf0\xe9\xd2\x98\x92\x38\x3d\x47\x67\x9e\x90\x14\xe9\x9c\xa2\x05\x9d\x12\x6e\xf7\x96\x73\x8f\xaa\xea\xcd\x8d\xe1\x4e\x26\x13\x4a\xa6\xe9\x8c\xc2\x39\x6d\xae\x86\x6d\xb8\xb0\xa4\x8a\xba\x66\x1e\xda\x33\x7d\xb9\xd4\xd2\x49\xac\xe4\x24\xcb\xd3\x32\x2d\xaf\x32\xaa\xd5\x1b\xe2\x24\xe2\xd6\xfb\x53\xed\xba\x2d\x83\x34\x25\x14\x49\x22\x91\xcc\xa5\xf9\x18\x43\x0b\xa8\x5a\xeb\x05\x94\x1b\x44\x13\xc2\xee\xe3\x9e\x0a\xa9\xef\x9c\x96\x3f\x5c\x26\x62\xb3\xbd\xa0\xcc\x7c\x98\xe6\x5d\xdd\x55\x4d\x7a\xa8\x6a\x8d\x90\x01\xdd\x0e\x4f\x02\xdf\x33\xbf\xbb\x19\xfd\xd4\x44\xf7\x3c\x29\x35\x8e\xf9\x7e\x71\x76\xc0\xca\x07\x55\x19\x13\xec\xfd\x9a\xbd\xdf\x48\x19\xb6\xa1\x04\x5a\x5c\xd3\x82\xb0\xae\x4d\x1e\xea\xb9\xab\x26\x5b\x3c\x11\xae\xbf\x3a\xe1\x02\x4a\xb3\x58\xa5\x34\xc9\x0e\xca\x80\x90\x8b\xf8\x15\x2a\x49\x11\x0d\xd5\x15\x61\x16\x0d\xb5\x98\x3d\xe4\x48\x7d\x8e\x88\x59\xd8\x95\x25\x9c\x1e\x66\x11\x99\xc6\x11\x4d\x4a\x12\x47\x45\xf9\xc3\xab\x17\x47\x80\xac\xbf\xa3\xe5\x45\x3a\x2b\x94\x84\x5e\x0e\x4a\xf2\x12\x4e\xa7\x56\xb5\x07\x74\xfd\x1d\x2d\x43\x45\x55\xf7\xa2\x33\x05\x6d\xba\x52\xa7\xe3\xa8\x28\x15\x95\xbb\x31\x55\x1f\x1c\x70\x3e\x03\x9f\xa2\x2e\x11\x33\x16\xf7\x8e\x19\xdb\xaf\x40\xc0\xdc\xd9\xf0\x0d\xac\xd8\x6d\x8e\x95\xb1\x62\x53\x07\xd2\xe9\x3c\x37\x5a\x87\x00\xab\x41\x25\x4e\x27\xcd\x0b\x1c\x77\x2b\xfc\x58\x21\x15\x2d\xd6\xc2\xbd\x55\xa4\xf3\x18\x30\xe4\xe2\x09\x43\xfe\x3b\x60\xc8\xe9\x44\x49\x3f\x03\x43\x16\x6d\x0c\xc9\x91\x61\x55\x81\x88\x20\x5c\x83\x21\xd1\x33\x33\x0b\xf3\x82\xbe\xa6\x45\x96\x26\x05\x55\x95\x76\x96\xc9\x82\x86\xf9\xf4\x42\xd5\x92\x09\xc3\x92\x47\xe9\x3c\x8b\x69\x49\x05\x0e\x7d\x4d\x7f\x5f\xd0\xa2\xdc\x43\x86\xf9\x28\x9d\x51\x85\x73\x94\xb8\xc4\x7c\x22\x8d\x17\xbf\x61\x7e\xe8\x80\x49\x5f\x95\x74\x5e\xa3\x90\x26\x42\x1e\x22\xa8\xf1\x6d\xaf\xe9\x19\xa9\x2b\xf6\xf2\xfd\xfd\x14\xde\xf3\x7d\x38\xa7\x4a\xae\x6a\xf8\xd2\xba\x5e\x49\xf9\xa3\xd7\x74\x16\xe5\x74\x5a\xbe\xcd\xa3\x95\x05\xa5\x79\x74\x1e\x25\x5f\xb6\x1f\x67\x61\x79\x01\xcc\x3a\x9b\x77\xbc\xfd\xbc\xbf\x4f\x93\x29\x1d\xaa\x7b\xf1\xfe\x3e\xbe\x1b\xcb\x4a\xcc\x67\x82\xb6\x15\x05\x45\x80\x92\x8f\x1d\x4e\x94\x6e\xd2\x34\x6d\x81\x56\x49\x3a\xa9\x91\x2a\xd1\x98\xbd\x0e\xc1\x45\xc2\x9c\x5c\xb7\x5d\xe1\xd1\x31\x43\xa3\xa1\xba\x5c\x6a\xf1\x64\xa1\xa4\xdd\xa4\x29\xbf\x23\xda\x11\xb6\x5f\xc1\x48\xd3\x5d\x0d\x9f\xca\xa4\x69\xda\x19\x44\x82\x93\xa6\x38\x7c\x7f\x20\x94\xc0\x3b\x28\x68\x04\x99\x69\xd2\xae\xb5\xea\x99\xbb\xc1\x0c\xf1\x7d\x48\xe9\x08\xfc\xc7\x23\xa1\x37\x51\x15\xa0\x83\x88\x00\xd3\xf5\x9a\x7d\x47\x81\x77\x78\x90\xb9\x7e\x66\x8f\xb7\x57\xe8\xc6\xc3\x44\xf8\x16\x81\xb7\x2c\x97\x5a\x38\x91\xd9\xaa\x82\x03\x70\x31\x39\x49\xaa\xfd\x3b\x9d\x7c\xce\x0e\xd6\x66\x93\xeb\xa5\x26\xd3\xf3\x69\x0f\x3d\x9f\x01\x3d\x9f\x72\x7a\x3e\x6b\xd2\x73\xb9\xa8\xcd\xda\xf4\x7c\xd6\x4b\xcf\x67\x37\x37\xb3\x36\x3d\x9f\x35\xe9\xf9\x6c\xb2\xd8\x86\x9e\x4b\xc1\xfe\x06\xa5\x12\x6a\x85\x46\xd5\x9b\x1b\xba\x54\xb5\x99\xaa\x65\x12\x3d\x9f\xb5\xa8\x2d\xf7\x16\x6c\x3e\x3f\x9c\xad\xee\x8e\xac\xa2\xe7\xb3\xf5\xf4\xbc\xfd\x86\xee\x0d\x0e\x53\x9c\xc1\xf2\x38\x3d\x9f\xcc\x80\xcd\x85\x93\x04\x35\x0b\x6d\xaa\x65\xda\x4c\xc2\x2d\xf1\x3a\xb6\xb7\x36\xeb\x75\xa9\x04\x3a\x11\xcc\x3d\x5c\x10\x65\xc8\x22\xe9\x40\x17\x39\xa7\x85\x42\x8f\xde\xd4\xe3\xd4\xb3\x27\xc2\xf6\xd8\x30\x9d\x76\xdf\xf4\xec\x5a\x3a\x76\xde\x1a\x04\xda\x70\x11\x8e\x90\xf5\xc8\x47\xab\xbe\x6a\x5a\x72\x77\x30\x89\xd6\xc3\xa4\xb8\x8c\x4a\x38\x6e\x80\x60\x12\xf2\xf6\xf9\x8f\x38\x27\x15\x68\xfd\x6b\x5a\x2c\x62\xc0\x0b\x29\x73\x6e\x55\xaf\x31\x22\xc8\x77\xe1\x74\xf0\xc3\x9b\xe1\x98\xef\x78\x7c\xd9\x56\x90\x25\xb5\x9d\x76\x0f\x47\x7a\x41\xdf\x47\x61\x32\x1c\x63\xe1\x2d\xb3\xba\xde\x62\x58\x34\xe7\x12\x61\xb5\x65\x43\x1f\xd1\xa4\xbc\xdd\x24\xd9\x68\xc2\xdc\xcb\x46\xfb\x9a\xd9\x79\x6f\x3d\x9a\xb0\x13\xef\xf1\x0f\x30\xde\xae\xb3\x30\x76\x2f\xe5\x1d\xd9\x1d\x47\xb5\x7f\x47\xe2\x0c\xfe\x1a\x47\xb3\xf5\xa5\xb7\x3e\xa7\x92\xe5\x79\x8b\x83\xd9\x29\xa7\x6f\x65\x9b\x7a\xc0\xcc\xcf\x23\x34\x51\xcc\x85\x71\x82\x5d\x2a\x60\x08\x0a\x04\xa2\x5f\xc4\xe7\xac\x43\x1b\x17\xb4\xac\x9e\x2a\x94\xc8\x6e\x05\xaa\x56\xca\x4a\xa9\xf0\xac\xa4\x79\x65\xf7\x60\x82\x43\x99\xe6\xb4\xb3\xbb\xba\x6c\xd7\x89\x2e\xb5\x91\x44\x19\xce\xc2\x32\x24\xd2\x1e\xa3\x6a\x17\xf7\x54\x7d\x81\xc5\x44\x52\x4e\x3d\x71\x50\x4f\x1c\x54\xb5\x75\x44\xee\xaf\xe2\x80\x9b\xdf\x77\x45\x57\x7f\x30\x1b\xb1\xdb\x95\xac\x93\xeb\x38\x7c\x4f\xe3\xf1\xf0\xc7\xca\x9b\x07\xd7\x30\xae\x3d\x83\x48\xe5\xe8\xb3\xd4\x44\xeb\xef\xe9\xe5\xe0\x47\xe1\xd2\xd3\xdb\x81\x70\x88\x2d\x4f\xf1\xce\xd7\xfb\x9c\x86\xb3\x69\xbe\x98\xbf\x2f\xfe\x80\x7b\x5f\x42\x54\xe3\xb2\x18\xc3\x54\x7c\xce\xb2\x80\xb5\xcc\x29\x2a\x89\x92\x32\x4f\xe3\x98\xf2\x30\xe1\xe5\xfe\x3e\x65\x88\x84\xad\xe1\x9b\xa8\x1c\x6a\xcf\x0c\x75\x6b\xa2\xdf\xb1\x7f\xb6\x67\x43\x57\x44\xfd\xad\x8d\x78\x4f\xc6\xb9\x27\xd5\xf3\x63\x55\x3d\x77\x18\xe7\x76\xf1\xd4\x6d\xd8\xe0\xda\x86\xb9\x2c\x8d\x63\x64\x30\xfa\xcc\x73\x1b\x55\x36\x02\x41\x2a\x4c\xeb\xd3\x6f\x98\x43\x31\x4d\xb4\xe6\x16\x39\x74\xf4\xa5\x93\xaf\x64\x53\x9c\xda\xe0\x7b\x38\x0f\x53\xcd\x93\xbb\x7a\xb0\xa9\xae\xa0\x28\xf5\x5a\x60\xa7\x38\x1a\x6a\xf8\x19\xba\x0c\x7b\x4c\xb5\x99\xdc\x97\x51\x4f\x02\xea\x9d\xbd\x64\x7b\xd3\x5e\x07\x86\xad\xbc\x4c\xef\x53\x9d\xfa\x64\xc3\x7b\x42\xa4\x0f\x1b\x91\x4e\x6f\x21\xac\x76\xf2\x87\x45\x17\x4a\x2d\x7a\x51\x6a\x5d\x25\xce\x21\x37\xf4\xed\xcc\x68\xfe\x19\x0c\x63\xaf\x80\x1b\xa1\x80\xcb\xe7\xbd\x87\x72\x2d\x2f\x28\xd5\x9c\x41\xa6\xe5\x39\x89\x58\x97\xb7\xaf\xc8\x37\x55\xbb\x86\x3d\x52\xf4\x2d\x85\x35\xb2\x9b\xe6\x2c\x5e\xfd\x5a\x0f\xd0\x63\x75\xd3\xd2\x49\x2e\x51\x1b\x05\x9d\x42\x9e\xa5\x2b\xb7\xef\x7f\xe3\x0d\x06\x7f\xbb\x96\x67\xbc\x44\x67\xcc\xb3\x74\x91\xcc\x7e\x13\x26\xc6\x54\x36\xe4\xf1\xb3\x14\x93\x38\x2c\x69\x51\xbe\x4a\xa2\xf2\xbf\xd2\xf7\xec\x9d\xc7\xf2\x23\x45\x3d\x94\xfa\x69\x71\x97\x44\xdf\x49\xda\xd8\xb2\xf8\x94\x08\x4b\x8d\x52\x4e\xe8\x72\x46\x31\x20\x07\xba\xfa\x5d\x77\xb6\xe1\xd8\x4d\x8a\x0b\xb5\xa1\x25\xd0\xc7\xc5\xfd\xd2\xc7\xc5\xfd\xd3\xc7\x70\xe5\x25\x15\xcd\xbb\x17\x12\x3c\xbd\x1d\x09\x3e\xc0\x3b\x18\x9f\x4b\x86\xb5\x61\x5e\x7c\x5c\xb9\x4c\xfc\xe4\x51\xf3\x44\x8d\x1f\x17\x35\x6e\x7b\xd4\xdc\x01\x35\x5e\x21\xb9\x35\xae\xa9\x89\xae\x14\x70\x67\x5a\x49\x0f\x7f\x00\x29\x95\x08\xb7\xe4\x0e\x4e\x0f\x05\x13\x40\x89\x74\x3b\x45\xe0\xeb\x35\x7a\x24\x81\xd1\xf1\x3a\x58\xad\x85\x92\xc2\x10\xae\x63\x27\x5a\xdd\x4f\xc7\x27\xa7\x4b\xd9\x69\x1e\xc3\xd7\x20\xe5\xa8\x81\xd4\x88\x03\x54\x3f\x26\xc8\x1e\xd4\x7a\xe5\xef\xc3\x39\x15\x11\x81\x58\x66\xdb\xaf\xd3\x5c\xbe\x55\xa7\x36\xd4\xde\x7b\xed\xe1\xa2\xe2\x0d\x9a\xfa\xa2\xe4\xbc\xd2\x67\x4f\x30\x8e\xd0\xb2\x9b\x1f\xc1\x01\xf0\x59\xfb\x45\x5a\x22\x31\x2b\xb5\x36\x3e\x69\xaa\xe1\x4b\x49\x8f\x8e\xbb\x33\xed\x1d\x72\x05\x7e\x43\x20\x71\xf5\x3b\x24\xe8\xd7\x8c\x42\x41\xe5\xe0\x90\x0a\x7e\x68\xd4\xf7\xc7\x32\xeb\xc3\xae\x20\xf0\xf0\x9e\x17\x61\x71\xa1\x2a\xd7\xfc\x25\xe3\x54\x93\xf6\xc6\x38\x96\xd9\x0a\xe9\xb2\xdc\xb8\x62\x87\x40\x36\x7f\x51\x57\x28\x89\x16\xab\x9a\xb8\xbc\xd6\x6c\xf6\x9a\x3f\x65\x6d\xd8\x95\xbf\x66\x8b\x7f\xe0\x33\x56\x9f\x2d\x8a\x0b\x3a\x7b\x9e\x97\xd1\x59\x38\x6d\xbf\xf1\xc7\x66\x25\xeb\xd1\xd8\x16\x63\x09\xd4\xcb\xb6\x89\xa3\x81\xc6\x63\x5a\x5e\x8b\xc9\xac\xbc\x35\x59\x4e\xe8\x9e\x08\x09\x15\x0d\xd2\xb3\x41\xa2\x46\x67\x4a\x44\xb0\xc7\xab\x59\xb5\x51\xc9\x59\x94\xcc\xb8\x92\x21\x9a\x4d\x26\x93\xba\x89\xba\x47\xf7\xf7\x81\x57\x6d\x8c\x3d\x89\xd4\xe5\x52\xad\xae\x8c\xac\x61\xcf\xea\x0d\x2b\x6e\x64\x6c\xda\xc2\xa8\x29\x5d\xf5\xe6\xba\x5b\x7e\x6b\xc5\x93\xeb\x3e\xf8\xad\x15\x7f\xae\x5b\x32\x43\x07\xf5\x65\xd2\x27\x5f\xaf\xc7\x6a\xea\x8c\x40\xa6\x43\x1c\xc1\x25\xba\x06\xd2\xfd\x01\x23\x6b\x48\xe8\x10\x71\xef\xab\x99\x42\x89\xb8\x30\xac\x6a\x25\x73\x05\x3d\x53\x12\x55\xeb\xd1\x36\x9e\xf3\x77\x28\xe5\x46\xef\xb0\x65\x65\xad\xa7\x9d\xe6\xfa\xf5\xc4\x90\xf0\xfb\xca\x94\x88\x0b\xb8\x9d\x46\xd2\x27\x17\xb3\x27\x03\xe9\xed\xd0\xdd\x13\xae\x7b\xf0\xb8\x6e\x27\x56\xfd\xb0\x51\x38\x1c\x2e\x92\x0f\x49\x7a\x99\x6c\xc9\x7b\x4b\x9c\x3b\xe3\xb3\xb6\xec\x47\x78\x70\x86\xaa\xfb\x6f\x1f\xff\x76\x5d\xe3\xac\xe5\x6f\xbb\x0c\xc3\xf9\xff\x55\x14\x5f\xb3\x60\x32\x9b\x99\xd4\xac\x64\xbe\xdc\x9e\x55\xc6\xe5\xc2\x09\x13\x6c\x59\x39\xf9\xaa\xac\x66\x3c\x99\x4c\x58\xac\x56\x45\xc2\xbc\x2a\x72\xd7\x32\x17\x97\xe5\x34\x4e\xc3\xd9\xfe\x7e\xf5\x93\x84\x9c\x77\x3b\x5c\x7d\xc4\x98\xbe\xf4\xb0\xc5\xe5\x1d\x92\x68\x06\x1f\x91\x17\x5f\xf5\x36\x52\x55\xc4\xfc\xd2\xfb\x6b\x38\x60\xaf\x98\xb5\xea\x53\x31\xe2\x27\x1d\x34\xbf\xcc\x8a\x7e\xb1\xe8\x24\x97\x05\xa7\x93\x29\x11\x5a\xd4\x45\x37\xb9\xdd\x5b\x08\xea\x59\xa8\x42\xb6\xde\x40\x43\x17\x9b\xaf\x2b\x4c\xdb\x8c\x71\xda\x7a\x80\xaf\xca\x24\xe5\x0c\xdf\x4b\x93\x6b\xb1\xd2\x71\x5a\x2d\x5a\x2b\xca\xb0\x5c\x14\xf0\x04\x7f\x2c\xb5\x78\x7f\x5f\xc9\x24\x68\x4a\xdd\xe2\x95\x6e\xb1\xe8\xa6\x6a\x21\xf6\xe3\xfb\x4f\xea\x14\xae\x74\x0a\xeb\x4e\xd7\x84\x90\xa9\x56\x46\x73\x1a\x47\x09\x1d\x67\xcb\x27\x8a\xfe\x44\xd1\xef\x8e\xa2\x6f\x73\x55\xe5\x0f\x75\x57\xdd\x8a\x7e\xfd\xf1\xa4\x6a\x85\xc8\x34\x14\x4a\x3b\x90\x90\x12\xd0\x4e\x1d\x12\x3a\x3d\x1b\x70\x69\xa2\xe0\xf9\xb1\x26\x32\xa2\x2e\x3e\x97\x7e\x24\x5b\x90\x8f\xae\x36\x40\x17\xf6\xf7\x95\xf2\x24\xa9\x90\xd3\xe9\x24\x92\xe4\x0a\xf6\x61\xae\xc3\x2c\x6b\x69\xff\xa4\xdf\x42\x25\x23\x56\xc8\xca\xb5\x72\xe7\xc7\x30\xca\x8b\x71\xb9\xdc\xdd\xc7\xb8\x7b\x47\x37\x82\x2f\x3d\xac\x6d\xdd\xe5\x9c\x32\xd8\x71\xef\xc8\xfb\x62\x93\x97\x5b\x54\xbc\xb9\x48\x2f\xa3\xe4\x9c\xdb\xd2\xe8\xac\x72\x2b\xb9\x73\x58\x1f\xc8\xf1\xac\x76\x17\x10\x3a\xfc\x29\x31\x5f\xce\x5d\x24\x8a\xe3\x2a\x51\x25\xba\x6f\x81\x20\x7f\x12\x08\x1a\x58\xf6\x85\x7c\x14\xb7\x43\xb5\xf2\xe9\xfd\x5c\xd1\x40\xc6\xa0\xd2\xee\xbc\xb5\xac\x10\xed\x2e\x2b\xe4\x15\xf3\xdf\x92\x15\x3a\x45\x85\x74\x92\x77\x31\xf1\x87\x87\xf9\xa1\x84\xac\xb5\xb8\xa9\x17\x5e\xed\x00\xd2\x00\xe7\xe9\xf3\x55\x9e\xbe\xfe\x2a\x9b\x18\x7b\x60\x31\xa3\x99\x56\x4c\xa2\x35\x12\x44\xa8\xaa\xda\x42\x62\xa3\x81\x31\x5e\xac\xb0\xd2\x6b\x79\xe2\x45\x37\x1f\x9d\xaf\xf4\xc9\x2b\xf6\xbb\xc0\xb7\xac\xb2\xd1\xc5\x4a\x9f\xa2\xc9\x46\xe7\xe2\x7b\x8e\x8b\x9a\xa1\x5e\x2c\xbb\x50\x29\x20\xa1\x72\x7f\x7f\xfb\x6d\x46\x98\x33\x30\x52\x53\x1e\x91\x89\x67\x5a\xd8\x49\x81\xd7\xb3\x6f\xb5\xe6\xe6\xab\x63\xc8\x7d\x1f\xce\xa9\xda\xd0\xf6\xc5\x93\x48\x92\x0d\x42\x8e\xa8\x0a\x59\x36\x58\x7c\x9e\x6c\x90\xb5\x65\x83\x45\x8f\x6c\x90\x81\x6c\xb0\xe0\xb2\x41\xd6\x94\x0d\xe4\xa2\x96\xb5\x65\x83\xac\x57\x36\xc8\x6e\x6e\xb2\xb6\x6c\x90\x35\x65\x83\x6c\x52\xec\x2e\x1b\xc4\x5a\x58\xc9\x06\x99\xaa\x4d\x25\xd9\x20\x6b\x71\xee\x19\x97\x0d\x1a\xcf\x0f\xb3\x55\x2c\x3c\xad\x64\x83\x6c\xbd\x6c\xd0\x7e\x43\x37\x21\x81\x29\x66\xb0\x3c\x26\x1b\xe4\x93\x4c\x8b\x98\x6c\x00\x35\x5c\x3a\xd8\x98\x66\xea\x73\xa8\xfb\x41\x1d\xb4\x71\xe7\x00\x84\x7d\x54\xfe\x8e\x68\x7c\xbe\x8e\xc6\x77\x92\xc0\xca\x81\xed\x75\x15\x3c\xf2\x33\x89\x8b\x56\x51\x54\x96\x7e\xf6\x33\x06\x23\x15\xa4\x97\xa7\xcb\x06\xa5\x92\x62\x63\x8e\xcb\xe5\x84\x6a\xc9\x44\xd9\x89\x34\xf5\x4d\x5f\xe5\xc8\xf2\x35\x85\xef\x7a\x58\xcd\x00\x5d\x9e\x0f\x0f\x4f\x4e\xd5\x15\x8b\x64\xc9\x29\x4d\xb2\x4a\x69\x04\x50\x07\x7f\xbb\x2e\x9b\xd4\x45\xd8\x52\xd0\x7f\x4b\xc6\x55\x71\xd3\x41\x50\x0b\x27\x52\xe4\xb5\x62\xb2\x29\xf6\x9a\x3c\x54\xd3\xd3\x50\x5b\x34\xde\x33\x6d\xe3\xaf\xa2\x07\x7f\x4d\x01\x7f\x15\x1c\x7f\x4d\x9b\xf8\x6b\xda\xe0\xe2\xda\xf8\x6b\xda\x8b\xbf\xa6\x37\x37\xd3\x36\xfe\x9a\x36\xf1\xd7\x74\x12\xee\x8e\xbf\x52\x2d\xae\xf0\xd7\x54\xd5\x16\x12\xfe\x9a\xb6\xb0\xcb\x94\xe3\xaf\xc6\xf3\xc3\xe9\x2a\xfe\x5a\x54\xf8\x6b\xba\x1e\x7f\xb5\xdf\xd0\x7d\xa4\x61\x8a\x53\x58\x1e\xc3\x5f\x1c\x77\xa1\xc3\x17\xc3\x5e\x1b\x53\x28\xee\x8e\xbb\x6e\x7d\x45\xe7\x49\x28\xb9\x57\xa1\x44\x36\x73\x46\x67\x8a\x8e\x31\x22\x79\x98\x33\x9e\xb2\x94\x67\xb9\x3a\xd1\x4f\xf7\xee\x90\x8f\x7a\xe2\x95\x9e\x78\xa5\x3b\xe6\x95\x30\xc8\xf4\x13\x8a\x79\x68\x28\x66\x37\x9f\xc5\x3b\x52\x7b\xbc\xc4\xbd\xb0\x1d\xe7\x87\xfb\xa6\x4b\xb1\x7c\x3b\xed\xe0\x13\x3e\x7b\xc2\x67\x77\x82\xcf\x1e\x76\x14\x93\x5b\xf9\x45\x35\x0c\x03\xbd\x07\xff\xce\x74\xe3\x98\xa1\xe0\xc9\x55\xe6\x2f\xe1\x2a\xf3\x39\xd4\xe0\x18\xf7\xc1\x76\xd4\x00\xf7\xcc\x5d\x9a\x19\xb7\xf0\x2c\xff\x86\x96\xc7\xe9\xf9\x9b\x32\xa7\xe1\x5c\x38\x40\xe6\xfd\x75\xb2\x87\x38\x0f\x9e\xb9\xea\x39\x9e\x76\xba\x8c\x77\x1e\x37\x2d\x6d\x5e\xbd\xeb\xb8\x43\x20\x6e\xb1\x75\x79\xc2\xcb\x3e\xea\xdd\x0e\xf1\x5a\xde\x9e\x4c\xca\x9f\xd5\xed\x45\x0c\x4d\xb9\x55\xae\x6a\x1b\x0c\x9b\x39\x83\xc8\x38\x79\x72\xc7\x78\x72\xc7\xb8\x1b\x77\x0c\x39\x11\xcf\x13\xe9\x78\xe0\xa4\x63\xbd\x47\x39\xbf\x97\xb2\xa3\x4f\x79\x9d\x6c\x69\x5b\xaf\x72\xfe\x9e\xfb\xf7\x2b\xaf\xb2\x3d\x3d\x79\x96\x3f\x21\xbe\x7b\x42\x7c\x4f\x58\xef\xc1\x63\xbd\x3f\xc7\x95\x44\xdc\xf2\xdb\x96\x93\xae\x12\xdd\x7d\xae\x13\x89\xd8\x98\x7f\xac\x87\x79\xbe\x83\x87\x79\x9f\xef\x36\x07\xd9\x26\x27\x8f\x96\x7f\xba\x70\x38\x97\xbd\x3c\xd0\x8b\x3c\xee\x76\x4d\x89\x1b\xae\x29\xc5\x16\xae\x29\xcc\x61\xa4\xe1\x94\x8e\x31\xeb\xf1\x76\x63\x45\x1a\xc9\x8f\x17\x57\x45\x84\x21\xf1\xc3\x92\x92\xa3\xd7\x2f\x9f\xff\xf4\xf2\x85\xaa\xa2\xe5\x0e\x96\x5c\x08\xa9\x68\x2b\xe7\x8f\xbd\x29\x77\x49\xa1\xcb\x18\xcd\x5f\x3b\x7b\x6e\x0b\x7f\xf1\x6d\xbc\xc3\x05\x5d\x9f\x56\x1e\x2a\x19\x3a\x9f\xa4\xb5\xcb\xc9\x54\x63\xe1\x37\xf8\x57\x1a\x2f\x9e\x84\x88\x27\x5a\x7a\xa7\xb4\xf4\xc9\x51\xa3\x89\xc0\x6f\xe5\x99\xc1\x7b\xdf\xa7\x2b\x86\x98\xe0\x93\xef\xc5\x93\xef\xc5\x5f\xc2\xf7\xa2\xe2\xbd\x1e\x98\xf9\xe0\xde\x55\xbd\xb7\x67\x52\xef\xf5\x66\x89\x78\xcd\xc6\xbb\x25\xec\xb2\x48\x9b\xf7\xbb\x8b\x3b\x20\x15\x37\x5c\xcf\x46\x3c\xbb\xbf\x9b\x20\x75\x42\xe8\xc7\xb8\x11\xef\x46\x6a\xda\x99\x58\x8a\x0e\x77\xb9\x25\x1b\x1b\x4e\x4b\x26\xd2\x26\x88\x26\x27\xa7\x75\x70\xf9\x8a\x0a\xd0\xc9\x57\xd7\x74\x1d\x3d\xac\x9b\x96\x93\xaf\xae\x23\x94\x34\x94\x8a\x18\x8f\x4b\x0d\x28\xcd\xb8\x91\x64\x9d\x57\xd1\x2a\x31\x7a\x72\xf7\xef\xab\xd4\x18\x2b\x2f\xbb\x96\x03\xe0\xac\x3b\x28\xfc\xa5\xe3\xe8\xae\xce\xc1\x23\xdc\xfe\xdb\x33\x68\x77\x14\x39\xea\xf3\x7c\x2f\x6e\x93\x20\x63\xf5\x53\xfd\xf5\x4c\xee\x68\x67\xc7\xa0\x50\x77\x01\x9f\x3a\x63\xff\x93\x8e\xf0\xd1\xeb\x08\xb7\x3c\xe1\xec\x4c\xd4\x47\xfc\x4d\xb5\x07\x36\xf7\xad\xf6\x4b\x3f\x29\x5b\x09\x04\xbb\x2e\xec\x5b\xc7\xb1\xdf\xa3\x8d\xd8\xaf\xbd\x71\x63\x37\x04\x8d\xad\x52\x58\xf6\x5b\x79\xd6\x87\x8c\x55\x57\xe3\xc5\x76\x5c\xfc\xaa\xe3\xc5\x96\xbd\xf1\x62\xf9\xa7\xca\x1b\xd9\x85\x9f\xf4\x52\x4f\x7a\xa9\xcf\xd4\x4b\x89\xc3\x78\xc0\xbe\xc1\xe8\x63\x98\x47\x00\xdc\x27\x6c\xfe\xb8\xb0\xf9\x8a\x3e\xee\x08\x5f\x38\xf8\xb9\xfe\x9e\xdb\x63\x66\xb2\xb2\x19\x96\x7f\x2e\x9e\x66\x8b\x41\xe3\xbd\x9c\xf3\x73\xd0\xc2\xd6\x6b\xac\xf1\x6c\x84\x3e\x34\x2d\xc7\xd3\x5e\x62\x44\x46\xe9\xc6\xa9\x7a\x0d\x72\x3b\xee\x9f\x49\xb5\x61\xf8\x7d\x08\x8d\x39\x16\x3c\xcf\xf3\xf0\x0a\x26\x90\x4c\xf4\xbf\x27\xff\x49\xff\x9e\x7c\xf9\xa5\x5a\x9e\x24\xa7\x75\x87\x93\xe4\x94\xed\x3b\xd2\x1e\x9f\x10\xc2\x5d\xa9\xa2\x49\x79\xa2\x9f\x6a\xf9\x2e\x51\x42\xf7\x22\xf1\x7b\x92\x3f\x51\x84\x27\x8a\x70\x77\x14\x21\x4a\xb2\x45\xb9\x13\x41\xf8\xd3\xa4\xd5\x15\xec\xf7\x0a\xe6\x7e\x87\xc8\xef\x0e\xc5\xa4\x83\x9c\x66\x69\x11\x95\x69\x7e\xf5\xa8\x40\xfa\x4d\x54\x0e\x5e\x4b\x53\xbf\x5b\x88\xf6\x26\xee\xae\xc6\xbf\x15\x47\xd2\x7f\x8d\x47\x4b\xeb\x40\xf6\xf1\x63\x0a\x64\x1f\x3e\x05\xb2\xff\x77\x08\x64\x5f\x6c\x7f\x3f\xac\x8b\x9d\x8d\xe5\xf0\xf5\x39\x8f\x51\x2f\x1e\x56\x89\x38\xd3\x46\x76\x2e\x29\x19\x2d\x63\xef\x4e\x4e\xf7\xca\xfc\xea\x9a\xb6\x93\xa6\xc4\x51\x51\x3b\x69\x17\x8a\xba\x9c\x86\xe5\xf4\x42\x89\xaa\xd4\xa0\xc9\x4c\x19\x52\x10\x6e\x87\x5a\xa4\x2e\xf9\x65\x51\x29\x2f\x17\xea\x9e\x54\x52\xa4\x79\xa9\x00\xd3\xd4\xc8\x28\xda\x4c\x26\xba\x97\xec\xef\x97\x24\x4a\xa6\xf1\x62\x46\x0b\x25\x51\x0f\xd7\xa9\xbb\x86\x5a\xa2\x8e\xa5\xe6\x43\x0e\xb1\xe1\xa6\x6e\x75\xc3\x71\xc9\x79\xbb\x0d\x3d\x80\x55\x53\xbb\xd2\x18\x77\x8e\xba\x5c\x6a\xf9\x24\x6c\xda\x62\xef\x36\x40\x77\xda\x1e\xbe\xfa\xca\x77\xf6\x8a\x48\x0e\xcf\x5d\x74\xd2\x41\x8e\x78\x8b\x03\xb6\x38\x09\x61\x37\x53\x8d\x6c\x9d\x63\x71\x9d\x90\xc9\xd8\xfb\xba\x49\x49\x8b\x72\x04\x5b\x95\xe6\xf2\x1b\xb9\x6c\x7b\x40\x93\x8f\x51\x9e\x26\x68\x75\xe8\xcc\x72\xa2\xa5\x5a\xcc\x70\x6a\xa8\x15\x9f\x2f\xa2\xfe\x5d\x01\x14\x83\xee\x4d\xbf\xe0\xa4\xd4\x1a\x50\xa3\x30\x8b\x46\x7c\x49\x63\x36\xe5\xa1\xba\x87\xe7\x7a\xb0\x98\x5c\x0f\xd9\xd2\xb0\x15\xc2\x64\x9a\xc6\xc3\xf1\xd0\xd0\x8c\xa1\x26\xea\x68\x52\xe6\x02\xa4\x3d\x4d\x00\xcb\xc2\x16\x18\x0f\x17\xd1\x48\x27\x3a\x31\x86\xcb\x2a\x94\x67\x0b\xbb\x44\x9b\x05\x67\x2d\xd5\x42\x6d\xb1\x7b\x9e\xe5\xe2\xa1\x8a\xd0\x1a\x4b\xc8\xa0\x85\x93\xa1\xd8\x4b\x2c\x18\x6a\x4e\x7e\xe1\x1f\xea\x08\x9f\x2b\xbf\xfd\xed\x3a\x16\x00\x02\x1c\xf8\x7c\x36\xcb\x69\x51\x2c\x0f\xce\xf3\x6c\xfa\x1b\x46\x6f\xd3\xae\x17\x49\x98\x5f\xbd\x4a\x4a\x9a\x4f\x69\x56\xa6\x39\x4f\x63\xb0\xf2\x58\x51\x97\xaa\x16\x0e\x80\x6e\xf6\xe4\x04\x01\x40\xf3\xad\xb5\xd8\x29\x27\x48\x7a\x12\x9e\x4e\x16\xcb\x8e\x57\x0a\x7e\xee\x74\x59\x49\xbe\x95\x0a\xf8\x1a\x64\x50\x94\x39\x69\x19\x6a\x84\x10\xba\x5c\x9e\xd3\x72\x30\x47\xf9\xb8\x61\x77\x11\x58\x3a\x2a\x9e\x2f\xca\x0b\x9a\x94\xd1\x34\x2c\xe9\xec\x10\x86\x58\x68\xe1\xa2\xbc\x48\xf3\xe8\xbf\x99\x39\x6d\x15\xad\x87\x8d\x3e\xa4\x4c\x3f\xd0\x64\x39\xc6\xbe\x22\x07\x47\x3b\xc5\x04\x05\xa6\x8d\x49\xc7\xf0\x65\x4a\xf2\xf6\x15\x39\x6e\xb6\x11\x5a\x81\xa8\x95\x05\x5b\xd5\xa2\xf6\xed\xa1\x44\xa8\x74\xd9\x58\x95\x5b\xe3\x0f\xf9\x8c\xe6\xb5\x96\xb5\xa0\xe5\x0b\x5a\x4c\x15\x60\x5c\xb0\x74\x1c\xcd\xa3\x52\x31\x74\x3e\x24\x36\x57\xf2\xa6\xc6\xa1\xce\x25\xd6\x9a\x9f\x12\x31\xb5\x43\x5b\x33\x2c\x35\x59\x9b\xba\x92\x9c\x45\x71\x49\x73\xe5\x5c\x91\x0d\xa7\x6a\xdd\x5c\x01\x08\xca\xd6\x5c\x8d\x07\x9c\x1c\xb7\x2b\x44\x24\x4a\xee\x15\xfb\x36\x8f\xc7\xa2\xfa\x6d\x1e\x2f\x35\xd9\xd4\x3a\xa6\x3c\x15\xd9\x1b\xe9\x61\x2b\x67\x86\x14\xae\x72\x89\x49\x36\xab\x6f\xc8\xb3\x7b\xac\x7c\xbe\xe3\xaa\xee\x5e\x3e\x1b\xfb\x50\x16\xff\x6c\xd5\x47\xec\xf8\x4e\xd2\x24\x7b\xbe\x0f\xab\xdd\x90\x55\xb4\x5a\x70\x3b\x4b\x09\x65\x12\x85\x3c\xef\xe3\xd5\x66\x2d\x8d\xd6\xca\xa5\xb8\x64\xe5\x52\x9c\xb8\x3a\xf7\x8a\x31\x39\x2c\xf2\x72\x74\x28\x98\x1e\x2c\x1f\x1e\x3e\x33\x78\x33\xb6\x55\xa3\x43\x92\xc2\x8f\xc3\x43\xc1\xe6\x62\x25\xfb\xb2\xb8\xc2\xe8\x90\xdb\xd9\x2b\xb7\xb6\x3e\xa0\xb5\x17\x9a\x77\x43\xaf\x6a\xb0\x2d\x00\xab\x8c\x31\x7d\x47\x5e\x34\xf8\x23\x37\xce\xb6\xc7\xbd\x9a\x7c\xcf\x5e\x12\xf5\xdb\x1e\xf4\xca\xfb\x70\xe5\x94\xf3\x9a\xcd\x47\x55\x3a\x90\x55\x0a\x41\xb9\x7e\x15\xce\xdf\x74\x35\x6b\x40\xbb\x05\x5b\x10\x0f\x56\x93\xf9\xd6\x6a\xd7\x8e\x97\x76\xc1\x47\xd2\xbe\xa2\x28\xc1\xc7\x5c\x2e\x7f\xcd\xd2\x6c\x01\x2b\x13\xaa\x1c\x04\x1f\x65\xc2\x6f\x74\xa6\x44\xfb\xfb\xb9\xb8\xe1\x45\xd1\x65\xea\x55\x32\xa3\x9f\x24\x31\x63\x32\x99\xe4\x5c\xde\xf8\xfb\xc8\x78\x36\x99\x94\x98\x9d\xa7\xc8\x50\x14\x2d\x35\x43\x8b\x80\x7b\x39\x01\xd0\x9e\x32\x59\x25\x95\x64\x95\x06\x78\xc4\x24\xc4\xbe\x41\x88\x7c\x1f\xce\xa9\xc2\x45\x1a\xb6\x5b\xde\xd0\xfc\x23\xcd\x79\x12\x74\x4c\x5d\x0c\xbc\xe1\xc5\x34\x3e\xc4\xea\x6f\xa7\xb1\x82\x45\x75\xcc\x9a\x97\x78\x71\xa0\xcc\xab\xee\x28\x4c\x7c\xa4\x78\x9d\x80\xff\x56\xb5\x68\xa9\x56\x66\xc0\x74\xf9\xeb\xf4\x82\x4e\x3f\x00\x09\x3e\x0a\x0b\xca\x23\xf5\x50\xb2\xc8\x63\xfe\xab\x28\x2e\x0e\x49\x96\x63\x56\xc7\xff\x45\xaf\x7e\xa4\x73\x1e\xbb\x67\xe0\xa0\x1d\x92\x1e\x92\xf7\x61\x11\x4d\x0f\xc9\xa2\xa0\x39\xce\x9e\xd7\x1b\xdc\x75\x6c\x60\xf3\xcd\xb3\xc8\x0a\x9a\x4b\x6a\xf6\x6b\xa6\x9a\x6f\xeb\xc2\xbf\x32\x24\xe9\xbc\xd6\x7b\x1b\xa7\x87\x72\x61\x3c\x32\xb4\x68\xb5\xaf\x29\x35\x32\x4f\x85\x80\x9e\xaf\x36\xb4\xa4\x86\x56\xd5\x30\x5d\x6d\x68\x4b\x0d\xed\xaa\x61\xcc\x3f\xa5\x48\x30\x1a\xb7\x3f\x21\x0f\xb0\xc9\x5a\xfd\x57\xfa\x9e\xbc\x08\xcb\xf0\x0d\xfa\xfe\x68\x45\xb3\x33\xf9\x31\x8d\x63\x90\x88\xaa\x16\xf0\x60\x7f\x5f\xc1\x10\xfb\x2f\x13\xd8\x2a\x33\xa5\x5d\x4f\x28\xab\x50\x35\x16\x89\x1f\x98\xb4\x8f\x61\xbc\xda\x2e\xe2\x35\xaa\x1c\xa5\x9f\xcd\xe9\x9b\xa8\x84\x8f\x48\x0f\xa5\x3e\x87\xe4\x3c\x2a\x25\x57\xc2\xaa\x02\x9e\xb3\x58\xfe\x6f\xf3\x58\x89\x70\x8f\x68\x58\xfe\x31\x2c\x2f\x40\x66\x0c\xcb\x0b\xd8\x7b\x39\x3d\x3b\xac\x62\xfe\x63\x51\x1d\x57\xe5\xe1\xb7\x2f\x9f\xbf\x18\x0a\x6c\x8a\x47\xb8\xb5\x07\x23\x34\x70\x27\x5f\x4d\xf4\xfd\x7d\x25\x9f\x24\xaa\x66\xc3\xe1\x93\x6d\x45\xd5\xec\xc9\x3f\x60\xef\x31\xf3\xcf\x5b\xbe\xff\x94\xa8\xbd\x23\x0f\x0f\x87\x43\x55\x63\x36\xa2\xb0\x28\x2e\xd3\x7c\x56\x37\xca\xf8\x13\xd6\x08\xe7\x89\x83\x02\x19\x58\x90\x69\x4c\xc3\xfc\x4d\x71\xa1\xa8\xcb\xe8\x4c\x71\xfa\x27\xf2\xe6\xcd\xb7\xc2\x0a\x25\x9d\x15\x25\xea\x38\x40\xd2\x74\x60\xce\xa2\x0d\xcc\xb6\x7b\xa6\x6c\x88\xd5\x79\xc2\xbc\xea\x59\xb2\x59\xab\x4b\x1d\x26\x89\xe1\x53\xe5\xc7\x8d\xb5\xf0\xcc\x6e\xaf\xe9\x3c\x2d\xa9\xd8\x60\xcf\x74\x75\x49\xe3\x82\x0e\xaa\x6f\x3c\x7c\x97\x0c\x3b\x9b\x02\xf1\x90\xca\xea\x5e\x08\x6d\xbe\x89\x4a\x65\xc1\xdb\xd7\xbb\x5d\x09\x57\x1e\xc1\xb6\x54\x40\xd8\x23\x42\x8c\xfd\x76\x0a\xfb\x9d\xdd\xf2\xaf\x1f\x7d\x9d\xe6\xf3\xb0\x54\x74\x3e\x80\x54\xa3\x34\xba\xaa\x22\xaf\x44\xc3\xef\x8e\xf9\xf5\x01\x02\xbe\x50\xf7\xda\x49\xee\x18\xfd\x9c\x8a\x5b\x3f\x94\x54\x4a\x65\xa8\xd8\x4b\xf7\xf7\x95\x6c\x92\xb2\xea\x19\xdf\xa6\x9d\x34\x24\x43\x1a\xc2\xc6\xff\x59\x1e\x43\xe1\xb6\xc7\x33\xc1\x7b\xc8\xd8\xaf\xc5\xad\x9d\xc9\xf6\xc7\xb8\x9b\x3d\x68\x20\xcf\xb3\xb5\xc4\x4f\x68\xce\x25\x9e\x48\x52\xb3\x55\x88\xb7\xe6\x25\xeb\xda\xd6\xc4\xe8\xfe\xfe\x3a\xdb\xa8\xc4\xcc\x49\x2f\x48\xd6\x4f\xae\xd6\xc4\xc3\xab\x97\x4b\x2d\x9b\x84\x92\xbe\x69\x26\x89\xfe\x67\x93\x93\xa8\xd2\x39\xbd\xff\x3c\x7b\xe3\x55\xdb\xde\xf8\xbe\x47\xaf\x7d\x75\x42\x4f\x27\xef\xb9\x5e\xfb\xaa\xa9\xd7\x96\x8b\xda\x55\x5b\xaf\x7d\xd5\xab\xd7\xbe\xba\xb9\xb9\x6a\xeb\xb5\xaf\x9a\x7a\xed\xab\xc9\xd9\xee\xf6\xc6\x4c\x9b\x55\xf6\xc6\x2b\x55\x9b\x4b\x94\xf3\xaa\xa5\x75\xbe\xe2\x7a\xed\xc6\xf3\xc3\xab\x55\xbd\xc6\xbc\xd2\x6b\x5f\xad\xd7\x6b\xb7\xdf\xd0\xad\x82\x80\x29\x5e\xc1\xf2\x98\x5e\xbb\x98\x5c\x69\x21\xb3\x37\x42\xcd\x99\xf6\x5e\x9b\x6b\x57\xb5\x0d\xe5\xa2\xbd\x3f\xe5\xb8\x23\x40\x17\x56\x78\x25\x7c\xf2\x75\x14\xd3\xa3\x8b\x30\x39\xa7\x6f\xa2\xf3\x04\xc9\xe0\x59\xeb\x11\xe0\x1b\x11\x71\xa4\xc1\x8e\xc9\x89\xc2\xa3\xce\x44\xe1\x55\x3f\xad\x71\x1a\x22\xe1\x1d\x3f\x48\x6a\xbb\xca\xb9\xe4\x11\x57\x7d\xb5\xea\x9b\x3d\x7b\x56\xc2\xce\x5a\x6e\x4a\x4f\x58\xe9\x3f\x1b\x37\x76\x3a\x0c\x57\x12\xc2\xeb\xd2\x71\x6e\xb8\xf6\x25\xb9\xd2\x68\xf1\xde\x93\x6d\xe8\xdf\xce\x36\x94\x4f\x14\x5d\x8b\xc8\x34\x9d\x67\x8b\x92\xce\x54\x65\x88\x16\xd0\x9c\x5c\xf3\x44\xec\x6f\x5f\x1f\x6b\xfc\xe7\x6b\x11\x8c\x7c\x89\x77\x98\x9b\x6a\xdf\xe4\xb3\xfd\xa5\xd8\x8b\x65\x7d\x6f\xfc\x50\xf5\xbd\xa8\xd4\x6c\x5a\xb9\x19\x4f\xa8\xe8\x9a\xb8\x41\x47\x73\x55\x11\x29\x9d\xa5\x60\xee\x39\x69\x43\xf3\xe6\x66\x38\x54\x51\x90\x2c\x95\x21\x19\xaa\xe4\x32\x2a\x2f\xd2\x45\xa9\xc0\x63\x94\x1f\xf9\x16\x9d\x7c\x25\x76\xb7\xae\x95\x5f\x1a\x2a\xf9\x57\x1a\x25\xd8\x45\x55\x1b\x17\x2d\x92\xe6\x6d\x06\x86\x4d\x29\x89\xd3\xf4\xc3\x22\x53\x7e\x63\x16\xf7\xbf\x5d\x97\xcb\xdf\xd4\xbd\x84\x60\x64\xfc\x7f\xd4\x8b\xd9\xdf\x57\x60\xb0\x4a\xe1\x41\xa4\x85\xde\xdc\x9c\x9c\xee\x0d\xc5\x41\x1a\x4e\x26\x40\xb2\xd3\xb3\x41\x8e\xac\x7a\xae\x24\xb0\x78\x65\xd8\xce\xbd\x3c\x54\x55\xe8\x09\xc2\x01\x5e\xac\x20\x84\xe4\x78\x6b\x22\xc2\x80\x86\x61\x33\x23\xac\xd8\x08\x77\x97\x73\xb6\x39\x7e\x13\xa5\xe6\xa7\xda\xa6\x9b\x8f\xbd\xbd\x01\xb7\x55\x55\xad\xb4\xb3\x1b\xec\x5a\xd3\x34\xfd\x10\xb5\x9d\x11\x10\x59\x8f\x78\xd5\x6a\xdb\x7b\x70\xe2\x80\xe3\x99\x4c\x2a\x8b\xf0\xde\x26\xff\x94\x6a\x4e\x67\x71\x58\x5c\x8c\xe6\xb4\x28\xc2\xf3\x9e\x65\xc4\xd1\x08\x5b\xf5\x76\xfa\xfc\xf5\xf4\x76\x10\x06\xd3\x06\x96\x78\xa6\x6b\xe7\xb4\x1c\x57\xef\xac\x19\x29\xb1\xea\x25\xde\xe7\x59\xb3\xec\x28\x29\xe3\xae\xc5\xc2\xf3\x56\xab\x47\xb8\xba\x0f\xf4\xea\x7d\x1a\xe6\xb3\xae\x15\x8a\xba\xd5\xd6\xe4\x5f\x8f\xf2\x53\x66\xe1\x39\x1d\x95\x51\x19\xd3\x11\x08\x30\x5d\x6b\xae\x9b\xf4\x77\x7b\xd4\x2b\xdf\x7d\xd1\x8f\x72\xbd\xb3\x62\xf4\x30\xf0\xd5\x0e\x4e\x74\xe8\xf7\xd2\x34\x9a\x2e\x97\xe8\x74\x36\x49\x24\x34\x1d\x6d\x58\x7a\x1a\xc7\xa3\x39\x4f\xaf\xde\x5e\x72\x97\xc0\x20\x48\x50\xc2\xd8\x94\xe9\x55\xd7\xb3\x51\xb9\x02\x8c\x86\xb4\xa0\xc5\x77\xe4\x98\x1f\x4e\x94\x94\x71\xa8\x65\x58\x7c\x50\xf1\x46\x66\x19\xe6\x15\xb1\x9f\x87\x9f\x8e\xea\x69\x8d\x8d\xa5\xaa\xc5\xbb\x32\xa6\x9d\x6c\x69\xc2\x67\xa1\x29\x82\x33\x1d\xaa\x51\xa2\x30\x6e\x55\xed\xb1\xb6\x23\x57\xca\xb9\xc9\x9d\xac\xed\xf4\xa4\x3c\x9d\x24\xcc\x63\xbc\xba\x89\x87\x6f\x9d\x50\xa6\x4c\xc1\x55\x2b\xea\xf2\x32\x8a\x63\x9e\xed\x4d\x11\x6e\x52\x65\x9a\x29\xaa\xc6\x9c\xc2\x1b\xf5\x4b\xde\xeb\x5a\xd1\xb5\x1c\x21\xf8\x75\xca\xb9\x52\x02\x1b\x43\x25\x51\xf1\x7a\x91\x24\x51\x72\x7e\x73\xd3\xdb\x26\xa3\xf9\x59\x9a\xcf\x71\x38\x78\x53\xff\x68\xd3\x30\x99\xd2\xf8\x79\x1c\x2b\xea\xf2\x0b\x78\xc4\x7d\xde\xff\xfe\x77\x34\x26\x54\x7b\x9b\x94\xb4\x28\xa3\xe4\x5c\x64\x01\xb8\x8a\x68\x3c\x63\x5f\x39\x9a\xd3\x74\x51\xaa\x8a\xe1\x50\x8b\x99\x85\x6a\x58\x90\x9c\x9e\xe5\x14\x75\xb1\xcc\x51\x8c\xaa\xf8\x4d\xd3\x18\x78\x5b\x90\xbb\x97\xcb\xe5\x52\x2b\x26\xff\x1f\x7b\xef\xb6\xdc\x36\xae\x26\x8c\xd6\xbe\xcd\xfd\xbe\xda\x37\x0c\x6b\x55\x5a\xaa\x90\x92\x2d\xdb\x39\x78\x46\xdd\xed\xd8\xce\xa1\xdb\x89\xd3\xb6\xd3\xe9\x8c\xe3\xca\x82\x48\x48\xc2\x98\x22\xd8\x20\x68\x5b\x49\xbc\xf7\x4b\xec\xcb\xff\x62\x9e\x65\x1e\xe5\x7f\x92\xbf\x70\x22\x41\x12\xa4\x28\x59\x4a\x2b\x6b\x7a\x55\xad\x8e\x45\x9c\x3f\x7c\xf8\xce\xf8\x10\x68\xf2\x5a\xd2\xb7\xd9\x4c\x6c\xc7\xeb\x9f\xe3\x0b\x27\x9a\x99\xe6\x42\x6f\x2c\x9a\xb6\x1d\x3f\xd7\xe5\xb0\x68\x49\x8a\x2a\xb4\xe0\x21\xd3\x82\x23\xa9\x05\x0f\xf3\x5a\xb0\xfe\xd3\x19\x16\xb5\xe0\x61\xa5\x16\x3c\xfc\xfa\x75\x58\xd4\x82\x87\x79\x2d\x78\xd8\xf7\xe6\xb7\x24\xc5\x4e\x92\x5a\x92\x86\x6d\xc7\xd7\xb4\xe0\x61\x41\x47\x1d\x4a\x2d\x38\xf7\xfd\xa7\x61\x59\x63\xf2\x53\x2d\x78\x58\xaf\x05\x17\x47\x30\x1f\x2f\x36\xc5\x21\x5b\x9e\xd0\x82\x03\x61\x45\x4a\x63\xd6\x9d\xa1\x46\x16\xc1\x0c\xb2\x28\xaf\x3d\x98\x2c\x2a\x9a\xf1\x64\x14\xa0\xc9\x04\x92\x2e\x25\xc0\xbb\x44\xe1\xe8\x3b\x4d\xe7\x2f\x35\xce\xef\x23\xa5\xbf\x21\xc3\x7d\x3a\x7f\x9e\xe5\x9e\x6f\x06\xf4\xff\x4e\x73\xff\x3f\x3a\xcd\x7d\x7a\x94\x09\x8c\xd1\x67\xe8\xe2\x41\xcc\xdd\xe5\x26\xc9\xae\x50\x45\xc5\x4b\x56\xf7\xf1\x1d\xca\xb8\x59\x94\x6e\x69\xf9\x31\x9a\x44\x01\x74\x41\x42\xc7\xe5\xfa\xdf\x54\xa6\x1d\x83\xd0\x0f\xe0\xab\xf0\x0a\x04\xc8\x07\xea\x7c\x09\xc9\xc5\x58\x26\x85\x1f\x48\x5b\x76\x3e\x9c\xdb\x96\x58\xd7\x9e\x47\x26\xe6\x2b\x76\x63\x8a\x09\x0f\x2c\xd6\x0c\xe7\xb3\x80\x96\x6f\xe9\x83\x88\xa2\xab\x95\x5c\xaa\x29\xd8\x63\x3a\x02\x86\xad\xf6\x4c\xc3\x0c\x85\x93\x88\x87\xee\x54\x2f\x2c\x8d\x6e\x16\x35\xdd\x21\xf0\xf8\x15\x9c\x95\x2d\x83\x5b\x43\x3d\x02\x01\x85\x67\x72\xd0\xe7\x62\xcc\x76\xeb\x0b\xf2\x77\xed\xe3\xad\x9d\xfd\xe3\x57\xe3\x0f\xb6\x33\x08\xb0\x77\xb9\xfb\xc3\xf9\xf9\xf9\xa6\x63\x7f\xfc\xc8\xf0\xf2\x7c\xd3\x39\xef\x3d\x71\xce\xb7\x76\x9c\x8d\x0b\xe7\xdc\x56\xee\x5f\xfb\x82\x87\xc9\x5e\xf0\x1a\xaa\x2e\xab\xf7\xd4\xd9\x14\x45\xd9\x7f\x0c\x75\x7a\x7a\x9d\xf3\xf3\xf4\x40\x5e\x38\xe7\xe9\xe8\x96\x95\xd5\xdf\xaa\xe9\xf3\xc2\x39\xbf\x60\xff\x53\x5f\x72\x03\x6d\x37\x1e\x68\xfb\x91\x5c\xe9\x63\xe7\xd1\x85\x3e\xd0\x62\x03\x3f\x6e\x00\x85\x27\x33\x3a\x77\x86\x20\x88\xa1\x73\x6e\xeb\xb6\x02\x3b\xbe\x1a\xb9\x11\xa0\x14\x92\x90\x21\xd4\x18\x02\x9f\x6b\x91\x21\xb8\x42\x23\x8e\x71\x6e\x08\x08\x01\x14\xb3\xaf\xac\xa9\xed\xd8\x1e\x9e\x44\x38\x14\x01\xf6\x2e\x4e\x68\x00\xd9\x5f\x20\x8a\xdc\x21\xc6\x54\xb4\xc7\x14\x0d\xd3\xd4\x2e\x17\x17\x3f\x38\x13\x8e\x65\x6f\xc0\x04\xee\xce\xc0\xf1\xce\x78\x10\xdb\x0e\x8a\x4f\x29\x41\x1e\x7d\x8d\x7d\xb8\x7b\x7f\xf3\x76\xae\x03\x93\xd0\xf1\xba\x9f\x14\xf4\xeb\xc1\x8b\x37\x6f\x62\x52\x71\x52\x36\xf8\x11\xd9\xdc\x76\x36\x1c\x9b\x2d\x87\x1b\x71\x78\x49\x2f\xdd\x58\x1d\xa9\x37\x1a\xe1\xa6\x68\x51\xee\x5c\xee\x7b\xb1\x7b\xd5\x20\x3d\x8b\xe7\xe7\x3d\xde\x08\x79\x38\xb4\x06\x04\x84\x3e\x47\xae\x73\xfb\xe7\x10\x4c\xb8\x80\xcd\xd8\x2e\x6b\x92\x6e\x8b\xed\xd8\xbd\x6d\x56\x2b\x87\x93\xe9\x54\xb6\x74\x8c\x57\x5f\xb5\xe3\xb3\xd5\xe4\xf8\xb0\x56\xc5\x03\x24\x7b\xcf\xa1\xbe\xc7\x2d\xa1\xf6\x30\x40\xa3\x31\x75\xd9\x22\x2a\xb0\xb9\x09\xc2\x26\x74\xbc\x1c\x4c\xad\xc9\x23\xb4\x46\xf8\x7a\x1a\x3c\x1a\xc2\x3f\x9e\x54\x51\xf6\x0d\xc7\x1e\x6f\x6a\x08\x94\x23\xf4\x1c\x56\xca\xd8\x98\x92\xfa\xad\xfc\x5e\x6d\x38\xbd\xba\xe6\x71\x32\x98\xd1\xc3\xf6\xa6\x73\xbe\xb5\xe1\x6c\xca\x16\xaf\x21\x1d\x63\x11\xa4\x2d\x90\x94\x55\xd5\xf1\x59\xf1\x0d\x86\xbe\xc2\xa0\xc6\x6a\xb1\x1e\x2e\x8a\xe8\x2a\xd1\x2b\xd7\x49\x7e\xc2\x3a\x52\xa7\x6c\x46\x1d\x97\x41\x42\x29\x3b\x30\xfc\x1f\xd7\x8d\x08\x9a\x00\xb6\x99\xe2\xe8\xa8\xfb\xbc\x0a\x4e\xf8\x12\x86\xb2\xac\xea\x14\xcb\x19\x18\xc0\x24\xc6\x28\x71\x54\xd1\xa4\x78\x46\x4a\x67\x30\x5d\x99\x3d\xd6\xa8\x81\xa1\xbc\x62\xe5\xac\x65\x3c\x01\x41\x30\x83\x94\x6c\x4b\xd8\x3c\x72\xec\x31\xa5\x51\xbc\xdb\xed\x5e\x5f\x5f\xa7\x11\x60\x69\x32\x21\xdc\xf5\xb1\x27\xfc\x66\x90\x88\xc3\x82\x91\xef\x29\x72\x52\x0f\xa2\x6a\x20\xb1\x3e\x3e\xb1\x9e\x3f\x05\x28\xbc\x34\x02\xcb\x0c\xae\x2a\x80\x6d\x95\x38\x79\x1d\x14\xab\x60\x38\x0b\x82\x27\xd0\x83\xe8\x0a\xfa\x16\x08\x2d\x14\x5e\x21\x0a\x7f\x32\x61\x5d\x8a\xd4\x05\xc4\x12\x4d\xaa\x30\xeb\x04\xfa\x10\x4e\x2c\xad\x52\x3d\xaa\x98\xd6\x9d\x9d\x23\x45\x71\x19\x51\x45\x43\xdb\xb1\x19\xc8\xb9\xec\xed\x0a\x0c\x65\x44\x8e\x01\xdf\xa5\x98\x49\xe8\x37\x4c\x02\x01\x81\x2b\xf6\xa3\x19\xf5\x15\x74\x73\x69\x34\x98\xaf\x7b\xcd\x89\xf0\x1e\xfd\xf0\xfb\xe3\xee\xe8\x74\x11\x22\x2c\x56\xf8\x29\xc0\x23\x14\xce\x49\x8c\x77\x7a\x9c\xb2\x6e\x30\x16\x1a\x20\xbe\xd5\x92\x3d\x97\x7b\xf6\x02\xf4\xa9\x48\xab\x6b\xaa\x97\xc8\x7a\x49\x28\x30\x13\x6c\xd1\xc9\x19\xa7\x95\x8e\xfd\x33\x9f\x96\xa0\xde\x6c\x96\x19\x0d\xcd\x4d\xfb\x22\x5b\xb0\x01\x45\xf9\x84\xdc\xf4\x00\x34\xc5\x41\x56\x7d\x49\x48\xc8\x0f\x89\x07\x82\x60\x00\xbc\x4b\x37\xc0\xc0\x47\xe1\x68\xdd\x71\xf2\xf7\xe7\x27\x60\xe7\xcd\xaf\x93\x06\x82\x6c\x6e\x7d\x46\x61\x96\xa3\x70\xaf\x56\x8e\x50\x60\x31\x22\x6f\x41\x5e\x4d\xd1\xa5\x24\x9e\xa6\xc0\xb5\x37\x1f\x95\xa4\x53\x23\x4d\xcf\x21\x8c\x2e\x42\x36\x45\x15\xe3\xee\xae\x02\x73\xd6\x1d\x63\x36\x9e\x5f\xd1\x5f\x36\xde\x82\xbf\x31\x66\x1e\x8c\x59\x12\xa6\x08\xd2\xb8\xe6\x18\x12\x1e\x3e\x79\x35\x7c\x71\x73\xb8\x08\x9f\x5b\x84\xc1\x95\xdb\xd7\xab\x1b\x0d\x6d\x54\xfa\x7c\xeb\x24\xc1\x0a\x89\xcf\xcc\xf9\xf2\x52\x5d\x85\x38\x67\x58\x11\x17\x7a\x73\xf2\x6e\x85\xca\x5c\x9c\xdc\x22\x53\xaf\x12\x55\x9b\x2c\xe9\x6e\x82\x6a\xd9\xaa\x60\x38\x8c\x82\xd5\xcb\xa3\x90\xca\xa1\x4d\x8f\x25\x6f\x77\xf7\xe3\x28\xf3\xa0\xac\xf7\x49\xbc\xf9\xf5\xf2\xc5\xf8\xf3\xf3\x69\x03\x5a\xcd\x63\x6b\x2c\x11\x61\xe3\x8a\xc5\x55\x10\xec\x42\x9b\x6a\xf3\x53\xce\xbe\xa5\x1b\x9f\x72\x66\x27\x8e\x38\x01\x24\xd4\xa5\x04\x81\x70\x14\xc0\x6a\x7b\x53\x5e\xed\xda\x0b\x2d\x3e\x51\x0b\x7b\xdc\x25\xe9\xcf\x52\xef\x1a\x2b\xc8\x76\x44\x74\x73\x9d\x32\x4c\xc8\xc8\x23\xbb\x28\xe7\x66\xd6\xaa\xb2\x0e\x35\x27\xe7\xe0\x0b\xba\x3b\x76\x06\x60\xb0\xee\xb8\xb9\x15\xa1\xd1\xbb\x57\xcf\x83\x06\xb8\x19\x80\x41\xb7\x02\xcb\xca\x36\xd4\x3c\x49\x62\x80\xa8\xb7\xc6\xd4\x08\x10\xac\x83\x21\x0e\x7c\x48\xdc\x21\x62\x74\xd2\x80\x97\x47\x60\x60\xbd\xc4\x13\x58\x6f\xc8\x2c\xf0\x94\x79\x4d\xa4\x05\x22\x98\xa9\xde\x4b\x31\x86\x06\x60\xb0\x14\x8c\xfb\x3e\x4c\xa1\x3b\x97\x2f\xdf\x6f\xbf\xef\xc6\x66\xbc\x9b\x81\x4b\x1d\x92\x84\x21\x24\x6e\x44\xf0\x10\x05\x30\xae\x64\x73\xbc\x9a\xf5\x56\xaf\x56\xc2\x8b\x66\x63\xcd\x18\xc3\xd8\xb7\x11\x5b\x9a\x61\xc2\xb2\xec\x32\xac\xab\x22\xb0\xd6\x1c\x33\x1e\x5e\x1f\xfd\x0a\x7f\xe9\xe1\x32\x66\x9c\x1d\x1f\x1c\xef\x5a\xbf\x25\x90\x4c\x2d\x10\xfa\xfc\x0a\xa7\x45\xc7\xd0\x12\x2b\xb4\xd4\x0a\x3b\x25\xe8\x37\x04\x7a\x01\x52\xcb\x04\xff\xda\x83\x9d\x6c\x1f\x3d\xfe\xfd\x17\xda\x54\x5d\xc8\xf0\xde\x44\x59\x4b\x7c\x43\x42\x96\xc7\xf1\x54\xaa\xa0\xe6\x52\xad\x9c\x71\x9f\x4a\xab\x38\xaf\x61\xf6\xbf\xe9\x5d\xe8\x15\x50\x59\x56\xa9\xab\x3e\x98\x7e\x42\xfe\x27\x1c\x06\xd3\xb9\x9a\x61\x9f\x18\xeb\x1b\x3e\x56\x7d\x62\x7d\x0e\xb0\x3f\x2d\xac\x8e\x33\xb1\x5e\xca\xc4\x84\x73\x51\xfb\x5b\xf8\x61\x94\xf2\xa5\xf1\x36\xe5\x83\x69\x08\xbd\xd2\xca\xb6\x1d\x3b\xf6\x70\xc4\x94\x7b\x82\xaf\x0b\x32\x5a\xcf\x39\xe7\x90\x2d\x19\x09\x4a\x9d\xf9\x86\x96\x83\xe9\x2b\xff\x98\x83\x78\xb1\xf6\x1c\xda\x15\x4d\x4d\x16\x86\x5e\x4e\x9c\x68\xe6\x9e\x28\xca\x99\x8e\x2d\xf0\x5b\x13\x38\x21\xf0\xc6\x8c\xff\xf3\xb8\x3c\x17\x10\x02\xa6\x4d\x49\xbf\x24\x18\x77\xa7\x3e\x38\xe4\x37\x51\xbe\x03\xfb\xe7\xd1\xeb\xd7\x5b\xff\x79\xf3\x07\x6a\x62\xcd\x4a\x17\xb5\x4c\x77\xbe\x26\x0a\xf6\x56\xe0\x2d\x5f\x50\x24\xcc\xd6\xba\x4c\x64\xe8\x7a\x38\x0c\xab\xe2\x7c\xd7\x08\x29\xde\x04\x6f\x9f\x85\xfb\x68\x67\x3e\xa4\x98\x4b\x43\x11\xfa\xa0\x73\x6e\x7f\x06\x91\x41\xaf\x98\x3d\x8e\xeb\xe1\x90\x8a\x94\x97\x55\x5c\x2b\xcf\x36\xf7\x05\xec\x2d\x8a\xad\x29\x4e\x88\xa5\xe2\xb7\x2c\x14\xc6\x14\x84\x1e\xac\x66\x01\xba\xd2\xfd\x06\x5f\xb3\xf6\x96\x07\x42\xcb\xcb\xba\x64\xc2\x10\xbc\x41\xfc\x1e\x41\xb9\xeb\x4e\x43\xca\x56\xc7\xcc\x35\x08\xc4\x14\x46\x55\xbc\xbc\x97\x97\x14\xf8\xc4\x86\x38\x08\xf0\x35\x9b\x19\x12\x1f\xf6\x8f\x5e\xb1\x49\x17\xe6\x2f\x1c\xd5\xe6\xb9\x1a\x8c\x85\xc5\x83\xdd\x4c\xf5\xab\xb6\x3e\xcc\x58\xb4\x8c\xce\xaa\x46\xaf\x5e\x65\xc8\x42\x0c\x3d\x1c\xfa\xc6\xa0\x05\xed\xa0\xf3\xdb\x29\x55\xca\xc6\x3e\x0e\x29\x0a\x13\xc8\x60\xf5\x06\xde\x50\xeb\x94\xc2\x68\x0e\x72\xc4\xf0\xdd\xa5\x28\x10\x11\x68\x21\x85\x37\xd4\x15\x47\x70\x3e\x13\x5e\x99\x98\x2c\x95\x40\x71\x84\x0d\x82\x75\x27\x50\xff\xf1\x70\xf3\xfa\xfd\xe7\x37\xdd\x6f\x41\xa0\x7c\x7c\x1d\x06\x18\xf8\xdf\x86\x4a\xbd\x12\x1b\xc0\xcf\x63\x4a\x46\xf6\x8f\x5e\x35\x23\x4e\xcf\x11\x89\xa9\xc3\xe8\xd3\xc7\x1f\x82\xc0\x0a\x21\xf4\x19\xc2\xa2\x8a\x4e\xff\x22\xb2\xb4\x17\x4e\x71\x08\xad\x24\xce\xd1\x4a\x8a\x2d\x91\xb0\xd3\x1a\x12\x3c\x61\x73\x45\xc4\xe2\x01\xd6\x94\x07\x56\xf2\xd5\xc4\xfa\x72\x10\xb5\x02\xec\x81\x20\x98\x76\xac\xb3\x31\xb4\x06\x30\xc0\xd7\x12\x38\x48\x5e\x4d\x41\x38\x8c\xad\x51\x82\x7c\xc8\xa9\x36\x1d\x13\x9c\x8c\xc6\x16\x1d\x03\x6a\x0d\x31\xb1\xae\x00\x41\x38\x89\x2d\x2c\x32\x28\x86\x23\x2b\x9e\xc6\x14\x4e\xb8\x2a\x6b\x8e\xf2\x4b\x37\xae\x67\xda\x38\x2d\x2c\xd8\xd8\xb2\x01\x21\x35\x1a\xe7\xcc\x1e\x07\x8d\x7c\x49\xa8\x74\x26\x20\x4c\x40\x50\x45\xc7\x5e\xf3\x52\x05\x42\x11\x95\x5d\x19\x2a\x34\xe7\xc8\x63\x3c\x81\x03\x02\xaf\xab\xc6\x7e\x29\xcb\x2d\x1c\x5a\xc7\xa7\xd6\x1f\x4b\x1b\x38\x40\x61\x72\x53\x35\xea\x51\x5a\x58\x0a\x09\x32\x84\x2d\x97\x84\xd2\xed\x26\x42\x69\x0d\x5e\xfc\x0e\x09\x1a\x4e\xf9\xd1\xcb\x03\xbd\x12\xb1\x72\x47\x65\x48\x21\x51\x0d\xf5\xe3\xe2\x58\x57\xaa\x63\x40\x4b\xbd\xf3\x73\x03\x7d\x6b\x30\x65\x88\x1d\xb2\x86\x80\x3f\xcd\x46\x21\x99\xa0\x10\x04\x96\xbc\x43\xc0\xad\x39\x44\xdc\xb9\x64\xbd\xc8\x3d\xf0\xf0\x64\xc2\x4a\xd4\x92\x3c\xec\xe7\xe4\xfd\x6b\x03\x92\x17\x89\x49\x01\xe3\x77\xf4\xcd\x84\x43\xbe\x95\x62\x09\x6e\xd6\xdb\x4c\x43\x75\xc9\x37\xa1\x4f\x6e\xdb\xd9\x74\xca\x7d\xd6\xcd\x7a\xab\x19\x3a\xcc\x18\x95\x51\xc1\x84\x46\x49\x6e\xb0\x24\x06\x23\xb8\x6b\xa9\x31\xad\x73\x95\xb5\xfc\xc2\x3a\x77\xc7\x30\x88\xd8\xbf\x20\xa1\x98\x69\x28\x01\xa4\xd0\x6d\x25\x61\x5b\x6e\xe2\x85\xf5\xef\x72\x0b\x7e\xb4\xce\xff\x1d\x90\x51\xfc\xe3\x85\x98\xd0\x3e\x9e\x4c\x70\xa8\x36\x28\xde\x95\xb0\xe1\xd9\xd8\x95\xb2\xcd\x53\xe5\xca\x0d\x97\x83\x42\xdf\x52\xf9\x8c\x05\x79\x15\xcf\xbe\x76\x64\x73\x49\x78\xc5\xff\x44\xfa\x66\x0b\x58\x22\x25\x72\xda\x50\x54\xee\x74\x3a\x26\xf8\x55\x21\xf0\xab\x21\xa7\xbb\x23\x48\x2d\xa0\xdc\x55\x1c\x65\xe7\x41\x2d\xcb\xc3\x49\xe0\xf3\x87\x03\x07\x50\xbc\x1d\xe8\x08\x21\xbe\xaa\x97\xb7\x7b\x67\x2f\x73\x3d\x68\x49\xf2\x2d\x95\x5b\xcf\xba\x06\xb1\x04\x00\xeb\x3a\x86\xd4\x4a\x22\x2b\xe2\x72\x0b\xe3\x29\xaf\xc1\x25\xb4\xe2\x84\x40\x31\xe3\xf9\x06\x4c\x07\x61\x12\x00\x40\x61\xcc\x0f\xa9\x78\x89\x02\x93\xa9\x75\x3d\x86\x44\xf0\x24\xb9\xe7\xd0\x97\x73\x51\x47\xbc\x78\xa0\xbe\x37\x79\x5a\x29\xbb\xcb\x93\xa8\x2b\x0c\xfc\xba\x6c\x1d\xf9\x71\x97\x82\x81\x1b\x82\xab\x5c\x8c\xa6\xf9\xd6\x87\x87\xa3\x29\xdb\x24\x57\x6c\xe7\x5c\xe2\x77\xca\xf5\x9a\x88\xdf\xe5\x77\x80\xea\xfa\xec\x7a\x63\xec\x61\x56\x6a\x7e\x4b\x69\x8d\x24\xf1\x0d\xf8\xbe\x3b\x3c\x3c\xab\xb6\x1f\x95\xe2\x84\xf7\xd3\xb5\x59\x28\xb6\x80\x35\x24\x10\x72\x36\xc4\x38\x95\x2b\xe8\x92\x15\x01\xef\x12\x8c\xa0\x35\x01\x21\x18\x41\x7e\x6a\x85\x5c\xc6\x85\xb6\xf7\x28\xf4\xf1\xb5\xf4\x36\x54\x87\xb6\x6c\x18\x58\x0e\x87\xac\xab\xd4\x9c\x3a\x86\xd3\x8c\xdd\x14\xfa\xcb\xd6\xca\x0b\x52\x51\xb5\x8e\xf5\x54\x5e\x9f\xaa\x3a\xb9\x21\xa6\x95\xa6\xfc\x9a\xd0\xf6\x81\xde\xe6\x0d\xa6\x70\x37\x47\xb0\xb4\x7d\x61\xbb\x91\xd3\x15\xd4\x76\x00\x02\xb3\x38\x6f\x4a\x30\x0f\x4b\x4b\xfb\x0c\x71\x9e\x6a\x0b\x62\x17\x4c\xad\x09\x40\x9c\x06\x0a\x89\xe4\x25\x88\xc7\x68\x1f\x93\x88\x4b\xed\x72\x92\x22\xcd\xb7\x62\x57\x16\x1e\x6a\x46\x94\xd8\x02\xc1\x35\x98\xc6\x16\xb8\x02\x28\xe0\x44\x75\xc0\x3a\x2d\x49\xb2\x46\x99\xdd\x68\x1c\xbc\xfb\xb9\xd7\xce\xe8\x2a\x34\xf0\x6e\x2a\x4c\xaf\x39\x01\x38\x7e\xf2\xf4\xd7\x87\xbf\xf5\xfe\xa3\x39\x01\x48\xd5\x80\x45\x8f\xff\x6b\xe0\x71\xfd\xa1\x63\xe9\xda\x32\x1e\x0e\x91\x87\x40\xc0\xc7\x48\x91\x67\x88\xc9\x24\x09\x40\xaa\x53\xa6\x12\xf0\x22\xc4\x83\xcd\x7a\x89\xb4\x23\xdf\x9d\xe6\xed\xe2\xc0\x91\x4b\x1b\xb3\xd3\xe2\x61\x12\x75\x29\x88\xba\x7f\x01\x1d\x29\x51\x8e\xe3\xb3\xc3\x3c\xe5\x38\x1b\xa3\x58\xcd\x97\x6d\x69\x8c\x46\xfc\xa8\xa3\x10\x48\x7f\x31\xdb\xe9\x84\xe2\x09\xa0\x88\xeb\xeb\x56\x12\xf9\x80\x42\xdf\xba\x46\x74\x6c\xc1\x2b\x48\xa6\x5c\x5a\x55\x7b\x68\xc9\xc7\x00\x1a\x8b\x40\x3a\x92\x9d\x61\xd9\xbd\xb2\x6b\x0a\xda\xe2\x30\x3d\x67\xa1\x1d\x4f\xa2\x11\x01\x7e\x65\x48\xdf\xbc\x3b\x9e\x76\x57\xd8\x71\xf9\x7d\xa1\x1d\x5f\x3a\x75\x53\xe4\x67\x25\xb4\x4d\xe8\xeb\x6b\x4e\xd8\x86\xdd\xf7\xe3\x97\xfb\x57\xcd\x08\x5b\xca\xd3\x52\x14\xd6\xd8\x5e\xcc\xcf\x00\x3b\x15\xb1\xa2\x6c\x31\x27\x64\x79\xdb\x3c\x37\x54\x58\x3e\x8a\x29\x41\x83\x84\x5b\xae\x0c\x3a\x75\x19\x5f\x9b\xde\x1c\xdf\x9c\xcb\x9c\xd2\x49\x06\x49\x48\x93\x2a\xa4\x7f\xc7\x4b\xbb\x07\x70\x80\x80\xd1\x82\xb4\xf0\xb8\x1e\x0c\x29\xae\x0c\xfa\xd9\x87\x21\x3d\x3e\xed\x9e\xbc\x3c\x3c\x5a\xea\xa8\x43\xe8\x63\x02\xaa\x46\x7d\x9e\x95\x2e\x6b\x40\x30\x01\x9f\x71\xe5\x4d\xc9\x3d\x5e\x6a\x55\xd8\xae\x2a\x29\x7d\xd3\xb8\xba\xfc\x95\xfa\x39\x54\xa6\xc5\x88\x89\x58\xf1\xca\x28\x49\x57\xc2\x72\xcd\x09\xca\x87\x3f\x07\x37\x94\x7c\x7e\xd2\x88\xa0\x28\xc9\xa6\xca\xde\x30\x4d\x26\xae\x7c\x7f\x56\x08\x49\xb9\x48\x17\xc6\xf9\xc4\x67\x61\xb5\x48\xdf\xe6\x45\xb0\x19\x4d\xd1\x79\xa0\x80\xae\xcb\x46\x94\x60\x77\x13\x8a\x82\xca\x23\x3a\x07\x3f\xac\xee\x3a\x5b\x69\x9c\xf8\xd8\x9a\x26\x93\x54\x22\x72\xa7\xec\xa7\x56\x71\x0e\x39\x48\x07\xf1\xbb\x18\xde\x01\xbc\xc0\xf7\x73\x62\x67\xa6\xd6\x48\x42\x9e\xbd\x87\x7c\x17\x88\x8b\x49\x2c\x17\xd4\xaa\xcf\x32\x8c\x0b\x6b\xb6\x5c\x17\xf8\xbe\xcb\x56\x62\xa9\x9b\xce\x24\x9a\xa8\xa7\x9a\xe2\x4e\x2a\xaa\x74\x3c\x3c\xe9\x0a\xa2\xc5\x57\xdf\xcd\x4a\x58\xeb\xbb\x6c\x93\x3c\x09\x4b\x40\xdb\x95\x20\xac\x11\x55\xdd\xe9\x9c\x9a\xff\xd2\xe5\x37\x9d\x30\xae\x90\xf2\x4a\x66\xbd\xe6\x94\x77\xef\xb7\x67\x31\x20\x2f\xb7\xbf\x37\xca\xcb\xa0\xbb\x12\xba\x5b\xd5\xf1\xff\x68\xaa\x9b\x02\x65\x69\x34\xb7\xd4\xe3\xb2\x29\x2e\x13\x83\xd7\x80\xd4\x16\xd1\x69\x05\x18\xba\xd6\x64\x56\x50\xc1\x15\x92\x59\xa9\x9d\xac\x39\x99\x1d\xfe\xf9\xf0\xf5\xde\xe3\xe3\xfd\xa5\x90\x59\x3f\x1c\x5a\xdf\x88\xcc\x0a\xe8\xba\x51\x90\x8c\x50\x18\xbb\x1e\x26\xcb\xb0\xf5\x18\x7b\x2d\x20\x31\x5b\xa4\x46\x60\xfd\x70\x58\xae\xbf\x02\x3a\x3b\x1b\xb6\xab\xa4\xb3\x12\x30\x4b\xa3\xb2\x85\xfe\x0c\x20\xbe\x13\x8d\x15\xdd\xaf\x01\x95\x95\xeb\x5c\x1e\x8d\x2d\x76\x68\x80\xdc\xba\x50\x58\x31\xd5\x15\x52\x58\x69\xed\x5a\x73\x0a\xfb\xf2\xe4\xf1\xe5\xc6\xd1\x75\x33\x0a\xbb\x27\xcf\x70\x76\x74\x65\xa5\x2d\x81\x01\x5a\xfa\x2a\x10\xd1\x2a\xf4\x1f\x45\xb9\x33\xf5\xe2\xed\x0b\xeb\x12\xe6\xae\xe1\xcc\x8d\xc8\x02\xd6\xae\x97\x90\x65\x60\x71\xae\x37\xcd\xff\x9a\x90\xc0\x72\x87\xf1\xe9\x91\xd5\x6c\x95\xd6\x57\x8b\xa3\x3d\x88\xa8\x7b\x09\xa7\x9c\x04\xba\x77\x39\xe7\x7b\x2b\xa4\xa1\x72\xd1\x6c\xae\x8a\x96\x89\x9e\xe6\x02\xe8\x36\xbf\xf9\x25\x6f\xad\xda\x1b\xb3\x81\x6c\x1a\xaf\x40\x35\xca\x55\xac\x8f\x1f\x6d\x1f\x0e\xac\x73\x40\xbc\x71\x1f\x4c\xfc\x47\xdb\x17\x0d\xf6\xc4\xfa\x47\x2b\x88\x07\x9f\x64\xa1\xe5\x7a\x71\x9b\x5b\xd4\x3f\x7e\xb4\xef\xc4\x17\x85\x6b\x88\x7b\xa5\x16\x24\xc4\x12\x18\x6c\xb9\x1c\x22\x23\x58\x1f\xba\x36\x17\x1e\xe7\x7b\x35\x00\x77\xc4\xc3\x94\xf8\x22\x1e\x3c\xb0\x72\x9f\xd7\x82\x54\x8b\x75\xac\x84\x54\xcb\xd0\xd6\x35\x27\xd2\xc3\xe3\x3f\xbb\x8f\x8e\x2e\xfd\xe6\x1e\xf1\xb3\x2c\x50\x24\x75\x5c\x8b\xb5\x06\x53\xc7\x1a\x22\x11\x8e\x51\x0e\x56\x2f\x66\x21\xac\x20\x6e\x29\x70\x6b\x33\x0f\x82\x28\x22\x38\x22\x88\x21\x96\xf2\xbf\x9b\x3c\x1e\x43\x4c\x84\xcc\x2d\x3d\xf2\xec\x24\xa9\x18\x79\x0b\xd1\x4e\x2e\x70\x43\x76\xe4\x5b\x20\xb6\x80\xf5\x19\x45\x16\x23\x02\xe8\x0a\x76\x2c\x11\xda\xaa\x5a\xe6\x62\x5b\xf9\x38\x49\xc8\xaa\xf3\xa0\x39\x59\x87\xc7\x22\xca\xd6\xaf\x78\xf7\x04\x7a\x78\x32\x81\x21\x2b\x52\x31\x7a\xd6\x04\x5f\xc1\x5c\x58\x39\xd0\xc2\xee\x50\x38\x5f\x1c\x1f\x9f\x0a\xeb\x23\x08\xe4\xc5\x1f\x8a\x2d\x78\x03\xbd\x84\x42\x0b\xc9\x60\x4a\x10\x4e\xb3\x21\xaa\x03\x0b\x8a\xc1\xfa\x98\x58\xf0\x06\x4c\xa2\x20\x1f\x89\xd3\x20\xc7\xe2\xac\xe0\xd3\x7f\x58\x93\x2b\xeb\xff\xed\x1e\x48\xc0\xc5\x29\x0a\x58\xdd\x24\x26\x5d\x1e\x35\xdf\x1d\xa0\xb0\x6b\x1a\xb7\x10\x2b\x33\x77\x76\xc3\xca\x83\xbb\x0a\x9a\xa0\xf8\xc3\xba\x13\x85\xed\xa3\xe7\x3e\x38\x79\xfe\xe6\xef\x1b\x2b\x77\xba\xb1\x62\x5d\x21\x90\x05\x10\x61\x62\x01\x63\x1c\x58\x69\x6c\x33\x9e\x37\x8c\x93\xf9\xd7\xbf\xd7\x52\x17\xba\xad\xb6\xc4\xc3\x93\x08\x05\xda\x76\x68\x71\xe4\x7c\x5a\x10\xf8\x8e\x15\x43\xc8\x37\xcd\x2e\x25\xde\xd6\xb3\xe5\x9a\x33\xe5\xd6\xb2\x27\x1f\x7b\xfc\x25\x19\xd3\x95\x95\xca\xab\x07\x77\xbd\xa6\xd3\x2c\x39\xff\xec\x0c\xb6\xdf\xe2\x9a\x4e\xe3\x91\x97\x7d\x4d\xa7\xf1\xc0\x5a\x54\x73\x55\x74\x47\x16\x83\x8a\x43\x15\xe6\xbb\xb4\xf1\x57\x79\x4d\x68\xe7\xef\x6b\x42\x4b\xb9\x26\xf4\xe8\xef\x6b\x42\x7f\x5f\x13\xfa\xfb\x9a\xd0\x77\x74\x4d\x68\xeb\x2f\xb8\x26\x34\xff\x9d\xfb\xbc\x16\xf3\x17\xdc\x13\x52\x8a\xca\x52\x95\x20\x91\xb2\x60\xcd\x55\x9f\x17\xcf\x0f\x8e\x5f\x0f\x4e\x0d\x69\xc5\x96\xaf\xfa\x78\x63\xe8\x5d\xba\x1e\x22\x5e\x00\xab\x72\x16\xae\x40\x07\x3a\x65\xfb\x50\x10\xfc\x9b\xe9\x3f\x1f\x98\xe2\x43\xa0\x15\xe2\x6b\x8b\x40\xe0\x4f\x19\x9e\xc7\x86\xee\xb8\xe6\x23\x73\x77\xfc\x45\xfa\xcd\x19\x99\xf2\xcc\x6f\x6c\x5a\x9c\x93\xc4\x22\x7e\x3f\x1f\xc6\x2c\x79\x4e\xd1\xa4\x51\x17\x2d\x2b\xf9\x3c\xeb\xdb\x15\x1d\x2f\x85\xc7\xe7\xfa\x2b\xb3\x8e\x8c\xd5\x15\x2b\xce\xc9\xf4\x0d\x8c\x6c\x0c\xae\x20\x37\x0b\x49\x38\xb1\x6f\xf1\x98\xb3\x27\xa9\x21\x4d\x2c\xf9\xa6\x5e\x80\x2e\x21\x7f\x4e\xb9\x12\x62\x8b\xc8\x15\x0c\x4a\x5f\x2d\xfd\x7f\xaf\x0e\x72\x3f\xbf\x5a\xef\x8f\x4f\x7e\x3d\x7d\xbb\xb7\x7f\x68\x7d\xb5\x9e\xbd\x7b\x75\x74\x70\x78\xc2\x9b\x9c\x9e\xed\x9d\x9c\x1d\x1e\x88\x0e\xf6\x8f\x5f\xbf\x3d\x3a\x3c\x3b\x3c\xf8\xf8\x31\x74\x5d\xd7\x7d\xe8\xd6\xfc\xef\xa1\xf1\xef\x87\x95\x75\x5c\xd7\xe5\x8b\xfc\xdf\xff\xeb\xff\xb7\xbe\x5a\x1b\x9b\x87\x2f\x7f\x7f\xf1\xe1\xd9\xa3\xc7\x9b\x87\x6f\x4f\xb6\xf7\x7f\x39\xd9\xfb\xe3\xf7\xb3\x0f\xcf\x4e\x1f\x5b\x5f\x2d\x89\x09\x7c\x52\x11\xf0\x2e\xc5\x12\x9e\x5a\x63\x9c\x90\xd8\x02\x23\x9c\xff\x65\xb6\x7c\xaf\xcb\xfd\xd9\xca\x27\x74\xd2\xf7\x04\x2b\x0f\xc0\x73\x14\xa2\x78\x6c\x9d\x42\x9a\x2c\xc0\x05\xf3\x7c\x6c\xd1\xc4\x33\x9c\x3c\xdd\x9d\x8f\x69\x8f\x27\xae\x37\x03\xdb\x26\xbd\xcf\x97\x2f\x2e\x2b\xbc\xae\x9a\x12\xb8\xd9\x38\xe6\x7e\xc1\xd8\xfa\x14\x64\x4b\x84\xbe\x7a\x7c\x38\xee\xaa\x7c\x44\xeb\xbd\x1b\xd7\x67\xcf\x23\xef\xe5\xfb\xf7\x4d\x1e\x69\xd4\x73\x32\xda\x43\x4c\x26\x1d\xb9\xd8\x4f\x62\x84\x62\xa2\xfd\xfc\x4b\x4a\xc6\xe7\x5b\x4c\xc9\x89\x4d\x96\x08\x76\xec\xde\xa8\x24\xca\x51\x90\x34\x0a\xdb\xcc\x08\x8d\x9a\x58\x23\xf9\x43\x2d\xb9\xe9\x32\x67\xc8\x0e\x55\x8e\xd4\x4d\x87\x77\xce\xfe\x16\x64\x2d\xf2\x63\x57\x7d\xd9\x76\xce\xb7\x9e\xf0\xa7\xb1\xec\x38\x19\x4c\x10\x13\x4b\xe5\xf3\x35\x31\xb8\x62\x18\xf1\x9f\x42\xca\xcf\xe4\x31\x83\xb8\x21\x01\x60\x47\x5c\xae\xb5\x87\x08\x2a\x9e\xcc\x07\xe4\x49\xfd\xaa\x81\x22\xaa\x4b\xbf\x69\x6e\x86\xcf\x59\xc9\x29\x34\x49\x74\x06\xe0\xe7\x5a\x19\x9b\x64\x63\x06\x60\x20\xde\x5e\x63\xd3\x1e\x8a\x87\x26\xc5\x5a\x5d\x95\x43\x5b\xeb\x94\x75\xa8\xb0\xc2\xd0\xa9\xec\x76\xf6\x86\xaa\x9f\x6c\x88\x4f\x6a\x0a\xa6\x77\xc0\x8c\x99\x4d\xf3\xf6\xb3\x1d\xc9\xa7\x36\xcb\x33\xef\xb1\xad\x08\x80\x07\xc7\x3c\x0b\xb8\xed\xd8\x93\xa9\x1b\xc2\x6b\x57\x3d\x58\x2e\xeb\x10\xf8\x67\x82\x08\xf4\x6d\x47\xf8\xe6\x1f\x39\xd9\x9b\x4b\x2a\x51\xa7\xe8\xf3\x22\x8f\x2a\x28\x64\x72\x8b\xfe\xdc\xe8\xb9\x4d\x01\x19\x41\x2a\x5e\x83\xce\x8a\x1e\xab\x07\x92\x2e\x1c\xd1\x65\x47\x4e\x32\x7f\x74\x15\x0c\xce\xed\x9f\xe9\x34\x12\xa7\x8f\xc2\x1b\x6a\xcc\x5d\x3e\x6f\x26\xd8\xaa\xac\xf9\x7f\x29\x06\x6e\xd4\x60\x98\x08\xa5\xe5\x28\xe3\x8e\x10\xe5\x06\x25\x57\x80\xa3\x0e\xff\x36\x38\xe2\x19\xcb\x75\xc4\x79\x52\xf3\xaa\x81\xfe\xf6\x0c\x1b\x99\x07\xcd\x19\x1f\x9f\x29\xf6\xdd\x00\xfb\xc5\x3f\x9f\x46\x88\xce\xc0\xfd\x4a\xec\xd7\x97\xf1\xb4\xa1\x91\x7f\xf1\x49\x32\xb0\x4b\xa8\x57\xcf\xd3\x64\xe4\x6e\x74\x7e\x37\x55\x24\x80\x0d\x08\x02\xae\x0f\x63\x8f\xa0\x01\xf4\x07\x53\xbb\x7a\xf3\xb5\x33\xe8\x8d\x41\x38\xaa\x38\x69\xa2\xf9\x0b\xa4\x9d\xd1\xcd\x4d\xed\xa9\xb2\xac\xfc\xa2\x74\x06\xb5\xa3\xc8\xd5\x72\x4e\x1e\x7e\x16\x99\x9f\x4d\xed\xf5\xc9\xce\x7c\x41\x72\xb1\x8d\xe0\xf3\x18\xe0\x9b\x99\x24\xd3\xbc\x19\x4d\xa8\x85\xf1\x83\xdc\x28\x3d\xa1\x19\x37\xfc\x71\xf9\x2f\x23\x54\x4a\x2f\x70\x14\x0b\x6d\xa0\x05\xcf\x5e\x7f\xe5\xa3\x9a\xf3\xe6\xd9\xc9\xbd\xbd\xac\x1e\x4d\x1e\x10\x08\x7c\x8f\x24\x13\x26\x90\x8a\x2a\xe9\x3b\xcc\xfc\x51\x86\xc8\x8f\xbb\x92\xcc\xdb\x11\xf2\x2e\xd9\xea\x60\xf1\x4d\x29\x51\x2d\xc3\x50\xf1\x5b\x6d\x97\xa0\x6a\xe2\x61\x66\x59\xa4\x16\x35\x87\xcc\x5c\x14\x74\x57\x22\x43\x7f\x17\x4f\x40\x3c\x39\xc3\x0f\xaf\xf7\xc6\x55\x11\x4a\xf9\xf7\x97\xa4\xe4\x16\x97\x10\x48\xe9\x3f\x9b\xa5\xe7\x15\xcf\xcf\xab\x9f\xd6\x89\x13\xcf\x83\x71\x5c\x65\x6f\x5a\xe0\x71\x9d\xde\x8c\xc7\x75\x9a\xd8\x04\xcd\x5e\xb5\x84\x8e\x61\x48\x91\xc7\x53\x55\xc8\x89\x0f\x93\x20\x98\xa6\xc6\xb8\xda\x80\x87\x7a\xa3\x9c\x3c\x7d\x4d\x74\x09\x2f\x00\x71\x9c\x29\x13\x72\x43\x52\xd8\xac\x4c\xaf\xd0\xf7\xbe\x4a\xe2\x31\xbd\xa0\x65\xe7\xdf\x33\x0e\x60\x38\x52\x6f\x7d\x9d\xa7\xd9\xef\xf3\xa8\xb6\xad\xb2\xe6\xe7\xea\xdb\x99\x9c\x19\x16\xde\xd8\xcf\x3f\x69\xcc\xfe\xf7\x06\x5b\x0a\x34\x96\xc0\x7e\xdf\x9a\x42\xaa\xa9\x34\xa9\x65\x6c\x1e\xaa\xbd\x93\xa1\x17\x13\xb0\x38\xbd\x3a\xd5\x52\x05\x4b\xf3\x8d\x93\x91\xf4\x9c\x25\x47\x51\xe3\xb8\x93\xa6\xfb\x4d\xfd\x22\x56\xe3\xa7\x79\x7a\xf9\x49\x08\xea\xf7\xe9\x53\x69\x2e\x61\x51\xe3\x2c\xe1\xf9\x7f\xff\x57\x1e\xf0\x8f\x1a\xeb\x8c\x35\x5c\x63\xd6\xfb\xff\x6a\xee\x3e\x8c\x08\x14\xef\xe4\xbb\x03\x20\x12\xf7\x6b\xc2\xba\x63\xff\xec\xe1\x80\xeb\x50\x99\x49\x1f\x85\x01\x0a\x59\x59\x08\x13\x4a\x00\x53\x25\x50\x38\xc4\x33\xd1\xfe\x49\xfa\x30\xc1\x99\x58\xc9\x3c\x6f\xcc\xe7\xc1\xc3\xb8\x9a\x02\x4f\xa7\xbc\x86\x39\x40\x55\x9c\xda\x01\x17\xd6\x22\x15\xdf\xd1\x7c\x82\xfa\x99\xd6\x67\xe4\xeb\x1d\x56\x69\x1a\xf3\xad\x2e\xdf\xa5\x49\x62\xd2\x67\x64\xd6\x53\x52\x85\x21\xef\xb2\x91\xfb\xfc\x16\xc7\x88\x77\xcf\x84\x21\xc1\xfe\x7f\x1e\x2b\xaf\x40\xd1\x73\x47\x09\x40\x81\x78\x59\x41\xd7\x1a\x67\xad\x42\x7f\x3b\x30\x8b\x44\xf2\x51\xec\x25\x71\x31\x60\x96\x76\xd3\x0e\xc2\x91\x9b\xd2\x5b\x4c\xdc\x31\xbe\x76\x91\x1b\x40\x40\x42\xe8\xbb\x14\xbb\x01\xbe\x82\x2e\x88\xa2\xb8\xbb\xbd\xf1\xe4\xc9\x93\x3b\xa8\x99\x15\xe7\xaa\x57\x97\xd1\xa9\x40\x72\xb5\x07\x49\x72\xd6\xaf\x8d\x46\x4f\x92\x68\x82\xea\xfc\xe9\x89\x37\xcb\xc9\x7a\x1d\xed\x61\x7a\x13\x3d\x54\xb4\x9d\x1f\x86\xad\x8c\xb1\x89\xa7\x8e\x67\xbf\x1f\xaf\x1f\x81\xfc\x5b\x28\x15\x7a\x52\xd1\x3c\x67\x67\xef\x9b\x55\x6a\xa5\xa5\x91\x26\x90\x82\x59\xda\x73\xe1\x49\xd7\xf2\xf2\xca\x72\x41\xe1\x4d\x98\xa2\xbe\x67\x44\xa0\x26\xb1\x4a\xfc\xcb\x96\xc6\x29\x35\x78\x6c\xcf\x47\x70\x72\xae\x40\x1e\x96\x00\xb8\xe3\x32\xe3\xba\x14\x5b\x3e\x8a\xa3\x00\x4c\x19\xe3\xed\xd4\xa3\x47\x3d\x97\xac\x8a\x06\xe0\xa5\x22\xc6\x62\x88\x48\x4c\xd5\xe0\x16\x9b\xd0\x8c\xb0\xc0\x2a\x31\x2f\xe0\x04\x86\xa2\x2b\x18\x4c\x9d\xf4\x71\x07\x92\x84\x39\xf0\xcb\x85\x14\xf3\x18\x33\x12\x26\x38\x14\x27\x56\x93\x88\x4e\x5d\x14\x32\x85\xd9\xa6\x24\xa9\xbf\x48\x9a\x47\x9a\xbc\xf3\x52\xeb\xe9\xc2\xe0\xbb\x4c\x0b\xca\x98\x62\xd6\x5d\xd3\x04\x78\xcd\x43\x73\x31\xb1\x26\x98\x40\x8b\xa9\x65\xd6\x08\x52\x11\x46\xca\xc4\x0d\xe8\x3b\x16\x81\x43\x48\x54\x8a\x35\x0d\x40\x8f\x1a\xc7\x7b\x76\x65\x9f\xae\xec\xb3\x36\xfe\x33\x95\xb4\xab\x03\x41\x1b\x50\xd3\xf2\xd9\xcb\x3d\x26\xb4\x67\xeb\x22\xa7\x51\xef\xe5\x8f\xad\x17\x54\xd7\x9c\xd2\x1b\x05\x09\x01\x01\xfa\xac\xb2\xd1\x7a\x14\xa4\xac\xcb\x76\xec\xb1\x1f\x77\xf9\x73\x9f\xf2\x6f\x56\xd4\x8d\x29\x08\x7d\x10\x60\x2e\xe7\x98\x1e\x30\x72\xd4\x7b\x36\x59\xa4\x0a\x6b\x9c\x8b\x70\xe1\x08\x13\x53\x21\x63\x16\x3d\x7d\x73\x47\xf1\x57\xe9\xb6\x2b\xd1\x9a\x33\x56\xb0\xd6\x7a\xf3\xcb\xde\x9f\x09\x7a\x86\x2a\x9e\xfe\x36\x64\x65\x2b\x46\x7f\xda\x73\x3c\x78\x94\x33\xbd\x94\x2d\x2d\x77\xf5\x20\x96\x80\xbf\xca\x8d\xed\x82\x28\x5a\xf7\xcd\x8d\xfd\xdf\x3f\xfc\xf6\x61\xbf\xea\x19\xbe\xbc\x5f\x51\x6a\xaa\x20\x8a\x02\x24\xe4\x4c\x61\x0e\x4b\x7f\x5d\x94\xbc\x89\x4a\x29\xce\xf6\xfe\x5c\xcb\xd5\x96\x5a\x44\x85\xf7\xc3\xe6\x17\x58\x09\x0c\xe9\x09\x63\x96\x42\xf7\xbf\x70\x6a\xc4\xa8\x0e\x88\xa2\x0e\x8f\x36\x49\xa5\xdc\xa5\x77\xaf\x42\xd8\x84\x91\x6b\x65\xc3\x88\x30\x53\x46\xe3\x63\xed\xef\x0e\x81\x22\x1a\x75\xf5\xeb\x2b\x8e\x94\x0e\x78\x2e\x0f\xf9\x76\x95\xa3\x37\x75\x75\x2c\xd3\x28\x53\xa8\xe8\x5e\x13\x10\x45\x46\xa3\x58\x95\x7f\xb8\x11\xba\x9a\xa5\xce\xf2\xeb\x0d\x12\xb2\xec\x10\xe7\x05\xfd\xd8\xd6\x8e\x46\x0a\x6a\x05\x7c\xb5\x43\x69\xc1\xe9\x35\xa2\xde\x18\x92\x33\xbe\x65\x27\xb2\xab\xb0\x59\xf5\xd7\x72\xc0\x0b\x93\x05\x4d\x33\x49\xa2\x58\xb4\x43\xe1\xe8\x7d\x1a\x6f\x52\x30\x1c\x19\x00\x9d\x8e\xea\xc6\xaa\xb9\x8b\x42\x9f\x81\xcb\xf0\x30\x78\x59\xd7\x78\x54\x7c\x4a\x59\xf7\x87\xc9\xfb\x8e\xb3\xdc\x61\xff\xfd\x5f\x35\xde\x8e\xc7\xa9\xce\xcb\x10\x37\x9b\x64\x16\x54\xd3\xd0\x1f\x5c\x36\x43\x36\x37\x90\xe5\x40\x06\xc4\xa5\xa4\x0a\x53\xa0\x81\xea\x3d\xd1\xb0\x25\x2a\x87\x07\xc8\x5a\x4f\xb5\x5a\xea\x7e\x2b\x93\x83\x94\x8d\xb0\x7c\x44\x73\x16\xc6\xcc\x45\x96\xee\x47\x0e\xef\xcd\xb4\xdc\x84\x56\xa9\xc1\x51\xb3\x6c\x9a\x26\x54\x35\x85\x7c\xc4\xa3\x6c\x67\x5a\x9c\x51\xfd\xad\x90\x66\xcb\x16\xd5\x9c\x09\x9d\x69\x48\x2e\x49\x42\x77\x8c\x4a\xd1\xac\xa6\x9d\x91\x53\x91\xa1\x90\xb9\x45\xc9\x22\x8d\x36\x1b\x76\xc1\x7c\xac\x72\x8a\x23\x96\xb6\x59\x5d\x87\x53\x77\xfc\xb9\x8e\xc2\xbf\xcb\x74\xf0\xd9\x68\x3c\x7b\x73\x31\x42\xd2\xa0\xe3\xf7\x6a\xd5\x33\x06\x06\x37\xbd\x31\xda\x54\x41\xab\x52\xd1\x72\xbd\x99\x94\x34\xbd\xcc\x34\xeb\x26\x9b\x3a\x37\x14\x39\xa4\x0a\x31\xb9\x34\xad\x0f\x44\x44\xaa\xa3\x81\x56\x5c\xee\x11\x8d\xbf\x37\x08\x27\xd1\xbc\xc0\xd5\x8d\x2d\x66\x52\x98\xaf\x57\x55\xa7\x28\xd6\x17\x6c\x4c\xf5\x36\x15\x83\x11\xa6\x6c\x37\x8b\x67\x18\xce\x8a\xb2\x92\xe6\xa2\xdf\xa9\x94\x51\x33\x42\xdb\x50\x2a\x10\xd4\xb5\xa1\x9b\xe2\x51\x66\xea\xa7\x60\xe0\x1a\xdd\x71\x49\x54\x71\x37\xd9\xc8\xe2\x42\x70\x95\x5b\xe3\x7c\x46\xf6\xbb\xc3\x57\x91\xc2\xef\x02\xb4\x63\x30\x99\x54\xd8\x32\x2b\x40\x9b\x06\xbd\x7f\x5b\xa8\x66\x7c\xf3\xbb\x80\xeb\x28\xc0\x03\x38\x0f\x58\x35\xfe\xfe\x6d\x01\x1b\xe0\xd1\xf7\x02\x54\x9c\x50\xc1\x35\x9a\x83\x95\xaf\xee\xdb\xe3\xaa\x50\x06\xbf\x17\xb8\x0e\xf0\xcd\x7c\xa8\xaa\x96\xf7\xad\x01\x0b\x6f\xa0\xf7\x9d\xc0\x54\xdd\x87\x76\x63\x8f\x40\x18\xce\x03\x5f\xbe\xca\xc5\xbc\xe8\x05\xd5\x4c\xbf\x68\xf0\xb8\xc9\x75\xf3\x9c\x71\xbb\xce\x9c\x0d\x42\x19\x5c\xe5\xc2\x3f\x4b\xf6\xec\xa2\x2a\xcc\x3f\xe6\x0d\xe0\x54\x0b\x7a\x46\xb1\x4b\xe0\x04\x53\xe8\x26\x51\x04\x06\x7c\x10\x11\xb6\x25\x15\xc4\x6e\x12\x31\xcd\x81\x0b\xf8\x4a\xb6\x73\x13\x12\x18\x8c\xd6\x55\x97\x34\x53\x9b\xf8\xb2\x6d\xa0\x5d\x86\x97\x2b\xb6\x83\x76\x85\x91\x6e\xcd\xad\xa1\x57\x67\x11\x79\xf2\xec\xe8\xf5\xdc\xb7\x2c\x9e\x89\xd5\xd9\xd6\x95\x9d\x9e\xd6\x18\xfe\x99\x40\xfe\xc2\x7a\x39\x3a\x34\x6f\x1b\xdf\x2e\x1b\x45\xb9\x79\x80\x5f\x31\xdf\x93\xf7\xf5\x52\x42\xa0\x07\x99\x16\xbd\x9b\x3a\x71\x52\x17\xfd\xb8\x15\x26\x9d\x8b\x52\x74\xcd\xf3\xe4\x14\x40\xb3\x69\x18\x3c\xd0\x65\xd3\x98\xde\xb9\xb9\x53\x03\xd9\xa8\xbb\x5a\x98\xe9\xf2\x23\x82\x7c\x8b\xfd\xc7\x75\xf1\x15\x24\x57\x08\x5e\xbb\x14\x4d\xa0\xd2\xbc\x2a\xc3\xe3\x74\x53\x14\x8a\x0f\x6f\x22\x10\xfa\xfc\x5c\x5e\x38\xe7\x9c\x24\x88\xa5\xb2\xf3\x2e\x8c\x52\x03\xec\x4f\xd3\x15\x1b\xec\x4d\xea\x9e\xbf\x9a\x46\x47\x35\xd5\x08\x6f\xba\x25\x33\xe3\x40\x94\xeb\x2d\xdd\xa4\x33\x19\x0d\x2b\x76\xd8\x91\x08\x35\x8f\x0e\x49\xab\x2d\x74\x5a\xa5\xb1\x54\x33\xed\xd8\xc3\x3c\xf6\x28\x1f\x43\xd0\x64\xe1\x31\x05\x34\x89\xab\xee\xd5\x18\xc6\xac\x0a\xe5\x2f\x02\xe8\xa9\x06\x20\x99\xc1\x27\x33\x56\xf5\x8c\x78\x54\x61\xde\x9b\x59\x50\x1d\xeb\x6c\x0a\x0e\xd6\x6c\x5f\x19\xf2\x55\x99\xbc\x56\x86\x79\x6a\xe8\xa6\x98\x57\x69\x87\x4b\xe3\x53\x0c\x8b\xaa\x8e\x08\x99\xc1\xa7\x2b\xcd\x06\xbd\x02\x30\xf3\x50\x52\x93\x6a\x0c\x0e\x4e\xbc\xb8\x4c\xdc\x0c\x0e\x15\x36\x9c\xff\xc4\x83\x57\xbe\x0e\x03\xf9\xa1\x21\xb5\x2a\x78\xd0\x75\x6c\x35\x0a\x1c\x1e\x0e\x3d\x40\xb9\xed\x90\xfd\x57\x5c\x98\x02\x21\x0c\x32\x89\x43\x09\x0a\x42\xef\x17\x01\x93\x52\xd2\x63\x4d\xc4\xa9\xe3\x6e\x16\x42\xdd\x09\xa4\xc0\xa5\x52\xd0\x48\x47\x77\x65\xa5\xd4\x66\xaf\xb8\xae\x10\x78\xd2\x6d\xd6\x9b\x08\xed\xe2\xae\xe2\x83\x18\xe8\xdb\x08\x11\x6b\xff\xf0\xc6\xe9\x6f\xfe\xfb\xe3\x37\x8f\xaa\x1e\xde\xc8\x07\x9a\x3f\x33\xdb\x22\x0a\x64\x47\xcf\x0f\x50\xe4\xf9\xbd\x9c\x28\x1f\x40\xd7\x55\x24\xc3\x0d\x50\x4c\x6b\xe3\x4b\x0a\x61\xcd\x1e\x0e\x46\x04\x27\xe5\xbc\x08\x85\x4a\x76\xe6\x32\x72\x7b\xdd\x9d\xac\xba\x31\x82\xab\xdc\x66\xf3\xaf\x6f\x63\x60\x0c\x19\x93\x84\xc0\xcc\xb3\x66\xf2\xda\x02\x9f\xcd\x33\xd5\xad\x3c\x11\x8b\x3b\x7c\xbb\x3a\x04\x5f\x67\x01\xff\x35\x3c\x75\x91\xbe\x9b\xf0\xea\x45\xfa\xcd\x8c\x93\xcb\xef\x3b\x22\xf8\x0a\xcd\x80\x46\xd5\xee\x55\x6c\xa8\xe2\x29\xd5\xa1\xa3\x3b\x9a\x44\xbf\x53\x76\x0a\x95\x3c\x6e\x36\x62\x12\x74\xc9\x63\x51\x16\x01\x14\x05\xfe\x79\x02\x84\xb3\xf2\x40\x07\x9d\x14\x6d\x4a\xb7\xd0\xd2\xa1\xb3\xda\x6f\x01\x22\xb1\x52\x02\x7a\x66\xfd\xc2\xe4\xbe\xeb\x35\x71\x73\xce\xf2\xc9\x94\xa5\xd8\xf9\xc3\x27\x67\x6c\xbb\x16\xc9\xd5\x61\x5c\xca\xdd\xac\x46\x80\xbb\x77\xde\xab\x09\xea\x2e\x4b\xa3\x55\x21\x8f\x6a\x73\x97\x10\xf3\xa8\x82\x58\xca\xde\x9e\xac\xa4\x69\xd4\xa3\xbd\x10\x48\xb6\xaa\xaf\xca\xd7\x7a\x95\x0c\x19\x21\x66\xa5\x84\xc8\x24\x27\xb5\xb8\x6a\x33\x8d\x92\x72\x68\x65\x90\x20\x88\x22\x17\x51\x38\x49\xa5\x1d\x11\x0b\x53\x1f\x1a\xb8\x12\x2b\x8a\x14\x50\x56\x2e\x07\xe5\xfd\x5f\x6b\x2d\x0c\x75\x87\x28\x3a\xd8\x7b\xff\xa1\x91\x30\x74\x50\xe3\xf3\x2a\x5a\x4a\x7a\xdf\x38\xf0\x2a\x4f\x0c\x95\x95\x62\x87\x8d\xbf\x93\xf1\x91\xed\x4c\x87\x57\x93\xd3\xfa\x7f\x36\x7d\x01\xc3\x54\x55\xc8\x98\x89\x66\xe6\x98\xc0\x30\x71\xaf\x11\x1d\xbb\x5c\x3f\xe0\x27\xad\xe2\x92\x99\x1e\x97\x51\x3f\x90\x29\x60\xc2\x4e\x34\x51\x29\x46\x3e\x1c\x00\x62\x09\x81\xb1\x8e\x51\x3e\xd2\x18\xe5\x23\x6d\x0b\x66\xae\x32\x5b\x6c\x5a\xf8\xea\x80\xf3\xd0\x19\xbd\xf7\x0a\x01\x18\x95\xbc\x58\x8b\xeb\x78\xac\xcd\x0c\xc5\xa7\x63\x1e\x10\x70\x00\x63\x4a\xf0\x54\x84\x5c\x17\xd1\x68\x8b\x71\x54\x2a\x83\xf0\xb7\x6b\xe2\x6b\xca\xec\x5e\x37\xec\x68\x82\x91\x63\xff\x2c\xec\xbd\x8a\xcf\x6f\x65\xbc\x3b\x1f\x50\xb2\x51\x13\x7a\xa3\x70\x6f\x4b\xfb\x5b\x63\xe9\xda\x9a\xb7\xb5\x35\x8f\x41\xfc\x1a\x13\x98\x3b\x4f\xe5\xe8\xa2\x4a\xe8\xcc\x58\xbe\xc2\xa0\x00\x65\x18\xe4\xab\xe6\xae\xb6\x36\x77\x88\x02\x53\xba\xa8\x72\x57\xd5\x49\x26\x0c\xc6\x0c\x6e\x7e\x15\x77\xf9\xf9\xbd\x7c\xdb\x0b\xf8\x15\xeb\x34\xf5\xca\x18\x5f\x1b\x97\xc3\x03\xf9\xf0\x24\x92\x56\x51\xed\xea\x22\xe3\xe0\x8e\x3d\x1a\xe3\xb8\xd9\x2d\xfc\x32\x9b\xe5\x73\x17\x7c\x36\x47\x51\xc4\xd5\x90\x4f\x7e\x36\x9f\x8a\x10\xb5\x3a\x8e\x6e\x10\xdb\xcc\x21\x6c\x95\xd5\x2a\xe2\xb3\x9a\x45\x6e\xe4\xf6\xaa\xf2\x46\x8c\xb6\x6c\xfd\x52\x8c\x78\xf3\x1b\xc5\x16\x88\x22\x6b\x0a\xcd\x17\x38\x9a\x07\xfc\xc8\x48\x1e\xd3\x85\x95\xc2\xda\xb6\x1b\x48\x70\xa9\xb5\xa5\x71\xcc\x4e\xbd\x18\x27\xfb\x33\xc9\x71\x5a\x91\xd9\x52\x59\xbd\xf5\x33\xae\xb1\xd4\x3a\xd6\xaa\xe2\x1c\x73\x39\x54\x04\xab\xa9\xd0\x78\x75\xc9\xee\x51\x13\x17\x9c\x01\x0d\xcd\x78\xb9\x29\x26\x68\xa3\xf8\x0d\xa6\x27\x92\xe1\xbe\x05\x23\x26\xa0\x09\x43\x84\x63\xe7\x54\x4d\xa3\x98\x28\x6c\x6a\xa9\x23\x4f\x73\xee\x99\xe5\x45\x6e\x7d\x4b\x85\xc6\x1c\xc5\x2e\xa5\x5a\x90\xe9\x1c\xfe\x2a\x79\x52\xa7\x24\xdf\x50\xa8\xcc\x01\x65\xbd\xe5\xcb\xd7\x7e\xfc\x36\x08\xbb\x1b\x73\xbb\xec\x0e\xf4\x7d\x9f\xcf\x6f\x67\xe7\x19\xef\xb7\xbf\x02\xb0\x98\xdf\x2f\xb7\xa9\x8b\x39\xff\x72\x54\x43\x26\x76\x34\x59\x0c\x0b\xe6\xcb\x88\x40\x1e\xfe\xa6\x4e\xf3\x3b\xf5\x06\x5a\x59\xae\xd0\xd2\x0f\x6c\x3e\x72\x1e\x39\x45\x69\xb0\xba\x3b\x4d\x3e\xaa\xcd\xcb\x9c\x7e\x29\xde\x0e\x6b\xc4\x04\x35\x48\x6c\x96\xcd\x0f\x8f\xe7\x98\xe5\x4c\x39\xa7\x2e\xd3\x54\xf9\x8e\x78\xb5\x7b\xac\x99\xef\xa6\x38\xfa\xd3\xbb\x79\x78\x2b\x0c\x72\x2b\x76\xfb\xe6\x42\xde\x17\xf7\xbe\x09\xa9\xf2\x6e\x8e\xdf\x4a\xd7\xd3\x4c\xdf\xaf\x6e\x21\x9c\x4b\x20\xa9\x75\x01\xcf\xef\x04\xae\x85\x42\x53\x2f\x70\x63\x3f\xb0\x51\x2c\x35\xba\x82\x37\x6b\x5d\xc1\x35\xce\xe0\x5a\x3f\x71\x75\x26\xb2\x05\x5d\xc2\xdf\x08\x2f\xe7\x77\x0b\x57\x0a\xc9\x8b\x38\x86\x17\x74\x0d\xeb\x06\x1d\x45\x50\x38\x46\x9d\x70\x07\x27\xc3\x49\x15\xa2\x77\x24\x9d\x58\x85\x2b\x23\xa9\x4f\xb4\xb2\xc5\x45\xc1\x28\xb0\xa9\x5b\x14\xf2\x97\x3c\xb6\xf4\x2f\x0d\x6f\xd5\x34\x74\x5d\x6b\x7b\x66\xe0\xe9\x33\xbd\xd8\x1a\xb2\xf5\x2a\xb3\x0a\x95\xe6\xf8\x38\xa7\xfa\xa4\xa1\x9c\xe5\x88\x45\xc7\xfe\xf9\x1a\xd1\xf1\x6b\x40\x46\x48\x8b\xb5\xb8\xb3\xa8\x92\x01\xfd\x49\x05\xcf\x90\x40\x66\x7a\x97\xc0\x7d\x0f\xa4\x09\x5c\x2a\x14\xee\x92\xca\x3d\x03\xb4\xd9\x47\xe1\x2b\x77\xf5\x21\xec\x31\x9d\x04\xa7\x60\x08\x95\xfa\x6f\x56\xbd\x9a\x62\x78\x7e\xab\xb6\x56\xb0\x55\x99\x15\x69\xee\x1b\x9d\xe6\xdd\xd0\x0e\x92\xc9\x95\xb4\x92\x2d\x51\xa1\x8f\xb9\xfd\x70\x23\x02\x87\xe8\x66\xde\x6d\xc9\x81\xf1\x69\x65\x58\xae\xdd\x3c\x34\xdf\x36\x11\x99\xa2\x84\x3c\xdb\x30\x64\x69\x5c\x6f\x90\x99\xc8\x06\xc0\x1f\x41\x8b\xff\xd7\x75\x51\x38\xc4\xea\x6f\xf9\x0e\x8d\xce\x1e\xaf\x24\x58\xeb\xb7\xaa\x9a\xe9\xd6\xdb\x13\x9a\x93\xed\x46\x75\x99\xc8\xed\x6c\x55\x05\x4c\x2f\x85\x5e\x2e\x12\xf0\xd3\xdb\x58\x72\xc0\x8f\x31\x2a\xb9\x57\x9b\xcf\xa0\x22\x60\x28\x5b\xd9\x89\x76\xe4\xe5\x2e\x9f\x68\xc1\xe9\xf5\xd1\x44\xdc\xd4\xa1\x45\x30\xe7\x02\x8a\x8a\x29\xa4\x60\x38\xc4\xc4\x83\x6e\x44\x30\xc5\x1e\x66\xd3\x08\xf0\x35\x24\x9e\x40\xac\x7c\x70\xb3\x8a\x46\xd2\x11\xef\xee\xe1\x48\x39\x5b\x8b\x16\x8e\xa4\x45\x45\xa5\xa4\x22\xed\x4f\x99\x6d\xb2\x48\xe8\x42\xf4\xd2\x37\x30\xbe\x68\x7f\xff\x45\x76\x98\xae\x46\xcc\xd7\xda\x20\x93\xfc\xf6\xcb\xdb\x9b\xa3\xc7\x97\xf3\x1a\x64\xd4\xb9\x54\x57\xe1\x6d\xeb\xab\x75\x52\xbe\xa6\x61\x8c\xa0\x7e\x92\x4b\x56\x5f\xcc\x4f\x60\x8c\xad\x0e\x00\x15\x49\xdc\x9b\xdc\x9c\x28\x29\xa8\xf3\x25\xaa\xcf\xaf\xcc\xa4\x16\x57\x67\x95\xcc\x71\x93\xcd\x72\xa7\x22\x8d\x6e\x55\xa7\xcb\xb8\xcc\x5e\xe5\x52\xa8\xba\x0d\xba\x6d\x10\x68\xaa\x55\xb7\x26\xd7\x35\x52\x7a\x97\xbf\xa3\xc1\xf3\x00\x0d\x31\x71\xf5\xe3\xaf\x46\x74\x7d\x48\x01\x0a\x56\x46\x06\xd2\xf3\xb8\x72\x7a\x20\x6f\x0c\xad\xf5\xa1\x1f\xff\xf6\xfe\xcf\xb7\xfe\x93\xe3\x46\x5e\xfe\x43\xd3\xe5\xa0\xfc\x85\x62\xa3\x47\x35\xcf\xbf\xb5\x2c\x04\xdc\x31\x24\xd6\x9a\xe3\xad\x46\xfe\xde\x04\xe1\xc4\xf5\xa5\x3b\x63\x0e\xeb\x66\xe5\xe8\x21\x2f\x3f\xae\x35\x7a\x1c\x1d\x6c\xfa\x6f\x0f\xfe\xb8\x6a\x84\x1e\x47\xa6\xfb\x8e\x95\xe8\x41\xe0\x9f\x79\xac\xf8\x33\x81\x71\x45\x36\xc5\xda\x28\xee\x2a\xe7\x12\x1e\xb9\x31\x25\x10\x4c\x96\x80\x10\x42\x8a\x5d\x31\x42\x7c\x27\x6f\x83\xe3\x63\xe8\x6d\x3c\xf7\xe6\x77\xdc\x9c\xa4\x22\xe9\x62\xb7\xad\x56\xe0\xb8\xa9\x4a\xa1\xb4\xa8\xa7\xa6\xa4\x8e\x36\x72\xd3\xd8\xf9\x24\x40\xe2\xe5\xb5\xd3\x31\xbe\x7e\x77\x72\x54\x67\x9c\xac\x77\xb6\x24\x4d\x9c\x2b\x32\x87\xff\x5d\x5d\x2b\xcd\x1c\x2b\xc5\x19\xcd\x78\xe9\x62\x39\x6e\x94\xa6\xea\xf2\xca\x5d\x1c\x4f\x97\x63\x49\xde\x58\xe6\xd5\x36\xc3\xf5\xa2\x1a\xff\x86\x3a\xc0\x4d\xcc\x29\x8d\x5c\x1b\x73\x3b\x36\xea\x16\xbf\xb2\xeb\x6d\x39\x27\xd0\x9c\x4e\x8d\x1a\xbf\xc5\xb7\xbe\xdf\xb6\x3a\xfc\xbb\xd3\x05\xb7\xad\xbf\xe2\x82\x5b\x19\x7e\xb5\x2e\x09\x73\xbe\xac\x32\x68\x9b\x5a\xca\x32\x18\x16\x19\x50\x43\x5b\x59\x4d\xb8\x54\xc9\x10\x7d\xd1\xdc\x53\x33\x3f\xbb\x6c\x64\x6d\xb6\xab\x0e\x71\x79\xf5\x0b\x9b\xfb\xe7\x39\x38\x06\x17\xc0\x72\x77\x73\xa1\x5b\x8e\x3b\x2b\x33\x7a\x9a\x63\xfd\x97\x96\x94\xe1\x1b\x58\x35\x97\x61\xc3\xd4\xd2\x7c\x65\x06\xcc\xb2\xd5\xf2\x1b\xd9\x28\x97\xf6\xbe\x76\xb3\x71\xbe\x1b\x2b\xe4\x73\x8f\xf4\xf6\xba\x97\x8f\xfe\xb6\x42\xfe\x6d\x85\xfc\x97\xb0\x42\x16\x0f\xe0\xb7\x3a\xf1\x6b\x6f\x5b\x7a\x9d\xbc\x7a\x88\x1f\x6d\x35\x3a\xe9\x4a\xf5\x98\x79\xdf\x5a\x4b\x4b\xfa\xf7\x8d\xeb\x7f\x85\x1b\xd7\x6a\x43\x57\x73\xe7\xba\xd0\xfb\x12\x6f\x5d\x17\x7a\x5e\xf2\xbd\xeb\x42\xef\x6b\x75\xf3\x5a\xcf\x0c\x6c\xbe\xef\x35\xf3\xee\x75\x26\xaa\xcd\x7f\xfb\x5a\xb6\xfd\x97\xbe\x7f\x5d\xd8\xfe\x65\xdf\xc0\x9e\xd5\xfd\x72\xee\x60\xcf\x9d\x76\x37\xa3\x5c\xe5\xeb\x3b\x8b\xe6\x35\x9e\xf7\x26\xf6\x2c\xd0\x2c\x70\x17\x3b\x17\x5f\x92\xcd\x75\x29\x17\xab\x33\x18\xcf\xbe\x5a\xbd\x34\x51\xe7\x5b\x78\x4a\xb2\x24\x97\x6b\x2d\xe3\x0c\xa6\x37\xbf\xfe\xf2\xfa\xdd\xa8\xa1\x8c\x53\x95\xdb\xb2\x24\xe4\x64\x46\x9e\xb2\x61\xca\xac\xd1\xe8\x89\x33\xcf\xcb\x1d\xd5\xa6\x90\x2f\x74\xdb\xf4\xea\x61\x35\xa9\xd9\xd6\xce\x53\xce\xf2\xb3\x24\x52\x36\x47\xff\xb3\x69\x59\x93\x27\xb4\xbe\x49\x3e\x89\x8a\xec\xe1\xcd\x48\xd8\x1c\x20\xb9\x1b\x0d\xab\xa3\x5c\x05\x6b\x0b\xf7\x36\x85\x3e\x7f\x69\x3b\x4f\x99\xe8\x4a\xa8\x53\x6a\x62\x5d\x2d\x79\x5a\x7b\xaa\xf4\xfa\xc3\xab\xd7\xc9\xd1\x8b\xdf\xe7\x79\x3b\x28\xb5\x3e\x34\x74\xef\xe7\xde\x99\xc9\x5e\x2d\x5c\x37\x1b\x89\x5a\xaa\xfe\x9e\x84\x96\x9f\xb7\x6c\xfe\xcf\x67\xef\xad\x3a\x27\x95\xcf\xf3\x6e\x5d\x34\x7d\x9e\x37\xf5\xc6\xcd\x78\xa7\x57\xd9\xe7\x63\xf1\x3a\x5d\x6c\x17\x81\x21\x6f\xc7\x37\x7f\xbd\x77\xfb\x62\xce\xd7\x7b\xd3\xa1\xcd\x2f\xf8\xbe\x06\x21\x18\x41\x4b\xd5\x9a\x45\x4a\x8a\xb8\x35\x23\xcb\x84\x71\xc7\x4a\xaa\x47\x68\x7e\x3a\xf4\xf1\x1c\xac\xac\x9c\x33\x62\xee\x70\x75\x3b\xd5\x41\x14\xa2\xce\x60\x15\xa5\x53\xd1\xe4\xe5\xd0\xa7\x85\x63\x68\x17\x9f\x7a\xaa\xf0\xa3\x2d\xe5\xe9\xd0\x5e\xdd\x29\xac\x50\x3a\x1b\x5e\x39\xac\xc4\x9a\xde\x45\xe9\xc6\xd0\xa6\x6e\x1e\xd6\x0f\xb7\xc8\xec\xf1\x2a\x44\xf4\x17\x3c\x90\xbe\x04\x7e\x4a\x36\x52\xb8\xcc\xd5\x6c\x73\xb1\x66\xbd\xc5\x9a\x6d\x2d\xd6\x6c\xa7\x70\x1a\x4c\x3e\xcc\x39\x32\x4a\xd8\x66\xdf\x63\xf6\x14\x65\x8d\x63\xbc\x56\x65\xd6\x77\xb0\xd1\xc2\xb6\x97\xbf\xa2\x9d\xa5\xae\xe8\xae\x93\xaa\x4b\xdb\xa1\x53\x3d\x0b\x85\x22\x57\x87\x7a\x60\xb6\x2a\x5f\x87\xa9\x53\x53\xb6\x0e\xad\x73\xa7\x90\xab\xc3\xce\xbd\x9e\x3a\x53\x36\x9e\xef\x79\xd9\x7a\xe1\x78\xfe\x07\x66\xeb\xee\xd3\x34\xc8\xce\xb1\xac\x67\x66\xd5\xab\xf2\x7f\xed\x33\xb3\x33\xa8\x6a\xf1\x39\x21\x83\xd3\xf8\xe9\x02\x77\x66\x18\xe3\xab\xd0\x0a\x1a\xbf\x45\x9b\x77\x07\x2f\xf8\xe6\x2c\xd7\x41\xf8\x65\x15\xee\xa0\xce\xab\x1c\xe9\x8b\x00\x21\xe2\x8f\x90\x85\xc2\xe5\x9f\xfb\x0c\x09\xe1\xcd\xeb\x9f\xab\x5d\x91\xcb\x78\xb5\x7a\x8b\x26\x3e\xae\xb5\xee\xb2\xf1\x61\x30\xfc\xc3\x7f\x46\x9b\x3c\x6a\x5b\xd2\x43\x74\x41\x75\x45\x9a\x88\xfd\x56\x12\xe0\xd3\x74\xac\x06\xf9\x74\xaa\xdd\xa1\xcd\xde\xb6\xb7\x4b\x2e\x2e\x9b\x60\x61\x24\x04\x83\x0a\xd5\xa2\xa1\x3e\xd1\x61\x52\x63\x8c\xf8\xb6\xa7\x21\xaa\xea\x68\xd7\x8b\xb1\x2f\x10\xb5\x4e\xb2\xd6\x46\xd2\xb3\xba\x79\xa3\x30\x4a\xa8\xcb\xb5\xa7\x41\x00\xe3\x79\x27\xff\x8a\x35\xb7\x7e\x4f\x9b\x7f\xe3\xd9\x7b\x38\x1c\xa2\xd1\xe2\xd3\xdf\xe7\xed\xeb\xe6\x5f\xad\x70\x3d\xd2\x53\xd3\x35\x24\xf7\x05\x02\x9f\xd1\xf4\x8a\x47\x51\x96\x4f\x22\x53\xd0\x7d\x0b\x32\xd9\x35\xec\xcf\x5a\xd3\x4d\x6f\xf4\x7b\xf2\xf9\xfd\xe8\x69\x53\xba\x99\x2e\x4c\x5a\x40\x8a\xb2\xb0\x8e\x89\xf9\xba\x17\x59\x06\x4d\xed\x9d\x54\xa3\x75\x39\xc3\x19\xc9\x65\x8b\x50\xed\x4a\xb7\xfc\x32\xf0\xa2\xb4\x65\xdf\x06\x51\xca\x64\x68\xad\xf1\xe4\x8f\xa3\x77\x51\xf7\xc3\x7f\x3c\x6b\x8a\x27\x95\x68\xd1\x78\xcf\x0b\x00\x5a\xea\x96\x17\xfa\x6e\xb6\xe3\xf7\xee\xb8\xe3\x39\x86\xb9\xd6\x9b\xfd\xd9\x3b\x78\x13\x6d\x1f\x4f\x56\xb0\xd9\xe5\xfd\x06\x51\xe4\x0e\x31\x99\x28\x80\xb9\x19\x9c\x5c\x4d\x30\x5b\xca\xbe\x67\x5d\x2f\xf1\x90\xaf\xfd\xd9\x7d\xfd\xf8\xf9\xab\xcb\xb3\xb7\x7f\x54\xd8\xf5\x37\x1c\x1b\xc4\xc8\x2f\x8b\xb2\xb9\xcd\x3e\x9f\x91\x85\xad\x89\x5c\xc3\x2f\x73\x4a\x81\x64\xa6\xd1\x59\x8b\xa4\x56\xaf\xd0\xa5\x1d\x7d\x52\x61\x78\x25\x1f\x9d\xf9\x42\xc4\xe6\x56\x1e\xe7\x32\x79\x63\x3e\x92\xb2\x30\x6f\x48\x28\x0a\xe2\xae\xd8\x24\x57\xbd\xc3\x97\xc7\x1b\xa6\x2b\x4e\x6c\xa7\xd8\x26\x7d\xb4\x8f\x8e\x21\x57\x57\x72\x58\xe4\x84\x0b\xe1\x91\xc2\x16\xd1\x75\x3f\xeb\xb1\xfd\x25\x80\xd4\x42\xfd\x2f\x43\x1c\xd2\xe7\x60\x82\x82\xe9\xae\x9d\x20\x77\x82\x43\xcc\x21\xe0\xbc\x86\x61\x80\x9d\xf4\xb7\xed\xb0\x9a\xef\x21\x53\xc3\x77\xed\xed\x8d\x0d\xdb\x09\x50\x08\x5f\x8a\x0f\x9b\x9d\x6d\x5e\x7e\x8a\x3e\xc3\xdd\xcd\x9e\x56\xf7\x19\x0e\xfc\x5d\xfb\x31\xab\xcf\x17\xb6\x1b\x2a\x08\x76\xb8\x4a\x7f\x7b\xef\x1a\x85\x3e\xbe\xee\xf0\x40\x9f\xd7\xd0\x47\xa0\x65\xb7\x22\x6e\x47\x89\x5d\x0f\x07\x98\xb8\xb1\xc7\x5b\x5a\x3e\x20\x97\x6d\xbb\x2d\xaa\xc2\xf8\xc1\x83\x16\xea\xf0\x4e\xfb\x59\xa7\xbc\xce\x3d\x28\xa4\xff\x03\x14\x33\xba\xef\xff\xd4\x42\x1d\x5f\xfc\x7d\x4a\x7d\x14\xf6\xef\x6f\x38\xa8\xe3\x25\x24\xc6\xe4\x19\xc3\x91\xfe\xfd\xcd\xf4\xc3\x29\x9d\x06\xb0\x6f\x0f\x00\xb1\xd3\x6f\xef\x91\x4f\xc7\x7d\x56\x87\x8f\x97\x8d\x2c\xcb\xfb\xea\xe7\x00\x78\x97\x23\x82\x93\xd0\x6f\xb7\x77\x5b\x85\x31\x36\x1a\x8c\xd1\x6b\xdf\x23\x90\x26\x24\xb4\x42\x78\x6d\xd1\x8e\xda\xbb\x16\x6a\xdf\xd6\x60\x1c\xbc\x81\x9e\x7b\x0d\x07\x31\xf6\x2e\x21\x75\x81\xef\xe3\x30\x8f\x76\x20\x8c\x91\x80\x67\xac\x21\x9f\x1b\x0d\x14\x4a\x8a\x46\x2e\xa0\x54\x58\x57\x0a\x23\x5c\xc2\x29\xa7\x7a\xa3\x00\x4d\x26\x8c\xee\x11\xe0\x5d\x8a\xfb\x0d\x05\x4c\x75\x90\x43\x1c\xdc\xfe\xc2\xa8\x56\xe0\x00\x27\xbe\xa7\xca\xad\x44\xd5\x68\x7f\x09\x1f\x3c\xa8\x42\x68\xea\x7c\x81\x61\x32\x81\x84\x6d\xd8\x6e\xd8\xc9\x7e\x38\x42\x86\x4b\x54\x89\xfe\xd3\xb9\x26\x88\xca\xef\xea\x4f\x47\x9c\x86\xb0\x83\x42\x44\x11\xb7\x2d\x91\x9f\x72\xbf\x3a\x1e\x08\x18\x70\x77\x05\xa9\xbd\x6d\xdf\xa6\x93\xf5\xd4\xc1\x93\x1b\x42\x2d\x14\x5a\xf0\xa7\x9a\x59\xcb\xd1\x1c\x6d\xf6\xf7\x37\xf2\x73\xbe\xbf\x91\xcd\x93\x1d\xd2\x5d\x78\x4e\x2f\xfa\xa1\x03\xb3\x71\xa3\x0c\x8c\x02\x88\xb8\xff\xe5\x56\x61\x85\x1c\x9d\xed\x46\x0b\xb5\x3b\x43\x4c\x0e\x81\x37\x6e\xb5\xf4\xa3\x8d\xcf\xe1\x45\x1f\x9d\xc3\x0b\x86\x30\x58\x03\x5f\xff\xfe\x7d\xfd\xa7\x83\x73\x00\xe4\xa5\x39\x88\xb6\x6c\xbe\x22\x1b\x85\x16\xfe\xfa\x15\xeb\x70\x6b\x3f\x78\xd0\xc2\x29\x9c\xfb\xf7\x37\xda\x0e\xee\x87\x9d\x38\x40\x1e\x6c\xb5\x3b\x04\x5e\x41\x12\x8b\xbf\xfc\xc4\x83\xda\x04\xf9\xee\xcb\xd5\x20\x09\xe2\xaf\x5f\xc3\xdb\xb6\x83\xdb\x0e\x79\xf0\x40\x6c\xc4\xfd\x7e\x3f\x37\x1e\x1f\x8e\xcf\x26\xff\xfd\x27\x5c\xde\x4d\xa2\x76\xd3\xc9\x15\x4a\x6e\xda\x76\xc4\xbf\xfd\xf2\x08\xd5\x5b\x8b\xf9\xf2\x92\x20\x68\x3b\xf8\x76\x01\x42\x7c\x78\x03\xbd\xf7\x70\x70\xca\x8f\xe7\x1e\x3b\x68\x8a\xb7\x7b\x38\x8c\xa9\xe5\xf7\xed\x8f\x03\xeb\xe3\xc0\x76\x86\xfd\xee\xf9\xc7\x9b\x8d\x0d\xf7\xe3\xcd\xe6\xf3\x8b\xee\xe8\x1e\x23\xd4\x83\x7e\x2b\xe8\x7b\x01\x88\x63\x4b\xc4\x4c\xc4\x16\xea\xec\xf1\x93\xca\x3b\xfb\xc2\x7b\x21\x09\x93\x06\x84\xd0\x11\x27\x11\x14\x7f\x3a\x5e\x8b\x8e\x51\xec\xd8\x9f\x04\x71\xb0\x1d\x05\x87\xb4\x20\x97\x79\xa1\x5c\x3c\x40\x3e\x22\xe2\x06\x0e\x63\x66\xe5\xe6\x28\x8e\x70\xac\xd4\x9b\x8b\xac\x04\x86\x1e\xe6\x66\x00\xd5\x24\x91\x05\x19\x67\x04\x0e\xfb\x92\x95\x78\x78\x32\xe1\x39\xa0\x63\x59\xc0\xfe\xdb\x91\x53\xef\x43\xf9\x53\x9f\x70\x9f\xfe\xd4\xd1\x7f\x8b\x2a\xb2\x9f\xbe\x6d\xe7\x7a\xe8\x0c\x50\x08\xc8\xf4\x6c\x1a\xc1\xbe\x48\x50\x34\x48\x86\x43\x36\x45\x51\x2b\xb7\xd4\xfe\xfd\x16\x7d\xf0\xe0\xfe\x66\xbf\xdf\x67\x0d\xb5\x12\x39\x2d\xb9\xbe\x3e\x23\xd5\x67\xf0\x86\x1e\x8a\xdf\xb7\xc0\xa3\xe8\x0a\x50\xc8\x0e\x23\x1a\xf2\x95\x75\xd4\x92\xfb\xd0\xb9\x5f\x5e\x44\x5b\x1e\x08\xd8\xf1\x02\x08\x48\x4b\x22\x29\xe4\x27\x0c\x06\x61\x8b\x76\xa6\x30\x08\xf0\x75\xcb\x7e\xa3\x27\x6c\xb7\xc0\x15\x40\x01\x0f\x08\x6c\xb7\xef\xc9\x7e\xb3\xed\xe8\x44\x49\x3c\x6e\x4d\x5a\x3a\x08\xf8\x15\xa7\xd0\x76\x5a\xad\x76\xff\xc7\x2f\xfa\x08\x03\x1c\xf8\x1d\x6f\x0a\xc2\x96\xbd\x8f\xc3\x90\x2d\x36\x1c\x75\x3a\x1d\xbb\xdd\x36\xc0\xfd\xc1\x03\xd1\x6d\x0c\x43\x9f\xc7\x05\xb4\xca\x75\x1c\x28\x5b\xc6\x90\x26\xd1\x7b\x14\x7a\xe3\x16\x6c\xb7\x19\x5d\x2a\x4e\x6a\x02\xe3\x98\x27\x10\x6f\xa1\xfe\x8f\x5c\x3a\x61\x5c\xd5\x07\x14\x70\xc2\xc2\x0e\xd0\x29\x4f\xe7\x70\x02\xe3\x08\x87\x31\x93\xc4\x62\x48\xc4\xe1\x7d\xc6\x77\xb5\x45\xda\xf7\xd0\xb0\x85\x3b\x63\x10\x1f\x47\x30\x6c\x31\x22\x95\x41\xd4\xbc\xd4\x7f\xca\xa5\x42\x9f\xe7\xbe\x4f\x27\xbf\x6b\xfd\xe3\x4b\x79\x41\xb7\xff\x6c\xb7\xdb\x4e\x8f\xd3\x8e\x11\xa4\x87\x57\x30\xa4\xfb\x80\x11\xba\x07\x0f\xc4\x97\x1b\x44\x5b\x6d\x21\x5e\x85\x7d\xed\xd3\xd7\xaf\x76\x12\x5e\x86\xf8\x3a\xb4\xef\x19\xb6\xf5\x9f\xac\x96\xc5\xd0\x87\x0d\x1c\xb2\x71\x1c\xd3\xee\xab\x8d\x61\xfc\x29\xc0\x31\xf4\xc5\xfe\xdc\xa2\x61\x6b\xb3\x7a\x56\xc7\x09\x8d\x92\x74\x5e\xb4\x9f\xfb\xf8\x13\xfb\x71\x00\x28\xf8\x04\xe2\x77\x4f\x5a\x6d\x35\xbd\x16\x6d\xdf\x6e\x18\xfb\x9c\x67\x62\x86\xad\xe6\xe5\x86\x8d\x66\x9b\x47\x94\x64\xda\x78\xcb\x1b\x2d\x05\xcd\x07\x4d\xd3\xac\xa5\xf3\xa7\x45\xe5\xac\x51\x9f\xa6\xb3\x46\x0a\xb0\x0d\x67\x8d\x9a\xcd\x9a\xf2\x99\xb4\x4d\xb4\x49\x9d\xbe\xf2\x69\x87\x1d\x1c\xb2\xce\x5a\x2d\xd8\xff\x91\xd7\x19\x83\xd0\x0f\xe0\xb1\xf8\x0a\xdb\x59\x8f\xc6\xb6\x72\x8a\xa5\xd6\xf2\x3b\x6f\xdf\xbe\x2d\xf4\xc9\xc8\x1c\xec\xf7\xfb\x24\x15\xc4\x8f\x0e\x9f\x9f\x7d\xda\x3b\x39\x39\x7e\xff\xf5\x6b\xbe\xe4\xdd\x5b\xf3\xf7\x93\x57\x2f\x5e\x56\x34\x39\x38\x7e\xff\x46\x94\xb4\xff\x0d\x06\x31\xb4\x4a\xc3\xed\x1f\xbf\x39\x3b\x39\x3e\xfa\xf4\xae\x9d\xa3\xb6\x12\x90\x7e\x87\xc0\x08\x02\x49\xa2\x24\x6f\xe8\x88\xa8\x2e\x05\x8d\x8c\x63\xdc\x33\x0f\x71\xf8\xe6\xec\xf0\xe4\xae\xdd\x3f\x2c\x76\xa8\xd8\x13\x0c\x7d\x0e\x4b\xbd\x72\xd3\x99\x1d\x1c\x1e\x1d\x9e\x1d\xb6\x0d\xa3\xff\xb8\xa1\x10\xa5\x38\xe5\x42\xdf\xb9\xb6\x42\x8a\xdb\x70\xdc\xcd\x76\x3b\x1b\x32\xed\x52\x21\x3b\x64\xcb\x0e\x80\x07\x5b\x43\xc7\xb6\x25\xfb\x29\x8c\x43\x0b\xe3\xfc\x53\x52\x55\xf9\xfb\xf6\x1f\x5f\xe8\xed\x3f\x6f\x6f\x4b\x48\xf6\x25\x03\x4b\xfa\xed\x56\xe0\x2b\x6c\xa9\x52\x1d\x7f\x53\x49\x18\xf6\x7f\x84\x9d\xb4\xa6\x11\xd7\xc5\x42\xfa\x1b\xb7\x19\xd8\x05\x0a\x6f\xde\xef\xf7\x73\xe2\x02\x81\xc0\x9f\x9e\x52\x40\xa1\xe4\xd0\xf7\xe4\x39\x87\xd7\x56\xfe\xac\xf3\xf4\x45\x0e\xaa\x2a\xe9\x70\x7f\xd2\x3d\xc4\x38\x61\xb6\xcf\x52\x80\x90\xff\xb2\xb3\xe5\x70\x1f\x10\xaf\xcc\x88\x56\x6e\x32\x6c\xb2\x2d\xf6\x4f\x9e\x98\xb4\xdb\xb7\x79\x38\xcd\xbd\x92\x77\x28\xa4\x4f\xf6\x98\x34\x94\xee\x72\xfb\xde\x10\x93\x96\xe0\x62\x1b\xff\x16\xfe\xbb\xfa\xfe\x6f\x0f\x1f\x86\x6d\x7a\x1e\x5e\xf4\x7b\x3b\x3b\x0f\x60\xc7\x1b\x03\xb2\x8f\x7d\xb8\x47\x5b\x61\xfb\x9e\x24\xdd\x15\xc0\x21\x33\x80\x43\x32\xe0\xb4\x1d\x94\xc1\x81\x98\xe0\x80\x4c\x70\xc8\x64\x11\x2e\x04\x2f\x3a\x1d\xde\x85\x98\xce\x1e\x19\x71\xb7\x46\xeb\xdc\xee\x0e\x50\xd8\x1d\x80\x78\x6c\x5f\x88\x95\xe2\x26\x9b\x2d\x96\xc0\x54\x1b\xbe\x3a\x4d\x96\x68\x41\xd1\x4d\x50\xd9\xcd\xdb\xb3\x0f\x8c\xbb\x04\xac\xe5\x19\x24\x93\x96\xcd\x87\x67\x48\x02\x03\xc8\x7a\x11\x6b\x84\x95\x3d\xbc\xe7\xc6\x95\x53\xf4\x19\xde\x83\xac\x97\x7d\x1c\xc4\x2d\xda\xf1\x70\x10\x33\x8e\x18\x43\x7a\x82\xaf\xd9\x17\x82\xaf\xd5\x17\x61\xd3\x69\xa5\x63\x74\xf0\x70\x98\x7e\x96\x75\xb8\xb1\xa2\x54\x85\x7f\x6d\x3b\x81\xa8\xa1\x46\x66\x27\x97\x7f\x3a\x0c\xd9\xf1\x6b\x31\x5d\x91\x03\xe3\x2d\x9d\xb6\x02\xb9\xd3\x62\xd7\xe6\xd9\x69\x4d\xa0\xe4\xdc\x27\x0f\x92\x45\x8e\xa8\x06\x2c\x94\x02\x0b\x4a\x60\xa1\x14\x58\x50\x02\x0b\x69\xc0\x4a\x47\xff\xa9\x00\x2d\x94\x41\xab\x54\x47\x82\x8b\x4a\x70\x79\xe3\x39\x4e\xfc\xed\xad\x03\xfa\x51\x2b\xe8\xf0\xfc\x09\x74\x1a\x41\x5d\xab\x3a\xc7\x1d\x6e\x9f\x81\xfe\x85\xf3\xa5\x68\x7f\xc8\x5b\x27\x34\x6b\x84\xa3\x69\xc3\xbb\x4c\xd9\xbd\x6d\x3b\x71\x71\x90\x54\x41\x5b\xde\x18\x41\x3b\xb3\x10\x4d\x0a\x46\x17\xd8\x01\xbe\xcf\x85\x4f\x76\x0a\x61\x08\x49\x8b\x15\x3b\x5f\x24\x85\xdf\xe5\x5a\x4c\xc8\x64\x52\x02\x27\xf8\x0a\x96\xeb\xde\xde\xde\x1a\x15\xf0\x41\x8d\x3d\x0d\x4d\xc0\x08\xba\x04\x0e\x0b\x46\x7f\x9f\xb5\x27\x6e\x04\x48\x0c\x5d\x5e\x69\x29\xf6\xfe\x21\x0a\xfd\x57\xac\xb7\x13\x38\x8c\x53\x33\xad\x05\x5b\xa1\x22\x62\x80\x8c\x12\x91\xb5\x5d\x72\xe1\x4d\xcd\x52\x92\x16\x9e\x6f\x5e\xfc\xa4\xff\xd8\x3d\xbf\x60\x04\xc4\xc6\x22\xc7\xe2\xfd\x3e\xdb\x43\x3c\xb4\x42\xa5\x6f\x22\x56\xcc\xb6\xa1\xdf\xef\x6b\x1f\x25\xed\x3f\x27\x0e\xbe\xc0\x43\x65\x74\x82\x21\x25\x08\xc6\xad\xb0\xdd\x66\x9d\x8a\xe5\x73\x41\x84\xe2\x23\x7c\x0d\x89\xd2\x0f\xec\x98\x12\x14\x8e\xec\xbe\x1a\x0f\xf3\x23\x8a\xce\xf1\x45\xdb\xc3\x21\x45\x61\x02\xef\x09\xc2\xc5\x9d\x1a\x52\x8e\x69\xb7\x70\xfb\x1e\x92\x92\x68\xdb\x61\xd5\xfb\xf0\x96\xcb\x1f\xb0\x85\x1d\x94\x9a\x46\x51\x9d\x29\x14\x85\x34\xe8\x4e\x50\x1c\xa3\x70\xe4\xa6\x5a\xa5\xbe\x89\xdc\x71\xe3\xf2\x7a\x6e\x44\xb8\xa6\x2e\xdb\x16\x9b\xdd\x7d\x6f\x2b\x1b\x28\x97\x48\xce\xd6\x79\x7f\xc3\x19\x41\xba\x9b\x8e\x99\xd9\x1e\x15\x8c\x6e\x6f\xdb\x35\x6b\x17\x46\xda\x6c\xad\xb9\xf9\x2f\xc3\x13\x95\x7d\xf8\x92\x09\xf8\xbb\xf6\xff\x73\x7e\x60\x3b\x4a\xae\x67\x3f\xf7\x6c\x47\x13\xe7\xd9\x97\x7d\xdb\xc9\xa4\x78\xf6\xe1\x99\xed\x28\xa1\x7d\x6f\xd7\xfe\xbf\xb2\x5f\xef\x76\xed\xff\xdb\x76\xb8\x70\xbc\x6b\x7f\x24\xb6\x23\xc4\xdb\x5d\xfb\xff\xb3\xeb\xf6\x5d\x9c\x49\x8a\x13\x6f\xec\x32\xbd\xcc\xb4\xe7\x23\x18\xd3\x84\x40\x77\x82\x7d\x34\x44\x90\xc4\x55\x6d\x57\xb8\xf1\x28\x7e\x89\x09\xfa\x8c\x43\xca\x28\x75\xc3\xdd\xd7\x1b\xdd\xd6\xf7\xfe\x3b\x24\x14\x79\x73\xf5\xad\x9a\xd4\xf6\xcc\x61\xf4\x4a\x50\xef\x33\x06\xa9\x03\x0e\xe4\x86\x83\x18\x5b\xcf\x1e\x6f\xc1\x81\xf4\x11\x6a\x50\xa6\xe0\x73\x5b\xe5\xc1\xb9\x02\xc4\xa2\xfd\x2f\xdc\xe7\xb5\xfb\x65\x88\x09\x14\x6e\xa2\x5d\x9b\x8c\x06\xad\x0d\x67\xc3\xd9\x68\xdb\x4e\xe6\x3e\x12\xdf\x7b\xdb\x8f\x9d\xde\xce\x86\xd3\xdb\xe9\xb5\x6d\x47\xf8\x89\x54\x0b\x6b\xf3\xc9\x63\xfe\x1f\x56\x32\x05\xa1\xe9\xfb\x80\x70\x1f\x1c\x9b\x16\x2f\x7d\xb2\xe3\x58\xec\xff\xbd\x9d\x9d\xb6\xed\x8c\x08\x84\x85\x66\x6c\x12\x8c\xac\x87\x14\x88\x02\xf1\x35\xdf\xdf\xeb\xea\x0a\xc2\xb0\xa2\x95\xa4\xbd\x8a\xa6\x1f\xaa\xcb\xd3\x49\x9a\x97\x00\xbc\xcb\x3c\xac\x62\x18\x08\x63\x88\xf8\xbc\xe3\x6c\x3e\x7d\xe2\x6c\x3e\xdd\x6e\xdb\xb7\x8e\x0f\xc8\x65\x19\xca\x79\x68\x96\x60\xfd\xd4\xd9\xda\x72\xb6\x9e\xfc\x0d\xe8\x4b\x13\xb8\x6a\xc0\x7d\xab\xb1\x05\x5a\x77\xdc\x10\x0d\x20\x0f\xef\x2e\x53\x66\x2f\x40\xae\x90\x1a\xdc\x31\x0c\xa2\x8c\x34\xa7\x8d\xbe\x1f\x5e\x2c\x84\xe1\x2e\x0c\xaf\x10\xc1\xa1\x7c\xb7\x4f\x9f\x7e\xfb\x0b\x25\x53\xee\xda\x83\xfd\xfa\x66\xb4\xaf\x22\xfb\x3b\x7f\x26\x90\x4c\x4f\xf9\x2e\x60\xd2\xfa\x61\x02\x29\x38\x0f\xc1\x04\xf6\xed\x1f\x1e\xc2\x87\x3f\xd8\x17\x3f\x70\xa3\xe2\x1e\xa5\x04\x0d\x12\x0a\x5b\x36\x13\xb5\x58\x2f\x6d\x27\xec\x7f\x91\x73\xde\xfd\xe5\xf4\xf8\x8d\x20\x92\x2d\x1f\x7a\xd8\x87\xef\x4e\x5e\xed\xab\x60\xcc\x16\x6d\xb7\x8b\xae\xc6\x02\xb8\xc2\x6a\xf8\x86\xb7\x1e\xa0\x5c\x8b\xf9\x42\xc7\x04\x5f\x73\x17\xf6\x21\x21\x6c\xba\xfb\x38\x09\x7c\x2b\xc4\xd4\x22\x10\xf8\x96\x58\xab\xb8\x81\xc1\x56\x62\x51\x30\xb2\xae\x11\x1d\x5b\x6c\x49\x96\x5c\x52\xe7\x07\x61\x8a\x95\xe1\xf8\x67\x30\xa6\xf1\xd7\xaf\x04\xfe\x99\x20\xa2\x03\x1c\x44\x91\xdd\x4e\xad\x61\x22\xe8\xa1\xf5\x25\xcc\x85\x79\xd8\x8e\x7c\xad\x65\xd7\xde\xe8\x6c\x74\x36\x1e\x6e\x6f\xef\x0c\x3c\xb0\x35\xb4\x6f\xdb\xf7\xfe\x4f\x00\x00\x00\xff\xff\x90\x1b\xb6\xf0\x6b\x2e\x06\x00") +var _uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xef\x72\xdb\x38\xb2\x38\xfa\x3d\x4f\xa1\xf0\x9c\xf2\x21\xcf\x42\xb2\x65\x3b\x99\x8c\xab\xb4\x4e\x26\xc9\xec\x64\x36\x93\xcc\x26\x99\x9d\xdd\xe3\xe3\xf2\x42\x24\x24\x61\x42\x11\x1c\x00\xb4\xa3\x75\x54\x75\x1f\xe5\x7e\xba\x55\xf7\x35\x7e\x8f\x72\x9f\xe4\x16\xfe\x91\x20\x08\xea\x9f\xe5\x24\xf2\x64\x3e\x4c\x2c\x92\x68\x00\x8d\x46\xa3\xff\xa1\x3b\x28\x18\xea\x30\x4e\x71\xcc\x83\x7b\x09\x1a\xe1\x0c\x85\xc1\x15\x9c\xe5\x04\x67\x7c\x1f\xe6\x79\x00\xce\x02\xf4\x21\x27\x94\xb3\x00\x04\x8f\xd1\x74\x88\xa8\x78\x9e\xe2\x18\x72\x4c\xb2\x00\x04\xf2\x59\x97\x22\x46\xd2\x4b\x44\xcb\x07\x29\x81\x49\x17\x67\x98\x63\x98\xe2\x7f\x23\x2a\xda\x97\x90\x63\x92\x8d\xf0\x78\x1f\x65\x97\x98\x92\x6c\x8a\x32\x1e\x9c\x83\x70\x54\x64\xb1\x00\x1a\x22\xc0\x41\x06\x30\xa0\xd1\xb5\x79\xd6\x21\xea\x69\x74\x4d\x11\x2f\x68\xd6\xe1\x1d\x9c\x75\xd0\xe9\xeb\xe1\x6f\x28\xe6\x3d\x35\xf6\x9f\x29\xc9\x11\xe5\x33\xf9\xe9\xf5\x25\x4c\x0b\x74\x92\x01\x94\x15\x53\x44\xe1\x30\x45\x27\xf7\x0f\x80\xea\xba\x28\x7f\x5f\x51\xcc\xf5\xdf\xf3\xe8\x04\x9d\xf1\xf3\x41\x06\xd0\xbc\x0d\x6e\x70\x71\x81\xd8\x4f\x24\x29\x52\x14\x98\x2e\x44\x4b\x80\xc4\xb7\xb0\x48\xf9\xe0\x92\xe0\xa4\x73\x70\x2f\x4e\x21\x63\x9d\xb4\x83\x3e\x70\x94\x25\xac\xc3\xcd\x07\xd7\x31\xc9\x18\xa7\x45\xcc\x09\x0d\xa3\x6b\x56\xe4\x88\x86\xbd\x5e\x0f\xd2\x71\x21\x50\xc1\x22\x40\x42\x3e\xc1\x0c\x04\x53\xd9\xd1\xcf\x14\x8d\xf0\x87\x00\x50\x03\xa1\x67\x3f\xaf\xbe\xce\x49\xf2\x53\x4b\x03\xe7\x55\xd5\xe6\x4d\xb9\x6e\x99\xf9\x38\x9a\xcf\xab\xc9\xa4\x20\x3c\x00\xb8\x7c\x15\xa6\x6d\xa3\x98\x47\x11\x68\x52\x50\xc1\x27\x28\xe3\x82\x58\x08\x65\xfb\x04\x27\x71\x9d\xa2\x14\xad\x30\x3c\xcd\x53\xd4\x15\x5f\x37\x9a\x88\xdf\x87\x5d\xf1\x01\x8e\x31\xef\x8e\x29\xcc\x78\x00\x02\xca\x2e\xf3\x26\xcd\x44\xd7\x37\x5e\x37\x80\x7a\x39\xa4\x0c\xbd\x41\x2c\x27\x19\x43\x83\xaa\x07\x43\x7b\xe1\x01\xe0\xf5\x8f\xa2\x10\x45\x73\xbd\xe2\xd8\xb3\xe2\x14\x31\x4e\x28\xaa\x40\x74\x50\x8f\x93\xf7\x28\x3b\x0d\x0f\x40\xd6\xd3\x9b\x47\x40\x39\xd1\x0f\xc4\x2c\xa2\x30\x9a\x5b\xe8\xb0\x9a\x07\xc1\xfd\xc1\xa0\x04\x21\x56\xb2\x77\x11\xa7\x08\x66\xbf\xe4\x2f\x49\x0c\xd3\xb7\x9c\x50\x38\x46\x61\x04\x5c\xf8\x8d\x0e\xfc\xed\xae\xaf\x70\x96\x90\xab\x5e\x6a\x3d\xed\x51\x34\x25\x97\xe8\x05\x47\xd3\x6a\x89\x5f\xbf\x78\xf6\xf4\x49\xc1\x27\x3f\x21\x3e\x21\x49\x10\x81\x75\x1a\xbe\x22\x59\x8c\x82\x1a\xbd\xe1\x55\xe8\x48\xce\xbb\x4e\x48\x92\x1e\x56\xa0\xa7\x21\x64\xe8\x56\xe8\xa6\xb1\xfa\xd9\x6a\xab\xcf\xdd\xd5\xe7\x2b\xae\xbe\xd3\xf8\x5a\x42\x3c\x41\xf3\x06\x90\xa5\xd8\x8d\xc9\x34\x27\x19\xca\x78\x77\x0a\x33\x38\x46\x94\xed\x8f\x53\x3c\x9d\x0a\xae\x50\x63\xff\xfa\x69\xd5\x60\xbf\x9b\x53\x7c\x09\x39\xda\x57\x88\x6f\x40\x72\x51\xbd\x01\xa2\x5b\x1b\xe8\x49\x05\xe0\xba\xce\xe1\xc7\x88\x9f\x94\x7d\x56\xe7\x85\x41\xc2\x7c\xee\xe7\x55\xe5\xd8\xd9\x3e\x94\x6d\x99\x38\xa6\x38\xfa\xc0\xbd\x87\x60\xf9\x79\xf5\x88\xa3\x69\x9e\x42\x8e\xba\x23\x28\x78\xfb\xcc\x8b\x32\xfb\x21\xa7\x30\x7e\x8f\xb3\x71\x05\x82\xc8\xc9\xfa\x0f\x43\x40\xa2\xeb\x4b\x48\x3b\x29\x80\xf7\xca\x63\x91\xd9\x87\xa5\x78\x4b\x06\xd7\xf3\x7b\x7a\xce\x1a\x75\xef\xd1\x8c\x85\x38\xea\x8d\x08\x7d\x0e\xe3\x49\x18\xda\x2c\x8d\x9c\xa1\xf3\x01\x3e\x43\xe7\x02\x29\xa4\x57\xa1\x72\x70\xff\xbe\xfd\x13\x90\x9e\x7d\x74\xca\xb7\xf6\x03\x10\x06\x72\xd1\x02\x9c\x75\xc8\xc7\x8f\xa4\x67\x9d\xfd\xd1\xde\x5e\x48\x7a\xe6\xa4\x1d\xdc\x3f\x88\x00\x19\x64\x3d\x96\xe2\x18\x85\x51\x8f\xa2\x4b\x44\x99\xfa\x2b\x29\x62\x64\x0d\x30\x03\xb8\x5c\x41\xac\xf7\xea\xc7\x8f\xd9\x3c\x02\x24\x02\x74\x6f\x4f\xed\xbd\xfb\x83\x41\xad\x3f\xd9\x9d\x1c\x4d\xfd\xf9\x69\xed\x57\x2f\x86\x69\x1a\xd2\xe8\x44\x33\xfe\xda\x4b\xbd\xab\x23\xa0\xfe\x1d\x34\x7b\x68\x97\x3c\x88\x9c\x5e\x91\xa6\x11\x20\xdb\x10\x24\x84\xb8\xd0\x29\x06\x92\x71\xc7\x14\x41\x8e\xde\x69\x4a\xfb\x5e\x11\x5a\x14\x5e\xe3\xe4\x24\xf8\xb6\xa0\xfd\xc9\xfe\x37\xaf\x02\x30\x4c\x49\xfc\xfe\xe4\xbf\xce\xce\xce\xfa\x7d\xd0\x3f\x07\x67\x87\xc7\xe0\x00\x04\x13\x9c\xf1\x6e\x8a\xb3\xf7\x9d\x98\x64\x19\x8a\xd5\x8f\x40\xbd\x0f\x28\x11\x43\x09\x86\x05\xe7\x24\x13\x0f\x8f\xc1\xd9\xd1\x23\x70\x70\x0e\xce\x82\x38\xc5\xf1\xfb\x00\x9c\x1d\x1d\x80\x03\x70\x16\x70\x32\x1e\xa7\xe8\x07\x2c\xe4\xb6\xf3\x73\x20\xe6\x7a\x0e\xce\xfa\x87\xe2\x7f\x20\xf8\xdf\xff\xcd\x3a\x1d\x01\xe0\x11\x38\x3b\xfa\x56\xf6\xaf\x07\x90\xc1\xcb\x2e\x8e\x05\x74\xf1\x2c\x78\x9c\xc1\xa9\xe0\xc6\x67\xc1\xbf\x61\x1e\x58\x80\x34\x8c\xa7\x2f\x5f\xfc\xef\xff\xca\xa1\xf4\x8f\xca\xc7\xfa\xc9\x71\xbf\x1c\x8d\x98\xd6\x0b\xf6\x77\xcc\xf0\x30\x45\x0a\xb4\xf8\x56\x8d\xa1\x7f\x20\x67\xd0\x97\xfd\xc7\x29\xee\x4e\xe4\xa8\x9d\xd1\x96\xdf\x1e\x5a\x6f\x9e\x2a\x24\x75\x38\xe9\xcc\x48\x41\x3b\xbf\x6a\x56\xd1\xc1\x19\xe3\x30\x8b\x51\x67\x38\xeb\xd0\x22\xcb\x70\x36\xee\xf0\x09\xea\x8c\x48\x9a\x92\x2b\xf1\x2b\x26\xd3\x29\xcc\x12\x21\xa3\x8a\x17\x4f\x5f\xbe\x70\x66\x61\xba\x54\x28\x3a\x52\x53\x57\xff\x3b\x3b\x2b\x59\x9b\x9c\xca\x39\x38\x3b\x17\xff\x79\x46\x1b\xb0\x29\x4c\xd3\x72\x36\x0a\xd8\xb1\xc6\xf7\x43\x10\x4c\x38\xcf\xd9\xc9\xfe\xbe\x61\x72\x39\x25\x92\x1a\x31\xd9\xd7\x23\x2c\x99\x5c\x57\x51\x96\x59\x85\xc6\x28\x44\xe7\x6f\x10\x4c\x3a\x53\x42\x91\x98\x97\xc0\x48\x42\x62\x29\xb2\x2a\x5d\xe0\xdc\x1a\xe9\x91\x43\x0a\xcd\x07\x7d\xb9\x2e\x87\xb5\x75\xe9\x92\x4b\x44\x53\x38\xdb\x32\x49\x56\x7d\xeb\x31\xaa\xd7\xe2\x4f\x30\x82\x29\x43\xe0\x2c\x90\xba\xcc\x28\xc5\xe3\x09\x57\x24\x0a\x02\x3c\x0a\x40\xe0\xa0\x07\x04\xe2\x7c\xa7\x19\x4c\xf5\xde\x39\xff\x2f\xa0\xe4\xe0\x57\x70\x8a\x4e\x56\x39\x4e\x7a\x93\x21\x0b\x00\x66\x6f\xa5\xde\xf5\x13\x49\xd0\xc9\xfd\xfe\x3c\xba\x97\x22\xde\x89\x07\x61\x3a\x50\x92\x84\x91\x23\x70\x8b\xde\x20\x98\xbd\xe6\xfd\xf7\x7c\x3a\x04\x1a\x48\x09\x9f\x0f\x9c\xfd\x01\xb0\x7a\x11\x66\x03\x18\xed\xed\x2d\x50\xa0\xac\x63\x35\xb3\x4f\x82\x9a\x0a\x95\xd5\x4f\x81\x52\x9d\xca\x4a\x7e\x0f\xb4\x22\x56\xe3\xc4\x59\x93\x13\x63\xc3\x89\xe7\xd1\xbc\x5a\xcd\xf2\x04\xbf\x2f\x98\xb0\x14\x75\x6b\xf3\x39\x6d\x3e\x1a\xdc\xef\x9f\xf8\x9e\x1e\xcc\xe7\x00\x0e\x58\x98\xf6\x72\x4a\x38\xe1\xb3\x1c\x01\x17\x39\x67\xb4\x27\x4f\x65\x94\x9c\x83\x6b\x57\x57\xac\xcb\x19\x96\xe6\x08\xac\xc9\x34\x65\x8f\xfb\xfd\xf9\x3c\x02\x4e\xbf\x16\xbd\x82\x33\xd2\x53\x34\x72\x6e\xa4\x9d\x31\xe2\xaf\xaf\x32\xb3\x1c\xcf\x10\x8b\x29\xce\xc5\xba\xb7\xc1\x88\x80\xf5\x26\x02\x69\x74\xaf\x3a\x47\x62\x20\x25\x42\x86\xf8\x53\x43\x94\xe6\x00\x89\xc2\x02\xc4\x2b\xcb\x43\x09\xca\x53\x32\xfb\x2a\x0e\x7d\x15\x87\x76\x41\x1c\xfa\xf0\xef\xe7\xd9\xc1\xff\xd0\xef\x1c\x71\xc8\x3a\x4d\xd4\xe1\xa3\x7e\x77\xd4\x3f\xdd\x2e\x43\x31\xc9\x12\x48\xcd\x21\x74\x7c\xbb\x22\x91\x57\x1c\x2a\xf2\x94\xc0\xc4\x23\x11\xe9\x73\xbf\x6f\x81\x7e\x26\x37\x65\xaf\xd7\x0b\xdc\xa3\xee\x33\x89\x4d\xef\x48\x47\x31\x8a\x8e\x60\xc2\x9d\x61\x81\xd3\x44\x08\x50\x9d\x18\x66\x42\x5c\xda\x8e\xa8\x24\xf0\x45\xd1\x48\xa2\x4b\x75\xd7\xad\x86\x79\xee\x15\x5f\x34\xac\x4a\x7a\xca\x29\xaa\xa6\x24\xe6\x49\x12\xf5\xe0\x18\xf4\x41\x13\x6a\x35\x45\xc3\x24\xcd\x44\xe5\x3b\x89\xd8\x7e\x25\xfd\xb8\x33\xb8\x65\x39\x4e\x33\xe7\x3f\x96\xfc\x16\x3c\x66\xe8\xf7\x02\x65\xb1\x58\xb7\xe5\xa2\x5c\x3e\x13\x1c\xb7\x2b\xd7\xf9\x26\x92\x9c\xc2\xf5\x57\x41\xee\xab\x20\xb7\x9b\x82\x1c\xce\x2e\xb1\x50\x66\xb6\x2b\xc8\x99\x1e\xbb\xf9\xb0\x21\xc2\x95\xbf\x69\x91\xa5\x84\xe4\xd5\x03\x86\xe8\x25\x8e\x91\x57\x10\x6c\x11\xfc\x40\x0a\x20\x60\x6a\xe7\x14\x20\x06\x39\x48\xc0\x08\x0c\x2b\x31\x70\x6a\xbe\x8e\xae\xb3\x2f\x75\x67\x94\x83\x9d\x7d\x95\x59\xff\x18\x32\xeb\x64\xb9\xcc\xfa\x76\xfa\x8f\x69\x02\x87\x0f\x97\x9b\xf0\xbe\x04\xab\x5d\x9e\x16\xac\x1b\x63\x1a\xa7\xc8\x23\xab\xbe\x90\x4c\x66\x63\x49\x74\x25\x01\xd4\x23\x7e\xfe\x53\x4b\x9a\x6c\x02\x29\x72\x64\x4d\x69\xfb\xbc\xc2\x7c\xd2\x81\xd9\x8c\x64\x48\x8a\xa5\x57\x30\x93\x36\xbe\x31\xbe\x44\x1d\x18\xc7\x88\x31\xf1\x53\x0a\xaf\x0d\x93\x9f\x5f\x16\xb2\xc7\x8a\xb3\xbc\xe0\xdd\x2b\x0a\xf3\x36\x71\xb9\xaf\x3f\xd2\x4b\x28\x7f\x0a\x54\x75\x95\x5f\x4b\x7c\xf2\x10\x1c\x82\xb3\xc3\x6f\xc1\x59\x89\x22\xc2\xb8\xc2\xfb\x39\x08\xa4\x53\x4b\x33\xf1\x53\xd9\x68\x60\xaf\xb2\x04\xa2\xe4\x38\xa5\xbf\x48\x27\x46\x49\x1a\x62\xf4\xe6\x63\x86\x52\x14\xf3\xa7\x24\xe3\xe2\x7c\xb0\xc9\x42\x7d\x7b\xbc\xe8\xdb\x66\x97\x6d\x62\x5b\x5d\x84\x7f\x50\x91\x56\x9b\xee\x55\x3e\x11\xe7\x0b\x8c\x0d\xaa\x02\x8e\xb9\x24\xf7\xa7\x24\x9f\x19\x72\x8c\x53\x9c\x0f\x09\xa4\xc9\x3b\x48\xc7\x48\x1e\x35\xac\x90\xcb\x28\x89\xf4\x3f\x6a\xc8\x2d\xc7\x4c\xb2\xb7\xe6\xa3\xf3\x55\xf4\x85\x95\x14\xb7\xb3\x07\x87\x65\x07\x42\xda\xac\xba\x90\x34\xac\x86\xd9\x8d\x27\x48\xc8\x25\x81\xf5\xac\x86\xbc\x55\x74\x86\x35\xf4\xd8\x16\x5c\xae\xa8\xd7\x6a\x6e\xe5\x5d\xe1\xd5\x94\x59\x8a\x5c\x65\x76\xb9\x72\xd1\x50\x89\x94\x5e\xa9\xf6\x34\xf4\x58\xe2\xc5\x3e\x17\x92\x04\xa2\x9d\x69\xc1\x78\x67\x88\xa4\xaa\x89\xb3\x0e\xec\xa4\x44\x05\xab\x74\xf8\x04\x72\xf9\x65\xc1\x10\x65\x92\x4b\xa8\xfd\xde\x2b\x7b\x1d\xd2\x60\x29\xfd\x3e\x5c\x49\x31\x4b\x48\xcc\xb6\xa5\x8d\xf9\x71\xe5\xfb\xf9\x45\x68\x65\xcb\x55\xb1\x04\x27\x5d\x9c\x31\x44\xb9\xfe\x51\xe4\x89\x32\xaf\x8b\x6d\xd3\xd5\x43\xbb\x89\x8a\xa6\x76\xfd\x22\x15\x6d\x3c\x08\x8b\x15\x55\x34\x9f\x5a\x36\xd5\x11\x34\x30\xc7\x01\x88\x81\xf8\x51\x3d\x64\x88\x31\x19\x1e\x95\x3b\x2f\x34\x17\x4a\x9c\xc7\x8e\xf2\x32\x72\x5e\xdb\xbc\x04\x0c\xd5\xcb\x79\x9d\x1f\x0b\x41\x10\xf5\x46\x24\x2e\x58\x28\x24\x10\xf5\x36\x8c\xe6\x25\xa3\x0b\xa3\x6b\xa9\x4c\x59\xc0\x06\xf7\x0f\x84\x4a\x91\xf6\x84\x24\x42\xa3\x30\x0c\xa3\xc1\x9f\x3d\x5f\xf5\xe7\x11\x38\x44\x47\xd1\x1c\xb2\x59\x16\x77\x2c\x9e\x10\x46\xd7\x02\x97\x68\x90\xa1\xab\x0e\xed\xa9\x33\x5f\xbe\x79\x23\x14\x73\xc6\xef\x89\xa1\xf0\x67\x05\x95\x54\x1d\x06\xfd\xc3\x49\xa0\xf0\xcf\x07\xf0\x0a\x62\x2e\x0f\xda\x1e\xcc\x71\x2f\x4e\x31\xca\x84\xca\x94\x21\x0a\x39\xb2\x60\x09\x99\xcc\x7c\xf5\x2b\x96\xd1\x26\x30\x8c\xa2\x7b\xf2\xa1\x3a\x00\xa5\xaa\xa5\x87\x34\x1f\x23\xde\x31\x27\x66\xa9\xbd\xfd\xeb\x3f\xed\xa8\x16\x31\x1a\xa5\x68\xc5\x24\x9d\xef\xef\x37\x5f\x0a\x00\xf3\x7f\xe9\x29\x7b\xf4\xd8\x20\xd0\x6a\xac\x1c\xc0\xde\x9e\x35\x9b\x1a\x82\xc0\x76\x14\xde\x78\x30\x0b\x0b\x5b\x69\x94\x84\x77\x06\x7b\x38\x13\x2c\x67\x63\x2d\x57\x6c\xda\x79\x04\x72\x17\x7c\x49\xc2\x5b\xeb\x22\x71\xbb\x30\x47\x32\xdb\xbe\xaa\x1e\x04\x42\x55\x1f\xb9\x3d\xba\x46\x82\x5b\xe8\x59\x19\x09\x86\x6e\xcf\xb5\x2d\x7c\x7b\xfd\x3a\xbd\x56\x52\xce\x3a\xb6\x89\x16\x10\x11\x28\x6c\xd3\x84\x3b\x41\x4b\x50\xd8\xb8\x33\x1b\xc8\xe2\xee\x36\x34\xbb\xb4\xc1\x70\x3a\x2b\x6c\xb3\xcb\x78\x91\xd9\x65\x02\xc6\x2b\x9b\x5d\x28\x4a\x11\x64\x5b\xb7\xbb\x7c\x75\xa0\x7d\x35\x46\xdc\x86\x03\xed\x4f\xe8\x0d\x7d\x32\x7b\xf7\x7c\x4d\x07\x5a\x4e\xf1\xf4\xf3\xba\xcf\xc6\x29\x19\xfa\x2c\x12\x1e\xef\xd9\x1b\xb5\x25\xbf\x2c\xf7\x99\xe6\x13\xca\x04\xa1\x7c\x0d\x42\xe8\xbc\x5d\x27\x9a\xee\x74\xdb\x5e\xb4\x26\x58\x8f\x1b\xcd\x4c\xf8\x4b\xf0\xa3\x19\x26\xfd\xd5\x91\xf6\x09\x1c\x69\x1a\xd9\x5f\x3d\x69\x5f\x3d\x69\xbb\xe9\x49\x2b\xfc\x57\xa4\x56\x93\xe6\x1c\x87\x99\x4f\xb6\x33\x71\xf5\x59\x5c\x50\x8a\xb2\x78\xd6\xb5\xbb\xa9\x7c\x67\x8d\xef\x6e\xe8\x4f\xab\x24\xc2\xd1\x2e\xf9\xd2\x86\x5f\xc5\xd7\x3f\x86\xf8\x3a\x5d\x41\x7c\xfd\x70\xf8\xe6\x9b\xf7\x3f\x92\x9a\xf8\xaa\xa5\x3f\x79\xd8\x16\x79\xb7\x3a\x50\x2d\xc1\xcc\x11\xf4\xd4\x8e\xe2\x3f\x21\xc6\xe0\xb8\x26\xe9\x55\x72\x87\x25\xf3\xd8\x80\x2f\x2e\xa6\x6c\x6c\x41\x6f\x05\xb9\xe0\x70\x06\x95\x54\x69\x49\xbf\xfd\x87\x20\x48\x30\x13\x04\x94\x54\x67\xbf\xe0\x46\x01\x66\x6f\x54\x4c\xba\x82\xab\x24\x85\x43\x5b\x52\x38\x14\x80\xbe\xa9\x39\x82\x8a\xdc\x38\x74\xfa\x95\x54\x60\x84\x83\xb3\xe0\xf1\x25\xa4\x18\x2a\xe9\x2d\x28\x05\xfc\x85\x02\xa2\x8a\x4b\xeb\xec\x75\xb4\x88\xad\x05\x1e\x57\x7a\x6b\x88\xdd\x52\x18\xb1\xaf\x98\x56\xf2\x88\x14\x3e\xf2\x84\xed\x97\xf6\x61\xf9\xbf\x1c\xd1\x11\xa1\xd3\xb5\x04\x8f\x22\x5f\x24\x73\xcc\x9a\xa6\x61\xba\x86\x69\x78\xe4\x33\x0d\x8f\xca\x5b\x9a\x69\x2a\x7a\x4b\x2b\xe3\xb0\x79\xe5\x90\x85\xb1\x12\xcf\xff\xbb\xc8\x05\x6f\x52\xa6\xc5\xda\x37\x66\x53\x28\x7b\x6a\x86\xae\x3a\xb8\xf7\x23\x19\x82\xac\xfa\xbb\xf7\x4b\xfe\x3a\x07\x54\x3f\xf8\x5b\x81\x0a\xf4\x23\x19\x6a\xeb\x2c\x48\x07\x1e\xc3\x2a\x80\xfa\xeb\x37\x68\xd4\x7b\x52\x2d\x05\x60\xd6\xf3\x5f\x09\x7d\xcf\x72\x18\x23\x50\x58\x4f\x05\xe9\x21\x7a\x8f\x89\xa3\xb5\xfc\x22\x2c\x89\x24\x02\x50\xbc\xb1\x60\x86\xa8\x67\x2d\xb6\x7e\xff\xb3\x92\xcb\x43\xd4\xd3\x12\x7a\x04\x0a\xd9\x2e\x9b\x85\x6e\x5f\x4f\xb2\x59\xa4\x8e\x72\x1b\x2a\xd4\xcf\x7e\xc9\xc3\x4c\xff\xa9\xdc\x83\xaa\x51\x58\xe8\x87\xd5\x18\x59\x04\xa8\x78\xf2\x23\x19\x86\xdc\x88\x9e\x33\x8c\xd2\xa4\x61\xa1\xfe\x5d\x23\x31\xa4\x42\xaa\x90\xdf\x84\x82\x61\x6a\x42\x8c\xd4\x8d\x4c\xc6\x29\x82\x53\xb1\x1a\xb1\x10\x5e\x7e\x24\xc3\x17\x49\x18\x45\xa0\x7d\x19\xd5\xab\x92\x40\x7a\x94\x14\x1c\x9d\xf6\x28\x1a\x51\xc4\x26\x61\x34\xff\xef\x12\xa6\xa0\x07\x7b\xd1\xff\x22\x3b\x30\xab\x9a\xf9\x56\xf5\x1e\xd7\xd3\x7b\x91\x84\x48\x4d\x90\x0e\x9a\xc6\x77\xf1\xc5\x5b\xd9\x4d\x28\x8e\x17\x35\xbd\x8e\xe8\xe5\x67\x4a\xa6\x98\xa1\x30\x94\x37\xf9\x06\x7f\xbe\xa6\x3d\x92\x85\x01\xe3\x90\x17\x2c\x00\x21\x1a\xfc\x59\xec\x0d\x92\xa2\x5e\x4a\xc6\x21\x8a\x22\x81\x52\xf1\xc9\x14\x71\x98\x40\x0e\x17\x7e\x54\x7d\x70\x8d\xa4\x31\x1f\xd1\x29\xce\x60\x1a\x46\xa7\xe2\xe7\xf3\x4b\xb1\xb9\x5e\x62\xc6\xc3\xa8\x37\x85\x79\x28\xbe\x94\x1f\xbe\x14\x52\x9a\xfa\xe8\x27\x36\x0e\xa3\x28\xea\x8d\x70\xca\x11\x0d\x27\xd6\x29\x8f\x8c\x67\xa3\x1d\xbf\xde\xa5\x41\xf3\x48\x4a\x83\x6a\x90\x88\x52\x42\x03\xc0\xcb\xdf\x59\x12\x00\xe5\x36\x41\x61\xa4\x3e\x95\xc6\xfa\xa1\xcf\x58\x9f\x6e\xcd\x58\xef\x80\xb7\x98\xca\xd6\x3a\x49\xdc\x4e\x5c\xf6\xb4\x05\x2b\xb6\xee\xca\xe9\x48\x0a\xd5\xb0\xc7\x21\x7b\xbf\xa6\x45\xb7\xc8\x5d\x4b\xae\x03\xba\xdc\x40\x9b\xf6\x50\x01\x68\x9a\x8c\x4b\x31\x74\x62\xdd\xf5\x15\x53\xbc\x3f\x40\xd6\x2d\xdc\xd9\x22\xe5\x63\x0a\x66\xcb\x95\x8f\x3c\xef\x0e\x29\x82\x49\x4c\x8b\xe9\x90\xed\xe3\x2c\x41\x1f\xb6\x6e\x55\xae\xab\x18\x2d\xf9\x19\xa4\x8c\x0d\xd2\x7b\xdb\x92\xeb\xe0\x72\xb9\x6e\xf4\xfd\xa3\xe4\xdd\xdf\x0f\xfe\xe4\xc8\x75\x41\x91\x56\x12\x98\x85\x9d\x4e\x9e\x30\x1b\x5b\x3e\x61\xef\xb0\x94\x89\x94\x69\xd1\xfa\x5b\xcb\x47\x36\x80\x1a\xf8\xca\xc8\x62\xe4\x35\x6d\x35\x72\x45\xc4\x14\xcb\xbf\x1e\x08\x70\x87\xdf\x0a\x31\xaa\x3e\xae\x8b\x0b\xf9\x6f\x27\x00\x32\x8a\xc4\x96\xd1\xf4\xdf\x26\x18\xe7\xb0\x12\x0d\xbd\xa3\x4b\x51\x36\xe6\x13\xcb\xfa\x13\x60\xd6\x15\x82\xcf\x25\xd2\xc1\x2e\x7e\x61\xb7\x2f\x44\x2c\xf6\x33\xca\x12\x25\x3c\x5a\x93\xb0\x26\x72\xa4\x90\xfc\x10\x04\xff\xa1\xf1\x1d\x08\xd9\xb0\x9b\xc2\xa1\x60\x3f\x41\x4a\xa0\x6a\x5f\x75\xf3\xff\xfd\x5f\xff\x8f\x4f\xcc\xf3\xf6\x50\x86\x08\x55\x06\x4a\xc1\xa5\x03\x3d\x77\x31\x46\xfd\x60\x41\xd8\x8e\x3b\xa9\xd2\x48\x6c\xf7\xd6\x08\xea\x28\x7b\x2c\xc3\x79\xea\xed\x5d\x83\xb2\x4f\x4c\x77\x90\xd5\xaf\xcb\xfe\x02\x98\xc2\x53\xd3\x38\x68\xda\x35\x05\x64\xf5\x04\xd4\x08\xca\x41\x65\xdf\x26\x8a\x86\x38\x5d\x91\x87\x50\x0f\x24\xb3\xa8\x84\x6a\x04\xe3\x49\x00\x82\xae\x64\xe5\x5d\x48\x29\x9c\x19\x3b\x1f\xfa\x5d\x7e\x1f\x8b\x55\xc5\xd9\xfb\x2e\x27\x8e\x3d\x70\x25\x89\xdb\xc7\xac\x16\x09\xdf\x6c\x10\x92\xad\x1b\xfc\x6a\x3b\xa4\x32\xf7\xa5\x5f\xac\xb9\x6f\x0e\x8a\x01\xb1\x0e\x9e\xd8\x99\x43\x3e\x38\xa3\xe5\x41\x9f\x0c\x6e\x72\xfe\x82\xe1\xe0\x7a\x0e\x6c\xeb\x48\xd2\x62\x1d\x19\x9e\xa1\xf3\x41\xa2\xad\x23\xc3\xba\x75\xc4\xfe\x09\x86\xae\x75\x64\xd8\x6a\x1d\x19\x7e\xfc\x38\x74\xad\x23\xc3\xba\x75\x64\x38\xc8\x57\xb1\x8e\xc8\xfc\x12\x26\xdd\x43\x58\x80\x18\xa0\xe8\xe3\x47\x24\xe4\x8b\x08\x8c\x2c\xeb\xc8\xd0\xb1\x5d\x0c\xb5\x75\xa4\xf6\xfc\x74\xd8\x5c\xa0\x51\x69\x1d\x19\x2e\xb6\x8e\xb8\x3d\xf8\x69\x4c\x0c\x71\x28\xa6\xa7\xac\x23\xe9\x60\x08\x48\x74\xcf\x8d\x6a\xaf\x4e\x4a\xb6\x48\x70\x80\x80\xad\x24\x38\x8c\x08\xe1\x88\xde\x5c\x66\x70\x3e\xae\xbe\x21\x59\x3a\xf3\x89\x0b\x5b\x49\xb2\x22\x85\x04\xba\x5c\x48\x18\xc2\x07\x7f\x61\xbf\xfe\xe3\xd0\x15\x12\xd4\xec\x2b\xf7\x94\xf5\xdb\xef\x6b\x3c\xd0\xde\x23\xe3\x82\xc1\xd3\x71\xe9\x1a\x5a\xe0\x5e\x54\xde\x1c\x92\xcf\xa8\xe0\x96\x36\xfc\xff\xf3\xff\x1a\x37\x97\x3c\xd6\x1f\xc8\xef\x2b\xc9\xc1\x30\xfa\x1f\x20\x9b\xe0\xa7\x84\xe6\x5e\xa7\x91\x1a\xdb\xa1\x9d\x36\xc0\x39\x9a\x3c\xc7\x6d\xc9\xf2\xf3\x84\xed\xa7\x64\x4c\xa6\x90\xbe\xdf\x9f\x88\x8e\x62\xd1\x51\x29\xe1\x77\x67\x08\xd2\x00\x04\x62\xa7\x61\x92\x75\x71\x36\x22\x2b\xf3\x7a\x9b\xbe\xda\xd8\xbc\xb2\xcc\x2e\x20\x66\xea\xa4\x9d\x8a\x6c\xe3\x3d\x59\x8d\xcc\xe9\x74\x5f\x5b\x0f\xba\x14\xe5\x84\x61\x41\x1e\x5d\x86\x38\xc7\xd9\x98\xdd\x80\xf4\xe5\x8b\x15\xc5\xe6\xf2\x41\xc1\x71\xca\x56\x0a\xd6\x00\x81\xcc\x2d\xd5\x2d\x68\xda\xbc\x36\xb3\xd0\x82\x0f\x0a\x10\xab\x43\x51\xf3\x0e\x30\x05\x33\x30\x01\xe3\x4a\x33\xb9\xdc\x25\x6b\xfe\xd5\x57\x6b\xfe\x1f\xc3\x9a\xff\xdb\x72\x86\xfe\xe2\xf5\x34\xfd\xf9\xc7\x27\x2f\xdc\x60\x14\x65\xf9\x35\xfe\x73\xa1\x53\x99\x27\x96\x8b\x9c\x15\xc3\x29\xe6\x95\x9d\x9c\xc1\x4b\xf4\xd6\x30\x02\x7f\xbc\x89\xe7\x72\x87\xd8\x97\x62\x7b\x8e\x30\x4a\x13\x56\x29\x9b\xb1\x0c\xe0\xf7\xc6\x76\x34\xe2\x55\xc4\xb7\x5d\x98\x22\x6a\xe2\x2b\x1e\x0b\xe9\x4e\xec\xf3\x98\xa4\x44\x1e\x44\x01\xce\x52\x9c\x21\xe9\x1f\xa4\x59\xa9\x8a\xad\x70\x3f\x41\x29\x18\xef\xe4\x1d\x89\xf3\x45\x29\x65\x1a\x4a\x87\x7d\x1e\x49\x57\x01\x95\x66\x52\x35\xd2\x9e\xba\x75\x51\x3b\x9f\xac\xbe\x7d\xf1\x18\xee\x98\x8c\x35\x45\x47\x47\x6c\x6d\x64\x89\x0d\xf7\x06\xe3\x7b\x89\xb3\xf7\x27\x27\x6f\x39\xcc\x12\x98\x92\xac\x16\xfd\xf1\x58\x87\x3e\xc8\x7f\x7f\x16\xe7\x88\x4a\x7c\xf9\x58\xe5\x06\x0b\x1e\x4f\x4c\x08\x4d\x3d\x0e\x02\x04\x9c\x42\x9c\x4a\x16\x6f\x54\xf8\xe6\x0c\xf4\x5d\x2e\xad\xa8\x9b\x00\x95\x04\x5d\xa2\x54\x6c\xa7\x5e\x79\x3c\xf7\x62\x32\x2d\x03\x57\xe4\xed\x82\x7d\x05\xc8\x13\xe8\xa4\xa7\xdd\x6f\x8b\x93\x39\xa8\xd1\x6e\x77\x82\x60\xe2\x11\x82\x6c\xeb\xc5\xe4\xd8\x76\x63\xd9\xeb\x21\xb6\x9b\x31\xd3\x5f\x8c\x31\xbf\x30\x27\x6c\x4f\xfc\x68\x90\x4e\x33\x24\xc9\xf7\xe8\xc0\xec\x32\xc4\xab\x7d\x66\x36\xf7\xf7\xe2\xcd\x5b\xe4\x8b\xa7\xf2\xcc\xb0\xd6\xca\xdb\xc4\xb2\xd1\x28\xdd\x5c\xed\xf6\x11\x11\x87\xfc\x18\xf3\x2e\x23\x05\x8d\xd5\x81\x5c\x07\x2b\x40\xbe\xd2\xc6\x02\x0f\x58\x2f\xfd\x2e\xc6\x97\xea\xea\xa2\xa0\xe9\x85\x19\x8c\x8f\xaa\xbd\x98\x5b\x23\xa7\x94\x68\xf5\x8b\x09\xb8\xb2\xfd\x97\x7a\x12\x63\xcc\x1f\xdb\x3d\x74\x5e\x8c\x3a\x05\xc3\xd9\xb8\x03\xb3\xce\xdb\xb7\x3f\x74\xde\xa3\x59\xaf\xf3\x9a\x4f\x10\xbd\xc2\x0c\x81\x4e\xb1\x00\x98\x21\xea\x1a\xc0\xab\x09\xca\x0c\xc8\x4e\x0e\x19\xbb\x22\x34\xe9\x10\xda\xc9\x48\xc7\x4a\x7b\xd8\x72\x13\xc6\x9d\xac\x89\xf1\xea\xfb\x16\x4c\x48\xef\x79\x0a\x63\x34\x21\x69\x22\x25\x37\x33\xa2\x31\xe6\x93\x62\x28\x77\xd6\x74\x26\xaf\x47\x65\xb3\x7d\x78\x85\x18\x99\xa2\xae\x09\x0e\x1b\x63\x45\x69\xf2\x4e\x9e\x3e\x40\xc4\x33\x10\x48\xf8\xe7\x26\x44\x0b\xfd\x5e\x60\x2a\xaf\x75\x39\xa7\x8f\xba\xec\x57\xf2\x80\x07\xe2\x19\x97\xce\x28\x75\x8e\x57\xaf\x1e\x1a\x8b\xe3\x39\x08\x4c\xf7\x09\xe4\xf0\xad\x9c\x8f\x18\x49\x4f\xcd\xa9\xee\xa0\xb5\xfc\xb4\xf2\x34\x91\x1d\xc8\x3b\x7f\x0e\x67\xa8\xef\x12\x97\x7a\x6e\x71\xeb\x68\x0e\xf9\x29\xb6\x0e\x45\xa3\x5b\xdf\x3a\xcd\x81\xd6\x62\x38\x37\x1b\xf4\x04\xa5\xb9\xbe\xa9\x69\x2b\x82\x2d\xbb\x6a\xb3\x3e\xd0\x07\x38\xcd\x3d\x0c\x79\x15\x43\xe4\xaa\xbb\x4e\xaf\x75\x73\xd7\x4d\x21\xce\x02\xff\x6e\xf1\x6c\x2e\x09\xe6\xfc\x16\x77\x92\x1a\xe7\x86\x3b\xe9\xf3\x6c\xa3\x1c\xf2\xc9\xa7\xda\x47\xa2\xaf\x9b\x6e\x24\x3f\x81\x98\x59\x34\x29\x24\xc1\x74\x9f\x15\x43\xf1\xcf\x74\x66\x18\x70\x35\xeb\x26\x91\xa8\x57\xb7\x49\x25\xba\xf3\x5b\x23\x93\x60\xd2\x7a\xe3\xf4\x76\x48\x49\x1c\xae\x5d\x33\xea\x5b\x25\x24\xd1\xd3\x85\xe8\x69\x73\x32\xf2\x4e\xfe\x0d\x4c\x30\xf9\x95\xc2\x3c\x6f\x11\x5a\xeb\x44\xf8\x8d\x26\xc2\x23\xdf\xfc\x05\x49\x1d\xab\x3f\x82\xf2\x5e\xb6\x21\x8f\x47\x96\x03\x50\x34\x7b\xaa\xe3\xc2\x8f\xab\x99\xb4\x93\xdd\xb7\xb5\xab\xf3\xfc\x89\xb7\xbd\x45\x48\x58\xae\x67\x35\xc4\x21\x64\x38\x5e\xaa\xfa\xdd\x78\x69\x64\x37\x4b\x16\x68\xd1\x69\xb0\x16\xa6\x1f\xac\x8b\xe9\x07\x37\xc4\xf4\x83\x55\x30\xcd\xd8\xe4\xf6\xf1\xcc\xd8\x32\x6e\xba\x35\x2c\x1f\xac\x8b\xe5\x83\x1b\x62\xf9\x60\x15\x2c\x67\x84\x77\xa5\x3a\x77\xdb\x98\xce\x88\x7c\x75\x03\x6c\xb7\xf3\xeb\xfa\xfd\x20\x2b\x48\x54\x74\xff\xf6\xed\x0f\xad\x5e\xf3\xf5\x58\xf8\xaa\xf2\x00\x63\x93\x6e\xc1\x4a\x7f\xc6\xca\xac\x7c\x73\xa9\x40\x90\xb1\xe8\x71\x05\xec\x7a\x99\xfa\x72\xe9\xc0\x9e\x53\x53\x42\x18\x63\x2e\x5e\x1a\x0f\x7d\x4d\x24\xd0\x63\x17\x72\x44\x79\x86\xab\x26\x01\x08\xc4\x26\x07\x81\x02\xbc\x16\xa1\xbf\x65\x13\x41\xeb\x32\x87\x87\x1e\xd7\x66\x52\xc0\xfa\x07\xdd\xb6\x48\xc4\xa8\xd7\x9f\x96\x4c\x4c\xaf\xb7\x4b\x2a\xf6\xdc\x9a\xe4\xf2\xdf\xe5\x7f\x9b\x50\x4b\x05\x7b\x63\x8a\xb1\x86\xb7\x80\x6a\xac\x8e\xbe\x2c\xca\x79\x8f\x66\x9f\x96\x68\xde\xa3\xd9\x36\xe8\xa5\xdf\x6f\x25\x18\x3d\xa5\x45\xb4\xd2\x46\x32\x09\x12\x4a\x78\xf2\xb3\xaa\x79\xf1\x57\x01\xe8\x5c\x9f\xb5\x95\x3e\xdb\x3c\x11\x36\xa6\x9d\xb2\x9f\x9f\xd1\xd4\xab\x83\xac\x44\x2c\x56\xac\x95\x73\x60\x7d\x57\x89\x98\x9f\xec\xc8\xaa\x71\xef\x4f\x42\x56\x4a\xc2\x35\xfd\xde\x1e\x37\xb2\x67\xb6\xca\xc1\xd5\x42\x33\x66\x51\xd6\xe2\x57\x4a\x59\x50\x07\x94\x4e\x13\xb6\x0e\xd5\xc9\x3e\x6b\xa7\x9c\x1e\xe7\x2e\x9d\x74\x9f\xfe\x94\x53\x94\x75\xfb\xe7\xdc\x9a\x67\xdc\x6d\x10\xd6\x86\x47\x61\x9d\xb0\x6e\xf3\x30\x6c\xe4\xa0\xb2\x22\x26\x3f\xb1\xb1\xe5\x16\x4d\x73\xb3\x6c\x99\xae\xbe\xd1\xce\x7b\x27\x6f\xcd\xae\x60\x4b\xe9\x1f\x5a\x7e\x51\x36\x21\x57\x2f\xc5\x60\x64\x5c\x8b\xe4\x18\x20\x78\xac\x4d\x6c\xc1\x63\x86\xff\x2d\xff\x25\x59\x05\x9e\xd3\x02\x69\xd2\x9e\x65\x71\x17\x65\xce\x05\x36\x1f\x2d\xfe\x4c\xd2\x34\x00\x81\xf9\x56\x10\x92\xba\xe6\x5f\x27\x3a\x13\xb4\x6d\xdf\x6a\x5b\x09\x9c\x43\x8c\x2b\xab\xa7\xca\x7b\x7c\x28\x08\xfd\x0a\xf3\x78\x52\xf3\x19\x93\xec\xa5\x8e\x87\x7e\x4c\x46\xa3\xf2\xef\x2a\x45\x05\xe6\x1d\x99\x58\x4a\xba\x92\xab\x5f\xa3\x51\x00\x82\xbf\x60\xde\x79\x3b\xcb\xe2\xd6\x1d\xd0\x1c\x82\x89\x2a\xd6\xc1\x6a\x16\x73\xb4\xf1\x5c\x5e\xe6\x13\x4b\x64\x23\xed\x78\x53\xa4\xad\x84\x2d\x4f\x68\x9c\x20\x3f\x75\x57\xfb\x65\xb9\x73\xfc\xcc\x79\xf3\x8d\x62\x05\x07\x2c\xe5\xcd\x0b\xf9\xf3\x32\xcb\x8c\x60\xcb\x1b\x1b\x12\xbc\x8f\xfc\x0f\x6e\x12\x89\xf2\xc9\xbc\xfe\x93\x38\xdd\x7d\xaf\xbf\x71\x3d\x4c\xe2\xb4\x6b\x12\xc2\xdd\x2a\x77\x17\x58\xb3\x3a\xfa\xdc\x86\xf2\xd6\xf9\x0b\xc1\x41\x86\x91\x9e\xaf\x60\x63\x54\x09\x39\x7f\x88\x25\x63\xd2\xad\x96\x1b\x1a\x6d\xa7\x4c\x05\xc1\x69\xdf\x34\x34\xfa\x86\x2c\x03\x3f\x6f\xc3\xe2\x68\x2f\xd7\x85\xe8\x64\xfb\xb6\xdd\x85\x4b\x20\xce\xd1\xb5\x57\x40\x35\xda\x78\x01\x6a\xcd\x57\xc4\xbf\x6a\x7e\xeb\x2b\xa0\xba\xf9\xb4\x16\xdf\x1a\x6a\x6f\x5b\x81\xb6\x91\x1b\xab\x8c\x9f\xb7\xac\xe6\x08\xfc\xea\x9e\xb6\xa1\xd8\xac\x17\x52\x71\x83\xa0\x0a\x7b\xdc\xbe\x88\x0a\xff\x30\x57\xd9\x9b\xfd\x07\x95\x72\xe6\x5d\x0f\x5b\xb8\x92\x72\xef\x0b\xb5\xaf\x82\xc7\xa5\x42\x66\x6d\x4d\x6d\x4c\x32\xa9\x8c\x0d\x21\x55\xba\x53\xeb\x9b\x8a\xee\x56\xd4\x90\x2a\x0b\xd0\xe2\xab\x64\x8d\x07\xce\x7d\x83\xbe\x7d\x49\xce\x64\x84\x00\xb6\xea\xa6\x33\x43\x00\x13\x71\xeb\xdf\xf8\x2b\x2e\x65\x99\x9c\xa3\x14\x35\x97\x67\x8e\x78\x12\x98\x1c\x40\x6e\x1e\xab\x49\xc2\xf6\x55\xe0\x2d\x08\xb8\xce\x23\x21\x08\xa4\xab\xc3\x38\xc5\x6f\xcd\x08\x83\x5c\xe6\xc9\x10\x8b\xa0\x5f\x50\x71\x92\xaa\x4d\x66\xee\xc5\x8d\xca\x74\x58\xe2\x03\x01\x04\x52\x04\x03\x10\x7c\xd0\x82\x6d\x00\x82\xa9\x84\x96\x11\x1e\xa8\xf8\x9d\x2e\x4a\x30\x27\xb4\x04\x64\xe5\xb2\x58\xfd\x7a\xc5\xe2\x7b\x0d\x2d\x57\x2e\xc0\xc5\xe0\x3a\x93\x80\x03\x60\xe5\x5b\x90\xf7\xe9\x4f\xce\xce\x41\x25\xea\x9f\x5c\x8f\x31\x3f\xb9\x2e\x68\x2a\xbe\xcd\x21\x9f\x88\x7f\x29\x1a\x9d\x04\x3f\x3c\x7f\xf2\x2c\x00\xd2\x24\x70\x72\x6d\xac\x44\xea\x2b\xa5\xb2\x9f\x04\xc1\x1c\x30\x36\x51\x6f\x9d\x37\xa0\x66\xcf\x14\x9f\xce\x81\x2c\x13\xad\x6f\xa1\xd5\xb5\x8d\x93\x6b\xad\x6c\x9c\xdc\xef\x03\x9c\x71\x44\x2f\x61\x7a\x12\x1c\x4e\x83\x39\xa0\x68\x4a\x38\x7a\x5e\xbd\xbf\xaa\xb6\x8a\xe8\xc8\xfa\xf9\x3d\xa1\x53\xc8\x4f\x0e\x80\x24\xd7\x61\x8a\xcc\x8c\xe7\xf2\xae\xe1\xeb\x41\x98\x0f\x42\x15\x1e\xaf\xea\x25\x8b\x35\xf9\x3e\x85\x6c\xa2\xaf\xb9\xb3\x20\x02\xc9\x4a\xb9\x40\xe4\xf5\xb3\x4b\x48\x3b\xf2\xc2\x82\xbe\x8f\x28\x1e\x82\x4b\x3b\x1f\x88\xc9\xed\x6c\x1e\x8e\x6a\x9d\x99\xec\xce\xe5\x6b\x79\xd9\x95\x06\x60\xea\x3c\x2f\xb5\xb4\x99\xf3\xa2\x74\xec\x82\x89\xf3\xc6\x3a\xcb\xc7\xfa\x95\xb9\x0a\x00\x42\x3c\x30\xdb\x54\x27\xdf\x08\x22\x9c\x85\x2a\x91\x44\xd4\x52\x66\x5f\x4c\x54\x47\xf7\xd3\xb5\xca\xec\x67\x67\xf8\x7c\x40\x55\xba\x85\x7a\xaf\x83\x1f\xdf\xbe\x7e\xa5\x8a\xab\x87\xf2\x4f\xc6\x29\xce\xc6\x78\x34\x0b\x2f\x4c\xee\x0c\x3d\xf5\x81\xa7\xb9\x58\xd4\x6b\xfd\xfe\x84\xcc\x75\x7a\x0b\x3a\x66\xf7\xb0\x4a\xb2\xd2\xcb\x49\x5e\xa4\x90\xa3\xe7\x1f\x30\x13\x1b\x46\x1e\xc9\x2c\x24\x35\xd0\xba\x23\x83\xca\xc1\xb1\xfa\x5d\x22\x70\x70\xff\xbe\xfd\xf9\x69\xcf\xa2\x38\xf5\xe9\x18\xf3\xd3\x5e\x41\xd3\xe8\x1a\x8f\x42\x62\x05\x15\x9d\xaa\x57\x8c\x4d\x4e\x7b\xb5\x0d\x11\xe9\x9b\x20\x72\x41\x74\x77\xa5\x97\x3d\x7c\x10\x89\x19\xdc\xf7\x40\x92\xdb\xf1\xb4\x67\xb6\xe3\x62\x30\x07\xd1\x5c\x26\xc7\xae\xa0\x58\x15\xb2\xad\x19\x59\xdd\xc8\xef\xb5\x33\xa3\xfa\xf8\x81\xc9\x3c\x67\x70\x54\x7e\x26\x4d\x7e\xd5\x87\xc7\xad\x1f\xbe\x22\xfc\x2d\xaa\x92\xd9\x75\x0e\xbc\x5f\x8e\x31\x77\x86\xe8\x60\x40\xcd\xa7\x71\x98\x56\x8d\x20\x27\xc3\xb0\x36\x39\x6b\xb5\x3e\x7e\x0c\x82\xc8\x06\x51\x39\x77\x7c\x10\x5a\xd6\x4e\x41\xb9\x84\x29\x4e\x20\x47\x7f\xc1\xfc\x17\x9a\x96\x99\xd1\xc3\x03\x50\x54\x37\xd9\x5a\xb0\x7c\x5a\x51\x8c\xbe\xe0\x14\x96\xb8\x90\x18\xfd\xf8\xb1\xfc\xad\x10\x17\xed\xed\xa9\x38\x66\x59\x0d\xbe\x4c\x65\x7e\xaa\xda\xd5\xb8\x4a\x4f\x66\x2d\x09\xff\xeb\x2f\x98\x77\x0a\x9a\x76\x32\x84\x12\x59\xe3\x44\x46\x6d\xab\x60\xe8\xa0\x63\x20\xfc\x57\x04\xee\xf7\xa3\x93\xfb\x65\x7f\x6f\xdf\xfe\xf0\xf1\xa3\x74\x89\x0e\xec\x9e\x3e\x7e\x5c\xbb\x2b\x71\x34\xb8\x1d\xcd\x5b\x76\xa4\x64\xa7\x23\x42\xc3\x14\xf1\xb3\x0c\xe0\x73\x32\x32\x77\xbe\x50\xc6\x29\x46\x2c\x44\x51\xa4\x9f\x94\xf7\xa4\x7b\x13\xc8\xac\x2c\x1e\xea\x1a\x14\x07\x59\xb4\xb7\x17\xca\x4c\xf7\x98\x3d\x9f\xe6\x7c\x16\x85\x38\x3a\xe5\x67\xd9\xb9\x8f\x8b\x9c\x65\xe7\x27\x61\xa0\xaf\xe3\x0d\x06\x02\x2e\x19\x75\xf0\xde\xde\x22\x0e\x82\xce\xb2\x73\x50\xef\x42\x00\x8a\x4e\xaf\xe7\x27\xf2\x0f\x80\xef\x0f\x06\xe2\xaf\xbd\x3d\xf9\x66\x80\xa3\x28\x9a\xdb\xbb\xd3\xe4\x78\x2a\xf9\x0e\x9a\xdb\x36\x74\x85\x12\x43\x87\x7b\x7b\x3f\x87\xbc\xa7\xe2\x1a\xc5\xec\xcc\x73\xc5\x10\xcc\xe2\x94\x0f\x06\xad\x07\x76\x04\xea\x5f\x9e\xa1\xf3\x81\x01\xac\x02\x26\xe5\x28\xb5\x67\x52\x0d\x42\xf0\x22\xd3\x4a\x73\x1c\xc9\x9f\xac\x21\x99\xc7\x25\x70\xc6\x26\xf6\xa8\x18\x9b\x0c\x56\x13\x13\x54\x5a\x80\xcc\x19\xd4\x3d\xc7\x3f\x2a\x68\x73\x6f\x2f\xcc\x06\x43\x4e\x60\x98\x45\xd6\xb4\x18\x9b\x88\x49\x65\xf3\xba\x54\x5d\xe2\xdb\xc3\x17\x14\x14\x64\x2a\x1e\xd8\x17\xc6\x44\x33\x3c\x92\xb9\xa9\xd0\x25\xca\xf8\x33\x45\x3b\x26\x7d\x90\xcb\x05\x74\x1f\xe5\xd9\x61\x70\xe0\xeb\x34\x08\xa2\x7b\x9c\xce\xae\x9d\xc2\x08\x45\xce\x10\x2d\x93\x62\xd9\xad\xeb\xe7\x94\x1e\x41\x7d\x43\xea\x5a\x38\x61\x60\xc6\x2f\x27\x93\x04\xfa\x63\x25\x5f\x94\x39\x90\x82\x2b\x93\x10\xcb\x74\x51\xf6\x15\x44\xd5\x8d\xdc\x1e\x47\x92\xf6\x3f\x7e\x0c\x0f\x40\x6c\xca\x47\x58\x00\x65\xfc\xb6\x80\x18\x80\x45\x20\xc1\x11\x3a\xaa\x0f\x84\x53\x98\xa9\x2b\x56\xef\xc8\xc2\xd1\xd4\x0e\xec\x9e\x3c\xfa\xe6\x31\xe4\xf1\x24\x34\x9b\xc4\xc7\x98\x82\xef\x21\x4e\x51\x22\x38\x92\x40\x43\xa7\xbc\x05\x28\x33\x18\x09\x3d\xee\x84\xf7\xa6\xaa\x0d\x60\x1c\xc7\xef\x67\x52\x64\x99\xcf\xe7\x73\x30\x1a\x5c\x85\x49\x33\xab\x13\xd9\x52\xc2\xa5\xa1\x0b\xde\x11\x0d\xcf\xf2\x9b\xf6\x30\x75\x7b\x30\xd2\xe5\xd6\xe6\x30\x73\x7b\x28\x97\xeb\x0c\x6e\x2b\x5b\xd4\xa4\xb1\x0c\xa5\xc8\xbb\xbd\x4e\xc6\x6e\x27\x96\xf4\xbc\xbd\x5e\x1a\x7d\x54\x71\x95\xe0\x8c\xad\x9c\x02\xb7\x15\x48\x04\x12\x3b\x47\x55\xb3\xbb\xca\x41\x7b\x93\xfe\x2a\x28\x4b\x3b\x34\x01\x2e\x37\xe9\xce\xc0\x58\xda\x99\x6d\x42\xb9\x49\x87\x36\x9c\x25\x9d\xda\x37\x8b\x37\xef\xd2\x86\xe2\x74\x98\x58\x79\xc6\x7e\xae\xf2\x8c\x05\x4a\x51\xaa\xc4\x15\xa4\x8e\x49\x2b\xef\xd8\xeb\x45\xe9\x43\x7e\x03\xaf\x57\x4a\x1f\x82\x39\x9a\xee\xcb\x9a\xce\x77\x37\x79\xc8\xe1\xaf\xc9\xe1\xf3\x97\x97\xdf\xb8\xc9\x43\xb8\x3f\x51\x88\x7c\x65\xee\xe5\x04\x2c\x26\xf2\x42\x37\x25\x57\x95\x89\x56\xf2\x80\x8b\x0b\x9c\x74\x63\x92\x16\x53\x37\xe3\x6c\xdd\xd0\x78\x60\x12\xbc\xea\x6a\x77\xbe\xdc\x64\x87\x2a\x52\x62\x8c\x7a\x72\x2d\xea\x57\xb4\x41\xd0\xb9\x0c\xca\xbb\xcd\x55\x62\xf7\xba\xd7\x56\x27\xd6\x02\xc1\xe3\x29\x49\x50\xaa\xaa\xe5\xb5\x1f\xb8\x3d\x98\xe7\x3d\xb3\xf0\x4e\x06\xd9\x45\xdd\x2c\x2f\x20\x30\xac\xf0\x34\x84\xc9\x18\x75\xe4\xff\xbb\x5d\x9d\x7e\xc4\xc6\xd5\xa5\xb6\x61\xfb\xfa\x6c\x31\xe0\x57\x59\xc0\x74\xf0\x8a\x73\x49\x7a\x79\x8d\xb5\xe3\xe3\x0a\xef\x0f\xac\x19\xe7\x05\x9b\xa0\xe4\x09\xe5\x78\x24\xcb\xea\x35\xf2\xe7\x36\x93\xc0\x71\xbf\xf5\xbf\xe1\x1e\x37\xf4\x12\x93\x4c\xda\x27\xbb\x31\x4a\xd3\x2e\xcb\xe1\x82\x5c\xc5\x32\x12\x41\xe5\xe2\xf4\xe4\x3a\xab\xf9\x98\xea\x99\xce\x4c\xac\xc6\xb9\x33\x4d\xdb\x9f\xe4\x84\xf7\x58\x7d\x01\xf9\x87\xbc\x07\xd0\x2f\xe9\x2f\x41\xaa\x78\x81\xb6\x4e\xaf\x0d\xe9\xb0\x84\x24\xdd\x5b\x65\x91\xd1\x8d\x01\x1e\x95\x00\x3f\xdc\x1c\xd8\x81\x7f\x9e\xe5\xd3\xfe\xc3\x05\x91\x1b\x4d\x2f\x8c\xbd\xbf\x03\x98\xe7\x17\x82\xc7\x5e\xa8\x7d\x5d\x76\x2e\xff\x42\xdd\xc0\x5d\xea\x6a\x58\x0d\xdf\x5c\x23\xfc\x73\x03\x82\xa8\xd0\xb5\xf6\xb4\xfc\x53\xd1\xf3\x28\x32\x78\x09\x71\x0a\x87\x9e\xc4\x12\x8d\x8c\x77\xab\xc5\x4c\x34\x76\x99\xbd\x93\xaa\x2a\x2a\x32\x9b\x91\xdc\x4f\xed\x5b\xe9\xa8\x3d\x33\xe1\x7a\xcc\xb9\xea\xb6\x8d\x43\x1f\xdd\x9c\x29\x57\x9d\x30\xeb\xef\x26\x97\x3e\x5a\x27\x6a\xe7\x59\x55\x76\xe6\x66\x7c\xfa\xa8\xc5\xed\xd6\x9a\xe9\xd0\xe7\x4c\x5d\x48\x58\x19\xe1\x7a\x7d\x51\xb2\x9c\x98\x96\xd3\xcd\xf6\xb8\xf3\x66\xcc\xb7\x7f\x60\x71\x1f\x5b\xa0\x2a\x23\x7b\x97\xf3\x99\x3a\xd6\xfa\xfd\x95\x20\x2e\xf6\x7f\xb7\x39\x16\x0f\xbd\xe9\xeb\x83\xc7\x5a\x56\x08\x84\xa4\x06\x4d\xce\x94\xa9\xd0\xd0\x71\x36\xae\xc8\xcb\xf2\xd3\x55\x49\x26\x63\x92\xc5\xd0\x78\xea\x4c\x4e\xca\x54\xba\xe3\xa4\x3f\x5c\xfa\xdd\xea\x95\x69\x60\x56\xba\xe6\xe4\xc2\x8c\x08\xed\xda\x53\x2d\xff\xee\xea\x49\xaf\xe6\x6f\xab\xe4\xdd\xcf\x98\xcc\x4c\x0e\xa2\xb6\xb5\xef\xa8\xe4\xfd\xd3\xef\xaf\xfe\x9e\xbe\x7d\x9d\xbb\x92\x77\x23\x79\xae\xc1\x8a\x92\xd9\x6a\x29\x73\xfb\x7e\xa1\xb4\x3a\x38\x1b\x82\x2a\x28\xc1\x75\xbb\x39\x45\x97\x98\x08\x19\xca\x08\x84\x35\xe0\x87\x36\x70\x23\x0f\x1c\x7b\xe0\x24\x88\x71\xaa\x39\x92\x0f\xd0\xd1\x4d\x18\x7b\xab\xc8\x0d\x82\xb6\x3c\xbf\xcb\x63\xa0\x83\x7a\x14\xba\xe7\x8c\xb3\xa5\xc2\x87\x6b\x9c\x71\xdb\xd6\x42\x96\x1d\x78\xdf\xdc\x40\x2d\xb9\x65\xa5\xa4\x11\x1a\x64\x28\xa6\x26\xa2\x68\xca\x5a\x94\xa8\x59\x49\x53\x6f\x90\xe0\x02\x01\x08\x26\x08\xa6\x5c\x5f\x63\x56\x0a\xcb\xc2\xef\xcc\x1f\x6f\x8d\xbe\xe0\x97\x0f\xcd\xa9\x57\xed\x3b\xd5\x4c\x95\x30\xef\xd8\x3f\xba\xdd\xe6\x25\x00\x4b\xe0\xf0\x52\x9c\xaf\x2b\x89\x94\x3a\x60\x79\xc4\xd6\x33\x7d\xf9\x10\x63\xef\xd0\xb6\x81\x80\x80\x22\x98\x58\x9a\x49\x23\x23\x74\xe3\xe8\x3c\xb0\x35\x3e\x5d\xcb\x5c\x08\xfe\x62\xb1\x7e\xd1\x09\x80\x56\x93\xb8\x9b\xc0\x1f\x3a\x2a\x97\x5e\x2d\x19\x51\x48\xf9\x05\xce\x12\x1c\x43\x4e\x68\x4f\x46\x60\xf5\x9a\x18\x5e\x6b\x85\xfd\x39\x2c\x5a\x65\xee\xb6\xf3\xfe\xe8\xfc\xfc\xbc\x96\xf8\xba\x49\x6e\x1e\x82\x0a\x6a\x77\xf3\x96\xcb\x40\x87\x8d\x98\x7e\x87\x03\x1f\xdb\x1c\xb8\xd2\xc8\x26\x28\xcd\x1b\xaa\xdd\x72\x00\x95\xea\x1a\x8b\x83\x67\x03\x08\x8e\xca\xba\x01\x84\x4a\x47\x95\x71\x4a\x5d\x4e\x31\xcc\xc6\xa9\x7b\x0f\x6b\xb9\xdc\x57\x2f\x71\xb9\x40\x4d\x6b\xd0\x9f\xc3\xd0\x99\x56\xda\x2e\x72\x8a\x46\xf8\x43\x4f\xb1\x73\x7b\xd0\x2d\xe4\x54\xef\xd0\xdd\x9d\xad\xc8\xd7\x24\x13\x78\xe0\xf8\x86\xee\x1d\x2e\xe5\x28\xb9\xe0\x78\x8a\xf4\xa0\x7d\xe9\x94\xaa\xdd\x7d\x5c\x1f\x0f\xe5\xef\xb0\x24\x48\x86\x62\x92\x25\x6c\xad\xdd\xbd\x00\xb4\x90\xb7\x52\xc4\xd1\xaa\xd0\xeb\xfb\xd0\xb7\x0b\x8f\xd5\x45\xac\xea\x40\xa8\x78\xd3\x6f\x64\xf8\xac\x0c\x2c\x78\x83\x46\xe5\x65\xae\x98\x4c\xcb\xa0\xbc\xda\xae\x5d\xa7\xed\x22\x4b\x42\x73\x6b\x9b\x14\x10\x55\xd7\x8b\xec\x07\xf6\x19\x60\xb7\x92\x47\x50\x25\x8d\x88\x83\xe8\x1d\xc5\xe3\x31\xa2\x28\xe9\x0c\x67\x1d\xf5\xdd\x49\x47\xd1\xe7\x03\x8f\xf0\xe3\x1d\xad\x5d\x65\x20\x4e\x71\x3e\x24\x90\x26\xef\x54\xc0\xe8\x99\x81\xb4\x46\xb4\xaa\x6f\xf0\x17\x17\x6c\x02\xad\x13\xab\x24\x8f\x87\x55\x1f\x8b\xa3\x53\x97\xc7\xa7\xba\xb4\xf1\xc0\xe5\xd0\xed\xe1\x9e\xab\x95\xe3\xb2\x85\xac\xe0\xb1\x10\xdb\x19\x2f\x0f\x41\xf1\xf8\x07\x73\xe8\x94\x56\xa9\x72\xe9\x6a\xc5\xbb\x32\xc2\xbb\x52\x45\x53\x7a\x5a\x59\x96\x02\xac\xa6\xfb\x25\xe4\x2a\x8b\xa5\x73\x2c\x88\x53\x04\xb3\x6e\x91\xeb\x34\xc9\x75\x5d\x50\xea\x88\x4a\x21\x4c\xa4\xfe\x23\xa3\x00\xbb\x09\x66\x1c\x66\x31\xea\x72\xd2\xcd\xc8\x95\xae\x64\xda\x2d\xab\x89\x71\x5a\x88\xae\x51\x45\xad\x6b\xe8\x88\x96\x18\xfc\x99\x15\xc5\x2d\x94\x19\xff\xb2\xb5\xc4\xa3\x19\x7c\x34\xfe\xeb\xc8\xad\xec\xf7\x65\xfa\x67\x4c\x89\xdb\x4f\xa4\x1b\x55\x8b\xef\x58\xff\xfc\xaa\xef\xed\xfa\x68\x1a\x7d\x2e\xf2\xd1\x1c\x6e\xdb\x47\x73\xd8\xea\xa3\x39\xfc\x5c\x3e\x9a\xa3\x4f\xe8\xa3\x39\xda\x9a\x8f\xc6\x0f\xe9\x06\x3e\x1a\x3f\xc0\x0d\x7d\x34\x7e\x60\x9f\xc4\x47\x63\xf6\xb6\xdf\x4b\xe3\x1d\xd8\x97\xeb\xa5\xa9\x4f\xe6\x13\xfa\x69\xbc\x3b\xe5\xf8\xd3\xb9\x60\x8e\x3f\x9d\x0b\xe6\xf8\xb3\xb8\x60\x8e\xbf\xba\x60\x36\x75\xc1\x1c\x6d\xdd\x05\xb3\x18\xa2\x6f\xde\xcb\x5d\x30\x47\x4b\x5c\x30\x8f\x4b\xa9\xe0\x2e\x78\x63\x0c\xa3\xfa\x3c\x62\xb6\xbc\x63\x7f\x67\x45\xeb\x67\xbf\xc3\x47\xff\xf8\xeb\xa3\x5f\x9c\x32\x1b\x3a\xa5\xa4\xb1\x02\x0b\x1c\x68\x65\xbb\xaf\xd9\xc7\x37\xf6\x5d\x4d\x4b\x4c\x7b\x04\x8e\xea\xdb\x43\xd3\xaf\xa4\x4f\x79\xad\x4a\xac\xb8\x40\xe3\x1e\xe4\x9c\xca\x3f\x2a\xb6\x68\x68\x71\xa6\x2e\xce\xae\x40\x25\x62\x68\x9f\x91\x32\xf6\x75\x56\x85\x3b\x4b\x20\x2f\x66\xf1\x21\x42\xef\x67\x8e\xee\xb5\x5a\x6e\x09\x4d\x11\x7d\x2f\x45\xd4\x79\xd7\x8d\x89\x40\xaf\xc4\xe7\xa2\x85\xe6\x6d\xcf\xbb\x4a\x11\xcf\x71\x7c\x75\x59\x24\x07\x1e\x96\xa1\x6b\xde\x90\x04\x4d\x31\xa5\xf2\x08\xc8\x38\xc4\x99\x22\x8d\x32\x03\x81\x39\x8e\xcd\xd5\xe9\xea\xe6\x34\x91\x0e\x1f\x66\xec\x71\x7d\xa3\xbe\x99\xc8\x12\x9f\x5f\x49\x9f\x7d\xbe\x7b\xd8\x15\x38\x43\x53\x72\x9d\xd4\xe0\x56\xa3\x2c\x77\x5d\x3f\x1b\x7d\x69\x44\x76\xf1\x14\x8e\x51\x97\xc3\xf1\x27\x29\x03\x0c\xaa\xd1\xc8\x8a\x66\xfb\xaa\x7b\x8a\x46\xac\xad\x36\x99\xba\x14\x9b\x02\xb8\xb5\x22\xc1\x6c\x39\x51\xfe\xfa\x8f\xd7\xf8\x9b\xbf\xbd\xa7\xed\x6c\xaa\x89\x40\x9f\x32\xb2\xbc\x32\xb0\x6c\xfe\x46\xce\xdf\xad\x04\x1c\x14\x14\x07\x8e\x85\xe1\x51\xad\x72\x9f\xcc\x9f\xa1\x01\x54\x44\xee\x2d\x34\xdb\xaf\x89\xe5\xd9\x3e\xac\x4b\xd6\x2e\xfd\x5b\x50\x97\x54\x7a\x35\x0b\xb8\x22\xfd\xb7\xd0\xdd\xa2\x7d\x60\x55\xb3\x04\xd3\x45\x7b\x82\x81\x30\xdd\x7a\xe9\x57\x79\x49\xa7\x2a\xf9\x0a\xbf\xd8\x92\xaf\x63\xc4\x3b\x52\xeb\x66\xce\x8d\x57\x48\xc7\xc6\x13\xa7\xdc\xbc\x3d\x8a\x54\x6a\x40\x79\x9b\xfd\x74\x95\x8f\x64\xc9\xfc\x59\x74\x72\x76\x2e\xfb\x29\xa9\xb6\xec\x4a\xde\x82\x1f\xe1\x2c\x79\x61\x5e\xe9\x0b\x5d\x6a\x48\xaa\x22\x6d\x5a\xaf\x48\x2b\x51\xfb\xb5\x12\xed\x9d\xab\x44\x0b\x07\x43\x90\x46\xd6\x45\x93\x99\xbc\x2b\x49\x67\x66\x52\xd6\x2d\x7d\x65\x30\x42\x3f\x32\x92\x59\x17\xf0\xf4\x77\x62\xcf\x92\x14\x99\xcb\x77\x4f\x49\x91\x26\x9d\x8c\xf0\x8e\x6c\xdb\x29\x5b\x76\x46\x84\x76\x0c\xbd\x06\x00\x45\xe0\x7a\x3e\xb7\xae\xae\x4c\x57\x39\x0f\xa5\x19\x40\x9e\x09\x9f\xe8\x28\xf4\xd5\xf2\x34\x83\xeb\xe6\xc3\xf6\x62\x9d\x8a\x7d\xc9\x8a\x9d\x15\x8e\xe3\x5d\x2a\xcd\x99\x7f\x2d\xcd\xf9\xc7\x28\xcd\x99\x2c\x97\xb5\x5e\x5e\xfe\xed\xd5\xd1\xe8\x97\x23\x5b\xd6\x2a\x2d\xb5\xa5\x98\x63\x8a\x24\xd6\x77\xea\xc2\xd4\x60\xc6\x28\x98\x53\x93\x2e\x3a\xe0\x70\xa8\xf7\x76\x70\x50\xc9\x6b\x76\x79\x2c\x99\x9f\xc9\xed\xa4\x12\xec\xcc\xfe\xec\xe8\x4f\x3a\xea\x93\xce\xff\xca\xff\xa4\x85\x4d\x67\x2d\xeb\xc2\x24\xa1\x83\xca\x8a\x2a\x84\xbd\x09\x61\xbc\xca\xaf\x2c\x64\x31\x5f\x3b\x59\x91\x83\xbc\x47\xd9\xa0\x19\x8e\x63\x20\xc9\xf7\x75\x9f\x98\x0f\x96\xce\x1c\x25\x61\x0e\x38\x2d\xdc\x81\xf2\xae\x46\x5d\xa7\x3e\x50\x3d\xbb\x57\xd5\x58\x8f\x3c\x52\xe2\xb9\x36\xfe\xda\xfa\x50\x3e\x13\x9b\xa5\xab\xf0\xb9\xa2\x44\xe8\x72\xde\x45\xe5\xfd\x47\x83\x10\xae\x24\xe3\xc9\x43\xd4\xca\xa2\x13\xdb\x59\x74\x98\x4e\x60\x63\x1e\x2a\x74\x82\x42\x3f\x96\x82\x8b\xa6\x59\xf1\x26\x34\x17\xf9\x6b\xcf\x74\x82\x0e\xe7\xb6\x7d\x9c\x62\x94\xf1\xde\x18\x65\x88\x42\x8e\x5e\x92\x31\xce\x54\x83\x0c\x5d\x75\xd2\x5e\xf5\xe0\x0d\xfa\xbd\x40\xcc\x5c\xc2\xcf\x71\xef\x57\xcc\x27\x3f\x21\x0e\x85\x32\x27\x1f\x2a\x2a\x40\xbd\x31\xe2\x66\x1c\x42\xfa\x32\x64\x54\x0a\x5f\xff\xfa\xcf\xeb\x2b\x9c\x25\xe4\xaa\x67\x72\xda\xf5\xcc\x37\xf3\x93\x6f\xbf\x39\xe8\xff\x4b\xb6\xb3\x56\x75\xa5\xa6\xdd\x02\xff\x6b\x3e\x07\x6c\x90\x87\xb0\x79\x6f\x9d\x6e\xe9\xce\x77\xe1\x82\xd7\x8b\x71\x46\x6e\x7c\x4d\xba\x64\xc8\xe5\x35\xd7\x60\x3e\x8f\x00\xb4\x75\xe5\xd1\xa2\x6b\xad\x09\x18\x2d\xbd\xd6\x5a\x0b\x02\xb1\x45\x06\x79\xde\x77\xe3\x14\x77\xcb\xe8\xa0\xb6\x76\xce\x51\xbf\x81\x01\xa6\xb5\x81\xe1\x8d\xb5\x83\xff\xfe\x01\x18\x23\xde\xc4\x4f\x87\x1b\xbc\xcc\xe7\x2b\x4d\xbc\xdc\xec\xb7\x24\x33\xad\x50\xee\x7c\xd5\x12\xe7\xa5\xd4\x54\xc9\x4c\xc5\x57\x31\xe4\x8f\x21\x86\xc4\xcb\xc5\x90\xdf\xff\xfa\xcf\xe9\xdf\x5f\x8f\xb0\x63\xf2\x71\x02\xd8\x6b\x34\x6f\xee\x64\x3c\xe8\x97\x57\x77\x83\xa1\x8a\xff\x6d\xb9\x3f\xd1\x70\x67\x38\x56\x9d\x33\xed\x26\x79\x70\x68\x1d\xc5\xf9\xec\xad\x4a\xc2\x22\x93\x97\x4b\xb6\xc1\xaa\x07\x32\x61\xb7\x76\x65\x07\x4f\x49\x3e\x33\x99\x24\xab\x90\x44\x99\xf6\x46\xfa\x29\x75\x33\xb1\x69\x94\xcd\x12\x9c\xa9\x79\xfd\x47\x60\x22\x5b\xaa\x54\x91\x24\xb3\xfa\xad\x1e\x3e\xd7\xd6\xce\xe5\x17\x21\xea\x45\x09\x0e\x94\x2f\xcf\x0c\xcf\xc4\x77\x2e\x9c\xab\x99\x42\xb7\x4c\x53\x5b\x3d\x0b\x3c\xf9\x2b\x57\x8d\x48\x2c\x6b\xa4\x4b\xb9\xd2\xeb\x33\x2a\xb2\x54\xa1\x6a\xa6\xb3\x2d\xd6\x83\xfd\x1a\x4e\xcb\xd5\x84\x9d\x06\xc7\x5c\x24\xeb\xe4\xab\xca\x3a\xeb\xd8\xb3\x6c\x1c\x5b\x76\x2d\xf6\xc5\xda\xb5\x4a\x32\x0c\x75\x62\x1e\x6b\x06\x83\xfb\x07\x2a\x69\x96\x4e\x21\x14\x86\xd1\xe0\xcf\x9e\xaf\xfa\xf3\x08\x1c\xa2\xa3\x48\x4a\x33\x45\x5d\xdc\xa8\x21\xe4\x8c\x6e\x5f\xe8\xb8\xdf\x17\x42\x87\xd3\x6b\xb5\xb9\x84\xa0\xb3\x6a\x9a\x8f\x16\x10\x11\x80\x76\x8e\x8f\x9a\x7c\x93\x2f\x92\x6f\x62\x90\x2f\x3d\xe6\x95\x18\x93\x93\x9c\x5c\xba\x9e\x49\xf5\x8a\x13\x92\x72\x9c\xb3\xf6\x46\x3b\x29\xde\xd4\x26\xb7\xde\xbc\x4d\xa3\x1d\x9d\x77\xce\x67\xfa\x0e\xd9\x9d\xf5\x3a\x3e\x3d\xfe\xf5\x6f\x3f\xbe\x7c\xfd\xb2\xd5\xc1\x63\x63\x61\x2d\x3f\xf4\x8d\xbd\xcf\x56\xcf\x9f\xc9\x3b\x88\x3e\xa0\xf8\x76\xe4\xf9\x31\x21\xe3\x54\xd6\xc6\xe7\x64\x58\x8c\xf6\xd5\xef\xfd\xf2\xb7\x9c\xfb\x45\x3e\x74\x2c\xa1\x0d\xb7\xa1\x18\x61\xf7\x0a\x0d\x19\x89\xdf\x23\xde\x85\x49\x22\x0f\x65\xe7\x2b\x45\x00\x5d\x8e\xe8\x14\x67\x30\x5d\xd7\x06\xbb\xaf\xf8\xff\x3e\xca\x2e\x31\x25\x99\x8e\x6f\x6a\xd1\x2e\x80\x34\xc7\x82\x58\x1d\xc5\xa5\xbb\xaa\x66\x03\xdf\x1d\xfb\xec\xe4\xab\x62\xf4\xc7\x50\x8c\xc6\xcb\x59\x25\xf9\xf1\xcd\x8b\xf7\x6f\x48\xbe\xd8\x3e\x5b\x6e\x32\xcb\xb7\x5d\x3d\x6b\x88\xea\xa5\x09\xb1\x64\x90\x14\x65\x89\x38\x3a\xab\x36\x2b\xb0\xca\x92\x51\x2d\x12\xa3\x2f\x07\x61\xbe\x91\xc9\x70\x56\x66\xbe\x66\x32\x3c\x16\x24\xda\x3e\x68\x5e\x54\xb1\xba\x2f\x92\x2a\x35\xb7\x79\x5b\xf1\x9d\xa1\xf3\x46\xb1\xad\x32\x2b\xb7\x4c\x3b\x6d\xc3\x3a\xc9\xec\xdc\xd3\x3a\xc5\x6c\xf5\x7a\x90\x29\x9b\xa1\xe9\x40\xac\x21\x2c\xd7\x50\x3d\x13\x8b\x97\xe5\x05\x7f\x86\x99\xc9\x73\x6e\x52\xb5\x9a\x66\xbd\x11\x89\x0b\x66\x12\x8f\xca\xeb\x8b\xcf\x3f\xa0\xf8\x2d\xa7\x08\x4e\xc3\xac\x4c\x5e\xea\xbc\x40\xca\xf0\xa9\x13\x68\x6b\xdc\xc8\x5c\xc4\x32\x93\x28\xca\x38\x8e\x21\x47\xc9\xa9\x32\x5f\x82\x6c\x90\xa1\xab\xce\x2f\x6f\x5e\x86\x71\x99\xff\x13\xe6\xf8\x49\x92\x50\xc4\xd8\xc7\x8f\xae\xf9\x91\x93\xb7\x32\x17\x9d\x38\xb4\xb2\x32\x5d\xf0\x20\xb8\x62\xec\x24\x00\x99\x2c\xa9\x2f\x94\xc7\x41\xb0\x7f\xd9\x97\x24\x20\x9e\x32\x04\x69\x3c\xf9\x19\x52\x38\x65\x3d\x98\xe7\x28\x4b\x42\x63\x49\xe4\x8a\x0e\xb0\x1c\xc8\xaf\x68\xf8\x56\xa2\x3f\xcc\xa2\x7b\xb8\x37\xc4\x19\xa4\xb3\x77\xb3\x1c\x0d\x54\x6c\xea\xb0\x18\x8d\x84\x9c\xab\x66\x27\xbf\x1c\x60\xd9\x9e\x0e\x94\x05\x57\xe0\xa2\x84\xf2\x44\x1c\x3d\x21\x06\xd7\x43\x9c\x60\x8a\x24\x7f\x81\xa9\x90\xc4\x6a\x0b\x8a\xe6\xc6\xa4\x6b\x90\x9f\x12\x98\xa8\xc6\x34\x9a\x27\x98\xc5\x24\xcb\x50\xcc\x4b\xb3\xb2\xe8\x8b\xf4\x2a\xbc\x6b\x6b\xf1\x3d\x24\x8e\x7c\x19\x92\xf4\x9c\x8c\xa4\x4d\x99\xf6\x54\xc2\x60\x7b\xc8\x3d\x26\x10\x20\xbe\xa5\x8a\xb7\x7c\x27\xe7\x19\x46\xf5\xaf\xe2\x94\x08\x0e\x39\xbf\xc2\x69\xfa\x4c\xa5\x9c\x30\x5a\x96\x3d\x24\x20\x37\x45\xaf\xf6\xd5\x7c\x0e\x92\xc1\x24\xcc\xeb\xb9\x0e\xf5\x46\x39\x63\x5b\x32\x0e\x8f\xdc\x2e\xea\x5b\xee\xac\xd8\x56\x2a\xcd\xa1\xdb\x51\xb5\x7b\xb7\xd7\xc9\xb4\x81\x30\xcd\x08\xb6\xd7\x45\x6e\x4b\x7a\x97\x8b\x74\xbf\x31\xb8\x5c\xae\x0b\x7c\xe0\x88\x66\x30\xed\xa6\x38\x7b\x7f\x77\xb5\x01\x8a\x7f\x3a\x78\x33\x84\xfb\x4e\x0c\xe2\x91\xb1\xae\x19\x03\xda\xc5\x30\x85\xd9\xfb\x40\x3f\xa6\xb2\x28\x5f\x46\x48\x8e\x32\x44\x3b\x19\xa1\x68\x84\x28\xd5\x81\xab\xdf\x34\x6f\xd1\x6b\xbd\xe1\xb0\x5d\x6f\xd8\x4a\x0c\x73\x6d\xd1\x3e\x93\x0a\x21\x73\x0f\x77\x75\x26\xe4\x36\xb7\x88\xfc\xa8\xbd\xd5\x4e\x6a\xcf\xb5\x7b\x0c\xb5\xfd\x32\x81\x6c\x82\x63\x42\x73\x6d\x24\xb0\xbe\x64\x6d\x10\x76\x12\x05\xd6\xd5\xfb\x3b\xcb\x31\xd0\x37\xdf\x7d\xf7\xec\x6f\xfb\xcf\x6c\x8e\x61\xb2\x29\x54\x81\x96\x5b\xcc\x4a\xd0\xf7\x66\x25\xb0\xb2\x11\xac\x99\x3a\x21\xa8\xdf\xa7\x6a\xc6\x95\x7a\x33\x1a\xf4\x97\xdd\x3c\xdb\x20\x95\xc1\x51\x05\xbb\xbd\xe2\xe3\x0a\xb7\x78\xeb\x05\x7c\x83\xc7\xfe\x14\x02\xf5\x7b\x46\x37\xbf\xc0\x5f\xcd\xef\xf6\x38\xed\xbd\x45\xbb\xad\x2c\x4c\xb5\x6f\xe7\x38\x6a\x63\x3d\x09\x62\x78\x9c\x75\xd9\x8c\x71\x34\xed\xd6\x5c\x13\x4b\x20\xee\x24\x2b\xaa\xa6\xe2\x33\x67\x6d\x8a\x16\x05\x6b\xc7\x11\x62\x18\xcf\x36\x10\x62\x6e\xc6\xee\x2a\x42\x2e\x21\x87\x74\x5b\x24\x62\x03\xdb\x59\x94\xa8\x8b\xc1\x31\x29\xb2\x6d\x6d\x9d\x26\xc4\xdd\x46\xce\x36\xd1\xb2\xf3\x08\xa1\x08\x26\x31\x2d\xa6\xc3\x6d\x61\xc5\x05\x78\x27\x50\xc3\xd1\x74\xab\x98\x11\xf0\xee\x02\x62\xb4\xdc\xb5\x0d\xb9\xc5\x0f\x75\x77\x91\x24\x45\xd3\x2e\x43\x5b\xe3\xc2\x2e\xc0\x1d\x47\xcd\x56\xd1\xb2\xeb\x28\x89\x55\x84\xa9\xb9\x23\x7b\x53\xa4\x38\xe0\x76\x16\x2d\x09\x66\x71\x4a\x58\x41\xb7\x75\x66\x37\x00\xee\x2e\x6a\x28\xc9\x13\x72\xb5\xad\x6d\xe4\x80\xdb\x7d\xb4\xa4\x98\x71\x95\x35\x44\x5a\x0a\xb6\x72\x82\x2f\x04\x7e\x97\x50\xb6\x4d\x7b\xc4\x12\xf0\x77\x09\x6d\xf2\xe6\x08\x8e\x6f\x03\x65\x06\xf4\x5d\x42\x97\x2c\xee\x6d\xf2\x80\x6e\x1f\x65\x36\xf8\xbb\x84\x36\x86\x72\x48\x21\x27\x37\x17\x13\x16\x02\xbf\x4b\x28\xdb\x8e\xc5\xac\x15\xf0\xee\xa3\x8a\x93\xf1\x38\x45\xfb\xbe\xbb\x50\x37\x41\x54\x1d\xec\x9d\x41\xd3\x42\x17\xe1\xa6\x48\xda\x5d\xaf\xa1\x98\x8d\x15\xfa\xba\x3f\x24\xc9\xec\xc6\xe8\x69\x00\xbc\x13\xa8\x19\x11\xc2\xb7\xa0\xdf\x79\x40\xde\x09\xf4\x78\x73\xa8\xdd\x0c\x3d\x65\x42\xb2\x3b\x80\x9e\xed\xa8\x7a\x4d\x88\x3b\x8b\x9c\x11\xa1\xd3\x7d\x79\xc1\x6c\x48\x3e\xec\x0f\x9b\xb9\xcf\xd7\xc7\x8e\x07\xe4\x1d\x41\x8f\x2f\x1b\xdd\x4d\xf1\xa3\x60\xde\x11\x04\x8d\x29\x29\xf2\x2d\x23\x48\xc1\xdc\x6d\x04\xc9\x0b\xa7\x5b\x62\x3e\x0d\x80\x5f\x2a\x6a\x96\x46\x6e\x58\x33\xf1\x06\xcb\xdd\x0c\x39\x3b\x1d\x49\x57\xce\x45\xb2\x87\x6d\x52\x8e\x0d\xf0\x0e\xa0\x66\x7b\xde\x21\x1f\xcc\xdd\x46\xd0\x04\xa5\xb9\xbc\x55\xf2\x61\xab\x38\x6a\x82\xdd\x6d\x34\x95\xa5\xe2\xb6\x89\x24\x17\xe8\x6e\xa3\x48\xd6\xd0\xdb\x26\x7a\x6c\x80\x3b\x8e\x1a\x34\x46\xd9\x56\x39\x74\x0d\xe2\x6e\x23\x87\xc2\x04\x93\x2d\x6a\x15\x16\xbc\xbb\x80\x98\x2d\xea\x13\x36\xc0\xbb\x80\x9a\x2d\x6a\x12\x36\xc0\xdd\x46\x0d\x43\x29\x8a\xf9\x16\xf7\x93\x0d\xf0\x4e\xa0\x66\x8b\x3b\xaa\x06\x71\xb7\x91\x23\x93\x0c\xca\x1b\xb1\x5b\xa4\x1d\x17\xe8\x9d\x41\xd1\x16\x69\xa8\x01\x75\xf7\x91\x04\x29\x82\x5b\xa6\xa2\x0a\xe4\x1d\x41\xcf\x96\x29\xc8\x82\xb9\xe3\x08\xd2\xce\xcc\xed\x51\x8f\x05\xf0\x4e\xa0\x66\x9b\x94\x63\x43\xbc\x13\xc8\xd9\xa2\x4c\x58\x83\xb8\xb3\xc8\x51\x25\xdc\x70\xba\x2d\xbf\x96\x0b\x6f\x77\x11\x53\x05\x2e\x6d\x0b\x35\x0d\x88\x3b\x8b\x9c\x14\x67\xef\xf7\x4d\x12\xc8\x1b\xa2\xc5\x86\xb5\xdb\x08\x61\x1c\x66\x09\x4c\xc9\xb6\x90\x62\xc1\xdb\x59\xc4\x30\x8e\xf2\x1c\x51\xf9\x6f\x65\xd1\xbc\x31\x7e\x5a\xc0\xee\x3c\x9a\x38\x64\xef\x6f\x01\x4d\x0e\xd8\x9d\x45\x53\x5b\x9d\xad\xf5\x31\x53\x41\xda\x5d\x64\x10\xc8\xb6\xe5\x95\xb1\x61\xed\x2c\x42\x66\x5b\x74\x74\xce\x76\xde\xc7\x29\x43\xae\x3e\x49\x29\x1e\x6f\x52\x47\x9d\xf7\x10\xa4\x5b\xab\x3b\x07\x57\x48\x44\xf4\x7d\xba\xff\x97\xbf\x42\xe4\xa4\x25\x0d\xac\x82\x98\xb2\x40\xc9\x5a\x05\x32\x9d\x34\x21\x26\x19\xf7\x90\xc2\x2c\x09\x6a\x45\xab\x75\x69\xe6\x14\x9b\x7b\x93\x2b\xa6\xf8\x3e\x5c\x54\x5c\xbc\x4c\xe4\x19\x93\x54\xd6\xfb\x3d\x3c\xf6\x16\x3d\x6e\xa4\x0e\xc9\x13\xd6\xed\x5e\x62\x56\xc0\x34\x9d\xfd\x80\x93\x04\x65\x2d\xe9\x43\x82\x9c\x92\xa4\x88\x79\x4f\x67\x3e\xf1\xa6\x11\x69\x4d\x22\x72\x00\x82\x0c\x5e\x7a\x0a\x3f\x37\x73\x98\x3f\x04\xc1\x84\xf3\x9c\x9d\xec\xef\x9b\x69\x99\x3a\xde\x98\xec\x27\x24\x66\x66\x6a\x8b\xeb\x73\x3b\x49\xdf\xd5\x82\x64\xf0\xb2\xeb\xcb\x90\x1e\x08\xb8\x2a\x03\x97\xbf\x58\xf4\x33\x12\xcb\x3c\xdf\x72\xd1\x5a\x53\xa6\x58\xd5\xd1\x65\xae\x75\x98\xbd\x24\x63\x52\xf0\xc0\x29\xd8\x6d\x70\x32\xb1\xe8\xcb\x2d\xfe\x5d\x8d\xff\xa1\x9e\x6e\xf9\x3f\x7f\xe9\xed\x15\xa1\x7d\xd3\x0a\xad\x96\xdf\xa5\x5e\x0a\x7c\x21\xf4\x0a\xf6\x23\x3b\xb9\x4d\x35\xf9\x2a\x5d\xa5\x8d\x11\x5f\x6a\x79\x27\xdf\xcc\x3a\x55\x67\x81\x55\x0e\xbb\x9e\x81\x46\xb0\x23\x27\xcb\x9a\x4a\x54\xa3\x52\x82\x97\x05\x72\xac\x27\x38\xbb\xc4\xb2\xc2\x7c\x6a\x46\xbb\x3c\x4d\x8d\xcd\x4d\x17\xe5\xca\x64\x83\x90\x6c\x3d\xe5\x7c\x99\x16\xb0\x4a\x37\x9f\x7e\xb1\xe9\xe6\x65\xa1\x1c\x43\x09\x4e\x25\x45\x93\xec\x12\xb3\x27\x76\xa6\x4b\x59\xdb\x90\xd4\x6b\x1b\x96\x73\xfe\x5a\xdf\xf0\xce\xd5\x37\x4c\x07\x43\x40\x1a\xb5\x49\xad\xa4\x4d\x6c\x51\xde\x45\x08\xd8\x52\xe1\xa7\xb4\x42\xdd\xdd\x0c\x6a\xc9\x5f\x67\xbf\x92\x27\x07\xac\x35\x03\x7b\x85\x03\x9f\x98\xd3\xcc\x40\xec\x0a\x1e\x26\x17\x9b\xae\x2f\x72\x78\x0e\x82\xfe\x43\x23\x7e\xf8\xb2\xa1\x35\xab\x84\x28\x16\xfd\x18\xb3\xb7\x53\x98\xa6\x16\x57\xaf\xf3\x70\xbc\x5a\xf1\xdb\x72\x42\x9f\x29\x53\x58\x55\xaa\x77\x73\xa2\x92\x2f\xda\xc4\x6a\x9d\xd9\x91\x64\x71\x41\x29\xca\x62\x2f\x91\x7d\xb6\x9a\xce\x87\x6f\x5f\xf4\xff\xfa\xcb\x87\xd8\x57\xe0\x47\x11\x5c\x55\xca\x58\x57\x0b\xd4\x55\x75\x64\x49\x5b\xbf\xb0\xed\x6d\x7f\x71\x51\x50\xdc\x22\x4f\x56\x02\x98\xfc\x66\x41\x46\xbb\xa6\xc8\x36\x81\xec\x1d\x1c\xd7\xe5\xb5\x45\xa3\xe0\x70\xdc\x91\xf9\x85\xd4\xff\xbb\x5d\x9c\x8d\x88\x9b\x78\x50\xc3\xce\x29\x62\x42\x84\x1c\xa6\x48\xf5\xd1\x1c\xbe\x3b\x01\x6f\x93\xfa\x64\x5b\xf2\xf3\xb5\x88\xa4\x1c\x8e\x5f\xb0\x67\x78\x8c\x18\x6f\x4e\xb2\xa1\xbf\x58\x13\xb5\xd2\xf8\x75\x64\x52\xeb\x2e\xc5\x99\x2a\xc8\xfd\xd0\x4a\xb1\xa8\xaa\x6f\x1f\x96\xf5\xad\x45\xe3\x9e\xd5\xb6\x6b\x2e\x62\x2a\xfd\xc1\x2d\xa3\xa4\xa4\xb0\xb2\x88\x92\x61\x31\x6a\xe0\xaa\x14\x93\xea\xe1\xc8\x12\x2a\x13\xcc\xf2\x14\xce\x9e\xd6\x2a\x1b\xd5\x7a\x58\x45\x4b\x38\xf6\x64\x77\xb4\x0b\x27\x79\x7a\x01\x01\x66\x6f\x8a\x2c\x93\x88\x58\x56\x4b\xa9\x1b\xab\xc2\x51\x5e\xb5\xac\xa9\x48\xd4\x97\xb2\xaa\x3f\x59\x32\xce\x66\xf5\x70\x29\xd3\x3a\xe9\x16\x03\x10\xe4\x88\x8e\x08\x9d\x6e\x50\x4b\xa9\x5a\xc1\xad\x95\x0e\x97\x35\xac\x39\x64\xef\xa3\xf0\x9a\x22\x99\xf7\x5c\xcb\x62\xf3\x08\xb8\x95\x98\x68\x29\x16\x0b\x89\xb1\xa0\x38\x8c\xae\xf1\x28\xbc\x5f\x55\xd3\x36\x58\x88\x4c\xed\x41\x99\xe7\x9d\xa2\x31\x66\x9c\xce\x4e\x10\x10\x2b\xc9\x72\x18\xa3\x13\x0e\x28\xca\x09\xc3\x82\x5d\xd5\x92\xbf\x97\x40\x74\xf1\x85\x33\xc9\x45\xcf\x7b\x23\x9c\x72\x44\xc3\xef\x08\x49\x11\xcc\xa2\xde\x6f\x04\x67\x61\xb0\x1f\xe8\x02\x91\x92\x51\x54\x05\x88\x3c\x83\x3a\xed\x71\x38\x96\x1f\x5b\xbb\xce\x57\x38\xbc\xd6\xe0\xb4\x87\xb3\x38\x2d\x12\xc4\xc2\xe0\x24\x88\x4e\x4f\xef\xf7\x25\x8c\x3a\x2b\x28\x73\x98\xb7\x40\xb9\x87\x47\x42\x48\xc5\x23\x55\x21\xdc\x1a\x80\x6c\x78\x26\x66\x38\x40\x3d\x96\xa7\x98\xcb\x7e\xee\x95\xb5\x2a\xf9\xfc\xe4\x3f\xaf\xb3\x1e\x2b\x86\x8c\xd3\xf0\x00\x7c\x13\xcd\xff\x35\xd7\x63\x46\xf3\xf9\x7f\x37\x37\x42\x39\x98\xf2\xdc\xec\x71\xc4\x38\xce\xc6\xa7\x07\x27\x87\xe8\xe8\x9e\xd4\xd0\xd4\xd2\xe3\x29\x22\x05\x8f\x42\xa4\xca\x95\xc3\xba\x48\xef\xdb\x64\xf9\xe0\x2c\x15\x62\xbd\x3e\xc7\x56\x2b\xdc\xe4\x01\x14\x81\x51\xad\xbb\xaf\x92\xfe\x17\x21\xe9\xc3\x9a\x84\xb5\xb4\x8c\xf8\x6f\x8c\x64\xdd\x4b\x8c\xae\x1a\xd7\x4f\x6f\x68\xb2\xfc\xec\xc2\xfa\x37\xef\xc7\x97\x1f\xfe\xf4\xa7\x56\x61\xdd\x9e\x79\x5d\x72\x70\xce\x78\x59\xb9\xfd\x0d\x62\xd2\x68\x1c\xe8\x2a\x84\xad\x67\x7d\x65\x0c\xf2\x1c\x94\x8b\x40\x82\xa0\xbc\xfb\x74\xde\x7a\x80\x39\x52\x54\x5f\xce\xe7\x18\x9c\x1d\x3d\xb2\x2d\x9a\x6a\x5b\x80\x80\xc8\x54\x33\xcc\xb6\x18\x89\xa3\x0b\x72\x8e\x92\x1f\xdf\xbe\x7e\x65\x57\x49\x8c\x49\x82\x7e\xc2\x62\x24\xaf\x4d\x2b\x3b\x7f\x73\xb3\x8e\xb2\xe7\x61\xfd\xe8\xcc\x13\xa6\x2e\x75\x55\x49\xd5\x65\x2f\xdd\x29\xd6\x38\x5c\x7e\x64\x5a\x8b\x74\x03\x15\xa4\xcd\x3a\x24\xcf\x81\x6a\x29\x1a\xc7\xa1\xe8\x5d\x1f\x85\xd7\x72\x26\x27\x19\xba\xea\x3c\x57\xa5\xfd\x5f\x91\x8e\xaa\xde\xdf\x11\xa8\xec\xe4\x94\x5c\xe2\x04\x25\x41\x34\xbf\xc7\xe9\x4c\xb3\x90\xeb\x04\x72\x78\x22\x3e\xe8\xc9\x8e\x42\x07\xf8\x7c\x1e\x43\x1e\x4f\x04\x5b\xac\xf5\x83\xe6\x73\x79\x4a\xd5\x96\xab\xaa\x09\x2c\xa0\x0a\xb6\x27\xa1\x59\x33\x38\x95\x3d\x31\x59\x8c\x04\x8f\x54\xed\x16\xfb\xbd\xac\x79\xa2\xc8\xe4\xb0\x34\x20\x89\x7e\x58\x4c\x11\xca\xde\x48\x93\xdb\x4b\x38\x44\xa9\xef\x5c\x95\xd7\x3f\x4e\x4f\x03\x49\x3a\xba\x3c\xb3\x43\x34\x65\xb3\xeb\xa9\x58\xa0\xeb\x4c\xae\xec\x6f\xf0\x12\xaa\x73\x25\x00\x62\xda\x62\x6f\x03\x8a\x60\xf2\x3a\x4b\x67\x27\xf7\x0f\x80\x58\x61\xc1\x78\x7e\x82\x74\x8c\xb3\x93\xfe\xfe\x01\x68\x8c\xe8\x44\xd9\xb3\xdc\xc7\xf3\xf9\x7c\xad\x34\xff\x72\x12\xdd\x14\xb3\x3b\x9c\xea\x9d\xb0\xf8\xf9\x3e\xa2\x13\xd7\x27\x53\xa4\x41\xc9\xfe\x2c\x3c\x78\xb8\xdf\x61\xa9\x19\xf4\xdd\x5c\xe7\x86\xcb\xb8\x06\xed\x14\x57\xc0\xfd\x2a\x5c\x55\x0f\xfe\x48\x73\xb6\x13\x4b\x3f\x3b\xf4\xb1\x94\x43\xf9\xa9\x23\xb6\x57\x52\xbb\x9c\x84\x58\x3d\xc3\xf1\xde\xa3\x99\x25\xc1\x23\x18\x4f\x02\x10\x74\xc5\xbf\x5d\xbc\x9a\x90\x5e\xe1\xe5\x33\xd5\xa1\x10\x30\x18\xef\x52\x94\x22\xc8\x50\xb7\xa0\xfe\x2b\x5c\xb7\x50\xa8\xfa\xcb\x71\x2a\xfe\x1e\x3f\xfd\xfb\x3f\x7e\x3d\x98\x7a\x6a\x15\xc8\x43\x0c\x53\xc6\xdf\x28\x04\x05\x20\x28\x68\xaa\x0f\x64\x4b\xe3\xee\x3f\x04\x0f\x6b\x0a\xf4\xc2\xc6\x95\x03\x4e\x7b\x1a\x95\x66\xae\x95\xec\x6e\x4e\xf1\x14\xd2\x59\xf9\xbb\xee\xfe\x58\xea\x3f\xb3\x2d\x1e\x87\x35\x83\x44\xcb\x60\x5c\x37\xa0\x91\x2f\x8e\x16\x17\x26\x0e\xbc\xe3\x6a\x9c\xdc\x2d\x7a\x71\xf3\x04\x77\xbd\x3c\x28\x1b\x11\x1a\xeb\x62\x88\x31\x49\x37\xd0\x81\xdb\xa8\x7b\x2b\x1e\x1e\x29\xbb\x0b\x72\xd5\x46\xbb\x7b\x56\x65\xb4\x4c\x39\x72\xf0\x20\xd0\x7d\xb3\x00\x10\xed\xdc\xa1\x0b\x9c\x3b\x02\x94\xed\xdc\xa1\xad\xce\x1d\xda\xe2\xdc\xa1\xae\x73\x87\xd6\x34\x04\xda\xd4\x10\x48\xe5\xdc\x51\xb5\xaf\x52\x02\x93\xd0\x54\x37\x53\x3f\x54\xc9\x2b\x33\x97\x01\xbc\x82\x98\x5b\x67\xb5\x79\xa1\xa4\x08\x8b\xca\xc2\x4a\x8b\x35\xdf\x44\xf6\x49\x6f\x1e\x9e\x1d\x9c\xfb\x9c\x44\x15\xf2\xa4\x97\xa8\x2c\x01\xf5\xd5\x4d\x74\x17\x94\xc7\xdb\x77\x13\xa5\x64\xdc\x65\xb2\x3a\xdc\xed\x9c\x6a\x4b\xeb\xa9\x26\x12\x48\xc6\x56\x2b\xad\xba\xa0\x78\xaa\xe2\x34\xb2\x82\x2a\xc8\xab\xa2\xa9\xc9\x2e\x15\x4d\x1d\xe9\x4a\xa2\x25\xcd\x76\x70\xd6\x41\xa7\x0b\x46\xad\x7b\x73\x36\xb7\xbb\xf5\xad\xcd\x3e\x8f\x4e\xd0\x19\x3f\x1f\x64\x00\x55\xfd\x0e\xbf\x16\x6b\xfd\x63\x14\x6b\x9d\x2e\x97\xf5\xfe\x71\x35\x9b\x7d\xf3\x97\x7f\x27\x2d\xb2\xde\x04\xb2\x97\x64\xcc\x6c\x8b\x8b\xbf\x84\xd4\x9a\xe5\x5c\x5d\x8b\x4a\x33\x34\x6c\x59\x4c\x94\x96\xea\x0e\x2d\xf5\xe9\xdd\x04\x51\xd4\x81\x14\x75\x32\xd2\x49\xc9\x98\x75\x38\xe9\x68\xdb\xa9\xd0\xe5\xe5\x11\xdb\x81\x79\xde\x99\x21\x1e\xf8\x43\x7f\x1c\x90\x62\xf2\x9d\x2b\x9c\xa6\x9d\x21\x32\xa0\x50\xd2\xb9\x9a\x20\x71\x60\x23\x09\x2c\xa7\x38\xe3\xb2\x2f\x15\x64\xd9\x21\x05\xef\x10\x6a\x7e\x69\x93\xd5\xd2\xe0\xb2\xf2\x49\x43\x10\x74\x2b\xdd\x3a\xc5\xc6\x57\x91\xfb\x1c\xbe\xbf\x48\xde\x9b\x0d\x42\xb6\x51\xf5\xdb\x44\x17\xab\x85\x39\x0e\x40\xa1\x2b\xd8\x26\x8d\xda\xb6\xb1\xf3\xc6\x90\x18\xc8\xf5\x8b\x91\x7e\x41\xb2\x67\x90\xc3\x00\x84\x68\xf0\xe7\x6b\x1d\x4e\xc3\x7f\x50\x5f\x87\x82\xe6\xc7\x88\xbf\xc4\x19\x62\x2f\x31\xe3\xa1\xc5\xaa\xc4\xf7\xaa\xe2\xac\xfc\xe6\x1d\x9e\x22\xc6\xe1\x34\x0f\xa3\x7b\xd2\xc2\xa4\x25\x2e\x39\xdb\x4c\x39\x71\x94\xa5\xe7\xcd\xf7\x4f\x8f\x8e\x8e\xbe\x8d\x42\xde\xe3\xe4\x19\xe4\x48\x28\x8f\xf5\x2a\xac\x82\x21\xa1\x34\x0b\xff\xf5\x9f\xd7\xd9\xfc\xa4\xf3\x9f\xd7\xe5\x30\xc2\x68\xfe\x2f\x71\x00\x0b\x9e\x58\x4d\xe1\x2d\x87\xbc\x60\xed\x93\x38\xed\x25\x88\x43\x9c\xb2\xbd\x3d\x7f\x47\xc8\x7c\x20\x01\xcb\x6f\x34\xc6\x06\xf7\xfb\xcd\xb2\xbe\x74\x69\x59\xdf\x52\xac\x95\xfe\x2a\xf3\x9d\xae\xd5\x5b\xab\xe1\xeb\xbe\xab\x39\x69\x72\xdc\x8b\x53\x8c\x32\xe9\xc3\x78\x49\xc6\xfa\x23\x5b\x06\xfe\x1d\x94\x9f\xfe\x8a\xf9\xe4\x27\xc4\xa1\xd2\xc6\x49\x16\x2a\x23\x9a\xfa\x40\x2d\xb4\x58\x51\xf1\x82\x69\x8c\xe9\x57\x0a\x81\xd1\xdc\x46\xdb\xb5\x8d\x86\x8f\x1f\xc3\x3a\x56\x0e\x94\x33\x66\x18\x32\xdb\x87\x22\xa9\xf2\x2c\xdd\x52\x99\xd9\xd8\x05\x6f\x55\x7f\x85\x5b\x2b\xcd\xea\x76\x52\x6e\x95\xed\xf5\xc1\x6c\xeb\xc8\x6c\x91\x7c\x39\x05\xb3\x55\xe4\x4b\x9c\x75\x55\xbc\xe1\xed\x4a\x98\xaa\xca\xbf\x6e\x4c\xe4\x79\xb9\x5d\x99\x52\x08\xdf\xf7\x9a\x22\xd3\x2e\xc8\x95\xd3\xaf\xf2\xdd\x1f\x43\xbe\x9b\x2d\x97\xef\xbe\xfb\xa9\xff\xbc\xff\x5b\xff\x2f\x4e\xa5\x62\xe9\x89\x0a\x4a\x83\x9b\xdc\xb7\x41\xe9\xcc\x3a\x38\x07\x67\x01\x2b\x86\xaa\x22\xab\x96\xe6\xf4\x37\x96\x24\xe7\x09\x6e\x0a\x4c\x32\xb8\xb6\x68\x26\x63\xfb\x36\x21\x53\x23\xe9\x7b\x53\x1c\xa3\x2b\xcb\xaf\x77\xcd\xed\xeb\xd2\x5a\xa7\xe3\x56\xfa\xe7\x4e\x48\x8e\x6c\x74\x21\xc7\xd5\x93\x87\x9c\x38\x91\x2e\x0c\x78\x3d\xca\x25\x2d\x6a\x5f\x7b\x2b\x89\xba\xd6\xbf\x00\x16\x9c\xc8\xa0\xa1\x00\x04\x1a\x85\xfd\xd6\x29\x3c\x04\x41\x9e\xc2\x18\x4d\x48\xaa\x72\x0c\xaf\x37\x19\xbb\xed\xaa\x53\xf2\xb4\x31\xb1\x49\x6a\x37\x5a\x22\xba\x6a\xfe\x4e\x96\xbd\xf7\x05\xb1\xfb\x82\xcc\xec\xb5\x2c\x73\xac\x1b\xd7\x83\xd7\x72\xab\xdf\x1f\x03\x43\x54\x0b\x62\xc5\x56\xc1\x8f\xc0\x4c\xd9\xf3\x32\xa4\xd4\x3f\x5c\x12\x73\x56\x56\xd6\x7e\x1c\x4b\x8f\x8a\x91\xc3\x4d\xd8\xa6\x0a\x42\x92\x78\x5e\x55\xf0\x76\x0e\xc4\x45\xa2\xf7\x64\x53\xd1\x7b\xa8\xe5\xcd\x32\x88\xdc\x88\xdf\xe6\x85\xbc\xae\x43\x2b\xe1\x7b\x68\xcb\xea\xb9\xf3\xd0\x26\x0a\x90\x38\x2f\x05\x5e\xc0\x48\x3d\x94\xf1\x49\x71\x8a\x4f\x32\x60\xb5\x39\xc1\x56\x3c\x92\x12\x9f\xad\xb7\x03\x0c\xb2\xbd\x3d\x25\xb2\xc5\x29\x1e\xdc\x3f\x30\x46\xd6\x31\xce\xc2\xa8\x32\xb3\x8a\x9f\x28\xba\x46\xa7\xbd\x5c\x1c\x06\x19\x7f\xa6\x10\x11\x2a\x5c\xf1\x41\x86\xae\x3a\xb4\xf7\x94\x64\x97\x88\xf2\x17\x55\x0f\x6f\xd0\xef\x05\x62\xfc\x9e\x14\x64\xe4\x93\xd0\x1d\x44\xa4\x65\x7f\xdb\x6e\x5b\x09\xb4\x71\x03\x64\xc8\xfd\xa2\xac\xd5\xde\x84\xfa\x43\x2b\xd0\x3f\x0c\xac\x5f\x84\x9e\x70\x85\xd2\x4c\x6a\x25\x12\xae\x11\xe9\xe3\x14\x9f\x2a\x03\xb0\x5c\x28\x21\xdd\x65\x0c\x8b\xe3\xee\x1d\x09\x83\x2b\x42\xdf\xcb\xb8\xaf\xc0\xbe\x40\xf7\x7b\x81\xe8\xec\x67\x48\xe1\x94\x9d\xc8\x55\x08\x38\x2d\x50\x30\x9f\x47\x27\xed\xa0\x48\x26\xe3\xf7\x84\x24\xa4\xc4\xe4\x69\x5d\xc4\x2c\x29\x68\x8b\xa2\xb2\xd3\x85\xa1\xc5\xad\xf5\x90\xbb\x3d\x6c\x57\xd6\x4f\x5c\xf0\xb5\xfd\xb1\x05\x51\xbc\x71\xef\x31\x10\x8b\x08\x46\x6e\xbf\x72\xeb\xdd\x46\x7f\xf7\xfb\xa2\x3f\xa7\x37\x75\xde\x83\x33\xd2\x53\xf7\x88\xce\xc1\xb2\x98\x35\x4f\xf3\x08\x58\x0f\x1d\x6d\x63\xb2\x48\xdb\x98\x81\xc9\x8a\xda\x86\xdc\x54\xb7\x7a\xed\xb3\x4d\xbd\x58\x16\xac\x0e\x58\xa5\x40\x14\xbb\xa4\x40\xc4\x5f\x15\x88\x3f\x86\x02\x91\x2f\x57\x20\x9e\xfd\xf3\xbb\xe3\xc3\x1f\x7f\xfa\xf7\x17\xa9\x40\xd4\x6f\xf6\x0a\x99\x31\x30\x92\xb0\x92\x95\xb0\x25\xf9\x2d\x90\xed\xed\xfb\xc8\xfa\x3e\x47\x65\x69\x28\x18\xa2\x8a\xcb\x2c\xb9\xdf\x5c\x8d\x30\xa7\xd6\xf5\x8f\x03\x15\x78\x57\x5d\xc6\xf6\x42\xae\x66\x6b\x5e\x77\xc4\xeb\x4e\xf5\xfa\xc8\x37\x83\xe6\x15\xe5\x6a\x14\x4c\x5f\x42\x52\x90\xeb\x5a\xcc\xe2\x8b\xc9\x31\x99\x4e\x61\x96\xb0\xfd\xfa\xdc\x5b\x6d\xf2\x6f\x10\x4c\x3a\x53\x42\x51\x47\x6c\xd4\x82\x76\x12\xfb\x86\x71\x6d\x94\x6e\x68\x85\xab\x5b\xdc\x4c\x91\x6c\xd1\x20\x7d\x04\xd2\xd4\xfe\x16\x10\xc8\xf1\x62\xe5\x6f\xa9\xd6\x67\x85\x73\x05\x4b\x75\x35\xbf\xaa\xc6\x5b\x95\xb4\x45\x68\xdc\x9a\x82\x16\xb4\x61\xd2\xd1\xaf\xd6\xba\x00\xed\x28\x58\x5c\x5f\xf9\x10\x0c\xbd\x2b\xf7\x8c\xe7\xae\xf3\x9a\xba\x97\x25\x1e\x2c\x52\xbd\x92\x41\x98\xae\x7b\x8f\xd9\x7b\x8b\xb9\x70\x55\x31\xa8\x15\xa8\xc2\x51\xc5\x98\x7e\x9e\x0d\x82\x00\x84\x7c\xa0\x17\x38\x12\x6a\x8f\xd4\x9f\xa2\xdb\xf1\x04\xaf\xa0\x60\x81\xcd\xf4\x1a\xe5\x8c\x90\xfa\x15\x58\x41\x99\x61\x52\x03\x81\x83\x38\x4c\xfd\x1a\x08\xd9\x92\x00\xcf\xdc\x2e\x4a\x0d\x64\x5b\x3d\x38\xf0\x8d\xe8\x4c\x57\x16\x9d\x3d\xcd\x23\x90\xda\xa2\x73\x6a\x8b\xce\xc9\x22\xd1\x39\x07\xc9\x2a\xa2\x33\x29\xfc\xb9\x74\xbe\x4a\xcd\x5f\xa5\xe6\xaf\x52\xf3\x0d\xa5\xe6\x0f\xc3\xd7\x8f\xfe\x54\xfc\xf0\xc1\x13\x56\xd1\xaf\x47\x3d\x08\x59\xba\x3a\xa4\x95\x34\x2d\xb8\xab\x0e\x22\x95\x8f\x8e\xed\x4f\x94\x84\x2d\x0f\xe0\x38\xc5\xf1\xfb\x9a\x80\xad\x93\x91\x78\x25\xec\x75\xb3\xc8\xc8\xbc\x51\x3a\xdf\x4b\xc3\x2c\xac\xd2\x5d\xf8\xcf\xf9\xb6\xd0\x0e\x2b\x7e\xd6\x9a\x61\x23\x9f\x50\xc1\x27\xeb\x24\x12\x5a\x3a\x8f\x22\x13\x4b\xe0\x9d\x85\x9d\x95\x63\x79\x58\x46\x3d\x0d\x4c\x2d\x44\x43\x8a\x2f\xf5\x4b\xfe\x26\x81\xcb\x8a\xa2\x4a\xc9\x8e\xb7\x24\xa5\x6c\x43\x36\xa9\x44\x05\x95\xda\xc4\x23\x16\xe0\xec\x12\xa6\x38\x91\xb1\x12\x0b\x0e\x7d\xb9\xa8\x77\xf8\xb8\x17\x24\x71\x93\xf3\x5e\xb4\xbf\xd5\x03\x3f\x83\x97\x78\x2c\xb5\xb1\x6e\x06\xa9\xa7\x90\xb3\xca\xc5\x00\xfb\xfd\x59\x97\x22\xa9\xe1\x2c\x6b\xbe\x93\x59\xe2\x32\xc2\xf1\x48\xa7\x2b\x63\x5f\x40\xb2\xb8\x4f\x9b\xd2\xe2\x97\xfc\x7f\x92\x84\x8f\xdb\x73\xa8\xd4\xd0\xd3\xa9\xfd\xea\x76\x87\x84\x73\x32\x75\x9f\xa6\x68\xc4\x8d\x12\x0e\x29\x86\xdd\x54\x56\x56\x0f\x72\x92\x62\xee\x66\xc1\xf0\x5d\x6f\x72\xae\x3a\xc9\x8b\x19\x29\x64\x93\x9f\xd4\xbd\x45\xb1\x28\xbf\x17\xa8\x40\xf6\x45\x11\xc5\xc9\x83\x6a\x6f\x26\xef\xf0\x14\x05\xde\x6b\xa1\xb6\x71\x47\x02\xae\x92\xbd\x78\xc3\x12\xfb\x0b\xee\x3c\x99\xf6\xee\x1d\x27\x69\x92\xef\x8a\x9d\x21\xc8\xa2\x4e\x64\xf6\xaf\x95\x4e\x03\x0f\x8d\x2e\x3a\x14\x8a\x41\x48\x54\xe8\x97\xe2\x6e\x51\x18\xe4\x09\xfb\xbe\x86\xc2\x08\xac\xad\xdd\x2e\xcd\xd2\xe5\x2c\x52\x95\xab\x0b\x7e\xb1\xb9\xba\xe6\x20\x1e\xd8\xac\x37\x6f\xcc\x22\x19\x9c\x91\x73\x30\xba\xd9\x7d\x8a\xa9\x7b\x9f\x62\xd4\x22\xf1\x4f\x85\xc4\x3f\xd2\x12\xff\xb4\x2e\xf1\xdb\x3f\xc1\xd4\x95\xf8\xa7\xad\x12\xff\xf4\xe3\xc7\xa9\x2b\xf1\x4f\xeb\x12\xff\x74\x90\xac\x7f\x9f\x22\x06\x79\x79\x9f\x62\x1a\x81\xa1\x25\xf1\x4f\x1d\x79\x7c\xaa\x25\xfe\xda\xf3\xd3\x69\x73\x6d\x86\xa5\xc4\x3f\x5d\x2c\xf1\xbb\x3d\xf8\xc9\x4b\x0c\x71\x2a\xa6\xa7\x2f\xe3\x0f\xa6\xe2\x14\x15\x14\x6d\x65\xf5\xb0\x4e\xd5\x62\xd1\xa9\xca\x40\xb1\xe6\x69\x62\xff\xfa\x14\xaa\xf5\xa2\x93\x65\x6b\xa7\x4a\xba\xfc\x54\x79\xf0\xdb\xd3\xc3\xbf\xfe\xf6\xae\xe6\x22\x28\xd3\x6d\x29\xb3\x29\x25\x32\x31\x12\x4c\x11\xe5\x09\x86\x29\x19\x57\xda\x8e\xc3\x1f\x5b\xf8\xf4\xc2\xeb\x7d\xcd\x78\xf4\x4b\x71\x14\x29\x9c\x91\xec\x69\x4a\x58\x69\x4b\x3d\x02\x67\x81\xd8\xfc\xe6\xfa\xfd\xf1\x92\xb4\x3a\x06\xfe\x01\x78\x00\xce\x82\x1f\x74\x22\xd5\x15\xa3\xd4\xed\x14\x48\xa2\x63\x2b\xc9\xc0\xb2\x9c\x39\x65\x16\x84\x23\x99\x1f\x20\xe3\x32\xaf\x43\x33\xf5\x66\x35\xb6\xef\x64\xc1\xfa\x95\x47\xe6\x8e\xad\xea\xa3\x11\x99\xb3\x24\xa3\xcf\x71\xbf\x91\xca\x48\x00\x54\xc2\xb0\x4c\x83\xa4\x71\x7d\x24\x2d\xbd\x4f\xb4\x5f\xa6\x02\xd0\x3a\xa5\xef\x75\x99\xf9\x35\x27\x55\x37\xda\x7b\xd4\xe7\x07\xb6\xfa\xac\x87\xfe\xd0\x12\x40\xac\x41\x1a\x22\xa9\x89\x1e\xe7\x2e\x91\x89\x5d\x0a\xe5\x9e\x3c\x0b\x94\xa5\x9a\xd3\x02\x2d\xf3\x17\x35\x17\xa1\x86\x33\x67\x1d\xda\xfc\x3d\xab\xe4\x5c\x52\x9a\xf8\x39\x38\x7b\xd0\xfc\xec\x10\x1c\xc9\x5d\x70\xee\x5e\xf0\x56\xbb\x10\x04\x36\x0b\x2a\x9f\xc9\x3d\x05\x82\x9f\x6b\x59\xee\x20\x9b\x58\xf9\x26\xf2\x84\xed\xe7\x24\x2f\xf2\x32\x47\x69\x96\x04\xe5\x62\x18\xad\x79\x13\xa1\xa8\xc9\x6a\x17\x49\x48\x70\xd1\x15\x56\xb3\xd4\xe2\x3c\x0e\x0c\x3f\x0d\x06\x03\xc1\x23\xc8\xc8\xba\xd4\x29\x67\xd7\x33\x9f\xeb\x78\x7d\xcf\x1b\x95\x0d\x88\xd5\xee\x6e\x16\x83\x8a\xa4\x40\x3c\xb0\x34\xc5\x7c\x69\x2a\x20\x1b\x4e\x05\x25\x02\x49\xad\x87\x91\x2b\x73\xe4\x2d\x32\x87\x10\x37\x06\xb9\x96\x39\x46\x75\x99\xc3\xfe\x09\x46\xae\xcc\x31\x6a\x95\x39\x46\x1f\x3f\x8e\x5c\x99\x63\x54\x97\x39\x46\x83\x78\x7d\x99\x83\x81\xa2\x94\x39\x46\x11\x48\x2c\x99\x63\xe4\x48\x04\x23\x2d\x73\xd4\x9e\x9f\x8e\x9a\x32\x47\x52\xca\x1c\xa3\xc5\x32\x87\xdb\x83\xff\x44\x15\x43\x1c\x89\xe9\x69\x2b\xa3\x92\x37\xec\x20\xf2\xea\x60\x85\x8b\xe4\x8d\x14\xc0\xa5\xf2\x06\xc1\x49\xdc\x95\xb6\x33\xb5\x87\x6e\xae\xc1\x3a\xf1\xf4\x2b\xe8\xb3\x6b\xa4\x6d\x04\xa9\x92\x46\x20\x90\xf8\xa8\xec\xfa\xf9\x2e\xd9\xf5\x93\xaf\x76\xfd\x3f\x86\x5d\x7f\xb4\xc2\x75\xc9\xf1\xe8\xfd\xe4\x9f\xbf\xd5\x72\xbb\x2c\xb1\x67\xf4\xb5\x4d\xfb\x27\xc4\x27\x24\x91\x97\xd5\x9a\x96\x8c\x5a\x56\x17\xc7\xbc\xdd\x7f\x28\x33\xc0\xc9\xeb\x5b\x95\xb1\xbf\xc2\xd4\xeb\x17\xcf\x9e\x7e\x9f\x92\x2b\x27\x83\x63\x29\xeb\x1c\x79\x64\x9d\xe3\x5a\x0c\x78\x03\x92\x96\x7a\x0e\x17\x4a\x3d\x2a\x8f\xbe\x8e\x1f\x58\x2d\x30\xe6\xc0\x89\x43\xe8\xc2\x14\x8f\xb3\xc5\x09\xc0\x96\x4e\xb4\x26\x3e\xfa\x93\xcd\x7b\xeb\x0c\xa4\x04\xca\x38\x58\x99\xe6\xb7\xed\x82\x6a\x3d\x7d\x7c\x5d\x5e\x3b\xac\x12\x69\xbe\x92\xce\x86\xa6\x58\xb6\xda\xad\xcf\x43\xab\xa3\xd6\xe4\xf4\xfe\xa8\x9e\xa6\x16\xf4\x8d\x1d\xcb\x54\xf3\xaa\xf4\x56\x09\x62\xaa\xc7\x79\x3c\xaa\xb7\xbd\xd0\x4e\xa9\x66\xa8\x87\x4f\x7f\x71\x73\xd3\x4a\x99\x72\x4a\x12\x94\x06\xc0\xda\x12\x4b\xcd\x69\x42\x8c\xac\xcb\x8c\x55\x16\x50\x29\x56\xfa\x1d\x2f\x20\x58\x2d\x4e\xa4\xe5\x50\x5d\x24\x50\x0e\x07\x21\x54\x17\x47\x17\x99\xdc\xdc\x58\x7e\xba\x51\x40\x49\xa6\x99\x94\x8c\x11\x51\xd8\xbb\xf5\x18\x11\x90\xfb\xee\xf2\x9a\x87\x8e\xc9\x4c\xdf\x29\x98\xff\x77\x73\xa7\x8a\xd3\xcf\xdc\xc4\x15\xfb\x0f\x64\x32\x6a\x1f\xf7\xfe\x82\xb8\xf8\xe6\x49\xc1\x27\xbf\xbc\x79\xa9\x23\xf6\x01\xad\xde\x3e\x29\xc9\xc3\xbc\x24\xfa\xe5\x1b\x34\xea\x55\x6f\xef\x11\x21\x4e\x89\xc5\x0d\x79\x04\xa8\xf8\x51\xbd\x0c\x49\x04\xb2\xc6\x23\xb9\x82\xa9\xba\xa2\x70\x31\x46\x19\xa2\x90\xa3\x57\x24\x13\x07\xe5\x3d\xf9\xb9\xfa\x91\x6a\x87\xd6\x05\xe3\x84\x22\x33\xdc\x67\x90\xc3\x30\x05\xdc\x68\x16\xff\xfa\xcf\xeb\x2b\x9c\x25\xe4\xaa\x97\x12\xa5\x8f\xf4\x08\xc5\x63\x9c\xcd\xf7\x05\x4d\x29\xea\x12\xc7\xe0\x10\xc6\xef\xff\xa5\xe0\xbf\x41\x09\xa6\x28\xe6\xbf\x50\x1c\xc2\x48\x26\xac\x53\x57\x6b\x65\x6a\xd1\xc6\x7d\x84\x71\x0d\x59\x61\xe6\xbf\x8b\xa0\xda\xba\x63\xa1\x48\x86\x98\x85\xf2\x9a\xf2\x2f\x34\x0d\xa3\x48\x27\xbd\x63\xfa\x1a\x6d\x6d\x35\x7b\x48\xa5\xd7\xb3\x1c\xa3\x32\x53\x05\xc4\xf2\xf0\xb9\xd6\x36\x82\x13\xd6\xd3\x5a\x1e\x60\x1c\xc7\xef\x67\x92\x78\xe6\x73\x17\x9d\x7a\x5a\x62\xe1\x7e\xc1\x19\x3f\x3a\x7c\x22\xb6\x74\xd8\x3f\x30\x19\x5a\xcd\x78\x63\x3a\xcb\x39\x11\x63\x7c\x03\xb3\x84\x4c\xff\x2e\x48\x97\x85\x48\x9c\xd5\x2a\x55\x6d\x10\x69\x61\xe6\x00\x1c\x1e\x44\x73\xcf\xa2\x48\xd5\xc1\x9a\x7f\xfa\x96\x13\x0a\xc7\x48\x60\xfc\x05\x47\xd3\x4a\xa4\x16\xcd\xe4\x08\x03\x80\x22\xb0\x72\x93\x8a\x8a\x02\xc0\xd5\xed\x89\xc4\x77\xf1\x60\x6b\x6e\x46\x17\xbc\xb3\xf1\xce\xe0\x8d\xaf\x36\xb8\x17\x1b\x9a\x47\xed\x59\x2a\x33\x1c\xaf\x19\xfd\xef\x81\xb4\xe8\x2a\xc0\x70\x91\x62\x34\x02\xc3\xe5\x8a\x51\x2e\xc8\x0e\x93\xac\x9b\x92\xf1\xcd\xb5\x22\x98\x31\xac\xca\x0f\xb1\xd5\x74\xa4\xa5\x89\x6f\x56\xb8\x99\xbc\x92\x79\x57\xdd\x54\x16\xfa\x94\x3a\x37\xee\xc4\x4d\xe5\x4f\x9e\x01\x67\xf6\x55\xa5\xfb\x63\xa8\x74\x93\xe5\x2a\xdd\x8b\x1f\xff\xfd\x84\x27\x2f\xf6\x9d\x0b\x0e\x07\xb5\xcb\x0c\x65\x9e\xde\x09\xcc\xc6\xe8\x47\x32\x34\x2a\x52\xdf\x1b\x6c\x15\x34\xea\x30\xb8\x59\x74\xda\x1c\xd4\x37\xcc\xa3\xe3\x84\x5b\xad\xe3\xa3\xa8\x27\xbe\x79\x45\x3a\xa4\xe0\x79\xc1\x3b\xf0\x12\xe2\x54\x50\xa0\x27\x63\x4e\x4b\x1a\x1e\xcc\x3a\x31\x29\xd2\xa4\x33\x44\x9d\x21\x8a\x61\xc1\x90\xcc\x96\x53\x72\xe9\x4e\x82\x93\x4e\x46\x78\x47\xa5\xb6\xe9\xc0\x6c\xa6\xbb\x03\x1d\x42\xcb\x36\x98\x77\x30\x53\xc9\x7c\xb2\xb1\xf8\x6c\xc1\x50\xda\x23\xb7\xaa\x3b\xbd\xbf\x91\xe1\x0b\x5b\xdd\x48\x70\xd2\x2d\xf2\x04\xca\xe2\x58\x5b\x4a\xb5\xe3\x3b\x89\x5a\x54\x09\x30\x1e\x5c\xab\x3a\x5b\x27\xb8\x37\x24\x69\x02\x54\xfa\x61\x2c\x76\xb4\x4e\x4c\xdd\x15\xcf\x03\xf5\x48\x7d\x73\x05\xa9\x50\x7c\x4f\x70\x6f\x86\xd2\x94\x5c\x89\xc3\x47\x3e\x29\x3f\x55\xcf\xd5\xd7\x38\x1b\x91\x13\xdc\x8b\x67\x30\x03\xba\x10\xc5\x09\xee\x8d\x29\x42\x19\x08\xf4\x83\xb2\xa1\x7c\xac\xda\x05\x81\x19\x93\x26\x9b\x13\x34\xf8\x33\x9a\x4b\xa1\xf7\x72\x10\xc6\x8e\x6a\x43\xd6\xba\xa6\xec\xbd\x75\x5c\x26\x37\x71\x6f\x1c\x57\x8b\xa1\xaf\x1d\x83\xa9\x89\x63\x93\x39\x67\x02\x60\xb8\x8e\x79\xae\xec\x92\xfc\x47\xb9\xdc\x8d\xb7\x4b\xf2\x0a\xc9\x27\x32\xfb\x8e\xc9\x7f\xf3\x5a\x52\x66\x88\xa4\x14\x32\x5d\x39\xb5\xcf\x96\x33\xfb\xa4\x37\xcd\xec\x53\xf2\x2e\x93\x40\x47\x25\xc2\x16\x48\xba\x3f\x50\xea\x90\x8d\xb8\xea\x92\x36\x82\xd9\x2f\xb9\x01\x53\x1f\x98\x7c\x4b\xc3\x45\xfd\x46\x73\x3f\x32\xed\x14\x4d\xcf\x2f\x51\xc6\x9f\xca\xfc\x98\xf7\xf0\x28\xe4\x83\x01\x15\x4a\xe0\x8f\x64\xa8\xa0\xbc\x41\x2c\x27\x19\x43\xbd\xf2\xc3\xde\xbb\xe7\x6f\x7e\x7a\xf1\xea\xc9\xcb\x1a\x1c\xd3\x49\x18\xdd\xe3\xa7\xbc\x84\xbc\x2c\x43\x94\x4a\xdf\x04\x32\xf5\xeb\x2d\x47\x3a\x55\x14\xdf\xdb\x93\x40\x7e\x62\xe3\x30\xd2\xcb\x28\x27\x23\x1b\xf0\x08\x64\x7b\x7b\xf2\x32\xb7\x9e\x54\x54\x2a\x3c\x3d\x4e\xd4\x11\x26\x55\xca\xf2\x8b\x0b\xc8\x7e\x79\x14\x46\xbd\x14\x65\x63\x3e\xf9\xf3\xc1\xde\x5e\x88\x7a\x8a\xf1\x0d\x42\xa1\x25\xbd\x43\x1f\xf8\x33\x14\x93\x04\xd1\xa8\x97\xc8\x3f\xc2\x66\xfb\xc8\x5d\x05\x39\x28\xdf\x87\xf3\x79\xa4\x6f\x83\x37\xc8\x4f\xe5\x36\x2b\xb3\xa5\xd5\x19\x6c\x95\x2e\xad\xe4\x67\x41\x34\x5f\x71\x69\xde\xbe\x7b\xf2\xee\xf9\xde\x1e\x3a\x55\xd8\x94\xb1\xa1\xa7\x16\x46\x4e\x05\xd1\x9d\x2a\x55\xb3\x5c\xbe\x55\x3e\x3e\x35\x5a\xe7\xc7\x8f\x41\xd0\x92\x98\x6b\x7c\x66\x33\xce\xf3\x90\x0b\x24\x54\x8b\x56\xa7\x3b\xb9\xb0\x20\x1b\x84\xe3\x33\x64\xf5\xd9\x63\x7c\x96\xa2\xf3\x8f\x1f\xc7\x55\x1a\x69\xde\x96\x09\x2c\x5b\x33\x37\xd5\xa2\x04\x5b\x8d\x4d\x38\x70\x36\xea\xbd\x4a\xa1\x76\x97\x41\x25\x3d\x90\xaa\xab\x6c\x1a\x3a\x4d\xcb\x3d\x2a\x3e\xf7\x25\xf1\x2a\x61\x09\x66\xed\xb1\x30\xd8\xed\xdb\x52\x78\xb9\x9f\xb4\x24\xf3\x72\x78\xca\xb5\xd5\xcc\xb0\x1d\x0d\x24\x86\x59\x8c\xd2\xb0\x3e\x78\x2d\x7a\x36\xb1\xa5\x59\xfd\xfc\x0a\xa7\xe9\x33\xc4\x38\x25\x33\x13\x0a\xdd\xab\x3d\x03\x3e\xd6\x36\x9f\x83\x7c\x30\x0b\xe3\xa6\x46\x0f\xb7\x96\x4a\xc0\x01\x5f\x65\xf4\x62\xdb\xca\xe8\x35\x72\xfb\xb0\x52\x93\x6d\xad\x13\xa7\x8b\x4a\x2c\x06\x67\xc5\xca\x41\xd0\x2d\x20\x22\x10\xdb\x86\x82\xd8\x36\x14\x5c\x2e\x32\x14\x4c\xc0\xe5\x1a\x86\x02\x45\x9a\xdd\xb6\xda\xf3\x77\xa8\x20\xc1\x87\xe1\x5f\x5e\xbc\xf9\xfb\xa3\xff\x69\x8d\xfa\x5d\x80\x94\x96\x6b\xda\x56\xf9\x38\x59\xa4\x10\x7d\xe0\xdd\x31\x25\x45\xde\x72\x73\x74\x85\xea\x8b\x1e\xb7\x99\x8d\xfd\xcc\x78\x58\x74\xe8\xaf\xc7\x67\xe3\x96\xb7\xf3\x66\x18\x7a\x04\x1e\x2c\x2a\x3b\x3c\xf4\x5c\x1b\x3e\x5a\x69\x48\xfe\xeb\xc3\x4b\xee\x3b\x5b\x8a\xa2\x80\xae\xd9\xa5\x52\xe8\x8e\x8f\x2b\xac\x58\x8e\x2c\xa5\x8a\x58\xf5\x6a\xaa\xaf\xbe\xb1\xfe\x7e\x64\xfd\xfd\xad\x35\x01\xc3\x91\x03\xa3\xd2\x98\x55\x39\x07\x41\x91\xbd\xcf\xc8\x55\x33\xa9\xd2\xea\xb0\xfa\x25\x2c\x6a\xfc\x73\x1b\xc3\x3a\x2c\x61\x55\x15\xf4\x36\x85\x75\x54\xc2\x32\xe9\x58\x6b\xee\xd7\x1a\x02\x5d\x20\xcd\x02\x41\xee\x7a\x81\x40\x4b\xf2\x76\xa9\x3e\x7f\x95\x6c\x49\x98\x0f\x84\x5a\x7f\xf8\x2d\x38\xab\x47\x82\x71\x93\xa8\xd4\xff\xb4\xdb\x0d\x4a\xb7\x63\x39\x31\x27\x96\xac\xcc\x9f\x75\x74\x0e\x02\xab\xe5\x14\xf2\x78\xd2\xe5\xb3\x9c\x8c\x29\xcc\x27\x82\x27\xb5\xb5\x3c\x3e\x07\x41\xad\x26\xa2\x13\x80\xa6\x43\xfd\x39\x1c\x6a\x2b\x6b\x70\xd0\xee\xc0\x3d\x5e\xe4\x9d\x5d\x85\x1d\x2c\x23\xe9\x3a\x32\x5c\x02\x0e\x26\x28\xcd\x57\x22\x9b\x3a\x1c\x97\x78\x83\x58\x5d\x21\x5b\x1b\x90\x4b\xb9\x81\xac\xa5\xb8\x01\xa0\x1a\xd9\xea\x40\xda\x2e\xa7\x18\x66\x63\xab\x02\xe5\x02\xe6\xe8\xad\xa7\x59\xf3\x69\xdb\x5c\xbd\x24\x9d\x8b\x0b\x37\xdb\x86\xbd\xc2\x6b\x21\xd1\x25\x84\x46\x4e\x81\x83\x96\x2d\x4c\xb9\xba\xdc\x11\x30\x14\x93\x2c\x61\x75\x9e\xdb\x62\x07\x5b\xa7\x0f\xc1\xd4\x53\xc4\xd1\xaa\xdd\x78\x02\x02\xbc\x5c\xdd\x5e\x5d\x8d\x1e\x87\x89\x1c\x7b\x63\x60\xeb\xdb\xa4\x6f\xc7\x35\xe7\x24\xcf\x51\x55\x24\xcc\x7b\x42\x4c\x49\x82\x47\x18\xd1\xb6\xf7\xfa\xba\xff\xeb\x4b\x44\x47\x32\xda\xc3\xfb\x15\x62\x31\xcc\x91\x90\xff\xdf\xa0\x11\xa2\x48\xba\xcb\x82\x21\x29\xb2\x04\x52\x8c\xd8\xf3\x14\x4d\x55\xa9\xb9\x33\x65\x4f\x0b\x4c\x1d\x29\x55\xbb\xec\xdc\xf0\xc0\x25\xf1\xaf\x6e\x44\x45\x4b\x88\x74\xc9\x7f\x56\x08\x74\xf5\x1e\xbe\x96\x04\xf0\xb0\x55\x02\x78\x04\xbe\xf1\x6c\x9b\x43\x53\x13\xae\xbd\x16\x52\xa5\x26\x83\xe0\x12\x4a\xb7\xd1\x63\xc9\x74\xdf\x55\x3c\x57\x56\x86\x7e\x26\x4f\x0a\x59\x4d\x75\x4f\x4b\x5b\xba\x5c\xff\x9e\x8c\xec\x28\x7f\xc9\xfa\x4d\xed\x25\xa4\x85\xd8\x35\x22\xb4\x6b\x0b\x24\xd2\x05\x6c\xc7\xeb\x76\x35\x5b\x95\xb6\xcd\x14\x89\x6f\x26\x2a\x7c\x57\x9e\x68\x2a\x1c\x17\xfd\x5e\x16\x66\x90\x59\xb0\xbb\x09\x66\x5c\xa8\x5d\x5d\x4e\xba\x99\x0c\xb7\x51\x11\x7f\x9c\x90\x94\xe3\x7c\x4d\x33\xa8\x2b\x52\x7e\xa6\xc2\x4e\xed\x03\xda\x1f\x16\x58\xa0\xed\xae\x8a\xff\x47\xc7\x93\x83\xe1\x3f\xff\xe7\x37\xef\xf5\x8c\x92\xb1\xd8\x04\x6c\x93\x69\x55\x18\xbd\x0a\x68\xb7\xe9\x76\x71\xfc\x90\x1d\x10\x27\x53\x73\x4a\x5c\x5f\x94\x9c\xb7\x27\x74\x3c\x2d\xd7\xb8\xe2\xb5\xb9\xa4\x11\xf4\xe4\x99\x62\x7d\xd5\x90\xef\x1a\x61\x6a\x4b\x02\xae\xec\xe9\x5a\x39\x68\x16\xe8\x86\x3a\x37\x4d\x16\xc3\x15\x83\x8a\x96\x90\xdb\x97\xb7\x0b\x12\x94\xa7\x64\x26\x59\xfa\x9d\xdd\x0a\x8f\xbe\xff\x71\x48\xff\xe7\x4f\x3f\xdf\x74\x2b\x48\x8a\x69\xee\x05\x1d\x9c\x67\x7e\x18\x0e\xbe\xd6\x06\xc9\xe1\x58\xcc\xcf\xac\x85\x34\xaa\xf3\x82\x5d\xe4\x14\x8d\xf0\x87\xde\x0d\x36\x01\x68\x0e\xe3\x11\x38\x6c\x26\x93\x6a\xff\xf8\xa8\xe5\xe3\x45\xdb\x6b\xe9\xb9\xb6\xea\xae\x33\xc7\xdb\x0d\x77\x5f\x85\xda\x2f\x6f\x0b\x52\x53\x8a\xee\xae\xee\xbf\x6f\xff\xf2\xe3\xf7\x1f\x0a\xf8\xd3\x27\x3d\x8a\x1e\x1c\x36\x2a\x11\x2e\x33\x5e\xa8\x6a\x6d\x2a\x28\x47\x57\x6e\x4b\x02\x23\xf6\x93\x6c\xcb\x47\x8b\xaa\xf6\xf7\xfb\x4d\x29\x5b\x53\xcf\x67\x22\x6b\xc1\xb7\xba\xca\x9b\x7d\x77\xe9\x77\xf4\xf3\xbb\xb7\xfb\xdf\x3d\xf9\x9b\x5b\xda\x55\xcf\xbb\x6e\xdb\xb1\x30\xd2\x09\x4c\xb0\xc8\x79\xab\xa9\xe4\x70\x71\x51\x6b\xb1\x31\xb4\xec\x5f\x19\x49\x54\xb3\x20\x85\x54\xa9\x94\x4b\x43\xd8\xfd\x8c\xdc\x97\xc1\x27\x78\x2c\x3d\xfc\xaf\xb4\x5d\x46\x74\xad\xff\xde\xab\xf4\xb9\x5a\x0e\x9c\x49\xc2\xf6\x95\x35\x18\xcb\xcb\xbe\xab\xb3\x6b\x0b\x53\x9f\x91\x7a\xef\x2e\xd9\xfe\xf3\x9b\x17\xbf\xcd\xd2\x67\xef\x5c\xb2\x9d\x42\x6c\x52\x43\xf6\x81\xa4\x57\xbf\xbd\xff\x11\xe8\xaf\x40\x30\x1e\xba\x58\x8f\x04\x3e\xdb\xda\x67\x28\xbd\xf3\xac\xeb\xc7\xc3\xc9\x3f\x9f\xe4\xbf\xa7\xb5\x9b\x4b\xc7\x35\xbf\x8b\xe1\x33\x1c\x73\xb9\x81\x55\x36\xad\xba\x7c\x5a\xbb\xe7\xed\x5c\x26\xea\x9f\x83\xc0\xd2\x22\xca\xd3\xd4\x11\x69\x7b\x0a\xbe\x6b\x03\x6d\x83\xa8\xb4\xf3\x3a\x30\xa5\x42\xad\x07\xc7\x08\x57\x75\x48\xe6\xd0\xac\xc3\x52\xef\x8a\xac\x8c\x87\x68\xe9\x6b\x15\x8c\x38\xe3\x9f\xc0\xe9\xd4\x53\xcc\x63\xe5\x51\x8f\x53\x32\x74\x0d\xbe\xa5\xb3\xa1\xfd\x28\xaa\x48\xdc\x32\xf5\x1f\x0a\xd6\xad\x53\xa6\x29\x8b\x92\x69\xbd\xe8\x9c\xb2\x1a\xf9\x0e\xac\x87\xcb\x0e\x2c\xbb\xd3\x35\x4f\x2e\xed\xb4\x94\x13\x5b\x32\x87\x6e\x57\x2f\x99\xdf\x21\x29\x51\xd5\xf7\x38\xfb\xbe\xb1\x86\x69\x20\x34\xcd\xc0\x55\x72\x06\xd7\x72\x5b\x77\x24\x36\xeb\xb1\x5f\x22\xca\x30\xa9\xdd\x79\xbb\xb4\x52\x00\x9c\x7b\x38\x6b\xc3\xba\xe9\x0d\x7f\x94\x7c\xfa\x78\x49\x6e\x60\xcf\x4d\x3c\xe5\xad\x67\x2d\x8e\x5b\x9f\xbf\xb4\xc1\xfd\x3d\x95\xe3\x4d\xc6\x3c\x48\x39\x16\x3c\xd2\x32\x8b\x32\xf4\x7b\xa1\xad\xc9\x7b\x86\xd5\xec\x55\xa3\x30\x67\xc7\x42\x73\xa5\x57\xe0\x58\x4f\x47\xb4\xf7\xc4\xe7\x3a\x79\x12\xb6\x0f\xf3\x7c\x7f\x08\xb3\xac\x71\xf6\x88\x99\xe3\x98\xd0\x5c\x7c\xd6\x75\x0e\x97\x46\xdb\x9d\x4c\xc6\x56\xce\x81\x24\xb3\x0d\x67\x2f\x53\x9e\xec\xf2\xdc\x13\x0a\xaf\x36\x5d\x7b\xdd\x76\xa7\xe7\x3f\x52\x19\x5e\x36\x9a\xbf\x6e\xbb\xd3\xf3\xf7\xca\x9d\x2b\xce\xbf\x3c\xeb\x77\x78\xfe\xbe\xab\x5a\xab\x4d\x7f\xb7\xe7\x3d\x25\x09\x4c\xbb\x90\x22\xb8\xd9\xda\x5b\xed\x77\x1a\x0f\x0c\x27\x68\x08\x37\xdc\x00\xa6\xf1\xee\x62\xe0\x12\xf2\x8d\x26\xaf\xda\xed\xec\xbc\x95\xd4\xb2\xe1\xc1\x6f\x37\xfe\x52\x31\x70\x6f\x45\x0c\x6c\x7a\xfc\xd5\x9b\x7f\xa9\x58\x58\x95\x0e\x36\x3d\x04\xeb\xcd\x77\x1d\x0b\x1b\x1e\x85\xbb\xae\x01\x0c\x29\x82\x49\x4c\x8b\xe9\x90\xed\xcb\x7f\x36\x40\x41\x03\xc4\x9d\xc0\x46\x82\x2f\xf1\x66\xfb\xc2\x03\xe4\x4e\x60\x64\xd3\x2d\x52\x81\xd8\x61\x3c\xa8\x94\x49\x0c\xb9\x01\x1a\xab\x20\xa0\x6a\xbb\xe3\xf3\xdf\x74\xee\xbb\x3b\x6f\x19\x32\x3c\x24\x1f\x54\x7d\xb1\xfd\x11\x8c\x61\xe2\x3a\xab\x56\x40\x83\x1f\xcc\x5d\xc1\xca\x86\x8c\xa1\x0e\x65\x87\xb1\x41\xf2\x19\xc5\xe3\xc9\x06\xac\xa1\x6a\xba\xbb\xb3\xe7\x50\x97\x87\x5b\x7b\xf2\xa6\xe5\xce\xce\x5d\xbe\xc7\x2a\xe1\x00\x66\xfe\x92\x5e\x2b\x20\xc2\x01\x73\x77\xf0\xf1\x1e\x6d\xa0\x61\xfa\x80\xdc\x19\x8c\xa8\x84\x33\x37\xc6\x89\x29\x50\xb9\xab\x58\xd9\x54\xb6\xde\x79\x79\x3a\xa1\x24\x4f\xc8\x55\xb6\xaf\x13\xf1\xaf\x8f\x01\x07\xc0\xee\x63\x62\x53\xa6\xa9\xdb\xdf\x01\x0c\x88\x2d\xdd\xc5\x1c\x4d\x6f\x40\x0e\x15\x8c\xdd\xc7\x07\xa7\x78\x3c\xde\x88\x3d\xb8\x10\x76\x16\x17\x56\xe6\xa3\x0d\x0d\xb5\x0d\x08\x77\x02\x17\x9b\x9a\x6c\x3d\x30\xee\x04\x3e\x36\x35\xde\x7a\x60\xdc\x09\x7c\x6c\x78\x98\xd4\x12\x8d\xed\x2c\x1e\x64\xea\x9d\xb2\x02\xc8\xda\x38\xa8\x35\xdf\x71\x2c\xdc\x88\x73\xba\x10\xee\x04\x2e\x36\xe6\x9c\x4d\x18\x77\x02\x1f\x9b\x72\x8a\x0a\xc4\x0e\xe3\xa1\x5e\xd7\x7f\x6d\x1c\xd4\x9a\xef\x2c\x16\xc6\x29\x19\xc2\xb4\xab\x88\x7a\x53\x7a\xa8\x01\xf9\x62\x71\xb1\xd4\x23\x5e\xc7\x45\x06\x2f\x6f\x88\x09\x09\xe2\x4b\xc5\xc6\x9a\x94\x91\x53\x92\x14\xb1\xb9\xcf\x7f\x33\xb4\xd4\x60\xed\x3a\x7e\x36\x15\x3e\xeb\xcd\x77\x16\x0b\x13\x94\xe6\xfa\x66\xed\xba\x18\xa8\x9a\xee\xec\xec\xd5\xf5\x82\x75\x27\xae\xaf\xb5\xec\xea\x9c\xb3\xbc\xd8\x60\xb5\x55\xb3\x9d\x9d\xb5\xae\xd5\xb3\x8f\x52\x98\x33\xe4\x26\xeb\x58\x61\xfe\x2e\x80\x9d\xc7\xc4\xa6\x8c\xcf\x69\xbf\xf3\x78\xd8\x50\x66\x32\xc5\x9f\x76\x7e\xfe\x1b\xeb\xda\x2e\x80\x1d\xc6\xc4\x98\x4c\x21\x7d\xbf\x1f\x93\x8c\x15\xe9\x26\x98\xa8\x03\xd8\x7d\x4c\x94\x93\xbe\x01\x32\x2a\x18\xbb\x8f\x8f\x8d\x99\x84\x6a\x7f\x07\x30\x90\x91\x29\xdc\xe8\xd8\xac\xb5\xdf\x7d\x3c\x70\x44\x29\x54\xb5\xe3\x36\xc6\x45\x05\x63\xf7\xf1\x71\xa9\x3a\xd9\x18\x17\x97\xfa\xc6\xff\x8e\xe2\x41\xde\xa2\xd9\xd0\x46\x6b\xb5\xdd\xf1\xf9\x6f\x6a\x97\xad\xb5\xde\x71\x1c\x6c\x78\x44\xc8\xc6\xbb\x3b\xf7\x8d\xac\x6c\x3b\x6d\x57\xb3\x72\xcd\xec\x9b\x4b\xe7\x6b\x63\xc0\x07\xe4\x4e\x60\xc4\x0e\x94\xbf\x11\x56\xee\x44\xc4\xbd\x3d\xa1\x0d\xf9\x83\x9d\x16\xeb\x4e\xe0\x81\xc3\x9b\x92\x86\x84\x70\x37\x70\xa1\xb2\x57\xdc\x08\x19\x3a\xaf\xcc\x0e\x63\x63\x43\xf1\xa9\x6a\xba\xdb\xb3\xbf\x01\x63\xd8\xe1\x99\x93\xbc\xd8\x34\x6f\x87\xd5\x76\xc7\xe7\xbf\xa9\xdc\x5c\x6b\xbd\xe3\x38\xd8\xd4\x0e\x5d\x6b\xfd\xa5\xe2\x60\xa9\xcf\x5a\xcd\x62\x53\x16\x20\x1a\x7f\xb1\x73\x5f\xba\xfe\x14\x26\x98\xdc\xf0\x52\x9a\x07\xc6\x9d\xc0\xc7\x86\x14\x61\x81\xd8\x5d\x3c\x30\x94\xa2\x98\x6f\x4c\x12\xf5\xe6\xbb\x8e\x85\x0d\x09\x41\xb5\xde\xdd\xd9\x73\x38\xec\x6e\x64\x5b\x30\x0d\x77\x77\xe6\xe8\x03\xdf\x2c\xab\x4f\xd9\x72\x77\xe7\x4e\x48\x3a\x84\x74\xf3\xbb\x55\x2e\x80\x9d\xc7\x04\xca\x36\x70\xba\xd8\x8d\x77\x1e\x03\x1b\x32\x40\xdd\x7c\xf7\xe7\xaf\xca\x67\x6d\x4c\x03\xa6\xfa\xd6\x8e\x63\x41\x56\xf1\xda\x1c\x0b\xaa\xf9\x6e\x62\x81\x12\xd1\x67\x57\x95\x5b\xed\x5e\x42\x8a\x05\x70\xd6\x7a\xe3\x6e\x9d\x9c\xd3\xaa\x2e\x93\x2a\x9d\x2a\xf3\x82\x04\x8f\xc7\x29\x9e\x4e\xfd\x00\x88\x9c\x7d\xf5\x9b\x21\x7a\x89\x65\x1e\xd6\xb2\x95\x2c\x0f\xeb\x89\x8b\x01\x19\xc0\x80\x02\x02\x52\x00\xa3\xeb\x4b\x48\x3b\x0c\x14\x20\x06\x39\x48\xc0\x08\x0c\xc1\xf4\x9e\xf9\xba\x33\xab\xd2\x5b\x67\x7b\x7b\x6d\x18\xe7\x35\x4c\x67\xbd\xea\x07\xa8\x15\xa6\xcd\x7a\xf6\xcf\xaa\x2c\x6d\xd6\x33\x7f\x02\xb5\xbe\x59\xcf\x2a\x53\x7b\x5a\xfb\xd5\x8b\x61\x9a\x86\x38\x3a\x51\x39\xb3\xe7\xd1\xbc\x1c\xec\xa4\x9a\x9c\x9a\x16\x19\x5c\xcf\xef\xe9\x65\xd6\x63\x7f\x8f\x66\x2c\xc4\x56\xf5\xf0\x0a\x31\xd1\x35\x39\x43\xe7\x03\x7c\x86\xce\x05\x1d\x10\x6b\x1a\x83\xfb\xf7\xed\x9f\x80\xd4\x26\x22\xdf\xd6\x66\x16\x06\xea\x42\x35\xce\x3a\xe4\xe3\x47\x62\x8f\x3f\xda\xdb\x0b\x49\x39\xdf\xc1\xfd\x83\x08\x90\x41\xd6\x63\x29\x8e\x51\x18\xf5\x28\xba\x44\x94\xa9\xbf\x92\x22\x46\xd6\x00\xe5\x2a\xe8\xd9\x60\x35\xd5\xe8\xe3\xc7\x6c\x1e\x01\x12\x01\xba\xb7\xa7\x10\x72\x7f\x30\xa8\xf5\x27\xbb\x93\xa3\xa9\x3f\x3f\x25\x4d\xac\x52\x83\x55\x50\x7b\x69\x2a\x31\xeb\xe2\xfb\x83\x66\x0f\xed\x84\x41\xe4\xf4\x8a\x34\x8d\x00\x99\xaf\xbd\xc5\x5b\x32\xa4\x8f\x97\x67\x48\xef\xbf\xf8\xdb\xbf\xf9\xf4\x1f\x43\x37\x4b\x7e\x8a\x17\x57\x3f\x34\x15\x6b\x0f\xc0\x59\x80\xd9\xf3\x04\x73\xb9\x81\x54\x81\x3f\xf5\xf0\xa9\xe8\x56\x3d\x6d\xd6\xfb\x93\xd0\xfb\x20\xd0\x11\x05\x67\x87\x32\x2d\xb3\xe0\x89\xe6\xc9\x31\x38\x3b\x7a\xa4\xca\x03\xb1\x62\x38\xc5\x3c\x28\x61\x33\x78\x89\xfe\xae\x79\x8a\x0d\xdd\x5f\xfc\xb6\xcc\xfb\x1c\xe4\x92\x1f\x07\x52\xd5\x64\x55\xaa\xea\x18\xd2\xc4\x93\x09\xba\x09\x40\x7f\xdb\xb5\xd2\x8d\x37\x9b\x58\xa9\xb6\x8f\x5b\xea\xea\xca\x59\xeb\x9d\x70\x51\x32\xc7\x0b\x86\xb8\xc0\x17\xab\xe7\x5d\xf7\x95\xf4\x6b\xa9\xf4\x57\x75\xad\xa6\x28\x13\x1f\xe9\x81\x1b\xd4\x7e\x2f\xde\xbc\xd5\x6f\x16\x8c\xfe\xa0\xed\xbd\x07\x29\x35\xd8\xad\x80\xed\xf1\x55\xf5\x35\x8f\x25\x0d\xa8\x8a\x47\xf6\x59\x61\x22\xf5\xed\x2e\x04\xf8\x57\xe6\x71\x5b\x17\x6e\xb1\xa9\x55\x10\x6e\x1e\x5d\xe8\x4e\xdd\x62\x52\x0d\xe8\x4d\xcc\x57\x2f\x55\x46\x78\x99\xcf\xfe\x50\xd6\x98\x68\x9d\xd9\x43\x10\xe4\x29\x8c\xd1\x84\xa4\x4a\x73\xb0\xf2\xe2\xaf\x35\xe4\x0b\x1b\x8c\x35\xfc\x87\xe0\xb0\xdc\x34\xf6\x81\x59\x16\x71\xb6\x77\x99\x09\xb2\xd6\x83\x78\x20\x9e\x71\x48\xc7\x88\xf7\x4c\xf6\x8c\xaa\x60\xe6\x59\x13\xec\xf9\xb9\x01\xec\xd4\xe4\x32\xc3\x39\x0b\x1e\xab\xf2\x76\x02\xb0\x8c\xc1\x6f\xa9\xcc\xba\x04\xcd\x9f\x86\xfe\x4c\xaa\x8f\x4f\x4b\x80\xa6\xd7\x1b\x51\xe0\x86\xc8\x59\x91\x7c\x2b\xc4\x6c\x85\x7e\x25\xb8\x75\x09\x38\x1f\xca\x72\x8a\x38\xbe\x15\x2a\xb6\xa0\x6f\x83\x94\x97\x13\xb3\xef\xd5\xe2\x17\x9b\xac\xf0\xe2\x86\xef\xc8\x58\x55\x55\x5e\xbc\x7b\x14\x79\x7c\x63\xd5\xbb\x60\x13\x72\xf5\x52\xec\x27\x29\xc9\x6b\x24\xeb\xf2\x17\x20\x78\x4c\xb2\x0a\x32\xa7\x05\x6a\x65\x48\x2f\xd8\xcf\x90\x4f\x54\x05\xe9\x29\x4c\xd3\x60\x61\xa5\xe8\x85\x10\xdc\x4a\x21\xab\x14\xe4\xb5\x27\xa8\x8b\xa5\x5d\x61\x1e\x4f\xcc\xd2\x7a\xe6\x6a\x18\xb9\x2e\x05\x2c\x7e\x76\x31\xeb\xe6\x7a\x1a\x0b\x08\xc2\xed\x4a\xf3\x23\xbd\xe9\x34\x47\x72\xe1\x89\x01\x94\x9b\xaf\x14\xc4\x0e\xd6\x41\xc8\xca\x98\xf0\x94\xc7\x16\xd4\xc2\xe5\x52\xbe\xf4\x54\xc7\x6e\x02\xd8\x84\x0f\x56\x83\xee\x19\x16\xbd\x88\x13\x2e\xd9\x5b\x1d\x6f\xf1\x64\xcf\xfb\x7e\xeb\x07\x5f\xb7\xa7\xa0\x25\x9c\xa9\x8b\xc7\x9b\x6e\x4e\xab\xfd\xcd\xb7\xe6\xe1\x06\x5b\xd3\x9e\xc0\x8a\xdb\xf2\xb0\x6d\x5b\xda\xb0\xd6\xdb\x92\x1e\x34\x7c\xe9\x1b\xd2\x0c\xf9\x93\x6e\xc7\xc3\xad\x6d\xc7\x25\x6a\xd2\xc4\x52\xe2\x5a\xbf\x72\x94\xbf\x32\x82\xa1\x5d\x7d\x72\x4a\xd8\x1b\x12\x5d\xb6\xcc\x56\xd3\x43\x8b\xb0\xe5\xaa\x28\x93\x56\x29\x73\xe4\x14\x4f\xa1\xb4\x86\x69\xdd\x78\x55\x42\x5a\x9f\x02\x54\x26\xd9\x0b\xd3\xcf\x02\x02\x58\xbc\xb6\xf5\xd9\x9d\xd9\x32\x5b\x9c\xe2\xf8\x7d\x55\xa1\xab\x61\x3e\xa8\x78\x12\xcc\x62\x94\xca\x37\xa8\xf9\xfc\x79\x82\x55\x19\x7e\x5b\x4c\x33\xd8\x93\x76\x04\x14\x93\x2c\x11\x78\xbb\x75\x74\xa9\x11\x6d\x8c\xae\xf6\x77\x5e\x8a\x6e\xab\x8d\xd5\xac\xa9\xe5\x58\x60\x6c\xea\x2e\x27\xd3\xed\xda\x49\xcd\x5a\xad\x2a\xfd\x85\x2d\x2b\x2d\x57\xdb\x3f\xf4\x52\x99\x6f\x6b\x5a\xa8\x7f\x42\x4b\xbb\xa8\x34\x11\x6f\xd1\x36\xa7\x3b\x5b\x67\x70\xea\x97\x55\x1c\x21\xa7\x16\x40\xb1\xe5\x49\xb2\x64\x16\x8e\x2a\xa2\xa6\xd2\x5a\xcc\xcc\x3f\xb4\x64\x96\xc1\x29\x8e\x03\x10\x8c\x28\x99\xde\x60\x7c\x06\x52\xe7\x12\xc3\x4e\xd0\x36\xe4\x46\x77\xcb\xc7\x5d\x0e\xa6\x9d\xfe\x96\x2e\x57\x75\xfc\x59\x13\x58\x1f\xe1\xb5\x53\xd4\x1e\xf7\x66\xa3\xaa\x4b\xd9\x37\x1a\x99\x23\x72\xfb\xc7\xe6\x10\xa8\x32\x9e\x6a\x4b\xa6\xa7\xac\x9e\x66\x99\x47\xd6\x81\x00\x53\x3c\x96\x60\x02\x9d\xc2\x78\x05\x66\x56\xc9\x35\x47\xe0\x2c\x78\x67\xd2\xf4\x79\x8e\x19\x01\x77\x3c\x21\x6c\xd5\x33\xe5\x06\xc6\x0e\x93\x36\xb0\x57\xa5\x0d\x6c\x63\x97\x8b\x99\xa5\x3d\xb7\x67\x3a\x3f\xe7\x06\x87\xaf\x58\x65\x86\xa4\x17\x61\x45\x41\xbb\xf5\x28\xb3\x85\x63\xbd\xd2\x28\xc1\xdc\xb2\x5a\x37\x09\xc8\x53\xcd\xfe\xc6\x07\xd8\x76\xd6\x07\x25\x4b\x8e\xfe\x55\x04\xbb\x4d\x70\x96\xa0\x14\x71\x74\x43\xac\x5d\x41\x9a\x19\x41\xe2\xd3\xe1\x4c\x0d\xfd\x46\x58\x5b\x20\xed\xb6\x8b\x07\x02\x45\xcd\x0a\xed\xcb\xca\x69\x1a\x88\x9e\x12\xc7\x4a\xc5\x08\x40\xf5\xc7\x33\xb7\x0a\xb6\xd4\x8b\x64\xd5\x53\x69\x9c\xab\x32\x76\x04\xb9\x5c\xda\x4a\x0b\x52\x95\x1c\x82\x0f\xdd\x12\xd8\x48\x34\x9b\xca\x8f\x33\x62\x9a\xdb\x65\x1f\xac\x07\xfa\x47\x95\x82\x76\x95\x92\x97\x4b\x7d\xd1\x6d\x85\x30\x53\xc4\x3b\x97\x83\x90\x0d\xc2\x03\x90\xf6\x70\x26\xc0\x44\xa1\x18\xc1\xf7\x29\x64\x93\x9f\x54\x0e\x01\x16\x44\xa0\x18\xc8\xba\xe1\x1d\xf4\x81\xa3\x2c\x61\x1d\x6a\xfc\x71\xd7\xd2\x11\x47\x8b\x98\x13\xaa\xdc\xf7\x97\x90\x76\x32\x40\x01\xb9\xc7\x8a\x1c\xa9\x87\x60\x16\xf2\x09\x66\x20\x80\x39\x0e\x40\x0c\xc4\x8f\xea\xe1\xa8\xd6\x19\xc8\xf5\x6b\xa2\x7d\x7d\x20\xa4\x83\x40\xbb\x19\xcb\x8d\x12\xe1\x2c\xcc\x06\xf2\xc3\x53\xbf\x37\x51\x8c\x41\xbb\x10\x09\xa8\xfb\xff\x6b\xbe\xe8\xfb\x07\x95\xff\xf9\xfe\xc1\x3c\x3a\xc9\xce\xe8\xf9\x80\x94\xa3\xab\x8e\xbf\xc4\x19\xb7\xa5\xf9\x8e\x9c\x57\x96\x74\x0f\x86\x8d\x77\xc6\x9b\x08\xa6\xea\x95\x58\x88\x6b\xd3\xcf\x49\x0a\xca\x2f\x4e\x20\xa8\x20\x9d\xb0\xf9\x80\xdf\x13\x0d\xca\xcd\x38\x48\x25\x80\x5e\xd9\x60\x00\xcd\x03\xd3\x6a\xc0\x40\xe8\x3c\xfa\xf8\xb1\xde\x28\xda\xdb\x53\x9f\x94\x13\x1a\xc8\xfa\xa7\x4f\xcd\xcf\x28\xac\xf5\x1a\x45\xf3\x31\xe2\x9d\xea\x60\x2f\x63\x28\xee\xd7\xbe\xeb\x69\x31\x6c\xce\x38\xa1\xe8\x45\x7d\x05\xc3\xe8\x5a\x8d\xa2\xfe\x78\xf0\xe3\xdb\xd7\xaf\x7a\x39\xa4\x0c\x85\xf2\x4f\xc6\x29\xce\xc6\x78\x34\x6b\x8c\x01\xb2\x59\x16\x77\xea\x0c\x34\x44\xd1\x35\xbc\x82\x98\x77\xe4\xd7\x90\x8e\x59\xaf\xf1\xc5\xdc\x3e\xa8\xca\x71\x94\x28\xbc\x7f\x00\xd6\xc2\x86\x1e\x88\xed\xb3\x15\xc3\x40\xbd\x9c\xa2\x4b\x94\xf1\x67\x6a\xa7\x84\xc6\x6d\x7e\x7f\x30\xa8\xc3\xdf\xdb\x0b\x83\xa0\xf1\x54\x9a\x0a\xf7\xf6\x7c\x6f\x4a\x89\xfc\xb4\x3e\x14\xd9\xc4\x0f\xe8\x34\x74\xd1\x62\x8f\xf7\xad\xe6\xf2\x0e\x19\x80\xfb\xfd\x08\x2c\x41\xa7\xb3\x2a\x27\x9b\x76\xe3\xa0\x5c\x6f\x7d\x97\x98\xef\xf7\x5d\x82\xbf\xdf\x8f\x4e\xe4\xa3\x1a\x17\xe9\xc9\x6c\x8a\x61\x60\x7a\xee\xbc\x47\x33\xd6\x21\xb4\x23\x19\x02\xeb\xc4\x30\xeb\x64\x84\x77\x86\xa8\x23\x33\xb4\x06\x51\x34\xb7\x75\x6f\x43\x15\x1b\x0d\x08\x54\xb3\xaf\xc3\x9c\x57\x6a\xfc\x8d\x3a\x98\xcf\x41\x3c\x98\x84\x45\x2f\xa7\x84\x13\x3e\xcb\x91\xe6\xac\x67\x86\x8b\x9f\x83\x6b\x97\xc9\xd5\x59\xa0\xc5\xf2\x80\x15\xc2\x71\x22\xce\xd0\x79\x04\x72\x17\xbc\xc3\xa3\xcf\xd8\x4d\x7b\x48\xdc\x1e\x2a\x3e\x7b\x06\x7b\x32\x62\x09\x25\x37\xed\x64\xe4\x76\x62\xb1\xec\xed\xf5\x32\x74\x7b\xb1\xb9\xff\xf6\xba\x99\x36\xbb\x29\x0f\x92\xed\xf5\xe2\xf4\xe1\xc8\xa7\xe0\x8c\xf4\xd4\xd5\xe8\x73\x13\x76\x37\x46\xfc\xf5\x55\x66\x8e\xdd\x67\x88\xc5\x14\xe7\x42\x1a\x58\x04\x27\x02\xd6\xdb\x46\xa7\x35\x45\x62\xe3\x2e\x6b\x50\x16\x77\x58\x8b\xb7\xd9\xb8\xc3\x1a\x94\xc5\x1d\xd6\xec\x7c\x1b\x77\x58\x83\xb2\x4a\x87\xd2\x80\x78\xc3\xee\x24\x0c\xa7\xb3\xc2\x2e\x90\x7e\x09\x16\x94\x56\x1f\x83\xcb\x9b\x05\x57\xde\x20\xae\xd2\xf4\xd5\xcd\x87\x6d\x31\x95\x63\x42\xc6\x29\xea\xca\xa9\x0d\x8b\xd1\xbe\xfa\xbd\x5f\xfe\x96\x87\xc5\x85\x6a\xbf\xd5\xf0\x4b\xc0\x94\xe4\x5c\x0b\xbf\x04\xb3\x7b\xcd\x98\xc6\x5d\x08\xc0\x1c\x7f\x0d\xc0\xfc\x63\x04\x60\x5e\x2e\x0f\xc0\x7c\xf0\xf6\xf0\xdf\xcf\xfb\xe8\xad\x1d\x80\xe9\x31\x12\xb3\x97\xd8\x58\xe4\x94\x06\x6f\xec\x55\x45\x1a\x78\xec\x9b\xba\x9c\x95\x6b\xc2\x2a\xc3\x9f\xdc\xe8\xce\x9a\x0d\x6c\xb1\x4b\xa0\xe3\x7b\x78\x71\xb1\x30\x26\x72\x33\x8f\x81\x36\xbf\xf4\x6f\x12\xc0\xd7\xea\xd5\x5b\xd3\xb5\xb0\xd1\x60\x1a\xc1\x5c\x9b\x8e\xa6\x69\x39\xdf\x6c\x40\x16\x9c\x1b\x8f\xc9\x6f\x37\xdf\x7c\xd5\x8c\xe1\xfc\xe6\x23\xab\x92\xd3\xb4\xb8\x76\x57\x71\x97\x81\xb3\xe3\xc3\x5a\x40\x5b\xed\xef\x96\xdd\x59\xb7\x44\x1a\xdb\x73\xdd\x79\x52\xc6\xd7\xd5\x2d\xef\xca\x83\xf0\xd8\x12\x5a\xc5\x8f\x4a\x50\x0e\x1e\xd7\x85\xa2\xe0\xb1\x4f\x75\x14\xcf\x5d\x9b\xa9\x1a\xae\xc0\x99\x15\x13\x67\x02\x8f\xb4\x0f\xae\xe4\x37\x02\x77\xb6\xb0\x57\x39\xe9\xb4\xf9\x70\x23\xff\xac\x77\xa8\xd6\xfb\x86\x99\xd7\x0d\xd3\x30\x51\x3a\x35\x23\x66\x63\x19\x2b\xf4\x3e\x5c\xd1\xfa\x5f\x0b\x99\x39\x93\x11\x8d\x09\x66\x62\x10\x49\xd0\x16\xca\xae\x63\xd5\xb5\x89\xb2\x0b\x93\xa4\x7b\x69\x21\x5b\x19\xb6\x1f\xd9\x86\x6d\x83\xdb\x24\x69\x46\xad\x37\xcd\xd5\xc6\xb7\xbf\xcc\x5c\x5d\x8d\xfd\x5b\x8b\x98\x0c\x13\x0d\xf2\xb4\x60\xb5\x70\x97\x75\x76\xa6\xf6\x62\xc3\x3c\x4f\x67\x5e\x13\xb6\xcf\x02\xdd\x7c\xe6\x7a\x9d\x2d\x27\xc0\xc1\x9a\x2b\xa4\x02\x72\x7e\xd0\xa7\xcc\x92\xc6\xeb\x4c\x55\xc9\xac\xb2\xb0\x84\x3c\xc4\x94\x24\x5a\x46\xe7\x34\xac\xec\xf5\x01\x7d\x27\x33\x7a\xac\xec\x6b\x0a\xd6\x5e\x09\x7b\x78\x31\xc9\x38\xca\xfc\x9e\x18\xbf\x4b\xa0\x3e\xd8\xef\x75\xe8\xca\x5a\xc3\xb5\xb6\xc7\x17\x42\xf8\x9f\x99\xf4\xdb\x71\xdd\xb2\x25\x0e\x7d\x7b\x42\xba\x56\x2c\xce\xff\xb3\xeb\x53\x11\x4a\x13\x82\xf1\x24\x00\x41\x57\xaa\x48\x5d\x48\x29\x14\x8a\xda\x2a\xb7\xeb\x02\xf4\xfb\x52\x57\x8a\xfc\xdf\x28\xc5\xe3\x09\xef\xaa\xac\xf2\x41\xa3\x26\xd3\x4d\x1d\x2c\x8b\x7c\x2b\x57\x83\xb0\x10\x02\x32\x5c\xe8\x5b\x89\x57\xf7\xad\x58\x1e\x95\x89\xed\x51\x31\x2e\x93\x89\xdf\xa3\x92\x38\xaf\xeb\xa7\x7a\xe9\xbc\x30\xaf\xf5\x7c\x2b\xcf\xc5\xc4\xe3\xd5\x98\x3a\xef\xdc\x73\x75\xe6\x71\x6d\xc8\xfe\x4e\x32\xa0\x3b\x38\xc1\x0d\x87\x86\xfc\x62\x90\x29\x93\xa7\xfe\x6c\x80\xb5\x41\xb5\xd6\x83\x54\x65\x3c\xd6\x52\xaf\x19\xb7\x06\xbe\xc7\x72\xa9\xe2\x1d\x00\x63\x76\xae\xf7\x7e\xd6\xeb\xf5\x9a\x8f\xcf\x7d\x7d\xad\xe0\x82\xf0\xda\xbf\x11\xb8\x7f\x10\xcd\x2d\xae\x51\x79\x21\x2a\xf0\x07\x92\x86\xd0\x20\xcc\xd0\x55\x07\xf7\x9e\x4a\xea\xfb\x3b\xa4\x51\x8f\x13\xa5\xbf\x85\x91\x0f\x7b\x67\x08\x2c\x9a\x81\x83\x46\xe4\x71\x5f\x58\xe3\xe4\xd1\xb5\x18\x45\x36\xb0\x07\xf1\x16\xf1\x37\xe8\xf7\x02\x31\x0e\xa8\x7e\xf1\x06\x8d\x7a\x3f\xab\xf5\xba\x47\x7b\x0c\x71\xfd\x23\xb4\x57\x52\x7a\x22\xd4\xd6\x48\x07\xce\xac\xee\xa5\x76\x2b\x1a\x01\xf9\x5b\x6c\xca\x50\xf9\x35\x22\x80\x4e\x2b\xcf\xc7\xde\x9e\x7c\xff\x56\xfe\x08\x51\xf5\x42\xa8\xaa\x46\x0b\xd0\x1f\xbd\xd0\x3f\xc3\xea\x8d\xf8\xaa\x92\xc9\xf5\x77\xaf\xca\x07\xa1\xfd\x36\x02\x5c\x7f\xf0\x4b\xc6\x10\x97\xcb\x41\x7a\xcf\x05\x13\x89\x40\x26\x9e\xff\xdd\x46\x73\x78\x96\x9e\x47\xf7\x38\x9d\xd5\x1c\x51\x39\xee\xc5\x29\x46\x99\xb6\x8b\x89\x49\x87\x9a\xcc\xc5\xbb\x5f\x31\x9f\xfc\x84\x38\x0c\xa3\x48\xaf\x7a\x13\xad\x68\x05\xb4\xf2\x1a\x5a\xff\x52\xae\xd3\x3d\x6e\x37\xd6\x1f\xd3\x81\x7f\x84\xe3\x72\x84\xdc\x3f\x42\x0f\xd1\xd1\x53\x8b\x2a\xeb\xef\xd6\xdc\xbd\x3c\x9e\x84\x50\x6f\x07\xaf\x4f\xe7\x7b\x88\x53\x94\x74\x38\x91\x34\xdb\xa9\x58\xce\xb5\x16\x1f\x4e\x60\x4f\xa7\xbf\x07\x8c\xe3\xf8\xfd\x4c\x9a\x30\xe6\xf3\x39\xc8\x07\xe3\x30\x6e\x7a\x4d\xe0\x96\xbc\x26\x89\x0b\xde\xf5\x9a\x14\x37\x77\x68\x38\x3d\x38\xac\xfc\x8c\x6d\xcf\xa9\xe1\xf4\x54\x9e\x0a\xdb\xeb\x63\xea\xf6\x51\x73\x9c\x6c\xad\x9b\x59\x63\xd5\x9d\xb3\x6a\x7b\x5d\x39\x1d\x39\x66\xfe\x74\x65\xbb\x7b\x3b\x94\x08\xc4\xb6\xe5\xdd\xe9\xb0\xe1\xae\xd9\xb0\xcb\x86\xbb\x66\x51\xa7\xb6\xf4\xbb\x71\x8f\x36\x90\xc5\xdd\xf9\xcd\x02\x9b\xf6\xeb\x85\xe6\x0c\x20\xb6\xdd\x1b\x57\x8b\xdc\x1b\x97\xe0\x6a\x65\xf7\x86\x20\x9f\xae\xe4\x69\x37\xf0\x69\xb8\x1f\x57\xdf\x90\x2c\x6d\xa4\x62\x54\xfe\x83\x6d\x19\x7f\xe9\x72\xe3\xef\x8f\xef\xff\xf1\xe8\xc3\xf0\x6f\xdf\x39\xb7\xef\x0f\x5d\x2b\x6a\xa5\xef\x1c\xf8\xf4\x1d\x98\x22\xca\xbb\x5c\x68\x52\x63\x15\x25\xe7\xdc\x71\xf1\xa8\x9d\x4d\x34\xab\x6b\xe7\xbd\x9c\xa2\x11\xfe\xe0\xd1\x7c\x02\x37\x0e\x56\xdd\x89\x20\x09\xea\xca\xd1\x3b\xb1\xb1\x7d\x70\x16\x24\x90\xc3\xb7\xa4\xa0\xd2\xe1\x33\xc6\x62\xad\x0a\x9a\x36\x62\xbe\x1d\x43\x8e\x79\x52\xbb\x0b\xd5\x18\xee\xc5\x45\x55\xc4\xa5\x89\xad\x55\x1b\x5f\x58\x3a\xbf\xd7\x84\xe9\xc1\x53\xad\x60\xeb\xa2\xcb\xfa\x41\xcd\x52\xe5\x0f\x21\x56\xb7\xff\x38\x62\xfc\x45\x86\xf9\x8f\x64\x28\x74\x37\x45\xf5\x41\x39\xc1\x55\xf1\xe5\x25\x9c\xe5\x13\x9a\x12\x8a\xba\x13\x94\xe6\x8b\x17\x5f\x51\xe0\xa1\xb6\x04\x3c\x04\xc1\x84\xf3\x9c\x9d\xec\xef\x9b\x6d\x6c\x04\x2e\x4c\xf6\x13\x12\xb3\xfd\xb1\x62\x18\x5d\x99\xc9\x06\x25\x76\xb8\xf1\x22\x73\xcf\x3a\x03\x4e\x71\xf6\xbe\xdb\x76\x37\xc9\x67\x90\xf2\x04\x38\x3e\x36\x67\x77\xa5\x81\xd7\xb5\x62\xa9\x8a\xd7\x6b\x6f\xae\xa1\x17\x5b\xe3\x6e\x51\x86\x95\x0b\x70\x01\xdf\xa4\x40\xc6\x58\x69\xa4\x45\x42\xc8\xac\x98\x0e\x59\x8b\xa3\xd2\x22\xcb\x94\x00\x71\x47\x79\xea\x7e\xf6\xe0\xf0\xb0\x9f\x8c\x7d\x3c\x55\x72\x03\x4a\xae\xba\x65\x08\xfd\xaa\x6c\xd6\xdc\x98\x14\xf4\x62\xca\x68\x81\xa0\xff\xd0\xc3\x6c\xff\xcf\xff\xbd\xd2\xd6\xd3\x0b\xb1\x8c\xeb\xda\xd0\x3e\x2d\xf3\x5d\x9b\x99\x98\x19\xc5\x29\x5e\x91\x91\x94\x38\xa6\x68\x24\x1d\x1e\x59\x8a\x33\x85\x64\x65\x85\x12\x70\xc5\x06\xa4\x05\x5a\x60\x16\x0c\x9c\xb0\xe6\x3a\x9e\xfa\xc0\x06\x66\x4d\xca\xec\x95\x4e\xf9\xe2\x68\x21\xf3\x58\x0f\x03\xac\x18\xf9\x30\xb0\x7d\x74\xaf\xc5\xbd\x8f\x3e\x2b\xf7\x6e\x0e\xf9\x93\xf1\xef\x98\xe4\x33\x21\xc4\x76\x25\x65\xdc\x98\x9f\x9b\x99\x7c\x6e\x8e\x9e\x17\x7c\xcb\xe9\xd5\xfc\xc9\xd4\x1a\xc1\x3a\x4b\x23\x7c\x5a\xa3\x79\x54\xc8\x0b\x04\x56\x32\xb5\x2a\x8e\x67\xb8\x4b\x71\x3c\xd3\xaf\x71\x3c\x7f\x8c\x38\x9e\xd9\x72\xb1\xe3\xef\xc3\x3f\xbd\xfa\x86\x5f\x4d\xbe\x26\x52\xfb\xe4\x89\xd4\x34\x37\xfc\xa2\x33\xa9\x6d\x92\x09\xc4\x97\xa5\xaa\xce\xf1\x37\x4e\x92\xd6\x76\xc1\x6d\x01\x2a\x57\xcf\x91\xd6\x7a\x6d\xcd\x97\x60\x2a\xa0\xe8\xf7\x02\x53\x94\x04\x20\xd0\xf4\xdb\x6f\x9f\xe6\xf2\x8c\x53\xab\xce\x60\x95\x8c\x53\xde\xbb\xea\x37\xcb\x35\x75\x5e\xd9\xa4\x7b\xdb\x4a\x96\xb6\xe0\x9a\xe0\xad\x13\xe0\xc6\x59\xd2\x6e\x42\x81\xcb\x93\xa4\x2d\x21\xc1\x76\xa4\x5c\x5c\xa8\x09\x2a\x4d\xc4\xdc\x52\xf4\x73\xf0\x92\x41\xff\x10\xa7\xbe\x3b\xfb\x37\x22\xf9\x05\x59\xd6\xac\x34\x19\xe2\x58\x47\xaf\xa5\xda\x7d\xbe\xe1\x66\x68\xe4\x5f\xbb\x60\x28\x63\x98\xe3\xcb\x12\xc5\xdb\x82\x6c\xc7\xd5\xa8\x8d\xd6\x36\x95\x20\xf0\x6d\xc2\x89\xc4\xf3\x76\x37\xa1\x84\xb9\xe9\x1e\x6c\x66\xd5\x58\xbc\xf2\x0b\x96\xd9\x43\x17\xb7\xbd\xf2\xe2\xc3\xdd\x58\x78\xc6\xe9\xd6\x17\x5e\xc2\xbc\xe1\xc2\x9f\x83\xe6\xba\x37\x62\x54\x05\x7f\x59\xce\x54\x7c\xc4\xd3\x37\xf4\xd2\xca\x25\x14\xf5\x4a\x4a\x89\x27\x28\x7e\x5f\x0f\x5b\x54\x7c\x49\xb5\x3d\xd6\x5f\x0c\xc9\x07\x47\x28\x54\x97\xbe\x2a\x6c\x7d\x63\x49\xa4\x6a\xa8\x86\xbf\x2d\xbb\x7a\xdf\x9e\x4a\x69\xfd\x83\xc5\xcc\x4c\x63\xe8\x87\xa7\x2f\x17\xf0\xf4\xe5\x0c\xff\xb6\xce\x82\xb6\x1d\xff\xc8\x84\x93\x7a\x96\xe5\x6d\xb5\xcd\xce\xd7\x5d\x0a\xbb\xed\x2a\xb9\x10\x56\x4d\x7f\xd1\x69\xa4\x24\x7c\x69\x72\x9f\xad\x95\x46\xc3\xc2\xeb\x86\x87\x3b\x43\xbc\xc9\x88\x16\x10\xd4\x27\x4d\xef\xb7\x58\x59\xd8\x34\x53\xd8\xb7\x9b\x27\x0a\x3b\xf8\xd4\x89\xc2\x16\x2c\xe1\x2d\x64\x0a\x3b\xd8\xf9\x4c\x61\xcb\xf1\xf5\x35\x55\xd8\x97\x91\x2a\xac\xce\x98\xbd\x19\xb8\x9c\xc4\x7e\x82\x6a\xb4\x89\xf9\xb1\x12\x13\xc0\x59\x80\x66\xa8\x4b\x46\xa3\x4d\x75\xd3\x15\xc4\xf1\x05\x52\xe8\x2a\x6a\x89\x39\x83\x87\x95\xda\x36\x84\x89\xc7\x8f\x5e\xfd\xf7\xc3\xd3\x97\x6b\x68\x9c\x0b\x44\xf7\x65\x82\x73\x6b\x7b\x2d\x01\x36\x49\xbc\x0c\xa6\xae\x4b\x63\xad\xb4\xef\x49\xb0\xb8\x7e\x3e\xad\xa0\x16\x56\xbf\xbd\x6c\x5a\x4f\xd4\xcd\x25\xdf\x04\xbd\xbb\xbb\x1a\xc3\x46\x59\xaf\x0c\x25\x2c\xcf\x79\xb5\x02\x4b\xf6\x88\x2c\x9f\x25\xe3\x95\xe0\xed\xdb\x3e\x6e\x3c\x73\xfb\x2c\x99\xa9\x9e\xc9\x4e\xd7\x3a\x1c\x5a\xe4\x15\x7f\x93\x96\xec\xab\xfe\x03\x42\x3d\x14\xd3\xf8\x7e\xa3\x9c\x50\xea\x46\x82\x4c\xff\x34\x49\xd8\xbe\xe0\x90\xfb\x4a\xc8\xdd\x57\xc5\x20\x97\xdd\x5f\x10\xad\x14\xe7\xba\x41\x5a\xa8\x56\x17\xda\xa2\x9b\x0b\x93\x41\x08\x97\x67\x85\x62\xce\xcd\x05\xbc\x2c\x2b\x14\x06\xd4\xce\x0a\x35\xf4\x5f\x57\x28\xf4\xd5\x02\x5a\x26\x80\xc2\x9b\x25\x80\xc2\xc6\xf5\x41\xd7\x4c\x00\x85\xcf\x07\xb4\x1c\x5d\xc5\xa4\x4d\xe2\xaa\xa1\xe7\x3e\x44\xde\x78\x57\xde\x73\x4c\x9c\x57\x95\x3d\xc0\x5c\xbd\xa8\x27\x80\x22\x56\x02\xa8\xd4\x4e\x00\x05\x9b\x09\xa0\x88\x9b\x1d\xa6\x19\x55\xad\x53\x42\x95\xbd\x56\x29\x65\x36\x4e\xbd\xa4\xd2\x3f\xfd\x10\xa7\x55\xe6\x27\x27\xf5\xd3\x24\x4e\xf5\x57\xa5\xcc\xd1\xfa\x6d\x79\xfe\xdf\x4e\xa2\xa8\xc6\xf4\x5b\xbb\xbf\xed\x8c\x52\xfe\xe9\xb5\xe4\x8f\xc2\xa3\xd0\x93\x42\x2a\x08\x06\x3a\xbf\x53\xcd\xca\x5e\xa6\xf4\xfa\x21\x4e\xf7\xf6\x3c\x1f\x4d\xe2\xf4\xe3\xc7\xfb\x4b\x3e\x62\x9c\x46\xa6\x18\xda\x16\x52\x2a\xe9\x1b\x09\xab\x67\x84\x32\x03\xf1\x92\x67\x74\x0f\x8f\x42\x7d\x1d\x05\x0d\xb8\x73\xa7\x67\x84\xb3\x24\x0c\xd1\xe0\xcf\x0a\x1f\x5e\x24\x45\xd1\x3d\x64\x52\x9d\x95\x1b\x08\x45\xf3\x95\x52\x2e\xf9\xae\x15\xad\x94\x07\x6a\x61\xbe\x2c\x4f\x46\xa8\x95\x80\x96\xc3\xf7\x61\x6a\x5e\x1a\xb5\x04\x1d\x55\x6b\xee\x66\x0b\x63\x9c\x0e\x24\x65\x80\x06\xad\x0c\x82\x20\x3a\x09\x9b\x8f\x65\x23\xd0\x04\x13\x04\xd1\xdc\xb1\xdf\x94\x7d\x37\x37\xda\xe0\xbe\xbd\xeb\xe6\xa0\x18\x4c\x43\xb6\xe8\xde\x04\xbc\x69\x5c\x7e\xec\xf6\x60\x65\x9b\xa2\xdb\x0a\xfe\xcf\xdd\x4e\x6a\xd7\x19\xb6\xd6\x4d\xd2\xec\xa6\xca\x03\xb5\xb5\x5e\x46\x6e\x2f\xd6\xa9\xb5\xbd\x5e\x9c\x3e\x6e\x90\x6d\x6a\x11\x9c\x08\x30\x3b\x9c\xdf\xe9\x74\xe3\x6c\x53\xed\x50\x16\x77\xb8\x71\xb6\xa9\x76\x28\x8b\x3b\xdc\x38\xdb\x54\x3b\x94\x55\x3a\x5c\x3b\xdb\x54\x1b\x8c\xc5\x9d\x55\x26\xfc\x8d\xfb\xaa\x40\xac\xd2\x55\x65\x45\xb9\x61\x87\x15\x20\xa7\x5b\x66\x07\xcb\x4d\x16\x5d\x38\x99\x81\xc9\x1a\x17\x4e\x9a\x9a\xc0\xe7\x88\xa3\x73\xf2\x70\xad\x18\x55\xd7\x52\xa2\xf4\x6b\x8e\xac\xaf\xb1\x75\x5f\x76\x6c\xdd\x0a\x39\xb2\xb2\x43\xfe\x2c\xf9\xe1\xf9\x83\xaf\x39\xb2\x96\xe7\xc8\xda\x24\x82\xeb\xf6\x92\x64\x6d\x14\xcd\x73\x37\xd2\x35\x7d\x81\xe9\x99\xbe\xa6\x61\xfa\x22\xd3\x30\x2d\x77\x11\xde\x9d\x3c\x4c\x0b\xe6\xfa\x45\x24\x62\x5a\x71\x7c\x5f\x33\x31\x35\x9c\x27\x9f\x83\xfa\xbf\x98\x54\x4c\x0b\x2e\xe2\x7c\x86\x4c\x4c\xbe\xd1\x2c\x49\xc4\xc4\x96\x27\x62\x72\x8b\x5c\x2c\x70\x67\xb4\x25\x62\x8a\x9d\xac\x48\x94\x14\x62\x1b\xac\x9b\xa0\xa9\xcc\xb5\xe1\xa6\x66\x72\xd2\x7d\x6c\x2b\x41\x93\x49\xc8\x94\x95\x0e\x06\x93\x7b\x29\xf3\x65\x48\xaa\x25\x9f\xd9\x3c\xd7\xcb\x8a\xf9\x8f\x32\x74\xd5\x49\x7b\xe6\x4b\x95\x06\xe7\x2d\xa2\x97\x88\x86\xc6\xc4\x8c\x96\xa5\x44\xe2\xeb\xa4\x44\xe2\xad\x8e\x80\x36\x5c\xb8\xb6\xe8\x94\x23\x1a\x86\x7c\xf0\x67\x6e\x4a\x32\x18\x0b\x34\x58\x96\x1a\xca\x5f\x87\x60\x55\x8c\x2e\x49\xe5\xc4\xe9\x4c\xa7\x73\x72\x32\xff\x14\x39\x43\xd4\x9b\x5c\x48\xab\x51\x40\xa8\x47\xcd\xb9\x46\xf7\x6c\x7f\x81\x43\x34\x75\xf7\x01\x2b\xe2\x18\x31\x16\x06\x66\x48\x72\x9c\x49\x10\xad\x43\x33\xea\x91\xda\x55\x3d\x8a\x46\x14\xb1\x49\x18\x5c\x11\xfa\x9e\xe5\x30\x46\x66\x04\xe5\x50\x82\x08\x64\x3a\xa7\x50\x56\xaa\xa3\x72\x46\x2b\xe7\x17\xaa\x44\xdb\x32\xbf\x50\xd6\x96\x5f\x28\x1e\x8c\x7d\x55\x19\xb6\x95\x5f\x28\x77\xc1\x1b\xf6\xb2\xd5\x0c\x46\xb7\x5b\xf7\x61\xe4\xf6\x50\xe5\x15\xda\x9a\x55\x79\xe8\xf6\xe1\x66\x49\xda\x9e\xfd\xda\xed\xe9\x76\x4c\xfe\xb3\x06\x5d\xb9\x19\x8c\xb6\xd6\x95\xdb\x51\x2d\xb7\xcf\x86\x85\x03\xea\xb9\x7d\x8a\x7a\x6e\x9f\xcf\x50\x6e\x62\xfc\xa9\x8b\x31\x8c\xdb\x0b\x45\x58\x19\x8c\xb6\x50\x76\xc2\xca\x60\xd4\x5e\xa0\xe1\xc6\x19\x8c\x28\xca\x12\x44\xbb\x1c\xd1\x29\xce\x60\xba\x8f\xb3\x04\x7d\xd8\xb6\x25\xf9\x83\x00\x2f\x24\x7f\x92\x75\x47\x98\xb7\xdf\xc7\x4e\xd0\xb0\xb0\xcc\xcc\xb4\xc8\x52\x42\xf2\x1b\x14\x60\xa8\x0c\xca\xb9\x36\x5c\x9a\x93\x83\x77\x70\xd6\x41\x2d\xf1\x26\xd2\xb2\xac\x2d\xc2\x6b\xc5\x9b\xa0\x33\x7e\x3e\xc8\x00\xaa\x6c\xc3\xc9\x57\xdb\xf0\x1f\xc3\x36\x3c\x5a\x6e\x1b\x7e\xf7\xfe\x1f\x0f\xde\xfc\x75\x1c\x3b\xf7\xae\x2b\xfb\xac\xda\x28\x57\x14\xe6\x79\xc3\xf6\x6a\x22\x80\x1f\xd8\x61\xb3\xdf\x93\x34\x25\x57\x38\x1b\xbf\x24\xd2\x3c\xe6\xbb\x6d\xad\x35\xb7\xd2\x0a\x35\x92\x6d\xba\xa9\x6c\xa1\x2e\x73\xa9\xab\xc7\x20\x50\xe0\x3a\xd6\xab\x63\xbb\xbd\xd2\xd5\xfb\x1e\x5d\x5d\xc1\x2c\x07\xb1\xe8\x6a\x76\x3d\x33\xd3\x01\x08\xa4\x12\xa9\x15\xfb\x2a\x4d\x18\xa5\xe4\xaa\xab\x23\xe4\x9a\x97\x49\x5b\xc2\xc0\x1b\xa6\xbe\xbe\x44\xee\xa1\x85\xdc\x1c\x66\x96\xdd\xc1\xb6\xb8\x26\x38\x79\x91\x09\xd9\xf9\x95\xcc\xc7\x62\xd5\x41\x96\x9f\x1e\x5b\x9f\x5e\xe1\x34\x7d\x86\x18\xa7\x64\xe6\xff\xf8\x41\x1d\xee\x1b\xa4\x12\xf2\xb4\xa2\xc6\xb6\x61\x37\xae\x25\x79\x0c\xc8\x8d\xb9\x97\x46\x80\x22\x4b\x11\x63\x7e\x3d\x3d\xc1\x49\x17\xcb\x29\x06\x40\xce\xa1\x9b\xa8\x49\xc8\xcf\xbb\xd4\x8c\x72\xb9\xf6\xee\x3d\x36\x16\xa9\xed\xc3\x41\xb8\x86\x4e\x5e\x86\x18\xd6\x4b\x4f\xe6\x5a\xff\x45\x29\x9a\xca\x93\xc5\xf0\x00\xf3\xc2\x8c\xa7\xf9\x66\x84\xf9\x13\x71\xfe\x54\x6f\x54\xc4\x21\xc0\x83\xc6\x36\x02\x44\xbd\x0a\xe9\x20\x8e\xda\x9c\x8f\x32\x24\xd1\x3a\x1a\x68\xab\xf3\x91\xb6\x38\x1f\xa9\xeb\x7c\xa4\x35\x56\x48\x9b\xac\x90\x54\xce\xc7\x72\x62\x97\x18\x5d\xfd\x4c\x28\x4f\x70\xf2\x36\xa6\x24\x4d\x03\x10\x86\xd1\xe0\xcf\x4a\xd9\x64\x88\xbf\xa8\xcf\x2e\x94\x22\x81\x69\xed\x12\xb2\xdd\xd6\x20\xf3\xb4\x97\x60\x96\x13\xc1\xff\x81\x12\xc6\x3a\xb5\xf7\x4a\x91\xd3\x6b\xd2\xfb\xbd\x40\x74\xf6\x16\xa5\x48\xae\x66\xd0\x53\xbb\x4e\x8c\x52\xc8\x13\x41\x74\xda\xa3\x68\x4a\x2e\xd1\xf3\x4b\x94\x71\x21\xc3\xa3\x0c\xd1\x30\x60\x7a\xec\x4a\x2f\x75\xe7\x54\x1b\x73\xb5\x9f\xf4\x68\xa5\x35\x28\x41\x43\x52\x64\x31\x52\x25\x1d\xb5\xd6\x8a\xf9\x3b\x33\xc8\xfe\x83\x03\x01\x45\xda\x48\xcc\xc8\x4f\xd2\xd2\x48\x62\x1e\x55\x41\x97\x35\xac\x0d\xee\x1f\xcc\x6b\xfc\xa1\x34\x21\xe8\x79\x0f\x74\xa4\xdb\x05\x43\xbc\xc8\xc3\x68\x6e\xfe\xb8\xc6\xa3\xb0\xd6\x43\x54\xc7\x6e\x8f\xe4\x28\x0b\x6d\x50\x76\xda\x60\xda\xfb\x5e\x13\xee\x3d\x33\x23\xf9\xcb\x74\x57\x42\x49\x09\x4c\xe4\x9b\x10\x45\xa0\xf6\xa9\xf8\x23\x8c\x9c\xcf\x49\xa6\x10\x1b\x4a\x0c\xfa\x91\x1e\x46\x26\xe0\x72\xf5\xb5\x85\x49\xb2\xe6\xc2\xce\x7d\x24\x7a\xed\x5d\x03\xfd\x50\xb5\x44\xc9\x3b\xf2\x1d\xe1\x9c\x4c\xc3\x68\x5e\x1d\x3f\x61\xe4\x12\xaf\x1a\x80\xfd\x71\x45\x15\xcd\xaf\x15\x0f\x0c\x8f\xab\x8c\xe2\x75\x3c\xce\x7d\xfd\x9b\x40\xc6\x75\x70\x75\xcf\x04\xd0\xa2\xbd\x3d\x54\x8d\x32\xff\xf3\xa0\xfc\xf5\x03\x92\xcc\x1b\x9d\xf6\xc8\x68\xc4\x10\x57\xbf\xa5\x6d\x22\x71\x55\x55\x87\x83\x6d\x2f\x0d\xae\xd3\x53\xfd\x90\xdc\x5c\xa9\xab\x81\x71\x34\x1c\xa7\x4b\x4b\xb6\xd8\xb8\x3f\x0b\xc6\x22\x75\x6a\xb8\x48\x9d\x1a\x81\xe1\x0a\xea\x14\x93\x59\xec\xba\x09\xe2\x10\xa7\x5b\x0f\xc9\x71\x0b\xd3\x95\x63\x28\x38\x4e\xd9\x3e\x9e\xc2\x31\xea\x52\x34\x62\x6d\xfa\x91\x3a\x5b\x53\x00\xef\x6d\x4b\xee\x65\x2b\xc8\xbd\xe8\x1f\x34\xef\x1f\xfe\xda\x2a\xf7\xba\x68\xab\x0b\x48\x2d\xf9\x0e\x8d\x07\xc7\xf8\xdf\x40\x30\x94\x7e\x35\x9f\x3f\xcf\xe9\xa0\x47\x2e\x05\x0a\xd1\x55\xcf\xeb\xbc\x03\x3e\x07\xdc\x01\x08\xb8\x71\x5a\xb5\x87\x44\x04\xdc\x0c\x62\x61\x96\x20\xde\x7e\xd5\xd6\xfa\x68\xa2\x43\x41\x02\x16\x93\x5c\x2c\x37\x25\x57\x6d\x21\x0c\x8b\x66\x98\x2e\xab\x55\x55\xeb\x75\x51\xb2\x15\x4f\x4c\x89\xd3\xf1\xc5\xc5\x28\x45\x1f\x16\x82\x68\x4f\xac\xa8\x20\x55\x71\x06\xed\x79\x64\x16\x5c\x18\x5a\xf8\x6a\xf1\x8b\x4f\xbb\x32\x6a\xcb\x24\x1b\x2e\x8d\x7d\x7d\xd7\x84\x60\x68\x88\xef\xb0\xcc\x02\xaa\xee\xa3\xb1\x9a\xf3\x74\x15\xa4\x38\x77\x4d\x27\x90\xc9\xfb\xf5\xcc\x9f\x37\x66\x25\xc4\x6d\x1b\x75\xa9\x1e\xd0\x32\xcc\xad\x4c\xd6\x36\x4d\x3e\xb0\x68\xb2\xec\xa8\x54\xe7\xcc\x93\xad\x11\xa7\xa3\xbc\xda\xd7\x62\x05\x3b\x7f\x23\xb8\x39\x08\x52\x94\x8d\x05\xee\xbe\x98\x25\x90\x83\xbb\xd1\x0a\x38\x91\x50\xdf\x58\x91\x50\xf6\xed\xc5\x0a\x0b\xcb\xa3\xa0\xfc\x0b\xfa\xc8\xbe\x03\xad\xa1\x99\x25\x3d\xf4\x07\x0e\x1d\x3a\xd6\x84\xad\x2c\xad\x05\xa9\xf5\xce\x6f\x23\x78\xcc\x8d\x0e\xb8\x85\xd3\x50\x7a\xed\xbb\xbf\x31\x92\xad\x7e\x1e\x36\x03\x29\x44\xfb\xc0\x62\x46\x12\xea\x8f\xf2\xa1\x77\xaf\xac\x9a\x31\xb5\x3c\x16\x40\x60\x2d\x9e\xb1\x77\x98\xfb\xc0\x2a\xf2\xa1\x9c\x99\x3a\xf5\xba\x38\x4b\x70\x0c\xb9\xbc\xdf\x99\x48\x01\x8b\xd0\x29\xe4\xdd\x04\x33\x0e\xb3\x18\x75\x39\xe9\x66\xe4\x4a\x80\x1e\x05\x3a\xd5\x8b\x0a\xb6\x6c\x8b\xa2\x28\x45\xac\x00\x04\x62\xc6\x52\xa4\x97\xe1\x31\xab\x58\x4d\xea\x78\x5f\x90\x90\xb5\x16\x18\xbd\x28\x39\x2b\x03\x61\xba\x92\x61\x45\x49\x7e\x5a\x14\xd4\x56\x95\x5e\xaf\x07\xe9\xb8\x10\x0a\x0b\x8b\x80\xd2\x60\x00\x1f\x94\xce\x48\xac\x0d\x21\xd9\x00\xb6\x1a\x42\x3e\x77\x14\xf6\x18\xf1\x8e\x24\xb5\x50\x39\xc5\xb5\x31\xda\xba\x53\x58\xdd\x57\x33\x0b\x70\xda\x2b\x89\xf3\xf4\x34\xb8\x9e\x07\x91\xf6\x2c\xa3\xba\x67\x59\xe0\x8f\xa4\x48\xbb\x93\x51\x34\x97\xbd\xa9\x13\x20\xac\x5c\x09\xea\x42\x20\xe4\xe8\xb4\x97\x93\xe4\xb4\x37\x45\x1c\x26\x90\xc3\x53\x7d\x4e\xa9\xeb\x93\x86\x8d\x95\x0d\xc3\x03\x40\xe4\x6d\xb7\x17\xe6\x95\x32\x5e\x28\x58\x6a\x66\xe5\xe1\xeb\x5e\xb9\x54\x90\xf7\xf6\x0e\xee\x0f\x06\xb6\x1b\xc1\x7a\x19\xf5\xd4\xa1\x21\xaf\x65\xa5\x96\x3a\x14\x57\x2b\x9c\x0f\xce\x68\xe9\x70\x4e\x06\x37\xd1\x15\xc1\x70\x70\x3d\x07\xf6\x58\x92\x16\x97\xc6\xf0\x0c\x9d\x0f\x12\xed\xd2\x18\xd6\x5d\x1a\xf6\x4f\x30\x74\x5d\x1a\xc3\x56\x97\xc6\xf0\xe3\xc7\xa1\xeb\xd2\x18\xd6\x5d\x1a\xc3\x41\xbe\x8a\x4b\x43\x5a\x20\xcd\xd2\x86\x62\x23\xa2\xe8\xe3\x47\x34\x8f\xc0\x30\x02\x23\xcb\xa5\x31\x74\x1c\x0e\x43\xed\xd2\xa8\x3d\x3f\x1d\x36\xc9\x77\x54\xba\x34\x86\x8b\x5d\x1a\x6e\x0f\xfe\x1d\x28\x86\x38\x14\xd3\x53\x2e\x0d\x38\x18\x82\xb4\x96\xa3\x79\xba\xb2\xda\xda\x64\x9b\x77\x35\xf5\x3e\xfb\x27\xfd\xd3\xef\xdf\xee\xd7\xca\x99\x34\xf3\xe9\x8b\x9d\x58\xb0\x37\x48\xda\x6c\x2c\xf9\xc4\xca\xaa\x52\xea\x57\xed\x2f\x75\xd0\x45\x00\xf4\xef\xb7\x12\xaa\x7d\x56\xd6\xbf\xb3\xb2\xe4\x1d\xba\xe1\xe1\xfa\xef\xe3\x46\x63\xd1\xea\xc0\x1c\xb3\xc1\x2f\xaf\xfe\xfa\xea\xf5\xaf\xaf\xbc\xc9\xf1\x16\xc3\xe8\x97\x30\x9e\xbc\x7c\xf1\xf7\xff\x9f\xbd\x7f\xdf\x6e\xdb\xd6\x16\x85\xf1\xff\xfd\x14\x8a\xf6\xfa\x3c\xc8\x96\x82\x79\xbf\x78\x6d\xd5\x5f\x96\x93\xb6\xd9\xc7\xbd\x9c\xa4\x69\xcf\x59\x8e\x4f\xcb\x48\x90\xcd\x15\x8a\x64\x49\x2a\x8e\xb7\xad\xf3\x2c\xbf\x67\xf9\x3d\xd9\x37\xe6\x04\x40\x82\x14\xa9\x8b\x63\xb7\x76\x97\x33\x3a\x6a\x81\xb8\x10\x98\x04\xe6\x1d\x73\xbe\xbc\xc5\x08\x66\x35\xc2\xeb\x97\xcf\x5f\xfc\xef\x5b\x8c\x60\x55\x23\xbc\xb8\xdd\x22\xec\x6a\x80\x1f\x9f\xbf\xfe\xe9\xd5\xf3\x93\x5b\x8c\xe1\x54\x63\x7c\xf7\xea\xcd\x9b\x57\xdf\x7f\xd3\x0e\xc1\xc7\xff\x75\x70\x8f\x0d\x59\xb6\xe2\x54\xf0\xab\x8f\x72\xdc\x4c\x0d\xce\xe4\x22\x2c\x2e\x44\x14\x8a\x30\x99\x32\x3f\xcc\x9d\x18\x8a\xf6\xb9\xfd\x93\x62\xbd\x8b\xf9\x14\x23\xc4\xba\x23\xc6\x91\xa0\x63\xfc\x5f\x14\x8d\xbc\xb2\x2e\x82\x2c\xfc\xaf\x78\x3d\x1a\xb9\x8c\xca\x8b\xef\xc2\xfc\x3c\x4a\x1a\xba\x8d\x5e\x7f\x65\x21\x32\x4d\xc2\xac\x19\xec\xc6\xd7\xdc\x6a\xbb\x59\xab\x22\x01\xcb\x26\x11\x9f\xe7\xe9\x22\x5b\x73\x5d\x68\x92\x4a\x97\x8c\x2e\x47\xe6\x81\x33\xec\x34\x3c\xae\xf6\xb8\xa7\x26\xc3\x35\xeb\x29\x41\x24\x59\xb3\x98\x1e\xa1\xb7\x25\xec\x36\x25\x5b\x0c\x98\x93\x85\xe7\xb4\xe2\x08\x0b\x82\x3b\x56\xc8\x3f\x05\xd9\x74\xef\xe8\x73\xc7\xe7\x51\xef\xee\x6d\xfc\x0d\xc2\xf9\xe7\x0e\x5f\x08\x12\x76\x6f\x6f\xc8\xf2\xf4\x63\x54\x44\x69\x42\xa7\xa3\xf7\x57\xfd\x6f\x5a\x11\x9a\xd7\x6e\xa6\x0e\xed\x6c\x4b\x0d\x61\x77\x10\x06\xb3\xad\x78\xa8\x04\x4d\x12\x01\x72\x3b\x3d\xb5\x6d\xd6\xd2\x92\xc4\x6b\xe1\x8f\x81\x75\x75\x78\x57\x81\x15\x90\x05\x1f\x0a\xe7\x8b\xb6\xf2\x83\xff\xf6\xa5\xdf\xc1\x59\xfd\x0e\xb6\x7d\xce\xb4\xe1\x94\x66\x71\x7a\x35\x97\x2e\x78\x68\x6b\x9c\x68\x49\x98\x65\xa4\xee\x52\x90\x8e\xee\x5b\xbf\x3a\xa7\x31\x0d\x0b\xba\xf5\x7b\x5b\xed\xdb\xef\xfb\xdc\x65\x57\xec\x97\x2e\x75\xae\x37\x5a\xdd\xa3\x19\x69\x5f\x1b\x0e\x3e\x32\x47\x16\x78\x41\xa5\x6a\x28\xe8\xef\x0b\x9a\x4c\xba\x02\xc7\xde\x16\x3e\x1b\x26\xc8\x9b\x7f\xde\xec\x24\xde\xa4\xa5\x18\xdb\x42\x49\xb8\xad\x82\x70\x4d\x54\x32\x43\xdc\x89\xe3\x2e\x45\x30\x73\xbb\xbe\x1c\xc8\xdd\x7c\xc4\xd6\xff\x7f\xe7\xe9\x54\xa8\x57\x1b\xc0\xb1\x74\xcd\xd1\xc4\x11\x01\x58\x12\x89\xa1\x6a\x41\x53\x66\x91\x0d\x4b\xfa\x10\x6b\xa0\x55\xcd\x2b\x9a\x4a\x20\xdc\x2d\x7c\x66\x6b\x65\xbb\xc7\xc2\xdc\x64\x89\x98\xd6\x44\xba\x62\xf4\x98\xb3\x14\xff\x12\x1c\xe6\x76\xc7\x6d\xa6\x0a\x20\xc2\x13\xc9\xc6\x1b\x4e\x61\xc9\x32\x6d\x9c\x75\x85\x67\x6c\x2d\x8c\xef\xe3\x2d\xa7\xd9\x52\x1d\xbb\xd2\x6b\x3f\xc7\x2a\xd1\x7c\x01\x5f\xb0\xb7\xc6\x68\x64\xcb\x6b\xda\x7a\xde\xc3\xd5\x64\x27\x5b\xa3\x9d\x0e\xf5\xf3\x86\x03\x01\x5b\x9b\x9f\xf2\x35\x27\xe2\x96\x68\x5c\xdb\xf5\x2c\x6c\xbb\xed\xdb\x17\x11\xfb\x69\xf8\x2a\x94\xe4\x0d\xd6\x11\xce\x73\x80\xff\x1f\x8d\x3e\xd2\xbc\x68\x05\x77\xfc\x58\x6f\xca\xfe\x75\xac\x33\x3e\xf4\xdd\x2f\x95\xcc\x2d\x3b\x21\xf1\x3f\xeb\x73\xf3\x89\x8c\x90\xe1\xf8\xd3\x3f\xf1\x0a\x2d\x7f\xa8\xdf\x77\x35\x64\xeb\xc6\x48\xd9\x38\x82\xc3\x63\xf8\xb3\x3f\xd6\xfa\x7b\xe4\x3d\xb3\x68\x08\x7e\x5a\x8d\xab\x0a\xc9\x52\xf1\x83\x70\x81\x97\xcc\x1c\x1f\xc3\x1c\x9a\xec\xd7\xe2\x9f\xd0\x21\x94\xfc\xda\xe7\x15\x0f\x3a\xd9\x6f\xa7\x88\xf1\xe6\x66\xa7\x66\x01\x04\xb1\x64\x12\x42\x3d\xa6\xb4\x2b\x53\xa8\xcd\x32\x8a\x0d\xc4\x00\x4d\xd7\x51\xf8\x33\x9a\xa5\xf9\x48\x96\xda\xd7\x5b\x54\xd6\xd9\x62\xa2\xd9\x4e\xfa\x8d\xb6\x3e\xe1\x61\xa8\x37\xfe\xba\x5a\x0d\xff\x5f\x65\x61\xbd\xb6\xde\x3e\x69\x35\x9e\xb4\x1a\x4f\x5a\x8d\x3f\x5b\xd7\xc0\x55\x0c\xcd\x78\xe1\xeb\x24\xb9\x5d\xe4\xb8\x61\xed\x72\x62\x09\x79\xa8\xc7\xc5\xa4\x8a\x93\xb2\xc2\xe1\x58\x5b\x49\x78\xc8\x9d\xf7\x8b\xfb\xc0\x29\x9d\xc9\xcc\x58\xe5\xd7\xd0\x90\xda\xac\xcf\x96\xda\xac\x9d\xa5\xb6\xfe\xdc\x49\xc3\xee\xf4\x16\x3d\xe9\xee\x47\xb3\x28\x8e\xd7\x64\x47\xeb\x08\x66\x94\x4d\x8b\xd1\xe8\x63\x54\x2c\xc2\x38\xbe\xfa\x36\x9a\x4e\xa9\xcc\x3e\x75\x2c\xa7\x33\xf6\xf5\x06\xc7\x93\x5b\x08\x9d\x5d\xab\xad\xd8\x52\x43\x62\x4b\xb7\x17\x3a\xad\x4d\x42\xe7\x7a\x91\xd3\x94\x5e\x7a\x2b\x91\xb3\x5f\xe0\xb4\xd6\x08\x9c\xd6\x3a\x81\xb3\x8b\x4f\xbc\x3f\x5e\x12\x9f\xb7\x0e\xde\x67\xb2\x91\xcc\x2d\x66\x95\x4b\x64\x1c\xe5\xfd\xb3\x8a\xb7\xe0\x12\xff\x24\xe6\xb0\x72\x44\xfa\xa3\xa3\x30\x6e\xf4\xf4\xae\xee\xa2\x16\x4f\x77\x51\xff\x3d\xee\xa2\x2e\x36\xb3\xf8\x2f\xdc\x2f\xe7\x27\x74\xda\xf6\xc9\x6f\xe4\xd7\x70\x34\x5d\x3b\x35\x03\xed\x54\x20\x34\x5e\x29\xb8\xa1\x46\x6e\x23\xfa\x29\x0b\xd1\xd6\x7b\x76\x56\x8d\x32\x1a\x55\x4f\xa5\x67\x93\x34\x8e\xc3\xac\xc0\xa6\x67\x6d\x0e\x86\x23\xe1\xda\xbf\x9c\x77\x5b\x13\x91\x50\xe0\xed\x0b\x73\xd8\xdd\x8b\x39\x34\xae\x4d\xa7\xf3\x12\xe7\x19\x8a\xf4\x18\x2b\x9a\x73\x4e\x08\xba\x88\x5e\x1f\x0c\x26\x17\xf4\x63\x9e\x26\xec\x12\x6b\x5d\x14\x79\x5b\xba\xfc\x06\x3a\xd4\x16\x32\x43\xd0\xc3\xe9\xf9\x9a\xd1\xc5\x50\x74\x50\xfa\x55\x76\x75\x07\x40\x60\xe7\x8e\xfb\xc4\x15\xa8\xa5\xa4\x73\x12\x7b\xd8\x03\x9e\x46\xc6\x21\x3e\x04\x11\x3b\xa3\x3b\xa7\xa3\x68\xc5\x86\x69\xe5\x69\x1c\x86\x79\x14\x4a\xdb\xad\xf7\xb3\x94\xf9\x02\x48\x1f\x92\xc2\xe1\x59\xef\x2d\x67\xbb\xe3\x96\x33\x5b\xe0\xcb\x7a\xb4\xd6\x75\xde\x2d\x2e\x24\xaf\x03\x7e\x03\x3c\xcd\x6b\xdc\xbe\x66\xae\xdf\x2e\x6d\xaf\xd9\xfd\xda\x0f\x78\x9f\xcb\x21\x8d\x30\x61\x4d\x92\x2d\xf3\x01\xe9\x76\x39\x49\xc4\xc7\x58\x43\x6c\x27\xeb\x88\xed\xe2\x3e\xfc\x56\xeb\xcf\xff\x58\x3c\x57\xe5\x03\xd7\xf2\x28\x45\x8f\x55\xb9\xfe\xe8\xe8\x99\xbe\x6c\xee\x41\x71\x81\x51\x2c\x7c\xfc\xac\x51\x5c\x2e\xb5\x70\x5c\x28\x71\x23\xba\x79\x7d\x44\x3e\x3f\xd2\x4c\x45\x7b\x3b\xa6\x2e\x5e\x84\xd3\x5e\xaa\x5a\x6b\x1e\xad\xc3\xb4\xcb\xd5\xbe\x75\xe3\xa8\x5a\x2c\x5f\xef\x6b\x3a\x42\x4e\x36\x32\x71\x7d\x3e\x5a\x7f\x55\x4d\xdf\xef\xff\x75\x32\xff\x69\xf2\xf2\xa0\x11\xae\xd8\xee\xf4\x65\xe4\xca\x11\x6d\x38\xaf\xdc\x19\x23\xee\x1a\xf9\x7a\x91\x24\x0c\xd9\xc0\x3a\x63\x5a\x52\x94\xbc\x5a\x66\xee\x76\x98\x5b\xc9\xdd\xae\xed\x19\x59\x2b\x3f\x16\xc9\x87\x04\xa3\x40\x48\x2a\x80\x8e\x8e\x1d\xae\x93\x76\xeb\x2e\x02\xce\x5d\x04\x28\xac\xdd\x1c\x57\x9a\x34\x97\xd0\x34\xa5\xcb\xd4\x78\x85\x3b\x1a\x0c\x7a\xb6\xcf\xa6\xfa\xd1\x68\x58\x45\xdb\x14\x2a\xa8\x33\x89\x92\xcf\xd2\x09\xf4\x8a\x92\xf3\xfa\xea\x04\x57\xec\x94\xe1\x7b\x1e\xb2\x67\xa8\xf7\xb3\x46\xb5\x3a\xa1\x67\x06\xbf\xfe\x5a\xa7\xd5\xb3\x39\x2d\xbd\x60\xca\x06\x4e\x31\x3b\x88\xdc\xce\xef\xa8\x33\xe9\x6e\xcc\xbd\xb8\x41\xed\xc1\x65\x7e\xcc\xa3\xcc\x5e\xf7\x2b\x7b\xdd\xaf\xb5\x0b\x24\xbe\x8d\x64\x39\x9d\x45\x9f\x36\x2a\x0d\x1b\x43\xca\xb9\x98\x37\x0c\xdf\xf1\xe1\xda\x0e\x19\xeb\xf4\x87\xad\x60\xa9\x15\x73\x99\xa5\x59\x46\xf3\x1f\x50\x6e\x6f\xba\x47\xd4\x8d\xe6\xe9\x34\x9a\x45\x34\xef\xab\xe7\x09\x87\x7e\xf8\x48\xf3\x59\xcc\xf4\x7e\x1d\xad\x68\x31\x09\x33\xfa\x4b\x54\x5e\xbc\xa6\x33\x9a\xa3\xc9\x4d\x1b\xbe\x4f\x17\xc9\x34\xcc\x23\x5a\xbc\xe4\xb1\x36\xce\xb4\x53\xc6\x40\x0c\xab\x3b\xec\x67\xf5\xbf\x3e\x15\x9c\xc4\xe1\x98\xc8\x5e\x36\xf1\x45\xb7\x93\xca\x76\x9f\xb7\x4c\xd3\xb8\x8c\x32\x82\x49\x8b\xa3\xe4\xfc\xd7\x04\xd7\xd8\x04\x7a\xb7\xe2\x6e\xd5\xc8\x29\x26\x38\x5f\x45\x23\x5b\x4d\xa2\x85\xa5\xda\xd3\x58\x85\x44\x0b\xc9\xf4\x26\xbe\x2c\xe6\x61\xdc\x3e\x32\xc3\x33\xad\x4b\x0d\xb9\x23\xdc\xe2\xb0\x28\x7f\x15\x19\x9f\xbb\x36\x6b\xf7\xd8\x81\x04\xad\xc6\x22\x7a\xd4\x6c\x9b\xae\x9a\x4a\x6c\x6c\x4b\x5b\xd9\x1d\x18\x77\xb5\xbb\xc9\xa3\xe2\x36\x9d\xf5\xb9\x15\xb5\x66\x7b\x57\x0d\xa2\x20\x98\x4d\xc2\x82\x0a\xab\x68\x29\x5b\x46\x91\x6c\x8f\x38\xb0\x84\x22\x6c\x9d\x16\x6b\x2b\xa6\xb9\x1b\x33\xfe\x59\x1a\xab\xc6\x6c\xe6\xb4\x0c\x99\x02\xed\x7e\x82\xc0\xad\xc4\x2e\x58\x89\x01\xd7\xa1\xe9\x92\xf3\x8b\x6c\x9f\x4e\xa4\xd6\x78\xcd\x1e\x53\x1a\x91\xf7\x4f\xea\xb9\x7f\x0f\xf5\xdc\x7c\x33\x5f\x7e\xfc\xe9\xcb\x13\xe7\xfb\xc0\xde\x86\x2f\xbf\x48\x17\xf1\xf4\x35\x46\xe4\xfa\x16\x99\xe1\xe7\xc9\xf4\xa7\x10\x8e\x8f\x5c\x75\x9c\xce\x59\xaa\xf3\x7e\x9e\xbc\xcd\x38\x9f\x69\xc3\x17\xfd\x7e\xb6\x72\xb3\xd7\x3d\xae\xbd\x0d\xde\x48\x5c\xa3\x5a\xa9\xce\x72\x1a\xa7\xe1\x74\xa8\x0d\xff\x95\xbe\x7f\x11\x96\xe1\x1b\xd4\xe7\xbf\xc6\x4b\xb6\xe7\x11\xc3\xcb\x6c\xf6\x35\x3b\x2e\xeb\x08\xc3\xbc\x8c\x00\xfd\x8c\xc4\xed\xf4\x15\x26\xb3\xb2\xed\xf4\x84\xf0\xd8\x68\xb4\x35\x9a\x37\x87\x6c\x16\x1f\xdf\x3e\xab\x8d\x92\x5d\xc0\xee\xae\x6d\x7c\x25\x09\x1c\xab\x4c\x8a\xaf\xd9\xdd\x7a\x9f\x75\x0c\x8d\x5f\x19\xba\x05\x5c\xea\x5b\xfb\x8b\x24\xfc\x18\x46\x31\x87\x42\x27\xb3\xd4\x34\x08\xaf\x99\xf7\xfd\x18\xa5\xb7\x59\x05\x37\x13\x21\xf7\xb2\x55\x72\x98\x75\xe1\x1f\x56\x35\xce\x8c\x2e\x4a\x46\xa8\x2d\x3c\x9f\x83\x75\xb7\x06\x7b\x8e\x41\x43\x3f\xf8\xff\xff\xff\xf5\x7b\x55\x33\x87\x71\x6e\x94\xc5\x48\xd9\x23\x19\x04\xa3\x5a\x79\xd9\x97\x8e\xe4\x35\xeb\x56\x33\xde\x75\x38\xc7\xae\x78\x8e\xfc\x2d\xec\x83\x1f\x33\x30\x77\xa7\x60\xd0\x58\x5a\xf9\x37\x65\x98\xcb\x19\xc4\xeb\x89\x56\x62\xc1\x6e\x76\xfa\x2d\x76\x41\x4e\x47\xf9\x22\x19\xf5\x6d\x86\xbb\xf0\xc6\xee\x7c\xdc\xff\xf0\xae\x9c\x32\x6e\x03\x8d\x95\x78\x1c\x9b\x17\xb2\xf5\xf1\xf0\x57\x13\xd1\xdf\x66\x8f\xef\x08\xd8\xee\xc0\x28\x6b\x50\xed\x7d\xdd\x77\xd8\x06\xfc\x82\x40\xed\xec\xd3\xbe\xf6\x3a\x85\xec\x78\x30\xa9\x09\xf8\xad\xe8\x66\x9f\xd3\xc9\x76\x5b\xbf\xdb\x3e\xb5\xd2\x77\xa5\x57\xa7\xff\x03\x93\xd7\x04\x10\x7f\xba\xca\x6a\x8f\x05\xc9\xfd\xb5\xc6\x15\x9d\x32\x5c\x58\x3b\x22\xa0\xf8\x86\x12\xda\x45\x58\x8c\x90\x63\x6a\x59\x35\xfa\x2f\xdf\xae\x26\x37\x99\xa4\x49\x19\x46\x09\xcd\x47\x2c\xd8\x47\x89\xbc\xd4\x79\x54\x8e\x2a\x68\xee\x2a\xea\xb5\x85\xab\x75\xa1\x52\xaf\x78\x86\x93\xfc\x0e\x32\x9c\x88\xf4\x26\x4d\x83\xc9\xac\x2b\xcf\xc9\xac\x3b\x9f\x49\xd6\xaa\x5e\x21\x25\x22\xe3\x09\x9a\x33\xe4\x4f\xda\x65\x13\x90\xeb\xb1\x03\x7e\xf3\xae\x96\x58\x51\x05\xf7\x10\x18\xa5\xd5\x12\x1b\x11\xb9\x01\xcf\x9b\xb1\x4a\xbf\x40\x3e\x5a\x4d\xc2\xcd\x93\x8e\x24\xf4\x72\x10\x92\xd7\x74\x46\x7e\xc8\x68\x1e\x82\xb8\xb2\x87\x32\xf7\xab\xa9\xd2\x9a\x12\x89\xa6\xac\x57\x22\xf5\xfa\x45\xb8\xee\x73\xbb\x93\xdc\xbe\x72\xeb\x3f\xaa\x7f\xde\xdc\x54\x84\x70\x2f\x81\xf7\x54\x03\x28\x11\x1b\x3d\xe7\xa3\xbf\xfc\x94\xd1\x69\x54\xd2\x37\xd2\x1a\x5f\xd3\xdf\x17\xb4\x28\xf7\xf2\x66\xcf\x44\x6d\xb0\xeb\x22\x6f\xb6\x0c\xf2\x23\xec\x52\x37\x52\x4a\xf5\xb0\xe2\xdd\xbb\x3a\xec\xef\x63\x0f\xde\x44\xe1\xb1\x49\xd3\x76\xce\x91\x49\x1c\xd1\xa4\x24\xb4\x63\xb2\x0a\xcf\x31\x0d\xcd\x7e\x89\xca\x8b\xef\x68\x19\x2a\xaa\x4a\x58\xbc\x15\x85\x8a\x68\xb3\x5d\xf9\x3b\xa8\x48\xce\x81\x91\x5b\xa3\x99\x92\xee\xef\xa7\x47\xe4\x9c\x96\xff\x95\xbe\x7f\x35\x55\xd4\x2a\x50\x68\x73\x4f\x36\x13\xce\x84\xe4\x1b\xec\xf0\xa6\xcc\x69\x38\x17\xc0\xc3\xdc\x33\x6c\x98\x54\x1e\x51\x64\x3a\xc7\x6d\x04\xb3\xc3\xe4\xed\xe7\xb4\xc4\xb8\xa6\xc7\x00\x05\x75\x3c\x1e\xb7\x07\x2d\xb2\x34\x29\x28\xa9\x1a\x91\x37\x3f\x3d\xff\xe9\x25\x8b\x0c\x5a\x8e\x71\x80\x37\x2c\x48\x0d\xce\xff\x78\x91\xe7\x00\x7f\x75\xcf\x01\xb0\x8b\x54\xe6\xab\x0b\x31\xd4\xe5\xf2\xef\x4a\x37\xb8\xcf\xa5\x19\x28\xb4\x13\xcc\x2a\x49\x13\x65\x38\x0d\xcb\x70\xa8\x95\x3c\xaf\xc9\xfb\xae\xbc\x26\xf9\x9d\xe5\x35\x79\x7f\xcf\x59\x47\xa6\xed\x37\xac\x62\xa4\xd3\xf8\xee\x0d\x9b\xcf\x8c\xe5\x52\xd5\x5a\xaf\xee\x60\x93\x6f\x1d\xa2\xb4\x63\xac\x75\xa1\x4a\xaf\xd6\x85\x2a\x9d\x6b\x57\x1b\x43\x95\x16\x1f\xcf\x47\x59\x58\x96\x34\x4f\x8a\xbf\xae\x7d\xf3\x7f\xba\xff\xf3\x97\xe0\xf7\x1f\xdf\xac\xb8\x39\x7d\x3c\x97\x9c\x85\x64\x50\x70\x4e\xf0\x02\x83\xed\x56\x66\x35\x5b\x1b\x5e\x46\x53\x34\x38\x56\x0f\x3e\xcd\x63\x00\xdd\xf0\xa2\x2c\xb3\xc3\x83\x83\xcb\xcb\x4b\x72\x69\x91\x34\x3f\x3f\x30\x75\x5d\x07\x00\xf7\x57\x62\xdf\x03\x31\x92\xb8\x17\xa5\x0d\x0d\x62\xac\xd1\x4e\x4c\x59\x64\xd7\x35\xc6\x00\xd1\x32\x8e\x12\x1a\xe6\xdf\xe4\xe1\x34\xe2\xd6\x1b\xc3\xd6\x0c\x6d\x18\xa7\xe7\xe9\x28\x0b\x27\x1f\x46\x93\x34\x4e\xf3\x51\x58\x2d\xc6\x18\x6a\x43\x47\xff\x7f\xaa\xb2\xd9\x2c\x5f\x41\xbd\x54\x84\x6a\x43\xe7\x0f\xd6\x47\xcb\x2c\xca\x34\x13\xfd\x58\x24\xe3\xc6\x50\x50\xcd\x66\x33\xd4\x86\xff\xe1\x39\xde\xf1\x3f\x9e\x77\x99\x1b\xb7\x1e\xba\x9a\xd6\xca\xe0\xa6\x63\x06\xae\xbe\x6e\xf0\x0d\x72\xd2\xb6\x60\x7d\xff\xd0\xc0\xfa\xf5\xb1\x67\x1e\x7b\xf7\x04\xd6\x17\x2f\x0d\xc7\x3d\xfe\x03\xc0\x3a\x79\x68\x60\xf5\xfd\xc0\x7d\xf1\x8f\x7b\x02\xab\xed\x39\x66\xf0\x62\x07\xb0\xf6\xa3\x83\x79\x58\x7c\xa8\xc1\x0a\xa5\x0a\x8b\x41\x61\x54\x32\x11\x2c\x8c\xb3\x8b\x50\xae\x78\x9b\x44\x48\x12\x16\x05\xcd\xdf\x00\x97\xf9\x43\xf2\xb6\xa8\xdc\x04\x3e\x0d\xb5\xa1\x59\xc1\x58\x2e\x08\x5c\x69\xea\x2b\xf8\xd4\xec\xf2\x53\x68\xcf\x37\x0b\x6b\x99\x7c\x16\xc5\xf1\x28\x47\x9a\x30\x04\xee\x3d\x9d\x8a\x3b\x0a\xc3\x49\x1c\x65\x3d\x55\x20\xf8\x7d\xe7\x11\xdd\x30\x06\xa6\x41\x2c\xdf\x72\x8f\x3d\x62\x19\x9e\xe1\x42\xd9\xf3\x75\x7f\xe0\x11\xcf\x0d\x3c\x77\x60\x9a\x03\x9f\x98\xb6\x1f\x78\x03\xd3\x3c\x31\x1c\xe2\x39\xae\x07\xad\x02\xdf\xb5\x8e\x0d\x97\x98\x96\x13\x88\xf2\xc0\x70\x89\xeb\xfb\x0e\x8e\xe2\x58\x36\x94\x83\xc0\xc6\xf6\x96\x1b\x04\x27\xa6\x41\x5c\xc7\xf2\x06\x86\x43\x6c\xc3\x38\x86\x6e\x4e\x10\x40\x51\x37\x2c\x78\x03\xd1\x5d\x18\xc6\x26\x8e\xee\xfa\x83\xaa\xde\xc6\xfa\x13\x53\x27\x66\xe0\x04\x03\x97\x38\x30\xfc\xb1\xa9\x13\xc3\x0f\xec\x81\x4b\x74\xdf\x34\x82\x81\x11\x10\xdf\x0d\x82\x81\x43\x5c\xdf\x0e\x2c\x28\xdb\x96\xee\x0d\x1c\x62\xbb\x8e\xe7\x9c\x18\x26\x71\x03\x67\x60\x12\xc3\xb5\x2d\xff\xd8\x30\x89\xed\x9b\x03\x93\xe8\x8e\xed\x05\x03\xc3\x24\xa6\x6d\xda\x03\x13\x7e\xe9\xba\xe9\x0f\xcc\x63\xc3\x20\x9e\x6b\x99\xf0\xcc\x20\x8e\x69\xb9\x75\x6b\x83\x58\x86\xee\x8a\xc1\x4e\x6c\xe2\x78\x36\xbe\xdb\xf6\x02\xdb\x39\xb6\x89\x61\x39\x9e\x01\x73\x41\xd0\x58\xc4\x37\x5c\xd3\x82\xb9\x06\x8e\x1f\x0c\x2c\xe2\xe9\x81\x07\x73\x77\xfc\x40\xb7\x4f\x4c\xa2\xdb\x8e\x8f\x4b\x35\x3d\xfb\xd8\x20\x81\xc9\x97\xee\x98\x3a\xcc\x99\x55\x3b\x58\x3d\x30\x89\xe5\x18\x81\x8b\x80\x34\x6d\xef\xa4\xf1\x31\xff\xf9\x9d\x11\xc0\xac\xfc\x81\x61\x11\xd3\xf2\xbd\x6f\xa1\xec\xf9\xc1\x31\x02\xc4\xb4\xe0\xb9\xa5\x07\x06\x00\xc8\xf1\x3d\x03\xca\x8e\x65\x5b\x72\xd9\xd3\x2d\x13\xda\x3b\x96\x8e\xe3\xf8\xbe\x6b\x42\xbd\x65\x7b\x62\x96\x50\x34\x2c\xd7\xe3\x45\x68\xad\x07\xb6\x2d\xd5\x8a\xaf\x29\x8a\x26\xab\x34\x4c\x9c\x8a\x8e\x2f\x0a\x02\xdf\x1f\x18\x3e\x09\xe0\xcb\xca\x65\xdf\xf0\x45\xf9\x18\xca\xae\xe7\x35\xea\x71\x23\x41\xd9\xb1\xb0\x6c\x01\x3c\xa0\x6c\xb0\xf6\xa6\xe3\x60\xd9\xf7\x59\xbd\x61\xd8\xac\x6c\x63\x7f\x1f\xa0\xcf\xcb\xd0\xde\xc3\x71\x2d\x12\x38\xae\x0b\xf5\x9e\xe9\xb3\x7a\xfc\xeb\x13\xd7\xb6\x05\x1c\xa0\xb9\x6b\x9a\x38\x5d\xdf\x0b\x4c\xac\xd6\xd9\x74\x7d\xd7\xc7\xee\x8e\xaf\xe3\x74\x7c\xc7\x37\x4e\x5a\x65\xe8\xef\x38\x01\x4e\xcf\xb7\x3d\x07\xdb\x5b\xec\x75\xbe\xe5\x06\x58\x36\x3c\xfc\x4e\xbe\x19\x04\xdf\x42\x19\xbf\x87\x0f\xe7\x0d\xdf\xe3\x59\xb0\x1c\x8f\x04\x81\x8b\xe3\xb8\x36\xf4\xf3\x88\xe7\x19\xd8\xcf\x35\x7c\xff\x5b\x28\xdb\x96\x71\x6c\x78\xc4\xf5\x02\x5f\x3c\x87\x76\xae\xad\x9b\xac\x9f\xe9\x60\x59\x67\xf3\x73\x5d\xd7\x3a\x69\x95\xa1\xbf\xe3\x33\x70\xb9\x9e\x6d\x42\x7b\x07\xff\x5a\xc4\xf5\x4d\x03\xcb\x2e\xfb\x9c\xae\x1f\xe0\xfb\x1c\xc7\xaa\xca\x58\x6f\xb3\xcf\xe3\x06\xb0\x17\xa0\xcc\x8b\x00\x4e\x28\x9a\x6c\x19\x41\xc0\xaa\xad\x40\xec\x42\x56\x34\x45\x11\x26\x67\xb9\x7c\x70\xcf\xc1\x97\x99\xa6\x89\xfb\xcc\x30\x18\x50\x74\xd3\x31\xf1\xe8\xe0\x66\x75\x01\x28\xb8\x69\x03\xdb\x08\x10\x69\x05\x96\x05\x67\xc7\xd3\x61\xf2\x0e\x71\x9d\x00\xdb\x59\xa6\x81\x3b\x34\x30\x2c\xd6\xcf\xf1\xfc\x13\x28\xfb\xb0\x58\x97\x04\xa6\xeb\x1d\xcb\x65\xcb\xc2\xdd\x1f\xe0\xc7\x85\xb2\x87\xef\x0d\x3c\x38\x44\x2e\x09\x6c\xdd\xc7\xf6\x9e\xc5\xea\x6d\xdb\x62\xf5\x3a\xaf\x67\x87\xa9\x2a\x3b\x36\x6b\xef\x7a\x6c\x7c\x40\x57\x58\xe6\xfd\x7d\xf8\x0b\x65\xde\x3e\xf0\x1c\x6c\x6f\xbb\x08\x35\xdd\xd1\x59\x7b\x9c\x97\x47\x0c\x5c\x9f\x0d\x7b\x1a\x8b\xbe\x6e\x1c\x23\x0a\x61\xdf\xdc\xf2\x02\x1b\x96\x6f\x38\x86\xcb\xbe\xa9\x8f\xb8\xd9\x0c\x5c\x84\xba\xaf\x1b\x3e\xe0\x7c\xcb\x64\x45\xdb\x70\x7f\x86\xbf\x8e\xe3\xc1\x30\x96\xe5\xe2\xa7\xf5\x3d\x17\x31\x93\xe5\xe8\xac\x8c\x48\xc0\x21\x96\xcb\xb6\x4a\x60\x98\xd8\xdc\x83\x83\xe8\x91\xc0\x64\x88\xcb\x0a\x4c\xb6\x83\x6d\x58\xac\x43\x6c\xdd\xc5\x59\x05\xae\x6f\x41\x7b\xdb\x35\xf1\xa0\xea\x16\x9b\x95\x63\xc0\x4e\xf2\x89\x81\x98\xcb\x21\x8e\x6b\xe0\xc1\x36\x02\xcb\x81\xf6\x8e\xe7\xe0\x41\x35\x75\x0f\xc7\x77\x80\x34\x54\x27\xc6\x21\xae\x6e\xe1\x49\x33\x5d\x2b\x38\x96\xcb\x1e\xdb\x03\xba\xc7\x4a\xb6\x83\x45\x40\xee\x58\xf6\xb1\xb1\x61\xe3\xcb\x4d\xdf\xe0\xd5\x1e\xab\xf6\x9b\xc5\xc0\x44\x08\xbb\x9e\x85\xa7\xd8\xd6\x6d\x9c\xbb\x28\x3b\x78\x6a\x1d\xe2\xda\x8e\xc7\x91\xca\xb1\xd4\xdd\x43\xdc\xe3\x10\xc7\xb2\xf0\x6d\xbe\x6d\xe0\xdc\x6c\xcb\x76\x05\xce\xaa\x41\x29\x70\x1c\xff\x40\x02\x05\x3a\xc4\x74\xd9\xe8\x50\xc6\xef\x1d\xb8\x7e\x5d\x6f\x93\xc0\xf4\x82\x7a\x78\x9b\xf8\xb6\xc5\x50\x9c\x07\xb3\x6f\x96\xb1\xde\x0c\xf0\x75\xae\xe3\x37\xcb\x30\x7b\x28\x9a\xac\x68\x32\x82\xe5\x1b\x0e\x43\x89\x46\x80\xa7\xc9\xd7\x7d\x8e\x22\x7d\xdc\xdd\xbe\x6e\x60\xd9\x09\x7c\x3c\x2d\x5e\xc0\x60\xeb\xf8\x1e\x9e\x26\x0f\x49\x90\x4f\x1c\xcf\x72\xa1\xbd\x07\xf4\xb2\x42\x89\x36\xa0\x34\x7c\x9f\xed\xe2\x6c\x3c\xd3\xf3\x04\xac\xb1\xb9\x11\xe0\x6a\x2d\xcf\xc5\xc3\xe0\xb1\xb7\x59\xb6\x8f\xb3\xf1\x74\x13\x61\x69\x99\xba\x09\x67\xdb\x75\x75\x5b\x6c\xa3\x9f\xe1\xaf\x17\x38\xf8\xdc\xf2\xd8\x73\xc3\xc5\x59\x3b\xd8\x1f\x76\xbb\x8d\x40\xb4\x5d\x9f\x21\x4e\x87\x9d\x79\x0b\x09\xae\x47\x6c\x90\xd2\xa0\xac\xb3\x7a\x2b\x30\xb0\xde\x74\xd8\x29\xb2\x18\x49\x34\x90\xbc\x79\xc4\xb2\x03\x68\x6d\x78\xec\xc4\x5a\xb6\x8e\x30\x34\x3c\x1d\x0f\x8b\x85\xb3\xb0\x89\xe1\xb2\xb3\x66\x31\x90\x18\x88\x00\xa1\x68\xb3\xe6\x4e\xe0\x36\xcb\x7c\x38\xcb\x0e\x60\x31\xba\x1b\x98\x35\x06\x60\x54\x05\xca\xa6\x6b\x23\xda\x75\x02\x5d\xea\x6f\xc1\x6b\x4d\x31\x79\xe0\x93\x02\x9b\xbd\x0f\x19\x41\xc3\x04\x9e\xc4\xaf\xf0\xb2\x49\x0c\xc3\x74\x79\x11\x58\x26\xdb\xf2\xaa\x4a\x9d\x78\x78\x4e\x3d\x62\xeb\x40\xa8\x75\x62\xd8\x06\xbe\xdb\x70\xdd\x13\x43\x27\x3a\x6e\x36\x0e\x08\x9d\xe8\x96\xc3\x16\x0e\xcc\x13\x96\x59\x6b\xcb\x05\xd4\xa6\x03\x2b\xc1\x56\x06\x74\x03\x8a\xb6\x57\x41\x15\x8a\x86\x29\x17\x71\x27\x62\x11\x1b\xe3\x89\x87\xa2\x1f\x0c\x02\xe0\x14\x18\xed\xb2\x80\x96\x05\x24\xf0\x7c\xfe\x6e\x2f\x70\x4f\x58\xd9\x14\xe5\xe3\x80\x04\x96\xce\x96\x69\xeb\xba\x31\x08\x10\xef\xe1\x78\x36\xf0\x02\x01\xf1\x2d\x93\xd7\xfb\x81\x77\x1c\x10\xcf\xd4\x19\x86\x73\x5d\x7b\x10\x10\xd7\x31\x59\xd1\x77\x75\x6b\x10\x10\xc7\x0d\x7c\xdc\xb8\x7a\xe0\x9f\x00\xa3\xe5\x32\xc6\x03\x36\xe2\x49\x40\x6c\x46\x2c\xd8\x46\x3d\x0e\x88\xed\x23\x72\xe7\x1b\x39\x20\xb6\xe7\xb1\x63\x67\x79\x0e\x14\x5d\x7e\x8a\x6c\xdd\xc0\xee\x2e\xc3\x7e\xb6\x6e\xc0\xdc\x6d\xc7\x62\x28\xc6\x76\x6c\x0f\x9a\x5b\x3e\x3f\x84\xba\x07\x73\xb7\x75\x24\xbc\xfc\xd0\x05\xc4\x0a\xc4\xa1\x83\x43\x19\x10\xcb\x37\xf8\x21\x36\x1c\x1f\xca\xae\xe7\x09\xb6\xe8\xb8\x59\x84\x5a\x07\xd9\x42\x8e\x31\xe4\x32\x60\x98\x80\x98\x6e\x60\x32\x04\x67\xc2\xe0\x86\xae\x9b\x41\x85\xa0\xe0\x0f\xd2\x5f\x8e\xc0\x7c\xe2\x7b\x8e\xee\x49\xf5\xbe\xe1\xb3\x23\x8f\xf8\xcf\x27\x9e\x6b\x4a\xf8\x11\x78\x2b\xc3\xc2\xc9\x22\x4f\x07\x88\x42\x30\x65\x80\x7e\x61\x8d\x20\x94\x08\x74\xdd\x2a\x43\x7d\x60\x39\x9c\x34\xf8\x8d\x22\x50\x0e\xc0\x63\x9e\x6b\x56\x94\x05\xf0\x9e\xe1\x55\x84\xc7\x27\xae\xe5\x78\x7e\x45\x98\x00\x06\x3a\xc3\xe6\x06\x70\x21\x3e\x71\x5d\x46\x0b\x0c\x47\x0f\xa0\xe8\x79\x1c\x01\x59\xba\x77\xc2\xca\xbe\x28\x1f\xfb\xc4\x33\x6c\xc6\x80\xea\x9e\xe9\xc1\x62\x6d\x9f\x2d\x46\x07\xb9\x00\xd6\xa8\x33\x6a\x8d\x74\xd3\x27\xbe\xce\x39\x41\xa4\xab\x15\xb0\x38\xdd\xf5\x61\x97\x32\x44\x06\x47\x1b\x68\x00\x47\x0d\x48\xb5\x7d\xe2\x4b\x34\xbd\x82\x3c\xa3\xf9\x3f\x73\x1e\xe0\x18\x38\xf9\x80\xb1\x75\xae\x6e\xc2\x5e\x36\x90\x70\x71\x64\x17\x10\xd3\x36\xf4\x9a\xe3\xa8\xbe\xb7\x47\x74\x20\x9f\x52\xbd\x6e\x18\xb0\x3f\x4c\x03\xbe\x3f\xe7\x7f\xa4\x22\xb0\x47\x01\x31\xf5\x80\xb1\x63\x78\x22\xa0\xec\xf8\x6e\xc5\x5e\x41\xd9\x84\x73\xcd\xd9\xaf\x80\x18\x8c\xe5\xe7\xec\x99\x5c\x36\x5d\xef\x24\x20\x26\x80\x00\xd9\x3b\xdb\x82\x73\xaa\x7b\xc8\xf6\xb9\x40\x86\xeb\x35\xbb\xc4\x0e\x74\x0b\x3f\x90\xcf\xb8\x2d\xcb\x72\x9c\x63\x8f\xf8\x46\x60\xb9\x15\xd7\xe8\xe1\x67\x65\x84\x06\x44\x25\x97\xf8\x96\x60\xad\xfd\xc0\x38\x71\x89\x6b\xb9\x8c\xd5\xf7\x0c\xcf\x3a\x76\x91\x4c\x1a\xa2\x3c\x80\xb2\xcb\x99\x5d\xd8\xf5\x50\x36\x7d\x8f\x95\x75\x6c\x0f\xfb\x88\x71\xbf\xae\x07\xf5\x86\xc3\x44\x05\x64\x8e\x5d\x24\xab\x15\x73\xec\x12\x27\x00\xb9\x1d\x59\x69\xcf\x3c\x76\x89\xe3\xf8\x4c\x62\x70\x5d\x14\x95\x1d\xdd\xb6\x58\x19\xa0\xe0\x12\xdb\x44\xaa\xce\xca\xdf\xba\xc4\x0a\x3c\xd7\x39\x76\x89\xe1\x99\x36\x93\x24\x5c\x90\x62\x03\xcb\x62\xf2\x93\x67\x3b\x0e\x48\xb5\xae\xe3\x32\x01\xc8\xb6\xbf\x05\x58\x18\xae\x71\xec\x10\xd7\xd2\x99\x58\xe3\xa0\xe8\xcb\xbe\x1c\x48\x45\x86\x3b\x00\x96\x0c\x0e\x3c\x4a\x4d\xa6\x71\xc2\xca\x8e\x28\x1f\x03\x4b\xe7\x19\x5c\xca\x32\x41\x6c\x77\x6c\x24\xce\x16\xf1\x81\x61\x77\x88\x63\xa2\x58\x6f\x91\x40\xd7\xad\x63\x87\xd8\x8c\xbf\xb2\x48\x00\xe2\x03\xf0\x45\xba\xce\x84\x48\x0f\xc5\x7e\xd3\x33\xb8\x10\x08\x42\xa4\x43\x4c\xc7\xb3\x2b\xa1\x12\xea\x91\xf6\xd8\x20\xed\xc3\xf0\x26\x93\x0b\xa0\xec\x04\xd0\xdc\x70\x4c\x87\x95\x03\x1b\xea\x75\xc3\xf0\x84\x04\x3b\x70\x88\x81\x8c\x0a\x17\x68\xa5\x22\xce\xdd\xf0\x2c\xdd\x94\x8a\x8c\x1d\x65\x92\xb2\x03\x5c\x05\x63\x1b\x74\xe0\xc1\x1c\xa2\xfb\xbe\xe3\xca\x65\xdb\xe5\x53\xb1\x0d\xe3\x18\x78\x2c\x83\xf1\x6a\x58\x0f\xdc\x09\xe2\x6f\x8b\x04\x86\x6d\x0f\x6c\xe2\x30\x7c\xcd\x37\x99\x0d\xe2\x97\x8b\x90\xb1\xe1\xe4\x01\xd7\xe3\x23\x20\x4c\xc7\xf4\x07\x20\x40\x18\x6c\xd3\x18\x81\xeb\x1c\x83\x00\xc2\xc5\x51\xc3\x37\x61\xb8\x00\x00\x5c\x95\x1d\xa2\xe3\x6b\x79\xf9\xd8\x21\xba\xc1\xa5\x73\x51\xcf\x48\x9f\x85\x6a\x86\x7a\xfa\x50\x76\xb0\xbd\xab\xdb\xac\x3f\xe0\x40\x87\xe8\x9e\xcd\x18\x0d\xc3\xf5\xad\x7a\xf9\xac\x7c\xe2\x10\xc3\xe4\xf2\xa1\xe1\xc2\x77\x36\x75\x9f\x7d\x47\xc4\x99\x0e\x31\x7d\xd3\x64\xaf\x87\xa3\x06\x92\x07\x97\x3e\xa1\x7c\x0c\xa2\x05\x4c\x0b\xca\x26\x6e\x5e\xdb\xb1\x79\x7f\x5e\x16\xca\x04\x28\x7f\x0b\xa2\x85\xee\x3b\xc7\x0e\xf1\x75\xce\x0f\xe9\x81\x17\x0c\x5c\xa2\x33\x16\xd5\x02\xfe\x09\xce\x8a\xe9\xe9\x8c\xff\x09\x82\xc0\x3e\x76\x89\xe5\x38\x70\x46\x4c\x12\x00\x13\xc8\xcf\x0e\x96\x61\x1f\x56\x67\xcb\x84\x43\xe2\x1e\xcb\x65\x20\xda\x50\xc6\x0d\x07\x65\x38\x9a\x36\x43\xcd\x50\xd4\xe1\x08\xda\x16\xca\x7d\x26\x92\x49\x28\xa2\x8a\x02\x8a\x96\xd3\x28\x1b\xae\x7d\x52\x21\x0e\x93\x78\xae\x6e\x1c\x57\xf5\x06\xb1\x5d\xc7\x18\xb8\xc4\xd3\x3d\x8b\x71\x60\x8e\x3b\xf0\x88\x8d\xd2\x72\x00\x0c\x58\x10\x1c\x03\x17\x63\xe8\x80\x3e\x75\xc3\xb6\xb0\xde\xf2\x7c\x20\x20\x41\x60\xb8\x58\x76\x5c\x17\x08\x56\xe0\xba\x86\x77\x82\x65\xcf\xe0\x65\x97\x97\x4d\x5e\xb6\x79\xd9\xe2\x65\x93\x97\x1d\x5e\xe6\x45\x97\x15\xf5\x80\x97\x3d\x5e\xf6\x60\x3a\xae\x8d\xd4\x37\x70\x1c\x13\x5f\xef\x59\x06\x76\xb7\xad\xc0\x86\x32\x8a\x19\x9c\x59\x38\x41\xce\x19\xc7\x43\xfa\xf7\xb3\x4f\x3c\xcf\x75\xec\xe3\xfa\xb9\xa7\x03\x0e\xaa\xcb\x8c\x4c\x7b\xf0\x4d\x2d\xa4\xf2\xac\xb9\x81\x5b\xcd\x27\xb6\xe1\xe9\xee\xc0\x25\x81\xee\x05\x30\x2d\x33\x80\x2d\xe4\x12\x60\x25\x60\x55\x86\xed\x5b\xfe\x09\x2b\x9b\x72\x19\xb1\xbd\x4f\x0c\x33\x40\xec\xed\x70\x32\x6c\xe8\x80\xa6\x01\x1d\x9b\x36\x40\x11\xa8\x39\x60\x7f\xc7\x00\xa6\xd2\x27\x40\xd3\x9c\x6a\x8b\xf8\x44\x37\x40\x7a\x16\x5b\xcc\x23\x81\x07\x6c\xb3\xd8\x82\x40\xbd\x3d\x3f\x38\x76\x89\xe9\x00\x33\x0b\x65\x38\xe1\x2e\x31\xf1\xe4\x79\xb0\x03\x4d\x6c\xcf\x97\xe9\x23\x6f\xe4\x12\x13\xe5\x10\x20\xf0\x81\x81\x5b\xda\xb0\xf1\xeb\xfa\xb8\x0e\x97\x98\x80\xfb\xb0\x6c\x38\x3e\x90\x01\x64\x7e\x78\x79\x00\x65\xc0\x0c\xc0\x10\xf8\x08\x1f\xc3\x87\xcd\x05\x65\xdb\x41\xb2\x81\xa2\x05\x94\x0d\x1d\xd6\x67\x20\x6f\xe5\xa1\x9e\xcb\x18\x08\xb2\xc2\xcb\xc7\x0e\x60\x1e\x0b\xea\x5d\xcf\x77\x82\x8a\xce\x00\x27\x01\x28\xdc\x25\x3a\x48\xce\x1e\x4c\x53\xc7\xe9\xd8\xb6\x89\x44\xd7\x70\x1c\x5b\x02\x87\xee\x04\xa6\x5d\x9d\x40\x5e\x3e\x16\xe0\xad\xeb\xd9\x19\x81\xcf\x6c\xd8\x5e\x75\x26\x38\x11\x3f\x96\xca\xbe\x8e\x9f\xdb\x33\x4c\xcf\xc0\xb2\xe5\x63\x7b\x53\xc7\xe9\x19\xbe\x6f\xbb\x27\xcd\xb2\x07\xfd\x4d\xdb\xc3\xfe\x81\x01\xab\xf7\x2c\xdd\xc0\xee\x81\x8d\xd0\xf5\x2c\xc7\xc6\x4d\x07\x4d\x1d\x03\xa7\x6e\x1a\xae\x0d\x5f\xca\x73\x7d\x84\x94\x89\x3a\x06\x97\x78\xbe\x69\xc0\x50\xa6\xe5\xf9\x70\x9c\xbd\xc0\xf0\x10\x14\xb6\xed\xc2\x52\x7c\x9d\x7d\x09\xd3\xd1\x71\x29\x3e\xb2\x45\x50\x76\xad\x13\x56\xf4\x78\x11\xba\xfb\x9e\x6b\x02\x64\x2c\x13\x8e\x31\x30\x47\x26\x7e\x58\x0b\x3f\x98\x4b\x02\xdf\xf7\xd9\x31\xb7\x2c\x38\x7f\xba\xe1\xe1\xca\x6d\x0f\x70\xa6\x47\x74\x3c\x74\xa8\xf9\xf2\x00\x9f\xc3\x1f\xc7\x34\x7c\x13\xda\xba\x01\xa2\x14\xc7\x32\x5d\xfc\x1a\x9e\x8f\xcb\x74\x6c\xb6\x19\x74\x9f\x7d\x45\xc7\x31\x02\xe3\xd8\x23\x26\xe0\x43\xb4\x31\x00\xbb\x00\x67\xdd\xb3\xe1\x6f\x80\xf4\x1e\x64\x6a\x1d\x99\x51\x3c\x24\xc7\x1e\x71\x81\x73\xab\x0e\x91\x47\x3c\x0b\xcf\x90\x61\xd8\x01\x0e\x83\x4a\x4f\x5e\x3e\xf6\x00\x52\xa6\x54\xed\xeb\x40\xf4\x7c\xd4\x0e\xc2\xe8\x3e\x32\x54\x30\x9a\x17\xc0\xec\x7d\xcb\xb2\xb1\xbb\xce\xaa\x71\xa7\xd6\x2f\x63\x3b\x9f\x97\xbf\xe5\x27\xe9\xc4\x27\xba\x85\xfc\xb7\x11\x04\x36\x08\x11\x88\x6f\x24\xb4\xea\xa1\x0c\xed\x12\x9f\x89\x07\x3a\xf1\x0d\xcf\x15\x3b\x10\xa4\x64\xdd\x83\xf3\xe0\xb8\xa8\xac\x31\x88\x05\xe7\xc2\x45\x3d\x30\xb3\x36\x78\x9e\x27\xf0\xc3\x09\x94\xd9\x79\xb5\x4c\xcf\xf4\xa0\xec\x1a\xf8\xd9\x80\x99\x34\xb1\x6c\xc1\xe8\xa6\x6f\x39\x30\xb8\xeb\x39\x16\x62\x03\x36\x38\x88\xa2\x78\xb8\x4d\x07\x4d\x17\x9e\x65\xe2\xe1\x35\x5c\xc3\x42\x23\x07\xf2\x74\x01\x0a\xc6\xac\x1a\xa8\xb4\x67\x21\xf9\x33\x80\x7b\x70\x05\xfb\x75\xd2\x2c\x1b\xad\xf2\xda\xa2\xef\xb7\xca\x6e\xab\x6c\x36\xcb\x9e\x8b\x93\xd3\x91\xc7\xb0\xdd\xc0\xc5\xd9\xb9\x01\x23\xe2\x06\x9a\x2c\xa0\xac\x5b\x82\x09\xf8\xd9\x21\x96\x6d\x04\x36\xc2\xc0\xb7\x00\xa3\x58\x86\x0b\xbc\x0b\x94\x75\xe4\xe2\x60\xe7\x63\xd9\x43\xfb\x8c\xe9\x19\x01\xce\x53\x2a\xfb\x0c\x86\xc8\x74\x9a\x36\x87\x8a\x0b\x4c\x00\x70\x89\xb6\xce\xde\xeb\x9a\xa6\xe0\x0a\xb1\xbd\x05\xc3\x73\xce\x8e\x7f\xa0\x8a\x35\xe2\x65\xa6\x9b\x35\x7f\xb6\x89\x6f\x07\xa6\xf7\x33\xe7\xec\x8e\xeb\x7a\x97\xc9\xfd\x7c\x78\x9b\x38\x4c\xf2\x36\x88\x07\x88\xda\x26\x76\x80\x6a\x31\x83\xf8\x16\x72\x82\x36\x0a\x4b\x06\xd0\x45\x6f\x60\x03\x14\x90\x65\xd0\x1d\xd7\xe2\xc5\x63\xc3\x24\x26\x1c\xd0\xba\x16\xde\x0d\x63\x33\xb1\xbd\x2a\xe3\x5c\x60\x4e\xae\x65\xd9\x3f\xdb\x28\x80\xa1\x99\xcc\xc3\x2f\xa2\xdb\xae\x89\x76\x32\x1b\xd8\x24\x07\x25\x54\xd4\xff\xd8\x8e\x0e\x65\xd3\x70\x0c\xfb\x84\x95\x6d\x56\x36\x5b\x45\x07\x87\xb3\x5c\x2c\x33\x6e\xdc\x24\xb6\x89\xec\xb7\x65\x58\x5e\xa3\x2c\x3e\x28\x70\xf5\x38\x0e\x30\x22\x0e\xb1\x4d\xd7\x86\x61\xac\x00\xdf\xea\x22\x6f\x68\x12\x0b\xf0\x9a\x43\x02\x53\x47\x16\xcb\x02\xa9\xcd\x85\x39\x9a\x06\x6b\x8d\x04\xc0\x34\x5c\x17\x99\x24\xdb\x42\xfa\x6b\x3a\x01\x7f\xa9\xe7\xe2\x01\x0a\x3c\xc7\x3b\x11\x20\x71\x61\x52\xb8\x06\xd4\x78\xb9\xb0\xb9\x2c\x34\x24\x3a\x16\x22\x6d\x07\x44\x88\x63\x90\x92\x18\x12\xe6\x3c\x18\x30\xe8\x26\x20\x67\xdd\x32\x74\x34\x70\xda\x20\x50\x73\x4c\x76\xd2\x2a\x57\x1a\x63\x86\x6c\xb0\xbd\x8f\xbc\x15\xe2\x18\x03\x18\x51\x40\x87\xa6\x89\x73\x03\x22\x6e\x56\xf8\xef\x5b\x28\x3b\x06\x9a\x35\xbc\xc0\x14\xac\x07\x0a\xac\x3a\x32\x60\x75\xd9\x72\x6a\xd6\x04\xca\x1e\x72\x5c\x55\xbd\x0d\x3b\x50\xe0\x4d\x28\xbb\x68\xfe\xd5\x7d\xd7\x87\xe6\xae\xed\x00\xd2\x0f\x5c\xd4\xdf\xba\xc4\x37\x7d\x28\x23\xb6\x15\x46\x17\x8f\x38\xbe\xae\xbb\xc7\x68\x8c\xb0\x81\x6e\x38\x2e\xaa\x7f\x81\x28\xb8\x36\xd2\x08\x6e\x26\xd0\x03\x64\x3c\x1c\x40\x42\xc7\x68\xac\x40\xc6\xc3\xd1\x51\x7f\x0f\x24\x1e\x69\x88\x1d\x00\x5a\x86\xb2\x69\xf9\x82\xef\x3b\xe6\xba\x05\x8e\x6f\x51\x0b\x67\x5a\x38\x3e\x50\x58\xa6\xe5\xd3\x91\x16\x01\xad\xf1\x4e\x9a\x65\x9c\x9f\x65\xea\x8c\xff\xe3\x16\x2d\xce\x78\x98\x4c\x59\xe4\x21\x1e\xe1\xf4\x13\x9b\x3b\x48\x3e\x01\xa3\x72\x25\xa2\x65\x20\x75\x76\xb8\x82\x92\x91\x4b\xa4\xde\x27\x42\xdd\x09\x94\xde\x80\x35\xe1\xd4\x0d\x61\x58\x41\xad\x89\x20\x8b\x86\x47\x3c\xc3\x11\xc5\x63\xae\x64\x91\xab\x03\x10\x92\x3c\x02\x7c\x79\x50\x59\x44\x60\x2a\xa6\x69\x1d\x73\x95\x35\x40\x82\xa9\x98\x7d\x62\x00\xe5\xf1\x50\x5f\xc0\x2d\x2c\x3a\x63\xf9\x10\x19\xd4\x65\x1f\x18\x7d\x28\x5b\x36\x63\x11\xd1\x90\xe3\x91\xc0\xf4\x90\x10\x06\xa6\xe9\x61\x7b\x13\x79\x2e\x3f\x70\x0c\x83\x69\x8e\x78\xbd\x6f\x0b\x4d\x12\x72\x9c\x96\x8f\x1f\xd2\x0f\x90\xb1\x08\x4c\xa6\xc2\xf6\x91\x6b\x09\x2c\x83\xa9\xa8\x7d\x46\x26\x03\xdb\x60\x70\xf5\x1d\x07\xf9\x59\xdb\xb7\x59\xbd\xed\x61\x6f\xe0\x1d\x06\x35\x30\x70\xd7\x41\x7b\xcf\x41\x7e\x9a\xf1\xc7\x00\x4b\x1f\x35\x55\xc8\x3f\x57\xb0\xe5\xd4\x9a\x19\x2e\x25\x66\x40\x18\x2a\x61\xd3\x3b\x8e\x21\x2c\x8d\x00\x32\x90\x3a\xa0\x08\x4c\x16\xb0\xf3\x68\xba\x86\xed\x87\xc3\x1b\x8e\x67\x54\xea\xfd\x01\xea\xf2\x80\x2c\x7b\xc4\x46\x46\xc5\x08\x74\xb6\x89\x4d\xdd\x06\x6e\xde\xb2\x5c\x0f\x9b\x83\xe0\x0c\xd2\x84\x13\x30\x95\x93\x6f\xe3\x91\x42\x15\x22\x9c\x29\xe4\x7a\x25\x1d\x93\xc7\x74\x84\x9e\x0d\xb4\xab\x2e\xa3\x12\xef\x67\xae\xad\x03\x0c\xe0\x02\xf2\xf7\xd1\xb0\x88\x47\x3f\x08\x3c\x63\x50\x29\x91\x85\x62\x9f\x89\x7a\x30\x4b\x34\xc5\x30\x1e\xe4\xb8\xb2\xde\x1a\xc4\xf6\x82\x7a\x43\x1a\x26\x31\x1c\x66\xc4\x40\x28\x80\x64\xa9\x9b\x68\x0d\x66\x7a\x15\x13\xb8\x7e\x84\x52\x55\x46\xe6\x05\xca\x36\x13\x5c\xb9\x32\xd1\xd3\x79\x7f\x8f\xed\x20\x0f\x0d\xb3\x26\x32\xa1\x62\xc3\x63\x31\xf0\xe5\x22\x22\x1a\x66\xb3\x1e\x48\x56\x07\x66\xd3\x66\x52\x37\xdb\x42\xcc\x96\xad\xdb\x86\x7b\x8c\x0a\x74\x26\xdc\x73\x43\x8f\xc5\xf4\x56\xa8\x1b\xa8\xcc\x52\x4c\xb5\xf0\xad\xb0\x5a\x81\x3c\x28\x69\x38\xa0\xcc\x2d\xd0\x55\xd9\x67\xaa\x25\xd4\x78\x18\x3e\x2c\xbd\x51\x1f\xa0\xd1\xcd\x02\x01\x09\x1d\x29\x74\xc3\xc1\xf1\x4c\x1d\x88\x5e\x40\x74\x87\xd5\x9b\x06\xa0\x43\xe1\x0b\xc1\xca\xd8\xde\x67\xaa\x2d\x13\x2d\x8b\xc2\x75\x02\xca\x1e\xb6\x37\x84\xc6\xc6\x34\xb0\xde\xe0\x1a\x16\x13\x75\xdd\xc2\xf3\x82\x95\x8f\xe5\x32\x9a\x4b\x03\x62\xa0\x16\x53\x2a\x4b\x0e\x21\xff\xfc\x0e\x38\x04\xd8\x8a\x5c\x37\x81\xae\x31\x20\x1f\x03\x65\xb3\x91\xd8\xfa\xb8\x25\x0c\xc0\x0a\x48\xd3\x91\x9e\x02\x9f\xea\x98\xce\xb7\x9c\xeb\x02\xae\xc9\x74\xfd\xba\x99\xc1\x6c\x21\xf5\x28\xf2\x4b\xfe\xf9\x9d\xa0\x41\xc0\xfd\xfa\x0e\xec\x5b\xdb\xf6\x71\x54\x87\x5b\xb8\x6d\xdc\x20\xa2\x9f\x4b\x50\x41\x67\x12\x47\x07\xaa\x69\x13\x13\x81\xc6\xde\x76\x6c\xd8\x44\xf7\x2d\x36\x49\x8b\xa9\xa7\x50\x68\xe4\xac\x98\xd0\xd3\xa1\x41\xca\x45\x2b\x1b\xfa\xa1\x18\xb0\x14\xa6\x6b\x43\x14\xc0\x59\x6f\x28\xa3\x4b\x88\x41\x4c\xdf\x34\x80\x46\x03\x25\x03\x4e\x1e\xb9\x20\x97\xe8\x16\x6c\x24\x61\xc0\xe2\x54\xd8\xd0\x09\x8a\x96\xcd\xa5\xfd\xf3\x3b\x80\xb4\xaf\x63\xbd\x69\xc0\x21\x72\x88\xc1\x24\xff\x40\xb7\x00\x6d\xdb\xc4\xb6\x03\x4b\x50\x75\x34\xc2\x31\x01\x8d\xd1\x53\x13\x18\x7e\x53\x08\xc6\x00\x4a\xcf\x40\x4b\x4d\xe0\x59\x3a\xda\xe4\x3c\x66\x5e\xd3\xd1\x18\x6b\x12\x34\x4b\xea\xf0\x72\xfc\x8a\x1e\xea\xbc\x75\x62\x98\x5e\x80\x16\x3c\x03\xf1\x81\xc9\x15\xb0\xa8\x08\x33\x74\xc2\xd8\x93\xe6\x5c\xff\xf9\x1d\x2c\x82\xc9\xd9\x1e\xda\xb2\x0c\x83\x18\x26\xd2\x0c\x94\xbc\xa0\x18\x20\x71\xf7\x4c\x9d\x31\xa7\x26\x72\x33\x48\x71\xa0\x35\xa7\x9d\x4c\x6e\x83\x0f\x00\x22\x94\x10\xf2\xa1\x1c\xa0\x94\xed\x02\x4b\x01\xbb\x06\xd1\x56\x40\x02\xe0\x9d\x8f\xf9\x26\xc3\xd9\xa3\x21\x08\x5e\xe7\x79\xf5\xf4\x75\x12\x20\xb2\x67\xe5\x63\x28\xa3\xae\xb5\xae\xf7\xd1\xa1\x43\x87\x69\xb9\x95\xec\x05\x65\x5b\x77\x4e\x7c\x12\xd8\x8e\xed\x54\x9f\x22\x20\x8e\x69\xa2\x88\x67\x71\xa8\x40\xb3\x9a\x66\x35\x81\xf1\xcf\xef\x02\x12\xd8\xb6\x8f\xeb\x32\xad\x20\x38\xf1\x89\xe9\x06\xf8\x6d\x70\xa7\x08\xb1\x16\x76\x86\x87\x84\xdb\x61\xae\x0b\x06\x73\x82\xf1\x40\x54\x63\x7a\x3d\xdc\xd6\x01\x60\x77\x83\x1d\x22\xcf\x82\xe9\xf8\x4c\x1b\x6a\xc0\x32\xd0\x30\x29\x5e\xe7\x1b\x1e\x14\x51\xcf\x6c\x10\x0f\x49\x56\x0d\x24\x17\x18\x28\xd8\x02\x68\xca\xab\x81\x2a\x4f\xf6\x9f\xdf\x71\x01\x56\x6c\xb8\x13\xbe\x47\x6a\x54\x57\x6f\x0a\x54\xce\x1a\x3a\x50\x09\x86\x3a\x02\xb6\x2a\x86\xd8\xf0\x54\xe8\x40\x72\x8c\x6a\xf7\x4a\x65\x34\x2f\x40\x59\xf7\x2a\x57\x9e\x93\x80\xb8\xc8\x57\x1b\x0e\xf1\x3c\xd3\x3e\xe6\xf6\x26\xee\xb2\x50\x9d\x05\x90\x72\x90\x25\x6a\x4c\x55\xc2\x5a\x0c\x51\x1c\x57\x68\xa9\x46\x1c\xa8\xcd\x13\x88\xc3\x82\x13\x8f\x78\x05\x20\x0e\x6c\xba\xee\x07\x78\x76\x2d\xa1\x7f\x76\xd8\x70\x16\xf3\xe6\x32\x0d\x8b\x71\xca\x86\x65\x9f\xb0\xb2\xc3\xcb\x16\x2f\xbb\xa2\x7c\x8c\x10\xd1\xf1\xe8\x9b\x01\x73\x46\xb3\x5c\x07\xfb\x33\x2f\x12\x8b\xd8\xe8\x7b\x82\x0c\x3a\xe2\x50\xe4\x15\x6d\x62\x06\x36\x93\x60\x50\x9d\x6c\x03\x4e\x46\x82\x67\x3a\x0c\x6f\xb1\xfd\x60\x12\xc3\x67\xbe\x02\xe8\xc7\x61\x12\xdd\x64\x0e\x13\x02\x6f\xf9\x36\x73\x73\x62\x6e\x4f\x5c\xaa\xe7\xc3\xc1\x77\x75\x4d\x26\x3d\xa0\x78\xc0\x14\x0e\x30\xf7\x80\x6d\x36\x47\x70\xf9\x6d\x94\xeb\xb9\xe6\x3f\xbf\xe3\x5f\x08\xbf\x85\x8e\x12\x8a\x6d\x72\xe7\x22\x74\x56\xe2\x4e\x45\xf5\x63\xdb\x64\xbe\x2a\xd0\xeb\xa4\x72\x28\x64\x8e\x69\xc7\xc2\x10\xc1\xb6\x4d\xbd\x5d\xf8\x9e\x12\xee\x6c\x82\x5a\x5a\xc4\xf3\x3d\xaf\xa6\xb6\xcc\x6d\xae\xde\x92\xc2\x2b\x8f\xdb\x0b\x0c\x17\x84\x01\xa4\x8e\x8e\xed\xdb\x88\xab\x91\xd3\x16\xfd\x1c\x12\x38\x8e\x2d\x40\x39\x68\xae\xed\x9f\xb2\x33\xed\x50\x1b\x5e\x5e\x44\x65\x67\x4c\xaf\x35\x0e\xdb\xdd\x57\x3b\xcf\xb4\xd3\xea\x7e\xe6\x56\xf7\x22\xa5\xbb\x16\x7f\x52\xdc\x9b\xbf\x78\xf2\x8e\x68\x3a\xff\x3e\xa5\x89\xdb\xb8\xf2\x52\x7f\x32\x1e\xe9\x60\x25\x7a\x1d\x42\x65\x25\xb2\xaf\x71\xc6\x63\x66\x8c\x46\x97\x51\x79\x31\x9a\x8b\x7c\x1f\xe2\xba\x6f\x77\x00\x5f\x43\x8e\xb4\xc1\x22\x8d\x74\x5d\x69\xf1\x35\xab\x7d\x2b\x79\x8b\x0b\xc4\xad\x50\xe8\xfb\x61\x59\xf6\x5d\x18\xc6\x3b\xc1\xec\x1e\xf0\x36\x9b\xf3\xcf\x8c\x1f\x5e\x46\x73\x1a\x47\xc9\x67\x6d\xcc\x2d\xe2\x2e\x75\x46\x51\xe2\xe1\x86\xb4\xee\x68\xe1\x8f\x21\x76\xd2\xe2\x29\x76\xd2\xbf\x47\xec\xa4\xc9\x66\x04\xf8\xa3\xfe\xbf\x7e\xfc\xc7\x0f\x3f\xbd\x6e\xdf\xf9\x5b\x48\xf9\x81\xaa\xd3\xb6\x7a\x9b\x4e\xca\xcf\x62\x34\x63\x26\x9e\x8a\xf0\x28\xe2\x8a\xf4\x6a\xb8\x47\x11\xae\xa1\x11\x20\x01\x6f\x38\x75\xde\x7a\x59\x89\x3d\x23\xe6\xf5\xeb\xaf\xd3\xb4\xec\x27\xd0\x75\x88\x08\xb3\x9d\x8e\x65\x43\x7e\xf3\x2a\xc1\x46\x2b\xbd\x28\x86\x40\xed\x49\x1c\xd7\x97\xcd\xc5\x90\x53\x74\xca\xf1\x12\x37\x0d\xb8\x2e\x0a\x0c\x07\x89\xd1\x01\x12\x9a\x94\x79\x1d\x9c\xa9\x4a\x47\xb3\x9a\x75\x85\x45\xc5\x99\x44\xf9\x84\x85\x31\x5f\x4d\x37\xc2\x23\x7a\xf4\x43\x66\xfd\x85\xb5\xdb\x25\xb8\x5b\x01\x49\x9b\xd2\xd9\x75\xbb\xa8\xe0\x77\xc4\x5f\x57\x00\xee\x0e\x11\xd9\x05\xa8\x09\xeb\x0a\xd4\xfa\x43\x23\x64\xbe\xbc\xee\x56\x24\x13\xd1\x9b\xac\x74\xee\x80\x47\x77\x68\x16\xa3\x11\xbf\x76\x87\xf9\xc6\xd1\xaf\xbf\x42\xa9\x28\xc3\x79\x3b\xc5\xd7\xb0\x19\x7d\xcb\xdf\x32\xaa\x6f\x4f\x9a\xc6\xd5\x40\x96\xed\x81\xf2\x72\x63\x38\xcb\xfe\x74\x40\x5b\xbd\x64\xeb\xb0\x99\x9d\x09\x7c\xb6\x8c\xcc\xd2\x1f\xee\x68\x1d\xce\x09\x8b\x8b\x3e\xa4\xd3\xf5\x56\x63\x4d\x04\x7a\xb1\xb1\x24\x6e\xac\x27\x53\x61\x95\x5d\xa6\x0a\xbe\x59\xf6\x27\x97\x99\x89\x70\x2f\x9f\x1b\x8b\xb3\xda\xef\xdd\xec\x9e\x96\x8d\xaf\xdf\x2f\xa2\x78\x7a\xd8\x77\x4e\xb0\x76\xa8\xd5\xc9\x4e\x7b\x5b\xca\xd9\x59\x79\xe2\xcc\xde\xb6\x22\xb1\xe6\x52\x9b\x56\x13\xd8\x90\x19\xb4\x63\x22\xb7\x4c\x1d\x5b\x4d\x6e\xcb\x4c\xde\x4b\x8c\x96\x31\x1b\x2b\xe9\x67\x44\xa3\x29\xe4\x68\x34\x31\x0f\x37\x23\x1e\x22\x79\xc9\x87\x5a\xc8\x83\xcc\x84\x39\xfd\x85\x7e\x4b\x73\x0a\x3c\x1b\x0b\xae\x31\x3d\xa5\x67\x7b\x72\x54\x18\xd6\x47\xe0\x31\xc4\x9f\xb0\x0d\x48\x94\x4c\xe2\xc5\x94\x16\x4a\xd9\x0c\x56\x53\x28\x6c\x28\x3a\x3e\x3d\xdb\x9b\xa5\xb9\x82\xe3\x0e\xa2\x95\x70\x34\x2a\x25\xd9\xa2\xb8\x50\xae\x05\x12\x3f\x6c\x35\x38\x2d\xcf\x88\xa8\xd3\x80\x9e\x1c\x66\xa7\xe5\x99\x86\x13\x3a\x9c\xc2\x4f\x86\x04\x3a\xfb\x61\x8d\xd6\xc4\xfb\xa2\xa1\x58\x74\xa9\x2e\x55\xb1\x56\x4a\x8a\x34\x2f\x15\x05\x78\x2d\x75\xfc\x15\xc5\xe4\x7b\x5f\x95\xf8\xe7\xc8\x38\x1c\x19\xaa\xaa\xd1\xe5\x52\x8b\xc7\x0b\x25\xbd\xbf\x88\x1f\x61\x7b\x78\xf1\xc9\xee\xec\x0d\xa9\x2c\x47\xcd\xd6\xc5\xbd\x98\x68\xb3\x8d\x71\x2f\x38\x89\x1e\x45\xc9\x2c\xbd\xa7\x48\xb7\xfd\x29\x9b\xea\xe8\xb7\xe7\x69\x7a\x1e\xd3\x11\xc2\xed\xfd\x62\x76\xc0\xca\x07\x55\x99\xce\xb3\xf2\xea\xd7\x75\x61\x6f\x99\x9c\x13\x6a\x85\xb6\xa8\x85\xb6\xc9\x63\x12\xda\xb2\x27\xa1\xed\xdf\x43\x68\x9b\x6e\x16\xda\xb2\x79\xf8\xe2\x5f\xe7\x5f\xfe\xcf\x96\xd0\x56\x73\x29\xf2\xb9\x5d\x91\xa5\x04\x5f\x2e\x8b\x78\x72\x87\x51\x1c\x15\xe5\x9a\xc0\x2a\x4d\xf1\xec\x17\x8e\x36\xa4\xdc\x84\x20\xf5\xf1\x01\x5f\xc1\x04\xea\x98\x2d\x5d\xc9\x0a\xbb\x87\x7d\xfe\xe3\xab\xc3\xc1\xc7\x75\x63\x22\x66\x1e\x72\xc2\xb5\xc3\xc8\x2f\x41\x30\xc2\x29\x6f\x78\x01\xad\x1a\xae\x79\x4f\x8b\xe3\x36\xda\x21\x83\xd7\x4c\x7d\x1e\x25\xd1\x7c\x31\x17\x81\x6f\xb7\x59\x61\x33\xa8\x70\xff\x0b\x1a\x53\xdf\xf8\x9e\xde\x85\x36\xe3\x13\x77\x04\xb0\xed\x13\xed\x30\x24\x59\x4f\xe8\x8a\x5a\x1c\xb7\xea\x48\xad\x2c\x6b\xe6\xd9\xba\x7c\xa0\xbd\xa9\x40\xdf\x66\xc0\xde\x0e\xaa\x58\xbd\x5b\x86\xc8\xec\xce\x27\xd9\xd1\xa3\xa9\x20\xc5\x70\x23\xe7\x65\x8b\xd9\xde\x86\x89\x5e\x25\xa6\xeb\x22\x1b\xce\xc6\x4a\xb8\x15\xa3\x08\x1c\x0d\xe7\x15\xe1\xa7\x36\x91\x59\xc4\x82\xb3\x88\xe2\x61\xe3\xc3\x2f\x78\x25\xf2\x4d\xe7\xb4\xfc\xb9\xae\x54\x54\x1e\x1c\xb0\xfd\x98\x33\x7f\xfd\x51\xd6\xe4\xd6\x09\xbd\x1c\xc4\xe4\x25\x50\xe7\xee\x88\x6b\x18\xdf\x8d\x0d\xbc\x87\x0d\xa4\xf9\x8d\xe9\x11\x29\x53\x86\x55\x15\x75\xb9\xd4\x8a\x71\xa6\x84\xab\xbc\x59\x7a\x47\x9c\xd3\xa2\x3d\x7c\x03\x56\x77\x90\xff\x49\xf0\x80\x5b\x73\x68\x53\xc6\xa1\xed\xad\xe3\xd0\x2a\xe1\x63\x54\x5c\x46\xe5\xe4\x82\xde\x41\xfe\x25\x29\xed\x40\x17\xcb\xc6\xb2\x3d\x80\xfc\x89\xa8\x62\x72\xd5\xf5\x6c\x54\x16\xb7\xe5\xc6\x9e\x18\x9c\xbf\x36\x83\x93\x6d\x66\x70\x0e\x5e\x19\xce\xff\xf8\x5f\xe6\xbc\x11\xd1\xbf\xa6\xd3\x2c\xa4\xf1\xcb\x4f\xc8\xa7\xb4\x12\x4e\x19\xc8\x06\x31\xaa\xd2\x71\x38\x98\x8d\xad\x23\x43\xe4\xb0\x33\x71\x65\x54\xfc\x90\xd1\x2a\x65\xbf\xb9\x51\x25\x2b\x46\x61\xa1\x97\x7f\xca\xa3\xf3\x73\x78\xa9\x94\x9f\x7b\x2b\x95\x6e\x1d\x2f\xbf\x39\x78\x5b\x49\xd5\xf3\xde\x17\x51\x18\xa7\x3c\xea\x7c\x1f\x24\x7e\xfd\x75\x5a\xb5\x5a\x37\xaf\x61\x33\xef\x62\x9c\x86\xd3\x2a\x8c\x2a\x20\x98\x38\x2c\x58\x02\x99\x18\x53\x45\x72\xca\xbf\x26\x49\x8f\x94\x33\x75\x7d\x48\x67\xb6\x96\x93\xa8\x28\x5f\x95\x74\xbe\x13\x10\x7b\x94\x77\x5d\x50\xc0\x09\x8f\xb8\x52\xb4\x77\x4e\x83\xb6\x1d\x61\x53\xf6\xf2\xb5\x89\xcb\x57\x75\x9f\x98\xb3\x73\x75\x7a\x44\x30\x52\xfd\x81\xda\xe1\x9f\xd2\x64\x63\xb7\xfb\x46\x9a\x94\xc0\x89\x8d\xac\x76\x43\xb0\x2f\x4e\xdb\xd6\x01\xe2\x25\x15\xb0\x64\x2f\x92\x93\x87\x39\x12\x27\xbb\x69\xf6\x97\x75\xdd\x26\x83\xd2\xee\x7b\xaf\x33\x79\x3f\x66\x78\x13\x7c\x31\xb3\xf6\xcb\x79\xf9\x2d\x5d\x73\xea\xb4\xf2\xd5\xd1\xe5\x36\xa3\x0c\xb3\xff\x21\x0b\x59\xe7\x11\x08\x5a\x69\x04\x30\x0d\x7b\x9c\x16\xb4\x9d\x39\xa0\xc7\x98\xe4\x9e\xad\xe8\xf8\xdb\x53\xf0\x76\xcd\xf9\xdf\x61\x74\xe8\x3a\x2f\xa8\x81\x9e\xa4\x49\x09\xec\xc7\x7a\xf3\xc3\x66\xe8\x74\x19\x05\xb6\x3a\x6c\x3c\x81\xc1\x96\x79\x81\x3b\xce\x5d\x73\x5a\xeb\x4f\x69\xf7\x01\x58\x7f\x04\xba\x0f\x81\xd3\x93\xbe\xab\x6f\xac\x3a\x06\x7c\x5b\x7e\xef\x4f\x0b\x56\xfb\x78\x08\xea\xa5\x0d\x5f\x40\xa9\xda\xc1\xf5\x77\xed\x4a\x82\xdf\x92\x77\xb2\x69\x71\x30\xcd\xd3\x8c\x67\x66\x6e\x5a\x18\xfa\x73\xe1\xd7\x86\x0a\x34\x40\xe0\xe3\x51\x65\xb3\xd8\x52\x62\xea\x40\x88\x6b\xfc\x4d\xa6\xeb\xfc\x4d\x32\x4d\x09\xa1\x3e\x25\x65\x58\x7c\x50\x95\xeb\x9c\xa2\xfd\x8a\x33\xea\x4b\x55\x2b\x5a\xd2\x56\xde\x2f\x6d\xc1\xdb\x38\x33\xbb\x27\x49\x5e\x09\xcb\xa3\x1b\x8d\x99\x64\x92\xf2\xb4\xba\xf9\x78\xd1\x9b\x56\x17\x46\x91\xd5\x8b\x79\xaf\x7a\x31\xef\x51\x2f\xe6\x6d\xf5\x62\xde\xe0\x13\xf3\x55\x3e\x31\xad\xd5\x8b\x20\x7d\xc4\x08\x91\xaf\xd3\x5c\x65\x71\xb5\x9b\xf8\x57\x25\x19\xcd\x67\x69\x3e\x57\xd4\xe5\x17\xcd\x2a\x45\xbd\x2e\xf3\x2b\xce\xd3\x5e\xd7\x68\xf9\x10\x7d\x88\x6a\xd9\x30\x8e\x8a\x52\xee\xb5\x5c\xb2\x78\xe6\x54\xf0\xc3\xd7\x48\x90\x0e\xe9\x72\xc9\x62\xd8\xd7\xdc\x5d\x2d\x6f\x6e\x9c\xe7\x1e\xc6\x1e\x8f\x0a\x1e\xd8\x5a\x15\x91\xa8\xf7\x44\x54\x71\x20\x23\x47\x8c\x97\x86\xb6\xcf\xca\xba\x49\x34\x53\x38\x51\x8c\x92\x41\xf5\x1c\xe3\xa2\xcb\xeb\x4a\x96\xe3\x52\x08\x24\x09\x89\x69\x72\x5e\x5e\x7c\x65\xdc\xdc\x00\xd7\x2e\xca\xfb\xfb\xc9\xa9\x7e\x46\x00\xaf\x3c\x1b\x4b\xf1\xed\xf9\xe1\x5b\x2e\xb5\xc5\x78\xa2\x14\xab\x62\x6c\x74\x47\x62\x6c\x6b\xf0\x36\x35\x3d\x0d\x37\x87\xda\x5e\x37\x80\xaa\x15\x72\x98\xed\xa2\xe1\xb7\x35\xdd\x64\x4f\xf8\x34\x62\x19\x88\x47\x2c\xbb\x69\x43\x52\x15\x49\x04\xa1\x7e\x4d\x9f\x96\x50\x79\x0b\x6f\xc1\xde\x0e\x82\x46\x36\x4e\xe4\x33\x5d\x3b\xa7\x65\x57\xf2\x66\xb1\xec\xe5\x72\xa3\x1d\xa5\x5a\x03\xc3\x63\x3b\x2e\x9c\x77\x7a\xd4\x2b\xdf\x6d\xc9\x8f\x6a\xad\x49\x99\xa7\x71\x4c\xf3\xe2\x20\x5c\x94\x17\x07\x51\xf2\x31\x2a\xfb\x3c\x13\x45\xdb\x4e\xcb\xd7\x8a\xbe\x84\x51\x1a\x46\x67\x2a\x3d\x49\xfc\x98\xac\x56\xe1\x93\x52\xe7\xaf\xae\xd4\x01\xfa\x5a\x8c\x95\xa8\xc5\x3e\x95\x3d\x5e\x0d\xb0\x09\x10\x50\x7b\x5d\xfe\x0d\xc9\xf8\x74\x58\xa6\x1f\x90\x69\x9d\xa0\xdd\x46\x29\xc7\xc3\xdf\x17\x34\xbf\xfa\x31\xcc\xc3\x79\x31\x54\xa3\x44\xa1\x48\x58\xd5\xa3\x35\x9b\x9f\x6f\xda\x16\xed\x6c\x53\x56\x89\x96\x2e\xd5\x43\x7a\x5a\x9e\x8d\x13\x2d\xe6\xba\x72\x3e\x8f\x9c\x6b\xc9\xc5\x63\x98\x96\x96\x72\x17\x8b\xa5\x96\x8f\x43\x25\x6a\xe6\xd8\xc7\x6e\xa7\xc9\xdd\xe7\xd5\x18\x20\x8d\x87\xdd\xd5\x7e\x29\x4e\xea\x5e\x5f\x19\xc9\x84\xbe\xd8\x88\x0a\x2b\xb6\xe9\x40\x38\xc5\x1c\x30\x85\xdf\x16\x88\xf1\x9e\x92\xdf\xb2\xbd\x17\x6b\xa8\x77\xd6\x26\x7b\xab\xa6\xf5\xc7\x80\x51\xa7\x4f\x18\xf5\xdf\x01\xa3\xce\xc6\x4a\xcc\xf4\xe4\xeb\x12\x9b\xb5\x2d\x84\x7d\x48\xb7\x0b\xd5\x66\x5d\x76\xc2\xac\x3b\xb1\xd9\xa2\x55\xcd\x8e\xf2\x37\x51\x59\xa5\x44\xe3\xe6\xc2\x22\xfc\x08\x6b\x46\x9b\xdd\xba\x24\x62\x75\x46\x32\x8d\xe5\x06\x4b\x09\xef\xc6\x72\x7c\x7d\x1f\xce\xa9\x52\xa2\x18\xc5\xba\x44\xbc\xd5\xdb\xac\xa0\x79\xc9\xdb\x8a\xfc\x54\x11\x74\x11\xaf\x4d\xd4\x3d\x10\x4b\x99\xdc\xd8\x6d\xa6\x5c\xc8\x83\x28\x51\xa7\x6d\x72\xaf\x23\xd3\x56\xb1\x98\x4c\x68\x51\x28\xbf\xf1\xae\x83\xe1\xdf\xae\xd9\x24\x97\xc3\x01\x83\xc9\xf4\x37\x6e\x4f\xad\x40\x74\x84\xc5\x32\x0f\x93\x22\x82\x2d\xfe\x53\x8a\xde\x6a\xca\x3a\xbf\xc1\x82\x96\x65\x94\x9c\x17\x43\x8d\x4a\x36\x50\x51\x7d\xc4\xe0\x72\xb8\xfb\xc0\x6b\xc7\xe3\x62\x79\xae\xf6\x27\x19\x1b\x7e\x1d\x46\x31\x9d\x0e\xca\x94\x2f\x77\x50\x0d\x7c\xcd\x75\x82\x87\xb9\x48\x44\xa6\x15\x65\x34\xf9\x70\x85\x9b\x7c\x89\xf6\xdb\x69\x97\xfd\x36\xb9\x33\xfb\x6d\x6b\xf8\x76\x36\xad\xf8\xb3\x45\xeb\xf6\x1b\xa4\x63\x70\x07\xf6\xe1\x9e\x34\x5a\xad\x77\x4a\x27\x0c\xb5\x06\xdb\xe6\xcf\xea\x1d\x44\xd5\x42\x59\xa2\x6f\x9a\xa7\x6f\x43\xe7\xd7\xf9\x09\xde\x52\xfe\xd9\xbb\x1b\xa4\x9a\xde\x82\x4d\xd5\x22\x96\x36\xbf\x97\x5d\xfd\xb3\xd8\x54\x96\x3d\x51\x4b\xc7\x8c\xf9\x0b\xb9\xb6\x31\x1e\xe7\xbd\xda\x46\x58\x8a\xcc\xc4\xc4\xbd\x4c\x4c\xdc\xc3\xc4\xc4\x6d\x26\x26\x6e\x90\xdb\x78\x95\xdc\x86\x12\x13\xb3\xd4\xe2\xb1\xcc\xb6\x86\x7c\xee\xc5\x58\x66\x5d\x17\xe3\x3b\x66\x5e\xb5\x6c\x7c\xbd\xd4\x64\xde\x68\xd1\xc3\x1b\x65\xc0\x1b\x2d\x38\x6f\x94\x35\x79\x23\xb9\xa8\x65\x6d\xde\x28\xeb\xe5\x8d\xb2\x9b\x9b\xac\xcd\x1b\x65\x4d\xde\x28\x1b\x17\xdb\xf0\x46\xa8\x08\x11\x7a\x09\x05\x18\x59\xaa\xde\xdc\xd0\xa5\xaa\x65\xaa\x36\x91\x78\xa3\xac\xc5\xb9\x64\x9c\x37\x6a\x3c\x3f\xca\x56\x3f\xd6\xa4\xe2\x8d\xb2\xf5\xbc\x51\xfb\x0d\xdd\xfb\x0d\xa6\x98\xc1\xf2\x18\x6f\x94\x8f\x33\x10\x23\x1a\x5c\xb8\x96\x6d\x71\xef\x73\x2d\xba\xe1\x3f\x0e\xc2\x2c\xbb\x8d\x6c\xb1\x19\x0b\x01\x47\x0a\x73\x46\xd7\x95\xbd\x55\xd5\xc6\x63\x90\x1a\x8a\x27\xa9\xe1\xdf\x41\x6a\x58\x8c\x95\xfc\x33\x44\x82\xb0\xca\x5b\xfc\x06\x55\xce\x51\x72\xfe\x4b\x6d\x2a\xe4\x3a\x8f\xaa\x95\xb8\xbb\x10\x4b\x39\x8d\xab\xf3\xf9\x86\x1b\xec\x7e\x0a\xf3\x73\xca\xee\x67\x54\xc6\x9c\xbe\x8b\x27\x78\x9f\xe4\xef\x94\x64\x21\x3c\xda\xdf\x1f\xc2\x91\x7e\x36\x1e\x8b\x27\x24\x4e\x27\x61\x0c\xa2\xc1\xdf\x55\x5a\x3d\xad\xae\x78\xac\x9b\xc0\x77\x68\xdb\x94\xee\xae\x68\x5c\x06\x59\x37\x61\x36\x9f\xb2\x9e\x4f\x6d\x37\x7d\x36\x1e\x97\x9d\xb3\x3a\x25\x84\xf0\x6f\x89\x1f\xab\x50\xb0\x5d\x38\x2f\x54\x8d\x10\x42\xf1\xc5\x2b\x33\x5f\x6a\xe9\xb8\x50\xf2\x66\xa6\xd6\xae\x6f\x70\x1a\xdd\x17\x9b\x19\xb7\x27\x50\x5d\x4d\xb9\x2b\x06\x3d\x97\x39\xcb\xc5\x67\xa2\xfa\x03\xe9\x5a\xd6\x6d\x78\xcd\xb6\x56\x69\x1d\xd6\xef\xd0\xbd\x3f\xa1\xd1\x87\x89\x46\xdb\xd4\xb9\xe6\x97\x06\x51\x32\xa0\xf7\xc4\x8a\xd3\xbb\x53\xa3\x6f\x8b\xbe\x25\xf9\xa4\x53\x32\x11\x48\x5a\x96\x49\xb4\xd3\xeb\xa8\x78\x73\x91\x5e\x46\xc9\xf9\x0b\x5a\x94\x79\x7a\x45\xa7\x87\xd7\x61\x71\x38\x9c\x8a\xe2\x70\xb9\x3c\x53\x35\x86\xa3\xb5\x72\x3c\x5c\xed\x30\x14\x92\x87\x92\x8c\xd3\x5e\x51\xe3\xcf\xe6\x7c\x80\x16\x5c\x84\xc5\x77\x69\x4e\xeb\x14\xee\x45\x67\x4a\xfc\x59\x14\x97\x34\xc7\xf4\xea\x36\x10\x1b\xf4\x05\x54\x55\x61\xe0\xd7\x71\xac\xe9\xfa\x41\xda\x6d\xfe\x71\xf5\x0d\x4d\x78\x76\xfc\xee\x1b\x93\xe9\x8c\x75\x97\x3a\xb1\x76\xc9\x18\xa4\x78\xd1\xf9\x88\x44\xd3\xa3\xa3\x92\x44\x53\x2d\x1a\x53\x32\x8b\x92\x29\xce\x94\x4a\x6d\x5e\xbd\x18\x8f\xc7\x89\xaa\xee\x45\x37\x37\x0a\x53\x94\x2d\x94\x04\xf6\x18\xde\xc0\x8c\x54\x15\x23\xad\xd4\xd7\x58\xf1\x71\xa9\x2e\x2b\xfa\x53\x5c\xa4\x97\xd5\x07\x56\xaa\x4c\xf1\xed\x4f\x3f\x7e\xa6\x23\xa9\x8a\x57\x48\xd5\xca\x1e\xb9\x0f\x5b\x04\x27\x54\xcd\x97\x37\xa6\xbe\x93\x46\x64\xcd\x30\xaa\x96\xcb\x3a\x91\x06\xe5\x2a\xf6\xd8\x09\x5d\x34\xfd\x82\xd4\x6b\x71\xe4\x9a\x94\xe9\xac\xba\x5f\x21\x7d\x2e\xba\x5c\x7e\x2e\xfd\x13\xd7\x8a\xff\x3a\x7a\x96\x4e\x3c\x56\x63\x22\x3c\x67\x32\xf2\xe9\xd7\x73\x3c\x04\xe4\xc3\xbc\x98\xe0\x60\xbc\x7d\x7d\x52\x6f\xe1\x67\x12\xe2\x59\xe4\xf1\xfe\x3e\x3f\x6a\x27\x61\x49\x8b\x12\x7b\x8a\x42\x27\xb2\x8a\xa6\xe3\xb1\xa4\x3d\x27\x31\x36\x7d\xcd\x36\x03\x20\x8b\x2e\x25\x0b\x07\xdd\x1d\xa9\x59\x90\x9d\x7b\xd2\xa9\xfc\x3b\xe8\x54\x84\x1d\xe2\x80\x7d\x88\xd1\xc7\x30\x8f\x00\xc2\xb7\x62\xb9\x1f\x27\xda\xa9\x0c\x1c\x8f\x01\xf1\x74\x9c\xfd\x6a\xfe\x4f\xa7\xff\xe9\xf4\xf3\xd3\x8f\x96\xb1\xca\x9f\x62\xd5\x31\x6f\x12\x47\x23\xd6\xa6\xd1\xf2\xf1\x38\xe5\xb1\x50\x37\x0d\x2c\xd5\x98\xfc\x5d\xc4\x98\xac\x1f\x5c\x97\xd1\x9c\x1e\x5e\x5f\x5c\xcc\xe7\x45\x71\x78\x7d\x91\x2e\xf2\xc3\x21\x2e\x23\x9a\x0c\xb5\x79\x94\x2c\x4a\x2a\x3d\x60\x31\x8c\xea\x07\xcb\xa5\x36\x0d\xcb\xcf\x1b\x20\x59\xc0\x87\x3b\xbc\x9e\xa4\xf3\x2c\x9c\x94\x87\xd7\x49\x5a\x22\xb3\x79\x38\xe4\x8f\x86\x4b\xed\xe5\xdb\xd7\x87\xd7\x45\x79\x15\xd3\xc3\x61\x7d\x77\x53\xfc\x3a\x1c\xbe\x7c\xfb\x1a\xdf\x16\xcd\x17\xf3\xaf\x73\xc6\x46\xbf\x88\xce\xa3\xb2\x38\x34\xb5\x79\xf8\xa9\xeb\xf9\x52\x7b\xfb\xe6\xc5\xda\x51\xdf\xbe\x79\xb1\xfb\xa8\x3d\xfc\xf1\x05\x8d\x33\x74\xb4\x4c\xa6\x9d\x0e\xa5\xf9\xa2\xbc\x18\x89\x46\x72\xe3\x7b\xdc\xba\x38\x97\x2d\xb7\x6d\x98\x4c\x97\x7f\xe0\x31\xa8\x21\x50\x44\xa3\x32\x1d\x5d\x94\xf3\x78\xfd\xf5\x60\xde\x65\x08\xcb\x2a\x64\x8b\x89\xb8\x2d\xdc\xad\x28\xab\xd4\x2e\x39\x0f\x35\x74\x5a\x9e\x8d\x69\x15\x68\xe8\x48\x29\xc7\x25\xc9\x69\x16\x87\x13\xaa\x1c\xfc\xe7\xc1\xb9\x36\xdc\x8f\xcb\xbf\x0f\xd5\xfa\xe1\x57\xf8\xf0\x1c\x1e\xb2\xd0\xa0\x30\xd9\x37\xe1\x8c\xaa\x4a\x22\xd6\x49\x60\x21\x3f\xa5\xdf\x96\xf3\x58\x29\x55\x55\x3d\x1c\x0e\x6f\xa3\x79\xa9\x47\x19\xe7\xab\xe7\x5a\x0a\x5d\xca\x80\xa1\x2a\xf9\xe6\xe0\xa4\x15\xa8\xb3\xac\x0a\x6c\xb7\x25\xa4\x65\xa6\x6c\x16\x9d\x1f\xd0\xe4\x63\x94\xa7\xc9\xbc\x71\xdb\x3a\x8e\x46\xd2\xd0\x07\x8b\x32\x8a\x8b\x83\x9c\x9e\xd3\x4f\xd9\x96\x9f\x64\x50\x8e\x2b\x06\xa7\xba\xbc\x20\x91\xb8\xaa\xf2\xd4\x38\x3b\x92\x0b\x87\xd7\xcb\x2a\xa0\x6e\xfd\x29\x9e\xff\xf8\xa3\xb8\xad\xcf\x99\xaf\x52\x94\x7f\x48\xe2\xab\x9b\x9b\x92\x5c\x44\x53\xfa\xe6\x22\xd4\xe2\x71\x49\x8a\x8b\x50\x7e\xcc\xa3\x04\x68\x21\x12\x32\xb1\x51\xd2\xfd\x7d\x05\x9a\xa6\x97\x2f\x91\x7f\xa3\xd3\xfd\x7d\x25\x1c\xe7\x64\x8e\x9e\x29\x91\x78\x81\xa8\x7d\x4d\xcf\x5f\x7e\xca\x54\x55\x0b\x6f\x6e\xba\xda\x89\x7a\x55\x8b\x5b\x03\x15\x17\x61\xdd\xf9\x28\x3c\xd5\xcf\x0e\xf3\x5b\x6d\xa5\x2c\xe3\x4b\xb9\x97\xad\x44\xbb\xf1\x1c\x6e\xa2\x02\x90\xc3\x2a\xb2\x63\x9d\xee\x13\xdf\xf1\x69\x6d\x8b\xf2\xb0\xf9\x9f\x82\xf5\x1a\x77\xce\xb6\x39\x8b\x9f\x0f\xb5\xce\x2d\x90\x34\xb7\x40\x83\x0f\x61\x8b\x3a\x3d\x23\x6c\x9e\x20\x86\x50\x0c\xfa\x50\x8f\x94\xac\x5d\xe5\x24\x9c\x53\xe0\x19\xfb\xf8\xb8\xa2\xcc\xa3\xe4\x7c\x65\x9f\x54\xdd\xee\x71\xa7\xd4\x53\xdb\xf2\xc3\x8a\x0e\x7f\xc6\x6e\x99\x84\xc9\x84\xc6\xa3\x30\xee\xbc\x96\x24\x45\xb6\xe8\xea\xf1\x78\x38\xe3\x7a\xf2\x59\x54\x86\xb7\xda\x38\x55\xc7\x7b\xdd\x3a\xf5\xf4\xb6\xde\x3c\xa2\xcb\x9f\xb2\x7d\x2e\xc2\xe4\x9c\x16\xb4\x1c\x9d\xd3\x6e\x99\x4a\x34\xe8\xe9\xf2\x08\xb7\x50\x35\xff\x62\xf7\x25\x17\xf7\xbb\xe4\xea\x45\x6f\xe8\xf6\xeb\x96\x3b\xfd\xa9\x7b\x68\x2d\x30\x47\x1f\xc3\x38\x9a\xa2\x70\x57\x74\x74\xfd\x23\x80\xba\x3b\x44\xff\x1c\x70\x2e\x92\x0f\x3b\xb2\x4f\xac\xcf\xbd\xc2\x10\x27\xb5\x35\xfc\x16\xc9\x87\x3f\x05\x76\x71\x58\x14\xd1\xec\x6a\x57\xe2\x20\xba\xdd\x27\x04\xab\xa9\x6d\x0b\x44\xde\xe1\xcf\x81\x23\x0d\x93\xd1\x22\x1b\x2d\xf2\x2d\x25\xef\x15\xc8\x55\x82\x5c\xd2\x29\x5b\x57\x12\xf4\xf0\xa2\x2c\xb3\xe2\xf0\xe0\x60\xa8\x0d\x25\xc1\x1a\x1f\xaf\x3e\xbd\xbc\xbc\x24\xf8\xe8\x36\x52\x0f\xae\xea\x6d\xf6\x36\x8f\xc7\x49\x37\xcb\x1b\x35\x59\xde\x44\xe6\x67\xa3\xf5\x10\xe3\xea\xaa\x1d\xcf\x2d\xef\xf5\x08\xa9\xa8\xd8\x00\x23\x8c\x45\xf2\x87\xc9\x29\xd5\xa0\xdf\x87\x73\xda\x25\xbc\x32\x91\x3f\x19\x1f\x28\x47\x87\xff\xe7\xe6\x5d\x71\x33\xba\x79\x77\xa0\xbe\x7b\x73\x70\xae\x45\xe3\x83\x5f\xbf\xbc\x19\x7d\x79\x70\xbe\xd7\xa3\xf9\x91\x03\x2c\x0c\xdf\x26\x1f\x92\xf4\x32\x19\xa2\x9e\x20\x1f\x97\xa4\x4c\x4f\xd2\x4b\x9a\x1f\x87\x5c\x2b\xcf\xf6\x64\xa2\x75\x48\x46\x03\x4a\xca\xf4\x6d\x96\x89\xd6\x20\x1a\xf1\x9a\x7c\x9c\x57\x7d\x23\x6d\x38\x18\xaa\x9a\xfc\x68\xf8\xfc\x12\x60\xf8\xfc\x97\x37\xed\x8a\x97\x93\x7c\xa8\x0d\x5f\x1e\xbf\x86\x8a\xe5\xe7\x09\xe9\x00\xc6\x45\xfb\x56\xe3\x56\xdb\x75\xb1\xaa\x4c\xbb\x53\x34\x29\x26\xb6\x2d\x96\x64\xed\xef\x0f\x49\xae\x86\x31\xac\xa1\x91\x94\x61\x94\x14\x3b\x03\x91\x77\xbb\x57\x28\x8a\xa9\x6d\x0d\x46\xd6\xe1\x4f\x21\x36\x3c\x19\xc5\x15\x0d\x37\x44\x81\xdc\x86\xd8\x88\xf7\x63\x14\xcf\x17\x61\x49\x55\x72\x4e\xcb\xaf\x17\x71\xfc\xbf\x69\x98\x2b\xb7\x23\x1c\x6c\x86\x30\xc0\xdd\x53\x8e\x69\x58\x5c\xd0\x7c\x77\x89\xb6\xee\x77\x9f\xd4\xa3\x9e\xdc\xb6\x1f\x5d\xf4\xf8\x33\xb6\xd2\xba\x84\x11\x5b\xaa\xb5\xd9\x10\xab\xc7\x53\x4b\xa4\x6d\x16\xf5\xd8\x0b\x74\x2d\x21\xec\xf5\x2f\xf8\xdb\x7f\x4a\xbf\x4f\x2f\x55\xc5\xa0\xd6\x17\xa5\x76\xcd\xd3\x13\xbc\x61\xe9\x40\x60\xc1\xe1\x74\xfa\x66\x31\x9b\x45\x9f\x98\x67\xe6\x70\xc1\x89\xce\xad\x5c\x33\xc3\x92\x7e\xbd\xfa\xf6\x71\xd4\xbd\x65\xf3\xe6\x96\x6d\xdc\x94\xcf\x77\x06\xf3\x3d\xc1\x57\x8b\x2a\xba\x7c\x73\xf3\x2c\x12\xb4\x79\xd1\xa4\xcd\xe2\xac\x23\x9c\x23\xf4\xac\x95\x9f\x94\x82\xf8\x76\x7c\x20\x55\x49\xb5\xbc\xe3\xcb\x2c\x6f\x85\x29\x56\x3f\xc1\x3d\x40\x9f\x4e\x76\x24\x39\xd0\xe3\x5e\x59\xcc\xc9\x0e\x07\x79\xf2\xa7\x20\x86\xf4\x32\x99\xf4\xfb\x1d\xfe\x39\x0a\x75\x3a\xfe\xaa\x03\x89\x34\xd9\xcc\x5d\x74\xea\xd3\x3c\xcd\x76\xdd\x19\xd0\xe5\xf1\x49\x1f\x34\x99\xa5\xf9\x84\xa7\xd6\x98\xa4\x77\x26\xa3\x0e\xca\x31\x3d\xd5\xcf\xb4\x64\x5c\x12\x8c\xb3\x57\xfc\x12\x95\x17\x92\x8c\xaa\x6a\x51\x47\x15\xd6\x54\x21\xd6\x6e\x6e\xa2\xa3\xf2\xf0\x37\xd1\xe7\x6f\xd7\xe5\xf2\xb7\xcf\xf7\xb4\xd7\x28\xe1\xab\xfe\x91\x2f\x7a\x9c\x7c\x26\xe7\x41\x93\x32\x8f\xda\x4e\x71\x1b\xb7\x8c\xe8\xf5\x20\x77\x4d\xff\x98\xd5\x62\xb7\x1c\x93\xb7\xdf\xb8\x13\x7f\xdf\xde\xa3\x83\xfe\xfe\xe8\x80\xf6\xfb\x22\x8c\xb7\x07\x19\xb4\xde\x04\x30\x76\x6d\x61\xf4\xbe\x5b\x47\xd7\xbf\xed\xea\x7e\x0f\x12\x86\x5b\xac\xf9\x56\x0b\x7e\x94\xab\x4d\xa6\xb7\xf9\xbe\xac\xd7\x23\x5c\x6f\x1c\x96\x25\x4d\x76\x5d\x2f\xef\xf5\x20\xd7\xdb\x3f\x66\xb5\xd8\x2d\xc7\xe4\xed\x37\xc2\x90\x0b\x13\x2b\x91\xb6\x18\x1c\xa3\xa4\x8c\x3b\xdb\x3e\x48\xe8\x6d\xb3\x52\x11\xc4\x7c\xcb\xc5\x56\x31\xcf\x1f\xeb\x7a\x99\xa7\xe7\xb6\xcb\xe5\xad\x1f\xed\x6a\x73\x1a\x87\x65\xf4\x71\xeb\xcf\x5b\xb5\x7f\xb4\x2b\x2e\xa3\xb6\x15\xa0\x7f\xb5\xd8\xf6\x11\xae\x34\x4f\xe7\xa3\xdb\xf1\xcc\x8d\xae\x0f\x72\xe5\x6b\x30\x7e\x9e\xce\x5f\xee\xc8\x3c\x4b\x7d\x36\x41\xf5\x3c\x4f\x17\xd9\xee\xec\x42\xd5\xed\x41\x42\x73\xfd\x8a\x3b\xad\x84\xdd\x22\xc3\xf9\x03\xb5\x0d\xf6\x8f\x79\xbe\xfd\x70\xe7\x5b\x80\xaa\x3b\x02\x73\x0f\xac\x1e\x28\x56\x59\x07\xac\xed\x15\xeb\xe7\x68\xe5\x5a\x0b\xae\x8b\xb0\x18\x25\xf4\xd3\xae\x56\xe8\xaa\xdb\x23\x83\xde\x45\x58\x7c\x8f\xab\xdd\x72\x4c\xde\x7e\x1b\x28\x66\x39\xfd\x18\xa5\x8b\x5d\xf1\x7c\xa3\xeb\xe3\x83\xe6\x8f\xd5\xaa\xb7\x87\xa8\xe8\xb3\x11\xaa\xd3\x62\xc4\xb3\x6b\x8c\x78\xca\x8e\xa6\xd2\xee\x22\x2c\x2e\xa2\x49\x9a\x67\x07\x53\x5a\x44\xe7\xc9\xa8\xb8\x2a\x4a\x3a\x1f\x49\x71\xd6\xd7\x8c\xf5\x20\x81\xbd\x35\x40\x30\xdc\xc5\xdd\xc0\x83\x0d\xf5\x08\xc1\x51\xce\xe3\x51\x11\xce\x76\x35\x83\xd6\xfd\x1e\xe4\x9a\xd7\x9c\x37\x7e\x51\x68\xfb\xc3\xc6\x3b\x6c\x84\xe4\x62\x1e\x26\xbb\xdb\x93\xab\x6e\x8f\x0d\x8e\xd5\x72\xb7\x85\x23\xef\xb0\xc9\xbf\x23\x9a\xa4\xc9\x68\x96\xe6\x23\x29\x8b\xe4\x5d\xba\xc2\xb1\xfc\x18\x4a\xa9\x5e\xa3\x65\x2a\xbc\x2c\x46\x74\x62\x0e\x0f\xa5\x52\xd1\x28\xe5\xc3\x43\x6e\xfe\x84\xf2\x24\x8d\xd3\x7c\xb8\xc7\xea\xff\x7b\x91\xd3\x11\x77\xe2\x40\xa9\x8b\x19\x1f\x8b\xba\x07\x6f\x51\xf7\x99\xa6\x93\x0f\xb4\x1e\x92\x15\x1b\x2d\x78\xfe\xf2\x49\x9c\x2e\xa6\xa3\x7c\x91\x54\x6d\xcf\x27\x59\xa3\xe1\x87\xc5\x7b\x9a\x27\xb4\xa4\x62\xbe\xf5\x83\x51\x98\x65\xf1\x55\xd5\x53\xaa\x90\x07\x48\xd2\x79\x38\xe5\x7d\xf1\xf7\xe8\x5f\xe9\xfb\x22\xa3\x93\xae\x67\xa3\x49\x98\x84\x79\x3d\x26\xab\x94\x87\xcb\xc2\xc9\x87\xaa\x1a\x0a\xa2\x96\xef\x27\x51\x35\x4f\x73\x3a\xba\x48\xf3\xe8\xbf\x01\x72\xf1\x70\x79\x27\x66\x1a\xd8\x37\x5f\xa7\x79\x95\xcd\xe9\xb3\xed\x34\xd1\x6c\xf4\x81\x76\x0a\x48\x1f\xe8\xd5\xfb\x34\xcc\xa7\xad\xa6\xe4\x5f\x8f\x91\x20\x46\xc9\xae\x76\x6d\xe8\xf1\x20\xd7\xd9\x3f\x26\x2e\x72\xcb\xf1\xa2\x64\xb2\x05\xcc\xe2\xc5\xb4\x37\xb0\xc5\xbd\xdb\xb5\x61\xbb\xf3\x29\x8c\xa3\xf5\x46\x6e\x2d\x91\xcc\xdc\x91\x52\x6a\x09\xa2\x5f\xd9\xe7\xa3\x0e\x6b\xf0\xec\xd9\xaa\x4f\xe5\xb3\x67\x74\x7f\x7f\x28\x9e\x0f\xc7\xe3\xf2\x2a\xa3\xe9\x6c\x50\x4f\x61\xa9\x50\x75\x7f\xbf\x2e\x2b\xa5\xba\xdc\xd6\x78\x1e\x25\x25\xcd\x8b\xbe\xc8\x02\xeb\xf6\xa0\xe8\xf7\x20\x77\xe2\x86\x35\x7f\x4c\x3f\xec\xea\x04\xca\x3b\x3d\xc8\xd5\xae\x3b\x77\x6c\xa9\x5b\x1f\x3d\x68\xbe\x11\x7e\xc5\x28\x9c\xf4\xe9\x79\x59\x20\xca\x55\xf0\x55\x7d\x1e\x1b\x04\x8b\xe7\x7c\xad\xdb\xc2\x90\x77\xd8\x06\x8a\x2c\xfd\xe2\xb6\x9a\x9e\xaa\xc7\xe3\x03\x21\x5b\xe8\xf6\x10\x84\xf6\x5b\x00\x70\x12\x47\x19\x72\x02\xa3\x62\x91\x01\x08\x69\xf7\x0d\xec\x38\xaa\x9b\x6e\xea\xff\xe8\x80\x7b\x2c\x16\xf1\xa6\x86\xc1\xd6\x90\x5e\xed\xbc\x05\xd8\xe9\x3c\x2b\x77\xdb\xb7\xac\xc7\x83\x04\xed\xc6\xc5\x32\x67\x90\x5d\x16\x8b\x3d\x1e\xe4\x62\xd7\xed\xa3\x97\x3b\x79\xbd\xf0\xf6\x9b\x00\xf8\xaf\x34\xda\xd5\x45\x00\xbb\x3c\x48\xe8\xad\x5d\xe9\x07\x7a\xb5\xab\xde\x14\xbb\x3c\xc8\x95\xf6\x8f\xc9\x96\xb9\xe5\x80\xd0\x78\x13\xdc\x30\x51\xe8\xa8\xa0\xf1\x0a\x13\xfa\x39\x9a\x06\x64\xbb\xb5\x68\x3c\x1c\xd6\x77\xef\x3a\x43\x9e\xd1\x53\xfd\x6c\x3c\x4e\xf6\xf7\x95\x68\x4c\x4f\x8d\x33\x9c\x6c\x74\x27\x12\x31\xae\xec\x0d\x2e\xec\xb3\x85\xe1\x38\x9d\xe0\x25\xe2\xd1\x45\x5a\x94\x9f\x71\xf7\xac\xe3\xca\xc8\x6f\x7f\xbb\xbe\x8c\x92\x69\x7a\x49\xc4\x4b\x88\x78\xc9\xf2\x30\xf0\x74\xe3\x6e\xdc\x38\xc5\xe0\xdf\xf2\xb1\xef\x00\x24\x97\x34\x5f\xf5\x6e\xde\xa8\xf1\xab\xfb\x3d\xb2\xa3\x27\x2d\x78\xcb\x51\xab\x1e\x1b\x0f\xe1\x0e\xc6\xd9\xf8\x81\xca\x7c\x6b\x00\xb7\xfd\x70\x9b\xf1\x7c\xbc\x8b\x71\x36\x7e\x7c\xc6\xd9\x78\x07\xe3\x6c\xbc\xd9\x38\x3b\x0f\x6f\xe1\xe6\xc0\x3b\x3d\x48\xc8\x6d\x5a\xed\xee\x4b\x7d\x84\xeb\xbc\x85\xb9\xfd\x31\x9a\xda\x93\x5d\xec\xec\xc9\x16\x46\xf6\x24\xdd\xf9\xae\x0a\x76\x79\x6c\x70\xc3\x65\x6e\x0b\xb7\x34\xcd\x36\xc3\xad\x1c\xed\x72\xe7\x80\xb7\x7f\x74\x60\x2b\x51\xa8\xfa\x96\x31\x6f\xdb\x03\x50\xee\xb6\x05\x28\x77\x82\xe3\x23\x04\xe2\x2e\x90\xdb\x04\x2e\x16\x4d\x77\xd4\x0e\x4a\xb7\xf1\xd8\xd6\xfd\x1e\x19\xfc\xd8\xc4\x9f\x6f\x3f\xa8\xe8\xb0\x11\x92\xc9\xd6\xf6\x3c\xd6\xf4\x71\xda\xf3\xd2\x0c\x3a\x76\xab\x8c\xd6\xed\x17\xd1\xed\x41\xae\x78\xcd\x76\xa9\x96\xbb\xed\x76\xe1\x1d\x36\xc2\xb1\xd3\x6d\xbe\x1b\x4d\xa5\x0f\xd4\x69\x7e\x0d\xd8\xb6\x47\xef\xe9\x46\x94\x9e\x85\xe7\x74\x54\x46\x65\xdc\x29\x99\xd4\xb5\x5d\x1d\xee\xed\xd2\x6f\x05\x87\xad\x2f\xf2\x66\x34\x9f\xa5\xf9\x7c\xdb\x88\x8e\xa2\xf9\x83\xfc\xf2\x6b\x5d\x6c\xb2\x68\xb2\x6b\xa8\x33\xec\xf2\x20\x57\xda\x3f\x26\x5b\xe6\x96\x03\x42\xe3\x8d\xfb\x3c\xca\xe8\x88\xc5\x1e\xdf\x19\x7c\x75\xcf\x07\x09\xc5\x8d\xeb\xbe\xc5\x82\x1f\xe6\x4a\xd7\xed\x97\x6c\x7b\xd5\x03\x34\xde\x08\xb7\x78\x91\x87\x7d\x51\x53\xa3\x64\x16\xd3\x49\x99\xe6\x07\x71\xf4\xbe\xa3\xcb\x43\x42\x8c\xb7\x73\xcb\x7e\xac\x2e\xd9\xd9\xae\xfe\xd8\xd9\x96\xce\xd8\x3c\xbb\xca\x28\x2a\x46\x39\x9d\xa7\x25\x1d\x2d\xb2\x0c\x06\xbf\xe3\x40\x0a\x7b\xc2\x73\xa7\x3c\x22\xd3\xb0\x0c\xdf\xa4\x8b\x7c\x42\x8f\xc8\x79\x54\x1e\xb1\x3c\x52\xcd\x9a\x1f\xd3\x38\x3e\x22\x34\x81\xa9\x4c\xef\x44\xd9\xce\x57\xfa\xaa\x78\x8d\xeb\x7c\xcb\x96\xf9\xd9\x2a\xf7\xdf\x17\x74\xb1\x2b\x26\x62\x7d\x1e\xd9\x16\xe4\x0b\xdd\x72\x44\x6c\xbd\x69\xf3\xe5\x61\xd2\x7d\xf1\x75\x0d\xec\x58\x9f\x47\x06\x3b\xbe\xd0\x2d\x47\xc4\xd6\x1b\x61\x87\xa9\x80\x76\x05\x1e\xeb\xf4\x20\xa1\xb7\x61\xb5\x88\xa5\x76\xd6\x9a\xd7\xfd\x1e\xe3\x9a\x33\xba\xb3\x8e\x85\x77\x7a\x90\xab\x5d\x73\x3e\xf8\x52\xb7\x3d\x20\xd8\x7c\x33\xfc\x30\x6d\xd6\xce\x00\x64\xbd\x1e\x24\x04\xd7\xaf\x37\x4d\xcb\xd5\x30\xbd\x6b\x5d\x10\xab\x2e\x0f\x72\xb5\x6b\xf6\x4b\x9a\x96\x6f\xf3\xed\x15\x2c\xbc\xfd\x66\x08\x2e\x4a\x3a\xca\x44\xb2\xe1\xed\xa1\x28\x75\x7b\x74\x90\x5c\x94\x54\xa4\x57\xde\x1a\x9a\x55\x9f\x4d\x10\xed\x89\x05\x5f\xd0\x92\x43\xb1\xd1\xf2\x41\xc2\x6e\xfd\xfa\x2e\x16\xb3\x59\xb7\x8e\x69\x0d\x8e\x11\xbd\x1e\xe4\x7a\xfb\xc7\xac\x16\xbb\xe5\x98\xbc\xfd\x46\x18\x46\xc9\xf9\x22\x0e\xfb\x02\x9f\x76\x0b\xa5\x72\xa7\x07\x24\x96\x62\xca\xc6\x5d\x77\x03\xf6\x79\x90\x7b\x61\xfd\x5a\xd3\xfc\x16\x1c\x99\xe8\xf5\x08\xd7\x5b\xe6\x51\x36\x0a\x93\x22\xba\xdb\xdb\x7f\x8d\x50\xe3\x2c\x8e\x69\x32\x3e\x1d\x9e\xbe\x7b\xb7\xd0\x75\xe3\x1f\xf8\x27\xf8\xc7\xd9\xe9\xe9\xbb\x77\x67\x8a\xfa\x1f\x7f\x3f\x3a\xfb\x42\x39\x3a\x64\xff\x9d\x86\xa3\xff\x7e\x3e\xfa\xe7\xbb\x77\x53\x7c\xf8\xf7\xd3\x51\xf5\xe0\xdd\xbb\x83\xff\xd8\x27\x87\xe3\xa3\xff\xe7\xff\xfd\xbf\xbf\x9e\x7d\xa1\x7e\xa1\x1e\xe1\x50\xba\xa7\x0e\xb5\x21\xeb\xfe\xee\xdd\xf4\xda\xd0\xec\x25\x74\x85\xdf\xba\x66\x2f\xa1\xe1\xe9\xbb\x77\xd3\xe7\xa3\x1f\x5f\x8f\x7e\xfa\xe7\x64\x36\x4a\xca\xdf\xf3\xab\xf1\x57\xff\xf9\x7f\xcf\x54\x75\x78\x46\xfe\x95\x46\x89\x32\xbc\xc1\x08\x88\x09\xbd\x1c\xb0\x3c\x64\x4a\xa2\x0d\xcf\xeb\xd8\x87\xa5\x1c\xd9\xfc\x76\x41\xfa\x57\x24\x78\xfc\x00\xcf\x93\x22\xfa\x6c\xa1\xbd\xf8\x78\x3e\xfa\x57\x3b\xc6\x34\x27\x4d\xac\x8a\x27\xa8\x9b\x87\x1f\xc4\x16\x5e\xd7\xa2\xf8\xd8\x99\x1d\x58\xbe\xd1\xa4\x5e\x97\xf9\x95\xd8\x73\x39\xfd\x7d\x11\xe5\x54\xf9\xad\x39\x62\x94\xc4\x51\x42\xa7\x07\x7f\xbb\xa6\xcb\xdf\xd4\x6a\x5f\x4e\x42\x7e\x3b\x54\xc4\x95\x5c\xc4\xf1\x72\x59\x0d\x9e\xcb\xd7\xa5\x30\xae\x2d\xef\xa8\xe2\x3c\xa2\x3b\x02\xfe\xc7\xf3\xff\x0a\xf3\x71\x2e\xe7\x84\xab\xde\xb3\x43\xbc\xf9\x4e\x7e\xa0\x11\x1b\xe8\x31\xf2\x01\x65\xb8\xf3\xed\x29\xec\xf2\x18\x57\x5a\xf4\x18\x6a\x56\xcd\x51\xd8\xf6\x11\x2e\x31\x2a\x63\xba\xfb\xb5\xf9\xaa\xdb\x83\x5c\x71\xff\x98\xf5\x72\xb7\x1c\x54\x74\xd8\x08\xc7\xf4\xfc\x3c\xbe\xa5\x75\xaa\xd9\xf7\x41\x42\x74\x8b\xb5\xdf\x6a\xd1\x0f\x73\xb5\x6b\xf6\x0f\x5f\xea\xb6\xbb\x07\x9b\x6f\x84\x5f\x0e\x8c\x16\xba\xf7\x97\xe9\x0e\xb2\x78\xb3\xdf\x63\x83\x64\x35\xf9\x9f\xd2\xed\xe1\x29\x75\xda\x0c\xd5\xa8\xdb\x97\x60\x0d\x56\x83\x2e\x8f\x0e\x8e\xb0\xcc\xad\xe1\x17\xcd\x37\xc3\x6d\x91\x4c\xc2\x92\xc2\xe1\x9d\x47\x0f\x2b\x19\x6b\x4f\xec\xf8\x62\xf1\xbe\x28\x73\x45\xd7\xbc\x8e\xc8\xf1\xfd\x7e\x18\x62\xa5\x3b\xef\x12\xde\xed\xd1\xed\x14\xb1\xdc\xad\x77\x0b\xeb\xb0\x69\xc7\x2c\x92\x29\xcd\x8b\x49\x9a\xef\x0a\x49\xa9\xe3\x23\x83\xa5\xbc\xe4\x2d\x87\xad\xbb\x6c\x86\xe7\xee\x3c\x04\xeb\xf3\x20\xa1\xb8\x7e\xad\x59\x76\xab\x5b\x5c\x75\xbf\x07\xb9\xe6\x35\x3b\xa7\x5e\xf0\xb6\x1b\x47\xf4\xd8\x08\xcb\x3c\x1e\xcd\xba\xfd\x26\x7b\x38\x08\xd1\xe3\xb1\xc1\x30\x8f\xbf\xde\xc1\x83\x92\x35\xdf\x04\x3d\x5c\xcc\xae\x3e\x36\xbc\xd3\x23\x83\x9f\x58\xea\x96\x43\xb2\xe6\x9b\xe0\x77\xb9\xe3\x09\xbe\x7c\x6c\x50\xbb\xdc\x7a\xb4\xcb\x8d\xb0\x8a\xca\x8b\x74\xb1\xab\xbd\x5b\xf4\x7a\x6c\x70\x13\x8b\xdd\x16\x7a\xac\xfd\x26\x18\x7e\xda\xc5\x43\xfc\xd3\xe3\x43\x72\x9f\x76\xc0\x70\x9f\xfa\xd1\x5b\x94\x44\x65\x84\x2e\x8d\x79\x71\x10\x66\xd9\xe8\x23\xcd\x8b\x3e\xfe\x22\x8e\x46\x52\x13\xb9\xef\x68\x16\x4e\xca\x34\xbf\x1a\x6a\xf5\xd0\x93\x34\x99\x45\xe7\x07\x34\xf9\x18\xe5\x69\x32\xa7\xc9\xca\xd6\xd4\x12\xe6\x17\x17\x69\xf9\xde\xe7\x2b\x66\x2b\x65\x2f\x79\xfe\xe3\x8f\x78\x63\xbf\xf1\x84\x24\xe1\x9c\x6a\x79\xeb\x21\x5f\x8b\xca\x75\xb9\xd7\xd0\xe8\x70\xf8\x3c\xcb\x06\x3f\x0b\x40\xd4\xcb\x3c\x6c\xaa\x7a\x23\x2d\x57\x97\x1b\xb5\xbd\x0d\x08\xd7\xd1\x08\xa7\xf4\xfd\xe2\x7c\x14\x4e\xc3\xac\x27\x0b\x4a\x4e\x8b\x34\xfe\x48\xf3\x03\xf1\x43\xa4\x64\x9e\xf4\x8e\x72\x6f\x62\x16\x07\x4b\xef\xec\xeb\x35\x2a\xea\xb5\x12\xe6\xe7\x0b\xf8\xdc\xc5\xa9\x71\x76\x73\x53\x97\xf4\x33\x95\xe4\xf4\x3c\x2a\x4a\x9a\x2b\x7d\x83\x1d\xce\xc3\x28\x19\x4a\x60\x5e\x2e\x37\x9a\x1c\x1b\x20\xae\xf7\xea\x3c\xca\x5b\xd9\x24\xce\x9a\x69\x69\xef\x06\x3c\xa5\x00\xcf\xea\x9b\x1b\x70\x69\x2c\xa4\xdc\x76\x21\x45\x34\xcf\x62\x3a\x0a\x17\xe5\x45\x73\x97\xac\x3b\x67\x95\x7d\xa6\xee\xcc\x9b\x2d\xf2\x90\xa9\x20\x3b\x5a\x34\xde\x5e\xd0\x72\x91\x8d\x0a\x5a\x14\xbb\x37\x87\xbd\x5b\xa6\x6b\xde\x24\xda\x41\x2b\x5a\x1c\xe0\xa7\xc7\x28\x5a\x9b\xdb\xc6\xe9\x24\x8c\xb1\x80\x10\xde\xdc\x61\x92\xa6\x1f\xa2\x15\x39\x40\x4b\xb4\x48\xcb\xb5\x54\x8b\xb5\xf0\xae\x36\x42\xd1\xdc\x08\x8d\x2f\x27\xed\x04\xaa\x5e\xb3\x7c\xcc\x45\x6d\x55\x3f\xed\xe8\x73\x76\x73\x73\xbd\xdc\x2b\x98\xc7\xce\xeb\x93\xba\xb1\x78\x72\x73\x53\x3f\x7a\x1f\x16\xf4\xed\xeb\x13\x09\x09\xc6\x69\x38\x55\x0a\x98\x6a\x7d\xe6\x1a\xa0\x39\xac\xc1\x9e\x56\xa7\x6d\x4d\x73\x0e\x48\x2d\xdc\xa6\x71\xeb\x33\xc5\x75\x1f\x45\xd7\x22\xc9\x2c\x87\x0f\x72\xf9\x41\xe3\x9c\x14\x5b\x9c\x13\x3c\x12\x18\x53\x35\xe2\x61\x50\xce\xe3\xf4\x7d\xe7\x1d\xbb\xdd\xe9\x93\x64\xb8\x54\xaf\xe1\x2b\xd3\x71\x3f\x7e\x43\x03\xb6\xf1\x6c\x2c\x11\x19\x36\x81\xe7\xf5\xe4\xbe\xc1\xb9\xb1\xb1\x22\xe8\x80\xda\x02\x58\xe0\x74\xf8\x4c\x84\x6f\x64\x21\x57\xd4\x68\xcc\x7e\xec\xd1\xb8\xa0\x83\x9e\xb6\x6c\xb1\x6a\x34\x66\x3f\xb0\xed\x75\xb3\x6d\x15\x16\xb2\xa0\xf1\x8c\xdb\xd7\xf7\xa2\x31\x94\x30\x67\x76\xae\xa5\x9b\xa7\xbc\x97\x8f\x87\x8c\x59\xaf\xc7\x4b\x8f\xd2\xc3\x7a\x13\xbe\xc1\xda\x2a\x49\xbf\x52\x0f\x39\xc7\x33\xf4\x63\x4e\x67\xd1\x27\x55\x8b\x4e\xf3\xb3\x9b\x1b\x05\xfe\x8c\x29\x6e\xa2\x34\xa3\x89\x72\x7d\x19\xc5\xf1\x0b\x5a\x94\x79\x7a\x25\xf3\x31\xe5\x45\x54\x90\x5f\x8b\x45\x46\x73\x82\x91\x73\x15\x78\xa2\x55\x80\x87\x0d\x12\xd3\x92\x0e\x60\xc0\xe5\x52\x55\xef\x28\x64\x6d\xb5\xc9\x78\x14\xcf\xbc\x3a\xdf\xfd\x3b\x4e\x62\x16\xa2\xe5\xc6\xec\xa5\x8d\x7d\x3c\x8b\xc3\xe2\x42\x24\x35\x2a\x76\x41\xf6\x5c\xed\x8a\x74\xb4\xc1\xad\xe1\x90\xdc\x3a\xdf\x18\x7e\xc4\xee\x59\x76\x24\x9c\xd5\xa2\xbb\x8a\x80\x5a\x41\x2f\x97\x33\xcb\x0b\xe4\xb7\xee\x18\x69\xd7\x38\xd9\xef\xd8\x5c\x5f\xb0\xa1\x8b\xc3\x64\x59\xe3\x40\xc0\x8d\xda\x75\x94\xc0\x44\xa3\x34\xf9\x1a\xd9\xcf\x88\x16\x87\xf9\x72\x9c\xdc\xdc\x9c\x9e\x69\x68\x98\x97\x30\x4d\xa2\xee\xe5\xfb\xfb\x39\x89\x69\x72\x5e\x5e\xec\xa5\x64\xb5\x73\x1d\x03\xaa\x1c\x7f\x75\x4d\x79\x0b\xa5\xc4\x0c\x5f\xd5\x7c\xe0\x7b\x14\x34\xff\x18\x4d\xe8\x61\xeb\x9b\x01\x8f\xbd\x6c\x70\x92\xed\x8f\x2a\xed\x8f\x7c\x47\xde\x91\x91\x58\xae\xaa\xe1\x13\x18\xe5\x74\x96\xd3\xe2\x62\x94\xa5\xf1\xd5\x2c\x8a\xd7\x79\xbc\xf6\x75\xb9\xcd\x5b\x1e\x99\xb0\x54\xaf\x70\x87\x60\xa7\xa2\x4b\xbf\xe8\xc4\x73\x69\x6f\xcf\xb5\xfd\x11\xfc\x67\x1f\xdb\xb1\x15\x03\x3a\x4f\xa7\xd1\x2c\x62\x92\xca\x94\x02\x1f\x9b\x77\xcb\xd1\xa2\xe1\x50\x1b\x42\x4b\xd1\xb0\x6b\x24\x86\x7e\x04\xa3\x30\x12\x2d\x46\x17\x93\x18\x13\x55\x34\x86\x38\x08\xa7\xd3\x34\x39\xa0\xd3\xa8\x3c\x98\x87\xe5\xe4\xe2\x7d\x1e\x4e\x3e\x50\x7c\x73\x77\xab\x49\x9c\x16\x74\x5d\x2b\x16\x3c\x0e\x04\x56\x16\x63\x76\x14\x47\x49\xeb\xa5\x30\x8d\x83\x7f\x85\x1f\xc3\x62\x92\x47\x59\x29\xfd\xbc\x6f\xbe\x51\x70\x82\xd7\x30\x85\xc3\x0a\x7c\xdf\x1e\x9f\x0c\xb5\xf2\x82\xc2\x67\x9d\xa7\x49\xfa\x21\x8c\x86\x1a\xcc\xfb\x7b\x4c\x02\x87\x59\xd2\x27\x8b\xbc\x48\xf3\x7f\xc4\x51\xf2\xe1\x75\x58\xd2\x43\x47\xd7\x35\x04\xd9\x3f\x38\x30\xa0\x51\xb8\x28\xd3\x63\x80\x90\xfc\xb0\x28\xaf\x62\xca\xe2\xd0\x9e\x44\x09\x4e\x6d\x0f\x89\xf6\x60\x31\xa0\x9f\x4a\x9a\x4c\x8b\xfa\x60\x31\x7c\x9d\x2f\x00\x47\x0a\x16\x08\xe0\xb0\x87\x04\x59\x21\x84\x48\x84\x38\x11\x04\x40\x29\xc7\xc3\x5f\xe1\xfb\xa4\xf9\x50\x8d\x12\x85\x8e\x81\x66\xab\x47\x7d\x10\x2b\x05\x98\x12\xad\x79\x3e\x2b\xb1\x85\x97\x2f\xf3\xa8\xe4\xbf\x97\xea\x21\x3d\x2d\xcf\xc6\xc9\x72\x1a\x4d\x5f\xc1\x69\x8c\xe3\x9a\x5d\x00\x3c\xa6\xa8\x50\xf5\x36\x9b\x86\x25\x7d\x2e\x66\xa9\x30\xa5\x03\x9b\x11\x4c\xbe\x40\xd5\xc0\x94\x29\x32\x8f\x8e\x86\x43\xad\x5c\xa9\xe3\xf4\x72\x8f\x3e\x1b\xb3\x3a\xbe\x38\x72\x4e\xcb\x9f\xa1\x9f\xa2\xee\xef\x37\x2a\x0a\x51\x41\x55\xad\xdc\xdf\x6f\xf9\x3f\xa6\xb9\x82\xde\x8d\x83\x28\x19\x50\xb5\x54\x12\x8d\x9e\x26\x67\xea\x52\x29\x35\x05\x9b\x8c\xbf\xba\x6e\x0f\xf7\x43\x56\x0d\x00\x74\xe6\xd7\x34\x39\xbe\x08\x93\x73\x2a\x5d\x2f\x94\xa6\xb3\xd7\x11\x15\x7c\x65\x55\xc9\xab\x24\x5b\x94\x7c\xe6\xab\x15\x4a\xa9\x2e\x05\x24\xaf\xd1\x39\x13\xda\xd1\x98\x02\x20\xd5\xf2\x22\x4f\x2f\x07\x09\xbd\x1c\xbc\x84\x53\xa4\x0c\x8f\xd3\x29\xfd\x0e\x4f\xd4\x40\x1c\xff\xc1\x45\x58\x0c\x92\x74\xc0\xfb\x0c\xd5\x3d\x06\xfb\xa6\x73\x9e\x3c\xac\x76\x4d\x08\x29\x34\x42\x48\xcf\x37\xd0\xd8\x46\xe9\xfd\x7a\x4b\x75\x8f\x92\x34\x51\x86\x93\x0b\x76\xd7\x0c\xed\xc2\x0c\x98\x12\xc8\x00\xff\xc9\x10\x1e\xd3\xa5\x14\x17\x7d\xb1\x01\x3d\x4e\xa3\xe9\x28\x4a\x0a\x9a\x77\x5b\xc0\x73\x9a\x4c\x25\x2c\x59\x74\xf7\x7c\x90\x54\x74\x8b\x85\x67\x61\xa7\x7e\xf0\x9c\x16\xe5\x22\xa7\xbd\xab\x86\x6e\x8f\x75\xc9\x8b\x6c\x35\x0d\xeb\x76\xdf\x9a\xf7\x7c\x8c\x0b\xdf\x22\x26\x4f\xbb\xf1\xe3\x8a\xca\xd3\x98\x7d\x4e\x8b\x1e\x4f\xc7\xaa\xb2\xfa\xc8\x9d\x3d\x1f\xe3\xba\xcb\x34\x8d\xcb\x28\xeb\x4d\xb3\x95\x4d\x8b\x11\xdb\xe6\xab\x7d\x1e\xe3\x7a\x37\x33\xa3\xa7\x4d\x86\x76\x85\x9d\x44\x5e\x91\x31\xd9\xab\x10\xa8\x08\x08\x5f\xd3\x1b\x6c\xf7\x5d\x3a\x95\x66\x83\xbc\xdd\x75\x51\x86\x79\x79\x78\x7a\x9d\xd3\x73\xfa\xe9\xf0\x60\xa8\x1c\x1d\x9e\xfe\x9f\x77\xef\xce\x6e\xde\xbd\x23\xea\x17\x47\xca\xd1\xe1\xf0\xe6\x6f\xea\x81\x56\xa6\x1f\x68\x72\x28\x14\x2f\x4b\x4d\x74\x50\xde\x5d\x7e\xa9\x2a\xef\x8a\x2f\x55\x65\x5c\x35\x3b\x1d\x7e\xa0\x57\x97\x69\x3e\x1d\x6a\xc3\x64\x01\xd2\x20\xfb\x73\x26\xf5\x7b\xbf\x88\xe2\xe9\xcd\x94\x66\x71\x7a\x75\x93\xd3\x98\x86\x05\xbd\xb9\x48\xd3\x0f\x37\x0c\x2a\xf9\xd5\x0d\x70\x0b\x37\xf9\x22\x49\x68\x7e\xb3\xc8\x63\x55\x19\xa8\xca\xf5\x4e\x2f\xf9\x18\xe6\x11\x7c\x33\xf5\xdd\xfb\x6a\x09\xa2\x57\xdd\xac\xcc\x17\xf4\x66\x16\xc6\x05\xbd\x81\x11\x6e\x2a\x85\x55\xd5\x27\x2c\xd3\xb9\xd4\x41\xff\x74\x1a\x8e\x66\xef\xa6\x67\x5f\xde\x9c\x8e\xbe\x3c\x03\x28\xbd\x23\xef\xa6\x5f\xde\xbc\x9b\x7e\xf9\x8e\x1c\xbd\x9b\x7e\xa1\x2a\x47\x87\x14\xeb\xde\x4d\xbf\x54\x8f\x0e\x22\x31\x12\xcf\x9e\x2c\xcd\xf1\x3f\x6e\xde\x1d\xbc\x3b\x00\x18\x7e\xf1\xee\xcd\x17\x35\xa8\x27\xe9\x1c\x59\x15\xa9\x69\x16\x96\x17\xaa\x42\x24\x10\x88\x05\x8e\xcc\xae\xe5\x5f\xa6\xf9\x87\x22\x0b\x27\x14\x3a\x29\xf2\xe8\xa7\xe2\x4b\x56\xb0\xe3\x65\xa9\xfb\xbb\x83\x77\x5f\xac\xcc\x46\x4b\xe8\xa7\xb2\x6b\x72\xa7\xa3\x2f\x0f\xbe\x18\xff\xe7\x57\xcf\xce\xbe\xac\x3a\xc1\x41\x0a\x81\xf5\x96\x9a\x5d\x9f\x2a\x67\x07\x5a\x94\x4c\x69\x52\xc2\xe9\xab\x6b\x96\xef\xce\xd4\xb3\x03\x6d\x4a\x45\xd5\x99\xc6\x5f\x53\xef\x4f\xf2\xc5\xd1\xbb\x2f\xde\x1d\xf4\x4d\x0b\x77\xb3\xf4\x36\xb2\xba\x80\xe5\x99\x36\xa7\x65\x78\x78\x3d\x4d\x93\xf2\x15\x4e\xe3\x4d\x19\x96\xb4\x38\x3c\xad\xda\x9c\xa1\x8c\x73\xcc\x5f\x3e\xfc\x8f\xe1\xe6\x03\x7d\x19\xc5\xf1\x68\xca\x94\x86\xbb\x92\xe7\x46\xdf\xc7\x83\xcd\x98\x72\xa6\x7b\xb1\xe9\xa2\x8c\x92\xf3\xaa\xc9\x67\x68\xbb\xf9\x13\x31\x29\x14\x54\xee\x47\x7c\xd3\xe8\xe7\xeb\x6b\xb9\xfc\x9a\x6f\x94\x5f\xbb\xa4\xd6\x88\x29\x94\x87\x22\x08\xf9\xb0\x61\x46\x61\xcf\x7e\xba\xca\x68\xdd\x92\x5b\x60\xe4\x86\xfc\x91\x2a\x4b\x11\xb9\x96\x93\x79\x98\x49\x31\xe5\xb9\x78\x8a\xdf\x47\x19\x32\x25\x4d\x5f\x6d\x94\x7c\x8c\x4a\x3a\xe4\x62\x0a\x7f\x88\xa7\xaa\xf5\x2c\x8d\xa6\x93\xd1\x24\x8c\xe3\xf7\xe1\xe4\xc3\xb0\x96\x6c\x44\x75\x82\xbc\x1a\x62\x9d\xfe\x77\xa1\xf8\xdc\xdf\x60\x1e\x26\x8b\x30\x6e\xbd\xf8\x22\x9d\xd3\xf7\x39\xbd\x6c\x3d\x9e\x5c\xa4\x93\x34\x0e\x4b\x7a\xd5\xaa\x88\xa3\x64\xf1\xa9\xff\x1d\x8b\xf7\x8b\xa4\x5c\xb4\x07\xa3\x49\x99\x16\xad\x87\x33\x3a\x4d\xf3\xb0\xf5\x30\x9c\x87\xff\x9d\x26\x4c\x09\xdb\x02\xc1\x24\x4d\x12\x3a\x29\x5b\x1d\x18\xd6\x5a\x69\x1c\x87\xef\x87\xda\x35\xe0\xfc\xc3\xe1\xc1\x08\x4a\xcb\xde\x29\x33\x2a\x39\xca\xf2\x74\x16\xc5\xb4\x3d\x4d\x56\x5b\xac\xbe\xa2\x22\x10\x45\xfd\xa6\x35\x6f\xe1\x01\x7b\x8a\x7e\xd0\xf1\x16\x9d\x8b\xaf\x5e\x56\xbf\xeb\xb0\x7a\xf6\x6b\x34\xdd\xea\xc5\xdb\xcf\x52\x7a\x0b\x7f\xb2\xfe\x1d\x61\x96\xad\x59\xd8\x24\xa7\x20\x3e\xad\x2c\x2a\xcc\xb2\xfa\x45\x61\x96\x1d\x1c\x86\x59\xb6\xfe\x45\xc8\xf9\xb4\x3f\x11\x3e\x1c\x45\xd3\x7a\x30\x7c\x72\x70\x88\x7f\x70\xc0\x8e\x0e\xed\xd6\x05\xfd\xfd\xe0\xb0\xa0\xbf\x2f\x68\x32\xa1\xed\x1e\x8c\xd7\x42\x5c\xd3\xbf\xce\xba\x91\x04\xbf\x7a\xc4\xfe\x0d\x48\x0b\x8c\x12\x55\xf5\x12\x0f\x8a\x83\x43\xf1\x93\xad\xa2\x63\x67\x70\xf6\x6f\x65\xdb\xb2\xc7\x0d\xa8\xf0\x67\x30\x28\xfe\xe8\x80\x0c\xaf\x59\xed\xd3\x82\xce\xdd\xac\xa5\x79\x64\xd3\xf3\xd5\x45\xf0\xbe\xad\xe7\xf4\x13\x9d\xac\x6e\xa7\x82\x96\x40\x38\xd7\x7c\xa0\x9c\x66\x69\x11\x31\x27\xa7\xfa\x30\x34\x47\x89\x92\x6c\x51\x8e\x04\x6f\xd8\x7e\x33\xa3\x85\x72\x75\x17\xa6\xaa\xf7\x7b\xf5\x5f\x0f\x0b\x80\x0e\x5b\xc2\x02\xb9\x99\x1d\xa8\x1f\xb3\x98\xbc\x75\x99\x9b\x79\xba\x8d\x81\xdc\x3e\x5c\xdb\xf0\xe2\x5a\x0f\xce\x6a\xd3\xf1\xf5\x52\x5c\xb7\xe0\x84\xfc\x03\xbd\x2a\x94\x48\xed\x4e\xaa\x92\x9e\xd2\xb3\x71\x74\x4a\xcf\x60\x69\x29\xa9\x19\x86\xf1\xb3\x67\x72\x51\x4b\x89\xcc\x3e\x60\xad\xfc\x40\x53\x98\xab\xea\x30\x4a\x06\xe9\xcd\x4d\x2a\xd9\x6c\x72\x75\x7f\x5f\x49\x89\xe0\x36\xc6\xcf\x74\x15\x4d\xdc\x18\x60\x40\x51\x09\x0f\x6d\x83\xbf\xa6\x8b\x09\x95\x26\x88\x8b\xae\x32\x32\x32\x2e\xe8\xe6\x26\x59\xaa\x5a\xaa\x6a\xf9\xfe\x3e\xe3\x37\x9e\x8d\xc7\x8d\xf7\xe1\xeb\x70\x36\xcd\xe7\x47\x8d\x12\x01\x22\xad\xe4\xea\x21\xd7\x92\x37\x2a\x39\x27\xa3\x6a\xec\xef\x78\xf5\x0d\xfd\xdc\x57\x8a\xcb\x5b\xc4\xb1\xaa\xa5\x77\xc1\x4c\xa1\x55\x22\x1c\x9f\x02\x0f\x12\xc6\xd1\x74\x00\x9c\x0a\x4d\x4a\xbe\xd9\x06\x8c\x0b\xd1\x86\xcf\x17\x25\xa6\x8a\x95\x9e\x0e\xa2\x62\x90\xa4\xe5\xa0\x58\xc0\xe6\xa4\xd3\xe1\x19\xaa\x7c\x8b\xb1\x92\x8f\x19\x93\xb6\xb5\x89\x41\x8b\x3a\x8d\x0c\x4c\x73\xaf\x95\xe3\x61\xe5\x9e\x14\xb1\x47\x4a\x32\x4e\xd5\xfd\xfd\x35\x5c\xaa\xc4\x9d\x26\xf2\x56\x6b\xf0\xa9\x49\x73\x9b\x55\x3c\x6b\x52\x6d\x28\xae\x83\x4e\x1a\x9f\x3a\x59\xfd\xd4\x91\xf8\xd4\x4b\x75\x19\x16\x57\xc9\x64\xf0\x9e\xce\xd2\x1c\x35\x02\x31\x9c\x85\xf0\x32\x8c\x4a\xa6\x97\xe7\x8b\x21\x5c\xdf\xae\xb1\x2a\xe6\xf6\xd0\xec\xa5\x35\xda\x47\xc5\xf3\xfa\xe3\xd0\xe9\xcd\x0d\x25\x65\x8a\x4a\x71\x82\x0c\x4e\xf1\x4b\x54\x5e\x70\x5e\x53\xbd\xb9\x51\x1a\x9d\xc3\xb2\xa4\xf3\xac\xa4\xd3\x9f\xaa\xbb\x73\x63\xca\xc6\x97\x6f\xd3\x89\xee\xea\x92\xa2\xaa\xbf\xca\x3f\x3a\x80\x4f\x97\xc6\x94\xc4\xe9\x39\x3a\xf3\x84\xa4\x48\xe7\x14\x2d\xe8\x94\x70\xbb\xb7\x9c\x7b\x54\x55\x6f\x6e\x0c\x77\x3c\x1e\x53\x32\x49\xa7\x14\xce\x69\x73\x35\x6c\xc3\x85\x25\x55\xd4\x35\xf3\xd0\x9e\xe9\xcb\xa5\x96\x8e\x63\x25\x27\x59\x9e\x96\x69\x79\x95\x51\xad\xde\x10\xa7\x11\xb7\xde\x9f\x69\xd7\x6d\x19\xa4\x29\xa1\x48\x12\x89\x64\x2e\xcd\x0f\x31\xb4\x80\xaa\xb5\x5e\x40\xb9\x41\x34\x21\xec\x3e\xee\x99\x90\xfa\xce\x69\xf9\xc3\x65\x22\x36\xdb\x0b\xca\xcc\x87\x69\xde\xd5\x5d\xd5\xa4\x87\xaa\xd6\x08\x19\xd0\xed\xf0\x24\xf0\x3d\xf3\xbb\x9b\xd2\x4f\x4d\x74\xcf\x93\x52\xe3\x98\xef\x17\xb3\x03\x56\x3e\xa8\xca\x98\x60\xef\xd7\xec\xfd\x46\xca\xb0\x0d\x25\xd0\xe2\x9a\x16\x84\x75\x6d\xf2\x50\xcf\x5d\x35\xd9\xe2\x89\x70\xfd\xd5\x09\x17\x50\x9a\xc5\x2a\xa5\x49\x76\x50\x06\x84\x5c\xc4\xaf\x50\x49\x8a\x68\xa8\xae\x08\xb3\x68\xa8\xc5\xec\x21\x47\xea\x73\x44\xcc\xc2\xae\x2c\xe1\xf4\x30\x8b\xc8\x24\x8e\x68\x52\x92\x38\x2a\xca\x1f\x5e\xbd\x38\x06\x64\xfd\x1d\x2d\x2f\xd2\x69\xa1\x24\xf4\x72\x50\x92\x97\x70\x3a\xb5\xaa\x3d\xa0\xeb\xef\x68\x19\x2a\xaa\xba\x17\xcd\x14\xb4\xe9\x4a\x9d\x4e\xa2\xa2\x54\x54\xee\xc6\x54\x7d\x70\xc0\xf9\x0c\x7c\x8a\xba\x44\xcc\x58\xdc\x3b\x66\x6c\xbf\x02\x01\x73\x67\xc3\x37\xb0\x62\xb7\x39\x56\xc6\x8a\x4d\x1d\x48\xa7\xf3\xdc\x68\x1d\x02\xac\x06\x95\x38\x9d\x34\x2f\x70\xdc\xad\xf0\x63\x85\x54\xb4\x58\x0b\xf7\x56\x91\xce\x63\xc0\x90\x8b\x27\x0c\xf9\xef\x80\x21\x27\x63\x25\xfd\x0c\x0c\x59\xb4\x31\x24\x47\x86\x55\x05\x22\x82\x70\x0d\x86\x44\xcf\xcc\x2c\xcc\x0b\xfa\x9a\x16\x59\x9a\x14\x54\x55\xda\x59\x26\x0b\x1a\xe6\x93\x0b\x55\x4b\xc6\x0c\x4b\x1e\xa7\xf3\x2c\xa6\x25\x15\x38\xf4\x35\xfd\x7d\x41\x8b\x72\x0f\x19\xe6\xe3\x74\x4a\x15\xce\x51\xe2\x12\xf3\xb1\x34\x5e\xfc\x86\xf9\xa1\x03\x26\x7d\x55\xd2\x79\x8d\x42\x9a\x08\x79\x88\xa0\xc6\xb7\xbd\xa6\x33\x52\x57\xec\xe5\xfb\xfb\x29\xbc\xe7\xfb\x70\x4e\x95\x5c\xd5\xf0\xa5\x75\xbd\x92\xf2\x47\xaf\xe9\x34\xca\xe9\xa4\x7c\x9b\x47\x2b\x0b\x4a\xf3\xe8\x3c\x4a\xbe\x6c\x3f\xce\xc2\xf2\x02\x98\x75\x36\xef\x78\xfb\x79\x7f\x9f\x26\x13\x3a\x54\xf7\xe2\xfd\x7d\x7c\x37\x96\x95\x98\xcf\x04\x6d\x2b\x0a\x8a\x00\x25\x1f\x3b\x1c\x2b\xdd\xa4\x69\xd2\x02\xad\x92\x74\x52\x23\x55\xa2\x31\x7b\x1d\x82\x8b\x84\x39\xb9\x6e\xbb\xc2\xa3\x87\x0c\x8d\x86\xea\x72\xa9\xc5\xe3\x85\x92\x76\x93\xa6\xfc\x8e\x68\x47\xd8\x7e\x05\x23\x4d\x77\x35\x7c\x2a\x93\xa6\x49\x67\x10\x09\x4e\x9a\xe2\xf0\xfd\x81\x50\x02\xef\xa0\xa0\x11\x64\xa6\x49\xbb\xd6\xaa\x67\xee\x06\x33\xc4\xf7\x21\xa5\x23\xf0\x1f\x8f\x84\xde\x44\x55\x80\x0e\x22\x02\x4c\xd7\x6b\xf6\x1d\x05\xde\xe1\x41\xe6\xfa\x99\x3d\xde\x5e\xa1\x1b\x0f\x13\xe1\x5b\x04\xde\xb2\x5c\x6a\xe1\x58\x66\xab\x0a\x0e\xc0\xc5\xf8\x34\xa9\xf6\xef\x64\xfc\x39\x3b\x58\x9b\x8e\xaf\x97\x9a\x4c\xcf\x27\x3d\xf4\x7c\x0a\xf4\x7c\xc2\xe9\xf9\xb4\x49\xcf\xe5\xa2\x36\x6d\xd3\xf3\x69\x2f\x3d\x9f\xde\xdc\x4c\xdb\xf4\x7c\xda\xa4\xe7\xd3\xf1\x62\x1b\x7a\x2e\x05\xfb\x1b\x94\x4a\xa8\x15\x1a\x55\x6f\x6e\xe8\x52\xd5\xa6\xaa\x96\x49\xf4\x7c\xda\xa2\xb6\xdc\x5b\xb0\xf9\xfc\x68\xba\xba\x3b\xb2\x8a\x9e\x4f\xd7\xd3\xf3\xf6\x1b\xba\x37\x38\x4c\x71\x0a\xcb\xe3\xf4\x7c\x3c\x05\x36\x17\x4e\x12\xd4\x2c\xb4\x89\x96\x69\x53\x09\xb7\xc4\xeb\xd8\xde\xda\xac\xd7\xa5\x12\xe8\x44\x30\xf7\x70\x41\x94\x21\x8b\xa4\x03\x5d\xe4\x9c\x16\x0a\x3d\x7a\x53\x8f\x53\xcf\x9e\x08\xdb\x63\xc3\x74\xda\x7d\xd3\xb3\x6b\xe9\xd8\x79\x6b\x10\x68\xc3\x45\x38\x42\xd6\x23\x1f\xad\xfa\xaa\x69\xc9\xdd\xc1\x24\x5a\x0f\x93\xe2\x32\x2a\xe1\xb8\x01\x82\x49\xc8\xdb\xe7\x3f\xe2\x9c\x54\xa0\xf5\xaf\x69\xb1\x88\x01\x2f\xa4\xcc\xb9\x55\xbd\xc6\x88\x20\xdf\x85\x93\xc1\x0f\x6f\x86\x87\x7c\xc7\xe3\xcb\xb6\x82\x2c\xa9\xed\xb4\x7b\x38\xd2\x0b\xfa\x3e\x0a\x93\xe1\x21\x16\xde\x32\xab\xeb\x2d\x86\x45\x73\x2e\x11\x56\x5b\x36\xf4\x31\x4d\xca\xdb\x4d\x92\x8d\x26\xcc\xbd\x6c\xb4\xaf\x99\x9d\xf7\xd6\xa3\x09\x3b\xf1\x1e\xff\x00\x87\xdb\x75\x16\xc6\xee\xa5\xbc\x23\xbb\xe3\xa8\xf6\xef\x48\x9c\xc1\x5f\xe3\x68\xb6\xbe\xf4\xd6\xe7\x54\xb2\x3c\x6f\x71\x30\x3b\xe5\xf4\xad\x6c\x53\x0f\x98\xf9\x79\x84\x26\x8a\xb9\x30\x4e\xb0\x4b\x05\x0c\x41\x81\x40\xf4\x8b\xf8\x9c\x75\x68\xe3\x82\x96\xd5\x53\x85\x12\xd9\xad\x40\xd5\x4a\x59\x29\x15\xce\x4a\x9a\x57\x76\x0f\x26\x38\x94\x69\x4e\x3b\xbb\xab\xcb\x76\x9d\xe8\x52\x1b\x49\x94\xe1\x34\x2c\x43\x22\xed\x31\xaa\x76\x71\x4f\xd5\x17\x58\x8c\x25\xe5\xd4\x13\x07\xf5\xc4\x41\x55\x5b\x47\xe4\xfe\x2a\x0e\xb8\xf9\x7d\x57\x74\xf5\x07\xb3\x11\xbb\x5d\xc9\x3a\xbd\x8e\xc3\xf7\x34\x3e\x1c\xfe\x58\x79\xf3\xe0\x1a\x0e\x6b\xcf\x20\x52\x39\xfa\x2c\x35\xd1\xfa\x7b\x7a\x39\xf8\x51\xb8\xf4\xf4\x76\x20\x1c\x62\xcb\x33\xbc\xf3\xf5\x3e\xa7\xe1\x74\x92\x2f\xe6\xef\x8b\x3f\xe0\xde\x97\x10\xd5\xb8\x2c\xc6\x30\x15\x9f\xb3\x2c\x60\x2d\x73\x8a\x4a\xa2\xa4\xcc\xd3\x38\xa6\x3c\x4c\x78\xb9\xbf\x4f\x19\x22\x61\x6b\xf8\x26\x2a\x87\xda\x33\x43\xdd\x9a\xe8\x77\xec\x9f\xed\xd9\xd0\x15\x51\x7f\x6b\x23\xde\x93\x71\xee\x49\xf5\xfc\x58\x55\xcf\x1d\xc6\xb9\x5d\x3c\x75\x1b\x36\xb8\xb6\x61\x2e\x4b\xe3\x18\x19\x8c\x3e\xf3\xdc\x46\x95\x8d\x40\x90\x0a\xd3\xfa\xf4\x1b\xe6\x50\x4c\x13\xad\xb9\x45\x0e\x1d\x7d\xe9\xf8\x2b\xd9\x14\xa7\x36\xf8\x1e\xce\xc3\x54\xf3\xe4\xae\x1e\x6c\xaa\x2b\x28\x4a\xbd\x16\xd8\x29\x8e\x86\x1a\x7e\x86\x2e\xc3\x1e\x53\x6d\x26\xf7\x65\xd4\x93\x80\x7a\x67\x2f\xd9\xde\xb4\xd7\x81\x61\x2b\x2f\xd3\xfb\x54\xa7\x3e\xa1\xd1\x27\x34\xfa\x17\x41\xa3\xeb\xb9\xc3\x1d\x11\xea\xce\xdc\xe4\x9f\xc1\x15\xf6\x4a\xb1\x11\x4a\xb1\x7c\xde\x7b\x28\xbc\xf2\x82\x52\xcd\x19\x04\x57\x9e\x78\x88\x75\x79\xfb\x8a\x7c\x53\xb5\x6b\x18\x1d\x45\xdf\x52\x98\x1c\xbb\x09\xcb\xe2\xd5\xaf\xf5\x00\x3d\xa6\x35\x2d\x1d\xe7\x12\x49\x51\xd0\xf3\xe3\x59\xba\x72\xc5\xfe\x37\xde\x60\xf0\xb7\x6b\x79\xc6\x4b\xf4\xb8\x9c\xa5\x8b\x64\xfa\x9b\xb0\x23\xa6\xb2\xb5\x8e\x1f\x99\x98\xc4\x61\x49\x8b\xf2\x55\x12\x95\xff\x95\xbe\x67\xef\x3c\x91\x1f\x29\xea\x91\xd4\x4f\x8b\xb7\x26\x5f\x4f\x94\x49\xfc\x38\xc0\xab\x09\x9f\x4b\x9d\xb4\x61\x5e\x7c\x5c\xb9\x63\xfb\xe4\x68\xf2\x44\xa6\x1e\x11\x99\xea\x70\x34\xb9\x1d\x99\x2a\x3a\x7c\xef\xaa\x87\x12\x22\x08\x2b\x32\x25\xc5\xa1\x99\x54\x4c\xf5\x1f\x40\x7c\x24\x52\x27\x79\x49\xd3\x23\x41\x36\x29\x91\x2e\x6d\x08\x14\xbe\x46\xbd\xc2\x7f\x10\xbc\x25\x55\x2b\x67\xa4\xe8\x7c\xeb\x08\x70\xab\xfb\xd9\xe1\xe9\xd9\x52\xf6\x25\xc7\xa8\x2e\x88\xd5\x6b\x20\x35\xc2\xe3\xd4\x8f\x09\x12\xd4\x5a\xdd\xfa\x7d\x38\xa7\x22\x50\x0e\x4b\xf8\xfa\x75\x9a\xcb\x97\xcd\xd4\x86\x36\x78\xaf\x3d\x5c\x54\xbc\x41\x0b\x58\x94\x9c\x57\x6a\xde\x31\x86\xd7\x59\x76\x53\x70\x1c\x00\x9f\xb5\x5f\xa4\x25\x12\x79\xaf\x95\xd4\x49\x53\x3b\x5d\x4a\xea\x65\xdc\x9d\x69\xef\x90\x2b\xf0\x1b\x02\xfd\xa9\xdf\x21\x41\xbf\x26\xad\x05\x95\x63\x26\x2a\xf8\xa1\x51\x0d\x1e\xcb\xcc\x02\xf3\xcc\xe7\x51\x2f\x2f\xc2\xe2\x42\x55\xae\xf9\x4b\x0e\x53\x4d\xda\x1b\x87\xb1\x4c\x88\xa5\x3b\x64\x87\x15\x03\x01\x22\xeb\x8b\xba\x42\x49\xb4\x58\xd5\xc4\x9d\xae\x66\xb3\xd7\xfc\x29\x6b\xc3\x6e\xc2\x35\x5b\xfc\x03\x9f\xb1\xfa\x6c\x51\x5c\xd0\xe9\xf3\xbc\x8c\x66\xe1\xa4\xfd\xc6\x1f\x9b\x95\xac\x47\x63\x5b\x1c\x4a\xa0\x5e\xb6\x35\xff\x0d\x34\x1e\xd3\xf2\x5a\x4c\x66\xe5\xad\xc9\x72\x4c\xf7\x44\xa4\xa4\x68\x90\xce\x06\x89\x1a\xcd\x94\x88\x60\x8f\x57\xd3\x6a\xa3\x92\x59\x94\x4c\xb9\xec\x1d\x4d\xc7\xe3\x71\xdd\x44\xdd\xa3\xfb\xfb\xc0\xdd\x35\xc6\x1e\x47\xea\x72\xa9\x56\x37\x29\x3a\x39\x1a\xad\xb5\x61\xc5\x45\x85\x4d\x5b\x18\x15\x88\xab\x4e\x4e\x77\xcb\x0c\xad\x38\x38\xdd\x07\x33\xb4\xe2\xe6\x74\x4b\x66\xe8\xa0\xbe\x63\xf9\xe4\x02\xf5\x58\x2d\x80\x11\x48\x41\x88\x23\xb8\x0c\xd4\x40\xba\x3f\x60\xc0\x09\x09\x1d\x22\xee\x7d\x35\x55\x28\x11\xf7\x68\x55\xad\x64\x1e\x92\x33\x25\x51\xb5\x1e\x25\xdc\x39\x7f\x87\x52\x6e\x74\x9a\x5a\x56\x46\x6c\xda\x69\xc5\x5e\x4f\x0c\x09\xbf\xc6\x4b\x89\xb8\x97\xda\x69\x3b\x7c\xf2\xbc\x7a\xb2\x1b\xde\x0e\xdd\x3d\xe1\xba\x07\x8f\xeb\x76\x62\xd5\x8f\x1a\x85\xa3\xe1\x22\xf9\x90\xa4\x97\xc9\x96\xbc\xb7\xc4\xb9\x33\x3e\x6b\xcb\x7e\x84\xc7\x2c\xa8\xba\xff\xf6\xf1\x6f\xd7\x35\xce\x5a\xfe\xb6\xcb\x30\x9c\xff\x5f\x45\xf1\x35\x0b\x26\xb3\x99\x49\xcd\x4a\xe6\xcb\xed\x59\x65\x5c\x2e\x9c\x30\xc1\x96\x95\xe3\xaf\xca\x6a\xc6\xe3\xf1\x98\x85\x30\x55\x24\xcc\xab\x22\x77\x2d\x73\x71\x59\x4e\xe3\x34\x9c\xee\xef\x57\x3f\x49\xc8\x79\xb7\xa3\xd5\x47\x8c\xe9\x4b\x8f\x5a\x5c\xde\x11\x89\xa6\xf0\x11\x79\xf1\x55\x6f\x23\x55\x45\xcc\x2f\xbd\xbf\x86\x03\xf6\x8a\x59\xab\x3e\xa5\x1c\x7e\xd2\x41\xf3\xcb\xac\x68\xe4\x8a\x4e\x72\x59\x70\x3a\x99\x12\xa1\x77\x5c\x74\x93\xdb\xbd\x85\xa0\x9e\x85\x2a\x64\xeb\x0d\x34\x74\xb1\xd9\x8b\x7f\xd2\x66\x8c\xd3\xd6\x03\x7c\x55\x26\x29\x67\xf8\x5e\x1a\x5f\x8b\x95\x1e\xa6\xd5\xa2\xb5\xa2\x0c\xcb\x45\x01\x4f\xf0\xc7\x52\x8b\xf7\xf7\x95\x4c\x82\xa6\xd4\x2d\x5e\xe9\x16\x8b\x6e\xaa\x16\x62\x3f\xbe\xff\xa4\x4e\xe1\x4a\xa7\xb0\xee\x74\x4d\x08\x99\x68\x65\x34\xa7\x71\x94\xd0\xc3\x6c\xf9\x44\xd1\x9f\x28\xfa\xdd\x51\xf4\x6d\x6e\x70\xfc\xa1\x5e\x9c\x5b\xd1\xaf\x3f\x9e\x54\xad\x10\x99\x86\x42\x69\x07\x12\x52\x02\xda\xa9\x23\x25\xa7\xb3\x01\x97\x26\x0a\x9e\x36\x6a\x2c\x23\xea\xe2\x73\xe9\x47\xb2\x05\xf9\xe8\x6a\x03\x74\x61\x7f\x5f\x29\x4f\x93\x0a\x39\x9d\x8d\x23\x49\xae\x60\x1f\xe6\x3a\xcc\xb2\x96\xf6\x4f\xfa\x2d\x54\x32\x62\x85\xac\x5c\x2b\x77\x7e\x0c\xa3\xbc\x38\x2c\x97\xbb\xbb\xde\x76\xef\xe8\x46\x4c\xa2\x87\xb5\xad\xbb\x7c\x36\x06\x3b\xee\x1d\x79\x5f\x6c\x72\xfe\x8a\x8a\x37\x17\xe9\x65\x94\x9c\xf3\xd4\x23\x74\x5a\x79\x5b\xdc\x39\xac\x0f\xe4\x30\x4f\xbb\x0b\x08\x1d\x6e\x86\x98\x46\xe6\x2e\xf2\xa7\x71\x95\xa8\x12\xdd\xb7\x40\x90\x3f\x09\x04\x0d\x2c\xfb\x42\x3e\x8a\xdb\xa1\x5a\xf9\xf4\x7e\xae\x68\x20\x63\x50\x69\x77\xde\x5a\x56\x88\x76\x97\x15\xf2\x8a\xf9\x6f\xc9\x0a\x9d\xa2\x42\x3a\xce\xbb\x98\xf8\xa3\xa3\xfc\x48\x42\xd6\x5a\xdc\xd4\x0b\xaf\x76\x00\x69\x80\xf3\xf4\xf9\x2a\x4f\x5f\x7f\x95\x4d\x8c\x3d\xb0\x98\xd1\x54\x2b\xc6\xd1\x1a\x09\x22\x54\x55\x6d\x21\xb1\xd1\xc0\x18\x2f\x56\x58\xe9\xb5\x3c\xf1\xa2\x9b\x8f\xce\x57\xfa\xe4\x15\xfb\x5d\xe0\x5b\x56\xd9\xe8\x62\xa5\x4f\xd1\x64\xa3\x73\xf1\x3d\x0f\x8b\x9a\xa1\x5e\x2c\xbb\x50\x29\x20\xa1\x72\x7f\x7f\xfb\x6d\x46\x98\x8f\x2c\x52\x53\x1e\xa8\x88\x27\x20\xd8\x49\x81\xd7\xb3\x6f\xb5\xe6\xe6\xab\x43\xab\x7d\x1f\xce\xa9\xda\xd0\xf6\xc5\xe3\x48\x92\x0d\x42\x8e\xa8\x0a\x59\x36\x58\x7c\x9e\x6c\x90\xb5\x65\x83\x45\x8f\x6c\x90\x81\x6c\xb0\xe0\xb2\x41\xd6\x94\x0d\xe4\xa2\x96\xb5\x65\x83\xac\x57\x36\xc8\x6e\x6e\xb2\xb6\x6c\x90\x35\x65\x83\x6c\x5c\xec\x2e\x1b\xc4\x5a\x58\xc9\x06\x99\xaa\x4d\x24\xd9\x20\x6b\x71\xee\x19\x97\x0d\x1a\xcf\x8f\xb2\x55\x2c\x3c\xa9\x64\x83\x6c\xbd\x6c\xd0\x7e\x43\x37\x21\x81\x29\x66\xb0\x3c\x26\x1b\xe4\xe3\x4c\x8b\x98\x6c\x00\x35\x5c\x3a\xd8\x98\x7d\xe9\x73\xa8\xfb\x41\x1d\xcb\x70\xe7\xb8\x7c\x7d\x54\xfe\x8e\x68\x7c\xbe\x8e\xc6\x77\x92\xc0\xca\xe5\xeb\x75\x15\x53\xf1\x33\x89\x8b\x56\x51\x54\x96\x95\xf5\x33\x06\x23\x15\xa4\x97\x67\xcb\x06\xa5\x92\x42\x46\x1e\x96\xcb\x31\xd5\x92\xb1\xb2\x13\x69\xea\x9b\xbe\xca\x91\xe5\x6b\x0a\xdf\xf5\xa8\x9a\x01\x7a\x02\x1f\x1d\x9d\x9e\xa9\x2b\x16\xc9\x92\x53\x9a\x64\x95\xd2\x08\xa0\x0e\xfe\x76\x5d\x36\xa9\x8b\xb0\xa5\xa0\x73\x95\x8c\xab\xe2\xa6\x4b\x9d\x16\x8e\xa5\x80\x64\xc5\x78\x53\x48\x32\x79\xa8\xa6\x6f\x9e\xb6\x68\xbc\x67\xd2\xc6\x5f\x45\x0f\xfe\x9a\x00\xfe\x2a\x38\xfe\x9a\x34\xf1\xd7\xa4\xc1\xc5\xb5\xf1\xd7\xa4\x17\x7f\x4d\x6e\x6e\x26\x6d\xfc\x35\x69\xe2\xaf\xc9\x38\xdc\x1d\x7f\xa5\x5a\x5c\xe1\xaf\x89\xaa\x2d\x24\xfc\x35\x69\x61\x97\x09\xc7\x5f\x8d\xe7\x47\x93\x55\xfc\xb5\xa8\xf0\xd7\x64\x3d\xfe\x6a\xbf\xa1\xfb\x48\xc3\x14\x27\xb0\x3c\x86\xbf\x38\xee\x42\x87\x2f\x86\xbd\x36\x66\x16\xdc\x1d\x77\xdd\xfa\xe6\xca\x93\x50\x72\xaf\x42\x89\x6c\xe6\x8c\x66\x8a\x8e\xa1\x13\x79\xf4\x2f\x9e\xc9\x93\x27\x7f\x3a\xd5\xcf\xf6\xee\x90\x8f\x7a\xe2\x95\x9e\x78\xa5\x3b\xe6\x95\x30\xf6\xf2\x13\x8a\x79\x68\x28\x66\x37\x9f\xc5\x3b\x52\x7b\xbc\xc4\xbd\xb0\x1d\xe7\x87\xfb\xa6\x4b\xb1\x7c\x3b\xed\xe0\x13\x3e\x7b\xc2\x67\x77\x82\xcf\x1e\x76\x70\x8f\x5b\xf9\x45\x35\x0c\x03\xbd\x07\xff\xce\x74\xe3\x18\xb8\xff\xc9\x55\xe6\x2f\xe1\x2a\xf3\x39\xd4\xe0\x04\xf7\xc1\x76\xd4\x00\xf7\xcc\x5d\x9a\x19\xb7\xf0\x2c\xff\x86\x96\x27\xe9\xf9\x9b\x32\xa7\xe1\x5c\x38\x40\xe6\xfd\x75\xb2\x87\x38\x8f\x29\xb9\xea\x39\x9e\x76\xba\x8c\x77\x1e\x37\x2d\x6d\x5e\x56\xeb\xb8\x43\x20\xee\x7d\x75\x79\xc2\xcb\x3e\xea\xdd\x0e\xf1\x5a\xde\x9e\x4c\xca\x9f\xd5\xed\x45\x68\x49\xb9\x55\xae\x6a\x1b\x0c\x9b\x39\x83\xc8\x61\xf2\xe4\x8e\xf1\xe4\x8e\x71\x37\xee\x18\x72\x7e\x9a\x27\xd2\xf1\xc0\x49\xc7\x7a\x8f\x72\x7e\x2f\x65\x47\x9f\xf2\x3a\x07\xd1\xb6\x5e\xe5\xfc\x3d\xf7\xef\x57\x5e\x25\x41\x7a\xf2\x2c\x7f\x42\x7c\xf7\x84\xf8\x9e\xb0\xde\x83\xc7\x7a\x7f\x8e\x2b\x89\xb8\xe5\xb7\x2d\x27\x5d\xe5\x7f\xfb\x5c\x27\x12\xb1\x31\xff\x58\x0f\xf3\x7c\x07\x0f\xf3\x3e\xdf\x6d\x0e\xb2\x4d\x4e\x1e\x2d\xff\x74\xe1\x70\x2e\x7b\x79\xa0\x17\x79\xdc\xed\x9a\x12\x37\x5c\x53\x8a\x2d\x5c\x53\x98\xc3\x48\xc3\x29\x1d\x43\xb9\xe3\xed\xc6\x8a\x34\x92\x1f\x2f\xae\x8a\x08\x23\xc5\x87\x25\x25\xc7\xaf\x5f\x3e\xff\xe9\xe5\x0b\x55\x45\xcb\x1d\x2c\xb9\x10\x52\xd1\x56\xce\x1f\x7b\x13\xee\x92\x42\x97\x31\x9a\xbf\x76\xf6\xdc\x16\xfe\xe2\xdb\x78\x87\x0b\xba\x3e\xa9\x3c\x54\x32\x74\x3e\x49\x6b\x97\x93\x89\xc6\x02\x56\xf0\xaf\x74\xb8\x78\x12\x22\x9e\x68\xe9\x9d\xd2\xd2\x27\x47\x8d\x26\x02\xbf\x95\x67\x06\xef\x7d\x9f\xae\x18\x62\x82\x4f\xbe\x17\x4f\xbe\x17\x7f\x09\xdf\x8b\x8a\xf7\x7a\x60\xe6\x83\x7b\x57\xf5\xde\x9e\x49\xbd\xd7\x9b\x25\xe2\x35\x1b\xef\x96\xb0\xcb\x22\x6d\xde\xef\x2e\xee\x80\x54\xdc\x70\x3d\x1b\xf1\xec\xfe\x6e\x82\xd4\x79\x92\x1f\xe3\x46\xbc\x1b\xa9\x69\x67\x62\x29\x3a\xdc\xe5\x96\x6c\x6c\x38\x2d\x19\x4b\x9b\x20\x1a\x9f\x9e\xd5\x31\xd7\x2b\x2a\x40\xc7\x5f\x5d\xd3\x75\xf4\xb0\x6e\x5a\x8e\xbf\xba\x8e\x50\xd2\x50\x2a\x62\x7c\x58\x6a\x40\x69\x0e\x1b\xb9\xc7\x79\x15\xad\xf2\x85\x27\x77\xff\xbe\x4a\x8d\xb1\xf2\xb2\x6b\x39\x00\xce\xba\x83\xc2\x5f\x7a\x18\xdd\xd5\x39\x78\x84\xdb\x7f\x7b\x06\xed\x8e\x22\x47\x7d\x9e\xef\xc5\x6d\xf2\x46\xac\x7e\xaa\xbf\x9e\xc9\x1d\xed\xec\x18\x14\xea\x2e\xe0\x53\x27\xb2\x7f\xd2\x11\x3e\x7a\x1d\xe1\x96\x27\x9c\x9d\x89\xfa\x88\xbf\xa9\xf6\xc0\xe6\xbe\xd5\x7e\xe9\x27\x65\x2b\xa1\x53\xd7\x85\x7d\xeb\x38\xf6\x7b\xb4\x11\x2d\xb5\x37\xd2\xea\x86\x30\xab\x55\x66\xc7\x7e\x2b\xcf\xfa\x20\xab\xea\x6a\x84\xd5\x8e\x8b\x5f\x75\x84\xd5\xb2\x37\xc2\x2a\xff\x54\x79\x23\xe9\xee\x93\x5e\xea\x49\x2f\xf5\x99\x7a\x29\x71\x18\x0f\xd8\x37\x18\x7d\x0c\xf3\x08\x80\xfb\x84\xcd\x1f\x17\x36\x5f\xd1\xc7\x1d\xe3\x0b\x07\x3f\xd7\xdf\x73\x7b\xcc\x4c\x56\x36\xc3\xf2\xcf\xc5\xd3\x6c\x31\x68\xbc\x97\x53\x61\x0e\x5a\xd8\x7a\x8d\x35\x9e\x8d\xd0\x87\xa6\xe5\x08\xd4\x4b\x8c\xc8\x28\xdd\x38\x55\xaf\x41\x6e\xc7\xfd\x33\xae\x36\x0c\xbf\x0f\xa1\x31\xc7\x82\xe7\x79\x1e\x5e\xc1\x04\x92\xb1\xfe\xf7\xe4\x3f\xe9\xdf\x93\x2f\xbf\x54\xcb\xd3\xe4\xac\xee\x70\x9a\x9c\xb1\x7d\x47\xda\xe3\x13\x42\xb8\x2b\x55\x34\x2e\x4f\xf5\x33\x2d\xdf\x25\x4a\xe8\x5e\x24\x7e\x8f\xf3\x27\x8a\xf0\x44\x11\xee\x8e\x22\x44\x49\xb6\x28\x77\x22\x08\x7f\x9a\xb4\xba\x82\xfd\x5e\xc1\xdc\xef\x10\xf9\xdd\xa1\x98\x74\x90\xd3\x2c\x2d\xa2\x32\xcd\xaf\x1e\x15\x48\xbf\x89\xca\xc1\x6b\x69\xea\x77\x0b\xd1\xde\x7c\xd6\xd5\xf8\xb7\xe2\x48\xfa\xaf\xf1\x68\x69\x1d\xc8\x3e\x7e\x4c\x81\xec\xc3\xa7\x40\xf6\xff\x0e\x81\xec\x8b\xed\xef\x87\x75\xb1\xb3\xb1\x1c\xbe\x3e\xe7\x31\xea\xc5\xc3\x2a\x3f\x65\xda\x48\x5a\x25\xe5\x68\x65\xec\xdd\xe9\xd9\x5e\x99\x5f\x5d\xd3\x76\x9a\x91\x38\x2a\x6a\x27\xed\x42\x51\x97\x93\xb0\x9c\x5c\x28\x51\x95\x31\x33\x99\x2a\x43\x0a\xc2\xed\x50\x8b\xd4\x25\xbf\x2c\x2a\xa5\xab\x42\xdd\x93\x4a\x8a\x34\x2f\x15\x60\x9a\x1a\x89\x36\x9b\x39\x36\xf7\x92\xfd\xfd\x92\x44\xc9\x24\x5e\x4c\x69\xa1\x24\xea\xd1\x3a\x75\xd7\x50\x4b\xd4\x43\xa9\xf9\x90\x43\x6c\xb8\xa9\x5b\xdd\xf0\xb0\xe4\xbc\xdd\x86\x1e\xc0\xaa\xa9\x5d\xd9\x7d\x3b\x47\x5d\x2e\xb5\x7c\x1c\x36\x6d\xb1\x77\x1b\xa0\x3b\x6d\x0f\x5f\x7d\xe5\x3b\x7b\x45\x24\x87\xe7\x2e\x3a\xe9\x20\x47\xbc\xc5\x01\x5b\x9c\x84\xb0\x9b\xa9\x46\xb6\x4e\x3d\xb8\x4e\xc8\x64\xec\x7d\xdd\xa4\xa4\x45\x39\x82\xad\x4a\x73\xf9\x8d\x5c\xb6\x3d\xa0\xc9\xc7\x28\x4f\x13\xb4\x3a\x74\x66\x39\xd1\x52\x2d\x66\x38\x35\xd4\x8a\xcf\x17\x51\xff\xae\x00\x8a\x41\xf7\xa6\x5f\x70\x52\x6a\x0d\xa8\x51\x98\x45\x23\xbe\xa4\x43\x36\xe5\xa1\xba\x87\xe7\x7a\xb0\x18\x5f\x0f\xd9\xd2\xb0\x15\xc2\x64\x92\xc6\xc3\xc3\xa1\xa1\x19\x43\x4d\xd4\xd1\xa4\xcc\x05\x48\x7b\x9a\x00\x96\x85\x2d\x70\x38\x5c\x44\x23\x9d\xe8\xc4\x18\x2e\xab\x50\x9e\x2d\xec\x12\x6d\x16\x9c\xb5\x54\x0b\xb5\xc5\xee\xe9\x87\x8b\x87\x2a\x42\x6b\x2c\x21\x83\x16\x8e\x87\x62\x2f\xb1\x60\xa8\x39\xf9\x85\x7f\xa8\x63\x7c\xae\xfc\xf6\xb7\xeb\x58\x00\x08\x70\xe0\xf3\xe9\x34\xa7\x45\xb1\x3c\x38\xcf\xb3\xc9\x6f\x18\xbd\x4d\xbb\x5e\x24\x61\x7e\xf5\x2a\x29\x69\x3e\xa1\x59\x99\xe6\x3c\x8d\xc1\xca\x63\x45\x5d\xaa\x5a\x38\x00\xba\xd9\x93\x13\x04\x00\xcd\xb7\xd6\x62\xa7\x9c\x20\xe9\x69\x78\x36\x5e\x2c\x3b\x5e\x29\xf8\xb9\xb3\x65\x25\xf9\x56\x2a\xe0\x6b\x90\x41\x51\xe6\xa4\x65\xa8\x11\x42\xe8\x72\x79\x4e\xcb\xc1\x1c\xe5\xe3\x86\xdd\x45\x60\xe9\xa8\x78\xbe\x28\x2f\x68\x52\x46\x93\xb0\xa4\xd3\x23\x18\x62\xa1\x85\x8b\xf2\x22\xcd\xa3\xff\x66\xe6\xb4\x55\xb4\x1e\x36\xfa\x90\x32\xfd\x40\x93\xe5\x21\xf6\x15\x39\x38\xda\x29\x26\x28\x30\x6d\x4c\x3a\x86\x2f\x53\x92\xb7\xaf\xc8\x49\xb3\x8d\xd0\x0a\x44\xad\xe4\xd0\xaa\x16\xb5\x6f\x0f\x25\x42\xa5\xcb\xc6\xaa\xdc\x1a\x7f\xc8\xa7\x34\xaf\xb5\xac\x05\x2d\x5f\xd0\x62\xa2\x00\xe3\x82\xa5\x93\x68\x1e\x95\x8a\xa1\xf3\x21\xb1\xb9\x92\x37\x35\x0e\x75\xf6\xad\xd6\xfc\x94\x88\xa9\x1d\xda\x9a\x61\xa9\xc9\xda\x8c\x8e\x64\x16\xc5\x25\xcd\x95\x73\x45\x36\x9c\xaa\x75\x73\x05\x20\x28\x5b\x73\x35\x1e\x70\xf2\xb0\x5d\x21\x22\x51\x72\xaf\xd8\xb7\x79\x7c\x28\xaa\xdf\xe6\xf1\x52\x93\x4d\xad\x87\x94\x27\xef\x7a\x23\x3d\x6c\xe5\xcc\x90\xc2\x55\x2e\x31\xf7\x64\xf5\x0d\x79\x76\x8f\x95\xcf\x77\x52\xd5\xdd\xcb\x67\x63\x1f\xca\xe2\x9f\xad\xfa\x88\x1d\xdf\x49\x9a\x64\xcf\xf7\x61\xb5\x1b\x92\x6d\x56\x0b\x6e\x67\x29\xa1\x4c\xa2\x90\xe7\x7d\xb2\xda\xac\xa5\xd1\x5a\xb9\x14\x97\xac\x5c\x8a\x13\x57\xe7\x5e\x31\x26\x87\x45\x5e\x8e\x8e\x04\xd3\x83\xe5\xa3\xa3\x67\x06\x6f\xc6\xb6\x6a\x74\x44\x52\xf8\x71\x74\x24\xd8\x5c\xac\x64\x5f\x16\x57\x18\x1d\x71\x3b\x7b\xe5\xd6\xd6\x07\xb4\xf6\x42\xf3\x6e\xe8\x55\x0d\xb6\x05\x60\x95\x31\xa6\xef\xc8\x8b\x06\x7f\xe4\xc6\xd9\xf6\xb8\x57\x93\xef\xd9\x4b\xa2\x7e\xdb\x83\x5e\x79\x1f\xae\x9c\x72\x5e\xb3\xf9\xa8\x4a\x07\xb2\x4a\xba\x27\xd7\xaf\xc2\xf9\x9b\xae\x66\x0d\x68\xb7\x60\x0b\xe2\xc1\x6a\x8e\xdb\x5a\xed\xda\xf1\xd2\x2e\xf8\x48\xda\x57\x14\x25\xf8\x98\xcb\xe5\xaf\x59\x9a\x2d\x60\x65\x42\x95\x83\xe0\xa3\x4c\xf8\x8d\x66\x4a\xb4\xbf\x9f\x8b\x1b\x5e\x14\x5d\xa6\x5e\x25\x53\xfa\x49\x12\x33\xc6\xe3\x71\xce\xe5\x8d\xbf\x8f\x8c\x67\xe3\x71\x89\xd9\x79\x8a\x0c\x45\xd1\x52\x33\xb4\x08\xb8\x97\x53\x00\xed\x19\x93\x55\x52\x49\x56\x69\x80\x47\x4c\x42\xec\x1b\x84\xc8\xf7\xe1\x9c\x2a\x5c\xa4\x61\xbb\xe5\x0d\xcd\x3f\xd2\x9c\xe7\x06\xc7\x8c\xbe\xc0\x1b\x5e\x4c\xe2\x23\xac\xfe\x76\x12\x2b\x58\x54\x0f\x59\xf3\x12\x2f\x0e\x94\x79\xd5\x1d\x85\x89\x8f\x14\xaf\x13\xf0\xdf\xaa\x16\x2d\xd5\xca\x0c\x98\x2e\x7f\x9d\x5c\xd0\xc9\x07\x20\xc1\xc7\x61\x41\x79\xa4\x1e\x4a\x16\x79\xcc\x7f\x15\xc5\xc5\x11\xc9\xf2\xe8\x63\x58\xd2\xff\x41\xaf\x7e\xa4\x73\x1e\xbb\x67\xe0\xa0\x1d\x92\x1e\x91\xf7\x61\x11\x4d\x8e\xc8\xa2\xa0\x39\xce\x9e\xd7\x1b\xdc\x75\x6c\x60\xf3\xcd\xb3\xc8\x0a\x9a\x4b\x6a\xf6\x6b\xa6\x9a\x6f\xeb\xc2\xbf\x32\x24\xe9\xbc\xd6\x7b\x1b\x67\x47\x72\xe1\x70\x64\x68\xd1\x6a\x5f\x53\x6a\x64\x9e\x09\x01\x3d\x5f\x6d\x68\x49\x0d\xad\xaa\x61\xba\xda\xd0\x96\x1a\xda\x55\xc3\x98\x7f\x4a\x91\x92\x33\x6e\x7f\x42\x1e\x60\x93\xb5\xfa\xaf\xf4\x3d\x79\x11\x96\xe1\x1b\xf4\xfd\xd1\x8a\x66\x67\xf2\x63\x1a\xc7\x20\x11\x55\x2d\xe0\xc1\xfe\xbe\x82\x21\xf6\x5f\x26\xb0\x55\xa6\x4a\xbb\x9e\x50\x56\xa1\x6a\x2c\x12\x3f\x30\x69\x1f\xc3\x78\xb5\x5d\xc4\x6b\x54\x39\x4a\x3f\x9b\xd3\x37\x51\x09\x1f\x91\x1e\x49\x7d\x8e\xc8\x79\x54\x4a\xae\x84\x55\x05\x3c\x67\xb1\xfc\xdf\xe6\xb1\x12\xe1\x1e\xd1\xb0\xfc\x63\x58\x5e\x80\xcc\x18\x96\x17\xb0\xf7\x72\x3a\x3b\xaa\x62\xfe\x63\x51\x3d\xac\xca\xc3\x6f\x5f\x3e\x7f\x31\x14\xd8\x14\x8f\x70\x6b\x0f\x46\x68\xe0\x4e\xbe\x1a\xeb\xfb\xfb\x4a\x3e\x4e\x54\xcd\x86\xc3\x27\xdb\x8a\xaa\xd9\x93\x7f\xc0\xde\x63\xe6\x9f\xb7\x7c\xff\x29\x51\x7b\x47\x1e\x1d\x0d\x87\xaa\xc6\x6c\x44\x61\x51\x5c\xa6\xf9\xb4\x6e\x94\xf1\x27\xac\x11\xce\x13\x07\x05\x32\xb0\x20\x93\x98\x86\xf9\x9b\xe2\x42\x51\x97\xd1\x4c\x71\xfa\x27\xf2\xe6\xcd\xb7\xc2\x0a\x25\x9d\x15\x25\xea\x38\x40\xd2\x74\x60\xce\xa2\x0d\xcc\xb6\x7b\xa6\x6c\x88\xd5\x79\xc2\xbc\xea\x59\xb2\x59\xab\x4b\x1d\x26\x89\xe1\x53\xe5\xc7\x8d\xb5\xf0\xcc\x6e\xaf\xe9\x3c\x2d\xa9\xd8\x60\xcf\x74\x75\x49\xe3\x82\x0e\xaa\x6f\x3c\x7c\x97\x0c\x3b\x9b\x02\xf1\x90\xca\xea\x5e\x08\x6d\xbe\x89\x4a\x65\xc1\xdb\xd7\xbb\x5d\x09\x57\x1e\xc1\xb6\x54\x40\xd8\x23\x42\x8c\xfd\x76\x02\xfb\x9d\xdd\xf2\xaf\x1f\x7d\x9d\xe6\xf3\xb0\x54\x74\x3e\x80\x54\xa3\x34\xba\xaa\x22\xaf\x44\xc3\xef\x8e\xf9\xf5\x01\x02\xbe\x50\xf7\xda\x49\xee\x18\xfd\x9c\x88\x5b\x3f\x94\x54\x4a\x65\xa8\xd8\x4b\xf7\xf7\x95\x6c\x9c\xb2\xea\x29\xdf\xa6\x9d\x34\x24\x43\x1a\xc2\xc6\xff\x59\x1e\x43\xe1\xb6\xc7\x99\xe0\x3d\x64\xec\xd7\xe2\xd6\x66\xb2\xfd\x31\xee\x66\x0f\x1a\xc8\x73\xb6\x96\xf8\x09\xcd\xb9\xc4\x13\x49\x6a\xb6\x0a\xf1\xd6\xbc\x64\x5d\xdb\x9a\x18\xdd\xdf\x5f\x67\x1b\x95\x98\x39\xe9\x05\xc9\xfa\xc9\xd5\x9a\x78\x78\xf5\x72\xa9\x65\xe3\x50\xd2\x37\x4d\x25\xd1\x7f\x36\x3e\x8d\x2a\x9d\xd3\xfb\xcf\xb3\x37\x5e\xb5\xed\x8d\xef\x7b\xf4\xda\x57\xa7\xf4\x6c\xfc\x9e\xeb\xb5\xaf\x9a\x7a\x6d\xb9\xa8\x5d\xb5\xf5\xda\x57\xbd\x7a\xed\xab\x9b\x9b\xab\xb6\x5e\xfb\xaa\xa9\xd7\xbe\x1a\xcf\x76\xb7\x37\x66\xda\xb4\xb2\x37\x5e\xa9\xda\x5c\xa2\x9c\x57\x2d\xad\xf3\x15\xd7\x6b\x37\x9e\x1f\x5d\xad\xea\x35\xe6\x95\x5e\xfb\x6a\xbd\x5e\xbb\xfd\x86\x6e\x15\x04\x4c\xf1\x0a\x96\xc7\xf4\xda\xc5\xf8\x4a\x0b\x99\xbd\x11\x6a\x66\xda\x7b\x6d\xae\x5d\xd5\x36\x94\x8b\xf6\xfe\x94\xe3\x8e\x00\x5d\x58\xe1\x95\xf0\xc9\xd7\x51\x4c\x8f\x2f\xc2\xe4\x9c\xbe\x89\xce\x13\x24\x83\xb3\xd6\x23\xc0\x37\x22\xe2\x48\x83\x1d\x93\x53\x6b\x47\x9d\xa9\xb5\xab\x7e\x5a\xe3\x34\x44\xc2\x3b\x7e\x90\xd4\x76\x95\x73\xc9\x23\xae\xfa\x6a\xd5\x37\x7b\xf6\xac\x84\x9d\xb5\xdc\x94\x9e\xb0\xd2\x7f\x36\x6e\xec\x74\x18\xae\x24\x84\xd7\xa5\xe3\xdc\x70\xed\x4b\x72\xa5\xd1\xe2\xbd\x27\xdb\xd0\xbf\x9d\x6d\x28\x1f\x2b\xba\x16\x91\x49\x3a\xcf\x16\x25\x9d\xaa\xca\x10\x2d\xa0\x39\xb9\x9e\x2c\xf2\x9c\x26\xe5\xdb\xd7\x27\x1a\xff\xf9\x5a\x04\x23\x5f\xe2\x1d\xe6\xa6\xda\x37\xf9\x6c\x7f\x29\xf6\x62\x59\xdf\x1b\x3f\x54\x7d\x2f\x2a\x35\x9b\x56\x6e\xc6\x13\x2a\xba\x26\x6e\xd0\xd1\x5c\x55\x44\x4a\x67\x29\x98\x7b\x4e\xda\xd0\xbc\xb9\x19\x0e\x55\x14\x24\x4b\x65\x48\x86\x2a\xb9\x8c\xca\x8b\x74\x51\x2a\xf0\x18\xe5\x47\xbe\x45\xc7\x5f\x89\xdd\xad\x6b\xe5\x97\x86\x4a\xfe\x95\x46\x09\x76\x51\xd5\xc6\x45\x8b\xa4\x79\x9b\x81\x61\x53\x4a\xe2\x34\xfd\xb0\xc8\x94\xdf\x98\xc5\xfd\x6f\xd7\xe5\xf2\x37\x75\x2f\x21\x18\x19\xff\x1f\xf5\x62\xf6\xf7\x15\x18\xac\x52\x78\x10\x69\xa1\x37\x37\xa7\x67\x7b\x43\x71\x90\x86\xe3\x31\x90\xec\x74\x36\xc8\x91\x55\xcf\x95\x04\x16\xaf\x0c\xdb\xb9\x97\x87\xaa\x0a\x3d\x41\x38\xc0\x8b\x15\x84\x90\x1c\x6f\x4d\x44\x18\xd0\x30\x6c\x66\x84\x15\x1b\xe1\xee\x72\xce\x36\xc7\x6f\xa2\xd4\xfc\x4c\xdb\x74\xf3\xb1\xb7\x37\xe0\xb6\xaa\xaa\x95\x76\x76\x83\x5d\x6b\x92\xa6\x1f\xa2\xb6\x33\x02\x22\xeb\x11\xaf\x5a\x6d\x7b\x0f\x4e\x1c\x70\x3c\x93\x71\x65\x11\xde\xdb\xe4\x9f\x52\xcd\x69\x16\x87\xc5\xc5\x68\x4e\x8b\x22\x3c\xef\x59\x46\x1c\x8d\xb0\x55\x6f\xa7\xcf\x5f\x4f\x6f\x07\x61\x30\x6d\x60\x89\x67\xba\x76\x4e\xcb\xc3\xea\x9d\x35\x23\x25\x56\xbd\xc4\xfb\x3c\x6b\x96\x1d\x25\x65\xdc\xb5\x58\x78\xde\x6a\xf5\x08\x57\xf7\x81\x5e\xbd\x4f\xc3\x7c\xda\xb5\x42\x51\xb7\xda\x9a\xfc\xeb\x51\x7e\xca\x2c\x3c\xa7\xa3\x32\x2a\x63\x3a\x02\x01\xa6\x6b\xcd\x75\x93\xfe\x6e\x8f\x7a\xe5\xbb\x2f\xfa\x51\xae\x77\x5a\x8c\x1e\x06\xbe\xda\xc1\x89\x0e\xfd\x5e\x9a\x46\xd3\xe5\x12\x9d\xce\xc6\x89\x84\xa6\xa3\x0d\x4b\x4f\xe3\x78\x34\xe7\xe9\xd5\xdb\x4b\xee\x12\x18\x04\x09\x4a\x18\x9b\x32\xb9\xea\x7a\x36\x2a\x57\x80\xd1\x90\x16\xb4\xf8\x8e\x1c\xf3\xc3\xb1\x92\x32\x0e\xb5\x0c\x8b\x0f\x2a\xde\xc8\x2c\xc3\xbc\x22\xf6\xf3\xf0\xd3\x71\x3d\xad\x43\x63\xa9\x6a\xf1\xae\x8c\x69\x27\x5b\x9a\xf0\x59\x68\x8a\xe0\x4c\x87\x6a\x94\x28\x8c\x5b\x55\x7b\xac\xed\xc8\x95\x72\x6e\x72\x27\x6b\x3b\x3d\x2d\xcf\xc6\x09\xf3\x18\xaf\x6e\xe2\xe1\x5b\xc7\x94\x29\x53\x70\xd5\x8a\xba\xbc\x8c\xe2\x98\x67\x7b\x53\x84\x9b\x54\x99\x66\x8a\xaa\x31\xa7\xf0\x46\xfd\x92\xf7\xba\x56\x74\x2d\x47\x08\x7e\x9d\x72\xae\x94\xc0\xc6\x50\x49\x54\xbc\x5e\x24\x49\x94\x9c\xdf\xdc\xf4\xb6\xc9\x68\x3e\x4b\xf3\x39\x0e\x07\x6f\xea\x1f\x6d\x12\x26\x13\x1a\x3f\x8f\x63\x45\x5d\x7e\x01\x8f\xb8\xcf\xfb\xdf\xff\x8e\xc6\x84\x6a\x6f\x93\x92\x16\x65\x94\x9c\x8b\x2c\x00\x57\x11\x8d\xa7\xec\x2b\x47\x73\x9a\x2e\x4a\x55\x31\x1c\x6a\x31\xb3\x50\x0d\x0b\x92\xd3\x59\x4e\x51\x17\xcb\x1c\xc5\xa8\x8a\xdf\x34\x8d\x81\xb7\x05\xb9\x7b\xb9\x5c\x2e\xb5\x62\x1c\x4b\xfc\xda\x62\x3c\x84\x99\x0c\xb5\xc9\xf8\x34\x3d\xd3\xb2\x8d\x61\x2e\xe4\xce\xac\xab\xaa\x4d\x1b\x43\xce\xda\x9a\xa4\xac\x47\x0a\x9e\x81\x14\x9c\x71\x29\x78\xd6\x94\x82\xe5\xa2\x36\x6b\x4b\xc1\xb3\x5e\x29\x78\x76\x73\x33\x6b\x4b\xc1\xb3\xa6\x14\x3c\x1b\x4f\x76\xd7\x24\x15\xda\xa2\xd2\x24\xcd\x54\x6d\x2a\x49\xc1\xb3\x96\x8c\x3a\xe3\x52\x70\xe3\xf9\xd1\x6c\x55\x62\x9a\x56\x52\xf0\x6c\xbd\x14\xdc\x7e\x43\xf7\xf1\xfa\xff\xd8\xfb\xb6\xe5\xb6\x8d\x6d\xc1\x9a\x57\xbf\xcf\xd3\xbc\xc0\xa8\x5d\x0e\x59\x06\x28\x91\xba\x58\xd6\x39\x4c\x22\x4b\x8a\xed\xc4\xb7\x48\x72\x9c\x44\x56\x79\x37\x81\x26\xd9\x47\x20\x1a\x6e\x34\x24\xd3\xb6\x66\x7e\x62\x1e\xe7\xe1\x7c\xcb\xf9\x94\xf9\x92\xa9\xbe\x01\x0d\xa0\x01\x82\x14\xa9\xd0\x7b\xb2\xab\x76\x2c\x02\xe8\xdb\x5a\xab\xd7\xbd\x57\xb3\x29\x0e\xd9\xf2\x84\x15\x1c\x08\x2f\x52\x9a\xb3\xee\x0c\x35\xb6\x08\xea\xd9\x22\x81\x31\xfa\x0c\x5d\x3c\x88\x79\x8c\xcd\x24\x0e\x0a\x9f\xa8\x24\xab\xea\x3e\xbe\x41\xc1\x98\xa5\xf6\x95\x96\x1f\xa3\x49\x14\x40\x17\x24\x74\x5c\xfe\xfe\x4e\x05\xe1\x18\x84\x7e\x00\x9f\x87\x57\x20\x40\x3e\x50\x7b\x4b\xb0\x3b\xe3\x3b\xc9\x31\x99\x21\x9a\xcf\x01\xb5\x25\xc5\xb5\xe7\x11\xa4\x7c\xc5\x6e\x4c\x31\xe1\xd9\x88\x9a\xb7\x6d\x16\xd0\xf2\x2d\x7d\x10\x51\x74\xb5\x92\x4c\xfc\x82\x11\xd7\x11\x30\x6c\xb5\x67\x5a\x73\x14\x4e\x22\x1e\xef\xaf\x5e\x58\x9a\x12\x29\xbe\x74\x87\xc0\xe3\x79\xfb\x2b\x5b\x06\x77\xa1\x78\x04\x02\x0a\xcf\xe4\xa0\x3f\x89\x31\xdb\xad\x2f\xc8\xdf\xb7\x7f\xf7\x5e\xc7\xdd\x23\xf2\xc6\x76\x06\x01\xf6\x2e\xf7\xbf\x3b\x3f\x3f\xef\x3a\xe7\xbd\x3d\xe7\x7c\x6b\xc7\xd9\xbc\x70\xce\x6d\x15\x29\xb2\x2f\x78\x46\xdd\xc5\x85\x73\xde\x75\xec\xf7\xef\x19\xe5\x9e\xb3\xef\x1e\x3b\x5d\xf1\x2a\xfb\x8f\xe1\x9b\x9e\xfe\xcd\xf9\x79\xba\x0d\x2f\x9c\x73\x3e\x26\xfb\xda\xb2\xb2\xef\xb7\x6a\xfa\xbc\x70\xce\x2f\xd8\xff\xd4\x93\xdc\x40\xdb\x8d\x07\xda\xde\x95\x2b\x7d\xe4\xec\x5e\xe8\x03\x2d\x36\xf0\xa3\x06\x50\xd8\x9b\xd1\xb9\x33\x04\x41\x0c\x9d\x73\x5b\x37\x2b\xec\xf8\x6a\xe4\x46\x80\x52\x48\x42\x46\x46\x63\x08\x7c\xae\x70\x86\xe0\x0a\x8d\x38\x9d\xb9\x21\x20\x04\x50\xcc\x9e\xb2\xa6\xb6\x63\x7b\x78\x12\xe1\x50\xe4\xe2\xba\x38\xa1\x01\x64\x7f\x81\x28\x72\x87\x18\x53\xd1\x1e\x53\x34\x4c\xab\x40\x5c\x5c\x7c\xe7\x4c\x38\x6d\xbd\x02\x13\xb8\x3f\x83\xb2\x3b\xe3\x41\x6c\x3b\x28\x3e\xa5\x04\x79\xf4\x25\xf6\xe1\xfe\xfd\xee\xcd\x5c\xdb\x24\xa1\xe3\x75\xdf\x1f\xe8\xc5\xb0\xb7\xfd\xf0\x68\x2f\xb7\x3f\x36\xf9\xc6\xe8\x6e\x3b\x9b\x8e\xcd\x16\xc1\xad\x3c\x86\xe3\x6e\x2f\x45\xa7\x4e\xca\x9b\x8d\x28\x52\xb4\x28\x77\x2e\xb1\x5d\xec\x5e\x35\x48\x77\xe0\xf9\x79\x8f\x37\x42\x1e\x0e\xad\x01\x01\xa1\xcf\x49\xea\xdc\xfe\x31\x04\x13\x1e\xbe\x60\x22\x96\x35\x49\x91\x61\x3b\x76\x6f\x9b\x7d\x95\xa3\xc4\x74\x2a\x5b\x3a\x9d\xab\xa7\xda\xa6\xd9\x6a\xb2\x69\x58\xab\xe2\xb6\x91\xbd\xe7\x08\xde\xe3\xae\x12\x7b\x18\xa0\xd1\x98\xba\x6c\x11\x15\x34\xdc\x84\x4c\x13\x3a\x5e\x0e\x7d\xd6\x14\x1a\x59\x23\x2a\x7d\xb5\x1b\x6f\x7e\x3c\xfa\x1c\x15\xa8\xd4\x1e\x77\x35\xb2\xc9\x31\x75\x0e\x21\xe5\x83\x48\xd9\xfa\x56\x1e\x43\x9b\x4e\xaf\xae\x79\x9c\x0c\x66\xf4\xb0\xdd\x75\xce\xb7\x36\x9d\xae\x6c\xf1\x12\xd2\x31\x16\xb9\x9b\x82\x34\xd9\xa7\x3a\x15\x2b\x19\xc1\x88\x56\xd8\xd9\xec\x2b\xd6\xc3\x45\x91\x48\x25\x51\xe5\x3a\xc9\x4f\x58\x27\xe5\x54\xa4\xa8\x4d\x32\x48\x28\x65\xdb\x84\xff\xe3\xba\x11\x41\x13\xc0\x50\x28\x36\x8c\x3a\xe6\xa7\xe0\x84\x2f\x61\x28\xdf\x55\xed\x5d\x39\x03\x03\x98\xc4\x18\x25\xe9\x29\x9a\x14\x77\x46\x69\xe7\xa5\x2b\xb3\xc7\x1a\x0f\x30\xbc\xaf\x58\x39\x6b\x19\x4f\x40\x10\xcc\x60\x20\xdb\x12\x36\xbb\x8e\x3d\xa6\x34\x8a\xf7\x37\x36\xae\xaf\xaf\xd3\xc4\x90\xb4\xc6\x08\xde\xf0\xb1\x27\xdc\xe9\x90\x88\x2d\x82\x91\xef\x29\x26\x52\x0f\xa2\x6a\x20\xb1\x3e\x3e\xb0\x9e\x3f\x04\x28\xbc\x34\x02\xcb\x0c\xae\x2a\x80\x6d\x95\xa4\x76\x1d\x14\xab\x60\x38\x0b\x82\x27\xd0\x83\xe8\x0a\xfa\x16\x08\x2d\x14\x5e\x21\x0a\x7f\x30\x51\x5d\x4a\xd4\x05\xc2\x12\x4d\xaa\x28\xeb\x04\xfa\x10\x4e\x2c\xed\xa3\x7a\x52\x31\xad\x3b\xdb\x47\x8a\xcf\x32\x56\x8a\x86\xb6\x63\x33\x90\x73\xed\xda\x15\x14\xca\x58\x1b\x03\xbe\x4b\x31\xd3\xc1\x3f\x31\x6d\x03\x04\xae\xc0\x47\x33\x9e\x2b\xb8\xe5\xd2\x38\x2f\x5f\xf7\x9a\xb3\xde\x5f\x5f\x7f\x9c\x9e\x5c\x5f\x5d\x37\x67\xbd\x62\x5d\x1f\x02\x3c\x42\xe1\x9c\x2c\x78\xa7\xc7\xf9\xe9\x26\x13\x97\x01\xe2\x08\x96\xa2\xb8\xdc\xb3\x17\xa0\x0f\x45\x0e\x5d\xf3\x79\x89\x99\x97\x14\x00\x33\x9b\x16\x9d\x9c\x71\x0e\xe9\xd8\x3f\xf2\x69\x09\x9e\xcd\x66\x99\x71\xce\xdc\xb4\x2f\xb2\x05\x1b\x08\x93\x4f\xc8\x4d\xc9\xbe\x29\xe5\xb1\xcf\x97\x44\x7a\x7c\x6b\x78\x20\x08\x06\xc0\xbb\x74\x03\x0c\x7c\x14\x8e\xd6\x9d\x12\xa7\xf1\xe7\xcd\xd3\xe0\xf5\xbb\x4a\x55\x35\xb7\x2a\xa3\xba\xca\x09\xb7\x57\xab\x33\x28\x60\x18\x49\xb6\xa0\x91\xa6\x44\x52\x52\x40\x53\x90\xda\xdd\xdd\x92\xfe\x69\xe4\xdf\x39\x32\xd1\x95\xc4\xa6\x04\x62\xc4\xe9\x2a\xe8\x65\xdd\xe9\x64\x1c\xbd\xfd\xe5\xe4\xd7\x87\x9f\xff\xa6\x93\xd9\xb8\x5c\x12\x7d\x08\x36\xb8\xe6\x74\xd1\xfd\x08\x7b\xbf\x78\x2f\x7f\x6f\x2e\xc9\x16\x11\x61\xe5\xf6\xf5\x66\x44\x43\x3f\x53\x36\x58\xbd\x86\x57\xa1\xc9\x99\x65\x5b\x5e\x5b\xab\x50\xd3\x0c\x2b\xe2\xca\x6c\x4e\x8f\xad\x30\x80\x8b\x93\x5b\x64\xea\x55\x2a\x68\x93\x25\xdd\x4e\x01\x2d\xfb\x08\x0c\x5b\x50\x08\x73\xb9\x01\x52\xfd\xb2\xe9\x66\xe4\xed\x6e\xbf\x09\x65\xd9\x83\xf5\xde\x7f\x9f\xaf\x9e\xbc\x1c\xa1\x5e\x50\xc9\x97\x79\x00\xdd\x12\x61\x74\x57\x2c\xa9\x82\x39\x17\xda\x54\xbb\x90\x72\x3e\x2a\xdd\x81\x94\x73\x1d\x71\x72\x09\x20\xa1\x2e\x25\x08\x84\xa3\x00\x56\xfb\x8c\xf2\x46\xd4\x41\x68\xf1\x89\x5a\xd8\xe3\x71\x65\x7f\x96\xb1\xd6\xd8\xdc\xb5\x23\xa2\xbb\xdc\x94\x9b\x41\xa6\x17\xd8\x45\xfd\x35\xf3\x38\x95\x2d\xa2\x39\xa5\x04\x5f\xd0\xed\x69\x32\x00\x83\x75\xa7\xc8\x47\x31\xda\xf4\xde\x3d\xdb\xa9\xa4\xc8\x00\x0c\x36\x2a\x68\xab\xec\xfd\xcc\xb3\x1f\xb6\xfc\x7a\x8f\x4a\x8d\x8a\xc0\x3a\x18\xe2\xc0\x87\xc4\x1d\x22\xc6\x13\x0d\xd4\xf8\x02\x0c\xac\x67\x78\x02\xeb\x5d\x90\x05\xf9\x31\xaf\x73\xb3\xc0\xf0\x32\xf3\x79\x29\x6e\xcc\x00\x0c\x96\x42\x67\xdf\x86\x13\xf3\xcf\xcb\xe7\x1f\x9f\x86\xe8\xa3\x4e\x6d\x33\x28\xa8\x43\x92\x30\x84\xc4\x8d\x08\x1e\xa2\x00\xc6\x95\x82\x8c\x7f\x66\xbd\xd1\x3f\x2b\x51\x43\xb3\xb1\x66\x8c\x61\xec\xdb\x48\x23\xcd\xf0\xbf\x2c\x8f\x0a\xeb\xaa\x08\xac\x35\xa7\x87\x67\x3f\xa3\xc3\x87\xd7\x07\xd3\x7c\x68\xd2\x3e\x7b\x7d\xf4\x7a\xdf\xfa\x35\x81\x64\x6a\x81\xd0\xe7\x07\xb2\x2c\x3a\x86\x96\x58\x9e\xa5\x96\xd7\x29\x81\xbe\x21\xc4\x0b\x60\x5a\x26\xec\xd7\x1e\xe6\xd3\x3f\x76\x7f\x89\x7f\xdd\xa9\x0f\x24\x64\xa4\x6e\x62\xa1\x25\x01\x21\xe1\xc9\x53\x6a\x2a\xad\x49\xf3\x5b\xed\x3d\x13\x33\x95\x2e\x6c\xfe\x85\x39\x44\xa6\x77\xa1\x7f\x80\xca\xaa\x48\xdd\xe7\x83\xe9\x07\xe4\x7f\xc0\x61\x30\x9d\xab\x19\xf6\x89\xf1\x7b\xc3\xc3\xaa\x47\xac\xcf\x01\xf6\xa7\x85\xd5\x71\x69\xd5\x4b\xa5\x95\x88\xff\x69\x7f\x8b\xa0\x89\xb2\xa8\x34\x21\xa6\x02\x26\x0d\xa1\x57\x5a\xd9\xb6\x63\xc7\x1e\x8e\x98\x9d\x4e\xf0\x75\x41\x05\xeb\x39\xe7\x1c\xb2\x25\x7b\xbf\xd4\x99\x6f\x68\x39\x98\x3e\xf7\x5f\x73\x10\x2f\xd6\x9e\x43\xbb\xa2\xa9\xc9\x59\xd0\xcb\xe9\x0d\xcd\x62\x09\x45\x35\xd2\xb1\x05\x7d\x6b\xfa\x24\x04\xde\x98\x09\x7a\x4a\x80\x77\xe9\x02\x42\xc0\xb4\x29\xb7\x97\x6c\xe2\xf6\x3c\x07\x87\x3c\x9b\xfc\x1b\x70\x5b\x1e\xe2\x57\xd3\x70\xfc\xd3\xc3\x6a\x77\x54\xba\x94\x65\xc6\xd9\x35\x4d\xaf\xb7\x82\x30\xf6\x82\x1a\x5f\xb6\xd6\x65\x92\xc0\x86\x87\xc3\x10\x7a\x74\xdd\x49\xe1\x6d\xfc\xe2\xf9\x30\xfc\xf5\x4d\x13\x52\x98\xcb\xec\x10\xa6\x9d\x73\x6e\x7f\x06\x91\xc1\x58\x28\x89\xad\xd2\x38\xae\x87\x43\x2a\x4a\xd4\x55\x49\xa8\xbc\x88\x3c\x14\x10\xb7\x28\xb6\xa6\x38\x21\x96\x4a\xa2\xb2\x50\x18\x53\x10\x7a\xb0\x9a\xdd\xeb\xf6\xf3\x2b\x7c\xcd\xda\x5b\x1e\x08\x2d\x2f\xeb\x92\xa9\x3b\xf0\x13\xe2\x79\xbf\xe5\xae\x3b\x0d\xb9\x58\x9d\xe0\xd6\x20\x10\x53\x18\x55\xc9\xed\x5e\x5e\x2b\xe0\x13\x1b\xe2\x20\xc0\xd7\x6c\x66\x48\x3c\x38\x7c\xf1\x9c\x4d\xba\x30\x7f\x11\x41\x36\xcf\xd5\xe0\xed\x2b\x6e\xe7\x66\xf6\x5c\xb5\x23\x61\xc6\xa2\x65\x8a\x54\x35\x79\xf5\x2a\x73\x09\x62\xe8\xe1\xd0\x37\x66\x13\x68\xdb\x9b\x67\x93\x57\xd9\x12\x87\x38\xa4\x28\x4c\x20\x83\xd5\x2b\xf8\x89\x5a\xa7\x14\x46\x73\x30\x21\x46\xef\x2e\x45\x81\x48\x03\x0b\x29\xfc\x44\x5d\xb1\xf1\xe6\xf3\xc1\x95\x59\xc8\x52\xd9\x12\x27\xd8\x20\x58\x77\xb6\x34\xfe\xfc\xf6\xcf\xa7\xdb\x87\x3f\xaf\x8e\x2d\xf9\xf8\x3a\x0c\x30\xf0\xef\x86\x37\x3d\x17\x60\xe7\xbb\x30\x65\x1e\x87\x2f\x9e\x37\x63\x49\x3f\x21\x12\x53\x87\x71\xa5\xf7\xdf\x05\x81\x15\x42\xe8\x33\x32\x45\x15\x9d\xfe\x45\xcc\xe8\x20\x9c\xe2\x10\x5a\x49\x9c\xe3\x90\x14\x5b\xa2\xac\x9e\x35\x24\x78\xc2\xe6\x8a\x88\xc5\x33\x9a\x29\xcf\x69\xe4\xab\x89\xf5\xe5\x20\x6a\x05\xd8\x03\x41\x30\xed\x58\x67\x63\x68\x0d\x60\x80\xaf\x25\x70\x90\x3c\x01\x83\x70\x18\x5b\xa3\x04\xf9\x90\xf3\x6a\x3a\x26\x38\x19\x8d\x2d\x3a\x06\xd4\x1a\x62\x62\x5d\x01\x82\x70\x12\x5b\x58\xd4\x39\x0b\x47\x56\x3c\x8d\x29\x9c\x70\x13\xd5\x9c\x6a\x97\x22\xae\x67\x42\x9c\x96\x91\x6b\x6c\xd9\x80\x7d\x1a\xfd\x6c\xe6\x40\x81\xc6\xb4\x24\x54\x3a\x13\x10\x26\x20\xa8\xe2\x5e\x2f\xf9\x5b\x05\x42\x91\x06\x5d\x99\xb9\x33\xe7\xc8\x63\x3c\x81\x03\x02\xaf\xab\xc6\x7e\x26\xdf\x5b\x38\xb4\x5e\x9f\x5a\xbf\x2f\x6d\xe0\x00\x85\xc9\xa7\xaa\x51\x5f\xa4\x2f\x4b\x19\x3a\x86\x8c\xe1\x92\x02\xba\xdd\x44\x01\xad\xa1\x8b\xdf\x20\x41\xc3\x29\xdf\x7a\x79\xa0\x57\x12\x56\x6e\xab\x0c\x29\x24\xaa\xa1\xbe\x5d\x1c\xeb\x4a\x75\x0c\x68\xa9\x77\xbe\x6f\xa0\x6f\x0d\xa6\x8c\xb0\x43\xd6\x10\xf0\x0b\x94\x28\x24\x13\x14\x82\xc0\x92\x49\xfb\xdc\x4b\x43\xc4\xc9\x28\xd6\x8b\xc4\x81\x87\x27\x13\xf6\x46\x2d\xc9\xc3\x7e\x4e\xb7\xbf\x36\x10\x79\x91\x99\x14\x28\x7e\x47\x47\x26\x1c\x72\x54\x8a\x25\xb8\x59\x6f\x33\x7d\xce\xa5\xe0\x82\x3e\xb9\x6d\xa7\xeb\x94\xfb\xac\x9b\xf5\x56\x33\x72\x98\x31\x2a\xe3\x82\x09\x8d\x92\xdc\x60\x49\x0c\x46\x70\xdf\x52\x63\x5a\xe7\xaa\xb6\xf0\x85\x75\xee\x8e\x61\x10\xb1\x7f\x41\x42\x31\xb3\x46\x02\x48\xa1\xdb\x4a\xc2\xb6\x44\xe2\x85\xf5\xef\x12\x05\xdf\x5b\xe7\xff\x0e\xc8\x28\xfe\xfe\x42\x4c\xe8\x10\x4f\x26\x38\x54\x08\x8a\xf7\x25\x6c\x78\xcd\x64\x65\x4e\xf3\x82\x96\x12\xe1\x72\x50\xe8\x5b\xaa\xea\xa8\x60\xaf\xe2\x72\xc6\x8e\x6c\x2e\x19\xaf\xf8\x9f\x28\xb2\x6a\x01\x4b\x14\x2e\x4d\x1b\x8a\x8f\x3b\x9d\x8e\x09\x7e\x55\x04\xfc\x7c\xc8\xf9\xee\x08\x52\x0b\xa8\x78\x13\x27\xd9\x79\x48\xcb\xf2\x70\x12\xf8\xfc\x7a\xaf\x01\x14\x37\x7c\x39\x42\x75\xaf\xea\xe5\xcd\xc1\xd9\xb3\x5c\x0f\x5a\x29\x6b\x4b\x55\xc0\xb2\xae\x41\x2c\x01\xc0\xba\x8e\x21\xb5\x92\xc8\x8a\xb8\xb6\xc2\x64\xca\x4b\x70\x09\xad\x38\x21\x50\xcc\x78\xbe\x01\xd3\x41\x98\x06\x00\x50\x18\xf3\x4d\x2a\xea\xc5\x63\x32\xb5\xae\xc7\x90\x08\x99\x24\x71\x0e\x7d\x39\x17\xb5\xc5\x8b\x1b\xea\x5b\xd3\xa2\x95\x61\xbb\x3c\x3d\xba\xc2\x6b\xaf\x6b\xd4\x91\x1f\x6f\x50\x30\x70\x43\x70\x95\x4b\x99\x34\x1f\xb8\xf0\x70\x34\x65\x48\x72\x05\x3a\xe7\x52\xba\x53\xa9\xb7\x7c\xa5\x7b\xc3\x1b\x63\x0f\xb3\xb7\xe6\x1b\x4f\xd6\x48\xff\xf6\x3f\x45\x57\x13\xfc\xc7\x76\x41\xff\x2e\x25\xeb\x1e\xa6\x2b\xb2\x50\x6c\x01\x6b\x48\x20\xe4\xc2\x87\xc9\x27\x57\xde\xf0\x1e\x01\xef\x12\x8c\xa0\x35\x01\x21\x18\x41\xbe\x57\x85\x36\xc6\x55\xb5\x77\x28\xf4\xf1\xb5\x8c\x1d\x54\xe7\xa1\x6c\x1a\x04\x0d\x87\xa7\xab\x4c\x9a\x3a\x31\xd3\x4c\xc8\x14\xfa\xcb\xd6\xca\x5f\xa4\x0a\x6a\x9d\xc0\xa9\x3c\xaf\x54\xb5\x5f\x43\x4c\x2b\x5d\xf4\x35\xf9\xe5\x03\xbd\xcd\x2b\x4c\xe1\x7e\x8e\x4d\x69\x78\x61\xd8\xc8\x59\x08\x0a\x1d\x80\xc0\x2c\xd9\x9a\x12\xcc\x33\xc7\xd2\x3e\x43\x9c\xe7\xd5\x82\xc5\x05\x53\x6b\x02\x10\xe7\x7c\x42\x0f\x79\x06\xe2\x31\x3a\xc4\x24\xe2\xba\xba\x9c\xa4\x28\xc1\xab\x84\x94\x85\x87\x9a\xc3\x24\xb6\x40\x70\x0d\xa6\xb1\x05\xae\x00\x0a\x38\x2b\x1d\xb0\x4e\x4b\xfa\xab\x51\x53\x37\xba\xff\x6e\xbf\xdb\xb5\x9d\xd9\x6c\xe3\x97\xaf\xe9\xa9\xed\x3e\x55\xa1\xd7\x7c\xdb\xff\xfc\x70\x77\x1c\x1c\x3d\x1e\xcf\xda\xf6\xa9\xca\xbf\xe8\xa6\x7f\x09\x3c\x6e\x2b\x74\x2c\xdd\x32\xc6\xc3\x21\xf2\x10\x08\xf8\x18\x29\xc9\x0c\x31\x99\x24\x01\x48\xed\xc7\x54\xdb\x5d\x84\x65\xb0\x59\x2f\x91\x63\xe4\xbb\xd3\x62\x57\x1c\x38\x72\x69\x63\xb6\x47\x3c\x4c\xa2\x0d\x0a\xa2\x8d\xbf\x80\x7b\x94\xf8\xc5\xeb\xb3\xe3\x3c\xbf\x38\x1b\xa3\x58\xcd\x97\xa1\x34\x46\x23\xbe\xc1\x51\x08\x64\xcc\x97\x61\x3a\xa1\x78\x02\x28\xe2\xb6\xb9\x95\x44\x3e\xa0\xd0\xb7\xae\x11\x1d\x5b\xf0\x0a\x92\x29\xd7\x4c\x15\x0e\x2d\x59\x9e\xbb\xb1\xba\xa3\x13\xd9\x19\x96\xdd\x2b\xcf\xa5\xe0\x28\x0e\xb3\x69\x16\xc2\x78\x12\x8d\x08\xf0\x2b\xb3\xee\xe6\xc5\x78\xda\x5d\x01\xe3\xf2\xf9\x42\x18\x5f\x3a\x4f\x53\x4c\x67\x25\xaa\x8c\xb0\xcd\xd7\x9c\x9d\xfd\x32\xc4\xdb\x8f\xc8\x90\xd4\xb0\xb3\x54\x7e\xa5\x84\xab\x89\xb8\x98\x53\x3e\xdb\x0b\xb1\xe2\x67\x31\x67\x5f\x79\x9f\x3b\x77\x45\x58\x3e\x8a\x29\x41\x83\x84\xfb\xa6\x0c\x56\x73\x99\x4a\x9b\x1e\xcb\xee\xce\xe5\x30\xe9\x24\x83\x24\xa4\x49\x15\xa9\xbf\xe5\x6f\x37\x8e\xe0\x00\x01\xa3\x8f\x68\xe1\x71\x3d\x18\x52\x5c\x99\xab\x73\x08\x43\xfa\xfa\x74\xe3\xe4\xd9\xf1\x8b\xa5\x8e\x3a\x84\x3e\x26\xa0\x6a\xd4\x9f\xb2\xb7\xcb\x1a\x10\x4c\xc0\x67\x5c\x79\x34\xf1\x80\xbf\xb5\x2a\xbc\x53\x95\xfc\xbd\x69\x12\x5c\xfe\xbc\xfa\x1c\x46\xd1\x62\x2c\x44\xac\x78\x65\xfc\x63\x43\xc2\x72\xcd\xd9\xc8\xc3\xab\x3f\x7f\x39\xeb\x3d\x2a\x1e\x48\xcf\xf9\x43\xa4\xa8\xaf\xf2\x23\x4c\x93\x89\x2b\x6f\x7f\x14\x0a\x51\x2e\x47\x85\x49\x39\xf1\x58\x78\x23\xd2\x9b\x31\x11\x6c\xc6\x49\x74\x79\x27\x60\xea\xb2\x11\x25\xb0\xdd\x84\xa2\xa0\x72\x63\xce\x21\xfb\xaa\xbb\xce\x56\x1a\x27\x3e\xb6\xa6\xc9\x24\xd5\x7e\xdc\x29\xfb\xa9\x7d\x38\x87\xce\xa3\x83\xf8\x6d\x0c\x6f\x01\x5e\xe0\xfb\x39\x15\x33\x33\x5c\x24\xfb\xce\x6e\x23\xbd\x0d\xc4\xc5\x24\x96\x0b\x6a\xd5\x67\x19\xc6\x85\x35\x5b\xae\x0b\x7c\xdf\x65\x2b\xb1\xd4\x81\x62\x12\x4d\xd4\x45\x29\x71\x27\x55\x4b\x3a\x1e\x9e\x6c\x08\x56\xc5\x57\xbf\x91\xbd\x61\xad\x6f\x83\x26\xb9\x13\x96\x40\xb6\x2b\x21\x58\x23\xa9\xba\xd3\x39\x6d\xfb\xa5\xeb\x6a\x3a\x3b\x5c\x21\xbf\x95\x22\x7a\xcd\xf9\xed\x8b\x87\xff\xf1\xd3\xe1\xef\x07\xbf\x7c\x1b\xfc\x96\xc1\x74\x25\xdc\xb6\xaa\xe3\xff\xaf\x79\x6d\x0a\x94\xa5\x71\xda\x52\x8f\xcb\xe6\xb3\x4c\xe5\x5d\x03\x06\x5b\x24\xa7\x15\x50\xe8\x5a\x33\x57\xc1\xfb\x56\xc8\x5c\xa5\x25\xb2\xe6\xcc\xf5\xcf\x3f\xdf\x61\x1f\x8f\x7f\xbd\x05\x73\xf5\xc3\xa1\x75\x47\xcc\x55\xc0\xd4\x8d\x82\x64\x84\xc2\xd8\xf5\x30\x59\x86\x0f\xc7\xd8\x6b\x81\x74\xd9\x22\x35\xb6\xea\x87\xc3\xf2\xf7\x2b\xe0\xae\xb3\x61\xbb\x4a\xee\x2a\x01\xb3\x34\xde\x5a\xe8\xcf\x00\xe2\x5b\x71\x56\xd1\xfd\x1a\xf0\x56\xb9\xce\xe5\x71\xd6\x62\x87\x06\xc8\xad\x0b\x5f\x15\x53\x5d\x21\x5f\x95\xfe\xac\x35\xe7\xab\xf0\xea\xd1\xd6\x30\x8e\x9e\xd4\xf0\xd5\x03\xb9\x73\xb3\x0d\x2b\x89\x61\x4b\xe0\x5d\xab\x03\x05\x22\x5a\x45\xf4\xa3\x28\xb7\x93\x9e\xbe\x79\x6a\x5d\xc2\xdc\x11\x99\xb9\xc9\x57\x40\xd8\xf5\x12\xb2\x0c\xda\xcd\xf5\xa6\xc5\x50\x13\x12\x58\xee\x30\x3e\x7d\x61\x35\x5b\xa5\xf5\xd5\xe2\xc4\x0e\x22\xea\x5e\xc2\x29\x67\x7c\xee\x6d\x76\xf7\xc1\x0a\x39\xa7\x5c\x34\x9b\xab\xe2\x60\xa2\xa7\xb9\x00\xba\xcd\x4f\x65\xc9\xa3\xa3\xf6\xe6\x6c\x20\x9b\xc6\x2b\xf0\x8a\xf2\x27\xd6\xfb\xf7\xb6\x0f\x07\xd6\x39\x20\xde\xb8\x0f\x26\xfe\xee\xf6\x45\x03\x9c\x58\xff\x68\x05\xf1\xe0\x83\x7c\x69\xb9\x5e\xdc\xe6\x9e\xf2\xf7\xef\xed\x5b\x49\x43\x11\xe8\xe1\x31\xa6\x05\xd9\xaf\x04\x06\x5b\x2e\x87\xc8\x08\xd6\x27\x9d\xcd\x45\xc7\xf9\x5e\x0d\xc0\x1d\xf1\x04\x23\xbe\x88\x07\x0f\xac\xdc\xe3\xb5\x60\xd0\x62\x1d\x2b\x61\xd0\x32\x29\x75\xcd\x59\x33\x19\xfd\x3c\x18\x9c\xfa\xf1\xac\xa8\xf6\x59\x96\xe2\x91\x06\x9f\xc5\x0a\x83\xa9\x63\x0d\x91\x48\xa4\x28\x27\x97\x17\x8b\xf8\x55\xb0\xb4\x14\xa4\xb5\x85\xfb\x40\x14\x11\x1c\x11\xc4\xc8\x49\xc5\xd0\x4d\xf1\x8b\x21\x26\x42\xbf\x96\x51\x75\xb6\x7f\x54\x4e\xbb\x85\x68\x27\x97\x72\x21\x3b\xf2\x2d\x10\x5b\xc0\xfa\x8c\x22\x8b\x6d\x7d\x74\x05\x3b\x96\x48\x45\x55\x2d\x73\xb9\xa8\x7c\x9c\x24\x64\x9f\xf3\x24\x37\xf9\x0d\xcf\x1d\x94\xad\x9f\xf3\xee\x09\xf4\xf0\x64\x02\x43\xf6\x4a\xe5\xd4\x59\x13\x7c\x05\x73\x69\xe0\x40\x4b\x93\x43\xe1\x7c\x79\x77\x7c\x2a\xac\x8f\x20\x90\xc7\x73\x28\xb6\xe0\x27\xe8\x25\x14\x5a\x48\x26\x3f\x82\x70\x9a\x0d\x51\x9d\x1c\x50\x4c\xae\xc7\xc4\x82\x9f\xc0\x24\x0a\xf2\x39\x34\x0d\x4a\x14\xce\x4a\x16\xfd\x87\x35\xb9\xb2\xfe\xe7\xc6\x91\x04\x5c\x9c\x92\x80\xb5\x91\xc4\x64\x83\x67\xb9\x6f\x0c\x50\xb8\x61\x1a\xb7\x90\xe5\x32\x77\x71\xc0\xca\xed\xba\x0a\x4e\xa0\xa4\xc2\xba\xb3\x82\x4f\x7b\xc7\x4f\xf7\x9e\xfd\xb6\xc2\xe3\x6e\xff\xc2\xe7\x4a\xac\x2b\x04\xb2\xd4\x1f\x4c\x2c\x60\xcc\xdb\x2a\x8d\x6d\xa6\xee\x86\x19\x2e\xff\xfa\xa7\x4f\xea\x12\xac\x15\x4a\x3c\x3c\x89\x50\xa0\xa1\x43\xcb\xf6\xe6\xd3\x82\xc0\x77\xac\x18\x42\x8e\x34\xbb\x54\xa3\x5a\x2f\x31\x6b\x2e\x2f\x5b\x2b\x94\x7c\xec\xf1\x8b\x65\x4c\x07\x4b\x2a\x0f\x08\xdc\xf6\x30\x4d\xb3\xea\xf5\xb3\xcb\xbe\xde\xc5\x61\x9a\xc6\x23\x2f\xfb\x30\x4d\xe3\x81\xb5\xdc\xe3\xaa\x0c\x8d\x2c\x67\x14\x87\x2a\x2d\x77\x69\xe3\xaf\xf2\x30\xcf\xce\xdf\x87\x79\x96\x72\x98\x67\xf7\xef\xc3\x3c\x7f\x1f\xe6\xf9\xfb\x30\xcf\x37\x74\x98\x67\xeb\x2f\x38\xcc\x33\xff\x79\xf8\xbc\xed\xf2\x17\x9c\xe6\x51\xe6\xc9\x52\x4d\x1f\x51\x4e\x60\xcd\x0d\x9e\xdd\x97\xc7\xaf\x9e\x3e\x7c\x5b\x74\x4b\x2f\xd1\xe0\xf1\xc6\xd0\xbb\x74\x3d\x44\xbc\x00\x56\x95\x06\x5c\x81\xe5\x73\xca\xa0\x5f\x50\xf7\x9b\x59\x3d\x7f\x30\x73\x87\x40\x2b\xc4\xd7\x16\x81\xc0\x9f\x32\xea\x8e\x0d\xdd\x71\x7b\x47\x56\xd3\xf8\x8b\xac\x9a\x33\x32\xe5\xd5\xd6\xd8\xb4\xb8\xfc\x88\x45\xbe\x7d\x3e\x01\x59\x4a\x9a\xa2\xfb\xa2\x2e\xcf\x55\x4a\x77\xd6\xb7\x2b\x3a\x5e\x8a\x64\xcf\xf5\x57\x16\x18\x99\x80\x2b\x7e\x38\xa7\xa8\x37\x88\xaf\x31\xb8\x82\xdc\x05\x24\xe1\xc4\x9e\xc5\x63\x2e\x94\xa4\x5d\x34\xb1\xe4\x05\x73\x01\xba\x84\xfc\x42\xd2\x4a\x88\x2d\xa2\x4d\x30\x28\x7d\xb5\xf4\xff\x3d\x3f\xca\xfd\xfc\x6a\xbd\x7b\x7d\xf2\xcb\xe9\x9b\x83\xc3\x63\xeb\xab\xf5\xe4\xed\xf3\x17\x47\xc7\x27\xbc\xc9\xe9\xd9\xc1\xc9\xd9\xf1\x91\xe8\xe0\xf0\xf5\xcb\x37\x2f\x8e\xcf\x8e\x8f\xde\xbf\x0f\x5d\xd7\x75\x1f\xba\x35\xff\x7b\x68\xfc\xfb\x61\xe5\x37\xae\xeb\xf2\x45\xfe\xdf\xff\xf3\xbf\xad\xaf\xd6\x66\xf7\xf8\xd9\x6f\x4f\xff\x78\xb2\xfb\xa8\x7b\xfc\xe6\x64\xfb\xf0\xe7\x93\x83\xdf\x7f\x3b\xfb\xe3\xc9\xe9\x23\xeb\xab\x25\x29\x81\x4f\x2a\x02\xde\xa5\x58\xc2\x63\x6b\x8c\x13\x12\x5b\x60\x84\xf3\xbf\xcc\xbe\xed\x75\x39\xdb\x5a\x79\xdb\x4c\x7a\xb9\x5e\xe5\x06\xf8\x09\x85\x28\x1e\x5b\xa7\x90\x26\x0b\xc8\xbe\xbc\xf4\x5a\xb4\x14\x0c\x67\x4f\xb7\x97\x5e\xda\x4d\x82\xeb\x2d\xb6\xa6\x1f\x27\xbb\x4f\xd0\xe7\x63\x5d\x6c\x69\x06\x5f\xb7\x71\x8e\xfc\x82\xb9\xf0\x29\xa0\x96\x08\xf3\x0d\xe9\x71\x89\x37\x54\x5d\xa0\xf5\xc6\xc1\xf0\x70\x70\xe8\xbd\x39\xfc\xbd\xfa\x9e\x42\xbd\xfa\xa1\x3d\xc4\x64\xd2\x91\x4b\xfc\x20\xfa\x2d\xd6\xa9\xcf\x5f\x30\x54\x7d\x55\x61\xe9\xca\x81\xb2\xaf\x81\x6d\xb1\x57\xaa\x2e\x71\x14\x24\x8d\x12\x2e\x33\xa6\xa2\x26\xd6\x48\xd7\x50\x4b\x6e\xba\xcc\x19\x7a\x42\x55\x58\xb4\xeb\xf0\xce\xd9\xdf\x82\x85\xf1\x6b\xbf\xe5\x93\x6d\xe7\x7c\x6b\x8f\xdf\x18\x65\xc7\xc9\x60\x82\x98\xe2\x29\xef\x77\x89\xc1\x15\xa3\x83\xff\x10\x7a\x7c\xa6\x7b\x19\x54\x0b\x09\x00\x3b\xe2\x9a\xab\x3d\x44\x50\xc9\x5f\x3e\x20\x2f\xa4\x57\x0d\x14\xf1\xb9\x8c\x82\xe6\x66\xf8\x13\x7b\x73\x0a\x4d\xda\x9b\x01\xf8\xb9\x56\xc6\x26\xd9\x98\x01\x18\x88\x2b\xc9\xd8\xb4\x87\xe2\xae\x45\xb1\x56\x57\x95\xa5\xd6\x3a\x65\x1d\x2a\xaa\x30\x74\x2a\xbb\x9d\x8d\x50\xf5\x93\x0d\xf1\x41\x4d\xc1\x74\x3d\x96\xb1\x86\x68\xde\x43\xb6\x23\x65\x52\xb7\x3c\xf3\x1e\x43\x45\x00\x3c\x38\xe6\x85\xb5\x6d\xc7\x9e\x4c\xdd\x10\x5e\xbb\x91\x42\xa7\xf8\x86\xc0\x8f\x09\x22\xd0\xb7\x1d\x11\x69\xdf\x75\xb2\x4b\x89\x54\x49\x4c\xd1\xe7\x45\x9e\x54\x50\xc8\x74\x14\xfd\xc6\xcd\x73\x9b\x02\x32\x82\x54\x5c\x81\x9c\xbd\x7a\xa4\x6e\x10\xba\x70\x44\x97\x1d\x39\xc9\xfc\xd6\x55\x30\x38\xb7\x7f\xa4\xd3\x48\xec\x3e\x0a\x3f\x51\x63\x39\xf0\x79\x6b\xae\x56\x95\x9f\xff\x4b\x29\x70\xb3\x86\xc2\x44\x12\x2c\x27\x19\x77\x84\x28\x77\x19\xb9\x02\x1c\x75\xf4\xb7\xc9\x09\xcf\xf8\x5e\x27\x9c\xbd\x9a\xeb\x01\xf4\x0b\x5b\xd8\xc8\x3c\xf1\xcd\x78\x63\x4b\xb1\xef\x06\xd4\x2f\xfe\xf9\x30\x42\x74\x06\xed\x57\x52\xbf\xbe\x8c\xc7\x0d\xdd\xf8\x8b\x4f\x92\x81\x5d\x42\xbd\x7a\x9e\x26\x37\x76\xa3\xfd\xdb\x55\x11\x7e\x1b\x10\x04\x5c\x9f\xdf\xb4\x3e\x80\xfe\x60\x6a\x57\x23\x5f\xdb\x83\xde\x18\x84\xa3\x8a\x9d\x26\x9a\x3f\x45\xda\x1e\xed\x76\xb5\xbb\xbc\xb2\xf7\x17\xa5\x3d\xa8\x6d\x45\x6e\x82\x73\xf6\xf0\xa3\xa8\xb1\x6c\x6a\xaf\x4f\x76\xe6\xc5\x8a\x8b\x21\x82\xcf\x63\x80\x3f\xcd\x64\x99\x66\x64\x34\xe1\x16\xc6\x07\x12\x51\x7a\x61\x31\xee\xda\xe3\x5a\x5f\xc6\xa8\x94\x0d\xe0\x28\x11\xda\xc0\xe2\x9d\xbd\xfe\xca\xbb\x26\xe7\xad\x77\x93\xbb\x7e\x58\xdd\x1b\x3c\x20\x10\xf8\x1e\x49\x26\x4c\x0d\x15\x9f\xa4\x57\x11\xf3\x7b\x0e\x22\x3f\xde\x90\x6c\xde\x8e\x90\x77\xc9\x56\x07\x8b\x17\x31\x89\xcf\x32\x0a\x15\xbf\x15\xba\x04\x57\x13\x77\x13\xcb\x57\x6a\x51\x73\x68\xca\x45\xf5\x76\x25\x9a\xf3\x37\x71\xab\x42\xb0\xf7\xec\xe8\xd1\xc6\xab\x3f\x6a\x2e\xf8\x96\xfa\x5a\x5c\x22\x9b\xfc\x2d\xae\xfa\xad\x83\x75\x37\xd3\xc4\x89\xe7\xc1\x38\xae\xf2\x28\x2d\x70\x37\x4d\x6f\xc6\xdd\x34\x4d\xbc\x7e\xe6\x68\x59\x42\xc7\x30\xa4\xc8\xe3\xc5\x23\xe4\xc4\x87\x49\x10\x4c\x53\x77\x5b\x6d\x22\x43\xbd\xdb\x4d\xee\xb9\x26\x16\x04\xbf\xb0\x3f\x33\x21\x24\x42\x52\xd8\xac\xcc\x9a\xd0\x71\x5f\xa5\xe7\x98\xae\x9d\xb2\xf3\x97\xfb\x06\x30\x1c\xa9\x0b\xb2\xce\xd3\xea\xf2\x79\x9e\xb5\xad\xaa\xd2\xe7\xbe\xb7\x33\xed\x32\x2c\x5c\x2e\x9f\xbf\xdf\x97\xfd\xef\x15\xb6\x14\x68\x2c\x41\xf3\xbe\x35\x85\x34\x7f\xc7\x6b\xb3\x42\xee\x26\xa5\x58\xaa\x55\x9c\x4b\x9d\x6a\xe5\x79\xa5\x83\xc6\xc9\x18\x79\xce\x57\xa3\x78\x70\xdc\x49\x4b\xec\xa6\xf1\x0e\xab\xf1\x1d\x37\xbd\xfc\x24\x04\xcf\xfb\xf0\xa1\x34\x97\xb0\x68\x67\x96\xe8\xfc\xbf\xfe\x33\x0f\xf8\xdd\xc6\x96\x62\x8d\xac\x98\x75\xf1\xbd\x9a\xbb\x0f\x23\x02\xc5\x05\xf1\xee\x00\x88\xc2\xf8\x9a\x8a\xee\xd8\x3f\x7a\x38\xe0\x96\x53\xe6\xb4\x47\x61\x80\x42\xf6\x2e\x84\x09\x25\x80\x19\x10\x28\x1c\xe2\x99\x64\xbf\x97\x16\xfe\x3f\x13\x2b\x99\xe7\x9a\xf5\x3c\x78\x98\x2c\x53\xe0\xe9\x94\xd7\x30\x07\xa8\x8a\x53\x3b\xe2\x2a\x5a\xa4\xf2\x36\x9a\x4f\x50\xdf\xd3\xfa\x8c\x7c\xbd\xc3\x2a\xfb\x62\xbe\xd5\xe5\xbb\x34\xe9\x49\xfa\x8c\xcc\xd6\x49\x6a\x26\xe4\x83\x32\x12\xcf\x6f\x70\x8c\x78\xf7\x4c\x05\x12\x42\xff\xc7\xb1\xf2\xfb\x17\x23\x72\x94\x00\x14\x88\x9b\x0b\x74\x5b\x71\xd6\x2a\xf4\x0b\xf7\xb2\x0c\x23\x1f\xc5\x5e\x12\x17\xd3\x5f\xe9\x46\xda\x41\x38\x72\x53\x7e\x8b\x89\x3b\xc6\xd7\x2e\x72\x03\x08\x48\x08\x7d\x97\x62\x37\xc0\x57\xd0\x05\x51\x14\x6f\x6c\x6f\xee\xed\xed\xdd\xc2\xb8\xac\xd8\x57\xbd\xba\x1a\x4b\x05\x96\xab\x5d\xf8\x91\xf3\x79\x6d\x36\xba\xf2\x43\x53\x4f\xe7\x2f\x0e\xdc\x2d\x97\xca\x75\xb4\x5b\xda\x4d\xfc\x50\xf1\x76\xbe\x19\xb6\x32\xc1\x26\x6e\x00\x9e\x7d\x99\xba\xbe\x05\xf2\x77\x8d\x54\x58\x47\x45\xa7\x9c\x9d\x5d\x14\x56\x69\x8b\x96\x46\x9a\x40\x0a\x66\xd9\xcc\x85\xdb\x4f\xcb\xcb\x2b\xeb\x05\x85\x3b\x57\x8a\x56\x9e\x91\x80\x9a\xe4\x20\xf1\x27\x5b\x9a\xa4\xd4\xe0\xb1\x3d\x1f\xc3\xc9\x05\xfb\x78\xba\x01\xe0\xa1\xc9\x4c\xea\x52\x6c\xf9\x28\x8e\x02\x30\x65\x82\xb7\x53\x4f\x1e\xf5\x52\xb2\x2a\xca\xcf\xdf\x8a\xdc\x89\x21\x22\x31\x55\x83\x5b\x6c\x42\x33\xd2\xfd\xaa\xd4\xbc\x80\x33\x18\x8a\xae\x60\x30\x75\xd2\x0b\x15\x48\x12\xe6\xc0\x2f\x17\x52\xac\x22\xcc\x58\x98\x90\x50\x9c\x59\x4d\x22\x3a\x75\x51\xc8\xcc\x64\x9b\x92\xa4\xfe\x08\x68\x9e\x68\xf2\xe1\x49\xad\xa7\x0b\x43\x74\x32\x7d\x51\xa6\x14\xb3\xc5\x9a\x96\xa4\x6b\x9e\x72\x8b\x89\x35\xc1\x04\x5a\xcc\x18\xb3\x46\x90\x8a\xf4\x50\xa6\x6e\x40\xdf\xb1\x08\x1c\x42\xa2\x8a\x9e\x69\x00\xda\x6d\x9c\xc7\xb9\x21\xfb\x74\x65\x9f\xb5\x79\x9d\xa9\xa6\x5d\x9d\xe0\xd9\x80\x9b\x96\xf7\x5e\xee\xb2\x9e\x03\x5b\x57\x39\x8d\xd6\x2e\xbf\x83\xbc\x60\xb0\xe6\x4c\xdd\x28\x48\x08\x08\xd0\x67\x55\x0b\xd6\xa3\x20\x15\x5d\xb6\x63\x8f\xfd\x78\x83\xdf\x96\x29\xff\x66\xaf\x36\x62\x0a\x42\x1f\x04\x98\xeb\x39\xa6\x0b\x82\x1c\x75\x73\x4c\x96\x81\xc2\x1a\xe7\x32\x57\x38\xc1\xc4\x54\xe8\x98\xc5\x58\xde\xdc\x39\xf9\x55\x16\xed\x4a\x6c\xe5\x4c\x14\xac\xb5\xb5\x1c\x3d\xee\xfd\xf9\x78\x0b\xe0\xea\x3b\x08\x8d\xb9\x9c\xf6\x1c\x17\x0a\xe5\xdc\x2c\x65\xaf\xca\x6d\x63\x84\x25\x90\xaf\x12\x9d\x1b\x20\x8a\xd6\x1d\xa5\xef\x3e\x3f\x79\xfe\xf2\x30\x44\x35\x91\x43\x69\x95\x82\x28\x0a\x90\xd0\x29\x85\xc3\x2b\xfd\x75\x51\x8a\x17\x2a\x03\x38\xc3\xf8\xb9\x56\x33\x2d\xf5\x79\x8a\xf8\x86\xcd\x0f\x9c\x12\x18\xd2\x13\x26\x18\x85\x9d\x7f\xe1\xd4\xa8\x4c\x1d\x10\x45\x1d\x9e\x3b\x92\x6a\xb4\x4b\xef\x5e\xa5\xa1\x09\x37\xd6\xca\x86\x11\xa9\xa2\x8c\x9f\xc7\xda\xdf\x1d\x02\x45\x46\xe9\xea\xd7\x57\x1c\x29\x1d\x50\x6d\xed\xed\xaa\x50\x6e\x1a\xcc\x58\xa6\x03\xa6\xf0\xa1\x7b\x4d\x40\x14\x19\x1d\x60\x55\x11\xe0\x46\xe4\x6a\xd6\x30\xcb\xf7\x24\x48\xc8\xb2\xad\x9b\x57\xea\x63\x5b\xdb\x1a\x29\xa8\x15\xf0\x15\x86\xd2\x17\xa7\xd7\x88\x7a\x63\x48\xce\x38\xca\x4e\x64\x57\x61\xb3\xcf\x5f\xca\x01\x2f\x4c\xde\x32\xcd\xfd\x88\x62\xd1\x0e\x85\xa3\x77\x69\xf6\x48\xc1\x49\x64\x00\x74\x3a\xaa\x1b\xab\xe6\x2e\x0a\x7d\x06\x2e\xc3\x1d\xda\x65\xbb\x62\xb7\x78\xff\xb0\x1e\xf1\x92\x27\x15\x67\x05\xbc\xfe\xeb\x3f\x6b\xe2\x19\x8f\x52\xfb\x96\x11\x6e\x36\xc9\x2c\x45\xa6\x61\xc4\xb7\xec\x72\x6c\xee\x0c\xcb\x81\x0c\x88\x83\x45\x15\x6e\x3f\x03\xd7\xdb\xd3\xa8\x25\x2a\x27\x00\xc8\xaf\x1e\x6b\x5f\xa9\x93\xa9\x4c\xe7\x51\xfe\xc0\xf2\x16\xcd\x79\x13\xb3\x20\x58\x8a\x8f\x1c\xdd\x9b\x79\xb9\x89\xac\x52\xe7\xa2\xe6\xc5\x34\x4d\xa8\x6a\x0a\xf9\xfc\x45\xd9\xce\xb4\x38\xa3\xa9\x5b\xa1\xb9\x96\xbd\xa7\x39\x77\x39\xb3\x86\x5c\x92\x84\xee\x18\x95\x72\x53\x4d\x98\x91\x53\x91\x89\x8d\xb9\x45\xc9\x57\x1a\x6f\x36\x60\xc1\xbc\xad\x72\x46\x22\x96\x7e\x58\xdd\x5e\x53\x67\xf2\xb9\x3d\xc2\x9f\xcb\x12\xec\xd9\x68\xbc\x76\x72\x31\xdf\xd1\x60\xcf\xf7\x6a\x4d\x31\x06\x06\x37\x3d\xeb\xd9\xd4\x18\xab\x32\xc7\x72\xbd\x99\x0c\x32\xfd\x9d\x69\xd6\x4d\x90\x3a\x37\x14\x39\xa4\x0a\x19\xb6\x34\xfd\x1e\x88\xfc\x52\x47\x03\xad\x38\xa0\x23\x1a\x7f\x6b\x10\x4e\xa2\x79\x81\xab\x3b\x56\xcc\xac\x30\xff\x5d\xd5\x37\x45\x65\xbe\xe0\x4f\xaa\xf7\x9f\x18\x1c\x2e\x65\x1f\x59\x3c\xc3\x49\x56\xd4\x95\xb4\x20\xfc\x4e\xa5\x8e\x9a\x31\xda\x86\x5a\x81\xe0\xae\x0d\x43\x12\xbb\x99\x5b\x9f\x82\x81\x6b\x0c\xbd\x25\x51\xc5\xf9\x62\xa3\x88\x0b\xc1\x55\x6e\x8d\xf3\x39\xd4\x6f\x0f\x5f\xc5\x0a\xbf\x09\xd0\x8e\xc1\x64\x52\xe1\xb7\xac\x00\x6d\x9a\xc2\x7e\xb7\x50\xcd\xe4\xe6\x37\x01\xd7\x51\x80\x07\x70\x1e\xb0\x6a\xf2\xfd\x6e\x01\x1b\xe0\xd1\xb7\x02\x54\x9c\x50\x21\x35\x9a\x83\x95\xaf\xee\xee\x69\x55\x18\x83\xdf\x0a\x5c\x07\xf8\xd3\x7c\xa4\xaa\x96\x77\xd7\x80\x85\x9f\xa0\xf7\x8d\xc0\x54\x9d\x69\x76\x63\x8f\x40\x18\xce\x03\x5f\xbe\xca\xc5\x22\xe6\x05\xd3\x4c\x3f\x40\xf0\xa8\xc9\x91\xf1\x9c\x23\xbb\xce\x75\x0d\x42\x99\x3e\xe5\xc2\x8f\x25\xdf\x75\xd1\x14\xe6\x0f\xf3\xce\x6e\xaa\xa5\x35\xa3\xd8\x25\x70\x82\x29\x74\x93\x28\x02\x03\x3e\x88\x48\xcc\x92\x06\xe2\x46\x12\x31\xcb\x81\x2b\xf8\x4a\xb7\x73\x13\x12\x18\x1c\xd4\x55\x07\x2d\x53\xff\xf7\xb2\x3d\x9f\x1b\x8c\x2e\x57\xec\xfd\xdc\x10\x4e\xba\x35\xf7\x81\x4e\xde\x84\x7f\x00\x38\xdc\x6c\x78\x7a\xe2\x89\x58\x93\x6d\x5d\xd9\xe9\x1e\x8d\xe1\xc7\x04\xf2\x7b\xcb\xcb\x59\x9f\x79\x3f\xf8\x76\xd9\x15\xca\x9d\x02\xfc\x70\xf8\x81\x3c\x73\x97\x6e\x7f\x3d\x79\xb4\x18\xbf\xd4\x59\x92\x3a\xac\xc7\x7d\x2f\xe9\x5c\x94\x79\x6b\x9e\x27\xdf\xf7\x9a\x27\xc3\x10\x63\x2e\x3b\xc4\xf4\xce\xcd\x9d\x1a\x98\x45\xdd\xf1\xc0\xcc\x82\x1f\x11\xe4\x5b\xec\x3f\xae\x8b\xaf\x20\xb9\x42\xf0\xda\xa5\x68\x02\x95\xbd\x55\x99\x00\xa7\x3b\xa0\x50\x7c\xfc\x29\x02\xa1\xcf\x77\xe3\x85\x73\xce\x19\x81\x58\x2a\xdb\xe5\xc2\x15\x35\xc0\xfe\x34\x5d\xb1\xc1\xcb\xa4\x4e\xe8\xab\x69\x74\x54\x53\x8d\xdd\xa6\x28\x99\x99\xe9\xa1\x82\x6b\x29\x92\xce\x64\x96\xab\xc0\xb0\x23\x09\x6a\x1e\xcb\x91\x56\xfb\xe5\xb4\x8f\xc6\xd2\xb8\xb4\x63\x0f\xf3\xec\xa2\x7c\x96\x40\x93\x85\xc7\x14\xd0\x24\xae\x3a\x2f\x63\x18\xb3\x2a\x45\xbf\x08\xa0\xc7\x1a\x80\x64\xed\x9d\xcc\x45\xd5\x33\xd2\x51\x85\x53\x6f\xe6\x8b\xea\x1c\x66\x53\xd2\xaf\xe6\xf1\xca\x88\xaf\xca\xd1\xb5\x32\xca\x53\x43\x37\xa5\xbc\x4a\xef\x5b\x9a\x81\x62\x58\x54\x75\xce\xc7\x0c\xe9\x5c\xe9\x2c\xe8\x15\x80\x99\x87\x92\x9a\x54\x63\x70\x70\xe6\xc5\x35\xe1\x66\x70\xa8\xf0\xdc\xfc\x07\x1e\x3c\xf7\x75\x18\xc8\x07\x0d\xb9\x55\x21\x46\xae\x53\xab\x51\xcd\xf0\x70\xe8\x01\xca\x3d\x86\xec\xbf\xe2\x20\x14\x08\x61\x90\xe9\x19\x4a\x3d\x10\xd6\xbe\x48\x89\x94\xfa\x1d\x6b\x22\x76\x1d\x0f\xae\x10\xea\x4e\x20\x05\x2e\x95\xea\x45\x3a\xba\x2b\x3f\x4a\x3d\xf5\x4a\xd6\x0a\x35\x27\x45\xb3\xde\x44\xd8\x14\xb7\x55\x1a\xc4\x40\x77\xa3\x3a\xac\xfd\x05\x18\x1b\x2f\xc3\xa7\x3f\xbd\xde\xae\x89\x9f\x0a\xf6\x5e\x36\x39\x0a\xcc\x46\x3f\xd9\x5f\x94\xf4\xbd\x9c\xda\x1e\x40\xd7\x55\x8c\xc2\x0d\x50\x4c\x6b\xf3\x46\x0a\xe9\xca\x1e\x0e\x46\x04\x27\xe5\x8a\x06\x85\x8f\xec\x2c\x3c\xe4\xf6\x36\x76\xb2\xcf\x8d\x99\x59\xe5\x36\xdd\xbf\xbe\x8d\x41\x1c\x64\xa2\x11\x02\xb3\xa4\x9a\x29\x61\x0b\xd2\x35\x2f\x4a\xb7\xf2\xac\x2b\xee\x70\x74\x75\x08\xbe\xce\x12\xf9\x6b\x24\xe9\x22\x7d\x37\x91\xd0\x8b\xf4\x9b\x39\x22\x97\xdf\x77\x44\xf0\x15\x9a\x01\x8d\x2a\xec\x55\x20\x54\x49\x92\xea\x94\xd0\x1d\x4d\x8f\xdf\x29\x07\x80\x4a\xd1\x35\x1b\x31\xbd\xb9\x14\x9d\x28\x0b\x7e\xc5\x77\x7f\x9c\x00\x11\x98\x3c\xd2\x41\x27\x15\x9a\xd2\x99\xb2\x74\xe8\xec\xeb\x37\x00\x91\x58\xa9\xfe\x3d\xb3\x55\x61\x0a\xd5\xf5\x9a\x84\x34\x67\xc5\x5f\xca\xba\xeb\xfc\x69\x91\x33\xd0\xae\x65\x68\x75\x98\x6c\x72\xbb\xd5\x04\x70\xfb\xce\x7b\x35\xc9\xda\x65\x1d\xb4\x2a\x95\x51\x21\x77\x09\xb9\x8c\x2a\x61\xa5\x1c\xd9\xc9\xde\x34\xcd\x66\xb4\x17\x02\xc9\x56\xf5\xc1\xf7\xda\x08\x52\x39\x87\xab\x3b\xab\xac\x43\xa6\x2f\xa9\xc5\x55\xbb\x64\x94\x6e\x43\x2b\x93\xff\x40\x14\xb9\x88\xc2\x49\xaa\xe3\x88\xbc\x97\xfa\x94\xbf\x95\x78\x4c\xa4\x5a\xb2\x72\xed\x27\x1f\xeb\x5a\x6b\x15\xe8\xea\xf8\x38\xde\xfd\xf8\xcb\xa8\x46\x05\x3a\xaa\x89\x6a\x15\xbd\x22\xbd\x3b\x4e\xad\xca\xb3\x40\xe5\x91\xd8\x61\xe3\xef\x64\xd2\x63\x3b\xb3\xd7\xd5\xe4\xb4\xfe\x9f\x4c\x9f\xc2\x30\x35\x0b\x32\x11\xa2\xb9\x34\x26\x30\x4c\xdc\x6b\x44\xc7\x2e\xb7\x05\xf8\xfe\xaa\x38\x32\xa6\x67\x5e\xd4\x0f\x64\x4a\x89\xb0\x13\x4d\x41\x8a\x91\x0f\x07\x80\x58\x42\x4d\xac\x13\x8f\xbb\x9a\x78\xdc\xd5\x50\x30\x73\x95\xd9\x62\xd3\x97\xcf\x8f\xb8\xe4\x9c\xd1\x7b\xaf\x90\x62\x51\x29\x81\xb5\xcc\x8d\x47\xda\xcc\x50\x7c\x3a\xe6\x21\xff\x23\x18\x53\x82\xa7\x22\x81\xba\x48\x46\x5b\x4c\x8e\x52\x99\x52\xbf\x5d\x93\x41\x53\x16\xf2\xba\x13\x47\x53\x87\x1c\xfb\x47\xe1\xd1\x55\xd2\x7d\x2b\x93\xd8\xf9\x94\x91\xcd\x9a\xe4\x1a\x45\x7b\x5b\xda\xdf\x9a\x20\xd7\xd6\xbc\xad\xad\x79\x0c\xe2\x97\x98\xc0\xdc\x7e\x2a\xe7\x0f\x55\x42\x67\xc6\xf2\x15\x05\x05\x28\xa3\x20\x5f\x35\x77\xb5\xb5\xb9\x43\x14\x98\xca\x3b\x95\xbb\xaa\x2e\x14\x61\x70\x5c\x70\x57\xab\x38\x8f\xcf\xcf\xd6\xdb\x5e\xc0\x8f\x49\xa7\xe5\x53\xc6\xf8\xda\xb8\x1c\x9e\xaa\x87\x27\x91\xf4\x80\x6a\x07\x11\x99\xdc\x76\xec\xd1\x18\xc7\xcd\x4e\xd2\x97\x85\x2b\x9f\xbb\x90\xae\x39\x8e\x22\x0e\x7a\x7c\xf0\xb3\xf9\x54\x24\xa1\xd5\xc9\x71\x83\xb2\x66\x4e\x52\xab\xfc\xac\x22\x03\xab\x59\x6e\x46\x0e\x57\x95\xe7\x5b\xb4\x65\xeb\x47\x5c\xc4\xed\xda\x28\xb6\x40\x14\x59\x53\x68\x3e\x8e\xd1\x3c\xa5\x47\xe6\xea\x98\x8e\x9f\x14\xd6\xb6\xdd\x40\x6f\x4b\x3d\x2b\x8d\xb3\x72\xea\x95\x37\xd9\x9f\x49\x7b\xd3\x5e\x99\xbd\x92\xd5\xa8\x9f\x71\x28\xa5\x36\x74\x56\x95\xc9\x98\xab\x83\x22\x44\x4d\x85\x9d\xab\xeb\x73\xbb\x4d\x82\x6c\x06\x32\x34\xd3\x65\x57\x4c\xd0\x46\xf1\x2b\x4c\x4f\xa4\xc0\x7d\x03\x46\x4c\x2d\x13\xee\x07\xc7\xce\x19\x98\x46\xe5\x50\xf8\xcf\xd2\x50\x9d\x16\xbe\x33\x6b\x89\xdc\xd3\x96\xaa\x8a\x39\x8e\x5d\x2a\x97\x20\x4b\x32\xfc\x55\x5a\xa4\xce\x49\xee\x50\x95\xcc\x01\x65\xbd\xb5\xca\x77\xbf\x5f\x5e\x7d\xda\x3a\x18\x37\x0c\xca\x1d\xe9\xd8\x9e\x2f\x32\x67\xe7\xc5\xed\xdd\xa7\xf6\x2f\x16\xd9\xcb\xa1\x72\xb1\xf0\x5e\x8e\x57\xc8\xf2\x8b\x26\xef\x60\xc1\x55\x19\x11\xc8\xd3\xda\xd4\x1e\x7e\xab\xee\x22\x2b\x6b\x13\x5a\x09\x81\xee\xae\xb3\xeb\x14\x75\xc0\xea\xee\x34\xad\xa8\xb6\x66\x72\xfa\xa4\x78\xc2\xab\x91\xe8\xd3\x20\xd1\x2d\xbb\x1a\x1e\xcd\x31\xcb\x99\xda\x4d\x5d\x8d\xa8\xf2\x39\xef\xea\x00\x58\xb3\xe8\x4c\x71\xf4\xc7\xb7\x8b\xe1\x56\x38\xdf\x56\x1c\xd8\xcd\xa5\xb2\x2f\x1e\x5f\x13\xba\xe4\xed\x42\xbb\x95\xc1\xa5\x99\xd1\x5d\xdd\x1b\x38\x97\x1a\x52\x1b\xe4\x9d\x3f\xcc\x5b\x0b\x85\xa6\x71\xde\xc6\x91\x5e\xa3\x32\x6a\x0c\xf6\x76\x6b\x83\xbd\x35\xe1\xde\xda\x48\x70\x75\x0d\xb1\x05\x83\xbe\x77\x44\x97\xf3\x07\x7e\x2b\x55\xe3\x45\x42\xbf\x0b\x06\x7f\x75\x37\x8e\x62\x28\x9c\xa2\x4e\x78\x08\x93\xd1\xa4\x4a\xbd\x7b\x21\x03\x56\x85\xa3\x20\x69\xd4\xb3\xb2\xc5\x45\xc1\x15\xd0\xd5\xfd\x08\xf9\xc3\x1b\x5b\xfa\x93\x86\xa7\x65\x1a\x06\xa7\x35\x9c\x19\x64\xfa\xcc\x38\xb5\x46\x6c\xbd\xca\xca\x40\xa5\x39\x3e\xca\x19\x3c\x69\x8a\x66\x39\x13\xd1\xb1\x7f\xbc\x46\x74\xfc\x12\x90\x11\xd2\xb2\x29\x6e\xad\xaa\x64\x40\xdf\xab\x90\x19\x12\xc8\xcc\xda\x12\xb4\xef\x81\xb4\x08\x4b\x85\x99\x5d\x32\xb4\x67\x80\x36\x7b\x28\xa2\xe1\xae\x3e\x84\x3d\xa6\x93\xe0\x14\x0c\xa1\x32\xfa\xcd\x06\x57\x53\x0a\xcf\xa3\x6a\x6b\x05\xa8\xca\x7c\x47\x73\x9f\xd4\x34\x63\x43\xdb\x48\xa6\xb0\xd1\x4a\x50\xa2\x52\x1a\x73\xf8\x70\x23\x02\x87\xe8\xd3\xbc\x68\xc9\x81\xf1\x71\x65\xba\xad\xdd\x3c\xe5\xde\x36\x31\x99\xa2\x86\x3c\xdb\x1d\x64\x69\x52\x6f\x90\x39\xc6\x06\xc0\x1f\x41\x8b\xff\xd7\x75\x51\x38\xc4\xea\x6f\x79\x47\x8c\x2e\x1e\xaf\x24\x58\xeb\x51\x55\x2d\x74\xeb\xbd\x08\xcd\xd9\x76\xa3\x6f\x99\xca\xed\x6c\x55\x25\x42\x2f\x85\x5f\x2e\x92\xd2\xd3\xdb\x5c\x72\x4a\x8f\x31\xdb\xb8\x57\x5b\x9d\xa0\x22\x25\x28\x5b\xd9\x89\xb6\xe5\x25\x96\x4f\xb4\xa4\xf3\xfa\x7c\x21\xee\xe0\xd0\x32\x93\x73\x29\x43\xc5\x32\x50\x30\x1c\x62\xe2\x41\x37\x22\x98\x62\x0f\xb3\x69\x04\xf8\x1a\x12\x4f\x10\x56\x3e\x69\x59\xe5\x1b\xe9\x84\x77\xfb\x84\xa3\x9c\x87\x45\x4b\x38\xd2\xf2\x9e\x52\x56\x91\xf6\xa7\x9c\x35\x59\x86\x73\x21\x3f\xe9\x0e\x5c\x2e\xda\xdf\x7f\x91\xf7\x65\x43\x63\xe6\x6b\xed\x86\xf1\x4f\xdf\xbe\xbc\x7e\xf6\xe6\xaa\x99\x1b\x46\xed\x46\x75\xb0\xdd\xb6\xbe\x5a\x27\xe5\x43\x17\xc6\xcc\xe8\xbd\x5c\x71\xf9\x62\xb5\x01\x63\xce\x74\x00\xa8\x28\xba\xde\xe4\x1c\x44\xc9\x2c\x9d\xaf\xb0\x7c\x7e\x65\x26\x63\xb8\xba\x1e\x64\x4e\x86\x74\xcb\x9d\x8a\xb2\xb7\x55\x9d\x2e\xe3\x68\x7a\x55\xf8\xa0\xea\x6c\xe7\xb6\x41\x8d\xa9\x36\xd8\x9a\x1c\xbe\x48\xb9\x5c\xfe\xc4\x05\xaf\xe0\x33\xc4\xc4\xd5\x37\xbd\x1a\xd1\xf5\x21\x05\x28\x58\xd9\xe6\x4f\x77\xe1\xca\xb9\x80\x3c\xff\xb3\xd6\x5b\x7d\x0b\x7e\x7c\xf3\x1a\x3f\xfd\xb5\x26\x8e\x7f\x6c\x3a\xe0\x93\x3f\x14\x6c\x8c\x99\xe6\x65\xb5\x56\x49\x80\x87\x7e\xc4\x0a\x73\x72\xd4\x28\xcb\x9b\x90\x99\x38\x82\x74\x6b\x7a\x61\xdd\xac\x9c\x28\xe4\x01\xc6\xb5\x26\x8a\x83\x57\xaf\xa7\xa7\xc7\xcf\x86\x35\x44\xf1\xc2\x74\x52\xb1\x92\x28\x08\xfc\x98\xa7\x85\x8f\x09\x8c\x2b\x6a\x1e\xd6\x66\x62\x57\x05\x8d\xf0\xc8\x8d\x29\x81\x60\xb2\x04\x32\x10\x7a\xea\x8a\xc9\xe0\x1b\xb9\x8f\xfb\x70\x8a\xa6\xdb\xc3\x3f\xe3\x86\x01\x99\x93\x54\xd5\x5c\xec\x9c\xd4\x0a\x02\x32\x55\x25\x8f\x16\x8d\xc0\x94\xcc\xcc\x46\xe1\x17\x3b\x5f\xb4\x47\xdc\x7b\x76\x3a\xc6\xd7\x6f\x4f\x5e\xd4\x39\x1d\xeb\x83\x28\x49\x93\xa0\x89\xac\xaa\x7f\xdb\x90\x49\xb3\x80\x49\x71\x46\x33\xee\x9e\x58\x4e\x78\xa4\xa9\x19\xbc\xf2\xd0\xc5\xe3\xe5\x78\x88\x37\x97\x79\x28\xcd\x70\x30\xa8\x26\x6e\xa1\x36\x70\x13\x37\x49\xa3\x90\xc5\xdc\x01\x8b\xba\xc5\xaf\xec\x60\x5a\x2e\xb8\x33\x67\xb0\xa2\x26\x1e\x71\xd7\x27\xd3\x56\x47\x7f\xb7\x3a\x9a\xb6\xf5\x57\x1c\x4d\x2b\xc3\xaf\x36\xd4\x60\xae\x6f\x55\x06\x6d\x53\x0f\x58\x06\xc3\xa2\x00\x6a\xe8\x03\xab\x49\x7e\x2a\x39\x98\x2f\x9a\x47\x60\xe6\x17\x97\x8d\xbc\xc8\x76\xd5\x26\x2e\xaf\x7e\x61\x37\xfe\x3c\x1b\xc7\xe0\xda\x5f\x2e\x36\x17\x3a\x9f\xb8\xb3\x32\x67\xa6\x39\x5f\x7f\x69\x45\x14\xee\xc0\x5b\xb9\x0c\xdf\xa4\x56\x96\x2b\x73\x4c\x96\xbd\x91\x77\xe4\x7b\x5c\xda\x9d\xd6\xcd\xc6\xf9\x66\xbc\x8b\x87\xd1\x94\xfc\x7e\xb4\xfb\xf0\x6f\xef\xe2\xdf\xde\xc5\x6f\xd8\xbb\x58\xdc\x76\x77\xb5\xcf\xd7\xde\x7b\xb4\xb7\x7b\xf8\x24\xfc\xe9\xb8\x5b\xe3\x3d\x3a\xa9\x2a\x1f\x56\x50\xd9\xb4\x92\xa1\x7f\x9f\x90\xfe\x57\x38\x21\xad\x10\xba\x9a\x33\xd2\x85\xde\x97\x78\x4a\xba\xd0\xf3\x92\xcf\x49\x17\x7a\x5f\xab\x93\xd2\x7a\xd5\x5e\xf3\x49\xad\x99\x67\xa5\x33\xb5\x6c\xfe\xd3\xd2\xb2\xed\xbf\xf4\x79\xe9\x02\xfa\x97\x7d\x62\x7a\x56\xf7\xcb\x39\x33\x3d\x77\x49\xdc\x8c\x73\x95\x0f\xde\x2c\x5a\x73\x78\xde\x93\xd3\xb3\x40\xb3\xc0\xd9\xe9\x5c\x8e\x48\x36\xd7\xa5\x1c\x84\xce\x60\x3c\xfb\x28\xf4\xd2\x14\x9c\xbb\x88\x85\x64\x05\x28\xd7\x5a\xb3\xf1\x7f\x7b\x7b\x74\x7d\xfd\x5b\xcd\x8d\xfb\xb6\xc1\x34\xa9\x52\x6d\x32\x37\x4e\xd9\xf5\x64\xb6\x5e\xf4\x52\x96\xe7\xe5\x8e\x6a\x8b\xba\x17\xba\x6d\x7a\x54\xb0\x9a\xc1\x6c\x6b\xbb\x28\xe7\xdb\x59\x12\x03\x9b\xa3\xff\xd9\x1c\xac\xc9\x05\x56\x77\x52\xf5\xa1\xa2\x9e\x77\x33\xc6\x35\x07\x48\x6e\xc7\xb9\xea\xf8\x55\xc1\x9f\xc2\xe3\x49\xa1\xcf\x6f\xb7\xce\xf3\x23\xba\x12\x9e\x94\x3a\x51\x57\xcb\x94\xd6\x9e\x17\xfd\x71\xf8\x62\xe3\xc9\xd6\x59\x32\xfb\x0e\x9f\xd4\xbf\xd0\x30\x58\x9f\xbb\xef\x25\xbb\x29\x70\xdd\xbc\x20\x6a\xa9\xfa\xbd\x0e\x5a\x9d\xdc\xb2\x5b\x3f\x5f\x45\xb7\x6a\x77\x54\x5e\x89\xbb\x75\xd1\xf4\x4a\xdc\x34\xca\x36\xe3\x6e\x5c\xe5\x77\x8f\xc5\x8d\x70\xb1\x5d\x04\x86\x3c\xc3\xde\xfc\xc6\xdc\xed\x8b\x39\x6f\xcc\x4d\x87\x36\xdf\x9a\xfb\x12\x84\x60\x04\x2d\xf5\xd5\x2c\x06\x52\xa4\xad\x19\xb5\x20\x8c\x18\x2b\x99\x19\xa1\xf9\xba\xce\x47\x73\x08\xb0\x72\x65\x87\xb9\xd3\xcb\xed\xd4\xde\x50\x84\x3a\x43\x40\x94\x76\x45\x93\xdb\x3a\x1f\x17\xb6\xa1\x5d\xbc\x72\xa9\x22\x3e\xb6\x94\xeb\x3a\x7b\x75\xbb\xb0\xc2\xc0\x6c\x78\x44\xb0\x92\x6a\x7a\x17\xa5\x13\x3e\x5d\xdd\x01\xac\x6f\x6e\x51\x7f\xe3\x79\x88\xe8\xcf\x78\x20\x63\x04\x7c\x97\x6c\xa6\x70\x99\xab\x59\x77\xb1\x66\xbd\xc5\x9a\x6d\x2d\xd6\x6c\xa7\xb0\x1b\x4c\xb1\xc9\x39\xea\x3e\x54\xc4\x14\xb3\xeb\x1f\x6b\x02\xde\xb5\xe6\xb1\x8e\xc1\x46\x0b\xdb\x5e\xfe\x8a\x76\x96\xba\xa2\xdb\x4e\xaa\xae\xb8\x86\xce\xf5\x2c\x14\x8a\x8a\x1a\xea\x52\xd7\xaa\xaa\x1a\xa6\x4e\x4d\x35\x35\xb4\xce\x9d\x42\x45\x0d\x3b\x77\x63\xe9\x4c\x8d\x78\xbe\x2b\x5d\xeb\x55\xe2\xf9\x2f\x75\xad\x3b\xff\xd2\xa0\x86\xc6\xb2\xae\x76\x55\x37\xb9\xff\xb5\x57\xbb\xce\xe0\xaa\xc5\x6b\x7d\x0c\xc1\xe0\xc7\x0b\x9c\x71\x61\x82\xaf\xc2\x16\x68\x7c\xff\x6b\x3e\xcc\xbb\xe0\x3d\xaf\xdc\xf2\xe0\x87\x4b\x78\xe0\x39\x6f\x68\xa4\x95\xf9\x43\xc4\x2f\x03\x0b\x45\x28\x3f\xf7\x18\x12\xc2\x9b\xd7\x5f\x11\xbb\xa2\x50\xf0\x6a\xad\x15\x4d\x7d\x5c\x6b\x8b\x05\xbc\x79\xf7\xe9\x29\xfe\xe3\xa4\xfa\x22\xd9\x92\xf5\xa1\xab\xa7\x2b\xb2\x3f\xec\x37\x92\xed\x9e\xa6\x63\x35\xa8\x75\x53\x1d\xe6\x6c\x76\x8b\xbc\x5d\x0a\x62\xd9\x04\x0b\x37\x20\x18\x54\x18\x14\x0d\xad\x88\x0e\xd3\x15\x63\xc4\x91\x9d\x26\x9c\xaa\x0d\x5d\xaf\xbc\x3e\x45\xd4\x3a\xc9\x5a\x1b\x19\xce\xea\xe6\x8d\xc2\x28\xa1\x2e\xb7\x99\x06\x01\x8c\xe7\x9d\xfc\x73\xd6\xdc\xfa\x2d\x6d\x7e\xc7\xb3\xf7\x70\x38\x44\xa3\xc5\xa7\x7f\xc8\xdb\xd7\xcd\xbf\xda\xcc\xda\xd5\xcb\xc6\x35\x64\xf2\x05\xb6\x9e\x71\xf2\x8a\x2b\x49\x96\xcf\x18\x53\xd0\xdd\x05\x73\xdc\x30\xe0\x67\xad\xb9\xe5\x2f\xfe\xb8\x77\xbd\xd7\x3b\xad\xe7\x96\xe9\x72\xa4\xb7\xa3\xa8\xf7\xea\xf4\x97\xff\xf6\x22\xab\x69\xa9\xdd\x4d\x6a\xf4\x1f\x67\x94\x22\x25\x6a\x11\x96\x1b\x32\xdc\xbe\x0c\x6a\x28\x21\xea\x6e\xc8\xa3\xcc\x7c\xd6\x9a\x3a\xbc\xdf\xbb\x9f\x4f\x36\x0f\x7f\xab\xa7\x8e\x4a\x62\x68\x8c\xe9\x02\x58\x96\x8a\xe8\x42\xdf\x77\x83\xe7\x9c\x70\x5c\x6b\x14\x4f\x0f\x27\x87\x4f\xdf\x3c\x7d\xb8\x34\x14\x97\xb1\x0c\xa2\xc8\x1d\x62\x32\x51\x60\x72\x33\xe8\xb8\x9a\xea\xb5\x14\x6c\x67\x5d\x37\x43\xf4\xbd\x26\x88\x5e\xfb\x7d\xfa\xfc\xcf\x5f\xbb\x83\xdf\x8f\xf2\xe7\xa7\x36\x1d\x1b\xc4\xc8\x2f\xab\xa8\x99\x7e\xb2\x99\x39\x72\xab\x6a\xa0\x35\xd1\x57\xf8\xf1\x4a\xa9\x68\xcc\x74\x21\x6b\xf9\xce\xea\x6e\xb7\xb4\xa3\x0f\x2a\x6d\xae\x14\x67\x33\x1f\x5b\xe8\x6e\xe5\x29\x2d\xd3\x23\xe6\x63\x1f\x0b\x73\x85\x84\xa2\x20\xde\x10\xa8\x71\xd5\xed\x76\x79\x6a\x61\x96\xdf\xc4\x76\x8a\x6d\xd2\xab\xf0\xe8\x18\x72\x33\x24\x47\x3b\x4e\xb8\x10\xf5\x28\x1a\x11\x5d\xf7\xb3\x1e\xdb\x5f\x02\x48\x2d\xd4\xff\x32\xc4\x21\xfd\x09\x4c\x50\x30\xdd\xb7\x13\xe4\x4e\x70\x88\x39\x04\x9c\x97\x30\x0c\xb0\x93\xfe\xb6\x1d\xf6\xe5\x3b\xc8\x8c\xea\x7d\x7b\x7b\x73\xd3\x76\x02\x14\xc2\x67\xe2\x41\xb7\xb3\xcd\xdf\x9f\xa2\xcf\x70\xbf\xdb\xd3\xbe\x7d\x82\x03\x7f\xdf\x7e\xc4\xbe\xe7\x0b\xdb\x0f\x15\x04\x3b\xdc\x40\xbf\xb9\x77\x8d\x42\x1f\x5f\x77\x78\x8a\xce\x4b\xe8\x23\xd0\xb2\x5b\x11\xf7\x8a\xc4\xae\x87\x03\x4c\xdc\xd8\xe3\x2d\x2d\x1f\x90\xcb\xb6\xdd\x16\x9f\xc2\xf8\xc1\x83\x16\xea\xf0\x4e\xfb\x59\xa7\xfc\x9b\x7b\x50\x68\xf5\x47\x28\x66\x3c\xde\xff\xa1\x85\x3a\xbe\xf8\xfb\x94\xfa\x28\xec\xdf\xdf\x74\x50\xc7\x4b\x48\x8c\xc9\x13\x46\x23\xfd\xfb\xdd\xf4\xc1\x29\x9d\x06\xb0\x6f\x0f\x00\xb1\xd3\x67\xef\x90\x4f\xc7\x7d\xf6\x0d\x1f\x2f\x1b\x59\xbe\xef\xab\x9f\x03\xe0\x5d\x8e\x08\x4e\x42\xbf\xdd\xde\x6f\x15\xc6\xd8\x6c\x30\x46\xaf\x7d\x8f\x40\x9a\x90\xd0\x0a\xe1\xb5\x45\x3b\x0a\x77\x2d\xd4\xbe\xa9\xa1\x38\xf8\x09\x7a\xee\x35\x1c\xc4\xd8\xbb\x84\xd4\x05\xbe\x8f\xc3\x3c\xd9\x81\x30\x46\x02\x9e\xb1\x46\x7c\x6e\x34\x50\x24\x29\x1a\xb9\x80\x52\xe1\x2b\x29\x8c\x70\x09\xa7\x9c\xd7\x8d\x02\x34\x99\x30\x6e\x47\x80\x77\x29\x4e\x21\x14\x28\xd5\x41\x0e\x71\x70\xfb\x0b\xe3\x55\x81\x03\x9c\xf8\x9e\x7a\x6f\x25\xea\x8b\xf6\x97\xf0\xc1\x83\x2a\x82\xa6\xce\x17\x18\x26\x13\x48\x18\xc2\xf6\xc3\x4e\xf6\xc3\x11\x5a\x5a\xa2\xde\xe8\x3f\x9d\x6b\x82\xa8\x7c\xae\xfe\x74\xc4\x6e\x08\x3b\x28\x44\x14\x71\x4f\x11\xf9\x21\xf7\xab\xe3\x81\x80\x01\x77\x5f\x30\xd8\x9b\xf6\x4d\x3a\x59\x4f\x6d\x3c\x89\x10\x6a\xa1\xd0\x82\x3f\xd4\xcc\x5a\x8e\xe6\x68\xb3\xbf\xbf\x99\x9f\xf3\xfd\xcd\x6c\x9e\x6c\x93\xee\xc3\x73\x7a\xd1\x0f\x1d\x98\x8d\x1b\x65\x60\x14\x40\xc4\xfd\x2f\x37\x8a\x2a\xe4\xe8\x0c\x1b\x2d\xd4\xee\x0c\x31\x39\x06\xde\xb8\xd5\xd2\xb7\x36\x3e\x87\x17\x7d\x74\x0e\x2f\x18\xc1\x60\x0d\x7c\xfd\xfb\xf7\xf5\x9f\x0e\xce\x01\x90\xbf\xcd\x41\xb4\x65\xf3\x15\xd9\x28\xb4\xf0\xd7\xaf\x58\x87\x5b\xfb\xc1\x83\x16\x4e\xe1\xdc\xbf\xbf\xd9\x76\x70\x3f\xec\xc4\x01\xf2\x60\xab\xdd\x21\xf0\x0a\x92\x58\xfc\xe5\x27\x1e\xd4\x26\xc8\xb1\x2f\x57\x83\x24\x88\xbf\x7e\x0d\x6f\xda\x0e\x6e\x3b\xe4\xc1\x03\x81\x88\xfb\xfd\x7e\x6e\x3c\x3e\x1c\x9f\x4d\xfe\xf9\x0f\xb8\x8c\x4d\xa2\xb0\xe9\xe4\x5e\x4a\x19\xda\x76\xc4\xbf\xfd\xf2\x08\xd5\xa8\xc5\x7c\x79\x49\x10\xb4\x1d\x7c\xb3\x00\x23\x3e\xfe\x04\xbd\x77\x70\x70\xca\xb7\xe7\x01\xdb\x68\x4a\xa2\x7b\x38\x8c\xa9\xe5\xf7\xed\xf7\x03\xeb\xfd\xc0\x76\x86\xfd\x8d\xf3\xf7\x9f\x36\x37\xdd\xf7\x9f\xba\x3f\x5d\x6c\x8c\xee\x31\x46\x3d\xe8\xb7\x82\xbe\x17\x80\x38\xb6\x44\xde\x43\x6c\xa1\xce\x01\xdf\xa9\xbc\xb3\x2f\xbc\x17\x92\x30\x1d\x40\xa8\x1a\x71\x12\x41\xf1\xa7\xe3\xb5\xe8\x18\xc5\x8e\xfd\x41\x30\x07\xdb\x51\x70\x48\x5f\xe4\x6a\x21\x94\x5f\x0f\x90\x8f\x88\x38\x27\xc3\x84\x59\xb9\x39\x8a\x23\x1c\x2b\x03\xe6\x22\x7b\x03\x43\x0f\x73\xf3\x5e\x35\x49\xe4\x8b\x4c\x32\x02\x87\x3d\xc9\xde\x78\x78\x32\xe1\x75\x97\x63\xf9\x82\xfd\xb7\x23\xa7\xde\x87\xf2\xa7\x3e\xe1\x3e\xfd\xa1\xa3\xff\x16\x9f\xc8\x7e\xfa\xb6\x9d\xeb\xa1\x33\x40\x21\x20\xd3\xb3\x69\x04\xfb\xa2\x3c\xd0\x20\x19\x0e\xd9\x14\xc5\x57\xb9\xa5\xf6\xef\xb7\xe8\x83\x07\xf7\xbb\xfd\x7e\x9f\x35\xd4\xde\xc8\x69\xc9\xf5\xf5\x19\xab\x3e\x83\x9f\xe8\xb1\xf8\x7d\x03\x3c\x8a\xae\x00\x85\x6c\x33\xa2\x21\x5f\x59\x47\x2d\xb9\x0f\x9d\xfb\xe5\x45\xb4\xe5\x86\x80\x1d\x2f\x80\x80\xb4\x24\x91\x42\xbe\xc3\x60\x10\xb6\x68\x67\x0a\x83\x00\x5f\xb7\xec\x57\x7a\x91\x74\x0b\x5c\x01\x14\xf0\x54\xbe\x76\xfb\x9e\xec\x37\x43\x47\x27\x4a\xe2\x71\x6b\xd2\xd2\x41\xc0\x0f\x22\x85\xb6\xd3\x6a\xb5\xfb\xdf\x7f\xd1\x47\x18\xe0\xc0\xef\x78\x53\x10\xb6\xec\x43\x1c\x86\x6c\xb1\xe1\xa8\xd3\xe9\xd8\xed\xb6\x01\xee\x0f\x1e\x88\x6e\x63\x18\xfa\x3c\xca\xdf\x2a\x7f\xe3\x40\xd9\x32\x86\x34\x89\xde\xa1\xd0\x1b\xb7\x60\xbb\xcd\xf8\x52\x71\x52\x13\x18\xc7\xbc\x68\x77\x0b\xf5\xbf\xe7\xda\x09\x93\xaa\x3e\xa0\x80\x33\x16\xb6\x81\x4e\x79\xa9\x85\x13\x18\x47\x38\x8c\x99\x26\x16\x43\x22\x36\xef\x13\x8e\xd5\x16\x69\xdf\x43\xc3\x16\xee\x8c\x41\xfc\x3a\x82\x61\x8b\x31\xa9\x0c\xa2\xe6\xa5\xfe\x53\x2e\x15\xfa\xbc\xde\x7c\x3a\xf9\x7d\xeb\x1f\x5f\xca\x0b\xba\xf9\x67\xbb\xdd\x76\x7a\x9c\x77\x8c\x20\x3d\xbe\x82\x21\x3d\x04\x8c\xd1\x3d\x78\x20\x9e\x7c\x42\xb4\xd5\x16\xea\x55\xd8\xd7\x1e\x7d\xfd\x6a\x27\xe1\x65\x88\xaf\x43\xfb\x9e\x01\xad\xff\x64\x5f\x59\x8c\x7c\xd8\xc0\x21\x1b\xc7\x31\x61\x5f\x21\x86\xc9\xa7\x00\xc7\xd0\x17\xf8\xb9\x41\xc3\x56\xb7\x7a\x56\xaf\x13\x1a\x25\xe9\xbc\x68\x3f\xf7\xf0\x07\xf6\xe3\x08\x50\xf0\x01\xc4\x6f\xf7\x5a\x6d\x35\xbd\x16\x6d\xdf\x6c\x1a\xfb\x9c\x67\x62\x06\x54\xf3\xf7\x06\x44\x33\xe4\x11\xa5\x99\x36\x46\x79\xa3\xa5\xa0\xf9\xa0\x69\x9a\xb5\x0c\xe5\xb4\xa8\x9c\x35\xea\xd3\x74\xd6\x48\x01\xb6\xe1\xac\x51\xb3\x59\x53\x3e\x93\xb6\x89\x37\xa9\xdd\x57\xde\xed\xb0\x83\x43\xd6\x59\xab\x05\xfb\xdf\xf3\x6f\xc6\x20\xf4\x03\xf8\x5a\x3c\x85\xed\xac\x47\x63\x5b\x39\xc5\x52\x6b\xf9\x9c\xb7\x6f\xdf\x14\xfa\x64\x6c\x0e\xf6\xfb\x7d\x92\x2a\xe2\x2f\x8e\x7f\x3a\xfb\x70\x70\x72\xf2\xfa\xdd\xd7\xaf\xf9\x37\x6f\xdf\x98\x9f\x9f\x3c\x7f\xfa\xac\xa2\xc9\xd1\xeb\x77\xaf\xc4\x9b\xf6\xbf\xc1\x20\x86\x56\x69\xb8\xc3\xd7\xaf\xce\x4e\x5e\xbf\xf8\xf0\xb6\x9d\xe3\xb6\x12\x90\x7e\x87\xc0\x08\x02\xc9\xa2\xa4\x6c\xe8\x88\x1c\x2d\x05\x8d\x4c\x62\xdc\x33\x0f\x71\xfc\xea\xec\xf8\xe4\xb6\xdd\x3f\x2c\x76\xa8\xc4\x13\x0c\x7d\x0e\x4b\xfd\xe3\xa6\x33\x3b\x3a\x7e\x71\x7c\x76\xdc\x36\x8c\xfe\xfd\xa6\x22\x94\xe2\x94\x0b\x7d\xe7\xda\x0a\x2d\x6e\xd3\x71\xbb\xed\x76\x36\x64\xda\xa5\x22\x76\xc8\x96\x1d\x00\x0f\xb6\x86\x8e\x6d\x4b\xf1\x53\x18\x87\x16\xc6\xf9\xa7\xe4\xaa\xf2\xf7\xcd\x3f\xbe\xd0\x9b\x7f\xde\xdc\x94\x88\xec\x4b\x06\x96\xf4\xd9\x8d\xa0\x57\xd8\x52\x6f\x75\xfa\x4d\x35\x61\xd8\xff\x1e\x76\xd2\x2f\x8d\xb4\x2e\x16\xd2\xdf\xbc\xc9\xc0\x2e\x48\xb8\x7b\xbf\xdf\xcf\xa9\x0b\x04\x02\x7f\x7a\x4a\x01\x85\x52\x42\xdf\x93\xfb\x1c\x5e\x5b\xf9\xbd\xce\x4b\x0b\x39\xa8\xea\x4d\x87\xc7\x89\xee\x21\x26\x09\x33\x3c\x4b\x05\x42\xfe\xcb\xf6\x96\xc3\x63\x3b\xfc\x63\xc6\xb4\x72\x93\x61\x93\x6d\xb1\x7f\xf2\xcc\xa4\xdd\xbe\xc9\xc3\x69\xee\x95\xbc\x45\x21\xdd\x3b\x60\xda\x50\x8a\xe5\xf6\xbd\x21\x26\x2d\x21\xc5\x36\xff\x2d\xfc\x77\xf5\xfc\xdf\x1e\x3e\x0c\xdb\xf4\x3c\xbc\xe8\xf7\x76\x76\x1e\xc0\x8e\x37\x06\xe4\x10\xfb\xf0\x80\xb6\xc2\xf6\x3d\xc9\xba\x2b\x80\x43\x66\x00\x87\x64\xc0\x69\x3b\x28\x83\x03\x31\xc1\x01\x99\xe0\x90\xe9\x22\x5c\x09\x5e\x74\x3a\xbc\x0b\x31\x9d\x03\x32\xe2\x81\x8b\xd6\xb9\xbd\x31\x40\xe1\xc6\x00\xc4\x63\xfb\x42\xac\x14\x37\x41\xb6\x58\x02\x33\x6d\xf8\xea\x34\x5d\xa2\x05\x45\x37\x41\x65\x37\x6f\xce\xfe\x60\xd2\x25\x60\x2d\xcf\x20\x99\xb4\x6c\x3e\x3c\x23\x12\x18\x40\xd6\x8b\x58\x23\xac\xec\xe1\x1d\x77\xae\x9c\xa2\xcf\xf0\x1e\x64\xbd\x1c\xe2\x20\x6e\xd1\x8e\x87\x83\x98\x49\xc4\x18\xd2\x13\x7c\xcd\x9e\x10\x7c\xad\x9e\x08\x9f\x4e\x2b\x1d\xa3\x83\x87\xc3\xf4\xb1\xfc\x86\x3b\x2b\x4a\x9f\xf0\xa7\x6d\x27\x10\x5f\xa8\x91\xd9\xce\xe5\x8f\x8e\x43\xb6\xfd\x5a\xcc\x56\xe4\xc0\x78\x43\xa7\xad\x40\x62\x5a\x60\x6d\x1e\x4c\x6b\x0a\x25\x97\x3e\x79\x90\x2c\xb2\x45\x35\x60\xa1\x14\x58\x50\x02\x0b\xa5\xc0\x82\x12\x58\x48\x03\x56\x3a\xfa\x0f\x05\x68\xa1\x0c\x5a\xa5\x6f\x24\xb8\xa8\x04\x97\x37\x9e\x63\xc7\xdf\xdc\x38\xa0\x1f\xb5\x82\x0e\xaf\x72\x40\xa7\x11\xd4\xad\xaa\x73\xdc\xe1\xfe\x19\xe8\x5f\x38\x5f\x8a\xfe\x87\xbc\x77\x42\xf3\x46\x38\x9a\x35\xbc\xcf\x8c\xdd\x9b\xb6\x13\x17\x07\x49\x0d\xb4\xe5\x8d\x11\xb4\x33\x0f\xd1\xa4\xe0\x74\x81\x1d\xe0\xfb\x5c\xf9\x64\xbb\x10\x86\x90\xb4\xd8\x6b\xe7\x8b\xe4\xf0\xfb\xdc\x8a\x09\x99\x4e\x4a\xe0\x04\x5f\xc1\xf2\xb7\x37\x37\x37\x46\x03\x7c\x50\xe3\x4f\x43\x13\x30\x82\x2e\x81\xc3\x82\xab\xdf\x67\xed\x89\x1b\x01\x12\x43\x97\x7f\xb4\x14\x2f\xff\x10\x85\xfe\x73\xd6\xdb\x09\x1c\xc6\xa9\x9b\xd6\x82\xad\x50\x31\x31\x40\x46\x89\xa8\x99\x2e\xa5\x70\x57\xf3\x94\xa4\x2f\xcf\xbb\x17\x3f\xe8\x3f\xf6\xcf\x2f\x18\x03\xb1\xb1\xa8\x7a\x78\xbf\xcf\x70\x88\x87\x56\xa8\xec\x4d\xc4\x5e\x33\x34\xf4\xfb\x7d\xed\xa1\xe4\xfd\xe7\xc4\xc1\x17\x78\xa8\x9c\x4e\x30\xa4\x04\xc1\xb8\x15\xb6\xdb\xac\x53\xb1\x7c\xae\x88\x50\xfc\x02\x5f\x43\xa2\xec\x03\x3b\xa6\x04\x85\x23\xbb\xaf\xc6\xc3\x7c\x8b\xa2\x73\x7c\xd1\xf6\x70\x48\x51\x98\xc0\x7b\x82\x71\xf1\x50\x86\xd4\x63\xda\x2d\xdc\xbe\x87\xa4\x26\xda\x76\xd8\xe7\x7d\x78\xc3\xf5\x0f\xd8\xc2\x0e\x4a\x5d\xa3\xa8\xce\x15\x8a\x42\x1a\x6c\x4c\x50\x1c\xa3\x70\xe4\xa6\x56\xa5\x8e\x44\x1e\xae\x71\xf9\x77\x6e\x44\xb8\xa5\x2e\xdb\x16\x9b\xdd\x1e\xb7\x95\x0d\x54\x48\x24\xe7\xeb\xbc\xbf\xe9\x8c\x20\xdd\x4f\xc7\xcc\x7c\x8f\x0a\x46\x37\x37\xed\x9a\xb5\x0b\x27\x6d\xb6\xd6\xdc\xfc\x97\x11\x7f\xca\x1e\x7c\xc9\x14\xfc\x7d\xfb\x7f\x9c\x1f\xd9\x8e\xd2\xeb\xd9\xcf\x03\xdb\xd1\xd4\x79\xf6\xe4\xd0\x76\x32\x2d\x9e\x3d\x78\x62\x3b\x4a\x69\x3f\xd8\xb7\xff\x5b\xf6\xeb\xed\xbe\xfd\xdf\x6d\x87\x2b\xc7\xfb\xf6\x7b\x62\x3b\x42\xbd\xdd\xb7\xff\x97\x5d\x87\x77\xb1\x27\x29\x4e\xbc\xb1\xcb\xec\x32\x13\xce\x47\x30\xa6\x09\x81\xee\x04\xfb\x68\x88\x20\x89\xab\xda\xae\x10\xf1\x28\x7e\x86\x09\xfa\x8c\x43\xca\x38\x75\x43\xec\xeb\x8d\x6e\xea\x7b\xff\x0d\x12\x8a\xbc\xb9\xfa\x56\x4d\x6a\x7b\xe6\x30\x7a\x2e\xb8\xf7\x19\x83\xd4\x11\x07\x72\xc3\x41\x8c\xad\x67\x8f\xb7\xe0\x40\xfa\x08\x35\x24\x53\x88\xb9\xad\x72\xe3\x5c\x01\x62\xd1\xfe\x17\x1e\xf3\xda\xff\x32\xc4\x04\x8a\x30\xd1\xbe\x4d\x46\x83\xd6\xa6\xb3\xe9\x6c\xb6\x6d\x27\x0b\x1f\x89\xe7\xbd\xed\x47\x4e\x6f\x67\xd3\xe9\xed\xf4\xda\xb6\x23\xe2\x44\xaa\x85\xd5\xdd\x7b\xc4\xff\xc3\xde\x4c\x41\x68\x7a\x3e\x20\x3c\x06\xc7\xa6\xc5\xdf\xee\xed\x38\x16\xfb\x7f\x6f\x67\xa7\x6d\x3b\x23\x02\x61\xa1\x19\x9b\x04\x63\xeb\x21\x05\xe2\x85\x78\x9a\xef\xef\x65\xf5\x07\xc2\xb1\xa2\xbd\x49\x7b\x15\x4d\xff\xa8\x7e\x9f\x4e\xd2\xbc\x04\xe0\x5d\xe6\x61\x15\xc3\x40\x38\x43\xc4\xe3\x1d\xa7\xfb\x78\xcf\xe9\x3e\xde\x6e\xdb\x37\x8e\x0f\xc8\x65\x19\xca\x79\x68\x96\x60\xfd\xd8\xd9\xda\x72\xb6\xf6\xfe\x06\xf4\xa5\x09\x5c\x35\xe0\xbe\xd1\xc4\x02\xad\xdb\x6e\x88\x06\x90\x27\x6b\x97\x39\xb3\x17\x20\x57\x68\x0d\xee\x18\x06\x51\xc6\x9a\xd3\x46\xdf\x8e\x2c\x16\xca\xf0\x06\x0c\xaf\x10\xc1\xa1\xbc\x35\x4f\x9f\x7e\xfb\x0b\x25\x53\x1e\xda\x83\xfd\xfa\x66\xb4\xaf\xf2\xf4\x3b\x1f\x13\x48\xa6\xa7\x1c\x0b\x98\xb4\xbe\x9b\x40\x0a\xce\x43\x30\x81\x7d\xfb\xbb\x87\xf0\xe1\x77\xf6\xc5\x77\xdc\xa9\x78\x40\x29\x41\x83\x84\xc2\x96\xcd\x54\x2d\xd6\x4b\xdb\x09\xfb\x5f\xe4\x9c\xf7\x7f\x3e\x7d\xfd\x4a\x30\xc9\x96\x0f\x3d\xec\xc3\xb7\x27\xcf\x0f\x55\x92\x65\x8b\xb6\xdb\xc5\x50\x63\x01\x5c\x61\x35\x7c\xc3\x1b\x0f\x50\x6e\xc5\x7c\xa1\x63\x82\xaf\x79\x08\xfb\x98\x10\x36\xdd\x43\x9c\x04\xbe\x15\x62\x6a\x11\x08\x7c\x4b\xac\x55\x9c\xa7\x60\x2b\xb1\x28\x18\x59\xd7\x88\x8e\x2d\xb6\x24\x4b\x2e\xa9\xf3\x9d\x70\xc5\xca\xe4\xfa\x33\x18\xd3\xf8\xeb\x57\x02\x3f\x26\x88\xe8\x00\x07\x51\x64\xb7\x53\x6f\x98\x48\x7a\x68\x7d\x09\x73\x69\x1e\xb6\x23\xef\x4a\xd9\xb7\x37\x3b\x9b\x9d\xcd\x87\x70\x0b\xec\xf4\x86\x5b\x7b\xf6\x4d\xfb\xde\xff\x0b\x00\x00\xff\xff\xae\xd9\x93\xa8\x6f\x24\x06\x00") -func uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50JsBytes() ([]byte, error) { +func uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJsBytes() ([]byte, error) { return bindataRead( - _uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50Js, - "ui/dist/assets/waypoint-5ac90becd719f340ed6169530ada3a50.js", + _uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJs, + "ui/dist/assets/waypoint-ebcdd627a87606ce0388e3f25a70b64d.js", ) } -func uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50Js() (*asset, error) { - bytes, err := uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50JsBytes() +func uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJs() (*asset, error) { + bytes, err := uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "ui/dist/assets/waypoint-5ac90becd719f340ed6169530ada3a50.js", size: 405099, mode: os.FileMode(0644), modTime: time.Unix(1680804353, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x19, 0x32, 0x9a, 0xd0, 0x1e, 0xf0, 0x5a, 0x8b, 0xb2, 0x9d, 0x2, 0x1d, 0xf9, 0x6f, 0x7a, 0xb, 0x8c, 0xaa, 0x60, 0x15, 0x34, 0x7f, 0xcf, 0xe9, 0xd, 0x38, 0xf4, 0x3f, 0x32, 0x76, 0xd5, 0xc8}} + info := bindataFileInfo{name: "ui/dist/assets/waypoint-ebcdd627a87606ce0388e3f25a70b64d.js", size: 402543, mode: os.FileMode(0644), modTime: time.Unix(1676568139, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x23, 0x9, 0x5e, 0xee, 0xca, 0x9c, 0x75, 0xe3, 0xac, 0xcf, 0x93, 0x53, 0xf8, 0xb5, 0xad, 0xdc, 0x77, 0xa1, 0x8c, 0xc3, 0x18, 0xba, 0x64, 0x4, 0x48, 0xa1, 0x34, 0x5e, 0xf3, 0x54, 0xa2}} return a, nil } @@ -846,7 +845,7 @@ func uiDistBrowserconfigXml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/browserconfig.xml", size: 417, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/browserconfig.xml", size: 417, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x2b, 0xb8, 0xcd, 0x84, 0xf8, 0x10, 0x26, 0x9, 0x14, 0x6e, 0xbf, 0xff, 0xea, 0x8, 0xa5, 0xf8, 0x82, 0x9a, 0x74, 0x36, 0xcf, 0x43, 0xad, 0x46, 0xa2, 0x5f, 0x38, 0x7f, 0x50, 0xf6, 0xab}} return a, nil } @@ -866,7 +865,7 @@ func uiDistFavicon16x16Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/favicon-16x16.png", size: 630, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/favicon-16x16.png", size: 630, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x18, 0x3e, 0x3b, 0x1f, 0x11, 0xfb, 0x3b, 0xe0, 0x73, 0x2c, 0x26, 0xe3, 0x82, 0x61, 0x22, 0x2d, 0x11, 0xef, 0xb6, 0x3b, 0x64, 0x78, 0x40, 0xd3, 0x93, 0xb3, 0x46, 0xc6, 0x30, 0x7f, 0x98, 0x44}} return a, nil } @@ -886,7 +885,7 @@ func uiDistFavicon32x32Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/favicon-32x32.png", size: 1493, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/favicon-32x32.png", size: 1493, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0x5b, 0xab, 0xa2, 0x56, 0xa9, 0xb9, 0xb4, 0xf1, 0xee, 0xf1, 0xd8, 0xfc, 0x58, 0xee, 0x89, 0x9d, 0xed, 0x63, 0xec, 0x98, 0x7d, 0xf6, 0xe3, 0xf9, 0x67, 0xdb, 0x3, 0x7a, 0x54, 0x1a, 0xde}} return a, nil } @@ -906,7 +905,7 @@ func uiDistFavicon48x48Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/favicon-48x48.png", size: 2032, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/favicon-48x48.png", size: 2032, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x3e, 0x2, 0x55, 0x14, 0x9a, 0xf4, 0xf5, 0x4b, 0x80, 0x30, 0x46, 0xf0, 0x78, 0xd, 0xd9, 0xc7, 0xc5, 0x2c, 0x4f, 0x18, 0x8b, 0x33, 0xc4, 0xae, 0x24, 0x61, 0x29, 0xd6, 0xdf, 0xc8, 0xbe}} return a, nil } @@ -926,7 +925,7 @@ func uiDistFaviconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/favicon.ico", size: 33310, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/favicon.ico", size: 33310, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x87, 0x94, 0xe6, 0x53, 0x53, 0x2f, 0x22, 0x35, 0x85, 0x81, 0xb4, 0x34, 0x45, 0x68, 0xb8, 0xd7, 0x42, 0x87, 0x90, 0x95, 0xc5, 0x2f, 0x33, 0x68, 0x88, 0xa2, 0x6e, 0x87, 0x9d, 0x53, 0xbf, 0x5c}} return a, nil } @@ -946,7 +945,7 @@ func uiDistFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/favicon.png", size: 966, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/favicon.png", size: 966, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x81, 0x51, 0x26, 0x8f, 0xdb, 0x0, 0x52, 0x1c, 0x0, 0x68, 0x63, 0xdf, 0xae, 0x81, 0x86, 0x65, 0x6e, 0x4f, 0x73, 0x63, 0x72, 0xb8, 0xeb, 0x6d, 0xcf, 0x8d, 0xe2, 0x49, 0x80, 0x5c, 0xf7}} return a, nil } @@ -966,7 +965,7 @@ func uiDistFirefox_app_128x128Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/firefox_app_128x128.png", size: 13921, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/firefox_app_128x128.png", size: 13921, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x28, 0x31, 0x68, 0xd0, 0x7b, 0xa6, 0xf9, 0x1e, 0x66, 0xa9, 0x76, 0x97, 0x60, 0x66, 0xa9, 0xc9, 0xb8, 0xe6, 0x6a, 0x3b, 0x3b, 0xdd, 0x45, 0xbf, 0xbd, 0xb5, 0x3f, 0x43, 0xe6, 0x7, 0xca}} return a, nil } @@ -986,7 +985,7 @@ func uiDistFirefox_app_512x512Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/firefox_app_512x512.png", size: 109128, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/firefox_app_512x512.png", size: 109128, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0xa4, 0xdf, 0x7d, 0x88, 0x22, 0x7b, 0xc5, 0x54, 0x2e, 0x4, 0xd3, 0x4c, 0xa7, 0x99, 0x7d, 0xf2, 0x6e, 0x27, 0xd7, 0x74, 0x85, 0xb1, 0x8f, 0xeb, 0xbb, 0xf3, 0x3a, 0xb7, 0xaf, 0x61, 0xbd}} return a, nil } @@ -1006,7 +1005,7 @@ func uiDistFirefox_app_60x60Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/firefox_app_60x60.png", size: 4784, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/firefox_app_60x60.png", size: 4784, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x25, 0x5e, 0x4b, 0xed, 0x93, 0x93, 0x36, 0x48, 0xa3, 0x9b, 0x2f, 0x58, 0xe6, 0xb1, 0xcf, 0xa2, 0x69, 0xfe, 0x4, 0x6b, 0x1d, 0x6b, 0x19, 0xde, 0xf6, 0x6, 0x2b, 0xc5, 0xd8, 0x31, 0xda}} return a, nil } @@ -1026,7 +1025,7 @@ func uiDistImagesBrandSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/brand.svg", size: 409, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/brand.svg", size: 409, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x17, 0x94, 0x75, 0xfe, 0x59, 0xdb, 0x80, 0xf, 0xa0, 0xb8, 0x66, 0x7c, 0x87, 0xa9, 0x32, 0x37, 0x3a, 0x88, 0xeb, 0xe8, 0x2d, 0x77, 0x55, 0x63, 0x8f, 0xf7, 0xac, 0x94, 0xbc, 0x34, 0xb4, 0xb4}} return a, nil } @@ -1046,7 +1045,7 @@ func uiDistImagesIconsBuildSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/build.svg", size: 2552, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/build.svg", size: 2552, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0x3d, 0xe, 0x2, 0xbc, 0x50, 0x6e, 0xa2, 0x78, 0xa0, 0xb8, 0xa7, 0xa4, 0x25, 0xba, 0x8e, 0x21, 0x11, 0xf9, 0x5b, 0x7b, 0xfb, 0x81, 0x27, 0x42, 0xbb, 0x39, 0xe5, 0x98, 0x93, 0xe2, 0x73}} return a, nil } @@ -1066,7 +1065,7 @@ func uiDistImagesIconsExecSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/exec.svg", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/exec.svg", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0x5c, 0x75, 0xe0, 0xd6, 0xdf, 0x3f, 0xd7, 0xb2, 0x6c, 0x76, 0xd0, 0x79, 0x63, 0x6a, 0xf6, 0x9b, 0x29, 0x1a, 0x55, 0x8d, 0xd3, 0x8d, 0x2c, 0x19, 0x4, 0xc6, 0xc6, 0xc4, 0xd, 0xf5, 0xc3}} return a, nil } @@ -1086,7 +1085,7 @@ func uiDistImagesIconsLogoDockerColorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/logo-docker-color.svg", size: 6211, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/logo-docker-color.svg", size: 6211, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbd, 0x49, 0xf3, 0x1f, 0xc8, 0x57, 0xcf, 0x88, 0xa1, 0xac, 0x14, 0x60, 0xc7, 0x4c, 0x9c, 0xe8, 0x8c, 0x10, 0xa0, 0x2e, 0x77, 0x7, 0xe1, 0x2f, 0xbb, 0x94, 0xd9, 0xba, 0x67, 0x83, 0x60, 0x59}} return a, nil } @@ -1106,7 +1105,7 @@ func uiDistImagesIconsLogoKubernetesColorAltSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/logo-kubernetes-color-alt.svg", size: 11218, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/logo-kubernetes-color-alt.svg", size: 11218, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0x1b, 0x8d, 0xe6, 0x3b, 0x75, 0xdf, 0x6e, 0x3c, 0x71, 0xc1, 0x24, 0x95, 0xa5, 0x85, 0x3, 0x42, 0x7b, 0xe, 0xe6, 0xad, 0x44, 0x12, 0x41, 0x8a, 0x69, 0x30, 0xcc, 0x78, 0x26, 0xf6, 0x47}} return a, nil } @@ -1126,7 +1125,7 @@ func uiDistImagesIconsLogoNomadColorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/logo-nomad-color.svg", size: 629, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/logo-nomad-color.svg", size: 629, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x88, 0xab, 0x1e, 0xff, 0xfc, 0x2f, 0x50, 0xd6, 0x5, 0xcd, 0xed, 0x63, 0x9, 0x1c, 0x46, 0x33, 0x72, 0x1c, 0x75, 0xeb, 0x20, 0x78, 0x6e, 0x93, 0x81, 0x90, 0x90, 0x41, 0x55, 0x8, 0xb}} return a, nil } @@ -1146,7 +1145,7 @@ func uiDistImagesIconsLogoPackColorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/logo-pack-color.svg", size: 3338, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/logo-pack-color.svg", size: 3338, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0x26, 0xcd, 0x83, 0x97, 0xb7, 0x4e, 0x3e, 0x3a, 0x6c, 0x37, 0xc1, 0xb2, 0x4a, 0xf3, 0x16, 0xeb, 0x89, 0x73, 0x37, 0xf, 0xda, 0xee, 0x36, 0xbf, 0xd3, 0x51, 0x78, 0x9e, 0x33, 0xc5, 0xe0}} return a, nil } @@ -1166,7 +1165,7 @@ func uiDistImagesIconsLogoutSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/icons/logout.svg", size: 724, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/icons/logout.svg", size: 724, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0x6, 0xdd, 0xb6, 0x10, 0xfb, 0x59, 0xcf, 0x9e, 0xeb, 0xaa, 0x8a, 0xf9, 0x9b, 0xca, 0x87, 0x6f, 0x44, 0x56, 0x82, 0xbb, 0xcf, 0xc9, 0x56, 0x5f, 0x59, 0xb2, 0x2, 0xd6, 0x24, 0xfd, 0x8b}} return a, nil } @@ -1186,7 +1185,7 @@ func uiDistImagesPatternAltSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/pattern-alt.svg", size: 16223, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/pattern-alt.svg", size: 16223, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0xce, 0x87, 0x75, 0x5c, 0x3b, 0x6d, 0xe6, 0x83, 0x26, 0x85, 0x24, 0x31, 0xc, 0x56, 0x23, 0x57, 0x16, 0x58, 0x17, 0xff, 0xa7, 0x56, 0xec, 0x4e, 0xc7, 0x75, 0x20, 0x87, 0x2, 0x45, 0x5b}} return a, nil } @@ -1206,12 +1205,12 @@ func uiDistImagesPatternSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/images/pattern.svg", size: 1818, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/images/pattern.svg", size: 1818, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0x39, 0x83, 0xb, 0x9a, 0xe9, 0xc6, 0x69, 0x83, 0x88, 0xcd, 0xd3, 0xc0, 0x3f, 0xb6, 0xdf, 0x81, 0xc, 0x1b, 0x2f, 0x8c, 0xd7, 0x73, 0xac, 0x7e, 0xd1, 0x52, 0xc5, 0x28, 0xd, 0xdb, 0xff}} return a, nil } -var _uiDistIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x69\x73\x1c\xc7\xb1\x2e\xfc\xdd\xbf\xa2\x2f\x1c\x27\xe2\x38\x7c\x3b\x59\x99\xb5\xbf\x21\x3a\x82\x04\xa9\xc5\x02\x25\x59\xcb\x58\xf2\x17\x46\x73\x38\x24\x60\x35\x01\x0a\x00\x47\x14\x7e\xfd\x1b\xf9\x64\x75\xcf\x0c\x36\x82\xb4\x7d\x8e\xec\xab\x90\x30\xd3\x9c\xee\xae\x25\x2b\xf7\xcc\xca\xfa\xe8\xff\x3c\xfa\x72\xff\xdb\x1f\xbe\x7a\xdc\x1d\x9e\xbf\x1a\xff\xf4\xbb\x8f\xfe\x4f\xdf\xff\xae\xdb\x3f\x79\xfd\xcb\xe9\xd1\xcb\xc3\xf3\xee\xbf\x97\x7f\xe8\x3e\x1d\xce\x0e\x8f\xf6\x4f\x4e\x5f\xff\xdf\xee\xb3\xe3\x25\xfd\xae\xfb\xe6\xab\x47\xdf\xf7\x07\x47\xcb\xd5\xf1\xd9\xaa\xff\xec\xf9\xea\xf8\xfc\xe8\xc5\xd1\xea\xf4\xff\xeb\x9e\x7c\x75\xd0\x0b\xb9\xdf\xf5\xfd\x9f\x7e\xf7\xbb\x8f\xac\xc5\xae\xfb\xe8\x70\x35\x3c\xd7\x8b\xae\xfb\xe8\xd5\xea\x7c\xe8\x96\x87\xc3\xe9\xd9\xea\xfc\xfe\xde\x9b\xf3\x17\x7d\xd9\xeb\xee\x6d\xdf\x3c\x3c\x3f\x7f\xdd\xaf\x7e\x7a\x73\xb4\xbe\xbf\xf7\x7d\xff\xdd\x83\x7e\xff\xe4\xd5\xeb\xe1\xfc\xe8\xd9\xb8\xda\xeb\x96\x27\xc7\xe7\xab\xe3\xf3\xfb\x7b\x9f\x3d\xbe\xbf\x7a\xfe\x72\xb5\x79\xf7\xfc\xe8\x7c\x5c\xfd\xe9\xaf\xc3\x2f\xaf\x4f\x8e\x8e\xcf\x3f\xba\x67\xff\xde\x6a\xf7\x78\x78\xb5\xba\xbf\xf7\x7c\x75\xb6\x3c\x3d\x7a\x7d\x7e\x74\x72\xbc\xd5\xda\xa5\x21\xd8\xa3\xeb\xa3\xd5\xcf\xaf\x4f\x4e\xcf\xb7\x9e\xfb\xf9\xe8\xf9\xf9\xe1\xfd\xe7\xab\xf5\xd1\x72\xd5\xe3\x1f\xff\xb7\x3b\x3a\x3e\x3a\x3f\x1a\xc6\xfe\x6c\x39\x8c\xab\xfb\x8c\xa6\xd0\xd6\xef\xb6\x1b\xfb\xb9\x0d\xec\xde\xf2\xe4\xf8\xc5\xd1\xcb\x7b\xab\xe3\xf5\xd1\xe9\xc9\xf1\xab\xd5\xf1\x76\xfb\xff\x95\x1f\xfe\x97\xc8\xf0\xfa\xe8\xc1\xf3\xe7\xa7\xab\xb3\xb3\xff\x12\xf9\x2f\xff\x40\x3f\xf5\xff\xfd\xff\x12\x79\x75\xf2\xfc\xcd\xb8\xfa\xea\x74\xf5\xe2\xe8\xed\x7c\x77\x6a\x7c\x7e\x6a\xab\xf5\xf9\xa1\xd7\xa7\x27\xcf\xdf\x2c\x75\xe2\xf3\x63\xa7\x27\x27\xe7\xdf\x7d\x7d\xb0\xd5\xcb\xc7\xf3\xbd\xf1\x64\x39\xe8\xc3\xdf\xfe\xf2\x7a\x35\x3f\x30\xbc\x39\x3f\x99\x9f\x78\xfc\xea\xd9\xea\xf4\xf1\x17\x8b\x76\x17\x43\xff\xf8\xf1\x83\x6f\xbf\xfb\xfa\xf1\x37\x9b\xdf\xf2\xa3\xf6\xf4\xf7\xdf\x3e\xfe\xe2\xd1\xd3\xaf\xbe\xfe\xf2\xdb\x2f\x15\xdf\xbe\xd9\x7e\xed\xd1\x70\xde\x3a\x79\x31\x8c\x67\xab\xf9\xa5\xa7\x0f\xbe\xfa\xea\xe0\xb3\xfd\x07\xdf\x7e\xf6\xe5\x17\x4f\xbf\x7d\xfc\xe4\xab\x83\x07\xdf\x3e\x7e\xfa\xd7\xaf\x1f\x7c\xf5\xd5\xe3\xaf\xb7\x5f\xb0\xa7\x1f\x3d\xfe\xf8\xc1\x77\x07\xdf\x3e\x7d\xf0\xcd\x0f\x5f\xec\x3f\xfd\xf2\xe1\x37\x8f\xbf\x5e\x3c\xfe\xba\xf5\x74\x7e\xfa\x66\x7a\xee\xcf\x7f\xf9\xee\xf1\xd7\x3f\x3c\xfd\xec\x8b\x6f\x1f\x7f\xf2\x35\x1a\xbf\xda\xd6\xdc\xdb\x97\x5f\x1c\xfc\xf0\xf4\x93\x83\xcf\x9e\x3c\x79\xfc\xf5\xd3\xfd\x2f\x9f\x7c\xf5\xe5\x17\x8f\xbf\xf8\x76\xbb\xd1\x69\xb4\x0f\xbe\xfa\x6a\x7b\x52\xba\xf0\x37\x2f\xd1\x7a\x75\x7a\xd6\xd6\x02\x0f\x38\x72\xe4\xfe\x4b\x1e\x86\x10\x9f\x2d\x07\xff\x42\x6f\x4c\x0d\xbf\x18\x87\xb3\xc3\x27\xab\xb3\xb3\xe1\xe5\xea\xd1\xea\xc5\xf0\x66\x3c\x3f\xdb\xee\xe9\xf9\xea\xec\xfc\xf4\xe4\x97\x2f\x8f\xf7\xc7\xa3\xe5\x8f\x57\xe6\x72\x7e\xf4\x6a\x75\xf2\xa6\x61\x42\x74\xce\x35\x24\x79\x7b\xbe\x3a\x7e\xbe\x7a\xfe\xed\xf6\xed\x3c\xdd\x3d\xdf\x5e\xf7\xa3\xe3\x17\x9b\x75\xd7\x3b\x53\xf7\x51\xbb\x5f\x9d\x9e\x9e\x9c\xce\xb7\xcf\xde\x2c\x97\x0d\x75\xf1\xef\x9d\x77\x7f\x1e\x4e\x8f\x8f\x8e\x5f\xea\xbf\xe3\xa3\xe9\xfe\xdf\x57\x40\xcb\x8f\x87\xe5\xf9\xc9\xe9\xd1\x76\xdb\xf1\xd1\x0c\x83\x95\x62\x5b\x7f\x76\xf4\xea\xf5\xb8\xea\x87\x37\xe7\x87\xdb\x00\xd0\x7f\x2b\x17\x32\x94\xfd\xfa\xe4\xcd\xf9\x0e\xce\x1e\x6e\x61\xfc\x9b\xf3\xd5\x83\x17\xe7\xab\xd3\x07\x3b\xaf\x6c\xd6\xe9\xe4\xf4\xc7\xb3\xd7\xc3\xd2\x46\xb1\xdb\xf9\xf9\xc9\xcb\x97\xe3\x6a\xbb\xdf\xa3\xe3\xe5\xf8\x46\x41\x78\xb8\x7a\xb5\x0b\x93\x51\xb9\xe7\xf6\x34\x9f\xdb\xba\xe1\xc9\xb9\xb7\xf9\xa9\xdd\x8e\x96\xe3\x51\xff\xea\xe8\x74\x78\xb9\xd3\xd9\x9b\xb3\xa3\xe3\x97\x5f\x9d\x9e\xbc\xfd\xe5\xca\x0a\xbf\x39\x9b\xf0\xe2\xab\xe1\xec\xec\xfc\xf0\xf4\xe4\xcd\xcb\xc3\xb3\x6b\x50\x74\xf5\x56\x39\xda\x83\xd7\xaf\xc7\x36\xf1\x4f\xc6\x93\x67\xc3\xb8\x4b\x7b\x1b\x16\xf6\xd1\x78\x74\xfc\x63\x77\x74\x7c\xbe\x7a\x79\x7a\x74\xfe\x8b\x32\xca\xd3\xd5\x78\x7f\xef\xec\xfc\x97\x71\x75\x76\xb8\x5a\x9d\xef\x75\x87\xa7\xab\x17\xf7\xf7\xee\x0d\x67\x67\xab\xf3\xb3\x7b\xeb\xd5\xf1\xf3\x93\xd3\x7e\x55\x39\x0d\xcb\xe7\xc3\x8b\xe5\xb0\x4c\xe1\x45\x0c\xf9\xd9\x72\xf5\xfc\xd9\x10\x62\x7c\xfe\xac\xac\x22\x2d\xcf\xce\x36\x4c\xf7\xbd\x7b\x99\xa8\xa9\x0f\x21\xad\x5e\xb8\xe7\xb1\x0c\x3e\x15\xf7\x22\x0e\xe1\x59\x12\xf1\x43\x1a\x38\xbb\xb0\xf4\x73\x3f\xe8\x68\xea\xca\x5a\x3f\x3c\x39\x3d\x5f\xbe\x39\xef\x8e\x96\x2a\x0b\x5a\x07\x2f\x86\xb5\xfe\x9b\x8e\x96\x27\x7b\xdb\xa3\xc3\x2b\xf6\xa4\xe2\xff\xfd\xbd\xa3\x57\xc3\xcb\xd5\xbd\xd7\xc7\x2f\xf7\xba\xb3\xa3\x8b\xd5\xd9\xfd\x3d\x4e\x6f\x39\x5d\x6e\xa8\xc7\xaf\xa4\xcf\xbd\x67\x73\x5e\xde\x7a\xb9\xd2\x1c\x7e\xfd\x90\xe6\x42\x79\x1b\xca\x95\xe6\xf0\xeb\xf5\xcd\xbd\x1a\x8e\x8f\x5e\xac\xce\x36\xb0\x9f\x7e\xa0\xbf\x9f\x9d\x1c\xef\x5d\x95\x97\xaf\x4e\x9e\x1d\x8d\xab\xfe\xe7\xd5\xb3\x7e\x78\xfd\xba\x5f\x0e\xaf\x87\x5d\x99\xfd\xcb\xea\xec\x9a\xd7\xce\x95\x22\xfa\xe5\xc9\x78\x72\xba\xf5\xec\xef\x5f\xbc\x78\x71\xcd\xc3\xc3\x06\x73\x7b\xfd\x65\xeb\x8d\x49\xf4\x5f\x9d\x89\xbe\xb4\xea\xcf\x4f\xde\x2c\x0f\x7b\x03\x52\x83\x49\xcc\x6f\x63\xde\xe0\xd6\xa5\xc7\x7a\xdc\xbe\x1e\x38\x37\x36\x99\xdc\xdb\xe4\x6e\x6e\x12\xb7\xdf\xb3\xc9\x2c\x6f\xb3\xdc\xdc\x24\x6e\xbf\x6f\x93\xe9\x6d\x4e\xb7\x34\xa9\xb7\xdf\xb3\x49\xe6\xf0\x96\x39\xdc\xdc\x68\x7b\xe0\x7d\x9b\x15\xf7\x96\xe5\x16\x88\xb6\x07\xde\xb7\xd9\x10\xde\x72\xb8\x6d\xb4\xf6\xc0\xfb\x36\x1b\xe5\x2d\xc7\x5b\x16\xab\x3d\xf0\xbe\xcd\xa6\xfc\x96\xd3\x2d\x98\xda\x1e\x78\xdf\x66\x8b\x7b\xcb\xe5\x36\xd8\xda\x03\xef\xdb\xac\x93\xf0\x56\x3f\x6e\x69\x78\x7a\x64\xbb\xe9\x4b\x64\xbe\xea\x3f\x90\xa1\x5c\xfb\xf2\xd9\xf9\x70\xfe\xe6\xac\x7f\x36\x9c\xf6\x10\x2b\x5b\xad\x3c\x1b\x87\xe5\x8f\x77\x6d\x07\x66\xc5\x36\xd7\xf9\xea\x3a\x4e\x78\xb6\xcd\xa7\xbe\x3d\x1a\x57\xfb\x77\x63\x6f\x57\x5f\xfc\x4c\x19\xf9\xd6\x8b\xf7\x5e\x9d\x9d\xeb\x78\xae\xc1\xcf\x1b\xdb\x31\x93\x63\xbb\x91\x67\xa7\x27\x3f\x9f\xad\x4e\xed\x06\xbd\x7d\x35\xee\x41\x42\x7e\x74\x6f\xb2\xd4\x3e\x7a\x76\xf2\xfc\x17\x6b\xb7\x69\x02\x66\x36\x75\x67\xa7\xcb\x2b\xc2\x5e\x96\xab\x9a\x9e\x3d\x5f\x3e\x1b\x9e\x3f\x93\x24\xcb\x17\x61\x35\x94\x21\xf8\xe7\xcf\x7c\xca\xc3\x2a\xd0\xdf\xcf\xf6\xb6\xc5\xfb\xd9\xe1\x20\x31\xf5\x7f\xfb\x7c\xf1\xcd\xb3\x71\xf9\xf5\xf3\x87\xe7\xc7\xc7\x8f\xdf\xfe\xe5\xf8\x87\x5f\xea\x1f\x1f\xbf\x7e\x9d\x3e\xff\xeb\xa3\xf3\xe7\x5f\x84\x27\x0f\xe2\xd7\xe3\xa7\xc7\x5f\xfe\x90\x7e\xb8\xdf\x9d\x1d\x0e\x91\xa5\x1f\xff\xfe\xed\xf0\xf0\xc1\xa3\xbf\x3f\x7a\xf6\x42\xf6\x0f\xbe\x19\x7e\x78\xc8\x5f\x0e\x9f\x7e\x1b\xcf\x9f\x7c\x7d\xf1\xe4\xe0\xf4\x8b\xb2\x7a\xf0\xf2\xe3\xef\xdf\x1e\xd6\x67\x3f\x9c\x3d\xff\xfe\xf0\xeb\xf1\xf5\xe9\x3a\xe4\x65\x78\x92\x7e\x39\x7f\x52\xdf\xfe\x12\xff\x76\x3e\x5e\x7c\xf9\x32\x1d\x85\xf4\xf1\x7e\x59\x9f\x1c\x5d\x5c\x8c\xaf\x1e\xdc\xbf\xbf\xd7\xfd\xe9\xa3\x7b\x36\xc5\x3f\xfd\xee\xda\xb9\x2e\x0f\xdf\x1c\xff\x48\x39\x7b\x72\xc5\xad\x24\xaf\x22\x2f\xd3\xf3\x65\x29\x51\x56\xe2\x6f\x98\xe2\xd9\x97\x3f\x7e\xfa\xf1\xcf\x9f\x5e\x9c\xa7\x87\xc3\xf3\xcf\xde\x1c\xbf\xfd\xfa\x8b\xfc\xe9\xbd\x97\x7f\xfc\xe3\xe2\xf8\xde\x4f\x0f\xbe\xcc\xf9\xf0\xe3\x6f\xfe\x32\x3e\x8a\xc3\xc7\x67\xf3\x14\x0f\xff\xf8\x20\x3d\xfb\x7a\xff\xa7\xb3\xa3\x4f\x7e\x3a\x59\x1f\xed\xdf\xfb\xe1\xbb\xc3\xaf\x79\xbc\xf7\xd9\xf2\xe0\xc5\xbd\x47\x9f\x7d\xf1\xdd\x27\x0f\x3f\x4d\xdf\x2c\x0f\xd7\x0f\xff\x1c\xbe\xfb\xa9\x94\x2f\xc3\xdf\x0f\x5d\x79\x7e\xfa\xe9\xe7\xa7\x3f\x7e\xf3\xd9\xc3\x9f\xc2\xd1\xe1\x5f\x5e\x7d\x9f\x5f\xe7\xcf\x7f\xf9\xf8\x8b\x67\x4f\xfe\xfc\xc9\x92\xbf\xdf\xff\xf9\xee\x53\xe4\xe0\xc9\xd7\x3a\x2c\x9d\x5f\xbe\xf0\xb2\xaa\xe2\x56\xab\x67\xe9\xc5\x0d\x53\x5c\x7d\xff\xfc\xc9\x4f\xf1\xab\x83\x97\x9f\xaf\x4f\x7e\x3e\xa9\xfb\x2f\x7f\xfc\xbc\x7c\xcb\x0f\x5f\x7d\x76\xcc\x35\xdc\x2b\x5f\xbd\xfc\xe1\xe4\x6f\x7f\x19\x3e\x7b\x74\xef\xaf\x9b\x55\x7c\x78\x52\xde\xfc\xbc\x78\x74\xf6\xf6\xe0\xfb\x93\xef\xea\x4f\x3f\xd6\xc5\xe9\xeb\x27\x1f\x7f\xfb\xd3\xcb\xef\xbf\x2a\x7f\x7b\xf5\xf7\xb3\xe5\xea\xcb\x3f\x7e\xf6\xf0\xfb\x6f\x7f\xf8\xfc\xd3\xf8\xf8\xf3\x37\x5f\xfc\xf8\x64\x78\xf3\x7a\xff\xaf\x8f\xdc\xea\xf1\xb3\xd5\xcf\x9f\xfd\xf9\xdb\x8b\xfd\x6f\xbf\xfc\x72\xf1\xc3\xe7\xf1\xc9\xe7\x7f\x3b\xfc\xf4\xde\xf2\xab\x17\xfb\xdf\xff\xe5\xd2\x14\x6f\xc4\xda\x59\x79\x8c\xc3\xb2\xba\x67\xab\xe5\xf3\xcc\xf5\x85\x0f\x6e\xf5\x3c\x71\xaa\xd1\xbb\xe1\xf9\xe0\x87\xe8\x6e\x98\xf1\x27\xdf\x7e\x3e\xb8\x87\xf9\xe7\xbf\x9e\xbc\xf9\xe5\xf8\x2f\x9f\x3d\xff\xe3\x5f\x6b\xda\x0f\xbf\xfc\xf4\xc3\xc3\xef\xdc\x8b\x72\xef\xf5\xa3\x6f\xff\xee\xbe\xba\xf8\xb3\xf0\xf2\xe5\x3c\xe3\xbf\xfc\xf9\xf1\xf0\x79\xb8\xf7\xf6\xde\x8f\x7f\x3d\xf8\xe3\x37\xc7\x3f\xef\x2f\xbe\xfb\xf4\x87\x2f\x5e\x8f\x67\xa7\x65\xff\xe7\x9f\x3e\xff\x51\xe4\x68\xf9\xd3\xe2\xbb\xa3\x87\xdf\x1d\x3d\x79\xfc\xb7\xf3\xe1\xbb\xb3\xb3\xd5\x58\xbf\xfc\x7e\xf5\xd7\x6f\x3e\x39\x3f\x8d\xc3\x0f\xaf\x1e\x3e\xf8\xf6\x74\xf9\xcb\x4f\xaf\xfe\xf6\x30\xfe\xf9\xed\xdf\x3f\xf9\xc4\xfd\x8d\x2f\xe3\x6d\x9b\xf2\xfa\x65\x67\x7e\x8a\x3d\x65\xed\x2b\x35\x31\x70\xb9\x1c\x87\xb3\xb3\xfb\x7b\x2f\x60\x74\xf4\x67\xaf\x4f\x8f\xce\x55\xef\x3a\x3e\x1f\x8e\x8e\x57\xa7\x7b\xdd\x70\x7a\x34\xf4\x87\x47\xcf\x9f\xaf\x8e\xef\xef\xa9\xd5\xb0\xf7\xa7\x8f\x9e\xaf\x5e\x9c\xfd\x49\x99\xfe\x6a\x38\xfd\xe4\x74\x78\x7e\xb4\x3a\x3e\xef\x8e\x9e\xdf\xdf\x1b\x5e\x0d\x17\x27\xc7\xfd\x6a\x79\x66\xaa\x5b\x2f\xe1\xe9\xd3\xd7\xc3\xd1\xf1\xb9\x7b\x6a\x8f\x3f\xe5\x58\xf2\xd3\xec\xf7\xba\xb7\x7c\x7f\x8f\x3d\x85\x52\xf7\xba\xb7\x72\x7f\x4f\x88\x55\xfb\xf8\x85\xef\xef\xe5\xbd\xee\x17\x51\x29\x4f\x3e\xef\x75\x2f\x5b\x0f\xdf\x1d\x1f\x9d\x9f\xdd\xdf\x7b\x73\xb6\x3a\xfd\x46\x6d\xb1\x2f\x8f\xbf\x3b\xd3\xd1\x9c\x9d\x9f\xbc\xee\x4e\x5e\xbc\x80\xef\x88\x24\xf1\x5e\xa7\x3f\xd9\x08\xee\xef\xfd\xfe\xe3\x5c\x0b\x3f\xda\xbb\x77\xf9\xc9\x54\xf3\xe5\x27\x7d\xce\x9e\xaf\x3c\x79\xa5\x41\x4e\xe2\x1f\xeb\x63\xf7\x76\x61\xf0\x9e\x30\xe1\xdf\x60\x32\xc1\x84\xd3\xf5\x78\x92\x0d\x26\x95\x44\xcd\x14\x05\x09\x25\x1f\x0c\x22\x9e\x8a\x6b\x50\xc9\x54\x6a\xfa\x0f\x86\x0a\xff\x06\x95\xd5\x8f\x37\xf3\x94\x92\xeb\x53\xf6\xa9\xd1\x4f\x24\x5f\xbc\x81\x85\x85\x24\x34\x02\xe2\x40\x71\x06\x4c\x54\x9b\xe4\x4e\x80\xd9\x19\x79\x90\xf4\xe8\xd1\xc3\x77\x4e\xd0\x3f\x0c\x0f\xed\xb1\x7f\x6c\x82\x7c\xed\x04\x45\xa8\x36\xfe\xc0\x9e\x6a\x8d\x6d\x7e\x91\x52\x0d\x36\x41\x12\x27\xff\x06\xf3\x93\xeb\x17\x30\x90\xd3\x45\xd3\x09\x06\x12\x5f\x6d\x7e\x22\xe4\x84\x6d\x7e\x81\xf2\x87\x4d\x50\x72\x8e\x1f\x7f\xfc\xce\x09\x72\x29\x8f\xec\xb1\x0f\x9a\xe0\x55\x6e\x86\x09\x06\x6e\x13\x74\x94\x2a\xdb\x04\x0b\x45\x4c\x0a\xe4\x5c\x72\x9d\xe6\x07\x7a\xfe\xb5\x2e\xe0\x55\xbe\xb4\x3b\x3f\xc5\xc4\x46\x81\x95\xe2\x4c\x80\x8e\x62\x68\x08\xda\x93\xb0\xff\x37\x98\xa0\x5c\x3b\xc1\x4a\xc1\xfb\x49\x42\x67\x2f\x33\x83\xa9\xae\xcd\x4f\xa8\x94\x5f\x0f\x7e\x5e\xbc\x39\x5d\xf5\xc3\x2d\x0c\x54\x7c\x96\xa7\xf0\x25\xe8\xf4\x22\x09\x2e\x95\xc1\x30\x25\x9d\xea\x2f\xf8\xb9\xd8\xe4\x70\xf1\xfe\x73\x7b\x98\xf3\x83\x8f\xc3\x3b\xe7\x96\xb3\x7f\xf0\x68\xff\x1f\x9e\x1b\x5f\x3f\x37\x16\xe2\x10\xdb\xe4\x0a\xc5\x79\x6a\x31\xcd\x93\x8b\x77\x15\x9a\xff\x8b\xd3\x93\xeb\xa7\x27\xe4\x78\xe6\x2c\x5e\x7f\x05\x66\x32\xe5\xdc\x16\x6f\xba\xfe\xb5\x4f\xd0\x5f\x3f\xc1\x42\x65\xc6\xcd\x48\x22\xb2\x99\x21\xf0\x54\x36\xd7\xbf\xf6\x19\x86\x1b\x30\x34\x52\xd6\x69\x81\xbb\x08\xb9\x52\x37\x53\x2c\x75\x33\x45\xbd\xfe\xb5\x4f\x31\xde\xc4\x60\x78\xb2\x70\x98\x29\xc6\x49\x40\x64\x2a\x58\x50\xd9\x5c\xff\xda\x67\x98\x6e\x64\x33\x2e\xa6\x99\xcd\x84\x19\x4f\xb3\xe1\xef\x34\xc5\x74\x57\x5b\xee\x7f\x7e\x8a\x57\x95\x18\x9b\x62\x89\x36\x45\x4f\x52\x1a\x25\x66\xca\xc1\x4f\xe6\x47\x6d\x8c\xd4\xae\x7e\xed\x93\xe3\xeb\x27\x57\x88\x1d\xcf\x36\x44\x8c\xf3\xe4\x6a\x9d\x67\x57\x7f\xbd\x04\x78\x55\x7f\xd9\x9d\x1e\x93\x73\xcd\x72\x8c\x14\x62\x13\x13\x85\x78\xd2\xcf\xda\xe5\xaf\x7d\x7a\xfe\xfa\xe9\x45\xb3\x81\xb1\x7a\x8e\x64\x5a\xbe\x42\xcc\x7e\x9e\xdf\x87\xe9\x9f\xff\xb3\xf3\x0b\x37\x2c\x9f\xa3\xe4\xe2\x2c\x05\x5d\x92\x79\x82\x51\xe6\x09\xc6\x5f\x2f\xfb\x9c\x27\x18\x6f\xe4\x2d\x5e\x26\xde\x92\x66\x09\x28\xe4\x73\xda\xf2\x83\xfd\x1b\xf0\x97\x74\x13\x7f\x71\xbe\xce\xfc\x25\xcc\x36\xbc\x50\x70\x1b\x4f\x1f\xae\x7f\x55\x33\x7c\xbe\x5a\x9f\xbc\xbe\xd9\x8e\xc8\x2e\x3f\x05\x61\x99\x0c\x9c\x26\xd8\x0c\x78\x47\x75\xe2\x2f\x9e\xdc\x87\x19\xb8\xce\xe5\xf2\xe8\xea\xdc\x88\xd3\x65\x13\xc9\x17\xf7\xe8\xc1\xd5\x07\xa3\xbf\x6c\x2a\xee\x57\x7e\x1c\xaf\x3e\x58\xe4\xd2\x83\x31\xd6\xfd\xc7\xfb\xef\x04\x6b\x7c\xfc\xc0\x3d\x7e\x4f\xdb\x6c\x07\xac\x57\x05\xaf\x81\xb5\xb9\x47\x1a\xdf\x2e\x1b\xa3\x73\x32\x5d\x98\x9c\x7c\x10\x49\xfc\x67\x02\x75\xfd\xea\x1d\x06\xaf\xc4\x72\x3d\xa6\x72\x22\x3f\x59\x13\x1f\x24\x25\x6e\x02\xe8\xd5\xe9\xff\x73\xe6\xc5\x77\x9b\x97\x30\x85\xd9\x0e\x6c\x73\x7c\x3f\xef\x30\xc7\x4b\x13\xd8\xdf\x7f\xf7\xe2\x65\xa7\xff\x7d\xe8\x24\x6f\xd0\x43\x65\xb6\x08\x77\xe9\x81\x37\x4b\xf7\x41\xf2\xef\x7f\x68\xe9\x6e\x50\x40\x6f\x9a\x55\xa0\xea\xc3\x6c\xfb\xfd\x3a\x17\xee\xd9\xd1\xf9\xb3\x37\xcb\x1f\x57\xe7\xb7\x8b\x07\xa9\x0d\x39\x33\x49\x9d\x95\x34\x3f\xb9\x79\x33\x39\x0e\x33\x8a\xde\xd9\xc8\xdd\x4c\xb4\xec\x5d\x5e\xd0\x28\x77\x98\xab\xa4\x12\xee\xee\x52\xbb\x3c\xd7\x1b\x78\xb6\x9f\x14\x36\x36\xd7\xa7\x4e\x36\x51\xe5\xb6\xac\x81\xd2\xac\xcf\x30\x49\xb9\x2b\xc2\xfe\x0f\x4f\xf6\xe5\xe9\xf0\x62\x38\x1e\x6e\x67\xa6\x5e\x95\xd0\xc9\xf4\x75\x33\xe3\xb1\x6b\x30\x9f\x44\xa1\x94\x49\x3b\x15\xf9\x20\xc6\xfa\xf1\xc7\x1f\x8b\x73\x77\x88\x30\xc5\x07\x52\x3f\x6c\x7e\x37\xf0\x1b\x9f\x82\xcd\x2f\x53\x74\xb3\x6e\x1a\xa7\xd9\xb1\x5a\x4c\x32\xb9\x10\xfd\x87\xb9\x10\xff\x25\xb3\x3b\x3a\x7e\x71\x3a\x2c\x4f\xce\x6e\x26\x4b\x9b\x5f\xe5\x29\xbc\x64\x93\xeb\x85\x5c\x33\xea\x27\x9f\x8c\xa7\x9c\xe3\x87\x4c\xec\x71\x7e\x28\xe5\x2a\x5a\x52\xb8\x12\x42\x7c\xf8\x28\xc9\xc3\xf4\x4e\x10\xa4\x14\xcb\x7e\xfc\x50\x10\xdc\xb4\xc4\x75\x0e\x21\x36\x10\x30\x95\x29\x3a\xd3\x22\x4f\x95\x24\x7c\x90\x5c\xf9\x5f\x06\xc1\xab\xa3\xe5\xe9\xc9\xd9\xc9\x8b\xf3\xfe\x7c\x35\xbc\x4b\x31\x82\x92\x60\x76\x18\x7c\xc5\x8d\x47\x73\x43\x87\x44\xc1\xa5\xd9\x87\x95\x3f\xcc\x0c\x8b\x0f\x92\xec\xfb\x6b\x54\xc9\x4b\xd3\x0c\x8f\x62\x7c\x78\x35\xfa\x7c\x25\xe0\x53\x83\x7b\x70\xe7\x80\xcf\xf5\xd0\xb8\x01\x2d\x42\x0d\x93\x73\x5d\xb6\x98\xb8\x4b\x13\x13\x0f\x1b\x9b\x34\x86\x0f\x72\xad\xff\xaf\x02\xe3\xf5\xb0\xfc\xf1\xe6\x74\x1d\xf6\xfe\xa9\xe4\x49\x8e\x55\x4a\x7e\xf2\x8b\xb5\xeb\x66\xb7\xc6\x39\xf4\xe5\x88\xf9\x83\x5c\x63\x1f\xef\x67\xd9\xcf\xef\x9c\xdd\xa3\xc7\x1c\xd3\x9d\xed\xd6\xeb\x66\xc7\x37\xcc\x2e\x90\x2f\xd3\xec\xda\xb5\xb9\xfd\xe6\xc9\x31\x7f\xe8\xe4\x4a\xa9\xe9\x0e\x81\xcb\x90\xa3\xd4\x47\xff\xc8\xe4\xe4\xfa\xc9\x55\xe2\x69\xe5\xda\xe5\x3f\x6f\xe1\x72\xcc\xfb\x0f\xaf\x9a\x85\x57\xb4\x8e\x28\x35\xdd\x59\x9d\xdc\x9a\xdb\x35\xd9\x41\x98\x5b\x69\xfc\x3a\x91\x73\x33\x61\xe2\xd2\xbc\x61\x26\x9d\x4d\x72\x49\xfa\x20\xb6\xfd\x3f\x36\x35\xbe\x7e\x6a\xec\x37\x73\x9b\xae\xa7\xc9\xf9\x7f\x74\x72\xff\x6a\x82\xbb\xea\x86\xde\x9d\x5c\x35\xe4\x6b\x79\x02\x6e\xce\x60\x72\xd3\xba\x65\xca\x1f\x36\xb3\x7f\x9c\xda\xee\x59\x92\xe3\xd9\x2f\xaf\x9e\x9d\x8c\x98\x58\x4b\x91\x1c\x4f\x86\xe7\x47\xc7\x2f\x7b\x09\x7b\xdd\xfa\x68\xf5\xf3\xc3\x93\xb7\xf7\xf7\x5c\xe7\x3a\x09\x9d\x84\xbd\x3f\x7d\xf4\xb2\x7b\x71\x34\x8e\xfd\xe9\x9b\x71\x75\x7f\x6f\xb5\x5e\x1d\x9f\x3c\x7f\xbe\xd7\x2d\xc7\xa3\xd7\x97\x7e\xfb\xd3\x47\xaf\x87\xf3\xc3\xee\xf9\xfd\xbd\x27\x2c\x9d\x50\x1c\x2a\xc5\x4e\xff\x5c\xc7\xce\x75\x5c\xbb\xcd\x0f\xce\xb9\x9e\xeb\xc5\x13\xee\x58\xf6\xb9\x8b\x54\x25\xb6\x4f\xfd\xa9\xe3\x33\xe6\x2e\xd8\xbf\xb9\x63\xee\xa7\xeb\x1e\xff\xfc\x86\x3b\x2e\xe4\xb2\x3d\x7d\xb1\xd7\x9d\xbc\x1e\x96\xc8\x5f\x25\xd1\xf9\x6f\x46\xc2\xa4\xaf\x51\x8e\x0f\x28\x47\xca\xe8\x9b\xb5\x83\x65\xc2\xfb\xae\xdb\xed\x68\xd8\x7a\xac\x67\x1d\xeb\x83\xed\x51\xb7\x99\x6d\x3f\x44\x39\xea\xdf\x05\xe0\xfe\xf2\x4f\x1f\xdd\x33\x20\xdf\x06\x6c\x4e\x97\x80\xcd\xa9\xe3\xf4\x81\xc0\x2e\x1d\x53\x1c\x12\xc5\x2e\x6d\x60\xed\xbb\xcd\x0f\x80\xb5\xbf\x78\xe2\xba\x32\x94\xae\x60\xca\x9c\x3a\xf7\xc0\xfe\xe1\xd8\x75\xe5\x16\x10\x66\x92\x78\x09\x7e\xa5\x73\xc3\xf4\xb2\x7e\x5f\x85\xd9\x76\xef\x36\xc0\x0f\x04\xd9\xe9\x9b\xe3\xe3\x7f\x1d\x7e\x86\xdc\xe1\x43\x87\xd9\x27\x2a\xa5\x13\xaa\xa1\xec\xce\xc7\x95\xa8\x9f\x3e\x3c\x60\x47\x35\x77\xf6\x39\xe1\xd1\x70\xf9\xc7\x4c\x35\xc5\xce\x53\xe0\x30\xb7\xc3\xd6\x4e\xea\xac\x9d\xdd\x8e\x6d\x34\x17\x4f\x84\x7c\xe4\xae\x50\x88\x3b\x58\x48\x91\x95\x30\x8a\xe2\xa1\x4b\x9d\x7d\xea\x7b\x42\xb1\x63\x59\xba\x2e\x50\x28\x9d\x27\x76\xd2\x15\x12\x9f\xbb\x4c\x92\xf5\x49\xf1\x65\x17\xee\x5e\x69\x21\xc4\xba\x1f\x28\x56\xdf\x09\x53\xf4\x59\x69\x28\x13\x97\x0a\x62\x5a\x3a\x1d\x6a\x64\xe2\x50\xd4\x68\xca\x14\x24\xf4\xf0\x70\xef\x8c\xaa\x4a\xee\x75\x68\x17\xaf\xb8\x92\xe8\xdc\x2f\xdd\x2e\x7a\x77\x5f\x84\x4a\x94\xae\x92\x76\xe7\x01\xa6\x50\x71\xa5\x23\x8f\xc4\xb5\xf7\x18\x4b\xa5\xe8\x4b\x5f\x28\x48\xea\x90\x52\x96\x87\x6d\xf0\x91\xd7\x45\x08\xb1\x2e\x03\x71\x0e\x3d\xdb\x24\x7b\x85\x71\x69\xd7\x98\x70\xe7\x7a\xaa\xdc\x13\x4b\xe9\x99\x72\xed\xc9\xa7\xd4\x0b\x25\xb9\x0c\xd5\xd0\xeb\x28\x2f\x76\xf9\x85\x74\xf1\x6e\xd4\x14\x3a\x96\x1d\x72\xea\x26\x8a\xe8\xf5\x5f\x57\x09\xea\x8e\x88\xfe\x2f\xe1\x0d\xa1\x74\xf8\x00\x9e\x07\xca\x2e\x77\x42\x8a\xaa\x97\x11\xb4\x21\x7a\xa6\xaa\x40\xad\x65\x26\xf7\xdd\x5f\x22\x65\x5d\x4f\x0a\xc5\xdf\x84\xe3\xbb\x9d\x62\x20\x17\x4f\x98\xc4\xa7\x2e\x92\xe4\x7a\x79\x31\x14\xa1\x14\xc4\xce\xb7\x4f\x7d\x2d\x50\x96\xdc\x15\x62\xed\x71\x1b\x19\x42\x35\x44\xee\x0a\x39\xe7\xdb\x27\x80\x1f\xa9\x48\x5f\xa9\x96\x74\x09\x1d\x27\x6c\xf5\x14\xa5\x5c\x8f\xad\xd7\xb7\xd6\x5d\x6e\x6d\x83\x8c\xd7\x0e\x58\xb1\x78\x7b\xc0\x1b\x64\xcb\xbb\xc8\x56\xba\x40\x71\xf0\xa4\xdc\x62\xc2\xb5\xdc\x6d\xfe\xad\xa8\x96\x2f\x9e\xf8\xae\x0c\xb1\xb3\xa9\xb3\xeb\xdc\x03\xfb\x87\x63\x7f\x1d\xdf\x7e\x07\x9a\xd9\x86\xaf\x1b\xb9\xe9\x86\x10\x22\xb9\xec\x75\xa9\x9c\x5f\x52\x92\x9e\x72\xc8\xba\xb4\x31\x2b\x59\x65\x69\xd7\x42\x59\x69\xbf\x27\x8e\x3d\x29\x68\xa4\xd4\x9e\x5c\x90\x5e\xcd\x6a\xc5\x08\x17\xc8\x05\xdf\x0b\x09\x53\xca\x7a\x51\x95\xe7\x50\x04\x03\x49\x89\x52\xe8\x99\xb8\xd3\xbb\x09\x57\x42\xd9\x49\xe7\x3a\xe2\x44\xce\x0b\x79\xd6\x16\xc8\x27\x4f\x2e\x05\x72\x4c\x9c\xc9\x09\x49\xc2\x57\x75\x8a\x63\x42\x2e\xf4\x14\xab\x62\x76\x66\xd1\xf5\x71\xf5\xe2\x15\x65\xa7\x3c\x2f\xf9\xb0\x54\xd1\xa4\xac\x53\xc7\xec\x03\x55\x2e\xca\x7a\xd8\xe3\x8a\x4a\x08\x9d\xb2\xbe\xea\x7d\x4f\x25\x29\xcb\x93\x98\x71\xb9\x9f\x28\x4a\x97\xa8\xd4\x2e\x74\x85\x6a\xec\x94\xf8\xa9\x48\x59\x6a\xbf\x41\x14\x79\xab\x6a\x11\x25\xe9\x38\x8a\x3e\x9c\xfc\x7e\x86\x86\x21\x8e\x4a\x00\xed\x84\x4e\x14\x99\xb8\x76\x22\x4b\x36\x66\xa5\xba\x49\xd1\x1e\x45\x3a\x4f\x5e\xec\x8a\x29\x26\xdc\xab\x8e\x49\x79\xbb\xa4\x42\x4a\x43\x1e\xbf\xeb\xd4\x15\x68\xda\x82\xf2\x7d\x5d\x86\x90\x12\xd5\xa4\x34\x18\xd8\x1e\xd4\x79\x66\x25\x47\x9f\xf4\x81\x12\x7a\x1d\x4f\x4f\x4e\x44\xf9\xa1\xae\xa3\xcb\xd5\x2e\x75\x8d\x32\x40\x13\x93\x37\x58\x7a\xca\xac\xd3\xe1\x98\x7b\x4f\xc5\x29\x48\x7d\x88\x00\x91\xf4\x9e\x7c\xc5\x75\x49\xbd\x6f\x1d\xd7\x92\x4c\xa4\xbf\x0b\xfd\x6e\xe4\x71\x1b\xf4\x73\xc4\x49\x69\x41\x82\x2c\x29\xf8\xd8\x53\x14\x4f\x39\xe8\x28\x24\xb4\x8b\x1a\xc1\xee\xd9\xe9\xac\x5c\xe9\x49\x9c\xf4\xe4\xbc\x62\x61\xe8\x29\x2b\xea\x79\x5d\xf6\x48\x41\x41\xe0\xc0\x9c\x92\xca\x84\x9a\x29\x84\xd2\x37\x4c\xe6\xec\xa7\xcb\x52\x19\xa8\xc7\x42\x4e\x3c\x89\xa2\x9a\xa2\x82\x42\x28\x6a\x2f\xa4\x77\x38\x12\x97\x82\xef\xe4\x6d\xa9\x82\xef\x29\x70\xc5\xa2\x49\x4f\xb5\xe4\x8b\x57\x14\xaa\x62\x1f\x07\x60\x9f\x8b\xd9\x50\x8c\x0b\x25\x90\x44\x48\x11\x57\x14\xb5\x57\x05\x70\x8c\x3d\x25\xa7\x6b\x87\x29\x24\x97\xf6\x03\x71\x52\x56\x11\x04\x2c\xb7\x8b\x54\x52\xc2\x55\xa1\xa8\x28\xc8\x2a\x2d\x29\x45\xc5\xa0\x50\x75\xf5\x43\xea\x02\xa5\x20\x2a\xe7\x63\xee\x38\x10\x57\x25\x66\x4e\xa1\x63\x95\x64\x4e\xbf\x97\x54\x52\xc5\xd8\x25\x72\x4f\x51\x91\x95\x14\xfd\xf5\x8a\xc9\x55\x8f\x9b\xde\x7b\x45\x47\x21\xa9\x8a\x1e\x8a\xff\xfa\x73\x2c\xa0\x0e\xa5\x37\x86\xa8\x95\x0c\xfa\x06\xb3\x34\xdc\x08\x5e\x97\x08\x98\x51\x7a\x72\xd1\x2b\x8b\xd0\x3b\x05\xf0\x8e\xd3\xa5\x50\xf1\x1e\xf3\xcf\x35\x00\x94\xac\x68\xa9\x9d\xb0\xde\x4d\xa9\xd7\xc6\x00\x9f\xd0\x0b\xf9\xa2\xe8\xe6\x2b\x03\xc5\x8b\x5d\xdf\x0d\xf5\x26\xf7\xc2\x6d\xfc\x4f\xe5\x2c\xa2\x0f\x6e\xef\x37\x5e\xf8\x1b\x2f\xfc\xd7\xf2\xc2\xc9\xb7\x70\x1b\x47\xbc\x82\x90\xbf\x71\xc7\x0f\xe5\x8e\xbf\x31\xc7\xeb\x71\x71\x3c\x7a\x36\x3c\x1b\x6e\x31\xb3\x77\x75\x43\xe1\x8e\x15\xd5\xca\xa7\x85\x8a\x8b\x6b\xa6\x10\x0e\x13\x05\x17\xd7\x4a\x75\xe1\x92\x55\x55\xf4\x4e\x97\x0e\xfb\x40\xe2\xfd\xc8\x4a\x77\x50\xe0\x93\xd2\x2c\xd5\x10\x96\x14\xb3\x5a\x76\x89\x6a\x10\xca\x42\x55\xed\x40\x92\xb2\xd6\xb5\x1a\x94\xdc\x3a\x7c\x98\x02\xae\xc6\x82\xde\x1d\xd5\x32\x2d\x6a\xb4\x87\x03\x5d\xc8\xcc\x1d\x97\x43\xf4\x32\x78\xe2\x8a\xf6\xab\xd9\xcb\x7a\x15\x95\x95\x2d\x2a\xc9\x92\x1c\x2b\x87\x05\x9b\x0d\xa2\x44\xac\x7f\xed\x89\x8b\x27\x91\x62\xd5\x11\x6b\x53\x72\x80\x49\x76\x19\x03\x46\x42\xbb\x9a\xe9\x4b\xe0\x82\x8e\xb9\x6f\x83\xee\x77\x47\xbd\x74\x1d\xc5\x9c\x94\xe7\x28\x9a\xbb\x30\xdf\x1e\x75\xd4\x1e\xa3\xae\x54\x74\x2e\xe5\x53\xf4\xf8\xc0\x93\x38\x50\xb6\x33\x6f\x82\x22\x32\x07\x2a\x3a\xe6\x7d\xfd\x87\x52\x66\xe7\xa9\xf8\xd2\xe9\x58\x30\xca\xbb\x38\x52\xa6\x15\xbe\xd9\xbe\xdc\x55\xbf\x52\x4e\x5d\x26\x9f\xfd\xa7\x91\xbc\x2f\x6b\x26\x39\xb4\x2b\xe5\x31\x97\xd6\xd7\xeb\x8d\xce\x7f\x5a\xa9\xf0\x08\x83\x9f\x49\xd8\x1f\xb0\xb2\xa8\xd0\xc5\x25\x85\x42\x1c\x32\xe5\x92\x28\x51\xce\x1e\xac\x26\xaf\xbd\x52\xab\xc2\x49\xb9\x8d\x77\x99\xaa\x4c\xac\xc6\xa5\x3c\x2a\x0f\xd6\x97\xb2\x82\x89\x3b\xf6\x87\xb0\xde\xf6\x15\x22\x1c\xd5\x30\xd7\xd1\xab\x58\x60\x78\x0d\xbc\xf7\x8b\x48\x29\xe5\x7d\x15\x97\xec\xbb\x40\xd2\xb5\x87\x7d\x37\x0d\xf3\xe2\x89\x52\x8d\x74\xfe\xd3\x44\x5c\xc7\x7e\x6b\xc0\x42\x39\x95\x2e\x2e\x7b\x0a\x19\x23\xee\x29\x97\x48\x49\x07\xc5\x57\xc7\x4c\xde\x25\xaa\xb2\x35\x62\x65\x02\x15\x23\xd6\xb6\x3b\xf6\x9f\xa2\xaf\x07\x2a\x59\xa4\xb3\x4f\xf3\xb9\x6d\x0f\xf7\xca\xed\x36\xc0\xf7\x59\xd8\x77\x68\x36\x2f\x27\x29\xf2\xf8\x51\x7a\xc8\x8f\xf7\x7e\xa3\xe7\xff\x0c\x7a\x7e\x87\xfe\x70\xdb\xb2\xff\x46\xe4\xff\x3e\x44\xbe\xd9\x4c\xff\x6e\xdb\xe5\xb2\x8f\x50\x57\x4f\x1c\xf9\x54\x3b\x25\x75\x03\x38\x94\xd4\x9a\x16\x95\x42\x1d\x48\x35\x2d\x73\x39\xf5\xe4\x59\xf5\x9d\x18\x94\x16\x53\x51\x5d\x2b\x86\x85\xa7\xc2\x79\x4c\x14\x75\xc4\x54\xc2\x42\x5b\xba\x78\x45\xb5\xc6\xbe\x50\xc8\x61\xec\x33\x95\xd2\x07\x4a\x1c\x06\x4a\xaa\xee\xb4\xf6\x52\x52\x6d\xdb\x25\xd5\xc1\xa0\x87\xb5\x6e\xbc\x82\x31\xad\x83\xe2\x9f\x42\x5a\x24\x11\x73\x55\x7d\x56\xc7\x80\x21\xe8\x08\x3a\x8c\x60\xed\x29\xa5\x82\xe7\xc8\xd5\x40\xbe\x14\x92\xa8\x46\x8b\x8c\x9e\x4a\xa9\x9d\x57\x2e\xa4\x53\x29\xfa\x87\x5e\x28\x55\xd8\x6e\x5b\xf3\x23\xaf\x74\x1d\x4b\x5c\x64\x92\x92\x06\x4a\x41\xf5\xcd\x32\x8d\x4a\xd4\x72\x4a\x17\x4f\x14\xe1\x6a\x27\x30\x97\xc6\xbe\x50\x54\xc3\xc0\x73\x5e\xf7\x95\x52\x52\x54\x8d\xda\x65\x59\x8b\xea\x79\x23\xbc\xd8\xd0\x03\xa3\x0e\x41\x7b\xf4\x53\x93\x2e\x51\x8c\xb2\x8e\x54\xab\x1f\x76\x86\x92\x12\xc5\x12\xc6\x48\x08\x01\x84\x3c\x28\x9e\xe8\x9f\xdd\x8f\x4a\x28\xce\xf9\x31\x28\x53\x54\x15\x3d\x06\x35\xe9\x82\x3e\xae\x1a\x70\x26\xa7\x6a\x69\xe1\x70\xf1\x2a\xa8\xb5\xd4\x27\x85\xe6\x2e\xfc\xb3\x4e\xc9\x15\x19\x7b\x30\x64\x55\x49\xfb\x40\xd1\x47\x5d\x5a\xe1\x85\x72\xac\x34\xea\xf8\x43\x3f\x8d\x7f\x33\x44\xa7\x96\x69\x94\x85\x2e\x9d\x36\x9c\x28\xa5\xd6\x70\xad\xb0\x5a\x0f\x84\xbc\xa8\x99\x97\x25\x5d\xc2\x24\xd1\x25\x5e\xb3\xa3\x60\x2b\x1c\x22\xb1\x57\x74\x21\xaf\x33\x1f\xd5\x00\x54\xe5\x3d\xf9\xb0\xdd\x34\xc5\x90\xd4\xbe\x18\x0b\xac\x2c\xb5\x05\xcb\xce\xa8\x18\x7a\x2d\x3b\xe0\x68\x65\x35\xbb\x24\x5d\x5c\xeb\x0d\x7f\x87\xde\xbb\xa1\xab\x77\x9b\x60\xd7\xd1\x15\x07\xb3\x62\x9c\xda\x2f\xa3\x59\x5d\x6a\x53\xc9\x1a\x8a\xfb\xa0\x77\xf1\x84\x41\x44\x7c\xe9\x55\x3c\x1d\x28\xd9\xa9\x30\x8b\xa9\x2c\x98\xbc\x22\x41\xa7\x42\x32\xaf\x23\xe5\x90\xd4\x58\x8f\xb5\x4f\x14\xa2\xb2\x45\x89\xe4\x4a\x1c\x28\xaa\xd2\xdf\x9a\x8a\x2e\xf5\xf0\x28\x84\x9a\xd0\x58\xeb\x21\x7a\x35\x11\xd6\xca\x06\x45\x81\xce\x59\x09\x06\xe4\x26\x3e\x6b\xe7\xa3\x50\x51\x1b\x87\x32\xe7\xb5\x50\xae\x11\xcf\x45\x21\x97\x99\xa4\x2a\x53\x53\x9b\x76\x14\xaa\x49\x51\xcd\x3b\x3f\x50\x74\xa2\x7f\x6d\x81\x3c\x39\xb5\x1b\xb7\xba\x26\x51\xdb\x3d\x84\xb4\x08\xe4\x74\xbd\x42\x55\x83\x6b\xa2\x02\x09\x49\x67\x5e\x2e\x9e\x14\x72\x1e\x42\xb0\xa6\xb1\x4f\x14\xbd\xae\x5e\xa9\x0b\x25\xaf\x03\xa4\x55\xaa\x66\xa0\x23\xe3\x12\x0f\x3c\x9c\x2d\x91\x24\x6b\x8b\x59\xff\x66\x58\x0a\x05\x59\x07\x8a\x29\x63\x02\xa5\xa8\xfd\xaf\xa8\x25\xb9\x52\x08\x71\xf4\x98\x80\x2a\x24\x4b\xe2\xa0\x36\x3e\x79\x57\xc9\xa5\x42\x01\x56\xb1\xf2\x0e\x04\x2e\x62\x52\xf8\x3b\xb5\x0f\x73\xe8\x23\xf9\xcc\x4a\x28\x21\x5c\xbc\xf2\x94\x72\xec\x03\x95\x78\x79\x05\xa2\x92\x67\xf2\x8a\x84\x5c\xb4\x9f\x74\x10\xc8\xa2\x5d\x71\x11\xa9\x26\x3f\x0a\x65\x0f\x03\x90\xe3\x70\x09\x5c\x3e\x28\x40\x16\x14\x6a\xd9\x85\x6e\xaf\x5a\x0c\x05\x49\x07\x94\x43\xec\x3c\xa5\xe1\xf2\x22\x87\xa8\xb0\x5c\x67\xaa\x21\xd9\xdc\x33\xb1\x4b\xe4\x63\x21\xc9\x81\x42\x90\x31\xab\x3d\xae\x28\x86\xc5\x0b\xfa\x67\x3d\x07\xc8\xcd\x32\xe2\x71\x15\x06\xfe\x52\x07\xc4\x3e\xf5\x54\x02\xab\xa8\xa8\x05\xb6\x78\xf1\xff\x20\x7d\xdd\x49\x3f\xbd\x7b\x78\xcb\xd4\x9a\x37\xa7\xe3\x7f\xff\xfe\xee\x75\x9a\xfe\xb0\x37\x65\x05\x5c\xe2\xed\xfc\x6f\xc0\xdc\xf9\xff\x6d\xe6\x7e\xef\x7d\x16\xfe\x72\x31\xaa\x3f\x6c\xb4\xa0\xa2\x4a\x10\xe7\x6a\x6a\xd0\x46\x0b\xca\xef\xd4\x82\xe2\xc2\x53\xae\x69\x4b\x0b\x5a\x67\x8a\xc1\x43\x0d\x4a\xff\x3c\x35\x28\xde\xa2\x06\x2d\xd8\x53\xdc\xd2\x82\x6a\x53\x82\xfc\x65\x25\xa8\xea\xdf\x9d\x94\xa0\x14\x6f\x52\x82\xde\x4f\x31\xbd\x93\x25\xf2\xcf\x21\xf0\x1b\x0b\x6c\xb5\x75\x56\x11\x03\x09\x13\x21\x61\x04\x38\x54\xb2\x8a\x18\x97\xc7\x40\xb5\xc0\xf5\x9e\x20\x63\x3c\x64\x0c\xc2\xd2\xe9\x1a\x21\xe3\x27\x21\xe3\x8d\xd1\xd6\xeb\x84\xcc\x2c\x63\x4c\xc4\x14\x35\x13\x9a\x88\xd1\x95\x61\x07\xa5\x20\x05\xb8\xc4\x0b\x84\xcc\xc1\x66\x90\x26\x63\x04\x32\x46\x6e\x93\x31\x2a\x62\x7a\x4f\x21\xfa\x9e\x29\x55\x51\x21\x13\x2b\x84\x0c\x42\x11\xec\x6f\x16\x32\xf9\x16\x21\x03\x4d\xa4\x96\x2b\xda\x0a\xc4\x4c\x86\x98\x31\x5d\xa2\x24\x62\x17\xc9\xc7\xbc\x23\x66\xd4\x82\x8d\x02\x31\xe6\xe7\x58\xf8\x8e\x9c\x09\x90\x33\x71\xb7\x87\x49\xce\x98\x98\x11\x88\x19\xb9\x1b\xa5\xdf\x58\x4c\xec\x0f\x5b\x7a\x19\xcc\x45\xe7\xe3\xb6\x5e\xa6\xb6\x58\xb9\x3a\x53\x9f\x27\xbd\x0c\xd1\xf7\x50\x17\x88\x15\x28\xae\x20\x8c\x52\x25\x42\x33\xf3\xd0\xcc\x0a\x34\x33\x3f\xf6\xc9\xc2\x26\xef\xa1\x99\x41\x31\xbb\x45\x2f\x93\x2d\xbd\x4c\x6e\xd1\xcb\xa0\x96\xf1\x75\x6a\x59\xda\x85\xf1\xb6\x5a\xc6\x37\x68\x65\xf9\x7d\x48\xfd\xc7\x5b\x6c\xd0\x1d\x27\xa2\x10\x4b\xea\x58\xb1\xa7\x8c\x81\x62\x44\x1a\x4e\x1a\x54\x9d\x95\x96\x19\x21\x0a\x35\x15\x81\x49\xf5\x2d\x1f\x82\xde\x6d\x3f\xc3\x82\x56\x3e\xa8\x32\xba\x24\xe9\x94\x31\xc6\xed\xd7\x15\xa8\xd2\xb9\x03\xed\x29\x6a\x4f\xb1\x3e\xd8\x79\x5f\xf4\x47\x9f\x65\xa1\xa6\x65\x5e\xba\x5e\x41\xee\x42\xe9\x01\x7e\x96\xd8\x93\x70\x3e\x60\x47\xb5\x14\xca\xe5\x52\xf7\xe4\x73\xd6\x07\x14\x69\xea\x6e\xc7\x2c\x09\xaf\x26\x4a\xb5\x2b\x14\x3d\x5e\x15\x1b\x10\x60\xdb\x9e\x50\xd5\xa0\x40\x41\xb5\xae\x5b\xcf\xb8\x37\x46\xd5\x71\x15\xbd\x54\x79\x98\x9b\x77\xd6\xca\xe5\xd4\x24\xca\xca\xa4\x2a\x38\x58\x8c\x0a\xaf\xa4\x5a\xf1\x56\xaf\xbc\xd5\xa9\xc4\x70\xa5\xd3\x88\x4e\xb7\xa0\xbd\x03\x2d\x38\xf1\x94\x58\x0d\x5a\x3b\xa0\xc0\x7c\x26\x68\x79\x72\x3a\x9a\x4b\xd0\x52\xc1\xb1\x05\xae\xeb\x67\xbc\x3b\xa7\x8a\x60\x8d\x0a\x4e\x7f\x48\x55\x82\x62\xbd\xc4\x51\x28\x25\x84\x2f\x24\x1e\x32\x09\x3c\x16\x55\x25\xae\x73\x82\x20\x9f\xf2\x9b\x90\xe2\xa1\xea\x09\x05\xb7\x4b\x81\x19\xe1\x95\xbe\xc4\xfb\xc3\x5e\x9b\x5b\xa0\xe5\xf7\xc4\xed\x3b\x39\xc8\x8b\xb1\x71\xa5\xe0\xa2\xfc\x1d\x29\x82\x85\x07\x55\x5e\xf4\xaf\x2d\x46\x4e\x9d\x53\xaa\x0e\x5e\x39\xb7\xe2\x2e\x40\x31\xbb\x87\x48\x59\x08\x49\xe3\x9f\x61\xf7\xf5\xde\xde\x3f\x60\xeb\x8b\xa9\xc4\x07\xc4\xd9\xeb\x9f\xa5\x1f\xea\x8f\x79\xe1\xa9\x06\x43\xed\xc4\xe4\xbc\xef\x89\x19\xe3\xeb\x89\xe3\x41\x46\x64\x4a\x32\x1a\x4f\xd6\x24\x08\x2f\x05\xe2\x08\x68\xed\x8e\x4a\xd5\xc9\x42\x1c\x4d\xe2\xa8\x64\xb3\x79\xcd\xfd\xba\xf6\x44\xa8\xeb\x40\x2c\x86\x65\x49\xd4\xaa\x83\xe2\xd2\x5e\xf7\x64\xd1\xd3\x24\x4b\x55\x6d\xc9\x79\x62\x11\x7c\xe5\x74\x19\xb9\x95\x80\xa0\x52\x99\xb8\xbc\xae\x5b\x9e\x7b\xf5\x94\xc4\x3a\xd5\xe9\x4e\xb3\xd5\x5b\x80\xb5\x6c\x60\x3d\xcf\xd7\x21\x4a\x4c\x1c\x0d\x5a\xd7\xcc\x07\xc0\x2a\x94\x5d\xb9\x02\x2c\xe5\x93\x1b\x68\x5d\x3f\xdd\xdd\xe9\x24\xf2\x85\x55\xf8\x70\x28\x87\x54\x6a\x5e\x14\x62\xe1\x91\xa9\x78\xa4\xde\x49\x3e\x64\xe2\x14\x0e\x32\xe4\x4b\xa6\x14\x94\xfd\x33\x34\x4d\xae\xf1\xd3\xa2\xd6\xa3\x2e\x5e\x2e\x5d\x26\x0e\x69\x11\x29\x84\x7c\xd8\x6b\x6b\xeb\x40\xd9\xf1\x7b\xe2\xf5\xdd\x33\x1f\x76\x24\xee\xbb\x0b\x55\x36\x89\xfb\xa1\xb4\x1c\xb7\x69\xd9\xdf\x85\x96\xef\x3e\xd4\xcb\x25\x27\x27\xe5\xe0\x3f\x8c\x95\xde\x09\x16\x97\xcb\x53\x4e\xb0\x48\x88\x02\x70\x54\x83\x4e\xad\xc8\x18\xbb\x2b\x62\x7a\x92\xb3\x10\x76\x50\x59\xe3\x2e\xb0\x20\xed\x30\xa5\x45\xa1\x1c\xaf\x0a\x5a\xbb\xb9\xd1\x02\xf2\x8e\xb8\x9b\x5f\xe6\x6b\xc0\x60\x90\x32\x11\x1f\xa9\x5e\x82\x73\x07\x00\xaf\x91\xe8\x1f\x6f\x58\xa5\x4a\x59\x5f\xbd\xdc\xab\x7e\x8f\xaa\x59\xf8\x7e\xd6\x2c\x36\x2d\xbb\xde\x54\x0f\x5d\xe2\x7e\x56\x4d\xa6\x97\xfb\x2d\x11\xfd\x3e\xf4\x77\x97\x44\x8f\xeb\x17\xf2\xc6\x32\x9c\x7f\xd8\xbb\xd1\x3b\xf9\xe1\x7c\xa8\xbe\x0f\x1f\xba\xc1\x2f\x74\xf7\x29\x5d\xae\xbc\x39\x9b\x71\xff\x31\x52\xe1\x4e\x60\xb8\x5c\x9f\x73\xe3\xae\x92\x8c\xdc\x79\x29\xc5\xc4\x72\xec\xae\xaa\x1b\x4d\x5f\x80\xc3\xc2\x23\x9f\x47\x76\x41\x35\xcf\x68\x11\x29\x2b\xb0\xfa\x69\xc8\xfd\x34\xe6\xde\x24\x37\x23\x13\xdc\x3a\x98\x35\x03\x37\xbf\x4e\x41\xae\x83\x05\x80\x65\xda\x8a\xa7\xac\xe6\xe4\x35\x5a\x43\x5c\xa8\xd2\x62\xe0\xe2\xdd\x95\x8a\x63\xa2\x22\x88\x86\xe6\x74\xad\xd2\x30\x42\x59\xea\x67\x65\x69\x33\x36\x65\x15\x90\x1d\xc8\x84\x69\x0b\x3d\xc3\xc6\xf5\x5b\x4a\xc7\x6d\xe4\xfa\xe6\xfc\xd0\xdd\x25\x3b\x3a\x53\x09\xb5\xf3\x9f\xb2\x28\x2d\xb9\xac\xdc\xc5\x1f\x46\xfd\x55\x39\x46\x06\xda\xfa\xa8\x06\x7b\x71\x45\xef\x26\xbf\xf4\xe4\x02\x72\x97\xb8\x74\x81\x5c\xe0\x3e\xb6\xbc\xa2\x2a\xa1\xaf\xe4\xe4\x60\x6a\xf8\xe2\x49\x50\x8e\xd3\x95\xb9\xd9\x03\x6e\xb1\xcc\x28\x07\x9b\x7b\x4b\x95\x9a\x9c\x55\x84\xaa\x25\xc7\x70\xd5\xa9\x11\x89\x36\x3b\x6d\x13\x03\x2c\xbd\x0e\x41\x6c\x68\xbd\x0e\x2d\x5f\xbc\xda\x3c\xa3\x8d\x0b\x8f\x9b\xbb\xfa\x03\x07\xc4\x75\x33\x49\x2a\x6a\x46\xa5\x78\x37\xf0\xdd\x21\xbb\x57\xd4\xc2\xee\xf8\x10\xe2\x66\x64\x0a\x2e\x77\x81\x7c\x39\x0c\x14\x43\x31\x97\x9b\x4a\x21\xe4\xb2\xba\xd4\x05\x0a\x2e\x2e\x85\xcc\xcb\x21\xaa\x32\x70\xf0\x7d\x20\xef\xe1\x96\xcd\xf0\x96\x72\x3a\x40\x79\xbb\x8e\x2f\x9e\x08\xb9\xa0\x3c\xdf\xda\x8c\x07\xa5\xe3\x4f\x3d\x85\x78\xb0\xb9\xb1\xec\xa9\x58\x37\x45\xa5\x55\xe8\x22\x49\x45\x6b\xb1\xd3\xd6\xe2\x41\x44\x5f\xca\x1a\x67\x2f\x60\x62\x51\xc0\x6d\x9e\x29\x9d\xe9\xba\xb8\xe9\xf4\xdf\x95\x72\x88\x9b\x39\xdc\x11\x6a\x1f\x94\x98\x9a\x91\x4e\x79\x47\x34\xcc\x37\xa0\xa1\x6c\xa1\x61\xdc\x42\xc3\x72\x0d\x1a\x96\x0d\x1a\xfe\x4b\xb1\x90\xff\x61\x2c\xfc\xa0\xbc\xca\xdf\xf0\x72\x1b\x8e\x3f\xdf\xd1\xd1\x93\xa8\xb4\x10\x68\x31\xd7\x74\x29\xe4\x3c\x53\x14\x6c\x08\xa2\x54\x21\x8c\x8c\x5f\x07\xf2\xb1\x92\x84\x4a\x31\xf1\x40\xde\x17\xe4\x6b\x98\x28\x8f\x81\x18\x31\x7e\xa7\x6a\x9f\x0b\x99\x38\xc6\x5e\xb5\x17\xe4\x19\xf5\x14\x2a\x79\xd5\xe2\x7c\xf6\xfa\x37\x29\xa7\x4e\xc8\xe5\x65\x4f\x2e\x5b\xca\x6b\x4c\x3d\x39\x5f\x7b\xf3\x7f\x32\x0f\xa8\x3e\xd7\xd9\x67\x7b\xa7\xf4\xe4\x13\xd2\x3d\xa5\xb4\xcf\x76\x27\x70\x4f\x21\x2d\x7b\x4a\x2e\x53\x66\x5d\x5b\x64\x69\xbb\x8c\xa8\x0a\xfc\xb7\xc8\x1e\x4e\xd1\xf2\xa4\x91\x32\xc4\x25\x23\x99\x16\x61\x93\x1e\x69\x98\xe4\x73\xe8\x29\xea\x5d\x24\x75\x46\xcb\x4e\xaa\xb1\x43\x3c\x40\x30\x3c\x26\x51\xfd\x42\xa5\x96\x8b\x14\xb4\xdd\x80\xe8\x2c\x12\x77\x93\xcb\xc8\x99\xcd\x36\x1a\x81\x03\x9f\xa2\xcf\xc8\xbf\x2d\x82\x7a\x89\x06\xf1\x40\xb1\x04\x62\x27\xba\x1c\x0a\xec\xb5\x8e\xa4\xaa\x98\x8f\xb6\x23\x2e\x5a\x0e\xba\x6d\x89\x63\x73\xfe\x49\x50\x30\x85\x9e\x52\xee\x11\x0f\x64\xa5\x34\x5c\x0e\x9e\x22\x3c\x13\xa1\xc9\x50\x6b\xbe\x4b\x64\x7f\xd3\x8f\x70\x26\x28\x82\x7a\x69\x9f\x0d\x90\x2a\xfd\x1d\x53\xc8\x59\xff\x66\x43\x21\x90\x93\xb0\xd4\x75\xc1\x62\x21\x2e\x92\x4b\xbb\x92\x60\x5e\xed\xa5\x99\x49\x48\xeb\x52\x56\x45\x4e\x31\x41\xb2\x7f\x40\xb1\x78\xfd\x6b\x0e\xbe\x48\x91\xc3\x92\x24\x8b\x22\x0a\xc5\xaa\xf3\x89\x99\x2a\x26\x31\x04\xa4\x6e\xdb\x27\x9c\x26\x24\x1c\x80\x52\x4b\xa4\x6f\x21\x41\xd8\x05\x12\x46\xaa\x37\x25\x4f\x41\x32\x05\xa1\x14\x90\xe8\x9b\xda\x45\xe5\xb4\x16\x8a\x22\x87\x3a\xa6\x8b\x57\xaa\x87\xa9\x42\xca\xc5\x2f\xb5\x43\xac\x8b\x88\xa1\x6d\x71\x36\x1a\x31\x12\xa6\x28\x3a\xaa\x14\x49\x11\x22\x54\xd5\xc2\x43\xc3\x6b\x56\xb8\xb3\xa5\xb1\x53\xa8\x15\xdc\x19\x01\x5d\x00\x25\xb0\xd8\x45\xca\x79\xdd\x03\xfb\x13\x1c\xb8\x69\xcb\x8d\x9b\x15\x48\xec\x3d\xb2\x9f\xed\xa3\xdd\xf0\x18\x90\x22\x73\x14\x80\xbb\xaa\x2e\xa5\x38\x9b\x2c\xc4\x25\x51\x8d\x49\xe0\xab\x39\xae\xf5\xa2\xc0\x69\x8d\x10\xa6\xab\xaa\x4e\x16\xa0\x98\xa2\x1b\x22\xcd\x35\x52\x48\xf6\x13\x67\xfd\xbe\x78\x95\xd4\x38\x2a\x81\x75\x5d\x95\x2a\x8c\xf4\x9c\xf8\x9e\xa4\xa6\xb6\xc2\x2e\x19\x7c\x74\xed\x73\xa3\x53\xac\xba\x77\x6a\x82\xa4\x8a\x74\x3c\x1e\x18\xa4\x69\x9f\x4d\x73\x35\x28\x19\x56\xa8\x49\xe6\x7b\x0c\x43\xa9\x4e\x2f\x0e\x29\x27\xbf\x54\x88\x76\x88\x45\xaa\x3c\x09\xe4\x9d\xd7\x8e\xf5\x71\xe3\x26\xac\x7d\xe2\xcf\xbb\x30\x32\x79\x28\x67\xac\xbc\x19\x78\x81\xeb\xa5\xf1\x0e\x7d\xca\x95\x68\xd8\x84\x2c\x31\xef\xc2\x40\xd1\x47\xfd\x6b\xfe\x61\x16\x4c\xed\x90\x92\xc8\xa6\xfb\x68\xbd\xdb\xd2\x99\x92\x8d\xde\xb3\x75\x8f\x9c\x32\xed\x5e\xb0\xab\x84\x33\x52\x21\x53\x8f\xeb\x65\x43\x00\x7d\xb0\xf5\xad\x98\x6f\x7d\xbb\xa2\x7f\xad\x6f\x17\x5a\xdf\x59\xc2\x52\xc1\x82\xd4\xfc\x0a\xe8\xe0\x9b\x11\x03\xb0\xd9\x38\x57\xda\x1a\x70\x54\xc2\x1a\x10\x62\xb5\x3c\xc6\x09\xc6\x31\xea\x6b\x23\x12\xcf\x13\x78\xe2\x12\xd8\xd3\xb8\xb0\xe2\x8a\xae\x97\xb7\x84\x90\xad\x40\x19\x63\x91\x31\x18\x65\x6c\x15\x48\x00\x56\x0c\xf6\xe2\x14\xd9\x81\x6d\x0d\x0b\x7c\x6f\xe4\xbc\x85\x05\xc8\x0d\x64\xd1\xce\xc5\x29\x28\x9c\x88\xa2\x69\xad\x9d\x32\x81\xb8\x04\x47\xb7\x91\xb8\x12\x6d\x43\x0a\x20\x89\x76\x15\xc4\x68\x31\xb3\x75\xe2\x99\xa7\xf1\xe4\x8b\x57\xac\xab\xc2\x83\x2e\x2f\xd6\xbb\x6b\x7b\xbb\x59\xb9\x04\x2b\x33\x02\x8c\xaa\xef\x29\x55\x43\x2d\xb5\x70\x63\x1b\x36\xfc\x35\x0e\x9e\x88\x36\x54\x09\x02\xb6\x34\x50\x8c\x2a\xda\x1b\x04\x83\x31\x2b\x25\xd4\x5a\x80\xac\xd8\xa8\xa3\xcf\x06\xe2\x0c\x56\x3b\x50\x08\x14\x42\x73\x32\x29\x33\x94\x25\xf0\xc3\x31\x7c\x19\x86\x2b\xba\x8c\xb9\x80\x67\xe8\x6f\x31\x7a\x12\xa6\x82\xc0\x9b\xc7\x36\xa0\xa4\x52\x3f\x80\x40\xab\x18\xa1\x86\xaa\xeb\x5d\x32\x4c\x3d\xec\xad\xf0\x09\x38\x34\x50\xf1\x55\xff\x5a\x64\x4e\x45\x4b\xc6\xde\x69\xec\x9f\x6e\x26\x1c\xf7\x14\x03\x38\x73\x68\xd3\xc4\x83\xca\xc4\xb2\xd2\x59\x70\x08\xa5\x31\x64\xa7\xae\x48\x54\x49\xc1\xa5\xb7\x3d\x0c\x01\x3b\x62\x24\x68\xdb\x55\x11\xac\x44\x58\xec\x31\x35\xf0\xf8\x8a\xb7\x21\x92\xbc\x64\x40\x34\x21\xfb\x18\x7b\x8b\xd0\xad\x44\xf2\xda\x7e\x48\x59\x35\x84\x9e\x92\xaf\x2a\xbe\x21\xbd\x0d\xd9\x48\x45\x6b\x80\xe3\xd0\x57\xfb\xb0\x5d\xbc\x3a\x18\xaf\x64\x98\xb1\x4b\xc5\xdb\x8e\x14\xa8\x21\x5e\x19\xb5\x51\x65\xb0\xdc\xa5\xe8\x12\xb4\x13\x90\xb9\xaf\x4a\x4e\x80\x78\x08\xf0\x6a\x63\x65\x42\x36\x56\x52\x03\xc6\x6b\x21\x7d\xaf\x7f\xcd\x89\xee\xbd\x31\x43\xa1\xd0\xbc\x86\x2a\xa4\x63\x5e\x24\xb2\xe0\x1d\x84\x9b\x4a\x68\xe0\x66\x45\x06\x86\x32\x58\x9e\xc9\x26\x9a\x92\xe7\x29\x22\xe7\x24\xb6\xa8\xbd\x29\x0a\xa0\xfb\xa5\x82\xd6\x2b\x35\xe5\xaa\xfc\x0c\x9b\xb4\x15\x6a\xc0\x43\x6e\xb4\x93\xa2\xa9\x1b\x7a\x91\x20\x19\x4c\x6c\xaa\xf0\x75\x11\x43\x55\x24\x9a\x18\x90\x4e\x53\x69\xb6\xc4\x44\x41\xca\xc8\x2d\xb0\xbb\x24\x7d\xa0\x50\x4d\x3a\xad\xaa\x7c\x51\xb5\x20\x95\x54\x0a\x04\x64\x18\xa5\x12\x9b\x55\xe1\x80\x70\xde\x83\x3c\x74\xa9\x54\x19\xf3\x2a\x64\x4c\xfc\xa5\x68\x2b\x1d\x54\x2a\xc7\xa4\xaf\xa6\x36\xe8\xaa\xaa\x91\xb7\x77\x75\xf1\x83\x4f\x83\x27\x35\x22\xf2\x4c\x9d\xac\x32\xf6\x92\xd3\xf7\xda\xec\x56\xcb\x3d\x57\xfa\x71\x7e\x89\x9d\x5b\xd8\xac\x24\xbd\x4a\xa9\x4e\x35\xa2\xdc\x57\x0a\xd3\x65\xa0\x50\xa4\x73\x7d\x81\xc4\x66\x4a\xb1\xf6\xcc\x14\x11\x83\x0f\x1c\x37\xf4\xdd\x98\x57\xc4\x64\x14\xba\xc1\x2b\xc6\x99\x3e\x80\xdc\xe9\x4e\x97\x04\x09\xca\xb1\xb4\x6b\x51\x41\xd8\xb9\x2e\x52\x55\xd2\x8f\x55\xba\x42\x05\xba\x5e\x71\x00\xb7\x09\xaf\x5c\x55\x43\xd0\x65\x53\x0d\xed\xdd\x7e\xb4\x6b\xa7\x0e\x9d\x04\xf9\xcf\x45\xf9\xae\x17\x44\xb2\x7b\x69\xea\x94\xc3\x2e\x43\x95\xc0\x6c\x7e\xdc\xb6\x03\xac\x98\xc6\x6a\xcc\xd8\xea\x42\x24\xaf\x98\x25\xc8\x7c\x52\xc2\xce\xde\x77\xa1\x61\x57\xc5\x40\xb1\xcc\xd8\x55\x18\xa1\xc9\x06\x9d\x7d\x75\xba\xea\x6c\xec\x2d\xb0\x37\xa1\xe9\x65\x62\xcf\x32\xe7\x55\x3b\xd5\x9f\x55\x86\xa5\x8c\x04\x0c\xb9\x39\xa5\xec\x1d\x61\x8d\x9f\xef\x18\xa7\x0b\x14\xb9\xcb\x94\x2c\x00\xcb\x15\x9b\x24\x7d\xcc\xe4\x62\x51\x5d\x5b\xcd\x5f\xe3\xb9\x35\x59\x06\x53\x26\x0f\x67\xbc\x47\xec\xa1\xd1\xb4\xcf\xc4\xcd\xc7\x87\x7d\x5a\x5e\xb0\xd3\x90\x54\x8d\x1a\x7b\xb5\xf6\x48\x04\xfe\x61\x15\x4c\x73\x88\xd8\xab\x56\xae\xf6\x9c\x83\xa1\x60\xef\x38\x81\x10\x55\x48\x86\x81\x91\x09\xc4\x53\x3e\x90\xbe\x54\x15\xf1\x22\x2b\xe4\x7d\x6e\x9f\xed\x16\x10\x10\xa2\x30\xb0\xaa\x7f\xdc\x53\xf5\xb9\x25\x7f\x44\xd5\x2e\x91\xc6\x80\xdd\x8b\x54\x54\x3d\x60\x51\x96\xeb\xf0\x22\x54\x99\x64\x2a\x9f\xae\x28\xb6\x88\x16\xbb\xd2\x75\x87\x55\x12\xd4\x04\x4b\xd8\x79\x49\xa1\x60\x37\x2a\x79\x44\x2b\x72\xc1\xaa\x6b\xd7\x5d\x53\x3e\x74\x14\x5c\x4c\x53\x34\xf1\x15\x53\x30\x90\x02\xd2\x99\x90\x0f\x93\x58\x61\x6c\x42\x51\x59\x7f\x40\x7e\x84\x0e\x27\x15\x28\xeb\x3d\x95\xa8\x83\x55\x88\x26\xed\x22\x96\x96\x9a\x00\x3c\x14\x53\x88\x53\xd7\xc2\x22\xaa\x19\x60\x7b\x89\xcb\x43\x50\x1d\x0a\x1f\x2d\xf7\x22\xab\x4e\xc8\xd8\x53\x1b\xdb\x67\x83\x5e\x49\x48\xce\x91\xa4\x7f\xb3\x43\x14\x16\x06\x4c\x47\xcc\x9f\xa1\xd0\x61\x34\x7a\xc5\x29\xad\x15\x6a\xe6\x2c\xc5\xc3\xaa\xb0\x28\x46\xa0\xc5\x81\x7c\xad\xfa\xd7\xa4\x39\x74\x1a\xd5\x43\x0b\xd8\x7a\xa2\xa0\xc4\xc1\x39\xc1\xbc\x12\x65\x22\xe0\x94\x11\xef\xab\x28\xf3\xf6\x9d\xbc\xed\x27\xd4\x77\x38\x60\x6f\x4c\x55\x9e\x28\x24\xd5\x43\xd3\x0e\xd8\x92\x92\xf4\x5b\xef\x72\x58\x33\x65\xaf\xc6\xc8\xc5\x2b\x50\xbb\x4a\x15\x56\xe1\x17\x4d\xf8\x25\x43\xd4\x18\x8a\x0d\x05\x98\xe5\x52\x20\xaf\x4c\x89\x8b\x92\xa2\x12\x6a\x90\x81\x4a\x28\xf0\xf8\x58\x34\x06\xa6\x6b\x60\xd5\x83\x05\x38\x64\x10\x91\xe2\xed\x22\xa4\xb8\xc8\xe4\xfc\xa0\x23\xec\xf0\x61\xd0\x87\xb2\xa7\xfc\xa3\x22\xb9\xb9\xce\xb9\x2f\x0a\x0d\xef\x95\x3d\x61\x97\x27\x25\x36\xe9\xaf\x02\xcd\xec\xb1\x8c\x79\x2b\xac\xc9\xab\xae\x2d\x49\xb5\x9b\x49\x9b\x56\xab\x4c\x89\xb0\x26\x6c\x93\x66\x29\x6a\xee\x28\x14\x80\x6a\x31\x56\xfd\xbe\x78\x15\xa0\x1d\xc5\x0c\x67\x40\x4d\x66\x5f\xf6\xcd\x88\x74\xd3\xd2\xba\x60\x44\xac\x4b\xaa\xe0\x4f\x6d\xb5\xc5\x15\xe8\x9f\xb1\x57\x15\x20\x0f\x54\x7d\xd1\xbf\x59\xbb\x53\x64\xe4\x30\xe3\x82\xca\x08\x1d\x06\x2b\xcf\x65\xef\x0f\x95\x15\x2f\xc9\xb6\xc8\x1a\x41\xa8\xf0\x74\xd1\x63\xd3\xb6\xae\x86\x53\xfc\x74\x19\x7f\xda\x1d\x15\x93\xfd\x3e\x12\xa2\x9e\x51\x25\xb0\xb1\x08\xd5\x4f\x62\x69\xa0\x31\x37\x47\x19\x4c\xce\xa7\x29\x7b\x86\xa1\x49\xfb\x43\x0a\x92\x2e\x75\x8c\x43\x5b\xb6\x3a\x2e\xad\x5f\x69\xfd\xa2\xdb\x5c\xa8\x4a\x8f\x8b\x81\x42\xac\x28\x6a\x62\xa8\x0c\x75\xd7\x15\x5d\x0d\xfd\x6b\x1d\xba\x32\x75\x58\x75\xa0\x05\xb8\xa6\x30\xd0\x7e\x00\x0b\x20\xb2\x12\xbf\x65\x3b\x1a\xc0\xe1\x08\x1a\x28\xa7\x82\xbd\x37\x0d\x9e\x1e\xab\x08\x90\x17\x88\x1a\xc1\xba\xf9\xd6\xbb\x4b\x95\x38\xc3\x58\xd4\x9e\xeb\x40\x3e\x6c\xb6\x8c\xa9\x9e\xa1\x23\x51\x76\xa1\xaf\xb1\x33\x77\x42\x9e\x96\xbb\xc1\x66\x5e\xee\x32\x2d\x77\x9e\x64\x21\x87\x03\x35\xc0\xd5\x08\xf3\x79\x54\xa6\xd7\x29\x9e\xa9\x18\x75\x92\xda\x20\x62\x69\xfe\x9d\xd6\x22\xe0\x59\x5a\x92\x05\xc8\x82\x41\x16\x18\x08\x0c\xe1\xe2\x71\xe0\xc8\xe0\x55\xf8\xf8\x96\x17\xa6\x2a\xae\x00\x29\x97\x8a\xdc\xa9\x37\xae\x1c\xb2\x32\x00\x35\x95\x13\x30\x90\x43\x63\x8d\x16\x3b\x0d\xbe\x8d\x95\x55\x93\xe2\x38\x90\x2f\xb4\x41\x48\x0f\x73\xa4\x2a\x8b\xca\x66\x1b\xeb\xaa\x07\x63\x5c\xc4\x62\x17\x03\xa9\xc6\x62\x92\x4c\xad\x34\x4e\x4b\x43\x09\x35\x91\x8a\x49\x33\xef\x9b\xf7\x4d\x7f\xf1\xd8\x16\x15\x28\x16\xb3\xf7\x31\x43\xe8\xb8\xe0\x1f\xc9\x5b\xf1\x01\x8f\xbd\xdd\x14\x61\xde\xc7\x4a\x19\x6b\x95\xd3\x00\x2e\x1c\xf3\x14\x66\xd5\x9f\x61\xb9\xaa\xaa\x32\x85\x63\x94\xd6\x7d\xf6\xa0\x53\x9d\x9a\x12\xa7\x00\xce\x6a\x7f\x81\x3f\x4a\x2e\x23\x36\x8a\x29\xe7\x54\xde\x01\xa5\x45\xd4\x46\xd3\x07\xbd\x83\xe0\x80\xd1\xa2\xd6\x86\x60\x63\xb6\xcc\x45\x7a\x00\xe4\x9c\x41\xae\x22\xc1\x20\x1a\x44\x0c\xaa\x51\x55\x69\xa8\x45\x59\xef\xf6\xd0\x6d\x8b\xae\x88\xae\x9e\x79\xb1\xc9\xb7\xe5\x8d\x8a\x46\x82\x88\xbc\x37\x1e\x1a\xd4\xb0\x72\x95\xc1\xd7\xf5\x9b\xb9\x79\x1e\x54\xcd\x31\x15\x43\x75\x22\x11\xa3\x46\x1f\x80\xee\x3e\x24\x72\xc9\x68\x5b\x12\xe8\xcb\x45\x31\x3f\x85\x72\x94\x6a\x55\x1e\x94\x86\x53\xb0\x51\xd7\x34\x50\x48\xaa\x9e\xb5\x9c\x34\x15\xba\x1e\x5b\x26\xf4\xaf\xad\xab\x9a\x8c\x39\xad\x55\x73\x58\xda\x06\xfd\xde\x04\x71\x66\x9b\x0a\x67\x56\x5b\x55\xf4\x6f\xe3\x36\xc5\x64\x50\xb7\xa1\xb4\xcf\x66\x7b\x40\xc6\x8a\x53\xe5\xc5\x3b\xd8\x1e\x51\x11\x1f\x45\x01\x94\x95\x44\xa0\xa4\x79\x28\x4c\xa1\x10\x38\x2f\xc1\x0e\xd4\x64\x52\x7b\x35\x67\xb8\x99\x72\xc5\x84\x19\x3e\x0b\x0f\x6f\xad\x62\x96\x54\x3f\xaa\x4a\xa1\x8b\x4b\xbe\x28\x1b\xf5\x94\x12\x49\x0d\xf0\x34\x45\x68\xff\x6a\xe7\x54\x12\x35\x99\x33\xbe\x72\xf3\xb1\x78\xf3\xb4\x05\x48\x52\x5f\x28\x71\x1d\x98\x82\xa9\xb2\x7e\xae\xd4\xa4\x92\x13\xec\x41\x47\xeb\x55\xd7\x85\xdf\x15\x3e\x51\x12\x38\x0b\x83\x79\x73\x43\x35\xb0\xe5\xa4\xab\x29\xef\xb6\x3a\x38\xa8\x24\x44\x66\x16\x23\x06\x62\x08\x08\xfb\x42\xb0\x57\xbf\x96\xd4\x27\x0a\xd0\x47\xac\x3a\x84\x53\xd6\x8d\xb2\x52\xaa\xb3\xb1\xcf\x7d\xa6\xca\xca\xf9\xc1\x31\x1b\x99\x37\x16\xe6\xd5\x5e\x53\x99\xe3\x23\xb2\xbf\xe1\x27\x02\xbb\x72\xba\x68\xec\x6a\x97\xa9\x4a\xbb\x64\xaa\xb0\x3a\xa6\xe9\x38\xb8\x70\x60\x73\x8b\xea\xef\xf0\x6b\xa8\x15\xa8\x9c\xba\x22\xa1\x5d\x1f\xfa\x30\xb3\x83\xe1\x2a\x42\x3d\x37\xc5\x11\x81\x9f\x0f\x1e\xf0\xa0\x66\x00\x7b\x14\x8f\x83\xea\x91\xa0\x01\x19\x46\x71\xcd\x56\x9a\xcd\x98\xb2\x84\x8e\x7b\x94\x25\x81\xbb\xb5\x47\x26\xab\x50\x81\xd7\x22\x65\x1b\x66\x00\x1b\x87\x3d\xd7\x53\xad\x2d\x30\xc2\xc1\x1b\x2f\x90\xa2\x0a\x6e\x6f\x8e\x54\x65\xd2\x02\xbb\x32\x21\x84\x9d\x85\x42\xc2\xe6\x0a\x77\xcb\xfe\x95\x77\x1b\x1b\xef\x11\x9d\x93\x28\x1f\xfb\xc7\x7b\x77\x88\x8c\xc4\x16\x19\xf1\x3b\x91\x91\xf8\x4f\x0d\x8c\xf8\x29\x30\xd2\x0a\xd3\xc4\x39\x30\xe2\xe7\xc0\x08\x48\xdf\x95\xab\x81\x11\xcf\xed\xf3\xb7\xc0\xc8\x3f\x18\x18\x99\x3e\x7f\x0b\x8c\xfc\xab\x03\x23\xa1\xb3\xcf\xff\xdc\xc0\x08\x8c\xc3\x14\x7e\x0b\x8c\xfc\x16\x18\xb9\x1a\x18\x49\xbf\x05\x46\xde\x3b\x30\x52\x50\x7d\xa3\x05\x46\xc2\x5d\x03\x23\x61\x0a\x8c\xa4\xdf\x02\x23\xbf\x05\x46\xfe\xf7\x02\x23\x73\x85\x97\x8f\xab\xbb\x3e\x13\xf8\xf6\x1a\xc1\xff\x21\xb1\x93\xed\xed\x17\xff\xe6\x31\x91\xf7\x31\x49\xee\x94\xe0\xb6\x6d\x92\xfc\x87\x45\x44\xe2\x26\x22\x12\xa7\x88\x48\x9a\x23\x22\xe1\xb7\x88\xc8\x6f\x11\x91\xdb\x22\x22\xfc\x2b\x8a\x88\x94\x7f\xc7\x88\x48\xbd\x14\x11\xf1\x53\x44\xa4\xfc\xab\x23\x22\xd7\xc7\x43\xc2\x1c\x0f\x89\x4b\xd8\xe4\xdb\x11\x11\x7f\x7d\x44\x84\xa7\x88\x08\x5f\x13\x12\x29\xfa\x77\x25\x24\xa2\x4b\x92\xfe\x49\x21\x11\xca\xe9\x5d\x01\x11\xf9\x2d\x20\x72\x73\x40\x24\x23\x60\xf1\x5b\x48\xe4\xff\xb5\x90\x08\x4d\x14\xf8\xaf\x09\x88\xe4\xf6\xf9\x6f\x1f\x10\x49\x9d\x7d\xfe\x53\x02\x22\xff\xa8\xb5\xf1\x9f\x12\x33\xb9\xb7\x5b\x3f\xf5\x57\x17\x0b\x29\x33\x7f\x46\x2c\x24\x4f\xb1\x10\x3f\xc5\x42\xee\x68\x64\x8c\x27\x6f\x9e\xff\x3c\x9c\x2f\x0f\xef\xb6\x15\xa4\x42\x2e\x6a\x17\x69\x24\x17\x98\x1c\x70\x36\x90\x4b\x69\xe0\xa2\xea\x75\xd7\xbe\xac\x60\x49\xb2\x3a\x18\x40\x64\x57\x49\xe0\x7b\x90\x01\x06\xa5\xef\xda\x97\xb9\x66\xd4\xfc\xce\x71\x24\x11\xd4\x95\x27\xe1\x68\x99\xc0\xaa\x0e\x29\x45\x28\xc3\xa8\xc6\x40\x72\x82\xc6\x09\xf5\x36\xc3\xfb\x1d\x03\x09\xcb\x48\x5c\xf5\xee\xc0\x81\x6a\xb1\x2a\x74\x65\x2a\x8b\xa6\x23\x55\x39\x90\x50\x9f\x8a\xd8\x37\x36\x02\x07\x9e\x98\x5c\x20\x8e\xd5\xfc\x16\x5e\x4d\xa4\x30\x62\x1b\xb4\xab\x75\x09\x45\xc6\x49\x85\x32\xac\x44\x2c\x09\x45\x61\x5d\x06\x9e\xa2\x32\x2a\x98\x80\xb6\xc4\x23\x21\x04\x14\x06\xab\xf0\xd4\xb5\x2f\x1b\x48\x56\x14\x9e\x1a\xcc\xd6\xa0\xb2\x3e\xd4\xc6\x9d\xde\x5c\x42\x1d\x70\xd0\xfb\x8a\xf5\xe8\xaa\xf5\x58\x9a\x5f\x07\x70\x47\x38\x83\x5c\x1d\x4d\xf3\xca\x79\x69\xb3\xc1\x90\xcc\xe3\x03\x77\x48\x89\x63\x6b\x31\x2f\xad\xb2\x39\xea\x93\x09\x8e\xf9\x41\x21\xa3\xce\x53\x92\xb4\xaf\x46\x4d\x57\x29\x72\xed\x70\xc9\x0e\x45\xcd\xec\x5a\xc6\x3e\x77\xba\x56\x6b\x25\xf4\xd1\x74\x35\xe7\xe3\x42\x06\xca\x8e\xf5\xaf\xed\x25\x15\x60\xc9\xc5\x13\xc1\xf1\x53\xd0\x58\x14\xea\xa8\x54\xef\x42\x32\x6a\x76\xa9\xe8\x80\x50\x00\xc6\xa7\x4e\x05\xec\x6e\x65\xc1\x56\xae\xc2\xf9\x30\x62\xb4\xca\x05\xc2\x82\x0b\x95\x32\x9a\x0f\x89\xd5\xbe\x85\x54\xf3\x79\xe0\xa2\xb2\xdb\x49\x37\x5f\xd8\x49\x5a\xc9\xe3\x80\x1e\x1e\xa9\xc0\x83\x51\x82\xf2\x27\xbd\x50\xd6\x6c\xca\xd5\x21\x39\xc7\x23\xc1\x12\x73\x7e\xa8\x92\x29\x49\xee\xa6\x6f\xab\xe8\x2a\x6a\xbb\x65\x58\x21\x4e\x46\x8a\x2a\xd3\xb9\xd4\xc1\x7c\xf2\x53\x4d\x1e\x53\xc0\x44\x65\xa6\xea\x57\x93\x26\x82\xd1\x8b\x12\x8e\x95\x0a\x3b\x98\x60\xb3\xcb\x6f\x14\x9f\xf0\x7b\x0a\x07\xde\x1e\x58\x63\xbb\xae\x9a\x3e\xba\x8a\x1e\xa0\xd8\x7c\xa3\x0e\xd3\x12\xb4\x08\x6f\xb7\x45\x8f\xc8\x05\x08\x64\x88\x15\xf8\xac\x24\x37\xef\x55\x0c\xaa\x6e\x8c\xca\x1d\x55\xb1\x58\x52\x2e\x84\x0a\xcd\x31\x16\x8a\xa8\x50\xe7\x7d\xa6\xc2\x61\x54\x19\x18\x10\x0e\xf2\xa6\xdc\x6a\x87\x8a\x88\x4e\xd6\x8a\xfc\x11\xeb\x82\xf0\xda\x5a\x3f\xc6\xf6\x04\x6c\x31\xe8\xc1\xd2\xa2\x21\x8e\x07\x05\xe4\x0c\xcc\x49\x45\xe5\x84\xe5\x8f\xd2\x07\x33\x84\xe0\xde\x97\x0b\x65\x36\xca\x83\xd6\x28\x48\xc0\xe3\xd4\xa0\x69\xca\xd6\x32\xa3\x90\x3e\x45\x58\x6d\x59\x26\xfd\x37\x9b\xef\x7d\xdd\x53\x50\x11\x89\x53\x01\x26\xc5\x01\xab\x90\xe3\x22\x52\x2c\x13\x4e\x31\x2f\x14\xe8\xca\xd3\xb0\x46\xdc\x42\x07\xa8\x2d\xa9\x8d\xd5\xec\x15\xbe\xd6\xbd\x01\x1e\x6a\x27\xa4\x52\x3e\x68\x23\xbd\x40\xe5\xec\x5c\x3b\x16\x95\xda\x9f\x72\x21\x59\xa3\x0b\xc5\x69\xd1\xbf\x6e\x6b\xeb\xb9\x73\x05\x55\x31\x58\x61\xe8\xd5\xe6\x6c\x59\xa0\xd3\x45\x84\xfb\x48\x75\x44\x05\xb9\xca\x3c\x5d\x68\x05\x5c\x9d\x40\x9c\xb2\x52\xae\x62\x2c\x78\xb1\xd9\x2f\x0e\xa1\x35\x28\x5c\xfa\x0b\xd0\x03\xa9\x6c\xd1\xde\x92\x89\xfc\xa0\xaa\xe9\xb3\xfa\xa4\x12\xa8\xb2\x46\xed\x12\xbc\x11\xc6\x43\x55\xe3\x8a\x95\x8d\xa1\xe6\x85\x7d\x4d\x9e\x87\xaa\x70\x1a\xa1\x97\xb6\x16\x18\x4a\xb6\x6d\x9d\xb7\xa6\x95\xbb\x8a\x52\x2f\xfc\xcd\x98\x46\xd2\xb1\xa6\x43\x20\xce\xd8\x53\x44\x10\x57\xda\xcb\xae\x0c\x19\x02\x24\xcf\x62\xa4\x37\xae\xcc\x3a\xc2\xd2\x06\xd8\x20\xa1\x52\xdc\xb1\x2e\xa4\x64\xa0\x7b\x6f\xf2\x02\xf3\xd5\xd1\x3a\xf4\x83\x57\x19\x86\x38\x2a\xe8\x18\x16\x28\x5f\x15\x95\x19\x4a\x29\x08\x5a\xea\xda\x5a\x18\xcc\x0e\x73\xc9\x05\x48\xcf\xda\x9d\xda\x90\x8c\xf5\xcf\xc8\x6e\x0c\x8d\x61\x60\x3a\xa6\xcc\x81\x02\x0b\x6c\x3f\x95\x1a\x8a\x2a\x86\x33\xde\x80\x01\x4c\x28\x85\xf5\xaf\xa1\x63\x02\x0a\x8d\xc4\x86\x4b\x62\xde\x55\x37\x7f\x27\xb5\x09\x74\xac\x6a\xee\x9a\x5d\xa9\x93\x74\x5c\xc8\xa3\x6d\x51\xe9\x2a\xc0\x56\x0a\x08\x12\x85\x40\x1c\x40\x20\x2a\x73\xd1\x6d\xdd\x5c\x34\x4d\x6a\x90\x4a\xa5\xc3\x47\xf3\xe8\xe3\xb8\x94\x30\xa2\x48\x8d\x81\xc3\xfa\x2b\x28\x17\xa0\xcd\x9b\x8f\x47\x96\x70\x64\xe8\xec\x38\xb4\x31\xb3\x0d\x69\x34\xcb\xd1\x71\x44\x4c\xc4\x2c\x64\xb8\x48\x18\xaa\x33\xfa\xc7\x1c\x18\x3f\x56\x15\xbe\xad\x69\x34\x95\x88\x8b\xf1\x04\x0a\x90\x0f\x41\xe9\xa3\x4d\x1b\xaa\x14\x62\x46\xd8\xe5\x69\xf8\x0e\x20\x1b\x63\x1d\x26\x3f\xc3\x44\xe9\x8d\xc6\x1a\x9a\x19\xd7\x82\x73\x12\x7c\x2c\x35\x22\xb6\xb1\x57\xb0\xe6\x16\x47\xe3\x34\x70\xb5\x53\x80\xec\x6b\xaa\xe5\xa8\xf8\xe1\xc7\xbe\x05\x3a\x95\xf5\x37\x34\xb7\xf3\x50\x60\x15\xd4\xe6\xcd\x90\x6c\x23\x64\x73\xa1\x19\xee\xc3\x54\xe0\x38\x24\x47\xd5\x73\xd7\xbe\x8c\x1d\x26\xc5\xc7\xa4\xcc\x03\x6a\x94\x6c\xe1\x3f\xa8\xc8\x2b\x9a\xb3\x8a\x70\xce\x03\xf4\x1c\xe9\xda\x57\xd3\xfd\x55\xee\xdb\xf8\xd4\x5e\xc5\x00\xa3\x34\x49\xab\x84\xec\xea\xd6\x85\x28\x3d\x4a\x1c\x22\x23\xb4\xda\xbe\xac\x25\xf8\x8b\x15\x1c\x1e\xc1\xa3\x62\xa6\x20\x18\x8d\xea\x14\x12\x27\x52\x44\xf6\x02\x1b\x9a\x8b\x1a\xcb\xc2\x83\x4f\x54\x4b\x67\x9f\x93\xe9\x0b\x92\xa4\x92\xbd\xfe\x4d\x4c\x10\x96\x39\x04\x3b\xf0\xd6\xa5\x21\x98\x32\xdf\xbe\x9a\x8b\x2d\x21\x44\xab\xa3\xc9\x08\x3a\xe4\x38\x08\x52\x56\x65\x4a\x5c\x85\xa7\xd9\x90\x61\x39\x89\x95\xc6\xe7\x7b\x4b\xfc\x30\xfb\x70\x76\x7e\x39\xf3\x3d\x28\x3e\xc1\xc3\x6c\xfb\x89\x75\x24\x86\xbf\x93\x0c\x71\x7e\xed\x55\x54\xc2\x11\x6e\x71\x66\x53\xf4\xb1\x23\x59\xd6\xba\x30\xe3\x46\x2e\x42\xb3\xc4\xe6\x71\x94\x95\x0c\x84\x58\x1f\xea\xaa\x98\xb6\x8c\x34\x00\x38\x23\x40\xdd\x50\xf4\x0c\xff\x11\x68\xf5\x32\x08\x67\xca\x6a\xa2\xb6\x6f\x9d\x5d\xc3\x1d\xbf\x6c\xbc\xa0\x78\x4b\xb7\x51\x09\x51\x3c\x22\x32\x18\x85\x95\x3c\x1e\x8a\x2b\x94\x7d\xee\xa6\xef\xd6\x44\xb4\x4c\x82\x11\xc7\x27\x20\xc5\x24\x42\x7f\x82\x74\x69\x73\x8a\x30\x88\x72\xa4\x00\x37\x6d\x98\x78\x5c\x28\x08\x6d\x04\xca\x26\x51\x04\xfa\x8f\x32\x02\xc0\x70\xeb\x1b\x2e\x1f\x55\x52\x2c\xdd\x66\x5a\x08\xc3\x18\x37\xeb\x02\x60\x2d\x10\xf6\x16\xcc\x5f\xf7\x42\x31\xa4\x8b\x27\xaa\x58\xab\xae\xe9\x54\x59\x63\x67\xf9\x54\xe0\x64\x58\x15\x23\x75\x3f\xfd\x8b\xdb\x45\x0e\x0b\xb5\xaf\xf3\x08\x86\xa8\x8d\x2e\x8d\x75\x35\x46\x9f\x5a\x3f\x51\x19\xf1\x88\xb3\x74\x12\x45\x46\x98\x3f\x16\xb3\xd7\xa0\x67\x82\x1d\x97\x42\x2c\x75\x5d\x29\x98\xd6\x09\x25\xbf\x2d\x3a\xc4\x74\x21\x57\x4b\x53\x71\x33\x39\xd0\x34\x52\x62\xd8\x93\x0f\xc1\x4c\x97\x74\xf7\x50\xcf\xc6\x0a\xbb\xd3\xae\x97\x84\x7d\xee\xdc\xd4\x2d\x1d\x91\x75\xed\x42\x34\x2f\xa1\x1a\x17\x09\x1c\xc0\xd8\x50\x28\x66\x17\x8d\x93\x9b\x85\x95\x54\x63\x1a\x8a\x5e\x75\xf6\xd9\x6c\x13\x04\xb5\x46\x33\x4a\xea\x50\xa9\x8a\xef\xec\xb3\x3d\x40\x9c\xf3\x48\xbe\x04\x98\x3c\x90\xd9\xd1\x0f\xec\xcc\x54\x98\x3c\x60\xb5\xaa\x62\xb3\xb4\x73\xa3\x74\x3d\x6b\xf3\xba\x25\x72\x71\x34\xe5\x26\x45\x62\x95\xda\x49\xa5\x92\x45\xa8\xb8\x95\xb8\x04\xc5\xe0\xdf\x6a\x8e\xa9\xf2\x05\x6e\x25\x6d\x9e\xcd\x5f\xe4\x07\xf8\x94\x3b\xfb\xb4\xe4\x90\xa9\xdb\x62\x4c\xbd\x5a\x90\x1b\x1c\x28\x66\xd5\x63\x82\x43\xb5\xbd\x96\x11\xe7\xc8\xab\x6c\xe2\x64\x53\x4e\x6d\x35\xcb\x64\x1b\xc5\xad\x4b\x54\x70\x4d\xca\x9b\x92\xea\xbe\x40\x37\x88\x7d\x10\xaf\xe1\x75\x6c\x27\xc2\x39\x57\x0f\xe0\xf8\xee\x58\x85\x0f\x43\xe0\xf9\x3c\xf9\xe3\x39\xc3\x83\x09\x89\x16\x17\x9e\x02\xb2\x16\x32\xac\x83\x8d\x58\x83\x6b\x37\x2c\x5b\x78\x48\x12\xca\x25\x13\xb2\xb2\x3c\xf2\xf0\x72\x1c\x60\xa9\x8a\x9f\x84\x9e\xa9\xa6\x07\x89\x7c\x95\x8e\x47\x83\xbd\x0b\x17\x4f\xd4\x48\x36\xbf\x8c\x72\x52\xd3\xd8\x07\x0a\x2e\x20\xeb\xae\x71\x64\x8f\xe2\x12\x63\x9f\x74\xa1\x3a\x28\x34\xbb\xa9\x8a\xe6\x64\x83\xce\x0e\x7a\x77\x45\x29\x97\x95\xff\x98\xba\x90\x49\xb2\x45\x82\x70\xb2\x18\x62\x66\x43\x2c\x8e\x4a\xf4\xdd\xf4\x3d\xe5\xa3\x21\x6c\x0b\x66\xe1\x8d\x9a\x63\x4a\xa6\x73\x22\x0f\xa3\x19\x59\x13\x63\xb3\x1f\x87\x98\x95\xaf\xe6\x6e\xfa\xb6\xc6\x60\x89\x45\x9f\x14\x33\xa1\xbf\x2e\x8d\x8d\xc3\x08\xb2\xf9\x02\x34\x79\xee\x4d\x06\x78\x1b\x45\x5a\x46\x8a\x3d\xae\x8c\xd4\x2c\xe3\xb0\x66\x92\x94\x51\xd3\x83\x61\xc1\x17\x57\x0e\xa4\xc1\x10\x27\xa8\xc4\x7c\x08\xe5\x0d\x3d\xb8\xe6\x44\xb4\x96\x73\xd5\xbf\xa9\x65\xd3\x1b\x15\x57\x78\x22\x24\xf0\x29\x8e\x23\xa3\xfa\xab\xc7\x69\x2a\x3e\xa8\xfd\xd0\x31\x25\x99\xca\x09\xab\xea\xa9\x34\x02\xe5\x85\x17\xac\x18\x08\xbb\xc5\xd0\xad\x36\xb7\x98\x73\x79\xa0\x10\xb2\xc5\x42\x6d\xa1\x10\x79\x53\xec\x43\xe2\x43\xaf\xab\x09\x35\xd1\xd4\xbb\xab\xd5\x47\x63\x57\x28\xa4\x70\xa8\x2b\x10\xcc\x6e\x19\xfb\x79\x4e\x60\xa8\xb6\x4c\x53\xdb\x80\xa3\xe9\xb7\x9f\x2a\x45\x55\xa8\xf9\xc6\xab\x07\x89\x94\x4b\xe8\xda\x57\x53\x50\xa0\x11\x8f\x2d\x3b\x08\x42\x07\x46\x4e\x68\x2e\x01\x27\x97\x0f\xed\x46\x36\x8a\x53\xc9\xac\xd2\x07\x96\x48\x26\x5f\x3b\xfb\x6c\xad\x26\x41\x30\xb7\x52\x61\x6e\x9f\x53\xd1\xaa\xd8\x70\x15\x7c\x05\x06\x83\xab\x06\x31\x70\x22\x0c\x01\x0a\x51\x1c\x94\xe0\x3a\x7c\x4c\xa5\xdf\x91\x8b\x35\xf6\xb6\xd7\x06\xca\x5d\x6e\x79\x99\x10\x4c\x88\xab\x94\xa6\x41\x06\x88\xaa\x21\x51\xee\x12\xcd\x4b\x00\x3b\xcd\xa0\xd2\x9e\x4f\xa9\x69\x85\x95\x71\x1e\x5c\x33\x8b\xa0\xd7\x68\x9b\xe1\x70\x56\x63\x10\xde\x69\xe0\x37\x55\x05\x93\x31\xf7\x8e\xab\xcd\x93\xe5\x4a\x33\xba\x32\x29\x18\x70\xf6\x92\xa2\x52\xc3\x32\x18\x30\x1d\x3b\x94\x44\x6c\x5f\x40\xca\x98\x0a\xce\xb4\xb0\xf4\x20\x64\x04\x99\x13\xa1\x1a\x2a\xfb\x62\xc4\x83\xe1\x81\x2a\x60\x1b\x4e\x03\x0a\x03\xdc\x0a\xb5\x6b\x5f\x96\x9f\xa4\xea\x83\x2b\xda\x68\x2c\x26\xa8\x9b\x6e\x65\xd1\x0e\x18\x3c\xcd\x76\x68\x17\xa9\x1d\x60\xc8\xcb\xc6\x19\xa1\xc2\x57\xd3\xcd\x39\x4d\x34\xcb\x16\xe6\x22\x0e\x6c\xed\x02\x15\x39\x34\x07\x2b\xcf\x26\x0f\x7c\x8b\xd9\x83\xc5\xe7\x39\xed\xcb\xb2\x41\xc7\xa6\x25\x72\x33\x5c\x82\x6a\xd1\x91\x7d\xd7\xbe\x5a\xc9\xb8\xdc\xac\xaa\xd6\x34\xb7\xbe\x84\xcc\xca\x9a\xd2\x09\x11\x15\xa8\x8d\x43\x3b\x67\x19\x87\x18\xb9\x42\xc9\x48\xa5\xce\xdc\xc6\xcf\x6c\x67\xd2\x5b\xa4\x3d\xe9\x60\x79\x2b\xa8\x8d\x96\x9a\x5a\x6d\x5a\x0e\x30\x5f\x57\xc8\xb2\xf1\xcc\x94\xe0\xd6\x3e\x67\xdf\xd0\x51\x07\x65\x26\x7e\x7b\xb2\x34\x62\x2f\xb5\x69\xbd\xb0\x93\x11\x5c\xd3\x47\x86\x60\xa9\xeb\xed\xcb\xb0\x35\x20\xe0\x01\x23\xc8\xc7\xd6\x4e\x68\x48\x8a\x06\xfd\x64\xd5\xc0\x9c\xd6\xa7\x31\xe2\x32\xd1\x82\x9f\x6c\xa8\x24\x13\x99\xe8\xd3\x43\x6a\x87\x7f\xd7\x8d\xe7\x07\x7e\x0b\xa8\x6b\x76\xa5\x93\xc9\x66\x4a\x21\x4d\xda\x37\xc2\x80\x5d\x01\x37\x45\xbd\x8a\x70\x4a\xa4\xb0\x8b\x50\xa9\xd7\x87\xe9\x6b\xca\xc2\x86\xc3\x31\xb9\x8c\x64\xf2\x26\xe1\x94\x8b\x38\x93\x5e\xd2\xc6\x6f\xe6\x42\x98\x9c\x47\x88\x02\x03\x09\xe0\xd0\x40\xe4\x12\x9e\x0c\x20\x91\x47\xe0\x44\x41\x1b\x79\x60\x9c\xf0\x64\x9f\xad\x7d\x28\xc2\x0e\x5e\x31\xc3\x12\xb8\xeb\x81\x38\x79\xbb\x87\x66\xf2\xc8\x5a\xad\xf6\x34\x39\xd1\xe2\x5a\x79\xcc\xd8\xd0\x41\x9a\xa3\x34\x2c\xc9\xab\x16\x5c\x2b\x25\x64\xb8\x66\xaa\x35\x22\x6e\x84\xfc\x4f\xb5\xa3\x91\xe4\x94\xcd\x0e\x8d\x01\x9e\x0a\x55\x0c\x27\x24\x13\xf3\x38\x2e\xf5\xd7\x46\x7f\xb1\x11\x8e\x43\x4a\x94\xf8\x91\x3c\x36\x0d\xe0\x0c\x55\xe5\x70\x4b\x0b\x4c\xaa\x1a\xe6\x91\x6d\xac\x2a\x04\xc2\xf3\x6a\x11\x04\xb8\x89\x2c\x84\xe2\x8a\x6a\x9c\xf0\x30\xd8\x99\x6c\x78\x49\x66\x6e\x50\xbc\x15\x9b\xf7\x28\xd7\x74\x88\xaa\xf9\xed\x1f\x14\x2d\x65\x2e\x2b\xfd\xb7\x01\x6d\x7f\xa7\xd4\x48\x08\x3a\x16\x70\x87\xf3\x4e\xb8\x95\x27\x49\x14\x17\x2a\xbf\xe2\xc5\x93\x80\x63\xe8\xd9\xa9\xf5\x33\x36\x37\x3b\x7a\xad\x0b\xfd\x31\x76\x3a\xec\x71\x36\x10\x96\xcd\x11\xd0\x0c\x95\xd6\x9a\x9f\x30\xb4\x06\x98\x0b\x40\x79\xa3\x06\x54\x36\x0c\xd3\x05\x1a\xf5\x03\x15\x87\x4a\x96\x9b\x21\x61\x39\x9b\x02\x63\xae\x77\x86\x47\x6f\x90\x90\x10\xf7\x98\xbe\xc1\x77\x0a\x12\x28\x4d\x0b\x0d\x1f\x12\xc0\x79\x8f\x3d\x2c\x39\xd6\xfd\x29\x61\xec\xbd\xfd\xf3\xcb\xc6\x04\xc1\x43\x9b\x8f\xf1\xaa\x8f\x7e\x0d\x27\xad\x37\x8f\x75\xaa\xd8\x5e\xf2\x2e\xf7\xfc\x92\x22\xe2\xff\xb5\x43\xf2\x04\x72\x9f\xa0\x0c\x15\x9c\x9e\x3c\xb2\x72\x16\x44\xf1\x96\xd8\x6a\xc2\x76\xbe\x2c\xe3\x48\x5b\x1c\xaa\xac\x0f\x16\x1c\x58\xa8\xb8\xe7\xb3\x0a\x49\x93\x57\x05\x05\x19\x61\x12\x99\x15\xee\x11\xc1\x32\xbf\xc3\x9a\xa9\x48\xfc\x54\xf8\x72\x41\xcf\xdf\xef\xa7\xfd\x47\x0f\x1f\xed\xdd\xc1\x2f\xbf\x6c\x1a\x60\x6e\x62\x33\xd8\x77\x59\x33\xb1\x39\x09\xd4\x82\xa8\x57\x7a\xd8\x5e\x8b\xe6\x47\x5e\x9a\x6a\x9d\x8c\xc7\x72\x73\xbe\x8b\x39\x73\x12\x62\xca\x2c\x62\x11\x33\xab\x84\xab\x9a\x80\x0f\x09\xec\x39\xea\x6f\xd5\xb7\x80\x54\x42\x7d\x70\xe5\xdf\x21\xc0\xda\xb2\x9f\xb3\x5a\xcb\xe0\xcf\x48\xfb\x4d\xe1\xe6\xc7\x2b\x1e\x57\xbb\x8a\x42\xb4\x2c\x8b\x96\x58\x96\xd9\x42\x6f\x11\x1a\x12\x28\x36\x42\xf3\x55\x23\x2d\x28\x57\x4a\xc5\x5c\xc9\xd1\x54\xb1\x1a\x71\xf6\xb0\x1a\x77\x16\xbc\xf2\xe4\x25\x2a\x1b\x09\xa5\x5e\x1a\x74\x86\x92\x15\xd0\x25\x32\x32\xdb\xa8\xfd\xce\xe8\x22\x6c\x36\x8f\x7c\xbb\x80\xdc\xe9\xb6\xd7\x0a\x11\xb5\x5c\xec\x67\x0c\xa5\x05\xda\x32\x79\x05\xa5\x4e\xc6\xe3\x57\xa7\x6c\xd4\xc7\xb6\xf3\x04\x07\x89\x10\xb3\xac\x95\xc9\x26\x4b\xe8\x37\xf1\x00\x7e\xeb\x90\x6f\x28\x4d\x1a\xb6\x6d\x45\x02\xf7\xa1\xaa\xa2\xd2\xbc\xef\x50\xd7\x5b\xea\xb3\xf9\xc3\xdb\x0d\x6e\x5e\x41\x0f\x67\x59\xb1\xf4\x59\xf3\x50\xe5\x76\x8c\xb3\x0f\x26\xcc\x21\x84\xe1\xda\x36\x72\xd4\xb1\xa8\x29\x60\xaf\x37\xbf\x1c\x92\xbc\x43\x4b\x83\xc1\xeb\x32\xbd\xee\xd3\xf4\x3e\x5c\x28\x71\x39\x79\x37\xaf\xed\xbe\xf8\xf6\x5a\x6a\xfe\x90\x18\x67\x6f\x62\xe3\x06\x6a\x8b\x07\x59\x36\xcf\x9d\xb3\xcc\x15\x9b\x5e\x9d\x66\xc7\xad\x95\xab\xd3\xbb\x61\x7c\x70\xbe\x42\xd3\x35\xb3\xb9\xed\x7f\x33\xcd\xbb\x79\xe1\xc2\x82\x13\x25\x73\xef\x38\xdf\x72\x8a\x1c\x47\xf3\xe7\xcf\x96\x48\xe8\xdc\x88\x04\x79\x25\x7f\x64\x48\x35\x55\x02\x41\x11\xa4\xdf\xe8\x28\x52\x5c\x58\xb5\xe9\x2b\x67\x91\xfc\x3e\x3c\x4c\x2c\xfb\x3b\xc4\x68\xe1\xa7\x65\x4b\x3d\x6a\x51\x97\xd0\x9c\x84\x10\x75\x5c\x0e\x32\x85\x8c\x1c\xeb\x30\x36\x49\x85\x4d\x4b\x61\x13\x6a\xc2\xc9\x3d\x90\xbf\xcd\x18\x2d\x4d\x05\x81\x18\xf6\x3c\xee\x44\x9a\xa4\xb9\xab\x83\xb9\xce\x1d\x5c\xa0\x72\x75\xbc\xdb\xcc\x83\x0b\x89\xe3\x16\x7b\x3a\x54\xe4\xc7\x21\x8e\xd5\x6a\x9b\x23\xa0\xe3\x37\x61\xbc\x6a\x81\xbb\x40\x1e\xb0\x74\x3c\x39\x4b\xa7\x0b\xc5\x34\x3c\x94\x71\x10\xb8\xf4\x54\x13\xb6\x3e\x61\xf7\x48\x22\xaf\xaa\x4c\x09\x81\xb0\xbb\x2e\xe4\x48\x01\x59\xdc\x3a\x6e\x8b\x25\x09\xe6\x61\x9a\x89\x6f\x3b\xbb\x02\x34\x62\xc4\xfe\xd6\x88\xf7\x2d\x27\x73\x3b\x4e\x60\x65\x4b\x52\x32\xe5\xbe\xda\x2f\x02\x28\x89\xe9\x21\x28\x2a\x9c\xcd\x32\xc0\xf6\x21\x18\x2b\x38\x48\x27\x46\x32\x8c\xca\xe4\x01\x33\x6f\x22\x05\x1b\x1a\xcc\xcd\x1f\xcc\x89\x41\xc9\x76\xfe\x94\xd1\x32\xf2\x11\x50\xb1\x3c\x34\x3b\x3d\xc9\x79\xbf\xb4\xdd\x6a\x16\x95\x29\xe6\x5a\xf4\xd9\x5e\x9f\x6d\x82\xdd\x91\x89\xed\xac\x41\x6b\xd5\xbc\xca\x38\x9b\xcb\x7a\x6a\x43\xf0\xc5\xee\xcc\xed\xf3\xd4\xfe\xdc\xf5\x38\xc5\x3f\x94\x92\xda\x60\x10\x5a\x6f\x7a\xbd\xea\xda\x16\x0f\xb1\x30\xda\xad\x98\xbc\x25\xb8\xc6\xa6\x44\x45\x01\x76\x14\x4b\xed\xb4\xcc\x45\x3f\x39\xa7\xa0\x78\x95\xd1\xa2\xac\x2e\x36\xa3\x10\x51\xd1\x64\x1a\x12\xb6\x8e\x30\xe5\xcc\x2d\x6e\x1c\x84\x22\x4a\x8e\x7b\x56\x2d\x08\x47\x92\x39\xa4\xfe\xe0\x2c\x00\xdb\x33\x91\xea\x26\x64\xec\x27\xd7\x6d\xb2\x30\xd7\xb5\x21\xe0\xcb\x93\x7a\x98\xf7\x1f\xd4\x47\x73\x31\x57\xe7\x72\x67\xa9\x00\xaa\x68\x44\x4b\xfc\x2e\xa8\x56\x9b\xb0\x87\xa7\xf4\xa2\x6c\xa6\xa7\xc2\xa8\x2a\xed\xb0\xeb\xd4\x92\xf3\xd5\x40\xe8\x31\x72\xcb\xbd\xc3\xd0\x7b\x1d\x7b\xdf\xe8\xaf\x4c\x1e\x3b\x04\x0a\x2c\xbb\x98\xa7\x7b\x13\x05\x73\xa3\x60\x09\x0d\x8f\xbc\x25\xed\xa9\xa0\x89\x48\x80\x2c\x71\x84\xb6\xe2\x70\x9e\x54\xab\xd1\xd2\x50\x7c\xe3\x4b\xce\xd8\x1b\x8a\x10\x8e\x8a\xac\x1c\x3c\x89\x87\x76\x63\x3b\x77\x60\x4a\x79\x3f\xb9\x96\x71\x3c\x9b\xab\x61\x52\x3d\xb8\x6d\x78\x6b\x56\x83\xa5\xa5\x95\x96\x10\x6d\x48\x95\x12\xc5\xd8\x32\xa3\x5d\x95\x46\x61\x16\xda\xf3\xb6\x61\xd3\x87\x35\x21\xe5\x05\x95\x56\x11\x5c\xa7\x08\x57\x9a\x37\xdb\x5d\x0c\xf3\x54\x10\xaa\x4c\xb5\x65\x92\x96\x23\x1b\xa4\x6d\x0b\x4c\x71\xb4\xca\x72\xca\x86\xb7\x42\xa0\x96\x26\xab\x6c\x7a\xad\x63\x1a\x5b\xee\x8c\xdf\x0a\x98\x20\xc1\x1e\xc9\x31\x2d\x54\x32\x45\x46\xda\xce\x8d\x50\xc6\x4d\x34\x04\xfb\x01\x54\x99\xa8\x30\x30\x10\xe6\x47\x9a\x97\x0f\xa3\xb2\x26\xdb\x56\xc0\x16\x64\xf4\xd1\x2b\x07\x43\xea\xd6\xd2\xf6\x3a\xbb\x2c\x53\x64\x43\xe6\xc8\x46\xf3\xf5\xeb\xc2\xda\x85\xb2\xc2\x4d\x6e\xb5\x34\x6b\x24\x4c\x11\x0e\x4b\xcf\x51\xe6\x8b\x4c\x98\x60\xdb\x41\xb0\xe1\xc8\x12\x22\x3d\x34\xfa\x48\x01\x7a\x5a\x19\x29\xe8\x8d\x14\x29\x40\x05\xca\xaa\x55\xb9\x14\x9b\x8b\xdb\x15\x73\x71\x73\xb4\x50\x1f\xa4\x65\x0b\x2f\xb5\x00\x73\x68\x2e\x4d\x69\xc9\x15\xa1\x11\xb0\xb2\x76\x9f\x46\xa5\x82\xaa\x8b\x8e\xad\xd5\xb9\xa8\x46\x0c\x92\x10\x68\xce\x3d\x88\x95\x41\x2c\x25\xe2\x00\x06\xa8\xd8\xd0\xb0\xd5\xda\xf1\xe4\xed\xf8\x31\xdb\x3d\x9d\xaa\x72\xa7\x5b\xf9\x4b\x52\xbd\x07\x41\x9b\x28\x10\xbb\xa5\x49\x4b\x31\x1b\x02\x8a\x91\x07\x3a\x0c\x3e\x55\x0a\xb5\x6b\x5f\x9b\xfd\x4e\xaa\x32\x80\x3b\x59\x24\xc9\x4f\x04\x58\x15\x17\x2c\x88\x13\x1a\x67\x4a\x53\x0e\x80\x93\x75\xaf\x34\x65\x95\xee\x03\x54\x01\xd0\x09\xb2\x66\xd5\x0c\xc0\x9e\x80\xa8\x08\x0c\x2c\xe2\x66\x80\x33\x99\x87\x25\xae\xd5\x1e\x0c\xe6\x10\x0f\xbb\x5e\xd1\x6b\x24\x6c\xc2\xa9\xe6\x08\x28\x8c\xdb\x81\x27\x9f\x3c\xcc\x9d\xd4\x72\xb6\xe0\x32\x82\x57\x4d\x54\xac\x29\x36\x62\x47\x88\x65\xba\xb3\x09\x3b\x5d\xf5\x29\x66\xa8\xe6\xb0\x83\x56\xaa\x03\x12\xd3\x73\x80\x78\x50\xb6\x4c\xc7\x82\xfc\x14\xc5\xdf\x56\xd2\xbf\xd8\xbe\x26\x9f\x4d\x72\xc6\x98\x37\x92\xb3\x81\xac\x8d\x12\x7d\xf1\x38\x1b\xd0\x57\x0e\x2e\xf8\xfd\xc3\xb4\x5f\xeb\xc3\x6b\x14\x89\x65\x63\x53\xb9\x99\xcb\xd2\xac\x3f\x04\x87\x55\xc9\xd3\x75\xc6\x49\x70\xd0\x0c\x2d\x0b\x02\xd6\x9e\x3d\xbc\x89\x49\xfb\x92\x8c\x69\x9a\x5e\x10\x95\x89\x58\x22\x3b\xb4\x47\x6c\x02\x6a\xef\x20\x0f\xc3\xb7\x1d\xcf\xb8\x03\x8d\xb0\xd8\x64\xc3\xce\x8d\xa9\x1b\x3f\xbd\x32\x37\x96\xcd\x4d\x6d\xfd\xc2\x91\x06\x48\x22\x87\x13\x2f\x99\x66\x9a\x5c\xe3\xe1\x5c\xb8\xe5\x98\x26\x4b\xae\x9a\x33\x80\x4d\xed\xd6\x3b\x3a\x0e\x95\x09\x51\xda\x9e\x19\x69\x7e\x35\x99\xc2\x88\xf3\xe0\x91\x6f\xee\x5a\xf2\xb4\x69\x8b\xc9\xa2\x2b\xc4\x50\x79\xe0\x54\x42\xfc\x57\xa5\xc2\x14\xdb\xc6\xce\x9c\x49\x13\xe6\x30\x65\x3c\x19\x29\xc1\x17\xe7\xdb\x85\xa4\xb6\xa7\x03\xb9\x4a\xa1\x59\x1c\xe6\xf6\x99\xb4\x4b\x08\x53\x84\xcd\xc4\xbc\xad\x62\xa9\x58\x26\x16\x91\xdc\x91\x4d\x91\x31\x3d\x03\xf6\xa3\x37\xa6\x52\xa7\x2c\x8f\xda\x12\x30\x2a\x37\x6f\x6c\x2c\xd5\xf8\xbd\x85\x18\xd2\xb4\xfd\x87\xc9\x27\xcb\x44\x89\xb6\x6b\xcc\xb7\xe6\xf9\x4a\xf3\xa3\x5a\x25\xbd\x49\x2f\x9e\x22\x5e\x62\xea\xd0\xf6\xe0\xc2\x34\xba\xa6\x7f\x45\x08\x63\x7d\x3d\xcc\x7d\x73\xf3\x24\xdb\xce\x7b\xa5\x7a\x9e\x5e\xe7\x2b\x93\x0b\xed\xf5\xd4\xf2\x4c\xbc\x34\x7d\x2d\x4c\xae\xe5\x50\xcd\x51\x7b\x08\xe9\xbb\x9c\xe4\x56\x73\x7f\x9b\x47\x75\xad\x0f\x5c\xa1\xa2\x58\xd3\xc7\xbe\xce\xa7\x7a\xd4\x1c\x3b\x61\xaa\x31\x6f\x25\xed\x81\x6d\xc7\x29\x0f\x89\xaf\x1c\x79\xb4\xc3\x59\xd9\xa9\x89\xda\xd9\x76\xd0\xa5\x79\x58\x33\xec\x31\x1f\xc8\x57\xb1\x65\xcf\x2d\xbc\x04\xdf\x66\x31\x15\x81\xe3\xc0\x21\x2a\xdf\xe9\xa6\x6f\x0b\x94\x31\xf8\x4c\x1e\xa7\xa8\xc1\x5a\xf5\x8b\xc9\xff\x68\x29\x5c\xd5\x14\x30\x0b\x4f\xda\x0e\x47\x38\x99\x71\xa0\xbe\x6d\x92\xae\xc8\x80\x2f\xca\xbc\x83\x4e\x24\x88\x1f\x54\xd7\x42\xe6\xe0\x5c\xba\x00\xf2\x53\x79\xa3\x49\x7b\xc0\xa0\xa6\x05\xa6\x33\x42\x21\x72\xee\x2a\xcb\x8d\x29\x3b\xcf\xd7\xb2\x5c\x84\xe2\x90\xd0\x15\xa7\x40\x69\xe3\xd9\xef\xeb\x27\xbb\xd3\xc6\xca\x1d\xf3\xca\x42\x80\x15\x8e\x43\x04\xb5\x6b\x1f\xc9\x8e\x64\xf5\xe6\x3d\xa3\x66\x5a\x34\xd7\x59\x4b\x41\x6c\x41\xd3\x5e\xc1\x3e\xb0\x54\xa4\x62\x74\xf3\x85\x79\xc0\x40\xde\x85\xfd\xd2\xec\x16\xf6\xbe\x29\x24\x28\x07\x61\xbb\x4b\x6b\x1a\x29\x67\xa4\xaf\x9a\xdf\xcb\x74\x5c\xca\xad\xc6\xc6\xb2\x21\x16\xfc\xbd\x0d\xbb\xcd\xa8\x96\x39\x6b\x14\x41\xcd\x5c\x6e\xf5\x73\x6d\xe2\x9d\x35\xb6\x78\x67\x85\x93\x33\x61\xf3\xdd\xd2\x8c\x90\xa6\xd2\x95\xe6\xe9\x4c\x6b\x2a\xbe\x40\x2c\x92\xbf\x72\x76\xd5\x25\x31\x2a\x0a\xec\x65\x13\x54\x71\x93\x54\x01\xbf\x4a\xc0\xc6\x09\x70\x17\xc4\xa5\x22\x76\xa8\xb3\xa4\x91\x3c\xce\x20\xd6\x89\x56\xd4\x7d\xe1\x1a\x91\x0d\x23\x35\xd8\xbe\x93\xe9\xe7\x02\xaf\x2f\x8e\xd4\x54\x62\x98\x7e\x0e\x96\x58\x5e\xcd\x7f\xa6\x9d\xa8\x24\xc8\x09\xde\x2d\x6d\x3f\x5b\x7d\x14\x88\x5c\x5f\xcd\xd1\x55\x54\xe2\xc2\x3b\x03\xce\x9e\x2c\x63\x26\x65\x3b\x1e\xc8\xc1\x31\xe6\x90\xf4\x91\xb1\x2d\xc6\x4b\xb2\x00\xca\xe5\xc1\xe4\xdd\xc1\x4c\x43\x6f\x83\x71\xbe\xcd\xd9\xf6\x23\x29\xa5\x4a\xf3\x4d\x95\x4b\x03\xb1\x81\xc3\x52\x9f\xbc\x59\xb9\xd9\xdb\xb6\x85\xdf\x45\xcb\xf7\x28\x0b\xb5\x8b\xc7\x1e\xbd\x58\x12\x24\x62\xc9\xde\xd4\xe6\xe6\x8f\x41\xd4\x2c\x51\xec\x12\x4d\x87\x5f\x71\x2e\x2d\xcc\x83\x70\x2e\xb2\x2a\x9b\xa0\x9d\x1c\x3b\x2d\x37\x72\x2b\x80\x69\x8e\x2b\x3f\xb6\x1c\xd6\xf6\x7a\xb2\xd7\xbd\xb4\xd7\xf3\xf4\x7a\x9c\x5e\xdf\xf6\x0b\xf9\x21\x51\xc8\x28\xf2\x92\xc3\x9c\xfc\x19\x6c\xf0\x57\xc7\xd2\xac\x60\xac\x3d\x72\xda\x42\x9c\x44\x78\x41\x4c\x63\x92\xdd\x90\x92\x48\xdf\x59\x6e\x05\x9d\x11\x62\x43\x1d\x95\x30\xa5\x8c\x86\x69\x34\x97\xba\x30\xc0\xc5\x96\xc1\xb7\xe3\xc8\xb2\xe0\x01\x4f\xa1\x75\x8b\x29\xf1\x94\x24\x61\x11\x1f\xbf\x16\x0a\x39\x59\x1e\x99\x34\x3b\xa8\x49\x04\xc4\x9a\x5a\xb0\x77\x4e\x4d\x85\x2b\x4b\xb2\x65\x24\x21\xb3\x3f\xa4\x45\x3b\x2a\xf2\x1d\xca\x38\xa8\x0b\x07\x77\x27\x68\x13\x32\xe7\x5b\xcd\x0e\x36\x8b\xab\x62\x27\x22\xb4\x10\xd4\x10\x4a\x96\x9d\xb2\x56\x06\x33\xe9\xb7\x51\x16\x93\x25\x9f\x59\x7f\x6d\x7e\xab\x8e\xb1\xdb\x3d\x95\xe5\x95\x7c\x15\x6e\x6e\xab\x74\x78\xad\x63\x62\x87\xa7\xaa\x52\x1c\x3a\x45\x52\x7f\xa8\x3a\xc4\x9a\x29\x17\xdf\xa0\x64\x9c\x25\x34\x47\x7a\x4a\xcd\xfb\x27\x51\xda\xbe\xf4\x6e\xde\x9e\x1e\x70\x22\xf3\xd8\x53\x28\xde\x76\xef\x27\xa5\x48\x9d\x7a\xae\x59\xd5\xc7\x9e\x22\x0a\x71\xc5\x5e\xad\x45\xdb\xcd\x9d\xb2\xda\xd3\x53\x60\xc7\x5b\x66\x9d\xc5\x1e\x75\x6d\x3d\xb8\xb7\xf4\xde\x7c\x35\x2d\x90\xe0\x5b\x76\x3f\x0e\x81\x9e\x37\x7a\xb6\x78\x70\x6e\x66\x75\xf3\x0a\x81\xad\x34\x3f\x11\xb4\x1d\xc9\xcd\xbf\xa1\x34\xdd\x52\xd9\xcc\x14\x15\xb1\x5d\xca\x38\x60\xcc\x4f\xce\xa5\x16\x8b\x9e\x9c\x56\xe3\xe4\x11\xf3\xcb\xb6\x69\xd2\xd5\x49\xc9\xa9\x56\x19\x06\x01\x88\xd2\xfc\x87\x6c\xd9\xc5\x71\x72\x2f\xf9\x76\x8b\xdb\x1d\x31\xc8\x40\xa1\xb7\x39\xd4\x69\x0e\x71\x9e\xc3\xd8\x3c\x59\xc1\xb6\x6d\x5a\xb8\xfb\xc6\xce\xc7\x4d\x5f\xd8\x05\xa9\xbc\x7d\x27\x73\xb7\x69\x1a\xdc\xec\x30\xf3\x66\xdd\x6e\x5f\x6e\x0b\xa4\x29\xc4\xe4\xf3\xba\xa7\xe2\xf3\x1c\x72\x52\x2e\x64\x8e\x86\x65\xa3\xc8\xdc\xac\xe7\x6c\xc1\x3c\x9c\x8b\x07\x47\x15\x12\x6b\xbc\x4f\x54\x70\x18\xa2\xc3\x1e\xbb\xb5\xb2\xd1\x49\x0f\x0a\x70\xab\x19\x6e\xf0\xec\x12\x33\xa1\xda\xbc\x53\x38\xb3\xd0\x61\x58\x15\x61\xfa\x96\x6f\x73\x75\x2a\xdb\x5e\x2b\x98\xae\x6a\x5a\x15\xe5\x0e\x42\x56\x8f\x66\xe3\xa7\x8a\x61\xf6\x49\xa5\xb0\x49\xb9\x89\xfd\x64\xc1\xc6\xd9\x29\x25\xf3\xcd\xe9\x5e\x68\xdb\x16\x18\xf9\x79\xd9\xb6\xa8\xa2\x36\x0a\x02\x33\x70\x56\x87\xc9\xcf\xea\xf2\x26\x2e\x69\x35\x78\x96\x66\x4d\x15\x9c\x2f\xcd\x89\xcd\x09\x15\x9a\x6f\xca\x76\x13\x41\xce\x85\x16\x96\x85\x0b\xef\xd0\x72\xd3\x25\xb4\x45\xc7\xea\x87\x3c\x39\x9d\xca\xe4\xc9\x99\x7c\x9d\x69\xf2\x39\x85\x35\xf8\x0c\x42\x30\xa8\x43\x65\x47\x39\x6f\x05\xbf\xda\x4e\x93\x04\xbf\xc7\x38\x79\x99\xd4\xca\xae\x2d\x69\xdc\xd2\x10\xcc\xfb\x11\x5b\x06\x97\x58\x0a\x0f\x78\xe8\x9a\xb0\xa9\x03\xc9\x80\x99\x2a\xa0\x80\xf7\x2d\x93\x13\x26\x74\x44\x8a\xbd\xd1\xbe\x99\x00\x7a\xdd\xb2\x72\x43\xf3\xc6\xa6\x0c\xef\x90\x79\x9a\x54\x1f\x89\x28\xc4\x95\x93\xf2\x17\xb3\x4f\x13\x1c\x4e\x8e\x97\x0a\x3b\x05\x39\x79\x24\xda\x4e\xb9\xb4\xa5\xa5\x0e\xc3\x1d\xb4\x73\x91\xf2\x1c\xe3\xf6\x6d\x70\x48\x72\x40\xbd\xb8\xe6\x57\x2a\x28\x53\x03\xde\x62\xbb\xbf\xbc\xd5\xe9\x19\x2d\x4f\x29\x24\x6a\xdb\xd9\x90\x06\xba\x6c\xf1\xeb\x64\x72\x96\x2d\xfc\x82\xd8\x53\x83\x90\x05\x21\x1a\x76\x4f\x52\xcf\x72\xd2\x9a\x6d\xa7\x5a\x63\xaf\xca\x25\xaa\xd9\xb0\x85\xdd\xf4\xa9\xac\xda\x0c\x2a\x65\x40\x39\x53\xe6\x90\x3c\x18\x9c\x1d\xaa\x1a\x18\x15\x13\x88\xd3\x55\x3d\x73\x9b\xac\x03\x8e\x28\x63\xa7\x64\xbc\x9c\x3d\x3f\xd2\x76\x81\xdb\xa6\x49\x0b\x32\x2b\xeb\xcf\xb6\x89\x72\x4a\x1b\x36\x9b\x6f\x76\x07\x61\xd7\x8f\xca\xaa\x9c\x12\xdc\x41\x8a\xe7\xd2\xd4\x0c\x64\xe9\x54\x02\x5f\xa7\xe4\xac\x28\x55\x85\xfb\x2e\x96\x39\x7f\xce\x72\x3b\x2c\x35\x02\xcc\x69\xad\xe6\x62\x6d\xc9\x92\xb7\x0b\xb2\x40\x22\x19\x53\x11\xe5\x4b\x2e\x72\x9f\x2d\xcf\xda\xf0\xd5\x94\xad\xcd\xd2\xfa\x46\x52\x48\x5f\x21\xc9\x56\x26\x12\x39\x64\x35\xb4\xf5\xf0\x1b\x77\x6e\x98\x5c\x44\x50\xf9\x90\xc4\x80\xd2\x76\x6e\x4a\xa3\x63\x69\xb9\x32\xe6\x24\x9a\x3c\x24\x32\x39\x62\x42\x6c\x9e\x18\xd3\x35\xa6\x5c\x07\x8b\x9f\x75\x0e\x56\xca\xed\x3e\xa1\x2d\x49\x3d\xef\xa0\x68\x3b\x56\x1a\x0e\xd5\x76\x31\xed\x56\xb2\xad\x07\x71\xd2\xa5\x10\x48\x44\x2d\x13\xa8\x60\x45\xa6\xdd\x03\x71\xda\x3d\x50\xa6\x5c\x82\xa6\x4f\x22\xb0\x8d\xbd\xbe\x70\xe5\x20\xdb\xd6\x54\xcc\x79\xa3\x51\x68\x3b\x8d\xe0\x1a\xaa\x4d\x02\x94\x69\x00\x79\x1a\x40\x9c\x9b\x6e\x7a\x22\x7a\xdd\xf6\x2b\xed\xde\xb1\x2a\x47\xf3\xa8\x63\x9e\xd4\xcc\xe6\xec\x09\x90\x11\xcb\x96\x91\x25\x56\xd8\x09\xd0\x36\xd7\x91\x9f\x14\x5f\xbd\xd5\xb6\x31\x9b\xeb\xa8\x8e\xf3\x70\x96\xcd\xcb\xec\xda\xce\xf5\x16\x5a\xb4\x0c\xf5\xb6\x43\xcc\x1c\x59\xc9\xa2\x9c\xe0\x15\xd1\x4a\xd3\xcd\xd8\x5f\x63\x3f\xe9\xa5\xbe\x49\x27\x70\x7e\x1c\x17\xea\xa7\x42\x84\x69\xf2\x9f\x36\x8f\xb6\x49\xdd\xd4\x72\x62\xd3\x68\xfb\x1a\x1d\xcb\xb2\x6d\xb7\x71\xb3\xd4\x9e\x7c\x27\x9b\x40\x99\x90\x87\x87\xc4\x4f\xee\x19\x65\x79\x53\x96\x85\x84\x26\x8a\x7c\x9a\x55\xa0\x96\xd6\x66\x0d\x72\x9d\x5b\x04\x9d\x40\xbb\x6b\xbb\x37\x8a\xea\xfa\x3d\x52\x6a\x9b\x2b\xc8\x37\x7d\x49\x2d\x9f\x34\x75\xd6\x32\xab\x62\x3b\x08\xce\xe5\xc9\xf3\x73\x7d\x67\x7e\x1a\xbe\x55\x01\xc4\xb6\x05\xdf\xfa\x0d\x69\x9a\xec\x14\x7a\xcc\xad\xe9\xda\x98\x81\x65\x31\xf1\x48\xde\x32\xa7\xf8\x50\x59\xd1\x72\x16\x32\x6d\xa7\x58\x84\xfb\x6d\x7d\xad\xca\xbb\xed\x16\xca\x2a\x42\xb0\x2f\x39\x6f\xe5\x0d\x4f\xbe\x03\x1b\xc6\x3b\xf4\xfb\x9c\x4b\x57\xa8\x98\x1e\x96\x2d\x51\x32\x37\x59\x81\xbd\x68\xc1\x24\x1e\xc2\xbc\xc9\x72\x2c\x91\x3c\x3b\x52\x50\x41\x17\xbd\xed\xfd\xf1\x16\xd7\x81\xf9\xde\x0c\x70\xec\x62\xc2\xc6\xce\x58\x96\xad\x2e\xa0\x6d\xc2\x87\xcc\x8e\xb3\x57\xa8\x28\x61\x54\x54\x26\x35\xe5\xd0\xf4\x0e\x94\x0e\x1a\x1b\x4e\xa7\xbc\x28\x48\x37\xb7\x7d\x17\xee\xaa\xab\x6b\xdb\xd3\xa3\x2c\xb4\x34\x16\xda\x58\x9d\x69\xc8\x93\xc2\xa8\xd7\x5b\xc1\xce\x77\x38\x7c\x56\x4b\xb9\xdb\x96\x76\x76\x00\x7f\xad\x08\xc1\xeb\xaa\xd7\x7a\x20\xd2\xe9\x0a\xad\x91\x48\x52\x0e\x54\xc7\xab\xb9\x13\x94\x88\x6c\xcf\x2c\xa8\xd6\x8b\x27\xa5\x95\x20\x28\x31\x8f\xd0\xdc\x54\x02\xe5\x35\x17\xca\x51\xc6\xf9\x87\x05\x9e\xb8\x78\x12\x88\xb9\xf3\x54\xb9\x1c\x44\xf2\xa1\xf3\xe4\x79\x8d\x0a\x5c\x56\x00\x12\x36\x15\x2f\xf4\x89\x7a\xf1\x04\x95\x86\x32\xaf\x91\xb7\x52\xc6\x9e\x7b\x0a\x35\x2f\x02\xd5\x54\x46\xfb\xc7\x5d\xf3\xc4\x14\x1c\x77\xdc\x5b\x92\x9c\x50\x4a\x38\x31\xba\xe8\x43\x28\x37\xc8\x61\xad\xaa\xa4\xb4\x9f\x19\x61\x26\x13\xfd\x69\x41\x29\x5d\x3c\x89\xe4\x4b\xa7\x53\x28\x07\x01\x19\xc8\x39\xae\x59\x28\xe2\x6c\x50\x57\x28\xf2\x02\x45\x17\x2e\x9e\xc0\x12\xc6\x31\x9b\x32\xe2\x74\x6e\x0a\x2e\xad\x51\x24\xae\x8c\xfd\xfc\xcb\xc2\x4e\xbd\x7c\xc2\x94\x3b\xa1\x5a\x16\x88\x79\xab\x26\x80\x5c\xcc\x85\xb7\xdd\x4c\xf8\xd7\xfb\x80\xe1\x3d\xf2\xe4\xea\xa3\xe8\x24\xce\x41\x74\x67\x0b\x72\x00\xe4\x48\x86\x1d\x29\x8c\x96\x59\x11\x6a\xed\x70\x96\x78\x86\x25\xdd\x2e\x4b\xbd\x1a\x6b\xf9\x38\x96\xe8\x93\xb5\xaa\x58\xc0\x1d\x17\xaa\x25\x8e\xb0\x02\x0a\xc5\x90\x16\x81\x42\xaa\x07\x76\x37\xae\xd9\xeb\xfd\x2b\x0d\x6d\x0f\xef\x3a\xcc\x1a\x23\x95\x28\x1d\x12\x59\x7a\xbb\x2e\x08\x75\x5c\xc6\xb4\xdb\x46\xd8\x30\xbc\x52\xc9\x76\xb8\x3f\x27\x2a\x5c\x15\xfc\xae\x8e\xed\xdf\x22\x8a\xa4\xf9\xaa\xed\xb3\x3d\xc4\x44\x99\x03\x0e\x9f\x0f\x46\x19\xbd\x92\x06\x4e\x98\x45\x29\x88\x5c\x53\x6f\xff\x50\x13\xa4\xdf\x3c\xb2\xc0\x3b\xb7\x8e\x72\xa2\x50\x47\xb9\x84\xb1\xf7\x94\x51\x51\x2c\x56\xa3\xbc\x71\xfa\x21\xc9\x1a\x89\x10\xb7\x03\x73\xc3\x13\x26\xd2\x77\x63\x25\x4b\x30\x4e\xd7\xb3\x03\x06\x3f\xb8\x6d\x88\x62\xbb\x35\xfd\xe6\xf5\x85\xdb\x61\x34\xe9\xae\x7c\xed\x3d\x3c\xd8\x3b\xb3\xa2\x6c\x67\xf6\x96\x03\x06\x7e\x08\x68\x3a\x8d\xfa\xbb\x92\x14\x8a\x33\xe2\xf8\xde\x9c\x0f\x36\x4f\xdf\x3a\x2b\x4f\xde\x63\xc3\x7b\x32\x0e\x98\x7c\x26\x9f\xfc\x42\x5f\x1c\xdb\x3f\xa3\x5f\x03\x07\x6f\x85\xf9\xb5\x5c\xa1\x43\xa6\x44\x07\x9f\x56\x6f\xd7\xd1\x2c\xcb\x4b\x5c\xe2\x1d\x34\x56\x3a\x38\x5a\x8a\x99\xdc\x0c\x12\x13\x12\x97\x46\x98\xff\x31\x14\xf8\xcb\xea\xed\x43\x9c\xf8\xda\x68\xf1\xe3\xc8\xd2\x21\x47\xb3\xcb\x54\x52\xe8\xed\x3a\x12\x6a\x8c\xdb\x03\xca\xf3\x72\xb8\x1d\x2f\x1a\x47\xf5\x54\x22\x5c\x02\x49\xb9\x81\x4b\xe0\x96\x65\x9c\xfe\x5d\x94\x41\xe6\xab\xaa\xc1\x2e\x81\xed\xf2\xee\x31\x51\xf4\xaa\x2b\x84\xe8\x6f\x64\xdc\xb7\x52\x55\x34\x8c\x4f\xf3\xdb\x0b\x77\xb0\x2b\x10\xee\x82\xb3\x67\xfe\x6e\xa2\xb8\x50\xc1\xd9\xf2\x5e\x46\xf3\xba\x2a\xfe\x20\x7f\x48\x35\x03\xbd\xc6\x66\x96\x40\x91\x33\xaa\x03\x45\xa4\xf4\xf8\x16\x92\x75\x60\x4a\xb2\xbb\xb1\x29\x50\xae\x28\x36\x1d\x46\x8f\xf8\x41\x0d\x75\x2d\x28\xb4\x25\x24\xd5\x92\xbe\x84\x04\x47\x4e\x86\x75\xa4\x12\x3c\xee\x04\x84\x08\xed\x2a\x48\x5a\x2b\x85\x8c\x38\xb6\xba\xe8\x6a\xc3\x64\x12\xab\x0a\x8c\x5a\x5f\x8b\x48\x39\x8f\xed\x9f\xbc\xb6\x12\x16\xca\x14\x3b\x8e\x94\x82\x5f\x0b\x15\x3b\x7c\xbf\x66\xf2\xe0\x46\xca\xde\x0a\xa7\x85\x5a\xe9\x63\x3f\xff\xbb\xf7\x24\x28\x7c\xea\x50\xd2\xa8\x84\x80\x01\x8a\xa2\xb1\x5e\x6c\x0d\x14\xe3\xc3\xd1\xd9\xb8\x08\x72\xa9\x74\x51\x21\x14\x71\x91\x94\x01\x51\xd4\xa2\x35\x80\xea\xc5\x3a\xa0\x02\x2e\x40\xa9\xe3\x49\x0d\xac\x01\x47\xec\xe7\x75\x8f\xfb\x17\x68\x05\xb5\xce\xc6\xb6\xd7\xd1\xdb\xe6\x40\x89\x7a\xb5\x0e\x14\x5d\x1c\xdb\x82\xf8\xe8\x5b\x1b\x7a\xb9\xc0\x6b\x77\x95\xce\x67\xfe\xae\x3a\x8a\x20\xa1\x2c\x95\x7c\x50\x28\xf8\x4a\x71\x14\xe2\x22\xa8\x4a\x0f\xbf\x56\xe7\x75\x49\x7b\xfd\x15\xfb\x19\xc4\x0a\x0b\x78\xd5\xc4\x52\xb9\x52\x70\xc5\x3b\xd4\xaa\x2d\xba\xf4\x81\x29\xd5\x45\xa4\xe0\x95\x7f\xc5\x44\x86\x88\x21\xc3\x41\x1d\x48\x22\x7e\xb7\x8d\x0e\x76\xa5\x4a\x1c\xa5\x0a\x09\x1e\xb8\x52\x32\x2f\x80\x83\x3a\x83\x0a\xee\x79\xe1\x55\xa2\x8f\xd3\x3f\x81\x3e\xe9\x42\xe5\x16\x27\xec\x55\x48\x71\x8d\x78\xfd\x28\xf0\x2f\x49\xd6\xd9\x20\x0b\xa1\x86\x85\xa7\x54\x50\xa9\xb1\xfd\xa0\x9a\x82\x4b\xe6\x38\x70\xbe\x43\x62\x11\x06\x19\xb1\x25\x92\xe1\xfe\xe6\x12\x6c\xb8\x18\x25\xb7\x74\x79\xbd\xf2\x97\x0a\xea\x02\x43\x3a\x04\x87\xbd\x41\x52\x79\x6b\xed\x04\xbb\x72\x02\xaf\x3d\x89\x28\xa8\x43\x52\x6c\xc6\x3c\xb9\xd8\x01\x10\x6b\x45\x57\xb9\x68\x6d\x24\xf2\xc5\x9a\xe8\x71\xae\xbb\x58\xf1\xe7\x10\x16\x95\x52\xb2\xf7\xe0\x2b\x6e\x8f\xa0\x62\xb4\x2f\x77\x56\xe0\xce\xfc\xbb\xf4\xb7\x97\xef\x59\xb5\xac\xb1\xbd\xc7\x12\x43\x08\x73\x02\x4c\xa9\xb9\x03\x47\x50\xbc\x0e\xb5\x4b\x94\x11\xea\x9d\x2f\x6f\xa4\xde\xab\x7e\xa2\x87\xfc\x88\xfd\x75\x2d\x27\xaa\x28\x89\xad\x14\x1f\x63\xe8\x22\xd5\xec\xbb\xed\xeb\xf9\x89\x05\x5e\xb9\x6a\x40\x15\x8e\xee\xd1\x24\x9d\x0a\x8a\xfa\xa3\x69\x46\x08\x32\x72\x82\x0e\x1e\xb0\x77\xc2\x7e\xe8\x90\x58\xdf\x63\x16\xfd\x7c\x7d\x55\x44\x6d\x03\x64\x8b\x89\x62\xc7\x77\x87\x50\xe3\xba\x52\x0e\x63\x6f\xbf\x30\x15\xef\x75\x94\xb7\x0f\x52\x75\x1f\xa9\x5d\x21\x6f\xdc\x14\x7e\x95\x50\x8d\x9d\x14\x85\x03\x07\x5c\xa3\x8e\x24\x78\xbb\xe8\xfd\xdb\x1b\x0d\x54\xa3\x0a\x61\x9f\xc7\x5d\xb9\x80\xfa\xd4\x2e\x2c\x02\x79\xf1\x53\xe7\xca\x94\x27\x86\x55\xb0\x01\xc7\x24\x0c\x92\x2b\x70\xdd\x5b\xbd\x16\x6f\x89\x4a\xf9\xaa\xe1\xba\xb3\xa6\x56\xef\x5a\xf9\x4a\x39\xd8\x88\x30\x65\x8b\x0c\x41\xa6\xc2\xa9\x64\xf3\xaa\xf4\x4a\xa0\x17\x36\x92\xd8\x55\x0a\x81\x1b\xff\xdd\x62\xa5\xed\xdf\x60\x9f\x21\xf0\xfc\x38\x4a\xe4\xcb\x38\x4d\x2c\xe7\xd8\x38\xf8\x16\x03\x5f\x5b\x0f\xb7\xad\xa6\x81\xab\x89\x85\x06\x2f\x6d\x4b\x5f\x6c\x1c\x7e\x97\xff\xef\x8c\xf6\x66\xbe\xbf\x3d\xda\x09\x20\xe3\x96\xf0\x6e\x10\x99\x56\xbd\x24\xf0\xe2\xf2\xde\xa4\x7f\xb3\x8c\xf8\x27\x90\xbe\x47\x69\x42\xe4\xb8\x2a\xb7\x8a\xd0\xcf\x91\xd9\xdc\x2e\x91\xc9\xec\xb7\xf8\x72\x36\xbe\x6c\x05\x36\x6f\xc7\x94\x9d\xc6\xad\x14\x77\xac\xe1\x20\xa2\x28\x4a\x21\x30\xdf\x98\xb0\xcf\x2a\x84\x6e\x7e\x60\x81\x37\x6e\x25\x01\x15\x61\x69\x6a\x99\x54\x57\xc8\x71\x8d\x6d\x81\x63\xfb\x17\xd8\x37\x3a\xe9\xb6\x1e\xbe\x15\x51\x3c\x49\x8d\x4d\x2e\x46\x62\xe4\xd2\x86\xec\xd7\xd9\xfc\x3f\x38\x4f\x82\x95\x92\x17\x78\xe6\xd6\x01\x6a\xef\x55\x95\x77\xef\x4d\x0a\xa8\x18\x54\x7d\x5f\xaf\x84\x62\xb4\x6b\xd4\x59\x88\x26\xb8\x85\x7c\xba\xc6\x99\xb6\x4d\xf8\x8e\x92\x87\x01\x25\xd6\x68\x98\x85\x3d\x72\x73\xd5\x72\x0c\x9c\x5b\xe7\xfa\xb4\xad\xaa\x2a\x09\x81\xb3\xf5\xae\x9f\x35\x5a\xef\x3d\xae\xfb\x49\x04\xf2\x35\x89\x2c\x5b\xeb\x89\x6d\x48\xf1\x20\xb5\x34\xe3\x54\x8a\x0a\x4a\x55\x2c\xe1\x29\x4d\xde\x80\x4e\xf1\xe2\x89\xc9\xce\x44\xec\xeb\x34\xd2\x59\x28\xb6\x7f\x42\x14\xb2\xaf\xd3\xc3\xcc\x94\x94\x40\xdb\x6c\x62\x0a\x97\xc5\xb0\x8a\xde\xe2\xaf\xc2\x7d\x07\xa1\x01\xa2\x26\xda\x5b\xcf\x31\x85\x05\xc4\xb8\x35\xbd\x23\xc6\xb7\x07\x7a\x69\x9c\xfd\xb5\x03\x6d\xcd\xd8\x89\x40\x06\x00\x43\x35\x45\xe2\xb8\xa0\x78\x27\xfa\xbe\x78\x73\xba\xba\xa3\xbf\xae\x95\xbd\x2d\xc4\xb5\x8e\x81\x62\x8e\xaa\x64\x95\x16\x96\x67\x55\x8d\xa2\xef\x45\x45\xd6\x10\x9c\x53\x4e\xd6\x4d\xdf\x48\x4c\x9b\x1e\x28\x0e\x27\x95\x38\x56\x05\x2a\xf8\x3e\xe1\xf8\x08\xa1\x80\x6b\x14\xf9\x6a\x3b\xb2\xa1\x36\x15\x33\x8f\x3b\xc4\xca\x54\x32\xe3\x60\x2d\x15\x54\xc5\xe5\x0e\x5b\x43\xf5\xd7\x00\xa3\x15\x47\x6b\xd5\x9c\x0e\x84\xd5\x02\xa8\x63\x0f\xae\x6b\x35\xc0\xd4\x82\xf1\x6a\xc3\x5e\x3c\x11\xc2\x4e\x42\x1f\x32\x86\xd2\x0e\xa6\xa9\xbd\x71\x5c\xa1\x90\x42\xaf\xca\xe0\x38\x5f\x26\x98\xe9\x59\xa7\x11\x5c\x7a\xc0\x2e\x27\x4a\xa5\x9b\xbe\x91\xe4\xa7\xc6\x77\x87\x63\x73\x94\x47\x87\xcd\x21\x2d\x48\x73\xea\xb1\x85\xae\x4b\xa8\x29\x8c\x53\x5a\xba\x84\x82\x42\x42\x82\xed\x8b\xb2\xc4\x36\x09\x24\x28\xdb\x8f\x9d\xb3\xef\x7e\x4e\xd8\xbb\xd3\x82\xde\x49\x9b\xcf\x28\x79\xa1\x84\x2a\x30\xd1\x0a\x4e\x85\x98\xb6\x5b\x59\x65\x53\x1c\xf1\x16\xea\x20\x95\x91\x18\x34\x7d\xb7\xfc\xf1\x2c\xa8\x7b\x1a\xdb\x7a\xaa\x91\x9e\x6b\x1f\xa8\xa2\x04\xac\x2a\x3a\x81\xaa\xa4\x21\x97\x02\x4d\xc1\xbe\xac\xa2\x63\xf5\xe0\xb4\xa0\xc3\x8a\x43\x72\x38\x5a\xaa\x84\xaf\x3d\x3b\xaa\x56\xef\xc9\x3c\x26\x6a\x66\x96\x7c\xf1\x44\xcd\x2a\x6d\xd8\x3a\x74\x9e\x0a\x23\x15\x92\xa1\x08\x39\x35\x81\xd8\xf3\x81\x42\x5f\xb5\xbd\x08\x95\xd8\xa1\x5e\x61\x0a\xfb\x99\x72\xd2\xc5\xcd\x35\x77\xc5\x9c\x62\xf8\xce\x9d\x0c\xe4\x71\x70\xc6\x54\x20\x11\x45\x92\x0f\x12\x05\x53\x05\xbb\x80\xb3\xb7\x30\x27\xf3\xb6\xb4\x0d\xcc\x05\x45\x2c\x18\x3f\xe1\x68\xb6\x64\x69\x47\x77\x5f\xab\x3b\xa9\xd5\xf7\xf7\x7e\xef\x5c\xa9\x8f\xd2\xde\x6f\x14\xf9\x6f\x49\x91\x77\xd2\xa0\xae\x5d\xe5\xdf\xc8\xf4\x57\x41\xa6\xc3\x8f\x67\x77\x93\x93\x11\xf6\xb8\xa7\x58\x2a\xe4\x71\xe8\x3c\x9c\x4f\x48\x27\xae\x6b\x1c\xf6\xa2\x37\xb2\x4e\x2e\x96\xbc\x28\x94\x36\xe5\x7e\xa6\xd0\xbe\x8b\x0a\xa3\x9c\x7b\x4a\xb9\x2c\x3c\xc5\x7a\x81\x5c\x80\xa0\x7a\x61\x0a\x61\x6c\x77\x63\x29\x07\x5c\x28\xe2\xf0\x1c\x53\x54\xfc\x01\x43\xdd\xeb\x0a\x25\x04\x46\x2d\x77\x2b\xcf\x45\x50\x6c\x97\xca\x4e\xf3\x29\x84\x8b\x27\x02\x67\x28\x92\x62\xb0\xc1\x5a\xd6\xd8\x20\xeb\x91\x95\x9a\xb2\xaa\x17\x3e\xc3\x63\xea\xa1\xb5\x98\x25\xc9\x05\x5b\x9a\x2a\xd8\x08\x8a\x75\xd9\x56\x0c\x24\xb8\xab\xaa\x52\x52\xee\x2a\x45\x91\xcd\x98\xd5\xa2\xe7\x6c\xe7\x39\xad\x37\x2d\xd9\xa9\x78\xc8\xf1\x47\xa9\x25\xcb\xaa\x9e\x92\xfe\xf4\x02\xd8\x26\x38\xdb\x47\x7c\x6f\x5b\xbb\x1c\x63\xf7\x62\x34\xaf\x9f\x88\x76\x96\x8b\x0d\xdb\xf6\x4e\x1b\x40\xdb\x7e\x42\x17\x16\x75\xc4\xb1\x54\x38\x55\xb3\x6c\xf5\x8f\xc3\xa7\x72\xd9\x06\x0d\xda\x82\xc2\xd5\xe1\x30\x16\xf8\x1f\x23\x38\x87\x30\xa5\x56\x24\x08\x05\x1a\x7c\xd7\x20\xd5\xf6\xa4\xb7\xa2\x3d\x48\xfe\xb6\xac\x4f\xa6\x8a\xb3\x8e\x50\xa3\x0b\xc9\x74\x75\x20\x69\x07\x5b\xb6\xe4\xa7\x18\xc7\x96\xe5\xe7\xa3\xe9\x86\xd0\x3c\x5b\xef\x40\x02\x17\xa1\x86\xa6\xa8\x66\xa8\xf7\x0d\x17\xb0\xe5\xcc\x42\xb7\x73\xc7\x11\x1d\xe3\x81\x88\xa3\xd2\x52\xb8\x6e\xe5\xec\xfd\x58\xdf\x8f\x1a\xee\xa4\x64\x60\x5b\x7f\x07\xee\x75\x10\x29\x72\x27\xa3\x20\x29\x39\x27\x59\xe3\x0c\x4a\xf8\x52\x5d\xa5\x52\x80\xac\xf5\xda\x85\x97\x56\xb4\x2c\xcf\x65\x5c\x1c\xc3\xc6\x90\x0b\xd5\xb4\x3d\x24\x84\x83\xea\xac\xdc\xba\x35\x6e\x7e\x7d\xe1\x4c\xa5\xd6\x35\x72\x79\x26\x1a\x6b\x21\x6d\x85\x2d\x77\x91\x42\x89\xda\x5c\x64\x34\x80\xe2\x69\xda\x72\x57\x29\x39\x44\xc5\x75\x18\xbc\xc6\xee\x78\x3c\x61\x6c\xd6\xc2\x79\xa5\x86\x85\x8a\x3b\xd8\x0c\xf8\x25\xe3\x78\xab\x9a\xc9\xa7\x78\xa0\xf2\x2f\xd6\xbc\xf6\xe4\xf8\xe2\x49\x84\x8c\xc4\xe1\x32\x9b\xbe\x54\xd6\x6a\xa3\x39\x79\x00\xc5\x1c\xcc\xae\x50\xa9\x69\x3d\xd5\xcd\x99\xcb\x30\x5a\xd5\xcb\x9e\x52\x44\xce\x96\x72\xb5\x98\xb1\xb1\xdf\x2f\xd0\x30\x60\x92\x9c\x0a\xe1\xe4\xc2\xd8\xaa\x67\x07\xab\x04\xd0\xaa\xe2\x1a\x84\x17\x89\x30\x21\xa6\x1c\xc3\xd6\x7a\x78\xaf\xb3\xea\xa7\x37\xb3\x4e\x30\xb9\xa0\xc3\x0f\x48\x16\x08\xb6\xc5\xc2\x9e\x0e\x81\x82\xe5\x70\xa1\x04\xd9\x1a\x5b\xc2\xda\x52\x84\x29\xe1\xa8\x75\x3b\x93\xc3\xc8\xed\xb4\xda\x18\x6d\x0f\x96\xe4\x38\x10\x0a\x4a\x35\x7a\xb0\x1d\xfa\x75\x6c\x89\x64\xda\x23\x4e\x0a\x68\x18\xd3\x53\x8e\x11\x53\x15\xb5\xb4\x1c\x85\xb6\x02\xd8\xce\x2a\x5b\xa3\x08\x76\x00\x97\x8d\x62\xda\xd7\xd9\x46\xd1\x36\xd1\x96\x12\x17\x28\x8d\xb7\xb5\x86\x77\xab\x23\x39\xd3\xc3\xdd\xe3\xdb\x6f\x4e\xc7\xff\xfe\xfd\xd5\x17\x9f\x3e\x7d\x3d\x1c\x1d\x9f\xbb\xa7\xe3\xd1\xf1\x6a\x38\x7d\x2a\x3e\xcb\x53\x4e\xf9\x0f\x1b\xab\x57\x85\xc9\x44\xae\xa5\x82\xfc\xfd\x86\xfc\x95\x01\xe1\x88\x85\x5c\x16\x81\x9c\xc9\x1f\xdf\x5d\x35\x54\x7d\xe0\x07\xe9\xf1\xde\x65\x79\x35\xb7\x27\xdc\xe4\x82\x0b\xa1\xb1\xba\x18\xe2\xc5\x2b\x26\x1f\x63\x17\xc6\x9e\x90\xe6\x85\x5e\x72\x19\xf1\xaf\x10\x17\xe0\x21\xaf\x98\xd4\x56\x55\xa9\x5c\x6b\x97\x5b\x43\x2a\x56\x9a\xb7\x86\x73\x59\xa3\x82\xc8\xe5\x61\xdd\x0e\x16\xbe\x01\x2c\x8c\x7c\x4f\x6c\x76\x4f\x1b\xd8\x94\xcb\xac\xd1\x98\xb3\x02\xa7\x2e\x14\xc7\xa2\x3d\x5b\x10\x32\xbc\x1a\x6a\xdd\x86\xd0\xb6\xdc\xdd\x34\x5b\x4a\x9b\x1a\x1b\x2f\x2d\x14\x43\x00\x88\xd4\x06\x9f\x40\x94\x17\x48\x2b\x6f\x20\x52\x01\x9d\x62\x9c\x60\x94\x66\x0f\x16\xa7\x0c\xa7\x02\xcf\x40\xaa\x8b\x4c\x57\x9c\xc3\xb7\x43\x48\x6e\x80\x50\x44\xdd\xae\x42\x35\x97\x36\x69\x5d\xec\x05\x7b\xaa\x77\x15\xee\xb7\xc2\x07\x12\x37\x41\xde\x03\x77\x14\x79\x54\xad\xa9\xf5\xa0\xdd\x9a\xc1\x62\x39\x76\x15\x75\x9b\xb5\x1b\x3f\x81\x26\x26\x05\x4d\x2e\x00\x0d\x4a\xbe\x1d\x78\x08\x73\xf6\x94\x17\x95\x4a\x40\xbe\x07\xf6\xdf\x66\xed\xea\x4a\xe8\xf9\x76\xd8\xf8\x9b\xb0\x07\x69\x9e\x0a\x1c\xbf\xa1\xac\x4b\x84\x55\xb6\x90\xc7\x86\x2d\x3e\x6c\xa3\xcf\xed\xe0\xd9\xd2\x80\xb0\xe7\x2f\x2a\x90\x66\x10\x81\xbc\x28\x7a\xbf\x0d\xa3\x19\x48\x75\x17\x48\x11\x40\xca\x0d\x7f\x42\xdc\xc6\x1f\x05\xd2\x65\x12\xbb\xe2\xbe\xbf\x1d\x48\xe1\x26\x20\x15\x02\xfe\x94\xba\x85\x3f\x5b\x30\x2a\x13\x81\x95\xc6\x7d\xb6\x31\xe8\x0e\x08\xb4\xad\xb7\xe9\xd2\x96\x7a\x09\x8f\x26\x1e\x54\xaa\xf1\xa0\x74\x57\x4c\xda\x00\x29\xa0\xa4\x9c\x02\x29\xa6\x0d\x26\x7d\x10\x27\x8a\x37\x32\x68\x9f\x10\x75\x46\x0d\x9d\x06\xa8\x5c\x76\x01\x55\x37\x70\xaa\x4d\xbf\xdb\x80\xe9\x1d\x98\x64\x84\xac\xaa\xdf\x16\xa7\x66\x4a\x75\xdd\x47\x4a\x21\x1e\x44\xe8\xb0\x91\xd2\x36\x98\x36\xc8\xb4\x60\x3b\xb0\xe4\x1a\x30\xc5\xa4\xfc\x9a\x51\x77\x1d\x9c\x48\xe4\x12\x94\xd2\x15\x9f\xec\xed\x50\x4a\x37\xf3\x6b\xf1\x1e\x60\xb2\x30\xc8\x2d\x0c\xfb\x03\xd1\xe9\x5a\x15\xb9\xc9\x34\x14\x1d\x9e\x65\x5a\x98\x65\x5a\x2b\xa1\xa8\xa0\xb9\x96\xe8\x66\x7c\x0a\xb7\x30\xed\x1d\x7c\x7a\x0f\xa5\xe1\x2e\x29\x45\xd7\x42\x9b\xd3\xf5\x4a\x43\x89\x33\xef\x8f\xac\x4a\xf7\x25\xbd\x28\x5c\xaf\xc5\x42\x2d\x3f\x68\xef\xdc\x0a\xe3\x2d\xbd\x7e\xd3\x60\xc8\x50\x15\xe1\x9c\x30\xc5\x30\x93\x2f\x7c\xf1\x8a\x6a\xa8\x9d\x90\x1a\x75\xc9\x76\x79\x69\x57\x31\x8c\xf6\xcf\xb5\x50\x8c\x45\x1f\x2b\x84\xc2\x59\x19\x99\xf4\x5c\x16\x62\xfa\xb7\xfd\x5b\xe2\x5a\xa8\x5e\x89\x4c\xdc\x0e\x18\xbe\x01\x30\x3b\x56\xc3\xcd\x5a\x63\xd7\x54\xe0\xea\x64\x81\x09\x4c\x47\xd1\xa4\xdb\xe1\x53\x70\x4c\x20\x4c\x8a\x4d\x93\x5e\xb4\x49\x85\xcf\x64\x2a\xcc\xe0\xe1\xab\xe0\xa9\xbe\x81\x07\x31\xe8\x06\x9d\x5c\x0f\x2a\xe1\x1c\x41\xf6\x0a\x9d\x90\x46\xdb\xb0\xcc\x88\x02\x87\x2b\xba\xde\xed\xd0\x91\x1b\xa0\xa3\xf4\x26\x5d\x22\x2e\x61\x03\x1c\xbf\xa8\x94\xfc\x1d\xed\x9f\xdb\x29\x74\xcb\x24\x02\xe2\x94\x66\x63\x70\x95\xc9\x5e\xda\x80\x05\xd5\x20\x01\x09\x2f\xe8\xa8\xc1\xc5\x55\x45\x9c\x1c\x00\x9a\x42\x02\xf3\xce\x80\xc1\x79\x91\x28\x57\x9e\x80\x23\x6a\xdc\x5c\x8d\xba\xdd\x0e\x1c\x7f\x03\x70\x4a\x73\x6a\x72\xf4\x5b\xc0\xd9\xc5\x1c\x04\xd4\x60\xdd\x29\xe6\xa0\x80\x78\x7b\xf6\xdd\xd0\xd9\x32\x11\xb5\x51\x23\x2d\x60\x0e\x00\x64\x94\xa5\xc6\x13\x40\x74\x1d\x84\x5c\x69\x20\x02\x69\xe5\x19\x79\x78\x03\xa0\xa4\x00\x4a\x33\x69\x01\x3e\xee\x8a\x1e\x7c\x3b\x80\xc2\x4d\xb4\x25\x54\x7c\xb7\x19\xac\x9a\x81\x3b\x8c\x27\x5e\x83\x3e\x31\x5c\x31\xbd\x6e\x44\x9f\x2d\xeb\x76\x8d\xfc\xe0\xcb\x48\x64\x30\x2a\x30\xe3\x5f\x11\xa2\x8c\xc5\x95\x4b\x68\x94\x6f\x03\x52\x98\x81\x54\xeb\x8c\x45\x1f\xc2\x80\xe2\x8d\x9c\x39\x44\x6c\x5d\x0a\x1c\x67\x28\xb9\x78\xd9\x78\x9e\xa0\x54\x9d\x6c\x9b\xbf\x77\xa1\x32\x23\x62\x64\xf6\x6f\x5a\x55\xa0\x14\xa8\xf8\x35\x6e\xc0\xe4\xd3\xb5\x60\x5a\x23\x33\xfa\x12\xbd\x6d\x58\xd1\x06\x50\x38\x47\x22\xe5\x78\x09\x52\x77\x53\x19\x66\x50\xa5\x9b\x79\xf5\x9d\x4c\xfc\x0d\x46\xdd\x64\xcc\xdf\xcc\xae\x9d\x47\xa0\xba\xc4\xba\x0b\xab\x6c\xd1\xde\x3a\x81\xca\x17\xd9\xc8\xb3\x2d\x58\x79\x83\x95\xbf\x01\x56\x5b\x38\x05\x50\xa5\x72\x89\xf4\xea\xdd\x74\x86\x67\xe3\xc9\xb3\xfe\xec\xfc\xe4\x74\x78\xf9\x1e\x71\xdb\x94\x3a\x54\xe9\xc4\x06\x27\x46\x42\xdd\xc0\x08\xb8\x08\xf9\xad\x98\x48\x48\x54\x62\xd0\xbf\xb9\x94\x08\x93\xd8\x96\xa9\xd0\xea\x83\xb3\xcf\x56\x9c\x59\x62\xb6\x5c\xb2\x6a\x7a\xa2\x47\x55\x30\xee\x09\x9b\xde\xec\x3c\xb0\xd2\xdb\x66\x4c\x97\x7b\x4a\xd8\xab\xa2\xbf\xd7\x9c\xa6\x7d\xee\x12\xda\xe6\xe4\x76\x8c\x53\x2b\xba\x89\x33\x53\x92\x9f\x0a\x6c\x55\x2b\xdb\x8c\xe2\x4e\xd5\x76\x7b\x5a\x19\x0e\xae\x20\x23\xab\x62\x1d\xad\x06\x4e\x19\x28\x39\xe5\x0d\xd3\x31\xa6\x2e\x91\x24\xed\x47\xbc\x6d\x8e\xf3\xd9\x36\x6f\x46\x94\x80\x36\x88\xe4\x64\x7b\x88\xc0\xbc\x60\x8c\xe4\x60\x07\x5f\x65\x92\x68\x45\xb4\x5a\x15\x9b\x52\x28\xd7\x69\xb3\x16\xaa\x29\x50\xc4\x99\x89\x85\x72\xb6\xe6\x19\xc7\xfe\x67\x14\x10\x10\xa5\x43\xdb\x72\x38\xed\x2a\x15\xec\x3c\xb1\xc2\x5c\x94\xaa\x5a\x05\x76\x1e\x36\xce\x4b\xc7\xe9\xc0\x15\xfe\xe4\x6a\x45\x5d\xec\xa4\x54\x3b\xd8\x9e\x43\xfb\x9c\x0e\xf3\x91\x9e\x3c\x46\x6a\x47\xe6\xb7\x03\x6e\xd9\xea\x27\x79\x3b\xa8\x58\x5a\xed\x81\x80\xad\xbb\x48\x9c\xd5\x51\xed\xd2\xc4\xe5\x04\x9e\x96\xb3\x94\xb8\x2b\x84\x44\xcb\xe4\x0f\x91\x77\x39\x55\x56\x5e\x9a\x3b\xcd\x2a\x36\x63\xbb\x32\x8a\xc8\xc7\x75\x22\x29\xed\x78\xd8\x6c\x67\xa8\x7a\xab\xcc\x87\x4d\x61\xdc\x8e\x9e\x57\xed\xb0\x79\x75\xc1\x65\xac\x76\x8b\x1d\x21\x83\xfd\x53\xa8\x10\x31\x6d\x37\xfc\xff\xd9\xfb\x97\x1e\x47\x92\x24\x4b\x14\xfe\x2b\x86\xda\xcd\xc2\x14\xaa\x22\x2a\xfa\x58\x66\x67\x75\x22\x16\x1e\xab\x0f\xf0\xed\x07\x0e\xbb\xba\xbd\x30\x8c\x5b\x83\x89\xbe\x7e\x01\xff\xf5\x17\x72\x8e\xa8\x91\xf4\x78\x79\x64\x65\x4d\xdf\xee\x71\x64\xf2\x11\x4e\xd2\x4c\x4d\x4d\x55\xde\x72\x0e\x3a\xae\xea\xd3\xee\xba\x14\x60\x67\x60\x15\x13\x06\x32\x7d\xda\x08\xf6\xdd\x4e\xc9\x9a\xf9\xe3\x40\x57\x9f\x7b\xaa\x93\x85\x22\x7c\x5a\x48\xd1\xc0\x89\x7d\xf4\xbb\x69\xe7\xc5\x96\x04\xcc\xa7\x51\x39\xaf\x15\xa0\x28\xa0\x0f\xe8\x2e\x82\xd8\x70\x58\xc1\x0d\xa7\x27\xf4\x35\xcf\x20\xe1\x27\x44\x72\xce\xfd\x09\xfc\xe7\x2f\x9f\xf6\x9a\x46\x85\x1a\xef\xc0\xc6\x1f\xcc\x4c\xf9\x4b\xdc\x39\x00\xbd\x37\x74\xe7\x03\xd4\x87\x6d\x81\xbe\xab\x40\x54\x5f\x49\x99\x04\x4e\xf6\x3d\x99\xfa\x9d\x18\x3b\xaa\xb1\x85\x00\x87\x35\x80\x05\x7b\x49\x03\xe8\x83\xa7\xd4\x4b\xea\x41\x71\xa6\xd3\xf5\x5f\x3b\x83\x83\xa1\x2a\x18\x97\x47\x1f\xa9\xa0\x2e\x4c\xf5\x24\x09\xa5\xa6\x79\xf1\x39\x14\x4d\xd6\xd2\xe8\x69\xac\x04\x5b\x6f\x03\x68\xdf\x25\xd5\x3a\xe2\x39\x66\xb5\x45\xef\x69\xef\xd5\x1f\x8b\xbf\x0a\x98\x44\x28\x42\x03\x9f\xc6\x41\x8a\x51\x7c\x0b\x59\xd9\xdc\xb7\x18\xf1\xbc\x92\x78\xe8\xd1\x7c\xf9\x04\x01\xb5\xd7\xa4\x76\x41\x0f\x78\x23\x06\x5a\x25\xfc\x7f\xb5\x64\xe0\x6c\xd6\x91\x86\x05\xe0\x9c\xfa\x84\xa8\xef\x3f\xab\x3b\x4a\x85\x9b\x16\x04\xc2\x49\x28\xd5\x9a\x72\xdd\x4f\x12\x3e\xec\xec\x73\x04\x70\x15\xd6\x24\x18\xb6\x40\xc5\x0c\x66\xf6\xe1\x83\xb7\xf8\xc2\x00\xe4\x46\x47\xda\x84\x82\x08\xdd\xa6\xfe\x9d\x51\x89\x2b\xd1\xc6\x24\x87\x3d\x5c\x1f\x9c\xba\x59\xea\x0a\x80\x31\x8b\xe6\x3d\x97\xb1\x6c\x6e\x4d\xe6\x42\x00\x37\x96\x35\x66\xc5\x75\x83\xbb\xb8\x85\x22\xad\x25\x12\xa0\x56\x70\x1d\x0f\xd7\xa8\x07\xc7\x90\x8b\x11\x00\x50\xb5\xa4\x3a\x5e\x3e\xf9\x02\x80\x1f\xd0\x4e\x60\xef\xaf\x2a\x07\xc8\xff\x48\x32\xec\xe0\xf9\x43\x9a\x94\x70\xeb\xba\x5a\x04\x23\xa1\x4f\x9e\x8c\x27\xdf\x25\x76\xde\x01\x21\xb5\xa7\x66\x33\x10\xeb\xe6\x18\x0b\xb5\x26\x7e\x49\xbe\x38\x8b\x37\xa8\x5f\x4a\x19\xbb\x27\x2b\xdb\x9a\xdb\x3a\x07\x50\x9b\x5b\x9c\x44\xc9\xa7\x4d\x28\x8b\x42\x0a\x57\xe6\x04\x08\xf4\x0f\x48\x8c\x49\xf8\x2f\x37\x7d\x02\x9e\x16\xec\xd5\xc8\x70\x34\x72\xfa\x95\x34\x1a\x52\x44\x00\x31\x66\x2f\xaf\x05\xfd\x83\x05\xac\x31\x64\xf0\x25\xc8\x14\x49\xd0\x6f\x93\xe2\x11\x7c\x0a\x9d\x38\x3b\x25\xbf\x4a\x27\x03\x84\x46\x21\x7e\x6c\x01\xb2\xcf\x05\x05\x01\xe0\xce\x36\x4f\x92\xca\x40\xcd\xda\x22\xbb\xc3\xdd\x9f\xe7\x2b\xf2\xdf\x81\x8a\x60\x72\xc3\xde\x8f\x01\xcf\xc0\x03\x85\x1a\x61\x23\xaa\x2e\x64\x0f\xc0\xd2\xb8\x2e\x05\xc6\x9b\xb5\x40\x23\x01\xef\x2c\xe6\x9c\x40\x31\x05\x33\x85\x95\x3c\x4e\xc9\xba\x2e\x24\xfb\x92\x14\x27\x04\x65\xae\x4d\x00\x91\x02\x67\x7f\x04\x59\x8a\x6b\xba\x39\x52\x76\x73\x97\x8d\xb4\x8d\x40\x2e\xc1\xb4\x25\x94\xe6\x01\xfb\x82\x6e\xf2\xce\xa5\x97\xc7\x13\xb8\xb3\x4b\xe0\x46\x01\x40\xa1\xf8\x08\x7c\x5f\xa3\xf0\xd4\x15\x66\xee\x60\x55\x20\x27\x5a\xe1\xad\x54\x1f\x4e\xc1\xd2\x3c\x80\x39\xc1\x90\x6d\x71\x9a\xc0\xb0\x29\x35\xe0\x83\x85\x49\xda\x4e\x16\x82\xaa\x81\x8a\x0c\xae\x60\x7d\xda\x4b\xaa\x03\x80\xdc\xc0\xa0\x0e\x9e\x12\x80\x1c\x43\x96\x9e\x00\x45\x5e\x5b\xbf\x23\x28\x20\xa0\xc7\x4e\x3e\x5e\xf6\xbc\x2b\xed\x42\xa9\xfa\x94\x64\xfa\x72\x23\x0e\xcb\x82\xdf\x03\x60\xd4\x04\x6d\xc7\xb3\xdb\x30\xc5\x7d\x5f\xd3\x53\x21\xa5\xeb\x8d\xf4\x6a\x8b\x97\x43\xec\x16\xc4\xbf\xc6\x22\x20\x05\x67\xed\x89\x0c\x88\xc4\x0a\x8d\x2d\x00\xca\x74\xc0\xb9\x9e\x92\x8d\xe6\x8f\xb5\x14\x81\x42\x00\x90\x15\x60\x84\xd4\x53\xaa\xa3\xfb\xe3\x38\x6f\x60\x42\x95\xa1\xfe\x88\xd5\xd8\x2b\x7e\x7b\x06\xcf\x63\x11\x37\x57\xc1\x9c\xee\xab\x84\x78\x43\x27\x34\xd2\xa8\xc5\xfa\x2d\x6c\x51\x07\xc2\x10\x09\x2a\x5c\x87\xa8\x3f\x16\x3f\xe5\x96\xcf\xb1\x21\x08\x0d\x9f\x83\x2e\x3d\x97\xf2\xf2\xd5\x2a\xdf\x1f\xd9\x14\x52\x40\x4d\xe4\x86\x56\xeb\x17\x42\xb0\x11\x35\x9a\x98\xb0\xe5\x54\x01\xde\xb1\xc5\x4b\xb0\x9e\x52\x8e\x77\xe0\x5f\x8e\x9d\x38\xd2\x8a\x7a\x4f\x9f\x59\x90\x11\xa0\xfb\xc5\xaf\xb8\x01\x78\xa8\xc3\xd6\xbc\xec\xeb\x14\x61\x8c\x1a\x11\x33\xc9\x06\x24\x3b\x03\x3a\xc0\x86\x56\xf4\x33\xf5\x79\x2a\x9a\xdd\x28\x8b\x97\x20\x35\xe2\xd1\x01\x3f\x30\xd1\x8c\x63\x61\xf4\x36\xbf\x91\xc6\x54\x09\x72\xb5\xea\xc2\xad\x81\x5a\x15\xec\x45\x3b\xfb\xf4\x85\xd0\x07\x68\xf2\xb0\x05\xff\x0c\x40\x09\x00\x9e\x00\x35\xc2\x76\xe2\x57\xa0\x8d\xbf\x01\x8f\x11\x76\x1d\x56\x3a\x80\x7d\x66\x18\x77\x79\xe8\x09\x66\x81\x1d\xd4\x2b\x79\xd6\x2d\x7f\x40\x3f\xd2\x79\x77\x63\x14\xb5\x2e\x56\x15\x55\x4b\xe4\x2d\xa5\x6c\x1e\xd8\x3e\x0b\x21\x1c\x78\x6d\x9d\x48\x62\xb5\xb0\xae\x62\xf8\x1f\x60\x72\x0a\xd7\xb0\x24\xc9\xf5\x17\x71\xc3\xb1\xd9\xb6\x5e\xfd\xc4\x35\x81\x36\xb6\x16\x97\xb5\xe2\x82\x08\x59\xed\x91\xba\xef\x87\x26\x06\x10\x6a\xe0\xa1\x69\x4b\x35\xb7\x53\x07\x18\xf7\x16\x2f\x41\xc3\x59\x60\xdf\x02\xc9\x1d\x7d\x91\xe3\x24\x53\xd3\xa8\x65\x5b\xaf\x07\x31\x65\xea\xe0\xe4\x34\xa1\x6d\x8e\x0c\x34\xac\x42\x20\xe7\xb8\x4e\x57\x22\x0c\x57\xa9\xf4\xb3\xb0\x3d\x0f\x41\x3c\x02\xc0\xa7\xb8\x6a\x6c\x60\x78\x01\xc0\x1b\x7c\xb5\x0a\x46\x43\x20\x79\x08\xf0\x60\xdc\xd0\x80\x84\x40\x3f\x7f\x09\xae\x02\xf7\x7f\x5c\xf1\xe6\xd9\xc9\xce\x30\xe1\x00\xba\xb9\x96\x0c\xb2\xd2\x2f\x43\x34\xd5\x0c\x34\x85\xd4\x5c\xdb\x55\x30\xcc\xe2\x00\xd5\x07\xa9\xe2\xe3\xbb\x80\xa2\xcb\x8a\x9c\x2a\x58\x42\xb7\x78\xa1\x5c\x1f\x15\x5d\x9e\x49\x3a\x30\x8c\xa5\x8d\x54\x6d\x9c\x91\xa6\xd7\x49\x40\xe3\xee\x5e\x04\x8b\x81\xdb\x05\xe3\x91\xd1\x4f\x06\xdc\xc9\x2d\x5e\x48\x0d\x8f\x7d\xe7\x52\xd9\xdc\x2f\x02\x76\x74\x32\x1f\xa6\x1f\xc5\xad\xec\x46\x74\x3d\x41\xda\x13\x4e\x6f\xa9\xa8\xd3\x8e\xaa\xb7\x0d\xf9\x5d\x08\x57\xf6\x1d\xe1\xed\x93\xfa\x7d\x3f\x53\x63\xb9\x64\x21\x34\x84\xbb\x56\xc1\x7e\x2a\x1d\x60\x1a\x42\x6b\x6d\x36\x70\x68\x16\xf4\x91\x15\xa0\x16\xbb\x89\xe3\x76\x65\xad\xe0\xab\x70\xfb\x6d\xac\x9d\x63\x44\xb8\xa8\xa5\x24\x75\x8b\xa1\x95\x7e\x71\x5d\xe0\x76\x5a\xaa\x3e\xb2\xae\x12\x78\xa8\x5a\x5a\x52\x3f\x99\xdb\xca\xe6\x92\x65\xba\x52\xa2\xb3\x0a\x98\x41\xdf\x99\x3e\x29\x44\x15\x92\x18\x9a\x99\xdf\x07\xa0\xb4\xfb\xa1\xb0\xd3\x26\x2b\x4f\x74\x10\xb0\xd4\x7c\x44\xe8\x68\x93\xa4\x7e\x61\x4d\xdd\x44\x76\xc9\x34\x5e\x3e\xb6\x34\x1b\x00\x99\x25\x2b\x30\x18\xe0\x56\x8c\x40\x2f\x41\x6b\xe1\x00\xc3\x43\xd8\xf6\x02\x43\x6d\x4f\x6e\x19\xfa\x4e\x69\x72\x2a\xc9\x77\x4b\xf8\x14\xc3\xe5\x91\x48\x7d\x82\xb2\x3d\x97\xd4\x41\xbe\xa6\xa8\x1e\xcb\x9b\x2d\xf7\x47\x53\x29\x54\xb1\x83\x7d\xb6\x62\x84\x33\x07\x65\xfd\x08\xf6\x10\x5f\x13\x3e\x8d\xc0\x20\x6d\x40\x72\xe1\xab\x3b\x72\xdd\x2d\x8f\x50\xe9\x33\x89\x0e\xdf\xab\x97\x54\xdd\x8f\xf0\xc9\x70\xa7\x56\x41\xf6\x0c\xa4\x21\xa2\xfa\x59\x05\xe1\xb2\x6b\x05\xb7\xd4\x0a\xfe\x87\xb1\x65\xb1\xa1\x00\x06\xdb\x88\x93\x01\x1c\xab\xc2\x5f\x0d\x72\xef\x53\x22\xf9\x8d\x00\x72\xba\x42\xd8\x26\x33\x7d\x6e\xa9\x18\xe1\xe6\x80\xbe\x4f\x1a\xb3\x0c\x07\x9e\x10\xbf\x40\x8b\x95\xd6\x92\xaf\x81\x0e\xca\xf0\x42\x66\x6a\x5c\x92\xfb\x7c\x84\xa3\xef\x06\x48\xa4\xa7\xbd\x27\x72\x71\x4c\x78\x8e\xc4\x52\x01\xe7\x6e\xdf\x69\x75\xc1\x48\xf5\x05\xd8\xac\x40\x74\xec\xc9\x6f\xf1\x28\xcd\x6f\x0b\x8a\x17\xad\x1c\x56\x36\x8a\x57\x4a\xfb\xa6\x0e\x7c\x53\xe1\xc8\x5d\x3c\xe7\xad\x65\xdb\xa3\x6d\x2e\x38\xe1\x31\x03\x20\x88\x60\xd1\x8b\x50\x59\x60\x05\xfb\x02\x15\x3b\xdd\xf2\x70\x11\x1d\xab\x10\x62\x04\x3e\x52\xa7\x69\x55\x48\xa5\xcc\x1d\x0e\x26\x53\x08\x51\xf4\x4e\x21\x86\x43\x34\x9f\x85\x44\x22\x0b\x79\x04\xa1\x17\xf4\x59\xb5\x71\x40\x17\x96\x7e\x4a\x43\x9a\x3f\xc2\x2a\xa9\x24\x3d\x1e\x96\x86\xdd\xd0\x6f\x97\x2a\x67\x8a\xe2\x82\xed\x45\xce\x0a\x05\xc9\x97\x5b\x72\x2e\x1d\x0f\xbb\xc6\xe5\xda\x99\x30\x66\xc0\x45\x6b\x84\xdb\x55\x54\x7f\x5c\x38\x0f\x82\x86\x0f\x77\x58\x7d\x15\x92\x0c\x23\xd0\x67\x9a\x05\xcc\x5f\x13\x92\x02\xe4\xc0\x13\x05\x13\x87\xf2\xef\xc0\xae\x6a\xc4\x24\xea\x16\x74\x39\x64\x55\x03\x1d\x7b\x27\x60\xa5\x04\x88\x71\x73\xcf\x6b\x4c\x7f\x44\xf8\x06\xe4\x06\x9b\x24\x14\x48\x47\xe0\x06\x60\xfe\xdd\xa5\xfc\xf2\xfb\x1b\xe6\xf0\xbc\xa0\xe5\xea\x08\xe4\x69\x80\xf1\x40\xdc\x81\x5a\x89\x88\xc9\xe0\xbf\x91\xb0\x72\xd5\xc0\xcd\xf7\xe3\xb0\xcd\x4c\x43\xfa\x56\xd3\x98\xf6\x5c\x5c\x63\x41\x82\x90\x4e\xb9\xd8\x0d\xa3\xae\x06\x04\x92\x06\x83\x92\xd1\x1f\x30\x9f\xf2\xe7\x9a\xaa\x92\xc5\x04\x56\x58\x80\x17\xd6\xa0\x48\xef\xdc\x66\xa5\x47\x5a\xc3\x55\x9f\xa2\x52\x0d\xce\x22\xa7\xbf\x2f\x5e\xfb\x40\x10\x4d\xb9\x7c\xb0\x64\xb0\xc8\x3b\x6d\xf8\x05\xa4\x14\x08\xd9\xf3\x04\xae\x22\x9d\x6b\xc9\xc2\x6c\x51\x84\x13\xca\xac\xf1\xbc\xcc\x7b\x78\x93\x8f\xe6\x66\xc4\x39\x87\xdd\x8c\x83\xc5\x34\x4f\xfd\xe5\xce\x3b\x06\x26\x41\x4d\xf3\x1c\x68\x7e\x40\x6a\x5b\xeb\x21\x10\x07\x3f\x60\xf6\x5c\x9a\x57\xad\xdb\x4c\xa6\xac\x1b\x1c\x7b\xe0\x52\x63\x41\x63\x0a\x41\x40\x29\x04\x8d\xb2\x19\x7c\xc5\x02\x53\x09\xbc\xe0\x9d\x14\x88\xd5\x57\x12\xfc\x8a\x46\x8b\x31\x5b\xb2\x8e\xe2\xf8\x93\x0b\xff\x30\xb5\xfb\x00\x6d\x0c\xe4\xa9\x82\xb7\xb4\x25\x2c\xbe\x34\x83\x90\xa6\x68\xdc\x81\x46\xae\x23\x9d\xf5\x94\x5a\x49\xad\x1c\x01\x98\x11\x6c\x03\xa5\x2c\xb6\x6d\x32\x21\x29\x91\xa6\xdc\x66\xac\xbe\xd6\xaf\xe4\xe5\xe0\x70\x40\x54\xb1\xae\xe7\xe5\x85\xb0\x59\x4c\x41\x96\xae\x37\x94\xe9\x81\x70\x66\x2f\x9f\xc0\xac\xba\x2b\x48\x8e\x09\x04\x15\xd0\xf5\x92\x83\xb8\xa3\xe6\x90\x32\x6d\x01\xc3\xc1\xe0\x96\x52\x39\x17\xd5\xd4\x27\x28\xc8\xd3\xdd\x9c\x03\x41\x83\xaf\xfc\x06\x5a\x5a\x9f\xa3\x61\xfe\x58\xe3\x9a\x50\xc0\x06\xda\x93\x19\xcf\x2b\x8a\xed\x02\x7b\xa6\x39\x9a\x3f\x6e\x42\x73\x75\xb4\xd4\x0c\x35\x01\x41\xc4\x49\xdb\x1c\xca\x2d\xb0\xab\xc0\x7c\x08\x8e\x5f\x58\x85\xb8\x43\x8c\x3a\xf7\x0e\x4f\xad\x02\xd1\x1d\x55\x8a\x0d\xe8\xc5\x23\xd5\xf0\x94\x33\xb1\x0e\x41\xa1\xdd\x08\xb8\x33\x49\xcd\x2c\xc5\x4e\xb8\x9f\x7a\x15\xc3\xb5\xfb\x12\xb9\x04\x31\x1a\x83\x33\x0b\xcd\xb6\xde\xe2\xd7\x67\x7d\x02\x7d\x92\x5b\xd6\x8b\x05\xb6\x2e\x7a\xef\x36\x03\xc7\x2c\x02\x11\x44\x29\xa5\x7f\x39\x99\x5b\x58\xb0\x95\x20\x49\x20\x6e\x5f\x5d\xd0\x6b\x2d\x60\xcc\xc6\x88\x62\x4b\x40\x1a\x47\x38\x86\x18\x63\xb9\x3c\x41\x61\x44\x7d\x3a\x82\xd7\xee\xe7\xc0\x93\xde\x4b\x52\x39\xa5\x2e\xdd\x1f\xc7\xd2\x30\x82\xd6\x83\xea\x6c\xc9\x3c\x2b\xc4\x10\x42\x30\xc8\x2c\xb0\x5f\x61\x98\xc3\x64\x99\x81\x9c\xe7\x0e\xaa\xd8\x00\xd0\x40\x1c\x6f\x20\x4b\xb0\x98\x01\x0f\x5f\x08\x81\x2e\xec\x86\xe9\xda\xd9\xa0\x9d\x4d\x6e\xc2\x32\xa5\xb7\x15\x96\x59\xd0\x6b\xd5\xd6\x74\x10\x82\x4d\x16\x2a\xa7\xfb\xec\x20\x10\x6a\xe3\x12\xc8\x84\x41\x66\x97\x0d\x01\x95\x41\xcf\x81\x98\xf7\x20\xeb\x86\x9c\x2e\x2e\xad\x7c\x1f\x86\xad\x4e\x74\xfc\x0e\xa2\xf9\x8d\x92\x93\xb2\x05\x04\x65\xe5\x12\xb0\x89\xe3\xb9\xa4\x5e\xea\x85\xd2\xb6\x92\x2e\xd6\x9e\x52\x71\xc3\x9c\x08\xcf\x4a\x1a\x2d\xc0\x5c\x97\x3c\x5e\x5c\xf1\xd7\xcd\xb7\x81\xff\xf6\xc0\xea\xca\xe5\x83\xcf\x7e\x81\x55\xcb\xa0\x0f\x25\x85\x3f\x72\x3b\xa5\x91\xcd\x1f\x6b\x36\x7d\xf5\x92\x54\x11\x14\x19\xe4\x78\x21\xf0\x22\x00\x41\xe5\x69\x5f\x18\x7b\x99\xf2\x19\x02\x1a\x8b\x0b\x9b\xb1\x9e\xdc\xf3\xf5\xc7\x5d\x8c\x45\xb0\xed\x11\x5b\x33\x5b\x30\x78\x0c\xd0\xb8\xfa\x71\x71\x70\x0e\x62\x23\x97\xcd\x93\x13\x8c\xc9\x94\x67\x17\xfe\xfd\xd1\x00\xfc\xd3\x37\x7f\xed\x27\xec\x46\xb1\x23\x5a\x0e\x84\xe9\xee\x9a\x7d\x6a\x3c\x07\x4c\x35\x2e\xc0\xb5\x5d\x33\x3e\xad\x70\x36\xe4\xf1\x79\x61\xb6\xca\x0a\xa6\xcc\x88\x11\x4a\x5b\xc1\x51\xbf\x8b\x15\x4c\x7e\xc7\x22\xa6\xa7\x9e\x00\x1a\x19\x6b\xca\x48\x5d\x73\x8e\xc8\xdc\xa4\x14\x2e\x7d\xd2\x9d\x97\xa6\x27\x18\xd8\xcb\xc6\x19\x81\xec\x39\x8b\xf8\x63\xd1\x4f\x1f\xe4\x4e\xf0\xa1\x70\x77\x17\xf6\x5d\x0b\x6c\xbb\xd0\xc4\x2b\xfa\x0b\x5c\xc6\xdf\x17\x6b\x29\x35\x8d\x3a\x37\xdf\x50\xf3\xa1\xd8\x36\x82\x17\x19\x19\x36\xc4\xe5\x31\xf2\x11\xc2\xbe\x8c\x72\x22\xa0\x7b\xdb\xd6\xeb\x52\x13\xee\x74\xd9\x56\x24\xbb\x7f\x76\xbc\xf2\x1e\x34\xb0\xd9\x94\x06\x92\x0d\x43\x1c\xa3\x1e\x81\x15\x08\x37\x30\xc3\x30\x6c\xb9\xd3\xdd\x12\xdf\x88\x15\xac\xd4\x20\x35\xe8\xa7\x62\x1d\x60\x59\xeb\x35\x8e\x0d\xc0\x8b\x46\x36\x67\x65\xa4\x07\x1d\x12\x40\x5e\x44\xd8\x82\x71\x76\x5a\xbd\x27\x14\xb3\x83\x00\xa2\xdb\x5a\x0b\xc0\x54\xae\x75\x5e\x8d\xae\xba\x48\xb7\x98\xae\x25\x53\xd8\x09\x60\x9d\xda\xaf\x91\xf4\xb6\xe5\x0f\xae\xbb\x07\xf8\x7b\x10\x4e\xc9\x83\x1d\x44\x07\x66\x78\x03\x8d\x1e\x62\xfa\x12\xc6\x2c\x23\x59\x4d\x91\xbb\xd0\x88\xbe\xd5\xd9\xd3\xc0\x14\x65\xa0\x65\x23\x67\x9a\x5a\x64\xb9\xdc\x58\x2f\x40\x44\xdc\xe2\x85\x97\xdf\x81\x1e\xa2\x0d\x11\x6d\x17\x35\xb5\x9e\x40\xd4\x58\xb6\x78\x59\x37\x28\x35\x19\xc1\x02\x0c\x2e\xf8\xd2\x4a\xbc\xc9\xcc\xd4\x96\x9e\x64\x20\x58\x86\x69\xe3\xd1\xc0\x22\x88\xd8\x03\xe9\x38\xb8\x9b\xdb\xd2\x08\x95\x81\x7c\xd7\x49\x00\xb8\x86\xee\x13\x49\xe2\xb2\x6c\x80\xdb\xd1\xfd\x42\x52\x47\x05\xcb\x05\x98\xa9\x14\xbc\x2e\xc8\xb3\xb6\x80\xcf\xd7\x9a\x44\x0d\xa9\x0e\x35\x85\xbf\x59\x15\x59\x8f\x61\x88\xc9\x56\x90\x0d\x64\x4d\x56\x60\xde\xbb\x65\xee\x8b\x41\x3a\x63\x82\x88\x08\x72\x1f\xf9\x77\xec\x82\xba\x6b\x15\x45\x74\x74\x20\xf1\xea\x8a\x55\xcf\x8c\x62\xb8\xdc\x2d\x24\xc9\x1c\xe8\x4f\xbb\xa4\xd2\x03\x8b\xd8\x27\xb9\xf8\x79\xcb\x40\x16\x40\x2c\x19\xb0\xac\x0b\xa5\x83\x7b\xcd\x50\x83\xe0\xd0\xde\x4a\x62\x7a\x42\x37\x21\x61\x20\xbb\x17\x6b\xa3\xde\x7c\x02\x55\x0a\x14\x05\xb6\xf0\x42\xec\x64\x7c\xd5\x27\xc0\x4d\x1d\xad\x24\x29\x6b\x7d\xba\x39\xb3\x17\xf6\x22\x20\x71\xee\x9e\x37\xba\xe7\x8b\x11\xc1\xbb\x76\xb9\x10\xde\xbb\xaa\xcb\xa6\x1d\x31\x62\x99\x00\xb8\x6a\x27\x18\x89\xc0\xf1\xe5\x2b\x64\x4e\x77\x9d\x0c\xa0\x4d\xd9\x23\x82\x43\x43\x2d\x09\x68\x32\x5d\xf9\x30\x8b\x56\xe9\x49\x4b\x1b\xec\xa4\x22\x37\x8e\xb8\xe9\xe2\x5a\xb5\x5a\xa1\x27\xd6\x3a\xe0\x13\x6b\x47\xad\x4a\x2b\xe0\x5d\x8a\x7c\xa9\x06\x09\x65\xd3\xc8\xd8\xcf\x53\x9a\x35\x85\x79\x0e\x8a\x2b\x9f\xa0\x33\x7d\xb0\x82\xa8\x0c\x45\x80\x5f\x0a\xde\x3c\xa5\x51\xca\xd9\xef\x91\x9b\x0a\x02\x8b\x3b\x6f\x9a\x9a\x85\xa6\xe8\xcc\x64\x00\xca\x76\x92\xac\x9a\x8c\xa4\x30\xd8\x1b\x17\x96\x3b\x6b\xa0\x6f\x9e\x46\x0e\x09\xbc\x36\xc8\x58\xe6\x52\x88\xc4\x0c\x32\xd2\xd6\x2e\x8c\xdf\xf5\x7e\xbc\xe2\xc3\xa2\x4c\x51\x49\x00\x74\x82\xf0\x69\xd0\x56\x00\x5b\xdc\x73\x45\x90\x09\x22\x9a\xb9\x13\x12\x06\x89\xef\xb0\x53\x9a\xd2\xfc\xb1\x32\xa4\x53\x18\xe6\x0e\xa6\x35\x7f\x5e\x36\x7a\x2a\xf2\xc1\xdc\x22\x3d\x95\x6d\xed\xdf\xba\x4c\xbe\x69\xe2\x8f\x15\x15\x75\xd5\x32\xeb\x1f\x18\x65\xf8\x09\x1c\x46\xd1\x3e\xfe\xe9\xd7\x2b\x8c\x9e\x24\x83\x6f\x21\xad\x92\xb6\xc7\xa4\xa7\xe1\xbb\xa1\x03\x88\x00\x4b\xa8\x28\x42\xed\xb5\xc0\x2a\xdc\x01\x83\xc0\xf8\x4a\xa9\x51\x4b\xa1\xd9\x8f\x04\xdb\x5f\x52\x47\x36\xd7\xf7\x71\x01\x5a\x72\x43\x05\x8d\xb5\x92\x66\xf5\x45\xe5\xbe\x92\xdb\xba\xb9\xc3\x39\x29\x7b\x9a\xc5\x0f\x09\xa5\x81\xd4\xb6\x6f\x88\x34\x7c\x05\x76\x9c\x0c\xfa\x40\x46\x21\x6d\x8e\x35\x61\xbf\xf1\x50\x66\xb2\xc3\x98\x38\x28\xf9\x18\xfb\xc0\x6b\x9b\x21\xd5\xcb\x8a\x6b\x96\x5d\x96\x87\x58\x80\x97\xa1\x5b\xde\x6d\xe9\xec\xb2\xf7\x44\x22\x31\xd8\x47\x1b\xc3\x7d\x41\xf9\x00\x48\xf6\x82\x6a\x01\xa4\xc5\x33\x5a\xa9\xda\x9e\x06\xd0\xe7\x91\xcd\x94\x83\x6d\x4a\xf0\x34\x40\x73\xbe\xa7\xea\x16\x7a\x57\x78\x45\x68\x14\xf4\x19\xf5\x79\xe9\xe4\x86\x6b\xb0\xc1\xe1\x7e\x4f\xcc\x11\xf3\x1b\x8d\x2e\xa0\x4f\x91\x85\x13\x00\x12\x74\xa8\xe3\xaa\x33\x88\xaf\x9a\x21\x9b\xcd\xa6\x30\xe0\x00\xed\x69\x80\x9f\x11\x63\xc2\x69\xe1\x75\xbb\xff\x05\x92\x2c\xc4\x78\xc0\x33\xca\x28\x45\x8d\x80\x90\x4c\x28\x36\x3f\x52\x05\xa4\xbe\xd0\xac\xe8\x2b\x49\x42\xfd\x02\x99\xb5\xa8\x5c\x2d\xb8\x31\x16\x55\xaf\x6a\x62\x52\x4e\xc0\x6c\xc4\xb8\x38\x82\x6f\x42\xbe\x4f\x11\x59\x81\x61\x5d\x18\x7a\xf5\x02\x37\xa8\xf7\x79\x66\xb7\xa6\x80\x1b\xb5\xb1\x3b\x1a\x1c\xa9\x63\x92\x77\xc2\xd5\x1b\xe8\x4a\xcd\xf5\x1c\xeb\xc3\x38\xf1\x6a\x95\x09\xff\x9e\x47\x6a\xc0\xdf\xc9\x2d\x40\x48\x34\x13\xc1\x2c\xb5\xe2\x9a\x61\x4f\x53\x82\xb6\xd1\x25\x34\xe8\x48\x11\x5e\xf6\x53\xce\x3a\x88\xcf\x5b\xbb\xa1\x7f\x3c\x4d\x4b\x60\xff\xab\x2e\x44\xe0\x13\xa0\xa6\x64\xec\x91\x67\x68\x7c\x33\xe9\xe2\x6d\x25\x4d\x01\x27\xfa\x26\x69\x20\x29\x2f\x4f\xcd\xd7\xc9\x19\xb5\xa6\xa0\xc1\x8a\x30\x0d\xa4\x2b\x2d\xe7\x95\x9f\x15\xa2\xdc\xbb\x51\x21\xac\x37\x6a\x05\x2c\xd5\x3a\x2d\x35\xd7\xd9\x54\xc8\x3e\xc3\x35\x53\xad\xb6\xc8\x0b\x2b\x02\x60\x15\x61\x42\xab\x35\x4d\x17\x95\x73\xd0\xc6\x9f\x9a\x5a\x4f\x86\xde\x65\x97\xb7\xc3\xf5\x64\x81\x91\xd4\x2a\xaa\x45\x66\x63\x5f\x83\x42\xa7\x4f\x90\xba\x99\x8e\x34\x7d\x50\xb0\x6a\x94\xf9\x0b\x52\xae\x27\x90\x82\xcc\x54\xa5\xa7\x3a\x6b\x1a\x66\xbe\x66\xb0\x67\x43\x44\x4f\x94\x4b\xf9\x6f\xb4\x8a\x1b\x4e\xa9\x90\xcf\xda\xef\xa2\x4e\xca\x0e\x91\x67\x22\x12\x7f\xda\x11\x05\x84\x8f\xf7\xac\xa9\x17\xc4\xb8\x4a\x67\xbd\x85\x1b\xf5\x6e\x45\x5b\x21\x5d\xa4\x4e\xc2\xcc\xb9\xd4\x19\x33\x0d\x90\x22\xc0\xfb\x82\xcd\x36\x93\xb9\x83\x3b\x9f\xdc\xac\x29\xe7\xc8\x6f\x91\xe1\x56\x6b\xea\x28\x20\x69\xd3\xf5\xb1\xaf\xfe\xc4\xd5\x31\x52\x87\xc0\x28\x8b\x95\x9a\x34\x37\x1a\x05\x08\x78\x33\x81\x0f\x35\x86\xba\xde\x94\xf0\xb5\xa1\xc7\x5d\x64\x74\x46\xc2\x96\x43\xb0\x33\xf5\x4c\x9e\x3b\x94\xab\xd4\x20\x77\x14\x39\xd2\x95\xc8\x66\x6a\x5d\xb6\x74\x43\x5e\x13\x04\x79\xc5\xf7\xb2\x4b\xe4\xba\x7c\x36\xfc\xca\x42\x20\xa1\xe9\x92\xc4\x33\x8c\x11\x34\xe2\x94\xa3\xfc\x82\x59\xd0\x3e\x4f\x6e\x52\x2c\xb3\x02\x43\x26\x49\xcf\x79\x17\xfa\xe9\x19\x08\x0c\xa0\xe4\xd1\xbd\x91\x06\x10\x95\x3c\x7e\x21\xe6\x4e\x2f\x32\x33\xa0\x96\x3b\x01\xab\x88\x88\x45\x2b\x99\xab\x23\xb5\x06\xc7\xa0\x4d\xf2\x49\x00\x76\xc8\xf8\xc6\xac\x46\xa7\xd3\x17\x28\x99\xbf\xfc\xf6\xe7\xdf\x0e\x3e\x2b\x64\x5b\xc4\x8d\xbf\x9b\x6c\xcb\xf8\xfd\xd9\x96\x86\x6c\xcb\x99\x2c\xd5\x19\x79\xae\x2d\x6f\x2d\xb8\x3c\xb2\x9e\x90\xf6\x89\x18\x43\xe4\x58\xce\x88\x5a\xbb\x0d\x6c\xd0\x6e\xe0\x3d\x04\xcd\x8c\xc1\x9c\x10\x97\x0d\x86\xe1\x28\x68\x7b\x15\x06\x93\x55\x97\x45\x92\x06\xac\x04\x24\x6b\x4a\xa1\xa4\x93\x06\x92\x14\xdf\x81\xcc\x99\xd0\x8c\x19\xf5\x26\x65\x22\x11\x21\xe1\x12\xda\x52\xef\x80\xa6\x0c\x0e\x1f\xa8\xa4\xc2\xac\x1a\x22\x09\x88\x3d\xaa\xdb\xb0\x40\xee\xb7\x34\x5c\x53\xbc\x21\x6b\xf2\x01\xdc\x13\xc8\x9a\x34\x66\x4d\x64\x65\x4d\xda\x5d\xd6\x44\xbf\x92\x35\xd9\xd9\xb9\xcb\x90\x09\x82\xb8\xd7\xb4\xc9\xf3\xee\xbb\xb5\xbd\x5c\x2b\x0c\xfd\x54\xc1\x47\x01\x3d\x5a\x17\xff\x0b\x88\x4f\xe8\x9d\x36\xaa\x10\x14\x3e\xf8\x2d\xad\x75\x72\x03\xa0\xaa\x8a\x75\x3a\x49\x10\x5d\xc0\x56\xaf\xcf\x1d\xe3\xc7\xa4\x04\xa2\x39\x2a\x4d\xdd\xdb\x1e\xf5\xae\x56\x30\xa7\x6a\xa9\xba\x3a\xc9\x0c\xf2\xfb\x7e\x16\x14\x99\xf9\xeb\x46\x59\x49\xb3\xbf\xa1\xd8\x51\x36\xf4\x4c\x21\xe8\xd2\x58\xe7\x48\xca\x15\x62\xe7\x97\x11\xa9\x12\x10\xac\x28\xe9\x6e\xd1\xc2\xae\x0a\x98\x6a\xa6\xe8\xa0\x8b\xdd\xe5\x87\x09\x6d\xf3\x11\x38\x6e\xdb\x4c\x53\x08\x85\x62\x2b\xb0\x12\x01\x1c\x90\x25\x7c\xc0\xbc\x3d\xba\xdd\xf2\x65\x37\x94\xd4\x3e\xfe\xe9\xcf\xdf\xa9\xe0\x3c\x2f\xe2\x6f\x3a\x29\x25\x5e\x9b\x3d\xba\x48\x9c\x58\x45\x25\x98\xa0\xc8\x2c\x60\xdd\xc7\xf6\xcd\xe2\xcd\x7d\x85\x29\x16\xeb\xbd\x4b\x1a\x14\xc2\x60\x09\xd1\xeb\xfc\xd9\x92\xcd\xf3\xbe\xc8\x19\x8e\x72\x4d\x59\xb4\x3c\x65\xd4\xdf\x5d\xb9\xb9\xe2\x4f\x85\xee\x11\xd8\x06\x82\x4c\xeb\xa9\xf9\xdf\x1e\x47\x8a\x0a\x4e\x1b\x5b\x4b\x15\x9c\x79\xae\xe8\xc8\xcb\x00\xe8\xe2\x42\x26\x11\x70\xd2\x0d\x77\xfe\xc0\x97\x66\x99\x89\x4f\xf7\x2a\x65\x82\x96\xc2\x54\x49\xaf\x8c\xd2\xe3\x8a\x48\x70\xd6\xa0\x21\x96\xd3\xb5\xe0\x32\xa7\xee\x3b\xcf\x00\xc7\x7c\x53\x9a\x99\xb1\xb2\x01\xd4\x36\xab\xc4\x73\xc4\xbe\x80\x91\xaa\x7a\xad\xfb\xc4\x1e\x1d\xab\x08\x93\x28\x17\xe5\x88\xa2\xa1\x6e\x34\x4a\xfd\x68\x8e\x58\x01\x04\x35\x15\x59\xc3\xfa\x75\xeb\x08\x25\x2b\x4c\xd4\xbb\xbc\x1f\x35\x18\x00\x3e\x55\x77\x6c\x76\x1f\x39\xc2\xfc\x60\xee\x40\xd1\x53\x89\xf2\x19\x10\x76\x5b\x6e\x27\xa4\x00\x36\x3e\x2f\x2d\x02\xdf\xd7\x52\xb3\x01\x18\xa1\xf8\x33\x48\xc1\x81\x4b\x23\xb0\x85\x24\x5f\xf5\x04\x4d\xa7\x33\xcb\x3c\xa1\x33\x51\x1a\x07\xeb\xb8\x93\x39\xde\x1d\x66\xc8\x89\xec\x5e\x49\xac\xc0\x36\x82\x0f\xa9\x4a\x10\x95\x0d\x18\x03\x7e\x78\x37\xa5\x90\xfd\x4f\xe0\xb9\x10\x96\x8b\xd8\x44\xe9\x86\x94\x89\xb9\x10\x75\xb7\x01\x93\x17\x82\xcb\x0d\xa4\x1d\x44\xeb\x28\x2f\x6a\x5a\x4e\x9a\x32\xf0\x2b\xc7\xba\x4f\x63\x4f\xc3\xe4\xe5\x13\xa6\x65\xb3\x54\x55\xef\xca\x33\x33\x10\x63\x5d\x0f\x9d\x8f\x94\x92\x44\x3c\x8a\x25\xdb\x08\xcc\xb1\x74\x30\xac\x84\xd2\x20\x10\xc9\x57\xc6\x24\xee\x02\x73\x09\x06\x57\x90\xe8\x32\xbd\xf3\xbc\x8b\x1b\x9d\xe7\x15\xd4\x2a\x51\xe4\x84\xb8\x23\x99\x45\xfa\x5d\xdd\x60\x8e\xb4\xe2\x39\xe8\xfc\x46\xb8\x55\xc5\x20\xdb\x49\xfd\x63\xb6\xea\x27\x85\xf5\x93\x6e\x25\x97\x15\xed\x17\x16\x5f\x22\xaf\x6a\x08\x9d\xdc\x97\x49\x66\x0a\x5e\x54\x75\x66\xe1\xd1\xa2\xc4\x70\x82\x3a\xfe\xa6\x0e\x33\x47\xc0\x59\x91\x07\x0b\xc9\x23\xdc\xfb\x49\x49\x2f\x33\xc3\xe2\x8b\x62\x4e\x90\x94\xe4\xe0\xa4\x72\x89\x0d\xfa\x9a\xad\x00\x86\x23\x0a\xe6\x47\x7f\x82\xad\x43\x6a\x44\x4c\xa7\xae\x00\x9e\x56\x54\x43\xb1\xe6\xbc\xb2\x6e\x8e\x57\xab\xf5\x28\x7a\x89\x3c\x2d\xb2\x02\x2b\x43\x82\x44\x19\x14\x7d\xae\x2c\x29\x1d\x94\x08\x95\x44\x29\x9d\x4c\x1d\x99\xe1\x23\x8d\x82\x57\xe6\xd7\x22\x3c\x0c\x86\x4d\xca\xc3\xa7\x30\x68\x25\x8d\x6e\x7b\x75\x4b\xfd\x11\x45\x95\x67\x6a\x0e\xa6\x1d\x51\x2d\x0b\x47\x8e\x94\xd3\x25\xee\x0e\x8a\xc9\x41\x34\xd5\x82\x07\xd2\x85\x1d\x2a\xbb\x80\xc8\x33\xe8\x60\xba\x3d\x8d\x2a\xc0\x9b\xba\xc1\x4c\x96\xc5\x92\xf5\xb6\xc8\x30\xb3\x84\x00\x39\x7a\x93\x28\xe5\x21\xf1\xfc\x60\xd2\xd6\x62\xf9\x35\xe6\x7f\x0b\xb0\x54\x7b\x10\x64\x93\x06\x86\x6a\x0e\x44\xc8\xac\x5a\xb4\xe7\xe2\x6a\x14\xfa\xc5\x48\xb3\xa4\x90\x0f\x2b\xa9\xb5\x68\x74\x42\x3c\x95\xf8\xe1\x5c\x85\xc8\x34\x43\xc4\xbd\x20\x14\x74\x72\x67\x48\xac\x6f\x15\x74\x7c\xc7\x3c\x9f\x39\x68\xf7\x8d\x10\x66\xf4\x0d\xdf\x9e\x58\x42\xba\xb8\x51\x82\xd3\x4c\xe3\xb6\xf6\x20\x84\xe9\xc4\xa0\x2d\x64\x30\xdb\x53\xd0\xec\x04\x0b\x34\x8a\xe6\x10\x61\xb5\x88\x77\x93\xb1\x8c\xc5\xc0\x83\x86\xd2\x24\xbf\xd3\x57\xe8\x8a\x7f\x9b\xbf\xfd\xba\x8c\xd8\x99\xba\x95\xad\x54\xb2\xa5\x43\x8c\x7d\xad\x11\xc0\xbe\xd5\x08\x50\xde\xd2\x08\xd0\xbf\xd1\x08\x30\x7f\x47\x23\x40\xe9\xf1\xfc\x45\x23\x40\xf3\xc7\x57\x1a\x01\xe0\x3f\x56\x9b\xf7\xad\x00\xe7\x45\x3a\x46\xbe\xa2\x11\xe6\x21\x28\xf8\x4a\xec\x85\x92\xac\x30\xc5\x17\x7c\x9a\xf0\xda\xb1\x37\x2b\xea\x84\xe1\x81\xa9\x9c\x52\x4b\xed\x48\x07\xc1\xa1\xa9\x47\x89\x27\x0b\x55\xd0\x6b\xd1\x30\xab\x59\x86\x2b\x27\x17\x0b\x72\x6d\xa3\x51\x70\xc8\x45\xa3\x13\x85\x5e\x89\x3a\x37\x1b\x41\xeb\xe7\x86\x1c\xe4\x81\x3b\x7f\x28\x7e\x72\x8f\x96\x25\x4f\xc2\x50\xb6\xfa\x0e\x02\x2c\xef\x95\x68\x12\x0b\x8a\xa1\xdc\x32\x4e\x69\x68\xf5\x47\x6c\x32\x2c\x2e\x94\x63\x77\x96\x0e\xa0\x4a\xb1\xae\xcc\x64\x03\xb0\x95\xfb\x5a\x6c\x80\x9b\xf7\x3a\xa7\x1c\x1d\x11\xe7\xbb\x96\x08\x5b\x2d\x11\x6d\xb5\x44\xd4\xd5\x12\x51\x57\x4b\x44\xf9\x4a\x4f\x84\xac\x9e\x08\x5d\x3d\x11\xf3\xbe\x27\x62\xde\xf6\x44\x58\xec\xbd\xc1\xa0\x8d\x6b\x5a\xb6\x44\xc8\x6a\x89\x90\x2f\x5a\x22\x62\x77\xab\xfb\x28\xa5\xdd\xb4\x44\xb4\xfb\x96\x08\xb9\x6d\x89\x68\xaf\x5a\x22\x2a\xfc\xf0\xe8\x85\x80\x00\xb4\xdc\x5e\x3e\xed\x05\x76\x19\x39\xda\x90\xd0\x87\x14\x36\x54\xc2\x7d\xbf\x3b\xab\x7f\xad\x3b\xab\x9e\x52\x9b\xd5\x1f\x6f\xea\xcf\xfa\x6a\x7b\x16\x2a\x58\x5e\xf5\x67\x61\x59\xf6\xd5\x9f\xe5\xc6\xa8\x30\xdd\x74\xdf\xa2\x55\xd3\xe2\x65\xfb\x6a\x07\xda\xd7\x9c\xe3\x43\xae\xf8\x25\xfb\x86\xb5\x34\x6f\xb2\xe7\x30\x2b\xca\xea\xb8\x0b\xa3\x19\xc5\x84\xfb\xd2\x55\x95\xd4\xe2\x61\x5f\xd4\xba\xfa\x3e\x94\xf4\x7a\x7c\x57\x3a\xc4\x70\xe8\x44\xcc\x55\x0b\xa7\x2d\xf0\xb9\x5c\xb1\xeb\x5c\x4d\x1f\xc6\x8a\xf7\x60\x8c\xd7\x68\x08\x83\xa7\xb4\xc8\xbd\xca\x4d\xd3\x47\xff\xa2\xe9\x23\xb8\x5b\x89\x5b\xd5\x83\x79\xb3\x2c\xac\x4b\xa6\x80\x27\x4d\x40\x84\x3b\x14\xe1\xad\x13\x32\x1e\x7a\xb4\x7c\x15\x56\x3c\x9f\xc3\x4e\xf9\x6a\x87\xc7\xba\x20\x72\xb9\x42\x99\xb6\xa3\xcd\x23\x92\xdd\x8b\x9b\xb8\xd5\x9b\x2e\x0f\x04\x38\xeb\x4a\xe7\xf6\x16\xc9\x6f\x10\x4a\xa3\xc2\x90\xf6\xaf\x7b\x09\x0a\x94\x7e\x77\x7b\xba\x3f\x56\xfb\x86\x8f\xf0\xcc\x72\x8c\x5c\xe8\x5a\x20\x39\xe6\x4b\xf2\x99\x66\x1d\x35\x93\xab\x5e\x70\xe2\x15\x2a\xdb\xa2\xac\x20\x90\x54\x8e\x66\x9a\xf0\x4b\x95\x36\xc6\xea\xd8\xe8\x2e\x7e\xdd\x22\x75\xd3\xd4\xee\x1b\x86\xa2\x91\xa3\xf8\x26\x42\x7d\x30\x5c\xda\x1e\x99\x18\xda\x3a\xaf\x3b\x39\xea\xb5\x93\xa3\x46\x15\xd5\xb5\x93\xe3\xab\x8d\x1c\x28\x2d\xfb\x00\x82\x7d\xbb\x69\xe4\x90\x9f\x6f\xe4\xb0\xfb\x46\x0e\xf7\x84\x31\x38\x60\x3d\x4a\xf0\xae\x22\x11\x1f\xab\x8e\x15\x1e\xbe\x33\xd8\xda\x21\xb1\xb6\x11\xd3\xa7\x1d\xe2\x52\x8f\xad\x1e\xb7\xf4\xc4\x9d\x24\xda\x65\x19\xc1\x34\x6b\x04\xac\xdf\x88\xc3\x45\xee\x0e\x65\x24\xd0\x1d\x6e\xaf\xc0\x2b\xc6\xc2\xf8\x46\xf7\x86\x7e\xbf\x7b\x23\xc4\x90\x98\x24\x43\x15\x66\x2f\x11\x4b\x96\xc9\xea\xe4\xac\x1a\xf4\x7c\x20\x68\xa7\x6d\xe6\xc6\x3b\x82\x9f\x13\xd5\x4c\x68\xc9\xf9\x12\xe0\x4a\x5a\xff\xe5\x9f\xfe\xf9\x4f\x5f\xb6\x08\xb3\x12\x09\x37\xcf\xc5\x2e\x36\x6a\x73\x97\xc7\x4e\xff\xbb\x9a\x83\x43\x3e\xa9\xdc\xa4\x17\x47\xc0\x4a\xfe\xa1\x0d\xc1\x0a\xe8\x3b\x74\x3e\x43\xdf\x76\xc0\xe5\x1f\x7d\xc0\x5d\xa1\x73\x4d\xe9\xac\xc1\x36\x8b\xc0\x6d\x8d\x94\x56\x07\xb7\x3d\x92\x21\x49\x61\xa1\xb8\x90\x06\xa7\xac\x92\xc0\x57\x30\xca\xc2\x44\x72\x27\x43\xa0\xff\xa8\x77\x56\xda\x4e\x01\x83\xac\x01\xb0\x07\x63\xe9\xd0\x1e\xbe\x1e\x6e\x9a\x83\xa9\xac\x93\x0e\x2a\x7a\x9a\xf5\x52\x43\xa6\xaa\x9b\x7d\x53\x57\x80\x04\x65\x08\x73\x85\x8e\xc1\x44\xe9\x56\x9e\x20\xb2\x20\x87\x91\x06\x17\xa4\xbf\x81\x4b\xe8\x5b\x49\xc4\x37\x51\x61\xdd\x26\x11\x57\x05\xca\x79\x27\x68\x3c\x7c\x13\xbf\x46\x38\xf6\x69\x42\xfc\x1b\xcd\x2e\x99\x92\x0c\xac\x9f\x95\x81\x91\x02\x2f\x6b\xd2\x4a\x52\xfa\xe2\x3d\x99\xca\x05\x8d\x40\xa9\xa1\x11\x88\xf9\xc7\x1e\xad\x1f\x48\x8a\x81\x3b\x80\x5d\xd1\x20\xee\x57\x12\xd0\x22\xb5\xea\xe6\xf4\xcc\xe3\xe4\x77\xa7\x6e\x7c\x8e\xd8\xc3\x40\xdf\x4a\x81\x31\xa1\x12\xfe\xad\xab\xa4\x36\xa3\x81\xcb\xdf\xd4\xb1\xba\x6a\x26\x6b\x01\x80\x74\x6b\xba\xde\x76\xdf\xf5\xbb\x12\x9d\xd9\xff\x64\x24\x2b\xa5\x92\x61\x1f\x0e\x5c\x51\xa8\xd5\xba\xda\xb7\x11\xb2\x62\x4f\x12\x82\x3f\x6e\xf9\x23\xb6\xe0\x17\xbb\x27\xd0\x91\x82\xef\x18\x96\xb3\xdf\x62\xb8\x00\xd1\x11\x81\x2e\x29\x60\x98\xd2\x16\x9a\xcb\xca\x63\x35\xf7\xce\x18\x69\x65\x75\x96\x44\x89\x31\xa2\x96\xe6\x1e\x85\xc1\xd6\xeb\xe1\xe5\x08\x34\xab\x4b\x53\x93\x95\xe7\xeb\x73\x0d\xd4\x8d\x4a\xa0\x31\x42\x95\x6b\x41\x56\xb8\x86\xa5\x23\x10\x09\xe4\x0f\xe6\x97\xda\x82\xba\x55\x5b\x1c\xdf\xe8\x18\x85\xd0\xd4\x0b\x69\x2d\xad\x48\xd4\x40\xb4\xb1\x2e\xee\xcc\xb5\x2d\x85\x99\x8a\x8a\xb2\x8d\x3d\x35\xf7\x46\x8f\x0f\x60\x39\x33\x8f\xd0\xb4\xac\x34\x25\xaa\x70\x5c\xe1\xf5\x3d\x75\xbb\x30\x6a\xd4\x4c\x92\xa2\xc0\xe1\xcc\xbd\xc2\x8c\xd7\x8e\x8c\x17\x70\xdd\x5c\xa5\xe2\xce\xd8\x0c\xc3\x60\x08\x2f\xc7\xdf\xc0\x10\x85\x67\xaf\x16\x99\x3b\xb6\x00\xca\x53\x4d\x03\xaa\xda\xa2\xca\x6e\xd0\x62\x45\x20\xdf\x77\x3f\xc3\x27\x43\x5d\xfc\xc1\xe4\xac\x68\xd3\xa8\xd1\x5e\x04\x0f\x50\xcc\x07\xcc\x84\x1e\x88\xed\x0d\xb9\x44\x1d\xc8\xbc\x15\x9d\xb0\x8a\xf1\xe3\xae\xa9\xa2\x65\x0f\x09\x27\xf1\x5f\xb4\x54\xdd\xcc\x98\x9a\xd0\x41\x53\x59\x93\x6c\xd8\x13\xcc\xb0\xb7\x0b\xd8\x74\xdb\xb0\x64\x92\x26\x0a\xd2\xdc\x27\x54\xd4\xbc\xfb\x31\x6a\xaa\xb9\x5d\xd0\xcf\xd5\xe6\x87\x62\xab\x0c\xa4\xa7\x39\x5d\xab\x34\x89\x30\xb1\xa2\xde\xb3\xd2\x1d\xd2\x56\xa3\xd9\x87\xd5\x15\xb5\x25\x83\x02\x3b\x6a\x1d\x72\xaa\x19\x3e\xc8\x93\xb1\x10\xae\xa0\x4e\xd7\x7f\x49\x4f\x1c\xf5\x00\x65\xde\x15\x54\xb8\xe7\x53\x90\xd4\x3a\x2f\x5b\xa0\x2d\xcb\x73\xd9\xaa\x3a\x1f\x5d\x90\xcb\x33\x52\x61\xec\x49\x1e\xe1\xb6\xe7\xd5\xa8\x40\x1b\x60\x44\x33\x1d\xfd\x1f\x44\x0e\xd6\x13\x74\x2f\x36\x1e\x9a\x83\x18\x91\x05\x4e\x69\x5d\xec\xc0\xcc\xbb\x63\x3b\x59\xe4\xde\xf0\x04\x95\x8c\x9f\x1f\x1b\xa3\xa3\xc4\xe6\x14\x89\x9d\x23\x6c\xcb\xe4\xc9\x19\xed\xac\x3d\xc0\xc5\x27\x17\xd4\xee\x5a\x38\xe4\x83\x20\xf0\x07\x7a\x6a\xf8\xc5\xc3\xd8\xf6\x7b\x14\xd9\xf8\xa7\x6a\x69\xd8\x78\x96\x64\x5f\xa1\xeb\xb9\xcd\x97\x5d\x6f\x1f\x6a\x78\xda\x5d\xb1\x0e\x00\x5c\x87\xad\x6c\x7a\x41\x8e\x1b\xd1\x8d\x8e\x52\x25\x7f\xb3\x95\xb0\x61\x30\x58\x24\xc8\x6a\x94\xc1\xf9\xe2\x61\x30\xac\x47\xa1\x4e\x4b\x8b\xd8\x76\x82\x7c\x0a\x7c\x54\x6c\x5e\xc3\x5f\x47\x47\x57\x90\x7f\x51\x9a\xe0\x51\x26\x52\x3c\xea\x3b\x03\x01\x87\x8a\xe4\x5d\x8e\xfa\x6b\xb3\xe8\x4d\x32\xac\xfd\xaf\x96\xe8\x3c\xba\xbe\xee\xec\x1c\xaa\xac\xd1\x41\x11\x2f\xc2\x75\xbe\xa2\xd4\x1f\x5f\x96\xe8\x10\x9f\xfb\x28\x23\x37\xbf\x84\x32\xa2\x48\x27\xcd\x39\x82\x95\x95\x95\x3a\x21\xb5\xa6\x2d\x9c\x74\x5f\x1e\xc2\xd0\x7d\x71\x1b\x37\x9e\x57\xcf\x0d\x16\x52\x7d\xc4\xce\x79\xf9\x64\x49\x6d\x47\xc0\xe9\x83\x6f\x3e\x14\xce\xd2\x0a\x0e\x3b\x17\x26\xb5\xdd\x74\xc0\x64\x74\x41\x20\xa1\xee\xa2\x31\x9a\x90\xd8\x4b\xe2\x16\xc7\xb3\xcf\x08\xaf\x79\x31\x1b\x8f\x16\xc1\x45\xf4\x53\x0c\x7f\x44\xe1\x5c\xa9\x49\x41\x8e\xde\x95\x72\x09\x31\xae\x89\xf6\x3b\xce\x43\x83\xd7\x50\x36\x0d\xe8\xfb\xb2\x55\xd7\x29\x8c\x5a\xd2\xaf\x08\xb0\x0b\x8a\x5c\xe4\x46\x8c\x24\xcf\x49\x5c\x29\x95\xa4\x1a\x59\x45\x0e\x69\xa0\x0b\x08\xae\x14\xba\x81\xf4\xd1\x97\x55\x7d\xf6\x1d\xc0\x9d\xda\x16\x34\x33\x6b\xaa\x26\x22\x0e\x6c\xc5\x78\xac\x69\x7c\x85\xe2\xe7\x36\xcb\x75\x6d\x78\xa9\x68\x78\xa9\xd1\xf0\x12\x91\x40\x0b\x9a\x65\xb6\xc3\x97\x06\xfe\x26\xce\x18\x26\x4a\x82\xb4\xbb\x86\xa7\xfd\xf5\xde\x96\x45\x57\x6e\x0c\x80\x07\x5c\x0d\x70\x6b\xd0\xd4\x02\xdb\xb9\xd7\x9f\xea\x6a\xf9\x15\x2d\x02\x3d\x97\xcd\xc8\x46\xd7\xe3\x4d\xa9\xa0\x94\x52\xb6\xb5\x04\x4d\xb9\xb0\xe6\x5d\xa6\xdc\x83\x3e\xf0\x70\x65\xca\xd2\x3a\x23\x05\x02\x79\x0c\xe4\xc9\xd7\xc9\x38\x8a\x26\x34\xd5\xad\x26\x63\x44\x7e\x92\x4e\x5d\x13\xa8\xeb\xdd\x5f\x66\x9f\x95\xff\xb3\x76\x54\x0f\x22\xb2\xd4\x4e\xa0\x55\xb6\x58\x93\x48\xfa\xcb\x74\x77\x25\x47\xf4\x04\xd8\x97\x86\x5a\x4a\x74\x9a\x1c\x9d\x29\x99\x29\xf7\x8a\x22\x70\xa3\x73\x93\x29\x3c\x21\x31\xdd\x7c\x83\x78\xd6\xa0\x9e\x6f\x2c\xb1\xde\xd3\xac\x47\x87\x4c\x0e\x12\x6c\x99\x35\x8d\xac\xfe\x58\xa6\x1a\x6e\x1e\x50\x70\x90\x7d\x44\xdb\x0a\xc9\xc9\xab\xa2\xbb\xe4\x54\x40\x10\xc6\xe7\xd8\x3b\xa3\x83\x39\xea\xe3\x4c\x06\x9c\x16\x36\xae\x68\x04\xbd\xc0\xda\x28\x50\x20\xe0\x54\xec\xee\xfe\x34\x7f\x2c\x21\x8e\x7a\x9f\x86\x76\xe4\xda\x56\xf2\x8d\x9d\x5b\x92\x86\x36\x7f\xac\xdd\x0b\xe3\xef\xae\x01\x25\x23\x0d\x8e\x40\xd7\x4d\xb3\x0a\x7d\xe1\x00\x39\x80\x7f\x02\x7d\xa5\x8a\xe2\xa5\x6c\x69\x30\xec\x85\x1c\xc5\x64\x89\xba\xef\x6e\x9f\x7d\x48\x48\x5f\x15\xee\x96\xb7\x86\xaa\x47\x5e\x80\xdb\x02\xa8\x91\x92\x54\x69\xc3\x21\x43\x03\xa2\xc1\x48\x31\xb2\xfc\x0d\x8b\x03\x9c\x18\x9a\x86\xde\xb7\xad\x64\x86\x7b\x64\xf9\x42\x50\xa2\x5a\x22\xe2\x8a\xfc\x03\xfe\x64\xed\x9a\x9c\xa2\x6f\xbf\xe0\x44\xf2\x8a\x91\x67\x16\xd0\xb6\x08\xa7\xe7\xf9\x38\xa2\xb3\x3e\x76\x3f\xdc\xbf\x1a\x45\xdd\x85\x99\x8e\x79\xd7\x6a\x91\x03\x29\x0a\x15\x03\xc3\x98\x23\x2e\x28\xe5\x54\x96\x38\x20\xd6\x54\xa3\xde\xbb\x4f\xae\x3b\x84\xc5\x66\xe4\x8e\x60\x7d\xba\xf5\xa6\x33\xfa\xc2\xdb\xeb\x56\x92\x48\x5d\x95\xa5\x52\xd8\x26\x67\x95\xb1\x9f\x3a\xef\xba\x55\x32\xe7\x04\x98\x56\x21\x4e\x58\xc5\x80\x32\xe3\x85\xfa\x10\x90\x1f\x51\x07\x17\xc5\x85\x10\xbd\x89\x79\xf8\xad\x2c\xb1\xea\xc6\x65\x99\x4f\xb0\x3b\x70\x9d\xe5\x1a\x2c\x21\x96\x40\x25\xe6\x4a\x0f\xa3\x68\xc6\xe5\xfa\x76\x9a\xa1\x98\x95\xe9\xa6\x36\xa2\x8f\x36\x92\x4f\xb8\x12\x16\xa9\x8c\xc8\xdd\xb0\xe0\x22\xb5\x08\x82\x6d\x65\x81\xf0\xfb\x51\xb6\x6b\x0d\x85\xae\xe4\x95\x21\x5d\x95\x0b\xd8\x24\xca\xa3\x71\x0f\xad\xa2\x27\x54\xe5\xc3\x02\x42\x9f\x29\x33\x74\xf1\x3a\x34\x2a\x19\x56\xf9\x16\x22\xb0\x03\xf5\x4c\x42\x9f\xa4\xa2\xcf\x4d\x4f\xd7\x1e\x8c\x1c\x71\xbb\x2e\xb7\xed\x1a\x19\x4e\xb6\x20\x51\x05\x0b\x0f\x39\x4a\xb8\xc1\x91\x41\x44\x88\x79\x5f\x11\xb0\xc0\xf4\x82\x7c\x67\x96\x07\x3d\xaa\x1a\xa8\x1f\x9d\x59\xcd\x67\xbf\x09\xf4\xfb\x51\x14\x88\x65\x1a\x0d\x2b\xb1\x4a\xdb\x58\x86\x27\xeb\x1a\x18\x3f\x2a\x06\x1c\x1c\xa4\xe2\x46\x64\x4a\x3b\x67\x0f\x09\x16\x2e\x3d\x74\x0f\x0e\x56\x5d\x90\x9a\x82\x25\x40\x08\x92\xba\xf2\x62\xe9\x1f\x75\x2e\xd3\x98\x9d\xe9\x8e\x6c\x72\x4a\x23\x37\x7f\xc4\xe5\x63\x22\x57\x53\xcf\xbe\x32\x5a\x3b\xaf\x1e\xe9\xd4\x92\xdb\x93\xbb\x8a\xa1\x00\xbe\x97\x90\x72\x13\xba\x6d\x33\xd5\x32\xef\x5a\x1d\x57\xa7\x63\x5f\x9d\x8e\x75\x75\x3a\xca\xea\x74\xd4\xd7\x9d\x8e\xd1\xe8\xa8\xa8\x3d\x82\xc8\xf2\xcd\xa2\x48\x44\x89\xdb\x83\xb3\x52\xb5\xfc\xa0\xd9\x71\x30\xa0\xfc\x95\x6e\xc7\xee\x3a\x25\xcd\x51\xfd\xb1\x54\x2b\x8b\x6e\x14\xf5\x8c\x76\x74\x33\x2a\x1d\x5d\x98\x7b\xa8\x04\xce\x47\x00\x14\x82\x4b\x31\x81\x4c\x75\xcc\x48\x37\xd5\xd0\x03\xda\x8e\x8c\x14\xdb\x1a\xed\x1c\xde\x6b\x61\x40\xae\x46\x29\x6c\x76\x1f\xda\xf5\x8d\xcf\x22\x66\xf2\x48\xb0\x62\x47\x9c\x43\xf8\x31\xa3\x57\x16\xea\x94\x0b\x36\xd4\x82\x0c\xf5\xc7\x61\xdd\x59\x2a\xb4\x2a\x74\xed\x39\x97\xfd\xdc\x48\xac\x7b\x2a\xb2\xaa\x8e\x06\xfd\x06\xed\x60\x20\x71\xcb\x9a\x15\x95\xd2\x95\x4d\x05\x90\x56\x79\xf8\x23\xd2\x19\x83\x9a\x18\x15\xb3\x73\xd5\x27\xa0\x17\x0f\x2d\x7f\xd0\x65\x46\x84\x2e\x96\x28\x54\xb3\x1b\x7d\x29\xf7\x4a\xa4\xac\x36\x4f\xda\x41\x7f\x6c\x9f\xa7\x6c\x47\xe5\xdd\x6d\x97\xe7\xf5\xbe\xff\xa0\xcb\x33\x8d\x5a\x16\x86\xc8\xea\xf0\x3c\xff\x4c\x8b\x67\x81\x95\x84\xd6\x4e\x37\x66\xdd\x22\x40\xc2\x29\x5b\x0b\xd3\x83\x3d\xe5\xfd\xa6\xa7\x3c\x5a\xca\x7b\xb4\x94\x37\x54\xc0\x43\x22\x60\xa5\xa3\x3c\x0a\x15\xaf\xe8\x29\x27\x6e\xd4\x09\x6e\x49\x5d\xb7\xe3\x5b\x3d\xe5\xed\xe7\x7b\xca\xc7\xea\x29\xb7\xa3\xa7\xbc\xae\x9e\x72\x79\xdd\x2b\xaf\xab\x57\xfe\xbb\x59\xa6\xe9\x77\x95\x20\xa6\x50\xc4\xd2\x8e\x0a\x95\x65\x24\x0c\xbe\x51\x85\xaa\x0a\xdd\xa2\x88\xaf\x68\xf4\x69\x86\x18\x95\x71\x34\xaf\x62\x61\x52\xb7\xe9\x01\x5a\xd3\x18\x2c\xcb\x72\xdb\xc8\x1a\xe2\x3c\x1a\x59\xe7\xaa\x9a\x59\xbd\x74\xe2\xc6\xea\x13\xf4\x67\x68\x5e\x24\x8f\xee\x5b\x58\xd9\xa6\x17\xae\x1a\xf3\xfd\x28\x4e\x59\xa1\x7f\x14\xb5\xd7\x10\x7e\x6e\xe4\x16\x41\x7f\x22\x02\x95\xb7\x6d\xaa\x7a\x24\xda\xda\x6a\x53\x85\x30\x6e\x76\x97\x2b\x8b\xce\xaa\x9d\xf0\x88\x7b\x00\x11\x60\x18\xe4\x05\xba\xef\x53\x0d\xfb\xa0\x13\x7f\x21\xda\xd4\x81\xd7\x31\x02\x29\x6c\x30\x17\x86\xe2\x90\xd2\x4f\xa8\xfb\xd6\x69\xaf\x5b\x52\x5b\xb9\x16\x40\xa2\xd4\xda\xad\x11\x76\xa2\x9e\x0f\x1c\xb0\x49\xef\x41\xa9\xef\xcc\xf8\x93\xb2\x1a\x5d\x68\x46\xe0\xf4\xab\x45\x15\xbe\xb2\x0f\xc0\xcd\xc5\xe9\x8f\xfb\x2e\xe7\x28\x1d\x63\x03\x2b\x84\xfd\x53\x12\xc2\xb0\xc4\xc1\x6f\x3a\x56\xdd\xcc\xbe\xda\xf6\x47\xc7\xaa\xfd\x54\xc7\x6a\xfd\xb2\x63\xb5\x72\x05\x7e\xa3\x63\xb5\x46\xc7\xaa\xac\x8e\x55\xb9\xeb\x58\xd5\x57\x1d\xab\x0a\x44\xe7\xe7\x3d\x4d\x6e\xb9\x11\x8b\xa7\x84\x4d\xd9\x63\x1b\x46\xdc\x06\xe9\xb2\x31\x58\xe6\xc9\x02\x12\x89\x26\x63\x17\xd5\xa1\xaa\xfd\xda\x7e\xb6\x0f\xb5\x46\x1f\xea\x20\xa4\xdd\xea\x43\x5d\x15\xf1\x61\x5c\xba\xc6\x65\x51\x55\x09\xe3\x80\x72\xaa\x20\x4a\x97\xf3\x78\xc4\x5d\xf9\x6e\x8e\xe8\x06\x76\x24\x60\x19\xd1\x3a\x0a\x77\x0f\x93\x54\xab\x6b\x87\xef\xe0\x8d\xc8\xc2\x1b\xb1\xd7\x78\x23\xb2\xf0\x46\x8e\xb4\x10\xd2\x16\x16\x25\xf1\x2c\xa2\xb5\x57\x70\x23\x47\xcc\xf8\xa6\x36\xb8\x06\x30\xe7\x1d\xd2\x48\x3b\x90\x46\xe4\x35\xd2\xc8\xf8\x0e\xd2\x08\xcc\x14\x28\x5e\x65\x1d\x61\xed\x40\x17\x29\x75\x6b\xa9\x11\x73\x05\x7b\x98\x58\x5a\xc8\xc0\xa0\xfd\xa6\xb1\xb4\xb7\x37\x37\x8f\x50\xb2\xc2\x84\x57\xf1\xfb\x52\x67\xb4\xfc\x35\x04\x19\x24\x15\x34\xd0\x87\x24\x07\x30\x4a\x12\xe8\xd4\x43\xde\x97\xbc\x41\xde\xdf\x40\x8d\x20\x97\x96\x84\xd5\xd2\x01\x10\xe8\xea\x1e\x97\x28\x48\x51\x58\xc4\x29\x59\x0f\xa6\xe1\xaf\xb1\x38\x4c\x4e\x25\x35\x01\x22\xaa\x1c\x88\x0e\xec\x20\x78\x23\x75\xc1\xbf\xfc\xe5\xf9\x6f\xff\xf3\x3b\x84\x78\x07\x5a\x8d\x14\x94\xcf\x3f\x83\x29\xd0\x1e\x4a\x4b\xb6\x49\x01\x05\x7b\xb7\x5d\x12\x58\xa7\xac\x8c\x07\x63\xf0\xcc\xd2\x90\x4b\x29\xa8\xa3\x9d\x8f\x2d\x8d\x56\x1f\xe2\x18\x8c\x5b\xb8\x5f\x6d\x56\x1e\x10\x34\x69\x9b\x02\x66\x59\x1f\x6a\xea\x7d\xb8\x70\x29\xb6\xe9\x36\x93\x4d\x7b\xb6\xc4\xe3\x56\xb0\x4d\xcc\xe7\xbd\xa5\x56\xfd\xe0\x4d\x80\xd5\x3c\x7e\xea\x5a\xbf\x9f\xeb\x8a\xe4\x96\xa6\x26\xf2\xec\xab\x44\x1e\x0a\x9a\x0b\xec\xb2\x5b\xaa\x68\x2d\x9a\xdd\xbd\x8a\x69\xe3\x41\xc9\x6f\x99\xd3\xec\x97\x81\x2a\xd3\xfe\x08\x68\xc5\x87\x75\x0c\x38\x56\x6e\xde\x54\x19\x60\x52\xaa\x5b\x79\x86\xb8\x7c\x10\x54\xa0\x54\xf0\x7b\x00\x86\x5e\x9f\x21\x84\x2f\x7e\x86\x91\x46\xd7\x47\x03\x4a\xe6\x44\xfc\xbb\xa4\x51\x7e\xee\x4a\x7f\x17\x91\xd5\xab\xdf\xbe\xa6\xa5\xe8\xb9\xff\xff\x4b\xd1\xff\xf6\xa7\xff\x62\xab\xe2\x77\xf1\x77\xbc\xfa\xed\xd7\xe7\xaa\x1d\x7c\x29\xff\xc9\x57\xd5\xf3\xa7\x37\x32\x67\x4e\xf8\xce\x3d\xf5\xac\x0f\x45\x36\x77\xda\xc7\xc5\x0d\x77\xc0\x36\x17\xf3\x3f\xce\xa4\xae\x85\x8e\x2f\x22\x4f\x5f\x67\xdf\x66\x6a\x7e\x9d\x09\xad\x0e\x4a\x18\xfd\x87\x9b\xcf\xf0\x45\x41\x68\x35\x0f\xbb\xb8\xc3\x33\x88\xe7\xb5\xaf\xf7\xb5\x83\x61\x6e\x8e\x86\x4a\x98\xbe\xbe\xfc\x8c\xbf\x5d\xf8\xbd\x3d\x18\x56\xe3\xbd\x15\x70\x77\xcf\x9b\xb3\x5e\x24\x35\x18\xb8\x56\xec\xe1\xf8\xe8\xc7\x98\x4d\xc2\x06\x29\xfd\x20\xa9\xb5\xfe\x8b\x3f\xf9\x03\x16\xbe\xf8\xfd\x6b\xfd\xb9\xa0\xfb\x58\xdb\x48\x32\x07\x62\x7c\xfc\x56\x7b\xea\x49\x5b\x3b\x67\xf7\x92\x88\x5b\xa0\x8b\xf6\x95\x9c\x52\x5a\x7f\x41\xab\x0f\x1b\x7e\x70\xd0\xbe\x89\x5f\x4c\x7f\x2a\xf9\xe4\x7f\xc5\x47\xe1\x50\x4c\xa0\x59\x96\x72\xc6\x0a\x83\x4a\x06\xc9\x2c\x68\x24\xbb\xd6\x78\x8f\x03\xfb\xb9\x7b\x3f\xdd\x0d\xd8\xdf\xc0\xaf\x7b\xde\x8b\xbc\xba\x96\xb8\x4e\xf0\x75\xb6\xad\x27\xb3\xea\xb7\xd6\x92\x15\xdd\x46\xaa\xfc\xd3\x33\xf2\x1d\x17\x4d\xe8\x86\xa8\xc5\x67\x00\x97\x53\x1e\xf1\xf9\xdf\xd7\x11\xed\x8b\xf2\x4d\x70\x6b\x6e\x99\xb7\xcd\x8d\x9c\xf9\x30\x36\xf7\xaa\x7d\x11\xfa\xce\xb1\xa4\x65\x43\x7b\x08\x01\xc7\xf8\xb5\xe2\xcb\x41\x2b\x49\x85\x7d\xf7\x0c\x11\xb4\x95\xb6\x67\xb7\xe2\xe4\xe1\xe6\x53\xff\x6a\xc1\x8f\xe7\x30\xff\x2a\xb3\x50\x0d\x15\x6f\x7c\xaf\xa0\x0b\x80\xf1\x3c\x24\xbe\xe9\x07\x7a\xe0\x09\x47\xca\xf8\x21\x4f\x01\x7e\xc6\xa1\x9b\xb9\x7d\xc2\xd3\xdd\x0e\xe0\xe1\xfa\xe1\x9b\x80\xdf\x4d\x75\x93\x0f\x25\x55\x5f\x8d\xb5\x0d\x7f\xe0\x0e\x82\xd8\xa6\xcd\x67\xd0\x0b\xfa\x82\x14\x9b\xe0\xf0\xac\x6d\x46\xdd\xd6\x7c\x32\x84\xa4\x32\xb6\x2e\x51\x71\x37\xc1\xdb\xe2\xc6\x96\xa4\xa1\xfd\x97\xdb\xa2\xe1\x5c\x21\xd8\x9e\xfa\x09\x0d\x71\x7d\xac\x04\x27\x7a\xb2\xfb\x00\x15\x33\x32\xf7\x02\x12\xa8\x8a\x56\x65\xe1\x3b\x1c\xce\x4f\xd9\xec\xbc\x3a\xe3\x6a\x83\xb7\xc6\xd7\xda\x1f\x25\xd5\xd7\xd7\x11\xd7\x08\x12\x49\xf3\x15\x28\xb9\x3e\x0c\xdf\x3a\x6c\xde\x18\xfc\x93\x0b\x00\x7b\x18\x50\x20\x17\x50\xdc\xfa\x35\xf4\x47\x7c\xf8\xf7\xaf\xc3\xdf\xa5\x6f\x6f\x7f\xf8\x55\x0e\x28\xb1\xf1\xdf\xfe\x08\xc1\x52\xf0\xcf\x9f\xdf\xdd\xaf\x9d\x09\xcb\xff\xdc\x7e\xfb\xed\xca\xd9\xa8\xea\x12\x5c\xe4\xd1\x55\xaf\xef\xff\xa2\xc9\xac\x05\xdb\x06\x08\xb8\x5c\xf6\xd4\x2f\xcb\x5c\x7f\xd5\xdf\xca\xd7\x8e\x44\xfd\xd0\xfa\xd8\x06\x86\xd3\x49\x20\xe8\xf7\xb5\x83\x10\x98\x5d\xa8\x5f\x3b\xe4\xfc\xf5\x9f\xff\xe9\x38\x64\x1c\xe5\x59\xd3\x00\x2f\xa2\x1f\xcb\x07\xf9\x78\x7f\x96\xef\x8e\xeb\xfa\xab\xf8\x7e\xeb\x7e\x3c\x70\x42\xaf\x4f\xbe\x3f\x0a\x5e\xd8\x57\x8e\x70\x9d\x9b\xef\xf2\xfb\x7d\x65\x81\x94\x6f\x2c\x90\x82\x42\xc1\x4d\x72\xd2\xd6\xdf\x24\xf1\x77\xa4\xd1\x7f\xac\x6e\xd8\x5f\x2a\x5f\x55\x37\xb7\xaa\xe8\xaa\x70\xde\x6e\x53\xfc\x2e\xd3\xeb\xf6\x87\x5f\xdf\x36\x57\xa2\xba\x2f\x24\xe0\x51\x90\x1a\x12\xb0\xbb\x04\xa4\xfc\xeb\x21\xff\x5a\x7c\xad\x3d\x15\x0d\x84\xc8\x9b\x9f\x85\x2c\xf2\x7d\x33\x52\x7d\x75\xc8\x25\x8c\xbe\xbb\x71\x32\x56\x05\x7c\xee\xc7\x91\xb2\x40\x2a\xe9\x70\xa3\xb8\xb5\x7e\x91\x58\x1a\xda\xbe\x0c\xf2\xdf\x6d\x9b\x9b\xe3\x3c\x50\x1b\xb9\x42\xf3\x95\x89\xbf\x6d\x2e\x04\x67\xad\x3c\x20\xf0\x87\xbe\x1c\xd8\xed\x72\x8d\x63\x3c\xce\xa4\xf3\x81\x07\xf2\xe1\x3d\xde\x9d\xe1\xbb\x43\xba\xfe\x88\x5f\x6f\xfd\x59\xb0\xdf\xae\x1f\x7c\x7f\xc3\xe4\x20\x3d\x7f\x7d\x80\x9b\x49\xf9\x1e\xa1\xea\x57\x56\x46\xf9\xd6\xca\xc8\x69\xe4\xb1\x21\x06\xd2\x6f\xd4\xd2\x38\xd4\x12\x8a\xd6\xa9\x97\xa4\x7e\x68\xa9\x49\x0d\x55\x78\x68\xc2\xdc\x0e\x4d\x28\xf5\xe4\x12\x0a\xce\xca\xd2\x79\x9a\x7a\xef\x50\x86\xbd\xfb\xe3\x4e\x19\x46\x63\xfc\x77\xb6\xc9\x7f\xff\xeb\xbf\xff\xf7\xff\xfb\xfc\x3f\xfe\xf2\xef\x6f\xd0\x2b\x5f\x35\x46\x51\x15\x8d\x02\x90\x5f\x52\xab\xa9\x31\x76\x06\xdc\x87\x4d\x2f\x65\xa4\x8e\x2a\x15\x3d\xdd\x7c\x9a\x9a\xd6\xd4\x6b\x7d\x28\x33\xc9\x98\x2e\x50\xaa\xf9\x17\xfc\x1b\x2b\xf8\xe6\xdf\xb1\xfa\xc1\xc0\x8b\x92\x46\xaf\xfe\x88\xcf\x46\x05\xe6\x78\x7f\x40\x71\xbe\xcb\x94\x7a\x7f\x02\x14\xf4\x59\x19\x2f\x9f\x7a\xea\xcd\x40\xf5\x2f\xf2\x54\x53\x19\xe0\x17\x2e\x65\xb7\x34\x66\xff\x30\xd2\xc8\xf5\x82\xa4\xda\x86\xbf\x7c\x5b\x4d\xbf\x65\x12\x7f\x2c\x65\xbe\x6a\x43\xa5\x0a\xbc\xa8\x62\xbf\xdc\xc4\x98\x5c\x9a\x6e\x72\x29\xee\xe6\xa6\xfc\x2a\xfe\x54\xa5\xa6\x3a\x41\x0c\x3c\x8a\x5f\x5e\xd1\xdb\x42\xa0\xc2\xce\x20\x6d\x1f\xd4\xd7\xc8\xeb\x84\x09\xca\x44\x6b\x1f\xf8\xb9\xec\x68\x60\x3f\xe1\x17\xf5\x40\xa5\x43\x4e\xa5\xda\xcb\x27\x43\x9f\x6d\x4f\xa3\xd4\x0f\x33\xd5\x72\x01\x8a\x9b\xa6\xa9\x1f\x2c\x0d\x9b\x97\xd4\x6b\x47\x8f\xcb\xdf\x37\x77\x3f\x83\x37\xd4\x46\xf5\xfd\xfc\xbe\x2a\x5f\xcb\xa8\x2f\xa7\xf3\xab\x51\x03\x99\x57\x9b\xaf\xa8\xeb\x86\x6c\x4f\xbb\xfb\x0a\xa4\xc1\xcd\x85\xe7\xfd\x30\xd3\x44\x18\x24\xf4\x7e\x9f\x7e\xd1\xc5\x1f\x51\xae\xd3\x92\x14\xe8\xb0\x61\x67\xc4\x4f\xf2\x96\x6c\xb0\xae\xbd\x01\x8c\xcc\x2f\x64\xd4\xe1\xab\xac\xfe\x50\x6d\xbf\x1e\xff\xdb\x2a\xc7\x7f\xb0\x1c\xfe\xcb\xef\xaf\x1f\xad\x82\x6f\xc4\x8e\xd4\xae\x26\x4c\x11\x44\x52\x54\xd1\x72\x73\xd9\x53\xe3\x39\xcb\x07\xd0\x27\x3e\x00\x16\xcf\x6d\xef\x01\x4c\x3c\x43\x3e\x41\x07\x2a\x8c\x15\x19\xcb\xa7\x91\x3a\x0c\x99\xa3\x1a\x11\x91\xa7\xa4\xed\xc2\xfa\x22\xc4\xfb\x7f\xb8\x00\xfe\xd7\x5f\xff\xe5\xdf\xfe\x72\xfe\x5f\x7f\xf9\x7f\x7e\x1c\x0c\xfa\xd6\xfd\xb6\xd4\x46\x47\xaf\x2c\x18\x5b\x4a\xb4\x62\xb1\x17\x99\x5d\x3e\x6d\x46\xfe\x2e\x47\x03\x4e\x66\xcf\x05\xfb\xde\x01\x66\xb1\xf1\xd9\x2f\xa4\x45\xed\x49\x07\x1b\x5f\x5f\x60\x28\xb5\xd4\xa4\x43\x4e\x4d\xd2\x30\xdd\xe2\x65\xe5\x8e\x90\xae\xbc\xb0\x29\x52\x47\x3d\xbb\x16\x07\xf8\x59\x29\x81\xcc\x5f\x92\x76\xd4\xd7\xb5\x54\xba\x5e\xa2\x33\x60\x76\x75\x5b\x21\x8b\x24\x9b\x70\xf1\x01\x39\xe8\x46\x36\x40\x41\x8a\x22\x2e\x8f\xe2\xd1\x76\x14\x8f\x96\x56\x41\xfb\xa8\xe7\x64\x15\x48\x55\x75\x2b\xc9\xa4\x03\xe3\x6b\x93\x24\x13\xac\x0a\x93\x29\xcb\xaa\x24\x9b\x99\x15\x4d\x52\xa5\xda\x85\x49\x3a\xc0\x74\xb4\x3d\xa9\xb9\x87\x4c\x54\x2d\x23\x71\x42\x05\x79\xf4\x9e\xda\x90\xcb\x1e\xf7\x56\xec\x9c\x0a\x6a\x8e\x25\xd2\xa4\x99\x38\x62\x0c\x80\xed\xa9\xce\xe9\x92\xd1\x8d\x9f\xd2\xc0\x66\x5d\x76\xa0\x37\xed\x85\xf0\x08\x13\x84\x33\x00\x2a\x9b\x06\x84\x38\x77\x0f\x70\xe1\xe8\x58\x41\x7b\x8a\x55\xff\x80\x3d\x09\x85\x54\x5a\xb5\xd9\x65\xe5\x2f\x22\x7d\x93\x87\x9e\x0b\x52\x58\xbe\xe3\xfd\xa2\x0d\xd6\x13\xa4\x7e\x9a\x40\x44\x93\x9a\x0c\xfd\x84\x9a\x66\x97\x00\x82\x53\xd4\x2c\x0b\xee\xac\x02\xa1\xae\xf5\x4d\x52\x37\x77\x7b\xc9\x8f\x5d\x8a\x9b\xbc\xb9\xaa\x0b\xea\x89\x2f\x5a\x3d\xfb\xe5\xa5\x56\x5a\x9a\xc0\xa3\x68\x13\x0d\x24\x68\x92\x36\x45\x97\xe1\x64\xed\xf9\x56\x28\x0d\xfb\x44\x6b\x4d\x11\x20\xb4\x61\x06\xc0\xd6\x90\xa6\xda\x2e\xa9\xa3\xe0\xa4\xe4\x09\x33\xd4\x80\x7d\xea\x7f\xf5\xe5\xe2\x2e\xd5\xb4\xd4\x4b\x43\xa2\x14\x71\x8e\x06\x8a\x91\x5d\x93\x00\x36\x6b\xaf\x69\xcc\x34\xcc\x76\x82\x05\xa9\x5f\xbd\x75\xb4\xf9\xed\xe2\xd6\x3e\x9b\x37\x50\x56\x89\x46\x5e\xe4\xdf\xd9\x33\x85\x83\x9e\x6a\x12\x2b\x1b\x9f\x57\x11\x3a\xb6\xc7\x13\xe1\x68\xf7\x34\xd8\x83\x27\x7e\x68\xac\x14\x98\xb2\xd3\x08\xfa\x86\xde\x92\x1e\xe4\x60\x6d\x76\x60\x9b\x15\x76\x04\x4b\x70\xef\xc6\xea\x90\xc6\x32\xa3\x33\xa8\x5a\x10\xce\xaf\xbb\xfb\x8b\x3b\x48\x12\x77\xdc\x17\x97\x1a\xda\x4e\x2d\x49\xdf\xf0\xb4\x3a\xe3\x7c\x8a\x7a\xaf\xbe\xfc\x80\xfb\x9a\x26\xfa\x8d\x87\x10\x15\xc5\xaf\x7c\x1c\xdd\x34\xf0\x2f\x49\xb1\xb5\xb9\xd2\x4d\xa2\xa7\x9e\xd3\x90\x8d\xcf\x7e\x50\x65\x21\x1d\xaa\x81\x75\xa2\xbd\xa1\x4f\x62\x86\x97\x54\x66\xaa\x3c\x54\x8f\x52\x30\x21\x96\x09\xaa\xb4\xa2\x2b\x71\x75\xdd\xf5\x28\x26\xaf\x33\x5a\x5a\xad\xb2\xea\x47\x0b\xb6\x34\xfc\xbf\x31\x03\x50\x15\x28\x86\x58\x3f\xc8\x43\xa3\xfa\xb4\xa1\x47\x6b\x54\x16\x58\xa8\x61\x65\xf8\x26\xc3\xea\x68\x17\xb6\x36\x56\x60\xfa\xd5\xce\xde\x75\x03\x6c\x2a\x82\x0f\x28\x18\x6f\xf2\x9c\xb4\x01\xd3\xa8\x12\x12\x44\xd2\x60\xb7\x6a\x05\x06\x23\x21\x72\xb6\x45\x08\x81\x75\x89\xb4\xa3\x2f\x7a\xac\x10\x50\xd2\xe4\x21\x6e\x8e\xa4\x62\x06\xcc\x95\xca\x76\x42\x60\x77\xb5\xa4\xad\xb3\xe1\xd8\xa2\x2e\xae\xac\xb4\x75\x50\xad\x45\xb5\xc6\x0d\x9e\xb2\xce\x55\x8a\xf9\x03\xb0\xe2\x20\xc8\x56\x05\xcb\xe6\x99\x1d\x83\xe8\xd4\x55\x25\xae\x8b\x61\xaf\xa3\x8f\x04\x05\x67\xe8\xc9\xc1\x7a\xd0\x84\x15\xd4\xa6\x5e\xe8\x4d\x8f\xb9\xc0\xc9\xab\x44\x79\x80\x0b\x43\x60\xa9\x80\x4a\x10\xd1\xc7\x26\x4f\x2e\x03\x2f\x28\xfb\xa8\xad\x9d\xd3\x1c\xe2\xbb\x63\x2b\x00\xe1\xeb\x1d\xc0\xae\x15\x2b\xa5\x03\x1e\x41\x8d\x92\xb8\x82\x8e\x19\xb2\xcd\xff\x5d\x9b\xcb\x03\x20\x57\xd6\x34\x2b\x81\xb8\x5c\x26\x02\xcd\x1d\x65\x02\xac\x0e\xab\x01\x73\x18\x15\xc4\x85\xec\x13\xbe\xbb\x26\xb7\x8d\x02\x4f\x46\x9a\xed\x35\xe9\x44\xd9\xe7\x64\x99\x30\xc1\x3c\x84\x78\x6f\x05\xb4\x99\x40\x0d\x4e\xa8\xb2\x41\x21\x1b\xb2\x0f\xc0\x9d\x6b\x86\x60\xd0\x44\x84\x66\x71\x5f\xb9\x80\x29\x49\x81\x2e\x80\x96\xee\x49\x92\x93\x0b\x8f\x59\xc7\x60\xd0\xb3\x43\xf7\x8b\x11\xcd\x07\x5a\x0a\x58\x90\x7e\xc8\x0e\x70\xa1\x21\xbe\xe5\x7a\x86\x48\x2f\x40\xfe\x2f\xa9\xbb\x4e\x2c\xf8\x92\xf9\xa2\xeb\x94\x37\x69\x76\xb2\x5e\x16\x90\x4f\xb9\x7d\x88\x0f\x5d\xb1\x75\x70\x49\xf5\x30\x30\x0b\xa1\x26\x47\x38\xf5\x3f\x88\x95\xde\x18\x0f\xbf\xcf\x13\x9b\xa9\x97\xcd\x1d\xec\x73\x00\x30\xa2\x54\x40\xfb\x82\x81\xec\x49\xf3\xbc\x30\x47\x5f\x5c\xfc\x9b\x92\xc0\x32\x97\xe6\xba\xc0\x47\x8e\xe2\x09\x37\xe2\x46\x6a\x7e\x9c\x6e\xc3\x55\xb8\x6b\xbd\xd1\x52\x1f\x28\x82\x05\xb3\x10\x98\xae\x66\x80\x50\x80\xd5\x28\xb3\xe8\x9a\xad\x23\xad\x0b\x70\x12\x05\x28\x4b\xb3\x07\xde\x95\xff\x7d\x4f\xcd\x6d\x0b\x94\x9e\x37\x74\x7a\xf6\x00\xef\x84\xc9\xed\x6b\xc9\xb2\x2b\xd3\x56\x4f\x02\x59\x2e\x4b\xa2\xbb\x2c\x66\xcd\x2e\xe2\x0b\x32\x4b\x3c\xe3\x33\x05\x8c\xe7\x94\xa0\x8a\x61\x8f\xbe\xc8\x32\xa2\x6a\x6c\x63\x69\xf1\x17\x93\xd5\x6a\x9b\x72\xed\xc1\xb5\x05\x03\x22\x77\xd6\xcb\xa0\x4e\xa6\xb2\xef\x43\x61\x8e\xb1\xe2\x84\x05\x3a\x01\xfc\x02\xbc\x75\x65\x69\x1c\x1b\xa3\x8b\x2c\xbb\x6c\x9e\xdc\x54\xaf\x1b\x9f\x8f\x8a\x47\x5f\xdf\x6c\x89\xd9\x17\x7a\x35\x9a\x43\x57\x99\xe6\x90\x71\x1a\x88\xe2\x6e\xf1\xb2\xea\x84\x5c\xd5\xc8\x00\x30\xbe\x5f\x6b\x79\x46\xa3\xc9\x93\xaf\xd9\xf1\xec\x3b\x60\x5e\x02\x87\xcd\x06\x2b\xac\x01\xf0\x8c\xee\x1c\x3d\x07\x02\x86\xb9\x72\x86\x3b\xc7\x86\xb4\xde\x12\xf0\x57\x53\xcd\x68\x96\x6d\xa9\x41\x36\x95\xa6\x17\x82\x81\xb4\x22\xe7\x00\x26\xd0\xa8\xfb\x69\x25\x2e\xd2\xa5\x14\x27\xa0\xfa\xcc\x0b\x4b\x3f\xfb\x4e\xd8\x50\x21\xa4\x86\xdf\x5d\x1c\x68\x0e\x5e\x72\x21\xb8\x8f\x5f\x73\xe0\xdc\xf5\x69\xbf\xba\x01\x87\x26\x43\x37\x43\x26\x6e\xf5\x9c\xc3\x8d\xa1\xcd\x77\xef\x50\x89\xc2\x3a\xed\xd0\xbb\x08\x5b\xba\x50\x41\xb9\x59\x9d\x89\xf0\x2a\x69\x08\xee\x2d\x0c\xa3\xa4\x99\x3b\xb4\xa4\x26\xee\x18\xa0\xa3\xc9\x92\x00\x5a\x3b\xcd\x71\x4e\xc4\xf3\x14\xee\x86\x26\xc9\x20\x33\x0d\xbc\xac\x9a\x4c\x9a\xbb\xbc\x80\x5a\x2f\x90\xe1\xbd\xd5\x27\xb4\xf8\xa6\x1c\x38\x47\x2c\xf5\x23\x9c\x5c\x63\x81\x59\x0b\x4e\x4a\x4d\x60\x9d\x29\xa7\x6a\x49\xfb\xdc\xe2\x85\x12\xa2\x41\x3c\xea\x70\xdb\x0f\x85\x36\xa0\x8c\x1f\xa0\xfd\x83\xa9\x0d\x32\xbf\x31\x9e\x60\x35\x11\xbf\xa2\xb8\xfb\x9d\x00\xba\x81\xd0\x1a\x00\x6c\xa7\x72\x6e\x0b\x54\x3e\xa8\x06\xe1\xf4\x10\x25\xd7\x65\x19\x10\x6c\x75\xf6\xe4\x52\x0e\x08\xae\x05\xcd\xae\x00\xe0\x01\x76\x2e\x0c\x6e\x74\x7c\x77\x04\xee\xb0\xc9\xd1\x96\x3c\xf5\x30\x77\xa6\x01\x97\x17\x36\x2f\xa2\xe7\x5a\xdc\x3a\x1a\x90\x0d\xcc\x47\xf5\x80\xbd\x6b\xbe\xd5\x07\x99\x69\x07\x2c\x2d\x80\x02\xef\xb1\x25\x8d\x06\xe2\xac\x89\xa2\x1f\xa4\xd8\xed\x78\x03\x82\x25\x95\xb3\x3b\x44\xec\xdd\x47\x49\xab\xa1\x4c\x16\xb5\xe1\x35\x35\xa0\xc6\x58\x58\x48\x06\x24\x38\x53\x10\xe8\xa8\x04\xe0\x72\x92\x91\x5a\x1d\x6e\x79\x43\xd8\x95\x0b\x89\x3b\x04\xb5\xbe\xa9\x02\x9a\x44\x9b\xef\x96\x33\xd1\xc1\xd1\x44\x6b\xd3\x6f\x38\x20\x43\xd0\xa7\x0e\xe3\x4f\x7a\x92\xe8\x6c\x28\xfa\xf2\x29\x6f\xf9\x12\xe5\x70\x3e\x10\x54\x7a\x9d\xb9\xa7\xb4\x8c\x44\x7a\xb6\x86\xbb\xb6\x0e\xc1\xaa\x7d\x8b\xcd\x4f\xac\x85\x68\x24\x0e\x6a\xd3\x93\x8f\x18\x68\xb1\x14\x18\x05\x9d\xfd\xaa\x44\xb9\xe3\xd3\x02\x11\xf3\xcb\xad\xf3\x12\x20\x4d\x55\xce\x6c\x47\x06\x27\xdf\x24\xcd\x95\xfa\x45\x68\x1e\x2f\x9f\x76\x18\x56\x1b\x7a\x98\xce\x6c\x78\xcc\x8d\x4b\x7e\x0f\x4b\x80\x0d\xa8\xc0\x4b\x56\x81\x09\x9b\x66\x1e\x61\xea\x57\x58\xf0\x8a\x95\x0f\x52\x1c\xe0\x46\xcf\x79\x89\x32\x35\x97\x48\xdd\x50\x9b\x7c\x26\x9a\xaa\x94\x9e\x0c\x7a\x41\x8d\x18\xd8\xcd\xf4\xe5\xa3\x21\x6e\x03\x02\xed\x4b\xe0\xcd\xb8\x74\x0d\xe1\x14\xc8\x29\x86\x76\x2c\x52\x4b\x91\x69\xc8\xe5\xd3\x5c\xf2\xa9\xfd\x2e\xf9\xc4\x0a\x50\x57\xf8\xfd\xdb\x4b\xcb\xe6\x17\x6b\xab\x1d\x6b\xcb\xbe\xb1\xb6\x62\x69\xad\x1a\x58\xa9\xa7\x9a\xba\xba\x87\xdc\xaf\x35\x99\xc4\xcf\x80\xf7\x83\x16\x1e\xeb\x1d\x9e\xf1\x60\x3f\x2d\x3a\x0e\x52\x60\x6b\x47\x31\x6c\x9f\x94\xde\xa5\xcc\x45\x3d\x05\xac\x77\xd0\x50\xfa\x06\xf3\xf5\x44\x9c\xed\x42\x7b\x08\xee\x03\x50\x35\x6a\x94\xe4\x2d\xa8\x6c\x78\xb2\xb0\x14\xcb\xea\x92\x2b\x69\xc0\x5d\xcc\x47\x63\x18\x89\x3e\x3b\xc1\xb7\xdd\x38\x72\x81\x5e\xe8\x49\xb5\x3e\x31\xcb\x05\xf5\xed\x10\x04\x74\x3c\x05\x6d\x87\x8d\x48\xca\x70\x27\x21\x86\x04\x0e\x81\x64\x04\x35\x16\x4c\x1d\x58\xa5\x0d\x3c\xe5\x4c\x27\x88\xce\xdf\x15\x7d\xbd\x1a\x4c\x3f\x11\x7e\x6d\x4d\x7e\x3b\xf0\x83\x72\x2a\x8a\x28\xa5\x2f\x24\x20\x14\x94\x66\x7f\xbf\x1b\xde\x0d\xb8\x80\xc5\x95\x4d\x45\xc5\x91\x34\x10\x19\xd6\xad\x11\xa9\xec\x1f\xe5\x79\x4b\x9a\xb3\xb9\x54\xb7\x04\x83\x2e\x9b\xec\xae\xe2\xa0\xce\x7a\xf9\x91\x6b\x3d\x02\x74\x48\xd9\xcc\xe4\xfa\x19\x41\x8a\x22\xa4\x69\x04\x65\x4a\xb2\x42\x7a\x06\xbf\x46\xb0\x5b\x66\xed\x44\x52\xe0\x40\xba\x54\x4a\x8b\x8d\xa0\x2e\x30\xdf\xdc\x21\x01\x14\x7b\x9a\xfe\xf3\xa1\x50\x53\x58\x66\xe1\x5c\x44\x80\x09\xf1\xa5\x76\x8d\x2f\xd9\xfc\xc9\x00\xd3\xe2\x65\xa9\x0b\x59\xa3\x12\x24\xb1\x75\x4d\xcd\xd5\x52\xac\x3d\x7a\x17\xb0\xde\x1b\x12\xb3\xc3\xca\x25\x7c\x0e\xd0\xb6\xfc\x31\x41\xa2\x02\x08\x07\x33\xdc\x28\xfc\x3b\xcf\xb2\x13\xc2\xc9\x6f\xaf\x3d\x7f\xb5\x5d\x29\x37\x99\x43\x56\x53\xbb\xe9\xd8\x80\x68\x77\x5e\x21\x8a\xf6\xf5\x08\x85\x6b\xf2\xb6\x2b\xbd\xa6\xb2\xb7\x08\x36\xb8\x3d\x37\xdd\x9e\xfd\x07\x04\x23\x00\x95\x37\x52\xc5\x1a\x1d\x99\x4c\x08\x58\xf4\x58\xbe\xab\xe4\x9f\xa0\x8e\xc6\xa6\xe3\xdc\x3a\x5b\xa8\x6a\x1d\xc4\x69\x9e\x19\x68\x96\x05\x13\x06\xeb\x9e\x91\xf8\xa6\x44\xe4\x60\x4f\x13\xa2\x43\x80\x3a\xb1\x61\x97\x3d\xb9\x10\xee\x03\x71\x83\x8e\xb8\x41\x59\x71\x83\x42\xaf\x5e\xea\xa6\xa9\x64\xf0\xc4\x81\x38\x09\x9a\xda\x06\x28\x0f\xe9\x07\x0b\x6a\xef\xba\x2d\x6c\x23\xb4\x7b\x82\xe3\x53\x82\xd4\x0f\x86\x53\x0b\xb6\x60\x38\xc8\x08\xe5\xe5\xe6\xc3\xac\x20\xfb\xf1\x63\xc2\x1b\x87\xd8\x83\xe7\x81\x95\x35\x4a\xfb\xc6\xfd\x2d\xa5\xf6\x3f\xaf\xba\xf3\x59\x40\xa2\x26\xe3\x4c\x28\x62\x13\xc6\x6c\x58\x2c\xdd\x51\x8c\x68\xc3\x48\x6f\x30\x10\x81\x19\xf0\x5e\x81\xcd\x51\x5d\x8b\x00\x90\x1c\x60\xd8\x2d\x70\x31\x35\x0a\xc3\x67\x47\x5c\xe0\x8c\x2d\x85\x66\x31\x86\x07\x41\xf3\xe3\x0b\x11\x55\xd2\x7e\x81\xbf\x23\x22\xb0\x7a\x40\x30\x6b\xb2\xfe\x09\x47\x0b\x4b\x07\xd3\xf2\x65\x24\xe0\x08\x04\x80\x5e\x07\x08\xbb\x64\xef\x13\xe3\xb6\x85\x13\xf3\x65\x00\xc0\xde\x12\x00\x78\xc1\x8e\xe9\xc7\x8e\x01\xca\x7c\x0b\x26\x28\x17\xd2\x13\x78\x46\xa8\xef\xa4\xc3\xe7\xa6\x66\xcf\x86\x2d\xbb\x91\xba\x53\xc0\x43\x1c\x94\x6a\x1a\x94\xf5\x6d\x75\xec\xcd\xf6\xb6\x40\xbb\xef\x57\x1b\x74\x4c\x0b\xb2\x6c\x30\x35\xe0\xb2\xf8\xad\x34\x42\xee\x17\x94\xf4\x12\x0a\xd2\x85\xe6\xa4\xcf\x0b\x0a\x60\xd6\x62\xc9\x1c\x09\xe1\x8f\x12\x7d\x7d\xfd\x88\x66\xea\x35\x9a\x69\x37\xd1\xcc\x2f\x21\xb3\xb3\x14\xeb\x4b\xf7\xb9\xbf\x30\x91\x68\x40\x44\x1e\x81\xe3\x83\x09\xcb\x8d\x86\xb7\x45\xe4\x09\x14\xc6\xbe\xf8\x52\x1b\xe1\x5e\x40\x54\x3e\x53\x6f\x7d\x61\x06\x0a\x98\x22\x1a\xdb\xd3\x03\xb0\x06\x46\xde\x04\x5a\x56\x6f\x15\xc5\x13\x1f\x07\x4a\x52\xdd\xaa\x75\x3d\x4c\xbb\x12\xeb\x73\xe4\xc9\xbd\x37\xa8\x62\x73\x7f\x1d\x6f\x41\xcc\x06\x7b\x0e\xb8\xcd\x73\x86\x14\x1c\x8a\x72\x02\xc4\x79\x2a\xa2\x39\x0b\xe7\x74\xba\x6a\xc0\xc0\x3a\x94\x4f\x37\x7e\xfe\x33\x89\x9e\x9f\x48\xf5\xdd\x9a\x1e\x0d\x80\x8b\x4a\x13\x98\x5c\xcd\x45\xcf\xc9\x2d\xc1\xd9\x68\x43\xc0\x03\x77\x07\xaf\x23\xec\xea\x96\x3c\xfc\x94\x36\x92\x89\x81\x7d\xa3\xd2\x9e\x02\xf4\x28\x64\x91\xfa\x96\x9d\x0a\x72\xa1\xad\x12\x14\x03\x54\x14\xfe\x87\x92\x86\x9b\x2b\x50\xae\x15\xc0\xe0\x4a\x86\xaf\xc6\x00\x2e\x00\x60\x60\x29\x48\x21\xa5\x40\xc5\x82\x72\x2b\xbe\x55\xec\xbf\x62\xee\x4a\xee\x24\x8b\x55\x1b\xae\xc7\xa6\x42\xe3\xb7\x04\xa8\x55\x84\x6f\x0c\x88\x65\xc0\xb5\x4d\x05\x8b\xa0\x19\x49\xcb\x11\xa9\x26\x78\x69\x74\xf2\x12\xe3\x37\x4f\xd2\x25\x65\x18\xe3\x99\x91\x63\x7a\x24\xbe\x3c\x7c\xb5\x16\x40\x6e\x87\x78\x45\xc0\x03\xf7\xda\xc0\xfe\x3e\xd8\x11\x2b\x43\xc9\x49\x6f\xbd\xa5\xe9\x17\x37\xe0\x2c\xfb\xee\x9c\xc0\x2f\xaa\xea\xf2\xcb\xf7\x6d\x99\xe8\x4c\xe9\xe2\xb3\xb7\xc5\xcb\xa2\x7a\x03\x88\xf7\x79\x47\xae\xbd\x22\xa5\x21\x2e\x1c\x21\x74\x21\x64\x67\x10\x3e\x59\x25\xe9\x7e\x76\xf7\x01\xe1\x71\xe0\xcf\x62\xfd\xc3\x99\x0a\x0f\x02\x7b\xb8\xeb\x25\x35\x70\x39\xa3\x6b\x66\x92\xf9\xfa\x9c\x40\x5b\xa5\x5c\x94\xb0\xc3\x76\x66\xd4\x13\xa2\x34\xbd\xed\x69\x42\xcb\x8f\x1e\x5b\xbd\xd0\x5a\x9d\x84\x8c\xf3\x95\x3f\x7d\x3b\xa1\xb1\x60\x40\xb4\x15\xa9\x3f\x36\x2c\x62\x35\x48\x40\xdc\x61\xfc\x68\x5a\x1d\x2b\xb9\xe5\x37\xa5\x10\x91\x53\x91\xdc\x42\xb7\x15\x12\x3a\x05\x72\xa9\xa8\x5b\x19\xa2\xc8\xbe\xa8\x2f\x3a\xb9\x62\x2e\x0a\x50\x54\xd1\x64\xed\xd7\xda\x67\x77\x83\x07\x26\x1f\xee\x2d\x96\x86\xb8\x7c\x5c\x3d\xf8\x50\x62\x11\xaa\x2f\x36\xd2\x9c\x92\x14\x11\xeb\xd9\xdc\x7e\xaa\x88\x60\x63\xb9\x4a\x04\xed\x99\xb7\xb0\xe0\x23\xab\x01\x6b\xa2\x48\xa1\x0a\x1c\x70\xdc\x80\x1d\x90\xf2\x2e\x2d\x8c\x96\xae\x5a\xe0\xf7\x77\x01\x1c\x17\x3c\xe1\x79\xd9\x61\x99\x4b\x7b\xac\xee\x2d\x7f\xd0\x54\xa7\x3e\x43\x14\x02\xaf\xae\xb1\xdf\x08\xb6\xaf\xa0\xdd\x5d\x89\xc6\xc8\x84\x43\x29\xca\x84\x03\x24\x51\xf0\xc3\x06\x8b\x2e\x1a\x64\x61\xfd\x4c\x0b\x8c\x13\x13\x3f\x89\x9f\x7d\x5d\x12\xd7\x4b\x23\xe6\x3c\x9b\xdd\xf2\x1c\x09\xd0\xa4\x58\xfc\xf5\x2b\x72\xfd\xc6\x96\x30\xb4\xea\xc3\xb7\x3e\xa7\xd2\x63\x65\x45\xd2\x41\x80\x7a\x56\xc0\xaa\x8b\x08\xdd\xac\xa9\x45\xa3\xa8\xa6\x89\x3d\xde\xd1\x3c\x7a\xe4\x1a\xb8\xd6\x31\xc9\x45\xed\x29\x65\x3b\x83\x10\x47\x71\x81\x53\x7a\xea\x2c\xf0\x42\xea\xb1\xc8\xef\xf3\x9b\x17\x5b\x21\xce\x4b\x07\x58\x17\x66\x5c\x6b\x3f\x76\x97\x6f\xd3\x09\xc4\xac\x62\x3f\xda\xdf\xe1\x21\xbf\xbc\xde\x1d\x00\xda\x42\xab\x23\x42\xb4\xd5\xef\x21\x96\x6f\x04\x53\xfd\x76\xc1\xea\x2f\x32\xfc\x36\x22\x83\x13\x91\x07\x59\x89\x36\x40\x78\x92\x3f\xe7\xf4\x2a\x80\x9d\xd5\x6d\x79\xc4\xaf\xc9\x51\x23\xee\xb0\xa0\x75\xdc\xfd\x2b\xe8\xb2\x5c\xdb\x05\x4a\xb3\x03\x58\x14\xe8\xd8\x8b\xa0\x7f\x00\x9e\x4f\x5d\xe2\xf9\x9d\x1d\xb4\x1b\x4a\xb0\x1e\x43\x13\x66\x06\x8c\xc6\xf7\xc2\x3b\x3b\x3a\x3b\xc2\xd5\xe9\x8c\x4e\x22\xa3\x4b\xea\xb1\xef\x1a\x15\x33\x95\xb9\xcd\x24\x72\xba\x0b\x55\x11\x95\xd6\xe5\x88\x6d\x77\xc1\xad\x82\xd8\x16\x98\x7e\x82\x9e\xbf\xa2\x23\xb1\x20\x71\x0f\x5c\x3e\xb7\x58\xc1\x13\x66\x08\x31\x42\x94\x6e\x85\x7d\x94\xe0\xc4\x23\xa3\x48\x4b\x0a\xcd\x03\xce\x09\x79\xf9\x68\xa9\x8b\x6d\x3d\x95\xd1\xcf\xa9\xe7\x03\x23\x5f\x5a\x4b\x46\x09\xd3\xe1\x76\x77\x84\xf2\x40\x73\x64\x0a\x7a\x06\xa1\xce\xc3\x28\x81\x95\x37\x2d\x10\x7a\x05\x54\x3b\x14\x60\x0c\x8d\xe4\x45\xf3\xe1\x8b\xd9\x27\x76\x4d\xb8\x50\xf4\xe5\x1f\xf6\x0f\x9d\xff\xfa\xf9\xfc\xb7\xb7\xf5\x0e\x75\x50\xc5\xce\x34\xda\x78\x2c\x25\xf5\x00\xee\xd0\x05\xe2\x4e\x8a\xb2\xec\x03\x01\x6b\xbb\x20\xf8\xb0\xaa\x7a\x50\xf2\x81\x91\x69\x3c\xaf\x9c\x02\x44\xcd\x63\x73\x0f\xe2\x9c\x01\x2d\x41\x23\xd7\x4a\x63\x32\xc7\xba\x9e\x80\xdf\x57\x47\x60\x0b\x58\x6b\x68\x87\x67\x4e\xb9\xb1\x9d\x5a\xf8\x32\x9e\x41\xce\xe5\xf7\xc0\xdd\x1a\x4d\xb3\x95\x67\xdf\x15\xe5\x54\x42\x1a\xb7\x03\x34\xa8\x63\xa1\x03\xe1\x86\x34\x93\xae\xe6\xa0\x4f\xa0\xe2\x95\x20\x49\x50\xeb\x73\xc4\xbd\x77\x6b\x06\x5e\x89\x3b\x8f\xc0\x5a\x73\xeb\x41\x02\x22\x96\x30\x9a\x4d\x2e\x11\x6e\x03\xa2\xb2\x44\x67\x35\x11\x84\x4f\x80\x3d\x28\xed\x8a\x2d\xe2\x96\xe6\x73\x2a\x13\x85\xce\x28\x56\xc6\x7d\xa6\x4a\x0a\x5c\x18\x44\x15\x5d\x96\x43\x05\xb8\x8d\x83\x5c\x96\xcf\x16\xe4\x40\xad\x54\xdc\x43\x47\x74\xa3\x42\xd5\x00\xe4\x39\x4f\x6a\x42\x5e\x15\x7a\x7c\x08\xa2\xec\xeb\x05\xae\x02\xfa\x00\xdc\x7a\x93\xca\x83\xd8\xc9\xb7\xb2\x9b\x72\xfe\x1c\xb3\xee\xaa\xe3\x02\x5a\xcf\x2c\x15\xcd\x45\xb3\x8f\xcd\xb5\xe0\x90\x47\x9f\x6a\x43\x7a\x1d\x59\xeb\x73\xd4\x9e\x20\xc7\x05\x71\x0f\x3f\x88\x9d\xf2\x7b\x09\x6a\x59\x38\x1c\x45\x07\x7c\x5a\x3f\xbb\xdf\x1f\xe4\x6b\x72\x73\x63\xbc\x06\x5f\x89\x55\x57\xbc\xfe\xe1\x44\x1c\x85\xb5\x25\x05\x34\x6c\x0a\x8f\xdc\xcd\xa9\x1e\x9a\x0e\x54\x19\x42\x2c\x1c\x63\x52\x38\xd0\x7c\x7a\x5d\xe8\xb2\x81\x2c\x33\x80\xd8\x52\xe6\x25\x20\x01\x64\x0f\xc4\x0a\xf8\x25\xf4\xb6\x63\xa9\x92\xaf\x09\x69\x49\x02\x8e\xc1\x99\x03\x25\x1f\x72\x14\x68\x99\x31\xca\x73\x9d\x93\x09\x28\x3a\x74\x02\x31\x1a\xa7\x37\xc8\x09\x5c\x9f\xaf\xb5\xd7\x5d\xe1\xdf\x68\x5c\xcb\x85\x50\xe3\xb5\x9d\x73\x14\xf8\x0c\xda\xc2\xe1\x94\xe2\xdd\xc1\xb7\x83\x4f\x4a\x87\xd1\x46\xb2\x0e\x21\x72\x4a\x04\x51\x6c\xa6\xd1\x11\x7a\x45\xb4\x10\x45\x8a\xe0\x78\x2e\x11\x22\x41\x55\x03\x8c\xe5\x31\xf1\xbd\x82\x03\x59\x25\x24\x07\xd9\xf1\xea\x09\xf9\x5b\x66\x71\x97\x17\x94\xc1\x1d\xc9\x74\x9c\x35\x12\xfa\x66\xde\xfa\xb2\x80\x29\x6a\x21\x8b\x59\xd8\xf8\x19\xb7\x30\x43\xa3\xf9\x96\x31\x4c\x7a\xc1\x64\x55\x23\x7c\x20\x7b\xb5\x7e\x5c\xf6\x50\x0a\x10\xc4\x0a\x70\x94\x9f\xf7\x34\x90\x37\x22\x5f\x94\xdb\xd5\x93\xb4\xc6\x25\x4a\x06\xdc\x91\x23\xa8\xa0\xf5\x2b\x87\xcf\x70\xff\xf7\xcc\xa2\xd5\x0a\x35\x0e\xdf\x51\x51\x5c\x02\x27\x52\x52\x99\x85\x82\x2f\x37\x6c\x3f\x57\x83\x5a\xc0\x09\x9c\xe1\x8a\x1a\xdc\xd3\xda\x84\xfc\xb8\xc0\x09\xa5\x97\xca\x20\x7d\x4b\xb5\xd9\x09\xbf\x6b\x7a\x00\xa8\x23\x3a\x70\xa6\x75\x06\x2b\x09\x6c\xac\x95\x59\x34\x02\x11\x61\x91\xcb\xe2\xab\x01\x85\x67\x23\xf1\xff\x25\xe8\x9f\xb3\xd6\xe7\x34\x66\x39\x03\x21\x34\x0f\xdc\x11\x60\x9d\x22\xca\x59\x01\xca\x17\x49\x09\x1b\xc1\xc8\x02\x57\x55\xc1\x66\x85\x1e\x8a\x12\xe6\x72\x0d\xf8\x80\xe2\xb2\x7f\x51\xe0\xcf\x49\x60\xdc\x82\x7e\x0b\x42\x11\xe2\xf4\xc8\x47\x99\x9c\x14\xba\x88\xcf\x81\x26\x16\xdc\x47\xc4\xae\x09\x4a\x0a\xf2\x9c\xb4\x60\xde\xcb\xf3\x84\x5d\x22\x47\x69\x70\x21\xba\x15\xa0\xc8\x24\x50\x1b\x18\x6a\x14\x10\xd8\x10\x97\xae\x25\xe5\x46\xef\xc9\x88\x65\x30\x59\xa5\x97\x3b\x92\xa8\xd9\xef\x63\xa5\x20\x00\x2d\x82\x10\x99\xca\x08\xd1\xa1\xf6\xf2\xb1\x34\xb0\x04\x4e\x9f\xde\xe7\x34\xc0\xbe\x9c\xe9\xfb\x03\x11\x15\x91\xae\x04\xa2\xe9\xd4\x84\xb0\xa2\x22\x81\x92\xa2\x24\xf9\xe6\xab\x55\x75\x7d\x56\x27\x60\x17\x03\x64\xa5\x1e\xb0\xf7\x1c\xb1\x6b\x3a\xf0\x48\x54\x2a\x75\xe6\x2a\x6b\x80\x9e\x23\xd4\xa8\xcd\x2f\x19\x77\xb7\x27\x43\x93\x5c\x23\xca\x87\xb4\xd0\x6c\x4f\x69\xb6\xfa\xec\x0a\xa9\x7e\xf0\x3f\x3f\xa3\xfa\xb5\xbe\x7c\x94\x9c\xb4\x6f\x08\xd1\x3f\xc7\xf2\xd0\x0c\xc4\x56\x2c\x08\xf2\xcb\xad\xb4\xd9\x68\xa7\xd4\xa6\xf8\x63\x55\x09\x54\x82\xbf\xd5\x6e\x68\xbe\x0c\x34\xbd\x4a\x2a\xf0\x3b\xfc\x1c\xb2\x4e\xf8\xbf\x44\x25\x8d\xb2\x5e\x80\xa3\xe3\x2e\x6f\x90\xc3\xf5\xc0\x5f\x83\xcf\x94\xa4\xdc\xd9\x08\x39\x4d\xd0\x0d\xcc\xba\x10\xb1\x46\x30\x3c\x5a\x00\xaf\x0d\x33\x68\x9c\x22\x86\xcb\xf2\xf5\xcd\xb4\x51\x96\xa4\xa8\xb6\x4c\x26\x44\x8b\x06\xbe\xad\x80\x33\xbc\x82\x4a\x0d\x40\x82\x13\x49\x5f\x7b\x1c\xc4\xc3\xd4\x32\x22\x64\xad\x8d\x5f\x73\xb1\x2c\x13\xb7\xda\x0f\x22\x6e\x80\xf8\xc1\xea\x73\x71\x2b\xf0\xe5\xe3\x4c\x63\xe0\xe4\xe5\x79\x67\xcf\xe5\xcc\xf3\xbc\x38\x8e\xfc\x44\x4c\x2b\xa7\x3a\x66\xbc\x8b\x51\x80\xf5\xca\x18\xb3\x32\xed\xcf\x82\x9c\x63\xde\x80\xaf\x2d\xf4\xde\x61\x02\x1b\x8c\xea\x80\x18\xad\x03\x48\xfc\xd3\x67\x09\x06\xe2\xa3\x9f\xfc\xe5\xa3\x02\xc4\x72\x26\x6b\xcf\x3b\x3b\x63\x3a\x6e\xad\xa2\xd8\x22\xd0\x9d\x15\x70\xd2\xda\xc8\x34\x92\xc5\x8f\x02\x16\x45\xd7\xa5\x55\x8d\xf8\x1b\xa2\x10\xb8\x02\x88\x3e\x82\x36\xe5\x9a\x1a\xb1\x4d\x91\x06\xd1\xa5\x0b\x6c\x86\xc5\x07\xee\x56\x29\x6e\x7c\xec\x20\x69\xb1\xdc\x4f\x20\x1b\xad\xf3\x8a\x10\x06\x47\xfe\xd1\x07\x89\x5e\x6f\x93\xc9\x66\xef\x79\x02\x57\xf6\xc6\xe7\x40\xdf\x50\x69\xcf\xae\xd2\xc9\x9a\x27\x7d\x60\x5f\x56\x32\xbd\x18\x40\xe1\x4b\xa0\xbe\x17\xdf\x0c\xae\x97\x2a\x30\x65\x00\xcd\xce\xc2\xaa\x0e\x16\xaf\x02\x18\xda\xda\x53\xed\x57\x10\x48\xe0\x6a\x9d\x59\x7c\x02\xa5\x56\x6b\x80\x67\xf9\xf1\x33\xea\xfd\x7c\x7d\xa5\x39\x10\x0a\x37\x7b\x46\x7e\x37\xae\xd8\x6a\x80\xe3\x80\x1f\xc8\x17\x06\x48\x84\x13\x5d\x84\x58\x00\x15\x19\x03\x17\x7f\x80\x08\xb7\x5c\x4f\x96\xfd\xaf\x5b\xbc\xe0\x5a\xf7\x40\xc3\xbf\x81\x1a\x01\x1d\xb1\x9d\x81\xa1\x15\xb7\x3d\x16\x5f\xc3\xb6\xf7\xb9\x7b\xf9\x88\x9a\x12\x4c\xe1\xf4\xb1\xc5\xd0\x0a\x72\x0e\xc7\xc4\xf9\x3a\xcb\x3d\x19\x69\x72\x01\x61\x06\x18\x17\x5a\xe7\x12\xc3\x66\xdd\xaa\x05\xae\x4b\xcf\x2d\x80\xd4\x73\xbb\xa3\x51\x58\xdb\x07\x13\xd7\x59\xfb\x92\xdc\xe8\xe5\xc5\x92\x6f\x18\x6c\xf4\xc1\x3e\x86\x6a\x14\xb5\xf9\x96\x82\x33\x7a\x1e\x6f\x6a\x10\xaf\xee\xb9\xb5\x64\x7d\x3e\xf6\x04\x61\x22\x01\x29\x97\x60\x9e\xcf\xc6\xa2\x87\x32\xa3\xf2\x09\x3e\x34\x42\xc4\x60\x4b\xec\xed\xe4\x0e\x5c\x3f\x02\x43\x41\x0a\xf7\x08\xae\x78\xc8\x44\x37\x1d\xe7\x24\x63\x04\x32\x03\x3a\x0a\xb2\x68\xd8\x1d\xea\xdb\x01\x6c\x97\x0b\xcf\x87\xf4\x6a\x99\x08\xcc\xa0\x0a\x80\x07\xe3\x5b\xd3\xd0\xbe\xae\x79\x3c\xa7\x5e\xdd\xba\x10\x06\xdc\xaf\x52\x94\x99\xc2\x11\x21\x2f\xdc\x83\x06\x87\x13\xb6\x64\x65\xd5\x8d\x0b\x85\x8a\x80\xbf\x82\xfc\xb8\xf5\x9e\xa6\xff\xdb\xfd\xc1\xdc\x10\x77\x73\x95\x0e\x4c\xfa\x92\xc7\x25\x5c\x7c\xc0\x09\x03\xfd\x0a\xa5\x12\xed\x42\x94\xa9\xac\xcf\xae\xfd\x49\xdd\x3b\x78\x9f\x82\xc8\xc4\x10\x31\x8b\xa2\x7e\x09\x18\xba\x45\xc7\x56\x2d\x98\xb8\x27\xa0\x8e\x41\x85\xd8\x08\x80\x68\x6d\x21\x0a\xf5\x39\xdc\xce\xf2\xb5\xc4\x14\x43\x25\xc8\x50\x9f\x23\x0d\x66\x0f\xb6\x65\x4c\x00\x03\x99\x04\x14\xe4\x6b\x2c\x86\xc2\x16\xd4\xfe\x5e\x41\xe0\x80\x0a\x97\xd5\x87\x0f\x7e\x30\xd4\x52\x8e\x09\x24\xb4\x6c\xae\xd3\x3a\xe1\x18\xed\x40\x33\x65\x71\x71\x0b\xfa\x2b\xd6\x40\x4c\xc4\x04\xa7\xae\xb9\x27\x02\x27\x10\xfb\x07\x82\x4b\x1d\x31\x4d\x40\xbf\x23\x1f\x4a\x1f\x95\x74\x7b\xe6\x16\x13\xd2\x73\x59\xc6\xb2\x00\x7d\x5f\xba\xfe\xd2\x9e\x26\xe8\x47\x51\x95\x35\x5b\x50\x7c\xb6\xa0\xb2\xd3\xb1\x2f\xec\xec\x88\xbb\x90\xe3\x27\x1c\x11\x60\xb8\x47\xd5\xdd\x33\xcc\xd0\x4b\x40\x10\xd2\x7c\xaa\x3e\x05\x58\x3b\x48\x5f\xf4\x95\x2f\xe5\xdd\x38\x87\x2a\x46\x74\x07\xaa\x06\xad\x05\x08\xde\x13\x85\x4e\x5a\x38\xcf\x15\x21\x32\xbc\x49\x24\x1b\xd5\x09\x4f\xc7\x3a\x1c\xaf\xb7\xc1\x14\xb8\x3d\x9d\x53\x83\x83\x8e\xe0\x34\x2a\x56\x15\xb1\xb1\x8a\x8a\x5b\x04\x68\x5c\xc6\xe1\x2f\x0d\xc1\xcf\x55\x1e\x07\x8e\x73\x14\xa4\x76\x09\xaa\x08\x45\xed\x6a\x65\xed\x42\x47\xb6\x37\x6f\x91\xa5\x37\xb8\xa4\xb5\xb5\x68\x28\xfd\x84\xd8\x21\x0b\xf7\x89\xfc\x37\x00\x63\xec\x4e\xb9\xb1\x98\xb9\x31\xf6\x00\xa8\x37\xb0\xbf\x62\x2d\xea\x8e\x4c\x22\x8c\x1d\x50\x06\xbb\xbc\x77\x3b\xa7\xab\xf2\x4d\x25\x5e\x68\xd7\xa4\x59\x53\xd7\x9a\xda\xb7\x8b\x41\x6e\x22\x21\x63\xc2\x08\xc9\xfa\x0c\xab\xe1\xe4\xa6\xa4\xfb\xca\x59\x16\xb0\x64\x27\x0a\x2a\xca\x53\x0b\xb1\xcf\x6a\x09\x4e\x95\x06\x94\x37\x98\xd8\x8b\x2e\x79\x12\x08\x0f\x41\x1f\x43\x67\x50\x9e\xd3\x25\x11\xea\x65\x6b\xab\x10\xeb\x60\x1f\x54\x52\xd9\x76\x52\x18\xb3\xff\x08\x85\xcb\xee\x86\x28\x3d\xd3\xa4\x30\xaf\x40\x0b\xbb\x5d\x39\xcc\x32\xc1\x63\x47\x65\x44\xd5\x0f\xa3\xa8\x82\x04\x4d\xd5\xc9\x7c\x16\x36\x3e\xf3\x47\xc4\xdc\xaf\xa8\xdb\x85\xa1\x2e\xfa\x9c\xcc\x8d\x34\x94\xdc\x58\x4b\xbd\xc2\x5f\x49\xd3\x8f\x61\xe3\xe4\xb7\x0c\xb7\x3c\x50\x0c\x00\xa9\x5d\xce\x64\x0d\xd5\xdc\x61\xe1\x4e\xb7\x3e\x10\x0a\x26\xf3\x2d\x43\x92\x8d\x79\x54\x22\xe1\x11\x6d\xdb\xfa\xc9\x7d\xee\xbe\xf1\x79\xd5\x31\xe9\x51\x01\x1e\x59\xf6\x83\xe3\x53\x17\xdb\x5d\xd3\x93\x24\x43\x8a\xdc\xda\x35\xaf\x08\x1f\xe1\xbc\x90\x95\x6b\xa0\x23\xcf\x1e\xf4\x82\x98\x1a\x44\xcd\x47\x23\x8d\x28\xc0\x2a\x83\x35\x94\x5d\x06\x2e\x9b\xc4\x02\x8f\x4d\x39\x96\x49\x80\x6e\xd7\xc0\x70\x2b\x14\x28\xdb\x55\x2e\x04\x35\x14\x85\x09\x54\xbb\xcf\xae\xd5\xee\x6a\x4c\xc9\xd4\x09\x3e\x45\xbf\x61\x6e\x43\x9b\xd0\x6b\x44\x4a\x9b\x59\x6e\x30\x98\xf1\x8d\x36\x68\xac\xd6\xe0\x56\x90\x62\x33\x1f\x14\x9b\x74\x30\xa4\x84\xb5\x0b\x86\x2e\x84\xdd\x2a\xe6\xfd\x94\x54\x01\x19\xbf\x7c\x31\xf4\x02\xf4\xe7\x92\x04\xf9\x6a\x53\x2a\xad\xa7\xd4\x41\x3c\x21\x4f\x7b\xea\x8f\xf8\x13\xc8\xf1\xf2\xf0\x9b\xd0\xa4\x3e\x02\x81\xf3\x79\x85\xe5\xae\x8d\x79\x39\x08\x56\x50\x92\x0d\xb4\xcc\x42\x6f\x06\x69\xa6\x12\xa4\xb9\xc0\x98\x56\xf3\xc7\x1a\xc9\x70\x4f\x88\x58\x6f\x47\xd8\x0b\x35\x8f\x10\x09\x2d\x53\x3b\x81\xe9\xb8\x12\xd6\x4d\x2b\x6c\x3c\x14\x95\x5b\xf4\xfd\x2b\x38\x10\x7a\x52\x14\xf1\xe2\x4f\x2c\x64\x65\x9c\x50\xe8\x59\x43\xf6\x8e\xe5\xff\x40\xa9\x48\x17\x5c\x99\x3c\x27\x03\x8e\xa1\x1f\xe3\xc0\x90\x07\x69\x10\x92\x40\x48\x04\xad\xbf\x4e\xcc\xee\xa3\xa5\x76\x72\x6d\x17\x35\x76\x91\xd4\xb1\x7e\x26\xb5\x75\xe6\x8f\x8b\x2f\x14\x3f\x48\x7b\x06\x6f\xf3\xcb\xc7\x96\x2a\x68\x8f\x9b\x3c\xa3\x2a\xc9\x65\x42\x20\x21\x87\x09\x59\xc8\xe2\x84\xf3\xf0\xdd\x67\xbc\x25\xdc\x35\x22\xce\x36\x1e\x7b\x2a\xb7\x03\xc8\x09\x8e\xb0\xdd\xfd\x05\xbf\xae\x60\xec\x80\x81\xab\x4a\xba\x75\xd4\x6e\x77\xb7\x8e\xe1\x0e\x91\xdf\xc9\x65\x67\x2d\x41\x8b\x63\x51\xbc\x0f\x81\xe2\xd6\xa2\xcb\xd0\x49\x1f\xa9\x04\xe2\xaa\x0c\x18\xe4\x64\xc5\x82\x7e\xa9\x06\x22\x51\x64\x6b\xe9\x40\x83\x0d\xd5\x0f\xa0\x47\x8f\x5f\x85\xf8\x9a\xb7\x8b\x12\x11\x04\x14\x6a\x5f\xf6\xc3\x41\xf5\x41\xaa\x7b\xbc\x0d\x80\xb8\x5d\xec\x24\x8a\xfe\x87\x78\x09\xff\x41\xca\xb8\xd0\x06\xd5\x7e\x87\x45\x99\xd1\x8f\xa3\x0a\x91\x45\xc4\x4d\x25\x14\x6e\x21\x64\xbc\x66\x39\x75\x30\x84\xf2\x79\xc1\xbf\x92\xa6\xab\x04\xdc\x3c\x3a\xed\x90\x86\xe4\x6f\xf4\x6e\xa1\x20\x6c\xed\xff\xb2\xe7\x24\x55\x5e\x3e\xa6\x0e\x74\xad\xa1\xfd\x39\x69\xad\xb1\xb8\xd9\xba\x60\x9d\x56\x08\xee\x21\xec\xd7\x8d\x04\xc1\x3b\x2b\xbd\x48\xbb\xe4\x4a\x25\xa7\xd1\x36\x3e\xd3\x75\x48\x6d\x5e\x17\xb3\x44\x63\x80\x6f\x26\x16\xb1\xfa\x19\x26\x4d\xbb\x58\x73\x3e\x0d\x70\xac\x08\x05\x25\x83\x93\xd8\x7c\xe1\xf4\x71\x0e\xe6\x7a\x3f\x12\xe7\xac\x1a\x94\x0a\xf0\x22\xdd\x54\x40\xda\x4d\xa3\xa4\x18\xc8\xb3\x2d\x28\x27\x00\x16\xd9\x31\xf4\xce\x58\xe0\x41\x88\xc5\x51\xe1\x0a\xf1\xce\xe7\xaa\x82\xe7\x76\xcd\x95\x2f\xd0\xf3\x22\x35\x09\x10\xf5\x62\xf1\x46\x16\x3e\xdc\x5b\xfc\x87\x1f\x94\x5e\xfe\xdb\x35\x4d\xf4\x8b\xfd\xf9\xcf\x7f\x7a\x4f\x67\xbc\xa7\x33\xde\xd3\x19\xef\xe9\x8c\xf7\x74\xc6\x7b\x3a\xe3\x3d\x9d\xf1\x9e\xce\x78\x4f\x67\xbc\xa7\x33\xde\xd3\x19\xef\xe9\x8c\x3f\x2a\x9d\xf1\x83\x72\xec\xef\xb8\x23\xef\x39\x8e\xf7\x1c\xc7\x7b\x8e\xe3\x3d\xc7\xf1\x9e\xe3\x78\xcf\x71\xbc\xe7\x38\xde\x73\x1c\xef\x39\x8e\xf7\x1c\xc7\x7b\x8e\xe3\xff\xf4\x1c\xc7\xdf\xfe\xe5\x2f\xff\xf3\x2f\xff\xd7\xdb\xfa\x33\xdc\x41\x18\x1b\x00\x53\x15\x74\x35\xf5\xc1\x8d\x8e\xb1\x15\xb9\xc0\x4c\x41\x4f\x1d\x85\x74\xa9\xdb\x4c\xed\xb1\xa5\xd1\xeb\x83\xdf\x43\x45\x1c\xe0\x22\x80\xb6\x02\xca\xd0\xc3\xf5\x7b\x2f\x1f\x8b\x6f\x42\x7e\xe7\xa1\x48\xc2\xbe\x1e\xc0\x22\x6f\x17\x89\xf6\xaa\x36\x57\x50\x16\xbf\x77\x01\xe0\xc7\x05\x1d\x70\xbd\xd4\x64\xa3\xb8\xf5\x60\xf2\x58\x6a\xaa\xe0\x7a\x51\x76\x29\x8d\xfd\x38\x6f\x17\xb0\xc8\xf8\x77\xfd\x5b\x80\x17\x6f\xf8\x31\x1a\xae\x80\xb4\x10\xa7\xe8\xb2\xdf\x9c\xda\x7f\x46\x52\xef\xf9\x30\x91\xd0\x00\x2f\x41\x51\x77\x22\x30\x88\x66\xeb\x6f\xf8\xd6\xcb\x7d\x94\x55\xb6\xf2\xab\xa5\x29\x6d\x2b\x5b\xd9\x8e\x77\xf2\xb9\xf2\x6d\x39\xfe\xdf\xd7\x5f\xf6\x52\xfe\x7f\x6e\xc0\xf7\x8a\x6f\x6e\xe5\xe5\x53\x4b\xc3\x4f\x99\x3b\x30\xeb\xb3\x90\xc9\xcf\x56\xc2\xa4\x87\x13\x12\xf6\x73\x19\xf1\x26\xf0\x04\xa3\xdd\x1b\x3c\x75\x4a\x10\x31\x3b\xbe\xbb\x5e\x67\xd0\xe4\xca\xb8\x04\x14\x50\x5d\x98\x40\xa1\x61\xec\x8a\x09\x44\x08\x41\x78\x19\x7d\x7d\xc4\x03\xe3\x38\x65\xae\x6f\xdc\xfe\x44\xc3\x45\x72\x29\x93\x67\x07\x66\xe7\xca\x6e\x21\x55\xb2\x00\xce\x16\xc9\xb3\xac\x1e\x33\x8a\x35\xd1\xc5\xd3\x58\x02\xb2\x4c\xe3\x7c\x6e\xfb\xe3\x7c\xf0\xd6\xec\x96\x23\x5a\xfa\x71\xf5\xd0\xf9\xc8\x2f\x59\x1c\xe3\xb2\x37\xe4\xd8\xc0\xa4\x7f\xba\x25\x53\x2d\x7b\x6a\x2e\xd0\x1e\xdc\xb2\x40\x3b\x79\x0b\xda\x38\x1e\x65\xb5\xf9\xae\xdc\x5c\xb8\x8d\x8b\xf7\x7a\x9d\xfb\xf8\xe7\xbe\x46\xbc\x1f\x43\xde\xd7\x5c\xc7\xc4\x9c\x6f\xbe\xc7\x1f\xcd\x7d\x61\x35\xea\x71\xf0\x75\x6c\x7e\x03\x8e\x92\x9e\x88\x86\x96\x0f\x8e\x55\x64\xd9\xb4\xdf\xce\x72\x3e\xbe\x3e\xce\x77\xc7\xa9\xeb\x24\x1c\x56\xbf\xdc\xff\x71\x41\xfb\xdc\x9c\x9f\x6f\xe6\xba\xa4\x71\x82\x16\xbb\xb1\x31\xc9\x25\x5e\x68\x6a\x1d\x13\x35\xd7\x3b\x39\x26\x2f\xd6\x67\x80\x46\xe1\x09\x9b\x7f\xaa\x31\x26\x0c\x7e\x3e\x90\x33\xf2\xc3\xb8\x87\xb7\x77\x39\x0e\x74\x4c\x7e\xbc\x61\x17\xeb\xed\x8f\x8f\xd7\xb9\x06\x7e\x00\x28\xc9\x71\xc9\xe7\xf5\xa5\x7a\xfc\xe9\x98\x99\xfb\x55\x7b\x4c\xe7\xe5\x98\xef\xf3\x1a\xc4\x9a\xdb\x79\xdc\xa2\xfb\xfd\x21\x7a\xdc\xd8\xcb\xf5\xfe\x1f\xdf\x91\xf5\x63\xd5\x1b\x8a\xca\x63\x1f\x5f\xf7\xdf\xe4\xb2\xde\x62\xd0\xc7\x7e\x9e\x97\x06\x4b\x16\x24\xe6\xa7\x64\xc3\x05\xdd\x82\x54\xaf\x6d\xcb\xf8\x7c\x62\xdd\x23\x92\xbc\x0e\x12\x67\xe1\x64\x8d\x25\x4d\x08\xa4\x8a\x9d\x34\xd6\xa7\xdc\x7b\x6b\xeb\x5d\x8e\xdd\xb9\x3e\xc7\x37\x67\x6c\x5f\x3d\xfe\xba\x8e\x37\xe2\x08\x31\x27\xf1\xf3\x1a\x14\xac\x35\xe4\xc0\x9a\xc2\x58\x65\x3e\xdc\x35\xf7\x13\x6b\x75\x4d\xc6\x12\x58\xe7\xeb\x8f\x6b\xfc\x98\x1f\xe3\x9f\x35\xb0\xa5\x95\xaf\x30\x58\x62\x5d\xac\xc9\x8c\xa5\x64\x1c\x0c\x13\xa4\x4b\xc6\x3e\xfb\xf9\x9f\x7c\x5c\xaf\x64\x7c\x4f\xcd\x15\x92\xb8\x1e\x7c\x26\x54\xc5\x43\x61\xea\xba\xc8\xa5\x20\x14\x35\x17\xf1\xc3\xdb\x34\xf3\x1b\xeb\x97\x6b\x69\x5b\x4f\xda\x07\x38\xcf\xeb\x83\x01\x64\xc6\xa5\x8a\x3b\xc5\x4d\x04\xe6\x1f\xa0\x71\x6a\xd7\xc7\x9a\xba\x8e\x87\x1a\x16\x56\x1b\x7a\x41\x61\x42\x02\x90\x52\x03\xe2\x06\x5c\x16\x37\x62\x8d\xdf\x78\x18\x49\x3b\xe0\xbe\xfc\x1c\x5d\xed\x82\x6f\x12\x65\x25\xca\x1a\x46\x77\x37\xa8\x93\xe3\x4d\x2e\x02\x30\x8d\x92\x66\x95\xc7\x99\x4c\xfa\x65\xbf\x1e\x7d\x5f\x67\x54\xb0\x6d\x21\x3c\x2f\x3d\x0e\x8d\x5f\x22\xc7\x2e\xfb\x71\x6c\xdd\xaf\x67\x7c\xf9\x38\x36\x77\x25\x1f\x30\xb6\x6d\xf8\x7f\x69\xf4\xe9\x27\x2e\x15\xff\xf6\x8f\xef\xef\xcf\xd8\xca\xa9\x6f\xf0\x88\x32\xad\x6a\xc4\x35\x7e\xe1\xdf\xb2\x5f\xc7\xcb\xa7\xea\x56\xe8\xe6\xee\xd4\x99\x44\xef\x58\x1b\x14\xbc\x60\x11\xe5\x0e\x59\x9c\xb2\x8c\xe5\xfa\x1b\xbb\x04\x46\xa6\xea\x32\xcb\x72\x04\x07\xaf\x15\x0d\x85\x4a\x15\x55\x05\x5c\x7c\x85\x3a\x55\x97\xba\x5b\x12\x1d\x29\xc4\x13\xa2\x79\x07\x93\x6c\x41\x5a\xf9\x12\xc0\x00\xfc\x18\xad\xf6\x77\x5f\x38\x78\x76\x71\x7a\x32\xf3\x06\x88\xba\xac\xdf\xc6\x97\xda\xfa\x92\xc5\x18\x65\x19\x0d\x91\x45\xca\xe5\x18\xd8\x3c\x2e\x96\xb2\x57\xe3\x1b\x3c\xd3\x65\xd7\x04\x84\xa4\xe6\xee\x5f\x07\x9d\xdc\x72\x53\x7c\xb3\x3e\x68\x1a\x0a\x0e\xa4\xe0\xd9\x5e\x47\x39\x9e\x30\x21\x08\xd3\xc7\x04\x9c\xaf\x7f\xdd\xd7\x35\x48\x00\xf2\xc6\x3c\xe2\x83\x7a\x4a\x45\xa6\x3f\x8e\x69\x40\x10\x36\xce\x73\x1c\x60\xfd\x9e\x4f\x76\x22\xfb\x74\xbb\x82\x8f\x52\x27\x45\xd2\xf3\xc8\xec\xf1\xeb\x9c\x75\x39\xb4\xd6\x5c\xe3\xcc\x4c\x4d\x1f\x67\x71\xf9\x94\x9b\x3f\x0e\x2d\x08\x90\x04\x84\xfd\xd6\xba\xd9\x8f\xb9\x5c\xe7\x8d\x16\xee\xf5\x4e\x8f\x4f\x6b\x7f\xf4\x35\x1e\xf1\x0a\xea\x41\x5d\x73\x5f\xc7\xd5\x96\xd1\xb8\xd9\x71\xa4\xcb\x71\xe2\x63\x64\xc7\x60\x97\x6d\x11\x6e\x10\xf5\xe8\x32\xe4\x0a\x0d\x87\xd3\xed\x3c\x94\xeb\x34\x1c\xf3\x74\xbf\xf8\x8e\x69\x3d\x1f\x37\x2d\x0e\x55\x6c\xdd\x90\xf5\xdb\x57\x5f\xb2\xb5\xdc\xd7\x20\xfb\xda\x52\x7a\x6b\x4a\x0a\x17\xcd\x76\x2c\x9a\xe3\x18\x0f\x3d\xf5\x09\x4e\x8f\xe2\x6b\x4f\x10\x18\x65\xa2\xa8\x94\x2d\x5f\x34\x4d\x14\x6d\x34\x6a\x66\xe1\x41\x24\x8e\x61\x11\xe0\xc7\xb5\x0b\xc1\xbc\xf0\x1e\x66\xee\x79\xed\x92\xd8\x5c\x12\x6a\xa8\x5c\xd6\xd6\xfa\x62\x1e\x42\x67\xac\x8d\x9b\xd7\xbe\x25\xc9\xf9\x38\xac\x06\xec\xf0\xc8\x2c\x94\x11\x46\x77\x3b\xaf\x4b\x5b\xf2\x65\x09\x0e\xea\xae\x80\x5e\xcd\xb2\x64\x4d\x88\xa3\x9b\x6f\x2b\xf7\x84\x58\x39\x70\x85\x43\x76\x8d\x47\x97\xcb\xc8\x68\xbc\xbc\xae\x01\x71\xbb\x60\xb8\xa6\x78\x84\x1e\x79\x70\x27\xc6\x64\x1b\x97\x34\x15\xb1\xac\x9f\xd1\x5a\x6f\xae\x9a\xcb\xf9\x4f\xef\x1e\xe6\xbb\x87\xf9\xee\x61\xbe\x7b\x98\xef\x1e\xe6\xbb\x87\xf9\xee\x61\xfe\xc1\x1e\xe6\x2d\x92\xd1\xbf\xfe\xeb\xbf\x7e\x87\x87\x6b\xa4\x11\x8a\xee\xff\x7b\x72\xff\xc4\x8c\xd5\x01\xdf\x88\xfa\x4a\x0a\x34\xc1\x6e\xb8\x55\x0c\xf5\x56\x33\xd4\xff\x70\x39\xaf\x40\x8c\xfe\x9e\x9c\x5f\x47\xf9\xdf\x2c\xe7\x4f\xa9\xa4\x72\x2f\xaf\xf5\x1b\xd2\xfd\x5e\x26\xcf\x43\x26\x8f\x43\x76\xff\xc1\x32\x7e\xf8\xe3\xbf\xb8\x8c\xbf\x4a\xf0\x63\x75\x7e\x21\xe6\x4f\x84\x98\xcc\xe5\x4e\x0f\xdc\xc8\xef\x3f\x5c\xc6\x93\xef\x81\x46\xc7\x7f\x32\x19\x7f\x2c\xe8\xb2\xe4\xfb\xf9\x1b\x02\xfe\xfa\xe3\x7a\x73\xea\xff\x38\x19\x0f\xc7\xa7\xbf\x12\xeb\xee\xf9\xcc\xc3\xf3\x81\x54\xff\x64\xf0\x1c\x5a\x2a\x59\xe1\xb8\xdc\xba\x0f\xb7\x4e\x10\x5c\x15\x78\x1b\xed\xe5\x53\xa1\xc1\x44\x17\x04\xfe\x0b\x49\xf8\xfb\xf2\x92\xe8\xac\x1c\xde\x14\x1a\x16\xfc\x27\x28\xec\x94\xcb\x7e\x3d\x1a\xf8\x03\xd0\x97\xe0\x2e\xf6\xcd\xc9\xe9\xe5\x1c\xe7\xa2\x7f\x74\xe3\x1e\x6d\xc7\x09\xbb\xec\xd7\x81\xc8\xcb\x47\x94\x07\x6f\x05\x9c\xdc\x70\x6b\xc6\x2b\x57\xc7\xdd\x9f\x2d\xfc\x21\xb0\x73\xfa\xa2\xf4\x79\xba\xd1\x7e\xfd\xd0\x7e\xf4\x10\x7f\x07\xdc\xfe\xbd\xeb\xfa\x86\x0a\xcb\x7b\xd7\xf5\x3d\x04\xfb\x1e\x82\x7d\x0f\xc1\xbe\x87\x60\xdf\x43\xb0\xef\x21\xd8\x7f\x7c\x08\xf6\xed\x6e\x9d\x40\x96\xce\x1f\xc9\xd2\x30\xfb\xfa\x12\x96\xcf\x7e\xc9\x37\x7e\x70\x5e\xf6\x20\x8a\xdf\x8f\x55\x70\x7c\x7f\xfd\x20\x57\x37\x9c\xee\x7e\x92\x27\x7f\x22\x37\x96\x25\xa6\xce\x7f\xa2\x5f\xca\xe2\x7d\xdd\x8e\x63\x85\x7d\x53\x04\x73\xf1\xac\xf3\xf4\x13\xd0\xf9\x55\xe4\xd6\x4d\xec\xb7\x92\x29\xaf\xb3\x5c\xae\x2e\x1f\xec\x40\xbf\x56\xed\xc0\x96\x5e\x67\x41\x15\x7d\x19\xfe\x38\xe4\x90\xff\x3a\x7e\x9a\xdb\xda\xb5\xed\x4e\x14\xf3\xcd\xdb\x25\xf1\xe5\x5e\x04\x53\xe8\xdc\xef\xfc\xe5\xf7\xb4\xd7\x72\x91\x1e\x62\x4b\x45\x53\xd1\x63\x90\x1c\x57\xc1\x95\xf7\xbb\x03\xcc\x37\x48\xec\xdb\xad\x74\x95\xbd\xf6\x0d\x49\x7d\x7e\xa5\x3b\xf6\x25\x71\xae\x12\xfb\x46\x4e\x5f\xbf\x78\xfd\xdb\x3c\x64\x37\x44\xcd\x89\xfe\x53\xbd\x5e\x23\xd9\x0c\xbe\x21\xd1\x2f\xeb\x1b\xf8\x1b\xfd\x9a\xf3\xdf\x21\xcb\x2f\x71\x94\xb2\x4e\xec\xf3\x64\x0a\xce\x7a\x0a\x12\x1e\xb9\x53\x95\x84\x06\xed\x6b\x10\x02\xde\x29\x48\x14\x5d\xcb\x63\xbd\x29\x21\xf7\x43\xca\x9f\xc0\xe9\x5c\xf2\x0a\x33\xc5\x94\x1c\x3f\x6d\xa7\x24\xdd\x8e\x8e\x17\xca\x66\xf7\xef\x58\x4c\x5a\xbe\x21\xfb\x2f\xeb\x04\xf7\xf7\x37\x96\xfa\xc1\xe6\xb6\x82\x25\xe7\xdb\x1d\x39\x6e\xc2\x28\xe8\x85\xb9\xd9\xac\x31\x17\xd7\x8d\x18\x23\x66\x6f\xcc\xb1\xf2\x39\xcf\xaf\xb4\x81\x5b\xfd\xe5\xb5\x36\xe8\xd4\x06\xb1\x77\xf5\xaa\x0d\x4a\xc8\x52\xbb\xfd\xe8\x44\x46\x58\x36\x80\xe5\xf5\x8d\xcb\xf5\x6b\xcb\xc7\xb3\xd8\xd0\x9d\x6b\x39\x8f\xc3\x7d\xcb\x7f\xa0\x9a\x18\x4b\x4d\x2c\x0d\x76\xab\x2e\x2e\xf1\xef\xb1\xf4\xc8\x6b\x7d\x71\x09\xa1\x19\x44\xe4\xf5\xbc\xcc\x57\xbe\xaa\x7e\x45\x57\x7c\xda\x7b\x9a\xbe\xb5\xda\x1c\xa1\x1e\xdc\xc1\xb0\x70\x30\xa0\x1d\x3e\x69\x92\xe2\x8e\xda\x18\x35\xac\xf8\x1b\x7b\xfd\x6a\xc5\x6f\x57\xdb\xde\x5e\x3e\x01\xe0\x3e\xdf\x78\x0a\x76\xf8\x05\x37\xbe\x02\xfd\x15\xb4\x91\x54\xdd\x5a\x32\xa9\x0f\x37\x7e\xc6\xd5\x43\xd8\xae\x67\xe4\x18\xd6\x19\xc2\xff\xb8\x1e\x72\x3b\xdc\x8f\xfd\xc6\x4d\x71\xb7\x02\x7e\xc4\x8d\x5f\xe1\x92\xec\xc6\xad\xc0\xc7\x7e\xb5\xe4\x13\x36\x38\x5c\x7a\xaf\x2e\xe9\x71\xfd\x0e\x3f\xf0\x5f\x4e\xff\x7e\xfa\x97\xbf\xfd\xdb\x1b\xd8\xd6\xbe\x11\x46\x9d\x65\x73\x9f\x74\x8e\x87\xd2\x93\xc8\x56\x2c\x15\xf8\xf0\x65\x93\xa4\x68\xd8\x68\x15\xd5\xdb\x68\xee\xa9\xb6\xb1\xd7\x3d\xf7\x8a\x0b\xee\x69\x80\xa7\xa5\xa2\x23\xd4\xda\x5e\x83\xbf\x57\x06\x54\x8a\x61\x2d\xa8\x80\x2b\x78\x5c\x0a\x48\x00\x4a\x2f\x67\xf2\x3f\x4f\x70\x3e\x14\xa9\xc9\x26\x79\x20\x86\x90\x62\x41\xd0\x82\x0f\x56\x23\x23\x93\x18\x29\x19\x7b\x25\x98\x87\xda\x48\x06\xd2\x52\xb9\x44\xff\xc4\x14\x49\x26\x6d\x03\x3b\xd2\x3e\x82\x91\xc5\x88\x95\xdf\xf6\x96\xa4\xf7\x97\x4f\x33\x19\xe8\xb9\xdc\x73\xb0\x02\x62\xa4\x34\xfb\xd8\x67\x9a\x75\x3c\x60\x6b\x6c\xea\xf3\xe2\x9b\xaf\x6c\x92\x93\x96\x8b\x7b\xef\x0a\x3a\x55\x20\x5f\xa0\xc3\x05\xb4\x3a\x33\x3a\x43\x07\xfa\xb2\xc0\xa2\x03\x60\x8e\x4e\xd6\x64\xbf\xde\xce\x68\x27\xa8\x71\xc8\xbc\x3b\x10\x9a\xe8\xa0\x4c\x9d\x5a\x21\x5b\xf6\xe8\x42\xcc\xa4\x31\x33\x12\x38\x91\x88\x94\xe4\x6a\xe8\xfc\x2f\x9d\x84\xd9\xa5\x26\x6d\xf1\xf2\x79\xf7\xa9\xda\x93\x54\xd9\x83\xbe\x1a\x41\x50\x1e\xa4\xb1\xcb\x1e\x94\xd7\x40\xeb\x40\x3f\x5c\xf7\xe9\x45\x7b\x3b\x89\x7a\xf9\xfa\x79\x0f\x08\x7f\xf4\x72\x0c\x01\x75\x30\x0e\xe5\x3a\x7b\x90\xca\xb8\xc6\xcb\xe7\x68\xde\xc1\x05\xe3\x67\x03\xd0\x06\x68\xc3\xc4\x99\x9a\x5f\x2b\xfa\xbd\x27\x60\x2a\x26\xe0\x0e\x14\xfc\x1a\x0d\x7c\xc5\x08\xb5\x90\x8c\xdb\xd8\x00\x21\x88\x47\xec\xa0\x37\x46\x37\x3d\xc9\x55\xd1\xcb\xdd\x41\xab\x42\x42\xb4\x3d\xcd\x0c\x5a\xa4\x3c\x56\x6c\xbc\xf4\x73\x2a\x59\x93\x8a\xef\x3e\xe2\x56\xcc\xa4\xe8\x44\x54\x50\xde\x90\xe0\xc2\xb0\x37\x49\x1e\x5b\xf0\xe9\x60\x83\xe3\x4c\x35\x08\x10\x48\x8d\x3c\x75\x80\xc5\x0a\xdc\xc9\xa0\xbf\x42\x57\x1d\xde\x58\x80\xca\x80\xb9\xb3\xda\x22\xaa\x23\x0d\x41\x09\xda\x79\x43\x63\x92\x09\xa9\x5e\xd1\xaa\xd5\xb4\x91\xd1\x6f\xa2\xf9\xa9\xa5\x6c\x9d\x94\x9c\x68\x5c\xc6\xeb\x67\xf6\x1d\x4b\x9f\xa9\xb9\x14\x05\xde\x42\x2b\x1b\x9e\xd8\xe1\x00\xdc\x84\x73\x74\x8e\x40\xa5\xe9\xe8\x77\x6f\x3e\xb3\x47\xa0\x8c\x99\x3a\xc9\xf3\xf0\xfd\x1e\x46\x8f\x31\x5f\x70\xf3\xee\x73\xea\x13\x4c\x3f\x80\xc1\xf1\xab\x6e\xe7\x54\xc9\xa2\x55\xd3\x00\x39\x07\x28\xce\xf2\x44\x83\x9b\xfa\x6a\x2e\x50\x8b\xe0\xf0\x53\xf1\x6d\x3b\x49\xd5\x47\x06\x58\xb4\xfa\x6f\x9c\x0d\x40\xeb\xd4\x80\xbc\x00\x8e\x8d\xf9\x61\xe3\x8d\xaf\xbc\xa1\xa4\x4e\x15\x95\x54\xa5\x9e\x93\xb4\x98\x23\x74\xbc\x6a\x1f\xc7\x9b\xcf\xa0\x68\x02\x85\x08\x08\xec\xd5\xec\x12\x71\xd4\x76\x4e\x0a\xfe\x91\xa1\xa9\xf5\x06\x24\x86\xe3\x8d\xff\xce\x0d\x19\x25\xb7\xac\xcc\x71\x66\x0b\x8a\xeb\xb8\x0e\x8d\x99\xc6\x0c\xda\x1b\x28\x71\xc1\x4a\x21\x03\x33\x69\xf6\xb0\x97\xc5\xf5\x83\xf2\x2c\x68\xfc\x13\x30\x4d\x80\x79\xa2\x75\x32\x14\x93\x55\xb1\x81\x43\x19\xfc\x76\xe4\xa8\x43\x8b\x8f\xd4\x99\xa4\x36\x57\x50\x8b\x9c\x4d\x06\x60\x40\xf4\x04\x16\x61\x72\x09\xaf\x54\x0c\xb0\x53\x14\x58\x27\x79\xa0\xc5\x2b\xe8\x4f\x7a\xbe\xbe\xf9\x9c\xca\xac\xe8\xcf\xf2\xd7\xe8\x9a\xae\xb0\xe3\x66\x8f\x26\xbd\x39\x17\x59\x36\x98\x6f\x13\x3a\x62\x47\x8b\xc6\x0d\xdc\x26\x88\x25\x34\xc4\x76\x74\x74\xe2\xa3\x31\x66\xaa\xbe\x72\x49\x39\x79\x60\x3d\x4d\x31\x44\x4b\x93\x8e\x0a\x01\x57\x80\x32\x53\xfd\x96\x80\x72\xd0\x7d\x00\x34\x0a\x2a\x78\xdd\xe6\x04\x67\x3b\xe4\xba\x26\x69\x20\x7f\x25\xc8\x4c\x9b\xb8\x47\x3e\x5d\xe4\x56\x9d\x15\x32\xe1\x0c\x26\xbf\xa0\x7c\x21\xca\x48\xd0\x8c\x10\xd8\x84\x4d\x7b\x65\x52\x1a\xd5\xd2\xc8\x04\x52\x3b\x0c\x7a\x34\x06\x4f\x17\x62\xe2\x93\x03\xd6\xcd\x9e\x46\x1e\x07\x3c\x12\x4a\x35\x00\xa5\x30\x41\xbe\x63\x35\x09\x08\xee\xcc\xdc\x59\xc1\x8d\x17\x90\x13\xed\x24\xc8\x2f\xa9\x00\x96\xa7\x0e\x06\x1b\x61\x14\x87\xdd\x6f\x33\xa1\xed\xc7\x92\x0c\x97\x42\xd0\x2a\x00\xd9\x71\x01\x8e\x5b\x70\x41\xbd\x0e\xa0\x62\x5a\xd5\xad\x26\x8e\x0e\x3c\x8e\x3b\x84\x17\x39\x4c\x82\x33\x1e\x84\x53\x66\x80\xba\x01\x53\xe8\xdc\x17\x57\xe7\x04\xb9\x16\x08\xe5\xa1\x6a\x20\xbc\x70\xcf\x46\x07\x62\x09\xc2\x77\xd5\xad\xb3\x79\x92\x54\x81\x01\x55\xa3\x85\x0a\x87\x4a\xda\xcf\x20\x17\xd3\x8a\xa2\x1a\xdf\x0c\x5b\x49\x05\xc0\x46\xbd\xf9\x46\x4f\x6d\xd4\xc0\x63\xaa\x20\x0b\x2b\x20\x22\x94\x1d\x14\x4b\x06\x5e\x1b\x3f\xd2\x30\x10\x1f\xba\x19\xef\xb2\xce\x2a\x90\x65\x6c\x76\x32\xc5\x65\x9b\xbe\x9e\x52\xf3\xeb\x84\x62\x67\x57\xb9\x80\xeb\xcd\x55\x68\x05\xa7\x57\x08\x30\x52\x5d\x15\x62\x66\xb0\x5c\xe9\x92\x1a\xdc\xe7\xd1\x82\x10\xc6\x04\x51\xff\x4c\xfa\x61\xdf\x16\xa3\x8c\xbd\xbb\x4c\x41\xef\x53\x86\x7d\xd2\xb1\x69\xb0\x4e\x34\x14\x1f\x3d\x05\xb0\xd4\x5c\xc2\x20\x97\x70\xec\xe3\x9b\xe5\x9c\x8a\x24\xf1\x95\x80\x2c\x75\x6d\x23\xd9\x08\x46\xec\x12\x9d\xb1\x6e\x38\xf5\xc8\xaa\x05\xf9\xcc\x44\x53\x95\x6b\x23\x5f\x87\xb9\xf5\x13\xc0\x84\x5c\xe1\x87\x2b\x00\xd9\x88\x7e\xd4\x02\xa6\x32\xf5\xb3\xed\xa4\xb3\x34\x0d\xcd\x11\xc4\x49\x79\x21\x8e\x00\x2f\xc0\x3d\x4d\x73\x47\xab\x01\x19\x2b\xcc\x7d\x77\x21\x7c\xb4\x18\x5d\xf5\x7f\x17\x18\xfc\x92\x4a\x97\x97\x4f\x25\x35\x84\xb2\x86\x10\x98\xa7\xef\xcc\x63\x93\xe0\xa9\x05\xa1\x0e\x36\x8e\xdf\x18\xb0\x1f\xe6\xb2\x96\xb9\x54\x08\x08\x01\xc5\x38\xf1\x8e\xdc\xea\xa8\xc9\x2c\x55\x55\xa0\xac\x8c\x22\xc9\xc8\x32\x2c\xa9\xf6\x10\x6b\xd9\x65\xb8\x4f\x78\x2d\x06\x82\x68\x00\x1c\x15\x70\xec\x57\xbe\x56\x10\x44\x02\x1d\x63\x94\x97\x4f\x7b\xc5\x06\x94\x54\xed\x4c\xc1\x5e\x5c\x31\xa1\xc9\x5d\x48\x12\xe5\xc6\x8f\x1f\xb2\x4d\x48\x64\xe0\xb7\x80\x22\x3d\x43\x69\xb9\x7f\x56\x09\x75\x82\x46\x45\x37\x29\xfc\x2e\x8c\x7e\xaa\x28\x4f\xa9\x47\x91\x0a\x49\xe0\x92\x56\x3d\x87\x9d\x94\x2b\xf7\x8f\x8c\x41\x32\x39\x34\x0e\x03\xee\xc5\x4a\xe0\xb0\xc0\x02\x02\xda\x97\xd4\xbf\xc7\x5a\xff\x31\x41\xe1\x37\xa2\x63\xe0\xf5\xca\x6e\x97\x5c\x20\xa9\x60\xd9\xc2\x96\x40\x66\x2b\x6e\x9a\x5f\x18\xf8\x3a\xb1\x49\xdc\x41\x34\xdf\x5c\x9b\x25\x75\x6d\x33\x21\x67\x8b\x5b\x9c\xea\x17\x3a\xc0\xbd\x34\x80\xfd\x65\xa4\x9a\xaa\xd6\x2e\x64\x82\x2d\x72\x4e\x8b\x54\xd2\xe7\x77\x8c\x54\xa1\x40\x5d\x76\xe7\x36\x93\xf9\x6d\x85\xd0\xa0\x8b\x3d\xd7\xfe\x42\x67\xf3\x4e\xb6\x61\x20\x92\x34\xbb\x28\x76\x73\x6a\xd5\xcd\xd6\x0d\x58\x1c\x0f\x23\xd5\xad\x68\x1a\x1d\x06\xb9\x54\x30\x92\xd6\x97\x4f\x8d\x94\xd6\x36\xca\xc5\x6f\x94\xef\x4a\xdf\x05\x7d\x6f\x69\xb6\xfa\x00\x58\x3d\xd7\xa6\xda\x2e\x05\x40\x00\x85\x18\x82\x2e\x58\x00\x36\x84\x1e\x7d\xb4\xe8\xaf\x68\x13\x30\xdb\xac\xfb\xee\x03\xd6\x17\x5a\x31\xdd\x48\x19\x03\x71\x6e\x08\xd1\xba\xd8\xd8\x00\x56\x07\x2e\x62\x05\x48\xd9\xd8\x25\xa0\xee\x54\xa9\x0e\xb8\x57\x3b\xa8\x73\x09\x7b\xc7\x98\x92\x50\x2f\x15\xa2\x7c\xe1\xe5\xf3\xbe\x28\xad\xe7\x4e\xb2\x5d\x9d\x48\xe4\x80\xd2\x19\x6c\xb5\xdc\x62\x64\x7e\x8e\xc6\xd8\xbc\x18\x7a\x81\x51\x52\x8f\x37\x30\x63\xc0\xcf\x0e\x13\x1f\xda\xee\x94\xba\x91\x4a\x36\x62\x51\xc3\x0d\xc8\xcf\xa1\x3c\xc1\xe9\x57\x88\x3b\x72\x34\x6b\x43\xd2\xb8\x75\x0a\xda\xbb\x02\xf5\x57\x8b\x60\xb6\x83\x34\xce\xfd\x41\x24\xf9\xaa\x1b\x9a\xe2\x1a\x71\x07\xf6\x16\xd0\x0c\xc0\x5e\x06\x7b\x57\xb1\x61\xfd\x4c\xe6\x73\x50\x41\xe4\x09\xf9\x02\xdc\x42\xab\x4c\xd4\x20\x2a\x7e\x4e\xb9\xbb\xa6\x01\x06\x4b\xf7\xa5\xd4\x35\x4d\x3f\xa6\xff\x13\xe4\xa5\xd3\x86\x5f\x39\xb8\xc9\x8c\x70\x81\xc2\x59\x49\xb5\x17\x0a\x43\x57\xfb\x3e\x5a\x01\x7b\x28\xec\x17\x10\x8d\x06\xf6\x56\x25\x68\x53\xcf\x60\x84\x26\xce\x0a\xd0\x12\x47\x30\xfd\x03\x87\x68\x81\x05\x19\x38\x26\xd1\x90\x4b\x78\xac\x39\x08\x30\x10\x6f\x3e\x73\xb6\x5c\x21\x55\x78\x7e\xad\x86\xe4\x70\xcf\x09\xae\x29\x44\x08\xde\xe0\x9b\x75\x85\x09\x65\x01\x7f\xc4\x9b\xcf\xee\xff\xb3\xcb\xb6\xc2\x09\xd0\x73\xdc\x73\x44\xcb\xb4\xb1\x3b\xd8\x5f\x3e\x27\xab\xc0\xea\xb2\x34\xbb\x4b\x3e\x58\xc5\xf4\xeb\x82\x93\xd9\xd5\x61\x77\x43\xc9\x20\x80\x35\x0f\xc8\xe8\xda\x5b\x9a\xe0\xf1\x74\xe7\xcb\xf7\xab\x76\xae\x3c\x62\x83\x88\x5b\x84\x68\xd1\x37\x23\x3c\x4d\xcd\xe5\x78\xf3\x19\xab\x8a\x6a\xae\xe0\x10\xee\x5a\x0d\x4c\x8f\x11\x22\x4a\xda\xf5\xcd\x67\xd7\x2c\x83\xae\xb4\x8f\xa3\xce\x4b\x04\xb5\xec\x9c\xa4\xc0\x71\x98\x54\x07\x7e\x03\xf9\xfa\x99\xca\x38\x4f\x50\x01\xbb\xd1\x36\xcf\xa9\x44\x02\xb4\x0e\xe6\x50\x1a\xa2\x59\xb8\x40\x3f\xa0\xdf\x4a\x72\x5e\xbb\xfb\x27\x34\x4d\xfd\xd8\x60\x41\x97\x4c\xd6\xc3\x01\x70\x16\x13\xf5\x3f\xa7\xa9\xc0\x1d\xa9\x35\xd8\xa2\x71\x87\xdc\x50\xed\xcb\x78\x82\x01\x39\x3a\x40\xbd\xea\x49\x60\x93\xf0\x79\x45\xc1\xfd\x74\xa0\x0f\x06\x4c\x16\xf1\xc8\x60\x2b\x03\x77\x29\xde\x7d\xc6\x2d\xf5\x89\x2d\xe0\xe3\x07\xf0\x4e\x65\xfe\xa7\xf5\x01\xc4\xb5\x89\xde\x67\x91\x40\xdc\x51\xec\x01\x3f\xec\x48\xe0\x5b\x6e\x16\xe0\x5a\x83\x28\x1d\x2e\xae\xfd\xfe\x35\x11\x57\x79\x80\x86\x83\x82\x03\x08\xa2\x6b\x44\x38\x6b\x83\xd4\xdc\xae\x58\xe1\x6e\xa9\xdf\x04\xda\x71\x54\x87\xda\x01\xab\xda\xe6\x48\xad\x8d\x80\x0b\xec\x1d\x36\x0d\xd8\x2e\x69\x74\x08\xe2\x25\xbe\x55\x9b\x6f\x47\xfa\x1b\x73\x99\x0a\xc4\x1e\xc4\x7a\xd4\x20\xa2\xec\x24\xd2\x84\x6c\x98\x78\x51\x86\xb9\xc9\x2b\x6e\x27\x49\x1d\x34\xb8\xfd\xc8\x55\x8c\xe2\x0e\x29\x64\x70\xeb\xc0\x13\xed\x13\xdd\xf6\x11\xcc\x77\xcb\xb2\x03\x1a\x0d\x38\x8e\x06\xbe\xe0\x1a\x75\xeb\x69\x96\xc3\xda\x36\x50\x4c\x02\x8e\x40\x3b\x8d\x4e\x51\x78\x60\x2d\x9c\x4e\x4b\xb3\x30\xe0\x58\x7c\x4d\xd5\x4d\x7d\x1d\xf8\x6e\x9b\x6e\xe8\x4d\x3a\x81\x61\x0f\x11\xba\xaf\x90\xcf\x7d\x12\x6e\x87\x96\x7e\x42\xf8\x85\x9c\xce\x40\xb6\x40\xa8\x27\xd0\xc1\xc8\xa6\xec\x7e\x20\x2e\xdb\x9d\x2b\x77\x40\xa3\x2a\x2f\xe8\x0a\x31\x1a\x20\x08\xfa\x32\x80\x0d\x3c\x9a\xba\xe6\x80\xc9\x3d\xd0\xbb\x4f\xdb\xa9\xa6\x89\x1d\xc1\xd8\x95\xc2\x03\x30\x50\x50\xe2\x18\x60\xa7\x46\x30\x06\x5e\xb9\x0c\xd7\x7d\xbe\xfe\xdd\xc9\x27\x4d\x70\x9b\x50\xd7\x33\xca\xa1\xe1\xaa\x11\x2b\x00\xd8\x2e\x82\x08\xce\x50\x22\x68\x15\xf7\xf0\x2f\x94\xee\xb9\x91\x27\x32\xb7\xb9\x35\xb7\x59\x77\x30\x9d\x5a\xdb\x2d\xd5\xd1\x61\xa2\x95\xe6\x6a\x70\x32\x6f\xb1\x96\xb1\x05\xec\x21\xc0\x50\xda\x11\x51\x66\xae\x01\x85\x50\x51\x9f\x34\x58\x2d\xd7\x81\x2c\xe0\x16\x22\x42\xcc\x91\x17\x02\x7e\x14\xc0\xa0\x50\x46\x70\x72\xa5\xe1\x0f\x1a\xba\x02\x08\x9b\x9e\x5a\xc6\xe3\x26\xbf\x51\x56\xe5\xa0\xcb\xbf\x4c\xbe\x61\x05\xd3\x2a\x8c\xce\x05\x0e\xd5\x81\xc1\xd4\x59\x6f\x57\x01\x89\x74\x22\x69\x65\x5f\x21\x76\x45\x62\xee\x4c\x0b\x5a\x07\xf6\x51\xee\xa8\x7e\x48\x05\xc6\x34\x2d\x9d\xd9\xa1\xba\x6d\x41\x3d\x1e\x25\x8b\xb5\x47\x62\x5d\x55\xb1\x53\xda\x2c\xe0\x39\x4f\xbd\x73\xa7\x97\xaa\xa9\x20\xe9\xe4\xde\x0e\x6a\xad\x3a\x7c\x67\x89\xf5\xeb\x4e\xa7\x76\x70\xef\x02\xec\xa7\xd1\x32\x41\x2c\x36\x21\xba\x02\xa7\xa0\xf2\x82\x00\xc4\x81\x2b\xab\x0b\xde\xa6\xe6\xf6\xf2\x71\xb8\x1b\xbf\xb9\x5e\x03\xdd\xaf\x12\xbe\xab\x36\x90\xb3\x77\x0a\x4f\xff\x8b\x4a\x00\xb5\xf8\x52\x25\x84\x56\x02\xdc\x0a\x4b\xde\xac\x11\x85\xc5\x8d\x2f\xdf\xca\x06\xb2\x7a\xce\xd6\xc8\x08\x63\x9c\xc3\x84\xe9\x21\x05\x88\x5f\x0a\xd2\x65\xa0\x1a\xc3\x50\x17\x88\x7c\x9a\x3a\xa0\xcf\xfe\x36\xd2\xeb\x1b\xcc\xe7\x1f\xf4\xeb\xdc\xb1\x7c\xab\xfc\xfa\x4b\xfb\x6e\x21\xf1\x7b\x04\xfc\x3d\x02\xfe\x1e\x01\x7f\x8f\x80\xbf\x47\xc0\xdf\x23\xe0\xef\x11\xf0\xf7\x08\xf8\x7b\x04\xfc\x3d\x02\xfe\x1e\x01\xff\x07\x47\xc0\x7f\xd0\xb7\xf0\x53\x26\xfc\x7b\x58\xfc\x3d\x2c\xfe\x1e\x16\x7f\x0f\x8b\xbf\x87\xc5\xdf\xc3\xe2\xef\x61\xf1\xf7\xb0\xf8\x7b\x58\xfc\x3d\x2c\xfe\x7f\x54\x58\xfc\xaf\xff\xf6\xd7\x7f\x3f\x5d\xf6\xbf\x9d\xff\x72\x7a\x23\x38\x72\x91\x8d\x9d\x7b\x8f\x52\xd2\x38\x37\x9f\x3e\x37\xbf\xd1\xf2\xb0\xb7\xc4\xfa\xf5\xb2\x17\x49\x13\x36\x73\x29\xbe\xbc\xb5\xee\x04\xc2\x37\x04\x75\x5b\x2a\x63\xfa\xf3\xfc\x75\xa4\x9a\xac\xbb\x9b\x25\x9b\x1d\xef\x4a\x49\x73\x3e\x69\xea\x63\x9e\xf3\xee\x5e\xa1\x6c\x0a\x7f\x05\xca\x60\x1b\xf0\xb2\x2c\xb5\x5f\x2c\x35\x37\xc4\x03\x46\xa1\xf4\xd4\xb6\x99\x7a\x1f\x67\xb7\x91\x74\x73\x2b\x1b\x4e\xb6\x6c\xa4\x5a\xb2\x64\x63\xf2\xf7\xcf\xbb\xba\xb5\xff\x61\x24\x51\x7d\x56\xff\xd5\x87\x2f\x1a\x79\xfd\xb3\x4d\x72\x9a\x22\x4f\xa8\xdf\x7f\xc6\xf3\x13\xde\xfa\xd3\xcb\x47\x77\x23\x66\x4c\xcb\x93\xb8\x73\xe7\xdf\xa9\xaa\x1f\x24\x8d\xf9\x8c\xb7\x6f\x41\x15\xbb\xbf\x1d\x6f\x42\xc4\x1c\x1b\xed\xb5\x67\x71\x3d\x7c\x06\x9f\xcf\x96\xb7\xee\xbe\xca\x0e\x5c\xf7\x06\x55\x3e\x7d\x73\x9d\x9a\x9b\x79\x1b\x9f\x61\xd3\x56\x80\x8a\xe3\xf9\x57\x17\x49\x41\xee\x54\x5c\xb0\xdb\x7a\xdb\xd3\x9c\xf2\xc4\x13\xe4\x5d\xd2\x28\x58\xb5\x53\x76\x17\xad\xba\x59\xea\xd6\x76\x4d\x53\x4e\x9a\x66\xb7\x8d\xcf\x7e\x3b\x24\xfa\xe7\xb5\xcb\x19\xad\x10\x92\x26\x42\x64\x05\xbf\xf2\x1f\x15\xe1\x01\xc0\x08\xa5\x1f\xcc\xc5\x8c\x5f\x4d\xb5\x0f\xe3\xfe\x56\xe0\xa3\xad\x54\xb7\xde\x3e\x68\x52\x31\x9f\xe6\xac\xfd\xc9\x9f\x7d\x0a\xb2\xf6\x97\x8f\x70\xdb\x62\x5a\x9e\x4a\xea\x59\x9f\x5d\xc4\xe7\xfa\x01\x9f\x3c\xe3\xfd\xcf\xdf\x8e\xb7\x43\xbd\x8d\xfc\xdb\x6f\x7f\x7a\xdf\x32\xff\x01\x5b\xe6\xed\x98\x06\xaf\xef\xd1\xfb\x3e\xfa\x07\xee\xa3\xbf\x9d\xff\xc7\x5f\x7e\x94\x75\x0d\xd4\xa7\xd9\xb7\xee\xfe\xe3\x85\x5a\x55\x11\xed\x75\xaf\xb6\xd8\x74\xeb\xf4\x0c\xee\x13\xe6\x0b\x0a\x9e\x73\x65\xf8\xca\xf7\xc0\x70\x0b\x00\x2c\x8f\xca\xb8\x59\x1e\x69\xa2\xe9\x72\xb8\xc1\x5c\xc1\x11\x22\xe2\x7e\xb1\xdb\x82\xd9\xbf\x3e\x2f\x30\x21\xe8\x6e\xd5\x94\x11\x20\x54\x90\xe2\x22\x59\xd3\xc5\xf5\x34\x15\xf5\x41\x0a\xe6\x36\xf1\x9c\x88\x7a\x8c\x88\x54\x20\xf1\x0a\x52\x55\xf1\x9d\x08\x1a\x1c\x77\x33\x73\x6e\x4f\x48\xc1\x9d\xdd\x39\x42\x56\x43\x10\x2a\x9f\x8a\xd0\xa2\xee\xe2\xcb\xcb\x0d\x41\x3b\xcd\xd4\xf3\xd8\xf8\x8c\x33\x49\x52\x7c\xcf\x37\x33\x3a\xee\x6d\xbd\xe0\x63\x5f\x5d\x46\xe6\xce\x33\x52\x88\x09\x59\xe7\xee\xe6\x8f\xd9\xce\x88\xb1\x20\xcc\x3c\x67\xdd\xb2\xef\x5e\x03\x0d\x6d\xd9\x2b\x5c\xa2\x92\x32\x82\xe4\x0d\x91\x05\xff\xad\x3f\x35\xc4\xe8\x25\xc3\x34\xb5\xfe\x8b\x9f\x73\x70\x04\xc1\xdd\x5c\x7c\x65\x54\x91\x93\xaf\x02\x7f\xd0\x86\x31\x90\x2c\x5d\xc2\x42\xca\xfd\x43\x71\xb9\x75\x61\x38\x32\xe7\xc8\x33\x64\xf1\x1b\x09\x6b\xaf\x36\x84\x84\x68\x27\x23\xdf\x0b\x93\xb2\xc2\x4b\x41\x72\x61\xf8\x78\xf6\xa4\x88\x90\xbb\xed\xeb\x56\x96\x5f\xa0\x1f\xb2\xbb\x7d\xce\x3c\xc3\x85\xd4\x3b\x62\xfa\xf2\xb1\x22\x4f\xe2\xfe\xd3\x85\x91\xdd\x72\x66\xb4\xb7\xc3\xcb\xb2\x01\x0a\x9e\x82\x16\x46\x44\xa6\x7d\x35\x0f\x72\xe7\xf9\xbf\xed\x04\x26\x9d\xd2\x17\xa2\x95\x1b\xb0\xa5\x14\x26\x45\xfc\x42\x3e\xb8\x63\x22\xfe\x35\x5f\x4c\x8b\x31\x08\xf1\xbd\xa3\x19\xd8\xec\x11\xc1\xd6\xcb\xf1\xef\xfb\xc3\x32\x7c\x54\x30\x0c\x50\x22\x97\x27\xb6\x06\x7e\x92\xd4\x7a\xdb\xf2\x8f\x07\x3f\xef\x07\x5f\xbe\x3e\xf6\x76\x8c\x1d\x7d\xea\x1f\xcc\x17\xd8\x29\x9c\xf6\xb2\xdd\xf0\x1d\x7d\x39\x7a\x76\x10\xfb\xee\x30\x38\x51\x11\x51\x6b\xfd\x18\xf4\x87\x8e\x52\x05\x49\xdd\x67\xe2\xef\x98\x70\x84\xdd\xbf\x39\xe1\x23\x55\xb1\x7f\xe0\x84\x8f\x7a\x0c\x3e\xbb\x8d\x6f\x25\x86\xcf\xfc\xcb\x1a\xd0\xfd\xa4\x93\xc1\xb4\x33\xb0\x48\xe6\xea\x9e\x0a\x1c\xfe\x35\xee\x52\x52\x29\xdf\x1c\x77\xb9\x1f\x76\xf9\xc9\x51\xf7\x3c\x5f\x8d\xfa\x3a\xe7\x77\x63\x1e\x5f\x1b\x73\x9d\xdf\x18\xf4\x13\x13\x64\xff\xa0\xd9\x06\x43\x0f\x38\x1a\xdf\xb6\xc0\x8d\xe3\xf6\xa3\x37\x7f\xac\xf1\x10\x12\x69\xad\xeb\x72\x5d\xd6\x77\x0b\x89\xcb\x9a\xf8\x03\x08\xae\xb6\x47\x04\xf8\xb8\xae\x3b\xb3\x28\xf4\x22\x1b\x4a\x3d\xd6\x70\xf3\xfc\x72\x65\xeb\x57\x07\x3b\x6e\x56\xf6\x37\x07\x6b\xf7\x83\x3d\x96\xf3\xfd\x1e\x2c\xd7\xc1\xce\x9b\xc1\xfe\x68\x8e\xbf\xb5\xa0\xcf\x0b\xd1\xb0\x30\xbd\xd5\xdc\x9d\x7c\x35\xaf\x5c\x0f\x23\xd6\x70\x5d\xcb\xa1\xaf\xe5\x50\xae\x4b\xf8\x5b\x63\x2d\xf7\x43\xfd\xde\x2a\xfe\x62\xa4\x6e\x0a\x59\x7f\xc3\x40\xfb\xfd\x40\xbf\x5c\xb7\xe5\x2d\x7b\xad\x3d\xd6\x54\xfa\x0f\xf7\xda\x03\x0e\xb5\xd5\x18\xe5\x8f\x1c\x69\x9a\x38\xdf\xcf\x4a\x2d\x9c\x92\x2a\x5b\x4d\xa6\xed\x02\x8e\x6b\x37\x47\xa4\x49\x18\x38\x2d\xe5\xa1\xe7\x24\x03\x44\xaf\xa3\xcd\xd4\x9b\x9b\x1a\xc8\xf1\x43\xe9\x41\x69\xb2\x86\x21\xb7\xd4\x10\x26\x6a\xc9\x60\xdc\xa0\xfc\xa2\x20\x50\x99\x11\xfd\xe8\x97\x54\x80\xc6\xd6\x11\xf1\xcf\xd5\xc8\x4e\x8e\x54\x6c\x6b\xc9\x6d\x9b\x5c\xeb\x26\x0b\xcc\x04\xd5\x6a\xa9\x2b\x52\xfe\xc8\x29\xa6\x81\x08\xaf\xdb\x04\x33\xb5\x39\x2e\x7b\x2a\xe0\x8e\xb5\x27\xdf\x36\x20\x26\x75\xbb\x0d\xbc\xf3\x20\x84\xef\x03\x76\x22\x90\xcf\x5a\x3b\xf5\x94\x47\xd9\xf8\x9c\xc9\x04\xcf\x1a\x86\x31\xdc\x24\xae\x25\x9e\xc3\xde\xb1\x3a\xd3\x6c\x7e\xd8\xe6\xca\x46\x8c\x94\xa0\x88\x23\xa2\x92\x0c\xc1\xea\x92\xaa\x6d\xbe\x72\x7a\x44\x8e\x35\x99\xeb\xa5\x8e\x60\x27\xf8\x68\x2b\x78\xf8\x11\xf2\x2c\x83\x17\xd0\x76\x97\x0c\xfd\x34\x92\xd8\x86\xa7\xb8\xe4\xe6\x67\x06\x73\xad\x9b\xf9\x11\x20\x43\xf9\x8e\x21\xfc\xd6\x08\x19\xf1\x54\x72\x32\x37\x29\x26\x79\x44\x53\x01\x8f\x5e\x69\xe7\x20\xf9\xd3\x9a\x5a\x45\xd6\x29\x81\x5f\xba\x47\xea\xc4\x2a\x72\x0d\xb0\xd8\x3b\x18\x37\x7d\x8e\x86\xd5\x93\x26\xdd\xfc\x41\x46\xb8\x3d\x0d\xb7\x63\x40\x39\x3b\x3a\xdc\xa4\xe9\x66\xfd\xf0\x93\x06\xf6\xcb\x2d\xe0\x09\x05\xd8\xc0\x46\x69\x29\xd7\x67\x94\xdb\x2c\x74\xb0\x5a\x4e\xaf\xe1\x51\xfc\xce\x0d\x6c\x06\x05\x5a\xc3\x87\x92\x6a\x77\x99\x29\x15\x0b\x67\x09\x2b\x84\xa1\x51\x1c\x86\x78\x7e\x7d\x34\xf7\x30\x16\x2a\x47\xfd\x62\x14\x03\x4c\x8b\x17\x3f\x2c\x4e\x0e\x37\xee\xe5\x93\x6f\x1e\x4a\x4e\x9c\xee\xcb\xd1\x8f\x6f\x8c\xbe\xbf\x6d\xf4\x9a\xaa\x60\x30\xe4\xff\xbe\x1f\xfd\x83\xcf\x6b\x4f\xa2\x18\xbc\x9e\xae\xf0\x31\x08\x65\xbb\x54\xb8\x8e\xb8\x3f\xb9\x3b\xae\x18\x72\x98\x5e\xdf\x18\xf2\x31\xe1\xfd\x77\x0d\xd9\x52\xfd\xee\x74\xb7\xfb\xe9\x6e\x6f\x9a\xee\x9b\xc1\x9b\xbc\x69\xbe\xaf\x83\xbf\x9d\x97\x1d\x31\x7e\x9f\x97\x3d\x38\x8b\x3f\x74\x37\xd4\xff\xc0\x11\xd7\xeb\x80\x85\xb3\xfd\x93\xeb\xe3\x9b\xe3\x8d\x09\x9e\x49\xdd\x2d\xf9\x47\x0c\xb8\xb8\x67\x31\xd4\x3d\xf3\x31\xe5\xbb\x5b\xb2\xac\x49\x2e\x6f\x19\x75\xff\xde\x4a\x9e\x37\xdb\xb0\xa6\x2c\xe5\x6b\x2b\x59\x5e\xad\x64\xb9\x5d\xc9\x7f\xdc\x30\x63\xf5\x7e\x6b\x90\xed\x3a\xc8\x1f\xcc\xec\xd7\xc7\x6b\x0a\x93\xc5\xa0\xcc\x50\x5d\x46\x1a\xdb\x31\xde\x3a\x4e\x5c\xea\x75\xd1\xfe\x31\x03\xad\x77\xe3\xcc\x2e\xba\xa7\x7c\x7f\x9c\x18\x66\xfb\x83\xf6\x16\xca\x1f\x7e\x34\xce\x07\x1c\x6d\x93\x18\xe6\xdb\x2c\x96\x9f\x28\x88\x17\x9d\xed\x9f\xff\xfc\xa7\xf7\x48\xcd\x7b\xa4\xe6\x3d\x52\xf3\x1e\xa9\x79\x8f\xd4\xbc\x47\x6a\xde\x23\x35\xef\x91\x9a\xff\x9c\x91\x9a\x9f\xa8\x22\xbe\xb3\x7b\xde\xc3\x37\xef\xe1\x9b\xf7\xf0\xcd\x7b\xf8\xe6\x3d\x7c\xf3\x1e\xbe\x79\x0f\xdf\xbc\x87\x6f\xfe\xa3\xc2\x37\xff\x6a\x6f\xa8\xa7\x91\xec\x3e\xf6\xd6\x92\x1a\x6a\xb4\x45\xd9\x4b\xc2\xfe\x93\xac\x65\x4f\x8a\xa0\x84\xb5\x71\xb2\x86\x92\xf2\x78\x41\x55\x93\x25\x61\xf9\xab\xff\xb8\x25\xcb\x82\x38\x0f\x3a\x42\xea\x40\x69\x3b\xb4\x5f\x29\x49\x72\x45\x33\xe6\x86\x28\xc5\x66\x69\x20\x0e\x53\xb2\xff\x11\xb5\xe3\x88\x03\xa1\xe1\xb5\x4c\x7c\xab\x6c\x2c\x6f\x4b\x45\xd0\x19\x8c\xae\x21\xb7\x65\xd0\xe9\x32\xd5\x0f\xdd\x40\xca\x92\x5b\xf4\x0a\xb1\x83\x66\x76\x34\x5a\xa1\x6d\x0e\xdf\x35\xb7\xd8\x4b\x75\x23\x02\x5d\xfc\xd5\xbf\x80\xf6\x0e\x2b\x65\x47\xd3\x8c\x4d\xd8\x02\xab\xd7\xb1\x4f\xd7\xe5\x43\xd1\x6d\x82\x3e\x1b\xf4\x0b\xb9\x2d\x92\xd0\x14\x5c\x8d\x5d\x21\x32\xdc\xe4\x1d\xe8\x74\x4a\x03\x56\x92\x1b\x61\x68\x3c\xd2\x24\x30\x06\x2c\x29\xfa\xe8\x9a\xa5\x9a\x3b\x9a\xf3\xd1\x00\x16\xdd\x13\x1d\x97\x37\x52\x85\x75\x51\x60\xdc\xa1\x0f\x07\x4d\x11\x86\xbe\xe8\x82\x39\x12\x74\x87\xa0\xba\xab\xa0\xb3\x46\x50\xd9\xa7\x24\x5d\x85\xc1\x5b\xd2\x00\x32\x42\x87\xcd\x24\x7b\x4b\x1d\x7d\x67\x4d\x0c\x88\xd6\x92\x06\xfa\x09\x47\xeb\xbb\xa5\x56\x80\x8f\x90\x75\xef\x69\x20\xa2\x85\xde\x35\xff\xa3\x00\xec\xdd\x6f\xc1\x18\x3e\x8d\xe8\xba\xce\x28\x9f\xaf\xbd\x25\xe9\x0d\x77\x2a\xa9\x8d\x5f\x66\x9a\x1d\xd4\x44\x9d\x0c\x01\xa8\x34\x1c\x9b\xfc\xda\x52\xed\x7d\x93\x4d\xb6\xf5\xae\xc8\x69\x42\x0e\xf0\x19\xdf\x86\x11\x01\x9a\xd6\x33\xfa\xd8\x73\x56\x77\xd3\x76\x38\xec\xdd\x4d\x30\xe9\x95\xe2\xc4\xad\xdb\xcc\x76\xa7\x1e\x2c\x70\x1d\x5d\x4a\xbe\x22\x58\x6b\x5f\xf6\xea\x82\x0f\x2d\x07\x7b\x0b\x14\x05\xdf\xb3\x22\xbb\x7f\xc7\xad\xe4\x1d\xcd\xda\x09\xc5\xf2\x03\x6d\xbd\x10\x02\xbd\xd5\xc4\xae\x32\x13\x9a\x87\xb9\x96\x68\x55\xeb\x20\x6d\xf2\x21\x80\x97\x63\x4f\xaa\x03\x14\x50\xa9\x35\xd4\xac\xa3\xcd\x2f\x89\xf8\x1c\x67\xac\x63\x35\x5f\x67\xd2\x40\x82\x87\x6a\xcd\x5e\x79\x67\x52\xc1\x4e\x10\x34\x94\x29\x5b\xdb\x77\x34\x65\x15\x92\xbb\x56\x36\xac\xc3\x4a\x25\x0c\xbf\xa2\x1a\x33\xf5\x2a\x28\x92\x9f\x7d\xa2\xa7\x42\x87\xdf\xa1\x9e\x7a\x43\x2f\x51\x74\xa0\x0c\x34\x4a\xa3\x35\x7c\xd4\xc4\xb6\x84\x46\xf4\x8a\x32\x8c\x75\xf1\x0a\x50\x0a\xdf\x03\x56\xc2\xaa\x75\xef\x17\x2d\xa9\x23\x5a\x8b\x2a\x0e\x72\xaa\x7e\xf7\x36\x3e\xb3\xd5\x0d\x3b\xdc\xb7\x3d\xd0\x3a\x6c\x41\x69\xa0\x93\x1e\x37\x04\x2d\xf4\x68\xce\x40\xab\x3b\xda\x40\x76\x92\x08\x43\x59\x8d\x8a\x10\x6a\xbc\xf0\xa0\xdc\xfd\x6d\x6e\xa5\x4a\x9a\x75\xbd\xb8\x14\x54\x97\x79\xe8\x4d\x87\xd8\xc4\x2c\x9e\x19\x3c\x2c\xbd\xec\xa9\xd7\xe6\xbb\xdf\xc7\xa1\xd1\xc1\x32\x11\x47\x41\xa7\x39\x58\x1a\xc4\x45\x53\xd0\xc3\xf9\xda\x05\xfe\x41\xce\x70\xd6\x44\x53\xd9\x5a\x6a\xfe\x05\x74\xfd\xf8\x14\x37\x85\x7f\x92\x46\x1d\xa9\xe4\x99\xc4\xbd\x35\x55\x5f\xfe\xee\x06\x4d\x49\x66\x24\x6d\x11\x25\x25\x4b\x05\xb8\x7d\x1b\x80\x40\xc1\x78\x9b\xa1\xe8\xb3\xb3\xd5\xbc\x61\x95\xd9\xd0\x5f\xe0\x03\x6d\x7c\xc6\x1e\x90\x4d\xe4\x6c\xc9\xa0\x26\x4a\xde\x2b\xf6\x4b\xc9\x7b\xc9\xd8\x30\xb2\xf1\x19\x33\xe5\xbb\xa2\xf9\xf6\xad\xed\x0d\x7a\xe0\x0d\x45\x07\x9a\x7a\x47\x07\x2f\xfc\x3d\x42\x16\x54\x48\xb0\xee\xbb\x46\x88\x63\x3f\xc7\x49\x67\xea\x2e\x15\xf8\x82\xc1\x68\x6a\xee\x3e\x09\xe0\x49\x8a\x3b\xc0\x86\xce\x90\x1e\x98\x03\x40\x35\x70\x69\x2e\xe8\x68\x2e\x55\xd9\x14\x94\xba\x21\x56\x0e\xe9\x5e\xbb\xa6\x66\xa9\xcb\xf0\x3b\x0b\xc5\xa1\x6c\x7e\xc0\x0d\x1b\x15\xd2\x4f\xf7\xd4\xa0\x1c\x00\x17\x02\x6d\xe8\xfe\xe4\x89\xf8\xfb\x7c\x5e\xb1\x76\x57\x09\x73\x9c\x43\x3b\x20\xfc\xed\x6b\xb2\x00\x64\x1f\xf8\x27\x6c\x65\xf3\x77\xe8\xc5\xd1\x16\xcd\x37\x68\x14\x67\x13\x24\xba\xad\xfc\x2a\x10\x64\x43\x0f\x93\xa1\x95\x97\xed\xcc\x05\xa0\x26\xe6\x02\x04\x60\xfe\x60\xb9\x8c\xde\x0f\x22\xc0\xa0\x63\x08\x3e\xbc\x2b\x8c\x61\xbe\xa3\xcc\x24\x8d\xff\x97\xbd\x77\xd9\x91\x23\x39\xd2\x85\x5f\x25\xd0\x67\xf3\xcf\x22\x0c\x6e\x37\xbf\x2c\xfe\x05\x9b\x33\x8d\x5a\x54\xaf\x04\xd4\x76\x90\x13\x47\x52\x0a\x93\x94\x06\xa2\x26\x81\xc3\xa7\x3f\xb0\xcf\x3c\x32\xb3\x2e\x24\x8b\xec\x96\x8e\x46\x2a\x74\x57\x64\x30\x2f\x11\xee\x1e\xe6\x76\xb7\xcf\xcc\x08\x02\x52\x82\x70\x61\xf0\xa7\x2b\xa0\x7b\x4f\x69\x80\xa2\x7f\x58\x18\x00\x07\x18\x7d\xa5\x26\x13\x71\x27\x0b\xd0\x82\xe7\x84\x16\xb2\xa2\xb7\x4e\x90\x9c\xad\x46\x15\x65\xde\xae\x9d\x6a\xcd\x60\x01\x18\x57\x41\xe2\x30\x38\x3f\x92\xbc\xad\xd6\x83\xb4\x78\x27\x8f\x25\x93\x88\x4b\xf0\xf4\xbe\x91\xab\x87\x55\x0c\x2d\x40\x11\xe0\x88\x47\x12\x52\xe1\xb0\x77\x28\x5b\x39\x45\x79\x27\x77\xdf\x50\x4d\x53\x8a\xa4\x12\x50\x6a\x6c\x2a\xd4\x04\x4b\x72\x69\xd6\xd9\x4a\x32\xcb\x54\x56\x3c\x37\x45\xed\xca\x32\x5f\xa6\x7a\xa4\x15\xf9\xd4\xba\x65\xa5\x24\x1a\xac\x54\xf0\x7f\x5e\x69\xf4\xf4\xd8\x01\x04\xa7\xe6\x76\xf6\xd8\x7d\x80\x70\x68\xd9\x7c\xa1\xc8\xa0\x2a\x9c\xfe\xb9\xd1\x04\x04\x94\x17\x42\x45\x75\xb0\x24\xab\x35\xcb\x89\xea\x68\x28\xeb\x0e\xad\xaa\xa3\x5a\x31\x56\xb2\x07\xe9\xf5\x11\xb4\x52\x05\x38\x0c\xc1\xc1\x09\xe1\x0d\x3c\x10\xc6\xfe\x18\x93\x3a\x4a\x88\x5a\x68\x86\x39\x80\xd2\x48\x1c\xfc\xda\xd1\x32\x03\xc1\x1b\xd6\x46\x52\x3b\x09\x88\xdb\xa8\xb3\x53\xcd\x96\x95\x59\xfb\xe4\x63\xd6\xca\x42\x5f\x42\x11\x76\xaf\x64\x8e\xf2\xe1\x98\x2d\x7c\x0e\xa1\x12\x22\xb8\x12\xd2\x4b\xb1\x88\x2e\x63\x99\x2f\xc9\x49\x51\x72\xa9\x28\x73\xd5\x91\x18\x33\xc1\x11\x81\xec\x84\x02\x3a\x5f\x13\x21\x42\x3a\x67\xa3\x4c\xc0\x54\x00\xba\xa6\x0b\xb5\x54\x44\x29\xbd\x48\xbb\xe2\x51\xb0\x31\x7b\x97\x03\x97\x42\xa1\xbb\xe4\xcb\x24\x1d\xa8\x38\x36\xd9\xb3\x63\xd0\x50\x63\x57\xb0\x57\x01\x38\xc8\x90\x44\x3f\x0a\x65\xa9\x94\x2c\xb0\x9b\x05\xf0\x15\xd5\xab\x87\x26\x48\x75\x9f\x2f\x59\x72\x16\x9c\xa9\x4a\xdb\x80\xc8\x24\xb9\xa0\xc1\x40\x4a\xef\xb9\xe3\x1a\x6a\x1f\xc8\x59\x49\x51\x2e\x66\xd5\x48\xfb\xec\x63\x69\x5d\x37\x14\x44\x63\x80\xb1\x0f\x50\x2b\xc9\x23\xb6\x0b\x42\x4f\x56\xfa\x85\xac\xb9\xa0\x1c\xb0\x53\x7d\x8d\x8e\xfd\x0d\xe1\xd1\x7f\xb3\x52\xe4\xc7\x1f\xde\x14\xef\x37\xc5\xfb\x4d\xf1\x7e\x53\xbc\xdf\x14\xef\x7f\x00\xc5\xfb\x59\xfb\x41\x30\xf7\xc9\x5a\x0c\x0c\x1a\x5a\xc6\x14\xd9\x6c\x86\x01\x66\xae\x86\xcc\xf2\x3d\x1a\x3e\x79\x4a\x28\x6e\x15\x3c\x76\x0d\x3e\x1d\x5f\x06\xa0\x5a\x4b\xa8\x22\x52\xe0\xa5\x84\xbe\x60\x1d\x70\x55\x00\x09\x0b\x4d\x30\x7b\x8c\xc5\xdc\x97\x90\x0d\x28\xf3\x66\xee\xf9\x33\xee\x39\x82\xd0\xef\x3c\x81\xf3\x0e\x83\xfa\x58\x70\x48\x12\x00\xce\x62\xb5\xb1\xad\xe0\x5b\x54\x10\x52\xb1\x10\x33\x82\xb0\xca\x80\xc2\x1c\x06\xc0\x28\xba\xcc\x97\x69\x00\x80\xbe\x25\xc4\xec\xc4\x1e\x08\xdd\x37\xc1\x91\x8c\x06\xba\x2c\xd7\x02\x38\x4b\x86\x2c\x72\x32\x20\x49\x42\x52\x35\x08\xc2\xc6\x90\x2a\xc8\xf0\x19\x89\x24\xc8\x98\x2b\xa6\xa8\x50\x6f\x75\x20\x90\x05\xa8\xcc\xd0\x86\x1a\xd6\xa7\x27\x4f\x12\x88\x18\xce\xf4\x14\x20\x5d\x79\x03\x30\x92\x27\x5b\x41\x68\x06\x40\x91\x53\xa0\x24\xe6\x8b\xb7\x89\x08\xa3\xb1\xf5\x2a\x50\x15\x06\x00\x3c\x42\x11\x8a\xa7\x11\xc2\x85\x3a\xb6\xe9\x48\x08\x3d\xb6\x3d\x39\xa9\x43\x0f\x91\xe6\x61\xbc\xb8\xa6\x42\xef\x29\x64\xba\xd6\x60\x65\x24\x35\xb8\xba\x79\xe8\xa4\x59\xb2\x67\x21\xfd\x96\x7d\x4f\x00\xca\x53\x83\x68\xad\x43\x68\xb7\xb4\x3f\xb0\x61\x01\x68\x09\x34\x83\xce\x89\xd6\x88\xe5\x08\xd2\xa9\x66\x9f\xa7\x41\xa5\x61\x75\xe1\x96\xbc\x9d\x47\x4c\x94\x74\x30\x79\x71\xaa\xc5\xd0\x89\x0c\x05\x7a\x31\x93\x45\x81\x2d\xe8\xdc\x17\x84\x95\x62\xee\xa7\x54\xd3\x6b\x1f\x1b\x6c\xad\x91\x46\x50\xd0\x1b\x42\x72\xc0\x1c\x0d\xdd\xd2\x7d\xd6\xba\x27\xec\x48\xac\x0b\x20\x87\x00\x8e\xd9\xad\x1d\xb8\xc4\xa4\x63\x4f\xe5\xeb\xd4\xf3\xd7\xd8\xf6\x1b\xb5\xec\xc2\x98\xb8\x49\x71\x4f\xac\x46\x2a\xf1\xda\x81\xaf\xe9\xd4\x82\xab\xa9\x41\x4e\x22\x6a\x07\xc7\x3e\x60\x2b\xfa\x01\x39\x5f\xbc\xcc\x97\x49\x92\xc6\x00\xf4\xda\xa6\xd9\x10\x6a\x78\x1d\xd0\x2c\x04\x28\x53\xc1\xee\x92\x29\x04\x37\xd6\x95\x46\xf3\xe0\x92\x2b\xb8\x24\x55\x43\x5b\x47\x64\x32\x49\xf0\x19\x86\xaa\x80\xd2\x4d\x0d\x7a\xa2\xca\x0e\x52\x19\x1a\xea\x66\x4a\xae\x58\x4d\x85\x9e\x95\x10\x60\x5e\x13\xdd\x42\x24\xf4\xde\x60\xeb\xb1\xca\x61\xcf\x84\xaa\x92\x84\x04\xb8\x3d\x41\x2b\x77\xe8\xe3\x2d\xf4\xbd\xda\xc6\x32\x5f\x26\xdf\xe1\x20\xcd\x78\x16\x61\xc2\xac\x40\x6d\xa9\x53\xd4\x26\xc4\x09\xce\xd8\xea\x52\x12\x8c\xaf\x24\xe8\x02\x62\xe3\xda\x06\x1e\x66\xaf\xd9\xfe\xae\x3a\x49\x2a\x2b\xcd\xc9\xda\x08\xa5\x0c\x30\x26\x21\xfc\x0d\xc5\xc0\xc1\x4f\x80\xd1\x15\x33\x9a\x69\x78\x00\x23\x69\x1e\x26\x65\x88\x1c\x4e\xe8\x87\xe1\x7d\xc6\x84\xb5\x8f\x84\x92\xd0\x38\x6f\xf9\x2b\x3c\xdf\x06\x8b\x29\x64\x2a\x50\xe9\x9c\xfa\xe0\x6c\x19\xbc\xa3\x26\xb6\x83\x39\x8d\xde\x96\xf9\x02\xcd\x9f\x87\x2f\x50\x24\xb6\x04\x6e\x09\xcd\xa1\x56\xf2\x98\x9e\xb4\x94\x77\x25\x1e\x28\x80\xed\xe2\x39\x85\x1e\xd8\x6c\x84\xde\xf2\x6a\xed\xfd\x55\x41\xfe\x5b\xed\xfd\xcd\x5d\xf2\xe6\x2e\x79\x73\x97\xbc\xb9\x4b\xde\xdc\x25\xcf\xdd\x25\x2f\x6a\x23\x71\x55\x74\x79\xee\xe0\xe4\x1d\x66\x43\xa8\x00\x0c\x69\xd8\x40\x43\x21\xc4\x2a\xe0\xc4\x21\x99\x12\x01\x4a\x57\xb0\xbc\x35\x59\x5e\xac\x8e\x36\x0f\x03\x3d\xbe\x06\xfd\x3e\x99\x25\xe3\xd9\x17\x0b\x0d\xb1\x86\x91\xde\x17\x30\xda\x44\x7e\x85\x78\x88\x59\x23\xcf\x38\x34\x36\x9e\xc0\x74\x87\x4a\x43\xdb\x92\xc7\x24\x06\x05\x78\x9f\x07\x7b\x36\x88\xa6\x10\xd0\x40\x70\xcc\x34\x23\x4f\x8c\xc5\xa7\xec\xa0\x00\xab\x10\x22\x39\x84\x82\x03\x75\xd7\x91\x96\xcd\xa1\x60\x59\xaa\x1f\x12\x0a\xba\xd5\x06\xa6\xde\x48\x46\xa8\xc8\x2d\x5d\x26\x82\x27\x37\x62\x0e\x0e\x88\xa6\x3a\x12\x82\xb8\xe1\x62\x9a\x68\xb0\x75\x02\x90\x01\x4b\x54\x91\xbb\x04\xcf\x00\x78\x45\xaa\xb7\xb1\x94\x52\xfb\xc4\x20\x74\xc5\x6e\x0f\x7e\x9d\x70\x8b\x60\xd0\x09\xe3\x16\x93\x02\xb7\x4d\x23\x38\x4f\x90\xdb\x0d\x58\xba\xd0\x19\x2d\xa4\x88\x91\x63\x63\x04\xef\x41\x6e\x65\x6c\x61\x50\xb9\x57\xb8\x99\x38\x2c\x4d\xf7\xd0\x5e\xa9\xb7\x78\xae\x96\x50\x82\xc9\x24\x7b\x68\x52\x2d\x6c\xfb\xbe\x40\x9e\xc0\x98\x08\x11\x64\x4b\x1e\x63\x09\x25\xa5\x4a\x70\xd4\x16\x83\x06\xda\x31\x80\xda\x53\x2c\xaa\x07\x87\x71\xff\x82\xed\x95\xd0\x15\xa0\x80\x2d\x87\xdb\x31\x33\xf5\xa0\xc1\xd8\xf4\x4b\x0e\x56\x00\xae\x51\x3b\x7e\x60\x40\xc9\x9b\x5d\xc4\x53\xbb\x82\xde\x04\x8d\x34\xc1\x50\x43\x45\xf4\xd4\x84\xa0\xea\xc0\x97\x80\xa5\x8f\x1d\x0a\x4d\x35\x21\x1e\x01\xcd\x14\x0c\x03\x72\x2c\xbe\xe7\xc3\x62\xa3\xb6\x6e\xcb\x7c\xd9\x93\x87\xd6\xb9\x53\x41\x53\x80\x85\x03\x5e\x6d\xea\xc3\x35\xf5\x61\x38\x2b\xe0\x21\x0c\xc6\x23\xa1\x09\x0c\x00\x6b\xd9\x19\x2e\x84\x0d\xd0\xf8\x00\xc1\x62\xa8\xf6\x85\xc3\x1a\x02\x50\xb9\x8e\xf4\xbe\xd4\xda\x42\x59\x81\xa0\x16\x2a\x48\xb5\xeb\x5d\x53\x20\xe8\xb0\xa4\xdc\xda\x35\x11\x0e\x5b\xf1\x04\x66\x2d\x1c\x22\xb6\x11\x03\x61\x5b\x1c\x00\x59\xc2\x15\x59\x87\xa6\x20\x95\xea\x1c\xbc\x13\xb9\xe9\xc1\x9b\x45\x25\xa1\x48\x33\xa5\xe5\x94\x6b\x63\xce\x1b\x90\x76\xc3\xa0\x0d\xc1\xc6\x55\x13\x2b\x5d\x0a\x87\x9e\x54\x1b\xf4\xa4\xda\xf6\x86\xeb\x1d\x92\x0c\x9d\xd5\xd3\xea\x82\x89\x94\xc2\x31\xb4\x5f\xe4\xc5\x80\x33\x15\xc0\x37\x02\xee\x1d\x22\x13\xcd\xa4\x5b\x02\x26\xa2\xcd\x77\x2d\x32\xd1\x77\xd9\x2d\x4c\x59\xc0\xe0\x03\xb5\x54\xa8\x25\xe8\x65\x91\x35\x44\x18\xdc\x72\x92\xeb\x0e\xc5\x57\x1b\x61\xc3\x78\x58\x0c\x40\xc6\x66\x40\x90\xd5\x86\x0c\xfd\xd0\xbe\x35\x31\xb6\x8a\x08\xbc\x60\x89\xfd\x97\x50\xda\xb1\xef\xa6\xad\xc8\xc1\x23\x3d\x41\xea\x20\xb6\xa6\x44\x87\x2c\xe2\xd9\xcf\x9b\x35\x78\x40\x22\xe7\x4a\xae\x6f\xb1\x9a\x78\xc7\x9c\xb6\x03\xd0\x87\xe1\xc0\x92\x1e\x94\x0c\x08\x57\xe2\xc1\x5f\x55\x78\x0f\xdb\x6f\xff\xe3\x4f\x7f\xfa\xcf\xd7\x24\x86\xc4\x1e\xda\xca\x5a\x51\x52\x12\x26\xbb\xad\x61\x8f\xc7\xff\xbf\x61\xb8\x0c\x81\x68\x2d\x5b\x09\x76\x36\xc2\xac\x47\x5d\x4b\x41\xc7\xfa\x11\x82\x32\xfe\xd1\x6b\x7b\x00\x9e\xe9\x5d\x23\xeb\xfd\x81\xe5\x28\xd4\x86\x3e\x0c\xf2\xd6\x00\x72\xd3\xb0\xc9\xab\x49\x48\x97\x60\x86\xec\x9e\xa7\xe9\xbb\x2e\x61\x3c\x57\x99\xfb\x75\x9e\x9d\x43\xe8\xb6\x23\x36\x62\x83\x7d\x5a\xdb\x02\xf7\xcc\x08\x65\xb1\xe7\x19\x0c\x9a\x11\x37\x55\x2a\x7e\x82\x9f\x60\x51\xe2\x7e\x4c\x47\xcb\xb9\x51\xed\xed\x3d\xf7\xb0\xa0\x16\xc9\x6e\xfb\x31\xf5\x46\x21\x48\x62\x0d\x5e\xbd\xa6\xaf\x08\xb2\xfa\x72\x15\x9b\x6b\x5b\xe3\x74\x57\x0d\xa9\x0c\x40\xf2\x0e\xf6\xf3\x1a\x7a\x93\xdc\x85\x02\xf4\x00\x5c\x9d\xd6\x1e\x42\xad\xe9\x1b\x26\xe8\xb3\x52\x2a\x96\x4e\x40\xad\x70\x2a\x35\x31\x6a\x80\xb4\x87\x88\x00\x21\x5d\xce\xce\xc1\x7b\xf5\xb8\xc6\x9e\xdf\xd0\xf8\x1c\x26\xa5\x11\xb4\x9b\x04\x4b\x1c\x79\xb7\x61\x50\xa4\x18\x85\x4a\x7a\x17\x2a\x96\x9d\x31\xa2\x77\xa1\xb0\x22\xd1\x77\x5a\xd9\x31\xa1\x57\xaf\xcf\x37\x04\x4a\xb8\xb7\xf6\x93\xfc\xf0\x46\x88\xcf\x08\xf1\x65\xe5\xaa\x06\x53\x47\x6f\x99\x7e\xcf\x95\x5a\x5b\x58\x8e\xa1\xb6\x39\x3f\x8c\x50\x6c\xb6\xe0\xa6\x0d\xad\x23\x62\x20\xb0\x98\x00\x64\xdf\x38\x1e\xb9\xf6\xf6\xe0\xe4\x2c\x1f\xa1\xea\x86\x71\x0a\xaf\xad\xc1\xad\xcf\xbe\xa1\x5a\x4b\x97\xb2\x62\x4d\x80\x0d\xaf\xf3\x3c\xd6\xe7\x81\x25\x57\xf5\x8c\x29\x61\x5d\x73\x46\x07\x06\xc2\xe8\x32\x5f\x82\x68\x14\x2a\x40\xc9\x87\x71\xc4\xec\xbf\x91\x86\x5e\x65\xae\xdf\xd2\xd0\x3f\xee\xc6\x7b\x99\x1e\x0a\x35\x71\xec\x00\xd1\x7b\x06\x36\xed\xd2\xf3\x82\x0f\x35\x1e\xcb\x06\x60\x6e\x4d\xcd\xaa\xc0\x58\x9d\xfa\xb0\x1e\x63\xa4\x0f\xa1\xc2\x7d\xcc\x9e\x08\x88\x8b\xcc\x3e\x3f\xac\x20\xf1\x8a\xc4\xfc\x6a\x61\x2c\xe6\xc9\x82\x65\x78\xe8\x58\xbb\x33\x26\x90\xeb\x97\x13\x38\x84\x26\xd2\x96\x3c\xa6\x9e\xc7\xbd\x2f\x65\xae\xf8\x91\xe9\xeb\x44\xf0\xfb\xed\xbf\x5e\xc1\x3d\x5e\x04\x71\x87\xc1\x1a\xac\xc2\x67\x3f\x82\x62\x87\x46\xad\x2f\x38\x4c\x73\xcc\x7d\x51\x02\x62\xbb\x8f\x31\x8f\xf9\x91\x20\x4e\xcb\xed\x9d\x53\x35\x5f\xf2\x88\xba\x49\x48\xf6\x45\xca\x29\xcc\x9f\x2c\x19\x90\x6d\xcd\xb2\xd4\x92\x4d\x2c\x42\x4e\x9b\x8c\x35\xb5\xcb\x30\x05\x90\x1e\x1a\xfa\x48\xd1\x83\x53\x2d\x00\xda\xdb\x6b\x44\xd1\x8e\xa7\x92\x78\x58\x09\x95\xf7\x63\x0e\x84\xe1\x95\xe9\xc5\xde\x35\xc4\x12\xf3\x18\x9f\x0d\x6a\xc1\xf8\x54\xea\xa1\xd1\xe0\xf8\x68\xcc\xac\xd4\x46\x06\x2f\x5b\x15\xfb\xf4\x21\x14\x35\x59\x10\xf0\x3c\x48\x68\x55\x4b\x1e\xa7\x13\x88\x01\x21\xc7\xf5\x66\x3e\xf6\x11\x3d\x79\x42\xbf\x1a\x59\xcd\x52\xe3\x97\x8e\x18\xa4\xd7\x7d\xd4\x92\x0e\xfa\xba\x3c\xbd\x2a\x53\x47\x85\x46\x47\x23\x26\x6e\xfb\x71\x2e\x2d\xcc\x02\xb1\x71\x0a\xc5\x3c\xd8\x4c\xf1\x58\x14\x44\x25\xeb\x1e\xf3\x52\xd4\x91\x0a\x15\x60\x5c\x03\x9c\x15\x40\x84\xa1\xcf\xd5\x3e\x96\x84\xc8\xe5\xec\x2a\x35\xdc\xd6\xb0\x15\x4f\x73\x91\xf9\x10\xca\xad\x2c\x79\xcc\x21\x39\xfc\xec\xc6\x7a\x26\xd3\x8d\x49\xc0\xdb\x39\x8c\x68\x54\xb8\xec\xeb\xf0\x3d\x88\xa9\x41\xa7\xdf\xd9\x83\x97\x09\x52\xc1\x6a\xd6\x1b\x60\xfd\x83\x46\x86\x06\xd5\xc5\x71\xc6\xfe\xb3\x7d\x87\x70\xac\x12\xea\x47\xf6\x28\x4e\x28\x96\xe8\xc3\x10\xf3\x95\x52\xe7\x71\x06\xf9\x6c\x2c\x15\xd2\x08\x15\xc5\xf3\x98\xdb\xd1\xbd\x53\x6f\xc7\x4a\x2e\x07\x43\x9b\x92\x3c\xc6\xa7\x06\x63\x11\x78\x82\xef\x8c\xf0\xeb\xe4\x42\x4a\x15\xa6\x73\x8c\xb1\x63\x8c\x7d\x1f\x23\xa3\x49\x82\xc4\x1b\x68\x51\xd6\x25\x77\xdb\x46\x12\x6c\x26\x6c\x87\x4e\x5c\x29\xb8\x64\x3d\x01\x39\x11\x9b\x87\x06\xf8\x28\x70\x84\xe1\x7c\x47\x34\xac\xf2\xf8\xb8\x52\x9b\xa7\xeb\xf5\xdd\x33\xbc\x36\x07\x45\xc4\x3e\x8f\xbb\xbb\x3c\x23\x42\xf5\x78\xd9\x94\x61\xd6\x67\x32\xb5\x22\x0c\x46\x83\x43\xd2\x5b\xf5\xb0\x0d\x51\x53\x06\xa7\xd7\x96\xd1\xe4\x85\xa9\x8f\x46\xcd\x83\x21\xbb\xcc\x5c\x8c\x7b\x74\x73\x5b\x06\x71\xe1\x43\x8c\x03\x43\xdc\x17\xbf\x8c\x46\x86\xbe\x44\x15\x55\xe9\x95\xa7\x1f\x7b\x98\x64\xb0\x65\xba\x7b\x4a\xe1\xef\xa5\xad\x6f\x49\x38\x79\x67\xaa\xbe\xcb\x40\x78\x85\x3b\x79\xe1\xd8\x6c\x5c\x57\x40\x70\x67\x14\xfa\xdd\x13\xae\x51\x1e\x31\x94\x47\xbc\x26\xe8\x4f\x8b\x85\xb2\x85\x30\x74\x09\x3d\x20\x7b\xd7\x04\x41\x70\x86\x08\x4e\x9a\x1e\x09\x6f\x1f\xf7\xfe\x68\x68\x1b\x17\xa6\xf8\x6b\xf6\xae\xa2\x66\xf0\x99\x8c\x33\xe9\xfe\x93\xcd\x19\x0d\xf8\x58\x10\x19\x7e\xcc\xce\x4b\xfa\xb3\x57\x45\x5d\xd5\x0a\x18\xf2\x60\xc5\x15\xac\x00\xf3\x4a\x41\x1a\xac\x60\x48\x6c\x39\xf9\x0a\x27\xf8\x02\xb7\xf4\x7e\x4a\x07\xec\xec\x3d\x60\xc0\xa1\xae\x67\x25\x35\x3b\xe5\x3f\xdb\x31\x6d\x3a\x21\x0b\x83\x7c\x31\x82\x4c\xed\xb1\x67\x4c\x83\x22\x47\xf0\xbd\x47\x92\xa7\x20\xe2\xb9\x42\xf4\x3c\x5b\x08\xb5\x77\xdd\x35\x17\xa2\x51\x65\x5f\x78\xd0\x18\x3d\xef\xf3\xc0\x95\xdc\xee\xf0\xc1\x06\x9d\xa2\xac\x71\xbe\xc2\xf2\x0f\xba\x86\x5e\x77\x8a\x37\x81\x43\x1f\xda\x0d\xfc\x33\x1d\xd0\xdd\xe4\xa3\x6d\x34\xfa\x8e\x24\x0f\x8d\x91\x2b\xbc\x58\x80\xae\x7f\x1e\xfc\xfe\xe9\xc7\x1f\xdf\x17\xbf\x1d\x50\x47\xb7\x2d\x84\xca\x97\x3c\xee\xd4\x23\x08\x37\xea\xf2\x44\xfa\x15\x50\x41\x08\x3f\xbe\x88\x03\x96\x17\xa5\x0d\x22\xca\x32\x9f\xcd\xcb\xe2\x46\xbf\x41\xdc\x78\x90\x73\xf5\x64\x77\xab\xc1\x27\x2f\x24\xe5\xab\x16\xf5\x75\x43\xbe\x2e\x86\x74\xbb\x21\x0b\x29\x2b\x1a\xc4\xd4\x13\x03\x6e\x82\x09\x6e\xe6\x0c\xb0\x7c\x2b\xdf\x6f\x60\xfc\xdd\x36\xc4\xec\x98\x35\x43\xca\x65\xf4\xec\xfe\x50\xbc\x9e\x24\x96\x1a\xf2\xfc\x63\x7a\x10\x58\x42\x40\xc0\x07\xe3\x1b\xda\x10\x31\x09\x9e\x33\xa3\xcd\xa4\x69\xd0\xaa\x21\x3c\xee\x76\x8a\x25\xa7\x32\xbe\xbc\x2d\xbf\x2c\x15\x52\x28\xa0\x97\x4e\xcf\xe8\xca\x53\xee\xcd\x3b\x9e\x86\x57\x3b\xc3\x29\x7f\x11\x0a\x17\x99\x00\x7d\x66\xd6\xc3\xae\xb3\xc9\xc4\x14\x0c\x79\x7a\x42\x6a\x45\xdb\x9b\xf7\x09\xf2\x4a\xce\xf1\xc0\xdb\x29\xff\xe9\x7a\xc4\x57\x5e\x12\x77\x29\xed\xe4\x9d\x11\x0f\xb0\xa8\xb9\x23\x31\xb7\x1a\x73\xfb\xe2\x86\x34\x6a\xcc\x30\x2a\xc6\xb8\x6b\x34\xda\x39\x48\x6d\xd8\x9d\x65\xbb\x2c\x51\xf8\xab\x0c\x9e\x3e\x80\x75\x24\xae\x7c\xe8\xff\xe6\x3d\x75\x71\x45\x0c\x51\x46\x9b\x9d\xa1\x0c\x23\x45\x08\x50\xdc\x2e\x62\xbb\x51\x7f\xce\x1d\x6e\x37\x63\x0e\xc6\xc9\x5b\xcc\xe7\xf1\x54\xa9\x09\x87\x36\x68\x87\xa7\xda\x42\x3c\x7a\x5d\x8c\x6a\xef\x41\x9c\xf0\x5c\x77\x3b\x3c\x11\x6c\x4c\x66\x21\xf6\x90\xee\x70\x23\x0b\x39\x2c\x4b\xa3\x81\x3e\x41\xf9\xe3\xd6\xe3\xee\xb8\xf9\xbe\xcc\x6d\x0e\xeb\xab\x9b\xec\x0f\x7f\x39\x1d\xfe\xe3\x35\x4e\x2b\xa6\x51\x61\xcd\xc9\x10\x74\x6b\x12\xe8\x8e\x68\x64\xc9\x7d\x45\x35\xf5\x01\x89\x5b\xda\xf7\x06\x45\xe8\x59\x20\xee\xcf\xde\x86\x7a\x74\xc2\x4f\x83\x9c\x6b\x1d\x77\x9d\x94\x6b\xa8\x00\x99\x1f\xf9\x0e\xfd\x54\x35\x51\x54\x8a\xc3\x91\x88\xeb\x5f\xdf\xcc\x64\x2f\xf1\x7a\xaf\x04\x61\x35\xc4\x73\x64\x0b\xb4\xda\x43\xfc\x08\x3f\xc4\xf3\x90\xcc\x41\xb8\x67\x59\x84\x4f\x83\x6a\x0f\x01\xd0\x9b\xc7\xf7\xda\x25\xfd\x13\x41\xde\xae\x5f\xb7\x99\x72\xe5\x5e\xe1\x9a\x32\x00\x49\x77\x1a\xc5\xee\x39\x08\x7e\xa9\xe4\x18\xa9\x7b\x68\x49\x31\x52\xc4\xe2\x66\xd6\xd4\xde\x07\xa9\x3f\x7b\xd7\x88\xfb\xfc\x5d\xd0\x4f\x45\x49\xa1\xc8\x7d\x98\x94\xb1\xdf\xdb\x88\x2b\xb5\xf8\xbb\xfe\x66\x25\x6e\xe3\xf9\xdb\x97\x4b\xe5\x95\x56\xb8\xce\x91\xdd\x77\x40\x66\xa9\xcf\x98\x3a\xfc\xf9\xde\xf5\x54\x09\x6c\xb0\xb3\x84\xa6\xdb\xfa\x8a\xf3\xc3\x6d\xd9\x77\xc9\x44\x09\xef\xaf\x5d\xbd\x6f\x50\xb8\x7e\x7a\x5f\xff\x55\xea\x0f\xff\xc4\xc4\xf8\x48\xda\x89\xa9\x8c\x1d\x16\x01\x70\xef\x23\x14\xc3\xb8\x0e\x62\xe1\x8c\x39\x8c\xfb\xfd\xc3\xe7\xe9\x4c\xb7\x0b\x7a\xb9\xc4\x3d\x66\x8e\xe1\xdb\x5d\xcc\x44\xbe\x78\x85\x77\xba\x5f\x41\x43\x59\xc3\xef\xda\xcd\xb4\xed\xd9\xb4\xeb\x75\xda\xcb\xcd\x6f\xbe\x38\xc1\xcb\x8a\xb6\xa3\xd3\xf5\xb9\xd4\xe7\x4f\x78\xf6\xf4\x7a\xe9\x09\xdf\x3c\x98\x17\x98\xfa\x4b\x6b\xf1\x68\x39\x71\xe7\xd7\x2e\x86\x14\xea\x70\x90\xc6\x6a\x3c\x5e\x0c\x9b\xf8\x5a\x50\x0c\x6e\x56\x03\x17\x3d\x75\xea\x86\x1b\xd6\x76\x0c\xdb\xea\x8b\xcb\x82\xbb\xd8\x5c\x98\x35\xc6\x77\x02\x0d\x07\xf9\x07\xc1\xdd\x90\x27\xef\xd4\x5f\xb7\xa9\xce\x65\x5c\xb1\xe8\x4e\xb6\xa7\x2b\xf9\xb7\x6f\xda\xbc\xaf\x52\xce\x1e\xad\xef\x3f\x2d\x3f\xfc\xdc\x83\xec\x68\x07\x30\xe2\x19\x78\xeb\x6b\x18\xc6\x98\x88\xde\xef\x9f\x7c\x91\x60\x2f\x3f\x07\x40\xcc\xc8\xdf\x23\xa7\xf1\x4b\xbf\xbf\x52\x6b\x7c\x35\x1e\x01\xa0\xd8\xf6\x59\xdb\xcb\xb3\xce\x2b\x42\xb9\xc4\x6f\x9e\x47\x8b\x1f\x71\xa6\xb9\x3a\x6e\xe3\x18\xf6\xeb\xf5\xc9\x74\x79\xfe\x8c\xed\xc5\x67\x9c\x9e\xf7\xeb\x85\x5e\xb7\x14\xd7\x95\xc4\x8d\xed\x95\x2b\xb1\x53\xa3\x8d\x13\xb5\xae\xd7\x95\xb0\xf8\xdb\xb3\x82\x6e\x97\x22\x6e\x56\x61\xe7\x35\x6a\x86\x5d\xcb\x5f\x5e\x93\xeb\x3d\xee\xb8\x90\x87\x0e\xe8\xce\xab\xe5\xa6\xbd\xa1\x4b\xde\xe9\x7e\x23\xc6\x63\x40\x22\x5b\x69\xba\x93\xeb\x0d\xe1\xbf\x62\xcb\x1e\xff\xfb\x6b\x7a\xde\xe7\x3b\x75\x3e\x2b\x7a\xa8\xcb\x6c\x79\xd2\xb6\x12\x56\x0c\x37\x74\x7d\x8e\x6d\xcd\x55\x97\xe0\x6b\x63\x19\xe8\xcc\x8a\x1e\x68\xb3\x19\x2a\xd7\x3c\xb1\x9e\x51\x65\x64\x2c\x86\xd9\xd4\xd1\x4c\x09\x59\xb8\x2d\x73\xe2\xa8\x16\x83\x50\x47\xc7\xca\x47\xa7\x64\xe9\xe1\x77\x64\x1f\xa3\xc1\x27\xd2\xcb\x2e\xa7\x34\x0a\xda\xa0\x22\x2d\x35\xec\xb2\xcb\x09\xf2\xf4\x35\x73\x26\x1d\x79\xa7\x45\x6f\x4e\xa9\x23\x9e\xe4\xa8\x40\xd1\xac\x5a\xe9\x31\xb5\x11\x26\x15\x67\xd6\x53\xb5\x4a\x9a\x9d\xd2\x6b\xd8\x2c\x6b\x36\x04\x16\xf4\x25\x13\xb0\x30\xdf\x87\x96\xa7\x86\x84\x7f\x04\x01\x84\xe0\x2a\x1b\xb0\x96\x0b\xba\xcb\x57\x34\x5c\x43\x6b\x45\x07\xf6\x0e\x2c\xc5\x86\xfc\x2b\xd9\x8d\xfb\x25\x24\x03\x49\x1d\xd9\xb2\x2a\x7e\xeb\xef\x06\x79\xe7\x25\x8f\x30\x0d\x04\x2b\x6f\x1b\x75\x9f\x4d\x50\x1a\xfa\xca\x85\x19\xef\x48\xa0\x8d\x89\x0f\x14\x10\x08\xc2\xf1\x0d\x6d\xe1\xb2\xb2\xe3\x72\x8e\x36\x65\x68\xd5\x4c\x92\x39\xc3\x43\x89\x11\x95\xa9\x54\x8d\x6a\x26\x91\x23\x7a\xe7\x63\x66\x5b\x23\xe1\x23\xa4\x8d\x12\xf2\x97\x55\x07\x8c\x9c\x1a\x8b\x50\xc3\x00\x1a\xaa\xa4\x3e\x48\xcb\x40\x07\xc1\xc1\x78\x45\xb7\x56\xf4\xe4\x99\x8d\x95\x83\xde\x66\x0b\x37\x9c\x36\x00\x1c\x81\x33\x30\x9a\x19\xd7\xde\x41\x42\x61\x9a\xc7\xea\x8b\x63\xde\xba\x7a\x3c\xd9\x3c\x05\xf1\xbd\x97\x9d\x5c\xb9\x91\x8b\xa0\x54\x67\x91\xef\xf2\x0f\xe6\x0e\xfa\x3e\xf7\x73\x5f\xf8\x7d\xa6\xfe\xf2\xc2\xa8\x9b\x59\x80\xdc\x34\x74\x8b\xf5\x2a\xc8\xbd\x2f\x75\xf1\x74\x0d\xb6\x0e\x49\xac\x4e\x48\x7d\x34\x32\x64\x14\xb9\xe4\x49\x3c\xc5\x02\xbf\xdf\x4c\xa9\xa9\x99\x03\x01\xb4\x4c\x20\xd2\x35\xd4\xc0\x64\xad\x0e\x0d\x40\x42\x5e\x4e\xb3\x9b\x5f\x47\xea\x13\x32\x8b\x91\x73\x77\x73\x5a\x15\xc9\xcd\xc8\xc0\x5d\xd1\x94\xfd\x72\xd2\x62\xef\x80\xfa\x9a\x66\x0a\x68\x9e\x50\x4d\xdc\x2c\xd8\xaf\xda\x29\x6b\x49\xb4\x21\x83\x0f\xdd\xab\xcd\x85\x04\x6d\x4b\x6b\x16\xcd\x0c\x6c\x21\x4f\x79\x5c\x57\xcd\x9e\x8d\xed\x72\xaa\x64\x8e\x7c\xeb\x56\xd1\x51\x35\xf3\x82\x32\x7f\xad\x67\xde\x33\x92\x09\x31\x21\x41\xcf\xdb\xac\x72\xea\x9e\xfb\xc5\x91\xdf\xde\x91\xa2\x2b\x61\x11\xd7\x77\x15\xf6\x7a\x1e\x63\xbf\x74\xf4\xec\xe5\x8d\x1c\xad\xa4\x35\xc1\x52\x29\xb3\xb5\x5d\x83\x3f\xed\x44\x39\x30\xed\x81\xa5\x82\x99\xbe\x9f\x42\xcd\x1a\x55\x89\xe1\x87\x46\x76\x28\x44\x9c\x93\x59\x27\x1b\xb9\x4e\xcc\x96\x27\x1d\x49\xfa\x82\x8d\x81\xc5\x5a\xb2\xa0\x4e\xd1\xd3\x3d\x66\x8d\x1e\xc3\xc1\x2a\xad\x39\x55\xd3\x78\x85\xbb\x22\x18\x01\x3a\x53\x51\x41\x55\x5b\xed\x7d\x3f\x1d\x8c\x0c\x4f\xee\xc0\x36\x41\x4f\x63\xeb\xe8\x26\xfc\xae\x02\x01\x2d\x8f\x33\xc0\x09\xca\xc3\x5b\x6d\x1e\xe3\x83\xbe\x7c\x9f\xe3\x3c\x37\xc6\xb7\xe4\x20\x54\x76\xb6\x2f\x75\x86\x7e\x93\x37\x6f\xf2\xe6\x4d\xde\x5c\xb7\xd5\xeb\xd2\x32\xbe\xb2\xad\xde\x84\xd0\x9b\x10\xfa\x87\x15\x42\x7f\xfa\xd3\xef\x4f\xbf\x7d\x4d\x97\xbb\x8a\x42\xd9\x46\xe6\xed\xe0\x41\x61\x4b\x1e\x67\xac\x27\xb1\xbe\x91\x96\x55\xcb\x40\x5a\x56\x07\x59\xb5\x3a\x2b\xcb\x63\xe3\x1c\x9c\x10\x4e\x9c\xb1\x0b\xf0\x20\x0d\xdb\x4f\x37\x6a\xe0\x73\x8a\x48\x4f\x81\xe3\x9f\x05\x51\x3a\xf6\x79\x1e\x42\xa5\x62\xfd\x13\x5b\xc0\x7c\x51\x52\xb4\x83\x76\x3d\x67\x66\x82\x11\x32\xa7\x67\xfc\x5b\x50\x28\xd0\xef\x58\x08\x4d\x20\xbb\x1f\x07\x99\xca\x06\xe4\xb4\x8a\x26\xc4\x82\x1c\x6e\x9e\xa1\xd3\xa2\x0c\xd6\x58\x8c\x53\x72\x60\x04\xb1\x1d\x07\xa2\xb9\x08\x39\x65\x16\x87\xbc\x07\x0e\x2c\x2f\x82\x06\xf9\x61\xd5\xf6\xd1\x96\xd9\x7e\x70\x11\xd9\x10\xed\xe5\xa5\xac\x6d\x96\xe5\xb3\xf2\xda\x69\x68\xac\x89\x97\x7e\xe0\x42\x78\x74\xf9\x12\x54\x5d\xe2\x73\xd4\xd0\x23\xa4\x1f\xc7\x94\x18\x84\xd1\x15\x3e\x0c\xaa\x21\x4b\x6a\xee\x82\x4a\x10\x35\xb5\xf0\x09\xd5\xfc\x40\x44\x98\xee\x85\xaf\x3f\xf7\x57\x78\xe1\x0b\xf5\x78\x76\x88\x89\x75\x6d\x4b\x1e\x67\x2c\x18\x72\xc8\x37\x04\xce\x1a\xe0\xdf\x75\xf6\xb2\x56\xc4\x8f\x01\x41\x3f\xf8\x60\xc4\x6d\xb1\x09\x9a\x5b\x72\x07\xcd\xc7\xee\x9e\x15\x3b\x88\xe9\x42\x00\xf6\x3e\x42\x62\xb8\xe4\x39\x0d\xeb\x10\x3a\xad\xa2\x1b\x38\x8a\xd0\x46\xe6\x8f\xe3\xa1\x23\x5a\xa7\xf1\x9b\x38\xce\x48\x51\x41\x1d\xae\xb4\xbb\x4e\x6c\x00\x0e\x3e\x86\x48\xdc\x00\xd5\x6f\xf1\xe0\x25\x78\x6d\x45\xd5\x12\xcf\xe6\xa6\x92\xd5\x07\xad\xa2\x24\x16\x42\xbf\x8c\xa0\x00\x36\x20\xe1\x21\x49\xe2\x3d\x33\x55\x83\x3b\x27\x9f\x5c\xbc\x40\xa1\xb2\x85\xfd\xd0\x80\x6a\xdb\xae\xd8\xb6\x95\x90\x6a\xd5\x3d\x84\x5f\xee\xd9\x36\x1f\x35\x8a\xf0\xdf\x35\x64\x56\xe6\x11\x8c\x8d\x58\xc7\xc2\x87\x4a\xad\xc7\xde\x8f\x63\xbc\x8f\xe8\x14\x53\x17\xbe\xbf\x3e\x95\x57\x3e\xe8\x6f\xd0\x32\x6f\x03\xa7\xc2\xd4\x43\x3d\x11\x12\xdd\xca\x4a\x80\xa4\x85\xce\x04\xbf\x68\x16\xe2\x15\x95\xdc\x60\xd8\x5f\x4e\x16\x9b\x50\xa0\x54\x64\x31\x13\x52\xc8\x46\xc7\xae\x3a\x0b\xd9\xe8\x47\x25\x11\xd9\x18\xb1\x52\xa6\x66\xf1\xac\x07\x7a\x96\x02\x83\x62\xf4\x35\xb6\xda\x73\xaf\xd3\x6d\x48\x73\xdf\x65\xc8\x81\x5f\x42\xbd\x1d\x8d\x43\x96\xc4\xa2\x55\x14\xae\x1b\x1b\xa2\xae\x22\xf1\x0f\x74\x54\xe8\xa3\x11\x90\x77\x51\x58\x86\xd6\xa5\x56\x64\x2f\x08\xe7\xc9\xb9\x00\x18\x9c\x9c\x2b\xd4\xc2\x20\x24\x25\xa9\x31\x7c\x6f\xf5\x1d\x97\x85\x4b\x92\x5a\x0e\xe2\xe5\x70\xe7\x5c\xc5\x8a\xac\x0a\x24\x74\xd6\xc7\x1c\x90\xc1\x3a\xa5\x3f\x34\x72\x96\xbc\xc5\x73\xa6\x50\xca\x12\x4c\xe1\xa4\xa4\x02\xb4\xe2\xf6\x7c\x61\x1e\x85\xf1\xb3\xc5\xee\xf0\xfe\x94\x53\x33\x18\x35\x6a\x11\xc7\x09\x8c\x02\x4c\x23\x34\xd4\x1b\xa6\x52\x1e\x71\x9b\x47\x8c\xa8\x24\xfb\x5a\x9c\x9c\x39\x07\xb4\x60\x40\xc1\xbf\x43\x51\x69\xc9\xbd\x51\xb0\xbb\x5c\x96\xef\xeb\x71\xad\x5b\x32\x7d\x95\xd6\xf6\x28\xbe\x6f\x34\x60\xd1\x70\x10\x29\x92\x7c\x80\x0f\x82\xdc\x1d\xc6\xc3\x34\x91\xe3\x1a\x1c\xe0\x1c\xe4\xe2\x47\xa5\x9e\x8c\xc3\x16\xa5\x1d\x06\x13\x7c\x03\x5c\x00\x49\xb2\x7e\x94\xd0\xe4\x37\x46\x02\x04\x93\x60\x51\x80\x27\x53\xf6\x53\x27\x7e\xee\xcb\xbd\xa5\xd2\xc9\x17\x40\xeb\x1d\xa2\x05\x05\x5c\x35\x1d\x90\x40\x24\x18\x08\xa2\x21\xe5\xa8\x01\xec\xa0\x2a\x23\x4b\x33\x31\x05\x6a\xc5\xca\x0e\xc7\x19\x6a\xf8\x27\xab\x45\x91\x2b\xea\xee\x07\x52\x47\x7a\xef\x77\xa1\xbc\x9c\x63\xdb\xea\xbb\x27\xac\xa8\xcc\xa1\x7c\x91\x56\x0d\x70\x3f\x83\xd4\xe4\x31\xd7\x66\xe4\xd7\xf6\x07\xa3\xee\x23\xee\x62\xe3\xf0\x88\x9f\x95\xb2\x04\x3f\xab\xa7\xd0\x5c\x80\x34\x5d\x5e\x70\xdf\xdf\x90\x69\xcf\x4e\xc3\xad\x3d\x95\x2c\x2c\x84\x7a\x63\x3f\x09\x4d\xe6\x31\x9e\x72\xc3\xd8\xa6\x68\x25\xd2\x77\xd6\x79\x61\xa0\xe0\xab\x21\x0e\xba\xf7\xfb\x98\x0f\xf8\x41\x0d\x51\x53\x27\x00\x44\x16\x8c\x01\xe8\xfa\xb2\x76\xe3\xab\x34\xfa\xe7\xc3\xef\x0e\x7f\x3c\xbc\x0e\xc2\x74\xb4\x81\x14\x7f\x91\x43\xe8\x82\x7d\xc9\xe3\xcc\x7a\x44\x83\x16\x0b\x75\x4a\x38\x0f\x33\x17\xc5\xea\x94\xe2\x46\x5c\xc7\x3c\xe6\x8f\x3c\x94\x7e\xaf\xba\x91\xa0\x68\x98\xc5\x00\x3b\xb3\x26\x21\xde\x9c\xc6\xd2\xf5\x44\x90\x60\x6a\x1c\xbb\xd4\x80\x88\x13\xb6\xd5\x21\x74\xd1\xa9\x8f\x26\xcc\x0a\x2a\xa2\x50\xd1\x74\x81\x9d\xa8\x30\x58\x56\x94\xf6\x64\x0d\xf4\xb8\x20\x52\xac\x09\x6f\xe1\xc1\x6b\x43\x00\xe4\x67\xc0\x1a\x47\x7a\x68\x07\x0a\x00\x2a\xcf\xd7\x7c\x24\xf1\x53\x85\xd1\x53\x50\x2a\xc4\xef\x39\xf4\x74\x45\x55\x53\x0b\xe9\xd2\x5a\x9a\x7c\x79\xb2\x61\x21\x50\xd9\x16\xbb\x10\x15\xe4\x59\x1a\xb0\x9f\x7f\x2c\x4b\xd6\x90\x15\x91\xb8\xe3\x09\x36\x79\x8c\x10\xd8\xf2\x7d\xc9\x63\xc6\x1d\x54\xd1\xa9\x62\xcb\x4e\x25\x25\xec\x17\x40\x1b\xf4\x5c\x34\x8c\x53\x78\x47\xed\x08\x15\x1e\x40\x06\x5e\xb1\x6e\xf9\x11\x90\xd4\x15\xd8\x50\x35\x16\x74\xac\x97\xfb\xcf\xc9\x3f\x3e\x13\x94\x63\x35\x98\x06\x1d\x25\x51\x7e\x73\x46\x70\xc3\x08\x2a\xb1\x62\x0b\x54\x98\xe6\xc0\x57\x02\x42\x81\xe5\x1d\x4b\x77\x04\xb2\x61\x14\xf0\x81\x21\x2e\x97\xf9\xb2\xd7\x85\xc2\xb6\xf7\xec\x5d\x90\x28\x48\x89\x2c\x82\x13\xd1\xfe\x5e\xc9\x3d\x96\xd6\x9d\x17\x34\xd0\xb6\x30\x55\xe6\xc9\xc6\xe4\xd5\x01\x0c\x12\xf2\xd9\xd2\x50\xaa\x8f\xce\xb1\x5a\xa6\x82\x86\x46\x5d\x24\x55\x02\x8a\xfb\x48\x83\x61\x2b\x6e\xa4\x25\x05\xa9\x39\x6a\x24\x63\x46\x80\x42\xea\x31\xab\xd2\x2e\x27\xb0\xce\x1c\xa5\x17\x92\x59\x7f\xad\xc5\xed\x58\xb3\x6a\x8d\x1b\xa0\xb1\xb4\x02\x80\xc8\x65\x00\xa3\x21\x5f\xd3\x66\x1d\x88\xb8\x72\x88\x78\x92\x7a\xa4\xda\xda\x46\x3d\x61\x31\x78\x49\x6c\x93\x50\x50\xe4\xd1\x39\xa3\x62\x18\xb1\xdb\x85\x67\xf6\xb0\x4c\x73\x18\xaa\x82\xc1\x84\xb8\x3e\x45\x8b\x9d\x16\xc6\x29\x4c\x77\x99\x29\x5b\xa0\x6c\x1b\xfd\x10\x5a\xc4\xd2\x2e\x12\x33\xc6\x05\x77\x90\x6f\x28\x8d\x2f\x66\x69\x3b\x97\xde\xb2\x12\x8f\x13\x8e\x49\xb3\xf8\x04\x2d\xda\xa9\xe9\xed\xe9\x64\x0c\xa1\x3c\x03\x66\x0a\x4f\x65\xdd\x07\x3e\x2a\xd0\x99\x51\x13\x2f\x7c\xc4\xf1\x23\x46\x8c\x1d\x36\xa9\x11\x5d\x47\x62\xdd\x05\x23\xe7\x3c\x11\x86\x35\xce\x8a\xb1\x49\xc5\x8b\x31\x3f\xb0\x9d\x57\xd8\x26\x49\xfd\xc2\x75\x42\xac\xe4\x86\xc9\xab\xe8\x5c\x12\xe9\x89\x27\x8d\x9f\x1e\x12\xff\x2b\x8f\x93\x43\x61\x93\xda\xc8\x6a\xe2\x3e\x8f\x13\x22\x0a\xa5\xd3\xc2\x8b\x13\xaa\x8d\xe5\x02\x5e\x24\xd6\xd7\x20\xab\x6d\x4d\xdf\x02\x36\xc8\x88\x7d\x0b\x07\x9b\xa2\x6c\x75\x1c\x1a\x39\x52\x7e\x7d\x4f\xf9\xa5\x9a\x05\x8b\x7a\xc4\xc6\xbe\x0b\x85\xdc\xb1\xcb\x65\xc2\x7b\xa1\xe8\x53\x50\x96\x1a\xdf\x3b\x40\x01\x5b\xf2\xb8\x27\xb3\xf6\xa4\x0f\x60\x8b\x94\x31\x8f\xf3\xfa\x28\x43\x4f\xc6\x61\x1d\x7b\x3e\x76\x42\x43\x21\x33\x0a\x6f\xb8\xf6\x07\x56\x44\x1a\xb1\xed\xd0\xdf\x4b\x13\x72\xa4\x54\xf2\x2a\x78\xd5\xda\xb0\x45\xea\x60\xa4\x76\x0f\x07\xf8\x4d\x18\x22\x16\xbb\xb0\xc7\x54\xa8\x8e\x19\xa0\x6c\x0a\x72\x8f\x0d\xd5\x8b\xe1\x6a\xd2\x1c\x84\x84\x6d\x50\x3a\xb5\xae\xf1\x1a\x73\x2e\xb2\x4d\xc1\x97\x5c\x76\xc9\x27\x14\xe3\x29\xfb\xbb\x3b\x9f\x9c\xf5\xa0\x28\x09\x46\xc5\x26\x5c\x4f\x71\x02\xae\xa3\xa7\x2c\x2e\x66\xdd\x26\xab\x36\x05\x77\x8f\x5b\x86\xd0\xc1\xd8\xca\xce\x76\x2d\xb7\xca\xbc\x81\xe9\x21\x3d\x18\x3b\x4e\x0a\x28\x55\x3a\x6f\xeb\x65\x23\xac\x21\xce\x76\x52\x43\x97\x16\x20\xd2\xc8\xbe\xed\xf6\x93\xd8\x24\xf8\x04\x27\x3a\x31\x69\xea\x85\x71\xdf\xf0\x7b\x64\x7b\x43\xb8\x00\x85\x40\x78\x7f\xfe\xb1\x43\xac\x64\xaf\x11\x38\xb4\x6c\x6f\x95\x93\x45\xe3\xb0\xf6\x45\xf3\x30\x3f\x80\xe8\x83\xf0\xa8\x3a\x8f\xb3\x57\x47\x08\x02\xd8\xd6\xc6\x75\x1e\x67\x2e\x8a\x86\x25\x3a\x00\xef\x80\x9b\xeb\x3c\xc1\xa6\x4a\x68\xb8\xda\xcf\xd8\x8b\x29\x67\x2f\x1b\xf4\xb2\x1f\x79\xd8\x21\x44\x21\xe4\x61\x46\xb0\x5b\x4d\xa4\xab\xb6\xe5\x43\xc2\x13\x00\x33\x1a\x9e\x0f\x49\xea\x7c\x7c\xbd\x26\xc7\x88\xcd\x0e\x38\x08\xae\x53\xa8\x57\x9f\xd9\x01\xa5\xa7\x6c\x8e\xaf\x4c\x79\xaf\xf9\x40\x81\x42\x88\xf6\x2e\xd5\x8f\x41\x8e\x5b\xae\xb5\x30\x80\x5e\xe2\x7b\x40\xd9\x88\x4b\x8d\x7c\xf5\x21\xa0\x83\x5e\x5b\x6c\x51\x72\x54\xd3\xa7\x00\x23\x60\xe7\x70\x42\x1f\xe8\xc4\xa4\x4a\xb2\xae\x05\x5a\x07\x0d\x4d\xda\xec\x2d\xf7\x4c\xd3\x5d\x52\x9d\xc9\x79\xa4\x1c\x03\x59\xa6\x76\x51\x50\xc2\x73\x7d\x57\x12\x79\x0c\x33\x70\xe0\xea\x57\x23\xa4\xd1\x87\x91\x95\xc7\xd9\x44\xaf\x25\x3c\xe1\x92\x3a\xad\xed\xa4\x09\xa4\x0a\xf8\xc4\xb5\x0a\x52\xd1\x5b\x3e\x9d\x10\xf9\x48\x31\x8e\x99\x40\xf6\x73\xbb\x65\x20\x2b\x25\xcd\x1d\x01\x41\x08\x90\x1d\x07\x5b\x1d\x08\x92\xb4\xac\x83\x3e\x18\x0d\xc0\x5d\xc4\x71\xde\x8e\x41\x11\x5c\xb7\xa9\x5b\xc1\x7f\x0b\x4e\x0c\xf6\xde\xd6\x90\xaf\x07\x87\x77\x32\x8f\x7b\xd3\x1a\xc0\x27\x58\x43\x37\xab\x3e\x8f\x73\x7a\x90\x98\x0e\xc7\x39\xfe\x26\xa9\x96\xc4\xc0\xdc\x26\xec\x95\x26\xc6\xdb\x23\x09\xc3\x45\xce\x28\x0a\xc0\x5e\xc7\x0c\x0c\x94\xa8\x28\xc9\x0f\xc5\x0f\xe0\x77\x49\x6e\xd8\xbd\x3a\x92\x7f\xf8\x65\x4b\xc2\xd7\xea\xf9\x1b\x10\xd5\x64\x77\xf9\x0e\x48\xb2\xa9\x93\x02\x14\xae\x84\xe1\x5b\x91\x79\x5d\x75\x4f\x8b\x77\xe0\xb4\x94\x51\xb7\x99\xf9\x5d\xc6\x24\xd8\xe1\x49\xb0\x41\x3c\x49\xb0\xbd\x5d\x39\x10\x08\x36\x84\x18\xf8\x98\x69\x4e\x0f\x34\xca\x29\xba\x0e\xa4\xae\x00\x17\x9a\x4d\x97\x7c\x0a\xf4\x5d\x41\x9b\x4c\xd2\x74\x6e\xa2\xdb\x8b\x4c\x1e\x18\x84\x3f\x39\x9e\xc9\x13\x0e\x0a\x18\x31\xf0\xbe\xc7\xd7\xdb\xab\xe0\x8b\xd9\x21\xc6\x89\x32\x8e\x99\xc2\xa7\xb9\xcb\xb6\xfd\x72\x7c\x65\xd4\xf9\x1b\xe1\x0b\x23\xbf\xde\xa7\x5d\x98\xed\xcd\x07\xd7\x5f\x9c\x2e\xec\xfd\x18\xcb\xb1\x7d\xc3\x15\xac\x3f\xba\xe7\xd4\xcd\x65\xff\x40\x8e\x61\x46\xb4\x2d\xf9\x80\x08\xf0\x36\x62\xca\x83\xb1\xc2\x95\xe0\x8d\xe7\xbd\x68\x25\x8c\x8b\x2a\x1b\x94\x44\xa9\x09\x28\x87\xf4\x6b\xf5\xd8\x0a\xfd\x84\x8d\x0a\xce\x97\x3a\xd0\xb6\x2f\x60\x72\xee\x10\x1d\x16\xca\xf8\x29\xd5\x4a\x9d\x2f\x5b\x76\xdb\x12\x6c\xd3\xa0\xac\xe0\x47\x41\x6a\x21\x13\xe3\xdf\x5e\x1a\x08\xad\x26\xa6\x4f\x4a\x93\xeb\xdf\x7e\x0f\xb0\xdc\xf9\x76\xbe\x13\x0c\xde\x73\x58\x80\x2c\x99\x2f\x8a\x9b\xe2\x9f\x0d\xeb\x97\x40\x12\x0d\x1e\xfd\xd2\x2d\x58\x15\x86\x6a\x80\x6d\xa0\x8a\xf2\x19\xce\xe9\x75\x5c\x84\xeb\x48\x2a\x64\xab\x09\x7f\x86\x54\x30\xcb\x38\xd0\xa4\x76\x45\x03\x8e\xdb\x7d\xd3\xe5\xeb\xc5\x1d\xd3\x06\x7d\x15\x7c\xfa\xe8\xbe\xc4\xda\xf9\xc1\xc8\x4a\x5f\xf2\x38\xcd\xbe\x10\x4f\xbd\x84\x2a\x56\xb0\x2d\xcb\xb5\x20\xa2\x20\x6c\x0b\xcc\x56\x1a\x35\x0f\x7b\x4a\x68\x6c\xef\x11\x0f\x05\x60\x56\xc0\x91\x03\xd0\xa6\x01\x3f\xec\x7a\xda\x72\x6f\x22\x44\xaa\xe8\x0a\x06\x79\x96\x7e\xc3\x92\x28\xa6\x90\x3f\x80\x66\x5b\x67\x77\x2b\x45\x57\x99\xfc\x21\x8c\xad\xe4\x27\x23\xeb\x7c\xe7\xa8\x27\x30\xcc\x0e\x69\x62\x40\xf8\x93\xf9\x0d\x5c\x5a\x60\xad\xf2\xac\x25\x9b\x97\x86\x8e\x90\x50\x74\x25\xf1\xfd\xfc\xfd\xc8\x8e\xa7\x64\xb6\xf4\x30\x9a\x17\xbe\xbc\xb6\x19\x98\xad\x15\x5e\x87\x74\xb2\xdb\xcd\x29\x6c\x50\xcc\x81\x83\x15\x9d\x56\xe2\x8e\x2a\xab\x1d\xe9\x29\x86\x55\x43\x6f\x49\x80\x94\xbc\x69\x6b\x4f\x3e\x70\xc0\x14\xb2\x6b\x7e\x41\x25\xad\x37\x6b\x9a\xb8\x46\xf8\x64\x04\x2b\xac\xc4\x3d\xe7\x04\xa0\xbc\xc4\xe6\xcb\x11\xe8\x93\x93\x78\x08\x41\x59\x59\x18\x5e\x2b\x30\x49\xae\x67\xb1\xc8\x61\x36\x5a\x88\x4b\x94\x12\x76\x6a\xa8\x4e\x4a\xa4\x10\xdc\x30\xee\x07\x60\xac\xc1\x40\x00\xec\xc4\x25\x96\x89\x8b\xed\x49\x86\x00\x58\x2e\x29\xb3\x73\x2c\x93\x9d\xa2\x19\x61\x7d\xcf\x08\x07\x74\xd2\x5e\x17\x5e\x06\x35\xeb\xfb\xeb\xc6\x69\x10\x09\xc2\xf6\x33\x8c\x7d\x7b\x4a\x1c\xfa\x05\x12\x6d\x43\xea\x39\x79\x07\xf6\x6a\x19\xa9\x54\xc7\x62\x87\x69\x1e\x9a\x32\xf7\x83\x02\x9f\x26\x8f\xa9\x7e\x56\x06\x30\xf2\xd8\x18\x11\xe9\x62\x0e\x97\x9d\x62\x59\x60\x1a\x02\x5d\x26\x78\xa9\x24\xb4\x1b\xf0\x1c\x10\x12\x84\xd6\x3e\x5f\x5b\x0f\xed\x00\x60\xc8\x78\x02\x47\xb2\x91\x41\xc7\x9e\x45\xcc\x6a\x34\x60\x0e\xcc\xb3\x04\x86\x6c\x4d\x60\x2a\xe4\x32\xe7\x59\xe3\xf3\xed\x83\x8a\x6d\xe4\xc8\x29\x68\x59\xfd\x29\xd2\x93\x64\xd5\x0f\x4e\xda\x50\x89\x35\xab\x62\xc2\xea\xc8\x06\x40\xf9\xfb\xdc\x23\xa5\x4e\x70\x9e\x41\xdd\x66\xaf\x62\xe0\x19\x3a\xdf\x9e\xee\xfb\xbd\x02\x4f\x15\xbe\xcc\x9e\xa0\x84\xb0\xb0\x60\x58\x26\x29\x87\x72\x53\xd8\x3f\xe2\x88\xbd\x32\xdf\x87\xde\x6a\x13\xcb\x0d\x8e\x14\x9c\x38\xea\xf8\xd0\xc4\x14\xff\xee\x32\x41\xda\x7a\x7f\x18\x14\xd6\x65\x46\xba\x5b\xba\x94\x2e\x37\x6a\xd0\xdc\x71\x0a\xd4\x45\x68\x14\x6d\x6e\x5b\xe9\xf1\x40\x1d\x18\xa0\x7e\xa9\x15\x9e\xf0\x52\x66\x70\xed\xd5\x79\xcc\xcf\x1a\xc7\xf4\x00\xb0\xd5\xba\xcd\xe3\xb4\x3c\xa1\xda\x37\xc4\x0a\xad\xcd\xe3\x6e\x94\x02\x83\x4e\x80\xe6\xd3\xe7\x78\x32\xb7\x21\xc8\x04\x2d\x98\xf4\x6e\xc4\x43\x40\x67\xe1\x0d\xcc\x64\xce\xb4\x8e\x39\xd3\xdc\xea\x1a\x3a\x62\xc5\xf2\xe6\x3e\x1d\x2a\xa4\x09\xe4\xec\xb9\x08\x3e\xd9\x5f\xe3\x4e\xb5\xf8\x01\x69\xc7\x4b\x1e\xe7\x14\x7d\x00\xf2\x43\x08\x06\xc8\x5e\xc5\x0b\x62\xef\xdc\xce\xc9\x7b\xb1\xbd\xb4\x01\x84\x07\x00\x59\x0d\x90\x58\xa0\x5e\xf1\x8e\x6f\x5b\x4f\x5c\xa4\x8a\x2d\xdf\x62\x71\x29\x07\x84\x04\x93\xf8\x38\xbe\x06\xd0\x37\xc0\x13\xc7\xfe\x92\x10\x78\xc0\xb3\xc4\xbb\x71\x3d\x07\x9c\x75\x3d\x06\x0b\xdb\x66\x74\x94\x0a\x56\x70\x32\x6f\xf6\x24\x95\x65\x52\x64\xfc\x3b\xf1\xa2\x7c\x7f\xa7\xee\x1c\xb7\x4e\xf6\xae\x27\x92\xe4\xcc\x07\xf4\x9b\xec\x75\x87\x1a\x1a\xf0\x77\x6d\x37\x9c\x55\x6f\xa8\x1d\x7d\xab\x46\xfc\xcd\x4d\x8e\x27\x01\x6c\xb3\xb9\x1d\x76\x01\x02\x5d\xb1\xeb\x85\x25\x5e\xb7\x0d\x5e\x6d\x5e\x78\xbe\x32\xda\x67\xd5\x9d\x2f\x3f\xe6\xe5\x29\x39\x2a\xef\xe4\x0a\x02\xb8\x0b\x8e\x79\xe0\x30\x59\x96\x3c\xa6\xfa\xdd\x01\xcb\x87\x64\x19\x83\xbf\xca\x7c\xef\x14\x0b\xc4\xa5\xfc\xa8\x02\xb1\xa4\xfa\xa5\x4b\x18\x70\xd1\xfa\xcd\x9e\x58\x77\x2a\xdb\x79\xbc\x78\x3b\x4f\x79\x58\x34\x37\x63\xbd\x6c\xa0\xf9\x65\x9d\xdc\x00\x95\x1b\x40\xa3\x6b\x61\xd4\xf2\xde\x8f\x37\x08\x11\x0c\x47\x2b\xd6\x9f\xfb\x6c\xcf\x5d\xd0\xe9\x36\xf7\xb5\xf8\x98\x9e\xa3\x91\x92\x78\xae\x63\x43\x20\x33\xbe\x72\x88\x8d\xb3\x63\xfb\xf1\x44\x92\xb2\x7a\x24\x15\xde\x72\x2d\xd9\x49\x64\x24\x52\x6b\x4d\x42\x85\xfa\x18\xd6\x66\x98\x0b\x54\xa5\x92\x84\x3e\x30\x1a\xa8\xaf\xa9\x92\x57\x64\xbf\x0c\x68\x4f\x0d\x7d\xce\x41\xca\xa2\xf8\x35\x80\xb3\x9c\x92\xf5\x20\x7e\x9b\x72\x26\xb6\x45\xd5\x47\x42\x48\x26\xfd\x71\x9f\x2e\x90\xfd\xfd\x2c\x44\xed\x68\x2a\x8b\x99\xc9\xac\x4d\xc5\x2f\x5a\x8b\x31\x25\xb0\x99\x56\x3d\xc4\x57\x75\xc9\xe3\x7c\x86\x15\x5b\x0a\x41\x2e\x99\xc7\x0b\x48\x46\xc8\x88\x74\x40\xc9\x04\xce\x9d\xac\xa1\xc3\xfd\x70\xbc\x90\x2a\xc2\x8c\xc1\x92\xd3\x7a\xcc\x87\x7d\xc8\x22\xd5\x3c\x4e\x62\xe2\xe4\xb0\x06\x1c\xcf\x3c\xe6\x27\x89\x3d\x5c\x14\xc0\x0a\x7d\x1e\x77\xdb\x76\x20\xcc\x31\xc2\x1a\x56\x7c\xa8\xfb\x87\x78\x82\xcd\x26\x18\xe5\x44\x9a\x46\x4b\x5a\x4f\x8f\x3d\xdc\xb1\x61\x1c\x26\x06\xe6\x40\x40\x0d\x74\x95\x34\xd8\x73\x42\xc3\x3e\x4e\x1d\xad\xc9\x24\x39\x30\x26\xd0\x56\x9b\x4c\xdc\x7b\x92\x90\x0e\x0b\x69\x86\xba\xe2\x49\x32\xd0\xde\x9a\xf1\x06\xd0\x43\xb2\x96\xcc\xb6\x0f\xc4\xc9\x11\x6a\x9b\x50\x99\x41\xdc\x0c\xf7\x69\x9d\x16\xa0\x84\xee\x3e\x64\x92\x73\x7a\x56\x93\x34\x05\x5e\x49\x1d\x0b\x0e\x57\xda\x8c\xa7\xbc\x33\x90\x9c\x2d\x7a\xd2\x7a\x52\xf5\x21\x1e\xd3\x2c\xf3\x9d\xbb\x41\x1f\xbf\xd5\xa6\xac\xce\x5f\xd6\xa0\xec\x1c\x98\xa6\x2e\xc5\x57\x26\xb3\x33\xc0\x31\xf5\x28\xdd\xd5\x43\x9e\x27\xa9\x8b\x5e\xdf\x98\xfc\x90\xa7\x00\xda\xf9\xd2\x23\x26\x3a\x76\x36\xab\x57\x62\xae\xf3\x1e\xe0\x90\xf9\xf6\x93\xaf\x9f\x2e\xfc\xf8\x08\x4e\xf6\xe8\xe7\xfb\x10\x6f\xae\xba\x6f\x99\xd2\x1e\xbd\xdf\xda\xe3\xf7\x8f\xa1\xda\x6f\x24\xe0\xa4\x50\x46\x8b\x52\xf5\x86\xc7\x91\x90\xb6\x35\x74\x11\x01\x26\xb0\x24\x5a\x23\xf6\x0d\x03\x95\x34\x93\x14\x47\x6b\x54\xb5\x9e\x72\xc6\xe6\xfb\xeb\x96\xab\x96\xec\xb6\x72\x32\x93\xc1\xa7\x64\xbb\xc1\xe8\xf0\xb7\x61\x8b\xc6\x3e\x0b\xde\xe0\x1d\x5c\x26\xee\x13\xd2\x0b\xff\x0e\xc3\x30\xc6\x37\xa0\x88\x4d\x18\x8d\x7c\xd5\x29\x4f\x76\xb1\x30\x67\x3b\x05\x96\xcf\x31\x8d\xf9\x92\xba\x21\x7a\x9f\x23\x5b\x24\xb1\xfe\x01\x73\x17\x5c\x42\x75\x32\xcf\xd4\xe2\x90\xbc\xd1\x00\x3a\x39\x2f\x97\x53\x19\xf9\xcb\xe6\x87\x04\xcf\x9f\x3a\xf4\x6c\x07\x0d\x44\x7e\x00\xc3\x22\x9d\x14\x7b\x46\x73\xe9\xbd\x7d\x3d\x97\x67\xda\x84\xaf\xcf\xf1\xf8\xef\x3f\x9f\xfe\xbf\xff\xf5\xf4\x67\xff\xfe\xef\xff\x75\xf8\xc3\x1f\xff\x52\xfe\xfd\xf4\x87\x3f\xfe\xf6\xf0\xe7\x7f\x17\x6d\xf2\xef\x5a\xe5\x5f\x7e\x78\x8b\x69\xbe\xc5\x34\xdf\x62\x9a\x6f\x31\xcd\xb7\x98\xe6\x5b\x4c\xf3\x2d\xa6\xf9\x16\xd3\x7c\x8b\x69\xbe\xc5\x34\xdf\x62\x9a\x6f\x31\xcd\xb7\x98\xe6\x5b\x4c\xf3\x57\x8c\x69\xbe\x3e\xf9\xfb\x05\xfb\x95\xeb\x67\xec\x57\xfb\x97\x1f\xde\xe2\xa1\x6f\xf1\xd0\xb7\x78\xe8\x5b\x3c\xf4\x2d\x1e\xfa\x16\x0f\x7d\x8b\x87\xbe\xc5\x43\xdf\xe2\xa1\x6f\xf1\xd0\xb7\x78\xe8\x5b\x3c\xf4\x2d\x1e\xfa\x0f\x19\x0f\x3d\xfe\xf6\xf4\xe1\xf3\x61\xd0\xdf\xdf\xe4\xc8\xb6\x30\x74\x6a\xc8\xa8\xd3\x74\x2e\x83\x11\x4c\x74\x12\x23\x36\xc4\x19\x62\x23\xa5\xe1\x81\x8e\xa1\x9a\xfd\xa9\xd7\x84\x08\x41\x3f\xa2\x9e\x5d\xcc\xc9\x75\x36\xcf\x77\xaf\xc1\x57\x8e\xa4\x63\x43\x6b\x82\xb2\x50\x85\xef\x8c\xe2\x81\x15\x39\xa0\x71\xf7\x2e\xe5\xd1\x42\xad\x6d\x24\x68\x59\xad\xa9\xa7\x9a\x09\x0a\xee\xab\x06\xbf\x08\xdd\xce\x77\x0d\x8f\x95\x50\xfb\xdb\x82\x89\x0c\xf6\x79\x9c\x28\x01\x88\x9f\x8d\x58\xe3\x78\x12\xf3\x16\x41\x89\xb5\x6f\x68\x92\x9d\x4d\x5e\x6b\xcb\x13\x78\x6c\x8a\x1c\xc9\x44\x0e\x64\x46\x76\x31\x19\x5a\x42\xfb\x34\x74\xf8\xcd\xe3\x6e\x13\x57\xc4\x3e\x14\xed\x6b\x00\x65\x33\x5b\xba\x16\xd6\x77\x06\xd0\xa2\x3c\x22\x92\xd4\xa8\x03\x1f\x5e\xc2\x50\x86\x0f\xcc\xb3\x0f\x7e\xd5\x01\x3d\x96\x46\x0f\x56\x0a\xa1\xed\x17\x8b\x36\xad\xd7\x89\x30\x84\x46\xbf\xd0\x86\x34\xe3\x28\xa4\xcd\xe0\xe9\x3c\x50\x1d\x74\x89\x29\xb3\x85\x49\x99\xbd\xbb\x65\x1e\xa7\x36\xd9\xe0\x21\x46\x2f\xbb\x3a\x8f\x73\x3a\x8a\x66\x96\xbd\x6d\xfb\x4c\xc0\x15\x26\xc3\x0a\x92\xcf\x2e\x19\x9a\x3d\xfc\xf2\x2b\x07\x29\xc4\xcc\xcb\x7c\xd9\x7d\xe7\xe8\x32\xbb\xed\x71\xe4\x35\xbb\x30\x48\x48\x94\x91\x9a\x7c\x23\x47\xb9\xb2\xef\xe5\xca\x68\x8d\xa9\xa6\x4b\x23\xc4\xcf\xf7\x61\x51\x67\x38\x11\xb6\x35\x5b\xea\x81\x7f\x65\x8f\xd6\xbe\x92\xa3\xd7\x20\xeb\x69\x4d\xd3\xad\x18\x1c\xc6\x40\x4e\xd9\x8d\x04\x80\x35\x08\x31\x67\x55\xbb\xce\xe3\x34\x57\xd1\x29\xb6\x51\x1d\x12\x7f\xfb\xbb\x0a\x1d\x1e\x4d\xca\xd0\xa8\x6c\x7a\x3a\x80\x78\x82\xf8\x64\x95\x7e\x8d\xb3\xc7\x08\xb6\x84\xf4\x87\xce\xc0\x4d\x52\x63\x12\x21\x2b\xed\xa0\x33\x10\xa5\x57\xdd\xbd\x81\x1a\x8c\xe0\xd9\xde\xb7\x3d\x40\x09\x1a\x9a\xe9\xa0\x85\x21\xfa\xef\x16\x74\xd1\x28\x8e\x22\x76\xbf\x60\xcd\x88\x31\x50\x7f\x41\x9c\x71\xd8\xd6\x0b\x11\x02\x53\x67\x9d\x8f\x09\x2c\x1c\x8b\xc2\x4b\x1e\xe7\xba\x76\xa0\xd9\xc3\xd0\x11\x34\x65\x14\x83\xbb\x3a\xfb\x22\x65\x7f\x53\xaf\xed\x00\xa5\x6f\xc9\xe3\x5c\x1e\xc8\xba\x1e\x6a\x8b\x20\x22\x8d\x06\xea\x86\x2e\x92\xb1\x61\x55\xda\x21\x8c\xad\x1b\x83\x0b\x68\x31\xea\x67\x84\x32\x63\x44\x94\x4d\xd9\x53\xab\x0b\x53\x5e\x60\x98\x40\x09\x44\xcb\x55\x44\x55\xb3\x15\x7e\x3f\x51\x09\xdd\xd3\xfa\xa7\x9f\xb9\xa2\x55\x2b\xb7\x44\x4e\x51\xb4\xb1\x8e\x07\xd2\x3a\xe2\x35\x34\xb2\x1b\x6f\x3b\x4d\xb4\xb6\x22\x7a\xc7\x8d\x14\x7d\x63\xa5\xc3\xd7\xe3\x0d\xc0\x0e\x2b\x75\xe4\x53\x04\x27\xd2\x6c\x07\x79\xf1\x62\xc4\xd3\xcc\xfe\xfa\x08\x28\x48\x5d\x85\x80\x24\xd6\x47\x5b\x8d\x3a\xe2\xcf\x0d\xed\x20\x7c\x64\x77\xaa\x6b\xab\xa8\xec\x2d\xca\xb1\xdb\xd1\xb9\xaa\xb7\xcb\x67\xde\xb2\xdb\x65\x76\xfa\xe5\x7e\xdd\xb1\x99\x89\x11\x83\x1c\x9a\x5d\x86\xbc\xd7\x3c\xe9\x68\xc2\x73\x57\xc9\xe4\x80\xde\x02\xee\xbb\xb9\x0a\x61\x14\x6c\x33\x16\xc1\x6a\x8c\x89\x3a\x3a\x72\x33\x58\xa0\x78\xd8\x47\xa1\xd9\xcc\xcd\x09\x71\x87\x35\x36\xb8\x71\xed\x12\x0c\x2b\xc1\x75\x14\x6d\xb0\x84\x8a\x1c\x6e\xa9\x13\xdc\x0e\x8c\x64\xcb\x2e\xd4\x30\x67\x39\x1e\x76\x4b\x10\x14\xf2\x6c\x8a\xca\x96\x6a\x8e\xa0\x8b\x69\xc3\x90\x05\x09\x0f\x93\xce\x11\xc7\xea\x64\x30\x48\x67\x6b\xe4\xdc\xbc\xd2\x37\x40\x69\x65\xb0\x15\x2d\x5b\x1b\x19\xc0\xf8\x5a\x3f\xa0\x55\xb1\xed\x7e\x77\x06\x20\x1f\x40\x73\x4e\x93\xe9\xee\x76\x9c\x4e\x4d\xbb\x68\x7d\x8a\x44\x53\x12\x1f\x87\x27\x7c\x11\x4f\x14\xa3\x50\x31\x70\xd2\x92\xbf\xcd\xf7\xd9\x0e\x3a\xb3\x18\xda\x35\xc7\x47\xa9\x6b\x86\x05\x25\xbb\xcb\xa3\x67\x42\xe8\x06\x30\xe0\xd0\xfd\x1a\x18\x58\x33\xd3\x21\xac\x16\xe5\x90\x48\xd3\x29\x9e\x8d\x96\x62\x6e\xf1\x27\x12\xe7\x0e\x2b\x53\x0d\xb6\x0b\xac\xf1\x12\x86\xad\xab\xc7\xdf\xe4\x63\xc3\xa6\x1d\x1c\xf2\x96\x39\x78\x5a\xc7\x6e\x4c\x93\x50\x0d\xed\x8f\x82\x80\x88\x6b\x06\x44\x13\x5f\xac\x8f\x71\x30\xca\x0e\xa6\x3b\xe1\x30\x22\x46\xe6\xe9\xe7\xe1\xc4\xb4\x99\x2c\x44\x39\x18\x34\x2f\x38\xe4\x6a\xb3\xce\x74\x83\x46\x52\x7d\x1e\x67\x86\x04\xba\x78\xf7\x10\xf2\x86\x50\xf0\x44\x50\x54\x1b\x4b\x8c\xa2\x9e\xa6\x18\x89\x25\x6d\x33\x01\xa3\x86\x79\x37\x7b\x1e\x2a\x3c\xfc\x8a\xe4\x8f\xb0\xfc\x39\x48\x74\xc0\x47\x8c\x55\x41\xd8\x09\xf9\x40\x54\x8c\xc1\x3c\x4b\xed\x24\x2d\x36\x7a\x50\x57\x8f\xbf\x5c\xa4\xd8\xa9\x24\x98\xba\x4f\x86\x95\x26\x08\xfc\x72\x9a\x69\x01\x57\xb6\x84\x9d\xda\xb0\x30\xe8\xab\xa1\xaa\x17\x71\x08\x84\xc1\x21\xc8\x9c\xc8\x98\xaa\x7c\x4a\x0c\xb0\x65\x50\xe8\x9f\x9c\x10\x58\x1b\xd4\x5c\x34\xcf\xf3\x6c\xa1\x2e\xd9\xa2\x2d\x6d\x4b\xce\x06\xb8\x2a\xd8\xd8\x68\x00\xd3\x49\x1d\xb0\x70\x15\x48\x51\x0c\xff\x66\xc8\xd7\xbd\x37\x5a\x88\x75\x52\x03\x3e\x4f\x81\x2c\x9f\xdd\xd5\x57\x40\x1e\xa2\xf3\x75\x50\xad\x83\x67\xb7\xfc\x79\x5b\xa7\xcf\x31\xbb\xc0\x2b\x1f\x48\xb8\xc7\xdf\x8c\x96\xc1\x9a\xa8\xd0\x2b\x39\xc7\xd7\x25\x07\x9c\xe3\x3f\x12\xcb\x19\x3d\xb8\xa7\x0a\x28\xe8\xaf\x4d\x05\x69\x66\xf0\xef\x15\x3d\x03\xc2\x0b\x9d\xd0\x30\x4d\x44\x01\xc7\xcc\x03\x41\xdb\x77\xd8\xae\x32\xb9\x6f\xc2\xc7\x3f\x84\x22\xa9\x7e\xc4\x57\xa0\x60\xc0\x56\x83\x27\x46\x69\xf4\x44\xff\xb3\xd8\x0c\x9f\x7e\x4e\xa4\xb7\x58\xe2\xf9\x83\x73\x90\x1f\xcf\x16\x5d\xe2\x7a\x26\x0e\x36\xc4\x8c\x00\x0d\x74\xc0\x86\xe6\xca\xc1\xae\x93\x88\x1f\xe2\xe7\xf5\x4e\x43\x3f\xc5\x94\x62\xd2\xb1\x88\x48\x12\x0a\xf6\x0e\x16\x99\x02\xd3\xce\xc1\x98\xc7\x11\x18\x68\xe7\x20\x68\xd9\x80\x45\x07\xac\xfb\x9a\x30\x9c\x6e\x72\xd7\xb6\x99\x39\x03\xee\xd0\xd1\x6a\x13\x17\xc0\xd0\x3f\xfd\x8c\xa8\xf8\x92\x73\x8d\x11\x04\x43\x43\x76\x5d\x41\x02\x93\x65\x60\x63\x91\xd9\x8e\xab\xf4\x33\xf5\x01\xfa\x52\xf4\x89\xc6\xc2\xd8\x6c\x31\xe7\xd9\x34\xb9\x34\x34\x46\x8c\x95\xb0\x33\xd5\x81\xc6\xa0\x6a\xe7\xb8\xfa\x5d\x28\x8e\x75\xdb\x23\x95\x60\xa1\x54\x11\x90\x64\x6a\x3d\x36\x5e\xea\x2c\x07\xea\xc3\xe3\x6f\x6e\x08\x5c\xd3\x8f\xb8\x64\x1f\x7a\x87\x81\x7f\xfa\x39\x58\x4a\x73\x2c\x7d\x5e\x75\xda\xbe\xe8\x0f\x93\xc6\x5e\x81\x4e\x2b\x47\xcc\xe1\x9c\x79\x57\xc7\x04\x0d\xca\xd1\x67\x48\x65\xec\x8d\xf2\x5a\xae\xf0\x69\xcf\x09\x09\x02\x8a\x5d\x70\x4c\x29\x9d\x76\xcc\xef\xbf\x6e\xcb\x7c\x36\x24\x76\x6b\xcb\x18\xf5\x92\x4c\x0e\x42\x61\xf7\x47\x5b\x8b\xbf\x03\x33\x65\x9a\xdd\x35\xcb\x8e\x8d\x74\xea\x96\x8d\x84\xd1\x8d\x5e\xc8\x42\xa9\xd1\x3e\xc8\xe5\x48\x83\x0f\xd9\xae\x5c\x65\xd7\xd3\x90\x17\x39\xde\x19\x01\x09\x73\xc9\x6e\x8e\x21\x21\xec\x10\xf6\xd2\x82\xc3\xb4\x50\xc0\xd4\xc2\x12\x4d\x7e\xbd\x73\xa4\x1e\x42\xa2\x9d\xc8\x07\x08\x88\x8f\x24\xc3\x0f\xa4\x8c\xa6\x60\xf8\x8a\xb5\xc4\x46\x34\x1a\x5d\xe6\x71\xaa\xca\x61\x1a\xf4\x6a\xa7\x8b\xb5\x71\x48\xb8\xc0\x3c\x66\x6c\x40\xd0\x7d\x7c\x0b\x52\x0c\xc6\x1d\x82\x0f\xea\x59\x25\x0d\x45\xe9\x40\x5d\x3b\xb2\x03\x67\x52\x4f\xb0\xf7\xb1\x25\xb0\x6d\x72\x7b\x24\x66\x08\x34\x77\x18\x78\xb0\x8c\xba\xc5\xdf\x2e\x43\xca\x65\x4b\x41\x4d\x8a\xe3\x9e\xbf\x88\x66\x51\x88\xd1\xce\xe3\x74\xaf\x23\xca\x94\xbb\x19\x86\x37\xb6\x6b\x48\xa0\xb8\x37\xc4\xa9\xce\x44\x8a\x14\x73\x88\x36\x5d\x62\x80\x88\x2d\xc6\x23\xdd\x3b\x76\x20\x99\xa1\xa7\x77\x14\xef\x70\x43\x0f\xd5\xf8\xde\xc1\x67\x4f\x2e\xe1\x8b\x77\x1f\xda\x84\xb5\x6d\xdd\xbd\x1b\xfb\x95\xe5\xe2\x1b\x96\x43\x18\xb9\xe8\x30\xb2\xcb\x0f\xb4\x93\x87\x56\x65\xbd\xce\xe3\xc5\xd2\x0a\xeb\xec\xe9\xc2\x00\x19\x6e\x80\xac\xf8\x92\x47\x17\xa2\x3e\x18\xfc\xd5\xbc\x5c\x93\x12\x3a\x75\x18\x04\x17\xd9\xec\xa1\x3f\x81\x0b\xd7\x9e\x31\x10\xe6\x99\xea\x83\x5c\xc5\x67\x23\xec\x99\xfc\xa8\xb3\x91\xaa\xe8\xc1\x68\x68\x5f\xf2\xb8\x27\xc5\xd5\x4e\x35\xf9\xcd\xb4\x0f\x0e\x54\x24\x98\xe8\xee\xa9\x9e\x96\x5d\x5b\x1e\x5f\x7f\x45\xe7\xf5\x51\x91\xe3\x29\xf3\x38\xed\xc9\x50\x4a\x74\x34\x6a\xd5\x01\x1a\xb8\x2f\x00\x9e\xdf\x36\x01\x4e\x33\xcd\x70\xf4\xe4\x0c\x1a\xca\xdb\xde\x71\x51\xf4\x1c\x5b\x15\xe6\x4b\xec\xd3\x6c\x55\x1f\x0a\x7a\x33\x24\x9e\x72\xad\x64\xd5\xc8\x74\x84\xe9\x3f\xdb\x36\xf3\x00\x77\x83\xc6\xfa\xe9\x67\x9e\x4a\x04\x93\x87\x3c\x16\x9b\x2e\x84\x30\x8e\xad\x3b\xa1\x27\x47\x4e\x1c\x76\x74\x3b\xc6\x70\x62\x81\xb3\xe3\x57\x5a\x03\x75\xda\x02\xa1\xa1\x0a\x5f\x9e\x30\xdc\xff\xb1\x35\x86\x07\xd3\x5d\xa1\x89\xc0\x28\x00\xc8\x2b\x82\xc5\x82\x24\xc4\xbe\xe8\x04\x32\x85\x58\x04\x42\xa3\x25\x43\x60\x9d\xc7\x3d\x73\x28\xc8\xbc\x97\x81\xb4\x82\x8b\x59\x88\xd1\x59\x36\x00\xac\xe0\x0b\xb1\xf9\xda\xd3\x66\x35\x48\x49\x08\xf9\x2f\x8a\x24\x06\x03\x9e\x5f\xa3\x36\x40\x45\x07\xe2\xe2\xf1\x77\x51\xf9\x43\x5a\x9d\xa6\xee\x80\x20\x0b\x7c\x5f\x76\x78\xfa\x98\x1b\x20\x60\x0b\x1a\x6e\x3b\x9e\xb4\x5f\x9e\x34\x0b\x13\x20\xa2\xe3\x6f\xe7\x1a\xb1\x8a\x70\xb0\xed\xad\xd8\x60\x6b\x88\x43\x49\x8d\x1b\x33\x68\xde\xe6\xde\x92\xc3\xc4\xd8\x2d\x33\x84\x09\x07\x08\x0f\xdb\xe2\xf9\x05\x65\x28\xd5\x86\x70\x18\x60\xb6\x43\x69\x39\x5d\xf3\x6e\xa1\xa6\x8a\x81\xb6\x41\xda\xb8\x88\xa0\xf1\x45\x70\x7c\xe8\xee\xbb\x2e\xef\xd3\x57\xd1\xa7\x32\x7f\x10\x34\x08\x96\xbd\x4d\xf0\x0c\x51\x7a\xba\xfb\xe3\x91\x23\x41\xa6\xe4\x72\x16\xed\xd4\x8c\x21\x40\x39\x1d\x98\x1a\x1a\x7d\x15\x72\x4e\x85\xcc\x43\x0d\x0d\xe3\x1f\xff\x7b\x87\xba\xcf\xa1\x71\x85\x92\x0a\x9b\x53\xa7\x71\xd9\x3c\xfe\x76\x8f\x12\xfa\x3d\x22\xa7\x07\xf2\x3d\x18\x00\xc2\xff\xf1\xa3\x3d\x2f\x20\x58\x5b\xc8\x49\x50\x90\x67\x51\x00\xa2\x0f\xf1\x70\xf2\x78\x31\x00\x91\x9e\x31\x2e\xd4\x2d\xb1\x03\xa0\xeb\x29\x39\x94\x81\x4e\x0d\x2c\xd4\xb3\x2b\x48\x69\xe8\xb0\x08\x36\x05\x20\x6d\x92\xa6\x07\x0f\xa6\xe4\x17\xc7\x57\xe8\xf4\x43\x62\x51\x47\xaa\x17\x68\x58\xbd\x11\x77\x23\xe7\xb8\x80\xd2\xa8\x46\x03\xfc\x5f\x63\x99\x7b\x66\xd7\x54\xcf\x55\x08\x03\x07\x29\x41\x60\x32\x2c\x21\x06\x82\x9b\x51\xf1\x7a\x08\xce\x0d\xc0\xee\xb4\xff\x90\xd5\x60\x64\x61\x18\xf2\x45\x26\x61\x47\x20\xf6\x33\x2e\xae\xad\xcc\xe1\x28\x90\x2a\xe8\x58\x59\x74\xa7\xd0\x81\x16\x93\x6a\x20\x75\x4f\xa2\xf9\x04\xf4\x56\xf4\x7f\xd1\x20\x91\xb4\xfc\x37\x2a\x78\x36\x48\x21\xc3\x33\x67\xaf\xd3\x4b\x91\xbe\xc1\x4e\x6c\xe8\x58\x8f\x74\x7e\x24\xa7\xd7\x8a\xd4\x0c\xd7\xe0\xf4\x9d\x7a\x09\x13\xe6\x44\x52\x8d\x24\x9e\x66\x2c\xd0\xae\x5c\x02\x3b\x3a\x8c\xe9\xb9\x76\x23\x89\x18\xa9\x97\xb0\xb4\x83\x85\xad\xbb\x17\xd4\x91\xe0\x31\xb5\xf4\xcc\xd9\x45\x3e\xf3\xe5\x58\xf6\x06\x58\xa5\xf0\x59\x68\xf8\xa1\x52\x2f\xbc\xe4\x71\x86\x7f\xa0\xd4\xc9\x43\x43\xff\xa9\x3d\x68\x58\xda\x3a\x2d\x8d\x1a\x27\x23\x64\xff\x1e\x4c\x28\x7e\x06\x0a\xe6\x31\x3e\x41\x10\x0a\x5e\x46\xe8\xab\xab\xc0\x23\x17\xf6\x60\xdc\xaf\x7f\xfa\x39\x0b\x0c\x2a\xb9\xe1\xfb\x1a\x8a\xb2\xd5\xc3\x08\x1d\x66\xc9\x63\x0e\x24\x55\x1a\x28\xd5\x05\xdf\x6d\x31\x64\x6b\x99\x7c\x15\x77\x6e\x50\xcd\x2c\x86\x8c\xaf\x3e\x74\xd2\xa6\xc7\x98\xea\x43\x98\x7f\x15\xea\x37\x72\xf1\x52\xe3\xc7\x93\xd1\x7e\x67\x14\x9c\x85\x13\x3c\x1b\xaa\x8a\xd0\x48\x25\x1e\xa7\xee\x9f\x7e\x76\x32\x96\x65\x84\x64\x7a\xa8\xe4\xc8\x47\x43\xdc\x18\x1e\x1b\x70\x3f\xc0\x58\x63\x67\x14\x3f\x53\x95\x76\xda\x57\x44\xd0\x97\xb8\x1f\xc8\x5b\xbf\xc9\xc9\x2c\x0e\x43\xe9\x18\x0a\xc4\x99\xac\x8f\x23\x8d\xd0\xc1\x91\x33\x3a\xa4\x1e\x94\x82\x8f\x5e\xf8\x4a\x69\xe4\xf0\xa7\xeb\xa4\x36\xf8\xab\x82\x2a\x2c\xb9\xd2\xbc\x1e\x8d\x36\x62\x00\xe8\xd9\xc4\xb0\x20\x18\x6d\xcd\xdd\xb6\xc9\xa5\xb1\x61\xb3\x65\x41\xea\xd2\x61\x3f\x0c\x0f\xe5\xbd\xab\x9c\x11\x9b\xc3\xb8\xf0\xcc\x7d\xef\x76\x9b\x8a\x95\xc4\x0a\x18\xe3\x81\xf1\xab\x75\xed\xaf\x14\x51\xfd\x7e\x07\xb2\x2c\x3f\x71\xed\xe3\x87\xb7\x60\xc2\x5b\x30\xe1\x2d\x98\xf0\x16\x4c\x78\x0b\x26\xbc\x05\x13\xde\x82\x09\x6f\xc1\x84\xb7\x60\xc2\x5b\x30\xe1\x2d\x98\xf0\x16\x4c\xf8\xfb\x0d\x26\x7c\xa5\xca\xe6\x0b\x06\xce\x5b\x84\xe1\x2d\xc2\xf0\x16\x61\x78\x8b\x30\xbc\x45\x18\xde\x22\x0c\x6f\x11\x86\xb7\x08\xc3\x5b\x84\xe1\x2d\xc2\xf0\x16\x61\xf8\x96\x08\xc3\x1f\xfe\xf8\xbb\x3f\x1f\xb6\x3f\x7d\xfc\xcb\x2b\x50\xda\x5e\xea\x44\x5b\x17\x39\xb2\x1c\x6c\x49\x05\xd8\x16\x3b\xdf\xfc\x73\xb5\xc5\xee\xea\xcd\x3f\x57\x7b\xb8\xfe\xd3\x56\xfb\xf4\x81\xc9\x17\xa7\x66\x07\x12\xdb\xbb\x9e\x41\xe5\x13\x3b\x92\x3e\x79\x97\x04\xed\xee\xe4\xf6\xed\x35\xcf\x8f\xeb\xe3\x6f\xaf\xf3\x22\x0f\x8d\x1a\x6e\x03\xb5\xf8\xf6\x36\x65\xbd\xb9\x22\x08\x50\x35\xab\xda\x6c\x5e\xf2\xd1\x15\xcb\xed\x05\x9f\x5e\x66\x9d\x23\xf8\xf4\x81\x7a\x7b\x7c\x9b\xaf\xcd\xa6\xd5\xe3\x4a\x6e\x5f\x18\x3b\xb5\xbe\xc4\xf7\x4e\xba\xea\xc6\xc9\xb0\xe1\x42\x75\x5f\x74\x51\x74\xa2\x04\x40\x4e\x29\x10\x77\x0d\x75\xb2\x0b\x5a\x52\x1f\x9a\x0c\xb2\x25\x8f\x3b\xb1\xc6\xb7\x80\x6b\xa4\xe4\x0f\x0c\x30\xab\x50\xc4\x0d\x02\x18\xa5\xe9\x1d\x67\x77\x5c\xc8\x3f\x7d\x28\x4b\x39\x87\xae\xf7\x0d\xab\x7e\x5e\x8d\x5a\xcf\xd2\x34\x69\x60\x31\xe2\xa9\xc5\xdb\x89\x2a\x64\xdb\xf8\xf4\x61\x45\xe9\xde\x18\x9f\xf9\x9e\x6b\x5f\x83\x8d\x1f\xb2\x88\x7a\xf2\xcb\x04\x96\x38\x2b\x69\x58\x50\xdf\x30\x24\x21\xaf\x1c\xa4\x80\x6e\xdf\x3c\x47\xd7\x9f\xdf\xb5\xbd\x74\x57\x18\x35\x67\x0b\x41\xfa\x4d\x77\x0d\x05\xe7\xbb\x1a\xe1\x5e\xb7\xe6\xd7\x01\x28\x5e\xda\x9a\x4a\x7d\xe1\x63\x27\x7b\x27\x14\x04\x34\xdb\xb6\x02\xfe\xee\xdc\xc9\x0e\xb7\x6f\xaf\xf3\x1f\x77\x4a\xfd\xf1\xf7\xd1\x6a\xf3\xe1\xe9\xdb\xb8\x78\xac\x65\xf1\x25\x78\x7c\x47\xbd\x2b\x4a\xa2\x3c\x55\x68\xb8\xa4\xb8\xf6\xe3\xee\xa1\x01\xfc\x49\xe8\xd6\xcd\xf7\x2f\x9c\x99\x5a\xb5\xc3\xfe\xcf\xe5\x52\x6a\x8b\x1f\x86\x19\xfb\xc2\x67\x38\x3c\x78\xdc\xf4\xd3\x07\x1a\x96\xf7\x7b\xf4\xc5\xb2\x3e\xbe\x03\x2a\x4f\x73\x70\xfb\x07\xfb\xd0\x1e\xff\xee\xc9\xf5\x5f\xb8\xe8\x7a\x19\xda\xa7\x0f\x54\xe1\x79\xbb\x4e\xdd\xf6\xfb\xb6\xaf\x4e\xfd\xa1\xd2\x08\x61\xa2\xad\x7f\x65\x8e\x3f\xc7\x37\x97\x38\x9c\x84\xe2\x41\xf1\xc6\xb3\x0f\xa7\x10\x53\x2f\x68\x1e\x88\xbf\xb2\x50\xaf\xe9\xa0\x44\xb8\x4f\xd3\xb8\x13\x6a\x61\x1c\x97\x12\xbc\x16\xc7\x9d\x13\x18\xc2\x52\xf5\x2e\x74\xb4\x07\x4c\x44\xd1\x11\x3c\x11\x93\xd0\xa9\x1e\xbe\x3f\xbf\x8b\xfb\x27\x2b\x30\x98\xcc\xdf\xf3\xcc\x1a\x55\x4d\x94\x82\x30\x82\x51\x99\x19\x3a\xcc\x80\xf1\xd6\x4e\x64\xb0\xad\xad\x7f\xfa\xb0\xe6\x8c\x24\x71\xbc\x2e\x5f\xf6\xfd\xcb\xfd\x34\x11\xeb\x82\x2b\x01\xd1\x6c\x76\xaa\x4d\x3d\x41\xcf\x92\x1f\x7d\xc7\x20\x11\xb9\x09\xa6\xdb\x12\x34\xf1\x3a\x5e\xdf\xc7\xdb\xe7\x78\xd3\x84\xf9\xdc\x10\x42\xc7\xd4\xef\x19\x02\x38\x55\xfb\x65\x2c\xe3\x1b\x91\x57\x9f\xff\xf0\x65\xec\x9a\xc1\x3b\x76\x4d\x5f\xe4\x2a\xd9\xcb\xfa\x58\xf0\x17\x5b\xec\x78\xfb\xcf\x5b\xb9\x5f\x42\x0d\x78\xd6\x86\xf3\x77\xbf\xfb\xdd\x05\x15\xc7\x97\x46\x7e\x0a\xe1\x70\x64\x72\x74\x2a\x2d\xd9\xe5\x3f\x6c\xfb\x91\x0e\x99\xd0\xa8\x3d\xf8\xf1\x51\x42\x19\xda\x0a\x78\x7a\xa2\x08\x68\xe8\x4e\x38\xab\x4b\xbc\xdf\x81\x7a\xe3\x75\xd5\xf8\xef\xe5\x7b\x7f\x8e\x8d\x36\x0c\xe7\x1f\x47\x41\x61\x80\x49\x7d\xdb\x6d\xfc\x6b\x17\x5d\x85\x54\x16\xa7\x5e\x0f\x64\x9d\xec\xc2\x30\x8d\x54\xc7\x19\x92\x37\x2f\x2d\xaf\x98\xc1\x79\x9d\xc2\xfd\x22\x80\xe1\x2b\x49\x3c\xba\x13\x84\x73\xfc\x05\xf7\xc7\x1e\xfd\x9b\x4a\xf2\x0f\x61\xa0\x20\xbc\xf6\x7c\xaa\x76\x9e\x6a\xcf\x6b\x67\xfa\x10\x1a\xd6\x69\xa5\x6a\x54\xed\xd7\xd8\xf1\xaf\xc6\xaa\x7a\xfe\xc3\xcf\xec\xf8\xfa\x2f\x37\x2d\x9c\xf9\xa9\x7e\x90\x7a\xe6\xf9\x89\x96\x51\xa0\x1e\xf8\xf1\x89\x96\x51\x84\x7a\x28\x1a\x4f\xb5\x89\xec\xee\xcc\x9f\xe7\x09\x23\xd5\x8c\x30\x79\xa6\xa8\x3b\x02\x7c\x8f\x1a\x1c\xef\x21\xa5\xa8\xa2\x6d\x3e\x24\x5a\x71\x30\xdf\xa3\x00\xf9\x68\xa5\xd6\x09\x1a\x4e\x63\x9d\xb1\x28\x70\x85\x44\x3b\x2e\x23\x6c\x5f\xde\xff\xbe\x8d\x39\xc4\x98\x16\xff\xa7\xd5\x7f\x5a\x6b\xc1\x4a\xbe\xe7\xce\xda\x5e\x75\x8f\x9f\x2d\x94\x9f\x4e\x23\x78\x2a\x20\x04\xb4\x5e\x1c\x61\x88\x23\xc7\x7d\x86\x7e\xc7\x0c\x13\xe1\xe7\x56\x74\x03\x77\x2c\xc1\x6f\xd6\xe9\xc3\x0b\x26\x03\x83\xca\xed\xff\x99\x22\xf0\x01\x9e\x00\x86\x03\xf7\x33\x6b\x00\xc8\xa4\xef\x58\x03\x68\x95\xa1\x73\x35\xe8\x5d\xdf\xc1\x80\xfe\xf3\xbf\xff\xe3\xb7\x7f\xfe\xe3\x6f\xff\xf2\xdb\x8f\xdf\xe9\x41\xe8\x24\x36\x96\x04\x26\x06\xda\xca\x40\xec\x00\x08\x58\x36\xe0\x18\x3f\xad\xc1\x1e\xfb\x1a\xb2\xff\xc0\x54\x0d\x50\x5e\xb6\xf3\x67\x2d\x40\x30\x1e\xed\x5e\xa9\xf1\x52\xc9\xc7\xc4\x73\xb5\xa1\x64\x52\x57\xea\x63\x77\x2f\xf3\xa9\x52\xd3\x1a\x12\x86\x7d\xcb\x18\x20\x73\x86\x00\x39\xd8\xf0\x98\x27\x60\xd4\x64\x0d\xc9\x1f\x48\x3f\xe2\x6a\xf9\xe3\x45\x49\x8b\x6c\x88\x50\x08\x0f\x6a\xde\xe1\xbf\xef\x80\x9c\x66\x3e\x31\xd5\x6a\x4b\x23\xd3\x8e\x91\xc4\x40\x82\x4f\x61\xac\x4b\x8e\x95\xdb\x22\x4c\xda\xb7\x04\x8e\xd3\x6e\x21\xca\x08\x88\xb4\xe2\x54\xe5\x0e\x2b\xf3\xe9\x03\x87\xf6\xe3\x6b\x27\x45\x36\x22\x00\xbe\x0e\xb8\xb7\xed\x18\x2a\x32\x62\xe0\x4e\xa6\x71\xcf\x1d\x9b\xc6\x7a\x27\x76\xb8\x89\x32\xcc\xc3\xbb\xc7\xb8\xc8\xa1\xa6\x93\xb4\x5f\x32\x1e\x1b\x60\x63\x2c\xa4\x78\x45\xde\x65\x1c\xa7\x69\xe8\x12\x76\x7a\xdd\x26\x02\xe3\xc4\xd9\x40\xc4\x86\x83\xea\xd5\x04\x3f\x9d\x44\xa9\x46\xe2\x89\xa9\x0b\x2c\x18\xd1\x4a\xd6\x8c\xb4\x77\x2c\x24\x92\x8c\x98\xe1\x5c\x17\x69\x24\x1a\xb2\xb3\xc5\xe4\xa8\xf4\x99\x4a\xa2\xa1\x4a\x68\x8f\xbf\x39\x9f\x98\xa1\x4b\x7d\x34\xf5\xd8\x02\x00\x39\xb3\xd3\x2d\x6e\x5b\x4c\xb2\x0b\xf0\x7a\x64\xc9\xe3\xdc\x5a\x02\xb4\xc2\x11\x46\xab\xf7\x79\x9c\x21\xcc\x15\x10\x47\x6a\x1e\x7f\x97\x10\x1e\xa2\xa3\x58\x44\xd3\x3d\xe8\x9d\x20\x53\x87\x58\x23\x2c\xd4\xf4\x6e\xc5\xcc\x63\x14\xa7\xdc\x98\xdc\xc6\x01\x41\x04\xbd\x80\xa0\x71\xef\x54\x06\x23\x42\x6a\xf3\xb8\x07\x50\x07\x35\x40\x19\xf9\xb0\x79\xbc\x0c\x99\xe0\xca\xac\xfb\x71\xf7\x51\xc6\x2a\x9e\xd3\xa5\x6c\xb1\xc4\xba\xc3\x25\x9b\x38\xc9\x40\xc2\x9e\xd9\x3e\x75\x43\xc8\x94\xf9\xd1\x77\x33\x26\xa1\x2e\x7b\xd4\x45\x63\x83\x8d\x85\x67\xc2\x69\xc2\xa2\xc7\x93\xde\x66\xda\x30\x80\xef\xd7\x84\x8c\x0c\x4e\x88\xd4\x24\x37\x2c\x15\x49\x8f\x5d\x57\x43\x7b\x5b\xa9\x95\x11\x03\x43\xbe\xca\x85\x34\xc2\x7c\xb3\x7a\x42\x4a\x03\x0f\x2c\xa1\x2d\x79\xbc\x10\xdb\xaa\xc4\xda\x4f\xf1\x05\x46\x92\x24\x59\xaf\x37\x31\x58\x01\xc8\x73\xef\xcb\x4d\x44\x3e\xc4\x3c\xc8\x29\x31\xc6\x6d\x1e\x27\x87\x88\xdd\x8b\x67\xd8\x82\x8d\x56\xc0\x46\xf1\x92\xc7\x39\xb2\x60\xdc\xc0\x7b\x2f\xb9\x63\xec\xe2\x1d\xae\x37\x59\xc3\x48\x7a\xea\xc0\xa6\x7f\xb4\xdb\x66\xb2\xee\x35\x5d\x58\xf6\xad\xc6\x7b\xb6\x8c\x6c\x29\x3a\x10\x60\x69\x33\xa3\x2e\x33\x3b\x52\x65\x2d\x82\x3e\x04\x25\x78\x16\x76\xd1\x21\x64\x0c\x90\xa3\x66\x88\x06\x61\x23\x09\xc1\xa5\xf1\x37\x99\x39\xb2\x86\xc7\x69\x86\xdc\x1c\x74\x29\x75\xc9\x23\x06\xd7\x47\xac\xe9\x40\x14\x1e\x28\x52\x02\xe5\xf5\x9a\xa5\x37\xd3\xa5\x24\x91\xac\x90\x34\x55\x2e\xd1\xe9\xea\x2b\x19\xd0\xfc\xaa\xeb\x3c\xee\x58\x5b\x68\xea\x80\x2e\x04\xc8\x30\xae\x17\xc4\x6e\x04\x9c\x9b\xde\x3b\x0d\xad\x4b\xa7\xa0\xd1\x8a\x3c\x99\x9d\xac\x83\x27\xd5\xa0\x50\xa1\x5d\x60\x6a\x62\xb7\x1a\xb9\x04\x1d\xec\xef\x6a\x25\xd6\x71\xa2\x52\x2b\x15\x07\xce\x13\x00\x8d\x89\x47\xc7\x9f\xf4\x8e\x9c\x6b\x6e\x3d\xa1\xbb\x5b\x25\x6d\x4a\xde\x07\xc0\xa4\x7b\x36\x7b\x68\x8a\x64\x53\x00\xf3\xd7\xcc\x3b\xd5\x86\x90\x53\xe2\xae\xb5\xe0\x4a\xef\x9e\xae\x1e\x33\x79\xb2\xca\x53\xa6\x0f\x74\x3b\x00\xa5\xd6\xf6\x08\x5f\xe6\xd1\x23\x08\x1a\xe6\x42\xdd\xe3\x30\x70\xce\x87\x0c\x6b\x23\x58\x11\x76\xfc\x55\x6c\x41\x40\x01\x04\x0a\xff\x6a\xf5\xbc\xce\xcd\x96\x69\xbe\xed\xf0\x98\xc2\x6a\x6c\x3b\x40\xd9\x5f\x88\x91\xc4\x63\x97\xdb\x79\xc2\x47\x21\x1c\x35\x23\x0f\x9e\x70\xde\xe9\x0c\xe6\x58\xc0\x44\xb1\x12\x90\x5e\xfc\x8e\x41\x60\x15\x08\x65\x97\xf4\xe5\xe2\xd4\xc6\x23\x26\x48\x1c\x2c\x9c\xfb\x39\xae\x73\x42\x8c\xb7\xdb\xc1\xa9\x69\x6c\xdc\x38\xa6\x43\xb0\x4a\xb0\x8d\x66\xfd\x94\x39\x8b\xcc\x63\x83\xef\x06\x49\xa1\x8c\xb4\x8f\x5c\x1b\xe9\x53\xee\x7a\x27\xe3\x04\x66\xf4\x11\xeb\x25\x09\xb5\x5a\x1a\x31\x92\x51\xca\x88\x67\x8b\x84\xfa\x53\x90\x53\x8c\xaf\x23\x69\x8d\x0a\x8f\xeb\xbe\xe4\xc4\xf0\xac\x1d\xf0\x95\xea\x71\x8f\x89\x08\x98\xa8\x6d\x7d\xc9\xe3\x85\x6e\x43\x2b\x5f\x91\xbd\x89\xae\x23\x16\x37\xd2\xa0\xf5\x20\xf5\x90\x68\x21\x92\xae\x49\x1b\x42\x62\x6d\x69\xd4\x65\x3f\x4e\x2a\x76\x47\x36\xae\x53\xf5\x3c\xe0\xb9\x80\xc5\x0f\x91\x53\x66\x34\x7a\x08\xec\x41\x36\x2e\x3b\x96\x62\x71\xc4\x33\xdb\xd1\x25\x54\x90\x16\x52\x51\x3a\x52\x22\x90\x64\x8b\x78\x90\xf1\xc8\x28\x12\x42\x4b\x33\x6d\x30\x54\x02\xc8\xc9\xfe\xe9\xc3\x6a\xe0\x22\x46\x26\xfd\xb4\x32\xf5\x8a\x0c\x24\xb9\x48\x7d\x3d\x90\xf6\x0a\x84\xd7\x29\x47\x19\xb9\x3f\x99\x91\x21\x53\x31\x40\x68\x4d\x3a\x52\x83\x51\x3d\xe0\x13\xc9\x1f\xd9\x60\xc8\x36\x86\xc3\x9e\x9c\x81\x47\x5b\xf8\x18\x2a\xc3\x09\x34\xea\x30\x42\xbc\xcd\x7a\x0e\x26\x0d\x29\x8c\x6c\x35\x2d\x99\xec\xbb\x52\x85\x2c\x0f\x4d\xda\x3e\x7d\x58\xa9\x56\x0e\x8b\xba\x1f\x42\xb7\x5b\x70\xc0\xd2\x01\x0f\xbc\x80\xfb\xa3\x6d\x00\xca\x37\x82\x7a\xfc\x51\x56\x04\x0a\x27\x06\x50\xcb\xb4\xb7\xf8\xdb\x9f\x48\x02\xcf\xc9\x85\x89\x6b\x2c\x4a\x0f\x0d\x51\x91\x2b\x8f\xcc\xe7\x99\x2b\x21\x68\x95\x80\xbc\x53\x38\x31\x3a\x10\x68\x55\x4e\x4c\x0d\x0c\x2d\xe3\x6b\x48\x27\x08\x15\x6d\xcf\x2f\x4d\xd4\x3f\xaa\x99\x62\x82\xf4\xe2\x58\xbe\x98\x32\xb2\x17\x57\x1a\x03\xee\x28\xa0\x34\x53\xd5\x11\x17\xb7\x4f\x1f\x84\x24\xc1\x00\xf1\xd3\xde\x0c\xa1\x18\x54\x36\x20\x6f\xc4\x67\x26\x59\x8c\x99\x2b\x72\x78\xea\x3d\x97\x25\xf6\x17\xdb\x4c\x79\xc0\x52\x80\xc5\xd5\x9d\x0d\x34\xa4\xdc\x77\x8f\xbf\xe9\xe7\xa8\x2d\x34\xc0\xd3\x4c\x7d\x1e\x71\x6f\x40\x09\xb7\x12\x6b\xee\x8a\x9a\x01\xe5\x5d\xec\x26\x0e\xbb\xd4\x13\xe2\x23\x72\x0c\xb2\x38\x3c\xbe\x64\x6d\x63\x29\xf1\x41\xc7\x97\xd0\xbc\x01\x99\x8d\x0c\x78\xb8\x3e\xf3\xdb\xfb\xc8\x06\x3f\x2c\x70\x37\x01\x00\xdf\x51\xcf\xd0\x7b\x50\x19\x22\x3d\x19\xaf\xb4\xc7\xab\x9a\x98\xf3\x9e\x59\x4d\xe9\x9f\x9e\x08\xe4\x3d\x9e\x9d\x8d\x10\x4c\x36\x2e\xb8\xfd\x5d\xd0\x5e\xa2\x4b\x4c\xae\x80\xa0\x42\x8f\x8c\x65\x0b\x3a\x4f\x69\x8b\xe8\xf7\xd3\x3d\x20\x15\x99\x42\xe3\xd1\xdb\x31\xa7\x30\xed\xce\xa9\x05\x84\x4e\x1c\x96\x85\x23\xbb\xca\xb1\x29\xe6\x17\x2b\x56\xb2\xab\xfc\x42\x93\xe9\xfb\x22\x3b\x21\xe0\x6c\x61\x0f\xd3\x41\x01\x01\x8c\x67\x17\xb4\xda\x91\x01\x15\x82\x1e\xfd\x20\x56\xc0\xab\x1f\x42\x65\x43\xc0\x70\x9f\x7d\x28\x01\xa3\xe1\x31\x56\x5f\x9d\xa4\xb4\x2d\xe3\x17\xc1\xf9\x25\x0c\xdb\x2a\xa1\x63\x84\x1a\xd7\xea\xc9\xa8\xb1\xc3\xc9\xb7\x65\x5e\x6c\xeb\x13\xc0\x9f\x2b\xa2\x85\x38\x49\xfb\x32\xc6\x84\x74\x1a\x20\xd8\xb2\xdf\xb3\x52\x42\xf4\xd7\x0d\x79\x23\xec\x0a\x56\x6f\x2a\xe8\x57\xd1\x5a\xcb\x81\x2c\xd7\x81\x4c\xe9\x43\x0d\x83\x8d\xb1\xde\x07\x8f\x5f\x38\x9e\x41\xdd\xf2\x5d\x24\xbd\xb8\x91\x85\xda\xdd\x43\x22\xab\x1d\x63\x36\xfe\xe9\x43\x03\xe0\xb0\x53\x87\x4e\xa6\x9c\x51\xfe\xb8\xbd\x96\x99\x34\x2d\xb1\x83\xf8\xb6\x3c\x04\xaa\x62\x0d\x25\xf2\x78\x49\x6d\x4d\x42\xe5\x47\x67\xba\x33\x57\xf0\xa6\x83\x90\xa3\x19\x96\x5f\x9a\x61\x09\x42\x41\xa5\x22\x8a\x9f\x87\x94\x24\x9e\x3d\x44\x12\x59\x55\x2e\x26\x13\x87\x5e\x0a\x49\xdc\x6a\x1e\xf6\x8a\x04\x64\x40\x85\xd6\x35\x9a\xcc\xe3\x24\xfe\xb0\x04\x80\x0b\xbc\x4d\x20\x43\xc9\x94\xe0\x9e\x5a\x0e\x8b\x1e\x48\xc2\x42\xd5\x4b\x2a\x8d\xcc\x2e\x3a\xb0\xdb\x90\xb8\xa3\x2a\x48\xb6\xb7\x6e\x30\xec\x42\x81\x62\xcb\xca\xba\xb0\x81\x83\xe5\xc0\xb1\xda\x28\xb8\x65\x09\xc5\xf1\xc9\x82\x75\x0e\x31\xac\x40\xc8\xbe\x30\x61\x98\x0a\x1d\x30\xec\xfb\x71\x8e\x01\x13\x42\x6e\x5a\x87\x34\xc7\xea\xf9\x92\xc7\xa9\x19\x75\x94\x92\x61\x87\xf9\x3c\x96\x6b\x4d\x17\xcb\xd3\xd5\x43\x2e\xcf\x40\x99\x20\x54\xb7\x21\x17\x35\x14\x2a\x83\xa6\x56\x80\x44\xba\x43\x2c\x22\x56\x72\xe7\x7c\x1d\xea\x44\x41\x52\x48\x1d\xa9\x1c\x4b\x28\x04\x76\xa9\xe0\x51\xb4\xf3\xd9\x32\x3f\x09\x74\x1f\x5c\xcb\xa7\x1d\xe4\x86\x59\x08\x66\x21\xd7\x59\x84\x62\xba\x67\xe1\xf9\x2c\xb8\x93\x76\x9e\x9c\xf5\xb2\x60\xcc\x7b\x06\x6b\x85\x7e\x65\x59\xf0\x82\x74\x18\x8f\xa7\xeb\xd9\x76\x07\xd9\x82\x5c\xf1\x68\x32\x6d\x0c\xe6\x03\xa8\x69\x25\x15\x49\xdd\xce\x46\xe8\x2f\x45\xd0\x2f\x66\x7f\xf0\x1d\x85\x3c\xa7\x50\x0b\x63\x3a\xfa\xee\x29\x41\x19\x89\x2c\xa1\x2d\x0b\x24\x6f\xe6\x94\x12\x0c\xf3\x0b\x8d\x66\x8e\x27\xc8\x79\x3f\x5e\xa8\x3a\x86\xb1\x65\xac\xce\x76\xd8\x62\x54\x39\xc6\x28\x33\x55\x65\xe6\xf3\xa1\xc8\xf0\x4e\x27\x15\x64\x9d\x45\xda\x5d\x8f\xf7\xe7\xec\x2a\x10\xf6\xe5\x2d\xc5\x65\x41\x91\x00\x05\x74\x5a\x58\x21\x92\xf4\x6a\x79\x6d\x53\x41\x0c\x7a\x46\x82\x31\xef\xd0\xfe\xdc\xb3\x89\x5f\x3c\x09\x34\xc0\x42\x4f\x1c\xe4\x47\x61\x6b\xcc\xaa\x48\x9d\xbd\x7b\x1c\xb9\xee\xa1\x66\x4a\xd8\x28\x7b\x3e\xb8\x42\x5d\x42\x07\x0d\x98\x6b\x2d\x48\x0a\x1a\xe6\xcc\xbd\x65\xaa\x62\xab\x50\x4b\x34\xf5\x91\x9d\x55\x0e\x68\x83\xa7\x7a\xd9\x09\x48\x77\x6e\xe0\x11\x68\x7a\xd4\xf7\x12\xc0\xec\xee\xa6\x0c\xe4\x71\x60\x8d\xcf\xa2\x30\x9e\x0d\x9d\xb2\xe2\x85\xa1\x70\xf3\x35\x99\x17\x8d\x1b\xfc\x92\x17\x08\xe9\x9a\x19\xa3\xfb\x37\x62\x15\xc0\xe0\xf1\x37\xd7\x13\xed\xc0\x82\x1a\xd1\x10\x6e\x7f\x37\x88\xb5\xef\xe9\x6c\x6d\x9b\xe9\xf5\x3a\x95\xd1\x3a\x81\x70\x5b\x9a\xd4\xb5\x85\x81\x81\x3f\xe4\xf9\xa1\xaf\x48\x42\xa0\x4b\xe8\xda\x61\xf9\xb1\x20\xd9\xbe\x78\x9d\x70\xce\x61\xed\x4c\x38\xfa\xb0\x19\xd0\x22\xee\xd9\x52\xc6\xdc\xe1\x12\x13\x68\x3f\xb1\xf5\x64\x1c\xc0\xb7\xf4\x92\xa1\x0f\x0d\x33\x56\xd0\x6c\x1e\x2f\x9e\xa8\xd8\x5a\x86\x15\xf4\x79\x9c\x4b\x01\x9b\x6d\x9c\xf7\x1c\x2a\xf1\xeb\xb2\xbd\x7b\x44\x70\xe0\x43\xf2\x44\x76\xe0\x0b\x1a\x7b\xb9\xb7\xd8\xfb\xa1\x0b\x5d\xcc\xe2\x62\x41\x55\xcb\x54\x27\xfb\x25\xdc\xae\x1e\xfb\xfc\x11\xf3\xa2\x90\xca\x7a\x06\xfb\xc9\x84\x68\xdd\xd0\x42\xb2\x74\x94\x4c\x35\x98\xc1\xc1\x1c\xb3\x72\x32\xd6\x09\xfa\xf1\xa3\xcd\x39\x49\x37\x84\x73\x90\x2c\xcf\xe6\x01\xa2\xc8\x32\x5b\xc3\x16\x7e\x32\xc8\x4c\xa4\x17\x06\x4b\xc0\x90\x51\x65\x33\x7d\xcc\xb7\x33\xb5\x26\x70\xdc\x3d\x66\xf0\xb1\xcf\x51\x3d\x80\x74\xdb\x4c\x59\x9b\xe5\xaa\xc8\x39\x3e\xcd\xc6\x3d\x8a\x1b\x1b\x28\xd9\xc6\x95\x86\x41\xc2\x02\x8f\x69\x1e\x2f\x84\x4f\x21\x91\x6e\xc2\x8c\x61\xf0\x71\x43\x79\x20\x1c\x76\xe6\xd7\x24\xbd\xbd\x70\x39\x6c\x42\xd7\x8d\xdc\x84\x7a\x68\x14\xf0\x60\xb5\x9e\x48\xdd\x42\x2d\xb8\x05\x12\x52\x15\x28\xcb\x9c\x54\xd8\xc2\xf8\xe7\xbd\xda\x03\x69\xbf\xd6\x01\xcd\x1e\x72\xd0\x3d\x67\x99\x85\x83\x68\xd1\x84\x98\x51\x70\x97\x53\xde\x93\x33\xf4\xd9\x9b\xaf\x4a\x1c\xd6\x57\x2c\xdd\xb8\xa1\x25\x39\x90\x34\xba\x98\x8b\x70\x6d\x17\x87\x82\x99\x6e\x42\x14\x8e\x8e\xfe\x0c\xc8\x1c\x09\x8b\xd4\xbb\x7c\xfa\xb9\x51\x43\x89\x70\xe7\x7e\x24\x1b\x72\x9a\x0e\x63\x4e\xcf\x75\xab\xf7\x7d\xe9\xd4\xd1\xaf\x0d\xbd\x29\xa6\x53\x7b\x85\x97\x42\x0b\x4a\xf8\x38\xae\x23\x23\x54\x2c\xdb\x81\xb2\x63\x99\x79\xb6\x58\xd2\x14\x37\x30\x68\xe0\xfe\xdb\x9f\xad\x1d\x50\x47\x20\xf5\x0a\x50\xae\xa8\x80\xbc\x9d\x17\x8a\x4e\x26\xeb\xc9\xfa\x5b\xd4\x9c\xaf\x34\x74\x0b\x3b\x0d\x25\x13\x08\x55\xd5\x91\xb5\xa6\xe8\x46\x88\xec\x4d\x19\x75\xa9\x54\xab\x9e\x82\x2a\xd1\xa3\x13\x3d\x4e\x60\xf4\xb5\x43\x16\x6b\xd7\x71\x71\x1b\x55\xb2\x2a\x7b\x35\x01\x72\x54\x42\x05\x44\xe3\x41\x56\x5b\xf2\x98\xa4\x9b\x65\x7e\xbd\x87\x19\x92\x8a\x48\xb7\x8a\x64\x7b\x94\x76\x34\x24\xc4\x57\xf8\xb6\x77\xad\x0a\x5d\x70\xbc\xd7\xfb\x4a\x75\x19\x68\x94\x94\x36\x57\x68\x53\xd5\xf7\xda\x48\x06\xb5\xc8\xb8\x59\x85\x4c\x01\x37\x9e\x25\x19\xa5\xc6\x5d\x3b\xfc\xfd\x7d\x84\x6c\xf4\x86\x86\xa3\x0c\xdd\x2b\x14\x38\x2c\x79\x98\x68\xad\xa1\xac\x6f\xda\x5c\x37\x97\xb4\xe6\x17\x09\x57\xe3\x7b\xf1\x68\xac\xc8\x01\xae\xd6\x25\x8f\x53\x58\x86\x7a\xd6\x1b\x72\xb2\x82\xf6\x8c\xeb\x7d\x90\x6f\xcc\xe2\xe2\x64\xca\x59\x5c\xd7\x33\x16\x3f\xd8\xc3\xe9\x62\x90\xc5\xc3\x89\x07\x5c\x47\xac\x0d\xba\x71\xb0\xb5\xeb\xea\x20\xed\x62\xe0\x36\x66\x12\x26\x81\xe9\xfd\xa0\xca\x4b\x8f\xa7\x77\xf5\x29\xd4\xc7\x94\xcf\x68\x62\x86\xc6\x38\x97\xd9\x41\x7b\x91\xfb\x91\x19\x16\xf1\xfc\x43\x28\x43\x9c\x6c\xd9\x54\x66\x18\xb9\x04\x23\x94\x91\x6d\x67\x46\xd7\x5f\x68\x72\xbd\x3e\x33\xe6\x7f\xa9\xd4\x7f\xfd\xb7\x3a\xd3\x40\x32\x5a\x63\x5b\x6e\xbe\xd1\x10\xac\x81\x8f\x20\x74\xc5\xca\xf5\xd8\xc8\x0b\x6f\x99\x11\x40\x23\x1b\xe0\xe2\xf3\x20\x7b\x39\x19\x55\x37\xc4\xb0\xc6\x63\x1f\x7b\xb9\x46\xb0\x82\x85\xd4\x6a\x6b\x23\x53\x7c\x0b\x84\x5a\x2f\x10\x0f\x97\x20\xd6\x7a\x89\x62\xbd\x8b\xdd\x84\xfa\x8d\x59\xf4\xc4\x92\x49\xc3\x61\x24\xa1\x64\xcf\x7a\x66\x15\xcf\x18\xd6\xbd\xa1\xd7\x8a\x93\x75\x34\x03\x25\x91\x95\x9a\xc7\x1c\xda\x7a\x8d\x61\xad\xb7\x41\xac\x78\x4e\x64\x08\x49\xf0\x72\x09\x62\xf5\xfb\x7d\x55\xbe\x2d\x6a\xce\x9d\x5a\xd3\xf4\x69\x40\x66\x3d\x77\x78\xe9\x81\xc9\x04\xe9\x69\x7b\x76\x0d\xdc\x06\xfa\x4b\x03\x5f\x97\x33\xde\x23\x3a\x3c\xcb\x55\x51\x1e\x13\x53\xce\xe3\x25\x72\x70\x69\xf0\x00\xcc\x8f\x32\xec\x1a\x6e\x00\xb2\x02\xda\x33\x5e\xb0\x36\x66\xbf\xa8\xe5\x49\x7c\x8d\x18\x5d\x83\x55\x96\x17\x23\x1e\x2f\x84\xd7\x62\x19\xfe\xfa\xf1\xb5\xdb\x65\x73\x73\xaa\x08\x1b\x5d\x83\x1d\x62\xd9\xd8\xe4\x33\xd1\x35\xf1\x25\x8f\x37\xd1\x35\xfb\x5c\x6c\x4d\x9e\xae\xd4\x17\x62\x6b\xc0\x67\x20\x1b\x48\xdb\x88\xe9\xf5\xfe\x6b\xc5\xd7\x10\xc8\x58\x6e\x62\x6b\xbb\xcb\x18\xee\x65\x50\x5f\xbb\x44\xd5\x6e\xd7\xa7\x86\x66\x6b\xfd\x49\xfc\x11\xe1\x97\x8a\x1e\x81\x7b\xa7\xd6\x8c\x98\xf9\x25\x62\x36\x03\x66\x75\x0f\x98\xf5\x2f\x07\xcc\xe0\x19\x59\x7e\x69\xc0\xcc\x91\x23\xf7\x38\x60\xb6\xc1\xc6\xc4\x1a\x3b\x3a\x5b\xd8\x25\x6a\x16\x4f\x33\x97\xe7\xda\x49\xe5\x49\xd4\x6c\xdb\x8b\x26\x26\x22\x43\x36\x95\xf9\xfb\x0b\x9b\xa5\x73\x2f\x88\xdc\xb3\x41\xeb\x1e\x38\x1b\x87\x97\x22\x67\x21\x80\x67\xe8\x4c\xff\x9a\xa1\x33\x9f\xc7\x47\xa1\xb3\x64\xef\x79\xd8\xad\xb8\x01\xc0\x86\xd9\x21\x3a\xb5\xf2\x5c\x0a\xff\x05\x31\xb4\x02\x5f\xdc\x29\x3d\x0b\x06\x8b\xed\xef\x26\x94\x66\xf1\xb7\xfc\x9a\xa1\xb4\x07\xa7\xd2\x61\xdc\xfd\x7d\x87\xd1\xde\x3d\x0d\xa3\xa1\x28\x70\xe9\xe4\xed\xef\x31\x8a\x86\x55\x57\x5b\x7e\x59\x14\xad\x53\xd1\x3c\xfc\xb5\x62\x68\x9f\x3e\xac\x8d\x5a\xaf\x6b\x18\xdc\xf6\x6b\x44\x98\x6e\x63\x07\xdf\x1f\x61\x92\xd0\xd2\xc3\x14\x3e\x21\x4e\x17\xbf\x10\x7e\x1a\x71\x2b\x6b\x82\x48\xc4\xee\x3a\xed\x43\xd4\xe3\xac\x2c\xbd\xa9\x0b\xce\x66\x9d\x8f\x46\x57\xae\x83\xdb\x21\x6f\x3e\x7d\xd0\x6c\xd8\xaf\xd5\xbf\x31\x32\x72\x1b\x4d\xfa\xf6\xc8\x48\x58\xc6\xc3\xd2\x6f\x71\xa2\xde\x13\x9d\xab\x3d\x8d\xe3\x14\x84\x71\x32\xf8\x88\xf1\x21\xaf\xbf\xeb\xbe\xb8\x76\x20\x6d\x57\x6c\x9b\x10\xa3\x25\x54\x89\xeb\xe8\x52\xbb\x0a\xd9\x72\x01\x31\x43\x84\x11\x1e\x9f\x96\x0b\xfc\xda\x68\xd7\x4d\x30\xa8\x66\x3d\x24\x3f\x0d\x78\xd9\x97\x03\x5e\xab\x92\x85\x74\xaf\x25\x66\xdd\x6c\xdd\x1b\xc0\xa7\x2a\x3a\x9e\xd6\x76\x67\xd3\x73\xe9\xd7\x58\x83\xc7\x2a\x38\x1a\xfc\x6d\xf0\x19\x0e\x35\x1a\x68\xb3\x1d\x5a\x33\x75\x34\x47\x97\x5a\x51\x3e\xa8\x6d\xe1\x42\x65\xfc\xd5\x42\x96\x40\x8d\x41\xc2\x5d\x3f\xae\x88\xf9\xae\x48\xcc\x0a\x56\x91\x31\xdf\xb8\x06\x1a\x81\x56\x45\x8a\x9b\xec\x01\xdf\xf8\x62\x36\x39\xfd\x55\x8c\xb6\xd7\x24\x37\x3f\x32\xda\x6c\x8f\x18\x8d\x2d\x03\x46\xad\x93\x43\x7b\xe3\x78\x34\xf1\x7a\xf4\x10\xdd\x5b\x06\xd2\x96\x0c\xa4\x55\x87\x4b\x87\x4c\xed\x84\xe6\x55\x08\xa3\xf5\xd9\x0a\x2d\x2e\x02\x76\x1a\xb3\xbe\x44\xd2\xd6\x9b\x50\xda\x21\x8c\x95\xf4\xd0\xee\x0a\x70\x0d\x12\x68\xad\x9d\x56\xa3\xc6\x41\x14\xca\xef\x00\x47\xb3\xe4\x31\xbe\x86\xca\xf5\x85\xb3\xd7\xe5\x02\xa5\x15\x91\xb4\x75\x0f\xa5\xe5\xaf\x83\xac\x15\x41\xbd\x5b\x07\x30\x6e\xe2\x71\x8f\x7b\x54\xb1\x2f\x83\xb2\x8b\x5c\xbf\x06\xd3\x2e\xb1\xb4\xcb\xc2\xf4\x6f\xb4\xdc\x84\x9a\xf1\x32\x62\x66\x1b\x50\xf1\x80\x8d\x34\x6a\xfa\xc6\xf4\x91\x6f\xec\x57\x0d\xbb\xc5\x7c\x81\x39\x72\xb1\x29\x26\x94\xc8\xe9\x36\x0c\x97\x3e\xde\xe5\x79\x10\xae\xb6\x79\x7c\x14\x86\x6b\x2f\x86\xe1\x20\x2b\xc0\xd4\xaa\xbf\x18\x88\xe3\x79\xfc\x3b\x0d\xc4\xdd\x86\x50\x66\x20\xee\xb4\x07\xde\x62\x15\xe1\x2c\xb8\x38\x72\x67\x18\x0e\x0e\xda\x3a\x8f\xcf\xc3\x70\x6d\x1e\x5f\x13\x86\x3b\x5d\xc2\x6e\x5f\x8e\xba\xe9\x25\xea\xd6\x66\xd0\x2d\xf6\xe2\xf2\x28\xe4\x16\x32\x43\xf3\xb0\xf3\xff\xb6\x47\x5b\x79\x3f\xde\xc6\xdb\x12\x2a\x64\x1e\xf7\x29\xfa\xf4\x4d\x3e\x09\xc0\xdd\xae\x9e\x09\x43\xab\x7d\xba\x7c\x3a\x51\x83\x6e\x23\x50\xc5\x60\x3a\xfe\x4f\x89\xd5\xf1\x3c\xbe\x32\x56\x77\x60\xd4\x9f\xe7\xf1\xea\x69\x67\x98\xdd\xbf\x66\xf0\xee\xea\xda\x94\xbf\xb3\xe0\x9d\xdf\x04\xef\xfa\x5f\x21\x78\x07\x8f\x07\x6e\xbf\xb7\x34\x4e\x60\xa7\x34\x7d\xf5\x6f\x13\xb6\x93\xbf\x61\xd8\xae\xbf\x14\xb6\x43\x2d\x27\xa7\xbe\xf8\x72\xe0\x0e\x01\xab\x9a\x87\x67\x61\xbb\x9e\x15\xef\xdf\x11\xac\x43\x6c\xce\xaf\x71\xd3\x5f\x12\xae\x93\xb1\xc7\xeb\xfa\x17\xe3\x75\xf2\xaa\x78\x5d\xbd\xc4\xeb\x66\x34\x37\x8c\x69\x40\x1c\xd6\xaf\x44\xec\xae\xc9\x04\x29\x08\x1a\x18\x2b\xb0\x49\x76\xbf\xcd\xec\xad\x9b\xa1\x4e\xf8\xa9\x0c\x51\x41\xd0\xa8\xde\xd0\xe8\x1e\x9c\x7b\x94\xb9\x72\x09\xcd\x05\xe9\x5d\xb2\xa6\x33\x38\x77\xda\x83\x71\x2f\xc5\xe2\xda\x57\x43\x71\x7e\x13\x8a\xd3\x0c\xc5\xb5\x31\x63\x71\x9a\xb1\x38\xb4\x95\xcf\x10\x16\xff\xbd\xc5\xb0\x3e\xf0\x4c\x91\x6c\x61\x19\x69\x10\xfb\x10\x84\x96\x3a\x1c\xbb\xd7\x1a\x0b\x60\x90\x74\x78\x3f\xd0\x93\x7a\xf4\x69\xd6\xdd\x8c\xae\xc0\xa9\xfd\x68\x70\xe5\x32\xb6\xdd\xc1\x86\x44\xc2\xec\x6d\xef\xf5\x7e\x50\x2d\x63\xe9\x24\x7f\x8b\xe8\xcb\xcf\x37\x41\xa5\x9c\xb6\x65\xa8\xa8\x2f\x79\x4c\x9b\x2e\xcc\x38\xcc\xf0\x84\x17\x64\xb7\x8c\x7d\x69\xf5\xa6\xa3\x6f\x49\x39\x19\x3c\xfc\x3a\x61\x60\xb1\x4e\x60\x9f\xfc\x45\x18\x74\x8a\xa2\xdf\x51\x1c\xc1\x34\x7d\x12\x4c\x6b\xbf\x6a\x30\x2d\x21\x0c\xc3\x86\xb5\x78\xce\x16\x36\x6c\x05\x70\x84\x4d\x10\x9b\x7d\x99\x6f\x1e\x5d\x10\x56\x48\xbd\x76\x8d\x1e\x02\x17\x78\x00\xd4\xeb\x51\xac\x11\x4b\x04\xc0\xad\x5e\x63\x6e\x03\xd8\xc3\xc8\x3c\xfd\xab\x05\x41\x85\x46\xa6\x01\xda\x71\x45\x20\x79\x4d\xc6\xd1\x67\x1c\x19\xbd\x82\x43\x08\x58\x02\xc3\xcb\x0c\x22\xd7\xbd\x33\x7a\xff\x2e\x20\x0b\x1c\x4f\xff\xe7\x2f\x7f\xd8\xbe\x56\x23\x96\x26\xc6\x22\xc7\x1e\x1c\xf3\xb4\x3a\xd5\x8e\xe2\x01\x6d\x77\x22\xf7\xac\x80\x81\x17\xb9\x73\xea\x2a\x61\x9b\x55\x5d\x0d\x6d\x84\xbd\x8c\x95\x9a\xdc\xc9\x7d\x5c\xe0\x6b\x0d\x79\x6f\x87\xf4\x65\xab\x12\x25\x6a\x4b\x98\x89\xd5\xfb\x09\x88\xa6\x8b\x53\xab\xf5\x8e\xfd\x7e\x04\x43\x67\xbf\x83\xd7\xfc\x24\x00\x9f\x8f\x07\x4c\x1a\xf6\xaf\x17\xbb\xe3\xfb\x3e\x0b\x5b\x5f\x39\x9a\x6f\x08\x4f\xb6\x1f\x4b\xf9\xc9\xf6\x94\xd0\xae\xb2\x48\xae\x9c\xde\x8b\x2c\x5c\x62\xd9\x8e\x6b\xa3\x5a\xeb\xfd\xfe\xf9\x33\x73\xef\xc7\x2a\xed\xa7\x9f\x7e\xf8\xca\xd2\x87\xe1\x69\x63\xa9\xe4\xd2\x6f\x97\xf8\xf6\x4a\xa5\x94\xbd\xa2\x8f\x4b\x5b\xb8\x53\xef\x7a\x1a\x04\x3f\x03\x73\xbf\x0b\x36\x65\xb1\x21\x6c\x00\xaf\x9d\xfb\xa7\x1f\x96\x3f\xfd\xd7\x61\xfb\xc3\x5f\xfe\xcf\xff\xff\x03\xd9\x37\xaf\xd2\xab\xfc\x01\xb7\xab\x14\xcf\x49\x16\x76\x3c\xcd\x71\xcf\xbe\x54\x3c\xca\x41\x55\xed\x7e\xff\xf4\x8b\x6b\xf4\x39\x5a\x88\x7f\xb2\xe9\x62\xe4\xed\xe6\xa9\xbf\xb8\x40\x9e\x71\x74\xa1\xce\xfd\x14\xc4\x92\x68\x93\x77\x35\x0c\x83\x13\x40\x37\xc0\x57\xfb\x2b\xe8\xf8\x8f\xff\xf9\xdb\xff\xfd\x87\x3f\xbe\x66\x5f\x85\x44\xe5\x25\x5f\x8e\xab\xd0\xa8\x7a\x46\x61\x65\x42\x27\xa4\x34\x5d\x43\x15\x10\xb0\x13\xbe\x39\x37\x14\x4c\x37\xd4\x01\xc0\xf3\x07\x48\x22\xf3\xb3\x51\x13\xb9\x1b\xd4\x86\x3d\x8c\x78\xb0\x47\xa8\x71\x67\x44\x1c\x8e\x54\x20\x06\x05\xa5\x56\xc2\x53\x33\xec\x05\x39\x16\x26\x1b\x5c\x75\x4b\x59\x94\x1c\xb6\xfd\x68\x75\x9e\xc3\x1b\x9a\xdc\x3f\xc4\xbd\x02\x3b\xd8\x7c\xe9\xc4\x43\xb7\x15\x8e\x45\x0c\x49\x90\xa0\x9c\x67\x71\x98\x15\xa4\x97\x37\x97\xcb\x27\xf1\x36\x8a\xc5\x1b\x0f\x54\x2e\x5f\x3e\xce\x78\xbd\xae\x97\x77\xaf\xbf\x0c\x95\x63\x68\xae\xda\x9d\xd1\xa8\x7e\x99\xe6\xa8\xf5\x3c\x50\xcd\xf0\xb3\x14\x72\x81\x73\x90\xef\x34\x18\xe6\x3b\x78\x99\x97\x3c\xa2\xf2\x7d\x51\x44\x18\x42\x5a\x31\xc0\xe3\xa8\x53\x45\x36\x85\x39\x27\x0a\x4b\x1c\x4d\x8f\x89\xa3\x1d\x57\x68\x78\x3f\x7f\x2f\x4b\xdc\xc4\xdb\x03\xb8\x33\xae\x0f\xf1\x35\x53\x08\xe2\xc3\x30\x39\x10\xb8\x7c\x35\xd5\x7c\x9d\xf5\x85\x91\x2f\xa0\x55\x11\x40\x36\xb7\xd6\x63\x05\x50\x0d\x5d\x33\xce\x06\x12\x09\xfd\x68\x00\x18\x61\x9e\x26\xf2\x46\xa9\x9d\x1a\x30\xa6\x4b\x05\x4d\xb7\xb3\x50\x57\xbb\xab\x54\x5b\x7d\xa8\x64\x40\x3d\x6e\xa5\x9d\x43\x49\x3c\x86\x42\xb7\x65\x0c\x2b\xd4\x8f\x31\x42\xff\x8a\x55\xaa\xdd\x70\x83\x50\xb2\x61\x2b\x03\xaa\x3a\xa4\x19\xb4\x76\xd6\x74\xf6\xa6\xc6\x00\x7a\xb3\x4f\x3f\x5b\x16\x68\x36\x86\x51\xab\x30\x6a\xf5\x92\xcc\x52\x40\xdc\x45\x01\x1f\xe1\x40\x1d\xad\xf9\xf6\x72\xfd\x30\x6c\x8f\x9a\x18\x03\xba\x3f\xd4\xcb\x37\x82\x70\xbc\x22\x82\x5b\x6f\x7f\x93\xe7\x9f\x3e\x50\xef\x60\x9a\x80\x44\x6e\xfd\x3a\xdd\x7e\xf6\xd0\x58\x3e\xfd\x1c\x16\x17\x2f\x72\x27\xd4\xbb\xbf\xa3\x1e\x4c\x73\x12\x8c\x50\xaf\xf5\x1c\x6c\xbc\xf6\xc3\xcd\x27\xf1\xcd\xf8\xe8\x18\x1f\x49\x8d\x8f\x04\x7d\x01\xe6\x87\x63\x8d\x4f\x1f\x90\x56\x77\xfb\xbb\x75\xff\xcc\x5e\x4d\x1f\xdf\x20\x8c\xca\xbb\x5a\xdf\xcb\x0f\x6f\xac\xe6\x8d\xd5\x7c\x81\x94\x5e\x25\xb1\x1f\x91\xd2\x1b\xff\xf9\xa7\xe4\x3f\x7f\xfa\xdf\xbf\x7d\x85\x4e\x23\x25\xd4\xdc\xee\x7a\x5a\x85\x2a\x7a\x23\xb8\x06\x33\x11\xe0\x1a\x03\xfa\xa1\xc0\x27\x6c\x3e\x26\xd6\x0b\x35\x1b\xa9\x6f\xd1\x40\xc2\x48\xa2\x1e\xa2\xc7\x81\x23\xfb\xb3\xd4\xdc\x2b\x7d\xa5\x96\x2d\x93\xc0\x4e\x96\x99\xb5\xc3\x88\xf2\x88\xdc\x77\xaa\x63\x2c\xb2\xa0\x5c\x5f\xc2\x72\x2b\x86\x04\x5b\x3c\x0c\xc7\x06\x97\x86\x40\x2e\x79\xef\xd4\xba\xa7\x07\x9c\x29\x0d\xbc\x86\x1b\x90\x23\xc1\x4f\xa9\xd4\x01\x53\xbe\x2f\x82\x50\x82\xa4\xdf\x06\x5d\x2f\x12\xb6\xb9\x79\xcc\x33\x33\xa6\xba\x03\x98\x1a\x60\xd4\x9e\x1d\x0f\xfa\x96\x7d\xa4\x0a\x8f\xb4\xb6\x25\xa3\xcd\x15\x55\x77\xf0\x1c\x21\x4c\xed\x16\x73\x0f\x0d\x1f\xec\xa1\xa5\x73\x15\x10\x92\x70\x5b\x16\xf4\x0f\x6a\xa2\x27\xd2\x96\x51\xc0\xd7\x3d\xb1\x57\xe8\x13\xb6\x00\x21\xfd\x84\x28\x63\xd8\xef\x05\x3c\xb0\xc6\xe3\x80\xaf\x15\xc4\x2b\xb2\x52\x8f\x7d\xec\xd9\x9f\x82\x05\x91\xb9\x82\x47\xc7\x68\x07\xc1\xe6\x40\xc6\x47\xfb\x22\x78\x0b\x33\x1d\x7d\x3e\xaa\x82\x40\x9e\xac\x0a\x0f\x89\xc7\x85\x16\x5e\xc0\x39\x6b\x18\xff\xbd\x21\xd7\x09\x91\x82\xae\xd4\xe3\x12\x03\xde\x4e\xef\xa8\x92\x6c\x9d\xba\x54\x6a\xee\xc1\x0a\x48\x1d\x99\xe7\x42\x6c\xfd\xbe\x86\x68\x5a\x18\xbd\x65\x06\x92\x07\x38\x51\x28\x16\x41\x5e\x36\x10\xc7\x50\x4e\x64\x40\x8a\x1a\x34\x2c\xc4\xc4\xb6\x03\xf8\x1b\xa1\x03\x5b\xb0\xd5\x81\x36\x17\xd6\x4f\x68\xb6\xc2\x80\x1e\x6e\x65\x90\xb5\x71\x21\x02\x9d\xdd\xb6\x54\x83\xb0\x12\x22\xa4\xd4\xfb\x7d\x31\x5f\xf9\x74\xbe\x41\x9a\x8b\xf2\x4f\x32\xad\x95\xb7\x4d\xf6\xb7\xdc\x64\x2f\x1a\x8c\x80\x7a\x87\x14\xb4\x61\xf7\xfb\x03\xb1\xdb\x07\x22\xb7\x0f\x64\x11\xaa\x03\x68\x21\x56\x5f\xb8\xaa\xfd\xc8\xf5\x72\x61\x0f\x9d\xc0\x33\x7d\x4a\xcc\x42\x5b\x8b\x6b\x55\xf8\x02\x01\x16\x5e\x3c\xfd\xe2\x98\x66\xe6\xb3\xb3\x43\x74\xa0\x27\x4d\x27\xed\xfe\xc0\x4e\x5a\x63\x40\x0d\xc9\x1c\xec\x82\xb4\x01\x21\xd8\xfa\x8e\xe4\x7b\x29\xed\x0b\x73\x9c\x97\xc3\x75\x84\x9a\x62\xe9\x2d\x56\xb5\x41\x8b\xeb\x3e\x10\x96\x81\xa3\x15\xc2\x16\x81\x41\x7f\xc9\x13\x71\x9d\xe1\x7c\xd6\xc1\x6d\x1a\x12\x17\x7c\x55\x2a\x83\xef\x6b\xb2\x84\x4a\x70\xec\x25\x69\x40\xd3\x44\x6d\x5b\x93\xf1\xf9\xa1\x8e\xd8\x8e\x31\xf1\x51\xea\x49\xc9\x7a\x0c\xcc\x07\xa2\x46\x25\x56\x50\x86\xdd\x5e\x3f\x9e\x12\x0a\xaf\xbf\xfc\x30\x3a\x8d\xd0\xc3\x1a\x01\xe3\xae\xf9\x6a\x20\x25\xa1\xe1\x50\x90\xd1\x0b\x61\x01\x0a\xfb\x82\xac\xd8\x78\xcc\xcf\x03\xf8\x37\x7e\x18\x0d\xd5\x52\x83\x42\x4f\x06\x66\x24\x64\xa5\xde\x0f\xb2\xa5\x07\xf3\x9b\x3e\x0c\xce\x87\x34\x32\x7a\xfe\xb5\x41\x96\x81\xc6\x0b\x68\x9e\xd4\x7a\x5f\x9d\xea\x7d\xee\x4e\x7d\xb4\x3b\x95\x8a\x35\x2c\xe8\x17\x5c\x21\x0d\x51\x1a\xa7\x5a\x4f\x46\x1d\x6d\xbf\x86\x3e\xdb\xf4\x08\xcb\x42\xcb\x7a\xfe\x54\xf8\xfd\x8f\xea\xef\x2f\x86\x47\xd5\x4c\x2c\x1f\x1b\xc8\x07\xa0\x24\x23\x26\x5e\x06\x43\xcd\xce\x1d\x9d\xd8\xe0\x8e\x88\x9c\x22\x68\x21\x0a\x44\x71\x41\xca\x73\x9c\x04\x2f\x57\xec\x51\x8b\x73\xc6\xae\xae\x38\x17\xa0\xa2\x56\x83\x07\x35\x4b\x98\x34\x1b\xd8\x39\x77\x3c\xf3\xb6\xc1\xa4\x01\x85\x02\xc5\x0b\x67\x48\xfc\xf0\xba\x9f\x23\x14\xa3\x09\x17\x5b\x78\x45\x68\x66\x29\xf3\x55\x68\x70\x3c\x7c\x9e\xf4\x88\x39\x58\x3e\xf9\x79\x7e\x42\xc6\x02\x9e\x5c\x45\x87\x9f\xd6\xfb\x82\x94\x35\xd9\x70\xdd\xf8\x0c\x32\x10\x1c\xa7\x82\xf6\x19\x9b\x07\x19\x60\x66\x23\xde\xe8\x48\x75\xe9\xb9\x2f\x6e\x4e\x17\xa5\xc6\xc1\x9a\x5a\x85\x4d\xd1\x25\xc9\x3c\xce\xc7\x3c\x3f\x51\x6e\x1d\xe7\x6c\x31\x84\xc4\xcc\x26\x63\x0b\xe6\xbd\x00\x41\x2d\x56\x2b\x48\x42\x14\x4d\x36\x70\xb6\xa2\x41\x15\xb2\x98\xd0\x60\x09\x38\x08\x5a\x5a\x9c\xd7\x3a\xcf\xa9\x97\xba\x7a\x42\xb8\xb7\x61\x2b\x1a\xf1\xed\x34\xe7\xa3\x83\x62\x3a\x28\x46\x70\x77\x53\x03\x67\x2c\x75\x8b\x45\xcd\x4c\x5c\xb4\xe0\x52\x1a\x5a\xb1\x20\x38\x0b\xad\x80\x33\xec\xe5\xd0\x10\xc6\xe4\xe0\x3a\x5b\x46\xc4\x39\x79\xc7\xd8\xf6\x13\x74\xa5\x99\xdb\x72\x68\x6c\x28\x30\x24\x9b\xbb\xfa\xb5\xf2\xf7\x55\x26\xd0\xad\xfc\x7d\x53\x99\xfe\x5a\x2a\xd3\xcb\x72\x48\x48\x91\xa4\xaa\x76\xfd\xfa\x67\xd6\x3e\x96\x06\xfd\x8d\x44\x9e\xa3\xca\x3e\x92\xb3\x42\x5c\x35\x88\x53\x27\x50\x13\x36\x70\x1c\x33\x4a\x8e\xf4\xe6\xb8\xd2\x80\xea\x82\x60\x72\xd8\x67\x23\x4d\xbb\xe0\xa2\xe7\x74\xa3\xdf\x37\x94\xc4\x74\xac\x17\x21\x15\xb0\x20\xf4\x8c\x76\x45\x6e\x5f\x50\x23\xe6\xc5\x0a\xf0\xbe\x24\xf1\x9d\x21\x60\x91\xc1\xaa\x48\xcb\xc9\x8c\x34\x09\xa5\x70\x8e\xc8\x5f\x94\xda\xd7\xb9\xcd\x27\x1b\xc6\x72\x58\xbf\xd9\x4f\x93\xf1\x18\x47\x87\xe0\x1e\x46\x48\x2d\xca\xb2\xe5\xee\xf1\x48\xc6\x17\xfd\xe3\x31\x7f\xd8\xe9\x21\x3b\xb9\x26\x1a\xca\x7d\x25\x6b\x0b\x28\x0e\xe0\xf6\x58\xcf\x61\x27\xdc\x07\x55\x76\x2f\xcd\xfd\x3a\xd0\x30\xc4\x43\x72\x35\xbe\x77\x12\xd4\x4c\x22\x68\x59\x6a\x5d\x1a\x95\x7a\x42\x5b\xc1\xa0\x63\xbf\xbf\x7e\xf7\xcb\x6e\xfc\x91\x57\x39\xa1\xd7\x09\x08\x23\x24\x7f\x41\x1e\xf3\xcd\xb5\x7d\x9c\x90\x5e\x11\x52\xe7\x25\xc5\xe2\x76\x90\xa5\xc9\x82\xde\x98\x27\x74\x1a\x0d\x11\x2d\xf7\xb9\x0b\xdb\xed\x2e\x44\xe6\x32\x72\x42\x3f\x3f\x44\x23\x03\xce\x99\xd7\x10\xaa\x9c\x5a\x18\x2f\x4f\xf7\xb6\xe0\x6b\x08\xcc\x7c\x59\xbe\x06\x6f\xf7\x65\x10\x77\xdb\xa0\x76\x4e\x0f\xc8\x3a\xd3\xca\xd2\x63\xe7\xe8\x3e\x2a\xa5\x12\x07\x87\x64\x23\x6e\x53\x64\x5d\x69\x1f\x6a\x5c\xd0\x3e\x23\x54\x6f\xc0\xe4\xc7\xf6\xae\xae\x79\x7e\x42\xa3\x1a\xc4\x9d\x5b\xf6\x7c\x0a\xba\x28\x34\x46\xdc\x1c\x3e\x29\xc4\x36\x35\x9b\xeb\xa2\xa5\xa3\xcc\xf3\xd0\xcf\x91\xed\x3c\xcb\x27\xb0\x77\x96\x32\x5f\x77\x71\x9e\xae\x34\xb4\x91\x31\x64\xf7\xe6\x96\x38\x01\x66\x0d\x8b\x33\x3e\xfd\xdc\xc9\x47\xe8\x14\xec\x1a\x52\x1d\x6e\x9c\x0e\x19\xac\x68\x4d\xd5\xa1\x30\xa0\x25\x6b\x9c\xa2\xc7\x91\xa0\x53\xb2\xca\x98\x7b\xe1\x7a\xba\x40\x4c\x63\xd8\xd9\x2e\x50\xd6\x3d\xa5\xb7\xa2\x6f\x67\x47\x0b\xa4\x91\x4e\x25\xa4\xf8\xce\xc7\x16\x42\x2d\x44\x59\xab\x1e\x63\x41\x39\x49\x0b\x8e\x9d\x67\x28\x02\x42\x6e\x1f\xa2\x90\xd8\x94\xa8\x76\x50\x92\x79\x46\x15\xfd\x0c\xb3\xa2\x62\x38\x48\x2b\xce\x92\xc6\x32\x6e\x27\x80\x5d\xed\xa4\xe2\xc1\xfb\xaa\x6d\xc4\x32\xf3\x9c\xe0\x2b\x0a\xfe\x4e\x8c\x2c\x97\x86\xf6\xcb\x2d\x3b\xad\xc0\x6e\x4a\xe9\xd2\xa0\x71\x35\x74\xa9\x8e\x73\x32\x64\x13\x5f\xcf\x3a\x0a\x63\x60\xb4\xf4\xea\xd8\x3d\x96\xbb\xe7\x6b\xb2\xf4\xc3\x1f\xb6\x3f\xff\xe9\xe3\x9f\x7e\xf7\x85\x86\x25\xbf\xbf\xf1\x37\xe8\xa2\xc7\x4e\x7e\xee\xe4\x77\xfa\x90\x7d\x10\x7d\xd1\x3b\xe1\x78\xeb\xb8\x76\xf2\x78\x57\x83\xdd\x78\x7c\xf3\x41\xf8\x4e\xcf\xf1\xfe\xfc\x6e\x1c\xee\x84\x1f\x84\xf1\xed\xfc\xe8\x15\x9d\x55\xae\x03\xfd\x7c\x67\xc3\x5b\xc7\xc8\xc2\xc7\x4a\x7e\xae\xe4\x77\xfc\x80\x27\xe0\x0b\xdf\x71\xbe\x13\x03\x0b\x0d\x6b\x89\x41\xd7\xf8\x47\x7c\x0b\x83\x8c\xef\xc5\xec\x18\x6f\xc6\x17\xbf\x79\x80\xdf\xe0\x18\xf8\x49\x5d\xc5\x7f\x78\x71\x6d\x9f\x72\x8e\xce\x3f\xbe\x2f\x57\x01\xf8\x7c\xd9\x9f\xb1\x2d\x7f\x57\x7f\x2a\xfb\xc5\x5f\x78\x22\x4f\x7f\xf0\xd3\x4f\x3f\xbe\x2b\xfd\xe6\x0e\x9f\x7f\x58\xaf\x5f\x87\x57\x29\x68\xb7\xeb\xf0\xf4\xd1\x7d\x69\x1d\x5e\x78\xaa\x5f\x5a\x85\x17\x1e\xf8\x97\xd6\xe0\x0b\xb4\xf0\x9a\xf9\xff\xe5\xb7\x87\x0f\x5f\x48\xd1\x78\x44\xae\x0e\x6b\xdd\x69\x88\x6f\x65\xb2\x17\x26\x45\x2e\xe4\x80\x59\x53\x64\x9e\xff\x66\xd0\x28\x0d\x1d\xe1\x97\x3c\xc5\xcf\xde\xe7\xb9\x91\x72\xda\x93\xbc\xe0\xa1\x0f\x5d\x74\xe3\x44\x55\xcd\xab\xa0\x49\xe6\xcd\x05\x3f\x85\xa1\x67\x26\x21\x7b\x7d\x43\xcb\x6d\x38\xe4\xa1\xa1\x0f\xf0\xb0\x38\x95\x69\x4f\x71\x36\x53\x1e\x60\xcb\x25\x0d\xc0\xfd\xe3\x8f\xf9\x8f\xf8\x55\x9e\x41\xa5\xcb\x29\x71\x58\xf8\x48\x5a\x4b\x7b\xec\xf2\xe9\xa7\x9f\x25\x3e\xad\xcb\xa0\xe6\x1b\x19\x1c\xdc\xd4\x51\x6b\xa1\x78\xed\x8e\xd6\x04\xae\xb8\x50\xcb\x08\xbf\x23\x2f\xc7\x04\x2d\xde\x33\x5b\x0a\xb9\xb3\x00\xf2\x42\x71\xf5\x4a\xa3\x66\x7a\x4f\xac\x65\x9f\xe9\x44\xbd\x64\x80\xa8\xc1\x90\xc4\x1a\x58\x5f\x8d\x60\x28\x8d\x01\xe7\x11\xd2\x60\xeb\x58\x7d\x0a\x58\x1d\x12\xe7\x1c\x06\x14\x0f\x39\x02\x8c\xfe\x21\xc6\x7b\x64\x26\x93\x27\x6e\x83\x17\x73\xfd\x63\x08\x50\x5e\xee\x82\xf9\x6b\x0c\xb2\x71\x0c\xb2\x7b\xa6\xd9\xc6\x6b\x97\x60\x00\x58\x31\xb2\x2c\x5a\x89\xf7\xf6\xcf\x62\x03\x4b\xdb\x32\xb6\x44\x1d\x8d\x56\x5b\xbe\xc6\x2f\xd7\xf8\xe9\x81\xba\x8e\xf8\xdb\xc3\x04\xf3\x53\xd4\xd2\x34\x94\x18\xb3\xdd\x85\x59\x7b\x5e\xa9\x37\xbe\x33\xea\x4d\xcf\x71\x7a\x0c\xeb\xbe\x9e\x8d\x6c\x00\x12\xbe\xd7\x07\x2e\xc4\xe3\xf3\x69\x4a\xaf\xe5\x89\xb9\x17\x5e\xc7\xba\x0b\xb5\x0a\x30\x5a\x96\x77\xb0\xec\xd3\xbe\xcf\x84\x54\xaa\xbe\x54\x04\x4a\x9e\x7e\x04\x5d\x04\xca\x32\xcb\xfb\x0a\x65\x4a\xd0\xfd\x0d\xda\xdf\x12\xe4\x5d\x7d\x91\x8f\x02\x64\x89\x91\x2a\x34\x67\xea\x8c\xc0\xff\x26\x8c\x4b\xfb\x86\x2e\x30\x68\x90\x81\xde\x4a\xe8\x56\x6e\x69\x49\x55\xc4\x29\x7b\xe9\x78\x1f\xef\x40\xdd\xa9\xf3\xfc\x80\x6f\xe6\xf7\xe3\x12\xa5\x5c\x36\x59\xd0\x33\x7a\xce\x05\x95\x67\xfd\x79\xe8\x28\x68\x4c\x17\xaf\x95\xdb\x59\x49\x7a\x3f\x08\x92\xd9\xf2\x38\xa7\x96\x36\xbd\x34\x50\xf8\xb6\x66\xdd\xf7\x9a\xdd\x1e\xe1\x95\x1d\x15\x3e\x57\x7b\x87\x16\x90\x8b\x5e\x00\xa7\x3b\x76\x14\xa3\xe4\xb0\x8e\x25\x8f\xb8\xaa\x92\xf7\x38\x36\xf4\x37\x6e\xfe\x80\xb1\x1d\x5f\x41\xcc\x0d\x61\x34\x8b\x89\x1d\x57\xa7\xd1\xde\x91\x8f\x1a\x7f\x99\x8c\x07\x95\x98\xcf\xc1\xd5\xfa\x06\x0c\x3b\x34\x99\xcc\xef\xe0\xf5\x08\xe4\x86\x8d\xd0\x45\x3c\xde\x5c\xe7\x37\xa0\x4b\xd5\x07\x5c\xe0\xf0\xe8\xaa\xeb\xe5\xd3\xc4\xb1\x1f\x30\x26\xf5\x18\xb6\xaf\x9e\x57\xaa\x7a\xa7\x54\x98\xcf\x54\xf1\x66\xef\xb1\x9c\xa6\x47\x6a\xf5\x01\x5f\xfd\xb5\xe8\xf8\x1b\x24\xbc\x17\x1f\xef\xc7\x0f\x57\x2e\x0f\x2e\x77\xf4\x50\x3e\x7f\x1d\x5e\x07\x9d\x10\x7e\x2e\x81\xcd\x64\xa5\xe2\x1c\xce\x28\x93\xf3\x6a\xc1\x06\x37\x60\x29\x34\x92\xd2\x26\x40\x7d\x15\x9c\xfc\x3f\xe7\xfe\x4f\x25\x70\xfb\xb1\xeb\xbf\xfd\x78\xd1\x42\x86\xee\x23\xbb\x8a\xb0\xf5\x2a\xc2\xe0\x5b\xf4\xf7\x53\x80\xa6\xf4\x33\xaa\x57\xd9\xf7\x9b\x1b\xb9\x78\x23\x2e\x77\x29\xbb\xdc\x48\xd9\x25\xdb\x31\xef\xfb\xb5\xc6\xba\xe1\x71\xdd\x75\x32\x35\x40\xea\x4b\x7a\x44\x7a\x35\xd2\x31\x26\xd3\xae\x7e\xf6\x99\xde\x50\xb2\x34\x6a\x49\xec\x6c\x14\x31\xc6\x11\x7d\x94\x19\xf6\xf0\x2e\x5c\x96\x1b\xe1\xb2\xdc\x08\x97\xf3\x9a\xd7\x4a\x7c\x37\x54\x56\x4e\xe9\xb0\x1f\xea\xf3\x45\xbb\xf5\xfb\x73\x55\x8c\xfa\xdc\x82\xb5\x1c\xa8\xcb\x88\xbf\x99\xec\xea\x61\xf1\x84\x69\xd5\xe2\x6f\x4f\xd0\x05\x52\x86\xde\x35\x1a\xe3\xe0\xa4\x70\x2c\xea\x05\x7d\x1a\x19\x25\xc5\x74\x1f\x5a\x96\x3f\x59\xad\x73\x64\x21\xd0\x18\x8b\x72\x34\x18\xd0\x37\x79\x88\xfc\x25\xd7\x50\x1d\x7d\x1f\x6a\x93\x76\x08\xab\x27\xfe\xf6\x4a\x82\xb8\x01\x53\xf7\x10\x71\xfb\x50\x5b\xaf\xe4\xac\x77\x9d\x84\x0f\x4e\x80\x5e\x69\x57\x24\xce\xbe\x92\xf9\xf2\x0b\xa7\x20\xb5\x3e\x9a\x83\xbc\x6a\x0e\x95\x3a\xe2\xf7\x66\x7b\xe9\x05\xcf\x2b\x8b\xdd\x35\xea\xd2\x5f\x58\x5a\x81\xcd\xed\xe3\xaf\x30\x30\x41\xd5\xe2\xe7\x07\x76\x19\x57\xfb\x85\xe3\x52\xea\xaf\x1d\x55\x52\x27\x7c\x6e\x0f\x9d\xb2\x47\xf7\x84\x3c\x63\x40\x31\xaf\x24\xaa\x13\x45\x66\x2c\x65\xe2\xb0\xe2\x0b\xd9\x94\x11\x8d\x88\x15\xae\xf8\xbd\xfe\x18\xd2\x97\x4a\x0b\x75\x21\xdd\x88\x71\x44\xfd\x7f\x21\xf8\x1c\x8b\x1f\x04\xad\x0f\xe4\xa6\x01\x02\x90\x0b\xfc\x28\xa4\x22\x1b\x59\x1d\x48\x8e\xef\x36\x52\xa7\x8a\xe5\xf9\x36\x4a\x6e\xd4\x9b\x9d\x69\xd4\x86\x31\xca\x22\x37\xad\x12\x5e\x31\xc6\xcc\x9c\x79\xcd\x50\xbe\x4a\x90\x7f\x27\x43\x11\xd5\x7d\x28\x7d\xf8\x97\xef\x27\xf6\xaa\xa7\xf0\xf4\x7e\x68\xbf\xf4\x39\x01\xfd\x62\x13\x26\x6b\x7d\x36\x61\x82\x22\x9e\xf7\x7f\xaa\x58\x4f\xbd\xfa\xa9\x42\x9e\x75\xa1\x5d\x7c\xdf\xd9\x2f\x69\xf3\xb7\x0c\x7b\xd7\xca\x37\xd4\xfc\x40\xa1\x5f\x77\x8d\x3e\xd5\xf2\x2f\xb4\x69\x52\xb8\x97\x79\xdc\xb5\x50\x36\x53\x2f\xbf\xab\xe4\x2d\xd5\xf2\xa9\xb9\xa7\x16\x0f\x85\x3e\xce\xbe\xd5\x40\xfd\x06\x33\xfd\x91\x32\x53\xd0\xaf\x3e\x55\x46\xa5\xca\xf5\x17\x2a\xb5\x9f\xf9\x02\x8e\x50\xdf\xb2\xaf\x69\x1b\x19\x78\x99\x35\x7d\x38\xf9\x3e\xed\xbd\x3e\xd7\xde\x3f\xe6\x3f\x2e\xaa\x7d\xfe\x14\xed\x90\x7a\x69\x28\x60\xce\xab\x5c\x3f\x7c\x1e\x2f\xbf\x55\x60\xc2\xe6\x98\xe3\x7a\x6a\xb0\x14\x98\x1f\x69\xaf\x3c\xb5\x73\x4a\xda\x2a\xcf\x7e\x92\x36\x4e\x9a\x2c\xa9\x56\xd5\x86\x30\xb7\x4c\x3c\x85\xfd\xd3\x6c\xea\x6f\x4d\xe7\x03\x82\x92\x7e\xa0\xca\xa1\xf4\x5c\x6a\x57\x47\xa5\x2a\x7e\x0e\x0b\xe0\xdd\x13\xeb\xa0\x7c\xce\x6c\x28\x61\x35\x08\xac\x86\x87\x46\xfe\xfc\x9a\x6d\x8d\x8b\x7e\x29\x8e\xde\xd9\x72\x58\x67\x74\x54\x0f\x2d\xbf\xc7\xdf\xae\xa1\x40\xe7\xf7\x3b\xc8\x9d\x83\xd2\x70\xc4\x19\x7d\xe7\xf6\x82\x30\x88\x41\xa9\xc7\xfd\x77\xb4\x9f\xfd\xe6\x21\x91\x94\x5f\xc9\xbb\x73\x9e\xfb\x70\xbc\x1f\xa8\x5e\xf0\xac\xae\x23\x51\x6b\x07\x25\x91\x05\x87\x1d\xda\x23\xee\xe6\xcb\xf3\x11\x32\xa2\x5a\x1c\x0b\x64\xa3\x3f\x19\x62\xcd\x21\xa2\xcd\xe2\x2b\x39\xe9\xed\x18\x8d\x86\xbe\x3c\xc6\xd2\x5f\x58\xac\x5f\x7f\x28\x21\xc0\xbf\x3a\x14\xe0\x0a\x7d\xdf\x58\x5e\xad\xe2\x24\x21\x05\x95\xf8\x19\x8d\xe3\xb7\x35\xab\x1f\x8b\x66\x29\x6f\xc9\x10\xec\x8e\xad\xe5\xc0\x76\xe7\xd9\xc6\x01\x9f\xa0\xe8\x0c\x9b\x0f\x59\xa7\x13\xd1\x3d\x66\xa1\x8b\x51\x3d\xa2\x7a\xf9\x31\x7d\xce\x59\xbe\x56\x35\xc8\x47\x17\xd6\xec\x99\xea\x18\x87\xa7\xf7\x82\xf9\x86\xee\x79\x69\xc8\x3e\xbf\x9b\x3f\xbb\xdb\xd7\x08\xe5\x6f\x77\xb7\xa0\x85\x79\x37\x6b\x2f\xdd\x2d\x39\xab\x98\x1c\xa9\xb7\x17\x6f\xf6\x65\xc2\xfb\x82\x74\xff\x4c\x8b\x45\x1b\xb6\xb7\x58\x0c\x7e\x30\x9d\x14\x4f\xbd\x0d\xbb\xb3\x21\x9e\x66\xba\x29\x1e\xf9\x1a\x40\xcc\xe9\xa7\x78\xee\xde\x60\x38\x58\xad\x8d\x74\x52\xa0\xcd\xaf\x26\x37\x98\x0e\x8e\x74\x52\x7c\x56\xb0\x57\x62\x97\x74\x5e\xdc\xc1\x91\x31\xfd\x14\xeb\xc5\x51\x01\x47\x06\x5c\x1a\xc7\x30\xe2\xe1\xd2\xf8\x9a\x5c\xff\xd3\x7f\xfe\xe5\xf0\xca\x82\xc0\xf7\x95\x6c\x2c\xb2\xc8\x52\x33\xa7\x60\x61\xf9\x68\x64\x3e\x16\x2e\x97\xff\xd7\xfd\x9d\x95\xcb\x6f\xb8\x91\x33\xbe\xb8\xc8\xa7\x0f\x05\xed\x12\x84\x5a\x5b\xca\xea\x19\x9e\xf3\xd5\x3f\xe6\xc9\xe2\xf1\x17\x92\x5c\x97\xf8\x47\x9e\xc4\x7b\xaf\x9a\xc3\xab\x2a\x08\xdf\x1b\xea\xc3\x78\x41\xcb\x2a\x59\x78\xe9\x1f\xb3\x54\xa1\xe5\x7f\xeb\xfc\xd7\xda\xb2\x94\x6c\x8d\xb3\x86\xa1\x17\x82\xdb\x64\x7a\x4d\xf6\x5e\xb6\xe4\xf1\xf7\x1b\xb4\x36\x35\xf2\x05\xa5\x0c\x1f\x95\x00\xd1\x8a\xea\x86\x65\xff\xf2\x32\xbf\x1c\xaf\xaf\x9a\xd2\xb7\x54\x7e\x94\xf6\xaf\xef\xf9\x87\xff\x21\xcf\xea\x5b\xea\x10\x6e\x26\xf6\x3f\xea\x01\xfe\xf9\xb0\x9d\xbe\x96\x3e\xff\x39\x47\x69\x3c\x84\xad\x20\xdd\x2b\x71\xbc\x96\x4a\x21\x3e\x55\x6a\x1c\x8f\x8d\xd4\xfa\x7b\x1e\x80\x28\xe2\x4e\xba\x88\x20\x7f\xb4\xe3\x44\x3e\xae\xf8\xd5\x5a\x49\x57\xfc\x2a\x8e\x77\x3d\xce\xde\x1b\xae\xe7\xd4\xe0\xdb\x76\xc1\x13\xff\xf4\x81\x1b\xa4\xea\xc1\xa8\xf4\x58\x88\xb2\x97\x61\x1b\x9a\x3a\x00\x8d\xfb\x2e\x04\xc5\xf8\xcc\x57\x56\x24\x7a\xbd\x7b\xfa\x61\x0f\x3a\x6c\x34\x24\x46\x5d\xa4\x3e\xfb\xf5\x05\xd3\xb5\x7d\x57\xeb\xcb\xb9\xce\xdf\xd7\xc3\x85\x78\xe9\x5b\x59\x84\x1a\xb2\xf4\x44\xdb\x12\x53\x1d\xa3\x2d\xc1\xfc\x7b\xa9\xef\xe2\x5f\x63\xc9\x23\x9c\xd4\x4e\x23\x7e\x84\x8c\x3c\x18\x1b\xda\xd6\x98\xfc\x18\x6d\x85\x12\x33\xda\xb3\x1f\xc5\x7d\x3e\x7d\x40\xe5\x74\xac\xb1\x92\x68\x10\x91\xa8\xef\x2e\x75\x41\xbd\x38\x6a\x85\x9d\x3c\xf4\xea\xc7\x5f\x61\x1a\x83\x97\xfe\xec\xa7\xf8\x25\x7e\x5f\x8f\xf1\x43\x7e\xfe\x4b\xb4\xaa\x5a\x7e\xc9\xe2\x7e\x03\x1f\xfa\xb7\x77\xfc\xa3\xc8\xe7\xb1\xab\xde\x28\xfb\xfb\x16\xff\x55\xbc\xf2\x6b\x8b\xff\x46\xee\x5f\x59\xf1\xff\xfa\x82\x2a\x74\x1b\x6c\x74\x24\x5a\x31\x0d\xae\x87\x4e\xa5\xd5\x25\x8f\x39\xf4\x26\x18\x62\xd7\x6d\x82\xa7\x4a\xa2\x98\x00\xd7\x03\x55\x12\x0a\xbf\x42\xab\xef\x1d\x90\x45\x4e\xcd\x7d\xa9\x34\x8a\x41\x60\xe3\xf5\x37\x4a\xb0\xc3\xb9\x84\x19\xed\xbc\x34\x6a\x6d\x5b\x91\x3a\xcc\x80\xaa\x62\x02\x56\x70\xef\x63\xa6\x09\x1a\xb1\x73\xa2\x43\x1e\xb3\x2f\x1d\x0b\x0d\x64\x6e\xd6\x7a\xa6\x82\x9e\xe8\x09\x5e\xe2\x09\xe5\x0b\x4c\x29\x43\xd7\x7b\xa4\xdc\x72\x45\x20\x1b\xa9\xb8\x05\xf4\xcf\xc5\xdf\x4b\x21\x69\x0b\x40\x51\xb9\x21\xf5\x5c\x2e\x27\x1f\x99\x4a\xac\x7f\xf3\x4a\xa3\x05\xb9\xf7\x06\xb0\x1b\x73\x40\xad\xf3\x9e\x20\xa6\x19\x3f\xef\x87\x46\xa3\x61\xe3\xb4\xb1\x2f\x98\xc6\x3c\x6e\xad\xff\x09\x50\x6e\x5d\x63\x99\xbb\xdb\x19\xbe\x9e\x8e\x92\xd6\x3c\x4e\x34\x97\xa6\x19\xde\x42\x36\x9a\x20\x55\x5c\x3b\xe2\x3b\xd9\x4c\x8f\x6d\xb5\x59\x0e\x21\x6c\x67\x23\x53\xe0\xbd\xf8\x06\xfc\xd9\x58\x81\x5e\x94\x74\x30\x5e\x3b\xe2\xaf\x54\xbc\x25\xf4\x25\x9a\xe5\xc0\xff\x9c\x88\x9e\xa4\xc0\xea\x1f\x4e\x35\x4e\x90\xf3\x0a\xe4\x65\xb6\x33\x87\x39\x73\xca\x64\xde\x46\x6d\xb4\x23\xb1\xb7\x8f\x4c\x0d\x68\x92\x15\x99\x13\x15\x69\x19\xda\x6c\x9b\x75\x31\xbd\xa1\x2d\x22\x12\xe7\x90\x59\xb6\x9f\x9e\x63\xe0\xa6\xa7\x1d\x96\x2a\xf3\x84\x7d\x82\xc8\xe1\x24\xc1\x63\x57\x2a\x61\xa1\xe0\xcd\x65\xef\xee\x04\x68\x14\x7e\xba\xa4\x82\x3c\x65\x23\x1e\xed\x8c\xe4\x79\x04\x7a\x3c\xfe\xf6\x40\x49\xab\x80\x26\xa5\x91\x7f\x7b\x50\x45\x01\x09\x0c\x67\x9a\xb5\x06\x0a\xa6\x5e\x95\x3a\x23\xb6\x04\x68\x54\x7b\xa8\x84\x94\xc4\x8e\x2c\x3f\x25\x74\xfe\x8a\x69\x68\xea\x8a\xba\x52\xeb\x4e\x3d\x71\x5a\x01\x6d\x94\xd6\x25\x30\xfd\xa4\xdb\x5c\x49\xa3\x5e\x42\xd5\x4c\xe4\xfd\xd2\x73\x85\x16\x2c\xcb\x46\x7d\x60\x6b\x20\x29\x75\xd1\x89\xe6\x7a\x39\x3f\xc6\xb3\x9a\x9b\x00\x38\xe5\x58\xab\x78\x1e\xfd\x35\x09\x59\xc1\x03\x5e\x95\x70\xa0\xf0\xe8\x35\x1a\x86\x5e\xaf\x09\x9d\x3b\xa3\x04\x0c\x38\x24\x21\x19\x63\x9b\xa8\xf3\x6c\x6d\xa5\x21\x7d\xcd\xcc\xec\x01\x0f\xa2\xa8\xbc\x57\xaa\xc8\x88\xaf\x12\x2c\xd4\x8a\x42\xb5\xc5\xeb\x47\x94\x13\x01\xff\xa9\x22\xe2\x07\x69\xa5\xe3\x3d\x53\xef\xc8\xfb\x89\x9d\xa7\x41\x6c\x15\xf5\xc6\xd8\x56\x96\x9d\x4d\xe2\x89\xb0\x7e\xfa\x30\x66\x95\x83\xb5\x87\x46\xe3\xca\x01\x74\xc7\xa6\x05\x6a\xa4\x75\x40\xec\x25\x72\x29\x1c\x95\xd8\x3e\xbd\xc9\x7b\x56\xea\x80\x15\xeb\x0d\x35\x27\x61\x89\xf3\xe5\xe4\xe3\xac\xcc\xa8\x32\xa8\xe2\x41\x19\x6f\xa0\x97\x59\x57\x56\xb2\xe0\x76\xa5\x01\x0e\x80\xf0\x9b\xb7\xc5\x77\xf4\x43\x24\x5e\x67\x87\xc1\x67\xc4\xea\xad\x2e\x8d\xfa\xe8\xe7\xc4\xf9\x71\xc4\x5e\xf3\x38\xf7\xbf\x88\x26\x5e\xed\x16\x5b\x69\x25\x64\xe2\x14\x78\x69\x1d\x3b\x4d\x15\xa7\x67\x25\x2e\x15\x54\xba\x91\x72\xf6\xf1\xf4\xda\x00\xb8\x17\xaf\x15\x58\xc1\x34\xd1\xdf\x26\xca\x39\xc7\xe2\x1d\xc8\xbb\xc6\xdf\x6e\xe3\x7b\x23\x1b\x20\xae\x33\xa0\xc8\xb0\xe7\xeb\x82\x4c\xfb\x23\x31\x7f\x64\x12\x24\xb1\xf6\x4c\x53\x75\xa4\xa9\x56\xde\x08\x9b\x0b\xde\x8e\x8a\xea\x15\x6d\xed\xf6\xfc\x1c\x03\x9e\xb0\xdc\xd9\xd4\x71\x42\x1c\xb5\xcb\x8e\x6e\xfb\x3f\xb3\xad\x44\x29\x73\xe7\xd7\x0b\x96\xf0\xe3\x55\x44\x3f\x07\xe0\x14\xf6\x87\x4e\xda\x6b\xcc\x86\x2e\xed\x7b\x3c\x1e\x7c\x30\xc2\x7a\xc1\x7c\x5e\xb3\x8c\x81\xeb\x36\xc1\x4f\x05\x38\xb2\x25\x9e\x98\xe2\x24\xf7\x7a\x28\x3a\x60\xba\xdd\x90\xd2\x6b\x4d\xc8\x3b\xd6\xdc\x32\xdf\x1f\x48\xee\x88\x10\xce\x96\xc4\x78\x60\x09\x9c\x3b\xe6\x02\x2a\x69\xd5\x8f\x8c\x30\x63\x03\x56\x62\x45\xff\x13\x6d\x6d\xa3\x0a\xc1\x87\xb0\xf3\x22\xa4\xdc\x6f\xcf\x63\xa5\x6d\x92\x7a\x82\x90\x62\x05\xe2\x29\x8c\xd7\xee\xf4\x6f\xd0\x6c\x7f\xfc\x29\xfe\xfb\xe1\x4d\xfe\xff\x2d\xe4\xff\x1e\x39\xaa\x55\x6b\xfd\xe1\x4d\x1d\xf8\xf5\xd5\x81\x3d\xea\xf4\xaf\x83\xc7\xf8\xe1\x4d\x3b\xd8\xb5\x83\xd7\xf0\x8b\x57\x19\x63\xb7\xfc\xe2\x4d\x57\xf8\x2b\xea\x0a\x2f\xf1\x8a\x37\xd5\xe1\x17\xaa\x0e\x2f\xb0\x87\x7f\x66\x4d\xe2\xf3\x5c\xe1\xbf\x0e\xdb\x7f\xbe\x32\x5b\x3f\xee\xd5\x50\x93\xe6\xf7\xec\x14\xf4\xef\xe3\x40\x75\xb4\xf8\xcb\xe8\x16\xfa\x39\x97\xae\x80\xbf\x41\x56\x84\x2a\x49\x7c\x43\x63\xf3\x9f\x83\x39\xf3\x81\x6a\xe3\xf8\xdb\xf3\xf0\xb8\x91\x27\xac\x7d\x46\xf2\xad\xf9\x81\xaa\xc4\x4e\xdb\xc3\xce\xe8\x18\x72\xdf\x82\x5e\x97\x1e\xac\xfb\x40\x8d\x81\x8a\x73\xbd\xc8\x1a\x57\x09\x39\xc3\x99\x34\x01\xd4\xe2\x8a\x14\x2a\x00\x95\xaa\x1e\xa8\xc2\x9d\x36\x47\x0b\xbc\x5c\x14\xde\x19\x3a\x4b\x94\xe1\x1b\xf1\xc8\x86\xd4\x86\xd1\xe4\x8d\x81\xe6\xa4\x8a\x24\xcb\xee\xf7\x89\x81\x29\x39\xfd\xeb\x05\x4b\xec\x43\xe4\x9b\xfa\x18\xf1\xb7\xec\x3d\x4b\x48\x35\xa7\x1e\x3c\x09\x9d\x4e\xa4\xa1\xdb\x43\x4e\xbd\x9f\xae\x33\xb7\x97\x47\x90\xdf\x00\x71\xd9\xa3\xf5\x2b\xfb\xcc\xfb\x75\xe6\x90\x5f\x68\x49\x52\xeb\x6c\xa1\x5f\xeb\xa3\x27\x55\x72\xd5\x81\xd2\x78\x33\xfb\x17\x57\x3d\x93\x42\xaf\xb3\x67\x0d\x65\xeb\xcb\xd3\xbf\x04\x3c\xff\x01\xa6\xff\x0a\x5d\x1c\xbb\xe8\x55\x66\x77\xa7\xd0\x73\x15\xf5\x92\x02\xb5\x7a\x43\xe7\xa1\x02\x24\xda\xec\x87\x34\x5f\x90\x55\x64\xc4\xdd\xc9\xc8\x58\xce\x31\xb4\x6d\x47\x37\x29\xb3\x81\x44\xb0\xd7\xfb\xb8\x6a\x88\x43\x3b\xa0\x09\x82\x5e\xe2\xb9\xb1\x69\x9c\xe0\xa5\x1e\xed\x40\x66\xb1\xae\x97\x6c\xc7\x15\xe5\x10\x79\xd9\xd4\x07\x91\xb0\x10\x8a\x64\xa8\xfd\xa5\x1e\xd0\xbf\x4b\xc7\x6c\x00\xe5\x48\x58\xf4\x18\xfa\x92\x43\x0f\x9d\xab\x09\xda\xee\x35\x21\x10\x8b\x91\x2e\x83\x7a\x05\x90\x47\x4e\xf1\xd1\x65\x4a\x88\x11\xf4\xeb\x41\x07\x87\x76\x85\x81\x8e\x3b\x5e\x27\x19\xa3\xe8\xd9\x28\x23\xd1\x3c\x80\xd5\x62\xed\x85\x9b\xc6\x87\xeb\xe5\xc3\x9c\x89\x60\x02\xb7\x73\x3c\x90\x95\x1e\x7f\xf3\x86\xe8\x6f\x09\x5d\xbf\x21\x45\xc2\xd0\x2b\x2b\x44\x28\x63\xe8\xcb\x3e\xf4\x27\x0b\x9a\x55\xa4\xff\xe0\x73\x7c\x2d\xd1\x7f\x83\x05\xfa\xaf\xff\xc6\x5e\xf7\x22\xe0\x1b\x8e\x52\x5f\xc5\x51\x5e\x66\xa8\xfa\x75\x8e\xf2\x19\x96\x7e\xc3\x51\xfc\x1d\xd5\x26\xf1\xb7\x4c\xec\x3a\x6e\x58\xd1\xb8\x83\x7c\x91\xa3\xfc\x5f\xf6\xfe\xa5\xc9\x91\xe4\x46\x17\x86\xff\x4a\x98\x76\x67\x11\x30\x07\xdc\xe1\x97\x65\xa9\x46\xb2\x5c\xb0\x56\x63\xc6\xed\x67\x1c\x8e\xa6\xd9\xdf\x89\xea\x96\x75\xb5\x28\x9b\xfc\xf5\xaf\xe1\x81\x47\x30\x78\xcb\x64\x66\x97\xce\x48\x3d\x69\xdd\x49\x46\x31\x22\xfc\x0a\x87\x03\x70\x00\x4f\x46\x1e\xef\xbb\x1c\x25\xdf\xe7\x28\x97\xee\x1e\x67\xa3\x79\xe9\xe3\xc1\x1c\xe3\xff\x4f\x8a\xfe\x9f\x25\xe3\x8e\xe8\x80\x8c\x43\xe9\xd8\x1b\x39\x00\x73\x58\xaa\x52\xce\x7d\xb7\x25\x86\x83\x1a\x89\x88\x4b\xa9\x7d\x77\x16\xdf\xf0\x10\xad\x90\x3f\x9d\x71\xd3\x9b\x7d\x8f\xef\xe2\xa6\xc5\x9e\x31\xcd\x26\xae\x9e\xd1\x72\x1d\x1c\x9e\x8a\x4a\xfb\xb7\x25\x58\xc4\xe5\x8a\xd7\x47\x11\x4c\x2f\xde\x27\x99\xee\xa1\x35\x93\x8b\xc9\x7c\xd9\xa9\xa5\x13\x4b\x7e\x1f\xb1\xec\xce\x88\x65\xd9\x7e\xb6\x89\x38\xd7\xb7\x6e\x3f\x0f\x93\x02\xdf\x23\x85\x7b\x03\xb6\x9a\xd4\x79\xe8\xeb\x9a\x56\xe2\x8b\xb4\x12\x6f\xd2\xca\xf7\xef\xfa\x0f\x17\x29\x4b\x54\x5a\x0e\xb3\xbf\x50\x3a\x71\x88\x57\x25\xae\x8b\xd9\xfe\x8e\xcc\xe1\x4e\xa7\xbf\x17\x77\x60\xfb\x7b\x17\x77\x90\x3b\x24\x91\x91\xdf\xea\xbb\x30\x87\x17\x45\xad\x7f\x1c\x77\x78\x7c\xe3\x79\x2c\x11\xce\x8a\xaa\xbe\x9b\x74\xa2\xbe\x73\x37\xec\xdc\xbc\x6c\xdd\xf5\xa1\xad\x3b\xfa\xd6\x5d\x7c\xeb\x96\x7f\xc0\xde\xfd\x02\x01\x5d\xbb\x10\x3a\x01\xd5\xfc\x7f\x56\x88\x67\x81\x44\xea\xd2\x5f\x91\x42\x5c\x91\xa7\x07\xb2\x28\xda\x34\x2c\xd0\xa9\x90\x58\x57\x12\xed\x2d\x01\x85\x5f\xe8\x65\x7c\xb5\x97\xe7\x88\xb6\x36\xe6\xd7\x2e\xe8\x67\x02\xc6\x77\x13\xd1\x7e\x07\x13\xcd\x77\x26\x9a\xf9\x5f\x68\xa6\x7f\x78\x41\x6a\x08\x04\xa0\x66\xcd\x2f\x8e\xd7\xff\x04\x25\xd4\x37\x4b\xeb\xb7\x47\xe8\xe1\xb9\x96\x7b\x73\x7d\x73\x8c\x12\x37\xfb\x5b\x0d\x36\xaf\x28\xa1\x3a\x25\x44\x50\x42\x7c\x88\x12\x7e\x2b\xc1\x3f\xc2\xff\xbf\xed\xbe\x4e\x0f\xda\xac\x98\x72\x6a\x43\x9c\xb0\xef\xed\x29\x35\x01\x3e\x49\x43\xb6\xe1\x32\xcc\xc9\x90\x63\x04\xa8\x0a\x22\x62\x61\xa6\x2b\x0d\x07\x46\xad\x1f\x7d\x0c\x8d\x5a\x89\xc0\x39\xe6\x96\x1c\xd3\xb8\x09\x70\x8e\xb5\x39\xd4\x3a\x85\x26\x0e\x80\x9c\x48\x90\x26\x12\xa1\x7d\x35\x8d\x8e\xde\xc4\x19\xf6\xf1\xd1\xe3\x78\xc4\x01\x84\x00\x6a\x9e\xa2\x3d\x2d\xb0\x61\x01\xb3\x3c\xa9\x67\xbf\x12\x9c\xfb\x24\x40\xba\xd4\x31\x51\xe3\x32\x66\x0a\xda\x76\x8d\xa2\xd6\xc1\x3f\xbb\x35\xb1\x35\x1c\x52\x79\x01\x00\x39\x46\xc2\xa2\x02\xe4\x47\x9c\xd2\xc0\xb0\x88\x2c\xd6\x48\xb8\xe4\x80\x2f\xcd\xe5\xa0\x86\xfd\xde\x0d\xdf\x23\x85\x1c\x89\xab\xe3\xe7\x68\x1b\xd1\x2d\x45\x2b\xd9\xb4\x03\x00\x58\x26\x20\x52\xed\x1d\x6c\x59\xb1\x30\x50\x36\x92\xd9\x21\xad\x53\x24\xa4\x60\xca\xb6\x14\x84\x22\x72\x70\x04\x2e\x63\xec\xc8\xc9\xc8\x30\x87\xe4\x47\x21\x20\x22\xb8\x1b\x4b\xd9\x9e\x68\x89\xc4\x4a\x06\xd8\x77\x8d\x23\xb5\x96\xa9\x20\x8b\x57\xc2\x51\x54\xbc\x3a\x6d\xcf\x09\xba\x8b\x66\x24\x58\x42\x12\x27\x96\x34\x16\x24\x52\x77\x88\x5e\x0e\x40\x39\xf2\xa4\x62\xc8\xe3\xe9\x89\xda\x6c\x70\x46\x47\x0b\x1a\x94\x5a\x1a\x01\x75\xa5\x40\xc6\x53\x8a\xb2\xcb\x54\x15\xb1\x28\x8b\xbd\x98\x9b\xc9\x94\x0e\xef\xa6\xc4\x15\x16\xe0\x50\x1d\x6c\x10\x01\x4e\x65\x48\x00\xe8\x13\xe4\x9f\xc8\x26\xe7\x39\xb8\x7a\x05\x0e\x0e\xf2\x29\x25\x64\x75\xc2\x1c\x64\xe4\x83\x4d\x38\x07\xb2\xa6\xe3\x9c\x43\x9a\xc3\xfa\x5b\x13\x63\x51\x6a\x20\x37\xa4\xaf\x4b\x98\x27\x84\x56\x3b\xfa\x11\x72\xe4\x26\xb5\xae\x38\x34\x94\x28\xd0\x99\x62\x8f\x26\x65\xa1\x08\x4b\x7a\x64\x52\x20\x3c\x69\x99\x28\x7a\xd6\xb8\x53\x22\xf6\x65\x48\x33\x85\x98\x07\x13\x50\xeb\xde\x4f\xcd\x40\x32\x52\x00\xba\xc6\xd4\x42\x22\xd6\xfa\x94\x88\xe3\xde\x93\x75\xf8\xb1\x72\x2a\x36\x71\x21\xe3\x90\x95\x15\xf9\x0d\x6d\xb2\x6b\xb0\xc9\x77\x28\x54\x49\x3c\x02\x4f\x66\x2c\x40\x93\x36\xce\xb9\xa3\x16\xa9\x0b\x84\xb6\x42\x28\xea\xbe\xc3\x8f\x59\xaf\x8b\xe3\x82\xe5\xe6\x28\x8d\x49\x28\x1a\xa1\x14\xca\x9a\xa8\xa8\x50\x2b\x95\xb4\x1a\x91\x27\x0c\x20\xe0\x4f\x80\x6f\x85\x4c\x58\x11\xc7\x33\x8c\x03\xb5\x50\x80\xf6\x03\x82\x1f\x19\x51\x5e\x89\x2a\x00\x93\x6d\xff\xc9\x1e\x62\x8f\xa4\xed\x41\xc7\x04\x48\x01\x9c\x5a\x23\x06\x8b\xfc\x76\x16\xa3\x36\x38\xa1\x27\x4a\x3d\x85\xda\x23\xbc\xeb\x21\x4b\x61\xa1\xa2\x69\x90\x89\x52\xc6\x41\x13\xa0\xb7\x62\x30\x7d\xa8\x50\xf6\xa3\x26\xc9\xd4\x58\x3f\xdb\x98\xa7\x41\x41\x53\x7e\x48\xa6\x19\xd8\xac\x80\xf5\xe5\xd4\xf6\xd8\x80\x00\x8a\x06\x58\xbe\x0a\xa8\xbe\x14\xe2\x04\xfc\x55\xf1\xd8\xa1\xda\x0f\x8a\xab\xd1\x29\xfb\xc1\x3f\x09\x00\xf6\x52\x41\x9a\x0d\xd0\x38\x12\x8c\x75\x96\xe1\xe3\x30\x3a\xda\x53\x32\xde\xb6\xcb\x48\xdd\xe6\x9f\x9d\x37\x45\xcf\xaa\xd0\x5f\x07\x34\x34\x10\x82\x61\x9c\x6f\x8c\x4c\xc1\xa4\x41\x47\x2a\xd1\xb4\x97\xe2\x09\x17\x90\x76\xb5\x78\x8c\xe2\x20\x48\xe9\x06\x02\x67\x64\x3a\xec\x59\x56\x01\x3c\x18\x33\x4e\xaa\xab\x20\xe9\xb3\x03\x96\x06\x35\xe5\x6e\xb4\x35\xed\x80\xd6\x19\xc8\xf4\x60\x52\xa9\xa1\x6f\xa5\xa9\xad\x1a\x63\x83\x54\xd8\xd8\x6d\xd4\x4c\x91\x47\xaa\x9c\xa9\x60\xb6\x73\x88\x48\x75\xe9\x39\x0b\x00\xc4\x4d\x31\xd9\x96\x51\x47\xa4\x70\x84\x5b\x84\xe8\xc1\x5a\x74\xe9\xbb\x92\x52\xc5\x89\xbf\xb3\xe5\x2c\x99\x4a\x19\x95\x10\x50\xa9\xd9\x78\x53\x12\xec\x3f\xf9\x33\x15\xc6\xe2\x51\xac\xfb\xc2\x43\xf2\x0c\x80\x48\x34\xd7\xb8\xf3\x19\xe1\xba\x4b\x38\x7b\x4d\xcb\x09\xac\x0d\x41\xa5\x08\x4c\xe5\x60\x8a\x9d\xd8\x4e\x53\x7a\xd0\xa6\x83\x19\x20\xbd\x03\x12\xe3\x06\x04\x08\xc4\x9d\xe7\x87\xf1\xcf\xbe\xfb\x23\xff\x76\xae\xcd\x13\x69\x33\xc5\x44\x15\x67\xb2\x82\x14\x77\x82\xb4\x31\x31\x34\xca\x85\x02\x30\xdd\x62\x72\xa0\x4c\x24\xb5\x30\x1a\xc2\xe6\xe7\x78\xa6\x6a\x2c\x36\x64\xa0\x9a\x03\x40\x18\xe0\xa5\xc1\x76\x0a\x17\x21\x6c\x7d\x43\xf7\x6c\x93\x69\xe9\x48\x00\x7e\x3e\x80\xc8\xfe\x03\x3a\xae\xbc\x77\x78\x6c\x80\x3a\xd6\x46\x21\x3b\x56\x7a\x44\x66\xbb\x64\x1a\x25\xc5\x06\x44\xf8\xd1\xb8\xae\xbb\xb7\x8c\xce\x62\x19\x7e\x2c\x08\xfd\x30\x2e\x31\x46\x6a\x8d\x6d\x43\x55\xb1\xd9\x10\x71\x54\xcb\x56\xbd\x9d\xb9\x11\x27\x26\xb1\x86\x85\x64\x2c\x67\x4f\x5c\x48\x24\x83\x98\x52\x42\xd8\xb4\x8d\x42\x0a\x46\xb7\x0d\x2e\x01\x46\xda\x8e\xd7\xec\x49\xc5\x2b\x15\x00\x90\x24\x50\x95\xd1\x2f\x12\x95\x30\x52\x3a\x4a\x03\x4a\x83\x2d\x42\xf1\xb4\x21\x85\x0a\x57\x64\xd2\xa5\xda\x1c\x82\x01\x49\xff\x9c\x57\x49\x8a\x76\x8f\x1b\x02\x7f\x1f\xe5\x33\xaf\x18\x67\x7f\x98\x65\xe9\xcf\x22\x7f\x8a\xf1\x0f\x1f\x82\xd3\x87\xe0\xf4\x21\x38\x7d\x08\x4e\xff\xbc\x82\xd3\x2b\x46\xbf\x17\x18\xda\x87\x34\xf5\x21\x4d\x7d\x48\x53\x1f\xd2\xd4\x3b\xa5\xa9\xe9\x65\x37\xa9\x9b\x21\x6b\x37\xe2\xb7\x56\xb3\x61\x33\xc8\x83\x2d\x8c\xb4\x13\xe2\x80\x0c\x26\xa1\xa3\xaf\xd9\xbd\x11\x9f\x47\xff\x7a\xc2\xe3\x57\x0f\xda\xcd\xa1\xff\x5d\x96\x80\x7f\xc9\xf3\x57\xe0\xd2\x24\x63\x51\x77\x5f\xdf\x72\xa3\xf6\xe9\xf2\x2e\x30\x20\x06\xb9\x7e\xcd\xe1\x28\xf8\x38\x5a\xd1\xb7\x4b\xb5\x3f\x20\x6d\xe7\xe1\x76\xcb\xd1\x38\xfc\x9b\x0f\xd6\x82\xfb\xfd\xb3\xbf\xab\xb6\xcd\x25\x3f\x7f\xb5\x9e\x45\xa0\x85\xdc\x7c\xdb\xc7\xd1\x86\xef\xaa\x0c\x19\xd0\xc3\x5b\x4d\xb3\x7f\x1d\x6e\xf7\x6e\xe9\x1c\x1b\xcf\x68\xd8\xb6\x73\xbc\xf7\x58\x40\xcf\xee\xf6\xeb\x6a\xde\xfc\x1d\xfb\xe1\x78\xb7\x7a\xfb\xd7\x43\xd3\x7a\xc4\x20\x1f\x6e\x8d\x9f\xdc\xeb\xfc\xb8\x34\xdc\x53\x57\xc7\x3a\x78\x47\xef\xb5\xe4\xc9\x68\xe7\x5e\xf7\x6f\xf6\xcf\x8b\x3f\xbc\x40\x3d\xde\x43\x74\xee\xb5\x99\x3d\xf4\x65\x22\x37\x46\x79\x6e\xc0\xcd\xe5\x01\xec\xc8\xc7\xcc\xcd\xd3\xcb\xde\x5d\xef\x58\xfc\x00\xb4\x01\xcc\x3e\xd7\x1d\xd0\xc0\x07\xff\x74\x50\xef\xe4\xa9\x7e\xf8\x88\xaf\x03\x3e\x3f\x5d\x3d\x36\x34\xaa\x29\xef\x01\xdf\x5d\x4d\x61\xd3\x19\x61\x71\xc1\x62\x7c\xfe\x0a\x3c\x62\xa4\x4d\x97\xab\x8a\xc6\xe5\x39\x3e\x02\x7d\x7a\xef\x59\xc8\x56\x65\xd5\x53\x59\xf7\xdb\xb9\x45\x43\x6e\x17\x8f\x0f\x80\x18\xe2\xe0\x37\x15\x7e\xb1\xc1\x48\xc9\x7a\xbc\xdd\xe1\x6c\x8a\xe1\xc0\x2f\x74\x03\xe8\xe4\x09\xd0\x06\x77\x7a\x8b\x8f\x27\xb9\x3d\x9e\x19\xd9\xf9\xfb\x18\x08\x75\x40\xcc\x75\xeb\xac\xe4\x74\x7f\x20\x9e\xbf\x34\x78\xe5\x16\x93\x83\x5f\x18\xaf\x9b\xf5\x37\x20\x49\xbc\xd4\x3d\x4c\x52\x9a\x1b\x78\x6b\x8e\xd6\xf3\xfd\x62\x49\xcb\x58\x5f\x0f\x83\x62\x1c\xae\x9b\xbf\x9e\xce\x0a\xf7\x6d\x74\xf6\x9a\x66\x2e\x07\x2c\xde\xaa\x03\xbd\x7d\x69\x8e\x50\xf8\x6f\x9f\x6b\x5f\x3c\xe8\xef\x6a\x66\xaf\x5b\xfa\xc2\xa4\x3e\xcc\x22\x1e\x32\xb7\x3c\xce\x28\xe6\xa8\xf8\xc0\x7f\xd2\x4f\x7f\xf8\xdf\x22\x34\x5c\x1e\xea\xc7\xfc\x59\xff\xbc\x00\x7d\xfd\x7e\xe5\x89\xcb\x7e\xcb\x9f\xfe\x98\xcb\x7c\xbe\xfd\x8f\x12\x35\xbe\xa7\xa0\xc1\x2f\x09\x1a\xd7\xad\x5e\x09\x1a\x97\x5d\xff\xd3\xe7\x3f\x8a\xfc\xe9\x14\x0a\xf3\x2f\x21\x83\xbc\x5d\x02\x79\x9b\xfc\xf1\x90\xe9\xe3\x37\x31\x97\x7f\x7e\xa1\x24\x7f\x4f\x99\xe4\x25\x46\xf3\xbf\x44\x5c\x79\x89\xe7\xfc\xef\x90\x64\x5e\x62\x3d\x1f\x42\xce\x05\x1f\xfa\xe9\xbf\x1f\x08\x15\xbb\x8b\x04\x82\xf8\xeb\x46\xa9\xed\x49\x22\x90\xa9\x4a\xa6\x18\x3c\xc9\x6a\x24\x06\x26\x59\x2b\xc5\x6d\xa7\x52\x47\xd2\xa8\x54\x11\x54\x0c\xc3\x7e\x54\x9d\x48\x25\x22\x46\x5b\x37\x6c\x62\x06\x00\x2f\x2a\xb5\x06\xbc\xf9\x98\x27\x9c\xf8\x44\x0a\xea\xb1\xe6\xb5\x83\x45\x88\xc0\x00\x1d\x8a\x27\xd4\x66\x2a\x79\x1a\x29\x21\xdf\x91\x46\x1d\xc9\x41\x45\x32\xa9\xc8\x68\xe5\xef\xe1\xbe\x64\x8f\xc0\xb0\xe9\x47\x14\x30\xbb\x22\xfe\x3d\x8f\xc4\x7e\xf0\xa4\xf0\x83\x82\x91\x9e\x11\xfe\x6a\x9d\xa8\x53\x0f\x49\x44\x50\x30\xce\xa3\x42\x39\x8e\x14\x12\x12\x27\x36\x58\x41\x19\x98\x59\xd1\xd1\xbf\xd2\x98\x28\x87\x34\x01\x2e\x94\xb2\x54\x2a\xb0\xc4\xb5\x2a\x94\x24\x53\x09\x88\x65\xb7\x22\xf3\x9e\x22\xea\x17\x6a\xf0\x9b\xf2\x75\xa3\xb8\x22\x45\x58\x3a\x13\x67\xb7\x8e\xd9\x1d\x93\x6e\xda\x64\x7b\x0f\x85\xa8\x38\xd5\x42\x81\x25\xe0\x74\xac\x02\xa4\x94\xb2\x94\x7d\x87\x66\x14\x7c\xd6\x84\xc8\xf8\xd0\xf1\xc9\x06\x6b\xa1\x1e\x29\xe0\xf0\xa6\xc0\x8a\x8c\xb0\xda\xd4\x81\xe2\x59\xeb\x28\x24\x21\x23\x7e\x1e\xa0\x60\x9e\x8a\xd8\xba\x0f\xf0\x48\xcf\x2c\xc0\x36\xf6\x9c\xfc\x58\xcb\x18\xac\x30\xce\x61\xc4\xa3\xa0\x4b\xc3\xe1\x01\xc0\x5f\x5b\xf2\x19\xa5\xda\x9e\xbf\x62\x14\x05\xe6\x49\xdb\x61\x10\xc3\x9e\x1b\x29\xcc\xd1\x65\x3e\x2f\xc4\x55\x4e\x8e\xda\x10\xd8\x66\x16\xb1\xb2\x76\xe3\xc0\x14\xd3\xf3\x57\xbb\xaf\x54\x82\xee\x88\x95\x7a\x44\xad\x9b\xe5\x1d\xa2\x0d\xd0\x68\xdd\x0b\x30\x01\x01\x72\x9e\xd0\x20\xf3\x45\x3c\x8c\x94\xe2\x91\x82\xb8\x83\x35\x93\x28\x69\x8e\xa4\x5a\x11\xf2\x49\x9a\x71\x2a\xe7\xa5\x6b\x1e\xed\xd7\x23\x82\x4a\xed\x55\xb1\x3e\x54\x84\x7a\xb1\x14\xb8\x17\x32\x47\x92\xa4\x3b\xc7\xac\x58\x70\x0a\xe0\x72\x88\x5b\x67\xbf\x22\xcf\x6b\x8b\xd6\x9d\x96\xd3\x90\x49\x8b\xf1\xba\x88\xf3\x9b\xc8\xcb\x73\x38\xcc\x8a\xc6\xa9\xab\xfd\xf5\x9f\xa3\x8d\x6e\xa6\x54\x29\x9d\x7e\x1a\x29\x00\x3a\x32\x02\xf7\x2d\x86\x7c\x2a\x83\x38\xc6\x3d\x2c\xb9\x9c\x23\xc5\x98\xad\xa5\x40\xcb\xb6\x6f\x51\x8f\x56\xf3\xc3\x4d\x80\x79\x8e\x76\xc3\x34\x62\x2b\x11\x00\xd8\x36\xda\x46\xf6\x7d\x44\x18\xc6\x65\x6d\xfd\xa4\xca\x39\xd2\x1c\xf6\x0b\x34\x37\x40\xfc\x21\xf2\xec\xc1\x31\x07\x3f\x09\x03\x06\x5b\x54\x6e\x0d\xfa\x8e\x80\xd8\x3b\xdb\xfa\x73\xf6\xf5\x71\x6b\x68\xc5\x86\x36\x80\x7e\x62\xdd\xe3\x60\x78\xe8\xc9\xb8\x33\x9e\xe0\x4c\x19\x30\x32\x31\xe2\x8c\x1a\x46\x7b\x4d\x23\x69\x8d\x4e\x88\x1d\x96\x33\x17\x50\x5d\x4b\x63\xa6\x1c\xcb\xe7\x8a\x00\x77\x13\x2b\x6d\x8b\x2d\x75\xc8\x94\x9b\x5d\x45\xfb\x94\x0a\x3e\x90\xa9\xd9\xea\x28\xd1\xcf\x79\x70\xdc\x8b\xd3\x1d\x9c\xfc\x66\xe3\x72\x71\x53\xa9\xc1\x60\x9f\xeb\xf3\x57\xd2\x22\x90\xdf\x02\x12\xb7\x1b\x65\x05\x70\x1a\xc9\x88\x7d\xc0\x09\x6b\x24\xd1\x44\x85\x2a\x30\x2a\xb1\xd2\x22\x10\x28\x32\x72\xc0\x27\x40\xba\x52\x05\xfc\x2a\xd2\xac\x4b\x9d\x96\x60\x6c\xf9\xd6\xc1\x0a\x90\xae\x21\x1a\xff\x73\xf8\x8f\x11\x6e\xa1\xdc\xb8\xa7\x1a\x96\x16\x29\x94\xb4\xa3\xd0\x28\x2c\x61\x5b\xc6\x7f\x18\x7c\xcc\xfe\xfa\x60\x7b\x12\x0f\xde\x7b\x8a\x6b\x92\x50\x11\x63\x30\xda\xd6\xd5\xaf\x72\xf6\x81\xaf\x89\x04\x1b\x43\xc8\x48\xe4\x46\xca\x0d\xfe\x02\x3a\x76\x8c\x78\x07\xf1\x64\x6b\x1f\xf6\x14\x63\x45\xc9\xda\xae\x51\x46\x2a\x85\x71\x8a\x1f\x47\x80\x2c\xce\x98\xa9\xc6\xfb\x05\xa7\x21\x15\x10\xe1\x82\x43\x56\xdb\x74\xcb\xe4\x11\xc4\x0c\x26\x10\x9a\x75\xcc\xd8\xef\x48\xd1\x88\xdf\xb6\x81\x52\x95\x0a\x50\x5d\x23\xcb\x84\x38\x11\x07\xce\x4d\x15\x9e\xb0\x75\xbf\x04\xb1\xdb\x54\x02\xaa\x85\x92\x8d\x56\xe4\x27\x96\xa3\x6d\x3b\xc8\x0c\x81\xa0\x77\xa4\x2b\x85\xdf\x70\xc7\x8d\xd6\x2c\x14\x01\xd2\x5c\x15\x41\xcc\x38\xa9\x61\x29\x70\x89\xc8\x38\x4e\xac\x8d\x34\xd9\xf8\x15\x9b\xd3\x32\x52\x06\x48\x68\xac\x79\xa1\x9c\x1a\x1a\xce\xb3\xdc\x43\x41\x2b\x25\xa9\x7d\x42\xd4\xc6\x08\x49\x49\xdd\xaf\x22\x0e\xd1\xe4\x03\xdb\x33\x33\xce\xf7\x27\x67\xf1\x2c\x7b\xf7\x62\x08\x89\x2a\x00\xbf\x01\xcd\x18\x41\x8e\x4d\x26\x1b\x47\x0a\xd9\x36\x88\x1a\x9f\xbf\x5a\x69\x7e\xf8\x6e\x32\x6a\x56\xd2\xc6\x08\xd9\x06\x48\x28\x67\x93\xfb\x1c\x95\x82\xd1\x2f\x87\xf0\xc4\x40\x57\x9c\xcf\x15\xe3\xb4\x70\x12\x56\xf6\x14\xd6\x32\xa7\xb0\x56\x76\x3c\x4e\xe2\xd6\xd0\x4d\xd2\x4c\xf6\x63\x93\x8a\xef\x98\x81\xa2\x51\x00\x94\x2f\x48\xc8\x60\xc4\x62\xf2\x0f\x1a\x6d\x9f\x9d\x01\xa4\x46\x21\xe0\x90\x0e\x59\xf2\x8d\x06\xac\xde\x71\x4e\x9a\x82\x90\x7a\xce\x90\x47\xc7\x48\x49\xf3\xe4\x14\x13\xb2\xee\x09\xc4\xd1\xaa\xc9\x26\x23\x19\x49\x60\x67\x6d\x13\x06\xde\xe6\xbf\xd5\xb1\x23\xd8\x82\x28\x59\x1d\x9f\x4b\xf6\x14\xd8\x01\x89\x63\xf1\xdc\x02\xb1\x00\xf8\x3b\x0c\xf0\xa0\x6e\x42\xc6\x4b\xb5\x52\x2e\x3b\xcc\x18\x2f\x1e\x14\x3d\xdb\x01\x5c\x28\x40\x5a\x6c\xb3\xcf\xe8\x4e\xe5\x0e\x19\x82\x63\x41\x69\x70\xca\x86\xd8\x90\x30\xcc\x41\xa2\xfb\xa1\xf4\x8b\xa9\x2f\xc0\x10\x8f\x26\x3e\x58\xb3\x0a\x05\x1c\x6b\x27\xf8\x04\x54\x1b\x5a\x5b\x78\x70\xc9\xa7\x62\x14\x17\x70\x1c\x8a\x51\x30\xce\x81\xf2\x6a\xae\xa6\x38\x02\x18\x5d\xfa\x15\x47\xb0\xde\x7a\x1f\x82\x6a\xed\x70\xd4\x1a\xc0\x42\xc5\x58\x81\x72\xc4\x42\x08\xb6\x3f\x3b\x2a\x60\x63\x92\x38\x8d\x9e\x68\x25\x56\x1f\xcc\x11\x28\xd4\x7b\x52\x84\x44\x03\x3e\x95\x7d\x72\x80\x1a\x8a\x2b\xe4\xea\x00\xac\x54\x49\x14\xb4\x9e\xae\x9c\x77\xe0\x40\x1a\x69\x02\x12\xd2\x42\x24\x20\xc0\xfa\xe7\x72\xe4\x6e\x14\x1a\x9f\x11\x79\x99\x78\x28\xb6\xfe\x01\x2e\x05\xd8\x75\x5b\x96\x92\x9d\x77\xe1\xa8\xb1\x35\x41\x7a\x07\x93\x3e\x4c\xde\x5a\x2e\x8e\xcc\xf0\x1e\x41\xb6\x13\xa3\xc4\x2c\x10\x32\x0b\x5c\x25\xf6\x90\xe2\x72\xc8\x80\x98\x67\x4c\x5a\x85\xeb\x8e\x2d\x6d\x36\x42\x4f\xb5\x83\xd2\x26\xf8\x15\x68\x41\x8e\xcf\x36\x75\x18\xd5\xa0\x47\xc8\xcf\xcf\x5f\x0a\x10\x9e\x38\x52\xc6\x22\x72\x80\x76\x78\xca\x54\x7f\x1b\xe2\x9a\xbf\x3c\x5e\xbc\xed\x3d\xcb\xbd\x63\x0a\xf8\x2c\xa6\x60\x2c\xa3\xf7\x6c\xec\x1d\xe2\x7a\xba\xf2\xbe\xd5\x49\x48\x80\xce\x6c\x42\x6c\xaa\xd9\x7a\x16\x4d\x9e\x4e\xc6\x77\x33\xfb\xb2\x64\x17\xac\x2a\x60\xad\xa4\x47\x03\x3e\xa2\x80\xbc\xea\x3b\x7b\x57\x01\x09\xd4\x62\x36\x95\x10\x49\x06\x1c\xe4\x16\xc0\x06\xa6\x3b\x27\xe2\x98\x16\x9c\xaa\x52\x01\xcf\x0f\x78\xb2\x6c\x1b\x4d\x36\x31\x59\x27\xe3\x66\x43\x24\x4d\x79\x14\xaa\x01\xf8\xd6\x39\x6d\x6c\xbf\x1c\xd8\x16\xd8\x84\xbd\x11\x30\x58\xbb\x0c\xf9\xdb\x3f\x17\x69\x03\xbd\x9d\xc6\xee\x3c\x05\xf6\x10\x8b\x2d\xd7\x92\xac\xf0\xd1\x0a\xb7\xf9\x12\x85\x67\x84\xed\x80\xb9\xe3\xd5\x9b\xd0\x3a\x02\x41\x9c\x02\x76\x4a\x63\xd7\x21\x22\x39\x95\xb1\x97\xe8\x18\x8e\xb3\xa4\x2a\xb6\xeb\x61\x97\x53\xcc\x6b\x88\x36\xad\x59\x81\xc9\x64\x24\xe0\x30\x60\xf0\x2b\x8b\xba\xc9\xb6\xaa\x8d\xf5\xda\xee\x8a\x1c\x3d\x26\x4d\x45\x52\xc4\xb6\x98\x58\x27\x65\x17\x29\x22\x0b\x8f\x27\xb3\x09\x50\x43\x6c\xf9\x25\x46\x8a\xf9\x2a\x0d\xa0\xbe\x36\xb9\xc4\x4d\x27\x94\x19\x24\xbb\xff\x94\xb2\x6c\x9a\x2d\x2b\x54\x23\xc9\x98\x29\xd0\xe0\xa8\xf9\x56\xe2\x00\xc6\x4d\xfa\x35\xdc\xca\x8e\x04\x57\x0c\xf7\x23\xb2\x8d\x1f\x22\xb8\x24\xd3\x37\x38\xc2\xa5\x04\x10\x08\xd1\xb1\x80\x21\x35\x98\xda\x6b\x6a\x63\x85\xff\x5c\xc4\x3a\x0f\x91\x0a\xdc\xa2\x8c\xa3\x48\xf7\x9f\x4b\xb1\x21\x77\x99\x91\xec\x84\x7c\x5b\x94\x4d\xeb\x06\x32\xbc\x31\x6a\x80\xc1\x9b\x4c\x14\x6c\xf5\xc2\xad\x0e\x0c\xcd\x2f\x92\x42\x2e\x29\xb5\x50\x34\x39\xa5\x96\x44\xa9\x1d\xa8\xa9\x95\x41\xc9\xe4\x7f\xb6\xed\x0f\x2c\xc9\x18\x7e\x83\x87\x47\xd7\xe4\x9a\x49\xc4\x0c\x58\x93\x59\x42\x82\xe3\x46\x73\xcb\x08\x72\xf2\x9c\x94\x0e\x85\x0c\x71\x18\x29\x06\x1b\x14\xf6\x60\x66\x31\x7a\xae\x94\x8c\x47\x35\xfb\xea\x69\x23\x5c\x5a\x42\xa0\x0d\x92\x8d\x65\xbc\x98\x76\xc4\xd5\x38\x49\x4f\xe8\x10\x2a\xde\xe6\x52\xec\x6f\x71\xd0\x6b\x88\x86\xf2\x3b\x0b\xed\x42\x3b\x72\xe5\xa9\xb6\x01\x5e\x24\x3b\x9b\x38\x4c\x5e\x7f\xc6\x3d\xe8\x32\x45\x6c\x6a\x8b\x38\x1d\x8d\xb8\x6c\x22\xec\x6f\xf9\x11\x70\x4c\x27\xcf\x35\xee\x32\x8e\x09\x58\x1c\x1c\x3b\x4f\x92\xf7\x4e\xec\xeb\x1b\x45\x6e\x60\xe8\x26\xe9\x71\xa9\xcf\x5f\x32\xa9\xa9\xff\x21\xcb\xd9\x20\xd7\xab\x41\xe6\x1e\xee\xba\x1e\xe4\xa9\xef\xf3\x2b\xf5\xe2\x29\x53\x94\x8b\xc1\xc5\xa8\xa6\xd3\xd0\x46\x97\xb9\x3a\x12\xde\xf9\xf0\x5a\x2b\x7c\xfb\x0c\xcd\xd5\x6d\x0c\xe1\xee\xad\x23\xec\xab\xda\x45\x42\x5b\x8e\x01\x58\xe2\x04\x42\xac\xb1\xd3\x18\xd4\x6c\xe4\xdb\x32\x49\x23\x99\x28\x62\x44\x59\x0b\xa8\x13\x13\x55\x78\x4c\x54\x05\xdc\x97\x2b\xd5\x02\x08\x34\xdb\x97\x9a\xc9\xec\x15\x08\xf0\xb6\x40\x6c\xa4\x73\x8e\x7b\xd8\x41\x4a\x2c\x26\xa9\xc1\xbf\xc9\x1d\xc8\x4c\xab\x87\x10\xca\xf0\xf3\x2a\xcf\x5f\x11\xcd\x55\x49\xc4\x93\xf2\x59\x8f\x83\x90\x6d\x0e\x70\x65\x52\x53\xf4\x2a\xbc\x79\xb4\x66\xd2\xec\x8e\x86\xf6\x9d\xc4\x13\x03\x61\xc5\x62\x3f\x48\x5c\x4c\xcf\x70\x97\xab\x4e\xf0\xdf\xba\x80\x07\xf1\x26\xc3\x9d\x6a\x3f\x2b\xe3\xee\xa4\x95\x3b\x04\xa8\xd8\xae\xa3\x53\x57\x1a\x79\x67\x7a\x87\xfd\x2d\xc2\x52\xb2\xa2\x8c\xa5\x3a\xde\x1a\xc6\x0a\x12\x3c\xf7\xab\x54\x3d\x0c\x2d\x46\x47\x47\x89\xb9\xa0\xe2\x58\x4a\xef\xb3\x40\xbd\x29\x01\x98\x72\x10\xf4\x38\x2a\x34\x16\xe3\xdf\x36\x07\x10\xfc\x10\x02\x6d\x1d\xa8\x9d\x33\x63\xde\x83\x80\x45\xa7\x0c\x4f\x3a\xa1\x5c\x27\x17\x0e\x9d\x40\x0b\x84\x5f\xdd\x77\x89\x4d\xbb\xbe\x52\x5c\xbd\x68\x9a\x26\xdb\xf4\x6b\x68\x14\x6d\xfe\x59\x8d\xd6\x9d\x1b\x08\x29\x9c\x0a\x05\x32\x8c\x5f\x3d\xd5\x23\x34\x01\xa8\x14\xb6\x93\x68\x07\xb0\x34\x9d\x09\x20\xf5\xcc\x6a\xba\xee\xe4\x3d\x0e\xb6\xd1\xd8\x36\x4d\x15\xb2\x22\xc3\x29\xb9\xfb\xef\x36\x88\x0e\x2d\x91\x3a\xd6\x3a\xfc\xb2\xec\x6e\xe9\x88\xca\x79\xc2\xa4\xb8\x27\x37\x9b\x44\x39\x0f\xb9\x8b\xa4\x8e\xd7\x2e\x80\xc0\x54\x28\x2d\xc8\x6c\x55\xfa\x36\x05\xd1\x1b\x6e\x62\x22\xc0\xef\xa7\x56\x12\x35\xe0\xf5\xc7\x66\xda\x97\x11\x56\x2a\x47\x0a\xf9\xf9\x2b\x35\xb1\x72\x12\xac\xde\x29\x53\xb2\xdd\x89\xb4\x36\xdb\xd1\xf0\x1d\x7d\x1f\x82\x11\x51\x1b\x55\xc4\xab\x43\xf3\x61\xd7\x9e\x29\x24\x38\x8a\xed\xd8\x9d\xf2\xc2\x82\xd2\xe3\xee\x74\xae\x0b\x09\xcc\x8f\x09\x80\x66\x39\x9b\x0e\xf3\x6d\x84\x65\x90\x82\xcd\x6c\x06\x16\x7f\xb9\x51\x46\xee\x45\x98\xd2\x15\xe0\x82\x87\xaf\x84\x41\x71\xec\x52\x7e\xfe\x2a\xa4\xc5\x68\x4a\x61\x56\x8a\xd8\x12\xca\xde\x73\xd7\x31\x8c\x29\x70\x6e\xae\x00\x60\x26\xc5\x20\x17\x81\x4c\x5f\x46\xa4\x5f\x74\x2c\x36\xc6\xb1\x12\x36\x8b\x8c\x84\x6d\xd9\x38\x66\xc4\x77\x44\x3a\x4f\xe2\xe4\x62\xa9\xa9\x18\xa3\x87\x72\xd6\x72\x5a\x66\x75\x07\x13\xd4\x92\xa9\xc9\xf3\x31\x22\x30\x53\x60\x34\x72\x99\x85\x18\x06\x15\xd3\x7f\x83\x7a\xa6\xc6\xae\x1e\x71\x76\x8d\xbc\x5f\xcc\xab\xd0\xb4\x09\x08\x06\x18\x77\x63\xa3\xd5\xb8\xb8\x52\x66\x7c\x71\x46\xeb\xb4\x7b\x96\x52\x31\xd1\xd0\x98\x83\x98\xd4\x92\x4d\x2a\x83\x88\x69\xfa\x91\x5f\x41\x82\xc9\xfc\xba\x22\x51\x90\x0f\xde\x64\x0b\x81\x0d\x17\x4b\xbb\x48\xf6\x5d\xbb\xb5\x44\x0c\xf7\x56\xf4\xcb\x9a\x0e\xee\x59\xa0\xd6\x63\x77\x96\x02\xa9\x14\x8e\x98\x8c\x27\x8c\xc0\x13\x62\x85\x19\x26\xd6\x00\x81\xbe\x5f\x39\x87\x30\xa6\x38\x02\x97\x4c\xea\x2e\x52\x42\x8e\xc2\x39\xf5\x43\xb3\x0d\x89\x73\x41\xe2\xa0\x92\xd2\x60\x6c\x2f\x21\x45\x19\x84\x39\x05\x7c\xa7\x42\x19\x1d\xa9\xa4\xba\x33\xc6\x0a\xee\x3a\x4b\x5a\x8d\x62\xd0\x23\x52\x85\x4e\x8b\x1b\x2d\x57\xf8\xe3\x9a\xfc\x16\x64\x4f\x90\x7e\x12\x29\x88\xc4\x98\x2d\x3a\x6c\xa3\x6d\x77\xa2\x29\xba\x10\x98\x6a\x80\xa9\x14\xde\x9b\x75\x22\x05\x46\x5c\xc3\x3e\x56\xdd\x53\x47\x86\x46\x9c\x8d\xc1\x31\x94\x2d\x08\x3d\xf3\xbb\x18\x30\xbc\x3a\x9e\xbf\xdb\x3b\x34\xf7\x27\xcd\xdd\x01\xcd\x36\xe8\x2a\x26\x71\x34\x08\x83\xcb\xd5\xd1\x47\x91\x7b\x7c\x01\x36\xd6\x04\x99\xd4\xa6\xcf\x26\x22\x19\xd3\x57\xd3\xe2\x8b\x95\x0c\xd3\x62\x8b\x8f\x6b\x0c\x6f\x48\x51\xb4\x80\x15\x71\x21\x86\x4d\xb5\x06\x7d\xca\xa6\xdc\x42\x78\x36\x61\x07\x2b\xb7\x28\xb8\x98\x8c\x6a\x4f\x4c\x54\x8a\x03\xde\x02\xb8\x28\x6f\x90\x93\x76\xe0\x3d\x53\x2d\xc8\xee\x8f\x8c\x9e\x95\xe1\x58\x10\xea\x72\x5d\xc3\x0b\x48\x88\x2c\x83\x29\xbc\x05\xe7\x11\x71\x6b\x3b\x71\xfa\xd6\x4d\xab\x50\x95\x8d\xe7\x34\xdd\xdb\x96\x3a\x84\x21\x53\x6b\xf6\x7b\xff\x36\x6d\x2c\x96\x88\x63\x92\x78\x9d\x2a\xe1\x8f\xf6\xdf\xa9\x1e\xd3\xd8\x75\x1a\x4d\x9e\x8a\x50\x45\xe3\xb6\x90\xf0\x37\x81\x46\x5a\x81\xe0\x0d\x1d\xbb\x56\x3e\xb2\x52\xab\xd7\x48\x4f\x9f\xb3\xfd\x77\xca\xc5\xca\xc0\xc5\x68\x4f\x2c\x78\xa3\xc4\x29\x53\x6a\xae\x0f\x7a\xe9\x26\x9d\x57\x2f\x74\xcc\xd0\x82\xed\xf2\xfa\x64\xf6\x8f\xf1\x8f\x39\x2e\xf9\x6e\x34\xe5\x81\x1b\x55\xa8\x05\x2a\x63\xa2\x52\x0e\xb0\x86\x96\x63\x31\xbd\x75\xea\x5b\x12\xef\x1a\x5c\x87\x87\xfe\x15\x1c\xc7\x0f\xca\x9b\xc6\xeb\xc3\x3f\x8d\x1a\xcb\xa7\x05\x53\x4c\x0b\xaa\xc9\x65\xb2\x97\x6c\x02\x15\x12\x63\xb1\x1d\xe8\xc9\x94\x16\x6b\x41\x2a\x80\x04\xd7\x74\x55\xdc\x1f\x3f\xb7\x58\x74\x81\x80\x55\x53\x39\xad\x58\x18\x67\x6d\xb3\x2d\x15\x1c\xc6\x19\x5c\xbf\xa2\x22\x6e\x01\x04\xa6\xaf\x07\x04\x41\xc9\x16\xc9\x2f\x50\x0a\xb2\xf4\x9a\x84\x67\x82\x8e\x96\xec\x98\x9c\x65\x74\x4b\x63\xc5\xd2\x93\xac\x07\xa4\x0b\x0d\x03\x82\x82\xa2\x89\xde\x2d\x93\x56\xc1\x37\x57\xb7\x9d\x43\x39\x00\xdc\xa1\xfd\xbc\xbc\x52\xd5\xf8\x25\x18\x9f\x17\xe9\x97\xd7\x64\x90\xda\xa7\xb2\x78\x6f\x0c\x6c\xec\x34\xee\x5d\x8e\xd7\x4c\x6a\x02\x10\x8c\xd9\x38\x03\xa6\x84\x2c\x31\xdc\xa5\x3c\xc8\xa6\x02\x03\x6d\xc3\x79\x44\xad\x4a\x51\x1c\x30\xb2\x9c\xae\xbe\xe1\xb8\x18\xc0\x6e\x1e\x8c\x56\x3d\x58\xc6\x88\x2d\x51\x91\xeb\xc9\xfd\xb7\xfa\xc7\xf2\x69\xf1\x23\xaa\x19\xb6\x11\x53\x36\x4c\x5e\x00\x3b\x4d\x50\x04\x13\xa2\x84\x96\xeb\x6f\xe3\x6c\x43\x8f\x62\x7b\x32\x80\xde\xea\x1e\x3a\x4d\x8e\x62\xda\x23\x32\x58\xa3\xd5\x76\x85\xe8\x18\x1b\xae\xa2\x73\x10\x00\x9b\xca\x94\x90\x00\x59\xca\x53\xb9\x09\x65\x7d\x41\xe3\x2d\xc4\xa1\x51\x00\xe0\x13\xc3\x5c\xc2\x30\x07\x27\xd6\x8e\xfd\x34\x5f\x91\x60\x53\xc1\xc1\x17\x4c\x8b\xf1\x74\xf5\x6d\x74\x7b\x86\x54\x19\x3d\x19\x6b\x4f\xeb\x1d\x22\xbb\xb1\xd3\x24\x08\xa4\xc8\x30\xd2\x89\x13\x35\x56\xa8\xc0\x04\xb3\x00\xc7\x82\xa4\xd8\xc6\xac\x31\xdd\xaa\x14\xb5\x92\xb1\xf4\x28\xa6\xa7\x99\x0a\x24\x25\x7a\x9e\x70\x0d\x6a\x12\x18\x8c\x61\xc4\xc5\x58\x77\x6c\x2e\xb5\x44\x1c\xa2\xae\x2f\x19\xb7\x6a\x72\x01\xb4\x99\xda\xd4\x2f\x5e\x5c\x97\x1c\xc0\x40\x2b\xa5\x66\xdd\xc3\x5a\x66\x00\x60\x16\x9c\x01\xc4\x7d\xb0\x9e\x09\xe2\xc9\x22\xec\x2d\x89\x1d\x06\x2b\x40\x20\x6a\x95\x72\x81\xd8\x6b\x75\x0d\x78\x3a\x36\x1e\x22\x45\x85\x36\x51\x06\xb4\x10\xb1\x0a\x50\xce\xad\xcf\xb0\x95\x5a\xbf\x3c\xe5\xac\x50\x32\x62\xcc\xfd\x6b\xe2\x2e\xb3\x59\xa1\x1e\xcd\x57\x6d\x04\x06\x1f\xc2\xaa\x4a\x59\xda\xb6\x76\x48\xe9\x96\x13\x18\x89\x51\xaf\xc7\xfa\xe1\xfb\x9a\x26\x62\x64\x95\x85\x26\xd8\x1b\x59\xf7\x90\xa6\x22\x84\x90\x1a\x60\x8f\x42\x60\xa2\x5d\x27\x82\xb0\xc8\x5d\xc5\xdb\x93\xe7\x98\x2e\x19\x76\xfa\x08\x09\x90\x3d\xc1\x31\x24\x1f\x90\x06\x69\xa2\x9a\x11\x54\xe4\x31\x9d\x69\x22\x35\x11\xca\x26\x35\x97\x62\x3c\x0e\xa7\xe3\x63\x84\xbb\x94\x9a\x60\xa2\x2b\x48\xd0\xe4\x7a\x01\x94\x05\x75\xf5\x3c\xc5\x48\xc5\xa6\xb8\xd4\x6a\x72\x3b\xec\xeb\x5d\x79\x68\x5d\x43\x34\x9a\x84\xd7\x8a\xc2\x76\x1f\xdc\xe4\x5b\x33\xb2\xf1\x42\xda\x00\xdd\xaa\xee\x98\x72\x6b\x83\x7f\xf6\x4c\xde\x0d\xd6\x7e\x84\xf4\xa4\xfe\x39\xb7\x46\x90\x73\x7a\x32\xe9\xcf\x13\x6f\xe3\xd4\x84\x52\x55\x93\x55\x6c\xff\x81\x62\x1d\xb3\x69\x3e\xa6\x2d\x57\xc4\xe7\x05\x0c\x01\x98\xad\x49\x55\xc4\x36\x34\x09\x84\x39\xda\x66\x9f\x7c\x51\x40\x7e\x36\x49\xc4\x94\x15\xd8\xb7\xb3\xc9\x72\x0c\x34\x26\xa6\x0c\x93\x2c\x43\x0b\xae\x49\x47\x1b\xc6\x36\x91\x9a\xbe\xda\x80\x6a\x17\x29\x26\xe3\x9c\x83\x8b\x53\x31\x55\x52\x9b\x55\x9c\xfc\x33\x93\xad\x8b\x0c\x86\x04\x16\x92\x23\x29\xb4\x59\xf6\x33\x62\x05\x7f\xaa\x56\xc2\xe4\x0d\x55\x13\x0d\x4c\x14\x61\xd3\x88\x24\x53\xcb\xcf\x5f\x47\x9c\x9e\x0f\xdc\xbd\x84\x3c\x11\x0e\xb5\x3c\x67\xe0\x87\x16\x9d\x61\xff\x47\xe2\x78\x4f\xc7\xe2\x8a\xb0\xf6\x83\x05\x68\x3c\xe0\xcb\x21\x91\x98\xa2\xaa\x22\xee\x17\x51\x93\xfa\x45\x14\x9c\x9b\x64\x98\x26\x4c\x56\x40\x64\x26\x40\x46\x4b\x4f\x27\x1a\x3d\x79\xb3\xc0\x0b\x00\x15\xba\xf6\xba\xc7\xbd\x94\x91\xc6\x17\x51\xa8\x60\xf2\x39\xb9\xf1\x2c\xc1\xc9\x60\x8f\x40\xcc\xd0\x6c\x1b\x22\x86\xcd\x90\x38\x7d\xa3\x08\x5c\x74\x9d\x05\xe7\x4b\xd7\x16\x20\xd5\x42\x9f\xc2\xd9\x4e\x61\xa4\x98\xe1\xd8\xfc\xbb\xf9\xbf\x83\x8a\xdb\x56\xf0\x89\xe3\x02\xf8\xd9\x40\xf4\xb7\xcf\xa5\x24\x2b\xc8\x34\xb7\xca\x38\x05\xca\x69\xef\xf2\x8a\x36\xc6\xce\x8d\x43\x3b\xa8\xad\xd8\xce\x6b\x3f\xd4\x2a\xc9\x0f\x92\x84\x42\x83\xd1\x6b\x8c\x94\x11\x1f\x0b\x65\xb4\x5a\x97\xa0\x4c\x56\x60\x69\x1b\xcb\x34\x85\xd9\x09\x12\x2e\x13\xc1\xc5\x6e\xa8\x56\x48\xae\x53\xb0\xda\x7a\x1c\x34\x8f\xfd\xc0\x24\xb8\xfe\x6a\x42\x72\x19\x3b\x58\x03\x8a\x82\x87\x4a\x91\x36\xb8\xbf\x50\x83\x8a\x6e\x04\x94\xfb\xf1\x8f\xb4\xe8\x67\x64\x05\x11\x55\x72\xca\x7b\xed\x87\x8a\xd2\x6c\xa3\x1b\x3d\xcc\xae\x47\x5a\x45\x9c\xa1\xb4\x89\x38\x66\x38\xa3\xc0\x96\x08\x85\x01\xba\xbb\x0a\x6a\x06\xa9\xc3\x2c\x51\xba\x45\x99\xad\x0f\xb9\x67\x07\x17\x46\x5c\x9c\x44\xac\x04\x99\x28\x54\x58\xef\x8e\xb6\x7c\x60\x56\x82\x60\x83\xf3\xc2\x6a\x0a\x90\x31\xb5\x66\x2a\xa1\x87\x18\x52\xd6\x48\xcd\xbf\x34\xb8\xe6\x0f\x2b\x98\x32\x0e\x50\x8c\x3b\xb3\xc9\x51\xc8\x69\x85\x83\x51\x7c\xc1\xb6\x78\x80\xbd\x2e\x0c\xb6\x3d\xd8\x12\xa6\xd2\xc8\x8f\x20\x21\x4c\x75\x8d\xd6\x78\x1f\x95\x18\x29\x95\x1d\xb5\x04\xf0\xc5\x21\x04\x6a\xa6\x0b\x67\xd5\xbd\x35\xcb\x03\x1c\x23\xe6\x0c\xce\x34\x7e\xd5\xd2\xd1\x66\xc7\xc4\x51\xe3\x26\x2f\xb3\x77\x64\xe7\x1b\x18\x0e\xa2\x4f\x6c\x74\xd6\x16\x3b\xa4\x7a\xe8\x7d\x50\x44\xce\xda\xb7\x7b\x5b\x34\x38\x28\xf9\xcf\xc6\x3f\x75\x31\x45\x26\xad\x2f\xe8\x15\xb6\x05\xcc\x75\x9d\x8c\x9d\xad\xb8\x47\x47\x34\x76\x84\xaf\xe8\x79\xe1\x6d\x81\x49\xf2\xec\xbf\x1a\xeb\x5c\x09\xbf\xd6\xa5\x68\x82\x44\xaf\xc6\x8f\x2a\x7d\xd1\x87\x28\xfe\x0f\x35\x86\x03\x59\x9d\x25\xed\x4c\x71\xb2\xbf\xc5\x1a\xaa\xf6\xb3\x7b\x07\x05\x63\xbe\x88\x1a\x34\xfd\xb3\xa6\x1d\xa2\x98\x25\xf5\x9c\x8c\x52\x3c\x33\xc0\xde\xe3\x61\x71\x9a\x07\xd7\x2b\x9c\x15\x42\xc1\x97\x18\x0f\xf0\x63\x79\x06\x86\xbb\xa9\x10\x3e\xd6\x8d\xa4\xf2\xd9\x50\x4b\x1f\x6a\xfe\xed\x43\xdd\x56\x43\xf0\xf2\x48\xa7\xdf\x32\xd2\x01\x76\x0e\xaf\xc6\x7b\xf9\x9b\xc6\x7b\x3d\xdc\xf1\xe6\x70\xe7\x65\xb8\xe3\x32\xdc\xe9\x62\xb8\x5f\x56\x0c\x6c\x33\x4d\x03\x23\x46\x7e\x76\xe5\xc2\x41\x73\x3f\xe6\x82\x31\x0c\x57\x39\xba\x46\x64\x22\x55\x42\x00\xb3\x04\xdb\x24\xe0\x77\x23\xd7\x23\xb3\x16\xf4\x99\x89\x73\xaf\x65\x44\x86\x32\xc6\x86\x59\xd4\x0b\x67\x77\xf5\xf1\x7a\x5a\x73\xef\x9e\x4c\x6a\xd2\x05\x63\x4f\x9a\x6b\x31\x9d\x01\xe0\x13\x38\x10\x02\x3b\xac\x36\xb9\xb6\xd0\x5d\x8b\x4b\x23\xa0\x13\xa6\xbe\x43\x3b\xc0\x89\x36\x13\x2e\x6d\x97\x34\x86\x07\x37\x91\x90\x32\xce\x19\xdb\x66\x29\xf2\xb5\xa1\xaa\x40\x7e\xc8\x93\xe7\x8c\x68\x36\x64\x5a\xe0\xe8\x02\xc7\x4e\x86\xaf\xb2\x7a\xea\x02\x41\x96\x37\x58\xae\xa3\xd8\xab\x0c\xb7\x12\x6c\x25\xd9\x8f\x71\x71\x76\xe9\x47\xb0\xb0\xe4\xbc\x00\xda\xcc\xee\x3b\x6a\x94\xa0\xee\x61\xd2\x53\x70\xb8\xbf\x43\xf2\x8b\x9c\xda\x7c\x44\x81\xd0\x63\x15\x5e\x2e\x0e\xc6\x8b\xbf\x91\x88\xc2\x04\x65\xdf\xea\x87\x06\xee\xab\xd0\x5d\x51\x34\x53\x86\xad\x0d\x12\x4a\xee\xb6\x4e\x86\x1b\x59\x01\x02\x10\xef\x28\x35\x93\xe0\x74\xb6\x56\x8a\x51\x3a\x64\xce\xd8\x4f\xf0\xb3\xe2\x54\x7b\xbe\x30\xe5\xad\x1a\x71\xa6\xd6\xcd\x97\x2c\x75\x47\x2a\x11\x7e\xa4\xbd\x18\xd4\x06\xc5\x39\x28\xfc\x2a\x21\xfb\x8d\x7e\x8e\x24\xc5\x76\x87\xba\xa3\x18\x0a\x12\x21\xcc\x96\x52\xc0\x49\xbc\xbc\x2c\x3f\xc6\xee\xd5\xb1\x7b\xcc\x76\xf7\x50\x96\xd7\x35\xcd\xfa\x09\xa5\x88\x3c\x25\x8a\x11\x9e\x1a\x29\x67\x18\xee\x99\x2a\x44\x94\xd6\xd2\x88\x47\x26\x52\x15\x24\x09\x28\x07\x63\x72\x65\xd3\x28\x97\x36\x84\x3d\x3c\x9c\x84\x62\x05\x92\x8f\x3d\xd2\x41\x7d\xbc\xec\xfb\xab\xa6\x0e\x9c\xa7\x11\xfa\x79\x4a\x5b\xa4\xf0\x07\xb0\x87\xc9\x0c\x6d\x50\x17\xae\x73\xdb\xc7\xee\xd4\x93\xa8\x21\x17\xee\x72\x71\xac\x24\x85\x37\x56\xce\x8b\xa6\xbb\x3a\xb0\x92\x06\x99\xc6\x64\x2a\x0e\x32\x5a\x6c\x13\x29\xe7\x6f\x4c\xce\xe4\x06\xdc\xa1\x9c\x8e\x8c\x9c\x09\x2f\x9a\xed\xaa\x35\x0d\xda\xa1\x3e\xc1\x9f\x23\x73\x99\x92\x09\xf7\x91\xa4\xcd\x45\x9b\xc2\x6a\x92\x66\x86\xd3\x32\x52\xfe\xde\x58\x09\x6b\x83\x46\x20\x8d\x11\xce\x28\xcd\x44\xce\xd8\x6c\x6c\x52\x79\x2a\xd4\xca\x51\x49\xaa\x09\x49\xd1\x04\xcb\x7d\x77\x41\x84\x89\x28\x03\x4a\x49\x8c\xb9\x01\xcb\xa6\xa6\xeb\xe6\xaf\x8d\x03\xea\xee\xee\x91\x8a\xc8\xc6\xc7\xa6\x9f\xf2\x2a\x25\x79\xd2\xee\x06\x07\xf0\xd6\x1c\xae\x27\x70\x6d\xb1\x6b\xc8\x49\xc3\x42\xb9\xc1\xfc\xa5\xcd\xdd\xcc\x2a\xf2\x20\x84\x12\x71\x75\x72\x54\xaa\x26\x6e\x74\x47\x71\x98\xaf\xf8\x3e\x79\x00\x33\x07\x40\x3c\x11\x27\xb3\xae\x41\xd9\xf6\x14\xfb\x77\x93\x03\x71\x37\x4e\x89\x0d\x10\xbe\x4c\x54\x2d\x30\xe8\x43\x30\x4b\xc0\x92\xf1\x93\xdf\x22\x69\x79\x23\x43\xe6\xa5\xc6\x0d\xa5\xd9\xc5\x8b\x3b\x4c\xb5\x6e\x4a\xd4\x3d\x1c\x91\x63\x14\x8a\x45\x90\x20\xa6\x44\xc5\x77\x54\xd4\x54\xc4\xd6\x78\xb5\x41\x00\x6d\x65\x92\x88\xed\x33\x75\xac\x32\x3d\x5d\x7c\x43\x62\x10\xd3\xa5\x3d\xb9\x0a\xae\x41\x56\x91\x52\xbc\x6e\xd0\x7a\xdb\x56\x6c\x92\x95\x4a\x83\x1a\xa0\x6e\xc4\x30\x8a\x70\xe5\x67\xbe\x74\xe3\x1c\xd5\x66\x0d\x81\xde\x91\xf6\x38\xfd\x4a\xd9\x9a\x92\x53\xb1\x96\xe2\x3b\x3a\x12\x5a\xc6\xb9\x99\x69\x9c\x70\xa6\x6a\x65\x8b\x5a\x9e\x50\xe3\x6b\x34\x5c\x6a\x1d\xe0\x1a\xbb\x37\x0d\xad\xf9\x29\x1c\x0e\x5e\x05\x56\xe5\xd5\x25\xb1\xda\x05\x7c\xbb\x06\x3f\x3d\xee\x17\xdf\x46\xf7\x28\x12\x8f\x24\x30\xc5\xab\x7b\xcc\x8b\xe3\x19\x01\x21\xca\x64\x88\x30\x64\x4a\x79\xf2\x4c\x2d\xa6\xca\x38\xec\x5b\x35\x8a\x34\x6d\x05\xdd\xce\x14\x23\x7c\xd7\x4a\xcf\x28\x85\x4c\x5a\xcd\x0f\xb1\x71\x9a\x96\x14\x82\xdd\x88\xf3\x21\x77\x95\x2d\xf9\xec\xca\x13\xb6\x42\xaa\xc9\x2d\x2f\x17\x2f\x2e\x35\x23\x44\xc0\x3e\xfd\x7b\xa6\x88\x74\x40\x3a\x64\x82\xf0\x11\xb9\xdb\xe0\xa0\xb9\x15\x08\x1a\x6c\x6b\xd8\x9d\xb9\x07\x38\x91\xa7\x66\xf5\xcc\xf9\xd1\x61\x59\x16\x4a\x89\x67\x17\x49\xdb\x3a\xe0\xb2\x58\x3d\x11\x8d\xa2\x37\xd6\x19\x77\x8d\x96\x58\x6d\x00\x6c\xbb\x62\x1b\x10\x80\xd7\x31\x9c\xb9\xa4\x32\xce\x19\xb5\x6e\x95\xc4\x56\x58\xb6\x52\x80\xc5\x66\xbb\xac\x9b\xd3\x71\xf1\x9a\x58\x2d\x70\x66\x2a\x6c\x4b\x23\x26\x92\x04\x11\x0b\xbb\x80\x2e\xd7\xa6\xe4\x9a\x82\xa3\xae\xce\x56\xf8\xf5\x67\x2a\x68\x36\xba\x55\xc5\x76\x46\x9c\xfa\x74\xe4\x16\x24\xb2\xaa\x7d\xdf\x36\xfa\x6c\x65\xa2\xa8\xf0\x09\x03\x10\x55\x45\xa9\x08\xe9\x18\x05\x4e\xb4\xa3\xbb\x65\xe2\x2c\xb9\x45\x4a\x38\x54\x2c\x15\x4e\xc5\xcc\xae\x75\x52\x64\xb7\x34\x69\x16\x0f\x7c\x09\xac\xa6\xbf\xda\x84\xc2\xbe\x22\x9e\xe8\x65\xbe\xb6\xb5\x0b\xfe\x15\xe1\xfb\x0b\xfe\x15\x3d\xc1\x98\x94\x9d\x49\x22\x30\x7d\x77\x1d\x41\xb3\x09\xe5\x38\xd1\xaa\x52\xfb\x67\x57\x1f\xac\x32\xa4\x63\x53\xe4\xb5\xa9\xb5\x7b\x15\x44\x15\x8a\x0a\xd0\xec\x92\x81\x28\x89\x13\xc5\xd8\xa5\xf0\x62\x52\x51\x36\xd9\x01\xfd\xb1\x7b\xa6\xae\xc4\x3c\x0a\x14\x17\x27\xfa\x0a\x4b\x85\x22\xbb\x50\x8a\x50\xbe\x52\xb1\x5d\xbd\x78\xca\xaf\x0a\xe1\xdb\xd3\xec\x20\xef\x8b\x18\x99\xc0\x09\x1f\xce\xb9\x36\x09\x11\x07\x1c\xf0\x95\x93\x54\x29\x85\xb2\xb3\x3d\x08\xde\xce\xf3\x31\xab\xad\x34\x6e\xbc\x27\x20\x32\x52\xe5\x0a\xbf\x21\xf8\x35\xda\x8d\xa9\xcf\x4e\xc8\xa6\x9f\x8d\x91\x4a\x62\xa4\x17\xcb\xad\x22\x3e\x45\x10\x40\x59\x52\xdd\x93\xf8\x39\x4a\xae\x2e\x17\x75\x8e\x93\x81\xdb\x17\xdd\xaf\x59\xdd\xaf\x39\x77\xff\x7a\x9c\xb2\x07\x86\x32\x96\x49\x02\x42\x92\x92\x8f\x58\x0e\xfd\xc2\xb9\x44\xc2\xe9\xbb\xa9\x4d\xf0\x37\xc1\x9d\xd0\x05\x0b\x36\x0d\x0e\xba\x8e\xd6\xd9\x4d\x18\x2e\x4f\xa6\xb1\x71\x60\x78\x67\x29\xbb\xe1\xad\x15\xfb\x7e\xfe\x3a\xba\x41\x4d\x55\x77\xa4\xd1\x36\xdc\x19\xef\x40\xb2\x87\xd1\x44\xea\x31\x31\x14\xc1\x44\xdd\xf7\xc1\xdd\x67\x75\x89\xa7\x68\xee\x40\xea\xad\x71\x65\xbc\xfa\x05\xc7\xf9\x97\xe8\x5e\x11\xb3\xd7\x0d\xfc\x08\x10\x46\x95\x81\x41\x07\x87\x43\x38\x77\x13\x07\x18\xdd\x02\x5c\x70\x54\xf6\x6e\xef\x4c\x26\xa0\xe0\x4c\x44\x84\x9a\xa3\x73\xb2\xfa\xb9\x33\x52\xb9\xc1\x27\x15\xbe\x0b\x69\x14\xca\x71\x71\x94\xce\xd2\xa3\x4e\x00\x9a\x17\x63\x1b\x3d\x4f\x1f\x48\xb1\x7a\xc6\x2c\x2f\x6d\x82\x8c\x0c\xf7\x09\x0f\x43\x4b\xb3\x03\x84\x67\x74\xea\x0e\x38\x2e\xc3\x8b\x34\xa8\x57\xb9\x3b\x65\x6a\xd7\x58\xc1\xb4\x5c\xf3\x12\xbb\x33\xa1\x0c\xb2\x62\x10\x74\x86\x33\x22\xf4\x9d\x91\x0e\x9b\x73\x84\xd7\x77\xf2\x63\x9c\xe2\x56\x32\x78\xaa\xb5\xd6\x27\xd9\x38\x75\x66\x68\xb3\x6e\xc6\x85\x7d\x4b\x40\xe1\x28\x61\x10\x4f\x39\x57\x92\x47\x06\xb4\x4a\xb5\x52\x4b\xee\xed\x39\x79\x2e\xb8\x22\x47\x0a\x8e\x0c\x11\xfa\x79\x95\x36\xe3\x88\x38\xfb\xda\x51\x2e\x94\x5d\x5e\xa7\xac\x8e\x93\x11\xdd\x65\x83\xd9\x7d\x53\xd4\xbd\x0f\xa4\x67\x6a\x34\xa5\x01\xae\x51\x31\xfb\x45\xe5\x78\x30\x45\x04\x71\x3a\xc1\x3d\x84\xb4\x28\x2c\x86\xd5\x66\x0b\x3e\x2b\xc8\xd6\x88\x0c\x60\xa6\x58\xc4\xc4\x17\x88\x13\x70\x3b\x2a\x70\x8e\x82\xb1\x35\x75\xf6\x9d\x92\xcc\x57\xe0\x06\xf0\x27\xc2\x9a\x28\xd7\x62\xdd\x9a\xa9\xc3\x98\x09\xb8\xdb\xf2\x54\x49\xab\x1e\x11\x7c\xd2\x11\x32\x22\x67\xca\xda\x3c\x29\x9c\xe9\xee\x68\x87\xfd\x13\xc2\x9d\x5f\x64\x6d\xb0\xcc\x1c\xa0\xd6\xbf\xa0\x05\x20\x82\x16\x55\xa1\x92\x75\xd2\x79\x48\x13\x3a\x84\xb9\xa0\x52\x6f\x1c\x09\x9e\x35\x9b\x4b\x2f\x6b\xf1\xd8\x97\x3d\x05\x91\x1e\x7f\xa7\xbe\x7c\x4c\x99\xdb\x5d\x04\xd8\x30\x7e\x35\x0e\x0d\xeb\x6c\x8f\x75\x53\xec\x68\xe7\x3f\x36\x07\xef\xdc\xbb\x71\xba\x74\x27\x62\x24\x69\x83\x09\x33\xb7\x03\x5c\x1f\x9f\xbf\x14\x94\xef\xc3\x98\x8d\xa4\x5e\x19\xc6\xf7\x8f\x62\xa6\x79\xbe\xae\x06\x31\x5c\x0d\xe2\x0d\x11\x6e\x35\x88\x99\x6a\x8c\x4b\xa3\xb3\x9e\x8f\x64\xec\x23\x99\xdf\x3a\x92\xf9\xd6\x48\xe6\xab\x91\x8c\xe7\x23\xf9\xa2\x44\xde\x48\xd5\xb1\x4e\xcb\xec\x7f\x6c\x5b\x96\xad\x81\xe4\x65\x74\x4f\x67\x4a\x1e\x1c\x53\xfc\x84\x6f\xa4\x9a\x85\x52\x39\x50\x4b\xd7\x2a\xd9\xf9\x11\x78\xea\xe5\x77\x3d\x1f\x61\x5b\x70\x89\xb4\x62\x6b\x5e\x2a\xe8\x66\x31\x84\x2f\xb0\x47\xf7\x41\x73\x4b\xcf\x5f\x14\x51\x12\x71\xef\xde\xd7\x1c\x7b\x86\xbc\x64\x32\x79\x49\x48\x11\x57\x27\xb2\x0d\x31\x47\x8f\x09\x75\xa8\x18\x17\xd6\xe1\xe7\x58\x00\x62\xc9\xa1\x6d\x7a\x61\x2f\xdb\xc2\x02\x52\x6b\x46\x8a\x15\xf1\xac\x8c\x38\xd6\x3d\x70\x2a\xaa\xb1\x69\x70\x39\x60\xfe\x16\x07\xe5\xad\x93\xe3\x3f\x66\x6e\xf0\x85\xd4\x0e\x02\x5c\x04\x19\x17\x63\xb5\x26\x58\x53\x59\xaf\xab\x5e\x88\xb0\x20\xe8\x8e\x8d\xdc\xf6\xdd\x6b\x0b\x5b\x83\xdb\xf6\x62\xbf\x48\xc5\x43\x88\x9a\x71\x35\x13\xc6\x4a\x5b\x2e\x0e\x4c\x22\xf5\x1b\xc2\x72\x45\x13\xbe\x63\x85\x29\xc7\xf6\x66\x41\x9e\xc4\x34\xef\xeb\x30\x3f\x16\x17\xd2\x7d\x87\x64\x13\x71\x83\xb1\x66\x13\xec\x63\x5e\x8c\x29\x8c\x1c\xaa\x43\xa2\x84\xbf\xd9\x91\xba\x11\xb3\x7e\x83\xed\x67\xec\x8e\xfa\xf0\xe2\x6a\x69\x47\xb1\x16\xe0\x13\xcf\x25\x58\xfd\x38\x43\xc2\x76\x6d\x7d\x43\x64\x41\x71\x65\x22\x58\x9d\xc8\x07\x78\x32\xe0\xe8\x2d\xb0\xd5\xf5\x52\xfb\x18\xb0\x3b\x03\xf6\x92\xc1\xeb\xaf\xd3\xdf\x7e\x7a\x10\x8c\x35\x23\xfe\xda\xd4\xf6\x56\x8d\x79\xa1\xd7\xd9\x9d\x49\x25\x27\xbf\x88\x15\xc3\x8b\x73\xe5\x90\xb1\x7f\x96\x6e\x82\x2c\x4d\x76\x94\x23\xcd\x59\x45\x5d\x69\x95\x46\x39\xab\xfd\xcd\xbf\x96\x42\x11\xd1\x71\x70\x8a\x05\x2a\x24\x3b\x3e\x14\x2e\x8c\x9f\x1a\xcf\x4f\x88\x04\xb7\x99\x42\x92\x5e\xe2\x9e\xea\xd9\x64\xed\x86\xf3\x6b\xfb\xde\x79\xa8\x6e\x9e\xc5\xc8\xcc\xae\xb9\xd4\x44\xb5\x9f\xab\x41\x1d\xae\xc5\x31\x31\xd9\xa6\xaa\x1f\xe9\x1b\x03\xc2\x39\xe9\xf3\x17\x6e\x54\x03\x12\x33\x88\xee\x1c\x52\x25\x2c\xe0\x5f\xb1\xc7\xb2\x31\x40\xa1\x11\xf0\x11\x21\xdf\x84\x59\x1b\xf2\x0b\x3f\xf8\x0d\xee\x98\x60\xff\x4e\xe3\x7c\xe7\x82\x71\xde\x8a\x25\x92\x40\x21\x0d\xcd\xfd\x4d\x5c\x6d\x41\x68\x07\x0e\x40\x20\xaa\xf8\x79\x53\x08\x2e\xa9\x41\xc3\xe5\xd2\x85\x4f\x2e\x24\x11\x82\x05\x5c\x90\xaa\x3d\x6c\xd2\x0c\xbe\x59\xe0\xa9\xdc\x6d\xb8\x21\xce\xc5\xb1\xc9\xe8\x62\xdd\x93\x0c\x15\x22\x1d\x89\x51\x47\xaa\xc7\xd1\xb4\xbf\x9d\x29\xd5\xa9\xcd\x91\x1d\x7e\x88\x0f\x4f\x69\xef\x3f\x7c\x84\x43\x4b\xbe\xd7\x71\x05\x12\x7c\x90\xea\x8a\xb6\x7d\x63\x66\x9c\xaa\x25\x53\xc8\xea\x27\x18\xa1\xa4\x23\x6c\x55\x70\x8e\x05\x31\x27\xf5\xdc\xc2\xca\x1e\xe6\x6b\x34\x27\x79\x0e\xe1\x46\xc4\xd0\x01\x91\x9b\x3b\x12\x56\xfb\x9b\xdd\xf1\xb1\x87\xe0\xb8\xdb\x45\x72\xc4\x5b\x9a\xc0\x08\xe5\xab\xd7\xf9\x4a\xc0\xe0\xdd\x69\x89\x03\x3f\xf1\x51\xe4\x20\xb2\xe5\xe7\x2f\x48\xfa\x0a\x3b\x5b\xde\x51\xe3\x62\x7f\xbd\x89\x1e\x20\x9c\x1b\xe5\x39\x3a\x99\xdd\x95\xbe\x67\x6d\xed\x9f\x7e\x4b\x90\xb7\x9b\x87\x02\xc7\x4f\xff\xf4\x3b\xb1\x1a\x3f\x1b\x4c\xbc\xad\xfd\xb3\xc7\xd2\xa3\xb4\x92\x28\x86\x6a\x7f\x73\xf7\xe1\x0e\xef\x70\xab\x15\xd9\x18\xdc\x65\x06\x4a\xa0\x70\xda\x21\xd8\xc4\x1d\xca\xa1\xfb\xe3\x58\xbd\x87\x8e\x20\x86\xc0\x84\x13\xb5\x25\x56\x26\xb7\xbe\xc5\x1a\x77\x70\x95\x1e\xfc\xd3\x1b\x86\x54\x17\xec\x56\x54\x99\x3f\xfb\x2d\xb8\x70\x67\x38\xe8\xa7\xea\xc6\x97\xec\x13\x03\xbc\xa7\x2c\x3b\x6a\xa5\xd8\xdf\xdc\x4b\xc4\xe1\x50\x31\xae\x33\x0f\x49\x63\xca\x7e\x14\x81\x24\xc6\x6e\x42\x32\x85\xc7\xd6\x39\x0e\x50\xc3\x9c\x57\x41\x6d\x07\xde\x23\xf4\x38\x94\x9e\x37\x39\xc1\x2b\xdd\x98\x04\x08\x33\xb3\x07\xc4\xc0\x0e\xe9\xd1\x32\x38\xae\xac\xd0\x02\x93\x29\xf4\xd9\xa4\x2a\xe3\x63\x08\x34\x66\x68\x87\xf6\x56\xb1\x9d\x65\x07\x9d\x3c\xf5\x84\x05\xfe\x62\x34\x35\x81\x96\x0c\x02\xc2\x9e\xd9\x37\x36\xfb\x9b\xf9\xbe\xad\xc5\x22\x94\x32\x2d\x27\xa1\x91\x99\x78\x8d\xde\x67\xbf\x81\x56\x71\x70\x90\x53\xee\x9f\x73\xd6\x04\xc4\x86\xf2\x06\xe9\xa2\xb9\x95\xbd\x37\x4a\x32\xc0\xd6\x6d\xb5\x27\xab\x04\xf3\x1c\x54\x91\x66\x17\x39\x12\xfc\x8b\xc1\x6d\x3b\xfc\x9e\xc8\x3c\x3d\xc5\x3d\xe4\x42\x4a\x3d\x83\x43\xc8\x3d\xa7\x7c\xcd\x04\x39\xcc\x33\xcd\x97\xec\xa1\x54\xd2\x9e\xbf\x46\xf8\xd7\x32\x95\xd4\x63\xae\xb9\x96\x9e\xcb\xd7\x73\xfa\x3a\x84\x26\xe8\xd9\x04\x5d\x18\x2a\x99\x72\x96\x9d\xe9\x5c\x03\x77\xa5\x0f\x1d\x46\xc0\x06\xa2\xbc\xa5\x7f\xe2\x0e\x7b\x0a\x11\x28\xd0\xa1\x45\x8f\xcb\x9f\xfd\x85\x10\x26\x98\x76\xa6\xf8\x40\xf9\x99\x43\xbd\x20\x36\xe2\xbc\x32\xf5\xcf\x7e\x07\xba\xaf\x22\x91\x48\xe9\x9f\xfd\x8e\x20\x9a\x65\xcb\x7a\x40\x90\xf1\x71\x4c\xa4\x25\x1e\xec\xda\x03\xd2\x53\x52\xe4\xa3\x70\x2b\x98\xb8\xaf\x0b\x25\xc4\x4d\xb6\xe8\x72\x44\xa8\xdd\xad\x8f\xc5\x5e\x4f\x7e\xc1\xcd\x57\x53\xf1\x50\x2d\x4d\x1e\x85\x07\xf2\x84\x1f\x07\x60\xaf\x3c\x3e\xda\x09\xcd\xc8\x95\xa1\xbb\x48\x51\x4a\x55\x10\xdf\x8e\xa8\x16\x61\x39\xc0\x0e\xb5\x6d\x07\xfb\x3a\x26\x1b\x1c\x9b\x8b\x88\x54\xde\x41\xe5\x68\x9f\xe8\x47\x73\x9d\x03\xbe\x04\xad\x9f\xbe\x71\x01\xcd\x79\x0f\x12\x10\xc8\x76\xdc\xb3\xfe\x47\x49\x8b\xe9\x4d\xba\x91\x40\xdc\x7c\x92\xc0\x38\x13\x00\xe9\xdd\xcb\x6a\x47\x95\x8b\xfd\xcd\x53\x08\xbb\xb1\x28\xe5\x92\xec\x6f\x66\x41\x98\x75\x24\xa2\xc6\xdf\xfc\xab\x20\xaa\x7a\x80\x25\x31\xce\x5f\x4b\x0c\xd5\x48\xf1\x68\x94\x15\x93\xf7\x12\x3e\xa7\x0e\x46\x0d\xb3\x13\xbc\x40\x3d\x0b\x35\xcc\x3c\x20\x6d\xe4\xb9\xf7\x15\x6e\x8a\xaa\xcd\x4a\x71\x53\xae\x16\xdb\xac\xec\x0b\x5b\x8e\x62\xbb\x17\x13\x21\x6c\xfa\xea\x0e\x7e\xbf\xb5\x76\x0e\xe2\xcc\x31\xef\xdd\xac\x85\xe3\xc3\xda\x63\x0d\xdc\x0a\x71\x44\x6a\xea\x88\xa6\x61\x19\x08\x2c\x7d\xc2\xd6\xce\xe8\x23\x8f\xe6\x27\xd9\x89\x87\xfc\xca\x12\x73\x29\x3e\x56\x67\x9b\x41\x70\xef\xdd\xfd\x2c\xdf\x95\xd1\xc1\xff\x05\x67\xb7\x70\xe5\x52\xdd\x51\x51\x5a\x6d\x05\x8a\xdd\x55\x6d\x7f\x98\xb9\x64\x6c\x24\x05\x1e\xbf\xf6\x37\x17\xae\x95\x04\x86\x69\xb0\xaa\xd6\x85\xd2\xfe\x1d\xa3\x1c\x19\x9e\x07\x23\xd5\x20\xc7\x11\xb6\x93\x03\xd5\xc0\x13\x24\x83\x04\xf4\x08\x13\x58\x80\x29\x61\x4b\x3f\x39\x74\x40\x2c\x26\x26\xa3\xf5\xdd\x85\x91\x4d\xde\x12\xbf\x00\xe1\x0c\x46\x38\x14\xd4\xa8\x86\x58\x6d\xa9\x36\xfb\x73\x26\x19\x9b\x22\x63\x0d\x13\x76\xc0\x3a\x0b\x13\x49\x6d\xb5\xec\x3d\xb8\xa7\x26\xac\x3f\xee\xdf\x31\x08\x6c\x74\x38\xd5\x9a\x4c\x70\x59\x3c\xc0\x8a\x09\x8d\x50\x09\x91\xfb\xbd\xa2\x63\x48\xc4\x52\x83\xd8\x7a\xb1\xfe\x09\x65\x29\x07\xdb\xe7\xa6\xd9\x45\xc1\x68\x36\xcc\xaf\x06\x71\xc7\xc0\xe7\x2f\x22\xee\xca\xc1\x47\xd2\x09\x11\xcc\xf0\xbd\x43\x12\x0d\x8d\x56\x77\xcd\x88\x0d\x71\xcf\x52\xbb\xc4\xad\x54\x37\xf3\xab\x30\xd2\xa6\xe4\x4c\x72\x67\x5c\x59\xca\x6a\xb3\x95\x92\x0e\xdd\x4e\x9a\x3c\x15\x03\x32\xc0\x0b\xbe\xc5\x05\x9d\x86\x3c\x45\xb3\x63\x60\x01\x47\x38\x95\x33\xce\x05\xe9\x5d\x11\xe6\xb5\x98\x15\x57\x03\x1e\xc2\x88\x4a\x30\xe5\xdb\x26\x89\xcc\x0d\x38\x78\x77\x69\x8a\x8b\xfa\x85\x28\x42\xd1\x1c\xe6\x15\x8e\xdb\x30\xb4\xa7\x91\x54\xea\x0e\xe9\xd7\x53\xaa\x0b\x0d\x47\x5f\x57\xc9\xf6\xc4\x22\x8b\x30\x91\xba\x13\x03\xf6\x50\xcf\x9a\x81\xa3\x2b\xbb\x50\x3f\x1c\x14\x01\x5d\x25\xdb\xe2\x53\x21\x45\x10\xac\x6d\xc3\xd0\xbf\x6d\xef\x4e\x40\x81\xc1\x5e\x5d\xec\xaf\x8b\xfc\x90\xfb\x0a\xd2\xa9\xd8\x5f\x17\x1a\xf2\x8c\xf9\x91\xab\xfd\x75\x46\x00\x13\x92\xc6\xe7\x2f\x30\x36\x28\xa2\x52\xd6\x49\x9c\x6c\x39\xc3\xa2\x73\x34\xa5\xf0\x60\xff\x82\xd4\x3a\x78\x3e\x1c\x5f\x71\xf8\x8e\x30\xbe\xfb\x98\xb9\x55\x3a\x8f\xf3\xad\xfc\xba\x06\xc0\x91\xb2\x20\x6f\x8f\x8d\xe2\x79\xca\x28\xc4\x98\x42\x9c\xb1\xad\x45\xd3\xe9\x67\xf8\x54\x5a\x53\x6c\x5f\xce\xd5\x45\x3f\xfc\x9c\x2f\x93\x23\xf5\x32\x4c\xea\x67\x53\xe8\xb8\x1e\xb0\xb9\x1e\xed\x65\x57\x00\xb6\x99\x34\xee\xe0\x75\x1e\x75\x5e\xaa\x7e\x98\x00\xaf\x2f\xef\x74\x74\x53\x6b\x56\xd7\x7e\x20\x0e\x37\xc8\xe8\xa6\x06\x08\xa2\xd9\xec\x41\xa8\x42\xa6\x15\xa4\xd8\xc3\x24\xf5\xe8\x6b\xc1\xc4\x3b\xac\xfc\x08\x98\x1a\x37\x36\xee\x8c\xfb\x2c\xe2\xb4\x31\x7c\x3f\xd9\xb0\x1b\xc6\x87\x96\xe8\xef\x6e\xdb\x97\xc5\x6a\x2e\x3a\x8f\x7b\xd4\xd9\x19\x38\xde\x5f\x2e\xaf\x64\x95\x1b\xc2\x53\x38\x72\x3e\x70\xde\x86\xe7\x2f\x42\x09\x09\xe1\x72\xd9\x21\x6b\x89\xce\x8a\x25\xea\x4a\x08\x1e\xb5\xbf\x99\x58\x3c\x8d\x08\x3c\x4c\x71\x92\xc1\x3a\xd3\x11\x67\x04\xf4\xf1\x60\xab\xbb\xf6\xcf\xce\xd5\xed\x16\x92\xcd\xb2\x7f\xcc\x22\x8b\x15\x56\x23\xad\x76\x55\x04\x4f\xda\x46\x39\x7a\x64\xb8\x9f\x9c\xc0\x3a\xdf\xf7\x6c\x78\x03\xb6\xce\x84\xe0\xb3\x13\x14\xf0\xb1\xc9\x25\x35\x18\xa9\x28\x42\x48\x49\x93\x8b\x35\x02\x97\x78\x8f\xc9\x08\x8b\x5d\x02\xa6\x35\x76\x6e\xd9\xfc\xa3\xaf\x6a\x0c\x36\xd2\x4a\x70\x70\x6e\xe0\x34\x2f\x15\x11\x85\x3b\x9c\x28\xe7\xc5\x39\x08\xc0\x9f\x9c\x8c\xa7\xda\xdf\x3c\x20\xa9\x41\xda\x4c\xb5\x78\xc4\x74\xdf\xcb\x12\x09\x80\xb6\x83\x09\x00\x26\x01\xc7\xe6\xe9\x1f\xf2\x6e\x41\xe5\x76\x3b\xaa\xa6\x7d\xcf\xea\x55\x60\xf3\x09\xad\x5b\x4f\x9d\x4a\x13\x3b\x6a\x4a\x05\xc1\x33\xd7\xc9\xe4\x30\x8e\x3b\x2a\xd9\x34\x8f\x2e\xdb\x33\x4e\x50\x60\xf5\x70\x33\xad\xe9\xa2\x19\x0d\x09\xb5\xee\x70\xb2\x5b\xfb\x62\x30\x82\x47\x4c\x3a\xdb\xdf\x3c\x29\xc8\x80\x00\x31\x3c\xc6\xc5\xc5\x9b\x7d\x45\x6a\xc0\xdf\x5a\x3e\x0d\x38\xe9\x65\x04\x3c\xb1\xae\x92\x1a\xc0\x45\x7a\xc3\x70\x54\xb0\x2d\x99\x7b\x24\xb3\x09\xb8\x14\xa5\xa1\xf9\xec\xc7\xb6\x88\xb4\x76\x84\x59\xfb\x66\xf0\xab\xce\x95\x6d\xd3\xc7\xee\x9f\x6c\x3f\x0e\x11\x91\x1c\x9d\x37\x76\xd1\x75\x6d\x37\xf1\x88\xdc\x16\x4d\xbf\xad\x40\x1d\x51\x5b\xa4\xee\xbf\x89\x4e\x48\x16\x7c\x27\xa8\x83\x70\x09\x33\xb6\xd8\x95\x18\xc0\x2f\xe1\x80\x8e\x11\x71\x60\x83\xa3\xe8\x2c\x4e\x6a\x77\x08\xc6\x69\x4b\x47\x8b\x24\x80\x73\x37\xfb\x7f\x31\x97\x79\x64\x00\xdc\x4b\x32\xcf\xe4\x8e\x8a\x14\x61\x8d\xf6\x37\xff\x6a\x85\xc3\x5c\xa6\x6e\x32\x83\x1e\x3c\xdb\xea\x74\xcb\xe1\x80\xb3\xdd\x6d\xa6\xa6\x72\x20\x4d\x3d\x38\x5c\x8c\x84\x5a\x8e\xf6\xd7\xe5\x13\xa4\x3b\x14\xe4\x10\xe9\xe9\x79\x60\x6e\x76\x49\xbf\xb6\x45\x62\xa9\xb9\x50\x46\xcc\xb8\x47\x98\xa4\x92\x9e\x4c\xc4\xda\xe6\x03\xa9\x96\xa3\x50\xab\xf1\xf9\x4b\xc5\x29\x9a\xd5\x7b\x04\x5f\x43\x44\x61\xee\x91\xe2\xc8\xad\x58\x10\x2a\x0e\xcf\xfe\xb0\xc4\x03\xc4\x48\x92\x32\xb5\x8c\xbf\xf9\x47\xa4\x3c\x53\xaa\xca\xf6\xd7\x7f\xc5\x48\x9b\x54\xa5\x02\x3f\xb3\x25\x62\x06\xa1\x58\xc6\xad\xc0\xb1\x3a\x65\xf6\xcc\x14\x30\x8e\x97\xfe\x39\xdf\xf2\xa3\xf5\x02\x74\x14\xff\x5c\x65\x83\xf2\xc1\xf3\xbe\x31\x62\x77\x6d\xde\x11\x8a\xad\x48\xf9\x11\xa0\x85\xbb\x09\x48\xdd\xdc\x83\xdb\x8a\x80\x55\x57\x16\x61\x19\x25\x2e\x42\x31\x25\x7c\x63\xcd\xb8\x22\x11\xaa\x7a\x82\x15\x51\x18\xf2\xaa\xfd\x75\xde\x8a\x93\x47\x53\xc7\x3c\x0a\xc1\x16\x33\xce\x9f\xa5\xf6\x2c\x58\x92\x4f\xed\x33\x61\xd1\x08\xd7\xda\xa9\xe9\xa9\x51\x2b\xdb\x42\x9e\xdf\xd4\x73\xa3\x9d\x2c\xb5\x6e\xf1\x4a\xa6\x9d\x2f\xd1\xd4\xc8\xf3\x61\x3c\xb5\x5b\x8b\x3c\x6c\xbe\xe7\x8a\xf0\x14\x09\xc6\xfc\x93\xda\xdf\xcc\xd1\x0a\x8e\x60\x63\xcd\xf6\x77\xe2\xf0\xc8\x38\xa2\x8a\xbf\xb9\xf8\x64\xb2\xdf\xbe\x9f\xb4\x3a\xfe\x97\xe7\x5b\x0b\x60\x22\x47\x64\x71\x39\x40\x23\x3b\xe2\x08\xe1\x40\xc8\x09\x66\x02\xab\x53\x8b\x1f\x89\x77\x8a\x8d\xa3\xd3\x8a\x56\xfb\x9b\xc5\x6c\x88\x3c\x79\x3f\x07\xc2\x47\x64\xe6\x8c\x48\x74\xb2\x33\x3d\xd7\xfe\xba\x5c\x5a\x0a\xc5\xe2\x4c\xbd\xf5\x4f\x67\x6e\x11\x50\x42\x9e\xf0\x35\x40\x0b\x8b\x90\x55\xb1\x74\x4c\x41\x45\xec\x52\x48\x13\xe4\xfb\x1e\x61\x69\xc2\x06\x0e\xbb\xdd\xc7\x03\xdd\xa9\xe8\x0d\x96\x06\x14\x3b\x5b\x84\x21\x4f\x1e\x55\x58\xd1\xac\xfe\x56\xe1\x42\x25\x3d\x7f\x61\x45\xda\xc2\x7a\x34\x6d\x05\x01\xe9\x15\x29\x2a\x8e\xa6\x49\x95\x89\x29\x7a\xea\x28\xa4\x4e\xc4\x25\x47\xbb\x97\x75\x33\xbf\x8a\x24\x3b\x85\x71\x8c\x8f\xfd\x11\x6e\x0b\x38\x4b\xae\xc8\x06\xdb\x2f\xdc\x33\x9e\xab\x6f\x0c\xd5\xfe\x64\xd7\x9f\x39\xe5\x8d\xa9\x50\x47\xfa\xdf\xf2\xab\x9b\xc0\x7e\xa3\x20\xfe\x28\x88\x62\x08\xe1\x0f\x1f\x16\xfa\x0f\x0b\xfd\x87\x85\xfe\xc3\x42\xff\x61\xa1\xff\xb0\xd0\x7f\x58\xe8\x3f\x2c\xf4\x1f\x16\xfa\x0f\x0b\xfd\x87\x85\xfe\x77\x6a\xa1\x7f\x14\x8c\xf8\x42\x31\xf8\xb0\xd9\x7f\xd8\xec\x3f\x6c\xf6\x1f\x36\xfb\x0f\x9b\xfd\x87\xcd\xfe\xc3\x66\xff\x61\xb3\xff\xb0\xd9\x7f\xd8\xec\x3f\x6c\xf6\xdf\xc9\x66\xff\xeb\xdf\x7f\xfc\x75\x7f\x78\xd4\x87\x5e\x07\xde\x88\xe9\x82\x89\x9a\xb4\xad\x89\x4c\xe5\x90\xa8\xb0\x6e\x25\x4e\x91\x1a\xb0\xe4\x9a\x34\xa4\x75\x8d\x1b\x61\x64\x2f\x67\xd9\xf2\x53\x26\x7d\xfe\xca\x30\x5e\x0c\x1c\x48\x38\x4d\x23\x9e\x1a\xf0\x79\xf0\x7f\x98\x12\xe4\xb9\x62\xf5\x88\xcb\xa7\x42\x52\xf3\x16\x29\xa0\x0f\x8c\xaf\x63\x35\xcd\xf8\xf9\x1c\x0e\xa5\x90\x0e\x6a\xfa\xf1\x61\x64\xd2\x82\xac\x96\xac\x4f\xf6\xfb\xd6\x7e\x87\x34\xcd\x10\x72\x96\x87\xd8\x1f\x3a\xe0\xda\x9f\x7a\x7c\xc8\x1e\xf4\x37\xc2\x90\x0d\x91\xf4\xd8\x0e\x71\xcb\x3a\x09\xe9\x28\xa4\x07\xd9\x70\x1a\xea\x96\x9f\x12\xa9\x35\xce\xb6\xb8\x69\x94\x41\x9e\x80\x86\x83\x9c\x73\x45\xb7\x8d\xf4\x49\xb7\x72\xa8\x47\x25\x7d\xbe\x84\x80\x01\xde\x9c\x1e\x46\x3e\xc6\x03\x1f\x47\x70\xfb\x72\xf5\xe3\xe3\x9d\x7a\x57\xea\xdf\xe6\xc9\x4d\xf9\x3b\xcd\xe9\xa2\x07\x36\x4e\xf9\xcf\x7f\xfe\xc3\x07\x05\xbe\x38\x59\x6f\xcc\xf5\xf2\x38\x9d\xbd\x30\x0f\xff\x52\x64\xfd\xeb\x5f\x5e\xa3\xe8\x7e\xfe\x55\x52\x85\x9c\x09\xac\xa9\x88\x34\xfe\xf6\x1d\xab\x9f\x2b\xb9\x9a\xa5\xd4\x90\xc6\x45\x91\xeb\xa4\x26\x19\xfd\xab\xff\xeb\x08\x59\xe5\x13\x03\x58\x6c\xe8\x5f\x08\x96\x1f\xb8\x52\xe3\x5d\xc3\x99\x54\xeb\x27\x53\x01\x68\x4b\xc8\xb1\x33\x24\x52\xf1\x0f\xb0\xf6\xd4\x93\xbf\x72\x54\xfb\x15\x7f\x01\x40\xc8\x7e\xc0\x54\xaa\xfd\xc4\xa9\x7f\xe2\x1d\xd3\xd7\xc7\x44\x49\xd2\xb1\xab\x58\x59\x0a\x32\x6b\x9b\x38\xe7\x39\x99\x43\x32\xa9\x46\x77\x17\xd5\x01\x3f\x60\xcc\xb0\x23\x20\x9d\x5e\xff\x0c\x8e\x51\x1e\xec\xd9\xc2\x80\xff\xe4\xda\x3f\xed\xc5\x42\xb9\x59\x9d\xcc\x65\xdf\x31\x15\x06\x46\x6e\x02\xe4\x35\xa8\xc8\x28\x1b\x5a\xb6\xfa\x22\xc0\x43\xe7\xfa\x1a\x52\xce\xa6\x56\x3e\x55\x1c\xcc\xd4\xe5\x78\x46\x90\x1b\xbc\xa4\x5d\x23\xce\x6d\xf0\x4f\xbc\x05\x69\xc0\x21\x38\x5e\x8b\x0e\x9b\xa7\xfe\xe5\xf5\x31\xe7\x9a\xce\x65\x40\x6a\x49\x88\x77\x9e\x41\x33\x54\xa0\x1c\xda\xb7\x87\x35\x47\x2a\x0d\x38\x46\xb5\x0d\x15\x09\x1c\x20\x48\xfa\x35\x26\x5e\x3e\xe1\x90\x66\xf0\xcf\x3e\xed\x42\xb1\xd5\x9d\x52\xc9\xb6\xf4\x4b\x17\x28\x13\x21\x17\x0a\x37\x1b\xa4\x92\xfb\x67\xef\x64\xae\x11\x09\x11\x75\x4f\x29\xb2\xcb\xfd\xc5\x34\x40\x4f\x29\x69\x72\x9a\x7e\x12\x24\x66\xf2\x4f\x54\x45\x9a\x87\x0c\x08\xa0\x8e\x7a\x8a\xac\x4b\x38\xb9\x88\x1e\xcd\x1e\x12\xc5\xbc\xbb\xaa\x90\x6a\x1b\x23\xd5\x98\xad\xe1\x2a\xfd\xd3\x5a\xa9\xd4\x64\xf0\x4a\x52\xff\xb4\x37\x12\x12\xda\x20\x48\x14\x5d\x8a\xfd\x33\x00\x22\x17\x68\x00\xb9\x61\xfa\x91\x69\xad\xd6\x65\xd2\x05\xe8\x77\x5a\xeb\x27\x35\xc1\x68\xf0\xcf\xe0\xf0\xbf\x91\xb2\xe6\x9d\x52\x8d\x69\xf0\xcf\xfe\x56\xf2\xf8\xd7\xfa\xf0\xa4\xbf\x61\x1f\xe3\x7f\x6b\x7f\x9c\x61\xac\x3f\x98\xc0\xef\x94\x09\xbc\x61\xab\x5c\xd3\xc3\x07\x67\xf8\xdd\x70\x86\xe3\xee\xa7\x5f\x77\x3f\xfc\xe5\x01\x9e\x70\xd3\x04\x3b\xb0\x7c\x66\x5b\xf7\xa2\xfd\xd3\x7e\x1a\xf8\x1b\x33\x44\x51\x1d\x6c\x42\x6d\xc1\xfa\xf5\x88\x7f\xfe\x3b\x16\x7c\x28\xfe\xf4\xf3\x57\xd8\xf0\x71\x54\x97\x71\x2c\xd1\x8f\xf2\x03\x65\x89\x43\x98\x90\xee\xd7\x56\x7b\x90\xf5\xdd\x60\x5a\x66\xdc\x70\x06\x00\x6d\xa1\x94\xd6\x77\xc7\xfe\xb2\xbf\x37\xa0\x8c\xb3\xb7\x07\x7b\x60\x3a\xdd\x15\xe4\xba\xae\x09\xa0\x2f\xe5\xe5\x4a\xbd\x54\xbf\x1d\x6f\xd4\xba\xa9\xa4\xc8\x1b\x17\x58\xae\x2a\x4d\xeb\x4a\xaf\xbb\xfb\xfc\xc5\x18\xc6\x80\x94\xa3\xf9\xe5\x47\x5f\x19\x99\x42\x35\xde\x1d\x98\x8d\xd7\x12\x8c\xf3\x5d\x8f\xcb\x7d\xbd\xf9\x75\x52\x7a\x9d\x9d\xdc\x26\xa5\xba\x2b\x03\x30\x1c\xd8\x58\xf6\x27\xff\x87\x31\x84\xfa\xfc\xb5\x51\x86\x73\x42\x4a\x11\xc6\x56\x46\xca\x2c\xfb\x42\x74\xfc\xc4\x3d\x5f\x7e\xc3\xc9\xdd\x6c\x05\x86\x01\xbc\x95\x0d\x23\xd5\x9b\x52\x68\x6b\x1b\xb1\xdf\xc4\x64\xe5\x6c\xbb\x5b\x28\x72\xf6\xf2\x00\xec\x28\xee\xd0\x05\x0d\xd8\xcb\x82\x13\x33\xe3\x11\x8a\x3b\xc8\xd0\x5c\xf4\xaa\xd2\xbc\xa9\xb6\x49\x0e\x85\x1a\x2c\xfd\x67\x95\xe6\x21\x6c\x94\xaa\xd8\x5e\xd7\xb8\x5c\x55\x9a\xbd\x68\x54\xaa\x57\xfd\xcd\x03\x0e\x3b\x9a\x35\x39\xe5\xb6\x6e\xe0\xad\xb1\xd9\x14\x38\x17\x14\xa4\x9e\xbe\x1a\x1a\xb5\x1d\xf0\xee\xc8\xf4\x5a\x6e\x0e\xcc\x6f\x21\x91\x37\xc8\x21\xed\xb3\xa4\xcf\xe5\x0f\x1f\x2c\xe8\x83\x05\xbd\x95\xbe\x1e\x92\x6b\x5e\xa7\xaf\x0f\xbe\xf4\xfb\xe7\x4b\x5f\xff\xbe\xfb\xe5\x35\x21\xc8\x2d\x3c\xa1\x99\xd0\x97\x90\x08\x1c\x47\x67\x5a\x3a\x56\x66\x45\xf6\xb6\xe4\x10\x74\x02\xcc\x6d\x9c\x16\x97\xa6\xd4\xa2\x63\xc7\x03\x7b\x56\x27\xa1\x14\xf3\xa0\x94\xea\x1e\xd8\xc0\x55\x1b\x92\x02\x9b\xc4\xd9\x90\x7f\xd4\xa5\xcf\xe6\x5a\x06\x3b\x9e\x64\xea\xb7\x60\x58\x6f\x93\x00\xe9\x33\x51\x8d\x48\x8d\xdc\xf0\xae\x9f\x31\x84\x8e\xb5\x11\x93\x42\x92\xed\xc7\x11\x99\xa2\xea\x11\xc8\x6c\x9e\x11\x56\x90\x8e\x86\x29\xc2\xa7\x94\xa3\x27\x3e\x4c\xdf\xb8\x67\xac\x6b\xee\xca\xe7\xb9\xec\xd2\x11\x32\x2f\x5c\x5a\x4b\x6c\xa6\x0c\x9a\x7c\x8a\x5c\x6f\xc2\x7e\x09\x29\xd6\x1b\x0c\x44\x26\xcf\x9b\x6e\x77\x8e\xfd\xdd\xb9\xda\xb6\xaa\xd6\x81\x7a\x13\x15\x9c\xb2\xb1\x23\x98\xce\x95\x97\x3b\x95\x9f\xea\x06\x5a\xb6\x57\x9e\x7b\xe5\xb2\xd4\x2e\xb7\xab\xaf\xd7\xbd\x06\xa4\xde\xfd\xea\x4d\x13\xf8\x0c\x38\xbd\x26\x32\x98\x4a\xac\xc6\xd9\xea\xc0\x0d\x78\x53\x85\xea\x1e\x60\x19\x65\x08\xb6\x1c\x91\x1b\x33\x00\xa9\xf3\x74\xed\xe9\x36\x33\xb0\x85\xb9\x22\xeb\x6b\x19\x05\x48\x75\xb8\x64\x60\x5c\xd8\xfb\x38\x75\x2c\xa7\x0b\x4a\xad\xcd\x6f\x46\x20\x6c\xe0\x6e\xd0\xf9\x45\xcf\x83\xc8\x84\xfc\xdc\xc9\x6a\x45\x6a\xf7\x92\x26\x60\xdf\x64\x87\x23\x82\x96\x94\x8d\x6a\x7a\xea\xb0\xd7\x57\xc5\x03\x96\x22\xca\xc5\xd5\xc1\x7d\x8f\x3a\x00\x8e\x14\xba\x0a\x98\x0c\x64\x01\xd3\x84\xbc\x95\x80\xfd\xa6\x1c\x33\x15\xcd\x23\x25\xe9\x04\x62\xfc\x22\x35\xdb\xf9\x4c\x13\x8b\x21\xbb\x63\x2e\xba\x8f\x47\x22\xc0\xe2\x33\xa0\x10\xc2\x00\x28\xfe\x88\x49\x16\x24\x5b\x84\x4b\x5a\x81\x59\xa0\x71\xde\x41\x15\x95\x34\xfb\x7c\x25\xcf\xd7\xbb\xef\x48\x05\xf0\xd2\x95\x08\x77\xae\x5a\x8e\x36\x34\xc8\x10\x5c\x15\x2e\xdc\x0c\x24\x8f\x86\xfc\xc0\x76\xa5\xf0\x8f\xb0\x72\x81\x9c\xde\xd8\x2b\x04\xfc\x9c\xa7\x05\x57\xa0\x26\x03\xa3\x9f\x5a\x76\xb0\xfe\x6f\xd4\xa4\xc1\xf3\xc9\xbe\x1b\xea\xe1\x20\x5e\x51\x22\xd0\x5d\xc8\x40\xe4\xf0\xab\x6f\x80\x0d\xf2\x1a\xea\xcd\x1a\x42\x9d\xab\xc8\x7e\xa1\xda\x07\xc3\xeb\x89\x8f\x54\x43\x0a\xf8\x11\x63\xf1\xbd\x32\xcf\x2d\x19\x6d\x8d\x69\x04\x08\x11\x10\xc5\x1b\xb4\x77\x01\xa1\x31\xf4\x57\x47\x70\x87\x5b\xad\x51\x52\x2a\xf0\xbe\x3b\x5d\x51\xf2\xf4\xaa\x36\x95\x23\x55\xcc\x7e\x05\xa4\xb5\x71\xc2\x56\x3d\xa1\x65\x4d\xf3\x2d\xbf\x98\xdf\x62\x4f\xd8\xe9\xf7\x80\x0e\x07\xf8\x6d\xaf\x4c\x33\x25\x07\x46\xc1\x41\xf1\xc6\x26\x2f\x0d\xad\xfb\x1b\xcf\x04\xf8\x20\x4d\xbf\x41\x00\xcd\x2d\x6b\xee\x79\xcd\x3f\xd8\xff\x07\xfb\xff\xdf\xc6\xfe\xdf\x20\x4b\xaf\x97\xca\x69\x49\xf2\x69\x53\x90\x1b\xbb\x82\x3e\xba\x2b\x94\x79\x57\xd0\x57\x77\x85\x7a\x7b\x57\x28\x1f\xbb\xc2\xff\x9e\x5d\x21\xbe\x61\x57\xf8\xef\x9f\xff\xf6\xeb\xdf\xfe\xe3\xbd\x56\x50\x09\x94\x43\x1d\x12\x95\xb2\x13\x2a\xb0\xed\x17\x9d\x93\x81\xb7\xd8\x00\xd9\xd3\x3e\x4b\xb4\xad\x23\x0e\x12\x07\xa0\xe9\x0e\x2c\xdf\xc2\x10\xb1\x85\x24\x05\xa6\x6f\x93\xab\x12\x30\x8e\x5e\x82\x31\x98\x02\x3f\xd6\xb1\x52\x0e\xe5\xfc\xea\xdb\x98\x81\xc4\x1f\xf0\x13\xb0\x93\x23\x4a\xcb\x83\x7f\xce\xa5\xc5\x86\x32\x3f\x33\x90\x2d\x8c\x15\x0f\x00\x2b\x93\xe5\xe2\x5b\xb0\x39\xf7\xf2\x4f\xad\x5a\x97\x63\x05\x78\x29\x4a\xcc\x32\x20\x59\xef\x70\x75\xf1\xad\x37\x69\x40\x93\xac\xbc\xe7\xaf\x23\x1c\x33\x07\x5b\x87\x75\x1a\x95\x0a\x50\xdd\xa4\xd5\x6d\xa5\x12\x64\x9a\x7f\x89\x9c\xdf\xa3\xcb\xcd\x73\xf9\x4e\x33\x64\xa4\x54\xaa\xd5\xde\xda\x9e\x32\xbc\x80\xc1\xbb\x29\x83\x8b\xcb\xfc\xf9\x99\x4d\x3f\x2d\x52\x07\xd6\xc1\x3f\xbe\x85\x41\x3a\x3c\x4f\x45\x11\xb9\xec\x98\x0a\x60\x9c\x8a\x2e\xb6\xf9\x55\x11\x82\xc8\x5d\x16\xaa\x6d\xa8\xe7\xdf\xdf\x6c\xc7\xc1\xca\x50\x6b\x91\x95\xd9\xee\x94\x36\xf6\xd2\xe0\xbd\x61\x74\x6f\x65\x58\x73\x46\x34\xc7\x5a\x33\xa2\x35\x7b\xe7\xb9\x26\x55\xfb\xbe\xe1\x59\xf9\xe7\x02\x22\x65\x60\x7a\xb2\x15\xb0\xfa\xfa\xd6\x5b\x32\xa0\x25\xd6\x10\xd8\xa9\xc4\x01\xc8\x65\x1a\x23\xe5\xa4\x83\x10\x6f\x95\xda\x14\x01\x06\x20\xc4\xf7\x51\xd6\x1f\x98\xbe\xc7\x25\xb4\x5f\xfe\x32\xaf\x43\x21\x4d\x65\xc8\x54\x42\xbd\x5c\x46\xce\x98\x9c\xfa\x3f\x03\xe0\xb8\xde\xa5\xd9\xf3\x75\x74\x6b\x19\x85\x71\x59\xd7\x36\xee\x58\xd5\x6e\x75\x5c\xd6\x74\xad\x17\x6b\x7a\xfd\xfa\x6a\x49\xcf\x2b\x7a\x58\xd6\xf1\xe9\xea\x7c\xf5\x9c\x16\xf4\xba\x5f\xa7\xf5\xbc\xc7\x72\x5d\x38\x84\xd5\xbc\x5c\xf4\x05\x3d\x9e\x56\xf4\x4b\x60\x73\xa5\x0d\xf0\x4b\xce\x58\x8b\x80\x6b\x6d\xd5\x57\xea\x88\x75\x79\xcc\x94\x1f\xe7\xaa\x8f\x4b\x10\xcb\x54\x9a\x38\x86\xf9\xc8\x31\x5e\x52\x7d\x38\xa7\x7a\x5f\x43\x37\xa8\xf6\x7c\x01\x19\xd9\xee\x47\x5f\xd1\xe3\xb2\xa2\xcf\x97\xe3\xbc\xa0\xe7\xf5\x03\x10\x90\x78\x5a\xcd\x58\x3f\xbe\x7c\x86\xd5\xf2\x19\xd6\xcb\xe7\xf6\x62\x3e\x5b\x41\x37\xd7\x72\x38\xeb\x94\x62\x2d\x17\x59\x33\x97\xf1\xc4\x5c\x7c\x39\xbf\x94\xec\x5c\x5b\xb4\x22\x98\x7d\x39\x02\x38\xb4\x8e\xf3\x35\xf3\x11\x61\xb9\xaf\xcd\xe0\x7f\xfc\xfc\xb7\x9f\xfe\x73\xf7\xcb\x7f\x3f\xec\x08\x59\xf3\x20\x72\x84\xc4\xf9\xd4\xa8\x1e\x47\x6a\x5a\x9f\x2a\x49\x62\xfc\x9a\x0f\x00\x01\xda\xb0\x10\xc6\x6a\x8a\xc8\x46\x0e\x0d\xe9\xa9\x22\x01\x7c\x25\x91\xf6\x94\xb6\x72\xe0\x48\x2d\xa7\x49\x28\xc6\x21\x51\x48\x79\xc3\xd9\x7d\xba\xf1\x5e\xab\x43\xa6\x50\xd2\x86\xe1\xcf\x3c\x88\x3c\xa1\x05\xe7\x6e\x53\x05\x58\x1a\x85\x5a\x94\x27\xa5\x0c\x2f\x57\xcd\x4f\xf6\xb3\xb7\xe8\xf9\x4b\x32\x71\x3e\xc5\x7a\x80\xa0\xec\xf7\x53\xbf\xf9\x80\x33\xd5\x32\x48\x0f\xba\x3e\x56\xdb\x77\x8f\x10\xd9\xf5\x20\x24\x7a\x34\x81\xf8\x49\x4d\x42\xc4\xcf\x2d\x1e\x4c\x68\x69\x9b\x6a\xab\x6f\xa8\x13\x12\xd5\x8f\x88\x27\x7a\x52\xaa\xe9\xa8\x54\xf2\x53\xdc\xf2\xa1\x21\x4a\x96\x29\x03\x81\xbb\x46\xd9\x60\x03\xf7\x97\x52\x32\x1e\x27\x8a\x1f\x2b\x88\xe9\xc9\xaa\x3f\x1f\x20\x75\xdc\x65\x21\x56\x39\xa0\x7a\xb8\x39\xcb\x01\x97\xf8\x41\x9e\xbf\x00\x75\xab\x85\x72\x38\x3d\xf0\x14\xe7\xbb\x6f\x19\xa4\x47\xd3\x60\xfc\x59\xd2\x67\x8d\x7f\xf8\x1d\x90\x97\x42\xfd\x72\x12\x7b\x4a\xb8\xdf\x29\xed\xed\x24\xf6\x68\xac\xe0\xf5\xe8\xfd\x8b\xd2\x5d\xa2\xd0\x3a\xe9\x3d\xc5\x1b\x0f\x3c\x30\x78\xfb\x9f\x7f\xfa\xf6\xb7\xe9\x51\x16\x66\xed\x15\xa6\x12\xf9\x13\x8e\xc0\x9c\x37\x0b\xe0\x4d\x24\xee\x38\x00\x76\x3c\xf4\x78\x98\xe0\x01\x35\x42\x2d\xc8\x04\xff\x8e\x51\xa8\xc4\x5d\x31\x2a\x1b\xfc\x33\x0c\xcc\x61\xe4\x40\x25\x4e\xcb\x13\x4b\xe1\x1c\xac\x4e\xaf\xf2\xd9\x54\x09\x53\x68\x0b\xc5\x94\x77\xd4\x6c\x77\x0f\xfe\x14\x77\xe4\xa9\xd4\xea\xea\x77\x6c\x86\x0e\x58\x94\x5a\xbd\x72\x18\x85\x8c\x92\x90\x38\xc2\xb6\xc9\x38\xf8\xa7\xb5\x08\xd9\x50\x12\x42\xab\xce\x6f\x21\x83\xc2\x80\x3b\xcf\x5f\x84\x29\x9a\xa8\x92\x3c\x26\xb6\x05\xf4\x74\x69\x10\xe0\xaa\x57\xbf\xf6\xe6\xc0\xce\x85\xf4\x2d\xc2\x78\x39\x72\x3c\x7b\x99\xa1\xef\x85\xb4\x7e\x95\x83\x03\x99\x9f\x2a\x85\x0e\x7f\x7b\x14\xf4\xf6\x18\xac\x2a\xb5\x01\x39\x7b\xb7\xd7\x19\xd7\x6f\xf6\x3a\x7d\xe0\x93\x89\x0e\x24\x21\x9d\x57\x49\xad\xb5\xeb\x1a\xed\x57\x54\xf8\x38\x01\x3e\xb8\x3d\x00\xad\x27\x11\xb7\x38\x1f\x35\x86\x0e\xf4\xa7\xbb\x4c\xe0\x4a\x6d\xf6\x88\x2a\x90\xe3\x6b\x2a\x88\xc3\x40\xac\x73\x2c\xbb\x44\xd9\x24\xa7\xde\xe9\x4c\x55\xea\xb4\xdc\x5e\x4e\x33\x4d\xbc\x0d\x01\x23\x15\x93\x47\xd5\x46\xc4\x4e\xa7\x20\xeb\x38\x14\x0e\x0e\x34\xd7\x34\xae\xa3\x53\x02\xf0\xe7\xec\xd7\x4b\x86\xd8\xf2\xd0\x48\xb9\x20\x57\x09\x20\xfa\xb9\xcc\x24\xc7\x32\x46\x0a\x31\x0d\xe7\xf7\x10\xaf\x87\xe4\x2a\x31\xa1\x25\xad\xd4\xa1\x51\x4a\x65\x87\x94\x42\x1d\xb8\x7e\x69\x49\x5a\xfd\x7a\x6a\x89\xbd\x2a\xa4\xcd\xde\x2c\x72\xf6\x26\x26\x9f\x53\x5d\xbf\xc7\x6e\xec\xab\x4b\x85\x85\x94\xd3\xbb\x2a\x2c\x94\x8b\xbe\xad\xc2\x08\xe5\x40\xab\x5e\x55\xa8\x56\x61\xbe\xaa\x50\xed\xd7\x37\x90\xdb\xa3\x1b\xed\x9f\x42\xac\x45\xcf\x8e\x73\x4e\xdc\x6e\x66\x52\xec\x7c\x8e\x9b\x31\x5d\x67\x74\xc3\x2d\x46\x17\x1c\x92\xc8\x19\xdd\xe0\x8c\xee\x9c\x63\xf2\x52\x3a\x16\x5d\x05\xb7\x4b\xad\xde\x5a\xab\x72\x63\xad\xca\x3f\x84\xc9\xd5\xa6\x56\x46\x92\x7c\x8b\x4f\xe9\x0d\x3e\xf5\xdb\xf8\x1b\xea\x63\x8a\xb5\x3c\xde\xef\xdf\xc0\xda\x1a\x9b\x56\x19\x55\xcf\x5f\xf3\x7c\x1f\xd7\xaf\x3a\x5f\xc0\xdb\x6f\xa5\xb7\xd7\x45\x93\x6b\x7a\x9b\xd9\xdb\xa7\xc5\xcf\x42\xc8\xbd\x27\xd5\xf9\xda\xe0\x8c\x6b\xc5\xd7\x42\x18\x4e\x7c\x0d\xb7\xcb\xa7\x33\xe6\xc8\x73\xa1\x58\x6c\x39\x56\x1f\xb6\x76\xc6\xd9\xfa\x22\x2d\x67\x51\x77\xfd\x08\xe0\xfb\x73\xb5\x44\xe2\x85\xa4\xf4\x16\x56\xf1\x3e\x8e\xe6\x95\x15\xca\x7c\xeb\xad\x72\xe3\xad\xf2\x1b\x98\x59\x06\x88\x67\xae\xe7\x6f\x79\x7c\xea\x75\x7d\xf6\x73\x7f\xf9\x01\xf2\xfa\xe9\xe7\xaf\xbb\xff\x7c\xc0\x35\x83\x65\x20\xdd\xc8\x90\x4d\xb2\x65\x26\x9d\xd8\xf4\xed\x62\xaa\xf4\x68\xdf\x5b\xbb\xb3\xc1\x63\xcf\x5f\x13\x25\x05\x76\x7f\x4e\x19\xfc\x2c\x63\xf6\x62\x1c\x23\x21\x74\xb1\x24\x3d\x46\xfb\x79\xb2\xb9\xc5\x71\x44\x63\x3e\x8e\x85\x72\x66\x13\x72\x5d\x1a\xcb\x36\xbf\x11\xd6\xf4\x92\xea\x11\x50\x8e\x53\xec\x87\x3b\x0d\x09\xe7\x82\xed\x2c\x59\xf5\x35\x65\xdb\x3b\xfa\xfa\x69\x7b\x1d\xc2\x86\x87\x74\xac\x53\x19\xd2\x50\xc6\xb4\x4d\x9b\x3a\x84\xe7\xaf\x91\x98\x9b\xc3\xdd\x6e\x1a\x92\x7f\x34\xaa\x39\x0e\x05\xd2\x51\xa5\xac\x47\xe0\x8d\x4e\xb0\x00\xe0\x08\x2c\x1e\x47\xa5\x18\x6d\x19\xe1\x68\x81\x2b\x1c\xc8\xfd\xd4\x2c\x6f\x13\x95\x66\x1a\x92\x44\x40\x7b\xa2\x37\x19\x81\x5a\x0f\xf6\xe6\x0d\xe7\xac\x21\xff\x5b\x68\x33\x64\xea\xef\x63\x2e\xdf\x70\x74\xb6\xee\xfd\xbf\xc6\x04\xff\x75\xb7\xff\xbf\x2f\x85\x90\xfd\x70\xce\xe1\xa5\x92\x4e\x95\x42\x2e\xc6\xc3\x73\xdd\x33\x69\x43\x60\xe2\x60\xdb\x9d\x6d\xcd\xad\x65\x5c\xab\x3d\x71\x2c\xc4\x31\xed\x8d\xcb\x64\x06\xc4\x71\xc8\x00\x34\xae\xa3\x3f\x6f\xda\x01\xa2\x12\x15\xf0\x8d\x6d\x9b\xa9\x89\x6c\x2a\xa2\x34\xa2\x6d\x18\xdb\xab\x10\x3a\xa1\x24\x36\x81\xb2\x51\x1c\x30\x1c\x59\xa9\xd6\xa9\xd8\xcf\x89\x62\x68\x5b\xbb\xf9\x08\x57\xea\xbd\x7f\x48\xa6\x57\xc0\x69\x86\xc9\xb4\x67\x01\x32\x6f\xd9\x7b\x8a\xba\x9c\x32\x72\xa1\xd9\x66\x17\xaa\x67\x47\xb3\x96\xc9\x31\x51\xcb\x11\xbd\x67\x89\x23\x35\x87\xa5\x0e\xa6\x6a\x86\x92\xa8\x6a\xdd\xf4\x43\x2e\x1b\x87\x6d\x82\xc7\x1d\x42\x3c\x81\x1e\x9b\xb7\xe1\xbc\xeb\x95\xe2\x90\x4c\x5a\xdf\x00\xb4\x5e\xf3\x11\xce\x87\x65\x63\x37\x40\x08\xb3\x24\xff\x58\xc7\x1f\xce\x66\x2a\x9f\xea\x9f\xfe\xfc\xda\xa9\x8b\xcf\x06\x9f\x26\xa2\x6e\x25\x92\x6e\x74\xe0\x46\xdc\x64\x6b\xb7\xe5\xe5\x34\x31\x9e\x12\x86\x42\xd3\xc1\x06\xbc\x6e\x3a\xd1\x1d\x91\x0f\x6b\x52\x4a\x30\xe3\x72\x4d\xc7\x46\x45\x4c\x44\x55\xc0\x94\x36\x90\x62\x85\x7b\xb0\x91\x56\x72\xa4\xfe\x16\xdc\x1a\x1b\xb7\x8d\x4a\xf6\xac\x00\x48\x6e\xe5\x80\xdb\xd8\xf3\x73\x71\xdd\x5f\xc7\x44\x0f\xc9\xe6\x67\xa3\xf7\x40\xca\xa7\x87\x46\xaf\xcf\xe8\xa4\xe4\xab\xa8\x6c\x39\x6f\x62\x07\x86\xdf\xb2\xeb\x0d\xaf\x0e\x5d\xc0\x00\x80\x3a\x37\x9d\x62\x8f\x08\x29\x42\xf8\x30\xf2\xdf\xe5\x63\xa6\x92\xd3\x64\x2a\x27\x4e\xe0\x63\x36\x42\x4e\xfd\xc0\x27\x00\x64\xd8\xa9\x38\x8d\x46\xa3\xdb\x6c\x3a\x1c\x86\xce\x38\x2c\xb3\xe9\x36\xb1\xd8\xa2\x55\xd8\xa4\x8b\x1a\x8f\x7e\x28\x64\xf5\x2f\xbf\xfc\xb2\xfb\xaf\x9f\x7f\xf9\xfa\x18\xc7\x91\xc1\x59\x48\x2b\x53\x26\x61\x5b\x76\x46\xe4\xb2\xb1\x1b\xcf\x5f\x90\x6f\xb6\x98\xba\xcf\xba\xa9\x54\x5b\xc4\x59\x56\x5d\xbd\x02\x70\x7f\xdb\x23\x04\x8f\x97\x0a\x6f\xea\xc4\x69\xeb\x6f\x89\x9c\xbd\x32\x2e\xd5\xf4\xd2\x75\x90\x48\xa9\xff\x3e\xf6\xb2\xce\xdb\x63\x0f\xbc\xad\xef\x0f\xf1\x1b\x1e\xc2\x51\x29\xe8\x94\x28\xa6\x36\x20\xbd\xe3\xd6\x3e\xf3\x86\x87\xf0\x6c\x53\xcd\x05\x41\xd9\x29\x4d\x63\xa2\x88\x10\x65\xd1\xe5\x25\xed\xef\xe0\x09\x3c\x9f\x15\xa7\x8b\xb1\x65\xff\x71\x83\x54\x8e\x95\x9b\xbf\x33\xae\x6a\xea\xe5\xa7\x81\x73\xff\x1d\xa5\x67\xdb\x88\xce\xda\xa4\x5b\x7e\x68\xcd\x9c\x7a\xff\x28\xd3\x29\x7f\x4c\xf2\xc7\xcf\xb7\x7d\xba\x6f\x2c\x83\x33\x36\xb9\x90\xc2\x42\x04\xda\xca\xb1\x90\xf8\x4c\xa6\xd1\x09\x29\x73\x5d\xc8\x02\xf4\x80\x47\x96\xb9\xf6\x27\x4e\x44\xa1\xad\x3c\xbf\x46\x93\x5e\x37\x37\xaa\xa7\xdb\x33\xcd\x9c\xa8\x68\x6b\x0f\xbc\x67\xd8\x5e\xe7\x36\xef\x1f\x36\xa5\x0a\xe6\x59\xe5\x44\x3e\x09\xa4\x21\x1b\xbf\x57\xa8\x1a\x0d\x56\x59\xc8\x09\x74\xd4\x9f\xe1\xd5\x03\x6b\x62\x32\xe2\x7b\x85\x98\xbd\x78\x1c\xdb\xa7\xcd\x42\x79\x4e\x6c\xdc\x2b\x47\x8e\x4f\x94\xc2\x8f\x8c\xdc\x71\xf7\xc3\x2f\xbb\x9f\x7e\x7d\x44\xe7\x68\xd4\x6a\x24\x10\x7a\xf3\x08\xc1\x72\x64\x2a\xb9\x98\x6c\x8a\xa3\xc9\x2e\x73\x46\x9b\xc8\xb4\xb5\x66\x96\x4d\x22\xc4\x86\x0e\x6c\xb2\x98\x0a\xf2\x0f\xa5\x29\x53\xe1\x36\x70\x26\x85\x39\xdd\xd9\x47\x22\xa9\x3c\x02\xfb\x7f\x23\x46\x99\x11\x39\x17\xa2\x0d\x5a\xaf\xfc\xf5\x10\x3f\xef\xce\x43\x11\xdf\xa1\x52\xd1\x4d\xa3\x66\x7d\x25\x45\xa6\x1e\x89\x1b\x10\x79\x52\x9c\x88\xc0\x95\x2c\x44\x9b\x84\xba\x11\x6a\xc8\x0b\x81\x4c\x92\x39\x1d\x91\x06\xdc\x5a\x5d\x32\x22\x3b\xd8\x44\x57\x56\x12\x9d\x84\x8a\x00\x52\xbd\xb4\x0d\x62\x17\x59\xcb\x16\x6f\x6d\xe6\x8a\x1f\xed\xca\x5b\xe2\x98\x6b\xae\x7f\x96\x3f\xfc\x93\x4d\xd7\x99\xe8\x5f\x35\x7c\xd6\x25\xaf\x35\x9e\x5e\xb5\x50\xad\x85\xc5\x7e\x08\x52\x87\x46\x21\x45\xb4\xb6\x90\x84\xb2\x5d\x6a\xbd\x59\xa9\x31\x95\x06\x1f\x28\x49\xbd\x37\xe8\x1f\x72\xc4\xcd\x25\x27\x0a\x71\x55\x6e\xa2\x5a\xe2\x11\xc5\x99\x0c\xb5\xbc\xfe\xb6\xb9\x79\x2c\xa6\x78\x3d\x37\xff\x14\xb4\x77\x6f\x5e\x18\x78\xd0\x59\x11\x75\x85\x6c\x70\x55\x1a\xda\x97\x4c\x13\xab\xa8\xaf\x0c\xb0\x32\x45\x96\x63\xa4\x16\xdb\xad\x5a\x2b\x6a\xd5\xe7\x2f\x97\xbd\x99\x4c\xc7\x84\xcf\x29\x47\x14\x8c\xdc\x21\x39\x41\xed\xe5\x4d\x45\x16\xfc\xb2\xc5\x50\x6c\x56\x2f\xbf\x3e\x2d\x7f\x9b\x1e\x62\x65\x03\x4f\x26\x03\xe6\x41\x4c\x6d\x4c\x1b\x4f\xb1\xfe\xfc\xd5\xdd\x5b\xab\x29\x18\x4f\x95\x94\xb7\xc5\xa4\xe7\x03\xd2\x02\x7b\x72\xe0\xe7\xaf\xc1\xb4\x6e\xf1\xdb\x90\x7d\x56\xb7\xd3\xf3\x57\x81\x67\x84\x9a\x1c\x7e\x18\xfd\x8e\x7f\xdd\x28\x85\xe7\x47\xee\xd7\x33\x3f\x70\xbb\xa6\x60\xc4\x73\x7a\xe8\x46\x29\x7e\x07\x45\x5d\x97\xd1\xdf\x7b\x6c\x58\x5f\x67\xa9\x61\x08\x53\xa1\x56\xdc\xd7\x8e\xf3\xc6\xb3\x56\x3e\x7f\xcd\x54\xa2\x0c\x99\x38\x5b\x8d\x52\xb6\x89\x2a\xc0\xaa\x8d\x23\x49\xb1\xbe\x32\xb5\x30\xdf\x15\x6a\x55\x97\xdb\xb9\x3d\x7f\x65\x78\xa2\x46\xaa\xec\x8f\x1c\xf1\x79\x5d\x82\xbe\x58\xbe\xbe\x50\x7e\x75\x27\xa5\xa0\x4f\x8d\x24\x5f\x16\xf0\xc5\x7e\xc4\x39\x6f\xba\x7a\x1b\x2f\x3c\x36\x84\x6f\x60\xe5\x7f\xfe\xf3\xbf\x55\x4e\x7f\xf8\x20\xd7\xf7\x92\xeb\x1b\x58\xf3\x7a\xac\x3f\x68\xf8\xee\xb8\xfe\x7d\xf7\xdf\x7f\xfd\xf9\xc7\x97\x64\xc5\x33\xef\x02\x0f\x1d\x39\x40\xe0\x95\x40\x79\xd2\xb1\x52\xce\x18\x51\x3d\x8c\x69\x4a\x43\x46\xb0\x08\x6c\x90\x31\x6e\x38\x0c\xfa\x14\x26\xf8\xe3\xe5\xc1\x14\x80\x94\xf3\xd8\xdf\xc2\x49\x12\x6c\xe9\x81\xb8\xa5\x8d\x24\x2b\x44\xa9\xc1\xa4\xd7\x1a\x7c\x9f\xdb\x43\x1a\xe6\xd2\x8f\xc7\x0e\xa9\x4d\x78\x67\x39\xf8\xca\xe3\x00\xf1\x7b\x8a\xc0\x9f\x51\x2a\xa5\x98\x20\x9e\x73\x1e\xe2\x53\x9d\x04\x57\xc9\x03\xa5\xc3\x50\xa9\x14\xe4\x4e\xce\x65\x88\x4f\x61\xc2\x56\x8d\x0c\xf8\x31\x8e\x42\x91\x37\x5e\x3a\xe3\x10\x23\x04\xa3\xaf\x94\xa3\x8d\x10\x52\x91\x35\x8f\x42\x6d\x75\xb0\xb1\x78\xc8\x64\xb5\x74\xee\x51\xfd\x91\xd3\xe7\xfc\xf9\x8f\x67\x69\xb0\xd2\x80\x44\xe4\xcb\xa0\x6e\xfa\x01\x93\x3e\x99\x92\x52\x7d\x62\x9f\xf2\x84\x04\xc4\x39\x6f\x1a\xe6\x77\x08\x83\x1e\x38\xf4\x5f\xcb\xc0\x63\x9f\x56\x19\xf4\x90\x26\x41\x1f\xea\xe0\xdf\x79\x9c\x5f\xee\xc5\xbd\xa3\x6f\xaf\x2b\x79\xd7\x7d\xb3\x91\x85\xf4\x31\x8f\xa9\xfb\xf2\xa4\x21\x3e\x31\xdc\x97\x62\xec\x13\xfe\xe4\x93\x8c\x24\x24\xa5\x6c\x32\xe6\x7d\x08\x43\x3c\x60\x3e\x97\xe9\x9d\xac\x17\x23\x32\x2a\x6f\xea\x10\x0f\xe2\x34\x2e\x5e\xca\x04\xb2\x19\x30\xd7\x9d\x76\x86\x55\x25\x8f\xf4\xfa\xb0\xfb\x76\xf8\x71\xff\xf3\x2f\x7f\x7d\x6c\xdd\x71\xa0\x88\x38\x91\x7e\xa6\x90\xeb\x91\x99\x92\x22\xb6\xdd\xed\xfd\x2d\x6e\x2b\x85\xcc\x93\x02\xfc\x48\xa8\x95\xb6\xe5\x2b\x03\x72\x9c\x0f\x17\x8e\xcd\x64\x53\x23\xc8\x28\x75\x5b\x48\xb8\x6d\x4c\x22\x87\x24\xcd\xb2\x95\x40\x08\xe0\x87\xdd\xb6\xb4\xbc\xb5\x6e\x1e\xf0\xf4\x31\x52\xac\xec\x55\x8f\x5e\x75\x34\xc9\x75\x73\x2a\xfd\xbc\x56\x81\xb4\x5f\x4c\xcd\xf0\x27\x44\x48\x11\x95\x51\x05\xed\xb5\x85\xd3\xea\x36\x51\xaa\x69\x23\xe8\x62\xc9\xbd\x8b\x6f\x1b\xce\x87\x96\x7f\xa6\x1a\x95\x4c\xff\x8e\xd4\xf2\xb1\x52\x28\xc6\x70\x18\xe2\xab\xe4\xb4\x55\x12\xa4\x18\xc8\xc9\x5a\xc6\x5b\xba\x70\x9a\x6b\xc4\x59\x29\x1f\x33\xa5\x78\xb0\x45\xef\xfa\xc6\x26\x21\x9a\x5e\x8d\x69\x1f\x2b\x49\x2c\x28\x15\xa6\xfe\x9c\x8f\x63\xa6\xc4\x07\x3c\x8d\x63\x7c\xaf\x72\xf4\x2a\x5d\x96\xef\x05\x5f\x4c\x1a\xa0\x2e\x42\xbf\x0b\x23\xde\xd1\x0d\x5e\x68\xa2\xa0\x89\x62\xb2\xb4\x0b\xe9\x2d\x7b\x9f\x1e\xe2\x2d\xa7\xa1\x7b\x27\xbe\xd7\xbf\x38\x6d\xae\x28\x72\xb3\xd0\xe9\x16\x04\x08\x5d\x29\x46\x2f\x66\xee\xd4\x08\x7a\x1d\xbc\x0f\xf6\xd6\x7b\x06\xf9\xcd\x58\x09\xff\x62\x14\x7b\x22\xd4\xcd\x4c\xbc\x5b\xd0\x25\x0e\xf6\x5a\xf4\x12\x7a\x37\xe0\xd4\x8d\x8c\xf4\x5b\x7b\xe3\xa1\xf1\xdc\x7f\x30\xce\xef\xc3\x38\xf7\x1f\x2c\xf3\xed\x2c\x73\xff\xc1\x2c\xff\x91\xcc\x72\xff\xc1\x26\xbf\x0f\x9b\xdc\xed\x7f\xfd\xf1\xf8\xe3\xaf\x2f\x44\xbf\xbc\x78\x2c\x0b\xe0\x94\x41\x56\xd8\x51\x4c\x85\x49\xb9\x4d\x8e\x28\xc2\x36\xf3\x83\x00\x0f\xac\x90\x64\xfd\xb4\x7a\x94\xeb\xc0\x7c\x48\xeb\xb7\x83\x51\x94\x51\x6a\x82\x2e\x52\x81\x76\xd2\x4a\x5e\x3f\x33\x22\xb1\x33\x85\xa0\x9b\x4a\xad\x99\xb2\xa2\x3c\x21\x74\xc8\xb4\xae\x1a\xf3\xba\x12\x78\xcd\xe8\x93\xac\x7f\x13\xab\xd7\xf4\x80\x49\xa8\x4a\x1d\x2b\xa5\x5a\xd6\x0f\xf4\x7e\xbd\x27\xb8\x6f\x19\xd1\xf7\x05\x67\x66\x42\x93\xcf\x46\x34\xb7\x4a\x2a\xb6\x0a\x63\x80\x2e\xe9\x99\x0f\x0b\x4e\x91\xf8\x6c\x44\x85\x64\x28\x4f\xac\x37\xc6\x14\x10\x54\x36\x4c\x41\xea\x60\x1a\xf4\xd5\x98\xa6\x91\x02\xf3\x46\xa9\x21\x35\x68\x40\xb6\xcf\x90\x06\x1b\xeb\xba\xae\x26\x92\xa9\x6f\xfa\xb4\xaa\x9b\x99\x87\x72\x10\xac\x73\xab\x62\x54\x52\x40\x7b\x01\x7e\x8f\x29\x21\xbc\x9f\x3c\x41\xc0\xfb\x06\x76\xfa\xcb\x2f\xbf\x8e\xfb\x1f\x7f\xd9\x4f\x2f\x44\x31\xff\x70\xee\x2e\x57\xce\x49\xd3\x2e\x8f\x89\xf4\xa2\xeb\x3a\x04\x40\xf2\x9d\x0f\xe5\x00\x77\xc1\x81\x75\xc7\x03\x77\x8f\x4c\x39\x50\xe0\xd3\xbf\x47\x79\x62\x79\x00\x4d\xe9\x3b\x25\x70\xe3\xb1\x91\xee\x1a\xe9\xd0\x90\x0d\x16\xbe\xc8\x6d\x38\xfd\x10\x42\x18\xb9\xbd\x17\x11\xe0\x6c\x84\x1f\xda\xf3\xeb\x90\x6e\x0c\x70\xbc\x3d\xc0\xf1\x7c\x80\xeb\x00\xab\x02\x87\x8b\xe1\x0d\xe5\x6c\x7c\xeb\xeb\xc3\x1b\x86\xba\xab\x43\x75\x2a\xcc\x43\xf8\xe4\xff\x30\xca\xaf\xcf\x5f\xeb\x98\x49\x77\x99\x80\xa6\x35\x0f\x5a\x1c\x4e\x3f\x60\xd0\x5e\xc8\xc5\xf6\x86\x41\x43\x0b\xdf\x99\x67\x54\x06\xfe\xbc\xd0\xc6\x8a\x4a\xbe\xad\x08\xe4\x9a\x4c\xfe\x7d\x45\x21\x03\x60\x75\x8b\xf5\xab\x9c\xcd\x80\x4f\xc0\x7d\xba\x7f\xfe\x62\xe5\xe6\x3e\xee\xc1\x0a\x5e\xd3\x39\x87\xc1\xe8\x7c\xb9\x3d\xf2\xf8\xae\xb8\xe7\xeb\xa1\x7a\x1f\x8f\x7c\x6d\xbe\x7f\x1b\x4d\x7e\x0d\x43\x7e\x95\x24\xdf\xdb\xf9\xff\xfc\x71\xf7\xf5\xe7\x9f\x5e\xf0\xf5\xfd\xe7\xe4\x5f\x54\x6b\xb2\x8d\x27\x68\x9e\x90\xdf\xd8\xb3\x1c\xef\x16\xbc\x84\x79\x5b\xa8\x6d\x08\x78\x02\xf9\x8e\xaf\x9e\x08\x03\x9e\x99\xc6\xd3\x23\x7c\xf1\xc8\x18\x81\x72\xd4\x1f\x19\x6f\x3d\x12\xf0\x0c\xce\x41\xa2\x8c\x85\x98\x79\x5a\xa5\x5d\xe6\x1d\x93\x2d\x0f\xfb\xf0\x9c\x79\x4c\x25\xd7\xe9\xf4\x84\x5c\x3c\xc1\x9e\x81\x79\x3a\x55\x79\xf9\x44\x18\xbd\x8c\xb3\x56\x9d\x3f\x32\xf6\x52\x7e\x1b\x23\x99\x09\xe4\x21\xf6\x5b\x06\xe6\x8b\x45\x7b\x22\x55\xac\xda\x7a\xbe\x68\x1d\x4c\x41\xcf\xd8\x03\x3c\xdf\x15\x9e\x70\x67\xbf\x76\xb2\x12\xd2\xd7\x09\xc4\x99\x4e\xe2\x4d\x06\xf8\x61\x51\x20\x93\xda\x94\xc9\x4c\x1a\x5c\x05\xfe\xa1\x59\xcb\x80\x28\xd2\x8b\x27\x02\x1c\x17\xc5\x14\x82\xf9\x91\x72\xf1\xc8\xd8\x4b\xd9\x58\x75\x8d\xb4\xf1\x65\x19\xfe\x04\x4e\x6d\xb8\xda\x8a\x68\x65\xc3\x54\xb9\xa7\x60\x3c\x21\x9c\x06\x24\x84\x99\xd6\x75\xad\xee\x22\xf1\x4e\x6f\xec\xe8\x8d\x5d\xbf\x8b\x9c\x31\xbc\x31\xa1\xac\x0e\x56\x7c\x3c\x03\x4f\xf5\xb7\xbf\x0f\x19\xfc\x96\x0d\x25\x52\x43\x92\xad\x26\xe9\x7c\x01\x85\xf5\x1a\xeb\x99\xc9\x2f\x56\x6a\x98\x57\x2a\xee\x79\xee\xf2\x8b\x27\x56\xab\x3d\xf2\x78\xeb\x09\xaf\xa7\xd7\x82\x4f\xdb\x68\x08\xae\x52\xff\xc4\x1b\xd4\xd9\xd8\xbf\x57\x8a\xf7\x65\x10\x37\x7d\x65\x84\x76\x4e\xaa\x61\x26\xf7\xbb\xd4\x1e\xce\x96\xcc\x78\xeb\x89\x4e\xee\x9b\x46\x5a\x9b\xd5\x76\x71\x7f\x5e\x2f\xcf\x6f\x67\x14\x5f\x6d\xb3\x31\xdd\x5c\x2f\x48\xfb\x8a\x51\x84\x33\x46\xf1\xde\x31\xff\xf5\x97\x1f\x77\x3f\xfd\xf0\xb0\x60\xcf\x03\x97\x37\x11\xc3\x17\x06\x55\xd6\x73\xba\x9b\x3b\x94\x6e\x76\x28\x3d\xc2\xf9\xe0\xe9\x87\x80\x83\x6c\x1c\x2d\x2b\x0f\xfe\x09\x3d\x93\x72\x4d\x43\xd8\x83\x1a\x24\x36\x2a\x49\x49\x2b\xb0\x0f\xa8\x35\x47\x55\x0b\xd0\xb0\x22\x7b\x74\x1e\x32\xf1\xc3\x2b\x6a\x46\x7f\x0f\x15\x2b\xaa\x0e\x57\x59\x93\x4c\x31\x86\x8b\xf2\x7e\xa4\xc4\x40\x53\xac\xa5\x50\xac\xc8\x66\xa7\x85\x62\x93\xa7\x48\xb9\x0a\x5a\x16\x07\xff\x9c\xf1\x1e\x14\x68\xb9\xf1\x66\xb9\xc8\x9d\x23\x6d\xb8\x6a\x4c\x01\x30\x52\xb5\xa6\x67\x53\x17\xd1\xf4\xd1\x5a\xae\x33\xae\xe0\x05\xb7\x41\x6f\x47\x6a\xed\xf9\x2b\x45\xc0\x29\x97\x94\x00\xbd\xba\x11\xca\x59\x4d\xc7\x51\xb5\x0d\x17\x66\xaf\x0e\xc8\x19\x90\x1d\x30\xef\x81\x99\xc9\xcd\x41\x1f\x63\xa6\x94\x22\xa5\xd2\xa1\x27\x23\x10\xe7\x8d\xfc\xb3\xed\xd9\x07\x20\x36\xee\x49\x42\x42\x5c\x16\x25\xb4\x31\xb3\x3d\x30\x02\xf1\x8f\x2b\x70\xf2\x29\x02\x65\xbe\x08\xa5\x04\xa0\x72\xd4\x8e\x2c\x79\x79\xc1\xe7\xf3\x51\x0a\x19\xee\x53\x71\x00\xb0\xfa\x34\x2e\xe8\x89\x97\xdb\x3f\x90\x98\x29\x39\xcc\x2a\x0f\x27\xb0\x5b\xe4\x81\xf3\xb4\x7d\x57\x2f\x50\x7a\x37\xb4\xf2\xc5\xc2\xf9\x7f\x27\x30\x3c\xc2\x07\x5e\x5b\x36\x99\x9a\xc2\x36\x56\x8c\x69\x31\x90\x49\xb8\x03\x50\x02\x52\x82\x8a\xf2\x69\x7d\x28\x04\xd0\x46\xa5\x18\x71\xb1\x20\x4c\x46\x66\xa4\x0a\x13\xbb\x10\xa2\xb0\x1f\x29\x8a\x38\xcc\x6c\xae\x85\xa4\x36\xec\xc6\x24\x2d\x3e\x09\x31\xeb\x55\x65\x23\x53\x85\x4d\xd2\x23\x54\x18\xfc\x93\xbb\x3c\x01\x22\xb7\x7f\xa6\x13\xbd\x2b\xd2\xba\x35\x2a\x39\x39\x86\x26\xe0\x88\xb9\x01\xf7\x3e\x22\x2b\xac\x16\xa6\x52\x4d\x13\x7b\xfe\x4a\xea\xa9\x02\xa2\x53\x0e\x5e\x51\x64\x60\x30\x8e\x9d\x76\x94\x25\xdb\xdf\xe0\x80\xa8\x91\xa9\x2a\x52\xd8\x20\xe0\x00\x3f\x46\x00\xd0\xd7\x03\xc3\x0d\x66\x47\x39\xc1\x3a\xe9\x37\xd5\xe8\x37\xca\x59\x31\x48\x3e\x3e\xa1\x1a\x6b\xa8\xea\x38\xb7\x94\x3f\x21\xca\x3a\x3b\x24\x27\x38\x8b\x9e\x17\x38\x02\x5a\x32\x86\x77\xc3\x0a\x5e\x90\xe5\x6f\xd3\x88\xc5\x38\x5b\x91\x21\x8c\xd4\x62\x02\x4e\x25\x53\x4c\x33\xb7\x3d\x93\x69\x3a\x53\xdd\xd8\x1a\x8e\x03\x17\xaa\x8c\x31\xcf\xb6\x37\x9c\xf1\x31\x2c\x6e\xe7\x78\x75\x4f\x12\x29\x49\x04\x3c\x77\x29\xb5\x27\xff\x36\xe6\x01\xe8\xf6\xce\x50\x87\x85\xa1\x82\xc9\xc4\xb2\xa7\x04\xac\xfb\x90\xa9\xa5\x32\x12\x23\x47\x7a\xd4\xec\x48\xa9\x09\xa0\xfa\xc6\xe9\x46\xca\xf6\x4c\xc9\xce\x51\x6f\xb4\xa4\x3a\x4b\xdd\x70\xa2\x28\x9e\x86\x69\x5a\x66\xec\x4a\x74\x9b\xb9\xe9\xa7\x8b\xcd\x26\xd8\x70\xfd\x26\xfd\xff\x6d\x3b\xea\x6f\xdf\xea\x7f\x83\x7c\x55\x07\xbe\x5c\xc9\x88\x0f\x17\x40\x46\x4b\x02\xf1\xd7\x01\x51\x4d\xbb\x8b\x55\x1d\x10\xa2\x26\xd4\x58\xf7\x33\xbb\x98\xb9\xc5\x30\x73\x0b\x2c\xb6\x72\x55\x87\x31\x8b\xb4\x62\x16\x2b\x3e\x84\xa9\xec\xdc\x62\xd3\xa8\x62\xf3\x0c\x52\x3f\xd9\xdb\x6d\xf0\x4f\x5f\x74\xfc\x2f\x20\x90\xfd\xbc\xff\x75\xf7\xc3\xcf\x3f\x3d\x2e\x8f\xbd\x4d\x38\xef\xf2\x58\xf9\xee\xf2\x58\xa6\xec\x71\xfd\xfa\xe9\x5c\x0a\xa9\xa4\x55\x07\x3e\x64\xaa\x71\x4f\x1e\x1c\x4f\x49\x1a\x89\xe7\xb8\x03\xa4\xf3\x94\x70\xe4\x80\xcf\x8b\xf7\x91\xd9\x52\xab\x1e\x51\x40\x18\xa8\xc4\xd1\xdf\x4d\xd2\x46\xe0\x41\xa3\x98\x69\x5c\x95\x71\x69\xdb\x58\x2a\x3a\x8c\x56\xcc\xcd\xdb\x28\x6b\xc3\x5e\x62\xa1\x98\x2f\x1a\xc2\x1e\xa3\xa5\xc7\xd1\x5b\x32\x52\x89\xe4\x89\x99\xa5\xd9\x5b\x5e\xcc\xe6\x34\x12\x70\x42\x4c\x80\x40\xb7\x1d\x32\x82\x9f\x66\x35\xcd\x6e\xb4\x8d\xd5\xb8\xe9\x06\x58\x5d\x36\x21\xe1\xca\xb0\x61\xf7\xed\xb9\xa5\xeb\x31\x8a\xbd\x6c\x65\xf4\x5b\xeb\x81\x33\x96\x9a\xf0\xa7\x2a\xf3\x03\xf6\xdd\xc7\x3e\x3a\x74\x3f\xc0\x8d\xa3\xd8\x4d\xd4\xe0\x45\xf8\xe8\x5d\xb4\xc0\x6e\xa3\xa5\xa7\x3e\x47\x6b\x3b\x3a\x60\xe5\xcc\xf7\xfb\xe0\xdf\x2c\x64\x5c\x6a\xf2\xc1\xff\x6d\x1b\xdc\xbc\x3e\xfe\x91\x62\x57\xba\xbd\x3a\xe2\xcd\xd5\x11\x1f\x59\x1d\xa6\xb3\xcb\x8d\xc5\xa1\x60\x9d\xe1\x90\x28\xa6\x7c\x7f\x75\xc4\xee\x93\x1f\x4a\xb9\x24\xca\x3c\xa0\x8c\xa3\x97\x70\x63\x79\xe4\x79\x79\x9c\x0a\xc9\xf7\x96\x47\x7e\x42\x61\x77\x97\x47\xde\xf8\xea\x40\x08\xf8\xa7\x4b\x13\x23\x22\xa4\xe2\x16\x45\xdc\x5f\x1e\xcb\x50\x3c\xb4\x3a\x18\xab\x23\x01\x51\xe4\xde\xea\x58\xba\x7e\x63\x79\x60\xcc\x7c\xe4\xee\x2f\x8f\x3e\xfa\xf7\xd6\x07\xde\xc6\xf0\x95\x7b\xeb\xe3\xd4\xe9\x7b\xeb\xe3\x7e\x21\xa7\xf5\xe1\xa3\xff\x7d\xd6\xc7\x6f\x90\xff\x3a\xc7\xde\x8f\xa0\xc7\x71\xa6\xc7\x13\x13\xed\x4c\xd2\x18\xdd\x39\x11\x40\x2d\x3d\xe7\xd5\x0b\x2d\xae\x38\xf5\x5d\x66\x1f\xbc\x6a\x89\x57\xbb\xc5\xb8\x2c\x88\xf1\xb4\x5f\x8c\xb7\x8a\x90\x78\x83\x4f\x8f\x0b\x25\x8e\x2b\x52\x04\x97\xbf\xb5\x69\x05\x2f\x61\xe0\xce\xb1\xbe\xba\xc2\xfc\x4f\x7d\xbc\x73\x36\xf1\xef\x93\xee\x3e\xb8\xd4\x0d\x2e\xf5\x5e\x91\x31\xdf\x16\x19\x5f\xd8\x44\xde\x33\xf3\x3f\xfe\xf0\xd3\xb8\xff\xcb\x4f\x2f\x02\x2e\x9f\xc5\xae\xc3\xac\x70\x69\x91\xd7\x83\x89\x69\x97\xb6\x76\x7d\xb2\xa7\x9f\xbf\xe0\xc7\x76\xe3\x1d\xb9\xf5\x8e\xe2\x1d\x19\x38\x5e\xac\x16\x02\xd2\xff\x55\x55\xee\x26\x81\xaa\xce\x96\x51\x7f\xbc\x57\xcf\x57\xa7\x08\x2f\xd6\xff\x10\xbb\x5c\x8d\xdd\x63\xb1\xef\x56\x51\x7c\xb4\x1d\x8c\xc6\x47\xa8\x85\xd7\xef\xdc\x1a\xee\xc3\x58\xc1\x33\x60\xa1\x38\x3b\x52\xc4\x04\x5c\xd6\xd3\x07\x8e\x2f\x1f\xc6\xeb\xbd\x66\x96\xb7\x54\xfd\xf0\xa8\xfd\xff\xff\xf6\xed\xd7\x1f\xff\xeb\xc1\xd4\xbd\xef\x21\x39\xb9\x47\x72\x2f\xbd\xf3\xfd\x48\x4e\xee\x92\xdc\xfd\xfa\xdf\x3c\x78\xff\x30\x9a\xe3\x3b\x34\xf7\xe2\x3b\xdf\x87\xe8\xf8\x1e\xd1\xbd\x50\xf7\xc3\x03\x37\xfd\xe5\xbf\x1e\x0c\x86\xfa\xae\x24\x97\xfe\x87\x49\xee\x7e\xfd\x6f\x1b\xb9\xff\xe7\xf4\xd6\x6e\x32\x9a\xf6\x1d\x79\xdc\x5d\x72\xbb\x5f\xf5\xc3\x63\xf6\x0b\xae\xff\x61\xe4\x96\xdf\x44\x6e\xf9\x7b\x93\x5b\x7e\x1b\xb9\xe5\x37\x91\x9b\x0f\xdd\x3f\x8c\xde\xd2\xff\x18\xbd\xa5\x7f\x0c\xbd\xfd\xf5\xc7\xf7\xa2\xc3\x0c\xba\x8b\x83\xe7\x9b\x54\xd7\xda\x48\x25\x4d\x0c\x98\x05\x2a\x8d\x32\x4e\x64\xae\xfd\x85\xda\x10\x26\xca\x95\x72\xc5\x73\xf0\x0d\x5f\x8a\xea\xf8\x47\x21\x4f\xe3\x52\x12\x53\xae\x7c\x5d\x14\xdc\x15\xda\x34\xae\xca\x1a\xce\xca\x1a\x2f\x0a\x73\x6f\xf6\xfe\xfc\x5d\x1f\xa4\xde\xee\xf1\x4e\x79\x0b\xf8\x52\xeb\x65\x5a\x59\x37\x3a\xda\x1d\x21\xd6\xa5\xe1\xe3\x93\x97\x16\x58\x06\x7d\xfe\x1a\x6d\xb6\x76\x26\x89\xf3\xe2\xa8\x88\x94\x68\xfd\xdf\x38\xf0\x7f\xfe\x1a\x06\x4e\xaf\x3e\xf5\x85\x8b\xfd\xd2\xd6\x0f\xb2\xeb\x4b\xcb\x83\x3c\x02\x07\x97\xdb\x10\x1f\xa9\x77\x2c\x38\x84\x53\xe2\x76\x61\x5a\xe3\xd9\x7f\x4a\x28\x09\x0f\xf8\xbc\x78\x62\xf6\xc1\x1a\xef\x3f\x32\xfb\x4f\xf5\x67\xc6\x9b\xc5\x74\x37\xac\xd5\x13\xef\xd2\x57\xfe\xfa\xe3\x3b\x55\x53\xf2\x59\x3d\x73\xb4\x60\x4e\x24\x95\x80\x57\xdb\x31\xf5\x93\xfd\x92\x46\xfb\xb8\xe3\x08\x65\xb7\xec\xcf\x9f\xc6\xa9\x56\xba\x28\xf5\x8c\x62\x23\xb2\x91\xc5\xa4\xf3\x8b\xf7\xdc\xa7\xce\x0b\x1e\x6e\x15\x3c\x5e\x94\xac\x5e\xfe\x78\xa7\xe8\xd9\x8d\xc4\xcb\xf6\x8f\x57\x0a\x9f\x17\x86\x95\xea\x35\xdc\x1b\x8f\xee\xa4\x32\x2d\xf7\x37\x91\x0a\xd2\x16\x57\xfe\x74\xfe\x68\x1f\xfb\x2e\xa3\xc8\xda\x57\x0d\x74\x7d\xc9\xf8\xb0\x54\xc2\xb9\x53\xdb\x9d\x07\x9b\xff\xb4\x5b\xbb\xb3\x83\xf6\xaf\x0c\x2a\xc8\x05\x2b\x0f\x55\xff\xa5\x50\x2a\x83\x52\x4d\x7c\x6e\xad\x09\x79\x08\xc8\xe3\x94\x2f\xfd\xd2\xd8\xfd\xd2\x36\x95\xd4\x43\xde\x2f\x03\x1f\x42\xc7\x2f\x4e\x83\x3d\x72\xf6\x26\xee\x6e\x96\x3a\xdf\xb5\x2e\x7e\xd9\x1f\x7e\x3c\x3e\xe8\x84\xd3\xb0\x09\xf1\xf5\x26\x74\x6b\xe7\x3e\x3c\xe8\x4d\x83\x44\x05\x9f\x2e\x97\x8c\xfd\xeb\x60\x1c\xed\xe2\x0e\x32\x01\x89\x1e\x99\x14\xc6\x9c\x3a\xc3\xa5\xa6\x5c\x90\x5f\xa0\x16\xde\x02\xbc\xf0\xd2\x10\xd4\x50\x8e\x3c\xd9\x4e\x7a\x79\xd0\xe3\x70\x87\x48\x93\x09\x12\x04\xe8\xb4\x7d\xfa\x16\x0c\x1f\x5c\x9f\xe0\x48\x3a\xd4\x03\x97\x23\xbc\xda\xac\x09\xb9\x8d\xa4\x00\xed\xb3\x45\xd5\x59\x17\x6a\xd9\x8f\x94\x1b\xcc\x98\xa2\xf6\xcc\xb8\x3c\xb3\xad\xcf\x5f\x47\xfb\xc7\xc5\xc0\x8d\xdd\xdf\xb7\xf7\x2e\x71\x02\xc0\x65\xe9\x94\x86\x01\x59\x3f\xdf\x85\x2a\xb4\xed\xb2\x1c\xfb\x7b\xb2\x81\x7c\xb7\x55\xb7\x93\xc6\x83\xa1\x80\x45\x87\x7a\x4d\x19\xb7\x84\xa9\xc3\x63\x0e\x23\x01\x13\xf4\x19\xfb\x48\x35\xee\x90\x90\x13\xc9\x48\x10\xc2\xd3\x9e\x5a\xf7\xb1\xb1\xf2\x6b\xea\xf7\x56\xe3\x07\x54\xc6\x04\xf0\xd1\x08\xe2\xd0\x2a\xc7\x4c\x0d\xb6\xb9\x35\x55\xf9\xd1\x24\xbb\xe0\x74\x79\x6f\xc0\xdd\xad\x52\x8d\xf2\x69\xa9\xa3\xaf\x5d\x10\xa3\x73\x14\x36\xda\xe0\xb0\xcd\x87\x91\xf9\x68\x03\x72\x73\x0e\xdb\xcd\x29\x7c\xfe\xca\x23\x04\x69\xd1\x85\x09\xfb\x35\x44\xc2\xcb\xdf\xc7\xb9\xda\xf5\x8d\xfe\x7b\x97\x2c\xcf\x7e\xef\x4b\xe6\xfd\xa4\xf0\xcb\xcf\x7f\x1f\xff\xf3\xe7\xbf\xbf\x70\x3a\xbc\xce\x47\xab\x43\xbc\x7d\x90\x85\xac\x9a\x3a\x8d\x4a\x2d\x8f\x99\x38\xe7\x4b\x3f\x5a\x00\x52\x26\x99\x8a\x3b\x8d\x5e\x98\x2c\x43\x45\xd6\x16\xd1\xb1\xd0\xa5\x43\x33\x10\x53\xed\x55\x94\x8e\x04\x2e\x79\x1b\x1f\xc8\xbf\xb6\xea\xdd\x03\x79\xaa\x67\x79\xe0\xba\x73\x95\x32\xa7\x4d\xa2\x90\x74\xa8\x24\xf1\xf2\x19\x10\x62\x40\x2e\x2f\x60\xc9\x00\x1f\xa0\x66\xb1\x3f\xa7\x85\x20\x4a\x41\x32\x95\x54\xec\xcf\x7f\x54\x26\xe1\x4d\x01\xe1\xa5\x03\x05\x68\x01\x67\x0f\x44\xdb\xc8\xa3\x5a\xc1\xd7\x2c\xc5\xea\xb5\x8f\x68\x5b\x0c\x32\x79\xe5\xb4\x95\xb7\x0d\xcb\x1b\x43\xb0\xf2\x8d\x10\x06\x0c\xce\x24\xd4\x54\x6d\xff\x97\x76\xb1\x41\xf6\xb1\x19\xad\x0f\x03\xfa\xa0\x89\xed\xaf\xd3\x7c\xc8\x15\xf0\xa4\xab\x9e\xb3\x63\xac\xb2\xe7\xb9\xab\x87\x71\x1e\x9b\x6a\x7f\xfd\x09\x85\xdb\x5f\x44\xaa\x39\x49\x75\xec\xc3\x7e\x5e\x37\xc6\xc7\x1b\x37\xa0\x71\xdb\x7c\xa9\x87\xc9\x90\x7f\x3f\x51\x5f\x57\x33\xfb\x2a\x8f\xff\x9f\x09\xc4\x5a\xa5\xe2\x2c\x6a\x8b\xca\x14\x91\x0b\xe2\x86\xdf\x25\x4f\x7d\x47\xd7\xb3\xf9\x07\x56\x01\xb4\x94\x82\x6c\xb0\x97\x1c\xc3\xd3\xf7\x6e\x70\xf4\xde\x48\x55\xb7\x77\x0e\xe0\x13\x8e\x99\x90\x91\x1b\xa2\xf3\x43\x71\xf4\xab\x61\x7e\xd9\x80\x78\x5a\x3b\x95\x10\xd0\x2a\xf5\x2a\xbc\xc0\x65\x3d\x1b\x35\xce\x94\xd2\xf6\x8e\x5f\x73\xbb\x1c\x01\x60\x48\xab\x2c\x9e\xc7\x3c\xfb\x24\x7e\x3a\x7b\xcc\x8f\x3a\xda\x4d\x73\xc2\x53\x21\xcd\x9b\x53\xdb\xde\xc0\x38\x5e\x36\xff\xad\xb7\x8c\x02\x74\xad\x7b\xfd\x4e\xd8\x5a\xad\xdf\xf9\x76\xbf\xf5\xaa\xdf\xbe\xdb\xea\xed\x83\x1a\xcd\xb6\x8b\xc8\x68\x1f\x6f\xe8\xce\x2b\x96\xb9\x35\x0a\x18\xa0\x60\x2f\x19\x4d\xef\x8d\x6b\xea\xc5\xba\xd3\x6e\x1e\xec\xf6\x59\x5c\x73\x3a\xef\xce\xd8\x2e\x8c\x46\x90\xa7\x0a\xe5\xb6\x59\xea\x7c\x73\x7f\x5e\x9f\x9f\x48\xc8\x0b\x7d\xa7\x3f\x18\x4a\xa0\xe5\x5c\xce\x0e\x9f\x4d\xce\x8d\xee\xe8\xad\xee\x44\xeb\xce\x52\xe5\x63\xdd\x79\x74\x81\x31\x95\x62\x0c\x3a\xa4\x4b\x4a\x73\x4c\xe6\x3a\x99\x64\x61\x9d\xb9\xb2\xaa\x86\x3a\x5d\xdf\x02\x78\x57\x7f\x75\xa3\x94\xfd\xf4\x57\x9f\x24\x5c\x96\xd0\x29\x2f\x07\x9d\x20\x9a\x40\x4a\x79\x43\xe7\x5e\x9f\xa5\x42\x25\x2b\x40\xff\xae\x18\x1d\xdc\x9d\xdb\x46\x6c\x27\x1c\x90\x08\xe2\x7c\xb5\x8c\x1d\x6a\x2c\x20\xd5\x68\x6a\x0d\x82\xed\x85\xec\xe5\x85\xf0\x26\x51\x8e\xd9\xb4\xd1\x03\x36\xf5\xeb\x5e\xe2\x81\x09\x1b\xe9\x88\x4d\xf5\x0d\xdd\x7c\x8b\xa8\x51\xd1\x10\x68\x62\xeb\xda\x2e\x67\xd6\xdb\x3d\xf9\xd6\x3f\x40\x0c\xb8\xee\x3d\xdc\x48\x6b\xfd\x92\x1d\x7c\x5d\x48\x53\x7e\x7d\x28\x7a\x0b\x6c\x7f\xb9\x37\x18\x78\xe4\xf7\x25\x39\xac\x27\xea\x31\x6f\x38\x6c\xdf\x89\x72\x3b\x3f\x42\xe8\x28\xed\x1b\xdb\xd1\x7c\x65\x1d\xb0\xd3\x5e\xdb\xc5\xf1\xc4\xd4\x03\x46\x52\xbb\xf4\x7b\x61\x10\x2f\x52\x42\xa4\xd6\xe0\x5d\xfd\xe9\x8c\xe3\x78\x4a\x83\x78\x74\xe7\xfd\x30\x9a\x24\x81\x44\xfd\x14\x8b\x10\xb7\x32\x92\x06\x9d\xec\x75\x38\x67\xa7\x6b\x56\x47\xe1\x21\xa5\xf5\x7f\x32\x30\x1d\xb3\xf3\xe8\x26\xc5\x02\x7c\xb3\x0b\x5e\xc8\x2b\x56\x78\x83\x13\x72\xe7\x84\x37\xb8\xa4\x1b\x02\xe7\x77\x4f\x3c\xee\xe9\xf2\xe4\xc8\xb9\xfc\xac\x0a\xbe\x95\x19\x3e\xba\x67\x41\x03\xbb\xe2\x86\x7c\xe2\x07\x26\x53\xa4\x5b\xbd\x03\xab\xb8\xbe\xb7\xe2\xa3\xae\x45\x21\x21\xc6\xe5\x41\x97\x77\xce\x55\xc1\x55\x13\xde\xd2\xb7\xb7\xb0\xc0\x7c\x7e\x28\xb4\x9c\xca\xb9\xba\x35\xde\xe6\x8a\xdf\x65\x10\xd6\x1c\xf7\xe9\x52\x5d\xb2\x66\xfd\xce\xd4\xa5\xb3\xb9\x79\x2c\x55\x06\x12\x7c\x5f\x72\x3d\xdb\x6d\x9c\xed\xad\xd8\xd9\xd3\xa5\xde\x31\xdb\x55\xbb\xda\x71\x83\xed\x85\x13\xd7\x13\xd2\xf1\xd2\x26\xe1\xfa\x0d\x90\x84\xae\xee\x8d\xff\x52\xfc\xec\x6f\x2f\xa4\x75\x5b\x49\xdc\x01\xe9\x0a\x4a\xe1\xf3\xb4\x35\x00\xa7\x2b\xf1\x86\xd1\x08\xcb\x60\xb6\x27\x9d\x9b\x9a\x9c\x95\x75\x53\xd4\x06\x06\xad\x64\x92\xdb\xf6\x52\xac\xeb\x47\x04\x5b\xdc\x5d\x1b\x9e\x1e\x5b\xef\x7f\x7b\x21\xd1\xda\x0a\x3c\x35\x60\x73\x2c\xf9\xaa\x85\xdd\x70\x71\xc3\xee\xe3\x26\x95\x30\x9d\xcc\x29\xe7\x6b\xd8\xcd\x2d\x30\x09\x41\x5a\x3b\x5e\x4a\x2f\xab\x9e\xc5\xbc\x59\xb5\xe1\xe1\x9e\xbd\xcd\x68\x04\xfb\x31\xe4\xc6\x95\x19\xe6\x42\xea\xea\xdd\x1d\xef\xda\xb9\x86\xb0\x36\x20\x9d\xbf\x3b\x9c\x6c\x3c\xce\x16\xaf\xba\xec\x2e\x91\x5b\xb4\xe2\x77\xc6\xbc\x4e\xd3\xf1\x20\x5e\x6f\x6e\x1e\xaa\x73\x39\x8c\x99\x82\x89\x61\xb3\x19\xe4\x78\x29\xae\xf5\x31\x9c\xc5\xb5\xd4\x70\x38\x9a\x2f\x4a\x71\x91\x6d\x1a\xaf\xed\x32\xb3\x4d\x27\xf8\xcd\xe1\xf2\xe6\xcc\x3b\xff\x55\x38\xd7\x83\x7a\x29\xec\x3a\x7a\x93\xb7\x1c\x8d\x3e\x4c\x62\x15\x1b\xfc\x1a\x3d\xda\x50\xb8\x8e\x8b\x59\x67\x8e\x33\xf5\x28\xe5\x33\xc3\x0e\xa3\xb4\xcb\x53\x87\x2e\x54\x17\xd2\x3c\x99\xfa\x04\x84\x64\x91\x4b\xf6\x92\x87\xc5\xe8\x64\x8f\x1e\x0b\xe5\xf6\xf0\xf2\x7f\x50\x69\x8d\x14\xb4\x78\x86\xe6\xf3\x86\xc3\x8b\x34\x1e\x2e\x2d\x04\xc3\x99\x01\x07\x56\x87\x3b\xcd\x36\xf1\xc5\x1e\x3c\x46\xca\x97\x99\xcf\x30\xae\xea\xe3\xca\x01\xd9\xcb\x88\x5b\xb3\xb6\x8c\x24\xb5\x3c\xdc\xcb\x87\x85\xed\x4a\x2d\xc5\x41\xad\x9f\x97\xca\x27\x67\x1e\x49\x92\x9c\x42\x40\x79\xbc\x3d\x9b\x81\xab\x71\xb7\x2b\x3b\x50\x17\x17\x4e\x76\x20\x2e\x54\xe4\xc2\x4a\xd1\x87\x85\xcb\x7a\x3a\xaf\x96\xee\x71\xbc\x34\x3e\x61\xd1\xbd\x6b\x58\x1e\x32\xfc\xd9\xb0\x5c\x4f\x7f\x60\x1c\xc0\xc5\x4b\x13\x51\xef\xa9\x4d\xe9\x34\xde\xa2\x80\x53\x4f\x4f\x16\xbe\x4b\x0a\x08\x27\x02\x78\x77\x4f\x7f\x1d\xbf\xfd\xf8\xc3\x6b\xc7\x61\x77\xf7\x0e\xd8\x33\x49\x6a\x3d\x81\x51\x87\x44\x5c\xeb\xc0\xcd\x58\xe7\xda\x7c\x43\x8d\x4d\xa7\x3a\xdb\x13\xd8\x96\x87\x24\x13\x68\x52\x3a\x32\x05\x9c\x45\x33\x89\xd6\x91\x5a\x33\xbe\x99\x4a\x1e\x85\xa2\xcc\xd7\xa8\x6e\x08\xa3\x10\x23\xd7\x03\x7b\xc2\x53\x30\xe0\x54\x80\xd1\x70\xcb\xb0\x4a\xb9\xee\x74\xf0\xa6\x00\x6c\x30\x93\xd6\xb2\x77\x94\x41\xdb\xee\x90\x08\x9f\xa9\xd5\x08\x7f\x94\xe2\xd7\x9f\xa5\x33\xff\x32\x48\x1c\x38\x51\x4b\xb8\x88\x14\x24\x6d\x59\x96\x7e\x87\x30\x56\xd2\xd1\x44\x37\x64\xc7\x57\x82\x9f\x5b\xc4\x19\x62\x1f\x01\x9b\x9c\xd3\x0f\x21\x94\x97\x72\xed\xbc\x3e\x67\xef\xf3\x03\x6a\x54\x6d\xf5\xf1\xbc\xa9\x84\x48\x21\x65\x80\xda\x27\xbe\x39\x5f\x9f\x56\xdb\x0b\x63\xca\xeb\x91\xf7\x61\xa0\x16\x8c\x79\x23\x95\xea\xec\x32\xa0\x23\x25\x44\xa1\x35\x1e\x89\x8d\x08\x6b\x4b\xc6\xea\xdb\x67\x16\x84\x9a\x37\xaa\xa9\x98\x80\xd1\x80\xe9\x6a\x17\xf7\x4e\x2b\x88\xa5\xec\xd2\xd0\xb1\xd7\x53\x6a\x88\x81\xd1\x3d\x85\x92\x89\xa5\x12\x67\xf1\x43\xe1\x6a\x7a\x2c\xa5\x9a\x48\x8b\xcd\x1c\xb7\x44\x0d\x69\xec\x43\x8a\x76\xf5\x99\x5d\xb2\x16\x0c\x52\xa0\x94\xd9\xae\xda\xb6\xce\xfb\x69\x98\x07\x06\x18\x68\x3a\xd4\x9d\xe0\x88\xb4\x8f\x86\x7d\x9d\x7e\x08\x41\xdf\x39\x77\x7f\xdf\xfd\xf2\x1a\x5e\xf2\x4b\x79\xf6\x76\x73\x6b\x47\xe4\x99\x40\xe2\x95\x58\x26\x60\x61\x9a\xc8\x9e\xcb\xa5\x8c\x12\x12\xd5\x58\x81\x81\xc5\x14\xd4\xa4\x6c\xa3\x71\xa6\x7a\x76\x7e\x88\x47\x75\xb4\x67\xbd\xb4\x32\xa2\xb4\x65\x78\x90\xa4\xef\x8b\x91\x75\xdb\x9d\x11\x44\x1c\xc2\x5a\xde\xe0\xd1\x7e\x79\xfe\xda\xa8\x16\xd8\x68\x35\x7d\x2a\xd4\xec\x72\xc1\x98\x1f\xb8\xec\xce\x7f\x1b\x23\xc5\x52\x46\x2a\x29\x4f\x46\x33\x32\x24\xaa\x48\xe5\x09\x58\x4f\x3d\x97\x28\x48\x63\x82\x52\xe0\x58\xd5\x8a\xfc\x31\x2d\x8e\xf6\xce\xfb\x67\xe5\xbd\x01\xfd\x61\x97\x87\x3c\x4f\x0a\x30\xe0\x03\x89\xb1\xa1\x6c\x7f\x33\x43\x96\x42\xcc\x71\x42\x96\x83\x4b\x7a\xa7\xd6\xa8\x0a\x00\xb1\x12\x69\xd2\xc9\xd6\x54\x3a\x77\x93\xa5\xd6\x46\x7b\x08\x25\x8c\xbd\x84\x9c\xec\x6f\xa9\x22\x8f\xc4\x2c\x9f\xe6\xe6\xd4\x21\xb8\xa7\x4f\xde\xb9\x0d\xc4\x67\xac\x0d\x61\x38\xfd\x3b\xf0\xd8\x6c\xbe\x0a\x92\x4f\x28\x49\x49\x9f\x94\x5a\x49\x83\x7f\x06\x24\x17\x64\xd9\xd9\x3f\xe3\xe0\x9f\x78\x4d\xa8\xe6\x38\x52\x11\x9b\xb2\x04\x84\x41\xe3\x6d\x21\xc3\xb0\x52\xcf\x33\xc1\xea\x10\x26\xdc\x83\xdd\xcd\x9e\xb7\xf7\xd3\x0b\xfa\xc0\x0b\xd3\xf5\xb7\x5f\x7f\x1e\x77\x7f\xfd\xeb\xf4\x52\xfc\xcc\x3b\x80\x12\x81\xd6\x6b\x8b\xa8\xa6\x3d\x52\xdf\xc8\x48\xa5\xda\xf6\x53\x8c\x49\x22\x81\x10\xf2\xd7\xea\x11\xc9\xa1\xb1\x55\x25\x27\x41\x24\x72\xb1\x35\xb8\x3c\x33\x29\x15\xce\x63\xa4\x9a\xf3\xee\xcc\xdf\x26\xd8\xee\x05\xeb\xdb\x5c\x9d\xf1\x1c\xa4\x2a\x83\x4d\x57\x48\xc4\x73\xa3\xc4\x66\xf2\x72\x41\x51\x36\xb6\x56\xd4\xca\x23\xc6\xfd\x72\x4c\x5f\xbf\x79\x7b\x9c\xdf\xdf\xa2\xe8\x8b\x74\xd7\x4c\xd1\xb8\xd8\x65\xe6\xad\xe5\x9f\x47\x8a\xcd\x14\x3a\x13\x2a\xda\x49\xb4\x60\xdb\x37\x29\x6b\x85\x53\xa5\xfd\xdd\xc9\xdd\x35\x8d\x80\xd4\x6b\xf5\x32\xb9\xd7\xec\xf0\x49\x52\xed\xed\x06\x59\xa9\xad\x04\xc9\x8c\x4d\x59\x6b\x79\x92\x2b\x9f\x3a\x13\x9c\xd0\xf2\x23\x53\xbc\x4c\x4d\xb6\xfc\xeb\x60\x6d\xdf\x13\x97\x1e\xaa\x0c\xf5\x2d\x54\x39\x15\x8d\xd6\x5f\x37\x7e\x69\xdb\xed\xa6\xaf\x7c\x60\xc7\xb9\xed\xc8\xee\xd3\x33\xde\x2c\x83\xe3\x83\x77\xaf\x75\x77\x9a\x8e\xb1\x3f\x8e\xcb\xb8\xc7\xc1\x3f\x97\x92\x31\x34\xd3\xcd\x86\x2f\x2d\x6b\xa6\x5a\xdd\x18\xf4\xf1\xe4\x65\xbb\x34\x1d\xa9\x7c\x52\x77\xda\xc9\x80\xea\xd6\x5a\x0e\x77\xda\xde\x9b\x77\xa3\xf1\xe3\x72\xfb\x70\x6a\xfd\x7a\x5c\xc6\x53\xe9\xd3\x6d\xaa\x39\xb5\xef\x4e\x07\xce\x7c\x79\x6f\xd2\xcd\x69\x88\xb6\x37\xe8\x86\x05\xc6\x80\x70\x40\x07\x7a\xba\x19\xb9\x50\x55\x97\x60\x10\xeb\xe3\xb5\xf3\x0f\xb5\x7c\x16\x69\x41\x9a\x1b\x15\xa9\x7b\xaa\x21\x13\xb2\x25\xe5\x4c\x0a\x3c\xe6\x4c\x2d\x96\x73\x06\xce\x65\xc4\x1e\x30\xfb\xda\x5f\x39\xd7\x72\x9f\x40\x74\xff\xca\xb7\x16\x4e\xfd\x8c\xa4\x68\x67\xa6\x04\x13\xa2\x1b\x97\x3d\x25\xae\x94\x5b\xa2\xe2\x66\x56\x35\x19\x08\x29\xcc\xf3\xb9\xa7\x9e\x54\x6b\xf8\xe1\xa2\x37\xbc\x38\x6d\x9e\xf7\x7d\x39\xe4\xbe\xec\xfd\x38\x97\x34\x40\x9b\xab\x27\xb6\x33\x57\xbb\xae\xb5\xb7\x72\xea\x7d\xe0\xeb\xfe\xf1\x8a\x63\x5c\x98\xf9\x72\x0f\x69\x90\xcb\x61\x83\x98\xea\xc3\x8a\x06\xcc\x9f\x7d\x83\xf2\x59\x38\x7b\xbc\x4f\xd9\xe5\x5c\x9e\xba\x79\xab\xff\xee\x9d\x7a\x3d\x00\x9a\x1b\x46\xe1\x76\xdd\xe3\x55\xe5\x8d\x67\x29\xe0\xc6\x28\x8c\x33\x09\xac\xd6\xc0\xc5\x89\x4c\xc8\x0b\xf1\x9c\x0b\x07\xcc\x11\xa5\xa3\x09\xdc\x3f\x97\xc9\x18\x2f\x26\x03\x6d\x46\xeb\x9f\x2e\x57\xc0\xb8\xf2\xc5\xbd\x5a\x03\x58\x1b\x57\x8b\x60\x2e\x6b\x4f\x82\xe0\x71\x52\x88\x6c\x39\x2f\x55\x5f\xd1\x2b\xda\x3a\x8d\x37\x17\x42\x4f\x52\x3a\xdd\x1c\x84\x4e\x0b\xd6\xff\x4b\x4a\x98\x07\xf7\x6a\x08\x6e\x4d\xc5\x32\x73\x60\x15\x0f\x79\x41\x9d\x84\x8e\x57\xa0\x1b\xde\x26\x74\x98\x24\x91\x86\x44\xdc\xe4\x73\x26\x2d\x80\x1b\x0b\x32\xe0\xcc\x2a\xa6\x41\x07\xa5\x9c\x8e\x89\x8a\xcc\x02\x07\x14\xad\x02\x2e\x83\x85\x66\x05\x30\xa5\x54\xa6\x48\x09\xa0\xf7\xf1\x96\xc4\x51\x1b\xb2\x03\xcc\x4f\x3c\xc3\x5a\x67\x85\xcf\x32\x87\xae\x64\x8e\xec\x65\x21\x3d\xe4\x2d\x91\xc3\xee\xf2\xd5\x5d\xe3\xfe\x8c\xd7\xb7\x4a\x39\xb6\x73\x91\x03\x07\x14\xe1\xdc\xf7\x38\x40\x51\xb6\x99\xd8\x65\x48\x31\xfe\x39\x5b\x94\x0a\xc1\xa3\x61\xfd\x82\xe9\xf9\x99\x02\xe3\x40\xa9\xdb\x48\x2e\x7a\x3b\xda\xed\xc1\x9e\x43\x71\xd2\x3f\xfb\xad\x62\xe5\x5e\xb4\x22\x40\x53\x99\x1d\xae\x5b\xa6\x52\x04\x28\x7f\xd5\x1b\x87\x27\xa7\xfe\xee\x45\x6d\x4b\x65\xd3\xbd\xf6\x2c\x2d\xee\x3d\xba\xa8\x1c\xe3\xc2\xf9\xe0\x41\x54\xeb\x3b\x58\x74\x68\x00\x5e\xb5\xc6\xdf\x28\x1a\xdd\x9d\x16\x3f\xa6\x1b\xcd\xc3\x98\x59\xf3\xc7\x1b\x7d\xe7\x8c\xec\xa2\xc7\xf1\xba\x7e\xaf\x7b\xf4\xf8\x54\xe2\x3a\x7f\xce\x23\x89\xe2\x2e\xe7\xe7\x54\xe1\x78\xaf\x4d\xe3\xd2\x6c\x9b\x9a\x96\xfa\xe7\x32\xeb\xe3\xf5\x20\xc1\xb9\x11\xbb\xb7\x67\x94\xb8\xf0\x26\x5f\x9c\xc6\x6f\xfa\x8c\x93\xb2\xa7\xb7\x21\xe1\x4c\x59\x48\xa3\x50\xe1\x42\x51\x32\x31\x65\x5b\x6a\xd4\x62\xa6\x58\xcf\x94\x62\x4f\x2c\xc3\x91\x27\x8a\x79\xbc\x20\x76\x8a\x6a\x5a\xe8\x69\xd2\xcf\x97\x49\x54\xd3\xd5\xac\xcc\x4b\xfe\x17\x91\x95\x7c\x4f\xac\x95\xa4\x65\x92\xda\x28\xb3\xd5\x6d\x6d\x38\xe7\xad\x5c\xad\xad\x07\xd2\xd0\x6e\xfb\xc2\xdf\x70\xb5\x3f\x8c\xa4\x17\x9b\xa4\xf5\x55\xa3\xec\x47\x62\xeb\xf3\x68\xfd\xcd\xa6\x63\xdc\xa8\xb3\xb7\x6f\x9a\xdb\x7e\xdd\xab\x9b\x5d\x1e\xfb\x78\x8c\xcb\x50\xad\x1b\x30\x0f\xe4\x7e\x44\x97\x59\xeb\x68\x7d\x96\xda\xc6\x5b\x03\x3f\xf6\x19\xaa\xc7\xcb\x9e\x2f\x7d\xbc\xd1\x77\x0f\x27\xb8\xea\xbc\x46\xc1\x08\x20\xc9\xa6\xe9\xc8\x23\xfa\x2e\x11\x55\x8f\xd7\x75\xd7\x9a\x30\xe9\xe3\xf5\x10\x2c\xbd\x3c\x91\xf6\x7a\x80\x70\x7b\xba\x31\x02\x48\x24\xdd\xc3\x10\x85\x63\xff\xec\x25\xd6\x8a\x96\xac\x4e\x7c\x21\x70\xb7\xa1\xbd\x1c\x35\xf1\x69\x75\x03\x0b\xa5\x1c\x2e\x3a\x6f\xdd\xc6\x00\xec\xad\xd7\x46\xed\xd6\xeb\x9c\x96\x3a\xaf\x48\xb3\x67\x5b\xba\x41\xef\xbd\x73\x37\x3b\xde\x47\xe5\x9a\xdc\xe7\xb1\xdc\xdb\xb4\x8f\x20\x79\x1c\x13\xd4\xb6\x8c\xfd\xba\xdb\x90\x1b\xb5\x6d\x1f\xcd\x6b\xf0\x1f\xbb\x9f\xfe\xef\x6b\x28\xda\xaf\xf9\x7e\xc3\xba\xe1\x36\x13\x66\x6c\x13\xdd\x80\xc2\xa3\xfd\xeb\xf9\xab\x20\x27\x95\x50\x0e\xe5\x53\x22\x8f\x79\x98\x6d\x86\x3a\xb0\x60\xcb\x28\x42\x11\x47\xed\xb5\x08\xd5\xff\x8f\xbd\x7f\x69\x72\xe4\x46\xd2\x85\xe1\xbf\x12\x76\xbe\x35\xdc\xe0\x8e\xfb\xe2\x5b\xa4\xd5\x26\x17\x59\xab\x31\xcb\x3d\x87\xad\x69\xca\x0e\x53\xea\x57\xa5\xe6\x39\x6f\xfe\xfa\xd7\xfc\x71\x04\x19\x37\x32\x59\xcc\x52\x8f\xba\xa7\x4d\x2a\x90\xc9\x88\x40\xe0\xe2\xf0\x0b\xe0\xfe\x78\x50\xc9\x99\x7d\x39\xaa\x1e\xee\xb4\x78\x12\x02\x98\xa2\x61\x29\x5a\x94\x9e\x3e\xea\x28\xaa\xde\xe2\x55\x77\xd2\xf5\x10\x90\x9a\x13\xbc\x33\x26\xb6\xf2\xfd\xed\x3c\xe8\x8c\x1a\x65\xd8\xaa\x52\x2d\xae\xa4\x66\x80\x9a\xea\x5a\x1b\x03\xc1\x95\x93\xb2\x98\x70\x9c\x54\xb8\xe8\x06\x47\xf8\x0d\xcc\x7f\xb4\x0e\x6b\x57\xf4\xf5\xfa\xce\x44\xb5\xa6\xde\xb0\xe1\x4a\x3d\x9c\x57\x15\xa1\x1e\xa7\x15\xd9\xb3\x9b\xc3\x11\xb1\xf5\xb5\x9b\xff\x6a\x43\xa1\xd4\x12\xde\xbf\x72\xb5\x2d\xf5\x59\xe5\xec\x26\x63\x7d\xa9\x7d\x4f\x5c\x1d\x85\xa8\x1d\xd7\xb5\x1f\xf1\xc9\xc8\x0e\x6f\x23\xee\xc6\x21\x77\x93\x31\xbf\x3a\x42\xdc\x5f\xfe\xfe\x95\xc3\x70\x06\x9c\x32\x62\x39\x23\x17\xc9\x8d\x2d\xe1\xc9\x91\xf4\x02\xe9\x60\x34\xbb\x64\x1b\x04\x4b\xe6\xb9\x31\xec\x71\xdb\x87\xc5\x99\xe8\xc6\xb6\xf9\x27\xc0\x8d\x79\xd8\x08\x2b\xc4\x09\x26\xd0\x63\x37\x90\x25\x23\x4c\xc6\xb8\xbe\xe4\x2d\x4e\xf1\xe0\x88\x55\x50\xed\xa8\x96\xa4\xff\xc6\xde\x15\xb4\x8a\x9f\x13\xe5\x9b\xd7\xc3\xba\x41\xdc\xe3\x1c\xe3\x05\xa6\x27\xd0\x2c\x4c\x71\x8c\x52\xc4\x51\x12\x9a\x67\x71\x74\x63\x84\xe3\xa5\x40\xb7\xf6\x78\x72\x18\x03\x1c\x2f\x41\x90\x78\xc5\x1e\xe7\x19\xf3\xc8\x47\x14\xcf\x16\x95\xf5\xd8\xd1\xfa\x84\x73\x3d\x1c\xb5\x92\xc9\x07\x64\xf8\x2b\xf1\x29\x52\x43\xec\x81\x96\x3a\x48\x6d\x08\x7b\xb8\x56\xf9\x41\x88\xc1\x97\x81\x1d\x9b\xb1\xad\x7b\xb4\xdd\x7e\x3f\xf5\x99\x9c\xc5\x6d\xe3\xe0\xc0\xfb\xf4\x85\x03\xe5\x50\x75\xed\xe7\x34\xb0\x6a\x6a\xb5\xe9\x67\x85\x31\x82\x24\x59\xa8\x98\x95\x9b\x37\xa0\xcb\xb6\xac\xaa\xb2\x3d\xbf\x7d\xa8\x8d\xfa\xed\xfd\x1b\x0d\xe7\xb0\x5b\xfe\xe8\x50\x2b\x5e\x60\xcf\xce\x9b\xee\xa7\xc1\xdb\x7a\x09\xf7\xa0\xea\x32\x58\xd9\xbd\x67\xf7\x00\x35\x67\x6d\xb4\xb3\x71\x69\x25\x5a\xed\x2f\x7a\xe3\x90\xc8\xaf\x2c\xce\x73\xbd\x78\x2d\xb8\x71\x81\x57\x55\xa9\x4f\x81\x62\x8d\x83\x95\xd6\xfc\x68\x04\x85\x3e\x53\x88\x01\x69\x02\x55\xa5\x2a\x94\x12\x76\xb8\xb8\x50\xe3\xe5\xe9\x4b\x1f\x19\xbd\xe2\x6c\x3f\x27\x24\x4a\x11\x3b\x98\x38\xd2\x92\xfe\xad\x56\xf0\xf7\xdc\x54\x11\xf0\x16\x5c\x1f\xdc\xe5\x22\xde\x60\x75\x2c\xfd\xe7\x2f\xef\x40\x0b\x36\x1a\xaf\x72\x69\xa7\x3f\xe0\x34\xbb\x5e\xa0\xc6\x6b\xc1\x2b\x8e\xb6\xdf\x32\x6b\x3e\x4f\x42\x5c\xec\xe5\x7a\xd3\xaa\x72\xe5\x59\xd5\x16\x93\xa5\xf7\xb4\xd1\x49\xd8\x2e\xd0\x76\x8f\x4f\x2e\x07\xe6\x52\xb1\xbd\xf9\x63\x2e\x2b\xc6\x13\x24\xcd\x9d\xe8\xd2\x10\x4f\xbc\xc5\x67\x5f\x97\x89\x97\x5c\x67\x2d\x69\x11\x87\x3f\x32\xd9\xd7\xf9\xe1\x4c\xe7\xb1\x7c\x0f\x8f\xc5\x8e\x24\xaf\x76\xb5\xb5\xb5\xa7\x55\xd8\xae\x6d\x1a\x73\x7a\x0e\xa7\x95\xf7\x3e\x9a\x91\x0e\xe5\xea\x15\xe3\x9c\xb3\x4d\xd0\xee\xe4\x7f\x5a\x07\x08\x77\x3e\xcf\xd8\x11\x7a\x7f\xeb\xfa\xc9\x95\x38\xed\x76\x25\x4e\x5b\x96\x90\x7d\x5d\xb8\xb5\x6b\x81\xe0\x9f\x08\xe6\xfd\xcf\xdd\x6f\x6e\x7f\xd8\xfd\x76\x27\xc4\x10\xd7\x21\x5c\x40\x08\x07\x3e\x9d\x61\x25\x19\xa2\xfb\x35\x4e\x21\x0a\x91\x7f\xaa\xcd\xef\xf7\xf3\xfb\xcf\x7f\xf7\x07\xca\x05\xa8\x92\xbd\xde\x71\x8a\xe7\x3f\x05\x78\x96\xf7\x29\xb4\x63\xaf\xee\x43\xff\x91\x41\x6e\xb6\x32\xcc\x1b\x59\x87\x3c\xbb\x7d\x31\x06\x65\x7e\x77\xba\xe4\xb8\xf3\xd6\xa5\x30\xef\xd2\x5d\x29\x65\x2f\x5d\xda\xdd\xa3\xa6\xf7\x6e\x7d\xdf\x64\xd5\xef\x9f\xac\x38\x9f\xac\x3c\xef\xd9\x5d\x91\x91\xf3\x9e\xdd\x99\x77\xf0\xbb\xe6\x0b\x51\xc8\xdf\x33\x61\x6d\x3e\x5f\x33\x12\x7c\x6d\xf7\x75\xea\xf7\xdf\x7f\xfa\xed\x0e\x68\xc2\xeb\x20\xa8\xaa\xa3\xae\x70\x6d\x8b\x85\x4f\x2f\x2f\x18\xd7\x69\x87\xb5\x0e\xe9\x85\x91\x85\x35\x9d\xdc\xfa\xb1\xee\x41\x66\x2a\xd8\x57\x21\x73\xf3\x34\xe9\x32\xd3\xfe\x9c\x69\x79\x71\xa6\xe5\xcd\xf4\x40\x6d\xd4\x75\x04\x8c\x70\x13\x01\xe3\x64\xb0\x8f\x1f\xca\xa3\x2e\x49\x1e\xd0\xd7\xef\x9c\xad\x87\x75\x48\xf3\x4f\x5b\x89\x23\x6c\x2f\xa5\x2b\xe2\x28\x1c\xea\x86\xf8\xb0\x0e\xc2\x1d\x6d\x79\xcd\x43\x1e\x8f\xf0\x9c\xd8\x76\xde\x3e\x78\x5b\x80\xb0\x75\xf1\xb1\x70\x9e\x3c\x1f\xd5\xd4\xf5\xef\x6e\x6c\xc2\xc7\x93\x02\x85\xe4\x4a\x1c\xee\x0f\x99\x13\x65\x0d\x7f\xfd\xf9\x97\xbf\xde\xc9\xf3\x02\xf9\x94\x87\x4c\x7e\xaa\x80\xb2\xe9\xab\x88\x46\x52\x25\xc8\x0c\xc0\x85\x98\xa5\x10\x40\xad\x72\x4c\x14\xb1\x59\x9d\x8b\x8b\x30\x0e\xa2\xda\xec\x8b\x70\x8b\x94\xa9\xa5\x7c\x8c\x96\x97\x61\xd1\x7f\x64\x57\x52\x75\x33\xbd\x34\xf2\xad\x20\x6b\x6f\x3d\x06\x6a\xd9\x45\x0a\xa5\xcc\xf7\xf4\x0d\x9e\xf5\x96\xf5\x55\x6f\x18\x5f\x5b\xd8\x71\x80\x55\x59\x5b\x7c\x57\x18\x81\x69\x2d\x4b\xe8\x9e\xb1\x26\x83\x90\x5e\xa5\x01\x3a\x93\xdb\xfa\x4d\x72\x8d\x51\xb1\x71\x1c\x6e\x87\x65\x88\x82\x85\x4a\xc5\x1b\x66\x24\xda\x7d\xd5\x8c\x3c\xb8\xa5\xed\x7f\xc1\xb4\x34\x40\x17\xff\x5d\xfb\x05\x5b\xaa\xec\x23\x54\x7b\x67\x48\x64\xf6\x30\x41\x63\x5c\x10\xad\x60\x2b\xb1\x76\x07\xf8\x25\x90\x0a\x05\x80\xdd\x71\x4a\xc7\x40\x49\xa2\x7e\x87\x0f\x27\x23\x0f\x78\x5b\xf8\xc2\x0a\xa3\x2e\x38\xda\xaf\x30\x59\xb4\x2e\xdb\xc1\x79\x81\x63\xb2\xda\xa8\x19\xb9\xd1\xe1\x1b\xda\xe4\x7d\x61\x1c\xac\x23\x2b\xdc\x85\xd3\x6c\x2a\xaa\x9b\xd4\xb5\xc2\xd8\xf1\x57\x59\xe0\xe8\x06\x7c\xa5\x9e\xf7\xaf\x6d\x0d\x36\x73\x39\x71\x5d\x61\xf9\x84\x2b\xfc\x99\x8d\xd3\x72\xd0\x4a\xd7\x34\x7a\x45\x9b\x4f\xdb\xda\xfc\xb2\x8e\x0b\x59\xf2\x0a\x40\xf2\x8f\xa3\xca\x9f\x76\xff\xfb\x16\x34\xf7\x07\xfb\x23\x25\x0d\x71\xed\x76\x4d\x39\xcb\x91\x29\x46\x1e\x84\x6a\x0d\x8b\x33\x0e\x11\x30\xda\x9c\xca\xd0\x88\xb9\x7e\x09\x14\x83\x81\x6b\x49\x54\xca\x91\x41\x78\xc8\xa4\x1f\x6a\xc2\xe4\x3d\x53\xae\xd8\x68\x29\x06\x92\x58\xf2\x80\xf4\x5f\x2e\x90\x94\x60\x95\x65\x87\xca\xe6\x9b\xf9\x70\x8f\x17\xc9\x2f\x9c\x29\xd5\x3a\xa4\xde\xba\x59\x9b\x2f\x00\xa2\x6f\xf0\x79\x45\xec\x40\x23\x5f\xeb\x91\x89\xbd\xbe\x4b\x38\xcc\x8f\xd8\x78\x0c\x06\x4f\xa5\xbe\xd4\x0e\xe7\x7e\xc8\x14\x1a\xe2\xf0\x6a\xd0\x65\xe9\xdb\xd6\x43\xce\x1e\xe2\x48\x8d\x45\x5b\xf4\xfe\xe6\x1a\x85\xaa\xe6\x60\xf3\xed\xa5\xc2\x93\x36\xc0\x51\xbf\x89\x1c\x85\x92\xc7\x2e\x8b\x6f\x33\xa8\x99\x42\x70\x03\xd7\xa6\xcb\x9c\x8e\x32\x46\xc9\xb7\x87\x20\x10\x3b\x45\x3c\xe6\xad\x19\x29\xfb\x3a\xc8\x32\x96\x77\xa4\x8b\xd0\xe2\x91\x5a\x2d\x83\x10\xa7\xb8\x27\x1f\xc8\xe7\xa4\x1f\x1c\x11\x9c\x22\x1e\xd9\xfd\x5b\x6c\x70\xdc\x4b\x8b\x43\xca\x60\x00\x5e\xaa\xc7\xc4\x20\xab\xc3\xdc\xec\x84\x62\xca\x56\x43\x75\xa8\x61\x76\x8a\x62\xe4\xe0\x13\x1a\xe1\xd0\x08\x34\x6a\x45\x0e\x07\x47\x35\xd5\x1d\x95\x4c\xe5\xec\x62\x1a\xc2\xe0\x9f\x23\xe5\xb8\xf1\xfb\xfb\x5b\xa2\xd4\x6a\x0f\x3b\x29\xda\x4f\x50\x87\xb4\x3d\x89\x6f\x14\x13\x4e\xa4\xa8\x95\x62\x58\x34\x31\xa4\x97\x44\x55\xea\x50\x2d\x6d\xc1\xd1\x51\x2e\x70\xe2\x5a\x7a\x17\xf4\x48\xa8\x18\xd2\x91\x8a\x2d\x7a\x69\xef\x6f\xda\xbf\x34\x34\xca\xe9\xc8\x94\xd9\x05\xca\xe9\x90\x28\xe7\x86\xbf\x07\xfd\x7b\x71\xb4\x15\x28\x40\xad\x8b\x61\x79\x41\xf5\x92\xc7\xa8\xe5\x56\x16\x8f\x0f\x95\x63\x0f\xc7\x78\x0b\x4a\x08\x4a\xf6\xe4\xb9\x0d\x42\xa1\xf3\x5c\xfd\xb6\x8e\xeb\xe1\xad\x60\xea\x2f\x42\xad\x42\x91\x49\x43\x44\x86\x8d\x14\x87\x68\xf5\xbf\x56\x04\x1b\x28\x73\xc9\x19\xa6\x8c\x97\x31\x0c\xaf\xea\x40\xe5\x34\xd4\xa1\xe8\x4d\xa7\x44\x9c\x8b\x9d\x00\xd8\x53\xc9\x02\x84\x86\x0a\x39\x2a\xd8\xb7\xd1\x8f\x6f\xfa\xa6\x31\x16\x2c\x8e\x4f\xaa\x78\xab\x63\x56\x91\xdc\x94\x62\xe1\xe5\x81\xd8\x5d\xae\x3b\x78\x69\x0d\x56\x9a\x94\xa8\xf0\x17\xe9\x6d\xbc\x43\xad\xf6\xa4\x22\xdc\xab\x10\x5d\x68\xd6\x21\x52\x2e\xf2\xa5\x51\x0e\x83\xa5\x2f\x83\xc0\xf4\x01\x31\x15\x32\x48\xd8\x33\x49\xcb\x60\xa5\x41\x95\xa5\xca\xa6\x0d\x38\xa6\xc6\x4b\x0d\x23\x44\x25\x49\xd9\x3b\x0a\xb1\x58\xc8\x81\xe5\x66\xf4\xc8\x23\x0a\x57\x4f\xfd\x4a\x59\x8a\xa9\xa6\x01\x61\x67\x09\x17\xe1\xa4\x7c\x9f\x99\xff\xd3\xad\x84\x20\x1f\xd1\x10\x3c\x92\x8a\x6d\x97\x87\x10\xa9\x54\xf3\x29\x19\xd5\xe0\x22\x77\x12\xd0\x9e\x22\x00\xd6\x4c\xbf\xb4\xd4\x7e\x62\xee\x21\xaf\x99\xa2\x4f\x5f\x42\x27\x15\xe5\xc5\x65\xe0\xa1\x0e\xfc\x4d\x69\x54\x7f\x53\x1a\x89\x5e\x67\xb1\xd4\xf7\xaf\xd1\x88\xc2\xa7\x2f\x3d\x3a\x1e\x56\x45\x0b\xc8\xab\x38\xa0\xdc\x0b\x79\xbc\x2f\x98\x87\x0e\x92\x8a\x40\xd5\xeb\xb5\x40\xab\x2f\x85\x38\x9a\x36\x2f\x14\x10\x36\x53\xe4\x39\x12\x73\xd8\x93\x44\x71\x14\x73\xd5\x0b\x00\x55\x08\xfd\xdb\xd8\xe2\x8f\xa9\x29\x53\x6d\x90\x3c\xb5\xc8\x82\x9a\xa4\xc1\xc1\x5e\xd5\xf4\x82\x5c\xb0\xe6\x98\xee\xeb\xc0\x69\xcf\xe4\xc5\x50\x83\xb1\x17\x9e\xb0\x54\x9b\x4e\x7a\xd8\xaa\x48\xd5\x91\xbc\x77\x24\xdc\x28\x14\xa5\xab\x40\x19\x9e\x2f\xec\x05\xdf\x28\x22\x97\x8f\xaa\x0b\x8e\x24\x45\xbb\xa4\xb4\x55\xef\xa6\xa1\xdd\xfe\xf7\x9f\x4f\x1f\x65\x96\x9c\xe1\xa2\x9b\xbd\x0d\xfb\x4a\xc9\x97\x87\xee\x6b\xab\x83\x99\x47\xb7\xdb\x71\x6d\xee\x0a\x25\x9c\xe4\x9e\x23\x02\x90\x57\x57\xe6\xbe\x0d\x49\x17\x44\x52\x1e\x64\xdb\xf2\x2e\x52\x44\x6a\x4f\xae\x69\x76\x67\x6c\xcd\xa9\x9c\x7a\x2a\xc8\xb1\x59\xce\x99\x36\x95\x2d\x7d\x19\x79\xd4\xc8\xb3\xa2\x71\xa3\x33\x93\x01\xbf\x74\x17\x7e\xe9\xb6\xf8\xe5\x88\xae\xe9\x37\xe0\xad\x16\xee\xea\x15\x71\x0c\xd3\x98\x1c\xef\xd2\x2c\x24\xc7\x0f\xe9\xfd\x5f\x95\xfb\x4c\x29\xe7\xbe\x8d\x61\xc4\x8f\xb3\x87\x65\x0e\xbe\xe1\xce\x7c\xc3\x4d\xf9\x46\x89\x0b\x77\xe2\xea\xa8\xc4\x36\x8c\x00\xdf\x2e\x90\x0f\xc5\xa9\x66\x30\x27\x8f\x1c\x90\xcc\x33\x91\x6f\xaa\x25\x6a\xd9\x57\xdf\x97\x91\xff\x8c\xfc\x28\x18\xaf\x79\x9d\xf2\x41\x77\x66\x84\x6e\x8b\x11\xde\x42\xb1\x5f\x50\x86\x0c\x69\x27\x83\x74\x9a\x88\x83\x7d\xd7\x1a\xe2\xfb\xbf\x24\xff\xb8\x77\x0b\x5d\x99\x38\x1c\x35\xf3\xe0\x1d\x94\x01\xb7\xad\x0c\xb8\xb3\x36\xe0\xce\xea\x00\xb6\x4c\x73\x5c\xea\x03\xec\x16\x0a\x01\x9c\x47\x5b\x72\xe4\x45\x9c\x79\xe0\xfb\x1c\x95\xef\x2c\x70\x1c\x62\x4d\x3a\x3e\x79\x4f\x5e\x45\x45\x2a\xe4\x4b\xa3\x22\xa2\x9f\x80\x6a\xe1\x39\xf3\xf8\x6f\x50\xb6\x76\x85\x72\xe0\xc1\x4a\x33\xdb\x43\x55\xdb\x27\x4d\x8f\xb1\x55\xa4\x21\xf1\x56\x7a\xca\xc4\x41\x4d\x41\x0e\x97\x54\xb6\x4b\x02\x15\x06\x4c\xfd\x84\x75\xf1\x32\x9c\x90\x0d\x9f\xfb\x5f\x9a\x77\xdd\x7b\x3c\xa2\x44\xdb\x55\x0f\x77\x56\x3d\xdc\xa6\xea\xe1\x2e\xba\x87\x3b\x2b\x1f\x87\x42\xa5\xc4\xbd\x3b\x6b\x1f\xee\xa2\x7e\xb8\xa9\xfe\x51\x96\x01\x18\x86\x9a\xf1\xdf\xa6\xaa\xed\x09\xd9\x13\x43\x4b\x84\xd6\xd4\x42\x3e\xcc\x9d\x1c\x88\x0b\x5c\xbd\xdb\x53\x50\x1b\x7d\xb0\xd2\x8f\x09\xb1\x17\x8c\x31\x0e\x61\x64\x8c\xec\x54\xd8\x77\xce\xc8\x51\xa9\xed\x5f\x8a\x33\xfe\xfa\x5f\xff\xf5\x7d\x6c\x91\x11\xa7\x0c\xdf\x79\x8a\x55\xe5\x1b\x82\x62\xc3\x3c\x22\x83\x9a\x76\xe2\x4b\xa5\x0c\x4f\xba\xec\x1b\x82\x3b\x63\xe9\xfc\x62\x1f\x49\x9a\x4e\xc0\xa6\x91\xa6\x54\xca\x25\x90\xe7\x4a\x21\x32\xf8\x5e\x9a\x7b\xdc\x38\x20\xbe\x53\x50\x16\xd1\x42\xeb\x65\xdf\x8a\x51\x86\x59\x39\x76\x7e\x05\x0d\xa8\xfb\x7d\x45\x6c\x30\x8d\x86\xde\xc7\x3e\x07\x6a\xda\x0d\x89\x4a\x79\x01\x4a\x86\x5c\x85\xc0\x54\x4d\x6c\x98\xab\x63\x33\x30\x0a\xce\xd4\xe2\xc0\xf5\x51\xae\x6b\xee\x37\x21\x93\x24\x84\x86\x48\xa2\xa2\x2a\x86\xc0\xb7\x2e\x51\x34\x0f\x42\xd8\xa2\xe5\x23\x5b\x14\xc9\x07\x79\x4c\xae\x1e\x7d\xa5\x90\x8d\x75\x1c\x9b\xf2\xb0\x46\xa9\x5c\x0f\x30\x9d\xa4\x03\x88\x1c\xb5\xd3\x7e\x39\x28\xbe\x28\x1b\xd8\xc3\x91\x30\x37\xa6\x06\x17\x1b\x8f\xe5\x9c\x4c\x68\xd5\xfc\xed\xc2\x1d\x87\x0b\x77\x9c\xbb\x55\x75\xf6\xcd\x91\x42\x39\xf3\x6f\xb5\xc1\xcb\x85\x7f\xbb\xce\xc0\xdd\x85\x81\xbb\x2d\x06\xee\x4d\x7d\x42\xf3\xbe\x6b\x7d\x7c\x0f\x03\xa6\x14\xf3\x60\xa8\x93\x81\x70\xfa\x14\x13\xbc\xe5\x17\x1b\x79\x09\xf8\x39\xe9\x29\x52\xf5\x88\xd9\xf6\xc6\x61\x94\x9d\x05\xf2\x4d\x19\xc5\xc2\x02\x3d\x31\x95\xba\xb5\x49\xac\xbf\x7f\x01\x1b\x36\x7b\x94\x3d\xa4\xc0\xd9\x20\xbd\x27\x49\x70\x88\x61\x50\x7b\x26\x7e\x44\xe8\x2c\x2b\xff\x96\x39\xa1\x7b\x10\xba\x3c\xc8\xdf\xed\xb0\x87\x89\xd9\x18\x23\x5c\xb4\x80\x5b\xfc\xae\xf4\x86\x18\xf1\x74\xb7\x99\x0c\x1d\x2b\x47\x65\xbc\x8e\x92\x44\xf2\xb9\x38\x2a\xa5\xbc\x34\x8a\x01\x3c\xe9\x0e\x53\x3a\x29\xa7\xd7\x3e\x67\x2f\x8b\x41\x91\x4c\x52\xf6\x23\x8f\xee\x2c\x7a\x38\xb3\x68\xe3\xd0\xc3\x99\x43\x0f\x17\x0e\x3d\xaf\xe8\x8a\xe0\x50\x72\x40\x46\xf1\xd9\x8f\x6e\x22\x37\xa6\xd4\x8d\xd5\xec\xe5\x3e\x05\xe3\xd7\x5f\xff\xf7\xdb\xee\xb7\xff\xfd\xe0\x01\x41\xdc\xf2\x77\xc5\xa9\x81\x1c\x74\x50\x57\x4e\xad\xdd\xdf\x35\x53\x28\x79\x92\xb3\x94\x42\xd5\xa5\x1a\x8f\xaa\x60\x0b\x7c\xc5\xdb\x34\x6a\x01\x40\x9d\x82\x04\x28\x41\xf5\x6b\x21\x9f\x9e\xc6\xc7\xe3\x20\x4c\x2c\xb9\xfb\xb3\x66\xfa\xd0\x9f\x35\xe9\xc8\x1f\x13\x61\x17\x3f\xae\xb6\xfe\x95\xdf\x0c\x1e\xd7\x07\x5c\xff\xc0\x8d\x35\xdf\x74\x63\xbd\x63\xf0\x1f\xdb\x8b\x17\xf3\xd0\x9b\x1f\x60\x99\xd9\x7a\x58\x67\x4c\x51\x6d\x06\x9d\xf7\x54\xc3\x74\xe8\x63\xa9\x54\x71\xc8\xc1\xa0\x6e\x35\x5a\x66\x23\x2f\xa1\x1a\xa0\x5a\x54\x75\x99\x42\x8b\xe7\xa1\x17\x95\x4d\xbe\xbe\x22\xbf\xc8\x1b\xb6\x53\x56\x87\x8b\xa3\x07\x5b\xab\xed\xa8\x42\x5e\x59\x6f\x6b\xb2\x1a\xf3\x5c\x04\x18\x07\x19\xc9\xeb\x5b\x13\xd4\xba\x7d\xb0\x56\x1e\xcb\x56\x7b\x1e\xf0\x3b\x72\x53\x9f\xcf\xbf\x64\xe1\x39\x13\xb7\x68\xd8\x5f\x48\x78\x9b\x82\xd9\x08\xd8\xae\x0e\xb8\x3a\x8e\xa2\x17\x3f\xa5\xe0\xa5\xa3\x0e\xa2\xdb\x64\x92\x00\xef\xde\xfe\xdd\x03\x29\xb8\xe1\x4a\x29\x1b\x74\xe2\xcf\x64\x72\x04\x19\x80\xf5\xc4\x79\x40\x15\xa8\x64\x83\x48\xbc\xc5\x26\x74\x2a\x59\x7a\xb6\xf4\x44\x2e\x36\xa3\x77\xf6\x6e\xf7\x97\x1b\x10\x30\x7f\x5d\xc0\x7c\xa7\xa1\xac\xcf\x59\x5f\xd9\x1f\x96\x91\xbb\xdd\x1c\x11\x4a\xa7\x55\x50\x6f\x77\x09\x35\x1c\xe7\x0d\x79\xf6\xcc\xbc\x04\x4e\x9a\x1d\xd2\xfe\x9b\x89\x7e\x92\x89\xde\x29\xc5\x94\x32\xee\x46\xa2\x1e\x96\x4e\xcb\x4a\x18\xf9\xc0\x9b\x74\x51\x49\x15\xaf\x4d\xb2\x28\x3d\xe7\xf3\x9a\x2a\x8a\x2d\xe8\xc9\xef\xf6\xde\x3b\x9c\x9c\xff\xcd\xdb\x3f\x4b\x07\x77\xf0\xf8\x7f\xa6\x15\xb9\xe6\x65\xe3\xf8\xbf\xb2\x5f\x72\x25\xdf\x99\x19\x2f\x59\x99\xbf\x70\xb2\x25\x03\x1c\x33\x9c\x0a\xa5\x35\x08\xdc\x99\x99\x7d\x42\xe8\x9e\x27\xe5\x51\xd7\x83\x3f\x95\xb0\xfa\x5a\x96\x30\x54\x7d\x07\xec\x0f\xe0\x20\x9f\x1a\xf6\xdf\x7e\x7a\xfb\xf5\xde\x4d\x6f\x04\x89\xcf\xdc\xe5\xfa\x39\x42\xde\xf0\xa0\xb8\x03\x7c\xf5\x4f\xa7\x40\xe1\xd8\x3f\xde\xf4\x74\xf6\x37\x3c\x9d\xbb\xd0\x73\xd7\xa4\x9e\xed\x0d\x63\x41\x63\x1b\x28\x94\xfa\xc1\x04\xde\xc9\xd0\xfa\x24\xde\x25\xdb\x30\x4f\x1b\xd9\x89\xb7\xbc\x60\xee\x10\x45\x7f\xb6\x75\x67\x3b\xd9\xdb\xee\xcf\x65\xd3\xfd\xd9\xe4\x93\xbb\x2a\xa0\x74\x2c\x20\xa1\x5e\xb0\x5f\x1e\x48\x42\x7b\xfd\x4c\xca\xc4\xe5\xb4\xfd\x8b\x89\xa2\xef\xe5\x12\x9f\x67\x5e\x9f\x10\x1b\x7f\x36\x4d\xea\x7b\x97\xe7\x23\x83\xf7\xfb\xef\xbf\xbe\x7d\x8f\x85\xb4\x4c\x1d\x01\x0a\x12\xca\x41\x57\x72\xcb\x2e\x11\xa7\x3a\xdf\x91\xed\xa8\xf8\x4a\x4e\x02\x07\xf6\x85\x58\x03\xa2\x3e\x2e\xba\x4c\xcb\xcc\x1b\x96\xa1\xf1\x85\x79\x60\x25\xb7\xfa\xba\xcc\x9e\x31\x8b\x20\x5c\x79\x37\x58\x66\x79\xbf\xd6\x5d\xc2\x9d\xf1\x05\x36\x40\xf7\x1b\x0a\xbc\x31\x3e\xe5\xbb\x13\x19\xce\x33\x5f\xa5\xa0\x7c\x26\x1d\x1c\x79\x89\xab\x8b\xec\x48\x98\x2d\x8c\xd8\x59\x1c\xf0\x24\x43\x24\x3b\x20\x55\x7b\x39\x63\xe0\xc7\xb6\x7a\xbf\xe5\xe8\x78\x29\x43\x43\xaa\xc7\x65\x46\x79\xeb\x98\x85\xfe\x70\xd8\x1a\x61\x0e\xeb\x11\xbe\x37\x82\xe3\xd7\xff\xfb\x28\x48\x6b\x00\xc0\x79\x49\x71\x9e\x49\x1d\x90\x37\xac\x0c\xca\x30\x86\x13\xf9\x24\x4b\x20\x9e\x21\x23\x18\xbe\x51\xf3\xb2\x78\x9c\x29\xb6\xac\x86\x68\xac\xc7\x6a\x53\x22\x92\x17\x37\x09\x25\xd0\x6d\xb5\x41\x15\xc9\xcb\x88\xaa\x80\xe3\x15\x29\xaf\x78\xd3\x0a\x36\xa9\x01\x0a\x21\x95\xf0\x72\xe9\xc7\xfb\x1b\xa2\xf1\x2d\x67\x76\x5d\xe5\x4f\xf7\x2d\xe3\x8d\x8c\x23\xac\x94\x91\xc4\xd2\x13\xce\x6d\x42\x0c\x43\x26\x9f\xb4\xc9\xec\x9b\xc3\x0d\x63\xb4\x56\xe0\x7a\x6a\x24\x00\xe6\x89\xb9\x92\xe4\x40\xb5\xf5\x24\xf8\xcc\x72\xac\x04\xb7\x62\x0e\x41\xf5\xfd\x58\xe2\xcb\xf9\xc1\xf7\x37\x06\xbe\x00\x47\x8a\x29\xe1\x4e\x87\x3b\xe7\xcd\xf3\x96\xb3\x9e\x39\x9c\x9c\xbe\xea\xe8\xc0\xfa\x23\x71\x2a\xca\x22\x6f\xe0\xe2\xdf\xa6\x8d\xc7\x58\x79\x26\xed\x5e\x59\x40\x1f\xb2\x90\xb7\x9d\x06\x1c\x07\x51\x6e\x79\x4f\x51\x48\x38\x52\xae\x81\x72\xc4\x27\x06\x25\x9e\x32\x80\x6c\xfc\x00\x40\x45\x0a\x45\xfb\x9a\x71\x7c\x8f\x43\xa9\xfc\xd2\xc8\x0b\xd8\x92\xc8\x32\x1b\xba\xbe\x08\x08\x8a\x09\x27\x09\x42\x29\x2d\x50\x96\x80\x66\x4d\xe2\xd3\x6b\xa4\x58\x11\xac\x1d\x0b\x49\x8e\x8e\x9a\x36\x02\x83\x19\x5f\x32\xb5\xd2\xb4\x27\xef\x6f\x3d\xa7\x4b\x08\x0b\xcb\x2e\x57\xa8\x23\xe6\x30\x2f\x25\x0c\x55\x89\x3b\xf3\x31\xe2\x38\x5f\x94\x6d\xbe\x54\x32\x8c\x66\x4e\xef\x6f\x0e\xb9\xc1\x1b\x71\x7b\x4d\x94\x6a\x45\x78\x92\x0a\x22\x44\x65\x54\x8e\xf0\xa2\x67\x68\x65\x0b\xb7\x61\x0e\xc5\x91\x88\xbc\xbf\x65\xeb\x70\x2a\x72\xdc\xbc\xd9\x9f\xef\xb5\x97\x58\xca\xcc\x42\x2d\x07\x7b\xc9\x43\x04\xf1\xdb\xcf\x3f\xfd\xd7\x7e\xf7\xed\x86\x8d\xf2\x01\x22\xf7\x86\x91\x61\xd6\xd9\x6b\xde\xc0\xbf\xf0\x6c\x78\x5d\x6b\xf5\xc9\x82\x29\x65\x0b\xab\x03\x4b\x1f\xa8\x19\x75\x5d\xa1\x81\x75\xe4\x67\x2e\x9b\x06\x08\x44\x80\x58\x34\xd5\x1b\x74\xb7\xa4\xc2\xbd\x9d\x38\x1c\xda\xc9\x71\x50\x32\x50\x2e\xac\xdf\x61\x96\x5f\x37\x40\xfc\xad\x58\x4b\xae\x1d\xce\x43\x0d\xca\x7c\xe2\xf0\x41\xf4\x25\xfa\x72\xcd\x12\xea\x20\xec\xf9\xf6\xbe\x1d\x7a\x75\x75\x97\xf0\x35\x1f\xca\xe7\x48\xe2\x31\x4e\x81\x85\xc4\x0b\xf1\x10\x31\x25\xaf\x71\x1b\x15\x17\xf1\x71\xf9\x1a\x7e\x00\x22\xed\xaf\x82\x01\xac\x1f\xb3\xb0\xba\xf8\xcc\x02\xdd\x66\x29\xa8\x8c\xf9\x4e\x29\x42\x55\xca\xe5\xc6\xc1\x25\xc2\x28\x5f\xc1\x0b\xc0\x6e\x75\x85\x84\x49\xae\x9e\xea\x73\x3a\xb9\x7a\xc8\xef\x6f\xc8\xcb\x56\x4f\xae\x5e\x85\x14\xc8\xdb\x91\x5a\xd0\xa1\xde\x8a\x6b\x94\xba\x56\x36\x53\x72\x0d\x24\xce\x22\xf8\xe6\x17\x80\xf6\x72\x78\x6c\xab\xe2\xef\x37\x42\x3c\x6f\x6b\x0b\xa9\x7b\x17\xc9\x42\xc3\x1c\x61\x52\x98\xb8\x64\xc4\xc6\x95\x5d\xa4\xd4\x94\x2d\xa4\x11\x47\x9d\xa4\x05\x64\x36\xcb\x7b\xca\x2a\x46\x0a\x12\x69\xf9\x4a\x1c\x8b\x65\x51\x20\xf1\x95\x12\x44\x23\xd5\x98\x28\xb3\x7e\xc0\x71\xa1\x9d\xe0\x33\xa1\x2a\x20\x0e\x9b\x17\x09\xd8\x92\x00\x44\x56\xd5\xdc\xa6\xb3\xeb\xe5\x24\x2a\x7a\x8f\x10\xeb\x14\x67\x00\x20\xca\x84\x71\x08\x1e\x6b\xc5\xfd\x89\x6a\x3a\x51\x04\x32\x56\x60\xa4\x29\x1c\x98\x2a\x67\x47\x09\x50\xe1\x59\x8e\x81\xaa\x37\x3f\xba\xb9\x3b\xc0\xe5\xd5\x47\x17\x5d\xc7\xeb\x88\x50\x41\xba\xee\x68\xd8\x81\xed\x0b\x67\x8a\x9c\xd4\xb8\xab\x0d\xf6\x77\x08\x72\x76\xa8\xf8\xa6\x6a\x25\x23\x45\x84\x57\x13\x20\x37\x27\x54\x81\x2e\xa2\x2f\x3b\xbf\xcd\xc7\x62\x9a\xe8\xc0\x0b\x6f\x00\x6d\x08\x1c\x4b\x92\xb5\x55\xbf\x0b\xd2\x21\x00\xb7\x3b\x89\x9d\x63\xa7\x31\x38\x95\x2c\x53\x5d\x2a\x8b\x90\x1d\x1b\x1d\x67\xa3\x93\xac\x9d\xf5\x15\x63\xaa\x0f\x24\x06\x14\xca\x0c\x10\x86\xcf\xef\x8e\x2f\x96\x32\x98\xeb\x6b\x23\xcf\x26\x92\x1b\x05\x9f\x20\xf4\x75\x3a\x61\xae\x34\x10\xb7\xcf\x94\x75\x74\x38\x94\x31\x8d\x86\xf8\xba\x4d\x3a\xd0\xbd\xf3\x4b\xb9\xe9\x28\xf1\x62\x2e\x87\x94\x72\x7d\x4a\xc4\x2d\x0f\x56\x7a\x03\xf2\x97\x3d\xd5\x64\x9e\x10\x39\x43\x73\x80\xc8\x06\x20\xfa\xcb\x85\xba\xd5\xe6\xce\x5c\x94\xaf\xd7\xfc\x94\xaa\x12\xb8\x95\xbd\x9e\x42\x69\x0f\x97\xac\x01\x3a\x6c\xc7\x35\x0a\x35\x90\xaf\x99\x7c\xc9\x8e\x24\x67\x62\xa0\xd9\xc5\x62\x5f\x6a\x30\x1f\x95\x92\xa0\xb5\x0a\xc2\xed\xd4\x9a\x49\xf8\xf2\x1f\x96\x15\xac\xb5\x32\xd4\x1e\xe9\xad\xf4\x28\x8d\x7c\xa4\x84\x3a\xb4\x0a\xc3\x41\x35\x07\xd5\x13\x52\x89\x7c\x29\xc4\xad\xaa\x2e\x52\xab\x8a\xda\x22\x43\x43\xa2\x8a\x6f\x70\x70\x41\x76\x90\x44\x89\x02\xe7\x53\xa6\x16\x94\xcc\x85\x10\xb0\x15\x83\x85\x66\xba\xd4\x83\xdc\xbf\xe9\x37\xa8\x3b\xf8\x92\x3a\x74\x9f\x84\x88\x76\x92\x0f\x8f\x05\xc1\xfd\xfd\x46\x7c\xee\x6d\x96\xe3\xe1\x7f\x55\xd7\x28\x47\x3c\x42\x33\x45\x4e\x14\x39\xc3\x17\x07\x42\xa1\x05\xd1\xfe\x07\xaa\x09\x8b\x0b\xb1\x7e\xf0\x6e\xf3\xc1\xd0\x98\x04\x68\x4e\x4a\xd9\x3e\x93\x6f\x91\x3c\x67\xf3\x7d\x53\x2b\xb1\x5a\xf6\xca\x56\xc2\x39\x7b\x80\x6a\x81\xd4\x12\xab\x21\x72\x54\x93\x83\x1d\xe5\xb9\x11\xaa\xea\xa9\xaa\x96\x4d\xad\x91\xa1\xaa\x42\x7c\x62\xe2\x70\x54\x1e\xd6\x48\x62\x5e\x70\x20\x84\xb7\xc5\x0a\x20\xb8\x9c\x9a\xea\x79\xbc\x0b\xd4\x0c\x23\x2b\x8c\x6b\x31\x82\xbd\xa4\x94\x8e\x82\xb4\x21\xb5\x96\x25\xff\x29\x23\xff\x11\xca\xb9\x38\xd8\xcf\x2a\x4d\x46\xeb\x95\xd5\x7a\x4d\xf5\x0b\xab\x85\x51\x60\x86\x34\x56\x43\x15\xd1\x7f\x43\x1d\x38\x7d\xd3\x67\x01\x9a\x04\xc3\x27\x73\x86\xa7\x54\x5e\x57\x05\x03\xc9\xde\x34\xb5\xd4\x8d\x01\x99\x67\x5b\xb4\xa6\x3a\xb4\x75\xb3\x47\xce\x7a\x64\x3d\x9f\xc9\x13\x6f\x43\x03\xf6\x93\x5f\x82\xb6\x32\x86\xd7\x4a\x5c\xe2\x0b\xb5\xc2\x03\x32\x3f\x2c\x07\xde\xd9\xc0\x83\xcf\xe5\xd7\x0c\x3b\x4d\x39\x4f\x34\xdf\xfd\x9a\x4c\x8f\xa7\x96\xc8\x67\xcc\x7d\x22\x8e\x6a\xeb\x63\xc2\xc1\xa4\xbf\x44\x35\xff\x95\x61\x70\x1c\xf4\xd3\x2b\xed\x8c\xd4\xa3\xec\x25\x65\x8a\x40\xb8\x6d\x48\xdb\x22\x5c\x75\x1c\x82\xd1\x20\x8a\xa9\xc9\x9f\xa8\xaa\x8d\xe8\xc3\x11\x10\x52\xb9\xc5\x5d\x54\xbe\x39\x58\x69\xb6\x54\xad\x00\xa2\xcc\x2d\xaa\x52\xa7\xd6\x6b\x54\x0e\x16\x49\xf2\x97\xac\x72\x50\xdb\x21\x79\xc8\xd4\x62\x1e\x74\xae\xe0\xd2\x0a\xe1\xc2\x54\x73\xc1\x55\xa1\xa8\x44\x9c\x43\xdf\xc0\x48\x80\x5f\xe8\x49\xb6\xf0\x25\xc5\x2f\xc8\x13\x13\xa8\xb4\x80\x64\x36\x6c\x2a\x73\xc5\xc7\x7f\xa4\xf3\x35\xdb\xb2\x6f\x30\x74\x81\x20\x26\x63\x35\xc4\x29\x58\x2c\x56\xa1\x9c\xe4\xe4\xa8\xb5\xf8\x25\x91\x87\xdd\x9c\x2a\xd0\x20\x9a\x85\xf0\x21\x63\xd1\x37\xa1\x96\x0a\x3c\x10\x03\x61\x57\xeb\x14\xa8\xc5\x66\xc0\xd0\x2d\xc2\x4f\x4f\xf5\xc4\xda\x02\x5c\xa6\xed\x9b\x20\xc5\x0f\xdc\xa9\xf5\x0e\x7c\xe2\xca\xc9\x51\x52\xb1\x18\x02\x58\xd1\x63\x9c\xe8\xe7\xe3\xc3\x19\x6d\x22\x79\xcb\x8d\x57\x08\x79\x19\x63\xd7\xc7\xb0\x3b\xa1\x62\xcf\x3c\xeb\x74\x55\xa1\xec\xd1\xa0\x0d\xeb\x17\x41\xda\x0d\x6c\x69\x29\x6e\x5b\x30\xcd\x49\x8d\x48\x29\x2e\x50\x89\x61\x57\xa9\x21\x64\xd2\x6e\x52\x61\x1a\x9c\x12\x4c\x68\x7b\xa6\x9e\x04\x2a\xe4\x66\x39\x3d\xa8\x40\xdf\xf6\x2a\xc6\x30\xad\x99\xf8\x14\x94\xad\x1d\x85\x18\x11\x09\x1c\xe2\x33\x17\x6a\xaa\x41\x15\x64\x90\x2d\x75\x4f\x59\x57\x43\xcf\x25\x15\xd5\x44\xc7\xb6\x8d\xcf\x85\x8a\x5f\xb6\x41\x5f\xaf\xef\x69\xe4\x4b\xc5\x06\x3f\xe0\xea\x72\x5e\x02\xe0\x73\x01\x5a\xab\xaa\x21\x52\x5c\xa4\x0a\x94\xd7\x1c\xf4\x9f\x2d\x59\xaf\xfc\xce\xe7\xf5\x70\x61\xeb\xd7\x21\x35\xc9\x7c\x90\xd9\x53\x89\xd9\x65\xaa\xa9\x81\xfd\x20\x90\x3c\xfb\xb2\xd7\xbb\x8b\x3e\xe1\x28\xa5\x4a\x01\x59\x9c\x02\x85\x72\x30\x4f\xdd\xbd\x03\xe0\x08\xb2\x3a\x40\xd7\x08\x96\x7e\x87\x42\xd1\x8a\x04\x80\x7a\x52\xe2\x8e\x49\x10\xad\x2e\xe7\x6d\xbf\x5e\xd7\x6b\x56\x6e\x12\x42\xb2\x87\x73\xca\xfd\x8a\x1c\xb5\x09\xc9\x9a\x83\x68\x0c\xac\x8d\x70\xde\xe3\x2f\x40\x0d\x7c\x28\xcb\x8f\x51\xea\x83\x59\x7e\x28\x63\x5b\x3c\xc5\xf6\x14\x81\x2c\x1f\x47\x7c\x79\x9f\x28\xaa\x86\x91\x5b\xde\xb1\xaa\x2a\x83\x95\x9d\x56\x13\x32\x47\xb2\x6a\x7a\x50\x8d\xae\x51\xaa\x20\x74\x5a\xa9\xaa\x3d\x25\xb3\xb1\xcb\x48\xa9\xd0\xe6\xbd\x8f\x7b\x4a\x81\x3c\xce\x41\x90\xad\x47\xe5\x75\xa6\xd2\x8a\xea\x7b\x14\x45\xd5\x26\x6a\x5e\x9c\x8a\x61\x1d\xf7\x18\x5e\xfa\x8e\x57\x92\x70\x62\x4a\x4d\x85\x2d\x63\x33\x29\x1c\xf4\x6f\x20\xd4\x42\x38\x94\xb6\xb3\x14\x8a\x5a\x74\x25\x31\x32\xaa\xda\x53\xd4\xa9\x8a\x42\xa5\x54\x4a\xa1\x50\x81\xac\xf5\x39\xef\xe6\x6d\x75\x05\x90\x8d\x89\x92\x28\x29\xb0\xc7\x51\x67\x5e\x42\x35\x72\x29\x8e\x9a\xa8\xf1\x11\x42\x40\xf2\xe5\xb6\x1a\x3c\x55\x52\x8b\xea\x7d\x69\x58\x0e\x79\x26\x5f\x45\x75\xed\x9c\x74\x79\x46\x1e\x2a\xc5\x50\xf7\x96\xfd\x50\xb0\x6b\x15\x54\x48\x17\xd5\xd2\xe4\xa0\x12\x06\x41\x08\x55\x94\x6c\x53\x12\x64\x4a\xd2\xeb\xda\x43\x96\x97\x42\x49\x17\x88\x4f\x62\x95\x38\xad\x25\x20\xd8\xa7\xf4\x2f\x25\xf1\x6b\xa4\x9e\xa2\xa7\x1a\x2a\x0f\xa5\xc4\xe3\xd5\xe3\x39\x6d\x78\x7c\x90\x3e\x8f\xff\x79\x77\x10\xc3\xd6\x96\xfe\x26\xb4\x61\x07\x8a\x9e\xa8\x7a\x48\xe4\x25\x62\x4a\x6f\xd9\x46\x56\xe2\x2d\xf8\x10\xde\x3a\x9d\xec\x3b\x36\x9b\x81\x7a\xcb\x7a\xc6\xa0\x3e\xa0\xf2\x34\x4a\x10\xcb\xab\x98\x1a\x9f\x27\x08\xe3\x1b\x19\x32\xba\x03\xf7\x19\x11\x79\xad\xc7\x7a\x15\xaa\x51\x95\xf4\xab\xee\xdf\x67\x7d\x77\x55\xbf\xbd\xf6\xe5\x5c\x01\x1b\x38\x8b\x5c\xcb\x15\x13\x36\x31\x5d\xc2\x15\xec\x94\x8f\x21\x78\x01\xb9\x71\x49\x29\x96\x87\x0c\xe9\xde\x1a\x56\x2d\x24\x3f\x23\xd9\x54\x55\x59\x21\x95\x8f\x6a\x88\x74\xfb\xd1\x0b\xa2\xd9\xba\xbf\x41\x56\x9d\xe0\x44\x39\x2d\xb3\xed\x8c\x7f\xc5\x76\x60\x6a\x9e\x6f\x24\x23\xca\xd2\x90\x5d\xb4\x35\xe4\xed\x0a\x55\x75\x41\x95\x0c\x72\x24\x16\xac\xa3\xaa\x86\xb8\xca\x31\x86\x64\x1a\x18\xc1\x0d\x49\x1b\x5c\x0d\x50\xf4\xd2\x1b\x97\xa1\x91\xcd\x73\x92\x79\x6e\x83\x37\x1d\x46\x85\x4e\x45\x53\x2a\x98\xa1\xea\x39\x52\x9c\x1a\x56\x14\x45\x8d\x84\x42\xad\x55\xfd\xd4\x81\x46\xf7\x64\x3b\x5f\x0d\xd3\x66\x1e\x97\x63\x47\x5d\xc9\x09\xfb\xdb\x48\x04\x22\xd0\xce\x59\x5f\x94\x4d\x97\x8e\xf1\xe8\x6c\xe3\x5b\x72\xfd\x52\x49\x42\xb3\x4e\x29\x97\x00\xb9\xd7\x58\xed\xeb\x67\x30\x2c\x75\xc9\xdf\x19\x97\xb1\x05\x02\xb5\x5c\x1d\xb6\xde\xa7\xab\x1d\x39\xe0\x38\x90\x80\x64\x36\xd7\x1a\x15\xaf\xca\x49\x59\x45\x42\x74\xd8\xdb\xe2\x8b\x9b\x5f\x1f\xf3\xb0\xbc\x7f\x15\x42\xc2\x92\x6b\xcb\x6c\x5d\xf5\x74\x91\xbd\x9c\x9f\xee\x7b\xb5\xe5\x0a\xce\xdb\x2a\x3f\x4c\x3a\x6c\xf0\xbf\x77\x43\x76\xaa\x5b\x6e\x61\xf3\x3a\x46\x3e\xa4\xa6\xbf\xf4\x8c\xc5\xb3\xb3\x45\x80\x91\x1f\x64\xfa\x5b\x1b\x38\x3f\x97\xc7\xd6\x34\x02\xf5\x9e\x26\xf4\xee\x83\x61\xe1\x6a\x33\x02\x35\x33\x38\x32\x76\x58\x59\x6f\x96\x1c\x8f\x24\x24\x3e\xec\x61\x32\x24\xf2\x2a\x70\x24\xe2\x53\x7c\x55\x12\xee\x7b\x7d\x95\x81\x3a\x8f\x1d\xeb\x0a\xd3\xb6\x4a\x7a\x56\x7d\x64\xcf\x66\xd3\xa8\x78\xaa\xdc\xbf\x69\xa9\x32\xd0\x57\x35\xce\x83\x5a\x32\x80\x12\xd2\x45\x10\x8e\x16\x59\xe2\x33\x8c\xff\xd8\x70\x94\x97\x9a\x79\x0c\x0c\x0d\x58\x5f\xf8\x5a\x67\xbd\x41\xff\xde\xbf\xa6\xa1\xee\xc6\xb0\xf1\x8c\x05\xad\x32\x7e\x4c\x11\x8a\x44\x8e\x11\x01\x3d\x51\x2d\xa8\xa0\x32\x3a\x3a\x4a\xa1\xaa\x4d\x87\x2f\xd0\x5b\xc3\x8e\x82\x0a\xd5\x51\x65\x84\x80\x7d\x2e\x14\x24\x3e\x21\x85\x41\x90\x3c\x4e\x13\x53\x2e\x10\xc8\x31\x73\xd7\x0e\x1b\x6b\xa5\x80\x31\x12\xb5\x88\x89\xd5\x94\x64\x2e\x5f\x12\xc5\xa6\xe6\x6f\x2b\x6a\xf7\x61\xcf\x30\x0d\xd7\xd1\x84\x3f\x58\xbb\xfb\xdd\xf1\xa7\x5f\xfe\xb2\x7b\x14\x9b\x8a\x67\xc6\xfe\x19\x78\x90\x0f\xae\xbc\xf2\x3c\x25\x02\x9f\xf8\x79\xe3\x5c\x46\xae\x81\xaf\xfb\x38\x1e\x03\x6d\x60\x6a\xca\x04\x3c\x7d\x79\xd0\xd3\xcc\xd3\x8c\xcb\x2b\xbf\xbf\x29\x89\x96\x0f\x9c\x9e\xb9\xbc\x6e\xf9\x03\x06\x5d\x70\xe5\x75\xb1\xa6\x92\xfe\x8e\x8e\x5c\x3f\x6f\xa9\x07\x2e\xef\x6f\x8e\x8b\x2d\xd0\x72\x6a\x7d\xd7\x6e\xfb\xc0\x68\x59\xd9\xe2\x78\xa8\x3d\x16\x66\x71\x9e\xd9\x07\x77\xd8\x98\xd2\x26\xaa\xe4\x2b\x3f\xe7\xd7\x6b\x57\xb6\xfc\xc6\xae\x81\x42\x87\x7e\xa8\xb3\x01\xe2\x9c\x6e\x00\x3c\x1b\x98\xe0\xb3\xb6\xef\x15\x68\x62\xae\xa8\x49\xf3\x2a\x70\x3d\xd9\x3c\x66\x79\x4d\x07\xe6\xab\xce\xce\xa8\xea\xb4\xd4\x21\xad\x47\x82\x23\xbc\xcd\x6b\xef\x6f\x0d\x3d\x3b\x38\xe6\x93\x72\xe0\x4d\xc8\xbd\xb6\x89\x56\xf7\x9a\x1f\x9d\xd3\xb7\x9f\x7e\xdb\x3d\x8e\x04\x55\x06\x0e\x63\x02\x69\x66\x8f\xb0\xc6\xb1\x4f\x1e\xf0\x5a\x50\xf9\xa6\xf9\x9e\xfd\x50\x66\xe9\x9e\xbd\xbb\x7e\x96\x78\x71\x7e\x1c\xea\xd9\x1f\xd1\x0f\x72\x20\xcf\x97\xbf\x9d\x3c\xdf\x21\x6d\x0a\x36\x4e\x85\x1a\x2f\x1c\x4c\xb8\x91\x6f\x71\x90\x43\xa2\xca\xb2\xa7\x6c\x7b\x5e\x40\xdd\x82\x24\x2a\xfa\x8c\xea\xc6\xac\x1c\xbb\xa6\x36\x98\xad\xc9\x71\x9d\xf8\xa1\xa8\xd5\xfe\x0a\x96\x71\x25\xf5\xc3\xad\xd4\x0d\xfa\x74\x59\x21\x79\x66\x6c\x2d\xf3\x51\xdf\xaa\x92\xc9\x20\x20\xa2\xca\xac\x04\x5f\x03\x6d\x62\xaa\x75\x71\x76\xa7\x7a\xe2\x0b\xd2\x6e\x22\x4d\xc1\x22\x44\x55\x04\xa0\x77\x81\x42\xc4\x8e\xd9\xd3\xdc\x45\x44\xfa\xee\x5b\xb1\xbe\x3c\x98\x27\x02\x35\x2c\x9c\x4f\x80\xa2\xaa\x97\x63\x7f\x3d\xb6\x0d\xdb\xaa\x79\x8e\x42\x7b\xe1\x44\x2c\xaa\xdb\xe7\xb0\xec\x9d\x23\x0e\xcf\x98\xba\xc7\x45\x15\x88\xff\x2e\x45\x33\x4c\x01\xa7\x1d\x4f\x09\x90\xfd\x20\xcf\x71\xe2\x55\xe8\xf8\x1e\xdd\x27\x75\xa5\x40\x57\x44\x1e\x71\x65\xd4\x16\xb0\x93\x97\xba\x83\xf3\xc0\x98\x0f\x1e\xe3\x3b\xfe\xed\xd9\x85\x8f\xb2\xaa\x5c\x3f\x43\xf7\x98\xa2\xdc\xf2\x7c\xca\x71\x32\x91\x07\x3e\x04\xca\xb1\xee\x29\x62\x32\xa8\x31\x61\xdf\x1f\x89\x42\xf3\xd1\xb4\x16\xdf\x2c\x99\x6f\x51\xe5\x6b\xe9\x6b\x99\x06\x25\x28\x1c\x45\xb7\x95\x23\xa6\x31\xdb\x78\x58\x33\x62\x73\xb2\x51\xde\xaa\x4f\xaf\x9d\x81\xb0\x23\x2b\x11\x08\x95\xd8\x5f\x93\x48\x29\x42\x6f\x6e\x70\xb5\x90\x92\xa9\x7a\x35\x50\xb2\xf9\xde\x2c\x12\x59\x66\x5f\x2d\x49\x1f\x53\x2d\x95\x38\x2f\x5d\x73\x32\x95\x58\xad\xd9\xdf\xc3\x7a\xad\xbd\xcb\xba\x9c\x56\xd6\xdf\xe5\xe6\x2f\xb3\xb6\x38\x7d\xc1\x4b\xa3\x8c\x1c\xc9\xe9\x39\x53\x08\x37\x36\x48\xee\x22\xe5\xbb\xf1\x1e\xae\xf3\x53\xbe\x97\x9f\xaa\x2d\xba\x38\xa3\xf7\xd3\x6c\x1a\x42\x19\x09\x00\xb3\x9a\xc5\x22\xca\xb2\x36\xc0\xcf\x73\x8a\x5b\xdc\xf2\xe2\xb2\x53\x88\xdb\x91\x4a\x9d\x45\xc7\xf3\x25\x01\xc6\xcb\xb9\x1d\xd8\x3c\x89\x80\x2c\x40\x46\xc7\x16\x12\xca\xb8\x3b\xcb\xa4\x42\xbe\xa0\xc0\x89\x74\xb1\x82\x29\x15\xa0\xee\x5c\x61\x81\xe1\x23\x16\x98\x28\x37\x80\x81\xb6\x98\x50\xc6\x63\xa4\x86\xd3\x8d\xd8\x26\xb2\x0f\xa0\x62\x2d\xa1\xb8\x07\x7f\x01\x52\x49\xf5\xb8\xd8\xc1\x66\x28\x00\x69\xa6\x0b\x24\xa7\x96\x3f\x95\x12\xe6\xe3\x12\xb8\xa8\xb9\x74\xb4\x7d\x01\x5c\x9e\xba\xea\x83\x6f\x9a\xa8\x5b\x5c\xb0\x33\x44\x61\x00\xa7\xce\x73\x99\x76\x69\x01\x6e\x0d\xa7\xe1\xa5\xbb\xa3\xda\x81\xca\xd1\x5f\xb9\x6e\x40\x84\x77\x39\xb0\xf2\xfc\x44\xb2\x99\x12\xb1\x3d\xde\x45\x9b\x9b\x88\xb6\xa5\x7b\x4d\xa4\xe6\xf3\x20\x23\xd3\x9f\xa3\x5d\xa9\x1c\xc3\x76\xf3\xdc\x5f\xa0\xa9\x95\x93\x90\xa9\x47\x6d\x06\x2b\x4d\xac\x26\xd8\x67\x75\xae\x87\xc5\x24\x14\x0a\x34\x14\x3f\x96\xbd\xb5\x09\x1b\xf0\xc9\xa7\xf9\xa9\x68\x40\x4e\x99\xbb\xb2\x58\x4c\x56\xe9\xe3\xb8\x89\xe3\x66\xf4\x7a\xdf\xe1\x23\xf4\x86\xa3\x23\xe5\x45\xa5\x6e\x68\xd5\x37\xb9\x2f\x13\x87\xea\x98\x5a\xba\x82\x94\x62\xeb\xfe\xfd\xad\x02\xa0\x0a\x9e\xc9\x47\x8c\x3d\xe0\x70\xf2\x52\x8d\x3e\xef\x11\xac\x78\x27\x5f\x58\x27\x71\xac\x8e\x0c\x3a\xca\x57\xb6\x72\x34\xa4\x7d\x24\xf6\x75\x40\xf9\xfe\xb5\x52\xa8\x6a\xc2\xc6\xf4\x92\x29\x61\xd5\x32\x3f\x4d\xe4\xa5\xbf\xdc\x71\x17\x20\x44\x36\x39\xd8\xd2\x8f\x90\x83\x49\x05\xca\x86\x29\xf0\x83\xe4\x46\xb2\xfc\xf6\x8b\x9d\xa0\xfb\xc8\xf1\xb7\x9f\xee\xce\x3c\x42\x29\x06\x35\x4f\xc2\x8a\xdf\xd7\x64\xce\xb3\x02\x07\xc8\x05\x93\xae\xf0\xaa\x0a\xf0\x7f\x8e\x54\x03\xce\x1e\x0d\x17\x39\x2c\x72\x05\xf9\x0a\x97\x9d\x90\xad\x32\x64\x2b\x50\xab\x31\xaa\xda\xee\xa9\xe4\x65\x6a\x28\xbc\x78\xbc\x75\xdd\x2a\x77\x7e\x31\x37\xe2\x0c\x4f\xd9\x02\x8f\xe8\xb6\xd1\x89\x6c\xed\x3c\x8e\xfd\xb8\x7f\x00\xef\xdb\xa8\x34\x44\x28\x59\x22\x98\xf1\xe0\x5f\x22\xc9\x90\xa8\xc4\xf9\xd0\x61\x23\x4b\x5e\x2a\xfc\x4b\xe4\x28\x04\xe3\xc5\x2f\xa4\x20\x96\x37\xfc\xa5\xcc\xc5\xe7\xfd\x2b\x4e\x32\x39\x50\xc9\xf3\xe1\x62\x84\xea\xda\x5d\xd3\x3a\xdc\x58\xc9\x0b\x60\xaf\x38\x2a\xaf\x0c\x43\xdb\x6a\x2b\xde\x05\x33\xfb\xce\x98\x8c\xfd\xee\xdb\x9d\x14\x66\xf9\xea\x56\x1a\x02\xac\xed\xba\x96\x28\xe9\x66\xb0\x5f\xbe\x15\xec\x27\x37\x7d\x6d\x37\x70\xd1\xf3\x5a\x3d\x91\x30\x20\xf1\x01\xda\xb1\xe9\x36\x1c\x7a\x1a\xbc\x99\x94\xa2\x1a\xc2\x00\x08\xa5\xf9\x14\x10\x43\x65\x8d\x6d\xa8\x54\x4b\xe8\xa5\xc5\x73\xd4\x50\x07\x94\xb3\x79\x8f\xad\x3f\xe4\x29\x94\x30\x7e\x60\xa2\x94\xd8\xc5\xca\xf7\xaf\x4c\x70\x3b\x0c\x71\x99\x1b\x40\x5f\x57\x9e\x22\xb6\xee\xad\x34\x5f\x12\xae\x08\xcd\x89\xf3\x21\xc7\x69\xdf\x53\x46\x58\x83\x95\xf6\xfb\x58\xf9\xdd\xb4\x70\x9f\xb1\x05\x46\xba\xda\xf6\x89\x96\xdb\x77\xae\x9b\xf4\x44\x65\x57\x4e\xa1\xda\x66\xe4\xe0\xf6\x86\xfa\x73\xa3\x22\x1b\xd3\x1f\xc8\x23\x62\x64\xb9\xa1\xc4\xd8\x50\x5a\x05\x9b\xf5\x0d\x25\x81\x89\xb3\x35\xff\x45\x75\x88\x2b\xd3\xaf\x76\xbe\x15\x1e\xf1\x6c\x21\xc0\x8d\xe7\xca\xe4\x67\x8a\x6c\x05\x26\x35\x51\xce\x62\xe5\xf2\xbd\xad\xc3\x46\x6d\x12\x01\xc2\xda\x2c\xb8\xad\xab\x46\x40\x72\x0c\xb4\xe0\x48\x46\x04\xf0\x2b\x31\xef\x92\x0b\x11\xa0\xf2\xbb\x88\xe0\xa7\xdf\x7e\xff\xf9\xbf\x7e\xde\xef\x7e\xbf\x17\xb0\xd3\x0f\x1b\x67\xa5\x71\xba\x15\xcc\x71\xb8\x2f\xe6\x15\x4f\x2c\xad\x90\x80\x04\x13\x5b\xfb\xc5\xb8\x5d\xf8\x00\x1f\xc8\xa3\x33\xc5\x8b\xfd\x82\xfc\x7c\x8a\x54\x05\x72\x46\x8d\x9c\xa2\x6a\x32\xd4\x82\x65\x82\x19\x9f\x92\xb3\x3b\x33\x95\x7c\xa9\x79\x23\xbd\x13\x58\xcb\x56\x88\x83\x25\x5b\x41\x54\xf9\xfb\x9b\x50\x0c\x15\xc7\x34\x21\xbf\x14\x4a\x21\x59\x62\x81\x74\x7b\xfb\x37\xdc\x64\x9d\x72\x8b\x75\xc6\x1b\xac\xf3\x00\xa4\x32\x1d\xa7\x9c\x82\xc3\x61\xcd\xb8\x33\xe8\x5d\xa1\x2c\x71\xf0\x08\x45\xe1\x86\x5c\x87\xb3\x75\xc9\x21\x39\xf8\x0f\x4d\x77\x0a\x5d\x22\x5f\xe3\xe0\xf7\xe6\x68\x16\x95\xef\xa8\x60\xd7\x1b\xf5\x1f\x52\x29\xd6\xc1\x4a\xdf\x11\x98\xc1\xfa\x5b\x30\xe7\x5b\x55\xa1\x42\x8e\x38\x5b\x29\x8e\x5a\x6a\xc8\x1d\xc6\x75\xb7\xcc\x81\x09\xcd\x1e\xe7\xa8\xaa\x25\x8b\x0c\xc1\x52\x22\x50\x03\x5c\x73\xc8\x73\xb8\x99\x8c\xb0\x50\x5c\x85\x7b\x54\xc1\x43\x0e\x0f\xed\x1d\x95\x90\x47\xef\xc3\x46\xb9\x58\xe5\x94\x6f\x04\x4d\xdc\xbf\x6a\xee\xe2\xa0\xd9\x64\xf4\xf2\xfc\x4e\xd6\xc7\x77\xf1\xd1\xd3\x3b\x30\x69\xbf\x62\xd2\x72\x6b\x6f\x3e\x1e\xd8\x46\x98\x39\x51\x43\x24\x22\x75\x0c\xc3\x96\x12\x95\x50\x54\x09\x81\x53\xfb\x51\x95\x25\xaa\x2d\xcf\xef\x71\xb8\xa9\x47\xaa\xa2\xba\xdc\xae\xf2\xe6\x6b\x9b\xfd\xde\x78\xf3\x9b\x61\x77\xf7\x18\x8d\x9a\xca\x66\x90\xc6\x95\xa4\x8e\x87\xad\x0b\x37\x93\x3a\xea\x1b\x8e\xc4\x40\x76\x0e\xa5\xee\x82\x2a\x6a\xc1\xfc\xce\x18\x20\x8f\xaa\xa2\x11\x17\x20\x6e\x16\x8b\xff\xc0\x56\x57\xc8\xb2\x77\xba\xd8\x49\x9c\x79\x39\x19\xf6\x60\x80\x3b\xcf\x37\xc7\xae\xe7\xc2\x8a\x01\x5e\x39\x02\x66\xc5\xc0\x88\x65\xf8\x0a\x03\x91\xb4\x9d\x87\x92\x29\x09\x72\xf4\x87\x56\x29\xd9\xfe\x0c\x12\xb4\xc8\xfb\xd7\x44\x2d\x0d\x6d\x27\xe6\x83\xe8\xad\x75\x91\x2c\x63\xee\xe5\x37\x6c\x66\xf0\x8d\x5d\xc8\x8f\x48\xfa\xb0\xfb\xe5\xaf\x8f\xc6\x86\x25\x4a\x21\xea\xc4\x89\xc4\x5d\xa1\x22\xc0\x2b\xbe\xe4\xc5\xe0\x46\x92\xdb\xdc\x08\xe6\xe0\xa8\x99\x9f\x08\xfe\x61\x92\x7d\x2b\x8e\x58\xc2\x9e\x02\x2c\x2b\x2c\x67\xb6\x70\xcf\x58\x11\x58\x2a\x4e\x2d\xcf\x5d\xa0\x82\xe4\xaf\xa5\x27\x7f\x45\xa4\xbd\x23\xf6\x79\xaf\xfa\x5c\xa0\x80\x2c\x13\x1e\xf6\x4e\xc2\x6b\x90\xb2\x29\x30\xc1\x29\x8c\x21\x3d\x70\xde\x9c\x13\x4e\x7b\x31\xcf\x6a\xbb\x09\xbc\x12\x65\xf4\x4d\x54\x4e\x91\xa2\x23\x9f\xf7\x54\x31\xa1\xb0\x35\x23\x4e\x8a\x3d\xe2\x40\x4b\x41\x04\x48\xa8\x70\xf8\x22\x56\x73\x58\xd7\x06\xb7\x64\xfc\x55\xf2\x22\x70\x98\x83\x76\x7e\xef\xc8\x8b\xe1\x25\xfa\x14\xc8\xe7\xec\x74\x08\x74\x04\x9c\x8e\x80\x0e\x80\xc3\x00\x0c\x18\x00\x87\x01\x18\x36\x07\xc0\xb0\x06\x30\x00\x40\xdd\xd4\x1a\x24\xea\x60\x25\xf3\x61\x76\xa1\x67\x9a\x0a\xac\x23\x0f\x4f\x12\xe4\xb4\x65\xb8\x63\xeb\x95\x58\x74\xa4\xb7\xc6\x00\xb7\x44\x1d\x03\xa7\x83\xa0\x63\x00\x97\x6f\x20\x8d\xf6\x6c\x42\x38\x3f\x0f\x37\x4e\xaa\x3f\xa4\xbe\xc7\x4e\x32\x55\x4f\x84\x6b\x5d\x0a\x7b\x47\x52\x1c\xf9\x5a\x5c\x0f\x3d\x15\x0c\xa0\x8a\xb3\x26\xec\xd4\xf4\x57\x8b\x1e\x72\x12\x64\x88\x85\x56\x91\xdc\x37\x72\xdc\xa9\x0c\x87\x7c\x0a\xe7\x7e\x97\x18\xc8\xb7\xa8\x2b\xbe\x08\x89\xcf\x8e\x6a\x14\xc0\x3b\x30\xf9\x96\xa8\x94\xba\x4b\x54\x2b\x0f\x56\x76\x65\xae\x0a\x45\x51\xe6\xea\x25\x91\x97\x86\x10\x74\xfd\xb2\x50\x43\x00\xd6\xe4\x13\x22\x91\xf1\x0f\x2b\x41\x94\x09\xb4\x7d\x77\x5b\x2f\x95\x38\x06\x68\x99\x06\xe3\x2a\xa9\xa8\x69\xe0\x88\x6b\xa5\xa0\x94\x1f\x54\xb4\xc1\x07\x29\xd5\x1d\xb5\x90\xf5\x5f\x97\x8e\xfa\xee\xb8\x27\x81\x4f\xb6\x0e\x0c\x05\x31\xef\xca\x44\x4d\x74\x50\x74\x4c\xe0\xda\xce\x28\xa1\x2e\x21\x7d\xff\xc6\x98\x60\x48\x1c\xc6\x44\x87\xc4\x21\x04\xbb\x46\x04\x02\x80\x1e\x30\xc6\xda\x64\xed\x34\x80\x3e\x10\xd0\xa6\x94\xa7\x54\x19\xe3\x91\x3c\xda\x54\x65\x17\x29\xe1\x3c\x2d\x75\xe7\x5b\x64\x83\xf0\xa9\x2d\x37\xb1\x8d\x88\x75\x90\x04\xce\xd4\xd2\x81\xfc\x1d\x29\xd7\x51\x4d\x3d\x20\xcc\x2c\xb4\x30\x72\x9d\xa0\x42\x0e\x49\x92\xe0\xdf\xc9\x5e\xce\xa7\x59\x6a\x94\xd7\xd9\x20\x41\xff\xf2\x0f\x45\xd6\x76\xe2\xdd\xff\xfc\xdb\xfe\x78\xa7\x16\x5d\x2c\x0a\x4e\x28\x56\x20\xcd\xeb\xba\xcf\x89\x98\xb3\xd3\x89\x26\xae\x36\xff\xba\xfe\x54\xde\x64\xc3\x11\xaf\x58\x63\x02\x7c\x15\x96\xe9\x91\x14\x78\x0a\x2b\xe9\x47\xde\x13\x76\x85\x6d\x69\x46\x4a\xa1\x29\x8b\x42\x68\x9b\xca\x97\x1a\xa9\x01\x31\x1c\x46\x4e\x32\xe0\x38\x78\xf5\xd4\xb4\x13\x6a\x0d\x6a\x56\xab\x7d\xd3\x1d\x54\xe6\x6b\x53\xb6\xca\xe2\x4c\xc7\xa5\x82\x90\xb5\x80\x7a\x5a\x50\xae\x91\xab\x72\xb2\xea\xc8\x23\x90\xa6\xc2\x3f\x87\x74\xb5\xcc\x00\x8b\xb1\x71\xa1\xe4\xd3\xca\x90\x29\x47\x2b\xba\xdb\x74\xd5\xb9\x84\x67\x77\x8d\xa6\xc5\xe5\x52\xa8\x22\xf6\x42\xb0\x4e\x58\xda\xac\xd7\x08\xf5\x2e\xe8\xb5\x23\x3b\xba\x34\xb6\x0c\x97\x9d\xe6\xd0\x71\xd7\x45\xae\x8e\x65\xab\xca\xac\xb2\xe1\xc7\x2b\x7b\x8c\x20\xad\x8d\xae\x3b\xf4\x1d\x5d\xc7\x2e\x38\xd4\x7b\x87\xae\x0f\xe8\xba\x43\xd7\x07\x74\x5d\x17\x77\xd5\xae\xeb\x0c\xd4\xce\xc9\x33\xad\xb6\x87\x62\xa0\x56\xee\x72\xaf\xe4\x2f\xba\x36\xd3\xc0\x83\xf2\x95\xfe\x4d\xbe\x45\xfb\xca\xe7\xff\xdd\xf8\x8b\x63\xfe\x0f\xae\xe4\x4b\xea\xb0\xdf\x1d\x75\x42\x76\x0d\x5e\x51\xdd\x29\x40\x4d\x89\xcb\x0f\x3a\x82\xed\xd3\x5a\x43\x27\xfd\x7b\x77\xde\x2a\xbc\x13\x83\x28\xfb\x28\x94\x5a\xa1\x9a\x23\xd5\x10\xcf\x2c\x69\xc6\xc0\xfc\x85\x81\x29\x7d\x31\x94\x00\x65\x66\x23\xbb\x23\xaf\xd7\x1b\x71\xd6\xcb\x15\x61\x6b\xba\xf4\x8f\x84\xc0\xaf\xa0\x4b\x0c\x04\x99\x2a\x62\xa2\xb0\xc2\x54\xd1\x68\xab\xe8\x32\x39\x27\xfe\x17\xec\x33\x74\xee\xad\xd5\x14\xf0\xab\x44\x35\xe6\xc1\xca\xd1\xf3\x4b\x94\xa7\x29\xd5\x26\xe5\x38\xc8\x47\x10\x28\x95\xa9\x7c\x58\xf0\x50\x9e\xc9\x15\xf8\x6f\x42\xd2\x4b\x02\xcd\x4f\x45\x92\x8a\x9d\xa2\x82\x4b\xd7\x3f\x82\xab\xc2\x44\xa4\xcd\x07\xaa\x33\x31\x6d\x8a\x54\x62\xa7\x23\x45\xe6\x2e\x0a\x8e\x87\x51\xf2\xd8\xad\xa8\xc4\x88\xb7\x88\x18\x28\x04\x44\xf9\x90\x77\x13\x19\x04\x4f\x35\x1d\xa3\xa5\x57\x64\x30\x56\x7c\x54\x79\x66\x0f\x22\xa6\x53\x80\x6f\x41\xbe\x86\x3d\x79\x6d\xb2\x6f\x02\xdd\x0d\x18\x11\xf0\x73\x0f\x51\x5f\x07\xf1\x95\x75\x90\x9c\x8e\xd2\x45\x62\x94\xd5\x30\x9d\x45\x8d\x1a\xc1\x51\x07\x09\xb6\x6d\x31\xbf\xda\xb3\x88\xba\xe7\x7c\xdf\xef\xea\x50\xfb\xf9\x3e\xe7\x27\xfb\xc3\x7b\xf3\x3c\xc5\x01\xbf\x65\x1d\xe9\xcb\x44\x87\xe0\xf2\x83\xf6\xfc\xd6\x11\xff\x7d\xcb\xe4\xdb\xff\xf3\xf7\xdd\x6f\xff\x96\x10\xff\x33\x25\x04\x2c\x38\x04\x59\xa5\x91\x73\x40\x40\x3c\x24\x1f\xcc\x75\xf2\x1f\xe5\x69\x19\xcf\x20\x51\xb7\x31\xfd\x6e\x65\x2f\xbf\xb9\x57\xf5\x91\x87\xe4\x67\xc0\xfd\xe6\x6b\xef\xdf\x22\xea\x7f\x98\x88\xb2\x6c\xb1\xa3\x91\xad\x16\x10\x84\x55\xe8\xb2\x4a\xfe\x84\xb2\xca\xf6\xe6\xfe\x21\x5e\xb6\xb6\xf1\x06\x3d\xf1\x1a\xd8\xe3\xf6\x91\x4d\xbb\x12\x03\xb1\xf1\xfb\x79\xdb\xee\xf1\x15\xfc\xd3\xfe\xa3\xd4\x09\x96\xc1\x8a\x4a\x1d\xf2\xdc\x17\xc2\x5f\x62\x44\x2c\xc8\xd0\x3c\x98\x5c\xa2\x58\x50\x5c\x71\x97\xca\x43\x5e\xda\xe9\xdd\xa3\xc3\xb1\x7c\x8c\xa2\x6e\x6d\xfe\x18\x1b\x9e\xa3\xb6\x39\x5e\x6d\xf3\x11\xa1\x8a\x83\x16\xc8\x91\x86\xe2\x4a\x93\xe3\x10\x37\x9a\x5c\x29\xb9\x7a\x6f\x83\xbf\xc7\x86\xe5\xa2\x4d\xaf\x57\xc2\x75\xca\x46\xa0\x4c\x6f\x91\x0b\x6e\xea\x23\x35\xcd\xeb\x43\xb1\x60\x2b\x6e\xc8\xda\x61\x2d\x36\xc2\x79\x3e\xb6\x9e\x06\x96\x2f\xa3\xd5\x74\xb1\x9d\x06\xfe\xc6\x38\xcd\x1b\x0d\xa8\xa9\xe9\x34\xa8\xf5\x34\x4c\xec\xa7\xf7\x37\x66\x90\xf3\xc4\x7a\x52\xd5\xb1\x4d\xad\x27\x1d\xff\xeb\xb9\x7b\xee\xa2\xeb\xef\xb1\x9d\x18\x14\x9e\xae\x0c\x79\x8f\x75\xd9\x1c\x72\x71\x2b\x07\xa5\x31\xc4\x10\x61\xbb\x11\x09\x8c\x2c\x81\xe2\x23\x43\xee\x87\x3a\xea\xd7\xcc\x79\xf0\xa3\x7e\xcd\x7e\xa8\xef\x6f\x15\xd0\x4a\x13\xfd\x5a\x07\x32\x4c\xf5\x6b\x1d\xc8\x1b\x81\xfd\xdf\x31\x90\x9f\x40\x81\xfd\x31\x56\xf7\x5b\xa4\x22\x43\xb9\x8e\x96\xf4\xa3\x96\xc6\x63\x7b\x55\xcb\xa1\x7a\x30\xd2\xfc\x96\x3d\xf5\x86\x88\xb9\x74\x7d\x04\x7e\x14\xa5\x3e\x3e\x02\x7f\xf9\x79\xf7\xf6\xeb\x2f\xf7\x26\xb8\x50\x99\x32\xd4\x8d\xc4\x7a\x1e\xce\x51\x0b\x47\xab\x69\x67\x00\x61\x91\xae\x75\xa8\x69\x87\x9a\x9d\x7b\x2a\x45\x3d\xc6\xed\x00\x26\xc2\x5e\x0d\x8b\x63\x25\x2e\xec\xb4\x5c\x40\x73\x72\xa0\xda\x0c\x02\xb3\xf0\xb0\x75\x83\x1f\x02\xd5\xda\x8e\xee\x72\x0b\x2f\x6e\x71\xbd\x12\x77\x79\xcd\xf2\x16\x8f\x7b\xde\xdf\x1a\x49\x10\x57\x88\x99\xed\x76\xe9\x35\xce\x9d\x7a\x71\x2a\x9c\x81\xbc\xd9\xef\x90\xc5\x1d\xb8\x3e\x36\xdc\x6d\xdd\x81\x4d\xfa\x5c\xe7\xad\x5a\x05\x39\xa0\x96\xcf\x71\x98\x91\x68\xee\xe5\xd5\xa2\xbc\x7a\x9b\x68\xe6\xb2\xfa\x3b\xa9\x7f\xad\x06\xdc\x4d\x2c\x04\x8c\x90\xc8\x2f\x99\xa2\x2f\x54\xd2\x12\x7e\x13\x3b\x0b\xf0\xe3\xcb\xa9\x0c\x5a\xe6\xc5\x1d\x1e\xa1\xdd\xa2\x84\x3f\xde\x52\x96\x18\x9e\xbd\x96\x17\x7d\x5d\xa3\xd4\x78\x59\x87\xdd\x01\x54\x3e\xae\x0e\x90\x5f\x2f\x38\x8e\x2b\x0b\xfd\xa6\x0f\xd8\xf4\x5d\x6b\x1d\x07\xbf\x3b\x6b\xec\xf4\x59\x8b\xbc\x7f\xa9\x94\xe0\x93\x5e\xe7\x58\xbb\x6e\x1c\xb4\x1f\x41\x13\x9f\x11\x3b\x81\x1a\x4e\x5f\x6a\x5d\xc1\xf1\xce\x16\xdc\xd6\xb2\xf5\xe3\xb2\xbd\xba\x6a\xfd\x74\xe5\x6f\xad\xd9\xfe\x9a\xe9\xfa\x79\xef\x3c\xaf\x51\xa9\xdf\xc9\xe1\xf8\x3b\x39\x1c\x3c\x95\x3f\xcd\xc7\x3f\x21\xca\x1a\xa5\x8d\x85\x60\x14\x1a\x40\xc3\x48\x0c\xbd\x44\x1f\x18\x97\xc1\xd5\x55\xe0\x67\x4b\xc9\x6d\xdd\xd1\x97\xc1\x4b\xa3\x84\xe3\x71\x55\x3a\xa9\xf0\x90\xc9\x4b\xfd\x83\x98\xc4\xe7\xc6\xfb\xf0\xd3\xff\xdd\xfd\xf5\xd7\x5f\xfe\xe1\x72\xf3\x7b\xa9\xea\x1e\xb9\xe9\x29\x25\xe0\x87\xfb\x05\x42\x35\xf0\xb9\x74\xe6\x2c\x8f\x10\x95\x65\x0c\x20\x60\x49\x2a\x31\xd7\x53\xa1\x92\xe3\x52\x4c\x32\x05\x8f\x94\xd0\x51\x54\xdd\xeb\x95\x2c\xef\x1a\xdf\x82\x3b\xdc\xc6\x6b\xd8\xd2\xa8\xd6\x2a\xaf\x78\xd9\x6e\x79\x39\x78\xc0\x62\x45\x39\x9e\xab\x50\xe5\xcb\x37\x6c\xb0\x95\xba\x96\x82\x81\xc7\x17\x5a\xbf\xe6\x37\x04\x74\xaa\x58\xa7\xe0\x35\x13\x12\xb2\x9f\xd6\x50\x29\x61\x7f\xd8\xe7\x74\x19\x96\x95\xa8\x46\xf5\xe7\xb6\xec\xc9\x60\x8c\x8b\x1d\xbb\xe7\x80\x4f\xd4\xd1\x3b\xb4\x68\xdf\xe5\xfa\x64\x50\x3e\xc7\x9f\x47\x82\xfd\x27\x96\xd9\x99\x6a\x88\x14\xc2\x2a\x06\x2f\x04\xe9\x1e\xf7\xc6\x8b\x56\x11\x0f\x58\x61\x31\xe4\x53\xc2\x61\xc0\x42\x48\x33\xdc\xf9\xd8\xf2\x55\x5c\x6a\x59\xe3\x71\xdb\x7b\x2c\x0a\x60\xeb\x45\x64\x29\xfc\x73\x7c\xc5\xdb\x56\xd1\x2a\xbe\x22\x21\x88\xc4\x97\xb1\x2b\x88\x92\x05\xe6\x14\x80\x14\x66\x5e\x5b\xa5\x9e\xe3\x17\xf4\x65\x33\x94\x01\x99\xf5\x67\xea\x1e\x16\x32\x53\x8e\x72\x19\x0d\x9e\x7b\x8f\xa1\xd6\x73\x0f\x78\xf9\xac\xd3\x87\x7b\xf3\xe7\x3e\xb9\xfd\xda\xa4\xfb\x37\xa0\x30\xbf\x87\x22\x3f\xa7\x31\xc4\xc8\x5b\xac\xcb\xcf\xb9\xca\x06\xdf\xe9\x5c\x00\x6c\x63\x8b\x7b\xf9\xcb\xe5\xe3\xb5\x2a\xa6\xfc\xd1\x6d\x5c\x9f\x70\xa6\x2d\xce\xe5\xdd\x94\x75\xb9\x19\xef\xaa\x11\x58\xa6\xf1\xba\x7c\xe0\xcf\x09\x08\xfe\x91\x62\xf0\x53\x6a\x07\xe7\xbc\x5a\xd5\x7e\xbe\xdc\xb6\xd6\xb5\xbf\xb5\xaa\xfd\x74\x51\x5f\x5b\xd3\x7e\xca\x3a\xdc\xd6\x0d\x93\x35\xbb\xb5\xa6\x2d\x44\x67\x5c\xd4\x63\x4f\x74\x51\xfb\x14\x87\x44\xa1\x5d\x33\xfc\x7f\x00\x0b\x7d\x7c\xd6\xbe\xe7\xfc\xf5\xcf\xbb\xbb\x29\x5b\xb9\x8a\xec\x84\x6f\xe3\x80\x8f\xe5\xea\xb1\x20\xf7\xf3\x3d\xd9\x80\x6d\xe1\xe9\xb1\xe0\xbb\x9d\x37\xde\x4e\x54\x79\x3e\xdf\xdb\x0a\xc9\x8d\xb7\x50\x09\x6e\x83\xb7\x7c\xee\xec\x6f\x32\xed\xff\xe4\x3b\xac\xbc\x95\x61\xc9\x0e\x7f\xd6\x67\x3f\xcc\xe9\xca\x79\xd1\x18\xf2\x9f\xae\x84\xfc\x9f\x0f\x8c\x3e\x4a\x46\xf9\x3d\x31\xf9\xb7\xbd\xb6\x7f\xc8\xec\x7e\x26\xf9\x17\xfd\xc3\x0f\xd3\xdf\x98\xcd\xbd\xe1\x4f\xbc\x49\x3c\x1d\xd8\xc7\x44\xdc\x3f\xfc\x20\xf3\xad\x68\xdf\xe3\x9f\x76\xe3\xf9\xf4\xdb\xaf\xbf\xb8\xbf\xfc\xfa\x7f\x6e\xd8\xcf\x1f\xf8\xd9\x8b\x41\x8c\x2f\x1b\x4a\x5e\x5e\x2c\x01\x1a\xe7\x7a\x4c\x54\xd8\x25\x6a\xe1\x07\x65\x13\x53\x75\xc0\x7c\x66\x3e\xdd\xef\x87\x09\x29\x00\xa8\xde\xaf\xb6\xd2\xc9\x87\x17\x80\xe0\xa7\x7a\x0c\x54\x3c\x30\x26\x64\xe9\x34\xb1\x91\x26\x6c\xd6\xf1\x66\x49\xe5\x90\x8f\x6a\xd1\xf1\xf0\xe9\x8e\x1f\x7f\xfa\xaf\x1b\x41\xb7\x1f\x66\xde\x68\x03\xab\x46\x3c\x67\x9f\x7d\x3e\x5e\x1a\x55\xa0\xde\x1f\x31\xdd\x4e\x67\x7e\x11\x4c\x0c\xa7\x0d\x5f\x91\x91\x10\xe9\x57\x56\xbb\xab\xf5\xb8\x75\x89\xcd\x33\xeb\x21\x8c\xd8\x59\xcf\x1f\x4e\x00\x50\x1a\x84\x58\x58\x78\x14\x78\x43\x14\x56\x5b\x32\xca\xa0\xb3\xde\x04\x81\x10\x7e\x35\xad\xb8\xb3\x61\xd9\xbb\x65\x48\x2a\xc6\xa6\x1d\xb7\x2e\x75\xba\xfa\x4c\xcf\x7f\xc3\x5f\x8f\x4d\x7a\x25\x8b\x39\x2c\x65\x6b\x09\xbe\xd8\x22\x1f\x58\x94\x13\x04\x9d\xb7\xa5\xb6\xdd\x67\x7c\x63\x56\xb9\x4f\xf8\x16\x31\x74\x34\xcd\x4f\x4e\xb9\x75\xfc\xd1\x7c\x42\xe2\xd7\x53\xee\xcf\x33\x8e\x55\x3e\x00\x82\x7c\x6b\xca\xfd\x65\xc6\x37\x66\xd5\xf7\x09\xdf\x22\x06\x3b\x0a\xf8\xe4\x94\xff\xfd\x6f\x9f\xe1\xea\x58\xe9\x5b\xeb\x4f\xf9\x3a\x56\x39\xd8\xfa\xb0\x64\xeb\xfe\x9c\xe8\x71\x93\x73\xfb\x19\x5b\x5f\xf0\x7c\x4f\x3d\x7e\xe7\x93\xdd\xfe\x0c\x53\xb7\x75\xbe\xd1\x71\x65\xeb\x58\xe2\xc6\xd6\x87\x25\x5b\xd7\xfb\x9a\xbb\xb0\xf5\x05\xe7\xf6\x33\xb6\xbe\xe0\xf9\x67\x92\xfa\x44\xc7\xbf\x7d\x20\xc8\xe7\xce\xbc\x82\x0c\x0b\x5b\x68\x1d\x4b\xa0\x8b\x45\x17\xaf\x80\x6a\xf0\x1a\x54\xc3\x13\xe7\x38\x4c\x5e\x35\x0f\x3a\xb7\x0b\x2c\x3f\xb0\x11\x1b\xc8\x1e\x65\x85\xec\x71\x57\x14\xfa\x6c\x48\xef\x4c\xbf\x0c\xf8\x93\x0f\x30\x31\xe6\xfd\xb8\x07\x72\x23\x9f\x11\x37\xb4\xf6\xf7\x05\x12\x0d\xb4\xaf\xb8\x7c\xf6\xb3\xef\x64\x3e\xbf\xb4\x8e\x2f\xbd\x77\xc4\x6e\x2b\x17\x4b\xd3\x56\xe5\x46\xde\x82\x3a\x46\x7a\x44\x5f\xd3\xf1\x9c\xff\x67\x25\x2b\x6b\x3a\x6e\x5d\xbb\x3c\x0c\x91\xac\xdf\xe5\x88\x99\x1f\x40\x05\x0b\xe8\x83\xfa\x87\x37\x82\xc3\xb5\x56\x7c\xd7\x98\xde\x9b\xb7\x36\xeb\xbc\x2d\xd7\x84\x8a\x6a\x46\xd6\xac\xa5\x5f\x25\x54\x2e\x3e\xae\xaf\xf0\x28\xe2\xf9\x25\xc2\x5b\xb4\x0e\x63\xed\x2b\x6c\xad\xe5\x4b\xf9\x07\xbc\xb4\xd9\x4b\x11\x44\x5f\x9d\xd0\xf7\x0d\xd9\x07\xfa\xce\x7c\xe5\x4a\x90\x35\x05\xf8\x29\x01\x6c\xcc\xf1\xc8\x6c\x36\x89\xc3\xbb\x19\x05\x18\x2b\x64\x24\xee\xbd\x46\x88\xf2\xc7\x37\xa3\x5c\x6d\xc6\xf7\x0d\xeb\xbd\x20\x2d\x71\x41\x8a\x7c\x26\x8a\xad\x6c\xee\x46\x13\x1b\xe4\x62\x18\x65\x46\x15\xc6\x0e\x01\xf6\x1d\xd7\xa4\x58\x57\xef\xe4\x1f\xf0\xce\xce\x0e\xb1\xfb\x7a\x79\xe9\xbd\x43\x76\x4b\x0d\x5b\xcb\x64\x63\x8a\x2b\x3b\x38\xbb\x8b\x3c\x5c\xc8\x3c\x9e\xca\xc3\xad\x03\x8a\x29\xc4\x16\x18\x62\x17\x87\xc3\x45\x1c\x2e\x1b\x51\xff\xd0\x46\x18\x43\x5c\xb7\xe2\x3b\x46\xf4\x6e\x91\x5c\xe6\x38\x57\x7c\x16\x73\x1b\x42\x10\x11\x49\x5d\x3c\xce\x05\xa7\x01\x04\x8c\x80\x5b\xc6\x0e\xc7\xda\xd7\x22\x19\x0c\x71\xf9\xf0\x67\x5f\xda\xce\x2f\x45\xf5\x77\x0d\xd8\x07\xce\xd3\x1f\xf9\x9e\xca\x5d\xce\xc6\x3f\xc8\xbb\xf9\x11\xc5\xf7\x03\x4f\xe5\x0f\x1c\x46\xf9\x2e\x17\xe0\xdb\x9e\xc4\x8f\xb7\xfa\x2f\xbf\xde\x0d\xad\x37\xa4\x5d\x19\xca\xd8\xc6\x38\xd8\x1f\x68\xdf\x1d\xd1\x1b\xff\x2c\xce\xe7\x97\x61\xb9\x33\xb3\xc7\x19\x58\x5c\x1b\xe2\x9f\x3a\x88\xab\xaf\x43\xf8\xb3\xbb\x87\xdf\xed\x18\xfe\xe3\x9c\xc0\xef\x23\xca\x3b\xf6\xd6\x3f\x74\xb6\xbe\xef\x4d\x87\xdd\xf1\x06\x14\xf1\x3f\xc2\x2b\x1e\x40\x61\x27\x6e\xbb\xfb\x29\xf8\xbe\x5e\xfd\x11\x0e\xec\xbd\xb1\x61\x4e\x94\x37\x69\xf0\x46\x63\x8f\x3f\xff\xed\x3f\x7f\xdd\xfd\xf6\x68\xfe\x41\x0b\x5b\x5a\xa0\xef\x16\x4b\xb3\x1d\x80\x2e\xb6\x82\x50\x4b\x37\x21\xd4\x02\x60\xc5\xd6\x38\x67\x40\x4a\xdc\x82\x50\x34\x9c\xb3\xf0\xcc\xe5\xe4\x48\x56\x79\xb6\x93\x9d\x42\xea\x2a\x7e\x7f\xab\xd0\xab\x03\xa5\x65\xce\x7e\xdc\x95\x71\xd7\x6e\x7e\xc9\x31\x95\xa0\xba\xdf\x1a\x2b\xed\x7b\x0e\x99\xe5\xd6\x21\x73\xba\x9d\x5e\x9d\x49\x32\x90\x6b\xad\xd7\x73\x28\x66\x4b\xc7\x9d\x69\xf9\xb3\xe1\x1f\x2e\xd2\xfc\xe3\xbb\xf5\x72\xf1\xbb\xeb\x59\x75\x1f\xcb\x0c\x71\x26\xa2\x87\xd3\x7d\x34\x1c\x94\x51\x29\xd7\x0e\x8b\x7b\xaa\xfe\x8d\xd3\xe2\x7c\xe5\xb4\x38\x80\x06\xaf\x9e\x4b\xeb\xbb\xf6\x16\xb3\x9e\x0a\x65\x71\x40\x97\xd1\x41\x3f\x24\x4c\x96\xc1\x59\x11\x33\xc5\x60\x97\x06\x7e\xff\x1a\x01\x8c\x76\xed\xe8\x79\x4c\xce\x7f\x2f\x1e\xfc\xf5\xb4\x20\x72\x22\x49\x5f\x90\x32\x38\x46\xe4\x56\x8e\x03\x22\x29\x4a\x1a\xe2\x41\x55\xee\x2f\x51\xa9\x48\x7f\x0d\x76\x11\x8b\x4e\x94\xce\xc7\x34\x56\x87\x74\xe2\x83\xfb\xe4\x9c\xe2\xc4\xf5\xa7\xff\x11\x0c\xe2\x1f\xb5\xc6\x94\x11\xd5\x55\x38\xc1\xf9\xb4\x37\x59\xe2\xbc\x58\x90\xd6\x17\xc5\xfa\xbe\x7e\xa8\x6e\xc9\x5f\x17\x5b\xd4\x83\x3f\x66\xb7\x11\x6e\xf0\x63\x08\xe1\x5f\x7f\x91\x27\x1b\xd6\xc9\x0a\x7a\x83\xbb\x78\xb8\xe6\x7d\xfb\x07\xfa\xde\x7c\x6a\xc6\x7e\xfd\xdb\xff\xfb\x78\xc2\x9e\x7f\xec\xd2\x3d\x2d\x82\xd1\xc6\x74\x5e\x37\x21\x98\x97\x22\x79\x81\xcd\x90\x6e\x42\x42\xa8\x58\xdd\x13\x0b\x53\x8d\x95\x6a\xea\x59\x53\x4a\x90\x0e\xe5\xbc\xd0\x05\xfc\x59\x15\x18\x9f\xbd\x82\x27\x11\x37\xf2\x1a\x9c\xdc\x7a\x54\xfe\x84\x9c\xe9\x43\xc4\xfb\x32\x34\x9d\xf8\x09\xa1\xc2\x11\xb7\x1d\xe2\x66\x12\xcf\x48\x0b\x58\xd1\x06\x9f\xbd\x32\xe0\xb1\xd9\x19\x72\xf7\xba\xba\x5a\xcf\xfc\xa4\xbd\x43\x8f\x7e\xc5\xdb\xe7\xb1\x53\xf6\xc8\x76\x36\x55\x01\xa4\x40\xcf\x2c\xb3\xac\x11\x4e\x5f\x99\x42\x3c\x0a\x36\x5b\xda\x7a\x13\xf0\xbc\x47\xe8\xba\xe8\x8e\x45\xff\x8d\x23\x09\xdc\x96\x70\x72\xe4\x83\xd6\x1e\xab\xfe\xeb\x93\x22\xc5\x51\x12\x3e\x22\x69\x05\x79\x0e\x00\xf7\x85\x4c\x5f\xba\x04\xf5\xd7\x8c\xad\x78\x9e\x7b\xfc\xd9\xd7\xbb\x76\x7d\xe6\x9c\xe0\xe1\x44\x12\x06\xb2\x4d\xe9\x39\x42\x2b\x19\x35\x0e\xd3\x3f\x40\x49\x51\xf9\xe9\x97\xb3\x9a\x32\xaa\x2d\x72\x56\x4a\x0e\xeb\xe9\x56\x5e\xb1\xc6\xe7\x3e\xb9\x70\xcd\x8d\x0a\xdc\xdc\x8d\xec\xdc\x81\x9f\xbb\x91\x9f\xab\x4a\xa4\xac\x40\x39\xba\xeb\x1c\xdd\x75\x8e\x7e\x23\x35\xdc\x5a\xe4\x74\x67\xaf\x7c\xc5\xd9\x0b\x08\xd0\x6e\x33\xf1\xe0\x26\x3d\x5d\x41\x9d\x58\xaa\x7e\x23\xfd\x77\xd7\x46\x3e\xa9\xe8\x71\x37\xb5\xb7\xf3\x9a\x84\xd7\x5f\xda\xca\x13\x1c\x36\x96\x40\x50\x25\x96\xe5\x5a\x2e\xde\x8d\xc5\x17\xb6\x97\x1e\x5e\x5b\xb7\x5e\x2b\x5b\x2b\xef\xfd\x2b\xe7\xa1\x6d\x64\xf7\xc0\x30\x45\xe2\x76\xdc\x48\x58\x32\x4f\x4a\x32\x71\xad\x57\xa2\x90\xcb\xe1\x1b\x74\xa1\x2d\xb7\x7b\x73\xcf\xb0\xaf\x95\x94\xbf\x70\x7b\x74\x35\xfd\x7a\x0b\xeb\x63\x99\x03\x03\xc2\x70\x4d\x26\xaf\x2c\x2a\xcf\xa4\x46\xe2\x4c\x29\x46\x8a\x9c\x28\x97\x63\x24\xa3\xb4\xe9\x09\x98\x81\xd9\x84\xf8\xc2\x3d\xd9\x74\x0a\xf9\x35\xdd\x9b\x05\xf9\x9f\x03\xa6\x0f\xa3\x7a\x2f\xf6\x11\x00\xd8\x37\x06\xb5\x6e\x8f\x29\x5a\x7f\x6d\x4c\xab\xb9\xb1\x06\x83\x39\xff\xd3\xe3\xb4\x61\x9c\xb4\x6d\x0f\xdb\x62\x3f\x6c\xfb\x97\x92\x5b\xba\xe4\xfd\x58\xe2\x7e\x44\xe9\x9d\x0c\xcf\x63\x16\xca\x07\x1b\xc1\xdb\xae\x59\x3f\x8a\xf8\x1e\xea\xf1\xdf\x1f\xa5\x84\x04\x37\x84\x40\x29\xd5\x5d\xa5\x9a\xe3\x60\xa5\x85\x6b\xd4\x96\x1c\x72\x84\x54\x64\xd1\xb2\xd2\x2e\x05\xc0\xc4\x49\x53\x45\xce\xfb\xd6\xcb\x1e\xf2\x87\x53\xab\xe2\x55\xd6\x4b\x06\xd4\x17\x90\xbe\xfa\xa3\x0c\x73\xa7\x84\xf0\xa4\xa4\xd7\x06\x2b\xf1\x68\x1c\x38\x91\x6f\x71\xb7\xbc\xd2\x01\xeb\x22\x71\x89\x4f\xf3\x0a\xb9\x12\x87\x3a\x08\x3f\x57\xbd\x5d\xbb\x81\xa0\x18\x2d\xbd\x41\x8e\x17\x00\x28\x87\xcc\xda\x85\x92\x7b\xe9\x0d\x04\x40\x9a\xea\x70\x19\x20\x00\x3e\x4b\x2f\x21\x11\x5a\x0a\xae\xa9\x61\x56\xa9\x85\xd8\x4b\xb3\x2a\x5b\x71\x42\x2d\xe4\xf7\x37\x4a\xf0\xdc\x8d\xbc\x2b\x80\xd9\x2a\x17\x5c\xe6\x40\x52\x1b\xd0\xb7\x9a\xce\x71\x96\x5e\xf6\x1d\x9e\xa6\x33\xdf\x60\xfe\xa7\x5e\x5a\xe0\x53\x01\xc8\xbb\xc7\xfd\xa1\xd4\x5e\x9a\x4a\x62\xb9\xeb\x03\x1f\x1a\x89\x97\x5d\xa4\xa0\x0a\x58\x7f\x63\x00\xb6\x37\x93\xd4\x3a\x44\x8a\x80\x1c\x8e\x36\x84\xaa\x79\x56\x17\x88\xb9\xee\xa1\x17\x15\xcb\xf4\xac\x93\x68\x8f\xd8\xc5\x45\x8d\xee\x52\x65\x3b\xd8\xc7\x42\x6c\x8b\x2a\x61\x19\x29\x4a\x38\xf5\xb2\x07\x89\xf9\x12\x55\x45\xce\xda\x39\x5f\x7a\xd9\x6b\xcd\xa2\x5a\x59\x63\xed\x1c\x5c\xc2\xc2\x08\xa0\x68\x99\xb9\x03\x3f\x86\x73\x8c\xc5\xf0\xa8\xb3\x5f\x0b\x80\x5f\x2f\x61\x97\xc9\x23\x4f\x8a\xb7\x44\x29\x9c\x2d\x6d\xbd\x85\xde\xb6\x36\x96\x66\xa0\x27\x40\xdc\x4b\x8d\x07\x92\xba\x67\xa0\x62\xfa\x41\x88\x29\x02\xe0\xbd\x26\xa0\xb9\xeb\xd8\x7a\xf8\xf9\xf9\x33\x4c\x45\xa2\xe2\xc3\x53\x24\x9f\x94\xf3\x6a\x89\x2a\x95\xf6\xd4\x32\x79\xce\xe4\x25\x6b\x6b\x42\x19\xac\xf4\x23\x76\x45\x76\x58\x8f\x99\x54\xf0\x58\xd9\x63\x61\x45\x02\x50\xd8\xd1\xca\x2a\xbd\x04\x49\xe7\x18\xd5\xb2\x11\x84\xef\x5b\x61\x8b\x16\xfc\xa8\xa5\xa0\x04\x8d\xd4\xe7\xd1\xa7\x5d\xa4\x04\xdc\x6b\x39\xcf\x28\x5b\xfe\x17\xa5\x2b\xa3\xb1\x31\x8d\x86\x36\x48\x05\x5c\x91\x3d\x15\xce\x14\x23\xa0\xd6\xa3\x10\x72\x8e\x85\x9a\x29\xd7\x03\x3c\x43\xf7\x94\xb1\xfc\x18\xc8\xe7\x6a\x41\x0f\x4c\xd5\x51\x89\xb2\x13\x4a\x18\x32\x2d\x7d\x47\x1f\x48\x05\x59\xcb\x12\xf7\xb2\x73\x5c\x3c\x11\x0e\x8e\xea\x52\x2f\x35\x92\xe4\xa7\x48\x11\x99\x8a\x62\xcf\x3d\xd4\x88\x95\xb4\x4b\xdc\x21\x0d\xe8\x60\x65\x27\xba\x5c\xd9\x51\xcb\x0f\x9e\x9e\xfc\xfa\xed\xa7\xbf\xb8\xfd\xee\x6f\xbf\xff\x7c\x2f\xf0\x00\x76\x55\xd4\x0a\x9e\x85\x2d\x22\x67\x0e\x12\x94\xb4\x69\x02\x1f\xa6\x66\x0b\x5f\xe2\x60\x59\xaf\xc6\x0b\x48\xe1\x23\x69\x36\x00\xe3\xbd\x30\x5b\x42\x1b\xac\x84\x86\x32\xbe\xf4\xfd\x2b\xab\xf2\xbf\x02\x56\x29\x00\x07\xcd\x75\x0a\xf9\xa9\xf5\xb9\x8d\x77\x7b\x25\xdf\xd9\xbb\xbd\x3b\xdf\xbb\xda\xa3\x8b\x38\xd1\xff\x10\xfb\xc5\xd4\xe5\x55\x3e\x63\x15\x29\x07\x2e\x94\x56\x28\x08\xfd\xaf\xd3\x7a\x4b\x89\x05\xbb\xe4\x72\x36\xfb\xa6\xd7\x54\x26\x9f\xb3\x71\xbd\x9b\x65\x1b\x29\x7d\x11\x18\xb3\xaa\xa5\x0c\x49\x4d\x05\xe9\x7b\x59\x72\xeb\x54\xa7\x3c\x7c\xaa\x83\xa6\x7d\x42\x15\x9c\x92\xdd\xa3\xda\xce\xc6\xb6\xa9\xd8\x96\x93\xf2\xb6\xe5\x3c\xe6\x1e\x1b\xb5\x0e\xc1\xef\x7f\x3e\xcb\xba\x3e\x6f\x86\xe6\xc9\xb5\x0f\x42\xf6\xb6\xd3\xa0\xf0\xb5\x88\xbd\xcd\x33\x13\x7d\x81\x25\xdd\x8f\x33\xf0\x06\xf6\xd0\x76\x84\xb8\xb4\xf9\x06\x2b\x32\x70\x28\x89\x4e\x69\x44\xd7\x56\x44\x32\x82\xf9\x6e\xee\x78\xf3\x13\x93\xd8\x66\x71\x0c\x97\xcd\x4d\x6c\xd2\xb1\x1f\xb0\xad\x35\x4f\x79\x2a\xf0\x97\x52\x25\x65\xee\xdb\x88\xe4\x17\xab\xb7\x7b\x3f\x2c\xde\xee\xdd\xe4\xe6\x45\x22\xe6\xfe\xc6\xc7\x45\xe6\x07\x00\x96\x73\xce\xe5\x21\x21\x7c\xcc\xd0\xb6\xa0\x6c\x8d\xca\x5d\x12\x4a\xa6\x30\x49\x2f\x6d\x01\x47\x8c\x7c\x44\xa0\x80\xed\xff\x69\x69\xe3\x5f\xbd\x0c\x81\x38\x6f\xe9\x8b\x81\x32\x72\xa1\x04\xc9\x2a\xc7\x38\xf6\xb2\x0f\x68\x40\x4a\x8a\x82\x5f\x63\xea\xa5\x71\xc1\x84\x8d\xfa\x66\x19\x2f\xa4\x97\x9d\x54\x55\x22\x8b\xaa\xa8\x33\xbe\x99\xb1\x25\x1f\x8a\xca\xbc\x50\xb9\x97\xa6\x93\xb1\x34\xc8\xbf\xbc\x07\x40\x73\xa3\xd4\x1a\xa0\x93\x91\x03\xcd\x92\xd1\xee\x54\xe5\x0f\x83\x95\xa3\x5d\x20\x4e\x28\x71\x4f\xc9\xd6\xcb\x2e\x4d\x0b\x6a\xaa\xc5\x14\xab\xba\x94\x62\x45\xf9\x85\xaa\x46\x49\xb8\x97\xbd\xd2\x1c\x9a\xaa\x00\xde\xb4\x4d\xee\x65\xaf\xb5\x22\xeb\xb5\xaa\x03\xaa\x37\x5a\x81\x4b\x99\x4a\x88\x94\x9b\x40\xd9\x1c\xcb\xfe\x14\x84\x6e\x84\x9e\x9a\xac\xb0\x35\xa5\xcd\xcd\x08\xe0\x2a\x84\xcb\xb1\x8d\x23\x12\x30\x86\xa5\xcc\x65\x0f\x30\x1f\x38\xab\x0a\xde\x9a\x15\x7d\xd0\x53\xce\x2e\x50\x08\x01\x3a\xb6\x15\x60\xc5\xd1\x47\x57\x89\x2b\x6e\x2f\xdc\x4b\xdf\x41\x6e\x82\xea\xa0\xaa\xb4\xd7\x5a\x7b\xd9\x75\xf0\x84\xec\xbb\x0b\x9f\x59\xc4\xc4\x73\xfc\xef\x09\x8a\xff\x98\x61\x9f\x97\xda\x9d\x0e\xb3\x0d\xa7\x10\xff\x38\x95\xd4\x51\xce\x08\xbb\x0a\x6d\x36\xaf\x15\xc9\xa2\x24\xcb\xb0\x54\xd1\x28\xb2\xda\x0e\x0d\x0c\x6c\x5b\x4b\x93\xeb\x5a\x9a\x6c\x6b\x69\xe1\xaa\x96\x56\x55\x4b\x1b\xd6\x9a\x29\x76\xf8\x62\xce\x2b\xd5\x54\x75\x4f\x30\x06\x59\x4c\x7a\x32\xac\xa0\xbc\xd2\x92\x9d\x1a\x31\xae\x50\x93\x7a\x4d\x4f\x5e\x52\x1d\x42\xf2\xdb\x67\x43\xf2\xf9\xa1\x90\xfc\xbb\x88\xee\x2f\xbf\xfe\x9f\x5f\x8e\xbf\xee\xee\x45\x93\x54\x21\x09\x74\x7d\x4e\x73\x1e\xef\x75\xa5\xfa\x00\x8e\xb0\x58\xad\x86\xeb\x12\x60\xba\xea\xea\x4e\x56\x18\x1f\x89\x5e\x0d\xe8\xbe\xc6\x2f\x7c\xc1\x83\x2d\x0c\x60\x0b\x33\x95\x13\xe0\xdc\xb9\xce\xb9\x8e\x72\x11\x0e\x6a\x7a\x97\x52\x60\x4c\x5b\x01\x2e\x12\x42\x75\x67\x4e\x35\x65\x6f\x2c\xa4\x0c\xda\xb8\xdb\x84\x23\x32\x18\xa2\x1b\x39\xe2\x94\x8f\x32\xd8\xe8\x30\xb2\xd1\x19\x03\x66\xb5\xa2\x06\xb0\xdf\x99\x4e\x22\x59\xd9\xf5\x01\xac\x7c\xcf\x03\x79\x8f\x53\x9b\x42\x01\x42\x3d\x66\x65\xf5\x4b\x11\xc1\x48\xab\x36\x4a\x88\x88\xd3\x14\x2d\x8d\x0c\x2d\xc7\x66\x93\x80\xb4\x00\xd4\x90\x0b\x4a\x30\x2d\x18\x89\x01\x12\x69\xa6\x1a\x65\x5f\x06\x93\x61\x0b\xb1\xe7\xb1\xe8\x1d\xa4\xde\x52\x5a\x7a\x4a\x02\x12\xe3\xa5\x8c\xc5\xd2\x0a\xe0\xdb\xa5\x4b\xe5\x51\x34\xc3\x8a\x47\x8e\xae\x20\xe5\x80\x05\xbd\x5b\xc8\x76\x30\x00\x2f\x2a\xab\x52\x5b\x2a\x05\xfa\x7c\x0c\x59\x65\x0f\xaf\xc2\x47\x06\x91\x03\x79\x96\xd9\xc9\x9a\xa7\x84\xbc\x52\x21\x1d\xaf\x46\xd3\xf5\x68\x3b\x81\x01\x1d\x54\x6c\xbf\xb2\x6c\xee\x15\x9f\x32\x65\x8e\xfd\x56\x87\x5b\xd7\xb1\x79\xa8\x2d\x92\x44\x4c\x0f\x12\xc5\x5f\x0e\xf3\xb4\x3d\x89\x24\x94\x67\xbe\xcf\x5b\x7d\xbe\x12\xef\x8c\xde\x41\x04\x22\xb1\xac\x24\x80\x0e\x60\xc0\x29\xd5\xd3\x8c\x4b\x79\xe5\xd3\xba\xa4\xa0\x4c\xb5\x6a\xdb\x00\x63\x8b\xb1\x49\x33\xd5\x41\xc7\x3c\xa3\xc6\x0b\x95\x6f\x4a\x2f\x3b\x11\xd6\xec\xc0\x3e\x9f\x66\x4c\x97\x23\x45\x30\xfb\x52\x97\x8c\x9a\xc1\xa7\xa9\x65\x1e\x16\xcc\x9d\xd1\x34\x41\x7a\x82\xd5\xda\xe1\x03\xd5\x30\xdb\x1c\x18\xf7\x06\xd4\xd0\x5f\x6e\x0d\xb0\x53\xc1\x03\x0d\x6f\xb6\x0e\x2b\x16\x88\x20\x61\x97\x97\xd8\x4b\x5b\x1b\x19\xfb\xd5\xa1\x0d\x8b\x0d\x97\x51\x6d\x52\x89\x78\x70\x24\x75\xb7\x90\xa8\x20\x19\xaf\x5c\x44\x6a\x32\xe8\xc3\x5e\xf6\xa7\x5b\x40\x2e\x0e\x69\x8b\xe0\x93\xa1\xac\xcf\xd7\xd4\x74\xd1\x55\x0e\x16\xaf\x1a\xcc\x36\xf2\x93\x52\x66\x19\x0f\xfb\xb7\x24\x87\xda\x3b\xf3\xab\x9b\xf2\xe3\xb5\x4e\x4f\xde\xad\x45\xf7\x53\x2b\xbe\xff\xf2\xf3\x2f\x7f\xbd\x3b\x80\xaf\x32\xf6\x43\x2b\x04\x07\xf4\xb6\x3c\x4a\xef\x90\x8a\xa3\x90\x91\xac\xba\x49\x2f\xc7\x4d\x3f\xe4\x22\x28\x39\x3d\xcd\x05\x04\x15\x64\x2d\x0e\x29\x28\x77\xc9\xb6\x4d\x3b\x32\x3b\x64\xbf\x4e\x1e\xb7\xa7\xda\x4b\xdf\x71\x2d\x55\x72\x8e\x03\xde\xab\x0a\x23\xee\x61\x41\x8a\x78\x2b\xbb\x60\xc9\x29\x20\xe9\xaa\x09\x96\xd4\xcb\xae\x0f\x44\x57\x88\x9f\xe6\xc2\x68\x34\x12\xf0\x44\x80\x10\x09\xd6\x1f\x55\x42\x59\xd7\x46\xde\x15\x0a\x19\xbb\x9b\xa3\x35\xc3\x95\x82\x87\xc0\x81\x50\x89\x5d\xa8\x04\x35\xa7\x54\x5e\x34\xe8\xe0\x22\xbd\xf4\x3d\x6b\x83\x4a\x1c\x91\xf9\xa2\x41\x0b\xf7\xe6\xa9\xa2\x66\xbc\xaf\xa2\xb2\x79\x88\x24\x6c\xdb\xc4\xaa\x43\x75\x99\xd2\x77\x3d\x6a\x83\x48\x80\x25\x82\x9d\x8e\x30\xa6\x7a\x11\xcb\x6c\x4a\xc5\xcf\x5e\x13\xe0\x85\x00\x47\xb4\x9a\xc6\xd2\x86\x38\x61\xc4\xc4\x18\x8c\x99\x60\xa3\x25\xde\x5c\xa1\x5a\xf7\x4a\xdd\x82\x93\x0e\x87\x2c\x1d\xfa\x77\x53\xc6\x6d\xa9\x6b\x44\xb6\x24\x46\x0b\x60\x6c\xd8\x70\x17\x2b\x46\x71\x93\x91\x01\xd2\x2f\x73\x55\x47\xf2\x81\x91\x24\x7d\x15\x70\x98\xc5\x8d\x4a\xd8\x88\x13\x37\xeb\x1d\x1c\xc1\x62\x3e\x26\xc8\x4c\xee\x89\x88\x5b\x1f\x9a\x45\xd4\x1d\x1b\x9e\x5d\x3d\x6a\x65\x2e\x2d\xd2\x8a\xab\xb1\x84\xec\x23\x02\x24\xbe\xc0\x48\x28\x14\x90\xf8\xba\x68\xad\xb5\xb6\x47\x16\xde\xbf\xe5\xc4\xbf\xbc\x9c\x50\x45\x39\x80\x33\x2f\x3d\x3c\xd9\xf8\xb9\x29\x2a\x25\x0d\x61\x41\xbe\xd8\x69\xe4\x7a\x0c\x14\x7d\x4f\x97\xa9\x4b\x28\xab\xf2\xca\x71\x49\xbf\x26\x5a\x38\x1e\x21\x3c\x96\xd4\xcb\xd8\x9d\xe4\xfa\x52\x00\xd0\xd7\x54\x69\x3f\xa2\x32\x87\xca\xbe\x83\x78\xbf\xc7\x43\xe2\x8f\xb2\x34\xf6\x38\x75\xa8\x19\xb9\x91\x91\x5e\xd3\x47\x24\xd4\x45\x96\xde\x9c\x17\x31\xc6\xc8\x04\xda\x6a\xd9\x3b\x53\x33\x33\x94\x49\x38\xfa\x65\x24\x63\xcd\x88\x39\x96\xb6\xfb\x1f\x64\x78\x20\x5b\x69\xec\x65\x57\x3f\x42\x41\xc6\xb5\xd9\xca\xac\x48\x20\x24\x88\x85\xad\x2d\xf5\xd2\xa8\xae\x06\x1d\x37\xb6\x0d\xbc\x3f\x99\xd9\xf1\xb5\x3b\x95\xd5\x6d\x13\x61\xd3\x81\x93\xee\xf2\x11\x51\xa1\xc4\xf1\xe4\xa8\x05\x1c\xb8\xfa\x52\x29\xb2\xda\xae\x38\x0b\x21\xce\x09\x54\xcc\x4f\x81\x9a\xb2\xe1\x91\xf3\xc9\xd0\x76\xf3\x9f\x84\x2a\x78\xbb\xe0\xa8\x90\xa5\x0c\x56\xf6\xfd\x78\xd5\x1d\x6a\x38\x51\x5b\xa1\xef\xe2\xe4\xa7\x9c\xe2\x06\xf4\x1e\x99\x23\xae\x2b\xab\x6b\x79\xc0\xb9\x09\x1c\x55\x97\x15\x2a\xfd\x87\xfc\xfe\xb5\x51\x1a\xac\x73\x5c\xba\x63\xad\x20\xc3\xb2\xf2\x6b\x24\xac\xab\x21\x3c\x09\x45\x6c\xfa\x9e\x3b\x86\xb0\x08\x60\x91\xe3\xa4\x44\x1f\x82\x2f\x40\x86\x96\x16\x8b\xaa\x8d\x41\x2b\xd0\xf1\x89\xd2\xbf\xd5\x10\x5e\x39\x8e\xde\xd7\x70\xcf\xdd\xd4\xa8\xb7\x1d\xca\x96\xbb\x7d\xe7\xc3\x83\x25\x8a\x56\x77\x7c\x2b\x9f\x00\xfb\xbb\xf0\xbe\xff\x0e\x99\x6d\xac\x2f\x53\xc9\x33\xbe\x26\x35\x3b\x64\xbe\x56\xe9\x6a\x45\xdf\xe8\xd3\xe9\x2c\xeb\x1d\x33\xa6\x26\xc8\xc1\xfd\x27\x13\xe4\xfd\xf5\x2d\xcf\xcf\x4f\x82\x64\xd5\x59\x21\xc0\xad\xe8\x3a\x28\x92\x36\x14\x78\x33\xfc\x61\x52\xbc\x3b\xc7\xcb\xa6\x43\xd0\xe3\xec\x23\x81\x2f\x2b\x43\x93\x3d\xf9\x90\x2c\xf5\x1c\x14\x4a\x09\x89\x02\xd4\xe7\x12\x2a\x71\x89\x8e\x82\x8a\x0f\xa5\x5e\x1f\xa9\x72\x76\xd4\xe2\x17\x15\xe1\x43\x26\xf6\x26\x40\x86\x3c\xd4\x21\xef\x09\x1b\x17\xd4\xc4\xa2\xc8\x83\x6a\xac\x6a\xc5\xe8\xaa\xa6\x1c\x85\x52\xd1\x1a\xa8\x45\xfc\x92\xbc\xde\x81\x0d\x7d\x66\x7d\x2b\x1c\x77\xea\x3a\x34\x03\x6e\x5b\x92\x4e\xb2\xe6\x34\xbe\x7b\xd1\x6e\xb0\x13\x9c\x19\x3a\x39\x3b\xfd\x2f\xcf\x20\x3d\x43\xe0\x86\xfa\xfe\xb5\x90\x17\x19\x9a\x0e\x86\x38\x8a\x55\x75\x19\x71\xc0\x7c\xb7\x1c\xe7\xb5\xec\xd4\x3c\xd0\x7f\x46\x2c\x12\x93\x53\xb1\xbf\xb7\xb4\x86\x29\x91\x20\x3b\xb9\x0a\x3e\xb6\x2f\xdf\x28\x4a\x20\x9f\xb2\xfe\xa2\x3f\xec\xb5\x1e\xf2\x29\x22\x65\x5f\x84\x65\xa0\x75\x20\x3b\xa7\xc4\xa6\x46\x25\x65\x9f\x49\x60\xe3\xfa\x5a\x9e\xd1\xb0\xf7\x37\x35\xce\xea\x15\xce\x24\x57\x38\xd3\x15\x5f\xf6\x65\x00\xc4\xd4\x23\xfe\x73\x9c\xe9\xd7\xff\xba\x11\x5f\xfb\x91\xef\xb7\x2e\x86\x85\x4f\xee\x22\x04\x29\xda\x29\x49\xac\x3b\x65\x05\x43\xed\xe2\xcb\xa4\x31\x83\xcf\x43\x5b\x8b\xdc\xcb\xf1\x22\x78\x4c\xab\x27\xf2\xde\x8c\xfc\x38\x58\x79\x56\x2d\xa2\x29\x86\x0d\x8e\xc6\x6d\x0c\x33\x21\x69\xaa\x0f\xe5\x12\x9f\x54\x69\xc4\xb6\x42\xb1\x93\x37\xf3\xd5\x12\xb8\x49\xed\x29\x45\x30\x18\x5f\x90\x80\x32\x99\xfa\xe2\x48\xe4\x28\x83\x2c\x90\x66\xb2\xed\xb0\xbc\x9c\xfb\xfb\xfe\xc6\x99\xd8\xdc\x05\xca\x4b\xa4\x12\xb1\xab\x8a\xfc\x90\x39\x34\x8a\xb0\xf9\x7c\xa3\x66\xae\x13\x2a\xd1\xb2\x0f\xaa\x25\x46\x2c\xbe\x4b\x4f\x13\x0c\x91\x1a\xc4\xba\x5a\xc6\xf3\xbd\xb1\xab\x05\x0a\x97\x9a\x57\x5b\x4e\x61\x11\xfa\xee\x53\x81\x4e\x64\x65\xef\xaa\x84\x81\x1b\xa5\x67\xf8\xc2\x85\x3d\xe9\x0b\x89\x5b\x75\x64\xa3\x94\x1d\xf9\xeb\x88\xf0\x13\x2b\xa4\xe0\x24\xd6\x2f\xcc\x68\xad\x74\x50\xcb\x1d\xaf\x3d\x97\xfd\xc4\x17\x4c\x01\x9b\x29\x89\xad\xe8\x6e\x80\xd8\x80\xa9\xb9\xac\x37\x2d\xf2\x41\xc7\x79\xcf\xb0\xf2\xfd\x20\xaa\xca\x61\x07\x43\x9a\xb2\x7b\xa1\xac\x4c\x0e\xbb\x11\x5c\x32\x01\x2c\x3c\x61\xde\x62\x84\x26\x1b\x20\x62\xc2\xa8\x80\x57\x1d\x36\x4e\xf3\x3c\xb5\xa1\x06\x4a\x15\xaa\x65\xcc\xbd\x34\xc9\x90\x58\x5c\x82\xd3\x5a\xa2\x5a\x5a\x2f\x3b\x6f\x67\x58\x41\x2d\x86\x7d\xf7\x92\xcb\x01\xc2\xb0\xa9\x49\xd0\x32\x62\x3e\xa8\x78\x56\x42\x35\xc3\xc3\x9f\x1d\xde\x8a\x8f\x2e\x92\x2f\xb6\xb5\x15\x7b\x89\x8b\x49\x47\x15\xd5\xdf\x07\x15\x73\x5e\xb0\x0f\x07\x6b\x6c\x38\xd1\x8f\xc7\x46\x47\x63\xd9\xb2\x82\x16\x39\x6f\x3d\x2a\xc7\x47\x81\x7c\xac\x55\xcd\x53\x47\x49\xb9\x65\x75\x54\x9a\xf2\xbe\xe7\x3c\xba\x6a\xfa\x32\x58\xd9\x7d\xd3\xbc\x2e\xae\x9a\xd3\x53\xa2\x52\x11\x0c\x56\xcd\xe6\x40\x70\x95\xa7\x14\xda\x2e\xe9\xb2\x1d\xac\xec\x7b\x6c\x05\x1e\x88\xe5\xa4\x54\xab\xf5\x16\xcf\x83\x95\xd6\x72\x6e\xaa\xb5\xeb\xcc\x8c\x09\xa5\x71\x10\x42\xb9\xe2\x58\x96\x5a\xae\x2f\xe8\xb4\xcc\x53\x55\xf6\x8d\x20\x78\x9e\x34\xf8\x0b\x24\x25\x22\x69\xaa\x0d\x49\xdf\x66\xd4\x06\x07\xaa\xd0\xad\xc5\x73\x2f\xfb\x95\xaa\x75\x72\x4e\xb6\x6c\xe1\x85\x6a\xbe\xa8\x46\xd4\x11\xaf\x6c\x79\x4f\x21\x65\x2a\x0c\x8b\x86\x29\x20\xc5\xb2\xc9\x4c\x50\x2d\x90\x6d\x46\x1f\x48\x7d\xa2\xaa\x65\x79\x48\xe4\x5b\x7b\x09\x94\x58\xaf\xa7\x1b\xd9\x44\xce\x2b\x35\x13\x0e\xdf\x5b\x9a\xc5\x2e\x51\xd5\x61\x49\x35\x3f\x29\x45\x83\xac\x47\x19\xcc\x0c\xc6\xa3\xe3\x19\xc7\xb2\x7b\x1a\x2a\xf7\xc9\x07\x92\x94\x56\x66\x47\xc1\x9a\x63\x35\xb4\xd5\x68\xb6\xb2\x4f\x06\x1c\x80\x4b\xb4\x30\x67\x88\xd8\x9c\xa9\xb2\x23\x88\xc6\x59\x4e\x60\x90\x52\x94\xec\x28\xe6\xba\x27\x5f\xb2\x23\x09\xb6\xd4\x90\xbb\x18\x5f\x8a\xca\x7d\x55\x74\x32\x52\x00\x63\x23\x4d\x89\xcd\x17\x65\xab\xf0\x93\x9b\x98\x13\x48\x97\x26\xd1\x91\xda\x80\xd5\xcb\xf2\x70\xd9\xbc\xb0\x54\x8d\x09\xbd\xec\x0f\x89\xcf\x70\xe4\x80\x51\x5b\xac\x38\x2f\x7d\x1c\x1f\x4d\x9c\xdf\x40\x97\xb5\x28\x09\xdc\x07\x79\x87\x65\xfb\xf7\xbf\xfd\xfb\xa4\xf5\x9f\x75\xc3\xe3\x7f\xd8\x49\x6b\x37\x41\xcb\x35\x80\xd3\xe3\xe4\x74\xd4\x0e\x4c\x37\x2c\x1a\x3b\x48\x9d\x1c\xb9\x2e\x6a\xba\x09\x81\x7a\x3e\xd3\x3d\x38\xf2\x32\x8f\x96\xc4\x55\x9c\xb0\xe2\xe1\xc9\x21\xec\x65\x1a\xce\x28\xa9\xdf\xb9\x3a\xff\xbd\xab\xfe\x2f\xbf\xab\x8e\x24\xb7\xc8\x97\xb5\x01\x8c\x70\x3e\x7c\xc5\x59\xec\x8a\xaa\x5f\x1b\x55\xbe\x1c\xa2\x2e\x8d\x84\x31\x59\x37\x76\xed\x23\x32\xbf\xb3\xfe\x9b\xfb\x2b\xc0\xcb\x88\x3c\x6f\x1f\xe5\xf6\xbc\x91\xf7\x53\xee\xff\xfd\xb7\x7f\xe6\xbf\xfd\x33\xff\xc9\xfd\x33\x2b\xac\x92\xa5\x7b\xa6\xad\x49\x00\x41\x66\x6a\x38\x9e\xc2\xe6\xe4\x76\x8e\x8c\x17\xc6\x1b\xb9\xe2\xbe\x61\x79\x9f\x9b\xdc\x88\x64\x27\xdd\x97\x62\x79\xe7\x88\x26\x6f\x77\xaa\x26\xa4\x55\xba\x8d\x77\x9f\x4d\x88\xef\x58\xaa\xff\xf6\xef\xfc\x57\xf2\xef\xf4\xd7\xfd\x3b\x5f\xb0\x50\x58\x8e\x0c\x71\x73\x9d\x18\x2b\x4e\x6a\x60\x5c\xaf\x6e\x9c\xd1\x62\x06\x29\x8a\xdd\xe8\x96\x35\x4e\xc4\x8f\xe9\xef\xc7\x8d\xdb\xbe\xcb\x41\xf4\xd7\xbf\xdc\x9b\x70\x2c\x62\x93\x2f\x20\x28\x6d\x1e\xf6\xa3\xf4\x52\xcc\xd5\x95\xf3\x72\xdf\x3b\x46\xec\x18\x21\xe5\xc1\xf2\xaa\x83\x46\x4c\x4d\x2c\x9f\xaf\x47\xc6\xa1\xb0\xc6\xca\x51\x0a\x3e\x5a\xbe\xbd\xad\x74\x11\x69\x4c\xc6\xb7\xce\x17\x81\x13\x71\x5f\xd3\x8b\xf0\x1c\xec\xd8\xd0\x66\xe7\x64\xeb\x25\xda\x52\x07\x6e\x76\x35\xac\xfa\xe5\x96\x27\xd4\x0d\x5f\xf3\xe6\x3b\xbd\xbf\x20\x33\x2f\xae\xb1\xbf\x3c\x9c\x5e\x64\x86\x01\xee\xee\x47\x5e\xd6\xf9\xba\x8b\xbd\xb4\xce\x0d\xbc\x2c\x66\xcb\x47\x4a\xc9\x70\x14\xb0\x21\xb3\x98\xae\x4c\x21\x56\x00\x29\x2c\x2f\x3a\x7d\x0e\x15\xbc\x23\x13\xa9\xda\xd6\x71\x63\xae\xe2\x27\xa0\x95\x63\x87\x56\xd6\xfa\x57\x70\xd1\xae\xa7\x0e\xc9\xc0\x9d\xb8\x0e\x6c\xfe\xa2\xcf\x16\x8a\xdf\x0b\x31\xce\x1d\xd7\x3c\x4e\x71\xcd\x3f\x9c\x90\xe3\xf1\xa7\xfd\xef\x3f\xff\xfa\xcb\xb7\x3b\xe1\xc5\x87\xbc\x00\xcf\xc1\x97\x7c\xc8\x9b\xa0\x37\x79\x0e\x9e\x63\x4f\xbf\x7f\xc5\x0f\x6d\x8d\xba\x11\x37\x11\x6f\xe2\x3d\xe7\x4e\xbc\x95\xb7\x0f\xf1\x7e\x72\xb0\xc3\xdb\xda\xf7\xd2\x33\xeb\x92\x56\x89\x23\x3c\xa8\xed\x50\xda\xcd\x8b\xcb\xd0\xbc\x80\x4e\x8c\xb0\x2b\x8b\xa8\x3d\x49\x83\x78\x95\x29\xa5\xed\x9d\xaa\xfe\x84\x5d\x79\x9c\x16\xbb\xb1\xd6\xdb\x97\x9f\xc3\xba\x23\x3c\xcb\x17\xc8\x8d\x5a\x45\xe2\xa2\x74\x20\xc9\x7c\x3d\x82\x2f\xdf\xc6\x65\xb4\x87\xbd\x2f\x70\xc0\xc3\xe6\x58\xce\xf8\x94\x4b\xe0\xa0\xaf\x11\xfb\x9a\xaa\x7a\xb9\x7e\xf1\xfd\x2b\x76\xfc\xac\xf2\xf1\x06\x77\xbe\x03\x98\x4e\x8b\x96\xcd\x01\xa6\xf8\x16\x28\xd6\xa4\x61\x6e\x6c\x99\x1b\x9b\xe6\x2e\xe3\xd0\x63\x3a\x1f\x86\xb4\xf4\x8f\xe7\x4d\xbc\x0d\x79\x70\xff\xa2\xbb\x53\xd7\xf2\x70\x00\xd4\xc5\x41\x66\xda\x50\x71\x54\x0e\x86\xb0\x8d\x9f\x18\x4b\x2e\x1e\xdc\xe4\x37\x28\x33\x8e\x4a\x1f\xa9\x42\xfe\x72\xbb\xb7\xdb\x85\xa6\x3f\x39\xd4\x20\xf7\xac\xb7\x5b\xc1\x97\x19\xcb\x0d\x3b\xe7\x4c\x39\x56\x82\xea\xe5\xcd\xe3\x2b\x1d\xa8\xd5\xb8\x87\xf1\x05\x73\x9d\x22\xbc\xd5\x53\x15\x5d\x70\x8d\xeb\x9e\x5a\x36\x53\x5e\x59\x01\x8e\x50\x3a\xaa\xd8\x29\x6f\x60\x9b\xda\x9f\x07\x87\x47\xd5\x08\x67\x4a\x8d\xb1\xf1\x39\xe8\x0d\x56\xb1\x9a\x43\x71\xd1\x5c\x3b\x01\xef\x6c\x6a\x23\xec\xf3\x9c\xab\x91\x95\xf1\xd6\xc3\x1c\xbc\xcc\x77\xd8\xb1\xd7\xd9\x8f\x23\x18\x19\x00\x36\x4f\xc0\x6c\x35\x59\x75\x72\xd5\x30\xa4\x9e\x26\xd0\x65\x2c\x43\x3c\xd5\x0d\x90\xb3\x67\x06\x72\x8d\xac\xc0\x11\x3f\x4a\x11\xb9\xcc\x41\xf4\x61\x8a\xc8\xfc\x89\xb3\xd9\x5f\xdf\xde\x76\xbf\x3c\x8a\xe0\xd1\x7a\xc4\xf4\x6b\x3d\x58\xa8\xf1\x6e\x1e\x1f\x7e\xfe\xeb\x99\xf3\x29\x1d\xe0\xa8\x30\xbf\xc3\x9d\xff\x7c\xe5\x7c\x70\xe9\x74\xed\x1e\x14\xcf\xf5\xe4\x0c\x6f\xef\x69\x7e\xcb\xd8\x90\x2e\x97\xc2\xf2\x3c\x1f\xf1\xac\xe9\xb9\x8e\xd0\x9c\xd3\x4b\xe3\x13\x80\x86\xe2\x7c\x5a\x45\x10\x73\xc7\xc8\xe3\xfc\xcc\xf9\xfd\x4d\xe9\x51\xff\x9d\x5c\xd2\x06\xa7\xc3\xf8\x56\xce\xcf\x75\xe3\x69\xee\x17\x51\x7f\x3d\x6c\x55\x9f\xfb\x28\x3e\x14\x41\xdb\x67\xf0\xb1\x00\xec\xdc\xd1\x8c\x5e\xd3\x21\x00\x04\x66\x37\x8f\x42\x3e\xff\xf5\xcc\x7c\x0a\x07\x20\xc9\xcc\xef\xb8\xec\x2e\xbd\x32\x1f\x5c\x38\xf1\x32\xde\xbd\xd3\x41\xa3\xf4\x9c\x4e\x2e\xac\x85\x23\xf3\xd8\x8c\xce\xe6\x84\xd2\x22\x78\xda\x03\xf9\xcd\x70\x6a\xae\xb2\x74\xd5\x0a\x07\x66\x6b\xc1\xfc\xf9\xce\xd7\x18\x8b\xb2\xc3\x46\x9d\x5c\xd0\xf6\x86\x43\xe8\xaf\x65\x7e\x4e\x1b\x0f\x73\xbf\x88\xea\x01\xbb\xb8\xaa\x9d\xfb\x20\x3e\x38\x81\x7f\xdb\x7d\xbb\xa5\xbc\x6d\xce\xde\xc6\x7b\xa6\xc6\x52\xa6\x86\x13\xf1\xb6\x80\x6d\xa5\x16\x2b\x8a\xa3\xcb\x64\x01\xe9\x0b\xfd\x3c\x96\xa8\xff\x80\xfc\xa7\xd6\xe9\x3c\xe1\xbb\x3e\x8a\xc7\xf5\x82\x5b\x3e\x4d\x51\x79\x92\x3e\xad\x57\xf0\x86\xf7\x37\x57\x71\x4c\xad\xb2\xab\x1c\x19\x16\x57\xc4\xe1\x38\x4a\x67\xbf\xa0\xec\xbf\xd8\x55\xfc\xb2\x0a\xcd\xfa\x07\xc3\x89\xdd\xc5\x41\x31\x7d\xd7\xd5\x80\x47\xa6\x8f\xb1\xe5\x11\xa9\x21\x5d\x25\xf5\x4d\x3a\xaa\x38\xdc\xae\xe9\x25\x13\x23\x91\xf8\xfc\x72\x8c\x41\xff\xa9\xed\x9e\xb1\xf1\x52\x27\x0a\x87\xd7\x07\xf5\xdf\x11\xbf\xdb\x3d\x93\xab\x31\x06\xd4\x70\xc4\x05\x87\x9b\xde\xdf\x5c\xd6\x69\x1b\x12\x71\x91\x23\xb6\x7a\x5c\x20\x31\xac\x5c\x86\x6d\x5b\xd8\xca\xfe\x8b\x5d\xc5\x2f\xcb\x70\xa4\x1f\x83\x5c\x76\xcf\x94\xfc\xf2\x8b\x69\x67\x8f\x63\x94\xb1\x09\x19\x48\x86\xc1\xa2\x6a\x9a\x0c\xcc\x87\x4a\x9c\x77\x81\x12\xb0\x1b\x93\x1f\xb7\xcb\x9a\x74\x31\x72\x7e\xc0\xf5\x1f\x9f\xf5\xc9\xa7\xe5\x13\xfd\x15\x80\x8a\x70\xb2\x93\x41\x46\xdc\x85\xc1\xbe\xab\xed\x14\xdf\xdf\x38\x0d\xfe\xea\xd5\x87\xb8\xcd\x79\x6c\x1e\x85\xec\x28\x18\x9a\x21\x74\xdb\xb1\xe9\xda\x36\x44\xc3\x40\x06\x69\xe9\xd1\x49\xbe\xe0\xa6\x72\x7b\x9a\x5f\xf3\x23\x66\xc4\x5b\xd0\xa5\xbf\x33\xd4\xdb\x91\xd7\x87\xe1\xf2\x37\x60\x78\xde\xdf\xd8\x0f\xfe\xc3\xbb\x3e\x37\x1e\x7f\xdd\xfd\xfe\xd3\xff\xd9\xdd\xc0\x2a\xbe\xed\xa2\xe6\x0d\xb8\x37\xed\xfa\xd0\x78\x07\x3f\x7f\x1c\xf2\x63\x67\x37\x46\xd5\xa1\xd9\x74\xd8\x38\xa0\xc0\x9e\x07\x12\x30\xd6\xc3\x0a\x73\xb4\x01\x96\x55\xe5\xea\x73\x06\x24\xd2\x62\x0c\xbd\xc3\xe8\x83\xf0\x86\x11\x06\xc4\x7e\x78\x6e\xa7\x25\xba\x0f\xbc\x3e\xec\xaf\x03\x9c\xb5\xa7\x4d\x20\x8e\xd1\x51\x60\x81\x2b\x9d\x35\xb3\x77\x84\x2d\x49\x91\xed\x4e\xc7\xa2\x4c\x5f\x38\xef\xc9\x37\x71\x24\x31\x11\x47\x71\x94\xd8\x3e\x4b\xad\x27\x17\x54\x44\x4b\x51\xd3\x4f\x6d\x32\xb8\x3e\xf6\x8b\xc0\x33\x28\x56\xc7\xd3\xf8\x82\xf3\xd8\x99\x76\x35\x84\xe9\x4c\xb3\x19\x21\xe7\x99\x66\x17\xc0\x30\x20\x7d\x37\x74\x62\x20\xba\x6e\x2a\xd6\x61\x53\xad\x0e\xdb\x4a\x75\x78\x7f\x43\x42\xf2\x8e\xa5\x72\x9b\xf0\xbe\x8a\x2d\xe7\x8f\xdb\xfd\x63\x48\xf4\xe3\xa5\xfb\xff\xff\x5f\xff\x3f\xef\xfd\xff\xba\xce\xe2\xe0\x87\xb1\xa4\x10\xc7\x54\xb1\xc7\x9a\x42\x3e\x3a\x6a\x21\x50\x03\x88\xf0\x05\xe9\xd4\x3b\x42\xfe\xb1\xbd\x23\x6e\x0e\xec\x9f\x42\xcb\xfa\xab\x83\x47\x94\x6a\x81\xb2\xcc\x6e\x01\xac\xb0\x92\x4e\x94\x9e\x75\x3d\xc8\x02\x77\x0a\x03\xf5\x9c\x4f\x66\x11\xb5\x9c\xe7\x46\xa3\x99\x87\x48\x5f\x21\x38\xde\x23\xa5\x26\x1f\x5a\x7f\x21\xf9\x80\xb3\xce\x5c\xc8\xb7\x62\xed\x3b\x9e\x5b\xbf\x84\xb8\x92\xa8\x32\x94\x5f\x70\x44\x38\xb4\x25\xb0\x3d\x71\xd4\x3a\xf7\xd6\x35\x6e\xe8\x58\x68\xb9\x77\x10\x1e\xb2\xa0\x6f\x20\x28\x87\xe6\xd0\x18\xbb\x38\x23\x30\xab\xe7\xa8\x6b\x07\xb0\x54\x6c\xeb\x1b\xfe\x5a\x7d\x2c\x39\x8f\xb8\x3b\x33\x84\x5f\x9b\x9b\xf7\xaf\x70\xfd\x58\xc6\xd8\xea\xe7\x7c\x93\x39\xe9\x7a\x00\x06\xf5\x1c\x56\xdb\x77\x4b\x74\x84\x2f\xe7\x50\x89\xa1\x09\x77\x18\x6e\xa1\x2d\x6b\xb8\xfb\x00\x6f\x19\xc4\x48\xec\x90\x87\x69\x32\x31\x9b\xbb\xe5\x96\x5f\x17\xe8\x4f\x93\x96\x87\x61\x99\xc1\x2d\x3d\xba\x1e\x7e\xfb\xe5\xa7\xdf\x2c\x15\xea\x1d\xa9\xc3\xc1\x9c\xf9\x2a\x6a\xeb\xa9\xe8\xd0\xd4\x58\x1c\x85\x04\xf7\xd9\x0c\x97\x11\x0f\xe8\xb2\xaa\x92\x3b\x87\x36\x58\x69\x41\x2f\x88\x3f\x79\x4e\x94\x45\x8e\x91\x38\x66\x04\x6d\x96\x65\xf4\xe7\x74\xa3\x3e\xe2\x08\xcd\xc0\xba\xa7\x1e\x26\xde\x12\x0c\xdf\xb1\x61\x8f\xd7\x0d\x9c\x48\x8d\x69\x4a\x7b\x56\x6e\x8d\x63\xb7\x54\xaa\xa3\xa8\x4d\x4c\x82\x23\xea\xb4\x8b\x08\xfd\xb4\xb2\x6f\xab\x57\x38\xf7\xa4\x93\x2b\x1f\x66\x44\x5a\x8e\xef\xc7\x09\x98\xb0\xbb\x72\x05\xe9\x20\xae\x33\xdd\x60\x93\xb5\x3d\x47\x4a\xf9\x28\x84\x78\x8f\x0d\xd7\xee\x1e\x3b\xdb\x75\xaa\xf9\xc8\x75\x74\x93\xcb\xb5\xb9\xf3\x10\x4e\xa8\x00\x0d\xce\x9e\xd2\x21\x51\x56\xe5\x44\x6c\xeb\x7d\xe8\xfe\xdb\x06\x9f\x7e\x3a\x6f\x4e\xdf\x39\x24\xf7\x64\x2e\x37\x9f\xf5\x15\xc9\xf1\x9c\xe2\x2e\x04\x37\xdc\x20\x38\x5f\x40\x6f\x07\xf6\x54\x55\x91\xd8\xa4\xb8\x9e\xe1\xb5\x13\xdc\x15\x7a\xe3\x09\xb9\x5d\x3f\xb0\xea\x04\x37\xa5\xec\xe7\x42\x69\x97\x88\x43\x1b\xac\xec\xbe\xb6\x23\xbd\x3d\x2d\xe8\x8d\xfb\xd1\xce\x77\x93\xdb\x3d\xc9\xd1\xc7\xb1\x5d\x62\x13\x5c\xa1\x36\xd3\x8f\x1a\x68\xe0\xa5\x91\xa8\x49\x5b\xea\xea\xd4\xe8\x0a\x39\x9d\x61\x74\x56\x97\x78\x72\x68\x7a\x21\xe2\x71\x73\x6a\x42\x6a\x18\x8c\xf2\x9d\x94\x86\x75\x77\x3b\x7f\xf6\x65\x30\xfc\x7a\x93\x71\x54\xbd\xcb\xde\x41\xa2\xc3\x31\x24\x37\x80\x20\x80\xca\x8c\xe2\x56\xb4\x06\xb5\x1c\x27\x23\x4a\x6b\x98\x7c\x23\xb8\xc5\x80\x8d\xe9\x33\x8f\xee\x46\x82\x4d\x6f\x57\xb7\x52\x73\xf6\xd4\x9d\x40\x20\xe6\xaa\x1a\xf2\x6b\x81\x58\x05\x5b\xa3\xd8\x54\xd4\x94\x06\xef\x04\x24\xa8\x94\x15\x8d\xf1\x98\x10\xe0\x70\x2f\x89\x5d\x06\xf5\x2e\x8e\x76\x75\x50\xd7\x34\x56\x0c\xa8\x51\x69\x6c\x8b\xa1\xcd\x80\x35\x36\x88\xec\x82\x02\x46\xcb\x3c\xd8\x3c\x27\x32\x65\x11\xf2\xba\x41\x64\xb5\xef\x9b\x1d\xbe\x93\xc6\x3e\x4c\xca\xdf\x07\xa3\x25\xa4\xcd\xc8\x4b\x6f\xb6\x31\xb9\xf9\xe6\x54\xfb\x39\x21\x6c\x25\x4e\xef\x89\xd5\x41\x08\x10\x71\xaf\x90\x6e\x38\x56\x00\x21\x98\x80\x33\x42\x80\x88\xa3\x5a\x0b\x35\xb8\xbd\x33\xb0\x3e\xe0\xe4\x85\xf8\x8c\x7a\x28\x1b\x87\x8f\x65\x17\x88\x03\xbc\x43\x43\x1f\x6f\x2c\x01\xb7\xb9\x04\x60\xb5\x66\x4a\xaf\x26\xdf\xad\xe7\x58\x02\xdf\x39\xac\x1f\xd3\xd8\x06\x37\x9a\x38\xf8\x6d\x50\xc3\x24\x3d\xd3\x15\xc9\x67\xce\x1e\xc9\x30\xbf\xf2\xe9\x8a\xe0\xc3\x5f\xd7\x8f\x6a\x17\xe2\xba\x74\x33\xf4\x2c\xae\x41\x84\x77\x8e\x86\x71\xf4\x3b\x39\xd9\x79\xf3\x77\x75\xac\x5c\xf6\xc6\xc6\x86\x33\x1b\x1b\x26\x6c\x8c\x32\x27\xca\x29\x50\x83\xd3\x68\x8a\x0d\xdf\x94\x7c\x78\xe4\x65\x6e\x9b\x99\xfd\xc8\xf4\xfe\x69\x93\x99\xb9\x33\x37\x73\xd7\xb9\x99\xb7\xa4\x6a\x48\xeb\x76\x2f\x3b\x9b\x0c\xed\x3d\x12\xf3\xda\xd0\xae\x27\xbc\x5d\xb8\xd9\x4b\xde\xf0\x3d\x9a\x46\xde\x5d\xa3\x43\x7f\x5c\xf3\xb2\x99\x5a\x77\x8b\x9b\xf9\x32\xb2\xf6\xef\x10\x99\x36\x1c\xf7\xf1\x33\x4f\x3e\x86\x25\x3f\xe3\xcf\x64\x95\xe6\x45\x56\xe9\xb4\xc9\xcf\xdc\x99\xa1\xb9\x0b\x43\x5b\x6a\xeb\xec\x26\x0c\xcd\x95\xa5\x27\xe0\x72\x31\xb8\xcb\x6a\xd8\xe6\x68\x9e\xe3\x94\xa3\xb9\xef\x67\x69\xe7\xa1\xfd\x98\xce\x40\x2f\x4b\x0d\xcb\xcd\x54\xac\x75\xbe\xe9\x91\x5e\xb6\xe5\xe2\xe8\x22\x79\x95\xa7\x61\x4b\xba\x33\xb5\x65\x60\xab\x8d\xd8\x5a\x62\xb7\x09\x53\x7b\x39\x37\xfa\xce\xf1\xf8\xfb\xdf\xee\x35\x3c\x41\x62\x03\xaf\xb4\x75\x37\xcd\xa2\xbf\x95\x29\x9f\xc7\x34\xfa\x5b\xd7\xa6\x49\xf4\xcd\x2e\xac\x9b\x66\xe1\x68\x15\x9a\xf4\x84\x97\x62\x45\x88\x28\x40\x48\xa6\xd2\xf3\xb4\x6c\x1d\x62\x2b\x00\xaf\x30\x9a\xc6\x6e\x62\x1a\xbb\x6d\x4b\xc5\x4c\x63\x3f\x35\x8d\x07\x74\xfd\x3b\xc7\xf5\x4e\x32\x6b\x37\x92\xf4\x6c\xd0\x99\xbf\x4d\x81\x17\x9b\x31\x6d\x9a\x8c\x7c\xfe\x6b\x05\xf7\x30\x49\xae\xb6\x48\x9f\x06\xd5\xbc\x3c\x3f\x24\x3a\xff\xfe\xb7\xbb\x6d\x4d\x8e\x48\x2a\xbb\xa2\x33\x3f\x25\xb3\x0d\x4a\x1a\x25\xd8\x26\x09\x7a\x37\xa5\x33\x13\x6c\x20\x34\x15\x6e\xae\x13\x9a\x49\x36\x15\x71\x17\x42\x5b\x09\x37\x98\x83\x18\xb9\xb2\x11\xc1\x33\x52\xd9\x85\xc8\x86\x1b\x44\xc6\x30\x87\xfd\xdc\x1c\xfe\x5e\x2a\xbb\xd7\xce\x84\x86\xb6\x20\x33\x3f\x13\x7e\x4b\x05\xcd\x5f\xd3\xdd\x78\x1e\xaf\xde\x49\x61\xc3\x5e\xc4\x68\xd5\x35\xaa\x88\xbf\x46\x65\xe6\x60\x50\x26\x16\x6e\xbb\x87\xc8\xfe\xf6\xf7\x1f\x7b\xe4\xdc\xb4\x15\x75\xb1\x00\x2a\x00\xff\x4f\xf1\xe6\xc6\xee\xc6\xba\xc9\x70\xd3\x4f\x9b\x6b\x6a\x3c\x2e\x51\xd5\xa0\x9f\xe5\x6f\xa7\x24\x8c\x9b\x29\x09\xe3\x95\x94\x84\x1b\xbf\xbb\x99\xd5\x3e\xa5\x8a\x34\xf8\x59\xf0\x2b\xbe\xbe\x86\x43\x7c\xdd\xda\x95\x78\x0d\x07\x59\x7b\x04\x0a\x77\xb7\x0f\xea\xae\x31\x4b\x4b\xf3\x59\xf8\x14\x6e\x5c\xda\x70\x32\x84\xa3\x8a\xf0\xb3\xea\x1f\xa7\xe5\x93\x3d\x53\x90\xf0\xc1\xc5\xeb\x17\x37\x92\x6a\x72\xe8\xf9\x0a\x38\x52\x7a\x5e\xf4\x10\x12\xf6\x39\x9c\x5c\xb8\x72\x65\x23\x1f\xae\x91\x6c\x78\xae\x94\x5e\x17\xce\xa8\x36\xb8\xef\x5f\xe3\x98\x24\xe1\x8f\xc8\x67\xfd\x51\x1a\xed\xd1\x7f\xee\xa3\x83\xe6\xbf\xfd\xfd\xc7\x9e\xfb\x03\x62\x28\x7d\x81\xa7\x65\x1a\xa0\x62\xea\x17\xfd\xf9\x14\x6e\xf8\x41\x86\x1b\x23\x71\x52\x3e\xf4\x85\xd9\x2a\x63\x4f\x31\x0e\xb6\x66\x86\x04\x5f\xc3\xf7\x37\xb2\xfc\x13\x27\x17\x0e\xe1\x14\x0e\x6e\x11\xa7\xa9\xaf\x9f\x38\x1e\x2a\xb9\x53\x79\x95\x83\x10\xbf\x4e\x5c\x1a\x99\x99\xa2\x92\xd0\x81\x29\xac\x33\x70\x44\xcb\x07\xda\x9d\x88\xe6\x3e\x8f\xcf\xac\x04\xc9\xd7\x2e\x6d\xd4\x67\x3c\x21\x1e\x54\x0e\x9d\xe6\x8f\x39\x6b\x06\xc3\x0f\x92\xaf\x5f\x5c\xd7\xda\x4f\xf1\x4e\x7a\xe9\x79\xd6\x33\xf8\x55\x3e\xcb\x49\x6b\xbc\x72\x65\x5d\x1d\x18\x15\x46\xe3\x75\xed\xf9\xf9\xfe\x15\x49\x22\xae\x64\x40\x2c\x9b\x60\x2e\x1b\x70\x52\xb7\x61\xa6\xca\x9d\x74\xfc\xdb\x4f\x7f\xf9\xf9\x77\xb7\xbf\x99\x82\xff\xaf\xcb\x64\x8f\xbc\x95\x74\xf1\x6a\xc2\xd3\x3b\xdc\x51\x37\xf8\x84\x79\x55\x1c\xb8\xae\x3d\xb5\xe3\x25\x39\xca\x8a\xb1\x76\x2e\xb8\xc1\x74\xfd\x34\xf3\xca\x9b\x88\xe5\x4e\x3b\x38\xe1\x0f\x12\xf5\xd6\xd9\x12\x9b\xad\xc1\xf7\x37\x3f\x98\x0c\x11\x3e\x95\x9b\x2c\xab\xde\x62\x59\x7c\x1d\x26\xe5\x3b\x26\xf0\x4e\x7f\xe4\x6d\xf7\x7d\xde\x9c\x3f\xbe\x6f\xfe\xe2\x15\x77\x62\xb9\x92\xcb\x05\x1c\x61\x8d\x01\xd7\xfd\xed\xe2\x95\x5c\x2e\x7c\xa6\xec\x37\x15\x47\x83\x7f\xd5\x16\x86\x93\xbb\x92\xcb\x97\x37\x81\x91\x74\xce\x04\x8b\x87\xc3\xc9\x1c\xc5\xef\x4f\xfe\xf2\x7a\x1d\x25\xe3\xc3\x89\xfa\xf5\xa3\x0d\x8a\x5b\xae\x9a\xbc\x9d\xfb\x2f\x3d\x2f\x2f\x98\x92\x90\x4e\x6d\x9d\x20\xdb\x92\x15\xb7\x03\x14\xb3\xe5\x99\x68\x4f\xa0\xd8\x0e\xcb\x0b\x26\xcb\xb9\xbd\x96\x8d\xe4\xf6\x26\xb6\x9e\x33\xa5\xd7\xe9\x7a\xc0\xdb\xe7\x79\x68\xfc\x65\x2d\x34\x0c\xe4\xfa\x8e\x89\x94\xbe\xe9\xd8\xfc\xc1\x20\x3f\xe6\xdd\x14\xaf\x0f\x72\xb8\x32\xc8\xe1\x94\x29\xa6\xfc\x24\xe4\xe1\x39\xe3\x0d\xd7\xc1\x27\x7c\xe3\xf0\xac\x44\x74\xe2\xed\x81\x56\x69\xb8\x39\xd0\xaa\x35\xf9\x18\x57\xb5\xb2\x07\x3e\x70\x50\x93\xf2\x3c\xd8\x30\xad\xd0\x8a\x1d\x72\x3f\xa6\x7e\xf3\xf8\x07\x9a\x60\x15\xce\x6f\x70\xfa\x0d\xc5\xf3\x4d\x80\xaf\x9b\x63\xfd\xed\xdb\x61\xf7\xf3\x6f\xff\xed\xe9\x40\xe1\x62\x1c\xcb\x69\x19\x3e\x7b\xc9\xe1\x5e\xe0\xf3\xe9\xd5\x3e\x4a\x3d\xe6\xd2\x55\x2a\x82\xe2\xb0\x7c\xcc\x26\x42\x08\xd8\xdf\xf3\xa7\xce\x0f\x9d\x96\x0f\x75\x25\xfa\xda\x43\x03\xde\xb4\x6a\xe1\x28\x3b\xaf\x35\x10\x8f\x7d\x6e\x76\xfe\x98\x6c\xa4\x70\x39\x89\xa9\x5c\x4d\x73\xc0\x54\x7c\x79\x02\x98\xdf\x60\x65\x37\x8a\x62\x80\x8d\xfb\x1c\x36\x36\x24\x94\x9d\xa5\x18\x56\x8f\x15\xe3\x13\x29\x86\x65\xe2\xea\x71\x39\xe9\xb5\xdd\xf2\xb1\xa4\x6d\x00\x98\x53\x79\x5e\xb5\x73\x14\x7b\xc5\x97\xd5\x83\x6e\xf2\xe4\x23\xa3\xff\x97\xdd\xb7\x83\x65\x3e\xff\xa1\x86\xb6\xc0\xad\xe0\x0b\x22\xca\x6b\x1c\xcb\xa1\x47\xca\x25\xd5\x30\xae\x46\xdf\x70\x5e\xef\xf6\x43\xc0\x0a\x72\x97\x2f\x2e\xc9\x80\xb3\x65\xcb\x0e\xfb\x66\x12\x55\x36\x3d\x8c\xfa\x26\xf7\xda\xc5\x28\x6d\xba\x18\x59\xa8\xc1\xa6\x8b\xd1\xe8\xf8\x34\x7a\xfa\xf7\x3d\x83\x4b\x98\x10\xbe\x7d\xd0\xcd\x8d\xae\x18\x14\x24\x6f\x75\x93\x03\x52\x82\x9f\xf0\xee\x9b\xdd\x4c\xdf\xd5\xcb\x93\x4b\xd7\x1c\xa9\xac\x97\xa6\x46\x87\xe5\x06\x47\x18\x70\x65\x7c\xdb\x95\x5d\x93\x55\x3f\xbc\xf4\xf9\x3a\xad\xfb\xe8\x7b\xff\x83\xbd\xfa\xcd\xd9\x52\xda\xde\x37\x49\x9b\xfb\x26\xe9\xca\xbe\xc9\xc6\xef\xe7\xce\xdf\x63\x7c\x5c\x56\xc9\x8f\x75\xa1\x87\xd2\xf8\x05\x71\x04\xb9\x17\x43\x8f\x6e\x53\x83\x38\xab\x1d\xcc\x43\xb1\x4b\x38\x40\x49\x27\xe5\x4c\x5f\xca\x80\x50\xf3\xc1\xee\xb0\xc0\x22\xc4\x98\xc1\x8e\x46\x45\x10\x3b\xd1\x6a\x80\xba\xfa\x6a\x79\xff\x98\x6c\x35\xf0\x21\x9c\x1c\xc2\x61\xde\xbf\x36\x6b\x48\xb3\x17\x99\x55\x30\x74\x64\xd2\x85\xe1\x3e\x0f\xb0\xc4\xeb\x52\x6f\x06\x5e\x56\xec\x65\x43\xb1\xb6\x34\x6b\x79\xb3\x5b\xfa\xa9\x9d\x59\xf4\xbd\x21\x6a\xcf\x23\xca\xe5\xfd\x6b\x77\xba\xb2\x87\x9a\xfe\x67\x5f\xf0\xfb\x67\x37\x17\x52\xef\x57\xb4\x86\xf4\x80\x9f\x9b\xbb\x0b\x1f\x52\xc5\xef\xbb\xff\xdc\x7d\xbb\x81\x0d\x70\xdb\x1b\xdb\x52\x67\xee\xe1\xd0\xcb\xce\xe0\x76\x90\x20\x01\xa1\xd6\x25\x07\x24\x0e\x76\x14\x03\x90\xad\x9a\xa3\x52\xe1\x1a\xe3\x2b\xc2\x19\xe4\x0b\x17\x84\xad\x08\x85\x08\xd0\x90\xcc\x3c\x88\xaa\x26\xb2\x77\x42\x99\x07\xc3\x55\x4c\x7a\xdd\x65\x2a\x45\xa8\x31\xc2\x33\x48\x70\x26\x9c\x63\xa6\x1c\xe1\x6c\x00\xb4\x2e\xad\x54\x28\x66\xe0\x20\x6b\x5d\x69\x92\xe0\x33\x5a\xd2\xf2\x92\x84\x62\xd2\xb5\x1e\x92\x1d\x6e\x03\xc2\x4f\x47\x97\x62\x4c\xc0\xba\x49\x00\x3a\xd2\x5a\x01\xe5\x6d\x77\xe4\x4c\x49\x2b\xe6\x1c\xe0\x1c\x91\xf5\xa1\x16\xe5\x5b\x02\xaa\x00\xaa\xd3\xdf\x9c\xfe\xb8\xa7\x5a\x1d\x00\x4c\x2d\x29\x2f\xe5\x6c\xf5\x01\xf3\x3f\x51\x4a\xe2\x90\x38\x1a\x0d\xc0\x31\xc0\xe5\x7b\x69\x7c\xce\x5b\xda\x42\x40\x68\x48\xd9\x3b\x0a\x35\x19\xda\x67\x0c\x81\xe2\xf8\x25\x01\x13\x95\x7c\x29\xe4\x63\x25\x29\x65\xfc\x99\x42\x89\x24\x35\x53\xcb\xfa\x37\xb0\xb8\x53\xa5\x1a\xd2\x97\x42\x52\x86\x42\xb9\x74\x45\xa8\xea\xb0\xd7\x6f\x91\x8a\x4e\x54\x50\x19\x1d\xd8\x51\xd5\x9e\x94\x16\x81\x12\x39\x00\x74\xd3\x01\xa7\x06\x98\xa0\x4e\xab\xd2\x56\x69\x4f\xb3\xbe\xd5\x69\xb3\xec\x0b\x9a\xe5\xb4\x59\x4e\xdb\xd5\xbd\xd5\xc7\x4b\x0e\xe7\xf4\x06\x5e\xdd\x40\x2a\xa5\x40\xec\x54\x54\xfa\x05\x90\x72\x86\x69\xc8\x00\x05\x43\xd0\x07\xab\x0c\x4e\xdf\x90\xf3\xbb\x51\x08\x4e\x5b\x89\x46\x3a\x6d\xa5\x36\xd2\x75\x64\xd0\xd8\x50\x5d\xd1\xda\xde\x2d\x74\x00\xdf\xf7\xda\x44\x92\xd6\x21\xdb\x13\xd0\xcc\x8b\xd4\x2e\xf6\x72\x41\xeb\x74\x96\x19\xc4\x76\x21\xbb\x29\x45\xba\x0b\x49\x3a\xa3\xc9\xac\xbd\xc1\xe6\x97\x84\xea\x28\x66\xab\xd6\x99\x09\xd8\xb8\x47\x89\x93\x4f\x08\xbe\x8d\x3a\x21\x48\x4a\x42\x52\x0b\xb5\x54\xce\x13\x44\x35\x44\x9d\x9f\x04\xe8\xf7\x5c\x58\x95\xee\xaa\x4b\x1f\x5a\x7b\xdc\x0b\x25\xb8\x68\x47\x2a\x08\x29\x10\x65\x4f\x41\x74\xb6\xa8\xb4\x70\x9e\xab\x52\x2f\x73\x35\x4e\x15\x68\x92\x10\x87\xd4\x12\x3e\x13\x6c\x44\x1d\xa5\x37\x8f\x3c\xd3\x18\xa2\x9a\x49\xaa\xad\x53\x4a\x70\x58\x2c\x3a\x25\xd6\xad\x1c\xc7\x41\x4a\x8d\x1a\x47\x07\xe9\xa9\xdf\xbe\xe9\xf0\x88\x8e\x0e\xdb\x8f\x3a\x3a\x40\xd2\x8d\x59\xc7\x07\xc3\xe3\x28\x62\x9e\x0a\x60\x21\x63\x3e\x45\x0a\x82\xb5\xc9\x5e\xc8\xeb\x9c\x6a\xd3\x1a\x65\xce\x14\x0a\x93\xb4\xa4\x26\x19\x25\x24\x3e\x2e\xb1\x20\x49\x0d\x53\x2a\x11\x31\x6d\x81\xaa\x17\xaa\x00\xbe\x09\x1c\xf5\x9b\x52\x72\x1c\xe1\x93\x02\x47\x00\x96\x2a\x29\xab\xf4\xcc\x58\xfd\xa5\x67\x36\x47\x8d\x4e\xab\xa4\xa0\xab\x37\xe8\xbb\x9d\x8e\xb1\x7d\xc9\x9c\x5f\x39\x50\x7d\x28\x18\xe8\xcc\x64\x1f\xcd\x59\x6e\x4c\x2a\x0b\x7f\x89\x1d\x23\x17\xd8\x0a\xc2\x75\x60\x5d\xb5\x7b\xa6\x52\x2d\x3f\x50\x54\x15\x21\x0c\x11\xd1\xe4\x59\x98\xb2\x2f\xc4\x0d\x00\x77\x29\x50\x44\x76\x8c\x94\x03\x58\x60\x68\x95\x82\xd7\x87\x1b\x10\xe5\xab\x79\x02\x96\x53\xed\x72\x4a\x27\x27\x98\xdb\x8e\x8e\xa4\xa9\x47\x18\xb4\xc8\x14\x98\x1d\xb5\x14\x29\x01\xd8\x2d\x65\x2a\x29\x7c\x61\xa5\xeb\x04\xd5\x0a\x54\x5b\x1a\xab\x20\xaf\x03\xe3\x34\x53\xff\x34\xac\x42\x5d\x2b\x4a\x3f\x39\x65\xe0\xd4\x03\xfa\x4b\x9b\xaa\xdc\x31\x21\x46\x0e\xb5\xea\xea\xd1\x59\x6c\x15\x58\xdf\xce\x28\x4a\xdb\x60\xfa\x6a\x28\x19\x11\xe3\xd8\x53\xe4\x4a\xc1\x96\x35\xba\x83\xcb\x85\x22\x3b\xe5\x11\x4d\x2b\x4b\x46\x35\xca\x6e\x4a\x12\x44\x29\xfa\x36\x7a\x10\x87\xaa\xff\x4c\x1d\x63\x65\x69\x5c\xf7\x24\x22\x8e\x58\x65\xb6\x12\x8e\xcd\x05\x6b\x0b\x93\x7c\x89\x3d\xd3\x48\x61\xd0\x58\x18\x70\xaa\xa8\xe5\x9e\x95\xb1\xea\x94\x70\x12\x4c\x55\x24\x6e\x94\x12\x25\x01\x42\x04\xd5\x16\x29\x24\x43\x5e\xcf\x94\x90\x07\x8f\x3a\x54\xae\xbe\x9d\xd4\x96\x3d\xff\xe2\xfa\x4f\x7b\xa7\x0d\xd2\xf6\x38\x6d\x90\xb6\x07\x51\x0f\x5a\xef\x17\x80\xb6\x8a\x32\x85\xaa\xd6\x6d\x2e\x83\xb6\x06\x03\xaf\x8d\x01\x74\xa4\xe8\x1a\xac\x88\x16\xd3\xd1\xd0\x6e\xa4\x0e\x48\x51\x1b\x44\x98\x05\x22\xe9\x58\xc9\x7c\x4c\xdc\x38\x28\x16\xdc\xd9\xa8\x48\x38\x29\x27\xe2\x3d\x01\x5e\x85\xc9\xc7\x46\xbe\x11\x37\x21\x6e\x95\xd0\xd2\x4a\xa9\xd6\x73\x57\x29\x19\xb0\xba\xb2\xa2\x60\x68\x9d\x05\x2c\x2a\xe2\x09\x63\x56\x19\xa0\x6f\x81\x38\xa3\xb9\xc5\x2e\x3a\x1b\x3e\x31\x88\x8b\x0a\x9f\x1c\xd4\xa9\x2b\xb5\x12\x23\x02\x4a\xdf\xae\x12\x8a\x8b\x12\xbe\xde\xdb\xea\x2b\x9a\xaa\x43\x57\x00\xcf\xac\x1c\x4f\x39\x11\xb4\x88\x06\x54\x2c\x4e\xca\x80\x9c\xe8\x84\x52\xac\x48\x60\x25\xf8\xc2\xca\xe1\x8d\x68\x3d\x46\x0a\x54\x0b\x88\xfa\xb4\xcb\xd4\x60\xcc\xb6\xd1\x98\xed\x32\x1f\x9b\x25\xfa\x68\xcc\x3b\xcc\x53\x6a\x3c\x8e\x61\x0e\xc4\x51\x39\xac\x70\x80\xf7\xb7\x89\x01\x8f\xf0\x15\x2f\x4a\xf9\x98\x49\x4b\x9f\x06\x28\x75\x55\x3f\xeb\xd0\xb0\x82\x6c\x1e\xd1\xb3\xd4\x5c\x24\xd1\xa5\x84\xf5\x04\x94\x25\xf0\x39\x1d\x1b\x69\xc5\x75\x0c\xfd\x18\x83\xb6\x42\x75\x97\x73\x1b\xf4\x4e\x04\xa1\x00\x6c\x59\xdb\xa4\x9a\x71\x42\xf2\x81\xaa\xcc\x21\x48\x67\x37\x59\xf5\x04\x63\x37\x19\xe4\x6d\x1e\x30\x13\x96\xe3\xce\x3c\xc7\x81\xe9\x60\x9d\xfa\x56\x28\x69\x3b\xbc\xf2\x6a\x15\x08\x81\x4f\x42\x51\xda\x43\x4c\xf4\xa7\xe3\xad\xa0\xc1\xbf\x2e\x52\x4b\x52\x9a\x06\x1e\x7b\x3f\x70\x9b\x06\x1e\xfb\x0a\x86\xaf\x06\x6d\x9d\x79\x01\x87\x2a\x94\xaa\x92\x8a\x57\x52\xc1\x78\x56\xa0\xe1\x92\x04\x4a\x3e\x9f\xc8\x7b\x79\xb2\xf8\xe7\x0e\x4c\x21\xa1\x47\x4b\x4b\x18\x66\x1b\x66\xff\x31\xdd\x69\xdb\x13\x23\x4b\x1e\xa4\x99\x87\xfa\x97\xc8\xcf\xc0\x56\x59\xdf\x8a\xcc\x7a\xad\x3e\x01\x43\x0d\x05\xac\x55\xf4\x09\xc6\x6c\x85\x53\x03\xcf\x02\xc6\x99\x5a\x51\xfd\x5b\xca\x9e\x42\xcc\x80\xff\xcc\x35\xa8\x5e\x81\x6c\x50\x14\xd3\xe2\xec\xca\x40\xec\x43\x00\x0e\x7f\xb5\xa2\x47\x3f\x67\xe5\xfa\x73\xe8\xb8\xa8\x5a\x4c\x2b\xf2\xfe\x95\x2b\x45\x1c\x33\x32\x6f\x01\x78\x29\x2b\x50\x62\x12\x55\x66\x38\x28\x49\x52\x89\x8d\xaa\x2f\x0b\x1f\x22\x8e\x05\x3b\x0b\xec\x01\x5c\xd7\x3f\xac\x09\x59\x8d\x89\x59\x92\x3a\x20\x6f\x76\x50\x28\xf1\xd4\x80\x58\x1c\x78\x7e\xe4\xd0\x1a\x85\xaa\x03\x1d\x55\x31\x54\x25\x4b\x28\x97\xa2\xb2\x43\x47\x61\x0a\x68\xd6\xf1\xaa\x11\x6a\xb9\x77\xb6\x4a\x74\x05\x82\x37\x52\x06\x2c\x2b\x34\x82\x19\x32\x18\x43\x7b\x6a\xed\xfd\xab\x32\xb6\x12\x81\x5f\x15\xda\xfc\xdc\x23\x2b\xc3\x04\x43\x0c\x19\xa9\x38\x4a\x50\xf5\x57\x80\x99\xed\x97\x1e\x60\xb1\x29\x4f\x51\x39\xe3\x75\x1d\x05\xb5\x87\x90\x9a\x2a\x44\xfb\xa5\x2d\x8e\x55\x54\x70\xad\x02\xf6\x3b\x30\xc7\xc6\x7e\xba\x19\x3c\x52\x55\xe6\x60\x53\x3a\x72\xa2\x5c\x8e\x91\xec\xbc\x67\xea\x3a\x63\xc8\x78\x21\xbe\x8c\xe9\x3e\x52\xc8\x66\x84\xdc\x63\x4a\x62\x81\xde\x75\x2c\xb6\x8c\x42\x07\x78\x74\x54\x15\x52\x2d\x87\x49\x7b\x0c\x35\x37\x36\x65\x7e\x16\xd2\x5e\xcc\x57\x0a\xe8\xe3\xf3\xce\xc2\x96\x40\xfc\xa3\xb9\x7b\xcb\x08\x04\xa8\x93\x9c\xb0\xcd\x79\x7e\x1d\x1a\x00\x63\xbd\x00\x46\x55\xc2\x32\x54\x45\x65\x44\x60\xd9\x43\x8c\x78\x48\x6a\xe2\x16\x21\x67\x96\x28\x88\x0d\x10\x8e\xca\x22\x13\xa0\x1c\x12\x8f\x21\x9c\x11\xb1\xbb\x71\x76\x7b\x00\x0a\xa3\xe7\xf8\x8e\xe8\xd0\x88\x68\xf5\xe5\xeb\x03\xd8\xfa\x5e\xcd\x4e\x08\x50\x51\x8d\x38\x52\xd0\xf7\x2f\x88\x78\xcc\x8d\x93\x29\xa6\xb1\xec\xbb\x60\x50\xf1\x85\xa7\xe4\x23\x86\x94\x17\xf4\xed\x09\x92\x35\x53\x2b\x0b\x0a\x2e\x05\xc3\x57\xf5\xbe\x5e\x8e\x71\x4d\x6a\xb4\x2e\xdc\x59\xd4\xb4\xd3\x6a\x0a\x87\x5e\xda\x0e\x33\xc5\x34\xab\x55\xe5\x6d\x59\x92\x2e\x8e\xc9\xc2\xc6\x21\x7c\xa0\x52\xf3\x51\x46\x67\xdf\x38\xc7\x9a\x27\x24\x95\x0a\x51\x80\x6f\x87\x3d\x92\xa9\x77\x4b\x19\x2a\xf6\x3e\x67\xbf\xe1\x4d\x77\x52\xf2\x4f\xbf\xdf\x0b\x97\x88\x6c\x04\xf5\x0a\xd6\x69\xea\xe8\x8d\x1f\x61\x9d\xe6\x0e\x2f\xf9\x21\xd6\x69\x1a\xf1\x25\xaf\xdf\xe9\x46\xf8\xd4\x0e\x30\xf9\x11\xd6\xe9\x47\xa7\xa1\xa5\x21\x3b\xf9\xe2\x80\xbf\x02\x45\x3a\x3c\xcb\x0a\x87\xe6\x3e\x9f\x01\x3c\xbf\x9b\x5f\x74\xa2\x3a\x83\xca\x99\xa3\xb2\x02\xa7\x6a\xe1\xc2\xd3\x49\xaf\x8d\x97\xe2\xfb\x9b\x98\x92\x11\x96\x67\x9b\xd4\x60\xeb\xf0\x8b\xf2\xcb\xa0\xc3\x90\x08\x49\x57\x7d\x6a\x7b\x92\x50\x48\x54\x29\xcd\x7a\xcf\x78\xaf\x75\xe5\x51\x4f\x27\xf4\xe7\xd1\xe3\xea\x4e\x70\xf7\xf1\x4e\xa4\xa1\x4f\xdb\x30\xa5\xca\x32\xf3\x50\x3f\x84\x29\x6d\x43\xbb\x86\x52\x3a\xa3\xa2\xa2\x44\xa4\xfa\x1e\x58\xaa\x6c\xc7\xf3\xbd\xb4\x21\xdf\x03\x51\xfa\xc1\x89\x70\x68\x6a\x3d\x65\x5e\x7b\x5d\xca\x20\x07\xe5\x42\xdf\xef\xda\xa0\x0f\xaf\x81\xd0\x82\xaa\xc9\x99\x5f\x88\x2b\x0f\x95\x62\x5b\xd1\x58\x7d\xb9\xb4\xe7\xfd\x0d\x4f\x50\x6d\xf3\x33\x06\x56\x95\xa9\x28\x85\xc5\xa1\x1e\x03\x95\x26\x06\x3b\x3d\x3b\xa2\xb0\xbb\xb4\xf9\x73\xc8\xfc\xa9\xef\xd0\x4c\x6a\xf7\x0b\x68\xfa\xc3\xf4\xf4\xf3\xee\xed\xd7\x87\xe1\xc6\x18\xd6\xdf\x20\xd4\x6a\x3a\xba\x4a\x1c\x74\x94\x38\xc8\x62\x95\xe1\x48\x28\x97\xe3\xf5\x3b\xa0\x0c\x0d\x1e\x77\x88\xdb\xac\x03\x5b\x49\xd5\x5e\x63\xb7\xf0\xda\x51\x01\xb5\xbc\xbf\x39\xd8\x95\xba\x8a\xcb\xa4\xca\xdd\x12\xc9\xb2\xd6\xd6\xdf\x69\xad\xda\x2d\x5d\x93\x02\xd5\x36\xed\x18\x2f\xf9\x90\xde\x30\xf8\x7e\x8b\xdb\xba\xc5\xe3\x9e\x87\xec\x98\x3e\x37\x8f\xed\x05\x15\x8a\x06\xd8\xcf\xe1\x45\x4b\x00\x88\x2f\x0f\x5a\x7d\x3e\x26\x64\x60\x44\xb9\x11\x33\x84\xdf\x9d\x96\x79\xed\x54\xcd\x2f\x15\xb8\xed\x78\xc9\x46\x50\xdc\xfb\xd7\x7e\x1e\xcd\x2f\x99\x22\xfc\x5c\x96\x49\x29\x03\xb1\xda\x86\x93\x56\xe4\xdd\xd2\xc1\x08\xf7\x1c\xdd\xb4\xa1\x8b\xcc\x71\xbd\x96\x17\x73\x39\x48\x8d\x97\x75\xd8\x1d\x9f\x99\x04\x0c\xf3\x7d\x81\x4c\x90\x05\x4d\x62\x27\xd5\x4e\xef\x73\x0f\x1d\x90\x56\x6d\xc7\xcb\x1d\x0b\xba\xf1\x33\xea\xdc\xa2\x2c\x6f\x94\x35\xa5\xbd\xc5\x0d\x9d\x3a\x3f\x72\x3c\x9f\x75\xf1\x9e\x48\x8f\x3e\x95\x2f\x7d\x76\x7d\x5b\x61\xfb\xd9\x94\x5d\x9d\x31\x3f\x9b\x76\xb7\x75\x47\x9f\xb2\x97\x46\xa9\xb6\x35\xe1\xf8\x71\xce\x3f\xee\xdc\xb7\xfd\x0f\x46\x72\x93\xa1\xee\xe2\x10\xfb\x6e\x41\x1d\xec\xbb\x36\xb9\x76\x60\xca\xb8\xb3\x78\x78\x93\x92\xc9\xa2\x7f\xfa\xdf\x9e\x5d\x9a\x8a\xb9\x3f\x2b\x8c\x1a\x06\xee\x87\x1e\x00\xab\x2e\xe2\xd3\x4e\xa8\x25\x64\xab\xea\x03\x98\xa8\x0d\xd3\xdf\xbc\xc1\x28\xbd\x2b\xa1\xa9\xf1\xc7\x04\xe8\xf6\x94\x3a\xf4\x1f\x1b\x8a\xcf\xf9\x37\x5b\xff\xcb\x21\xfd\xc7\x81\x9b\xe9\x40\xfd\xfd\xdb\xb7\x9f\x7f\xfd\xc5\xed\x7f\xfe\x6d\x7f\xbc\x65\x0e\x3c\x42\x6e\xc1\x32\x99\x56\x29\x3b\x30\xd8\x0b\x97\xad\x3d\x1d\x93\x2f\x65\x4f\x1c\x23\x49\x49\xc4\x21\x52\xaa\x04\xbf\x1a\xde\x45\x62\x4b\x87\x57\xc7\x4d\x47\x56\x85\x3c\xc1\x3a\x68\x3e\x8c\x1f\xbe\x03\xe1\x63\xcf\x3f\x95\xbd\x6d\x7b\x8b\xe5\x26\xae\x55\x8d\x43\x6c\xb6\x36\x38\xa7\xcd\xc2\x2c\x29\x60\x6b\x35\xe6\xb0\xb7\x04\x3d\x8c\x1c\x9c\x81\x22\x54\xa8\x96\x99\x72\xce\x3b\x6d\x16\xa7\xa1\x7f\x9c\xa5\x84\x50\x8c\xe9\xe8\xc8\xe7\xa8\x8a\x8f\x23\xb5\xf0\x0d\xa4\xd8\x47\x35\x23\x0f\xfa\x8d\xe7\x76\x74\x6b\xfa\x2f\x22\x37\x9c\x1c\x91\x4b\x8f\xbc\xcf\xe4\x59\x1c\x79\x29\x3b\x61\xe2\x50\x86\xfe\x61\x1e\x20\x1c\x1d\xc5\xb6\x47\x22\x2b\x0a\x22\xc8\x70\x4e\x25\x25\x8a\xd5\x92\x36\x46\xec\xe2\xc5\x14\x28\x48\x70\x3a\x2e\xaa\xa4\x01\x4b\x3a\x91\x8f\xd9\xe9\x30\x92\xc7\xe3\xe4\x01\xf2\xc2\x41\x5f\x0f\xa4\x78\xd9\xc1\x1d\xaa\x4c\x3c\xe2\x59\xd9\x72\x0d\x65\x66\x8f\xb6\xd4\xec\x88\x65\x4e\xb0\x6a\x7c\x57\x46\xb6\xe5\x79\x4a\x23\xec\xc3\xd7\x78\xec\x78\xd0\xde\x03\x0f\xba\x77\x54\x27\x53\x06\x2b\xfb\x1e\x86\xf5\x73\x08\x9e\x24\x9d\x3f\xfa\xde\xdc\xd8\xd1\x81\x45\x17\x97\x95\xfd\xda\xd8\x53\x95\x1f\x21\xf6\x72\xdc\x6a\xd4\x71\x61\x6b\x03\xde\xcc\xb3\xce\x42\xc0\x8a\x00\x70\xb0\x1d\xc8\x63\x8f\xaa\x09\x22\xc1\x25\x90\x0f\x18\x48\xf2\x95\x42\x0e\xe4\x1b\x55\x8e\x24\xc8\xe8\x28\xb9\x42\x13\x0e\xd8\x17\xb1\xd2\xac\x81\xe2\x95\xde\xd2\x51\xfb\x49\x48\x1f\xe3\x2b\x72\x01\x4e\x07\xa7\x46\x47\x9c\xd2\xfb\xd7\x3a\x46\xb4\xcd\x16\x09\x33\x7b\xaa\x09\xea\x79\x52\xfa\xb4\x55\xa2\x33\x89\x65\xe2\x6c\x9d\x20\xb9\x2c\x89\xd6\x9f\x03\xc5\x10\xc7\x55\xb2\xd3\xe5\x61\x61\x7c\xb6\x55\x72\x59\x22\x88\x87\x6a\x75\xfc\x18\xf7\xd1\x32\x56\xd1\xbe\xef\x0e\x7a\xfd\x3b\xda\x61\x03\x3b\xca\xb1\x39\xe4\x95\x23\xce\x4a\xe1\x98\xaa\xa2\x93\x6a\x47\xbf\xc4\x5c\x9e\x66\x8b\x9c\xcf\xfd\x7a\x8c\x15\xfd\x58\x06\x8e\xc4\xf9\x81\xa4\x56\x04\x01\x86\xc1\x4a\x8b\x91\x2b\xc8\x0a\x57\xf2\x9e\x58\x22\x2c\x67\x06\x5e\x04\x0e\x2a\xb2\x2a\x2f\x0d\xce\x71\xad\x9e\xc9\xaa\x46\x28\xa9\x05\x53\x64\x65\x27\x62\x1d\xfc\x3d\x49\x76\x4a\x2d\xba\x00\xb0\x29\xe3\x48\x24\x5c\x22\x3d\x10\xf0\xc8\x14\x72\xda\x3b\x0a\xd1\x96\xa4\x2e\x37\x3b\xd8\x97\x52\x75\x2e\x77\xa2\x64\xc9\x43\xff\xe8\xa6\x93\xc7\x39\xb1\x12\x74\xb4\xd4\xc2\x38\x96\xf2\xc9\x92\xa4\x1a\xc7\x39\x03\x7e\x37\xec\xae\x8a\x25\xa3\xe4\x63\x5f\x04\xe0\x4f\x78\x50\x4d\x4e\x5d\x25\x3b\x6c\x0c\xc8\xd0\x3f\x40\x30\x38\x9b\xf4\x51\x39\x34\x76\x0a\x71\xec\x4f\xa9\x09\xa9\x6d\x59\x45\x74\x35\xa1\x9b\x3e\x80\x98\x0b\xf9\xa8\x43\xe0\x95\x94\x3d\xfc\x39\x7c\x18\xfd\x2d\x4b\x74\x19\xf0\xed\x97\xc6\xd5\x66\xa7\xae\x59\xc5\x5a\xcc\x01\x5b\x4c\xf9\xe4\x57\xd9\xaf\x54\x09\x08\x21\x68\xad\xc8\xfd\xe8\x0d\x4d\x9c\x1b\xd4\x34\x21\x11\xe0\xc3\x67\xac\x57\x35\xa7\xe1\x23\x22\x8d\x38\x00\xcd\x8d\x5b\x21\x64\x1a\x0b\x24\xb1\x22\x3d\x91\xaf\x45\xa7\x84\x58\x87\x3a\x06\x92\x2c\x94\x63\x3e\x92\xcf\xc4\x31\xef\x71\xc8\xa7\x6b\xc9\x23\x87\xb4\x2a\xaa\xd8\x85\xd4\x21\xae\xca\x43\x23\xd9\xc6\x4c\xf0\x79\xb1\x55\x1a\x22\x35\x38\x17\x30\x62\xc2\x28\x04\x41\xb6\x07\x8a\xb1\xe0\xc8\x65\x17\xc7\x64\xc0\x79\x1c\x8a\xa0\xe2\x89\x03\xa0\xf0\x54\x68\xf9\x22\x8e\xa2\xc7\x29\xe0\x78\x6c\x2c\xb1\x1e\x75\x75\x82\xb4\x76\x05\x21\xb1\xe5\x1c\x18\xab\x94\xa1\x64\x96\xb1\x0f\x00\x27\x9b\x12\xc6\x9c\xa0\xbe\x29\x79\x48\x7e\x9a\x8f\xa0\xe7\xcb\xe0\xc2\xd1\x6b\xf0\xbb\x40\x09\x19\x19\x53\x1f\xe3\x4c\x05\xbe\x03\x39\xa1\x71\x58\x20\x0d\xdc\x27\xe2\x9c\x94\x29\x73\x54\x12\xe4\xa4\xa2\x26\x50\x30\x7e\x19\x53\x46\x06\x6a\xe1\xa8\x96\x02\xc5\x58\xb5\xed\xd8\x12\xfb\xff\xd8\x7b\x9b\x25\x47\x72\x5c\x4b\xf8\x55\xf8\x02\xc4\x10\xe0\xff\x32\x2c\x36\xb1\x88\x5c\x8d\x59\xec\x35\xea\xea\x56\xd9\x55\x54\xf5\x54\x76\xeb\xde\x1b\x4f\xff\x19\x0e\xe8\xfa\x71\x77\x29\x94\xca\xac\xea\xbe\xdf\x94\x59\x86\x4b\x29\xb9\xdc\xe9\x24\x08\x02\x20\x70\xce\x8c\x30\x8a\x4a\x02\x75\x1e\x3b\xd5\xea\x65\x1c\xc3\x84\x43\xab\xcd\x07\x85\x2e\x4f\xc7\xf1\x2b\x29\xe0\xa6\xba\x6c\x31\x72\x6d\x25\x82\x84\x15\x89\xc5\x9c\x41\x7a\x8a\x15\x00\x3b\x2c\x72\xa0\x70\x1f\x7b\xed\x99\x56\xfa\xfa\x7f\xff\xb9\xf9\xed\x7e\x7a\x19\x35\xf8\xe7\x05\x95\xc6\x91\x70\x58\x2f\xf8\xa6\x4f\xe8\x05\x6e\x54\x18\x8e\xe8\x6b\x8e\x08\x2e\xca\x6c\xcb\x2c\x82\x40\xa9\x02\xac\xa1\x66\x17\xcf\xc3\xc5\xec\x90\x08\xfd\x76\x9b\x2c\xe3\xf3\xc0\x16\x2a\x00\xeb\xbc\x38\xc4\xea\x75\xeb\x3c\x3e\x1a\x70\xb6\x84\x5d\xa3\x90\x1a\x38\x70\x5d\x70\xa4\xe2\xd2\xab\x5a\x12\x24\x35\xed\x23\x49\x40\xa6\x41\x91\xb3\x16\x07\x89\x4e\xd4\x93\x7a\x5b\xa9\x46\x91\x51\x21\xdf\x91\x51\xd6\x46\x35\xef\xf5\x32\xac\x70\x23\x61\xd2\x3a\x55\x8d\x40\x18\x1e\xb9\xd5\xb9\x87\xca\x20\xe6\xa7\x12\x22\x6e\x78\x3e\x3e\x97\x63\x38\x4a\xe7\x1e\x8d\x72\xcd\x25\xf0\xde\x00\xaa\x3e\xc9\x0a\xe0\x54\x9f\x07\xe2\x06\x31\x41\xe4\x3d\xd5\x00\x1b\xe0\x42\x7e\x1a\xc8\xc3\x39\xbd\x32\x08\x71\x99\x5a\x6e\x4f\x97\x97\xb5\x87\x9c\xb3\xe9\x8f\xfc\xd8\x7e\x4f\xfc\x5d\xb2\x9b\xb1\x31\x84\x64\x95\xaa\x89\xf2\x0c\x76\xf3\x1c\x7b\x16\x24\x63\x2a\xfa\xba\x98\x36\x49\xe7\x92\x72\xaa\xfb\x9e\xb5\x6c\xc8\x76\x42\xad\xe3\xc7\x97\x4c\x56\x14\x7b\x7f\xe9\xa4\xf5\x16\x60\xc6\x0b\x92\x0f\xd2\x65\x9f\x26\x55\xe5\x29\xbe\xcc\xaf\x3a\x85\x3d\xdf\x0a\x8c\xa2\x07\x05\xe2\xd7\xed\x0d\x7c\xf7\x9b\xfd\x6c\xc9\xc7\xb3\x49\x63\xd9\xf1\x96\xcc\x7f\xf9\x0d\x4e\x97\xb8\xe3\xb8\xcc\x00\x67\x33\x14\xde\x50\x15\x39\x4b\x39\x47\x11\x80\x95\x7e\x83\x9c\x06\xb4\xac\x76\xea\x5a\x02\xfb\xed\xfa\xe9\x37\xae\xd4\xb6\xb6\xef\xc9\x5d\xa8\x79\x8a\x63\xe3\x22\xbe\x30\xe8\x38\x3c\x5b\xa3\xaf\x57\x4a\xc6\xf5\xc2\x01\xee\xb7\xef\xfd\x50\xd0\x4d\x87\xe7\xd1\x7a\x31\xb1\xe1\xb9\x90\x75\x2b\xc8\xea\xf3\xf0\x7f\xb0\xb3\xf3\xee\x66\x15\xa8\xa5\xad\xa7\x91\xb2\x1e\x47\x92\x39\x46\x98\x77\xbe\x51\xb6\xca\x61\x96\x6b\x45\x8b\xcd\x30\x5c\x5f\xd2\xbc\x8e\x6d\x4c\x05\xed\x7f\x80\x53\x8b\x6c\x2d\x47\x27\xb4\x48\xa9\x55\x35\x10\x90\x6a\xaa\xaf\xb8\xcc\x9b\x00\xb0\x77\xfd\x3a\x85\x5a\x7d\x88\xb2\x02\xfd\xfd\x97\x5f\xff\xf3\x97\xfb\x99\xaa\x4d\xe2\xd7\x40\x04\x18\xa2\x72\x8b\x70\x66\x7d\xed\x5e\x81\xca\xfd\x3e\xc9\x9e\xd5\xce\x4e\xba\x9b\xd7\xb9\x2c\x2e\xc0\xa8\xa7\x73\xe3\x02\x76\xe1\xac\xfe\x66\x9e\x58\xd1\x2b\x0c\x81\x55\x86\xfd\x89\x7d\xff\xe0\x13\x95\xbe\xc0\xa3\x38\xe8\xa7\x38\xcb\xf3\x75\xa0\xc2\x11\x44\xbc\x60\x95\x3d\x41\x15\x0a\x65\x3f\x87\x47\xbc\x73\xef\x56\x67\x56\xd8\x54\x77\x64\x31\x4a\xce\xfe\x83\x48\x7f\xfa\x78\x07\x38\x69\xdd\x18\x86\xd6\x68\x97\xba\x52\xa7\x0f\x02\xea\x00\x6f\xc0\x07\xdf\xa1\x90\x8f\x12\x78\xd7\xea\x2c\x6b\x6c\x49\x36\xa1\x77\x37\x6a\xc3\xdf\xae\x60\x05\x5d\x9f\x9e\x98\x56\xb7\x26\xe6\x1a\x1e\xc8\xce\x5f\x9d\xec\xeb\x85\xcd\x6b\x92\xba\x44\x43\x38\x11\x28\xcd\x78\x54\x9b\x20\x3f\xaa\xa9\xe1\x5a\x68\x50\xb5\x82\xa0\x7f\x0f\x4a\xe7\xaa\xd6\xde\xe9\x2b\x26\x41\x05\x66\xce\xbc\x37\x72\xce\xaa\xcd\xb5\xaf\x19\xbf\xd4\xbf\xfd\xa9\xca\xeb\xf4\x5b\x3f\xae\xeb\x8f\xc5\x5f\xa7\xef\x00\x1c\xd4\xee\x90\x38\x70\x9b\xe6\x4d\xa2\x9e\x5d\x3a\x05\x83\x3b\x75\x77\xfe\x99\x0a\x60\xa7\xfe\xf1\xa5\x22\x5e\xc5\xea\x58\x01\x95\xcc\x84\xb0\x92\x25\x7f\x9e\x3e\x0b\xec\x2b\x7d\xaf\x20\xee\x7f\xfe\xe5\x3f\x3e\x57\x83\xb7\x4a\x96\xe3\x2d\x9b\xb9\xae\xd6\xf4\x2f\x4d\xfc\xef\xb3\x2a\xda\x7a\x01\x68\x1b\x5b\xc6\xc8\xdb\xcf\xea\x59\xb7\x9a\x89\x51\x65\x23\x99\xe2\xa8\x2d\x34\xcc\xcd\x3f\xce\x1a\x38\x29\xd2\x6e\xb0\x73\xe5\xc0\x97\x9a\x72\x82\x5b\x9a\x03\x70\x9e\x08\x02\xd6\xc0\x14\xf5\x22\xaa\x1b\x7b\x75\x32\x03\x96\x3f\x47\x7f\xea\x15\xe7\xdc\xe5\xce\x1e\x25\xe4\x53\x35\x75\x3d\x4f\x7f\xc9\x86\x39\xed\xe6\x9f\xfb\x05\xa1\x39\x7e\x59\x82\x38\x7c\xa7\x3d\x53\x57\xa4\x22\xe2\x36\x5b\x4f\x52\x50\x87\x93\x39\x53\x48\xd9\x82\x92\xd2\x50\xde\xab\x42\xd1\xaf\xe9\xaf\x4f\x6c\x9c\x3b\xc6\x5d\xa6\x71\x5f\x1f\xf6\x15\xce\x36\x1b\xf6\x55\x0c\x4d\x43\xde\x4a\xd5\xa5\xd9\xae\xf7\x69\xd0\x99\x90\xf5\x7c\xef\xa0\xef\xf7\x9b\xdf\xfc\xd7\x9f\xff\xf6\x30\x85\x8d\x4c\x74\x24\xcb\xcc\xcb\xf4\xd2\x29\xf6\xb2\x55\x3f\xa8\x64\x60\xb8\x49\x13\x02\xda\x37\xa3\x54\x4d\xda\x26\x51\x34\xf2\x92\x32\x3d\x68\x51\x67\x32\x51\x0a\x65\x1c\xc7\xd6\xea\xf8\xc5\x0b\xf3\x21\x4f\xb3\x7d\x09\x93\xc0\x3c\x87\x9c\x9a\x8a\xe5\xc3\x4e\xd4\x1f\xdb\x8e\xd6\x0c\x28\x4b\x02\xaa\x1b\x87\xea\xd7\x9b\xe3\x8f\xcd\xa9\xe3\x38\xed\xd3\x8e\x9f\xbc\x68\x17\xbc\x65\xa0\x3f\xd6\x8b\x3c\xc6\xa9\xc8\x5c\x00\xa1\x50\x8d\x37\x2c\x53\x9e\xba\x85\xaa\x01\x66\xe7\x50\x29\x82\xfa\x3f\x64\x6a\x49\x5d\xda\x86\x0d\x8b\x76\xec\x93\x44\xa1\xc8\x96\x72\x8a\x84\xaa\x3d\xd1\x75\x0c\x78\x0d\xf8\xc5\x0b\xf3\xdb\x28\x2a\x1e\x18\xe0\xd9\x98\x2c\xf4\x79\x71\x1b\x87\xdb\x78\xbd\x0f\x7e\xe5\x8f\x37\x02\x93\x76\x99\xf6\x7a\x71\x23\xd5\x29\xa1\x8c\x63\x18\xdc\xd4\xf6\x93\x17\xc3\xac\x7a\xc4\x18\x3f\x89\xda\x63\x3e\x50\xa3\x2b\x19\xbe\xb2\xf3\x94\x7b\xda\x7a\x32\xe5\x5c\x4b\xa1\x98\xa3\x17\x4a\x21\x53\x6f\xf9\x29\x52\xd4\x51\x8e\x43\x96\x5c\x06\x7b\xc1\xe5\xa7\xec\x84\x62\xdf\x52\x49\x54\xc0\x57\x9e\x43\xd1\x1f\x3b\xbd\x0c\xde\xbd\x54\xe0\x98\x2c\x94\x81\x09\x5e\x3d\xcc\x71\x3b\x46\xfe\x71\xda\x31\x85\x9e\xb6\x64\x8a\xab\x22\xbb\x1c\x9b\x37\x28\xa7\x58\xb6\x8f\x23\x52\x91\x65\xde\x42\xcf\x5e\x9b\x88\x8a\x03\x19\xc7\x31\x3a\x29\x80\xc5\x3f\x03\xe9\x2c\xaa\xd9\xbf\x8a\x77\x30\x70\xd0\x3e\xbe\x80\x7b\xe5\xd8\x6d\x39\x34\xd5\x8e\xbd\x27\xc2\x1e\x27\x2a\x33\x9f\x98\x50\xf8\xd4\xca\xd0\xc1\xd9\xba\x0d\x7a\xb2\x27\xe2\xde\xa9\x57\xca\xd9\xaa\x45\x23\xc5\x5c\x29\x66\xa1\xa6\x42\x6a\x18\x8d\x99\xf5\xdd\x4b\x7d\x9b\x8a\x85\x0d\xaf\x25\xc2\x34\xb4\x4e\xc1\xbd\x9d\xde\xdb\x93\xfd\xc6\xeb\x6f\x36\x97\x77\x07\x23\x33\x6e\xa3\xe6\x47\x42\x40\x1c\xdb\xa5\x55\xcf\xce\xf6\xd5\x86\xa9\xc3\x21\xe9\x53\xc7\xa0\x09\xb8\x9e\x3e\xfa\x63\x62\x7b\x17\x2e\xa6\xb8\x7c\xc3\xd1\xb8\xe3\x1e\x9f\x27\xa8\x34\x17\x37\xd9\x4d\x16\x25\x87\x27\xfb\x8f\xae\xa6\xf1\x9e\x3b\xec\x36\xfb\xbf\x3e\xac\xe4\x6f\x3e\xde\x3b\x26\xc0\x81\xf9\xdc\x93\xd2\xaf\x6e\xe0\x4c\xdd\xd1\xd6\x07\xb5\xc4\xad\x6e\x1a\x2d\xad\x9b\x13\x81\x9a\x36\xf4\x31\xd4\x8d\x6f\x0a\x2c\x9c\x18\x2e\xd7\xd0\x4b\x74\xb6\xb7\x57\xd0\xb0\xbb\x7e\xc9\x0c\xcf\xab\xc8\xe1\xa9\xf7\xa7\x0b\xa2\x12\xf5\xa2\xca\x8e\x02\x6a\x52\x4e\x7e\x74\xa0\x8c\xdd\x13\xf9\x14\x56\xfc\x02\xaf\x19\x01\xb9\xd9\x46\x3e\xcc\xf1\xb4\x12\xf2\xbc\x49\x9c\x9c\x6e\x16\xf5\xa7\x39\x3e\xee\x44\xad\x31\xdb\x1d\x19\xd8\x21\x2f\x2b\x7b\x11\x62\x7c\xd7\x8b\x6b\x0d\x43\xea\x3e\x2b\xe8\x5b\x1c\xf4\x76\x72\x1d\x17\x03\x59\x28\xf7\xd7\x4c\xa8\x4d\x4d\xb3\x31\x64\x54\xe0\xbc\x9a\xc7\x17\xa8\x96\x0d\xd5\x46\xd5\x86\x8f\x42\x6c\xf8\xbb\x18\x53\x0a\x25\x7a\x0a\xb1\xee\x07\x8d\xcc\x1c\xe7\xd5\x18\xe5\xb1\x15\x81\x8d\x2c\x33\x33\x2e\x0d\x50\x9a\x21\xb0\x1d\xeb\x0b\x56\x0d\xde\x7e\x85\x14\x38\x2e\xc7\x69\x91\x8e\x6c\x22\x92\x77\x7e\x61\xc1\x33\x4f\x3e\xfe\xe5\x16\x13\xda\x76\xd7\x10\xfd\xf6\xeb\xdf\xf7\x3f\x7d\xa6\x8a\x6f\xe8\xaf\xcb\x8d\x8b\x9c\x12\x49\x8c\x48\x8a\xaf\x56\x1b\xfd\x74\x44\xb4\x35\xb1\x02\xe0\x46\x4b\xdb\xe0\xcc\x65\x48\x60\xa5\xee\xc4\xc5\x77\xbc\x7c\xf5\xdd\x27\xd4\xc1\x76\xaf\xff\xdf\x62\x1d\x8e\x99\x7a\x4c\xa8\xea\xc5\x8e\x65\xf1\x45\x67\xf5\x7e\xda\x84\x2f\x4e\xef\xc9\xbe\x50\x0c\x17\x7b\x25\x96\xeb\x56\x74\xa1\x73\x8d\x72\xe5\xa7\x4a\x95\xbb\xb3\xe3\xb4\x02\x4f\x6d\x4a\x24\x29\x01\x52\x9b\x5d\xa5\x52\x5c\x85\xe1\x57\xca\xd7\x0a\x40\xe0\xc4\xf8\xc8\xeb\x47\x9b\xf9\x85\x60\xcd\x15\x9f\x49\x4a\x7f\x45\x5d\x5d\x4b\xee\xec\xce\x0f\x69\xc3\x31\x40\x0f\x67\xf5\xa2\xee\x5f\x16\x25\x75\xc9\x20\xdb\x9b\x21\xf5\xf0\x53\xa6\x2e\xc8\x24\xb4\x13\x50\xbc\x97\x9e\x39\x52\xef\x5d\x65\x2c\xc6\x8a\x14\x0a\x75\x16\x32\x78\x69\x3b\x0a\xaf\xa3\xf6\xb7\x0b\xbe\x80\x2d\x31\x7a\x7d\xfc\x5e\x36\xb3\xcb\x51\x29\x19\x83\xda\x70\x4f\xf1\x7a\xcf\x8f\x2f\x89\x2a\x40\x74\x7b\xab\x4f\x89\x12\xd2\xdc\x65\xb8\x25\xd9\x5a\x10\xad\x5e\xcc\xf8\x90\x32\x84\x07\x35\xdf\x91\xf2\xd7\x84\x10\x66\x40\xbe\x9b\x5e\x3e\x95\xcd\xe5\x55\x10\x1d\xf5\x91\x42\x8e\xaf\x28\xa6\xee\x55\xd5\xb1\x34\xf5\x4c\x1e\x4b\xb2\xfe\xe7\xdf\xf7\x3f\x6f\x37\xf7\x16\xf1\xc4\xb5\xdd\x1f\x1e\x71\x9a\xb0\x8c\xe0\xe0\xf4\x7a\x11\xdd\x3b\x62\x38\x5e\xdf\xec\x7c\xbb\x19\x3e\xba\xbd\xe5\xba\xe2\x3a\x2f\xda\x6b\x61\x82\x97\xcb\x28\xf6\x23\xdb\xd2\x2b\x8f\xdc\xa7\xd0\xd4\xf2\x2b\x99\xc2\xe7\xbf\xff\xb6\xf3\x58\x68\x2f\x97\x51\xbc\xfb\x64\x9f\x19\x6d\x7b\x38\x78\x78\x14\xa6\xfb\x22\xd8\x50\xfa\x4f\xf3\xe4\x69\x59\x2d\x55\xb1\x0d\x5b\x96\xdd\x9a\xbf\x32\x8f\x36\x5f\x22\xce\xde\xbf\x29\xbb\xe6\x97\x1d\xfc\x32\x00\x85\x41\x0e\xbb\x23\x9c\xed\xc3\x3b\xd3\xcb\xc7\xc4\xd9\x5c\x76\xcb\x6f\xb8\x18\x8e\xd1\xc1\xaf\x7c\xf7\x9d\xbb\xd1\x8f\x01\xf9\x3e\x26\x25\x40\x86\x7d\x38\xba\xcc\x95\x42\x46\xcc\xa3\xa5\x65\x41\x4b\x77\x61\x4f\x5c\x59\xff\xae\x54\xb3\x74\xa0\x28\xe1\xf8\x84\xc4\xa5\x74\x5c\x45\x02\x65\xed\xe4\xfa\x5a\x54\xa5\x72\xa3\xd2\x67\x69\x59\x5d\x9f\xbf\xd7\xbc\x47\x6e\x26\x20\x05\xea\x26\x51\x05\x28\x83\x1e\xc7\x6a\x04\x64\x88\xdc\xf3\x1e\xf7\xb1\x7b\x7e\xbc\x0b\x35\xa4\x11\x87\x72\xa5\x72\x67\x0f\x27\x55\x17\xd8\x57\xc4\x81\x0b\xa5\xb4\x87\xdf\xaa\x9f\x5d\xab\x08\xd2\x87\xd5\xc3\xa8\x39\x8f\xba\x84\xe7\x57\x70\x5f\xa8\x66\xd8\xfb\x4a\xf8\x2c\xce\xa9\x97\x3c\x56\x7a\xf5\xaf\xf7\x48\xd2\xcb\x28\xe3\x4a\x38\x5a\xda\x5e\x99\xfd\x42\xcf\x65\xfc\xec\x55\x6f\x95\xdc\x2d\x39\xb8\x5c\x35\xd4\xc0\xbf\x9e\x7e\xf4\xb0\x6f\xf0\xc6\x2b\x16\x67\x5d\x96\x5a\x0e\x24\xfa\x15\xb6\x7f\x35\x3a\x4d\x2f\xe7\x2b\x19\x4c\xf1\x85\x97\xfb\x53\xa7\xe5\xe3\x1e\x79\x7f\x38\x56\x0e\x94\x18\x38\x75\x61\x09\x13\x48\x3d\xa8\x11\xb0\x07\x02\x40\x6e\x7d\x56\xc1\x47\x82\xea\xb4\x54\xc0\xa7\x51\xa1\x74\x6a\x6f\x9b\x4b\xb1\x47\xdd\x78\x45\xa2\x7b\xc5\x36\x2a\x2a\x1d\xa5\xf7\xd9\x36\x21\x92\x79\x5b\x2b\x7b\x6a\x31\x7a\xed\xa1\x3e\xbb\x12\x75\x6c\xa3\x94\xb6\xc7\xdd\x3c\xee\x86\x70\x4e\x10\xe3\xed\x3d\xdf\xdf\x8e\x39\x52\x88\x2a\xf2\x96\x46\xcb\xc8\x89\xec\x8c\x6c\x1d\x4f\x25\x96\xcb\xf3\x43\x34\x50\x99\xbd\xa7\x1a\xa2\xa7\xdc\x3f\xde\x3d\x55\xcb\xd8\x16\xd4\x68\x86\x06\x80\x29\x35\xab\x61\x87\x05\x9e\x0b\x30\x50\x37\x90\x7f\xfe\x9a\x81\x16\x06\x42\x5c\x4b\xfe\xd7\x53\x41\x50\x23\xa9\x4f\xd2\x0e\x6e\x5e\x96\x7d\x22\x09\x6a\x0a\x22\xe7\xef\x73\x79\x97\x05\x09\xd5\xb4\xff\xd9\xaf\x6c\x20\xac\xfb\x53\x6f\xfd\xc2\xf4\xcf\xae\x1f\x86\x6b\xbb\xe2\x50\x95\x2b\x0e\x55\x9c\x36\x4d\x9f\xe6\xc5\x67\xfa\xbf\x97\xb2\x26\xda\xf7\x25\x5c\xff\xf4\xcb\x3f\x7e\xfa\xed\xef\xbf\xfd\x7c\x0b\x16\xef\x53\x01\x8f\x54\x2a\x32\xd4\x53\xdd\x74\x4a\x45\x9d\xab\x34\xf2\xf9\x13\x65\x68\x25\xae\xe7\x7d\xd3\x1b\x00\x60\x62\x7c\xe2\x40\x1d\x1b\xbf\xbd\x1c\xa3\x1b\xab\x95\x44\xe6\x9e\xe5\xe2\xd4\xe5\x71\x9d\x22\x47\xd7\x28\xe4\x84\x08\xea\x79\x81\x05\x87\x51\xb9\x91\x12\xdc\x81\x06\x12\x98\x50\x55\x9a\xa5\xfa\x44\x99\xa3\x2f\xd4\x93\xf8\x46\x25\x97\x9d\x0e\x48\xda\x52\xc0\x1c\x42\x91\x75\xc7\x52\x63\xb3\x48\xbd\x86\x39\x49\x61\x54\x31\xcd\x4d\x9e\x38\x1b\x70\x99\xbd\x58\xbe\x7b\x2d\xf0\x4f\xf2\x8e\x52\x5b\xb3\x9b\x29\xa5\xa2\x3f\xe4\xa4\x0e\x0b\x5e\x86\x5b\xa8\x93\xa7\x6c\x29\x45\xa1\x9c\x0a\x35\x41\xf5\x0a\x40\x98\x2a\x12\x50\x78\x46\xec\x27\x3d\xa9\x90\x35\xc7\x85\x52\x19\xc7\x21\xac\x40\x97\x92\xf8\xf1\xae\x1e\x91\x7e\xfc\xd4\x29\x07\xe0\x45\x8e\x58\xbf\x58\xf0\x96\xb5\x03\x52\xdd\x20\x2b\x37\xba\xf1\x62\xf2\x15\xa4\xf9\xa6\x13\xfd\x8e\xfd\x2f\x06\xfe\xee\x5c\x33\x43\xff\x96\xdd\x62\x0b\x98\xc5\xf0\x7a\x0f\xbc\xa4\xe8\x02\x82\xfe\xad\x1a\xf4\x9d\x2f\x37\x17\xa3\xeb\x97\x9c\x85\x4c\x2c\xe1\xa7\x5d\xbf\x54\x5c\x09\xf3\x77\xca\x3b\x00\x35\xaf\xd9\x9a\xf1\x46\xa3\x27\x58\x9b\x91\x6b\xb5\x66\xdd\xad\x66\xfc\xac\xdb\x70\x30\x16\x60\x52\xaf\x6c\x1f\xae\x9a\xd8\xd3\xdd\xfb\x8f\xbb\xf9\x0a\xe2\xff\xed\x7b\x73\xfe\x81\x4f\xbe\xb6\x71\x7a\xe5\xee\xdf\xa6\x0c\x1f\x5e\xed\x3b\x35\xc3\x19\xa8\x69\x53\x60\x8d\xda\xd1\xa6\x53\x41\xa1\x7d\x2b\xe9\x72\x16\x37\x00\xdd\xd4\x23\xf2\x8b\x9a\x9b\x19\x88\x3b\x2d\x5e\xa8\x35\xe0\xa9\xa4\xc4\x00\xb2\x46\xa9\x5f\x38\x5a\x4d\xa0\x6c\xdb\x09\xe5\x10\x37\xaa\x4f\x05\x48\xac\xfa\x32\x74\x56\x2f\x2e\x51\xe1\x7e\xa9\xc9\x42\xf5\x54\x63\x79\xea\x94\xa2\x3a\xc5\xc9\xd2\xf1\x01\xb2\x56\x71\x49\xaa\x12\xd7\xfa\xb4\xd4\xe7\x4c\x2d\xaa\x8d\xca\xa2\x96\x49\x29\xd5\x45\x54\xd3\xa1\xa4\x3a\x16\x6d\x07\x07\x71\xe3\x65\x04\x02\x23\x28\xea\xf9\xa2\x0b\x62\xad\xde\xf0\x0e\xd9\x80\xfb\xec\x65\x0a\x99\x00\xf3\x94\x1b\x74\x59\x4d\xc9\x05\x74\x00\xd0\xb9\xc2\x14\x41\xcd\xb5\x80\x17\x2d\xd4\x8d\x1a\xf0\x1d\x51\x9a\xd0\x87\xb2\x21\x2c\xfe\x22\xd7\x81\x2b\xce\x70\x5a\xb2\xab\xcb\x35\xda\xf8\x6d\x28\xef\xd2\x12\x9c\xa1\xae\xb9\x60\x13\x19\xd9\xb5\x7d\xff\xb4\x66\x5d\x5c\xbf\xc8\x4c\x73\x85\xe5\xd4\x9f\xae\x21\x2b\x2c\x5f\x6f\xaa\x13\x77\x57\x79\x03\x6e\xa4\x27\xc4\x8f\x41\xc4\xb5\xee\x87\xdf\x93\x3b\x76\x3e\x71\xa1\xff\xeb\xfa\x86\xfe\xaa\x98\x49\x1e\x0d\x50\xef\xee\x87\xb5\xa0\x7f\x5b\x0b\xee\xd3\x1e\xbf\xfd\xb7\xff\xfb\xaf\x3f\xff\x72\x87\x73\x3c\x62\xd5\x89\xf2\xa6\x22\x94\x68\x47\xf4\x7c\xa1\x5c\x58\x0d\x90\x92\x2e\x25\x01\x74\x9f\x55\x1a\xc0\x96\x8d\xce\xa8\x0d\x2c\xd7\x93\xf7\x34\x9d\xf4\x64\x62\x3c\x26\x18\x6e\x75\x29\x41\xf1\x52\x7a\x8e\xdd\xd9\xd5\x83\xdc\xfb\x48\x2c\xdd\x0b\xf5\x3c\xdb\xb8\x01\x76\x5f\xe8\x40\xd5\x9a\x93\x0d\x85\xe1\x8b\xae\x7d\xe7\x4f\x3f\x3d\xbb\xf6\xcb\x1c\xbb\x48\x9b\xf5\xad\xdd\x7d\xdf\x6e\x0e\x52\x4f\x33\xa5\x9e\x9c\x1d\xd1\xdb\x89\x72\x06\xb1\xef\x0c\xeb\x49\x12\xaa\x56\xc7\xfe\x27\x83\xc6\xbc\xa5\x33\xad\xc5\xc7\x73\xf8\xe9\x7c\x37\x14\xf7\x99\x23\x3f\x49\xd2\x0e\x29\x7d\x36\xc7\x42\x9e\x52\x79\xe0\x21\xa6\x9e\x5f\x16\xec\x1d\x10\xe7\x42\x2d\x64\x75\x90\xa6\xf3\x2e\x67\x30\x63\xcb\x09\x35\x10\x7e\xc1\x47\x00\x08\xae\x29\xbd\x76\xb1\x99\x05\x28\xbb\xfb\x04\xfc\xbf\x7e\xfe\xc7\xb7\xc8\x37\x04\x6c\x6c\x1f\x33\x07\xaa\xa1\x7a\x75\xd9\x2e\xe1\xf6\x2a\x00\x5b\xa5\x8a\xbb\xd8\x52\x46\x35\x5a\xba\x10\xcf\xe9\xc4\xa7\xe9\x9a\x47\x51\x39\xf1\xe8\x7d\xb7\x4c\xeb\x2c\x4c\x24\x49\x0d\xed\xd3\x06\xdd\x10\xec\xa8\x92\x3d\xce\xb8\x22\xdb\x7c\x21\xdc\x7d\x4e\x45\x77\xaf\x70\x9f\xba\xfa\xbe\x42\x1f\xd7\x36\xc5\x4d\x0e\x48\xe6\xe4\xf3\x25\x24\x99\x7a\xcd\x40\xbc\x2d\xd1\xd9\xe4\x9c\xfa\xb9\x11\xd7\x7c\x26\xd5\x84\x32\xbf\x58\xf8\x69\xba\x20\xbb\x36\x5b\x7b\xf8\x1b\xe4\xb9\xac\xca\x73\xfe\x66\x79\x3e\xdb\x2d\xb5\x22\x6e\x3d\x01\x98\x5f\xa9\x37\x3d\x29\xb5\xef\x90\xec\x7f\xfc\xf4\xdb\x2f\x9b\xfd\x9d\x79\xb3\xe6\x39\xcc\x77\x86\x8f\xc2\x66\x5b\xef\x67\xc2\x33\x96\xe5\xbc\xea\x94\x44\xca\x00\xb3\x12\x6c\x21\xd5\x05\x7b\xf4\x04\x72\xd6\x09\x59\x60\x48\x13\xbd\x4c\xc0\xf7\xe7\x1b\xe0\x97\xf5\xb2\xf9\xa6\x97\xc4\xb7\x42\x76\x7c\x73\x3b\xbf\xac\x6d\xe7\x2f\x7d\x3c\xe3\x71\x12\xbe\xb2\x9d\x8f\x82\x90\xb2\xfc\xca\x82\x52\xbb\xb2\xea\x12\x94\x3b\x8d\xf9\x8b\x31\xbd\x6b\x16\x75\xb7\x60\x8e\xc4\x2e\x01\xa2\x97\x12\x0c\xd1\xb4\x47\xe4\xd0\x67\xe9\x24\xdc\x00\x9e\x00\xb0\x40\xfb\xe3\x8b\x5c\x0d\xe6\xec\x96\xb4\xab\x47\x62\x4c\x1d\xf9\xaa\x03\xdf\xae\xb3\x5b\x17\x12\xf1\x7a\x58\xd1\x25\x8b\x31\xbf\x15\xb6\xaa\x57\xc2\x56\xf5\x4a\x1a\x40\x5a\x49\xd7\x98\x1b\xbe\x60\x98\xe7\xb4\x5b\xee\x67\x00\xea\x65\x7d\xab\x63\x44\xad\x76\x69\x65\x6c\xd3\x5d\x23\x7b\xf8\xe9\xe6\x12\xf4\x10\x24\x0e\x62\x1e\x95\x4a\x99\x6b\x91\x98\xb2\x95\x0a\x64\x29\x2e\x52\xe8\xd8\x73\x57\xa5\x73\xd9\xcb\x09\x1a\x41\xda\x5e\x28\x95\x8a\x94\xbf\x88\x18\x91\xba\x44\x73\xfd\x16\x5a\xa3\x8a\x1d\x79\xae\x94\x45\xf6\xd1\x54\x67\xb9\x2c\x22\xc4\x89\xba\x44\xee\x71\x25\x1f\xe1\xc4\xe1\x06\xc8\x04\x8c\x8b\x26\x20\x4f\x75\x8f\x26\x7a\x28\x46\x06\xe6\xb5\xb6\xfb\xe3\x1d\x88\xca\x89\x38\x54\xbd\x73\x07\x38\x05\x53\x10\x6d\xed\x65\x3a\x2b\xe5\x92\x08\x35\x95\xd2\x9b\xca\x0b\x58\x94\x81\xcc\xce\xb3\xd2\x51\x14\x73\x97\xb4\xa7\xd8\x41\x21\xd1\x0a\x92\x0e\x40\x8c\x31\xeb\xa2\xd2\x9b\xd5\xf9\xc0\xb9\x05\x9a\x46\x17\xa4\x0a\x97\xc5\x35\xbd\x5e\xf4\xb5\x11\x5b\x42\x49\x16\x6b\x8b\xd7\xc6\xcc\x5b\xaa\x4f\x3e\x5b\xa1\xaa\x5b\x23\xec\xe2\x9d\xaf\x6f\x17\x85\xc4\xd5\xc9\x61\x4d\x3b\x85\x89\x47\x63\x91\xa2\x14\xa0\x9c\x24\xee\x56\xbe\x9a\xe8\x72\x56\xf6\x21\x46\x41\x64\x7c\xe1\xfa\x26\x1f\x5f\xaa\x2b\x6f\x09\x95\x70\x37\x6b\xba\x1f\xdf\x54\xc9\x37\x21\x1c\xb9\xbe\x95\x15\x8d\x94\x50\xc6\xf1\x56\x2e\xf1\x45\xcb\xfd\x93\xf2\x07\xa3\x75\x14\xec\x4d\x70\x9d\x63\xb3\xc5\x31\x25\xb1\xd3\x15\xb3\x5a\x5b\x39\x15\x8a\x8b\x29\x89\xaa\xe5\x1a\xf7\x4c\x80\x56\x6d\x2a\x2a\x51\xc5\xbd\xcc\xa6\x59\x4f\x54\x5b\x79\x6d\x2a\x6b\xdc\x55\xd6\x6c\x0f\x45\x16\xe7\x79\xaa\x2d\xef\x71\x1d\x2f\x54\x02\x6a\x8e\xb5\x5b\x5b\xec\x8b\xdb\x7b\xbb\x3d\xda\x97\x3d\xc5\x86\x46\x7b\x34\xfa\xe3\x4b\xa5\x58\x44\x7d\xb4\x24\xaf\x86\x3c\x29\x7b\x2a\xa8\xd4\x8f\x32\x13\xf2\xac\xb3\x7b\xcf\x94\x32\xd6\x1d\x2c\x0e\xd8\x54\xca\x8b\xf9\x48\x25\x97\x3d\x49\x02\x2d\x7f\x2d\x06\x24\xe2\xa9\xcc\x67\x59\x65\xeb\x45\xa9\x4d\xbf\x54\xa3\xd7\xe3\x17\xf3\x0b\xaa\xf5\x98\x6d\x7b\xa6\x94\x09\x5a\xd3\x08\x2e\xea\xda\x5c\x5c\x54\x16\xba\x2b\x78\xcd\x3b\x9f\xdf\xae\x7c\xb5\x42\xd5\x19\x06\x2d\xe1\x48\xcc\x58\xa6\x16\x94\x15\x56\xd0\xe3\xa6\xfb\xdb\xb2\xd8\x6e\x6c\x0e\xf2\x0b\x0b\x72\xa5\xdf\x3d\x7c\x37\x94\xa8\xce\x2b\x0b\xa6\x65\x74\x4a\xcd\xb8\x9b\xd8\x73\x9e\x9e\x7d\x44\xbd\x64\x39\xcc\x0c\xc8\x93\x5d\xb0\xf3\x79\xfd\xcb\xbb\xa6\xe2\x7f\xff\x68\x04\xaf\xdf\x05\x30\x2e\x3e\x37\xe2\x98\x1d\xf8\x7e\x12\xc0\x48\x90\x05\x95\x5d\x25\x2e\xb2\x55\x41\x0b\x6c\x80\xc8\x46\x55\xe3\x84\xd8\x96\x0b\x27\xd4\xa3\x0a\x60\xa1\x04\xc8\xab\xa2\xb3\xd2\xd3\x91\xbe\x23\x94\x3e\x38\x12\xa4\x92\xa0\xce\xb1\x74\x8a\xad\x6d\x98\x3a\x32\xd6\xfb\x11\x3b\x3a\x64\xf5\x81\xea\x13\x36\x0b\x9d\x1d\x87\xa7\x62\x2c\x2d\x5c\x28\x48\xc6\x4a\x17\x62\x05\xe6\x7b\xe0\x4a\xc1\xfe\xcb\x32\x5d\x01\x50\x3c\x40\x78\x53\xff\x88\xb8\xea\x0d\x41\xed\x26\xad\x53\x4c\x54\x72\xa5\x0c\x08\xed\x50\xd3\x06\x34\x0e\xce\x8e\x43\x88\x51\x83\xd0\x63\x79\xce\xe3\xab\xce\x06\xae\xa8\x46\x34\x98\xa2\x78\x1b\x47\x0d\x47\x21\x5b\x6a\x9b\xda\x8f\x20\x71\xe0\x62\x04\x4f\xb0\x1f\x01\x4e\x55\x61\x28\xf0\x71\x5d\xee\xb1\x00\x93\x28\x71\xc5\x04\xae\x2d\x13\x66\x74\x4d\xda\x65\x00\x2c\xd0\x2e\xf3\x86\xc4\xa6\x9f\x8c\x3e\x53\xa5\xd4\xa7\x0c\x56\xe0\x4e\xd5\xba\x1d\x30\x5e\xa9\x6a\x47\x78\xc0\xdc\xe3\xcd\xa8\xc1\x02\xb1\x06\x80\xdd\x0d\xad\x66\x7c\x35\xbb\x9c\x3f\x5e\xcf\x25\xaa\xa1\x8f\xa3\x7d\xa5\x83\x1b\x5b\xdb\x7a\xe2\xd8\xbd\xf6\xa3\x27\xec\x2d\x67\xc4\x8b\x8d\xff\x64\x74\x65\x71\xe3\x65\x64\x3e\x4a\xcb\xf6\xc8\xcf\xdc\xa8\x95\x21\x61\x9c\x51\x6c\x13\x41\xae\xf4\xf1\x45\x2d\x1a\x6c\xc7\x70\xad\x9b\x44\x02\x66\x31\x39\x32\xcf\x85\xe3\x93\xe2\x41\x9b\x3e\xac\x27\x60\xb3\xb7\xc1\xbb\xc1\x48\xbb\x06\xff\x80\xa7\x9c\x13\x65\x60\xaf\xc5\x84\x0d\xb5\xc4\x6e\xbc\x8c\x30\x74\x8f\xba\x6c\xb4\xf6\x5c\x28\xd4\x02\xa8\x61\xb5\xff\x83\xf9\xe4\x16\xa8\xdb\x46\x50\x69\x01\x5a\x10\x22\x59\x1b\x90\xa9\x74\x7e\xd4\xc0\xb8\x70\xec\x6e\xbc\x4c\x17\x46\xda\x47\x43\xa1\xaf\xae\x85\x6a\xa5\xd6\xa0\xf6\x5f\xd4\xd6\x18\x28\x12\xa4\x96\xa5\xab\xf1\x65\x4f\x1c\xa2\xc3\x61\x7a\xde\xc1\xbd\xa5\x62\x2c\x51\x1f\xad\x55\x7d\x2a\x3f\x5d\x67\xe5\xe6\x00\xb3\x8e\x76\xf7\x67\xae\xd6\xe6\x0a\xbc\xe5\x6c\x9c\x60\xdd\x1e\x4d\x5f\xbf\x7a\xec\xe9\xea\x8c\x6e\x5e\x1f\x4a\x0d\xea\xe9\xa1\x2e\x7b\xcb\x9f\x75\xd7\x56\x3b\x19\x14\x3d\x1e\xb6\x6d\xc5\x8e\xff\xe8\xe9\x7b\xb5\xe2\x8f\x46\x83\xdc\x44\x17\x87\x52\x2c\xce\xde\xa3\x8e\x0c\xd9\xbd\x86\xfc\xe8\x78\xe8\xc4\x68\x95\x59\xe3\xff\x81\x7d\x5c\x22\x3e\xca\x73\x46\xa9\x0f\x4a\x7e\xa2\x3a\x0e\xa0\xbf\x80\x50\x94\x8c\xbd\xf2\xd4\xdc\x78\xb1\x15\xb7\x63\x83\xa9\x00\x94\xa9\xaa\x10\x82\xfe\x27\x6b\x57\x19\xca\xe9\x66\x6a\x97\xea\x42\xa1\xc8\xcf\x14\x92\x4a\x13\x76\x8e\x2a\x35\x4c\x98\xf6\x95\x42\x62\xd0\x9a\x85\x52\xad\x66\x6a\xfc\x6e\xfc\x0c\xfb\xe3\xe0\x8e\x91\x98\x28\x55\x1e\xd7\x67\x90\x70\xe4\x42\xcd\xca\xd5\x12\xa8\x11\x19\x10\xb2\x9c\x9e\xf1\x20\xea\x5e\x35\x67\xcf\xc6\xc9\x35\xc7\xe9\x6b\x22\x6c\xcb\x47\x35\xb4\x5b\x6b\x3a\xca\x19\xfb\x56\x19\xfb\x45\x93\x7a\xc6\xb5\x3c\xae\xb5\xd5\x27\x54\x81\x04\x55\x5b\x8e\xc0\x71\xc5\xba\x0c\xbe\x35\x4c\x4a\xd5\x11\x3a\x99\x45\xd0\x0f\x01\x00\x6c\x4d\x9f\xc9\x93\x08\xdb\x9b\x58\xcb\x57\x3f\x40\xca\xba\x9e\x60\x1f\x02\xd9\xb3\x36\x67\xc7\x63\x97\xe9\x85\x5c\xc1\xfe\x9c\x1d\x87\x75\x67\xf7\x66\xb7\x6c\xb3\x3f\x6b\xf4\xb3\x3a\x2f\xd5\x86\x52\x6d\x07\xbd\xbe\x6b\x4e\x00\xe1\x09\xc0\xb9\x1e\xe3\x46\x3b\x18\xb6\x2c\x4f\x28\x5e\x21\x6a\xb3\xf6\xe3\x75\x4b\xa1\xe8\x92\x60\x8b\x4a\x4a\x14\xb9\x50\x6e\x9b\x4e\x09\x1c\xc5\xa7\xdd\xbc\x02\x02\xbe\xfa\x9c\xc0\x38\xc4\x6a\x30\x6a\xcf\xf7\x02\xc8\x44\xec\xcc\x09\xe5\xaf\x51\x3d\x5d\x2c\x13\x06\xcd\x09\x37\x2c\x94\xb5\x0b\x1a\xef\xe0\x53\x56\x73\xc7\xd9\x71\xe4\xe0\xa6\x1a\x5d\xdb\x64\xec\xf8\xd9\x71\xe4\x05\xe9\xd2\x52\x52\xc3\x85\x64\x1c\x27\xd3\x3d\x0c\x22\xc3\x67\xe4\x60\x37\x55\x77\x09\x5d\x13\x50\x00\xa7\x2d\x8c\x94\xff\xb7\xb5\xdf\xbe\x04\x3c\x1b\x48\x73\xe7\x0d\xf4\xa7\x47\x46\xdb\x78\x3a\x8e\x86\xa0\x97\xee\xd5\x0e\xbf\xfe\xf5\x46\xd5\xd4\x43\xb4\xba\x08\xea\xcd\x9c\x88\x13\x34\xfd\x3e\x02\x3c\x10\xc7\x67\xd3\xf8\x85\x5a\x1d\x3c\x8c\x8d\x18\x13\xca\x76\x65\x25\x96\x0d\x68\x9b\xa2\x1b\x2f\xd3\xb5\xe0\x94\x83\xe7\x8f\x01\xde\x01\x0f\x20\x71\x06\x01\x21\x65\x18\x43\xaa\xf9\x9b\x07\x36\x24\x16\x62\x35\xf6\x63\x7a\x62\xdb\x9c\x9d\xf6\x66\xff\x5d\x0d\x1e\xa1\x58\x18\xfc\x7f\x70\xbe\x5c\x21\x24\xa9\x35\xed\xc0\x92\x9c\x1e\x2e\xb3\x62\xa6\x98\xe9\xb1\xff\x3f\xde\x39\x00\xc2\x2a\xee\x7d\xd4\x25\x44\x0f\xc0\xd8\xa3\x98\x40\xcb\x48\x15\xb4\x47\x00\x49\x2b\x67\xb6\x2c\x92\x64\xc0\x71\x36\x6a\x30\xa9\x69\xd7\x22\x01\x4d\xed\xcf\xf6\xa1\x6e\x6a\x6b\xd8\x4f\x7c\x8a\xd4\x6b\x71\x76\x0c\x56\xfd\x2e\x9b\xc9\x58\x4e\x2e\x6d\xb1\x5d\x1e\x10\xe8\xe9\x7e\x72\x45\xc0\x50\xd4\xf6\x42\x15\xa0\xa5\x49\x2d\xdf\xa4\x56\x5e\x04\x2e\x30\x53\x4a\xcd\x27\xea\x7d\x7a\xaf\xb2\x92\x41\xcd\xf8\xa3\x17\xd2\xeb\x16\x90\x6a\x69\xfc\x59\x5a\xa2\x2a\xbf\x24\x65\x4b\x02\x36\xa1\x46\x19\x40\x8e\x91\x3a\x77\x38\x91\x54\x63\xb4\x72\x33\x24\x43\xa8\xf1\x29\x39\x22\x80\x96\x50\xf0\xa0\x0f\xdc\xc1\x22\xd7\xa3\xda\x61\x32\xf2\x4b\x9b\xae\x94\xc0\x5a\x8b\x00\x75\x50\xa5\x78\x99\xcb\xa8\xfe\x28\x3c\xe9\x94\x59\xd7\xc4\x5c\xb0\x26\xe6\x32\x62\xae\xe2\xe2\x85\x91\xec\x4e\x46\xb2\x3b\x33\x92\xdd\x99\x91\xec\x8e\x46\xb2\x9b\x8c\xe4\x61\x23\x9b\x89\xec\x8e\x26\xf2\x64\x21\x4f\x06\x32\x24\x1e\x6c\x70\x19\x30\x64\x98\x85\xc7\xe9\xa1\x53\xc5\x8c\xe2\xc9\x38\x36\xdb\xd8\x59\xc6\x6f\xc8\x75\xc0\x42\x36\x8a\x58\x89\xd4\x4e\xeb\x0d\x1f\x08\x7a\x3e\x26\x8a\xba\x88\x31\x90\x68\xe1\xf2\x64\xca\xa0\x41\x2b\x99\x9a\x4e\xef\x44\x05\x4c\x4d\x80\x75\x05\x11\x5b\xee\x00\x4f\x9c\xfb\x8f\x9c\xc4\x53\xb7\x14\x2f\xd1\xd5\xc1\x5e\x4c\xd3\x17\xf4\xb5\x24\x50\xc3\x87\x3e\x8e\xc1\x10\x40\x01\x4b\x5a\xdc\x85\xb5\xa8\x8b\x54\x63\x13\x0e\x0e\x08\xff\x8d\x17\xfb\x72\x92\x29\xb7\x30\x18\xc3\xb9\x3c\x4e\x06\xa3\x65\x6c\x9b\xbd\x78\xb2\x84\x31\x73\x33\x32\x2c\x62\xb9\x2f\xee\x3f\x34\xf9\x0f\xb5\xf5\x3e\xd3\xe4\xba\x94\x81\xfa\x76\x58\x69\x96\x7a\x33\xba\xaf\x63\xf6\x74\xd4\x5f\x4b\xcf\x98\x75\x59\x92\x91\x73\x96\x06\x34\xcb\x10\x37\x2a\x9a\x90\xcf\xc9\xf4\x00\x71\x29\x3f\x31\x61\x19\x18\x1a\xba\x41\x41\x03\x63\xf3\x8f\x34\xd7\xb6\x4c\x48\x53\x14\xaa\x0d\x88\xc0\x82\x04\x05\x63\x4c\x65\xc4\xd7\x2c\x10\xc6\xab\xaa\x78\xef\x13\x15\x94\xd6\x95\x54\x36\x60\xac\x8d\xed\x28\x45\x58\x9b\xc2\x04\x4e\x0b\xc6\x3f\x1c\x36\x23\x97\xfe\xb8\xbb\xc8\x09\x87\x73\xc5\x8e\xc9\xe8\x32\x49\x6a\xaf\x91\x7a\x46\xce\xb0\x5a\x09\x29\x39\x3b\x8e\xa1\xaa\x78\xde\x96\x81\x38\x8a\xb0\x5b\x2c\x47\x51\x2d\x85\x3a\xf3\x56\x8d\xc2\x02\x23\x52\xfd\xa0\x92\x74\xda\xa9\x2e\xe4\xdf\xcb\x0e\xdb\xea\x02\x8e\x9c\x2f\xea\xd9\x98\x5a\xc5\xa8\xa4\x4b\xad\x7b\x63\x8f\xd5\xc3\x73\xa7\x50\xa1\xe5\x5a\x56\x4d\x66\x79\x9b\x7a\x11\x9e\x06\x9e\x7d\xb4\xdc\xc3\x9c\x23\x66\xba\x8e\x4c\x87\x99\xaa\xfe\x80\x7c\xbc\xcb\xc0\x38\xe8\x2d\xbf\x16\xca\x09\x84\xc8\xa1\x3d\x31\x59\x64\xdf\x7a\xc3\x68\x0f\xcf\x3c\x15\x30\xe6\xe5\xed\x00\x22\x27\x29\x03\xe3\x3c\x76\xf3\xfd\x3f\xbe\xc0\x62\xdb\x7a\x3c\x75\xf0\x54\x82\x50\xd0\xc9\xdf\x9a\xda\x0c\x97\x64\x78\x24\x40\x4b\x4c\x2d\x3e\x57\xc4\x28\x05\x74\x71\x95\x0a\x57\xb3\x8c\xb7\x02\x2b\x59\xd7\x7b\xf0\x97\x4e\x1e\x02\x20\xb0\xa9\x14\x81\xd9\xc8\xc4\xf8\x12\xa3\x7a\x94\xdf\xe1\x03\x0d\x17\x68\x88\x3c\xfc\x76\xf3\x0e\x26\xe7\x60\xf8\x06\xc3\x35\x98\x3c\x03\x75\x0c\xf0\x88\x46\x4e\x08\x4a\x33\x96\x42\x19\x25\x22\x1d\xc0\x4e\x13\x12\xb9\x64\xf5\xac\x31\xa5\x99\x62\x4b\x86\x38\xd3\x72\xf5\xd4\x03\x76\xda\x73\x9e\x6d\xe5\x72\x2d\xaa\x10\xb7\x14\x41\x56\xa6\xe6\x11\xd4\xaa\x3a\xf6\xd0\xce\x03\x00\x1a\x2b\x4c\x34\x5e\x63\x23\x2b\x8d\x49\x36\x73\xfb\xfb\x33\x33\xbb\xdc\x63\x66\x7f\xbc\x17\xca\xcc\xea\x5e\x86\x13\x38\x3a\x60\xca\x8d\xb8\xd1\x5e\xef\x42\xc9\xfd\xeb\xe6\xeb\x3f\xfc\x5f\x7f\xfd\xed\x3f\x37\xbf\x3d\x4c\xc7\x83\x52\x4c\x7d\xc8\xa6\x7e\x53\x29\xb6\x12\xb0\x03\x61\xa9\x63\xf3\xc3\x0e\x91\x62\xe4\xd7\x74\x3a\x37\x4e\xa7\xca\x38\x53\xec\x44\x0e\x3a\xed\xb6\x01\x76\x13\xe0\xff\xc1\x4a\xae\x42\xd7\x0c\x79\xbb\xf3\xab\x25\xd8\xb7\x6e\xd7\x95\xdb\x67\xef\x55\x71\x02\x5a\x58\x66\xb5\x1a\x58\xd5\x6a\x93\xbd\x3f\x9e\x02\xb3\x06\x45\x40\xb5\x9e\x55\x42\xf0\x40\x74\xee\xdd\xae\xa6\xda\xeb\x9c\x49\x89\xb1\xcd\x5c\xc7\x85\x9c\xdd\xeb\xec\xeb\x81\x08\x2d\x6f\xe0\xe3\xfe\x78\xf7\xdd\x85\xf5\xcb\xeb\xf4\x43\xe7\xf5\x03\x05\x55\x28\xc7\x0f\xda\xad\x2b\x3e\x50\x85\x7a\x31\xf8\x8f\x82\xbe\x74\x31\x08\x14\xf5\x4c\xce\xeb\xa4\x00\xc7\xc3\xe5\xc0\xd4\x60\xd5\xf7\x62\x98\x28\x75\x76\x9e\xca\x71\xca\xe9\xa0\x33\x7d\xc9\xcf\xd4\xcd\xf0\x93\xfa\x8a\xda\xcf\xda\xec\x7a\xcb\xf3\xc4\xf6\x55\xe4\x75\xe4\x4a\x87\xbc\xa4\x72\x12\x5d\xb2\x5f\xcf\x9a\x0c\x86\xc3\x58\xa2\x6b\xaf\xcd\x0a\x84\x59\xca\x5b\x52\x0b\xed\x75\xfa\x66\x10\x9c\xa8\xae\xe9\x6f\x89\x7a\x7c\x2d\xd4\xa3\x18\x89\xf2\xf8\xfc\xa1\xce\xff\xf9\x16\x67\xc7\xef\x02\x06\xbb\xa0\xbb\x03\x6c\x5b\x30\xd8\xb6\x52\x12\xb0\x5b\xb0\x80\x82\x13\x3d\x80\x60\xdc\xd6\xb2\xba\x57\xc7\x05\x29\x4a\x9d\xd3\x1c\x36\x36\x42\xc1\x4d\xb8\xb1\x9f\x21\xd1\xbd\x70\x3c\xe4\x6b\xa8\xa5\xb6\x5f\xa3\xa7\x5d\xaf\xa5\xcd\xb7\x6b\x69\xe3\x94\x6c\x6e\x85\x72\x26\x11\x91\x72\x79\xab\x40\xde\xe9\x0f\x91\xa4\x63\xbc\x1e\x25\x48\x5f\xa9\xb8\x65\xab\xb8\x5d\xd9\xfc\x8a\x63\x5f\x6c\x09\xb4\x66\xf4\x8a\x35\xbf\x65\x4a\xb9\x6e\x81\x4f\xaf\xc6\xbc\x7a\x23\x25\x7b\x8a\x05\xb5\x62\xe9\x55\x75\xa8\xa8\xb1\x54\x66\xb3\xad\x53\x4e\xd1\x05\x2b\x35\xfa\x22\x0b\x8e\xd5\x13\x22\x5c\x3f\xc4\x6b\x63\x14\x2d\x35\xa5\xae\x17\xaf\xf6\xf5\xf4\x7f\x00\xda\x7e\xbc\x77\x42\xc8\x5b\xb2\xb6\x11\x4e\x3a\xf6\xd4\x77\xfc\x3d\xc3\xb2\xdd\xfd\xb4\xbd\x95\x02\xf6\x80\xf3\x60\x93\xe6\x66\x26\xd6\x0d\xa4\xc2\xd5\xca\xc5\x65\x7e\xc1\x05\xb2\xeb\x3a\xaa\x6d\xa5\xdc\xca\x56\xa7\x25\x60\x98\x40\x1e\x0e\x1f\x20\x82\xbf\x78\x8f\xf9\xe8\xb2\x85\x5a\xa3\x74\x8a\xd2\x40\x6c\x5c\x6b\xd4\x57\x3b\x75\x56\xae\x39\xf6\x2c\xfb\xce\xe7\x95\x51\x1c\xa3\x65\x0d\xfe\x78\x1f\x80\x2a\x08\x7d\xf5\xe4\xf4\xf0\xa2\x53\x0a\x49\x70\x33\x10\x1a\x71\xdc\x27\x78\x1f\xf6\xac\x83\x30\xf0\x7d\x58\xff\x83\x6c\x96\x56\xbb\xba\x92\x0b\xe0\xdb\x00\x8c\x9b\x79\x2a\xd4\x09\x69\x16\x14\xe5\x38\x6e\x2e\xf2\x79\x87\xb7\x82\x82\x42\xf3\xec\xdc\x11\x59\x71\x96\x30\x5a\xf8\xbe\xcd\xd8\x33\xa1\xfa\xa1\x1e\xa9\xcd\xec\xf5\x54\xaf\x29\xb1\x6f\x31\xdb\x56\x53\xae\xd6\xcb\x0d\xdf\x96\xfb\xef\x96\xb8\x15\x76\x80\x39\xd9\xaa\xbe\x50\x39\x52\x7f\x28\xa2\x98\x5b\x75\x04\xca\x2c\x75\xbd\x96\x50\xb7\x70\x3d\x25\x66\xfd\x02\x6e\x89\xbe\xb6\x96\xde\xca\xfa\xc6\x77\x59\xc9\x71\xcb\xa8\x10\x9e\x2a\x1a\xdf\xab\x3d\xb6\xa1\x1f\xaa\xf0\xaa\x04\x05\xdb\xb3\x9f\x49\x90\xf6\xee\x14\x7d\x63\xf6\xf0\x28\x2c\x14\xc7\x6d\xc8\x4f\x45\x3d\x8d\x5c\xd2\x78\xc2\xbb\x39\x02\x16\x27\xc8\x40\x8c\x69\x2e\x48\xea\x59\x22\x25\xa2\x23\xd5\xa9\xcc\xe4\x23\xe1\xd3\xda\xf6\x94\xab\x0c\xe8\xb4\x06\x12\x81\x26\x0b\x59\xd2\x3b\x7e\x83\x30\x6d\x7e\xf9\xdb\x9d\x68\x1f\x0d\x6e\x27\x22\xc6\x6d\x6b\x8c\x3e\x52\x0c\xff\x37\x37\x6a\xbd\x7b\xaa\x29\x6f\xa6\x22\x43\x19\x6a\x5b\xbd\x90\x20\x45\xb5\x40\xa2\x09\x65\x4f\xfb\x24\xb2\xfa\xd8\x54\x4a\x1d\x6c\xd2\x11\xc3\xc1\x56\x38\x09\xb7\xa7\xe2\x5b\x50\x34\x91\x54\x44\x72\x51\x0d\x85\x6d\x96\x4d\xa4\x04\xd6\x9d\x34\x58\x77\xd8\x76\x9b\x2b\xe2\x0d\x11\x64\x7b\x7a\xb4\xb0\x93\xda\xa5\xb9\xef\x6d\xef\x55\x74\xa2\xc3\xe3\x1c\xbb\xce\xe7\x7a\xc8\x20\x92\x02\xfa\x9c\x8b\xfa\xf1\x19\x39\x68\xc4\x48\x26\xce\x9e\x38\x17\xc2\xe3\x73\xb3\x1d\xf0\x56\x41\x9f\xd4\x7a\x5f\xe9\x02\xaf\x7d\x80\x2e\xf0\xda\x07\x9e\xf4\x13\x43\xf3\x03\x38\x1d\x47\x0f\x87\xbd\x14\x6d\xbc\x18\x60\x5d\x86\x8f\x07\x44\xce\x0e\x92\xee\x8d\x50\xe1\xee\xec\x38\x85\x21\x10\x46\xac\x6e\xde\x11\x1e\x3d\x31\x3a\x02\x05\x0a\x93\x97\x27\xe8\x7c\x75\xce\x5a\x56\xab\x73\xf0\xf5\x88\x6c\x12\x68\x9c\xec\x38\x24\x37\xe9\x73\xc7\x8b\x10\x0c\x63\x28\xb4\x5b\x80\xec\x18\x72\x32\x2e\x27\xe6\xac\xbd\xa2\x26\xda\xe7\x10\x18\xb7\xd0\xd2\x7f\xd0\xba\x82\xe5\xeb\x5a\xcd\xff\x27\x0b\xde\xc7\x77\x2e\xb2\x30\x68\xaf\x27\xd3\xfd\x90\xd5\xed\x31\xac\x8d\xf3\x29\xff\x1d\x70\xbd\x7f\x5a\x8d\x77\x59\x8d\x5f\x3a\xe8\x83\xba\x4e\x8c\xcf\x0b\x05\x33\xa1\x2a\xae\xe7\xe7\x4c\xb5\xba\x06\x6d\x58\x48\x22\x78\xa4\x5b\x2d\xae\x6d\xa9\x07\x2c\x40\x94\x12\x55\x56\x55\x88\xc9\x58\x55\x51\xa6\x14\x75\xd6\x50\x6a\x91\xc0\xe2\x17\x89\x91\xf6\x31\xe8\x00\xa0\xbd\x3d\xc5\x34\xcb\xc5\x8e\xb1\x51\x69\x20\xbc\x92\x71\x1c\x5e\xbc\x08\xe5\xba\xf5\xaa\x78\x11\xa7\xd3\x09\x86\xf5\x29\xd6\x84\x77\xd6\x1c\x14\x91\x7a\xaa\xd8\x2c\x80\xce\xc4\x06\xf8\xa0\x59\x4a\x3a\x92\xa9\x45\x4f\x79\x7a\x23\x20\xb0\x2a\x95\xb8\x41\x29\xb7\x79\xa3\x3c\x5a\xe5\xa9\xb4\x2d\xe0\x72\x11\x68\x13\xd5\xc0\x29\x88\xb6\xcb\x53\xbe\x0b\xa7\x18\xf2\xfe\x97\x9f\x6f\x6e\xc5\xce\x41\x97\x51\x0b\xb9\x92\xee\x2b\xc6\x56\xfe\x4d\xd8\xc1\x9c\x76\xf3\x2f\x4e\xd8\xbe\x07\xec\x62\x7d\x0c\x60\xc0\xb6\x52\xa6\xb5\x52\x3e\x78\x07\x7d\xc1\x9f\xda\xf5\x5f\xa9\x5d\x21\x6d\x77\x02\x42\x2e\x60\x99\xa6\x84\xd5\x4a\xd7\x60\xaa\xaf\xa1\x05\xf7\xdd\xfc\xf3\x13\x72\x2f\xa8\x81\x46\x70\x86\xd7\xe0\xc1\xd3\x8a\xa0\xa5\x3b\x58\x0b\xdc\xef\x68\xd6\x1f\x9a\x5e\xe1\xdb\x91\x4d\x86\x62\x16\x48\x46\xfd\x36\x8f\xe6\x0a\xe8\xca\xf7\x7b\x12\xdf\x21\x4f\xef\x3f\xff\xf2\xcf\x1b\xe4\x4c\x4b\x84\xd1\xb4\x56\xef\xb9\x06\x63\x50\xee\x41\x2b\xfb\x53\x99\xfc\x2b\x95\x89\x0d\xfe\x5d\xda\x04\x0d\x5c\xc1\xcf\x48\xab\x63\x9f\xee\x19\xfb\x3f\xe7\xf7\x1f\x30\xbf\xff\xbe\xbf\x77\x7a\x1b\xec\x2d\xca\xe4\x66\x16\xae\x3e\x04\xa7\x17\x5e\x2b\x70\x04\x89\xc0\xbc\x1e\x70\xc2\x68\x78\x69\x4b\x86\x24\x98\x33\x73\xea\xa4\x45\x51\xe8\x9f\x5b\x00\x7f\xf8\x16\xc0\xbd\xc2\x74\x97\xba\x50\x7f\xc7\xd5\x15\x39\x5a\x18\x12\x23\x48\xdc\x00\xf6\xb1\x28\x54\x87\x95\x1b\x96\xe6\xca\x10\xa5\xfa\x56\x67\x53\xcb\x6e\x7c\xc7\xc2\xf3\xa7\x97\xf9\x9d\x7b\x13\x77\xc8\xcb\xd7\x5f\xff\xf9\xdb\xf6\x5e\x02\x5a\x54\xd3\xb0\xd0\x0c\x60\x31\x20\x1e\xb6\x8f\x8b\x4e\xc1\x8a\xba\xf7\xf3\x2f\x40\xfa\xae\xb3\xe1\x95\x33\x10\x9c\xf6\xea\x07\x79\xa6\x32\xeb\x02\xd4\x9f\x06\x9d\x2e\x41\xfd\xdc\x48\xf1\x12\xc6\xdc\xae\xb2\xbc\x81\xad\x7c\xb2\x68\x11\x87\x71\xdf\x66\xb7\x9d\xee\xfa\xa7\x52\xfb\xf7\x56\x6a\x43\x48\xef\x54\x6b\x22\xae\x52\x8b\x6d\x43\x45\xb2\xfe\x4d\xc1\xcc\xdc\xa8\x35\x79\xcd\x54\x90\x50\xb7\x37\x76\x70\x90\xf7\xcc\x4e\x6d\x92\x40\xd4\x2b\x13\x9b\xdb\xd9\xb7\x2a\x76\x69\xbf\xf6\x8d\x5e\x5d\xef\xa2\x0e\x7d\x8b\x28\xc3\x91\xf9\x19\x92\xec\xe7\x6e\xe5\xc2\xce\xee\xb9\xf2\x95\x9f\x7e\xa8\xd3\x3f\x06\x76\x80\xea\x99\xee\xf1\xa7\x2a\xfd\xb7\x50\xa5\xff\xf8\xe9\xbf\xee\x44\xb2\xc1\x0a\xb8\x06\xb3\xb7\xe4\x80\xda\xf9\xf6\xf1\xa5\x3a\x9e\x6f\x71\x4d\xe0\x20\x4b\xac\xce\x9d\x9f\x33\xc7\x0f\xa0\x2a\xdc\x75\x25\xc8\x24\x2b\x37\xbd\x47\xa6\xfe\xf4\x0b\xff\x85\x7e\x21\x84\xed\x2e\x85\x98\xae\x0c\x7b\x5e\x75\x0b\x33\xe9\x72\x62\x60\x1b\x6b\xf2\x16\x57\x31\x54\xe6\x1b\xe3\x47\x99\x33\xd4\x98\xe5\xcd\xe7\x41\x28\x3f\x31\xd1\xfe\xe9\x93\xfe\x5b\xf8\xa4\xff\xf5\xef\x94\xb2\x32\x8b\x60\x1c\x33\x0d\x16\xf0\x40\x7f\x54\xce\xca\x21\xea\x65\xfe\x88\xb4\x15\x4e\x8e\xd3\x46\xdc\x44\xd7\xe6\xe4\x50\x8e\xff\x15\x27\xbb\xb3\xff\x79\x39\xf8\x72\x76\xae\x97\x9d\x2f\x1f\xef\x99\x6a\x73\x11\x46\xce\xc5\xf6\xf6\x11\x09\x0a\x2c\xcd\x6a\x79\x30\x55\x98\x35\x0b\x0e\x29\x4b\x5f\x50\x6b\x1d\xc5\xb7\x76\xa6\x9b\x9f\x79\x76\x62\xd5\x81\x80\x58\x5e\x39\x6f\xdc\xba\xe1\x27\x7d\x7f\xbc\xf3\xdd\x5b\x3a\xff\xf5\xef\x90\xfe\x72\x43\x2c\xff\xe8\x14\x98\x55\x9c\xcf\x1f\x9d\x01\xc3\xae\x5f\xca\x62\xbc\x90\xc5\x78\x29\x8b\x71\x26\x8b\xf1\xe3\x9d\x72\x74\x99\x72\xdc\x83\x7e\xaf\x57\xfb\x77\xa5\xc4\xe3\x74\x8e\x9f\x9d\xe4\x2f\xcf\x1a\x67\xac\x9e\x65\x8f\x76\x3a\x69\xe5\x76\xee\xc8\x09\x7e\x87\xe0\xdd\x88\xd4\x7d\xe2\x40\xae\xd0\xf0\xc7\x01\x40\xb2\xb4\xc0\xed\xf4\xfa\x52\x0e\x0b\xe0\xd8\x60\x06\x50\x78\xe9\x2b\xdf\xc1\x8d\x53\xcf\xb3\x2d\x31\x4d\x00\x26\x64\x10\x5a\xad\xf6\xcd\xe5\xb7\x6a\xbe\x77\xa4\xb0\xed\x51\x22\x87\x03\x6f\xa8\xa6\xa2\x7f\x6e\x2a\x80\x15\x75\x55\xab\x9b\xff\x38\xd6\xe6\x29\x87\x78\xf6\xe3\x6f\xfe\xed\x2b\x0f\x75\x51\xca\xfc\xa9\x02\xb1\x74\x78\xbb\x72\xf4\x76\xd7\x9d\x06\x0e\x8f\x7a\x0d\xed\x8a\xd7\x60\xd3\xa4\x9d\xbc\x06\x9e\x7c\xdb\x7c\xdc\xe6\xe7\x6e\xe9\xd6\x87\x42\xa5\x2f\xe0\x7c\xb1\x10\x05\xcc\xaa\xc3\xb5\xb6\xb5\x2b\xb0\x69\x36\x56\x17\x5a\x09\x9b\xdf\xf1\x75\xba\x27\x7f\x00\x61\x18\x61\xb5\x37\xae\xaa\x4b\xd6\x30\x6b\xd4\x12\x7b\x6b\x36\xcf\xad\xda\xa9\xf1\x96\x38\x31\x71\x22\x11\xd5\x3d\xfa\x92\xe3\x61\x7e\xcb\x4f\xbb\xe8\xd1\xe4\xd8\x1b\x81\xca\x87\x2d\xc0\x44\xf5\xba\x26\x8d\xd0\xa4\xd1\x34\x69\xa8\x40\xcc\xb0\x2e\x28\x4c\xdc\x55\xba\x2e\x42\x5b\x24\x01\x75\x34\x7b\xd0\xe1\x3a\x24\xe9\x5f\x37\x1d\x8b\xde\xfa\xaa\xe9\x58\x2f\x27\x1c\x80\x67\x32\x0e\xe0\x13\xda\x2d\x49\x85\x0c\xf3\x4e\xbf\xef\xb7\x2d\xcb\xbe\x0e\xc4\xb7\x6e\x54\x2e\xa2\xb1\xf3\x05\x21\x9b\x6d\x06\x9f\x58\x28\x25\x04\xcb\x44\x55\xe4\x7b\x72\x9d\xb8\xbf\x15\x48\x91\x63\x48\xfb\xaa\xa0\xd4\x35\x31\xb1\xe7\xd4\xcb\xcf\x74\xcf\xb1\x27\x1e\x14\xa4\xf7\x07\x75\xf2\x4d\xee\xb2\x65\x50\x2f\x4e\x41\xbd\xe5\x57\x72\xdd\xf2\x1c\x44\x5e\x83\x5c\xec\x8b\xa8\xf6\x28\x67\x7c\x66\xab\x70\x6a\xed\xad\xa8\xa7\xf5\xf1\x85\x9b\xb3\x08\x5a\x7e\x63\xd6\xcf\x2b\x65\xa4\x9a\x66\x9f\x77\xbe\xbf\x31\xef\xba\xae\xd4\x1f\xef\xd9\x71\x78\xe3\xf2\xc2\x0d\x8c\xf0\xf8\xf9\x7b\x70\x7a\xb1\x83\xe5\xa0\xdc\x60\xcc\xb1\xab\x66\x9f\x0f\x7d\xe7\xfb\xc1\xf7\x1d\xe0\xfd\x92\xcb\xa0\x25\xb8\x9a\x4b\x5e\x0e\x3e\xbd\x80\x85\x40\xe7\xed\x0b\x52\x5a\x22\xe5\x97\xf2\xc6\x05\xe0\xea\xd9\x67\xa4\x32\x14\x6d\x3e\xda\x19\xbc\xfe\x4f\x06\x5d\xce\x55\x87\xe0\xed\x86\xff\xf2\x89\x30\x3c\xa6\x54\x64\x2d\x44\x16\xae\x86\xc8\x84\x3e\x47\x08\x5b\x6a\xa9\x81\x10\x16\x5e\x2c\xef\x67\x0a\x93\xbe\xcd\xc3\xd7\x67\xa0\x5e\x94\x0f\xb2\x93\x8f\x77\xc4\x05\xc1\x13\xb1\xf3\xf2\x66\x8c\xe0\x48\xdd\x7f\xab\xbb\xa2\xd3\xf7\xe3\x3d\x52\x76\x15\xdf\x1f\x3c\x7e\x13\x8c\xab\x59\x0e\x82\x95\x4a\x56\xfd\x4c\x96\x0f\xe3\xda\xc8\x87\xf2\x92\x0f\xbe\xec\x0a\xc0\x44\x1c\x0b\xb0\xdd\xd7\x94\xcb\x0b\x04\x52\xef\xf4\xf1\x2e\x23\x62\x84\x7b\x1e\x0c\x88\xc4\xd5\xb7\xa9\xa9\x3a\xe2\x11\x0d\xf7\x72\x0d\x05\x0d\x24\xcf\x8f\x0d\xf7\x3f\x7e\xfa\xed\x5e\xf4\xe8\x32\x47\x06\x27\x30\x89\xf0\x1a\x2c\xec\x0a\x8c\x78\xc1\xfc\x2d\xd7\x43\x23\x73\x3c\x79\xbb\xd0\x22\x37\xfd\x18\x1b\x31\x10\xfa\xf2\xad\x1b\xf6\x9f\x1b\xa9\xda\x27\x77\xc2\x3c\xcf\x1f\x13\x1b\x0c\xb6\x6f\xb1\x7c\x14\x9e\x9f\xec\x4c\xa7\xc5\x89\xe0\xe0\xec\x3b\x30\x2a\xd6\x39\xb9\xdc\x70\x91\xae\x90\xc8\x7d\x7c\x81\xa9\xc4\xbc\x12\xa3\x5c\xed\x12\xf9\xa6\x2e\xd9\xfe\xfc\xdb\xf6\x56\x61\xdb\x65\x22\xcd\x15\x22\x94\xba\xda\x10\x23\xd9\x33\xbe\x9a\xb3\x07\xc3\x9b\x76\xa5\x37\xf3\xfc\x64\xfc\xdc\xf6\xba\xd6\xe5\xe2\x76\x27\x7c\xca\x63\xbb\x4a\x83\xf4\x35\xd9\x5b\x3e\xfe\xf3\xd3\x27\x9e\xf9\x7f\xab\x87\x5e\xed\x4c\xc7\xa3\xde\x50\x36\x1d\x75\x8c\xd9\xaa\x5c\x74\x4d\x39\x7d\xa0\xae\x67\x77\xe1\x3b\x82\x4f\x67\x43\x75\x7f\xda\xcb\x7c\x58\x3e\x99\x47\x10\xd9\xf9\x00\x40\x64\x17\x7c\x88\x9f\x89\x6c\x75\x1c\x56\x86\xea\x1c\x14\xb6\x3b\x0e\x2f\x77\x6c\x78\x37\x17\x36\x13\x65\x8b\x3e\xeb\x93\xfd\x27\x84\xe6\x82\xa9\xd5\xb6\x29\x48\x19\x1c\x5d\x1f\x81\x48\x32\x7d\xa0\x5d\x1f\xbf\xbb\xeb\xd1\xb8\xc7\xc9\x92\x7f\x80\x90\xfd\x98\x79\xf4\x6e\x30\x92\x2b\x7a\xfa\xdb\x06\xf8\xfa\x75\xd6\x5a\xb3\x9b\xa7\xcd\x7c\xa7\x8f\x74\x1c\x91\x47\x29\xed\x6f\x49\x94\x09\xfc\xb7\xe8\xb8\x77\xb6\x1d\xb3\x6f\x99\x6b\xef\xc3\x5b\xbf\x74\x3a\x38\x5c\xec\x3b\x8d\xb1\x5c\xf5\x1b\x1e\xeb\xba\x5f\xfe\x06\xee\xa5\x5b\xc8\xde\xb7\x85\x39\x51\x03\x9a\x95\x94\xad\x8f\x54\xbb\x78\x40\x28\x55\xca\x95\x52\xf3\x9d\x7a\xcf\x80\x12\xab\x4f\x67\x01\x25\x15\xfa\xe8\x32\xa5\xb4\x69\xd4\x92\xda\x55\x6d\xa0\x26\x35\xca\xa9\x78\xa1\xca\xed\xa9\x11\x00\x84\x6c\x19\xed\x14\xba\xfd\xe4\xac\x07\x99\x98\x9b\x07\x1c\x5c\xb4\x03\x0c\xa6\x0c\x04\x8e\x48\xdc\xb0\xb9\x12\xab\xab\x7a\xe2\x2c\x83\x38\x72\xf3\x54\x19\x44\x78\xd1\xc0\xe4\xe2\x11\x9f\xb4\x77\xc3\xbe\xd8\x7a\x4a\x80\x24\x08\xd9\x53\xeb\xea\x18\x87\x8a\xe4\x7e\xd1\xf7\x2d\xcd\xc8\xe1\xa2\x3a\xb3\xd2\xb6\x00\xa3\xa3\x2e\xda\x03\x40\xde\xc9\x00\x06\x6e\x1e\xd4\xe2\xc4\x2d\x83\x21\x91\x52\x55\xf7\x22\x57\x6a\x39\xaa\x7b\x57\xca\xc7\x3b\x17\xc3\xb4\xa8\x97\x48\xbf\x68\x72\xd5\x9e\xd1\x5e\x09\x75\x1c\x6d\xcb\x3c\xab\x82\xe3\x56\xb7\x9e\x22\x60\x97\x4b\x4f\x9e\x1a\x38\xae\xa5\x88\x55\x23\xb8\x44\x75\x06\xc2\x9c\x42\xa7\xcc\x69\x4b\x19\xc1\x65\x80\x7f\x84\x28\x3e\x92\x0e\x6b\x12\x80\x60\x25\xa6\xdc\x3c\x2a\xea\x88\x8b\xcf\xc4\x21\x7b\xf6\x95\x24\xb6\x8f\x77\x5f\xa9\x77\x7d\xa2\x4d\x32\xb4\xa7\x96\xa7\x61\x68\x41\x47\xbf\xe4\xe4\xa4\x52\x0f\x79\x7a\x99\xb6\xeb\x9d\x50\xbf\xa4\xe5\x4a\xdc\x28\x75\x27\x9d\xe2\x74\x84\x1d\xde\x8a\x01\xaa\x03\xd5\x2f\xdb\x41\xaf\x52\x28\x49\xf1\x14\x6b\xbc\x7c\x2c\x4e\x9e\x32\x28\xc1\x5b\xaa\xe3\x88\x46\x45\x20\xb4\x47\x62\x06\x90\x8d\xb6\x0d\xed\x9c\x05\x45\x53\x89\x9e\x62\x8c\x5b\x43\x50\xd7\x51\x47\xbc\x58\x57\xc4\xa4\x7d\xd1\xd8\xec\x39\xa0\x7a\x45\xf8\xa8\x15\x08\xab\x56\xad\x26\x20\x60\x0c\x3c\xc3\xb2\x96\xd8\xa9\xa5\xbc\xa5\x54\x91\x84\x82\x8a\xd8\x88\x90\xb2\x8a\xa3\x10\x76\x4f\x62\x06\xd7\xbd\x7a\x44\xc0\xef\x81\x2c\xf6\x52\x7c\x23\x86\x67\x1b\x50\xe2\x97\x68\x45\x40\x54\x23\x68\xab\x53\x6b\xd4\x9a\xb1\x7b\x22\x59\x02\x65\x90\x86\x76\x56\xea\x6c\x12\x35\xa1\x2e\x69\x4b\x0d\x55\x75\x01\x52\x90\x00\x90\xd2\x3b\xd0\x62\x82\x0a\x67\x2f\x82\xc8\x47\x6c\x1e\x88\x2e\x97\x7a\xa8\x24\xed\xe5\x04\xa4\xb8\x32\x8e\x43\x0c\x0c\x4b\xb3\xc9\xd6\x4f\xbc\x3f\xd9\xa0\xb1\xa2\x8b\xd4\x8b\x01\xcb\xa9\x42\x90\x52\x36\xea\x67\x57\xc3\xe8\xaf\x32\xc5\xe9\xb9\xa0\x96\x33\xb4\xcb\xf0\xbd\xe8\x30\xb7\x26\x5b\x20\x83\x53\x19\x75\x94\x4c\x1c\x51\x7f\x57\x2a\x52\x97\x32\x95\x98\x0d\x8b\x0b\x85\x93\x55\x65\x19\xf5\x93\x95\xc5\x27\x6a\xf5\x09\x7b\x5e\xce\x8e\xd0\x37\x8c\x33\x22\x5d\xe4\x84\xea\x03\x52\x49\xf1\xe3\x9d\x7a\x06\xf7\xef\xe5\xb7\xbd\x79\xca\x05\x96\x56\x8b\xe3\x38\xd6\x66\x8e\xae\x03\x7c\x36\xe9\x84\x4a\xd3\xcb\xe8\xbb\x0a\x7c\x74\x39\xb1\xf4\x30\x8f\x7a\xa1\x24\x5b\xc3\x20\x6b\x4c\x29\x47\x3c\x4f\xd2\x3f\xe0\x9b\xcb\x46\x3b\x3a\x3a\x3b\x86\xc1\xad\xd4\x54\x03\x5f\x50\x54\xa1\x59\xaa\xc0\xda\xc7\x7b\xa2\x5c\xc4\xb1\x8e\xe7\xe5\x92\x9d\xa4\x50\xaf\xe2\xa4\x01\x77\x68\xbc\x8c\xae\x2e\xdc\x5d\xa4\x94\xea\xe5\x08\x98\xc0\x49\x73\x52\xa8\xa8\xcc\xdb\xcb\xa8\xb8\x88\x51\x15\x49\xc9\xe7\x77\xe9\x15\x45\x53\xe5\xe3\x1d\x3d\x0f\xa1\xee\x6d\x23\xc4\x0c\xce\x52\x3e\x0a\x73\x6b\x94\x5a\x3e\x9b\x97\xd4\x01\xb8\xc6\x42\x85\x33\x30\x84\x47\x6e\x1d\x47\xca\x1d\xba\x1a\xd0\x5a\xbd\x88\xa7\x9e\x80\xb9\x03\x36\x86\x02\xa8\xeb\x38\x13\xfb\xd8\x6c\xa3\xb3\x94\x88\x93\x8c\xcc\x17\x2d\xae\x86\x24\xe5\x33\x49\x47\xd3\x80\x56\xc7\x75\x6a\x5a\xee\x3a\x45\x73\x8c\x88\x33\xa5\xae\xb7\x2a\x73\xc4\xfc\xa4\x93\x3c\xa9\xd0\x43\xd6\x1a\x60\xe1\x39\x18\x5f\x9f\xde\xb2\xe5\xa8\x13\x03\x34\x7c\x48\xb2\x0a\x23\xad\x8d\xf5\x21\x00\xd6\x16\x0a\x08\x30\x4a\x99\xcf\x58\xb5\x0d\x79\x3b\xe0\xc0\x18\x37\xc8\x4d\x85\x82\x0b\xf0\x6b\x3b\xba\x3e\x77\x6a\xb8\xa6\x25\x71\xa5\x94\x54\x8b\x82\x36\xb8\xb7\xee\xb3\x31\x6c\x93\xce\xda\x18\x17\x88\xff\x36\xb6\xdd\x49\xc6\x5c\x1d\x2f\x63\xe4\x5b\x65\x27\xd4\x72\xbb\x54\x70\x36\x0d\x4c\x0e\x78\x7a\xb1\xef\x7a\x63\xbd\xbb\xd4\xef\x35\x56\x1e\xb3\xf3\x60\x4d\x53\x13\x9b\xec\xe7\xd3\x53\x85\xa9\x80\xde\xb6\x6c\x66\x33\x70\x2c\x03\x6e\x31\xcd\x1a\x15\xf6\x45\x67\xe5\x85\x12\xb4\xa5\x36\x15\xf5\x9e\xc4\x70\x6d\x2f\xa1\x12\xd0\x85\xaa\x63\xf5\x62\xb9\x8d\xe3\xe8\xf1\x80\x9d\x9f\x18\x05\x1d\xd7\xd2\xf4\x32\xd6\x4b\xd6\x1e\x9f\xeb\x08\xb5\x33\x52\xcf\x5b\x2c\xf3\x54\x53\x05\x15\x15\x53\x89\xba\xda\x83\xca\x29\xd6\x4d\x85\xe6\xb5\xa3\x4d\x9a\x98\x81\xd4\x1d\xea\x45\x64\x03\x69\xaa\x50\x70\x92\x3b\xd6\xee\x72\xb9\xac\x73\x37\x4c\xad\x96\xfb\x4c\x13\xd4\x4c\xe5\xe9\x62\x75\xc6\x43\xb6\xce\xc0\x49\x4e\x53\x31\x77\x1a\x44\x06\x19\x2b\x5c\xe8\xf3\xac\x7b\x20\x1f\x02\xe7\x92\x6b\x57\xa5\xae\x97\xd3\x69\x51\x32\x65\x86\x35\x15\x2c\x90\x97\x50\xfc\x28\xf3\x09\xca\x51\x6d\x2c\x14\x69\x16\xa7\x93\xfc\xf4\x32\x46\xa9\x19\x5b\x7b\x9a\x75\x25\x00\x9c\x63\x52\x85\x9b\x41\x0e\x4a\x29\x23\xf9\x35\x34\x2a\x66\x01\xe9\xaa\x57\xd8\x90\xd3\x86\xa5\x98\xb2\x2e\x7e\x97\x04\x6b\x2d\x56\x33\x02\x74\xc1\x8c\x49\x17\xaf\x1e\x2f\x17\x8b\x5c\xb2\x1a\x94\xaa\x1e\xb4\xed\x39\x8c\x54\xd2\x44\x45\x00\x20\x0f\xd4\xd5\x12\xe6\x84\xe2\x31\x37\xd0\x7c\x6f\x75\x06\x62\xe5\xd4\xa9\xaf\x16\x9b\xad\xee\xa1\x46\x5f\x28\x86\xf5\xa5\xe9\xe3\xdd\x67\xaa\xa5\x51\xa9\x97\x62\x99\x19\xc0\x4a\xda\x1c\xa8\x9f\x06\x2b\x97\xa1\x44\x23\x30\x14\xba\x2a\xab\xaa\x66\x65\xc8\xd5\x8a\xe2\x75\xe6\x08\x44\xa6\x26\x8a\xa1\xce\x9a\x0a\xee\x98\x9a\xb7\x06\x0b\x10\x7a\x06\xb8\x28\xa9\x08\x01\xc7\x35\x5b\x46\x83\x74\xc4\xcc\xa1\x52\x0b\xde\xd7\xae\x76\x67\x9a\x85\x10\xbb\x5a\x7a\x99\x2b\x82\xe6\xa9\x01\xff\xe0\x52\x7a\xb4\xa5\xd4\x0d\x6f\x15\x86\xa4\x2a\xe0\x4c\xbd\x98\x15\x07\x3c\xc6\x79\x77\x8e\x05\x6c\x0b\x90\x3c\xa0\xd7\xc1\x96\x50\x9b\xce\x06\xb1\x5d\x76\x54\x6f\x0d\x36\xf6\xc7\x3b\x83\xb2\x4d\x1b\x3e\xeb\xc9\x42\x5d\xbd\x83\x44\xb1\xa4\xe9\x65\x92\x0b\x95\xf9\x9c\xcb\x4c\xf2\x82\x3e\x99\xe8\x52\xdf\xd9\x18\x02\x32\x0c\xb6\xdc\x0b\xd5\xae\x0e\x51\x4a\xf3\xce\xd0\x55\x03\x3b\x08\x85\x40\xce\x9e\xe3\x96\x62\x53\x5b\x89\x72\x61\x2a\x94\xd0\x5a\xd9\x88\x50\x56\x2d\x6e\x2f\xe3\xb9\x03\xc0\xfd\x24\xc5\xcb\x96\xc4\x49\xe5\xab\x1b\x30\x8e\xa6\xbd\x03\x67\x38\x32\xe9\xb2\x33\x0c\xc7\xec\x21\x8d\xbe\xdf\xfc\xed\x41\xbf\xb3\x52\xab\xd9\xf1\x16\x6a\x4e\x1c\x50\xe0\x0a\x49\xd5\x35\x2f\x07\x90\xf1\xab\x4f\xa0\xf2\xab\x1a\x24\x45\x8a\x2a\xae\x2d\x52\xc2\x7a\x5e\x81\x10\x51\x27\x84\x08\x12\x2c\x9b\x7b\x83\x9e\x0c\x3d\x9d\x07\xa6\xa2\xe1\x6f\xbe\xc9\x95\xda\xe5\x4c\xaa\xa9\x02\xb0\x36\x48\x54\xb1\x71\x8c\x94\xa2\x78\x92\x60\xee\x2c\x09\xab\xdd\x92\xd0\x59\x05\xf0\xbb\x56\xf3\x0d\x63\xbf\x89\x31\x77\xa4\x08\xe0\x10\x75\x2a\xb3\x76\xec\x9e\x42\x4a\x14\xb8\x6d\x55\xf7\x25\xb0\xee\x0a\x95\x62\xc8\xce\x6a\x52\xc7\xc2\xe3\xfd\xe8\x07\x18\xf7\x5e\x3b\xc2\xa1\x23\x3c\x80\x50\xa2\x5a\x5c\x9c\xba\x76\x84\xd7\x9e\xa0\xa6\x77\x37\x59\x70\x96\x55\xcf\xc0\x2b\xc9\x9e\x24\x5f\x52\x3d\x01\xbf\x24\x4b\x7f\x43\x2f\xcc\x2c\x04\xc8\x60\xe2\xfd\x84\x5f\x58\x37\x6a\xbd\x20\xff\x6b\x08\x7c\xe8\x1d\x0d\x54\xab\xa3\x8d\xe3\x30\x48\x73\x26\x69\x30\x8f\x92\x4a\x30\x20\x8c\x9b\x2d\xb9\xe8\x20\xbc\x1b\xfd\x03\x63\x37\xa2\x0a\xde\xa3\x83\x3c\x7a\xc8\x03\xf3\x45\xfb\xe8\x59\xad\x43\x74\x84\x1a\x7b\x9d\xb2\x9a\x70\x6e\xc8\x89\x65\x43\x00\x46\x85\xdf\x22\x71\xe5\xeb\x23\x56\xc7\x88\xc9\x69\xc0\xd2\x69\xc0\xd2\x8d\x01\x93\x69\xc0\xea\x5d\x03\x96\x61\x17\x09\x15\xa0\x4e\xa6\xa4\x7a\xb6\x66\xa8\x81\x03\x07\xaa\xc0\xca\x56\x71\xd4\xd6\xa4\x62\xe8\x94\x29\x8a\xe1\x40\xa3\xcf\xe4\xd8\x65\xe9\xd8\x65\xe9\x66\x97\xc9\xa9\xcb\xea\x16\x6b\x2a\xfc\x64\x30\x01\x14\x23\xf6\x50\x87\x28\x16\x1e\xef\x47\x3b\x3d\xda\xa9\xea\xc2\xa3\x99\xda\xca\x87\xe7\xfc\x63\xe6\x5b\xd6\xfb\xda\x9c\xd7\x0e\x0c\x86\xea\x83\x48\x8a\x9a\x4c\x95\x62\x2f\x9b\x48\x0c\x36\x3e\x3e\x26\xce\xe4\x46\x31\x74\xf8\xb0\x65\x1c\xc7\x9c\x8f\x91\xb8\x35\xc8\x6e\xd5\x3f\x7d\x93\xf4\xcf\x4f\xdc\x82\x5f\x75\xd9\xc4\x32\x3b\x30\x39\xf9\x5c\x31\xa8\x99\x9d\xe2\x1b\xa7\x35\xbd\x70\x50\xeb\x1b\x4b\x5f\x8c\x06\xdd\x8a\x1b\xe8\x3d\x51\x65\x01\x45\xcb\xd2\x60\xc0\x93\x98\x8f\x5e\x00\x8b\x6e\xb1\x05\xc4\xfa\x82\x5e\xc4\xb0\x90\x1a\x15\x40\xe2\xa6\x08\x95\xa0\xab\x02\xc1\x8e\xaf\x31\x23\x26\x24\xd4\x4a\xc7\xbb\xd1\x41\x0e\x1d\xe4\xb5\x87\x70\x85\xea\xa7\x2e\x52\xed\xc0\x03\xb9\x18\x60\x17\xd6\x41\xd1\x0e\x63\xda\xab\x52\xa8\x7b\xc2\x24\x0e\x5d\xff\xa6\x37\x6d\xea\xb2\x38\x75\x19\x00\x4c\xe5\xab\x37\x74\xa3\x56\xc1\xca\xe8\xe7\x1d\xc6\xc9\xd8\x18\xde\xb4\xdf\x56\x35\x09\xbc\x2e\x19\x47\x53\x13\x31\x11\x37\x40\x02\xa9\xe3\xd7\xbc\x76\x98\x76\x12\xd8\x89\x32\xde\x59\x7f\x79\xf4\x97\x2a\xbf\x02\x81\x50\x2b\x49\x4c\x45\x18\x7c\xcf\x73\xa5\x94\x10\xa1\x69\x20\x31\xb7\xf0\x7b\x34\x05\x11\xb1\x39\x13\xab\xea\xb9\x16\xe5\xc7\x8e\x9b\x4c\xe3\x56\x6f\x8d\x9b\xea\x57\x43\x2d\x41\x59\x17\x6c\xb0\x0c\xe0\xf8\x03\x90\x83\x37\x03\x17\x55\x26\xe0\x21\x98\xeb\x8f\xf6\x8c\x9c\x7a\x46\x6d\x50\x35\x32\x08\x4e\x69\x85\xed\x8b\x60\x54\x43\x54\x0b\x61\x52\x6d\x1a\x0c\x15\x26\x73\xfe\xb2\x36\xec\x21\x15\xf0\xeb\xfe\x2f\xb7\xf6\xa3\x3f\xcf\x46\x91\x45\x36\x4a\xba\x42\x1b\x68\xa7\xcb\x95\x6c\x14\xb0\x03\xae\x50\xa1\x8e\x6c\x14\x50\x6c\x72\x9d\xe1\x90\xaa\x11\xa7\xcb\x67\x2c\x65\xef\xa9\x49\xc7\x61\x76\x81\x6e\x8c\x32\x53\x3a\x0b\xb8\x7f\xaf\x17\x9e\xed\x32\x95\x2a\xa7\x7c\xac\xd4\x47\x42\x16\xd2\xa6\xf6\x7a\x7d\xfd\xdb\xcc\x9e\x9a\x7a\x4a\xd4\x42\xde\xa1\x95\x67\x89\x2b\x17\x39\x28\x07\x94\x68\x5c\xad\x59\x9b\xe7\x97\xcc\x6a\xd6\x1a\xe5\xdd\xbc\xac\x66\x40\x66\x08\xe5\xb7\xf4\xe8\xce\x83\xc9\xc0\x77\x24\xa1\xcc\xb3\x44\x07\x4d\xdd\xb2\x18\xcb\xce\xce\xd7\x72\x50\x64\x9d\x2f\x75\x24\x3e\xc4\x97\xae\xea\xff\x32\xd0\x99\x75\x2a\xc9\x6b\x33\x1b\x61\x91\x87\x59\x8c\xf5\x79\xca\x5e\xb9\x9e\x86\xb9\x4b\xaa\x6f\x2e\x5d\x87\x38\xae\x6c\x56\xc5\x2c\x05\x0c\x08\x8a\x54\x72\xdf\xc5\x79\xf6\xe1\x48\x72\x5b\xd9\x9f\xa3\xba\xe0\xd5\x3b\xa5\x6d\xd6\xdd\xbc\x4e\x7e\x02\xde\xa1\x91\xd3\xf9\xf8\xe0\xde\xb1\x47\xfa\xe9\x8c\x5e\x27\xfd\x9b\x57\xe3\x1f\xf3\x2e\x56\x13\xd3\xc3\xbf\xa7\x56\xf8\x86\x4e\xbc\x3d\x4d\x3e\x9b\x12\x57\x3a\x71\x75\x9b\xf8\x4a\x1f\xe6\x7f\xb3\x59\x75\x5f\xdf\x7d\x33\x24\x4c\x5c\xee\xd8\x7e\x07\x24\x8c\xc9\xf0\xbc\xf8\x06\xff\x9b\x14\x7e\x15\x53\xd9\x49\x1a\x81\x29\x7e\x68\xf4\xa3\xca\x9f\xf2\x68\x13\xe5\x2c\x23\x87\x16\x8b\x82\xe9\xfc\x39\xb9\xb7\xe5\x5f\x1d\x96\x05\xd5\x6c\xb2\x2b\x26\x7b\xf3\x62\xc1\x21\xf2\x69\xe4\x29\xd5\x3c\xa8\x05\xae\x24\x1d\xd6\xc5\x8a\x30\xa4\x47\x08\xd3\xed\x7a\x2a\x24\x66\xdc\xf5\x0c\xcb\x72\x2b\xdf\x73\x9a\x76\x97\x6d\xf7\xe8\x33\x6f\xc4\xf6\xc7\x79\x37\x43\x0e\x3f\xcd\xcd\x31\xf5\x1e\xcc\xfd\x38\x17\xab\xdf\x2d\xeb\xe6\x53\xb9\xfa\x73\xf9\xfb\x51\xcb\xdf\xc1\xf7\x5b\x29\x95\xdf\x20\x0d\xdf\x91\x0f\xf4\xff\xea\xfa\xf7\xa5\x59\x02\xf0\x9a\x64\xac\x25\x9b\x42\xeb\xfe\xb0\xcc\x97\xc5\xe0\xfd\x3f\x60\x8a\x66\xd7\x16\xb5\x1b\xc7\xa9\x78\xa5\x48\xef\x07\x77\xf8\x03\x28\x4e\x2b\x20\x4e\x40\x91\x9c\x23\x46\x4e\xd3\x00\xb9\xe0\x57\x00\x78\x16\xc0\x94\x17\x48\x4e\xab\x5a\xea\x1e\xd8\x88\x3f\x5d\xd2\xff\x31\x2e\xe9\x5d\x3a\xfd\x1b\xe1\xa1\xca\x52\x42\xdf\xda\xb7\xc3\x43\xf5\x1b\xe8\x50\xf3\xac\x7c\xbb\xef\xe7\xb2\x69\xaa\x68\x56\x31\x65\x6a\x68\x2c\xbf\xb3\x62\x2a\xca\x5d\x57\xd8\xd7\x4e\x31\x09\x36\x3e\xb6\xc4\x09\xe5\x5f\xc7\xda\x37\x12\xb1\x15\x78\x51\xc3\x87\x2a\xa9\xc3\x42\x83\xf1\xa0\x7c\xcf\x2b\xfc\xf2\xda\x2f\x72\x5c\x8b\x6f\x57\x70\x7d\x1b\x09\xfc\x61\x96\xad\x7a\xaa\x17\x31\x45\x3a\xab\x34\xd3\x47\x47\x7d\xe7\x6b\x25\x46\x92\x52\xbd\x24\x9e\x1b\xca\xf6\xe5\x76\x0d\xd6\xfd\x02\xf6\x3d\x39\xc4\xff\xd3\x5c\x8b\x79\xae\x32\x94\x7b\x9b\x5b\x32\xc7\xd8\xc3\xbc\x82\x02\xc3\xef\x19\xbc\x84\xd5\x72\xd2\xff\xd5\xab\xc2\xf7\x2d\x81\xdf\x61\x72\xfc\x4f\x9b\xd2\xff\x72\x1d\xf9\xf0\x48\x7d\xfd\xc7\xe6\xde\xb2\xa9\xdf\xd3\x67\x5e\xff\xdd\x27\x7e\xfc\xbf\x42\x37\xe4\x35\x74\x85\x83\xcf\xf4\xc7\x38\xf5\x9f\xc6\x63\x2a\x95\x8a\x1d\xa8\x34\x67\x14\x8d\xa9\x19\xaf\x88\x31\x43\x47\xaf\x57\x44\x0a\xc6\xe5\x0a\x90\xc0\x51\x22\xb5\xee\x75\x75\x70\x42\xa5\x7a\x6c\x55\x01\xfa\xe4\x72\x0f\x30\x74\xaa\xad\x03\xe5\x83\x89\x63\xdc\x47\x90\x6c\x30\xd5\x36\x3f\xd1\xeb\x99\x7b\x5c\xc9\xe3\x4a\x58\x7c\xbc\x5e\x7e\x71\x7f\x6f\xf7\xb7\x16\x82\x77\x12\xcd\xf6\xda\x6c\xa3\xe7\xc9\xc9\x25\x4a\x29\xef\x99\xb0\x89\x93\xc0\x9b\x8c\xac\xdb\x8b\x9a\x31\x24\x20\x25\x96\xbd\x50\xd1\x51\xee\xda\xed\xf0\x23\x5a\xbb\x4c\x95\x27\xe1\x44\xa5\xf0\x1e\x64\x87\x32\x52\xa1\x22\x52\xdd\x24\xcf\x56\xc9\x1a\x44\xfb\x12\xdf\x63\xb4\x04\x49\x54\xf8\xd5\xe2\xaa\x1e\x97\xb5\x1b\x23\xe1\x13\x69\xb0\x59\x3c\xc5\xbe\x68\xac\x3e\xff\x8d\x4d\xe7\xbb\x56\x5e\xcc\xe9\xfb\xca\xfe\xfe\xc8\xc8\xc5\xdb\x85\x6f\xcb\x23\xb5\x24\x5f\x2b\x8d\xfd\x5e\x5f\xf0\x5b\x1d\xd6\xab\x35\x75\x37\xa2\x2a\x9f\x4e\x47\x26\xae\xa8\xe8\x88\x3c\x9f\x8e\xb9\xb9\xf0\xda\x28\x4b\x74\x8d\xb8\x83\x13\xa8\xb5\x4a\x29\xcd\x27\x24\x58\x3f\xa5\xf6\xbd\x90\x00\xab\x0f\x74\xcb\x96\x33\x2b\x7d\x36\xd1\x9a\x2a\x37\x15\xf7\x84\x8c\x58\x9d\x66\x05\xc9\x98\x69\x31\x77\x55\xe3\xec\x21\x9d\xc8\x97\x05\x3d\x3c\x7b\xbd\x3c\xcf\xa7\x24\x52\xc4\xac\x85\xc5\xc8\x1c\x2c\xf1\x4d\xa8\x16\x2b\x60\x65\x20\x02\xe4\xbd\x4e\x73\xcc\x56\x7d\xa3\x63\xd4\x96\xf3\x51\xe2\x9e\xa9\xf6\x84\xcd\x5a\x55\xd1\x6c\x19\x27\xf3\xa9\x43\xa5\xd7\x3d\x25\x14\xdf\x34\xcc\xdd\x5c\xc4\x53\x4b\x73\x93\x97\x07\x65\x52\x2e\x82\x3c\x95\x14\x30\xd3\xe2\x62\x32\x22\x45\x6e\x8f\x7b\x8e\x14\x12\x6d\x88\x6d\x1b\xaf\x4c\x45\x89\xdf\x39\x15\xff\xf9\xf5\xa7\xdf\xee\x0c\x06\xfc\x6b\xbd\xd5\xbe\x92\xdc\x31\xf7\xae\x7f\xa8\x7b\xfe\xed\xb1\x84\x6b\x40\x71\xdf\xeb\x46\xff\xaf\x8b\x3d\x92\xc8\x0d\x28\x58\xd2\xb4\x1d\xcd\x12\xe3\x46\x06\x75\xb0\x44\x8a\xba\x4b\x00\x51\x98\x52\x19\xb2\x24\x8a\xc8\xc5\x0d\x19\xbf\x54\x4d\x99\x5b\xa4\xc6\x56\x2b\xd3\xf1\x4e\x88\xb3\x1a\x7d\x3c\x23\x2e\x1e\xbd\x8d\x2f\x80\x02\x9b\xd8\x23\x77\xb4\xe9\x1a\x91\xa4\x22\x45\x35\x6b\x7f\x1b\x42\x59\x9b\x18\x9c\x7a\x6a\x9e\x52\x6c\x3b\x8f\x06\x79\x8a\x09\x34\xc9\x4d\x2d\xdf\x86\xef\xf5\xeb\x27\xa6\x1a\x00\x19\x1b\xc6\x38\x00\x94\xab\xc5\x3b\x1a\x53\x7b\x21\x69\x60\x7a\xae\xa2\x8f\xe1\xf1\x18\xf7\xd4\x19\x83\x3f\x65\x90\x48\x73\x08\xae\xb8\x89\x49\x3c\xf8\x62\xa8\x05\x71\x73\xa2\x83\xb6\x22\xd6\x33\x7a\x68\xf6\xb7\x6a\x58\x4f\x6b\x58\x23\xc1\xa8\x50\xce\x97\xab\x4e\xd7\x4e\xcc\x31\xa9\x9e\x6c\x76\x30\x67\xa1\xa0\xf4\x81\x65\x0b\x2a\xfe\x8c\xa4\x41\xac\xe3\x32\xa5\xe6\x74\x40\x1e\x70\x8f\x57\x3a\xa7\xcb\xd6\x78\x6b\x3c\xb1\x78\x42\x26\x26\x12\x69\x2d\x3d\x30\x83\xe7\xba\x4d\x36\x5c\x4e\x9e\x72\x2d\xb3\x95\x2c\x79\x6d\xe1\x87\xda\x6c\xdc\x50\xa0\x17\xe4\x32\x63\x88\x22\x92\xe8\x52\x4e\x4f\x0c\xea\x6a\x1e\x04\xd6\x81\x55\xb2\xd0\x7b\xa8\x89\x38\x16\xb0\xf0\x48\x94\x3e\x27\xea\x3a\xbb\x4a\x04\xd9\xb7\x1d\x31\xeb\x3a\x52\x06\x37\xfa\x09\x3e\xb6\xfb\x0a\x45\x46\xb2\x5d\xbd\x8f\x59\xe7\x5c\xd7\xdd\x65\x77\x8c\x15\xf8\x9b\x22\x20\x6b\x6e\xd4\x1a\x56\xce\xb9\x63\xf6\x07\x7b\x90\x79\xdd\xa1\xcb\xd7\x30\x3d\x7e\x44\x8c\xe6\x7f\x5d\x00\x7c\xe6\x6a\x88\x9d\x65\x4b\xb1\x59\xf6\x2d\xf5\x58\x3c\x55\xc8\x45\x06\xdb\xdc\x0e\x48\x2e\xa3\xb4\x48\x67\xba\x7a\x48\x90\xa3\x4c\x55\x4d\xaa\xc2\xa8\x1c\xb0\x67\x03\x66\x5d\xe2\x76\xa0\x16\x57\x08\x3a\x0f\xc8\xf7\xd6\xd9\x20\x2d\x23\xff\x5d\x1b\x58\x3c\x09\xb2\xac\x41\x18\xad\xa2\xce\x85\xf5\x14\x5d\x84\xb3\x5a\xbe\x09\xef\xd4\xc0\x42\x20\x94\x19\xaa\x4b\x8a\xa5\xd1\x47\x35\x0e\x18\xe4\x79\x28\x16\x64\x9e\x38\xfd\x25\xaa\x1e\x93\x4f\x5b\x53\xd4\x1a\xc1\x54\xad\xda\x2b\x28\x29\xbb\x23\x98\x58\x01\x07\x90\x37\x06\x47\x9c\x87\xea\xb2\xf7\x42\xd3\x02\x02\x80\x8a\xec\xda\x86\x1d\x43\x35\x20\x13\xd1\x59\x8f\x79\xb9\x4b\x6d\xa1\x1a\x01\x24\x3c\xad\xcf\xaa\x18\x22\x52\x9a\xb7\x94\x4b\x45\x92\xa7\x99\x75\xf0\x71\x52\x4d\xd4\x62\xa2\xd8\x1a\x4a\xd9\x0a\x27\xea\xa5\x63\x30\x99\x72\x2a\x07\x6a\xf9\x4a\xc7\x64\xde\xd0\x28\x35\x46\x3a\xb8\x6a\xa5\x88\x15\x0a\xd0\x77\xf1\x98\x35\x5a\x1a\x58\xbb\x2e\xab\x3d\x90\x6e\xde\x7a\x54\xcd\x4d\x49\xb4\x97\x2e\xe1\x21\x29\x5a\xd1\xcb\x96\xa4\xa1\x9a\x8b\xb2\x80\xad\xab\x34\xa1\xf4\x44\x3d\x53\x1f\xf3\x45\x5c\xdb\x9c\xfd\x5f\x47\xb5\x91\xb9\x52\x75\x3a\x4e\x55\x2c\x4c\xe9\x42\x99\xa1\xc5\xa9\xe8\xbc\xa8\x76\x30\x93\x05\x79\xcc\xad\xa5\x27\xf5\xc5\x50\x7e\x39\x39\x13\x3a\x50\x97\x1f\x7a\x2a\x56\x77\x30\xbb\x0a\x52\x8d\xf5\x2a\xf7\xa1\x89\xfc\xf6\xeb\x7f\xfe\x72\x3f\x5d\x66\x75\x9c\x28\x49\x7a\xee\x24\xc0\xb0\xaf\x09\x5a\x5f\x35\x30\x00\x0f\xe2\x57\xa1\x6a\x1f\x47\x14\x0e\x69\x3f\x27\x5d\xa4\xa2\xda\x17\x54\xc1\xce\x56\xa9\x17\xb3\xea\x58\x8a\x1a\x06\xa0\x5b\xef\x89\x62\xa1\x94\x79\x5e\x9d\x22\x95\x5a\x91\x1d\xf2\x54\x0f\xc8\x60\xdd\x24\x6a\x0d\x45\xc3\x6d\x2a\x04\x17\x20\x76\x4b\x73\x85\x3a\xdb\x61\x28\xaa\xa6\x8e\x7b\xcd\xcf\x20\xb2\x57\x3f\x89\x42\x48\x68\x30\xb2\xcd\x05\xaf\x5b\xcf\x96\xaa\xdc\x33\xe5\x80\xa2\x4d\x58\xd6\xa1\x96\x0d\xea\x36\x70\x18\x1d\x1c\x90\x01\xcb\x21\xcd\x1b\x8a\xe4\x4e\xa7\x56\xae\x1d\xac\xd6\x45\xdd\x8d\x2c\x5b\x12\x51\xad\x97\xeb\x28\x88\xd2\x4e\x50\x03\x27\x7d\x7c\x69\xae\x6f\xa6\xb9\xc7\x9e\x77\x14\xf8\x38\x2f\x83\x93\x97\xd3\xb7\x9e\x3d\x7f\x7c\xe1\xb3\x89\x1b\x82\x93\xf3\x1f\xe8\xe2\xf7\xc2\xff\x7f\x82\x51\x81\x8c\xde\x97\xc8\xe1\xca\xac\x1f\xd5\x96\x19\x1f\x68\x47\x96\x79\x47\x06\x97\x67\x1d\x79\xfc\xc5\xe8\xc9\xf0\x2f\xc7\x3a\x39\xcf\x53\x69\x19\xfc\xfc\xf5\xb9\xa8\x3b\xed\x3a\xa5\x10\x5d\xa5\x10\xb3\xeb\xae\xb9\xbe\xa5\x5e\x6c\x4d\xac\xc2\xf8\x52\x15\x58\x46\x91\x9c\x64\x62\x55\xc2\x6a\x0f\x54\x5d\x52\xa2\xaa\xb7\x50\x9b\xb1\xa7\x66\x54\x5c\xa8\x99\x20\x0b\xee\x0a\xc0\x0d\xa0\xa6\x58\x35\xea\xa9\x38\x09\x45\x19\xd0\x3e\xb1\x8c\xe3\xf0\xb7\x9b\x00\x91\x61\x3b\x40\xf5\xb1\x5d\x54\x75\x26\xd4\x38\xca\x97\xf4\x1d\xe5\x98\x75\xd1\xec\xb5\x93\x20\xb6\x14\xd9\xbe\xe0\x5a\x6d\xd5\x8d\xaa\x1a\xf4\x82\x89\x52\x99\x17\xd9\x61\x25\x6e\x6d\x7f\xcc\x63\xdf\x92\x80\xaf\x91\xe0\x47\x89\x79\xc6\xb5\xa5\x7b\x94\xe1\xdf\x36\xff\xf8\xe9\x3f\x37\xff\x7d\x9f\x3a\xcc\x14\xb2\xb8\x46\x5c\xd4\x0e\x11\x5b\x9d\x6d\xf5\xe8\x3e\x22\xb3\x5f\x28\xf7\xe8\x13\x85\xca\xcf\x8d\x6a\x46\x3a\x7f\x68\xaa\x30\x19\xc5\x2a\xd0\x3e\x42\x79\x2b\xe0\xde\x56\x95\xd9\x11\x8e\x00\x00\x84\x15\xff\xc2\xcc\x47\xf4\x04\x36\x1d\x06\xb4\x5b\x5d\x64\x68\x2e\xa1\x7c\x9a\xd5\x9f\x71\x91\x3a\xa2\xc4\xdc\x5d\xa3\x1c\x50\xbd\xda\xa1\x9e\x3b\xcc\x1a\x89\x84\xea\x35\x7c\x81\xf4\x73\xae\xe3\xfd\x4b\xa2\x1a\x74\xac\x4a\x6a\x50\x83\x0c\x72\xcb\x64\xe7\xa0\x0a\xad\x6c\x52\xa1\x18\x93\x1b\x2f\x50\x6d\x81\x0b\xea\x19\xfb\xf9\x22\xca\x40\x6e\x50\x4b\x3c\x55\x6a\x51\xa6\x17\x13\x8c\xc0\xd5\x25\x0a\xa1\x3c\x0b\x05\xd4\xaf\x75\x51\xf7\x46\xcd\x37\x41\xe5\x62\x28\x00\x26\x4c\x94\x5b\xdb\xa2\xe6\xce\xea\x6f\x10\x54\x0d\x88\x3c\x22\xea\x9a\x25\xeb\x03\xe2\x9d\x76\xb8\xaf\x7a\x11\x34\xbe\x78\x5d\xe0\x75\x45\x28\xf0\x02\x42\xc3\x62\x09\x90\x06\x14\xd1\xf4\x92\x7c\xa6\x5c\xf8\x99\x0b\x25\x78\x96\xe8\xc8\x44\xa9\xb5\xa1\xda\xb6\x1e\x35\x3c\x2e\xf8\x48\xbd\x32\xd5\x94\x7d\x36\x04\x12\xea\x26\xc5\x40\x3b\x10\xdc\x22\xaa\x90\xa0\x06\x05\xb5\xe2\x65\x06\x28\x91\x42\xa2\x1c\x2f\x6d\xdd\x8e\xcb\x17\x9d\x2b\x9b\x8b\x4d\xb7\x50\x74\xb8\xf2\x3e\xc3\x92\x53\x3f\x5d\xcd\xf8\x18\x49\x22\x45\x9d\x9f\x31\x52\x8e\x7c\xa0\x20\x97\x44\xa3\x24\x51\x8d\xfc\xbd\x9f\x7e\x39\x9b\x2e\x21\xa2\x0f\x5b\x7e\xd5\xf5\x58\xbd\xb1\x38\x4f\x48\xb2\x7d\x9a\x9d\xba\x98\xd2\x5e\xbb\x5e\xd1\xe9\x8a\x75\x69\x90\x69\xf3\xfc\xbd\x50\xc3\xd3\xbc\xba\x4b\x85\xeb\x93\x19\xd3\x35\xcc\x06\xd8\xbf\x19\x03\xa0\x6e\x3b\x42\xa6\x28\x40\xad\x3d\xe9\xe2\x05\x53\xaa\x87\xe8\x0a\xb5\x08\xb7\x1b\x2e\xe6\x96\x49\xb2\xd5\x6d\xb1\x9a\x99\xe0\xaa\x47\x8c\x4e\xf4\x79\x05\x5c\xd2\xaa\x6c\x1c\x53\xc3\x28\x56\xd6\xd9\x99\x0a\x80\x72\x84\x72\x29\xd4\x83\xae\x8a\x25\x36\x35\x3f\xb4\x13\x0a\xca\x30\x8c\x36\x16\x55\x63\xda\x97\x06\x7b\x61\x6f\x5f\x22\x95\xd2\x74\x1e\xe5\x68\xf3\x08\xe1\x0d\x04\x1f\x4c\x7c\x1b\x2e\x21\x1e\xc2\x88\x77\x0c\xa5\x6c\xef\xce\xcd\xe8\x31\x93\xba\xa7\xa0\x9a\x43\xed\x89\x36\xbd\x4c\x53\x09\x2a\xa2\xa6\x67\x46\xbd\x9e\xda\xd1\x5c\xe0\x87\x69\xc7\x3a\x34\xc6\x71\xd9\x35\x2a\x45\xbb\xe4\x58\xc9\x36\xe0\x46\x84\x0a\xa6\x4f\x26\xb0\x83\xf7\xd2\x40\x81\xed\x0d\x3b\x84\x7a\xf4\x8d\x02\x98\xc6\x63\x43\x51\x09\x38\xc4\xbb\xf6\x7e\xaa\x3a\xad\xaa\x57\x5b\xaf\xa3\xa8\xaf\x27\x42\x45\x5f\x81\x21\xda\xb0\xc2\x25\xc0\xc2\xe8\xb2\x83\x5d\x1a\x97\xac\x02\x36\x15\xd9\x7a\xea\x05\x7e\x82\x0a\x1a\x90\x10\x30\x4f\x93\x95\x31\x5f\x06\xd9\x93\xba\x18\xa1\x5d\xce\x9e\x42\xa2\x16\x60\x5a\x10\xc6\xbb\xb0\x07\x7e\xae\x1e\x46\xbd\x63\x9b\x09\xaf\x0d\x5d\x96\xbd\x3f\x9e\x39\x9f\x29\x03\xd5\xbd\xa9\x3a\xed\x2f\xbc\x9c\x21\x95\xb8\xbf\xa2\x11\x99\x2e\xdd\x95\x70\xff\xcc\xf8\xf9\xaf\x8f\x42\x3a\x45\xc4\x5a\x07\xcd\x51\x24\xee\x70\x3a\x62\xb6\xea\x2c\x64\x53\xd6\x3c\x27\x5a\x02\x12\xce\x21\x5a\x78\xa2\x97\xa2\x2b\xa3\x3b\x9d\x83\xdf\xc5\x43\x5d\x10\x95\xdc\xc5\x01\xc5\x71\xa7\x3f\xbc\xbc\xa5\xae\x36\x86\xfb\x1b\x69\xf1\x1d\x22\xaf\x65\xe7\xa9\xf6\x2d\x45\x9d\x2a\x99\xf5\x01\xc0\xf7\x6e\xaf\x15\xe6\x01\x4a\xb9\x81\xc0\x54\x11\xc3\x0a\x12\x11\xe1\x29\x4f\x11\xb5\xd2\x71\xaa\x98\x0e\x80\xa3\xe1\xa1\xbc\x4b\x81\xf2\x46\xa8\x2c\x4b\xf2\x69\x54\xf5\xb6\xba\xe1\x40\xa1\x63\x29\xd6\x97\x11\xe4\x42\xdc\xac\x65\xd4\x1a\x72\x51\x83\x07\x6f\xbc\xbe\x03\x36\x82\xce\x7a\x9d\x0e\xb6\x30\x56\xfc\x04\x7b\x79\x98\x02\xb9\x77\xd5\x1c\x62\xc8\xc2\x6a\x21\x17\x5b\x92\xb7\xea\x75\x1a\xb5\x74\xd5\xd5\xd3\x8b\xae\x6a\xd4\x63\x7a\x8a\xc4\xd8\xcc\xd4\xa3\x85\x8a\x6d\x58\xd5\x3b\xd7\xdf\x1a\xcf\x44\x16\x5b\x96\x83\x24\xe2\x0e\x46\xfd\xa6\x8a\xf2\x89\x47\xd9\x6a\x29\xf6\xf8\x27\x99\x48\x49\x05\x14\xdb\x31\x19\x26\x82\x08\xc2\xb8\x31\x26\x6a\x59\x45\xd6\x4d\x57\xd9\x45\x6a\xbc\x81\x96\xc4\x61\xb8\x97\x46\x8d\xfd\xdc\x09\x1b\xa7\x09\x24\xde\x89\x51\x17\xaf\x0f\x86\x37\x1f\x5f\xd4\x09\x2c\xae\xe0\x1a\xbc\xb5\x96\x3a\xb4\xd4\x6b\x53\xed\x26\x6a\xe7\x01\x70\x89\xa2\x2e\x5d\x6a\x35\x82\x83\x22\x21\xd2\x0d\x02\x6d\x80\xb0\x70\xd7\xb1\xb6\xb2\x59\x7c\xb3\x11\x0a\xe8\x85\x30\xc6\xd7\x1f\xaf\xb7\x85\xa7\x9b\x50\xf3\x9a\x3a\xf5\xaa\xa6\x88\xc1\x4b\xc4\xa7\xcb\x87\x19\x6d\xd4\xc6\xaa\x1a\x3f\xa4\x5d\xc3\x8c\x97\x3c\xed\xa0\x91\x95\x54\x1f\x8c\xfc\xe5\xf4\xb9\x1f\x5f\xbc\xb0\xed\xda\x66\x17\x0e\x09\x53\xeb\xec\x2c\xf6\x57\x7e\xce\xe3\xf3\x9d\x81\xf8\x35\x0b\xeb\xbd\xe9\xa2\x1b\x0f\x8d\x0c\x3f\xfa\x6a\x9e\xfd\xc7\xbb\x6f\x77\x11\x96\x71\xdc\x55\xbd\xdc\x23\x39\x14\xd0\x40\x0f\x22\x97\x93\x69\x01\x48\x5b\x6c\xc4\x21\x52\x2b\x65\x04\xe2\xe4\x6a\x95\x4a\x5c\x8f\x8e\xbe\xc8\xa1\x4c\xb2\xbb\x48\x1d\x0b\xeb\xb4\x32\x4b\x9a\xe8\xe3\xe6\x66\x5c\x4f\x2a\xdb\xa9\x6c\x55\xec\x8b\x20\x42\x6a\xf2\xa1\xeb\x12\x35\x84\x0c\x81\xa3\xa5\x47\x7c\x21\x24\xad\xb8\xa0\xb2\xd6\x20\x69\xad\xb6\x81\x01\x16\xcd\xaa\xb0\x30\x60\x11\x4a\xb6\xad\xd8\xa9\x97\x8a\x58\x39\xf6\x4d\x6c\x5e\x99\x2c\x4e\x33\x2b\xd7\x8a\xdd\x53\x7e\xae\x14\x7a\xb4\xeb\xb9\x82\xf5\x3c\x60\x8d\x4c\x70\x06\x52\x37\xa4\x80\x0e\x1e\x1f\x5d\xd7\xbb\x4e\x54\x35\x5e\x00\x8b\x50\x26\x58\x84\x6a\xc9\x21\x00\x41\xe4\xe4\x6c\x43\x29\x72\xc5\x4e\x8a\x7a\x7d\x08\x4c\x64\xab\x17\x27\x11\xb5\xea\xd4\xb3\x02\xe4\x3b\x5e\x5b\xeb\xa0\xd6\x8f\x85\x38\x1a\x14\x97\x7d\xaa\x26\xa7\x99\x9b\x15\x20\x1a\xe3\x2a\x3b\x35\x33\xeb\x46\x87\x28\x39\x3b\x8e\x70\x7f\xaf\x50\x76\xaa\xb4\xbc\x9a\xf6\x66\xdf\x00\x9c\xa5\x60\x63\xd6\xde\x0e\xc4\xe0\x64\x17\xda\x5a\x6b\x9d\xb6\x76\x94\xed\x22\x84\x5a\x54\x07\x74\x8f\x14\x97\x58\xfc\x40\xa8\xf7\xd6\x5c\x55\x26\xc0\x04\x60\xb5\xb7\xc0\xd7\x86\x6f\x36\x88\x98\x3a\x3b\x9e\x6d\x5f\xc4\xa2\x8a\xb8\x67\x0b\xf4\x14\x20\x9d\xa1\x45\x0e\x2d\x7a\x2a\x70\xd1\xec\x68\x5b\x7d\xda\xc0\x8f\x2f\x5d\x17\xf8\x83\xec\x32\x38\xee\x5f\xfa\x51\x11\xc8\xce\x97\x83\x97\x5d\x31\x28\xc9\x0e\x64\xf3\xfe\xd2\x0f\xd9\xf2\xa9\xb2\xc3\xdb\x9d\x4f\x6f\x7d\x77\x83\x8e\xed\xd6\xec\xfc\x87\xff\x3f\xbf\x6d\x7e\xd9\xee\x1e\x05\xe0\x98\xdb\x36\x13\xfd\x3f\x07\x6a\x71\x13\x75\x3d\x73\x76\x54\x53\x2b\x11\x57\x76\x89\xb8\xc8\x56\x4c\x25\x87\xae\x1f\x40\x4e\x7a\xed\x2a\xa5\x15\xeb\x97\xc1\xb4\x00\xb8\x2d\x15\x9d\x4b\x31\x65\xc0\xbd\xe8\x2c\xd2\xb9\x90\xa9\xc9\xd3\xe5\x0d\x6c\x79\x76\xb8\xaf\x7e\x38\x89\x6f\x8d\x08\xd8\xa9\xd0\x70\x04\x30\x18\x90\x8b\x74\x5d\x2c\x88\xc5\x85\x64\x98\x88\x20\xbc\x34\xe2\x22\x06\xfa\x84\xa5\x45\x55\x9f\x29\x00\x95\x2c\xe4\x86\x7b\xe2\xf2\x63\xab\x10\x41\xcb\xd0\xd8\x0a\x25\xbf\xa0\x09\x8d\xf2\x20\x74\xe1\x10\x7c\x72\x13\xb9\x4b\x70\x49\x87\x17\x56\xe1\x44\x0f\x83\xb8\xfe\x74\x06\xfb\x74\x2b\x92\x75\xd7\x50\x3e\xa8\x6e\x0d\x08\x45\x3b\x2a\x3e\x45\x32\x70\xff\x30\xf5\xab\x38\xde\x4c\x7b\x93\x9e\x6a\x53\x17\xaa\x75\x75\xe9\x05\x86\x7e\x84\xd3\xc4\x92\x30\xba\x6a\x0a\xe5\xa2\x03\x0b\x13\x24\xa0\xbf\xc2\xe8\xaf\x84\xc0\x5d\xe8\xf9\x4d\x66\xf8\x2a\x07\xd5\x57\x79\x73\x79\x73\x55\xfb\x05\xf0\x1a\x25\xc5\x6d\x24\x29\xc6\x8c\xa2\x3f\x04\x5e\x45\x00\xca\x60\x61\x48\x84\x61\x42\x67\x97\x3e\xdf\x36\x7d\xf7\x00\xae\x6e\x8f\x6f\xb0\x7e\x32\x1c\xdb\x5f\xdf\xdf\x7f\x7e\x18\x52\x55\x9d\x4f\xc7\xbc\x49\x64\x5b\xff\xd3\x50\xf8\x4a\xba\x64\xbc\xc4\xf9\x9e\xfd\x28\x28\x8b\xb2\xf8\x89\xfd\xc2\xbe\x5b\xe6\x07\xe8\xc7\x1f\x5f\x58\x5c\x37\xb6\x89\xdb\xbb\x3a\xdf\xd7\x17\x0f\x8a\x66\x00\x5a\x68\xdd\xcc\xc5\x52\x87\x9c\xc1\x10\xb0\xd6\x17\xd0\x19\x8b\xdf\xd8\x4f\xc6\x97\x6b\xd9\x4c\x31\xa1\x2a\x49\x8d\x85\x73\xd1\x08\xc1\xc5\x73\xd1\x08\xc1\xdf\x48\x7d\xb9\xdd\x1b\xef\x3f\xfd\xf6\xb7\x1b\xe0\xea\x9f\x3a\x66\x85\xf2\x99\x8e\x63\xd5\x3f\x80\x1e\x4c\x79\x4b\x1c\x84\x12\x52\x20\xa8\x35\x5d\x81\xe1\x11\x87\xb2\x61\xa6\x9a\xe0\x2e\xd5\x34\x81\x39\x41\x9b\xe6\xb4\x55\x73\x01\x1b\xe0\xc8\x98\x62\x04\x0f\x8b\x4b\x54\xa2\x8e\x7e\x0b\x09\xaa\x5c\x0c\x4d\x08\x13\xa3\x50\x0f\x8d\x9a\x3b\x53\xb5\xec\x0b\x52\x3b\x2a\xbc\x23\xae\x4d\x6d\x53\xf1\x09\x21\x53\x06\xbe\x61\xa6\x8a\x90\x9e\xf4\xf4\xc4\x91\x5a\x03\x1c\x4f\x1b\x90\x72\xd5\xd0\x79\x24\xa8\x26\xc8\x69\x85\x86\xfd\xad\xab\x73\xf1\x34\x6f\xcc\xe8\x13\x80\xc1\x79\x39\x69\x5e\x77\xa6\x79\x7d\xfa\x78\xef\x8e\xe3\xf1\xdb\x33\xad\x1b\xbe\x47\xeb\xda\x60\x3e\x8a\x45\x58\x00\x95\xda\x4a\x5e\xe8\x5c\xcb\xac\x3e\x66\x84\x60\x0d\x0b\xf9\x8d\xd3\x22\x0f\xe9\xad\x53\xe6\xb6\x55\x23\x53\x4a\xa1\xa4\x86\x97\x54\x2a\x7a\x5a\x7b\x36\x58\x30\xa6\xd8\x5d\x05\x7c\x27\x0b\xa5\xa8\xd3\x3d\xc0\x63\x28\x7d\xa1\x71\x29\x20\x20\x93\x81\x03\xd7\x45\x0d\x24\x1d\xc1\x9e\xb1\xa1\xa4\x76\x56\xcb\x19\xf1\xa4\xfe\xd4\x29\x70\x73\x76\x0c\x40\x86\xef\x19\xd5\xae\xaa\x87\x7a\xe9\xce\x8e\xe6\xc7\x00\x65\xad\xe4\xa9\xbe\x58\xe8\xf3\x29\x66\xfa\x9c\xe5\xe2\xc4\x99\x9a\x0e\xdf\xa3\xa6\xff\xfe\x4f\x1d\x9b\x9f\xfe\xef\x3f\x7f\xfa\x7a\x8b\x92\xf6\x01\xa2\x3c\x98\x68\xd4\x97\x66\x0a\xa8\x1b\xe2\xf9\xdc\x09\x05\x67\x0e\xbb\x69\x65\x80\xbb\x0c\x82\xd0\x72\x32\x2d\x96\x86\xc3\x17\x80\x42\x5b\x12\x76\x9b\x99\x5f\x96\x9a\x89\x98\xc1\xe5\xac\x55\xd7\x45\x3f\x45\x79\xc6\x0d\xa2\x9d\x78\x51\x8d\x11\x5d\xd9\xc9\x1a\xe5\xec\x80\x94\x47\xda\xc2\x4d\x23\xe7\x9e\xf8\xd5\x6c\x78\x7e\x28\x8f\x61\xb6\x19\xb5\x98\x78\x80\x7a\xbf\x30\x77\xb2\xcb\x63\xee\x9d\x5b\x2c\xd9\x71\x7a\xc3\x25\x3e\xbe\xe0\x61\xef\x30\x3a\x2c\xe9\x0b\xa9\x30\xc0\xaa\x9d\x2f\x4f\x7c\xba\xdb\xd3\x68\x00\xb3\x01\xa3\xe7\x1b\x59\x32\x97\xac\x85\xd1\xdc\xd6\x95\xcc\x1e\x31\xbf\x1f\xef\xcb\xe5\xe4\xbb\x62\xfa\xdc\x37\x48\xbf\xfd\xf4\xf7\x5f\x3f\xdf\xd7\x7a\x88\x30\x7e\x99\xee\x68\xc1\x42\x7e\x29\x2b\xcb\xb7\x25\xf9\x5d\x89\x64\x1c\x3c\x5f\x27\x7d\xef\xa4\x43\x22\x8b\xc0\x0b\xbe\x5c\x21\x18\x89\x2b\xc1\xc8\xa9\xf4\x62\x2d\x36\xda\x71\xbf\xc1\x41\x6f\x59\x65\x89\xec\xd4\xd5\x88\xd0\x3c\x28\x73\x59\x48\xc2\x89\xda\xd6\x80\xe2\xb8\x0b\x35\x4f\x71\x84\x78\x22\x1e\xe5\xf3\xcd\x5e\xc3\xba\x68\x57\x22\x28\x97\x2a\x48\x3d\xe6\x92\xda\x2b\xb3\x13\xa6\x06\x5e\xbc\x86\x34\x94\xd0\x65\x06\xed\x05\x7c\xc4\x1b\xf1\x91\x3b\xa9\x79\x8e\x52\xf5\xe9\xae\xce\x43\x3c\xee\xe1\x0a\x8f\xfb\x3c\x89\xee\x4c\xae\xd6\x93\xdc\x79\x51\x99\x6c\x5c\x54\x51\xc5\x69\xe7\x57\xb0\x44\xe2\x6d\x7a\x31\x92\xfc\xcc\xd9\xe1\xd3\x44\x80\x06\x9f\x88\xb0\x86\x83\x09\x8c\xb2\x23\x09\xdd\xda\x00\x16\x6a\xb5\x0d\xf8\xda\xd0\x00\x92\x6a\x61\x8f\x6a\xe1\x0f\x34\xef\x9e\x7c\x00\xe3\xf5\xc9\x47\x57\x3a\xeb\x53\x9d\x3e\x30\x6c\x5c\x2e\xaf\xd5\x71\x26\x0e\xbc\x67\x12\x89\xd4\x38\x3f\x1d\x4f\xea\xfa\x9d\x4a\xc4\xc5\x85\x3c\xa8\xb0\xef\x92\x84\xfd\xaf\xff\xe7\x51\x63\xf9\xc7\xe4\xa0\xbc\xc3\x7a\x8d\x86\x05\xfe\xd4\x29\x63\xb5\xce\x23\x19\x4c\x28\x67\x71\xcc\xbb\x44\x35\xd5\x0d\x17\x3b\xd7\x5e\xcc\x3a\x0d\xd2\x7c\xa3\x98\xa3\x5a\xa8\x31\x15\x17\x9e\x96\xa7\x71\xa1\x1a\xf8\x74\xa1\xf9\x7d\x7c\xa5\x5a\xf3\xb8\x8e\xfa\x87\x08\x7f\xf3\x93\xbe\x4b\xe8\x64\x4e\x7d\xf2\xd6\x05\x5b\x75\xcb\xaf\x9a\x1a\xf3\x7a\x8f\x42\xb1\x0b\x40\x63\x93\xd4\x81\x71\x93\x8a\xe0\x6a\xf6\xc3\x01\x80\x2f\x40\x7f\x6d\xc9\xcd\xbf\x69\x88\x10\xb2\x4c\x24\x7b\x6a\x8b\xbf\x08\x65\x06\xed\xa3\x4b\x94\x60\x63\xa8\x8b\x8d\x28\x4f\xa5\xc6\x49\x57\xb2\x1c\xd1\x49\xcd\x9e\x7e\x64\x8e\xfb\x48\xa1\x78\x7c\xfb\xf1\x5e\xb0\x2b\x7f\xe5\xd4\x70\x3a\x53\x7b\x2a\xa7\xad\x9f\xee\xe7\xcf\xee\xe7\xcf\xee\xf7\x90\x69\x08\xb1\xfb\x3d\xa8\x64\x8a\x4e\x41\x5d\x19\x6a\x7a\x2a\xd8\xe7\xb5\xe3\x30\xf7\x6a\x71\xf5\x25\x51\xa8\xea\xb1\x81\x30\xc4\x5e\x6c\x11\x0f\xc5\x67\x12\x29\x2a\x49\x55\xb5\xc3\x13\x8f\x3c\x0c\x7b\x31\x83\x81\x7a\x14\x57\x77\x42\xa9\xcb\x66\x7e\x0f\x8f\x7a\xbe\x71\x99\x2f\x28\x84\x73\xf5\x19\x59\x23\x6a\x7a\x30\x36\x98\x62\x8c\xc0\xa7\xb7\x0d\xef\x16\x8b\x2b\x48\x0a\xb7\xcf\x32\xb5\x38\x9d\xab\xa6\xa6\xab\xbb\x44\x2d\x7d\xa8\xca\x90\xea\x1a\x22\x11\x3d\x15\xbd\x6a\x04\x2f\x4b\xce\xd5\x75\x4a\xea\x8d\x02\x30\xdf\x61\x3f\x99\x8b\x7a\x3f\x39\x4f\x1f\x66\x2a\xfd\x78\xfa\xf1\x5a\x43\xbe\x54\x05\xaa\x53\x82\x07\x82\xfd\x72\x8c\x28\x15\x14\x07\x4b\x79\x4e\xd4\x3a\x30\x34\x32\x20\xb4\xb9\x44\xbb\x9a\xfe\x47\xd7\x67\x5c\x2d\x53\xcb\x76\xfe\x16\x28\xfb\x9e\x6d\xe6\x21\x6d\x23\x52\x01\xa2\x3d\xa3\xa7\xab\xa8\x95\x9b\x43\x9c\xdf\x54\xf5\xc5\x74\xd7\xc7\xc5\xeb\xef\xbf\xfd\x7c\xd8\xfc\xe3\x0e\x9e\xb5\xab\x92\x36\xe6\xf3\x52\x0b\xf0\xa4\x05\x36\x9c\x01\x28\x3f\x5e\x4c\x8c\x1a\x6b\x67\xd7\x32\xa3\x4b\xc1\x16\x5a\x6e\x98\x6d\x9c\xa6\x97\x91\xf1\x9e\xbb\xf6\x48\xa9\xc0\xd5\x45\xbc\x28\xb3\x4c\x8e\xbb\xca\x10\x85\x98\x2f\x37\xd6\x71\xbd\x92\x9e\x05\x59\x57\x2e\x51\x8e\xdd\x71\x25\x9e\x74\xab\x5b\x53\xce\xdb\xa0\x16\x32\x58\x41\x54\xe4\x3a\x15\x93\x03\x43\x02\xa9\x97\x51\x2c\x43\xab\x4c\x25\x6d\x91\x7c\x23\x9e\x3a\x37\x5f\x89\x4b\xc7\x86\x6c\xf6\x55\x55\x9d\x57\x75\xd5\x86\xc2\xc0\x04\x44\xe8\xd0\xf2\x29\xb1\xeb\xc8\x5c\x5d\xa5\x58\x66\x9c\xd7\x31\x34\x4f\x35\x26\xed\x61\x51\x0b\xcf\x5e\x86\x06\xac\x90\xb5\x17\x5e\x2b\x8d\x7b\xc1\xe0\x7c\x7c\xa9\x6a\x9b\x81\xd1\x33\xcb\x5c\xab\xf3\x99\x52\x5f\xae\x09\xa1\x92\xf4\xee\x98\xef\xa9\xf1\x70\xbc\x86\x85\xb4\x5e\x8c\x4b\x97\x95\xf5\xfa\xdb\x3b\x12\x3a\xb1\x06\x04\x9e\x97\x35\x7a\x15\x34\x89\xe5\xb0\x60\x73\x1f\x3c\x71\x92\x76\x4b\x38\x1b\x95\x70\x86\x09\x95\x68\x4e\x72\xeb\xc5\xdb\x15\x3d\xf5\xb8\x49\xc4\x52\x9d\x1d\xc7\x16\x03\x83\xd0\xa0\x35\x7e\x8a\x84\xc8\x57\x1f\x3b\xb1\x0d\x05\x35\x17\x9f\xe9\x89\x88\x6e\x49\x88\x4f\xf3\x6b\xe9\x33\x25\x14\xfa\x50\xb7\x55\x55\x8d\x40\xbd\x2f\xd7\xe1\x2b\x08\xa8\x35\x54\xb2\x51\x5f\xd7\x62\x7c\x12\xdb\x9b\x4b\xe5\xd8\x7d\x0c\x40\x33\x54\x99\x30\x49\x1f\xd4\x21\xb5\x60\x18\x52\x65\x4a\x2d\xea\x05\x1c\xd8\x67\xc6\xbb\x16\xe3\x1b\xe7\x9d\x37\x05\x77\x9d\x54\x3f\x5d\xa9\xf7\xa8\x57\x00\x2f\xd2\x35\xdb\xbb\x3e\x8e\x73\x75\xa9\xaf\x1e\x36\xca\x6d\xb1\x78\x3e\x5f\x3f\xce\xd7\x95\xb1\xd6\x20\x7d\xc2\x8a\xb4\xf5\xc5\x32\x6f\x1a\x80\x9b\x5b\x6d\x97\xd3\xb3\x81\xd0\x00\x43\x90\x54\xa3\xd8\xcb\xb4\x97\x2f\x2a\x49\xb1\x0a\x16\xda\xe8\xec\x88\xeb\x25\xe4\x72\x9d\xab\xbf\xe2\xda\x71\xd5\xf6\x8c\xec\xad\x6a\xec\x04\xa7\xdc\xfa\x62\x49\xa4\x25\xe3\x82\x58\xbc\xc2\xd4\xc0\x6c\x99\x91\xb6\x5e\x6c\x29\x24\xca\x25\x12\xa3\x0e\x57\xdd\x6f\x80\x0e\x97\x32\x63\x0a\x4b\x05\x95\x51\x65\xeb\x69\x64\x42\x21\x11\x04\xa5\x82\x02\x32\x88\x18\xe5\xa5\x9e\x7b\x59\xd5\xd5\x17\xed\xc8\x8f\x2f\x6a\x26\xb8\xfa\x02\xab\x61\xbe\xce\xf3\xd9\x32\xff\xb4\x30\x25\x80\x28\xde\xdc\x75\x0e\x96\x39\x04\x93\xac\x6f\xf4\xcd\x5d\xc5\xa1\x5e\xee\x48\x6a\x46\x71\x07\x32\xd3\xb6\xba\x70\x78\xd5\xf2\x34\x88\x6f\x40\x18\x0e\x10\xe2\x46\x5c\x93\xa7\x58\x29\x01\x90\x38\x24\x6a\xa0\x54\x4b\x6a\x5b\xe0\x79\x39\x98\xc9\x20\x4e\xad\x20\x57\xb6\x94\xb4\x03\xa8\x0b\x03\x3e\x39\x22\x29\x25\x36\xbd\x70\xa1\x92\x04\x3c\x6b\x5c\xa8\x27\x7c\x92\x43\x44\xc9\x28\x13\x83\xca\x01\xcc\x13\xb1\xcd\x2b\x98\xa0\x1a\x10\x46\x90\x35\x18\x0c\xa3\x38\x5e\x2a\xb3\x0b\xf2\x72\x59\x7c\x2b\x14\x50\x31\x28\xb1\xc1\x16\x0b\x22\xae\x6f\xc1\xbd\x06\x4c\x77\x0e\xe2\xa9\xc5\x66\x28\xef\xa1\xd5\x0d\x95\x22\xfa\x67\x5a\x5e\x92\xfa\xfc\x41\xfb\x10\xa9\x7c\x58\x38\x3d\x19\x71\x95\xbd\xf9\x4a\x49\x22\x85\x5c\xf4\x13\xfd\x60\xab\xd7\xa1\x90\x13\xe9\x52\x9c\x18\xb8\xf2\x31\x60\x09\x24\x49\x9d\xb8\x55\x2c\x8e\xc6\x57\x10\x5a\xdd\x21\xfa\x0b\xa3\x53\x60\xbb\xae\x03\xaf\xac\xc1\xee\x5d\xc5\x0f\x3b\xcc\x2b\xc7\xcf\x50\xc8\x1e\xd6\x52\xbf\x1e\x7e\xfa\xed\x97\xf7\x9f\x6e\x31\x19\xce\xe0\xc5\x64\xca\x32\xf1\x53\xc6\x9a\x3f\x46\x6e\xf0\xee\x1a\x96\x4c\x9c\x87\x6d\x0c\x74\x23\xef\x07\x4a\x7c\x6c\x9b\x4a\x92\xd5\x2e\x92\x3c\x6d\x9a\x24\x90\xb9\xe4\x7c\xb9\x26\xa7\x5e\x50\xde\x95\x69\xc0\xda\x8c\x19\xc6\x23\xab\xe3\xb2\xc2\x32\xf5\x62\xd5\x60\x6b\x97\xf7\x76\xf9\xd2\x45\xff\xdc\x94\x90\xa8\x87\xd8\x10\x6d\xba\x03\x5a\xf2\x3a\x24\xdf\x15\xd0\xc1\x4e\xf9\x50\x77\xb2\x0a\x51\xb2\x9a\x00\xfc\x92\x28\x1f\x7c\x9d\xef\xdc\x9d\x51\x89\x26\x24\x13\xee\xa2\x9e\x55\x0e\xf5\xe3\xbd\x9a\x6e\xa9\x3b\x1f\x0f\x75\x17\x2d\x29\x22\xe0\x04\x7c\xf4\x03\x64\xe6\x4e\xb0\xaf\x11\x84\x7b\xae\xa3\x46\xbc\x62\x4b\x51\x75\xbf\x0b\xbb\xc5\xe3\xba\xa9\x0a\xfb\xc0\x3a\x09\x37\x99\x42\x10\x67\x47\x53\xd3\x92\x40\x8c\x97\xe3\x7c\x9c\x1b\xd8\xf3\x2e\xb2\x19\x0a\xf5\xd6\x56\x44\xa2\x79\x3d\xf7\x69\x7e\xf1\x3a\xca\x48\x73\x41\x64\xe9\x1e\xb8\xda\xbe\x06\xd2\xd4\xaf\xd1\x5c\xc7\x41\x98\xbf\xfc\x6a\x75\xd8\xe3\xc1\xa7\x15\x64\xa7\x8e\x21\x8f\xa3\xbe\x7f\x67\xd5\xa9\x09\x42\x92\x3e\xde\x61\x44\x86\xe3\xa7\xd8\xe0\xb8\x91\xef\xf2\xc9\x70\xff\xf6\xf3\x5f\x7e\xec\x36\xcf\x40\xfe\x9b\xc5\x82\x2d\x7c\x9d\x6f\xe5\xc2\xee\xf2\x22\x67\x15\x7d\xa1\x2b\xc5\xf2\x2b\x04\x90\x65\xe7\xf3\xc4\xc9\x1c\x67\x69\x82\x53\x36\x60\x5e\x24\x09\x5a\xe5\xed\x5a\x68\x1b\x97\x5b\xcf\x35\xc4\x7d\xc0\x8d\xb5\x78\x38\x8e\x8f\x3d\x9d\xc8\xd5\xa7\x1b\xf0\x61\xf6\x78\xef\xde\xe6\xd8\x1f\xf0\x7c\x28\xd3\xbb\xa9\xfe\xf5\x21\xf5\x3b\xab\x7a\xca\x97\x4f\x7a\x58\x3c\xc9\x11\x08\x6d\xb7\x7c\x4a\x56\x47\x33\x1c\xef\xfe\x6e\x6a\x55\x16\x1b\x00\xe3\x79\xb4\x6f\x59\x2d\x20\x18\x5f\xe3\x81\x2e\x9f\x27\x9c\x3f\xce\xda\x3e\xc2\x51\x5e\x80\x6c\xbd\x10\x52\x3c\xfc\x23\x52\x7a\x7a\x8c\x35\x31\xe5\xf8\x07\x0f\xe4\xbd\x13\xff\x87\x6e\x20\x5a\xb1\xfc\xb3\x71\x46\x3a\x70\x6f\xe9\x1b\x19\xbb\x7b\xcf\xec\x0a\xa5\x64\x1f\x57\x33\xf9\xea\x4e\xbf\xc0\xc7\xd5\x55\x37\xde\xe4\x29\xa5\xf4\xb9\xda\xd9\xf6\x3b\x33\x05\x78\xa7\xdf\x80\x89\xcf\x61\xd5\x8c\xbb\x88\xad\x05\xd8\x8b\x68\x81\xe1\x85\xb9\x6e\x3f\xee\xa7\x16\x74\xbb\x52\xb7\x16\xd8\xe9\xd6\x04\xdb\x5b\xa8\x8e\xf3\xb8\x59\x3e\x6b\x85\x55\x4a\x4f\x1b\x10\x3c\x36\x20\x6e\x34\xa4\xdb\xb5\x9f\xbb\xdd\xca\x0e\xe3\x7e\xc8\x5b\xbc\x8a\xaa\x12\x6f\x40\x80\xe2\x7e\xe3\xe1\xb2\x5e\x0f\xcd\xe9\xd6\x9c\x83\x35\x86\xc9\x36\x53\xd5\x0e\xb0\xb6\xa0\x9f\xfb\xf3\xe8\x0a\x76\xa3\x73\xd0\x98\xd3\xed\x56\x10\xd6\x8e\x23\xc3\xd9\x55\x77\xec\xa0\x78\x36\x38\xfd\x38\x38\xdd\x06\xa7\x5f\xed\x93\x7b\x25\x72\xb3\xff\xc1\x59\x07\x26\x80\xcf\x93\x38\x9e\x64\xd2\xf1\xd9\x23\xba\x7a\x2e\x97\x07\x7b\x3c\x7c\x75\x26\x93\xae\xda\x10\x8c\x33\xf9\x5c\x2e\xaf\xf6\xbf\x89\xdf\xf3\x24\x8c\x67\xbd\x6f\x0d\xb8\x25\x0a\xcf\x47\x71\x3c\xef\xfd\xa9\x19\x43\x8c\xfb\xf9\x08\x5c\x6d\x06\xb7\x31\x3b\xeb\x68\xc1\x78\x60\x3e\x3d\xf1\x4d\x49\x10\xb1\x16\x00\xd6\x2e\x25\x07\xa6\xf2\x49\x12\x50\xe4\x98\x8b\xb3\x93\xd8\x22\x59\x37\x67\xea\x98\x20\x93\x38\x9e\xe6\xa9\xcd\x8f\xe7\xf1\x48\xf5\x62\xae\x8e\x61\xb1\xce\x38\x9f\xa6\x8e\xf3\xd9\xc8\x58\x34\xf5\x7c\xae\x5e\xef\x15\x9b\x92\xcf\x63\x86\xf6\x8b\xa9\xfa\x59\x9f\x5c\xdd\xb5\x3c\x6a\x8d\x7e\xd2\x1a\x63\x9a\xde\x98\x21\x5f\x78\x3c\xe6\x55\x3c\xa7\xef\x52\x1c\xb7\xf2\x00\x6e\xa9\x0e\xae\xcf\x93\xa0\xb0\x3b\x4a\x4f\xbb\x5b\x7b\x48\x54\xa9\x99\xa4\x87\xcf\x55\x7b\x3d\xe9\xf6\x31\xc1\xb8\xde\x54\xaa\xed\x77\xeb\x1d\x93\x00\x89\xae\x8f\xb6\xf6\xb3\xb6\xde\x98\x4f\xf5\x6a\x4e\xc2\xf7\x49\xcf\x0d\x6c\xc8\x1f\xa0\x60\x7f\xe8\xb2\x0f\xe7\xeb\xe9\xd2\x39\x86\x7b\x72\xf1\x61\x72\xd7\x63\x22\x2f\xb3\x0b\x18\xf2\xde\x1b\x9c\x20\xed\xf9\x9a\x0f\xbc\xe3\x83\xe7\x9d\xe7\x8f\x2f\x65\x7e\xbf\x72\xbc\xe1\x37\x44\x61\x66\xcd\x2b\x37\x6f\xc9\x96\x6c\xb3\x16\x8c\x96\x2b\xc1\x68\x59\x2f\xa1\x59\x29\xd2\xf1\x53\x7b\x3e\xde\x2d\xaf\x27\xeb\x6d\xf9\x60\xb7\x0e\x6e\x8e\xe0\xaa\xaf\xe5\x9b\x9e\x76\xd9\xbf\x7d\x0a\xbf\xad\x76\x30\xcd\xa0\x69\x1f\x7c\xd8\xc3\xac\x93\xcd\x16\x2e\xd7\x9f\x95\xc5\xcd\x61\x5d\xa7\xfe\xf9\xe6\xc1\xbd\x1a\x62\x5b\x7b\x62\x8b\xe8\xfe\xa0\x27\x5e\x4d\x49\x83\x60\xad\x3c\xf2\x20\x38\xf8\xe3\x1f\xd9\x44\xfa\x77\x7d\xe8\xab\x03\x7d\x8f\xaa\xfa\xe7\xcf\x7f\x79\x34\xcb\x05\x4f\x36\xf7\xed\x26\xb8\x40\xf9\xc4\xb7\xe3\x9a\xb7\x02\x44\x2f\xd5\x42\x11\x0a\x1b\x1c\xff\x71\x84\xa9\x17\xf1\xfd\xad\x15\x20\x53\x6f\xd1\x32\x09\x71\x2e\xde\xda\xf5\x56\x6a\x74\xeb\x11\x91\x78\xad\x46\x37\xbe\x70\x21\x50\x7a\x56\x54\xc1\xf5\xdc\x40\x84\x1d\xa9\xd6\x0a\x60\xce\xee\x89\xb9\x13\x03\x36\x4b\x0a\x49\x6d\x9e\xa2\x44\x4a\x52\x36\x11\x40\x9a\x76\x1c\x65\x62\x02\x66\x5b\xe4\x1f\x34\x14\x8f\xe4\xa0\xd6\x49\x71\xd1\x55\xea\x2e\x22\xf0\xf8\xf1\xce\xc1\x71\xa6\x94\xe2\xd6\x98\x51\x33\xca\x8e\x7a\xc7\x06\x43\x1c\x0f\xa6\x6f\xed\xc1\x56\x1c\x6f\x3c\xd4\x7a\x49\xe7\x78\x24\x2b\x21\xe5\x8e\xa2\x5c\x2f\x54\x52\x33\xd6\xe6\x84\x12\x55\x83\xca\x65\x8a\x71\xbc\x15\x6d\xfd\x81\x03\x95\x7e\x2c\x0a\x7d\xab\x53\x8c\xa2\xa3\xc0\x4e\x7b\xaa\x45\x03\x0f\xc3\xf9\xd8\x0c\xe9\xe2\x12\x75\x6c\x2f\x63\xaf\x1d\x8f\x9a\x28\xcf\x0b\x4a\x8f\x31\x86\x49\x38\x56\x82\x0c\x2a\x16\x4c\x51\xac\x46\x30\x35\xb0\x97\xa3\x3f\xb4\x3b\x1e\xca\x78\x80\x84\x3f\x5a\x0b\xaa\xc2\xf8\x0c\x93\xc5\x48\x77\x0d\xcf\x44\xf2\xa1\x51\x7e\x06\xa0\x5d\x4a\xb0\x2a\xe2\xb0\x3a\xe2\x4b\xde\x22\x19\x04\x10\xd7\x15\x04\xe5\x8e\xa9\x85\x4e\x49\x1f\x47\x45\x32\x02\xac\x26\x33\x5e\x5a\x90\x35\x51\x27\xe9\x28\x6c\x32\x0e\x65\x20\x4f\xb6\x20\x36\x5c\x92\x22\x75\x56\x51\xc3\xde\x5e\x0b\x1d\x6f\x77\xd1\xd0\xe3\xae\x99\x3b\xda\x64\x00\x29\xc0\x76\x87\xcd\xe8\x46\xa0\xed\x85\x21\x33\x9c\x87\xd4\x84\x42\x31\x27\x2f\x54\xab\x38\xf6\x14\x1a\x13\xb8\xd3\x73\x1d\x78\x71\xd2\x48\x52\x79\x8a\xc4\x11\x10\x13\x71\xaa\xf9\xd1\x5f\xc4\xe7\xaa\xd7\x50\x99\x42\x21\xa5\x5e\x57\x1c\xee\x83\x4c\xe0\x91\xa1\x5e\xea\x96\xf4\x62\x11\x38\xba\xb1\x02\x5b\xc7\xfc\x24\xbc\x53\xf3\xed\xe0\x1b\x1a\x47\x2d\x19\x07\x28\x00\xe8\x80\x3b\x5d\xa5\xa1\xe8\x94\x62\x1c\xec\xd1\x59\x84\x2a\x0a\xad\xb1\xfb\x19\xd3\xa1\x50\xce\xc7\xca\x46\xaf\xff\xd3\xbe\x45\xdd\x1f\x03\xbf\x22\xb0\xfd\x0e\x38\xdc\xcf\x45\x2f\x8f\x20\xa3\xba\x5d\xcd\xf0\xbe\x1c\xe2\xe0\x2f\x4c\xf9\xd0\x30\xba\xd5\x8a\xc1\x4b\x1a\x30\x80\x92\xb5\xb5\x8f\x0b\xe7\xfe\xe7\x5f\xfe\xe3\xce\x8d\x23\x54\x6f\xca\x32\xbb\x93\xa9\xf4\x3d\x80\x21\x9d\x1e\x66\x80\xc2\xc0\xf1\x28\x7b\xfd\x06\xe7\x1c\xf4\xf4\x95\x0d\xd4\xab\xd9\xb3\xf1\x3e\x6a\xb0\xdf\x73\x3d\x78\xa2\x9a\xba\xfe\xb9\x29\xd7\x50\x56\x16\xc9\x47\x17\x89\x83\xaf\x33\x8c\x12\xed\x90\x7a\x25\x22\xa8\x8d\xf5\x43\x4d\xf9\x49\x4d\xf9\xa3\x9a\x3a\xa9\x4d\xd1\x87\x40\x99\x70\xcd\x54\x80\x31\x22\x2a\xc2\xd1\x23\x89\x89\x29\x64\xd4\x13\x03\xe1\x19\x30\x24\xdc\x2e\xa1\xfb\x58\x00\xc4\xdc\xf3\x76\xb0\x6d\xeb\x07\xd8\x4a\x2e\xad\xfb\x48\x62\x40\x09\x9e\x42\xee\x14\x74\x79\x62\xce\x2a\x97\xde\xe0\x23\x63\xfb\x8e\x75\xaa\x9d\x21\x1f\xff\x9b\x2c\x01\xe8\xdb\x87\x37\x61\x4e\xd3\xed\x3e\x14\x76\x33\xde\x96\xd3\x0d\xb3\x8d\x09\xf5\xd8\xd7\x66\x1b\x2a\x78\xf5\x70\x58\x9f\x6c\x37\xad\xb9\xcf\x37\xcc\xfe\xb8\xa5\x49\x27\x0b\x9f\x80\xe1\x7f\x9f\xc5\x69\x9e\x3c\x34\x40\x29\x60\xd1\x40\xfd\xd7\x36\x15\xb8\x33\x0a\x70\x4d\xe9\x9e\x74\x7a\x6d\x8d\xe2\x40\x2d\x47\xe6\x0b\x56\x88\x39\x40\x2b\x98\xe5\xa3\xce\x06\xa9\x76\x98\x52\x76\x98\x7a\xe2\xa7\x4b\x7a\xf2\x8a\x22\xee\xcf\x56\x33\x94\x40\x5a\xde\xd6\xef\xb2\xb0\xd8\x33\x3e\x2a\xf3\xbb\xcd\xfb\xfb\xc3\x84\xd7\xdc\x91\x60\x9d\x55\x4b\x3c\x73\x26\xa4\xa8\x6a\x9f\x70\xa0\xd8\x12\x89\x64\x97\x01\x9c\x16\xe9\x02\xe3\x39\x0c\xc5\x14\x91\xeb\xda\xf5\x51\x50\x4d\xcf\x15\xb9\x05\x51\xd7\x7c\x6a\xad\x51\x53\xe7\x07\x48\x2e\x45\xac\x63\x84\x80\x45\x56\xea\x2b\x53\x80\x7a\xee\x61\x06\x0a\x0c\xce\x00\x6e\xb2\x07\x48\x5b\x9b\x63\x06\x07\x7c\xe9\xc2\x5e\xd5\x5b\x49\xde\x5e\xb6\x80\x3c\x05\xd0\x58\xa2\x1c\xf5\xa5\x52\x29\xc6\x21\x5f\xb0\x77\x4d\x1c\x2d\x8b\xc2\x98\xdb\x83\x50\x48\x2a\x7c\x23\x6d\xc9\x18\xe8\x81\x9c\x13\xd4\xfc\xb1\xdf\xa8\xc0\x87\x54\x29\xb7\x42\x51\x1a\x48\xfb\x33\x47\x03\xec\x01\xa0\xb3\x4a\x23\xd2\xf8\x43\x1d\xa3\x2b\xfa\xc7\x68\x81\x24\x50\x9c\xc4\x3c\x27\xe6\xb0\xdb\xec\x0d\x31\x3c\x91\x84\x59\xd1\x4c\x08\x0d\x6b\x9d\x36\xb0\x16\x55\xc9\x19\x94\x18\x06\x4e\x01\x38\x9d\x86\x6c\xa6\xc6\x69\x6f\x10\xfb\x12\x22\x4a\xe7\x01\xab\x1f\x3d\xa8\x08\x28\x02\xd1\x3c\xc2\xb1\xa9\x9b\x04\x8c\xbf\x34\x38\xfc\x31\x67\x5a\xa7\x20\x65\x6f\x20\x61\xc8\xe9\x90\xd0\x29\x70\xdf\x14\x8a\x25\x3a\x3b\x4e\x29\x1f\xea\x85\x94\x78\xf0\x14\xa2\x75\x9d\x0c\x88\x61\x10\xf6\x03\xe5\x26\xa8\x9e\xc8\x4d\xfb\x13\xd9\x66\xc5\x13\xab\x75\x09\x00\x51\x64\xd6\x35\xd5\xb9\x89\xea\x84\xbf\x11\x22\x4e\x8e\x1f\x5f\x3a\xa5\xde\x91\x75\x8f\xd2\xe2\x8c\xe4\xa8\x7c\x52\x1a\xc9\xc0\x00\xb7\x2a\x8f\x15\x74\x25\xcd\x55\x8a\x89\x52\x31\xf6\x95\x1e\x5d\x74\x84\x0c\xa8\x2e\x34\x40\x52\x02\xeb\x04\x6d\x07\x7d\xc4\x2d\x24\x80\x4b\xd5\x16\x53\xd2\x7b\x53\x11\x24\x19\x0b\x57\x40\x38\x65\x5d\xc2\xa9\x31\x49\x6b\xda\x93\x54\x72\xa2\x18\x2a\xb5\x58\x29\x72\x22\xee\x2a\x1b\x95\x12\xe8\xfb\x55\x18\x80\x7d\xd7\xf6\x14\xa4\xa3\x2b\xb6\xc4\x45\xf4\xbb\x4c\xea\x94\x05\x15\x03\x83\x33\xdc\x23\x1f\x8a\xb5\x21\xaa\xa4\x53\x6e\xd4\x52\x9b\x20\xeb\x71\x1c\x1c\x2c\xa1\x67\xa0\xbb\x6d\xa2\x5a\x4e\xd1\x8d\x97\x91\xdd\x13\x19\x09\xa4\x09\xa0\xcb\x41\xaa\x0d\x45\xc8\x90\x78\x4f\xa1\xf7\xfd\x78\x57\xeb\x06\xb0\x2c\x03\x9b\x25\xc0\x44\x28\x2a\x2a\x18\xa9\x12\x75\x94\x60\xc6\x44\xf0\x4b\x70\x31\x43\x66\x4e\x64\x13\x8a\x0b\xaf\x8c\x6e\xee\xc9\xa1\x6a\xc0\xf5\xbd\x2e\x83\xb3\x45\x52\xfb\x06\x80\xb3\x80\x3b\x12\xa4\x52\x0b\x40\xdb\x62\x51\xb3\x22\x88\x5a\x9c\xb1\x01\x04\xd1\x00\xe9\x83\x4a\xfa\xab\xa0\xa4\x83\xdb\xec\x7a\xc1\x56\xdc\xa3\x36\x98\xaf\xc7\xe1\x95\xc5\x9a\xe4\xa6\x6b\x7d\xbc\xab\x31\x09\xf0\x29\xcc\x75\x36\x04\x5e\xd2\x99\x7e\x84\x81\xd4\x8f\x3e\xde\x3d\x3c\x73\xa6\x94\xf3\x7e\xcc\x01\x3d\x31\xd3\x94\x92\xaf\x1f\xe2\xe7\x8f\xb8\x00\x43\x3f\x3f\xe6\xa0\x66\x60\x45\x09\xd2\x86\xa9\xe9\x02\x0e\xd5\xc9\x42\x05\x70\x7f\x70\xac\x52\xb8\x64\xdd\x0c\x0d\xc0\xd5\x49\xb5\x42\x12\x21\x94\xea\x73\x04\x7e\x16\x58\x3c\xc2\x1c\xb8\x11\x56\x65\xdc\x52\xa9\x0d\x70\xf9\x1d\x36\x0e\xc7\x48\x3d\xc3\xfc\x4c\x3a\x93\x2c\x91\x51\x3b\x08\x33\x2a\xa9\xa2\x39\xe8\x7d\xb6\x6a\xdc\x22\xbb\x2f\x71\xa5\x58\x3a\x95\x98\x29\x67\xd9\x33\x32\x1f\x74\x54\x9b\xa7\x0a\x00\xc1\x96\x3c\xc1\x0e\x56\xa1\xd5\x11\x00\x08\x3e\x03\x1c\x7f\xd4\x7a\x7b\x8a\x3a\xbf\x32\x03\x59\x45\x28\x04\x60\x11\xab\x60\x77\x4f\x15\xc1\x1a\xae\x9b\x09\x09\x94\xeb\xa4\x9d\xa0\x5b\x4a\x2a\x90\xec\x6e\x5c\x0e\x86\x6a\xae\xe3\xa7\x3a\x34\xc5\xb2\x1f\x4a\x2b\xb0\x6c\x1a\x49\x61\x67\xc7\xa1\x89\xb4\x91\x2c\x6d\x6b\x8a\xd5\x9b\x81\x1f\x09\xd3\xa3\x01\x7f\xb3\x17\xa4\xcf\x22\x77\x4c\x6d\x6e\xa1\x2a\x71\x37\xd6\x93\x20\x1f\x5f\x2a\xb5\xa2\x5a\xa9\x73\xde\x03\x72\x0d\xf0\xd8\xc0\xe3\x04\xfa\x73\x48\x17\x11\x9f\x10\xe1\x8d\xef\xd5\xac\xa2\x7a\x91\xff\x07\x2f\x9d\x42\x92\x7d\xa4\x96\x7c\xa2\x5e\xe4\xe3\x4b\xa1\x14\xa3\xcb\x9b\xa4\x33\xd5\xd9\x71\x32\x73\xb2\xe8\x84\x6e\x5b\x20\xd0\xeb\x93\x44\x4f\x1d\x03\x6c\xa0\x37\x15\xf8\xe3\x9b\x24\xe0\x5b\x18\x2f\x61\x20\x7e\xab\xae\x88\x17\xd1\xcf\x58\xa1\x64\x22\x20\x52\x58\xe7\x2b\xf2\x03\xb1\x34\x25\xa9\xea\xe5\x73\xa2\x14\x65\x83\x0c\x74\xcb\x43\x37\x31\x4c\xd2\xa8\x34\xde\xea\xe2\x02\x1f\x20\x24\x42\xc2\xa8\x9a\xfa\x1b\x5d\xa9\x11\x93\x1a\x39\x1a\x86\xf5\x0a\xe8\xff\x68\x0b\x72\x2a\x50\xd0\x35\xaa\x19\x52\xf7\xba\x4c\x1a\x73\x44\xa6\x58\x1a\x90\xd8\x4a\x8c\x13\x1c\x66\xb8\x44\x23\x25\xcc\x8c\x50\x64\x8f\x82\x71\xd8\x82\x69\x0e\x96\x98\x85\x02\xa8\xb1\x04\xc0\xfe\xbc\x91\x48\xcd\xe1\x30\x4e\x61\x5d\x6e\x7a\x07\x6e\xb6\xb4\x71\x1c\x3d\x93\x3c\xd5\xda\xcd\x7a\x50\xe9\x2a\xe3\x1d\xa7\x69\x9d\xe4\x2e\x58\x27\xf5\x61\xd5\x6f\x8f\xf5\xb8\xb4\xab\xfc\xe9\xad\x75\x0d\x14\x87\xd2\xad\xcd\x65\x4e\x8f\xfa\x9d\xb5\x92\x74\x15\x58\x18\xdc\x35\xce\x4f\x21\xc9\x19\xfe\xa9\xec\x13\xb5\x12\x7d\xa6\xd6\x3e\xde\xd5\x84\xd5\xf3\xab\x6c\x88\xa5\x4e\x55\x09\x6c\xe9\x7b\xbb\xef\x50\x65\xbf\xfc\xe5\xeb\x6e\xf3\x1f\xdf\x51\x58\xa4\x4b\x28\x3c\xc8\x99\xdd\x9e\x49\xd2\x6b\x41\xb1\x4c\x59\x90\x4d\x5b\xe2\x5f\x3a\x54\x5d\x2c\x6f\xec\x3f\xae\x38\x72\xf3\xf2\xef\xac\x1d\xea\xb8\xec\xa8\xf7\xae\xb6\x17\xcc\xca\x14\xdb\x66\xce\x7d\xc3\x58\x15\x63\x7a\xe5\x02\x48\x46\x2e\xbb\xd3\x89\x30\x93\xb3\xe9\x0c\x19\x48\x85\x35\xb4\x1d\xaf\xd4\xf8\xf2\x0d\x0c\xbc\x4a\x8b\x3c\xe0\x33\xfc\x9c\x52\xa1\x3e\x60\xe4\x49\x99\xf7\x98\xba\x62\x3b\x1f\x29\xd5\x38\x67\xa9\x88\x24\x12\xf7\x1e\xfc\x38\x2a\x09\xa9\xaa\xd5\xc4\xf3\xf3\x70\x89\x17\x0c\x09\x62\x68\xb1\x75\x17\x5f\x32\x92\x6e\x2f\xa0\x43\x29\x36\x21\x0e\x69\xaf\x56\x90\x61\xbb\xcc\x58\x88\x30\xdf\x55\xf8\x11\x86\x8a\x06\x0b\x0b\xdd\x91\xf4\x50\x4a\xba\x5c\x72\x58\x04\xcb\xae\xae\x10\xc0\x9c\xeb\xbd\xbd\x70\x43\xf6\xee\x0e\xf0\xf2\x97\xbb\x30\xd6\xd6\x57\xce\x6a\xc9\xda\xde\x57\x8b\xfc\x0a\x8e\x15\xd7\xa8\x60\x6e\x5c\x12\xf8\x85\x08\x8e\x29\x33\xb8\x3a\xf1\x82\xe3\x8f\xa9\xaa\xdd\xd7\xf6\x30\xb8\xd0\xd3\xb3\x75\x11\x80\xab\x0c\x0a\x39\x41\x2b\xb9\xcc\xc9\x04\x23\xb5\x5a\x3d\x71\xd5\x69\xca\xba\xaa\x71\x9c\x9d\x33\x00\x67\xbb\xde\xa7\x81\xbe\xab\x78\x8a\x88\xd2\xbc\x34\xb5\x9d\x5f\x0b\xf5\x9e\x55\xaf\x96\xf9\x53\x93\x5c\xcf\x48\x3d\x25\x8c\x45\xc0\xdd\xe8\xa4\x69\x35\xeb\xdf\x94\xc0\x8b\x77\x67\x1f\x8e\xb4\xdb\x30\x90\x25\x38\xa1\xee\xea\xee\x5f\xdd\xe5\x8e\x4e\x3a\xe2\xf1\x62\x1e\x37\x07\x5e\xf2\x46\x01\xb3\xf7\x54\x1b\xd5\x36\x87\x68\x1c\x5c\x97\x87\xf5\x1d\x3d\x5a\xc1\x70\x5a\x94\x86\x09\x10\x53\xa1\x46\x28\xe7\xba\x8f\x6a\x2e\xe8\xa9\x91\x17\x67\x4a\x86\x96\xdf\xab\xec\x00\x12\xb1\xf3\x8e\x29\x87\xba\x76\x4d\x37\xae\xb9\x56\xfc\x7f\x65\xa7\x31\x2f\xe0\x21\x8f\x20\x52\x3d\xa1\x0f\xfc\x8c\xe6\xf1\xc8\x4c\x83\x58\xb8\xce\x4f\xbd\xfa\x21\xa9\xd6\xbc\x9c\xc7\x31\xab\xc0\x6b\x67\x9a\x21\x39\x0b\xb1\x32\x40\x63\xf7\x0c\x96\x44\x26\x86\x10\xaa\xc5\xd6\xea\x6c\x6e\x08\xe8\x3a\xa2\xec\xc7\x5e\x1a\x97\x62\x3c\xb8\x3e\xa1\x70\x71\x26\xc8\x68\xde\xb1\xed\x2f\xea\xee\xbc\x56\x75\xcb\x5d\xa6\x0e\x63\x9f\x81\x92\x6b\x0d\xe9\xe6\x5a\xc7\xb6\x07\x82\x36\xb5\x73\xfa\x42\x46\xaa\xba\x9a\xa7\xba\x30\x56\xd6\x6f\xd5\x5b\x41\x36\x1a\xf3\x34\x2d\xe1\x63\x88\xf4\x3d\x95\x56\xd4\xb8\x29\x2f\x99\xa2\x4e\x66\x13\xa2\xcb\xa4\x8a\x7c\x8b\x76\xf9\x8c\xb5\x51\x10\x46\xd5\xd1\x29\xa2\xd6\xf4\x71\xce\xe0\xdd\xd9\x87\xc1\x6a\x40\xc2\xc7\x17\x2e\xdf\xfa\x93\xbb\xa6\xd9\x6f\x7f\xf1\x7f\xf9\xed\xe7\xc3\x1d\x6b\x31\x10\xa1\x1c\xe7\x2b\xfb\xe3\xab\xe4\xfc\xd7\xb8\xf9\x3f\x67\xf1\x91\x20\x6e\xa6\x01\x11\x43\x17\x43\x5e\x7c\x65\xb5\xf9\xd4\x83\xcc\x6d\xc1\x44\x67\xe5\x6c\x07\x35\xfc\xe6\x94\xf7\x96\x0d\xcf\xd7\x88\xed\x91\x47\xe5\xf1\x43\x30\xb9\xa9\xf5\xc5\xde\x18\x7d\xa2\xa0\xb7\xfb\x2b\x77\x12\x29\x4e\x4d\xcb\xf9\xad\x0b\xd5\xde\x5c\x7c\x41\xfb\xd5\xc2\x0e\xbd\xb9\x4c\x5c\xd2\xd3\xc5\xa2\xc1\xf6\x80\x89\xf2\xae\x53\xee\x65\x4b\x09\x25\x53\x40\x2c\x96\x9c\x07\xc1\x4a\x29\x69\x0f\x76\x40\x57\x28\xc6\xf2\x22\x54\xa3\xd8\x27\x1e\x9f\x0c\x02\x92\x08\xe6\xaa\xab\xe9\x4d\xfa\xb0\x37\x30\x3d\xe2\xce\x73\x7f\x3c\x6e\x78\x94\xa0\xfb\x10\xee\xad\x4a\xed\x77\x97\x20\xb5\x88\x9b\x9b\x6b\x5d\xc0\xb6\x23\xde\xd8\x5f\x09\x60\x50\x12\x17\xe5\xbd\xc4\x8d\x5a\x93\x03\x1c\x83\x2b\x64\xa3\xcc\xcb\x6a\xe2\x91\x3c\xf2\xd6\xd5\xfe\x04\xbd\x5c\x80\xbf\xa8\x3e\x51\x40\xc0\x57\x1d\x38\x01\xfb\x00\x40\xdf\x63\x9d\x5f\x82\x51\x2d\xc5\x2f\x68\xfd\xc7\x3b\x2c\x3e\xd4\xb6\x5d\xf4\x97\xda\xad\x29\x97\x1d\xca\x3b\xb7\xa4\x6e\x2b\x22\xec\xdc\x74\xfc\x53\x2e\xaf\xc0\xdc\x73\xed\x85\xa9\xf3\x5e\x10\x1a\xcc\xea\x62\x1b\x1f\xcb\x04\x26\xf4\x2d\x44\xf5\x6f\x1d\x46\xe8\xc3\x7c\x9a\xbb\xcd\xd7\x47\x61\x5c\xd5\x3a\x2b\x11\x28\x54\x97\x35\xe4\x45\x3a\xb5\x1c\x61\xbe\x95\xec\xda\x2e\x51\x6a\x71\x4f\xa5\xc0\xec\x3d\x67\xb7\x62\xc0\x65\xab\xcf\xaa\x86\xb8\x9d\x2d\xd4\xda\x9a\xc8\x45\x62\x2c\x0a\xa5\x01\xfc\x75\xa7\x46\x57\x5a\x39\x2f\x51\xb0\xc5\x28\xaa\x32\x68\x65\xce\x35\x98\x10\x40\x95\xbc\xc7\x2e\x58\x52\x7f\xfa\x45\x55\x47\xbb\xe3\x37\xaf\x95\x2a\xaa\xf9\xf3\x4b\x5a\xa5\xa8\x88\xc4\x0d\x8b\x12\x63\xa5\x5c\x3f\x49\xa5\xa0\xad\xf5\x47\x60\x60\xe4\x51\x89\x40\xec\x01\x91\x44\xda\x03\x13\x38\xd9\xa3\xa5\x26\xaf\x2a\x4b\x6a\xdd\xa1\x5f\x1f\x74\xf5\xbe\x3e\x8a\xf8\x5a\xa8\xd9\x06\xf0\xac\xdd\x25\x24\x6a\x55\x74\xd9\xcf\xcd\xa9\xdf\xd3\x6b\xde\x53\xaa\xdd\x0b\x95\x98\x66\x83\x5e\xd5\xed\x6a\xaf\x88\xfe\xea\xe9\xe0\x7e\x5c\xad\x80\x4b\x25\xef\x81\xbd\xee\xe2\x0e\x71\xaa\x95\xb3\x84\xa4\xa9\x68\x24\x00\x34\x5c\xde\x0c\x61\x11\x84\xb5\xdb\x6b\xa3\x9e\xc4\x31\xbf\x64\xea\xea\x7e\x7d\xfa\x83\x44\xc9\x7e\x30\x67\x63\x18\x84\x24\x68\x1d\x68\x33\xe2\x95\x53\xac\x69\x6b\xfd\x10\x00\x87\xa5\x4a\x28\x7d\x7c\xe9\x00\xc9\xee\x84\xab\x15\x1f\x5f\x0a\xd5\x76\xfe\xe0\xbd\x3e\x84\x18\xb2\xfb\x69\xf3\x97\xbf\xef\x7e\xfd\xe5\xa7\x1b\x6c\xb9\x9f\x81\x21\x21\x2d\x5a\x48\x8a\x0b\x2a\x81\xa2\x8e\x43\xd2\xd5\xd8\x88\xc1\x25\x3d\x35\x44\x4e\xda\x14\x3f\x01\x61\x00\xbc\x0a\x5d\xc5\x64\x49\x29\xdf\xcd\x5e\x39\xc4\xf9\x6a\xaf\xde\xb8\x95\x41\xf1\xe2\x2b\x31\x9c\xb4\x83\xaf\x94\x37\x6a\x73\x35\x67\x47\xab\x88\xee\x51\x17\xdf\x1e\xe4\x89\x03\xb1\x59\x21\x3c\x02\x50\x2c\x4e\xb6\x42\x05\xd8\x0b\x19\x48\xc0\x8c\xa2\x69\x35\x52\x41\x91\x93\xda\x53\x07\xc9\xb5\x1d\x71\x49\xb1\x67\x38\xd4\x45\x53\x0c\x97\x6d\xbd\x99\x9c\xa7\x76\x2e\x9f\x8e\x2b\xfc\xb2\x38\xaa\x12\xd9\x12\xb5\x75\x85\x80\x35\xe3\x13\x52\xd4\x10\xf2\x01\x30\x71\x79\x6a\x54\xa2\x38\x3b\x8e\xcc\x09\x64\x36\x37\xf4\xf0\x91\xe6\xf1\x81\xe4\x6a\xbe\x69\x7c\x24\x03\xd0\xa9\xa3\x82\xf2\xc1\x94\xf1\xdb\x2c\xc2\x7c\xb3\x66\xfb\x2e\x99\x7e\x14\x69\x09\x0c\x16\x06\x12\x6e\x00\xfa\xda\xb2\x48\x28\x3f\x49\xed\x09\xe0\x2e\x79\xda\x47\x16\x64\x44\xd4\xfc\xd6\xe0\xba\xcd\xaa\xf8\xcb\x28\x83\x58\xd6\xf7\x5b\xfd\x13\x8c\xa5\x79\xe5\xff\xc4\xa5\x6a\x19\x2f\x0d\x34\x4e\x91\x40\x90\xaf\x86\x49\xa2\xda\xd2\x53\x25\x8e\x7a\x67\x3d\xea\xaf\x9a\xe3\x2d\x53\x4b\x15\xa9\x02\x45\x12\xd5\x90\x5c\xa2\x0e\x5c\x90\x5e\xca\x53\x21\x6c\xe8\x8d\xfd\x3c\xb6\x66\x1f\x16\x77\x97\xeb\x0d\x3b\xb2\xbc\xae\xc0\x15\xe0\x9d\xf5\xc1\x01\x05\x88\x97\xdd\xe4\x99\xb4\x0f\x6b\x90\xa7\x0c\x0c\x60\x3b\x06\x20\x58\x89\x41\x28\xa1\x2a\x67\xee\xff\x7e\x96\x50\x7b\xd5\xf0\x51\x09\x65\x54\x4f\x2f\x2c\xd7\x5b\x49\xc0\xeb\xb6\xeb\xdb\x2d\x00\xc4\xdb\xd2\xf8\xdb\xc3\x78\xdd\x09\xb8\x1b\x91\x52\xae\x9b\x42\x92\xd4\xa3\x90\x81\x10\x93\xa8\x74\xe3\xe4\xe3\x63\xe2\x82\xb9\x91\xdd\xf8\x19\x80\x24\x12\x64\x3a\xda\x77\xd1\xb0\xea\x81\x84\xd5\x23\x8f\xa3\xad\x95\x89\x8a\x00\xf7\x5c\x64\x1c\xa7\xcd\xc6\xe9\x47\x7b\xdf\xa8\x80\x53\xa5\x2d\xc8\x87\x52\x77\xc1\xbe\xf7\xf8\xfe\x29\x53\xaf\xea\x5b\xf7\x09\x6d\xc5\x75\x0a\x11\x12\x5d\x42\xa6\x92\xd5\x51\x07\x93\x41\x0b\x05\xba\x4d\x9f\x11\x78\x58\x32\x36\xdf\x12\x45\x94\xce\x96\xad\x9a\x8d\xc6\x30\xc1\x4d\x05\x07\x38\xf0\x10\xec\x5a\xf6\x46\xc1\x13\x92\xbe\x7a\x7d\xb3\x59\xed\x14\x8f\x4e\x51\x39\x2b\x23\x22\x5f\x36\x28\x91\xb7\x42\xf9\x49\x4a\x73\x68\x9e\x7a\x53\x4b\xaf\xa6\xe9\x88\xef\x22\x65\x94\xec\xae\xfe\xa8\xea\x6f\xf6\xe8\x09\x37\x4b\xf5\x3a\xef\x20\xa6\x63\x2a\x58\x02\x33\x78\x3a\xf2\x83\x03\xc3\xda\xb0\x59\x6c\xe7\xd4\x12\x97\x93\x2a\x7c\x7c\x87\x8c\x5e\x79\x4a\x94\x6a\x72\x76\x9c\x14\x50\xc7\x8e\x3c\x78\x85\x7b\xd1\xee\x07\xbb\x01\x9c\x26\xd0\xec\x71\x6f\xaf\xba\xcc\x05\x92\x7d\x23\x4e\xd9\x57\xea\x55\xb6\x94\x90\x2c\xc6\x54\x2b\xfb\x41\x37\x16\x02\xd0\xaf\xea\x26\x51\x42\x47\xa7\x91\xff\xa9\x2d\x4c\xc0\xf0\xce\x00\xe5\xcf\x92\xa6\xe7\x9f\x7e\xf3\xf8\x14\x79\x4c\x57\x77\x2a\x0d\xfd\x92\xa2\x8e\x25\x14\x5e\x19\x7b\xbc\x89\x7a\x05\x01\x04\x0c\xe1\x71\x34\x51\x2f\x94\xf6\xbe\xc0\x00\x00\xce\xff\x62\x73\x28\xb9\xf0\xaa\x57\x75\x8d\xaa\xc4\xa7\x84\x5c\xb9\xc9\xa8\xcc\x94\x45\x6f\x77\xfa\x4c\x4f\xd5\x21\x0a\xac\xa7\x36\xa4\xc7\x59\x42\x9e\xce\xe1\x52\xa0\x9a\x05\x18\x3a\x82\x3d\xd2\x54\x41\xe1\x25\x60\x5c\x11\x79\x85\x0a\x94\xba\xc7\xee\x9a\xca\xbf\x5e\xbe\xba\x34\x91\x8c\x1b\x43\x6e\xaf\xfd\xe3\x3d\x0e\xc6\xb4\x00\x20\x7a\x0e\xc9\xd9\x31\x18\x0c\x1f\xb2\x2c\xcd\x57\xa1\x2a\x75\xed\xc9\xf6\x63\x1f\xb5\x22\xcf\x3d\x20\x7f\x30\x4c\xf9\x83\x32\xb6\x2c\xfb\xd6\x53\x03\x1f\x0b\x53\xee\x8d\x22\x88\x47\xaa\xba\x5f\x7d\x82\x11\x46\xce\x98\xf6\x86\x1c\x91\x8d\xc1\x57\x2b\xc4\x31\xbd\x36\xc7\x2a\x78\x65\x9f\x75\xc2\xfb\x4c\x39\x6d\x49\x5a\xf2\x24\x8d\x29\x33\x98\x0e\xa9\x94\xa8\xd3\x6d\x23\xd4\x81\x1c\xdf\xdb\xb4\x1b\xab\xdf\x44\x92\xd6\x1e\x17\x2a\x88\xcd\x6d\xe5\x0b\x45\x5b\xa8\xe5\xe4\xa2\x3e\xb2\x4e\x46\xa8\x28\x30\xee\x03\xbb\xbf\x0c\x05\x7c\xa1\x53\xf4\xa4\xa3\xa6\xd5\xb9\x95\x49\xcc\x17\x39\x29\xa1\x0b\x6d\x66\x83\x03\x75\xe6\x56\xbf\x82\x32\x9b\xab\xcd\xc0\x67\x73\x7b\xe8\x4d\x77\xd2\x9b\x4e\xf5\xe6\x7e\x55\x2b\x07\x55\x35\xcd\x85\xfd\x49\x27\x6f\x66\xca\x1d\x41\xe1\xe2\x4f\x0b\x82\x1d\x6c\xae\x9f\x96\x83\xb3\x25\x24\xf8\xf3\x9f\xac\x77\x89\xe9\xd9\xa7\xd9\x82\x15\xa6\x4e\xfe\xb8\x7f\xe4\x6e\xeb\x84\x01\xb6\x93\xb4\xe7\xe6\x93\x1f\xca\x74\x31\xbb\xfc\x71\x7a\xcd\xa7\x69\x18\xd3\xd4\xcd\x3f\x87\x12\x40\x66\x99\x3b\x9b\xf0\x21\x0c\xb1\x3f\xff\x0c\xa7\x46\x92\xbd\x2a\x96\xb8\x50\x2c\x61\x9a\x7d\xd0\x3b\xea\x20\xe9\xf2\x93\x71\x5d\x19\xa1\xef\x2e\x30\x3b\xeb\x5c\x65\x21\x45\x57\xbd\xfc\x1e\xd3\xd3\xfc\x51\xd1\x07\xd1\xf1\x7d\x1d\xfb\xeb\x5f\xff\xfa\xf8\x0e\xae\xba\xab\xe0\x65\x5b\x26\x07\x81\x7a\x50\xa7\x2b\x18\x5a\x64\xeb\x89\x4b\x46\xce\x5d\x94\x44\x56\x9b\x92\x29\xc9\x15\x01\xff\x0e\xf9\x4e\x58\xcf\x12\x85\x5c\xfe\x3f\xf6\xde\x66\xcb\x75\x5c\x57\x13\x7c\x15\xbd\x00\xd1\x04\x09\xfe\x0d\x63\xed\x49\x0c\x1c\xa3\x5a\x2b\xe6\x2e\xdf\xbc\x27\xb2\x4b\x91\x79\x3a\xf3\xa4\xab\xae\x9f\xbe\x17\x3e\x50\xb6\xf5\x63\x87\xb7\xf7\x3e\xb7\xea\x76\x9f\x41\xc8\x0e\x4b\x22\x29\x8a\x04\x01\x10\xf8\xbe\x01\x71\x3b\x7a\xb8\x0e\xb4\x46\x20\x9d\x71\x23\x9e\x1f\xe0\xf4\x09\x87\x5e\xb5\x64\x89\xb6\x13\x8a\x49\xd5\x21\x61\x34\xbd\x88\x31\x50\x45\xa1\x00\xc7\x9d\xae\xaa\x81\x7f\x78\xed\x8d\x94\x7d\x45\xfc\xd3\x6d\xcf\xcc\x65\x70\x3f\xaa\xff\xc5\x7e\xfc\xe7\xeb\x7f\x67\xf5\x66\xb5\xb0\x48\x03\xd5\x6d\x18\xcf\x1a\x4e\xf9\xe9\xda\xc5\xb6\xe6\xf5\x9f\xa6\xae\x65\x50\x3a\x65\x39\xb7\x2b\x24\x5d\x2a\x27\x4b\xc4\xf6\xa7\x32\x98\x16\x63\xca\x07\xca\x6c\x4a\x1b\x97\x48\xd9\x80\xfa\x10\xb2\x74\xd6\x58\xe3\x63\x1a\xeb\x23\x8e\xda\xf3\xdc\x7e\x7a\xe7\x95\xb1\x35\x36\x83\x5e\x27\xe0\xb1\x97\x3a\x52\xaa\x94\x2a\xbf\xfc\x2c\x11\x18\x28\x83\x0c\x2b\xd5\x00\xdd\x03\x87\xe5\x94\xb5\x00\xd8\x5d\x6f\xd7\xe9\xb3\x12\x42\x93\x25\xec\x54\x87\xd2\x69\x01\xb2\xc5\x06\x0a\x4b\x3d\x9a\xa0\xac\x19\x50\xbb\xc3\x3d\x8d\x24\x18\xa5\xb2\x4f\xb7\xbd\x66\xdf\xb7\xc4\x40\xa5\x02\x70\xef\xfa\x71\xf5\x31\xca\xa8\xe7\x1d\x34\xb2\x85\xd2\xc6\x5d\x67\x1b\x16\x1a\x10\x66\x64\x80\x1f\xd2\x8a\x5e\x80\xc8\x7a\x6c\x38\x5d\x17\xfd\x4f\x59\x4f\xbe\x1a\x77\xe3\xdf\x9f\x5f\x4e\x58\x05\x65\x1b\x0a\x25\x60\x55\x66\x84\xdf\xe9\xbc\x12\xc2\x24\x2c\x85\x22\xff\xa9\x92\x23\x53\x41\xe0\x1d\xc3\x79\x14\x67\x83\x05\x2e\x59\x84\x18\x83\x5c\xb5\x21\x70\xb6\x75\x74\xeb\x06\x8a\xd4\x4c\x49\xf6\x42\x81\xc3\x60\x47\x73\x0a\x16\xa3\x0c\x3f\x50\x13\x9d\x79\xfa\x2e\x2b\x13\xf8\x56\x05\x32\x2f\x4a\x04\x84\x64\x61\x5d\xaf\x10\xe6\x1d\x04\x91\x7c\x81\x12\x7c\x5e\x94\x41\xe8\x17\x6c\x1b\x5c\x57\x0c\xcb\xd9\x09\x4e\x9f\x42\x04\x9e\xaf\x46\xa5\x38\xb8\x8f\x7c\x00\xbb\x62\x1c\x70\x30\x07\x43\x85\xe5\xda\x46\x47\x2c\x42\xbe\xa6\x83\xa3\xd0\xc4\xd8\x5a\x53\xc8\x14\x43\x43\x00\xa5\x8a\x2d\x07\x03\xd8\x88\x90\xb2\x8e\x1c\xd6\x8b\x2b\x89\xf0\x9e\x32\x42\x43\x7b\x04\x4c\xa8\xc4\xbe\x4c\xc8\x81\x7e\x29\xb0\x11\x72\x87\xe4\x0a\x6e\xd5\x78\x63\xa3\x56\xca\xd8\xf5\xdf\x07\xeb\x86\xee\x2b\x02\xd1\x12\x93\x8f\xe1\x80\xd0\x63\x15\x4b\x94\x0b\x92\x20\x1a\xf5\xf8\xce\xd1\x5a\xcc\x90\x66\x19\xa0\x84\xe6\xef\xb5\x3e\x12\x6f\xd1\xa4\x76\xc0\xef\xa2\xc6\x40\x8a\xf1\xa0\x2d\x75\x14\x88\x1b\x83\x87\xdf\xbe\x34\x46\xa8\xb9\x07\xc3\x46\x2a\x08\xd3\xd3\x31\x10\x83\x23\x90\xa3\x17\xb4\xd3\x70\x97\xbb\x6f\x59\x7f\x4e\x88\x1a\x78\x64\x81\x0d\x03\xe7\x3d\x0f\xdc\x51\xd5\xc3\x07\x79\xbe\xfc\xef\xc2\x2b\x87\x47\xe0\xed\x38\x7c\x9b\xb0\xa6\x2f\x88\xd3\x03\xff\xc9\xba\xbe\x9d\x39\x01\xae\xd9\x00\x06\xe6\xff\x86\x58\xe7\x89\x12\xe0\xf4\xc9\xec\x1a\x5c\xd7\xd8\xea\x9b\x70\xde\x81\xa6\xd2\x7f\x40\x2c\xc8\xf3\x7b\xbe\x3a\x55\x9f\x5e\x1d\x2a\xa8\x29\x05\x96\x2f\xab\xfa\x32\xd8\x71\x5a\xa1\x13\xb4\x1f\x70\x78\x56\x70\xe2\xa6\x1c\x49\x47\x7f\xae\x85\x56\xde\x22\xd1\x31\x24\xed\x40\x21\x36\x20\x91\x14\x4c\xfb\x22\x70\x71\x24\xa4\x02\x55\xb5\x4d\x23\xd6\x87\x38\x4d\x58\x5f\x9a\xa3\x08\xfc\x42\x8f\xb8\x4e\x7f\xb6\x8f\x6b\xb0\xa0\xcf\x34\xcc\xd2\x7c\x98\x8a\x5a\xcb\xf0\x1c\x56\x70\x43\x06\x6a\xc8\x63\x40\x30\x65\xc8\xa0\xfe\x0b\x20\xe2\x94\x68\x13\x37\x97\xa6\xa6\xaf\xce\x0c\x01\x33\x3f\xc8\xcf\x1a\x26\x06\x53\x6c\x20\x5b\x6e\x50\xe0\x31\x27\x07\x3b\xda\xbc\x93\xa4\x42\x8d\xb2\x80\x5c\xb0\xff\xa8\x76\x73\x68\x61\xd1\x09\x20\x4a\x8f\x08\xe1\xe7\x1c\x0d\xb0\x56\x95\x65\x0f\x5a\xd6\xd2\x10\x9b\x1d\x24\x52\x88\x60\x5f\xef\xea\x42\x8d\xc1\xfa\x4d\x4f\x25\x7d\x16\xe1\x46\x45\x2f\x49\x42\x5e\x44\x67\x76\xb3\x52\x7c\xca\x48\x2a\x24\x5f\x11\xd9\x8f\xec\x5f\xc4\xa0\x71\xcd\xe0\xaa\xa7\x50\xc3\x9e\x5a\xc9\xfa\x67\xd3\x32\xa0\x97\x43\x3c\x90\x4f\x48\x92\x47\xc6\x82\xca\x99\x6c\x5f\x52\x3b\x5a\x44\x3d\x84\x25\x77\x29\xe1\x1d\xd2\x7c\xb9\xe7\xd5\x04\x35\xf4\x75\x20\x14\xa0\xce\x3a\xd5\x34\xf5\x29\x1e\x88\x69\xab\x03\xf3\x62\x5a\xfa\x32\x9b\x97\xf5\xeb\x69\xe9\x2f\xd0\xcb\xcc\x79\xf0\x13\x61\x02\xfb\xa1\x9e\x3e\xab\xcb\xa4\xf6\x30\xe0\xf7\xa7\xc9\x06\x30\xe7\xfe\x03\x26\xdb\xf3\x1b\xe7\xbf\xfc\xaf\xfd\xdf\x7e\xff\xed\xf9\xbd\xf3\x84\xd8\x7b\xef\x97\x31\x87\x81\x2a\xb2\x9f\xb0\x55\x24\x54\xca\x72\x1b\x2c\x80\x2a\x94\xb9\x1e\x0b\x95\x2c\xcb\x90\x45\x46\x42\x36\x92\x71\x47\x77\x2e\x64\x79\xd5\x54\x0b\xae\x70\x1b\xd5\x80\xd4\x29\xe9\x55\xef\xa8\x6c\xbf\x3c\x1d\x91\x0f\xab\xb5\x9c\x8b\x38\x7d\x06\x63\x95\xa0\x50\xea\x32\x62\x13\x91\xdc\xfe\xaa\x49\xf3\xd0\x1b\x1f\xf1\x50\xc5\x1e\xca\xe8\x9b\x13\x85\x80\x90\x50\x4a\xcd\x54\xa1\x74\xe9\x96\x55\xb8\x27\x8a\x3f\xb7\xe5\x40\x11\xc1\xf0\x45\xef\x75\x94\x41\x9c\x05\x85\x33\xf5\x07\x5a\x46\x94\x9e\xcf\x5f\x75\xca\x73\x8e\x29\x1b\x19\x4f\xef\xaf\x47\xa1\x18\x57\x88\xcf\x51\x65\xe4\x98\x2c\x2b\x9a\x6b\xd8\x42\x9a\x4e\xaa\xd5\x1c\xc1\xad\xbc\xc4\x93\xee\x74\x2c\xd4\x82\x8c\xee\x52\xca\x1a\x76\xda\xea\xc1\x25\x6e\xab\x22\x02\x9f\x42\xca\xf2\x8e\xda\x16\x05\xa0\x1a\x87\x6a\x76\xd3\xa3\x00\x58\x05\xba\x6c\xa8\x8b\x20\xe5\x52\xea\x54\x19\xda\xc3\xd7\xc6\x49\x98\x3d\xcf\xb5\xd5\x12\x33\xb2\x56\x2e\xbd\xb1\x88\x74\x44\xa9\xe7\x27\xe0\xe5\xbd\x4e\x6f\xee\xcd\x9f\x35\x67\x3a\x77\xf5\xf8\xb7\x59\x14\x1e\x18\x02\x8f\x7a\x27\x91\xb7\xbb\x25\x0d\xfc\x7c\xa2\x6e\xc8\x03\xbc\x90\x9b\xe2\xc0\x5f\x4b\x83\x1b\xc2\xc0\x5f\x4b\x1c\xb7\x71\xfe\x6a\xae\x6f\xc9\x02\xef\xae\x85\xc1\xf5\xdc\xf9\x8e\x4e\xfa\xda\x11\xd8\x88\x73\x5e\x4d\x0c\x3f\x1f\xb1\x5b\x53\xc3\xdf\x9b\x18\xfe\x7a\x5e\xdc\x9a\x16\xfe\x7a\xf6\xb9\xad\x0b\xae\x86\xfd\xd6\xb4\xf0\xee\x7a\x5e\x4c\x4f\xf2\x65\x07\xfd\xfa\xe7\x3f\x7e\xff\xe3\x3f\x1e\xc4\x96\x38\xc7\x69\x44\x29\x16\xa8\x51\x98\x5a\x42\x9c\x86\x9a\x3b\xed\xa5\x52\x02\xc9\xb4\x35\x29\xc1\xd4\x2a\xaf\x75\x0b\x87\x19\xf8\xeb\xd7\x31\xb4\xd1\xb6\x92\x97\xb0\xec\x9d\x73\x9c\x38\xa6\x97\x86\xc0\x5e\x3b\x9e\x83\x2e\xb0\x93\x82\xd5\x17\x3e\xb5\xa2\x5f\xd8\xff\xe9\xa6\x7f\x1c\xfe\xff\x6f\x01\x30\x77\x21\x0e\x61\x0e\xb6\x64\x15\x68\xcb\x0d\x28\x5b\xed\x62\x8b\x80\xd8\x60\x1b\xc8\x1b\x7b\xc0\x89\x4a\x2d\x23\x8c\x2e\xec\xa8\xcc\x82\xcf\x54\x11\x84\x0d\x18\x46\x7d\x30\xd7\x81\x2a\x2e\x95\xf3\xc0\xf1\xfd\x06\xd8\xd6\x43\xc6\x73\x7f\x83\x8f\xc1\x15\x90\x2d\x47\xeb\xfe\x65\xaa\x89\x5f\xca\x50\x4c\xd5\x19\xea\xea\x92\xc1\xa4\xff\xe4\x39\x28\x21\x39\x79\x5d\x86\x04\x9f\xe3\xe8\x6e\x44\xa6\xaf\xba\x15\xe0\x7d\xb2\xd1\xab\x91\x4a\x8e\x23\x53\xf5\x69\x99\x6f\xa8\x46\x3e\xe0\x60\x46\xa3\x30\xb8\x96\xe8\xe0\xea\x6d\x86\xe8\x74\xf5\xab\x55\xf3\x50\x7f\xfe\xfe\xf9\x60\x44\x34\x5b\xa0\x44\xa0\xca\x6d\x06\x17\x1c\x7d\xc6\x8e\x09\xb8\x2c\xc5\xcf\x30\x42\xc8\xb7\xa2\xc6\xf2\x7b\x58\x86\x28\x4c\x84\xaa\x12\x04\xa6\xaa\x38\x8b\x62\x51\xdd\xdc\x2c\xe7\x58\xc3\x08\x6e\x70\xa7\xc5\x2e\xd2\xbd\xb0\xe9\x26\xd9\xf6\xcf\x7b\xcd\x75\x05\xab\x8c\xe2\xef\xd6\xbd\x6c\x2c\x4c\xfb\xf1\x5c\x6b\x99\xbf\xbe\x66\x2a\xdc\x36\x8c\xb2\xdc\x86\x51\x5e\x54\xbd\x85\xd7\x6c\x14\x3d\x2c\x26\x27\xe6\xe7\x6a\x0f\xee\xba\x59\xd6\xc3\x6f\xfa\x41\x64\xfd\x0e\x3b\x50\x64\xf1\xa2\x27\x25\x00\xcc\x3d\x8b\xae\xcb\x6a\xcc\x1e\x0b\xc5\xbc\xee\xea\x4c\xb5\x2d\xdf\x1f\x21\xbf\x32\x96\xb2\x33\x06\x64\x8a\x4d\x36\xde\x71\x3e\x2f\x44\x5a\xe7\x0a\x4c\x47\x4b\xbe\x57\xe9\xa2\x8d\xae\x6f\xae\xea\x6c\xa6\x6b\x47\x85\x29\x8a\xc8\xf0\x09\xe9\x5d\xd5\xb1\x8f\x78\x5c\x72\xbb\xf7\x0e\x97\x6f\x3c\xe1\xc7\x7a\x83\xec\x04\x0a\x91\x21\xac\x7e\x4b\x86\xe4\xda\x41\x58\x53\x8f\x65\x5a\xb3\x45\x3f\xf6\xce\xfe\xfa\xe3\x6f\xe3\xfe\xcf\x3b\xa1\x86\x7f\x9b\xdb\x80\xed\x46\xd2\x42\xde\x8c\x39\xcf\x37\x82\xce\xbb\xf8\xaf\x9b\x89\x40\x5b\x89\x39\x8f\x84\xa9\xe7\x86\x2d\x0a\x1f\xbf\x45\xca\xd8\x3f\x07\x16\x52\x0e\x00\x34\x4e\xfa\xf9\xc1\x9e\x2a\x42\x57\x6c\xdb\xbf\x02\x5f\x03\xdc\x95\x48\x11\x56\xdb\x3d\x5a\x12\x68\x1d\x0a\xf9\x45\x03\xa9\xc6\x34\x9e\x4f\x96\xf6\x2d\x80\xf6\x2e\x78\x6a\x0d\x21\x84\xb1\x0e\x06\x70\x24\xf8\xf6\x8a\x6a\x91\xb9\xdc\x83\xd6\x54\x5d\xf7\xde\x52\x97\xb1\xe7\xe4\xa3\x15\xe8\x56\xb5\x39\xad\x6d\x77\xf5\x58\xa7\x37\x7b\x8a\x15\x8e\x4d\x0e\xb6\x85\x51\xaf\xdb\xb6\xd0\xf2\x81\x58\xe3\xf3\xad\x67\x3b\x97\x51\xa6\x2e\x22\x10\x92\xb4\x54\x74\x22\xe9\x69\x67\x55\xb8\x73\x73\xd7\x75\x38\xab\x63\xfb\x81\xdc\xb9\x90\x62\xfd\xf2\xb4\x1d\x7f\x1e\xb4\x0f\x49\x1b\x34\x00\x8e\xe5\x39\xb6\xaa\xfe\xf8\x11\xb7\x56\xdb\xed\x21\xdb\x75\xf1\xed\xe4\xb5\xe7\xc6\x6c\xa0\x8c\x7d\x90\xc2\x6a\x5a\x5f\x28\x99\x05\x70\x19\xe9\xa3\x50\x2b\x79\x7f\x7d\x46\x6d\x66\x00\xb6\x71\xd9\x01\x5c\x43\x86\x42\xb5\x5e\xa7\xa8\xfb\x81\x82\x8c\xba\x8c\x32\x12\x66\xe2\xac\x00\x77\x55\xc2\x2b\xea\xd9\x38\x0d\xb0\x89\x82\x32\x9c\x15\x71\x5d\xbe\xd3\xf2\xdd\xe5\x24\x66\x73\xab\x75\x08\x56\xe0\xa2\xee\xeb\x04\x69\x6c\x28\x17\xd9\xe9\x75\x51\x17\x23\x7d\xc2\xa4\xea\x75\x29\x43\xa5\x1a\xcb\xf2\x06\x67\x37\xa0\x86\x32\x3c\x3d\x66\x7e\xfd\xb7\x5f\x7e\xfb\xc7\xaf\xff\xf8\x0f\xf7\xd7\x9f\xf7\xb0\x79\x16\xab\x54\x02\x79\x65\x69\x2f\x81\x9a\x00\xf6\xc1\xf6\x19\xb9\x21\x11\x13\xf1\xfc\x21\x1d\x30\xa3\xce\x18\x4f\x55\x25\x0a\x17\x2a\xad\xbb\x07\xd9\x0a\xa2\x80\x68\x0b\x00\x4f\xe6\x9b\x7c\x7d\xc8\x76\x61\x5d\x47\x62\x74\x94\x81\xe0\x92\x9d\x4a\x8b\x3d\x93\x88\x76\x8d\x1e\xfb\x7e\x51\x85\xeb\x35\xe8\x9a\x0e\x42\xec\x58\xda\xe0\x41\x63\x48\x2c\x01\x17\xe8\xf9\x3d\x13\x63\x03\x9a\xdb\xd9\x2b\x58\xb3\x16\x7a\xb7\x1d\x45\x84\x22\xab\xd2\x24\xd2\xb4\xe9\x6a\x0d\xe5\x07\x9c\xef\x61\x28\x94\x7a\xf8\x11\x7b\x3f\xe4\xf3\xc6\x9f\x77\xb9\xa3\x03\xc6\x07\x48\xc9\xef\xf9\x24\x6f\x3b\xc5\x41\x32\x3e\x5f\xc7\x0b\x4c\xdf\xf7\xf8\x1a\x57\x91\xed\xbe\xc3\xdc\x73\x58\xe5\xb1\x3d\x90\xe2\xf6\x9e\xd6\x05\x1a\x31\x48\x7c\xe5\x82\x98\xdb\xa5\x4a\x81\x89\xc4\x58\x1b\x01\x8d\x2e\x6b\xae\xe8\x79\xc0\xf6\x04\xdd\xb6\x19\xb1\x8d\x27\xba\x13\xb1\x9d\xce\x5c\xff\x1b\x64\xe8\xe5\xd8\x73\x97\x6e\xa0\x04\xe6\xb5\x16\x59\x80\x4f\xf7\x6e\xc1\xe6\x95\xa6\x6c\xb9\x15\xac\x5c\xbe\x41\x5f\x12\xb6\xc9\x4b\xf2\x9a\xd5\x04\x11\xda\x3f\x67\xbe\x3f\xb8\x4e\x20\xc9\xc0\x93\xc0\x1d\x11\x83\xc5\x18\x49\x5f\x2e\xb2\xf6\xdc\x14\x5a\x9f\x18\xc3\x96\xbc\x4e\xb4\x0c\xe4\xda\x8a\x3d\x32\x61\xe0\xe6\x61\x83\xc5\x17\xfd\x44\xc8\x49\x3b\x92\xcc\x53\xae\xce\x33\x4d\xd8\xe0\x82\x72\x87\x3a\x01\x32\x0b\x73\x73\xc4\x35\xee\xa9\x86\xaa\x7f\x93\xc3\x13\xd0\x4d\xa9\x58\x16\xc1\xc6\x59\x3d\x79\x70\xc4\x5e\x57\xdf\xd4\xc1\x74\x75\x0d\xc7\x97\x2a\x5f\xb5\x23\xa5\x9e\x7a\xef\x63\xd4\xd6\x23\x6c\xe2\x01\xc7\x7e\x1d\x8c\x10\x0f\x88\xc8\x7d\xd6\xdb\xf7\x70\xf6\xdc\xeb\x1a\x3a\x9c\xb7\x0c\xb0\xe1\x6b\xdf\x3d\xbb\xf0\xec\x74\xb7\x21\xf3\x4d\x0c\x8e\x4f\xc0\xa7\x2e\xc6\x9d\x1f\x5e\xc3\x2a\xf6\xdf\x63\x03\x1f\x90\x7d\xdf\x9f\x8f\x08\x44\xd7\xe5\x39\x13\x12\xaf\x1c\x8e\xaa\x26\x7c\xe3\x60\x94\xee\xdc\x29\xdd\x3d\x3a\xba\xb3\xe4\x64\x63\xf8\x3a\x18\x9c\x6b\xf4\xe2\x28\x35\xa6\xe4\x78\x20\x63\xbe\x39\xd8\x9e\x2c\xfc\xac\xc1\x19\xaa\x18\x28\xd4\x37\xf1\xac\xeb\x8d\xf0\xfb\x1b\x99\x87\x68\xff\xb2\x9c\x0e\x81\xd8\xa9\x49\x1d\x7f\x38\x20\x5a\xa7\xe3\x1d\x37\xea\x83\x73\xef\xcf\x5f\xfe\x38\xfe\x7a\xb8\x67\xfe\x3f\x43\x7b\x62\x4c\x78\x7b\x3c\xc4\x39\xf4\x02\x61\x3e\x69\x41\xac\x07\x66\xbd\x74\x7a\x6b\x00\xb7\xe4\x60\xb9\x69\x7b\x21\xe4\x1c\x87\xdc\xdd\xf4\x12\x54\x99\x69\xe1\xa5\x92\x78\x1e\xec\xe8\x01\xeb\x1e\x23\xb6\x81\x5d\x0f\xec\x48\xaf\x85\x4a\xd5\x02\x92\x0c\x76\xec\x01\x67\x3c\x44\x8a\x56\x84\x16\xd0\x95\x04\xec\x67\x22\xf9\x47\x10\xbc\x80\x6b\x36\x6f\x77\x38\x85\x06\x36\xd9\x5f\x97\x82\x48\xa7\x7e\xab\xb6\x44\x9a\x5d\xfb\x92\xa9\x0d\xfa\xd7\x1d\x77\xaa\x5c\x60\x97\xff\xf2\x2b\xc0\xe9\xf4\x6a\x2f\x1f\x81\x44\xf0\x20\x00\x2f\x41\x02\x5e\xf4\x75\x59\x48\x03\xd9\xfc\xec\xc7\x88\xf0\x27\x6c\x86\x53\x42\x76\xd1\xba\x13\x2d\x24\xde\x7a\xf1\x40\xd2\xf4\x4b\xa2\x0a\x56\xc9\x5a\x12\x35\x30\xba\xb6\x85\x39\x6c\x8b\x32\xa8\x90\x74\xed\x29\xb6\x02\x0d\xb6\x80\x7f\xe4\x7b\x74\x5c\xef\x11\x4b\xe6\x72\x9f\x2d\xde\x5a\xca\x27\xb2\x2e\xde\x50\x00\x98\x6f\x2e\xe5\x36\xb9\xe3\xab\x2d\xe4\xa7\x37\x2b\x05\x78\x0a\x58\x3a\x97\xf0\x3f\x97\x95\xd3\xad\x96\xce\xab\x95\x73\xb5\x66\xcf\x53\xc0\x2e\xeb\xfd\x77\x67\xa0\x5f\x56\xfb\x0d\x86\x8d\xd3\xdb\x04\x2f\x3b\x5f\x86\xcf\x0e\xa6\xbc\xe9\x60\x0a\x9b\x98\xbc\x79\x9b\xa5\xeb\x11\xa7\xc3\x4a\x3e\xfc\x54\xd6\x8e\x3a\xa4\xbd\x0c\xd2\xa5\x42\x1d\xec\xbb\x0a\x03\xa4\x81\x37\x2f\x80\xd4\x29\xbe\x22\x50\x40\x86\x70\x45\xed\x5b\x05\x98\x5c\x88\xf8\x46\x3c\xac\xdd\x5b\xb0\x47\x5a\x6d\xfe\x80\x16\xf5\x35\x51\x4a\x07\x0a\x3e\x52\x6b\x15\x9c\x60\x05\x8a\x3f\x10\x5e\x5b\xde\xc3\x87\x8f\x83\x75\x4f\x0a\xc5\xb4\xe7\xcf\x40\xec\x23\xa8\x67\xf7\x42\xb1\xe8\x2c\x8a\xb6\xcb\xaf\x97\x35\x44\xa3\xc7\x0f\xa6\x06\xdc\x9a\x79\x0b\x61\x9e\x21\xc3\x26\xea\xdb\xcc\xa1\x0e\xb5\x07\xea\x88\x24\x43\xcb\xaf\x19\xc4\xc4\xc8\x56\x79\x81\x68\xc2\xc1\x72\xc5\x28\xb4\x30\xd4\x57\xdc\x3a\x9f\x8d\xb6\x68\x7e\xeb\x2b\xa8\x2d\xa7\xf6\x7a\x3f\x12\xa5\x6f\xe7\x05\xad\xaf\x6f\xa1\xaf\xb1\xe0\xc1\x5c\x6e\x6c\xe6\x1b\x8b\x2c\x4f\x09\x76\x1b\x2b\xf3\x25\x8f\x6d\x7d\x9b\xfd\xf7\x2a\xc7\xee\x3c\xc2\xa2\x2a\x07\x5b\x2a\x87\xf3\x52\x39\x60\xa9\x0c\x1b\xde\xef\xba\x4d\x1f\xb2\x24\xb4\x74\x37\x16\xca\x0b\x75\xc5\x61\x5a\xb9\x6d\xe1\x1e\xb0\x70\x83\x79\x2f\x99\xae\xf3\x81\xd5\xd3\x61\xf9\x7c\x60\x2a\x7c\xee\xff\xf6\x93\xd7\xc7\x3c\xd4\xb9\x26\x06\x55\xf5\x4a\x13\x63\x97\x06\xaf\xc3\x30\xb9\x59\x40\xc7\xa4\x8c\xa9\x34\x9f\x0f\x8d\x00\xa1\xb1\x10\x8d\x86\x63\xff\xc1\xb2\x96\xb5\xa1\x43\x90\xaf\x4f\x4d\x59\xb8\xaf\x1b\x05\xf6\x64\x61\xec\x35\x9c\x3e\xb9\x6f\x20\xe1\x55\xdc\x14\x69\x28\xe7\x8e\x24\xed\x8c\xea\x16\x6b\x0d\xd0\x58\xa0\x00\x95\x91\x3d\xe5\x24\x0e\xa8\x75\xfb\xa5\xcc\xcf\x22\xc4\x31\x8c\x81\x10\x46\x54\xf8\xf4\x26\x48\x3c\x0d\x5e\x3f\x70\xb3\xb0\xde\x9c\x17\x28\x57\xcc\x94\x53\x21\x9f\x47\xe0\xe4\xa9\xb2\x97\xf2\x31\x52\x0b\xed\xb6\x05\xd7\x9f\xc1\xb7\x32\x20\xf2\x0f\xf8\x96\x8c\x20\x20\x80\x66\x3d\x3e\x90\x7e\xaa\x20\x4d\x30\xd2\xbf\x52\xe9\x3b\xbc\xd1\x1d\xad\xfe\xff\x9a\x51\x2a\x6d\x4c\x7c\xfb\xb2\xa1\x78\x33\x72\xaa\xf4\x3d\x6e\x9c\x32\x49\x92\x6f\x48\x12\x3d\xfb\x1e\x80\x16\x0d\x06\x78\x7f\x4c\xc0\x6a\x62\xaa\x08\x65\x03\xf9\xfc\x72\x2f\x20\x46\xb5\x98\x42\xda\x61\x66\x47\xd5\xa9\xdf\x97\x22\xe2\x4c\x90\xbc\xc9\x8d\xad\x2b\xc4\x44\xa2\xfe\xaa\x2a\x57\x1e\xd5\x40\x4b\xae\xa8\xd0\x9f\x6f\x76\x44\xe0\x6b\x8e\x01\x08\xe1\x38\x1e\x23\x49\x6c\x1b\x82\xea\xa1\x11\xf0\xdb\x7f\xff\xfd\x7f\x3d\x19\xdb\xf4\x2f\x90\xa0\x4d\x90\x20\xce\x4b\xff\xb5\xda\x59\xb2\x53\x95\xbe\x81\xa6\x32\xbd\xb2\x27\x0c\xab\x52\x8a\x0b\x94\x73\xbe\x0e\x87\xa9\xb0\x4a\xfe\x79\x60\x43\x09\xa0\xc2\x56\xfb\xb0\xac\x9d\x59\x8c\xa9\x7e\xb1\xd7\x1b\x00\xbf\x2a\xbb\x62\x0f\x11\x5f\xc3\x73\x59\xd4\x36\xe0\x9e\x0b\x99\xfa\x17\xa6\x10\x30\x85\xfc\x0a\x76\x33\x52\x08\x3b\xbd\x70\x68\xb0\x36\x23\xef\x32\x21\xd0\x2e\xcc\xb2\x40\x54\x38\xff\x7c\x50\xa2\xd8\x69\x16\x2c\x1f\x6b\x86\xc8\xd6\x06\xe6\xd7\xb2\x05\x22\xb7\x4b\x64\x11\xd1\xaf\xfc\xec\x40\xfa\xf7\xdf\x1f\x8e\x98\x59\xf4\xd9\x25\x68\x64\xd3\x8f\x9d\x36\xd5\x38\x10\xb2\x95\xff\xbf\xc4\x98\xa3\x7b\x1f\xf2\x80\xd6\xa1\x6c\x46\x8e\x6c\x76\x6d\x9c\x47\x1b\xd5\xa1\x9c\xde\xea\x20\xfb\xb3\x16\x39\x0f\x11\xf6\xff\x25\x42\x84\xd1\x57\x0f\x84\x00\xde\xd9\xf9\xe0\x6f\xe7\xa1\x70\x35\x28\xfe\xbc\x1a\x0f\xeb\x51\xf1\xdf\xae\x06\xc4\xc0\xd0\xa9\xce\xfd\xa6\x17\x5c\x0f\x4f\xf6\xf0\x36\x9e\x4f\x3b\x76\x6c\xb4\x99\x4b\x34\x23\xee\x7a\xcf\xad\x99\xf1\xf4\x5c\x7d\x20\xfc\xef\xb6\x9f\x98\x73\x7f\xa3\xec\xeb\xe0\xfb\xab\xc6\x4e\x6a\x3e\x7d\x7a\xd7\x7e\x68\x04\x7e\x7a\x17\xbf\x1c\x81\xdf\xff\xd4\xff\xf7\x5f\x9f\x7f\xff\x0e\xd2\x28\x68\x3d\xb2\xde\x27\x0e\x9b\x1b\xc5\x01\xbc\xed\x08\xf1\x98\x85\xef\x11\x42\x3e\x6e\xc6\x55\xcc\x43\xfd\x1a\xc4\x9a\xe9\xc4\x1b\x35\xe7\xcd\x9a\xf3\x85\x31\xbe\xad\xee\x79\x0d\x7e\x75\x0b\x1c\x57\xa0\x58\x6c\xba\x10\x06\xb0\x1d\xcd\x46\x1c\x48\x34\x62\x1e\x03\x49\xad\x96\xa3\xfd\x5e\xa9\xa4\x7d\x9c\x46\xe8\x30\xa5\xe9\x25\x1c\xe6\x9e\xed\x09\x81\xeb\x45\x6c\xb3\x7d\x2a\xb7\xc2\x2b\x78\x4c\x54\x8a\x58\xd9\xe0\x42\x5a\xc2\xe6\x07\x24\xf6\xb5\x3c\x3a\x73\xdc\xad\xc6\x0d\x0c\x41\x3b\xbb\x0e\xaa\xf3\xd1\xd2\x1b\x1f\xd1\xb6\x2f\x23\xe2\xc1\x40\xc1\x5b\x2c\x62\x5b\xef\x05\x4e\x6b\x1e\xf2\x0d\xd3\x23\x6e\x0e\x89\xc5\x6c\xb0\xdb\x4f\x56\xf3\xfa\xed\x2e\x0a\x99\x6a\x8e\x34\xdd\xc2\xcb\xc1\x6a\xed\xdd\x1a\xc2\x80\x07\x3f\xbd\x15\x92\xa6\x95\x2e\x07\x04\x79\x19\x55\x4b\x1a\x02\xf1\x7b\x9a\x08\xe1\x54\xd7\x0f\x6c\xe1\xfb\xc5\x75\xee\x10\x49\xfc\x12\xf0\x92\xc2\x19\xdc\xa0\x22\x57\x32\x42\x1b\xda\x06\x74\x0b\x5c\x0e\x40\x54\xd2\x36\xd6\x58\x29\x1a\x31\x27\x38\x17\xf8\x25\xaa\xde\x1c\xcd\xa1\x05\x27\xb7\xb6\xe1\x18\x0c\xff\xb9\x25\x17\x88\xe7\x48\x77\x08\xeb\x0e\xa3\xeb\x43\x76\x39\x86\xd8\x46\x50\x58\x8d\xa0\x9e\x96\xfc\xd0\xf8\xf9\x1f\xbf\xdc\x0b\x12\x7e\x66\x5b\x24\x52\x55\xdb\xa7\x22\xda\xbc\xc1\x19\xd9\x4a\xed\x66\x34\x61\x9b\x7b\x91\x98\xcb\xdc\xf9\x06\xc1\x78\xd3\xb3\x87\xf4\x64\x18\xec\x68\xea\x2c\x36\x27\x42\x39\x7d\x9e\x21\x05\xf6\x4c\x52\x40\x74\x51\xda\xf9\x35\x07\x47\x12\x41\xe2\xd9\x5a\x3f\xf6\x3c\xd0\x58\xd5\x38\xf1\xc8\x5b\x96\x36\x1d\xcd\x08\x06\x77\x4e\x8e\x71\xec\x10\xfc\x9e\x4f\xcb\x74\xfb\x08\x9b\xc0\xe7\x7a\x00\xc4\xbf\x97\x42\xb9\xca\xe4\x89\xf5\x81\xed\x6b\xb0\xf4\xf0\x21\x52\xab\x54\x5a\x1b\x12\x49\x00\xf5\xba\x94\x7d\xa1\x12\x06\x1c\xcc\xe1\xc0\xc5\xf8\xb9\xe5\xa8\x55\xe2\x34\x90\xb7\x26\x6f\x76\x24\xed\xcb\x2c\x7a\x53\x6e\xa5\x1f\xa7\x53\x8c\x11\x82\x8d\xa8\x9c\x62\x3f\x9a\xc3\xc3\x08\xa9\x24\x5e\xa5\xe5\x0b\xb6\xfb\x12\x85\x98\x75\xdc\x23\xc9\xa5\xe6\x48\xb1\xbc\x36\xca\x47\x26\x5f\x8d\xb4\xa0\x82\x90\x86\x25\x5b\x16\x67\xac\x91\x9a\xd1\x00\xf9\x62\xeb\x18\x45\x98\x80\x31\x4d\xee\xe2\x56\x48\x7c\x7d\x2d\xc4\x29\x1d\x99\x42\x38\x80\x16\x04\x74\x73\xcc\x16\x3e\x12\x99\x2a\x32\x96\xf1\x9e\xb0\xc5\x8c\xf2\xb2\xe5\xf0\xb6\x15\xc6\xb9\xda\x20\x4b\xc8\xff\x59\xcc\x71\x9e\xe3\xb2\x53\x08\x7a\xd7\x98\xa9\xe6\xe6\x10\x56\xa2\x3d\xca\x6d\xb0\x23\xae\x49\x25\xa8\xed\x9b\xdb\x30\x7f\x17\xda\xcb\xc0\x20\x6b\x4d\xb5\x18\x78\xc6\xa5\xe6\x03\x05\x15\x0b\x3e\x16\x4a\xe0\x9f\x48\x42\x15\x14\x25\x48\xde\xce\x70\x68\x47\x0a\x94\x05\xb0\x53\xd9\xa8\xcf\x00\xc9\x10\x06\x1c\xfc\x04\x93\x9e\x88\x2b\x80\x5d\xc2\x74\xec\x2f\xd2\x1b\x9a\x0f\x52\xfc\x4b\xec\x47\xf3\x90\x92\x64\x35\x9c\xa8\xda\x5f\x37\xcf\x9a\x17\xe2\x92\xcc\x44\x82\x07\xbc\xf2\x6b\x23\x8e\xe9\xe0\x28\x75\xc2\x34\x1f\x85\xc4\xb6\xd0\xc5\x42\x04\x8e\x4c\xb1\x95\xd7\x4c\xb9\xcd\xae\x4b\xd3\x75\xe9\x7c\x9d\xbe\xee\xcc\x99\x32\x97\x57\x80\x77\xeb\x88\x4a\x63\xa6\x96\x92\xd3\xa3\xec\xa9\xea\x1b\xed\x00\x0d\x30\x5b\x1b\xe3\xc1\xb8\xf4\x63\x9f\x5a\xd5\x1e\x63\x98\x77\x89\x3e\xb0\xd8\xc3\xab\x76\xf4\x10\xbf\xba\x4a\xab\x9f\xea\x5b\x6c\x84\x2d\xcd\x9c\x60\x63\x47\xb8\xf9\x62\x9e\xf6\x28\x4a\x32\x67\x54\x00\xd6\x67\xb0\xe0\x2a\x44\x4e\x96\x3a\x44\xe0\xff\x1b\x2d\x96\x09\xac\x20\x71\xb0\x23\x1e\x5c\x6a\x73\x41\x97\x92\x2b\x89\xa5\x12\x3e\x16\xfd\xb3\x6b\x2a\xeb\x4c\xcb\x6a\xc7\xf7\xe0\x2d\x6c\x61\x61\x8b\x51\x64\xf1\x73\x8a\xc1\x78\xad\xc6\x73\xad\x0b\x21\x05\x5a\x98\xc1\xef\x13\x65\xc8\x8d\x1e\x90\x61\x0c\x8d\x01\xd1\xce\x8b\x53\x20\x65\x13\x7d\xb7\x3b\x50\x08\x05\xe2\xbc\xd8\xe2\x0f\x81\x52\x3c\xea\xfb\xaf\xb7\x48\xab\x65\x4e\xf2\xd4\x41\xdd\x29\x03\x90\x36\xa5\x3d\x77\xa9\x3b\x71\x8b\x51\x64\x9d\xc8\x55\x8e\x8e\xb2\x7c\x50\x12\x15\xaa\x8c\x94\x79\x30\x25\x84\x48\x15\x14\x65\x60\x5e\xf2\x20\x60\xab\x60\x13\x72\x08\x5f\x53\x79\x4d\xd2\x2a\xf8\x7b\xaa\xe7\xa3\xa3\x94\xf2\x07\xe5\xa2\x33\xb6\x56\xf8\x3a\x90\xbe\xcb\x85\x8a\xce\xe0\x18\xca\x48\x39\x56\x47\x39\x16\xed\xa0\x2c\x83\x1d\xbd\x21\xfc\x80\x79\xd6\xba\x26\xf6\xa3\xb9\x72\x4a\xab\x4e\x88\x53\xb0\x7c\xf3\x65\xe7\x02\x0e\xca\xe8\x5a\x5e\x12\x65\x56\x81\x9f\xb9\x03\x04\xf5\x17\x72\xfa\x04\xc7\x19\xd2\xa2\xf3\x5e\x08\x50\x03\x1d\x69\x20\x02\x77\x81\x89\x4b\xd5\x1f\xfb\xc1\x84\x86\x2e\x0f\x7a\x3e\xe2\xc7\xe9\xd8\x25\xbc\x4a\x20\x9d\x3e\xe0\xf9\x89\xfd\xd8\x25\x4a\x2e\x2a\x0d\x79\xf6\x1e\x8d\x3f\x47\xe2\x08\xb2\x31\x30\xd1\xec\xa9\xfa\x0c\x28\x9d\x1e\x85\x01\x52\xb4\x36\x3a\xaa\xa2\xc3\x25\xbc\x02\xda\x60\x4f\x2d\xa9\x8a\x32\x81\x6f\xb5\xa4\xff\x1c\xa9\xe4\xfa\x01\xae\x9b\xcd\x0b\x82\x2e\x29\x32\x3a\x8a\xba\xa2\xf8\x0a\xba\x43\x04\x16\x94\x5d\x06\xfc\x4d\x25\x4e\x07\x48\xed\x10\x6c\x48\xa4\x5c\x88\x8b\x38\xaa\xb5\x6a\x3f\x59\x9f\x74\xf5\x41\x9f\x08\xcf\xb6\xe8\x27\xed\x84\x68\x1d\xf2\x3d\x92\xe4\xf0\xb1\xff\xf5\xd9\x24\xdc\xe0\xf1\x56\x02\x60\x87\x98\x02\x72\x4c\x43\x4b\xd3\x90\x48\x4d\x85\x7d\x1d\x1d\xa5\x1a\x28\x55\x3e\x50\xa9\x85\x02\x1c\x5a\x89\x85\x74\x3a\x32\x70\x80\x7c\xcd\xa3\xe5\x43\xdb\x44\xb1\xb5\x7a\x9a\x7b\xaa\xb7\x58\xa4\xa2\x07\x41\x72\x4b\xf1\x25\x0d\x67\x3f\x20\x3c\x33\x98\x95\x52\x75\xfd\xa6\x9a\xd3\x04\x3c\x02\x1a\xb6\x8a\x61\xc0\x92\x48\x24\x50\x08\x8d\x72\x0d\x3a\xa5\x12\x79\xce\x07\xf2\x35\x51\x10\x1d\x69\x09\x31\x74\xd5\xc8\x81\xae\xd7\x5b\xae\x10\x42\xa3\x4b\x54\x74\xe0\x97\x0a\x16\xe1\x0f\xa6\x26\x23\xf8\xed\x52\x7e\xe7\x1b\x1b\x95\xe6\x22\xce\xb7\x4e\xe6\x0b\xf7\x49\x9d\x5f\xa1\xa3\x81\x5b\x3d\x90\xe4\x44\xaa\x39\x36\xc9\xbd\xff\x22\x3c\xf1\x75\x3f\xf5\x43\x72\x69\x58\x65\x35\x5d\x79\x62\xd8\xf5\x7f\x0e\xa0\x3d\x1b\xbc\x0e\x2f\x9d\x00\x15\x2e\xec\x0c\x96\x96\x00\x6f\x28\x62\xe6\x7d\xdc\x50\x44\x0c\x7b\xf4\xb8\xcc\xb2\x3a\x23\x83\xda\xd9\xf9\x29\x48\xce\xd1\xf1\xc0\xdf\xa7\xd9\xa8\xcc\x99\x2b\x36\x2a\x14\x53\x68\x63\x02\x8e\x48\x22\x6e\x71\x9f\xa9\x56\x5d\x69\xf5\xd8\x5d\xea\x31\xbb\x40\xcd\xf3\x37\xdc\x9a\xc9\x17\xb5\x57\x73\x18\x22\xec\xa8\x21\x7e\x44\x6a\xc2\x13\x19\x21\xa0\xa0\x52\x8f\xad\xdb\x6b\xad\xd8\xd4\x68\x93\xe1\x2f\xa2\xca\xb4\x6d\xfc\xf7\x83\xe9\x50\x0c\x14\x15\x8f\x44\xad\x12\x90\x2b\x55\xe7\xa9\x9d\x50\xb8\x59\x6b\x69\x3a\x7c\x68\xe2\x99\x02\xe5\x61\x1c\x99\x04\xa8\x5b\x49\xca\xe9\x13\x31\xfc\xc1\x51\x8b\xf9\x80\x70\xee\x8a\x8c\xc7\x44\xbe\x09\xd0\x56\xfa\xd7\x44\x11\xa0\xb0\xd4\x8a\x0e\x55\x9d\x3c\xb5\x16\x20\xd9\x06\xca\xab\x61\x1b\xa8\xed\x60\x7d\xe9\x98\x7e\x0f\xbe\x33\x2a\x1d\xe7\x86\xfe\xa4\x34\x26\x28\xbb\x38\xee\x45\x2d\xb3\x38\xf4\x8f\x2e\x3d\x1d\x85\x36\xf1\x05\x86\xa2\x8a\x72\x75\x06\xbe\xc0\x19\x90\x0c\x05\xa0\x0b\xc0\xda\x31\x82\xb9\x14\x80\x8b\x00\xd4\x83\x56\xa7\xaf\xaa\x54\x60\x87\x81\xa9\x71\x50\x35\xde\x1b\x28\x18\x58\xdc\x5a\x3d\xbd\xa9\x3e\xa0\xc2\x11\x71\x3d\x97\xdd\x23\x38\x88\xe9\x6a\x63\x66\xf2\x25\x3d\xe7\x41\x3b\x4b\xc0\x27\x19\xf2\xbd\x76\x03\x68\xdd\xf4\xc5\x03\xa7\xb7\x78\xd3\x90\x84\x38\x1a\xa9\xe4\x68\xdc\x78\x6a\x14\xb5\xb2\x0f\x9d\x55\x8b\x2f\x54\x27\xde\xa8\x18\xd3\x48\x99\xc5\x51\x6e\x7b\xd5\xab\xc2\x60\xc7\xae\xbd\xa8\x56\xad\xd2\x7e\xfe\x7e\x99\x6a\x2b\x3b\x41\x60\x5b\x8a\x47\x6a\x52\x3a\xc0\x30\x6f\x09\x1b\xaa\x4d\xed\xff\x94\x9b\xd3\x9e\x5f\x88\x1b\x90\x5c\xcb\x54\xef\xa5\x76\x21\xd0\x5d\xb7\x52\x57\x12\x46\x28\x63\x1d\xcf\x7d\x21\x57\x2d\xd7\x14\xf9\x08\xcd\x5c\xc0\x0e\x57\xe7\x82\xcd\x60\x42\x82\x61\x09\x1f\x67\x19\x8e\xda\xeb\x2b\x24\xf8\x33\xc4\x30\xcb\xeb\x6d\x79\xb1\x10\x16\x3a\xf4\xc6\x08\x3c\x43\xe0\xd8\xed\x97\x4d\x55\x05\xaa\xb8\x44\x8d\x47\xdb\xdd\x8f\x09\x31\x7d\xb0\xea\x9a\xd1\x81\x69\x81\x97\xbe\x56\x0d\x2c\xaf\xbb\xc7\xc9\x59\x18\xa8\xe2\xe5\x03\xc2\x7f\x38\xc3\x90\xd0\x79\x10\xc0\xc1\x27\xb1\xda\x5e\x36\x5f\xbf\x2a\x89\x3c\x06\x6a\xb5\x80\xd1\xd4\x5a\x09\x2c\xb6\x8e\xce\x12\x29\x89\xda\x71\x31\x9d\x3e\x71\x99\x51\x4a\xd6\xda\xba\xf5\x55\x98\xa0\xb2\x83\x93\x55\xca\x48\xdc\x00\xdc\x10\x5e\x0c\x50\x75\x82\x55\x65\x6c\x99\xc1\xf6\x07\x62\x96\x24\x6a\xd1\xc2\x29\x4b\x03\x1e\xd4\x8c\x82\xc7\xf7\xe0\xf7\x2b\x02\x9e\x8e\xe8\xf6\xe4\x3c\x73\xc7\xfd\xf8\xd7\x3d\x18\xfd\x95\xd3\x76\xc3\xe5\x75\xc7\x69\x6b\x71\x48\x1b\xce\xb5\xb4\x79\x4f\xba\xeb\xe8\x7d\xc8\xab\x37\x77\xf4\xc6\xef\x72\x28\x62\x8d\xdd\x4e\xde\xbb\x59\xf7\x8d\xe4\x3d\x7f\xa3\xaf\xea\x66\xed\xd5\xfa\xca\x82\x32\xb6\xaa\x2f\x9b\xd5\x97\xfb\xd5\xf3\x8a\x90\x16\x9b\xfb\x1b\xf5\xb7\xc7\xf2\x57\xaf\x06\xcc\x8f\xf9\x74\xb7\x5e\xc0\xe9\x2d\x9b\x2b\x62\xa3\xd7\xee\xb9\x62\x6f\x3a\x81\x79\xb3\xcf\xf8\xfb\x9c\xc0\xb7\x12\xd7\xde\x58\x5f\xd6\x77\x56\xbc\xfd\xb2\xf2\x8d\x5e\xba\xb3\x23\x91\x57\x53\x24\xdb\x14\x49\x9b\x55\xa7\xf9\x33\xe7\x3e\x45\xf2\x6d\x2f\x76\xd9\xac\xbb\x3c\x36\x4c\xc6\xfd\x7f\xff\x8f\x3f\x7e\xfd\xed\x1f\x5f\x71\xf0\xd8\x10\xc9\x0d\xec\xcc\xbe\xc9\xb7\x40\x49\x6d\xd4\xc0\x59\x95\x47\x60\xae\x61\x13\x05\x9f\x07\x5d\xc4\x06\x3f\x34\x6a\xc1\x18\x64\x91\x89\x12\x91\x62\x5e\x1a\x04\x4e\x48\xfb\x42\xad\x94\xc1\x8e\x58\x07\x12\xe5\xe8\x32\xe5\xd8\x2e\x2e\x6c\xef\xa6\xb8\x9d\x58\x5f\x32\x49\x6e\x83\x1d\x11\x0c\x08\x06\xef\x60\x82\x4d\xe2\x81\x38\x04\x6a\x59\x28\x21\x41\xac\x7b\xb5\xa0\xfe\x2d\xf1\x5a\xcd\xfb\x6d\x0c\x22\x00\x6b\x97\x68\xf0\x06\x7d\x5b\xe7\xaa\x4b\x41\x70\xcc\xf5\xc5\x08\x71\xec\x88\x1d\x3f\xb2\x40\x82\x44\xd9\xb7\x7d\x06\xa2\x84\x1d\x27\xd7\x94\x2a\x9d\xc1\xf3\xe2\x69\xb0\x39\x10\x41\xe1\x0b\x0f\x62\xb3\xa7\x51\x43\x3f\x00\x85\x28\x36\x7d\x1e\x06\xdb\x7a\x86\x87\x3f\x39\x01\x9e\x00\xa0\xf0\xb4\x2f\x73\xff\x9e\x88\x63\x1e\xbc\x6b\x24\x30\x6b\x5b\xd1\xd3\xd1\x67\x15\x54\x65\xb6\x79\xe6\x3a\xed\x4d\xe1\x6f\x0c\x07\x13\xd2\x9f\xe1\x2f\x54\xed\x3b\x52\xab\xfa\x02\xf1\xe5\x90\x29\x73\x9e\xf8\xf0\x5c\x02\xd3\x92\x7d\xc7\xf1\x9b\x5d\x9e\x28\x56\xe8\xc6\x99\x13\xf0\x5c\x39\x0c\x1d\xdd\x95\x43\x21\x8f\xfe\x17\x5d\x8e\x83\x1a\x5e\x5c\x87\x46\x35\xc4\xf9\xab\xb0\x46\x7d\x05\x46\x72\x19\xa9\x5f\x43\xb5\xc0\x3e\xde\x67\x4a\x1e\xc0\x8c\xbe\xab\x19\x99\x62\x0b\xda\x66\x2c\x1d\x57\x26\x06\x08\x4c\x43\x19\xa6\x9d\x7a\x20\x65\xfa\x32\x53\xd6\xfa\x35\xe1\x65\x59\x2c\x0b\x49\x1d\x6a\x97\x1b\x29\xed\x85\x5a\x1a\x70\x40\xf1\x99\xa2\x9a\x21\x21\x72\xb7\x60\xb4\x30\x43\xfd\x78\x89\x60\x1f\xb2\x63\xf7\x20\xb5\x34\xa8\x5a\xc3\x59\x35\x5d\x01\x7d\x6c\xea\xe3\x12\x3b\x0f\x35\xe4\xb3\x25\xa4\xd6\x4e\x84\x6b\x5e\x47\x3b\x82\xb5\x7d\x1f\x66\x8c\x84\x8b\xd9\x95\xe6\x13\x88\x2f\xd7\xc5\xc2\x65\x8d\x34\x91\xf4\x0a\x96\xac\xbd\x36\x06\x2d\x42\x39\xaa\x87\x62\x97\xa0\x5d\xcc\x2f\xa0\xcf\xc2\x51\xdd\x52\xed\xc7\x6e\xea\x01\x4c\x0f\xf1\xde\xa9\x54\xf4\x14\x92\xd5\x7b\x06\x0a\x5e\xcb\xd7\xef\xf9\x3f\x7e\xf9\xe3\x01\x2d\xe7\xa6\x49\xc1\x94\x91\x96\xba\xa4\x6c\xce\x55\x06\x3f\x02\x5f\x00\xa1\xe0\x4b\xe1\x1b\x63\x1e\xdd\xf6\x69\xd7\x6f\xb6\xd3\x6e\x75\xb7\x21\x18\x8f\x97\xb3\xaa\xd3\x44\x7d\x93\x3b\x70\xc6\x93\xf8\x32\x04\x4f\xd9\xa7\xa1\x60\x8e\x41\x40\xf5\x6b\x1e\x21\x86\xf4\xb5\x0d\xaa\x70\xb7\x45\x4c\x84\x57\x13\x31\xfa\x0c\xf8\x67\xa6\xd8\xda\xd8\xa8\x36\x6d\x45\x5c\x18\x30\x3c\xe1\xc8\x4e\xcf\xb8\x5c\xe3\xf8\xfa\x09\x17\x27\xa3\x81\xe5\x72\x5e\xc4\x52\x13\x7b\x28\xe4\xbe\xb6\x45\x2a\xd6\x54\xdd\x56\x6d\xde\x2a\xdb\xaa\x0b\xb7\x3a\x03\x55\xb7\x3c\x20\x7d\x26\x77\x79\xa8\xc7\x56\x35\x8c\xa1\xa7\xa1\x28\x0b\xe5\x94\xc9\x57\x59\x0c\xa0\x06\x90\x2a\xec\xa3\xae\x91\x6d\x62\x04\xf8\xd4\xc6\x59\x8b\xe8\xb6\x93\x6e\x75\xab\xf1\x71\x8c\xe7\x93\xa7\xb7\x40\x11\x6e\xda\xb4\xd3\x35\x42\x3c\xc2\x77\xb3\x25\xd7\x0e\x98\x44\x70\x69\xf4\x8b\xbe\x1e\x3e\xe4\x1b\x70\x8d\x6b\x2d\xcb\x10\x03\xe0\xc0\xee\x90\x18\x1e\x1b\x36\xbd\x60\x48\xcd\xc0\x6f\xb1\x91\xc8\x14\x39\xf6\xe7\x5b\xc4\x60\x16\x0b\x43\xc0\x03\x2c\x4e\x05\x83\xb4\xe3\xb6\xd8\x62\x80\xe9\x57\xb4\x5d\xfb\xd9\xda\x58\x10\xf3\xa0\x35\xad\x2a\xf2\xbd\x9e\x65\x35\x76\x1b\x28\xf3\x39\xea\x93\x78\xaa\x2d\x8e\x4e\x1f\x45\x2d\xd7\xfa\xe0\x80\xf9\xfd\xaf\x67\x49\x74\xfe\x37\x24\x14\xbc\xb5\x01\xae\x28\xcc\xa0\xdb\x51\xb5\x8d\xd2\x6b\x3b\x32\x5b\x92\xba\x63\x3e\x32\xaf\x92\x0c\x16\x29\xd6\x8d\xd2\x87\x9c\x3e\x59\xd7\x15\xab\xed\xc9\x7c\x85\xf7\xfa\xc1\x4f\xe1\x17\xf6\x97\xf1\xa4\x47\x69\x88\xeb\x10\xfa\x68\x49\xea\x6d\x1d\x77\x6f\x51\x3c\xc7\x8d\x33\x67\x8e\xaa\x8d\x73\x53\x6e\x4f\x83\x82\x6f\xe1\xf5\x6a\x04\x84\xcd\x60\xd4\x0c\x7d\xfc\x58\x4e\x6f\xf0\x1f\x1f\xcb\x6d\xff\x4c\xa6\xf4\x9a\x40\xbd\x98\x86\xf4\x1e\x37\x78\xaa\x2c\xc1\xb5\xad\x33\x5f\xf5\xf6\xf4\xc1\x4f\xc1\x05\x8e\xbf\xec\xff\x78\x1a\x49\x34\x50\x44\x48\x8b\x6f\x8b\x00\xf3\x12\x2f\x6b\x26\x52\x19\x97\xb6\x4b\xf4\x48\x18\x80\xcd\x50\xc3\x0b\x15\x29\xfa\x67\x9a\x90\xa5\x1d\x1c\xe7\x3d\xca\x41\x97\xd2\x11\xa1\x00\xe2\x0b\x60\x35\xc5\xd7\x0e\x40\xcd\x96\x0f\x83\xbf\x68\xbb\x13\xbe\x91\x47\xe6\x59\xf0\xba\xea\x86\xae\xb3\xa9\x3a\x4f\x9c\xc3\x01\xa8\xb5\x40\xe1\x0d\xb1\x50\x94\x4a\xb1\x15\xdb\x6b\x02\xa9\x80\x80\x91\x93\x55\x69\x87\x97\xb2\x7c\x2b\xa0\xeb\xf0\x14\x78\x68\x14\x4b\x1d\x02\x86\x43\x54\x9d\x8a\x0f\x6a\x7d\x54\xb8\xf5\x6a\x12\x47\xa5\x21\x6b\x0e\x1c\xf5\x92\xf7\x89\x52\x2b\x83\x1d\xa1\x3a\x52\x00\x7a\x0e\x43\x19\x68\x92\xfa\xd1\x76\x37\xa3\xce\xb9\x04\x3b\x66\x30\x88\x1f\xef\x21\xb2\xbd\x20\xc2\xa4\x38\x5d\x90\xa7\x50\x93\x7c\xde\xce\xb5\x1d\xc6\x3f\xcf\xff\xeb\x04\x35\xc7\x33\xe5\x16\x28\xd4\x3a\x03\xb9\xf4\x03\x17\x38\x3c\xb5\xab\xaf\xde\x80\xa3\xe0\xa3\xa3\x04\x2a\xf2\x1a\x1c\x5e\xd2\xd2\xd2\xd4\x57\x78\xd6\x19\x0a\x92\xc2\x39\x46\xed\x99\x5c\x8d\xff\x48\x9f\x6c\x49\xb7\x8f\x91\xb1\x4b\x00\xad\x21\xc9\x72\x14\xc3\xe8\x46\x4a\x53\x4a\x48\xf8\xe7\x20\x80\x4d\x0e\x3e\x50\x88\x91\x82\x04\xb0\x77\x24\xe3\x03\x17\x01\x49\x11\x76\x83\x29\x43\x50\xd6\x88\xad\x88\x6a\x84\x41\xfd\x6b\xa0\x5c\x8d\xa2\x21\xa4\x00\xb5\x04\x20\x8c\xd8\xad\x10\xdb\x9b\x88\x21\x51\x09\xda\x4d\x22\x58\xff\xa8\x16\x0b\xa5\xf7\x55\x2c\x1d\x91\xb5\x51\x00\x44\xe6\xa3\x13\xca\x3e\x20\xea\x1a\xab\x26\x28\x49\x22\x82\x9b\xbb\x7b\x74\xac\x54\xb0\x5a\xd7\xb6\x9b\xae\x7a\x7e\x5a\x3e\x19\x9a\x4a\xd1\x38\x9c\xca\x7c\x52\x66\xc3\xaa\x2c\xcb\xf8\x5a\x9b\x90\x79\x04\x15\x41\xcf\xbd\x90\x7c\xa6\xba\x08\x46\x40\xc8\x73\x28\x53\x4e\x95\x24\xef\x4c\x54\xf2\xe8\x28\x35\x7d\x9f\x57\x53\x71\x9a\x96\x3a\x1d\x05\x51\x41\x9e\xf7\x0c\xbc\x4f\x3b\x5a\x39\x3e\x12\xeb\x64\xcc\x95\x7c\xc9\xc6\xeb\x52\x2a\x00\xad\x43\xd3\x65\x4f\x0d\x48\x60\xe8\x5a\x7a\x4b\x0c\x54\x73\xfe\x26\x54\x7c\x46\x6e\x53\xad\x3d\x5a\x84\x05\x7b\x1e\x03\xcb\x21\x90\x8f\x46\x55\x28\xe2\xd4\x42\x05\x6f\x8c\xed\xd6\xe9\x5c\x8c\xb0\x05\x27\x22\x03\xe0\xe7\x7b\xb5\x5f\x1a\xa2\x39\x1a\x77\xac\xea\xa8\x43\x43\xa4\x9e\xa7\x1c\xc4\x8b\xce\x2c\xb1\x28\xb3\x8f\x09\x40\xde\xab\x9d\x33\x4d\xb9\x94\x1c\xc5\x9c\x11\xbf\x40\x31\xc3\xab\x23\xb0\xb7\xcd\x68\x1c\x98\xdf\xbb\x07\x73\x36\xe9\xe0\x25\x17\x44\x19\x4a\xd4\x76\xe7\xbc\x9a\x74\x79\x74\x05\x41\x7b\x88\x5e\x4d\x43\xa1\x56\xeb\xce\x5e\x79\xa3\xb6\xd8\x79\xc4\x2b\xdf\xc5\xe9\xba\x63\xa0\x12\xa2\xca\x22\x9b\x29\xb5\xbf\xcc\xd6\xa8\x94\x7c\x30\xb2\x00\x04\xa0\xc1\xa8\x04\xd2\x79\xc9\xfd\xab\xda\x11\xd1\xc0\xc6\xd8\x19\x50\x80\x64\xd0\xa3\xc8\x3e\x52\x85\x5b\xbf\x76\xb7\x3e\x95\x1a\xe0\x27\x7f\x47\xbd\xa7\x37\xb5\x92\x25\x44\x1d\x2f\x95\x87\x3c\xc0\xf2\xd5\xe9\x1c\x29\x70\xc3\x0f\xb8\xe0\xf9\xb9\xf2\x78\x54\x33\x5b\x62\xfe\x96\xcf\x39\xb7\x11\x9b\x35\x88\x39\xbc\xbe\xe0\x1c\x80\x33\xea\x19\x5c\x83\x4d\xec\xf9\x35\x53\x34\xf7\xf6\xca\x1d\x1f\x41\xd2\x02\xc8\x12\xa8\x86\x56\x56\x15\x66\x6f\x33\xef\xeb\xc6\x04\x0e\x63\xa0\x8c\xb5\x4a\x18\x43\x2e\xd8\x56\xa1\xad\xa8\xd1\x20\x16\x63\x9c\xf9\xda\xc9\xe7\x42\x91\x47\xca\x35\x3a\x8a\xb0\x76\x23\x45\x3e\xea\x48\x1e\xaf\xd6\xd3\xd8\x97\x99\xa2\xeb\xce\x1e\xc9\xa1\x83\x1d\xad\x98\x26\xc4\xb9\xea\x34\x66\x62\xcf\xc4\x89\x29\x44\xa1\x50\x0a\x45\xe4\xa6\x61\xc1\x30\xe4\x7a\xec\x6b\x01\xa6\xcd\x97\xf0\x2d\x53\x4d\x05\x16\xac\xcf\x03\xc2\x07\x06\xa3\xbf\xad\xfa\xe5\x10\x31\x1a\xb1\xac\x06\x5d\xf5\xe1\xc6\x01\x9e\x8b\xd4\x42\x2a\xd8\x75\xd9\xae\xb1\x3a\xc4\xa1\x30\xb6\xa6\x55\x4e\x60\x3f\x99\x65\xb0\x23\x9a\x19\x54\x1a\xa4\x54\x0e\xaa\x21\xe8\x7c\xae\xb6\x1d\x1b\xa5\xc7\x13\xda\x54\x9f\x4e\xd9\x22\x5a\xa6\x2f\xd2\x57\xd7\x69\x9e\x97\x18\x81\x61\x33\x1a\x4c\x55\xc2\x2b\xb9\x74\xba\x19\xe8\x9c\xd2\x3b\x5b\x12\x93\xb3\xa0\x72\x2c\x2a\x5a\x59\x70\x88\xc1\xd3\xb7\x96\x41\x5b\xb0\x72\xe6\xaa\x59\xa9\x2f\xbc\x3b\x16\x80\x61\x0a\x67\xd0\xe8\x12\xa8\x82\xb4\x73\x96\xa6\x7c\x98\xd6\x57\xbd\xf0\x08\x96\xa7\x03\x08\x3b\x54\x0a\x67\x21\xdf\x88\x19\xd1\x99\x2a\xc3\x59\xc5\x36\x02\xfd\x00\xc5\x4c\x25\x33\xd5\x16\x28\x59\xe8\x31\xe6\x7d\x60\xdb\x3b\xef\x5f\x55\x25\x88\x7d\x5d\x8d\xae\x07\x2e\xb6\x84\x5e\xd7\x4e\x17\x60\xfe\xf6\xb0\xbe\x8c\x4d\xd9\x74\x20\xaf\x6b\xa8\x0e\x37\xaf\x3f\x71\x60\xe3\x5b\xe0\xd4\x80\xec\xdb\xd2\xe9\xd3\x65\xb8\x90\xcb\x2e\x02\xf3\x18\xd9\x25\x08\xbc\xc8\x1e\x26\x50\xce\xf5\xfc\x23\x27\x8a\xed\x4e\x0e\xc4\x17\x46\xdf\x45\x64\x3c\xb6\x45\x62\xb6\xd8\xc6\xc6\x83\xe5\x99\x35\x9d\x0d\xb7\x24\x86\x9e\xc1\x35\xc7\x2d\x81\xf1\xbe\xd0\x8e\xaf\xa0\x6c\x1e\x91\x17\x96\x6f\x23\xe4\x17\x0e\x5f\xca\x49\xc5\x05\x36\x0f\x36\xd7\xfb\x14\x76\x41\x95\x35\x96\x23\xb0\xdd\x16\x62\x41\x28\xaa\x04\xc8\x15\x4e\xa6\xa0\xa6\x5e\xcd\xfa\x6d\xfa\x22\xe7\x2f\x93\x9c\x90\x2b\x39\x91\xa1\x7b\xeb\x72\x8b\x5d\xd4\x89\xab\xc5\x17\x28\x53\x5d\xdd\xab\x88\xcb\xe1\x2a\x84\xd9\x1f\xc9\x90\x27\x49\x6a\x54\xa5\x90\x1a\x17\xaa\x00\x9b\xec\xc3\x31\xd8\xbe\x30\xf8\xb8\x64\xfa\x1a\x80\xb9\x87\xb5\x5e\x15\xb8\xe4\x2b\x78\xdd\x2c\x7e\x24\x90\x0e\xbb\xe8\x93\x2e\x85\x00\x6e\x24\x40\x4b\x54\xd9\x07\xd5\xfd\x07\x3b\x9a\x2a\xd2\x74\xb1\x2f\xa3\xc9\x04\x51\xdd\x45\x1c\x10\xf0\x96\x92\x20\xae\x24\x81\x0e\xe9\x14\x41\x96\xa4\xb2\xef\x60\x65\x24\xf2\x88\xcf\xec\x1f\x89\x8f\x88\x40\x1f\x19\xa9\xd4\x80\x3b\x5c\x4c\xf8\x64\xaf\xcc\x56\xf8\xcf\x48\x62\xa1\xbe\x3e\x8e\xce\xfe\x51\x6b\x62\x91\x59\xad\x6f\x1a\x6b\x3c\x7b\xf2\x31\x1f\x75\xf2\xb6\x11\xc0\x57\x5e\x54\xb5\x6e\x15\x01\x91\xa1\xe8\xeb\x6a\x94\x8a\xf1\xd9\xd6\x04\xb6\x13\x36\x4a\x12\x6c\x6f\x68\xff\xe8\x37\x36\x17\x76\x50\xb5\xc8\x91\x20\x50\x30\x0a\x44\x6c\xa4\xa0\x6d\xe7\x02\xe7\x36\x45\xd5\x70\xb3\x83\x9e\x5f\x4b\xd5\xbf\xfe\xaa\x11\xec\x5c\x8e\x48\xbe\x8e\xa7\x4f\x38\xb8\x88\x45\x55\x80\xd0\x86\x0a\xad\x12\x4a\x08\xa2\x46\x4b\xe1\xe9\x37\xf6\x24\xfc\xfc\xd4\xfe\xf5\xb7\x5f\xdc\xe1\xe3\x79\x62\x64\x4b\xf5\x5e\x25\x87\xdf\x70\xdc\xf4\xcc\xf0\x70\x2b\x33\xfc\xec\xb8\xd9\xc4\xd6\x0b\xaf\x93\xdb\x2f\xc1\xdf\x89\x38\xd9\xda\xca\xad\x54\xea\xd7\x0a\xe4\x90\xfd\x32\x96\xe4\xa8\x02\x23\xdd\x39\x27\x77\x9d\x45\xf7\x5d\x3d\xf7\x41\x7e\x1a\xe5\x94\x47\xe8\x06\x4e\xa8\x15\x15\x24\x57\x51\xc7\x54\xd5\xce\xe2\x51\xad\x37\x35\xc3\x4b\x2d\x3b\x06\x10\x7c\x23\x99\xb9\x1a\x9b\x96\xa7\xc3\x1c\xf8\x98\x88\xa9\xb8\x52\x9b\xd9\xa9\x72\xa9\x62\x4e\xd7\x3e\x70\xa7\x96\x92\x76\x97\x8e\x7b\x4a\x73\xbc\x8c\x95\xe7\x4c\x2d\xcb\xd3\x5e\x21\xb3\x6d\x3b\x96\x1e\x43\x66\x5b\xdf\xd6\x11\x22\x00\x10\x61\x89\xd1\x37\xb7\xb4\x37\xb1\x1c\x8e\x6d\x1b\x34\x86\xf9\x7d\x1e\x79\xd1\xf3\x11\xb1\x69\xff\xce\x71\x96\xa6\x3d\x70\x3c\xd2\x3d\xa0\x19\x26\x6e\xa3\x20\x84\x30\x22\x90\x2b\x52\xaa\x46\x73\xb6\x54\x8c\x0a\x48\xcd\x02\xf2\xdf\xb0\x32\xb6\xb9\x4f\xb7\x45\x35\xd2\xb9\xec\x1a\xb6\x97\x0b\x65\x41\x46\x80\x1a\x7a\xd1\x82\x2b\x2f\xe6\x94\xc3\x7f\xcc\x79\x67\xd1\xac\x59\xe0\x3c\xfb\xc1\xe1\xf0\xd7\x1d\xe2\xb9\x2f\x9c\x90\x1b\x0e\xdc\xd8\x3d\xc2\x2b\x11\xc1\x21\xde\xf4\x08\x77\x09\x11\x6e\x20\x7d\x35\x0b\x45\xa4\x10\xf3\x84\x34\x63\x4e\x95\x2c\x02\xd4\xfe\xfc\x5f\x48\x88\xb0\xa7\x1a\x82\x4a\x91\x22\x4e\x08\x59\x9c\x17\x17\x04\x53\x41\x72\x54\x09\xa3\x80\x7a\x54\x7f\x50\x61\xc2\x19\xa1\x9d\x48\x3e\x49\x49\x28\xb7\xe5\xd2\xc8\x19\x46\x73\x1d\x55\xb9\x00\x5f\x61\x9c\xa7\xfc\xb4\x06\xae\x76\x98\xdc\x19\x7c\xaa\x73\x9a\x06\xdc\x4d\x99\xd3\xe8\x3a\x8c\x64\x0a\x59\xd7\xb4\x0c\x8c\x36\x59\x20\x09\xb4\x12\x49\x18\xc8\xdb\xa6\xd5\xd7\xc4\x26\xa4\x0a\xc5\x76\x9b\x9d\xea\xe1\x51\xf9\x9c\x9c\xf2\x5b\xae\x71\x13\x47\x37\xe0\x6a\x6e\xf9\xc6\x1f\xc1\xbd\x6a\x94\x4e\x9f\x60\x60\xd8\xd0\x6d\xf5\x8a\xa2\x8a\xe0\x2e\x51\xe6\xa1\x50\xd5\x17\x12\xa9\x67\x2c\x19\xf4\x17\x88\x24\x2e\xbe\x11\x06\xf1\x9b\x0f\x06\x80\x5f\x49\x5f\x57\x0c\x55\xcd\xf0\x5a\x1d\x35\x12\xbf\xdc\x75\x43\x46\xa6\xbe\xf8\x40\x80\xfb\xe5\xe5\x6b\xe7\xfe\xda\xe1\x2a\x4b\x4b\x86\xd6\x98\x4b\x7f\xe9\x12\xb4\x86\x84\x38\x7a\xd3\x91\xea\x22\xcf\xac\x79\xf3\x6d\x64\x62\x5f\xa0\x52\x0f\x7d\x2a\xfa\x92\x8e\x94\xcb\x26\x80\xc5\x6b\x9a\x4b\x5f\x3e\x0b\xdf\x78\xeb\x44\x58\x74\xe7\x59\xf6\x6e\xec\x09\xb8\x09\x16\xec\xc9\x21\xf7\xa8\x2f\x25\x9b\x6a\xbe\x4f\x24\x75\xc0\xc1\x5b\x5a\x74\xed\xe9\x2a\xbc\x63\xee\xd1\xd7\xbc\x64\x58\x4e\xb9\x33\x6b\x81\x1a\x8f\x29\xfb\xbc\x47\x70\x09\x0e\x16\xa2\x90\xd4\x64\x4c\x70\xce\xc1\xe7\xd4\x93\x44\xf4\x6e\x9d\x81\x49\x02\x20\xbc\x91\x21\x59\x83\xde\x5e\x54\x5b\xed\x04\xd0\xc8\x8e\x83\xbf\xc1\xa2\x4c\xab\xf4\x63\xcf\x81\xa9\xad\x82\xeb\xb1\x5c\x2f\x40\x4c\x81\x90\x76\x59\xec\x60\x6a\x5e\x6b\xa0\x7e\x05\xbd\xb4\xd4\xdc\x8f\x16\xba\x81\xa9\x9e\xaa\x1a\xf3\x35\x0a\xda\x23\x80\xc7\x27\xe4\xfb\x08\x58\x80\xa6\x97\xe3\x73\x71\x85\x72\x0a\x2f\xf3\x4e\x43\x5f\xe6\x61\x9d\x93\x95\x65\xa8\x14\xe3\x7e\x59\xaf\x03\x6c\x25\x2a\x56\xfd\x5f\x0c\x1d\x5e\x90\x54\xd6\xd6\x35\x23\x03\x04\x15\x0f\xf3\x8a\x0b\xc1\x2c\x2f\x78\x0d\xc8\x63\x0d\xfb\x79\x7f\x74\xbe\xdc\xa0\xb6\x2e\x38\x56\xb2\x4f\x8b\x37\xa5\x5a\x59\x4e\x6e\xf3\x5d\x39\x24\xd8\xe8\xcb\x8a\xd8\x50\x68\xee\xfc\xae\xb0\xfb\x51\xa6\x78\x5d\x0f\xd4\xc0\x8d\x57\x85\x37\x35\x20\xb6\x64\x36\x84\x82\xa3\xa6\xdd\x88\x8c\x2a\xe9\x66\xe6\xa5\xcb\x1e\xda\x00\x7e\xdc\x0b\xc0\xc4\xc2\x03\xef\x23\x55\x6c\xdb\xd4\x09\x85\x3c\x50\x81\xd5\xe4\x5b\xdc\x15\xb5\xa9\x75\x25\x99\x85\xfe\xf9\x4a\x11\x19\xca\x41\x46\x26\x6f\xd0\xc4\x65\x8f\xd8\x63\x8b\x40\xee\x5d\x10\xf1\xdc\xa0\x74\x61\xaa\x95\xe1\x2c\x5f\x5d\xe7\x8c\xeb\xdb\x12\x6e\xae\x15\xb8\xe0\xb5\xab\xda\xb0\x6c\x62\xa2\x5a\x48\x82\x9a\x9e\x15\xeb\x52\xcd\x66\xa3\xfa\xf6\xb2\xbc\x16\xcf\x39\x2c\x12\x98\x0b\x79\xa4\xa6\xc5\x9c\xd6\xcf\x6f\x34\x9a\x4c\x1c\x77\x81\xd8\x07\xed\x7c\x7d\x02\xd2\x79\xba\xee\xaf\x44\x09\x4c\xea\x09\xbe\x6e\x63\xa7\x9a\x87\x5c\x5c\x0d\x3a\x24\x20\x23\xd1\x69\xdd\x5d\x0e\xfd\x65\x47\x3c\x1a\xbb\xcd\xee\xd2\xde\x6a\xb3\xce\x62\x1b\x3c\xb5\xad\x1f\x1f\xc1\x6b\x78\xd0\xc7\x86\xcf\x9f\x4f\x47\x0f\x74\xa0\xdf\x79\x10\x75\x48\xc3\x3c\xf6\xf6\x1c\x9a\xba\x19\x98\xfa\x09\x54\xb8\x39\xd3\x51\x41\x11\x5b\x94\x10\x33\xad\x9e\xcb\x60\x3b\x77\x4e\xcb\x58\x52\x58\x99\x45\xf1\x9d\xed\xd8\x2c\x63\xbb\x21\xdb\xa5\xfc\x9f\xd3\x94\xa7\xd6\xcd\x3f\x9f\xb6\x24\x11\x3a\x74\xfd\x72\xa0\xec\xc7\x8f\xcd\x50\xe1\x79\xa4\xb0\xdd\x7b\xfa\x94\xf9\x38\x30\xdf\xdf\x63\xc0\x2b\xb9\x17\xe1\x64\x90\x55\x23\xca\x63\x8d\x28\x37\x1b\x51\x1e\x6d\x44\x39\x37\x62\xeb\xed\xdd\x68\xc5\x8d\x31\xb0\x3d\x02\xbe\x8f\xde\xe7\x99\x31\xf0\xfb\xfe\xdf\xdc\x7f\xdf\x8f\xfb\xdf\x0e\xf7\x08\x3a\xbe\x42\x5f\xda\x00\x7f\x7d\x67\xfe\xc8\xdd\xe1\x0c\x2a\xdc\xb2\x82\x28\x31\x81\x19\x87\xd5\x30\x57\x31\x3a\xfb\xd9\x92\xa7\xfa\x0d\xe7\xf2\xb4\x27\x72\x3b\x66\x42\xaa\xd3\xaa\x12\xe6\x8b\x57\xdb\x2d\x6a\x41\x49\x40\x14\x71\x71\x79\xc7\xa5\x16\x98\x6e\xef\x1c\x10\x73\x9a\xae\x7e\x5b\xb5\x6c\xaa\x65\xce\x62\xe3\xfb\x13\xba\xb8\x7c\x74\x5c\xbf\x13\xc3\xac\x47\x3f\xbd\x2f\xa9\x72\xb4\x5b\x7f\xfc\x95\x3e\x8d\x17\xb5\xf1\x46\xcb\x87\x21\xd5\x51\x2b\x6e\xbe\x7f\x70\xd5\x6f\x67\x2b\x6b\xeb\xa5\x6e\x9c\x9c\xbd\xda\x5e\xf2\x2b\x60\x87\x84\x7c\x1d\xd9\x7c\xd6\xb5\x2d\x0c\x22\xed\x41\x0e\x53\x89\x0b\x13\xa7\xe1\xd5\xc2\xa6\x0b\xcb\xfb\xe0\x68\xb7\x62\xa9\xb6\xf7\x0a\x78\xa5\x84\xaa\x67\xcf\x74\xfd\x62\x77\x4c\x41\xb5\x84\x79\x72\x9b\xbf\x3c\xb0\x5b\x3e\xf0\xe5\x56\x40\xe0\x58\xcf\xbd\xf3\x92\xcf\x6f\x78\x2e\x0a\xea\xf7\xc3\xa3\x06\x0f\x02\x53\x57\xee\x37\xed\xdd\xb0\x98\x0e\xd8\x0d\x5e\xce\xe3\x33\x7d\xe3\x7d\x26\xde\x81\x3d\xb1\x17\x10\x40\x1e\xe0\x98\x8b\x05\x58\xbd\xd8\x8c\xd5\x19\x53\x9c\x90\x2f\xed\x25\x23\x0b\xc0\x8e\x7d\x90\xf3\x41\x6d\x02\x6c\x89\xb0\x0f\x08\x39\x12\xdb\x6f\xcd\x85\x5f\xb0\x15\x32\xd8\xd1\x1b\x26\x55\x36\x70\xb2\x98\xe4\xa0\xda\xb7\x50\x0c\x79\xb0\x30\x9a\x32\x84\x21\x50\x96\x7c\x2c\xeb\x98\x45\x44\x6a\x82\x1d\x6c\x1d\x04\x89\x40\xa9\x74\x74\x85\xec\x01\x42\x6a\x54\x25\x03\xee\x6a\x08\x0e\x65\x9e\x3e\x03\x55\x9f\x10\x27\x9f\x5f\xe0\x3c\x1c\xec\x38\x4d\x57\x4a\x07\xd5\x69\x6d\x33\x02\x61\x3b\xc9\xbc\x34\xe6\x38\xaa\x54\x05\x21\x52\x11\x11\xf0\x15\x01\x42\x11\xf9\xb0\xad\x85\x77\xf6\x1f\xae\x5d\xfa\x90\x59\x6d\x04\x00\x25\x01\xbd\x27\x7a\xfd\xde\x5a\xc0\xd6\x6a\xb0\xf4\x42\x3c\xcc\x6d\x4f\x55\xb9\x07\x69\xef\xef\xe0\x9c\x4e\x3d\x71\x03\xd2\xfe\xd9\xdd\x0e\x1d\xb8\x0f\x62\x22\xb6\xed\x61\xcb\x5b\xc3\x96\xe7\x93\xaa\x4d\x88\xf8\xf7\xc1\x50\x87\x44\x9e\xe5\xe8\xa8\x45\x74\xb8\x2f\x95\x04\x2c\x5c\xc0\x70\x25\x46\xe7\xd7\xca\x2f\x91\x1a\x22\x6d\x72\xaf\xc0\xef\xe7\xbf\xa8\x1d\x8d\x5e\xf5\xf1\x45\x90\xa4\x62\xc7\x3e\x2e\x54\x90\xc5\x23\xb5\x15\x55\x35\xf0\x57\xca\x31\xad\x1d\x57\x06\x06\x66\xe9\x51\x4b\x47\xd8\xe4\xb8\x4a\x94\x96\x05\x9a\x87\xf5\xf4\x96\x29\xc4\x36\x81\x3e\x83\xf4\x51\xa6\xb6\x33\xde\x3a\x42\x21\x98\x42\xa3\x00\x66\xd7\x92\xd1\xc1\x52\x18\xfb\x99\x25\x36\xc4\xae\x85\xfe\xad\xc6\xf8\x9e\x40\x51\x42\xcd\x60\x5c\xb3\xde\x69\xd1\x69\x7a\x0d\xb0\x9d\xe3\x44\x30\xb8\x06\x40\xd8\x02\x0b\xb5\xef\x37\x33\x0e\x6f\xc1\x88\x7e\x94\x7b\x19\xe0\x0f\x0c\xc0\x1f\x00\x9a\xfc\x97\xa4\xfb\xcf\x96\x74\xeb\x05\xec\xec\x97\x0d\x1b\xe1\x4c\x2b\xbe\x9e\xe7\x15\xe3\x69\xa4\x3c\x09\xb5\xfc\x2f\xe9\xf2\xf3\xa5\xcb\x6a\x55\x38\x8f\x05\xde\x18\x0b\x3c\xc7\x04\x6f\xcf\xba\x97\x75\x24\xfc\xfe\xef\xff\xfe\xa8\xc6\x45\xab\x2c\xe9\xbe\x4c\x6d\x8e\xd7\x07\x62\xec\x28\x45\x92\x72\xfd\x30\x04\x28\x9d\x14\x77\x6a\x83\xfa\x7c\x8c\xe4\xc5\xf8\xec\x79\xb0\xa3\xf9\xf9\x6e\x49\x08\x6f\xe9\xc1\xd1\x74\x00\xa6\x00\x22\xf2\x80\x10\x89\x0a\xaa\xd3\x9c\x54\x22\xf8\x28\x63\xa0\x04\x44\x8b\x94\x67\xb9\x2c\x57\x0e\xaf\x10\x5c\xd0\xa9\x5a\x29\x0d\xac\x9a\xc6\xe8\x2a\x21\xaf\xd3\xe7\x7f\x9e\x7e\x42\xb9\x9d\xde\x2a\x21\xd1\x77\x57\x8c\xb5\x22\xab\x64\x61\x92\xdb\x3b\x57\xd7\x9a\x71\xa0\xb4\x5f\xc8\x36\xef\xae\x64\xd8\xc1\x90\xb9\x98\x8b\x43\xa0\x0f\x10\xdc\x25\x51\xcc\xcb\xfd\x17\x4e\xd1\x51\x4b\xed\x40\x2c\xe2\x88\x4b\xa4\xd0\xaa\xa3\x18\x2b\x09\x52\x00\x5a\xfe\xcf\x5b\x10\xc2\x32\xab\x6b\x1a\x6b\x77\xb7\x3c\x79\x41\x58\xdf\x21\x61\x8d\xd4\x5d\x10\x1f\x6f\xc7\x3e\xa2\xcf\x42\x7a\xb9\x3e\x98\xe4\x79\xcc\x1b\x39\x4d\xad\x07\x75\x42\x86\x4c\xba\x92\x38\xda\x90\x2e\x5c\xe6\xb6\xbd\xe1\xac\x48\xf9\x27\x0b\xd7\xf7\x65\xb0\x82\x05\xc9\x95\x1b\xf9\x30\xaf\x6d\xab\x8f\xf9\x5a\xee\xb9\xb3\xe0\x73\x17\xc9\x37\x17\xb3\x57\xe9\xa9\x5f\x84\x06\xb5\x54\xb1\x0c\xb5\x65\x68\x07\xb8\xdc\xd6\x2b\x83\x97\x1e\xf3\x51\x30\xf5\xbc\xb1\x80\x71\xca\x8e\x90\xef\xa6\x5f\x72\x68\xb6\x0f\x39\xdf\xa5\xbc\x92\x08\x3c\x3a\x16\xc7\xb2\x29\xb1\xce\x8d\x0a\xa7\x37\xd4\x96\x37\x33\x84\xb4\x6d\x9b\xf0\x7b\xa6\x2c\x4a\xd3\x3f\x2b\x39\x39\xe2\xb6\x4b\x24\xa2\x65\xbd\xca\x0f\xd9\x27\x7f\x7b\x10\xb6\xa4\x50\x55\xa1\x18\xea\x62\x47\x9d\x11\xd2\xec\x53\xdc\x09\x35\x6c\xba\xa7\xb1\x8b\x5e\x5e\x6e\xc4\x62\x37\x8c\xeb\xe8\x22\x25\xb7\x9c\xb4\xd0\x8b\xea\xb8\x75\x0a\xe5\x6b\x4d\x50\xb7\x8d\xac\xa5\xce\x21\x09\xcf\xcd\xb8\x54\xee\xb6\x9a\xe1\x2f\xad\xd8\xa8\xc9\xf7\x46\x6c\x35\x10\x2a\xcd\xd4\x0c\xdb\x66\x5f\x82\xa0\x58\x94\xfa\x16\xe2\x44\x8f\x23\x8b\x03\x1c\xae\x9b\xae\xef\x2d\xcf\xe7\xeb\x3a\x5f\x75\xc2\xbb\xb0\x98\x15\xbf\xd9\x82\xe5\xaf\x97\x16\x3c\x3a\x24\x1e\x24\x32\x8d\x6c\x6c\x5e\x8b\x17\x6d\xdb\x41\xa9\xee\x22\xd5\xda\x86\x48\x69\x64\x00\x02\x6a\xe7\xe6\x99\xc7\x09\x7c\xce\x4c\x1c\xea\xe8\x0c\x3d\x6b\x35\x26\x42\x1d\xd7\x67\x50\x3e\xf9\x72\x7a\x2b\x5a\xe6\xaa\x15\xfe\xd2\x88\x4a\x99\x79\xb0\x24\x8b\x00\xce\xb1\x59\x88\x00\xfb\xab\x36\xac\x2a\xf2\x53\x13\xd6\xad\xb3\x01\x61\x8d\x30\x3f\xfc\xe3\x2f\x23\x58\x58\xe1\xc0\x4b\xbc\xb9\xf3\x70\xf0\x5b\xc3\x61\xb5\xd0\x9d\x87\x83\x29\x61\x4b\x84\x97\x2f\x10\x50\x1e\x18\x0d\x9f\xfb\x5f\x9f\xe6\x28\xb0\xcd\xb3\x2d\xa2\xc3\x1b\xa1\x56\xe9\x07\x49\x15\xfb\xac\xd0\x75\x7d\x0e\xa2\x86\x37\x55\x28\x55\xcb\x5c\x0f\xd8\x2b\x6f\x14\x7d\x71\x99\x5a\x9d\x93\xf8\xf8\x0b\xfb\xe2\x2c\xfa\x53\xd4\x08\xae\x1c\xc6\x04\xd8\x04\x01\x83\xd3\xf9\xdc\xe9\x93\x7c\x04\xc9\xbf\x2a\x45\xa1\x50\x4a\x86\x30\x85\xd8\xf3\xc0\x8d\x5a\xb1\x49\x3e\xaf\x0c\xe7\x1c\xb5\x32\xba\x4c\xb9\x06\x1c\xe3\x8e\x81\x02\xc1\x91\x96\x32\xd4\xfc\xbc\x31\x16\x83\x9a\xb3\x9b\x06\x3d\xf2\xe9\xcd\xd0\x5c\x5a\x2c\xbb\xc0\xb3\x46\x47\x44\x65\x4e\xad\x7e\xc6\x28\xc0\x40\xf8\xaf\x1e\xdd\x24\x95\x72\xdb\x81\xf0\xa7\x95\x31\x93\x18\x4c\x8b\x5f\x5f\x87\xcc\x4c\x0b\xd0\x31\xaa\xad\x46\xb5\xea\x28\xf3\xad\x8c\x91\x6a\x4e\x43\x24\x1f\xcb\xae\x87\x12\xc5\x6a\x03\x85\x0d\xaf\x4e\xe7\x6f\x2b\x61\xd7\x48\x52\x18\x1a\xf9\x1c\x47\x63\x49\x2f\x65\x19\x92\x16\xe0\xbb\xa7\xd6\x9c\x9e\xd4\x11\xc5\x13\x9b\x6b\x25\x0e\x40\x78\xc9\xa8\xd3\xe8\x0e\xb9\xb7\xc2\x5d\x35\xe3\xe9\x37\xfa\xfb\xdf\x7f\x79\x3a\xbd\x38\x0e\x14\xc1\x9b\x34\x27\xf3\xd2\xa7\xa9\x9d\x85\x61\x1d\xa7\x9d\x89\x19\x70\xa2\x4b\x56\xd5\x87\x58\xd0\x71\xf7\xb2\x46\x08\x4d\xb5\xd7\x78\xd7\xdb\x84\xac\x7a\x01\x86\x5c\x6c\x65\x41\x9d\x47\xcd\xd7\xc1\x8f\xe7\x26\x1e\x48\x2a\x71\x2d\x54\x5a\xa6\x9c\xf4\x03\xaa\x9e\x1c\x89\xa3\xcc\x22\x1d\xbd\x23\xc4\xb2\x8e\xae\x11\x9b\x7c\x8b\x10\x01\x99\x04\x26\x5a\xf4\x0d\xac\x03\xaa\xc4\x71\xd6\x69\x8d\x62\x11\xe0\x26\xa8\xd2\x69\x95\x26\x53\x2a\x31\x28\x23\x43\x16\x00\x7f\x26\x77\x7d\x8c\xc4\x5d\xa6\x18\xca\xf0\x24\x55\x72\x97\x2a\x7c\x16\x2b\xfc\xa5\x5c\x49\x80\x48\x65\xc3\x8d\x6f\x6a\x6d\xf1\x72\x1d\x41\xbc\x89\x8a\x96\x1c\x80\x2f\x50\x92\xcb\xaa\x7e\xeb\xe1\xf4\x76\x25\x4e\x0a\x55\x4b\x70\x32\x38\xc5\xc8\x57\xb2\xe6\xc7\x86\xe1\xb3\xe9\xb4\x48\x7a\x48\xb2\x24\xf0\x62\xd3\xe7\x77\x6a\x1e\x03\x45\x6a\x8b\xa2\x3b\xa5\x70\xac\xc4\xad\x3e\xc1\xf0\x85\xbb\xd7\xb5\x8a\xc0\xe7\xe5\xc3\xee\xdc\x34\x03\xf8\x45\xee\x9f\x9f\xef\x33\xa6\x98\x06\x3f\xa6\xae\xa9\xb6\x79\x64\x45\xd4\x66\x00\x3a\xa3\x02\xcd\x9d\x09\x40\x99\x1e\x8e\x89\x8b\x45\xc0\x96\xf7\x13\x38\xa2\x20\x78\x15\xb3\x45\xa2\x03\xcd\x37\x53\xde\x01\x63\x77\xa8\x84\x94\x79\xfb\x1d\x83\xd0\xb7\x8b\xbc\xaa\x2a\xaf\x72\xca\x43\xa3\x10\x8d\x9f\x0b\xd9\x3d\xf3\x91\x52\x0b\x66\xb8\x01\xab\xd6\x82\xf0\xd9\x5e\xca\xe9\x0d\x1c\x88\x2a\x0e\x4b\x3b\xea\xd2\x34\x1a\x8a\x3f\x42\x38\xe3\x60\xdf\x85\xfc\x73\xe8\x13\x9f\xfb\x5f\x7f\xfb\xf7\x3f\xf6\x9f\x77\x88\x4c\xbf\xf0\x50\x6e\xe8\x0f\x06\xdf\x06\x7d\x6b\xa5\x75\xe0\xfa\xe3\x86\xae\xf2\x80\xbf\xf9\x3d\x5e\xc1\xd2\xd1\xbd\xd8\xea\xfc\xac\x4b\x08\x55\xdc\xf6\x6f\xe4\x73\xd4\xf9\x32\x74\xa5\xa9\x95\xf6\x31\xe7\xf0\x4b\x43\x79\x5d\x51\x42\x5a\xa8\x86\x9f\xc7\x9c\x80\x31\xec\x23\xaf\xb5\xd3\x47\x6f\x37\x48\x8e\x47\xef\xff\xa1\x81\xf2\x9c\x48\x89\x5b\x0a\x4b\x32\x85\x65\xc3\xb9\x1c\x6f\xea\x2b\x7e\x72\x3b\xaf\xef\x8a\x0f\x47\x63\xb7\x1b\x8e\x81\x15\x70\xd3\xfd\x68\x63\xc3\x05\xfd\x24\x6b\xc3\x3c\x06\x28\x0d\xf2\xb1\x15\x7a\x75\x23\x08\x0c\x38\xc5\x5b\x56\xcb\xf7\x96\xb1\x6c\x45\xfb\x8e\x12\x9e\x1a\x17\xcf\xa6\x8d\xe4\xee\x36\xc8\x60\x47\xb9\x66\x5b\x67\x03\x36\xf6\x59\x76\x9c\xc9\x83\x0f\x86\xaf\x08\x58\x3d\x01\x8b\x9f\xc7\xd4\x51\xec\x6b\xcd\xdf\x42\x38\xd3\x05\x14\x34\x40\x05\xa6\x7e\x89\x54\x82\xbc\x73\x21\x09\x4b\xce\xf7\x8e\xcc\x90\x82\x2e\xe8\x1e\xc9\xc5\x92\xe2\x9a\x19\x3e\x33\x56\x88\x5d\xa1\xe6\x61\x1c\xb5\xeb\xd6\x38\x0a\x11\x0b\x3d\x9a\x33\x58\x73\x18\x5a\x6a\xb0\xac\x09\x3f\x04\xa6\x1c\xe0\x1f\xf7\x14\x4a\x7e\xcf\x94\x2a\xc4\x4c\xa8\xdd\xf0\x08\x1e\xdc\x98\xc8\xb6\x18\xd1\x1a\x87\xd6\x9c\x3e\x55\x5b\x45\xca\x4c\xde\x01\xc8\xa2\xc5\x23\x0b\x05\x8b\x7a\x2e\x42\x1e\xb8\xdf\x5a\x9b\x61\x5e\x5d\x33\xbb\xc7\x02\xf6\x87\x82\x0a\x67\x1c\xb6\x0c\xa8\x61\x2e\xa7\xcf\x4c\x0d\x00\x0d\xc4\x75\xcf\x94\x90\xe6\x9e\xd2\x84\xd0\x60\x09\xa1\xf5\x3d\x12\x57\x6d\x18\xfc\x9e\xa1\x24\xe4\x56\x73\xd5\xa6\x44\x01\x02\x55\xcb\x48\xf5\x44\xd6\xb6\x3e\x67\xf1\x75\x4c\x68\x41\x24\x5f\xe6\x2f\x70\xaa\x5d\xe5\x6d\x88\xf3\xde\x9c\xda\x3c\xce\x1e\x8b\x81\xad\xcc\x57\x08\xcb\xf6\xec\xd6\x17\x4f\x8f\xdd\xe7\xa4\x59\x22\x84\xfe\xd6\x62\xbc\x46\x5c\xa8\xc4\x8a\x0c\x51\x64\xe8\x62\x74\xaa\x7d\xd1\x2a\x00\x6d\x80\x09\xe9\xc1\xeb\x9e\xf3\xc2\x34\x36\xa2\x64\xd5\x59\x9b\x30\x84\x52\x89\xf0\xdf\x52\xf3\x19\x26\x93\xe1\x71\x8e\x0e\x79\xed\x90\x34\x72\x40\x16\x2a\x17\xb5\xab\xb4\x56\x04\x13\x27\x55\x02\x2c\x9b\x50\x87\x51\x05\x3a\xba\x6d\x28\xaf\x6b\x05\xa4\x2f\xf4\xad\x0c\xfa\xde\x22\xf0\x19\x03\x08\x32\x37\x43\x0b\x6d\x23\xaa\x44\x5c\x52\xe7\x27\x15\x2a\x2c\x3b\x6c\xc1\x66\x39\x56\x2a\x96\xa6\xab\x05\x4b\xaa\xef\x38\x7d\xfa\xac\xd0\x8a\xc2\xe8\x22\x28\xa4\xda\x7b\xa0\x16\xd2\x68\x80\x35\xed\x08\xf2\x6d\x2c\xa3\x3a\xbc\xe0\x34\xe4\xce\xdc\x2e\xbc\x03\x01\x67\x8c\x01\xa5\x3f\xa9\xfe\xfe\xdd\xfd\xfd\x1e\x4f\xc5\x22\xc2\x3d\x55\x55\x3c\xa8\x96\xb4\x33\x44\xd0\x90\x46\x12\x86\xaf\x61\xa1\xa8\xc5\x6b\x56\xec\x3b\xb1\x8c\x79\x2f\x83\x74\x60\xec\x3a\xd8\x77\xef\xbd\xab\xa7\x4f\x35\x18\x06\xf9\x9a\xe5\xfd\xee\xee\xd3\x1d\x2c\x8d\x8d\xa7\x39\x4c\x4f\x43\xc2\x19\x54\xc8\xfd\xf3\x42\xdd\x65\xa4\x52\x06\xde\x8e\xe1\x9b\xfa\x38\x06\x74\x44\xb1\xd4\x6e\x2e\x20\xd9\x0e\xd8\xb7\xa1\xc0\x79\x1f\x19\x19\x11\xdc\x53\x22\xbc\xbe\xb9\xe8\xa2\x5a\xdd\xdf\xb8\x51\x62\x64\x81\x89\x00\xdf\x22\x52\x55\xd9\xac\xc6\x7b\x4b\xb2\x6f\xd4\x80\x91\xdb\x3a\x2a\x8d\x0b\xd4\xa2\x2b\xe4\xe5\x05\x48\xf9\x40\xf1\xf3\x21\x4e\xfb\x41\x7e\xbf\xfe\x19\x3c\x08\x3a\x1a\x59\x5e\x96\xe5\xf5\x7a\x0e\xaa\x73\x56\x63\x1e\x69\x43\xa1\xd8\x06\xa1\x8a\x2b\x6b\xc2\x03\x14\x7b\x82\x72\xf5\x08\x03\x1e\xe1\x40\x96\xa0\x01\x5c\x0f\xce\x99\xa2\xcf\xfa\xd8\x23\xf9\x1a\xe0\xfe\xf2\x10\xfd\xa9\x43\x00\x4c\x70\x00\xe1\xf4\x96\xe0\x01\x8d\x5a\xea\x4b\xa5\x04\xa4\xdb\x64\x8d\x66\xc3\x0d\x3e\x04\xd0\x57\xab\xc5\x24\x5c\xa9\xb6\x00\xf4\x2c\x95\x77\x82\x9b\x24\x86\xc1\x8e\xdd\x61\x97\xf0\x40\x09\x0f\x14\x4a\x56\xa3\x24\xc2\x4e\xe6\xe2\x50\xc8\x50\xa9\x72\x7a\x89\x5e\xad\x4c\x3b\x4e\xb1\x16\x81\x62\x94\x3d\x7e\x8b\x43\xff\xc0\x50\x13\x7d\x16\x9d\xc2\x59\xbe\x25\xca\xd1\x92\x8b\x4b\x80\x77\x97\x23\x85\x88\x6f\xbd\x66\x95\x05\x12\x00\x4f\x29\xc0\x97\x35\x42\x47\x35\x9e\xef\xd8\x1f\x5f\xf9\x43\x6d\xba\xfe\x54\x96\xaa\x0a\x97\xe5\x57\x0c\xf8\x6f\xe5\xc2\x25\xfc\x05\xfd\x7d\x1d\xfc\x37\x21\x36\x30\x64\xc0\xf9\xcb\xc0\x83\xae\x7a\xb2\x57\x55\xa6\x0c\x76\x34\x4b\xd7\x57\x03\xc5\x2d\xa3\x10\x6c\xfa\xda\xc2\x7c\xcb\xa4\x0d\x1e\xe7\x00\x37\x1b\x5e\x96\x45\x80\x16\xac\x65\xf9\x86\xcc\x20\xb6\x05\xba\x82\xf9\xbc\x0e\xde\x9c\x1d\x76\x01\x48\x4a\x26\x10\x5e\x28\x40\x86\x9a\xf9\x67\xa2\x0e\x7c\x9b\x60\x9d\x4a\xd6\xa9\x00\xa1\x9b\x31\x67\x2a\xb2\x04\x53\x53\xb5\xa7\x4a\x31\x5c\xcc\x90\x18\x4b\x88\xd7\xc5\x5c\xe4\x25\x01\x0c\xce\x8e\xe6\x63\xec\xf5\x3e\xe6\xe9\xfe\x5f\xbf\x7e\xfe\x7a\xba\x63\x5c\xce\x24\xb1\x99\xec\x6b\x6f\xbb\x05\x0c\x27\x0a\x61\xd0\xc3\x3c\x02\x62\x0a\x9b\xd6\x33\xb8\xe6\x18\xb7\x41\x8a\x12\xa5\x33\xf7\x18\x98\xfa\x25\xe9\xdf\xe4\x83\xca\x80\xb1\x52\xb3\xea\x92\xca\xef\x03\xd6\xcb\x30\xe1\xff\x1b\x08\xcb\x6a\xc7\xe2\x42\xd5\x7b\x75\xeb\xb6\x45\x61\x5b\x15\x88\x03\x3f\x37\xf8\x7a\xdf\xe4\x12\xc6\x6c\xf0\x16\x8d\x44\x40\xdb\xd7\xbe\xab\xbf\x1f\xcb\xed\x82\x4f\x7e\x03\x14\x2a\x10\xb7\x5d\x9b\x72\x01\xb7\xbb\xfb\x82\x09\x15\x88\xb7\xba\x5b\xb6\x0d\x26\xe9\xbe\x7f\xbf\xdc\xdd\xb6\xdb\x64\xd3\x2c\x93\xad\xad\xb7\x74\xd5\x88\x1b\x5d\x18\x3a\xe6\x9e\x1c\xe1\xc0\xf9\xae\x2e\xdc\x8f\xff\x04\x84\xd4\xd7\xba\x36\xd1\xbf\x80\x15\x9d\x27\x9c\xd4\x29\xf1\x1d\x24\xa6\x61\xe6\x6e\xc8\x43\xf8\x88\x2b\x1f\xf0\x84\xc0\xfa\xbe\x8c\x37\x49\x83\xff\x22\x81\x7d\xb9\xd9\x7c\x4e\x58\xe2\xde\xb1\x5b\x01\x9a\x13\x7b\xfd\x76\x1a\xfe\x3c\xc6\xf6\x3e\xf6\x2b\x6f\xe5\x44\x9d\x3e\x11\x22\x34\x4b\xb8\x51\xdd\x22\x1f\x37\x1e\xfd\x8c\x30\x3b\x2f\xca\xb6\xeb\xe2\xdd\xd4\xfe\xed\xca\x9f\x52\x46\xaf\x06\xd4\xcf\x47\x79\x0d\xe4\xe7\x09\xf9\xd3\x26\xf7\x8d\x70\xc7\xe5\xe5\x7d\x20\x18\xf8\x4e\xa5\x96\xe2\x92\x0f\x62\x9a\xba\xb8\xf5\x06\xa2\xec\xbd\x62\xb7\xe5\xc0\xfa\x8e\x0b\x47\x88\xed\x0d\xb5\x14\xb7\x32\x0e\xf4\xbe\x1b\x9c\x8a\x37\x7b\xe2\x16\xa2\xed\xea\x96\xcb\x20\x0b\x1b\xf9\x74\xe7\xfa\x6f\xa2\xe7\xae\xdb\x60\x01\x50\x8b\x9f\xfd\x15\x6d\xd9\x8d\x16\x3c\x33\xd2\x7e\xb9\xc3\x6b\xb1\x88\x81\x12\x9a\x67\xea\x0e\x9c\x3f\x56\xd0\x4c\xe9\x15\x30\x86\xed\x2e\x9d\x7d\x9b\xb3\xd9\xbf\x71\x1a\xea\x74\x41\xa7\x71\xe7\xcb\xff\x2e\xbc\xf2\x23\x90\x80\x3f\x85\x8b\xdf\x56\x9a\xb0\x6f\xc6\xf9\x67\xb9\x59\x0d\x4c\x1d\xd3\x0f\xda\xea\x76\xc7\xd8\xfa\x6a\xb5\xf8\xe5\x0e\x41\xc3\x3c\xae\x03\x35\xae\xd7\xda\xad\x38\x82\x04\xec\xe4\x45\xaf\x5f\xb8\xf0\xd1\xed\x79\xd9\xed\x7e\x48\x8b\x6e\x3f\xdf\xd1\xfb\xfd\x01\xcb\xf5\xc2\xea\x0f\x46\xa7\x89\xee\x5f\x07\x88\x37\x07\x40\xdd\x5f\x58\x02\x99\x81\x8e\x39\xa3\x0d\xe4\xf8\x23\xbd\xf9\xdb\x5f\x8f\x8d\xe0\xb0\x4a\x22\xc6\x14\x4c\x1f\x4b\x4e\xc5\x4b\x8c\xc7\x7c\x1d\x4d\x97\x60\x91\x1b\xb1\x43\x37\x0b\xba\x17\x2c\xb2\xc1\x6b\xc4\x5b\xc4\x4a\x16\xac\xf2\x68\x97\x3c\xa6\xcd\xad\xb6\x24\x20\x47\xe3\x92\xf7\xbd\x3f\xc9\x32\x8b\xcc\x6e\x3f\xbd\x31\x12\x52\x57\xc5\x94\x87\x8b\x29\x17\x19\xce\x5b\x80\xa3\xb7\x59\xe8\x1f\xea\x8e\x3f\xbf\xe2\xee\xb9\xa9\x95\x05\x2c\xf0\x09\xc1\x24\xa1\x66\x47\xad\x92\x08\x58\x05\x0b\x19\xad\xb2\xaa\x60\x51\x25\x08\x50\x73\x55\x3b\xaf\x09\xbb\xcb\x2d\xbb\x42\x35\xf1\xcb\xcc\x35\x0c\x15\xe6\xc3\x91\xe7\x83\xa3\x18\xea\x00\xc4\x61\xad\xc1\x51\x6d\x85\x82\x94\x17\xf6\xba\x90\x0d\xfd\xa3\x7b\x32\xf8\xe0\x54\x2b\xd5\x1b\x84\x8a\x6f\x54\x5d\xa6\x04\x5e\x36\x4e\x41\x2b\x11\x20\xfe\xc8\xc4\xb4\x8b\x17\xe9\x0c\x4d\xf8\xba\x01\x46\x9b\x0a\x8f\x41\xb0\xaa\xac\x26\xab\x48\x65\x1f\xc3\xd4\xb4\xa3\x95\xd5\xda\xd0\x28\x70\x3a\x92\x8f\xd0\xd4\x5a\xce\x54\x40\x9f\x3c\x15\xcd\x48\x3d\xf6\x7c\x20\x81\x81\xa4\x8f\x0e\xce\x46\x6c\xe2\x3b\x12\xd1\xce\x0b\x40\x22\xb4\xde\x03\x22\x3a\x89\xac\xea\x6b\x60\xa0\x4d\xaf\xb0\xa4\x16\xad\x67\x8a\xac\xea\x3b\x9f\xde\x84\xb2\x8f\x43\x26\x69\xb8\x08\x48\x87\xdd\x38\x03\x1f\x47\x03\xca\xc6\x4b\x03\x5d\xa0\x1d\xcd\xd0\xee\x02\x5e\xf4\xa1\x64\x7a\x44\x2e\x00\xd9\x49\x07\x62\x78\xb5\x6a\xa0\x10\x82\xd3\xce\x05\x26\x32\x68\xfe\x80\x7f\x2a\x6a\xca\x3a\x00\x17\x55\x0a\xc0\x58\x13\x0e\x8e\x23\x71\x0e\xa7\x4f\xa1\x22\x03\x48\x4e\x0f\x00\x11\x6d\x15\x58\xdc\xaa\x7b\x70\x02\xc9\xfc\x4b\x03\x62\xa8\x1d\xa7\xc0\x65\xd5\xa0\xe6\x6d\xd2\xe6\x00\xe6\x29\x37\x3c\x59\xec\x47\x7b\xbe\x60\x50\x30\xad\x1c\x40\xcf\x03\xa4\x57\x00\x86\x44\x17\xa8\x48\x01\x3e\x54\x74\x91\x2a\x20\x47\x93\x21\x92\xa6\xe2\x22\x45\x10\x53\x49\x2b\x2e\x93\xcf\x69\xa8\xa6\xbe\x30\xd5\x20\xfa\x53\x88\x07\xf8\xa7\xe1\xde\x8b\x11\x91\x2d\x0e\x38\xb2\xc0\x62\x07\xa3\xa8\x3e\x7d\x84\xbb\x2f\x50\xab\xd9\x09\xa5\x02\xfe\xe6\x9a\xa9\x00\x5a\x16\xbb\xd1\x14\xd1\x06\x46\x44\x16\x9e\xa6\x81\xfb\x18\xc0\xae\xe8\x36\xf2\xa5\xe8\x80\xc4\x58\x79\x81\x05\xd9\x3a\x9a\x0c\x5b\x44\x03\x16\x63\x46\x77\x4d\xef\x36\xc6\x21\x50\xea\x18\xe3\xc1\x7a\x2e\x0f\x6d\x72\x5e\x49\xa7\x2d\x05\x20\xdb\x7c\x64\x78\x12\xc4\x95\x48\x8d\x43\x4a\x3a\xe2\xec\xd8\x15\x50\x0b\xee\x91\x1a\x31\xdb\x00\x4b\x5f\x6a\x72\x98\xd0\x51\x5c\xa5\x58\xf5\x29\x4b\xae\xcb\x59\x45\x3e\x35\x40\xee\x2f\x07\x5c\x4f\x5b\x3a\xbd\x65\x7d\xd4\x21\x13\xa7\x76\x60\x70\x93\x0b\x55\x06\xfe\x46\x95\xa1\x22\x7e\x12\x3c\x5c\x03\x47\x02\x18\x7f\x8a\x15\x9d\x2c\x83\x80\x3f\x37\x11\x88\xc5\x5b\xd1\x86\x88\x76\x7d\x4c\x88\x87\xcc\x11\xec\x57\xe8\xea\xa2\x67\x39\xea\x38\xcd\xf7\x1c\x6c\x5f\x48\xcc\x27\xcd\x8e\x44\xb9\x22\x54\x26\x48\x7c\x01\x38\xf0\x60\xc7\x1e\xb2\x51\xc1\x69\x06\x4a\xb3\xc9\x81\xeb\x45\x9f\x2c\x4a\x7a\x31\xd6\x56\x3e\x43\xe0\x21\x3a\x0d\xe8\x05\xde\x17\xc8\x4b\xc0\x87\xe7\xa0\x9d\x52\xb0\x15\x47\x21\xd6\x97\x79\x91\xaa\x90\x14\x04\x41\xdb\xd1\x77\x76\xd3\x80\x50\x9d\x9c\x21\x2b\x51\x8d\x74\xa7\xaf\xc5\x1e\x38\x53\x7f\x96\xc2\x12\xa4\xf4\xb9\xca\xcb\xb2\x4c\x6f\x0f\x53\x0d\x35\x3c\xf5\xa2\x5a\x03\x03\xff\xb5\x68\x34\xb9\x65\xff\x41\x2d\xcb\x07\x8a\x90\xec\xda\x59\x8e\x58\x25\x2c\x62\xdd\xab\xa0\xcf\x64\xb0\xe3\xa4\x66\xaf\xaa\xd1\x0a\x92\x8b\x1f\x20\x17\x5f\x56\x24\x90\x90\x25\x21\x1e\x36\x95\xa8\x03\xba\xd9\x3e\x66\x1d\xec\xd8\x37\xc3\xc4\xe8\xc9\x5f\x32\x89\xf1\xb2\x9d\x9d\x31\x15\x6e\xbf\xc6\x95\x2c\x5e\x44\x82\xad\x33\xe6\x06\x27\xc6\xc4\x6d\x98\x13\xc0\xa2\x8f\x59\x9b\xaf\x16\xb1\x0f\xcd\x72\x12\x9d\x0e\x65\x97\x88\x05\xb0\xcd\x92\x74\x58\xf2\x44\x07\x22\x14\x74\x1d\xf1\x32\x6d\x25\x54\xb1\xad\x04\x0e\x89\xa4\x22\x59\x4d\x05\x0b\x31\x1e\x2e\x41\x42\xa7\x7d\x26\xa9\xda\xbf\x52\xa7\x65\xae\xa6\xea\x02\x31\x10\x80\x66\xaf\x95\xc1\x34\xeb\x0c\x8f\x3d\x06\x84\x9b\xf5\x8f\x3e\xf0\xa2\x87\x3f\xbc\xb4\x83\x41\x2e\x33\x90\xa8\x63\x36\xba\xe1\xe0\x75\x50\x16\x47\x0d\xa5\x22\x2f\x89\xbd\xea\x3c\xbe\xe8\xb4\x2c\x0c\xb0\xed\x06\x4c\x7e\x15\x7b\xac\x37\xd4\x82\xcf\xd4\xca\xe9\xb3\x50\x0d\x2a\x19\x73\x83\xb4\xc0\x46\x9f\x1e\xbb\xbc\x28\xd9\xc0\xf1\x37\xc7\x1d\x25\x1d\xe3\x61\x88\xf0\xab\x4e\x1f\xbd\xe1\xd9\x02\xed\x74\x85\x11\xed\xb7\x96\x8b\xbe\x2b\xa0\x27\x67\x43\x2d\x86\xdc\xb0\x75\x11\x5d\x62\xb2\x2f\x23\x55\x20\x55\xd5\xbd\x79\x3a\x9a\xc2\x16\x63\x02\x51\x7f\x3e\xbd\xf5\x6c\xba\x6a\x6e\x8e\x12\xab\xf6\x11\x60\xae\xb5\xce\xe5\xae\xaa\x27\x41\xa5\x92\xb1\xc5\x58\x9a\x2d\x8f\x78\x9a\x1a\x11\x73\x87\x0d\xd9\x9c\xc3\xb7\x4a\x31\x5a\x66\x88\x2e\xdc\x39\x77\xe8\x2a\x1d\xa0\x06\x4c\x86\xd2\x4d\xaf\xa8\x13\x70\xa5\x67\xe3\x77\x9e\x0f\x53\xcb\xf9\x53\x2d\xc0\x37\x2d\x21\xaa\x8e\xd6\x12\x9c\xd4\x88\xd1\x8a\x60\xb2\xf0\xd8\xad\x97\xa0\x33\x0a\xfc\x6e\x22\x50\x80\x00\xbe\x5d\xa0\x4a\x68\x2b\x74\x28\x08\x45\x11\x7d\x7b\xba\xf8\x89\xad\xf7\xe0\x3b\xf1\xc5\x51\x02\xe2\x97\x58\x8e\x0f\xa8\x8a\x6b\x03\x17\x7e\x76\x89\x3c\xf6\xaf\x38\xe7\x27\xa5\xed\x9f\xfb\xbf\xfd\xe2\x0e\xbf\xfe\x71\x18\x9f\x8d\xa9\x02\xbf\x0a\x76\x5d\xf6\x95\x38\x95\xc1\x8e\x88\xed\x8f\x54\x72\x47\x02\xc7\x7b\x42\xea\xa3\x1e\xad\x7b\x73\x6d\x0e\x68\xd3\x8e\x3a\x6f\x83\xb0\x3d\x12\xe5\x50\x90\xd1\x44\x12\x32\xb6\x7c\xa8\x05\x55\x8b\xa0\x6c\x00\xaa\x91\xf7\x31\x0c\xd3\x5e\x1c\x18\xe4\x28\x07\x3e\x50\xf0\xe2\x74\xbc\x08\x98\xf5\x7d\x45\x10\x20\xb0\x01\x55\x9d\x71\x94\x74\xae\x60\xc4\x7a\x30\xd6\x44\x88\x88\x6a\xf2\x20\x70\x67\x2a\x97\x08\xdb\xdc\x51\x16\x1d\x18\x92\x6d\x9c\x4d\x33\x88\x45\x8d\xa9\x97\xf9\x03\xc3\xb5\xd2\xfb\x02\x81\xe8\x88\xa3\x48\x69\x1f\x0b\xa9\x20\xc0\xd1\xac\xbf\xdc\x1b\x70\x20\x01\x83\x49\xa6\xda\x40\x61\x88\x50\xf1\x80\xd7\xcf\xfb\x60\xfc\x98\xa1\x03\xf5\xc6\xa6\x6a\x20\xb4\x94\x8c\x18\xac\xcc\x93\x0a\x19\x55\x8b\x25\x9f\xea\x01\x0c\x02\x70\x1a\xe4\x54\xb0\xf6\x48\xff\xae\xc7\xfa\x82\xef\xf6\x0b\xec\xe6\x68\x4a\x8a\xaa\x63\xaa\x62\x03\x99\x4b\xe7\x4c\x0c\x67\x51\x0d\xa8\x30\x08\x2a\x43\x94\xe6\x06\x61\x02\x4e\x69\xf8\x20\xd3\x3e\x66\x10\xfb\xf5\x8f\xae\xd1\x04\x48\xac\x04\x94\xb1\xa4\x52\x55\x27\x94\x50\xe7\xe7\x20\x3f\x27\x50\xa0\x56\x75\x09\xab\x23\x65\xa9\xba\x20\x9d\xa9\x3c\x10\x05\x0b\xba\xce\x1c\x8c\xf8\x00\xd2\xeb\x27\x8c\xf8\x67\xe3\x4d\x03\xe2\xfc\xd3\x3e\x51\xc8\x60\x5a\xed\x94\xa7\xaa\xb9\xa9\x76\xdd\x60\x10\x41\x4e\x70\x3d\x4b\x55\xdb\x8d\x86\xa2\x35\x1d\xfb\x6e\x4e\xd0\x5e\xa9\x3a\x0d\x0a\x79\xc9\x0e\x78\x87\x2a\x7b\x6a\x69\xb6\xb6\x85\x82\x5d\x3a\x90\x23\xa8\xc8\x77\x54\xa3\x50\x68\xc4\xda\x47\xa1\xa4\x4e\x08\x94\x0a\x85\x5a\x1d\xd5\x50\xc9\x37\x83\x86\x27\xae\x8e\xb2\x6a\x34\x86\x69\x9e\x6c\xd3\x5c\x97\x1b\x9d\x2b\xa1\x4e\x6a\x76\xd0\xc5\x82\xc1\xce\xca\xed\x4c\x8b\xaf\xd7\xa6\x28\xc3\xfc\x61\xf5\x4d\xea\x62\x50\x08\x8b\xbd\x4f\x70\xd3\xb5\x38\xdb\xa4\xe7\xfe\xa6\x23\xb8\x59\xca\x3e\x54\xc4\x98\xf4\x0f\x0c\xea\x9c\xf0\xb2\x59\xe7\x8a\xd4\x34\x7d\xf4\xc0\x2a\x69\x80\x88\x3d\x50\x50\x59\xe0\x6b\xa6\xa4\x96\x01\x4b\xa1\x5c\x2c\x84\x85\xbc\x5e\x04\xf6\x1a\xed\x16\x9d\x5d\xcc\x16\x13\xb0\xcf\xaa\x2e\x0f\x76\xc4\x66\x8b\x6a\xb7\x50\x6c\x11\xcb\x15\x21\xee\xe3\x04\x36\x89\xd1\xc9\x88\x8d\x0c\x2d\xf7\xa3\x9d\xd1\x7a\x32\x56\x6b\x2e\x81\x92\x1a\x65\x58\x9a\xb9\x68\xfb\x10\x97\x2b\x08\x2f\x90\x34\xd8\xb1\xab\x01\x95\x32\xf6\xf1\x54\xae\xc4\x29\x64\xc1\x06\xf1\x62\x83\x55\xd5\xb7\x9f\x30\xa4\xef\x23\x3d\xcc\xfd\xaa\x75\x89\xcd\xa3\x5f\xea\xc7\xda\x2d\xfd\xe1\xca\x7c\x2b\x04\x76\x9b\xae\xd6\xb7\x1c\x52\x8f\x47\xf1\x99\x7f\x77\xbb\x94\x4d\x12\xe6\xed\x58\xc0\xaf\x7c\x85\x85\x92\xe4\x21\x78\x8a\x1e\xca\x42\x34\xab\x50\x95\x55\xe2\x0a\x17\x4a\x50\xd3\x26\x20\x96\x28\x52\x44\x08\x77\x13\x10\x01\x44\x42\x72\x61\x68\x4b\xd4\xa5\xea\x54\x64\x1d\x6c\xe8\x71\x0b\x18\x10\xb1\x76\xe2\x0d\x9d\xc5\xa1\x44\x73\xb3\x14\x0f\xe0\xce\x62\xc4\xf9\x82\x38\xfb\x6a\xfe\x89\xda\x3d\x3c\xba\x50\xc2\xaa\x52\x91\x3a\x93\xc3\x5e\xc5\x30\xc6\x5c\xa3\xdc\x0f\x7e\xc2\xf4\x72\xa2\xcb\xd8\x37\x35\x15\xd2\x90\x21\xf1\x0b\x79\x1e\xc2\xd0\xd7\xa3\x30\xb0\xce\x97\x3c\x80\xb8\xc5\xae\x30\x06\x97\x9c\xca\xc1\x83\x3a\x44\xae\xd6\x8a\xea\x2e\xab\x44\xdd\x2f\x56\x1b\xd6\xea\x2c\xf1\x0d\x8a\x79\xeb\xc7\x1e\x0d\xd7\x54\x82\xa9\x48\xf0\x94\x7a\x0d\x4b\xbd\xc0\xbb\xae\x11\x40\x3d\x38\x10\x87\x0a\x0a\x62\x16\xa1\xc4\x51\x17\x57\x2a\x7b\x3d\x89\x70\xc8\x7c\x9e\x9e\x25\xe9\x72\x8c\xd0\x82\xd4\x8f\x76\x46\x10\x36\x26\xa2\x96\x1a\x57\xa0\xcf\x93\x80\xe0\x58\xad\x85\x8c\x5d\xe0\x1c\xaf\x34\x06\x86\xc2\xa0\x6a\xc6\x81\xc4\x3c\x00\x6a\x8b\xab\x81\xcf\xe0\xe7\xd1\xd7\xd8\x42\x77\x17\x08\x38\xe6\xb4\x01\xaa\x97\x58\x28\x9f\xca\x54\xef\xa3\x5a\x17\x90\x39\xb9\x11\xcb\x52\x21\xf0\x57\xbd\xf0\xbc\x9b\x79\x3d\xbf\x1f\x73\xe2\xaf\xe6\x77\xb2\xf9\xbd\xe5\x1a\x05\x99\xc9\xec\xda\x3e\xc7\xf1\xc3\x2c\x2c\x80\xbb\x6f\x54\x36\xb3\x0a\xe5\x91\x34\xed\x7f\xad\x17\x3f\x69\xbd\xf8\x97\x2e\xb2\xd4\x45\x7e\x70\x96\xfd\xf9\xff\xfc\xb5\xff\xe3\x59\x53\x28\x6c\xc5\x52\xf8\xbe\xad\xbf\x11\x3b\xe0\x27\xb6\xd9\x45\x82\x2e\x83\x90\x3c\x95\x34\x0a\x8c\x81\xa8\xcf\xbc\x88\x88\xad\x40\x96\xae\x48\xdb\x69\xcb\x62\xc3\x80\x64\x85\xce\x47\x6b\x0d\x88\xb3\x3c\x92\x59\xb4\xc3\x11\x49\x26\x88\x82\x98\xc7\x15\xf4\x30\x08\x0a\x5b\x19\x77\x39\x52\x96\x29\xee\x27\xcb\x35\xbf\xc0\x2c\x28\xc4\x59\x1e\xcb\x3d\x36\xe4\xc7\x5f\xcc\xb3\xbe\xc1\x8d\x98\x84\xbe\x0b\xc7\x1b\x2c\xb2\xde\x62\x18\x8e\xbc\xc0\xd8\x09\x99\x12\x20\xc4\x01\x4d\x3e\x8f\xb9\x48\x3a\x7d\x3f\x0a\x71\x59\x42\x4f\x70\x1a\x1a\xb6\xcf\x33\x25\x04\xd4\xae\x32\x3d\xa6\xed\xfa\x0d\x94\x53\x00\xd1\x53\x2a\x1b\x69\x66\x29\x32\x9d\xa3\x86\x52\x5c\x86\x2f\x9c\xb5\xa8\xf6\x53\x7a\xfe\x71\xc5\x32\x03\xb3\x65\x85\x31\x9b\x3f\xd8\x6f\xac\x3b\x3c\x47\xa3\xc5\xbd\xa7\xb7\x8c\x2e\x5b\x95\xd1\xb6\x55\xc2\x79\x09\xad\x97\xc0\xcb\xfd\xcf\x33\x9a\xda\x96\x82\xfb\x9c\x5a\xd9\x27\xf7\x2d\x1a\xe9\x75\x4e\x99\xdd\xc0\xd5\x66\xd5\x22\x49\x5d\x07\x16\x85\xc6\x3b\x04\xb2\x06\xb0\x50\xcd\x77\x82\x03\x6f\xd3\x15\x5d\x73\x5a\x9f\x3e\x2d\x0e\xf0\x79\x7a\xe8\x23\x0b\xd5\xa6\x23\xbd\x21\x64\x2d\xf9\x45\x92\x2f\x9b\xe7\x9f\xb2\x98\x00\xba\x4f\x3a\xf2\x93\x84\xf2\xe3\xaa\x8f\xac\xb6\x85\xc5\xb6\x85\xe3\xa6\xea\x13\xe7\xaa\x8f\xf4\x5d\x61\xdc\xb3\xd4\x72\x1e\x00\x54\xf8\x97\x28\x7a\x4e\x14\x7d\x31\x18\x7e\x3d\x7c\x2d\x7e\xee\x44\xe8\xf8\x03\x8c\x96\x01\xfb\x3e\x19\x2e\x33\x17\xa8\x1a\xaa\x0f\xd7\x97\x48\xa5\x0d\x38\xd8\xde\x47\xa4\x9a\xea\x51\x4d\xb3\xb4\x9f\x9f\x53\x45\x0a\xac\x95\xb1\xbd\x08\x76\xd6\xec\x38\x6d\x97\xe7\x83\x55\xd4\x37\x1e\xe1\x9c\x43\x4d\x6e\xab\x26\x4b\x26\x66\x09\xef\xa8\x71\x51\x17\xd0\x68\xc4\xdd\xac\xcc\x23\xb1\xb8\x54\xe3\xcf\x7e\x09\xc8\x12\xb6\xe3\x55\xec\x3e\x65\xb8\xe1\x41\xc3\x0f\x04\x14\xbd\x85\x8a\xc7\x9b\x04\xac\x5d\x4f\x23\x06\xd6\x73\x4e\xc8\x49\xaf\x79\x71\xd6\x9d\x4f\x6f\xd6\xd3\x23\xd8\x67\xbf\xa3\x6d\x4e\x6b\x1a\xd6\x65\x39\x94\x85\xc7\x36\x24\x28\xec\x9e\x42\x6e\xf0\xf9\xf4\xd7\xb0\x66\xa0\xd2\xbc\x5e\x44\xbc\x0c\xec\x8f\x61\x5f\x08\x9b\x66\x7d\xcf\x2c\x60\xe3\x2b\x91\x34\xb5\xcf\x38\xf4\x63\xdf\xca\x01\xa3\x6c\x08\xf9\x3d\xcc\xa3\x5e\xfb\x84\x5f\x07\x9b\x7d\x80\x01\x10\xfc\x4e\x55\xf6\x5b\x25\x22\x13\x29\x94\x97\x45\x33\xfc\xc0\x61\x09\xda\x38\x81\xe5\x65\xc2\xee\x44\x77\x13\x3b\xa6\x8a\x0d\x06\xe1\x97\x4c\x39\xca\x60\xc7\xa9\xc3\xab\x4e\x32\xfd\x09\x3b\x1a\xf1\x9c\x21\x61\xfe\xee\x2a\x2f\xf3\xe2\x8c\xd2\x7b\xc2\xdf\x7b\x60\xb6\x7d\x29\x6a\xef\xc4\x65\x1d\x9c\x0e\x4a\x13\x0d\x95\xc0\x27\xc2\xda\x2b\x81\x75\xdd\x42\x6f\x97\xbe\x69\x0a\x7a\xf0\xcc\xef\x95\x18\xf1\xd4\xa5\x24\x84\xa7\x30\x25\x5f\xa8\x36\x84\x6d\x08\xa5\x9c\x09\x84\xeb\x31\x44\x2d\x67\x38\x97\x88\x9a\x90\x4a\xa9\xa6\x61\xb3\x13\x6e\xb3\x2e\x66\x7d\x49\xb1\xbd\x6b\x95\x3a\xe6\x8a\x0a\xa6\xd8\xa3\x06\x8a\x83\x1b\x5e\xab\x7b\x89\x98\x65\xf1\x3c\xd7\x10\x52\x96\xa9\xa9\x6e\x4d\x8d\xd3\x0b\xf7\x84\xfc\x69\xa8\xf7\xad\x2b\x41\x6f\x53\x25\x06\xf8\x84\x41\x60\x26\x50\x3b\x86\x4c\x12\x02\x65\xcf\xf8\x6c\x92\xcf\xcf\x8c\x30\x0f\x96\x6c\x74\x9e\xfd\xec\x46\x15\x0d\x79\xe4\xa8\xc3\x91\xda\xb3\x49\x0c\x67\x13\x5b\x27\x0e\x79\x36\x14\xac\x08\x67\x7b\x6e\xf8\xa6\x75\x4d\x8f\x1c\xc5\x76\x46\xc1\x0e\x3a\x9d\xfd\x7a\x9a\xc9\x90\xb7\x73\x09\xc0\xe5\xbe\x4f\xa4\x93\xab\x07\x95\xc0\x57\x14\x75\x6d\x7a\x49\xa0\xc9\xb7\xa3\x85\x96\x04\x44\x19\x48\x3a\xaa\x94\x7c\x5d\x66\x1c\xdc\x08\x33\x34\x78\x74\x48\xf0\xfd\xb2\xc8\x48\x1c\xd9\x02\x4d\x5e\x66\xcd\x88\x06\xb1\x11\xd3\xfb\xdd\xa6\x47\x82\xb4\x9f\xe6\x1c\x03\xfb\xb1\x84\x04\x79\xcb\x83\x1d\xfb\x2b\x0e\xfb\xe5\x8f\x08\x7c\x81\x68\xd7\x41\x73\x29\x49\xae\xaa\x7e\x74\xc6\x3d\x0c\xb9\xd9\xb0\x04\xd9\x72\xb2\x58\x15\x20\x82\x66\x2b\xd0\x65\x01\xda\x5a\xea\x0c\x6d\x47\xd7\xba\xd9\x92\xcf\x67\x0c\xc5\x6c\xa8\xa8\x17\xe1\xed\xcf\xc2\x3b\x2f\x17\x02\xdf\x17\x1c\x67\x2b\x8e\x3b\xaf\x38\x6e\x7b\xc5\xf1\x97\x35\x65\x55\xf3\xb0\x68\xe6\x65\x21\x7c\x2c\x22\x37\x1f\xa8\x22\x9e\x94\x74\x4e\x44\x08\x78\xe8\xac\x60\x15\xc3\x86\x5e\xce\x2a\x58\x0b\x0f\x76\xfc\x51\xc1\xfa\xbf\x7d\x0d\x12\x8c\xf7\x1e\x6e\x24\x60\xd3\xd6\x87\xe4\x51\xa8\x84\xac\x36\xc9\x8c\x86\xc0\x5f\xe7\x9e\x40\xe2\x86\xe5\xba\x34\x41\xfa\x57\x40\x18\x1d\x11\x77\xf5\xbd\xea\x90\x25\x91\x22\x1e\xac\xbc\xab\x49\x94\xc7\x48\x39\xab\x74\xcd\x59\x87\x90\xc1\xaf\x86\x1f\xd5\x24\xbe\x96\x61\xba\xf8\xfa\xad\x95\x57\x65\x70\x4a\x08\x09\xc3\x03\xb7\xe2\x28\x40\xd4\xe7\x45\x02\x97\x88\x90\x78\x79\x29\x94\x42\x18\xec\x78\xbd\xae\x7f\xcf\x54\x7f\x10\x02\xf4\xce\x62\xba\x0f\x1d\xbc\xd6\x72\xed\xb0\xa9\x1e\x8a\x76\xf4\xac\xd1\x31\x09\x65\x91\x03\x81\xda\x5c\x0a\xfc\x90\xa1\x66\x8a\x16\x37\xf6\x33\xd6\xb2\x63\x24\x91\xb8\x4a\xad\xc2\xb2\xc3\xdf\xbd\xd4\x7e\x39\xc3\xd3\x90\xcf\x2c\x15\x61\xc1\x52\x71\xc5\x68\xb2\x4e\xfd\x99\x93\x5c\x30\xc2\x42\x38\x90\xe8\xb2\x62\xae\xee\xc9\xe4\x09\x94\x00\x0b\xe8\xd3\xbb\x0e\xc9\x8f\x15\x36\xe1\xc6\x86\x54\x87\x37\xbd\xb9\x58\xb1\xbb\xb1\x5a\x71\xb8\xb5\x58\xf1\x8d\xb5\xca\xdf\x59\xaa\xbc\x3e\x93\xca\xbf\x64\x02\x10\xe8\x40\x40\xef\x44\xe2\x60\x29\xa3\x4e\x9b\x8c\xc3\x4b\x24\x43\x30\xe1\x2e\xcf\xea\xc0\x3c\x1b\x72\xee\x3c\xe6\x36\xb5\x2a\x4e\x5d\xa9\xd2\x37\xd2\x59\x4e\x29\x1d\x29\x95\xd6\x75\x9b\x49\xb5\x99\xc6\x0a\x85\x52\x75\x08\xe5\x9c\x74\x44\x5d\x8d\x2d\x86\x7e\x4b\x21\xc3\x35\x9f\x29\x36\x6c\xc0\x94\x5d\x06\x7a\x63\x7a\x40\x51\xe1\x40\x08\xce\xbd\xd9\x89\x87\x73\x05\x6a\xab\x3a\xf2\x99\x4a\x5b\x0c\x10\xa9\x51\x25\x40\x39\x20\xaa\x0c\x9b\x4a\x88\x59\x8b\x40\x71\x88\x8e\x52\x8e\xdf\xb1\xb4\xff\xed\x8f\xfd\x3f\x1e\xcc\x2b\xad\x14\x7c\x19\x12\xb5\xba\x26\x0f\x22\x1f\xd2\x68\xf9\xb1\x1b\x64\x33\x35\x01\xe3\x6f\x71\xd2\xc6\x7b\x4c\x06\xba\x30\x0a\x74\xbf\x48\x2d\x95\x57\x99\x7b\x3d\x98\x3f\x2a\xc5\x52\x77\x95\x42\x54\xd9\xe6\x65\xb1\x65\xeb\xe1\xd5\xf1\x79\x41\x80\x28\x3f\xb9\xc9\x7e\xd9\xe4\x86\x98\xd2\x62\x04\xd6\xd3\xf7\x65\xd3\xe4\xd2\xb4\x07\xdf\xc7\x43\xf2\xb7\xa9\x84\x89\x1b\x54\x4e\x83\x1f\x23\x92\x99\x37\x69\x7f\x56\xa7\x66\xa4\x3f\xe7\x54\x50\xb7\x91\x14\x3a\xd1\xec\x9c\x16\x66\xee\xcf\x69\x87\xbf\x6a\xc7\x0e\xc1\xf0\x95\xd2\x6b\x58\x30\x85\x7d\x24\x12\xd9\xa1\x4e\xa1\xb2\xc1\x01\xf4\x58\x3f\xff\xf6\x1d\x09\xd5\xc1\xab\xc8\x91\xb9\x2c\xbf\xce\x8f\x05\xb4\x58\x25\x91\x77\xb9\x9b\xd5\x7c\x66\xa5\xbd\x97\xd5\xfc\x81\x34\xe5\x4b\x5a\xf3\xe9\x0d\xb8\x8d\xdb\x54\xb0\xb7\x73\xba\xf9\x3b\x73\xba\xe7\xed\x73\x14\xd4\x6a\x4b\xc1\xf6\xfc\xf4\xef\x65\x76\x41\x4f\x7a\x8e\x1f\x0b\x62\x90\x29\x43\xf2\xbb\xde\xc2\x83\x69\xd6\x83\x50\x93\xf7\x0d\xec\xe3\xef\xc9\x78\xfe\x40\xf4\xc4\xa8\x8b\x93\xea\xec\x6b\xb5\xb2\xbf\x52\xab\xad\x27\x24\x2d\x73\x8f\xce\xe9\xdd\x23\xca\x18\xe6\x05\x5d\x75\xfd\x2e\x0f\x98\x0a\xdf\x9d\xdd\xfd\x3d\xdd\xf7\x7c\x8a\x75\x9d\xdc\xa5\x73\x14\xb4\xb8\x95\x04\x9c\xf5\xda\xf6\xba\xe2\x54\xfb\x2a\x03\x78\x99\x7d\x6a\x89\xa1\xe5\x46\x5e\xe8\xdd\xb4\xe7\x30\xe3\x16\x0a\x3c\x34\x33\x34\x96\x3b\x19\xaa\x82\xdd\xac\xd9\x71\x47\xe4\x98\x93\x67\x0e\x9c\xb6\xb2\xbe\xdb\x00\x52\xcc\xf7\xb0\xc9\x75\x64\xad\xbd\x49\x5c\xbe\x9d\xf6\x6d\x2e\xf5\xe5\xce\x8c\x71\x6f\xb2\x3e\xe4\xe6\x46\x40\xb8\x93\xdc\x7e\xbb\x71\x4f\x6d\xaf\x5d\x8f\xab\xa7\x71\x9d\xd2\x76\xe2\xf1\x7b\xc7\x39\x9c\xa7\x60\x97\x34\xe4\x57\xa6\xe2\x67\xfc\x7f\x17\x70\xf0\x8d\x9c\xdf\xf7\xc5\xe5\x57\x6f\x38\x6d\x8f\xad\xf7\x9b\x42\xf4\x46\xca\x33\x6f\x60\xf9\xb2\x21\x2f\xde\xae\xfd\x6d\xca\x53\xdb\xdc\xe1\x7b\xdd\x78\x7c\xb8\xd9\xef\x24\x7f\x73\xb8\xc5\x60\xb0\x6a\xc4\x55\xf2\xb7\x1f\x36\x9b\x6f\xe0\xa1\x7e\xf9\xc8\x7c\xfd\xc8\x1b\xe2\xfc\x7e\xe3\x9e\x1c\x65\x7f\xdd\xc1\xf7\xbf\x8f\x96\x69\xb1\x4b\x37\x32\x4e\xb7\xb6\xd2\x5e\x57\x7a\xdc\x8f\x24\x88\xa3\xe9\x4f\xe2\x37\xc2\x5a\x58\x6e\x01\x86\x34\x94\x8f\xb2\xb9\x05\x78\x83\x90\xeb\xf9\x76\x7f\x15\x53\xbf\x50\xf9\xb7\xd3\x4f\x97\x78\xf2\x6e\x6a\xeb\xff\x87\x72\xd2\xaf\x7b\xeb\xb1\xcd\x5d\x6c\xe5\xfe\xd4\x4d\xd9\xff\xcd\x89\xe4\xe8\x82\xaf\x22\x8f\xfe\xd9\x03\x46\x36\x96\xcb\x73\x80\x92\xac\x00\xb9\xed\x72\x0b\x38\xd8\x08\x3f\x6a\xdb\x61\x0a\xb3\x60\x28\x83\x28\xfa\x32\x6a\xe8\x76\xd4\x92\xdc\x8b\x5a\x5a\x06\x38\xcc\x55\x87\x1f\x8b\x4b\xb8\x7e\x61\x0f\x02\x2a\x84\xcd\x31\xbb\x6d\x99\xa4\xc7\xa8\x6e\xf4\x49\xb7\x83\x05\xd6\x51\x04\xb1\xa3\x59\x6f\xc4\x17\xa4\x2b\x1c\xda\x3b\x61\x09\x26\x0b\xee\x6c\xec\x6f\xa8\x99\x4b\xaa\xa0\xae\x08\xb8\x8d\xdf\xcf\xc8\xb5\x3f\xe5\xa5\xfc\x00\xdf\xe1\x1d\x3c\xa4\x8d\xc1\x7e\x09\xf5\x59\x9f\x3a\xe3\xf9\xdc\x41\x0d\xb2\x79\xf0\xcc\x7c\x7e\x76\x61\x7a\x28\x98\xe6\xff\xac\x91\xf7\x19\x66\x84\xf3\x5f\xcf\x9d\x67\xfb\xe6\xef\xe3\x3d\x65\x69\x66\x26\x17\x35\x48\x17\xbe\x80\x6b\xf2\xed\x4d\xd0\x29\x37\xf7\x4c\xe3\x22\x93\x82\xcb\x88\x39\xe3\x89\x5a\x3c\xe3\xd9\xe3\x7c\x43\x59\x79\x03\x84\xf2\x52\x33\xeb\x1a\x64\xde\x8c\xfb\x7e\xe5\xfa\x1e\xfc\x96\x5d\x13\xf4\xa4\xac\xcd\xd0\x40\xd8\x71\x7a\xd4\xf5\x30\xf5\xea\x63\xce\x07\x44\xa0\xc4\xdb\xbd\x5a\x69\xe9\x25\xb8\xee\xd3\x4a\x49\xaf\x50\x49\x15\xd2\x20\xeb\x21\x73\x3b\x64\x1d\x9a\xbc\x5f\xdf\xc1\x94\xde\x79\xbd\xab\x71\xec\x6e\xfe\x2d\x70\x90\xf8\xbe\xf0\x63\x4c\x3a\xbc\x9f\x40\x6d\x1e\xef\xb5\xef\xd1\x22\xf3\xd6\x02\xb3\xf5\xc4\xaf\xf9\xd4\xd1\x0b\x79\xe1\x94\xc0\x94\x8c\xc7\xf0\xe1\x36\x70\x0d\xc3\x36\x9b\xe3\x47\xd8\x72\xfe\xdc\xa4\x25\xfd\x52\x15\x33\x71\xa1\xcb\xbe\x47\x5c\x3f\xf6\xaa\x8c\x8e\xc1\xf2\xb4\xf7\x08\x21\x28\x26\x29\xd8\x67\xe4\x6d\xe0\xf8\x32\x3f\x73\x2e\xea\xf4\xe9\x1d\xc7\x3d\x5a\x73\x76\x1e\x91\xe4\xa2\xe6\x8d\x54\xd6\x5b\x72\xe8\x47\xdb\xd1\x0d\x59\x1c\x8e\x2f\xd7\x77\x79\xdf\x5d\x39\x7d\xc0\xe8\xcf\xf3\x62\xd9\xa6\xdb\x30\xbb\x4b\x15\x6b\xba\x07\x92\xfb\xdd\x03\xe2\xa1\xd9\x74\xa6\x42\x5a\xbd\xca\xb8\xe5\x0e\x3d\x75\x88\xc5\xb2\xb5\x94\xbf\x37\x8c\xf7\xb5\x0b\x3f\xbd\x32\x1f\x97\x27\xa6\x11\xcf\xaf\x75\x79\x0b\x06\x60\xa3\xf4\xbe\x3c\xf3\xf0\x08\x31\xec\xed\x3d\x3e\xd2\x15\x36\xbf\x80\x7f\xd6\xe7\xe1\xfa\x0c\xb3\x4b\x24\xb5\x0e\x38\xbe\xac\x6e\x4a\x93\x82\x0f\xcb\xd5\xb8\xa9\xa6\x16\x15\x92\xd6\x1c\x31\xee\xaa\x83\x1d\x11\xb1\x44\xd8\xf2\x6a\xad\x0d\xf3\x3b\xa6\x82\x4e\x9f\x48\xa5\xe3\x65\x99\x6a\x5d\x94\x4e\xc7\x70\xbe\x0b\xb0\xc0\x3f\xa8\xf6\x60\x6c\x7c\x8f\x05\x61\x0a\xe9\x32\xc4\x7a\x28\x1f\x4b\x4a\x4c\xbc\xe2\x6d\x64\xc5\xff\x73\x85\x88\x71\x3a\xae\x0c\x13\x83\x04\x0f\xe9\x58\x57\xc6\x0c\x24\xc5\x6b\x3b\x62\x67\x61\x61\xce\x4c\xff\x7d\xd4\x8d\x33\xce\x34\x98\x65\x89\xdc\xf4\x5b\x7b\x65\x55\xf1\xc2\x9a\x22\x69\xba\xf3\xc3\xd5\xd3\x1b\x5c\xa5\x0d\x17\xde\x74\x73\x7e\xb8\xfa\x2d\xaa\x99\x13\x07\x24\x98\xeb\x17\x7b\x96\x9b\x7e\xdc\x76\x04\x50\xf9\x52\x2b\x35\xc0\x42\xec\x51\x9f\x3e\x5d\x77\xa2\xdd\xe4\x1f\xa9\x77\xf8\x68\xeb\xbd\xd6\xde\x0e\x2e\xaf\x3f\x6f\xac\x3f\x8a\x1c\x5b\xd4\x82\x5f\x0b\x35\x50\xe7\x6e\xcb\x34\x4a\xb7\xa5\x5a\x0f\x47\x5b\xcb\x35\xf6\xef\xcb\x13\x0f\x8f\x59\x3f\x6c\x38\x12\xed\xcb\x47\x5e\x52\xb1\x4e\xff\xbd\x27\x3a\xfb\xd3\x17\x0c\x6a\x05\x51\xdc\xdb\xfc\x69\xf9\xc3\x2d\x8b\xb4\x58\x70\x94\xc9\x9e\x6e\x10\xac\x55\xbc\xf6\x7c\xfa\x6c\x83\xd7\xaa\x5f\x0b\x15\x5f\x5e\x66\xe4\xa4\xa5\xf3\xe6\x6d\x6e\xe5\xd4\x88\x16\x81\xd9\x35\x74\x46\xad\xd4\x7d\x75\xef\xed\x35\xdc\x70\x1f\x1e\xdd\x16\xbe\xe9\xc7\xf2\x47\x1b\xd1\x48\x6c\xd5\x5b\xae\x45\x1b\xdc\xfe\x65\xeb\x8e\xe3\x4a\xb8\x61\x5a\x6e\x8b\xbc\x67\x07\xee\xef\xff\xf6\xd7\x5d\x35\xee\x09\xc8\xf0\x8e\x1a\xb6\xca\x21\xb1\xe8\x1a\xa6\x10\xe2\xa8\x0b\x8b\x85\xf5\x2c\x08\x0e\x01\x12\x25\x72\x2c\x94\x11\xa3\x51\x9a\x50\x89\x9d\x54\x19\x25\x0c\x56\x42\x01\xdb\xc1\xba\x00\x2e\xd0\xac\x52\x3e\xba\xd2\x69\xa9\xd3\xd0\x28\x4b\x19\x01\xd1\x51\xe2\x11\xf9\x07\xa3\x03\xe7\x55\x89\xef\x38\x39\xdf\xd2\x0e\x0c\x86\x86\xb6\x94\x8e\x91\x22\x58\xf9\xdb\x2e\x11\x57\xd0\x75\x2e\x99\xe2\x86\x42\xb1\x1c\x39\x50\x63\xde\x2f\x59\xe4\x90\xd2\x98\x9b\xd9\x58\x81\x72\xe2\xa5\x87\x0a\x40\xff\x39\x82\x01\xa2\xa9\x14\x24\x43\xac\x00\x0a\xcc\x8c\xee\x02\xa4\x00\x7a\xc2\x2a\x43\xa0\x58\x63\x8b\xc1\x65\x62\x64\x81\x37\x5c\x21\xdd\xe8\x43\x85\x8b\x62\x10\xef\x63\x15\xbc\x6b\xcb\x11\x10\x95\x1a\x6b\x31\x0e\xc5\x50\x6b\xfd\xa5\x9d\x5b\xfd\x58\x2c\x99\x0d\xad\x9f\x8a\x46\xcf\x9d\x3b\x63\xb1\x45\x51\x5b\x71\x54\x62\x0f\xd9\x60\xe2\xf9\xe9\xec\xa3\x9e\x3d\x26\x9a\x59\x5e\xc0\x16\xd4\xbb\x12\x86\xd2\xec\x26\xbd\x07\x45\x1e\x55\x4b\x43\xce\x96\xa7\xa8\xff\x46\xaa\x65\x14\x47\xf5\x88\x6f\x4e\x06\xaa\x8b\xa8\x13\xed\x69\xf0\x44\x2f\xfc\x06\xd1\x37\x62\x1d\xfc\x0d\xad\x5c\xa5\xc0\x80\x6f\xfc\x08\xf8\xbf\x25\xe3\x5b\x06\x38\x4f\xf0\x65\x6c\x68\xec\x46\xfa\x8c\x2e\x9f\xe5\x5d\x6b\x46\x58\x63\xb4\x3e\x99\xcb\x15\x7b\xe2\x6c\x75\xcc\xc4\x88\xf5\x51\x3e\xb7\x6d\x7e\xb6\x77\x70\x56\x4d\x60\xbe\xeb\xd5\xfb\x29\x4f\xed\x7a\x6c\x64\xfc\xf6\xeb\x3f\x7e\xff\xe3\x69\xee\xd6\x0d\xaf\x55\xec\x6e\xb0\x4d\xee\xd6\x5b\x19\x6f\x46\xa6\xca\xf5\x55\x07\xf6\x11\x6e\x85\x0d\xea\xaf\x55\x88\x49\xfa\x88\xef\x5c\x6f\x10\xbe\x5e\x65\xb7\xf6\xe2\xf3\x3d\x9a\xb4\xfb\xc0\xe1\xf1\x7e\x2a\x9c\xbf\xc7\xce\x96\x9f\x74\x37\xf5\x77\xf3\x9f\x4a\xa7\x9a\x6f\xd1\xa9\x86\xd7\x0a\x75\x47\xf5\x9e\x8d\x3d\xbd\x0d\x1f\xd0\x3b\x87\x6d\x0d\xe1\x2a\xbb\xcc\x0a\x5f\xf2\xc2\x5f\x56\xf4\x6d\x92\xb2\xa5\x0e\x70\xde\x1a\xcd\x37\x48\xd0\x98\x9f\x7d\x05\xbf\x3f\xcd\x7b\xca\x54\x81\xcd\x51\x17\x78\x20\x3e\x51\x65\x80\xc4\x19\x6d\x26\x1e\xa0\x01\xfe\x0b\xc7\x99\x57\x8e\x5b\xa4\x5c\x82\xf1\xc3\xf4\xa3\x85\x89\x79\x6a\x7a\xa8\xad\xcd\xb4\x95\x10\x29\x96\x06\xb1\x83\x30\x7b\x01\x55\x0b\x98\x5a\x60\x5b\xea\x4c\xd0\x75\x59\xc8\xb0\x02\xed\x80\xf0\x0a\x2a\x6a\x6e\xd6\xf8\x74\x47\x3d\x8b\x94\x64\x48\x9c\x37\xfa\x49\x88\x03\xf7\xa3\x69\x82\x25\xab\x11\x5f\xf2\x76\x4f\x15\xb2\xe4\x4c\x3d\xa2\xa7\x74\x0d\xd7\x43\xb8\xd9\x51\xde\x70\xbb\xf6\x09\x88\xa7\xa9\xe3\x9e\xb2\x2f\xc4\xa1\x0e\x38\xbe\x00\x57\x6a\x48\x9d\xf2\xcc\x73\x26\x0f\x5e\x34\x79\xb2\xbb\xfe\xf8\xc5\x7d\xfc\xfe\xc7\xaf\xa7\xdf\x7f\xfb\xc7\xfe\xc1\x94\xe9\x34\xb0\xdf\x87\x21\x74\x1f\x81\x0c\xf6\x5d\x4d\x61\x01\xd2\xe8\xdd\xd3\xed\xde\xe9\x87\x56\x8a\x79\x93\x1f\xf4\x2e\x61\xfb\x73\xdf\xc3\x7d\x7b\xdd\x71\xb8\xfc\xaf\xf5\xc7\xd3\x5b\x7d\xec\xb2\xce\xd5\xf2\xf5\x95\x8f\x3e\xd0\xf1\x97\x3f\xfe\xf1\xeb\xe1\xd1\x37\xc0\xa0\x10\x7a\xfe\x1d\x04\x2c\x41\x3f\xfc\x16\xce\x8d\x7e\x30\x37\x20\xfc\xb4\xfe\xaf\x03\xf3\xcf\xe9\xfb\xbf\xfe\xfc\xc5\xfd\xfd\xf7\x5f\x7f\xfb\xc7\x2f\xcf\x2a\x1f\x91\x7c\xac\x03\x50\x62\xe6\x4b\x41\xab\xd4\xea\x58\x28\x20\x60\x6c\x01\x9a\x21\x80\x8b\x93\x32\x06\x0a\x2e\x93\x94\x06\x59\x62\xc7\xba\x0c\x1c\xb4\x2d\x03\x87\x73\x76\x04\xb8\xa7\x9a\xc0\x7e\xae\xa4\x7a\x83\x11\xf5\x61\x74\x5a\xa9\xd3\xea\x19\x44\x84\x91\x81\x9c\x57\x76\x42\x0c\xd6\x3c\x96\x38\x72\x04\x58\x6a\x02\x04\x67\x32\x14\xcc\xb6\x58\xd2\x24\x37\xfd\x1b\x55\x97\x83\x9f\xf8\x39\xe8\xaf\x59\x57\x3f\x27\xa2\x01\xf5\x0b\x0a\xc5\xcd\xae\x16\x2a\x0d\xf6\xf4\x8d\xae\x46\x82\x97\x33\x6a\xf2\x08\xea\xe0\x08\xc8\xc3\xed\xce\xc6\x39\x37\x5d\x57\x73\xb6\x04\xb1\x45\x6f\xd7\x73\x6f\x33\x25\xa7\x2d\xe0\xd3\xa7\x00\xa3\x46\x57\xc9\xb2\x8b\x80\x81\xc2\x71\x34\x64\x5a\xb5\xf9\x8a\x8b\xc4\xc0\xe9\xf2\x79\xe1\x37\x94\xa2\xbd\xbd\xcb\xa0\xe2\x67\xca\xe1\x8e\x0b\xea\x5e\x77\x1f\xbf\x42\x86\xe9\xda\x81\xe4\x88\xbc\x91\x32\x27\x59\x72\x14\x24\x12\xe7\x38\xba\x38\x2c\x36\x95\x2e\x19\x29\xf0\xee\xbd\x33\x1b\x69\x50\xcf\x84\xbe\x15\x41\x3b\x95\x74\x55\x4b\x8f\xfc\xde\xa8\xe1\xcc\xd4\x84\x58\x38\x78\xee\x0b\x89\xda\xad\x37\x2b\xb9\x2e\xeb\xaa\x8e\x29\xee\xfc\x1a\xd3\x8d\x67\xcd\xea\xb9\xe4\x45\x55\x45\x6c\x64\x4f\xf5\x0c\x7c\x2b\x8a\xb7\x17\x77\xfd\x28\xd3\x33\x6e\xd4\xd3\xbb\xab\x51\x93\x81\x19\xc6\xc5\xfb\xb9\xc7\x36\x2b\x99\x15\x36\x7b\x2d\x95\x8b\xd3\xf7\x72\x7a\x64\x04\xdc\x9f\x67\x86\x35\x27\x39\xea\xeb\x9f\xd3\x73\x15\x02\x84\xe9\xe8\xc2\xb0\xcd\x0a\xb6\x2b\x43\xd0\x77\x5f\x5e\xf5\x63\xd4\x97\x72\xe7\xc5\x5b\x29\xeb\x17\x3f\x2b\x7d\xf6\xe4\xbd\xc0\xd7\x72\x14\xbc\x8e\x5b\x15\x5c\x97\xb3\x7e\xe9\xc1\xdd\xe0\x00\x43\x81\xfa\xc6\x2b\x36\x1e\x7b\x0d\x37\xdf\xb6\x95\xb3\xf1\xb6\xb7\x2a\xb0\x5b\xac\x38\xb5\x56\xde\xa7\x1e\xba\xfd\x9e\x57\xe5\x7f\xc7\x7b\xfe\xeb\xcf\x7b\x68\x13\xf7\x05\xaa\xb7\x5d\x86\xb2\x70\x9e\x14\xb5\xe0\x65\x74\xaa\x10\x2f\x56\x83\x1c\x0a\x15\x39\x72\xec\xa0\x0b\xd7\xc6\xae\xae\x47\x4d\xd7\xc2\xc2\x18\x39\x14\xa3\x2c\x0d\x6c\x83\x60\x8a\xb5\x1d\x1d\x89\x2c\xa1\x5a\x50\x80\xb3\x02\x22\x15\x1f\x1c\x65\x2e\xef\x89\x4a\x39\x00\x5f\x82\x4a\x4b\xaa\x2a\x03\x9d\xb7\x1a\x6c\xc1\x88\x34\xbd\xa5\x89\x19\xf0\x60\x7c\xe4\x40\xa5\x2e\xeb\xd9\x6a\xe9\xf2\x92\x48\xc1\x23\x21\x80\xe3\xf7\xb4\x55\x6b\x3d\x7d\x62\xd7\xb6\xe6\x34\x82\x6a\x38\x53\x2a\x79\xe9\x95\xd4\x99\x48\x4d\xe4\xa8\x65\x1b\x98\x40\xa4\xdc\x00\xdb\x06\x4b\xc0\x4c\xf8\x18\xc7\x00\x2c\xff\x85\xf3\x94\x41\x64\x8c\x0b\x8e\xba\x34\x83\x19\xd3\x8b\x20\x3a\x9d\x79\x44\xbd\x4e\x2b\x3e\xea\xd9\xb5\x93\xcf\x03\xf0\x3f\x44\xe9\x1d\x10\x17\xa8\x5d\x82\x17\x35\xbd\xa7\xa5\xab\xd1\x4b\xb2\xca\x9f\x5a\x9d\x30\x66\x9f\xc4\xc7\xb2\x2c\xa1\x3c\xe3\x63\xd6\xe5\xaa\x45\x5d\xb3\xf2\xe8\xb2\x79\xfc\x02\x2f\x2e\xf0\xe0\x0d\x39\x16\x8a\x52\xd7\xe3\x21\xb2\x8d\x07\x15\x0d\xb9\x54\x62\x5f\xf6\xa1\x67\x2d\xf2\x19\xd7\x31\x57\x07\x82\xe8\x1d\xe8\x40\xe0\xfe\xaa\xbe\x1d\x74\xd2\xa4\x40\x19\x1e\x52\xe0\xc7\x8b\x51\x0e\x84\x34\x66\xf3\x25\x86\x05\xc5\x89\x31\x7c\xe5\xaa\x0d\x92\xf2\xc3\xed\xb1\x7d\x39\x6d\x11\x0a\x3d\xbd\x19\xea\x64\x85\xda\x06\xdc\xef\x3d\xe5\x2c\xfa\x67\x21\x05\xc1\x03\xfe\x9b\x79\xec\x70\x83\x7e\xe9\x37\xc7\x76\x29\xa7\x72\x74\x14\x4a\x55\x25\x32\x19\x6d\xf2\xa8\x45\x3a\x8a\x7c\xa4\x50\xda\xc6\xc8\x42\x0a\x2e\x46\x56\x6f\x7a\x9d\x55\xce\x46\x13\xa2\xb5\x3f\x85\x8c\xfc\xdb\xfe\xf8\xeb\xdf\xf6\xff\xf8\xf5\x69\xa7\x48\x98\x60\x68\x66\xb6\x3e\xb1\x54\xaa\x89\x47\x07\x1a\xe5\x61\x49\x54\x04\x55\x0f\x08\x8d\xbb\x46\x2d\x30\xe8\x4b\xea\xe8\x0a\x45\x70\xbb\xd5\x38\x27\x02\x24\x16\xbb\x65\x64\x8b\xf6\x29\x79\xee\x29\xd5\x21\xc3\x52\x4f\x6f\x42\x2d\xe3\x7d\x85\x26\xa3\x9e\xef\x08\xe4\xb3\xab\x93\x64\xfd\x1b\x99\x10\x3d\xa0\x17\x65\x6a\xaa\x97\x0a\x15\xed\x4e\x7c\xe0\xb7\xa7\xf8\x2c\xae\x7a\xf5\xc9\x99\x29\x54\x56\x89\xf9\x57\xbd\x9a\xac\xd3\xd6\x71\x66\x53\xaf\x66\x8a\x0d\x3b\x33\x58\x43\x53\xae\x43\x25\xb9\xd5\xa5\x81\x12\x4a\xdc\xe8\xd1\x72\x7a\x8b\xe8\xd1\xa2\xd3\x70\x8c\x14\x22\xd5\x79\x12\xe6\xb9\x37\xf5\xc4\x00\x08\x33\x90\x2a\xe8\x5b\xf2\xd5\x8e\xf6\xcb\x0f\x76\xe5\xf3\x99\x58\x3c\x57\xbd\x98\x72\xab\x24\x25\x8f\x06\x4b\xb2\x11\x5a\x96\x22\xb5\x08\x6e\x6a\x9e\x32\x73\xd9\x03\x76\xb4\x2d\xd3\x81\x7c\x8a\x4e\x2f\x46\x61\x4e\x0b\x9b\x71\x4d\x85\x21\x9c\xde\xb2\x61\x5a\x36\xca\x21\x8e\x09\x12\x2d\x50\x0b\x8b\xcd\x69\x1e\xbc\x9d\x1c\x70\x52\x6b\x57\x99\xa8\x83\xf3\x72\xfb\x4f\xe8\xc4\x27\xbd\x7a\x33\x16\x56\xed\x43\xb5\x78\x46\x2c\x0b\x5b\x11\x8f\xa1\x50\xcb\x3b\xcb\xb2\x4f\x48\xf4\xaf\x19\xe0\xaf\x61\x7d\xa5\xa3\x66\x25\x61\x2f\x6d\x0e\x3a\x0d\xe2\xa5\xa0\x16\x5e\xa0\x5c\x74\x31\x8e\x05\xeb\xc1\xe2\x95\x96\x80\x94\x58\x89\x05\x66\x40\xdc\x55\x5b\x14\x86\xab\xbb\x9f\xea\xbc\x5f\xfe\xf1\x3f\x7f\xff\xe3\x7f\x3c\x3b\xf4\x7c\x0f\x1d\x5b\xb0\x72\xd5\x29\x28\x25\xd2\x1d\x7e\xab\x57\x66\x98\x84\x1b\xb1\x5c\x94\x8e\xc1\x12\x6f\x56\x04\x32\xfd\xdf\xfb\x45\x03\x14\x6f\x4d\x19\xd3\x49\xee\xd7\x27\xdd\xf9\xec\x6b\x3d\xba\xf0\x51\x8f\xe1\x03\x20\x72\xff\xe9\xd5\x73\x41\x2c\xea\x3c\x97\x6f\x8a\x1e\x52\x23\xe1\x1c\xb4\xf6\x54\xf9\x00\x06\x3c\x59\x46\x6c\x48\x57\x8a\x8f\xed\x30\x05\x6b\xfa\xfc\xe7\xfe\x22\xaf\x7f\x75\xf6\x1d\xa5\x2d\x7f\x77\x08\xa8\x88\x00\xe3\x43\xa2\xcd\x3f\xb7\x92\x37\x0b\x79\xe3\xbc\xd0\xe2\xd2\xd5\xf8\xe3\x08\x50\x1a\xfb\x71\x5d\xbf\xbf\x2e\x70\x59\x8c\x9b\x9a\xf0\x23\xd3\xeb\x39\xa1\x84\xbc\x59\xff\x0d\x29\x22\x7e\x48\x83\x7e\xf6\x1d\xbc\x48\xe9\x1b\x28\xc5\x75\x89\xd7\x15\x1e\x79\xab\x43\x7e\x2d\x47\x7e\xdd\x24\x94\x4e\xef\xec\xb1\x11\xf5\x8d\xe1\x2c\x01\xd3\xba\xc7\x57\x68\x14\xe7\xce\xda\xdc\x14\xd4\xfa\xb2\xd6\xc6\x79\x40\x98\x84\xc8\x50\x0c\xe4\x1e\xbd\xf6\xad\xf4\xc2\xec\xa2\x1e\x2c\xca\xfe\x35\xc1\x72\xce\xef\xec\x31\xa1\xbe\xb5\x5e\x79\xeb\xd7\xb7\xc7\x2a\xbf\x13\xb1\x85\x3b\x6f\x12\x28\x07\x84\x65\xa6\x57\x5e\x86\xf3\x15\x98\xdc\x19\x73\xe9\x1b\x7b\x6d\x76\x1e\x98\xad\x4f\xd9\xb6\x8a\xed\xd1\x98\x07\x6b\x34\x81\x0d\x10\x51\x70\xde\x86\xc4\xa7\x45\xd9\x31\xa5\x63\xfc\x88\x47\x17\x3f\x5c\x3c\x7d\xba\x3a\xf8\xeb\xff\x8b\x2b\xf6\x55\x7f\xfc\x91\x61\x74\x57\x49\x98\xe1\x0e\x44\x4c\xbc\x6b\x83\x1c\x2c\x4c\x49\x22\x22\x1d\x5c\x5a\x93\x7f\x7b\x58\x93\xbe\xe6\x5d\x30\x14\x16\x35\x79\x81\x4d\x31\x2c\xb1\x29\xfc\xe5\x6a\x8b\x81\x48\x8b\x70\x49\xd4\x7f\x7a\xe3\x79\x2b\xf8\xd2\x88\x75\x1b\x10\x13\x7f\x69\x02\x55\xfd\x1e\xc6\xed\x06\xb0\xbb\x6e\x81\xdb\x68\x02\x28\x86\xe7\xd1\x15\xb6\x1b\x70\x87\x17\xb7\x9e\xde\xd8\x28\x1b\xef\xb0\xed\x5e\x9d\xee\xbc\xaf\xf9\xab\x72\xf9\x21\x64\x89\xeb\x97\xfc\x58\x0c\x60\x1e\x16\xfe\xed\xa0\xbd\x1b\x01\x90\xe1\xe6\x40\x1d\x33\xff\xa2\x10\xb7\xa1\x8e\x80\xe8\x18\x96\xe4\xed\x57\xae\x4b\x2b\x65\x36\x6f\xf2\x50\x4f\x6f\x14\xb0\x43\xbb\xca\xe7\xbf\xdc\x33\xcf\xd5\x38\x57\x4c\x95\x87\x3a\x6e\x55\x7b\x05\x60\x74\x6e\xfe\x02\x2b\x64\x38\xd3\xef\x6e\x76\x72\x3a\xbd\x95\x33\xef\xf1\xf2\xd5\x19\x63\x6f\x5d\xbe\x39\x1e\xca\xfd\x17\xc7\x8f\xbd\xb8\xff\xf9\xe7\xdf\xf7\x7f\xbf\xb7\x33\x34\x07\x5f\x51\xc9\xb8\xa1\xf5\x94\x8d\x15\xbf\x9c\xde\xda\xc0\x4b\xe0\x9f\x29\x58\x50\x36\x12\x69\x64\x3b\xc8\xef\xcb\xdc\x5a\x04\x94\xca\x4a\x95\x6b\x58\x58\xbe\x50\x77\xf2\xea\x36\xb0\x6b\x7c\xad\x8c\x18\x64\xaf\x09\xfa\xb2\xa9\x8e\xe4\xef\xd2\x14\xf2\x3d\x4d\xe1\x2e\xca\xd2\x1d\x30\xec\x92\x86\x10\x5f\xd7\x21\xcf\xec\xae\x82\xa5\x79\x89\xca\x20\x16\x96\x0f\x34\xc8\xf7\x8d\x88\x9f\x7a\x89\x6d\x59\x39\x0c\xfb\x7f\xc7\x8d\xa0\xa4\xa9\x3d\xa7\xb7\x60\x84\xc1\xb8\xe8\x76\xca\x68\xa6\x72\x20\x6e\xc1\x51\x2c\x89\xa2\xa3\x4a\xb1\xa3\x6b\xdc\x4d\x52\xe5\xdb\x49\xaa\xa7\xb7\x38\x20\x42\x69\xe6\xd1\x61\x50\xc1\xfa\xf7\x82\x9e\xb2\xb8\xee\x32\x44\x00\x5c\x0d\xd1\xc2\x6c\xef\xb9\x71\x1e\x9d\x63\x0f\x89\x46\x03\x56\xdf\x8a\xd7\xbd\x93\x2e\x75\x07\x5d\xfd\x26\xbd\xc8\x73\x93\xad\x74\xb3\xe9\x5b\xd6\xce\x41\x90\x80\x9a\x90\x19\x1f\xe5\xbe\x32\x24\x4f\x2b\x43\xfd\x31\x0b\xa5\xa1\xbc\xcb\x87\x1c\x23\xe0\x62\x9e\x99\x15\x96\xc9\x98\x3f\x54\x87\x5b\x45\x1c\x4e\x31\xd7\xeb\x60\x2a\x0f\xe0\x4c\x55\x9e\xca\x46\x4e\x65\x0f\xff\x8e\xa0\x28\x5d\x62\x5d\x78\xb2\xdc\x23\xe4\x39\xcc\xeb\x43\x53\x4e\x6f\xa0\xe4\x05\xaa\xf8\x36\xcc\xb7\x50\x2d\xe1\x00\x92\x5d\x0a\x31\x11\x87\x6a\x34\xbc\xf8\x52\xac\xbd\x5b\x2f\x7f\x33\x79\x68\xe2\x1b\x5f\x8c\xa7\x09\x62\xc4\x1e\x61\x2b\xe6\xab\x6e\x45\x7c\x3d\x3d\x2d\x7e\xff\xb7\x67\x89\x3d\xca\xd0\x36\x30\x6b\xf4\x4b\x06\x5a\xed\x0d\x99\xf4\xce\xfc\xb1\xa4\xb6\xea\xf9\x05\x05\x01\x77\xeb\xd0\x46\x24\x1a\x73\xf9\x70\xcb\x33\x30\x20\x42\xc2\x6e\xea\x2a\x4e\xde\xb2\x0f\xca\x7b\x43\xee\x51\x1b\xfc\x37\x55\x3e\x3a\x83\xb8\xc8\xd0\x29\xb6\x86\xfa\xe1\xee\x44\x3a\xde\x9e\x47\xf7\x66\xd1\x73\xb6\x9e\xbe\x8b\xe7\x0c\x3d\x70\xdc\xae\xc0\x5d\xf4\x8b\x7c\xc4\x9b\x79\x12\xe5\x63\x99\xb9\x7e\x95\xe8\x61\x39\x3f\xab\x6c\x08\xfc\xfb\xe1\x16\x21\xc6\x2c\x18\x0c\x30\x94\x36\x93\x40\xe4\x68\xf8\x38\x79\xf0\x5b\x01\x8e\x73\x1e\xb4\xf3\x50\x8f\xdb\xb8\x63\x9b\xa1\x93\x4f\xd9\x45\xbf\x1f\xfe\xb1\xff\xdb\xd3\xde\xfd\x4c\x6a\xe4\x50\xf5\xeb\xa5\x39\x55\x5d\x9b\x33\xd5\x78\xa0\x82\xe8\x3a\x92\xd0\x10\xa2\x43\x4d\x92\xde\x33\x0a\xd5\x98\xc0\xe0\xbb\x11\x38\x8c\x22\x8e\x28\xc0\x0f\x54\x40\xb9\x6a\x85\x38\xbd\xd9\x8a\x51\xf3\xea\x5c\xc6\x52\xb7\x38\x57\xa4\x5a\x4d\x8d\x9b\xa7\x51\xd6\x8e\xad\xc4\x42\x48\x44\x59\x45\x15\x0b\x23\x32\x55\x5b\xe2\xa8\x44\x02\x5a\xa9\x3e\x4d\xf5\xc9\x8a\xd9\x5d\x7a\xe2\xf4\x69\xf5\xe6\x96\x8c\x51\x0e\x0c\xd1\x09\x0c\xd8\x54\xab\x50\xcc\x30\xce\x32\x92\x71\x3c\xaf\xd8\x3e\x62\xce\x7a\xdd\xf9\xd1\x63\x0c\x7a\x33\x19\xab\xb1\x9e\xba\xee\xb8\x03\x85\x28\xf8\x4b\x29\x4c\x17\xe8\x67\xef\x7b\x34\x60\xa0\x9c\x1c\x0a\xa9\x55\x50\x83\x15\x61\xbd\xb7\x68\x81\x71\x27\x6b\x0b\xce\xcf\x1c\xb5\xed\x78\x00\x2d\x67\x3a\xdf\x3b\x7f\xb3\x10\x77\xae\xc9\x3a\xff\x47\xc6\xe6\xb3\x78\x04\x2d\x44\xca\x69\x11\xad\xcf\x09\xd4\xf3\xfe\x43\xa8\xe9\x62\x96\x80\x56\xaa\xe6\x7a\x03\x1c\x34\x53\x6a\x7a\xd7\x18\x29\x64\x20\x5b\x64\x39\x00\xa1\x14\xc8\xb6\x09\x0c\x5b\xfa\x89\x2b\xf9\x88\x62\x96\x72\xe2\x7c\x5e\x2d\xb1\x00\xc2\xba\x90\x57\xd2\x04\x05\xe8\xa5\xaf\x68\xd3\xd6\x69\x94\xb4\x03\x7d\x2a\x07\xf2\xa5\xac\x42\xab\xd9\x93\xd4\xfc\x8e\x12\x2c\x7d\xa4\xe8\x73\x38\x7b\xa2\x6c\x5c\xfb\x6d\x37\xf5\x46\x05\x12\x6b\x63\xaa\xb2\x48\xd4\x48\x91\x42\xd8\x21\x4c\x46\xa8\x55\x59\xda\xc5\x94\xa2\x3d\x2c\xdc\x81\xad\x91\x2f\x8d\x62\xb3\x33\xe3\xe5\x31\xe5\x40\x6a\x1e\x0b\x53\x8c\x6c\x67\x29\x04\xeb\xee\x99\xdc\x4a\xc0\x52\xb5\x3b\xad\x9b\x66\xa7\xcd\x12\xb7\x07\xdb\xb2\xd1\x77\x6a\x16\x03\xbc\x7c\x11\xab\xd2\x0b\xb6\x4e\x7d\x6a\xdc\xfd\xf1\xb7\xe7\x39\x45\xee\x02\x85\x6c\x10\xff\x54\x73\x93\x25\x4a\x5e\xc6\x40\x31\x64\x6a\xb5\xae\xe1\x44\x38\x52\x29\xf1\x98\x49\x4a\x59\x6c\x6f\x5b\xae\x43\x08\xb6\x86\x48\xd6\xbf\x69\x1c\x06\x44\x34\x2c\x7e\x35\xbd\x2d\xbc\xab\xc5\x9a\xdb\x9e\x2a\x1b\x26\xba\xae\x55\xe4\x63\xfb\x22\x33\xe2\x0b\x92\xa0\x25\x47\x8c\xe5\x47\x76\xd2\xb1\xaa\x76\x4f\x3a\xba\x4a\x99\x11\x94\x15\x9b\xfe\x1d\x48\x32\x13\xb7\x4c\x45\x25\x69\x23\x00\x6e\x73\xb2\xe7\xdd\x30\x54\x5f\xf9\x76\xb0\xde\x02\x10\x29\x7f\x83\x01\x65\x6e\xd7\x6c\x46\x15\xab\xfd\x70\x94\x55\xd2\xf1\xbb\xaa\x60\x1f\xf1\xb8\xc4\xbd\x9b\x10\x23\xef\x58\x06\xf0\xa4\x97\x15\x64\x07\x52\x0c\xf3\xc7\xa6\xf5\x33\xdf\xca\x2a\x9d\xe4\xca\x52\x71\x37\xa0\x4d\x36\xed\x2e\xab\x75\x49\x8b\x85\x5a\xdb\x63\xb5\xb6\xab\x5a\xdb\x77\xd5\x7a\xd3\xd8\xbb\x51\xef\xa6\xa9\xd7\x6b\xe6\x8d\xb4\xf0\x5b\x55\x3f\xa0\xd6\xeb\x1c\x7e\x9a\xa9\x84\xb7\x32\x69\x0c\xb1\xe6\x63\x23\x5d\x26\x58\x22\x4d\x20\xe6\x30\x06\x82\x6e\x22\x69\xa9\x20\x02\x1c\x20\xeb\x4c\xe7\x9b\xbe\x86\xc9\x20\xbe\x84\xa7\x9d\xfb\x89\x8f\x8e\x79\x5b\x73\xdc\xc8\x99\x81\x57\x63\x13\x98\x92\xd9\xc2\xd2\x23\xa5\xf7\x42\x61\x04\x4e\x3f\xd5\x45\x04\x44\xe4\x4c\x99\xc3\x51\xa8\xa6\xd7\x3b\x3e\x87\x39\xfc\x9a\xca\x37\x6d\x0a\x4d\x38\xb6\x85\xca\x31\x4e\x3f\xb0\x67\x12\xc3\x90\x89\x1f\x81\xf8\x18\x68\x7d\x2e\xce\x6e\x77\x54\xfa\xc4\x82\x2f\x48\x96\xcc\xa5\x83\x7c\x6c\xea\xef\x37\x46\x1a\x66\xc5\x1a\x00\xe6\xb5\x5e\x3b\x68\xeb\x20\x1f\x0e\x3e\x1a\x43\xdb\x59\xd5\x99\xbf\xbf\xce\xf5\x64\x5e\xd6\x99\xaf\xeb\x5c\x31\xb4\x0e\xf5\xfb\xeb\x5c\x73\x45\x2c\xeb\xac\x56\xe7\x23\xb3\xe9\xaf\x7f\x8c\xbf\xfe\xf6\x28\xe2\x4c\xf7\x33\xcc\xe5\x51\x48\x43\x82\x77\x78\x43\x30\xcc\x7f\xbd\x7e\x8e\xb0\x2d\x92\xfc\xd6\xd6\x2e\x79\x3e\xbd\x75\xa8\xa3\x1b\x62\xe9\x89\xea\x79\x03\x3e\xe7\x4e\xfd\x86\x80\x78\xc3\xd7\xbc\x29\x16\xe5\xa6\x5c\xc4\xb2\xbe\xe1\x80\xbb\x0d\x69\x88\xea\x6f\x3e\x7e\xde\xac\x7f\x83\xd2\xed\xba\xfe\xad\xe7\x5f\xa6\xf1\x4f\xc8\xd9\x8f\xe0\xd3\x0d\x1b\x8e\x5c\xdb\xe9\xfc\x40\x6c\xc7\x42\xf1\xb9\xf2\xd0\xae\x34\x27\x88\xd7\xf8\x9a\x36\x32\x52\xcd\xbb\x0a\x07\x6d\x27\x2b\x0e\xf4\x85\xce\x72\x3b\x9b\x33\xdc\x4b\x22\x8d\x77\x55\xa5\x1f\xf1\x4c\x4d\x93\xee\x41\x77\xed\x2a\xa9\xf2\x89\x3d\x0e\x13\xe3\x9b\x28\x0d\x77\xc6\xbc\xdc\xac\xf9\xe6\x84\x5b\x12\x2b\x86\xa9\xee\x4d\x8f\xf3\x17\xf3\x5d\x6e\xd4\xfe\x7d\x2e\xe7\x2e\x6d\x1e\x07\x46\xfa\x7a\xe3\x63\x0b\xbb\xa3\xbb\x6f\x57\xd8\x76\xcc\xe9\xe2\x7c\x5d\x03\x07\x77\x7c\x8e\x8d\xdb\x6c\xbe\xc3\xf5\x7a\xfa\x0c\x6b\xea\xc6\x2b\x7d\xe0\x46\xae\x6c\xdb\x76\xc0\xde\x42\x3e\xfe\xf8\x11\x3c\xc6\xbf\xef\x0f\xff\x63\xff\xb7\x67\x3d\xae\x6a\xb0\x34\x1d\x27\xcb\x10\xf2\x40\xc2\x61\xf0\x63\xa5\x8a\xc0\x83\xd0\xea\x81\xb2\x0f\x14\x5a\xa4\x56\x23\x35\x2f\x60\x0b\x67\x4a\x25\x1e\x1b\x35\x70\x4e\x2d\xfc\x41\x02\x56\x39\x91\x3a\xba\x6a\xfa\x46\x58\x72\x1c\x83\xff\xc5\xd7\xc1\xdb\x25\x0e\x97\xac\x7d\x46\x99\x52\x28\xef\x99\x72\xc7\xee\x29\x14\x2b\x90\x1e\xc0\x59\x0e\xec\x8c\xb8\xbb\x3c\x8d\x1a\xe5\x05\xa1\xbc\x51\xea\x1a\xba\xc3\xb7\xac\x15\x06\xaa\x41\x2f\x31\x4c\x7c\x6f\x03\x1f\xb0\x3f\xa0\x3a\x2a\xc1\x55\x62\xdf\x40\xe3\x91\x75\x2c\xd4\xdc\x10\x4d\x92\x76\x99\x5a\x94\x41\x28\xfa\x3c\x44\xb0\xff\x67\x23\x5b\x47\xf2\x14\x23\x6c\x8e\x8b\x96\x82\x7d\x31\x4a\xfd\x11\x8e\xae\x51\xe0\x11\xb8\x55\x82\x08\x65\xf6\x14\x77\x11\xcc\xe1\x85\xb2\x2c\x43\x92\x29\x57\xf0\x59\xc6\xd3\x27\x57\x8a\x60\x37\xe7\xa8\x9d\x05\x08\x18\x8e\xf1\x9d\x99\xa4\x08\xca\x74\x5a\x66\x3e\x6a\x1d\x18\x99\x2a\x44\x43\x8e\xa0\x49\xa4\x0c\x72\xf2\xe7\xe2\x96\xa7\x61\xf6\x9c\xeb\xa8\x91\x0f\x94\x4b\x5d\x32\x9a\x06\xf2\x32\xf8\x1d\x53\xae\xaa\xf3\xc7\x22\xcb\x4c\x83\x41\x48\x6a\x3d\x66\x2a\x5c\xb0\xa0\xa4\x4a\x70\x2a\xa9\x59\x9f\x2c\xd6\x76\x04\xbb\xb9\x2e\x48\xa9\xac\x76\x7e\xbc\x04\x44\x79\xfa\x10\x9d\x5d\x31\xdf\xfa\xd5\x52\x74\xf8\xe4\x77\xd4\x74\x40\x1a\x9b\x83\x0b\x85\x9a\xf6\x19\x80\x43\x10\x37\xed\x83\x0e\x8a\xaa\x82\x2d\x83\x2d\x91\xe7\x52\x32\xeb\x28\x16\x92\x08\xd8\x9d\x84\xfc\xba\x5c\xa9\x44\x71\x02\xcf\x66\x20\xf1\x80\x33\x49\xc5\x51\x6a\x2a\xa1\xab\x0c\x91\x24\x8d\x3a\x52\xb8\x50\x45\x18\x65\x06\x99\x18\x53\x8e\xec\xa8\xb2\x25\xe7\x01\x05\x23\xdb\x58\x4a\x94\x6a\x3d\x26\xbd\x45\x3b\xc5\x37\x41\x04\x2d\x57\xe2\x58\x80\x6e\x22\x94\x75\xd1\xd6\xe1\xff\x5e\xa8\x65\xd9\x9d\xef\x3b\x7d\x22\xbf\x23\x0e\x89\xaa\xec\x0c\x41\x2d\x52\x29\xd9\x2e\x1c\xc5\x76\x90\x23\x9c\x28\x99\x17\xce\x82\x5e\xc1\x73\x63\xe8\xef\xbf\xfc\x81\xbb\x9e\x14\x56\x99\x3c\xe8\x29\x54\xf1\xa8\xd9\x78\x93\x0a\x45\x09\xc8\x39\xa0\x26\x6d\x74\xe0\x91\x69\x04\xd6\x27\x6e\x79\xb0\x23\x76\xf3\x74\x0a\x86\x7a\x00\x41\x6b\x8d\x94\x12\x58\x9d\x58\xc7\x90\xe8\xf0\xcb\x6d\x9f\x28\x34\x10\xde\x37\x43\x59\x8a\x06\xd7\x93\x22\x1f\x60\x4f\xe9\x0d\x12\x1c\xa5\x04\x92\x18\x08\x9e\x18\x46\xad\xd4\x69\xa5\x8b\x20\x93\x64\xe1\x23\xe9\xba\x59\x99\x4a\x53\x29\x52\xac\x0a\xd5\xba\x4a\x1c\x42\xdc\x2f\x4f\xe8\x5b\xaf\x3a\x36\x9b\xf1\xe7\xb5\x3c\xd8\xd1\x77\x08\x3c\x7d\x9c\xd2\x90\x5c\x54\x6a\xa2\xc2\xc9\x45\x92\x06\x4f\x7e\xcd\x7a\x7b\x4a\xda\x34\x6e\x68\xdb\x8b\x96\x07\xfc\x90\x6a\x04\x54\xbd\x3f\xf5\xd1\x0c\x91\x31\x90\x14\x2d\xa1\xe8\x5c\xcc\xc5\xfa\x69\x2f\x54\x00\x22\x50\xb8\x73\xa2\x52\x6c\x15\x42\xcf\xfa\x32\x60\x34\x7b\xed\x4c\x64\xf0\x4e\x67\x0b\x9e\x3a\xe2\xa9\x55\xe6\x63\xce\xe8\xd1\x5b\x8a\x52\x6d\xbd\x43\x81\x23\x54\x62\xe8\x0e\xb3\x48\xb5\x8e\x95\x12\x17\x57\x49\xe2\xaa\x4f\xc1\x63\x95\x0d\xa5\x14\xfb\x6f\x7a\x0d\xe2\xb8\x06\x3b\x4e\x7a\x86\x41\x03\x82\x81\x30\x58\xb5\xaa\xca\xe8\xc3\xe3\x85\x59\xaf\xf0\x3e\x52\x60\x78\x5a\xed\xf9\x54\x22\x08\xb8\xfe\x82\xe5\xc6\x24\x87\x21\xa6\x73\x3f\xbb\xcb\x49\xbd\xaf\xea\x62\x11\xac\x3b\x3d\x06\x21\x3b\x1d\x86\x3f\x36\x3b\xbe\xce\x7c\x6c\x00\x90\x0a\xc4\x58\x74\x7d\xd4\xbe\xf7\x9d\xb2\x56\x57\x29\x19\xfc\x41\x67\xb4\x8d\x0b\x01\x57\x2b\x38\xe7\x10\xe7\x6e\xfa\x8b\x34\x97\x29\x62\x3d\xcb\xe9\xea\xeb\x9e\xb2\x04\xfd\xeb\x13\xbe\xb6\x8a\xfd\x8e\x9a\xf4\x6f\x72\x6a\xb6\x58\xc6\x04\x6e\xb9\xa4\xe3\x73\x15\xd6\x95\x2d\x97\x66\x17\xc1\x2c\xdb\x74\x7c\xec\x43\x67\x30\xd4\xa3\xbd\xa3\x88\x4c\x2e\xd0\x32\xf7\xa3\x4d\x3a\x1f\xf5\x25\x69\x9b\x9c\xb6\x29\x1f\x98\xc0\xfd\x19\x0b\x06\x65\x46\x6e\xb3\xce\xff\xd4\xf9\xab\x62\x16\x3d\x56\x1d\x57\xd9\x2e\xad\xec\x12\xd6\x96\x16\xeb\xf0\xff\xb2\xf7\x2e\xcb\x8d\x24\x3b\x9a\xf0\xab\xc4\x0b\x38\xcc\x01\xbf\x2f\x65\xb5\xd1\x82\xb9\x6a\x33\xed\x35\x3c\x79\x5a\x69\x1d\x3a\x55\x53\x79\x0e\x7b\x7e\x3d\xfd\x6f\xf8\xe0\x41\xc6\x8d\x14\x93\x59\xd5\x3d\xd3\x56\x66\xa9\x90\x92\x8c\xf0\xf0\x2b\x1c\x80\x03\xdf\x57\x28\x71\x78\x4a\xa4\x3b\x8a\x5d\xfb\xf9\xbd\xce\x28\xc9\x26\x13\x74\x87\x66\xc4\x3e\x20\x0b\x2a\xe8\x32\x48\x58\x37\xb5\x21\x33\xa0\x59\xfd\x12\xc5\x4e\x3f\x1d\xbc\x75\x2a\xb2\xd5\x44\x35\x81\x58\x05\x62\x5f\x2b\x5f\x83\xd5\x7e\xd3\x39\xd5\xb2\x18\x46\xed\xf5\x2a\xd6\xed\x4f\x81\x42\xc3\x26\xd8\x26\x70\xd4\xc8\xcd\x0e\xf3\xd7\x5f\xe9\x46\x82\x6c\x12\x0f\x32\xd4\x04\x54\xe8\x64\x8d\x62\x39\xb7\xc9\x51\x93\x48\x21\x23\xc1\x07\x29\x53\xde\x36\x21\xab\x1d\x92\xf7\x73\xfc\x2c\x49\x53\x27\xdd\xa3\x02\x1b\xd6\xf3\x6b\xe7\xc6\x9a\x94\xaf\x0c\x08\x80\x54\x00\x5d\x98\x75\x8d\x42\xc3\x29\x3a\x35\x8c\x07\x5f\x32\xd0\xed\x7c\xd0\xc9\xed\x55\xeb\x9f\x46\x4c\x1f\xf7\x49\xb5\x1b\x6d\x13\xce\x62\x24\xe9\xa0\x27\xe0\x7a\x35\x2e\x3a\x1f\x4b\xd5\xad\x3e\x3f\x4d\x28\x11\xba\xb3\x6b\xaf\x04\x7d\x23\x9b\x3c\xc0\x18\x14\x2d\x3b\x86\x66\x89\x39\xba\x05\x94\xa8\xab\x1d\x39\x60\x59\xc5\x9a\xc5\xc2\xd4\xe4\x90\xde\x88\xac\x9a\x33\xf8\x84\xea\xb7\x85\xd8\x87\x23\x8e\xf2\x74\xd8\x13\x4e\xf6\x44\xf5\x19\xca\x31\xaa\x2c\x0b\x89\x82\x37\x25\xc2\x64\xb4\x2e\x00\xd4\x41\x15\xcb\x80\x80\xfe\xd6\x74\x5e\xb7\x89\x3d\x99\xaa\xa3\xea\xf3\x51\x48\x42\xd6\x06\x1b\xc9\xaf\x3e\xe3\x01\xb1\x8a\x9d\x2b\x30\x3f\x69\xcf\xc8\x60\xd7\x1e\x44\xcc\xf9\x75\x42\xc4\x60\x2a\x2a\xac\x5a\xd5\xb9\x0a\x0b\x1a\xbb\x5d\xc5\x46\xe1\x13\xd2\xa0\x83\xf6\x98\x17\x7e\xba\x8c\x12\x7b\x1b\x38\x80\xfc\xcd\xd0\x3a\x20\x1f\x7b\xd9\xec\xe2\x2d\xa0\xdd\x4f\xa6\xd3\xa3\xe9\x93\x83\x7f\x0d\x43\x38\xcf\x04\x28\x34\x3e\x0f\x05\xec\x92\x76\xed\x26\x28\x56\x70\xd3\x01\x17\xa1\x20\xaa\xd4\x09\xe5\x90\x1c\x61\x1d\x20\x50\x2c\x01\x35\x47\xaf\xfd\x80\x35\x08\xc0\x90\xd5\x3a\x14\x99\x7e\x4d\xf1\x81\xd8\xec\x59\x22\x66\xad\x4e\x12\x88\x9d\x8c\x19\xa5\x73\x96\xb5\xec\xb2\xc4\xf6\x70\x82\x64\x2c\x1d\x37\x7d\x0e\x47\xf5\xc1\x92\x4f\x31\xdb\x80\x20\x18\xbd\x6a\x1c\x35\xd4\xc5\xa3\x36\xb9\x7c\x4b\x47\xe2\xac\x53\xca\x17\x5d\xad\x3a\xd5\x7b\x50\x9c\x2a\x65\x01\x72\x4e\xb5\xeb\xa2\x76\x2a\xab\x61\x56\x9a\xa3\x18\x12\x95\x8c\xdc\x30\xad\x65\xa1\x88\x91\x6f\x88\xa6\xc9\xaf\xcc\xc4\x61\xb0\x6b\xd7\x26\x42\xa6\x56\xe6\x48\x24\xec\x85\x6a\x53\xfb\xa1\xe5\xa3\x6e\xf6\xe0\xbe\x26\xd5\x8b\x4b\x69\xba\x7b\x3b\x4b\x90\x0b\x6a\xc5\xa6\x58\x75\x31\x03\x64\x2f\xa8\x1a\x89\xf5\x59\x9e\x6c\xb8\xd8\x83\xb8\xe3\x1d\x3e\xf3\x30\x6f\xa7\xe1\x04\x5d\xe0\x4f\xd8\xdd\x64\xf8\xb8\x35\xaf\xfe\xf5\xfd\x4e\x7f\x6a\x5b\xf3\x20\x9e\x79\xaa\xc3\x1a\x80\x23\x01\x80\x53\x26\xcc\xf7\x1f\x7f\xee\x2e\x0b\x5e\x6b\x7e\x9f\x53\x6a\x58\x9f\xa3\xf5\x1a\xd4\x9d\x0a\x9c\x0c\xa4\x1d\xaa\xe2\x0f\x3f\x76\x77\xbd\x7f\x04\x3a\x1d\x44\x0d\x65\x1b\xb8\x76\xda\x26\x04\x4e\x15\x59\x50\xb9\xe1\x71\x64\xd7\x18\x94\xe9\x0f\xb7\xe8\x13\xef\x12\xcb\x2f\x13\x85\xcf\x85\xc8\x67\xe0\xef\xf0\x80\x9c\xd9\x7c\xe6\x3c\x3e\x03\xf3\xbf\xf1\x30\x23\xf3\xf9\x78\x67\x06\xef\xc6\x8c\xca\x47\x95\xd1\x36\xa7\xf2\xd1\xda\xde\xd0\x11\x7f\xa0\xdb\xef\x74\x65\xae\xdc\xde\x53\xb7\xaf\x3d\xe5\xd3\xa1\xec\xb2\xdb\xed\x71\xb8\xaf\xed\x1c\x62\xa7\xdb\xe3\x6e\xb7\xc7\x7b\xba\xdd\x0f\x75\x22\x05\x62\xce\x83\x9f\x48\x81\xd8\x0f\xf5\xe3\xbd\xc2\x9d\x3e\x23\x05\xd2\xce\x0c\x73\x52\x20\xad\xc3\x0d\x73\xf4\x93\xce\xfc\xfa\x0f\xf7\xcf\x5f\x7f\x7d\x94\xc4\x84\xa9\x41\xc2\xfa\x55\xc0\x44\x53\x19\xe8\x03\x08\x43\x79\x8d\xf0\xa9\x36\x38\xa5\x1c\xc6\xdc\x41\x4f\x91\x41\x5c\x89\xe3\xe6\x64\x06\xd9\x0b\x1e\x1e\x64\xbf\x3e\x3f\x07\x48\x48\x21\x2e\xc9\xe1\xba\x76\xa9\x5a\xd6\x82\x2f\xc9\x6d\x1e\x76\xfd\x69\x7d\xaf\xda\x40\xaa\x0b\x49\xd6\x9e\x5e\x87\xb0\xe4\xe0\xb4\xba\x23\x32\xb4\x2d\x03\xe2\x9d\xd5\x3c\xc6\xee\x51\x0b\x72\xf4\x43\x76\x85\x7c\x38\x44\x02\x2e\x80\x6f\x3c\x26\x0a\x58\x44\x41\x62\xdf\xb1\x17\x7c\xd0\x7a\x13\xdc\x5f\x32\x0a\x95\x02\xb4\xa0\xe2\x75\x51\x7b\xdb\xb0\x86\x48\x81\xab\xc3\xf5\xe3\x1d\x5e\x2d\xd0\x20\x96\x32\x66\x62\x8e\x0e\x57\xf8\x60\xfa\xb5\x7f\x62\xdf\xda\x27\xb8\xf6\x23\x1c\xfe\x73\x36\x9d\x69\xfa\x3c\xa6\xd0\x20\x84\xc8\x2f\xf8\xec\x75\x2b\x6f\x12\x46\x35\xc5\x2d\xbf\x2b\x84\xd5\xe4\x29\x98\x3c\x91\x24\x26\xaa\x4b\x26\x79\x35\xa1\xd4\xfc\x1b\xd5\xde\x83\x61\xb5\x3b\x6b\x12\xa6\x45\x5a\x4f\x0b\xdf\xc9\x42\x03\x54\x4e\x40\x3b\x2c\x66\x43\xd5\xbd\x9f\xa3\x8c\x4e\xdf\xeb\x50\x83\xdd\xf9\x52\x0e\xbd\x65\x70\x35\x25\x69\x43\xa5\x84\xe7\x1a\x07\x17\xa9\x70\x3d\x04\x82\x7f\xde\x37\x9d\xe1\x15\xd9\xca\x0b\xdf\xdd\x3a\xfd\xc6\x57\x5c\x60\xd6\x03\x96\xb8\x22\xd0\x87\xab\x96\x39\xa8\xaa\xe2\xf4\xa2\xc3\xad\x4f\x61\xce\x8f\x11\xf3\x00\x57\xb8\x3e\xfb\xb5\x7f\x62\xdf\xda\x27\xb8\x7e\x7c\xc9\x14\x71\xec\x33\x3f\x1f\x99\xb8\x26\x36\x92\xf2\xc1\x19\x73\xfc\x36\xfe\x94\xcc\xa9\xd4\x22\x62\x15\x6b\xdc\x22\x3a\xd7\x36\xf8\x43\x46\xc8\x84\xfe\xe7\x29\x9a\xa3\xb9\xdf\x00\x9e\x8e\x58\x01\x11\x95\x1b\xfc\xdd\x0b\xe0\x07\x4f\xad\xa8\xfd\x14\x75\x7a\x21\xe6\x2d\xb7\xf4\xba\x2c\x83\x29\x35\x50\x46\x27\x1e\x1b\x2c\x4a\x5c\x57\x55\xb1\xba\xa8\x84\x29\xac\x17\xa0\x44\x56\x04\x9c\xfa\xbc\x41\x64\x29\x70\x9d\xea\xbd\xc4\x65\x8d\xf7\x02\x57\x4e\xae\xa3\x5a\x63\x49\x7f\x0e\x6c\xf9\xa5\x94\x46\x35\xd0\xf0\xf9\xc7\x17\xd0\x16\xeb\xda\x90\x43\x21\x06\xc2\x45\x53\xd3\x59\x8c\x4d\x6b\x3a\x71\x61\x54\xa1\xf1\xd8\x61\x64\xa4\x3b\x4a\x0d\xff\xc4\xc7\x74\x54\x85\xdc\x11\xe7\x48\x45\x75\x5e\xdf\x1f\x70\x54\xe4\xc0\xc8\x25\x6d\x26\xd6\x3f\x61\x4a\xbf\x73\x16\x3c\x68\x0b\xa9\x59\x57\xb1\xc2\xd7\x1e\x6d\xb5\xf0\xf5\xcf\x43\x20\xc9\x43\xa3\x28\x1b\xe4\x6f\xca\xbe\x41\xcc\xa8\xf4\x8e\x70\xf7\x95\xdd\x69\x10\x28\xc0\x52\x0e\x6b\x98\x17\x4f\x4d\xa2\xda\x3e\x40\x61\x10\x87\xeb\xaa\x22\xbd\x26\x2a\x2e\x60\x78\x05\xf0\xd5\x4e\x4c\xf4\x79\x91\x43\x15\x52\xd4\x19\x50\x43\xd6\x9f\xf9\x57\x7e\xd0\x2f\x47\x47\x39\x54\xca\x16\x88\xd9\x70\xd1\x4f\xf4\xe3\xa2\x8b\xbe\x62\x8e\xb6\x90\x0f\x91\x0c\xc1\x2e\xb6\x4d\x08\xad\x94\x42\x90\x43\xb9\x41\x92\xc0\xd0\x2f\x31\xe2\x83\xa3\xf9\xe5\x7d\x0e\x14\x9c\xfe\x4d\x51\xf0\xc8\xa8\xb3\x2e\x3a\xbb\x9e\xdf\xfe\xd0\xb8\xbf\xfd\x7a\x2b\xe8\xe3\x93\x04\x9d\x02\xe0\x97\xca\x3a\xe0\x01\xb2\x2c\x74\x97\xa5\xca\xe6\xe6\x28\x70\x79\x0e\x54\x19\xdf\x67\x73\x69\x4d\x1b\xbe\x44\xa6\xda\x8e\x8e\x7c\xaa\xc6\xf5\x53\x29\x24\xb5\x1d\x73\x24\xb5\x23\xa5\xe7\xfb\x30\x85\x62\xb9\x3f\xb1\x20\x66\x5c\x77\xe4\x0c\xc7\x5d\x6a\xc9\x4e\x69\x80\x4f\x95\x55\x49\xc6\x31\x42\x4b\xfc\xaa\xc3\xa1\x3b\x96\xfd\xf2\x86\xb8\x60\xc5\xf0\xb0\xae\x8f\xfe\x95\xd4\x4a\x3f\x92\x2f\xda\xd9\x59\xf7\x6d\x35\xaa\xed\x77\x12\x5d\xee\x1e\xe7\x0d\x47\xd0\x12\xe1\x33\x47\x9e\x71\x5e\x18\x06\x95\x2f\xde\xab\xc9\x1c\x3c\x7a\xc2\xc7\xa9\xa5\x0c\x8a\x7a\x6d\x0f\x47\x10\xd5\xf4\x5f\xdd\xed\xec\x75\x90\x4b\x7e\x43\xf9\xe8\xa9\x34\xd8\xb5\x3f\x1f\x6a\x20\x69\x32\x1a\x1d\x92\xbe\x9b\x71\xcc\xa7\xd7\x15\x3f\x6d\x23\x44\x92\x16\x12\x04\x76\xe0\x17\xbe\x81\xdf\x4f\xaf\x69\x0e\xb1\xab\x77\xab\x72\x28\xa3\x96\x55\x50\x6e\x7a\xbd\x94\x6e\x9d\x43\x02\xd3\x3a\x94\x72\xea\x75\x0c\xd4\x42\x19\xfa\xaf\xee\xe0\xc8\x01\x6d\xe1\x61\xfd\xb8\xa3\xa8\xf3\xb6\xfa\xa4\xdb\x59\xd5\x89\xfe\x2a\xc0\x01\xb6\x6b\xf7\x11\x7b\x9d\x4b\x91\xe3\x89\xbc\x2f\x47\xed\x34\x6a\x41\x28\x24\x19\x98\x6a\xcc\x94\x2b\x83\x09\x1c\x78\x73\x5e\x70\x8c\x08\xa4\x30\xc9\xba\xef\x54\x03\xef\xf5\x61\x3a\xa6\x0c\xfa\xff\x96\xad\xdf\x74\x70\x82\xa3\xda\xb4\x06\xe9\x95\x93\x16\x34\xf4\x5f\xe6\x43\x65\xd1\xa9\xc3\x2c\x23\x35\xbd\xb3\xa1\x96\x28\xb4\x7b\x25\xb4\xb8\xa4\x25\xcb\x91\x6a\x15\x0a\xd8\x3e\x4a\xab\x94\xe0\xbb\x2a\x41\x27\xe6\x9b\x36\xe0\x69\xf3\x6c\xd0\xf1\x60\x2e\x47\x4c\x1a\x8a\x98\xea\xf0\x95\x45\x3b\xea\x68\xf9\x44\xec\x77\x9a\xc2\x04\x78\xfa\x5c\x74\xea\x05\xdd\x92\x10\x02\x90\xa3\xee\x4d\x3a\xbf\x52\x24\x0e\x05\x54\xf2\x01\x85\xbe\x8a\xee\x5b\x61\xe8\xbf\x50\x4a\x23\x11\x71\x81\xa4\xc4\xa3\x13\x2a\xf0\x8d\x94\xe6\x22\xbc\x3e\x81\x32\xdc\xaf\x3e\xc3\xf3\x1e\xb4\x04\xaf\x1d\x6e\xbf\xfa\x54\x95\x8a\x72\x62\x3d\x30\xe1\x28\xd4\xe7\x4d\x75\x19\x6e\x17\xdd\x5b\xd1\x07\x69\xb0\xab\x45\x46\x54\x1e\xf8\x4d\x95\xed\xc7\x85\xd5\x83\xd9\x43\x04\x82\x8b\x5c\x54\x8f\x32\xa4\x9d\x09\x90\x15\x2a\xc1\xb3\x90\x78\xd5\x3c\x18\x20\x74\xd3\xae\x54\x98\x62\xc5\x6c\x2b\x7e\xfa\xd0\x87\x48\x52\xe3\x11\xa0\x32\x42\x2c\x8d\x5a\x82\x2b\xd6\x34\x5c\x51\x01\x04\x28\x4a\xc6\xe6\x83\x69\x1b\x62\x45\x3a\x77\x86\x95\x61\x90\xb1\x49\x17\x52\x6e\x50\x0e\xfb\x31\x9a\x57\xd9\x85\x52\x81\x3c\x17\xf4\xc7\xd6\x60\xf1\x88\xe8\xe6\x23\xf9\xd0\x1c\xf9\x46\x3e\x69\xd5\x6b\xb1\x3f\xa4\x26\x5d\x9d\xe5\x2c\x9e\x42\xc1\x04\x6b\x18\x65\x19\x74\xef\x63\x9c\x5d\x79\x5d\x36\xe1\xbc\xef\x66\xd5\x41\xd2\xd1\x51\x49\xc9\x51\x0f\x92\xd0\xf2\x70\xac\xa4\x9a\x47\x42\x28\x0e\x4c\xca\x59\xcf\x15\x15\x8d\xa9\xda\x57\xaa\x49\x4b\xa0\x26\xb2\x95\x47\x80\xa9\xc2\x39\xb3\xfd\xea\x47\x89\x39\x25\xbd\xc6\xbc\x2b\x8f\x6c\x37\x6f\xa0\x43\xf0\x51\x7f\xba\x3d\x91\xaa\xbe\x5a\x0e\x89\xb2\x19\x65\xaf\xc0\x86\x2d\x43\xff\x65\xef\x4d\x48\xaf\xf4\x69\xf1\xb0\x23\x2d\x33\x86\xf0\xf1\x25\x52\x68\x10\x65\x42\x82\x20\x9e\x7e\x54\xa1\xcf\xe8\x90\xb5\xd4\xc5\x90\xaf\x99\x72\x0c\x24\x51\x77\x1d\x29\x81\x62\x19\x0c\x0b\x0e\x3d\xb9\x12\x42\x82\xa5\x20\x67\x21\x14\x91\xc5\x1f\xa4\xcc\x85\x50\x82\x8f\x57\xeb\xdd\x74\xab\xb0\x5f\x76\xce\x14\x70\xf0\x17\x7c\x1e\x29\x71\x74\x53\xd2\xc8\xa2\x8a\x41\x8a\x16\x9c\x8f\x50\x9a\x80\x6c\x44\x12\x29\x20\xe5\xbc\xd6\x44\x31\xd7\x51\x37\x98\xa9\x81\xbe\x0d\x76\xb5\xe5\x89\xff\x05\xec\xbc\xba\xe5\xea\xbe\xa7\x72\x88\xfb\xac\x10\x6d\xf3\x09\xa6\x98\x3e\x25\x83\x5d\x27\x2b\xc3\xbc\xfb\xad\x1e\x1d\x49\xd3\x3f\x1c\x65\x62\x55\xa7\x9a\xca\x50\x6f\x62\x28\xf6\x8d\xc2\x0e\xbb\xf9\x7c\xe6\xad\x1b\x51\xe6\xea\x54\xae\x1f\x55\xb0\xf5\x98\x19\x15\x4c\xc1\x67\x27\x94\x5d\xa4\xd4\x70\xad\xe5\x49\x9f\x0c\xc8\xd0\xd2\x5f\x98\x22\x38\x7e\x89\x9c\x0f\xfd\x2f\x1f\x9f\xd6\xf5\xd4\xdd\xb3\x10\x43\x1d\x5d\x0f\x6f\x19\xfc\xb3\x8e\xfe\xe3\x02\xe8\xf8\x7a\x8b\x63\x76\x01\x3e\x11\xa9\x86\x00\x63\x64\x61\x95\x32\x8e\x80\xa3\x5a\xa1\xb5\x84\x7e\xb5\x20\xda\x8a\x73\x83\x2a\x75\x76\x44\xa7\xb7\xea\x43\xe5\x89\x3d\x85\x02\xe6\xae\x60\x4f\xf8\xcb\x2b\x60\x70\x54\x9c\x09\x49\x5b\x9c\xf0\x91\xd4\x6a\x64\x3c\x03\xfa\xb6\x5f\x4d\x22\xe7\xc0\x83\x5e\x97\xef\x2b\x3a\xa3\x6b\x19\x32\x22\x93\xec\x8a\xba\xc7\x1e\xfe\x51\xf9\x2e\x4e\xc7\x82\xb3\x81\x5c\xea\xd3\x6a\xc7\xf7\x5d\x13\x78\x53\xa5\xc1\x76\xda\xd9\x4e\xa1\xc2\x0a\x7d\xd4\x58\xe5\x19\x4b\xa2\x50\x54\x4e\xeb\xbe\x85\x90\x0f\x04\xad\x8c\xa6\x10\xb1\x6d\x56\x32\xf4\x5f\xb6\x94\xa4\x0e\xba\x55\xb5\x23\x13\xc0\x1f\x8b\x21\x47\xcb\xa0\x1b\x1e\xb8\x1a\xbc\xb6\xaf\xef\x75\xcb\xdd\x12\xeb\x0a\x39\x02\x25\x8e\x3a\x9d\x6d\x53\x5d\x55\x12\xf6\x23\x8e\xe1\xb9\xab\xea\x21\x21\xc5\xcc\x84\xa3\xe0\x60\x85\x83\x6a\x4d\xec\x13\xd6\x9b\xae\x7e\x88\x6f\x3e\x87\x99\x39\xdd\xf9\xb1\x8b\xa2\x6c\x7f\xb1\x99\xb0\x4e\x6a\x6c\x10\xb1\xaa\x37\xb4\xa0\xaa\xa9\xe0\xf8\x34\x39\x68\xcb\x88\x53\x70\x94\xeb\x5e\x17\xb6\x1c\x55\x59\x51\xe1\x0c\x7d\x06\xea\x4e\x1c\xfa\x2f\x2c\xc7\x04\xed\xb4\xab\x3d\xe0\xa1\xa9\x2d\x59\x45\x3d\x8e\x3b\xab\xcf\x83\x5d\x21\x7f\x73\x08\x28\xd8\x84\x3a\xe0\x67\xf0\xeb\x1c\x1a\x36\x69\x68\xd0\x95\x3d\x70\x36\x97\x45\x38\xd5\xce\x75\x53\x0a\x59\xf5\xc1\x06\xe9\x94\x9e\x56\x16\x04\x57\x12\x84\xc0\x88\x1c\x89\x81\x54\xee\xa3\x50\x68\xf0\xae\xe5\x4c\x25\xeb\xd7\x1e\x72\x5a\xd6\x5a\x37\x3b\xf3\x08\xaa\xce\x7a\x28\x38\xd3\x6e\x14\x52\x5e\x2d\x43\x11\xdd\x6b\x4c\x4f\xce\xd3\x2f\x9b\x9c\x31\x03\xa6\x69\xae\x2d\x7b\x55\x0b\x59\x4c\x57\xc6\x89\x3e\x04\xba\xa9\x71\xd0\xdb\xcd\xae\xe0\x49\x06\xd5\x88\x6a\xa8\x3e\xc8\x47\x6a\xb5\xa8\xed\x0a\xe7\xa0\x50\x96\x80\xea\x17\x2a\xd9\x94\x7e\x54\xf7\x7c\xfc\xc5\x82\xe6\x48\x9e\xd4\xc5\xd2\xce\xea\x62\x1d\x10\xa8\xe0\x8b\xea\x8b\x78\x18\x9b\x56\xf0\xd3\xae\x5b\x41\x4c\x15\xe3\xd1\x96\x8c\xd7\x3d\x33\x24\xb8\xac\x28\xa9\xb4\xc8\x71\x6b\x1e\xb1\x53\xfb\x48\x05\xb1\x8f\xac\x1a\x62\xaa\xb5\xc7\x98\xa8\x71\x55\x55\x42\x27\x9c\x66\x67\x71\x30\xb1\x9e\xb8\x51\xaa\x60\xb4\x4e\xb6\xec\x58\x10\xb5\x18\x0c\x23\x37\x98\xef\xb4\x6f\x86\x54\x8a\x75\x9a\xda\xb5\x59\xed\xbd\x12\xd5\x8c\x77\x40\x1d\x4b\x01\xbf\xa1\x1b\xd6\x8f\x77\xdd\x66\x81\xde\x17\xbb\xcd\x71\xd6\xf9\xe3\xb4\xdd\x3e\xee\x62\xbf\x48\xf1\x87\xf3\x87\x12\xd5\x58\xb4\x2f\x9f\x16\x3b\x8c\xd7\x9d\x85\x07\x60\x88\x41\x35\x9e\x7f\xe7\x84\xfa\xf9\x2e\x74\xb4\x56\x49\x74\x42\x85\x44\xa9\x01\x33\xb6\xc0\x45\x4f\xf0\x8a\xb2\x60\xf3\x0c\xb6\xf5\x75\x71\x13\xe0\x73\xce\xa1\x1c\xb9\xa7\x59\x23\xe8\x26\xc3\xcb\xad\x53\xff\x2c\xde\x6b\xb1\xbd\xb7\x0c\xfd\x97\xcd\xea\x0c\x1c\xdc\x80\x78\xeb\x95\x62\xe1\x05\xca\xbf\x56\x3c\x42\x91\x4c\x67\x45\xb2\x42\x18\x54\x9c\x39\x33\x04\x96\xaf\x48\x53\x45\x88\x95\x74\xe5\x85\x23\xb1\xae\xb2\x6a\x96\x6c\x79\xad\x94\x25\x0f\x76\xed\xda\x03\x32\x86\x63\x19\x36\x1d\x13\xa4\xa8\xae\x34\xaa\xc6\x03\xb2\x16\xd3\x8e\xc2\xd0\x7f\x75\xfb\xc3\x38\x07\x82\x4f\xaa\x1e\x39\xd5\xa2\xe6\xa2\x6a\x59\x1f\x8a\x40\x94\x0e\xa8\x43\x2a\xa5\x5f\xbb\x5e\x56\x50\x1b\xcc\xad\x6d\x53\xce\xa3\xab\x8a\x62\x44\x9c\x43\x9a\x29\xbf\xaa\x29\x55\xdd\x44\x8e\x04\xe7\xaf\xea\xde\x76\xba\x4f\x09\xee\x62\x9f\xfa\x28\xc2\x6b\x7b\xd1\xb7\xd9\xbc\x38\xc5\x3c\xcf\x6a\xe0\x4a\xb8\x22\x92\xd6\x1a\xb3\x87\xc2\x3c\xac\x14\xe6\x2e\x92\x58\xd5\xe5\xa0\x45\xb2\x0d\xd9\x52\x59\x67\xdd\x8e\xf0\x6a\x15\x45\x72\x84\x61\x61\x61\x68\x2a\xe0\xa2\xd5\xb9\x59\x66\x97\x6f\xfa\x63\x8f\x65\x9f\xd5\x36\x18\x38\x56\xca\x65\xfa\x65\x67\x41\xb0\x26\x54\x4d\x7c\x9d\x9b\x47\xda\xb5\x15\x3b\xe2\xec\xf5\xaa\x4a\x64\xf2\x21\x0d\x1b\x7b\x87\x21\x49\x8a\x13\xb3\x8c\xb9\xe7\xdb\x33\x36\x92\x66\x31\xa6\xc1\x82\x88\x83\x5e\x63\x84\xcd\x14\x06\xbb\xf6\xd8\x23\x86\x40\x2a\xb2\xa8\x09\x45\x6e\x2a\x34\xe2\x91\xd4\x88\xf1\x51\x6d\x25\x47\x3e\x6b\x6d\xf4\xf7\x73\xa4\xf8\xf1\x2e\x00\x52\x16\x92\x1a\x66\x92\x26\x74\x49\x13\x6e\x4b\x9a\x39\xd5\x68\x58\x6b\x7a\x3c\xd7\xf4\xa2\xda\xf0\xb8\x20\x21\x02\x91\x21\x11\x89\xff\xf3\xc3\x90\x49\xcf\xcb\x14\x79\xc0\x05\x9f\x9f\x0b\xff\xd8\xbc\x14\xfb\x61\x0a\xfb\xfa\x1e\xb8\xaa\x5a\xea\x57\xdb\x58\x6a\x83\x3f\xa5\xc9\x9e\xc2\xa7\x22\x57\x55\xc8\x29\x16\x12\x5e\x73\x5f\xb2\x5d\xef\x3a\x83\x87\x70\xfd\xf5\xef\x7f\xff\x63\x49\x2f\xb3\xb9\x40\xd2\xda\xd1\x08\x55\x1f\x00\xe5\x7f\x8e\x9a\x30\x83\x7a\x93\x83\x51\xfb\x12\xf3\xb8\x54\x90\xca\x60\xd7\x85\x82\x64\x6b\x38\xd4\xe9\xd7\x42\x41\x4a\x33\x05\xe9\x69\xad\x20\xfd\x91\x9a\x31\x6f\xfd\x38\x17\xd5\x78\x69\x63\x48\x6a\x20\x4a\xf8\x93\x77\xf5\x82\x5d\x3d\xef\xed\xe7\x08\x63\x87\x1e\x16\x5a\x3a\xe8\x92\x1c\x44\xa8\xd4\x55\x48\xc0\x44\xf4\x20\x9e\x92\xd3\xcb\xf2\x64\xec\x42\xa8\x42\xb9\x40\x50\x84\x5a\xa1\xfa\xea\x60\xd8\xaf\xbe\x9d\x42\x6d\x2a\xe1\x73\x7f\x1f\x4f\xfe\xbe\x7a\xf6\xf7\xe5\xc9\xdf\x57\x60\x6c\x97\x6e\x6c\x57\x96\xc1\xae\x53\xd2\x0a\x5c\xe4\xe9\xbf\xce\xeb\x97\x86\xfe\x6b\xeb\xf5\x63\x15\xa0\xce\x62\xf0\x18\xd6\x49\x6c\x3a\xcb\x42\x44\xa8\x70\x53\x69\xd8\x62\x72\x62\xc0\x2b\xba\x43\x06\xf8\x14\xc2\x51\xed\x36\x2a\x60\x39\x40\x28\x1a\x58\x79\x74\x70\xcc\x05\x66\xea\xa4\x21\x54\x77\x13\xea\xec\x6d\x97\x61\xed\xd3\xfe\x63\xbd\xed\x33\xdd\x77\xc7\xdb\x5e\xa6\x5f\x57\xbd\xed\xab\x73\x89\x50\xe3\xd9\xdb\xce\xf7\x7a\xdb\x43\x98\x7e\xf5\xd7\x30\xe2\x2a\x25\xdf\xc5\xe5\x7a\x11\x9a\x7f\x28\x9d\xeb\x4f\xe8\x2e\xb2\xaf\xbb\xd4\xeb\xba\xcb\x79\xe1\x41\x19\x49\x76\xcf\x9f\xa1\x9c\xa9\x8a\xfd\x47\x6a\xd8\x73\xef\xd2\x5c\xc7\x5e\x09\xc7\x0a\xe1\x38\x74\x8f\x49\xff\xf5\xf3\xfa\xc7\x17\xe8\x04\xe0\x86\x18\x55\xb4\xe3\xe4\x37\x5c\x91\x78\xc0\xe9\x5f\x22\xad\xcf\x25\x5e\x25\xaf\xfb\x93\x67\x39\xaa\xda\x48\x21\x44\xaa\xf0\x00\x60\x86\x0b\x35\x19\x29\xe9\x5a\x02\xf5\xf2\xd2\x2f\x78\xf1\x2b\x8e\x2a\x8d\x65\xf2\x6e\x42\x1b\x3a\x52\xf6\x75\xeb\x6a\x0c\x93\xab\xb1\xdc\xe1\x6a\x6c\x9f\xba\x1a\x67\xa3\x8c\x88\x72\x6c\xac\x3a\x21\xef\xf7\x28\x52\xd1\xf6\xc5\x8a\x30\x56\xc9\x8e\x5a\x54\xe5\xd2\x9b\xac\x53\xf9\xe6\x91\x4b\xe4\x0b\x42\x0e\xb0\x3c\xd4\x38\x4f\x5c\x00\x69\x8c\x49\x63\xad\xb3\xf0\xe6\xf6\x89\x93\x1e\x62\x22\x4d\xbb\x79\xd6\x05\x52\x74\xa7\x85\x0b\x08\x42\xa6\xce\xdd\xe6\x54\x74\x8f\x2c\x3e\xaf\x7d\xf5\x72\xc5\x57\x3f\xf7\x5e\x4f\xbe\x7a\xd5\xe2\xe3\x68\xbe\xd7\x12\x03\xbc\x4b\xfa\xc7\x1b\x96\x1a\x7b\x98\x8d\x7e\x0a\xa5\xdd\xf3\xe2\xcf\xcf\x38\xba\x1f\x7f\x3c\xbb\x32\x0c\x5e\x27\x05\xa6\x24\x6a\x05\xc5\xc9\xb7\xcf\x3b\xbe\xfd\x63\xaf\x42\x14\x9c\x1c\x64\x76\x54\x11\xed\xce\x82\x31\xe8\xd4\xdf\x9f\x09\xc0\x6f\x5f\xdd\xf1\xed\xf5\xf7\x3b\x90\x9b\x6f\x70\xb3\x96\x34\x6c\xf0\x33\x26\x6e\xe2\x7d\x0a\x59\xbf\x9b\x17\xfb\xc4\xdc\x11\xab\xa7\xa4\x3f\x2b\xfb\xe3\x9d\x3a\x04\xc6\x8b\x50\x92\xf6\xaa\x0a\x21\x0f\x76\x35\x9f\x55\x2b\x3c\xe0\x0a\x50\xed\x7b\xf0\x6b\xbc\xe5\x26\xc5\xa5\x06\x9f\xc5\x82\xb9\xb5\x2a\x58\x31\x7c\x89\xa8\x1f\x58\x8e\x7e\xc8\x08\xc3\x9b\x45\x81\x1a\x1e\x77\x4c\x2a\x45\x2b\x8e\x6c\x85\x72\x32\x7e\x59\xcb\xac\x58\x45\xdc\xf5\x58\xf1\xf6\xd4\xe0\xd5\xb7\xab\xef\x8c\x15\x10\xa2\xf3\x10\x51\x63\x9b\x92\xd7\xf5\xcd\x89\x52\x75\x95\x72\xfa\xc1\x81\x7e\xd8\xf5\x02\xc1\xec\x37\x20\x24\x06\x40\xd9\x3f\xd2\x3f\xde\x56\x9f\x38\xd2\x5d\x46\xf0\x83\xc7\x2a\x89\xfe\xe8\xa8\x0e\x85\xd2\x0b\x53\xac\xf9\x35\x53\x1d\xf4\xc7\x02\x4d\x7d\x8e\x03\xae\xcf\x95\xe2\x1d\xe3\x99\x88\xd9\x82\x60\x16\x41\x74\x3a\x2e\x42\x55\xce\x81\xa5\x6a\xd3\x19\x05\x70\x91\x65\x32\x4e\x40\xf0\x07\xbc\x8f\xe7\x10\x53\x76\x95\x8a\x5d\xee\xeb\xe4\x87\x09\x8e\x03\x65\x9c\x40\xc5\xba\x8a\x9d\x51\x55\x36\x47\xdd\x5b\xc6\x48\x11\x99\xd3\x71\xcd\xaf\xc0\x96\xb0\x67\x1b\x19\xf4\xe0\xcc\xab\xf3\x40\x43\x0a\x73\x4c\x19\x54\x59\xe4\x11\x5f\xe7\x81\x40\x8c\xd3\xd3\x58\xd5\xaa\xb1\x7c\x17\x44\x75\x65\xb1\x74\x92\x64\xec\x61\xfa\x39\xab\xdc\x53\xbd\x31\x21\xdf\xa6\x58\x40\x90\x6f\xaa\x1a\x96\x80\x52\x11\xa1\x57\x8d\x6c\x72\xbe\x59\x62\x1f\xe5\x09\x86\xbb\x66\xdc\x05\x21\xc6\xc5\x75\xe7\x43\xcc\xd0\x3f\xac\x76\xbd\x4c\x2a\x70\x86\x62\x23\x2f\x05\xc9\x3c\xc8\xa2\xe0\xd2\x49\xcb\xb4\xe6\x0e\x31\x28\xdc\x93\x0d\x5a\x0e\x2f\x38\x3b\x5c\xc4\x39\x0b\xe0\x25\x42\x1a\x55\xb3\xd7\xba\x66\xc9\x1f\xef\xdc\xf3\x70\x7d\x91\x25\xb5\x42\x48\xd2\x9d\x12\x42\x11\x69\x73\xd1\xc7\x17\x5d\x6e\xcb\x7e\x35\x88\x36\xdd\x04\xb3\xde\x14\xf2\x8a\x61\x3e\xc6\x42\x62\x2a\x46\x89\xb0\x7c\xb4\x9b\x1b\x12\x6d\x1c\x49\x2a\xd6\xab\x9c\x0b\x85\xa8\x1b\x9d\x50\x03\xc0\x5d\x86\x7e\x65\xb9\x50\x01\x31\x37\x4d\x55\xa3\x1c\x8c\xd5\x89\x5a\xc1\x5d\x4d\xec\x1b\xdc\x95\x60\x96\xea\x86\x2f\x02\x16\x18\xcc\x69\x56\x55\x21\xf8\x88\x2a\x2c\x89\x64\x84\xb3\x43\x52\xbe\x9a\xca\xda\xd2\x65\x9f\x19\xda\xdb\x9b\x4d\x1a\x35\xee\x03\x52\x8f\xc3\xbc\xab\xd0\x57\x61\x74\x11\xdb\x3e\xae\x0f\x9d\xf0\x7d\x7b\x14\x8c\xb0\x9f\x74\xd3\x3a\x5f\x5e\xe7\xa7\x6a\x01\xa0\xb5\x03\x1b\xb7\xaf\xd7\xe2\x09\x67\xd1\xc3\x57\x96\x0d\xe7\x43\x03\x3f\x10\x80\x98\x54\x53\x43\x5c\x81\x04\x38\x03\x7c\xc0\xb1\xb9\xde\x06\x0b\x2d\x4d\x00\x99\xd5\x51\xea\xb1\x83\x3a\xc1\x93\xe5\xfb\x09\x32\xbf\x74\x8d\xe1\xdd\xa5\xe9\xd4\xb9\x62\x6d\xf3\x88\x1b\x9c\x10\xb2\xe4\x90\xb3\x89\x2d\x5f\x8a\x5e\x33\x4a\xb1\xf2\x28\x25\x18\x77\xaa\xb1\x81\x55\xaf\x46\xd0\x0b\x6a\x5d\x74\xfc\x24\x58\xb5\xd5\xd4\x42\xc8\x51\xcd\x2f\x00\x34\xd8\x5d\x28\x87\xd6\x49\xcf\x3f\xde\xa9\x82\x53\x57\x62\x3c\x54\x0a\xc1\xd8\x16\x4f\x4c\xe2\x57\x52\x46\xb8\x51\x0a\x87\x4c\x41\xe2\x50\xa8\xb4\x74\x75\x35\x78\x74\x6d\x55\x0d\x30\x4f\xf2\x05\x1a\x6a\x66\x8c\x8a\xc5\x2c\x87\xef\x2a\x16\x6c\xc4\xf0\x7f\xfb\x6e\xd4\x47\xad\x90\xd5\x7c\x4e\x78\xc9\x08\x1e\x33\xb0\x99\xb5\xfd\x19\xcd\x88\x6e\x0e\x89\x87\x3c\x34\x6a\xf0\xd5\xe5\xf8\x10\xa6\xe1\x6f\xdf\x7e\xfb\x7a\x1b\xc2\xe9\x93\x00\x99\x0e\x6d\xbf\xc6\x2b\x30\x80\xac\x13\xaf\xbe\xe8\x70\x60\x6f\xbc\x85\xb6\x0e\xd9\xc9\x73\xa3\x2a\x47\x6a\xd9\xb0\x37\xb5\xed\x73\x48\xfc\x93\x65\x91\xce\x43\x61\xcf\xff\xd3\x6e\x69\x3b\x88\xd9\x21\x0f\xb2\xf7\x3a\x43\xd2\x3e\xb9\x75\x0d\x2d\x3d\x87\xe3\x9b\x5b\x3f\xe4\xa6\xd2\x9c\xbd\x6a\xb9\x8b\xb9\x19\x4d\x90\x76\xc8\xb2\x9a\xda\x2e\xdd\x97\x9f\x0b\x35\x90\x76\x6e\x0b\x76\x5a\xf0\x07\x00\x8b\x97\x18\x59\xe8\xb3\xfc\xc6\x3b\x99\x2f\x1b\x80\x2a\xc0\xb0\x6c\x50\x74\x80\xa2\xff\xf1\xce\x67\x10\xb1\x5d\x7d\x77\x5f\xd9\xdd\xd1\x74\x4f\xee\x0a\xe0\x1c\xff\xd4\x0c\x7c\x94\x91\xba\xec\xf1\x64\xb1\xb1\x64\xf1\x2f\x3c\x64\xdd\x29\xf4\x9b\x1a\x87\x62\x91\xbf\xe5\x8d\xb7\x24\x4f\xc8\x7d\x4d\xcf\x79\x0f\x93\xfc\x14\x36\x73\x1c\xd1\xd3\xba\x1a\x3d\xd7\xa3\x8a\x71\xaa\xa0\xd9\xeb\x19\x19\x05\xf6\x73\x7a\xe3\x75\xc5\x60\x22\xa0\x13\xd7\xdf\x60\xb6\x34\x9d\x78\x5b\x5a\x07\x2b\xed\xb9\xed\x83\x14\x01\x9d\x7e\x55\x3f\x20\x20\x3d\x27\x55\xca\x56\x2f\x0a\xbd\xcb\x30\xdf\xa4\x03\x25\x3d\xcd\x62\x95\xd1\x47\xf1\x8d\x77\xe8\x21\x78\x97\x1c\x62\xf3\xa9\x51\x43\xf0\xc7\x7b\x87\x3d\x97\x0d\xf9\x13\x0a\xdb\x65\x90\xe2\x5d\xfe\xa8\x35\x95\x68\x67\x8f\x7a\x6c\xca\x8d\xaf\xff\xdf\xa3\x02\x6f\x88\x54\x39\xfe\x02\x75\x37\xe4\x21\x11\x68\xf7\x80\x69\x01\x10\x94\x10\xe2\xc8\x4c\xa1\xd4\xa1\x10\xd7\xbc\xa3\xec\xb6\x7c\xb0\xbb\xc5\x53\xce\xe9\x17\x2b\x83\xe1\x77\xc3\x87\x29\xc7\x01\xdc\xaf\x5c\xd3\x8b\xbe\x0f\xca\x5e\x05\xbc\x3e\xaf\x3a\x02\x61\xbe\xcc\x27\x5d\xb8\x4b\x3d\x70\xfa\xaa\x57\xc7\x59\x75\x96\xda\x4f\x14\x39\xe8\x4e\x1f\x11\xdf\xf2\x18\x1c\x8a\x76\xe6\x83\x50\xcc\xaa\x69\x73\xfc\x25\x0c\x16\x0e\x12\x09\x61\xbb\xda\xab\x16\xa9\xad\x9d\x99\x55\x6f\x18\xe2\xd5\xbe\x1c\xdd\xe5\x8e\xf4\x8b\x15\x61\x3e\x4c\xb8\xf1\xb5\x2f\x71\x24\xca\x15\xf0\xb2\xa1\x7c\xde\x97\xf5\x6a\x57\xe2\x55\x2e\x5e\xe9\x49\x24\xb3\x20\x21\xfa\xf1\x9e\xfc\x34\x11\xf5\x01\x97\xae\x1a\x8c\xac\xfb\x0f\xc7\xf0\x4b\xa3\x14\xeb\x90\x00\x42\x51\x21\x1c\xc3\xa0\x73\x35\xfb\x74\xaa\x54\x9a\x81\x48\xe0\x80\x2b\x99\x9a\x28\x9d\xa6\x59\xf5\xa9\x2c\xda\x07\x48\x69\x5b\x6f\x81\x16\x3c\x24\x11\x03\xd2\xef\xb0\xb4\x35\x14\xbe\xcc\x93\xa8\xc5\x91\xf8\x36\x5a\x80\xb6\x95\xb6\xcc\x96\x88\x5c\xad\xa4\xed\xb7\x3a\x52\x15\xcf\xeb\x88\x96\xb6\x3a\xe0\x94\x81\x7f\x39\x27\xbe\xce\x52\x60\xbf\xaf\xfc\x1e\xcb\x1c\xd8\x7f\x9b\xa5\xbf\x0e\x5d\x30\x9a\xe7\x62\x4a\x80\x65\x6e\x20\x29\xbb\x78\x37\x9c\x7e\x72\x97\x71\x3d\x1b\xda\x3f\xd4\x5b\x5f\x28\x0a\xfa\x2f\xad\xd9\xad\x13\xd2\x5c\x23\xf3\x29\x11\x97\x35\x7a\x18\x1b\x13\x2c\xf9\x84\xf4\xb2\x0c\x33\x78\x9d\x69\x02\x8f\xa2\x6f\x07\x7d\x89\xbd\x03\xe9\xb3\x21\x85\xa1\x1e\x8a\x79\x0b\xe3\x4b\xa2\x9a\xf3\x61\xfa\x7c\x4d\x0c\xe6\xcf\xce\x0b\x6d\xe8\x94\x15\xeb\xeb\xe0\x3f\xbe\xe8\x4e\x59\xe7\x59\xb1\x96\xd2\x38\xcb\x8a\x65\x87\x8c\xfb\xbb\x7a\xf8\x5f\x37\xd0\xb9\x3f\x03\x64\x92\x3a\x04\x6a\x71\x93\x5d\x6a\x56\xcc\xa1\x1f\xc9\x25\x60\x8f\x79\xc2\x1a\xcf\xf2\xaa\x02\x0a\xe8\x54\xa1\x07\x46\x07\x0a\xf0\xa3\xe5\x5c\xfa\xb5\x07\x7f\x47\x95\x40\xc2\x65\x74\x80\x62\xd2\xcb\xfa\xb8\x98\xa7\x44\xd9\x12\x02\xee\x92\xd7\x75\x41\x2c\x76\x10\xc5\x6d\x7a\xeb\xe5\xdd\x78\xf9\x68\x11\x72\xb8\x96\x83\x20\x07\xa6\x2e\xce\x42\x97\x0c\xfc\xba\x5e\x41\x18\x26\xd9\x05\x6a\x3e\xd9\x15\x07\x8a\xac\x56\x9b\x97\x8f\x77\x57\x09\x0c\xee\xe1\x15\x41\xa3\x35\x9c\xa3\xcd\x2a\x20\x88\x4a\x1d\xf4\x22\xcb\xaf\x81\x9d\x6f\x9b\x60\x2e\xfd\x6a\x03\x8a\x59\x83\xb4\xdd\xaa\xbb\x78\x95\xf4\xba\xbe\xc9\xdb\x5d\x0f\x91\x85\x60\x22\x3c\xca\x0a\x89\x10\x08\x78\xb1\x12\x52\xab\x52\xab\x67\x15\x3d\x63\x6a\x46\x1f\xfa\xb5\x2b\x22\xb9\x69\x17\x9b\x31\xcc\x38\x92\x67\x9f\xaf\x9c\x71\xe9\x77\xb0\x77\x7d\x79\xd5\x42\x00\x9a\xd3\x3d\xb4\xaa\x97\xeb\xa6\x64\x60\x84\x8b\xb7\xdb\xeb\x75\x16\xa6\xcc\x43\xa1\x34\x32\x15\x23\x37\xdf\xcc\x58\x76\xd3\x39\x76\x1a\xa6\x2c\x3f\xec\xac\x37\x9e\x71\xfd\x20\x48\x0d\x96\xa8\x06\x48\xef\x06\xe4\xb9\x49\xcf\x72\xf3\xad\xea\x8f\xc9\x6f\x8e\xc8\xda\x96\x8a\x34\xd3\x9a\x91\x5f\x40\x3e\x54\xfc\xe6\xc1\xf4\xba\xd7\x88\xb0\x24\xbb\xf6\x53\x97\x16\x04\x63\x1f\x9b\xe0\xb2\xb9\xc7\xdb\x4d\x0f\x0e\xfd\xf7\x4f\x64\x40\x07\x60\xd9\x4b\xfe\x57\xf3\x6c\x41\xc9\x97\x06\x0e\x6f\x99\xd2\x29\xef\xe1\x62\xd8\x77\x1b\x04\xd0\x67\x0e\x2f\xe9\x53\x30\x22\xad\xe8\x1d\xf8\x58\x6b\xc8\xd5\x8e\x99\x5f\x9e\xb7\x60\xd5\x6f\x81\xd2\x0b\x2f\xfc\xc7\x6d\x60\x01\x47\xe8\x1e\x2e\xef\x73\x7b\x99\x80\x79\x3f\xab\xe8\x8f\x60\x63\x74\x90\xfa\x2d\xd2\xb0\x11\x1c\x3d\x73\xde\x81\x5e\x45\xd5\xf3\x1e\x86\x43\x80\xc9\xbc\x43\x9b\xc3\xfc\xb2\x25\x8f\xba\x93\x8f\xcf\x0c\x30\x60\x64\x54\x0e\xfd\xda\x3f\x1d\xf8\xdf\xc4\x20\x06\x11\xd4\x21\x94\xa6\xcf\x0b\x48\xa1\x67\x9f\xd8\x9f\xd3\x17\xfd\xf9\x09\xb6\x5e\x80\x9d\x01\xe0\xd8\xce\xe1\xe6\x41\x18\x3e\xcc\x3f\xc4\x50\xd4\x9f\x00\x4d\x9d\x8d\xce\x5d\x10\x1a\x1b\xa0\xf3\x69\x64\xca\xdb\x86\x24\xca\x90\xc1\x29\x9d\xd6\xdf\xf4\x49\x58\xc9\x18\x1f\xb6\x63\x53\x5e\xd6\x80\xec\xf6\xde\x7b\x40\x34\x80\x87\x82\xdb\xcb\xf9\xa8\x3a\x41\x17\x98\x7f\xa8\x95\xc0\xa7\x1d\xd3\x9c\x01\xae\x21\x66\x69\x4e\xbd\x6d\x4e\xa8\xcb\x87\xe8\xed\x5b\xe7\x6b\xf7\xf4\xf6\xf7\xff\xfd\xaf\xd7\xdf\xff\xe7\xac\x85\x9b\xac\x24\x5b\x30\xdd\x33\x7b\xe2\xfa\x2b\x77\xfe\xef\x9b\xe3\xb8\x06\xeb\xd6\x99\x0f\x8f\x47\xbc\x20\x49\xdf\x00\xdd\x8e\xd7\x21\xb7\xe3\x0d\x6a\x31\xbe\xc5\xc2\x71\x8b\xf1\xe5\xfe\x61\xff\x1f\xb1\xc8\x6e\xb1\x58\xb4\x6b\x94\x68\xa7\xf5\x37\x73\xce\xb3\x35\x95\x12\x42\x53\x74\x48\xda\x6d\xe4\xe9\xb6\x0f\x3b\xbd\xeb\x72\x6c\x57\x20\xa7\x1f\x1e\xd6\x5f\xff\xf3\x5e\x5a\x59\x48\x92\xc5\xce\xca\x3c\xc8\x89\xfd\x56\x29\x58\xf1\x22\xeb\xcc\x16\xd5\x90\x5a\x58\xa9\xe0\x8c\x44\xc5\x26\x4f\x8d\x0a\xe7\xc1\xae\x70\x4d\x1b\x7b\xca\xd1\xab\x89\x5e\x93\x9a\x5d\xd9\xa8\x03\x2e\x97\xef\xcd\x30\x92\xa7\x6f\x1c\x98\x05\xd6\x25\xe1\x48\xac\x22\x7b\x7b\xf3\x6e\x6a\xcd\x88\x43\xed\x62\x87\x9c\x00\xcb\xbd\xd3\xda\x42\xef\xdd\xb5\x1c\x2a\xd9\xe2\xdd\xd1\xb8\xd2\x2e\xdc\x52\x5a\xf3\x13\x07\x38\x22\x02\x2c\x85\x95\xea\xda\xa0\xbb\x8a\x41\xc5\xdb\xa5\x9f\x93\x5b\xae\xda\xe6\xf6\xc1\x6e\xc7\xa7\x97\xf3\xdd\x4a\xd1\xc7\x3b\x5b\xfe\xfb\xb7\x7f\xfc\xf3\xd6\xcc\xb9\x9d\x01\x02\x08\xb3\x97\xfa\xbc\x65\x3b\xf0\x20\x8d\x37\xca\xa7\xd5\x37\x70\xd8\x72\x7b\x36\x31\x71\x83\x2d\x18\x44\x52\x1b\xba\x60\x01\x21\x01\x37\x10\xb2\xaf\x8a\x16\x83\x13\x4e\xe8\xf6\xf5\x77\x20\x7a\xa8\xcf\xdc\x76\x58\x76\x3b\xa0\x16\xbf\x01\xde\x6c\xf9\x95\xb5\xb2\xef\xcd\xb7\x08\x16\x5e\xea\x1b\xf3\x6d\xaa\x84\xb7\x0e\xff\xd6\x06\x50\x30\xe9\x47\xb7\xe8\x25\x6f\x31\xd6\x87\x9b\xfc\x54\xe9\x3a\xd5\xc3\x73\x3a\x39\xe9\x95\xec\x3d\xef\xce\xbd\xec\xce\x3d\x7f\xd4\x2f\xf7\x0f\xae\x04\xfd\x91\x2f\x38\x5a\x5b\x3a\x66\x0b\x2b\xda\x38\xdc\x77\x78\x97\x3b\xf9\xf0\x15\x3e\xe6\x7c\x4b\xc3\xf9\x7c\x5e\x3f\x7a\x0a\x23\x69\x48\xcf\xe1\x65\x67\x6b\x49\x36\x4f\xd2\x96\xa2\x00\xb0\xc3\xe9\x25\xbd\x6d\x38\x69\x99\x33\x56\xf3\xf6\xdc\x85\xd9\x56\x43\x40\xac\xd4\xa9\xaf\x87\x2b\xac\x49\x79\x39\xf7\x96\x93\xe2\x85\xc3\xf3\x0e\x11\x83\xef\xcb\x70\x7b\xa4\x62\xbb\x61\xfa\x78\x0f\x2b\xb2\x88\x69\x43\x7b\x49\x6f\xe5\x25\x5c\xa5\x47\x48\x64\xc8\x31\x2a\xc5\x5f\xda\x2d\x8e\xe8\x7c\x9d\x22\xfa\x64\xd3\x6d\xf5\x92\xf9\x39\xd0\xde\xcb\xd7\x1c\xb0\x17\x22\xd1\xfd\x20\xb7\xe7\x60\x98\x8b\xda\xcf\x5a\xea\x5b\x3e\x3d\xe6\xd2\xfe\xfd\xd7\xd3\xb7\xbf\x3d\x2c\x2e\xff\x18\x57\xee\xbb\x43\x3c\x73\x92\xd7\x86\xa4\x8a\x36\xa5\x56\x78\x07\x64\x3b\xf2\xf5\x14\xc9\xd7\x74\x60\xd8\x84\x08\xd4\x4b\xe6\xf9\x0a\xb1\xc1\xe8\x78\x6a\x14\x5b\x18\xec\x8a\x28\xaf\x21\x52\x0e\xda\x81\xb5\x86\xd1\x05\xdc\xc9\x54\x6a\xfe\x78\x77\x84\xc0\xf5\x52\xf9\x00\xf0\x33\xe1\x72\x6a\x00\xc6\x6b\x14\x2b\x0f\x76\xed\x31\xdf\xc9\x15\x92\x1a\xac\xb7\x0b\x79\x01\x4b\x3f\x90\xb0\xe5\xa5\x51\xe4\xa2\xd5\x2a\x94\xd2\xa9\x51\xc4\xe9\x85\x41\xb4\xbe\xe8\x70\x1d\x50\x91\x5a\xc3\xa9\x91\x84\x38\x7b\xf6\xe3\x5d\xcb\x26\x69\xf5\xf2\x61\x38\xe1\x70\x42\xab\x11\xdb\x60\x57\xdb\x60\x12\xa0\xe8\x4f\x2e\x52\xc9\xc6\x05\x89\x74\x9e\xfc\xc2\x91\x5a\x1d\x03\x35\x04\x30\x05\x8f\x36\x34\xb4\xa1\x9d\xdb\xd0\x4a\x19\x0a\x92\x7d\xde\xbd\x2e\x3a\xcf\x2f\xe0\xa0\xc0\xbd\x71\xb0\xab\xa9\x99\x0d\x1c\x13\xc5\xa3\xcf\xf4\x3f\x42\xd2\xac\xf1\x6a\x24\xa0\x05\xcc\x40\x4b\x60\x15\xa8\x14\x11\xdd\xec\x0d\x5d\x0b\xdf\x19\x07\xa9\x50\x6e\xf1\xc3\x94\xb3\x44\x1e\x83\xc6\xe1\x88\x34\x30\x82\x1f\x4e\x2a\x58\x4e\x03\x05\x2a\x05\xae\x57\x8b\xc0\xf8\xa9\x89\xfc\x98\x7c\xbc\xe9\x07\x7f\x77\x86\xe1\xc7\xed\x15\x50\xd6\x83\x5d\x4d\x87\x1b\x28\xd6\x97\x44\xdc\x46\x81\x06\xf3\xa2\x37\x56\xf8\xce\x83\xaa\x96\x21\xe5\xa7\x8c\xb1\xc8\xe7\x11\x41\xc6\x7c\xc9\x2f\x99\x3c\x1f\x66\x37\x7e\xbc\x1b\x09\x5d\xae\x07\x84\x05\x70\x3b\x25\x8a\x3e\xeb\x6b\x1b\xdc\x85\xed\xac\xdc\x47\xe0\x16\xfa\x5a\x8c\xd6\x9c\x99\xa2\x84\xd1\x01\xa0\x24\x86\x97\x4c\x53\x85\x18\xf4\x0a\x61\x9a\x97\x49\x0d\x93\xd6\x58\x27\x6d\x20\x7d\x41\x12\x39\x3f\xf7\xf1\x2e\x03\xa5\x9a\xce\x1f\x9c\x84\x38\xe8\xfb\x93\x65\x4e\x77\x25\xd8\x51\x4e\x6a\x23\x13\x27\x9b\x8c\x4c\x09\x63\x1e\x1a\xe2\x63\x10\x02\xe4\x4b\xd3\xa6\xd7\x3a\xd8\xd5\xa2\x50\x71\x6c\x43\xb9\xe9\x54\x04\xd0\xf5\x4b\xa0\xc0\xfa\x0a\xc3\x28\xaf\x13\xda\x43\x87\x55\xe9\x8e\x55\x10\x60\xab\x7c\x46\x3c\x4b\x35\x2a\x8b\x56\xa8\xc1\x53\x5b\x06\x5c\x4c\x4b\xd5\x8f\x43\xe6\x17\x0e\x5a\x3d\x78\xe9\xa4\x8a\x0e\x4c\x41\x57\x22\x17\x40\xaf\xfd\x3d\x99\x29\x87\x7c\xe8\xf7\x3d\x32\xfb\xfe\xf7\xbf\xbe\xfe\xeb\x4e\xa7\x43\x20\x6e\x58\xba\xb2\x8c\x0d\xae\x16\x79\x98\x0f\x89\x5a\x81\x48\xd3\x05\x01\x32\x83\x1c\x97\xe8\x8b\xd3\xad\x63\xa4\xe4\xd6\xdb\x19\x76\x52\xce\xa3\x9b\xbe\x9c\x3c\x5e\x3b\x7c\x60\x6b\xd2\x24\x63\x48\x6a\xba\xb5\xd4\xeb\x24\x91\xbc\xc7\xcf\xf4\xbc\x0a\x5b\x99\xf1\x33\x19\xf5\xc7\xce\xeb\x57\x05\x75\xbf\x67\x9d\x1c\x23\x9f\x28\xfa\xd6\xe7\x77\x99\x38\x42\xe0\x6d\xc9\x65\x45\x48\xdb\x8c\xac\x54\x0e\x81\x52\xa9\x66\x6f\x30\x89\x76\xff\xea\xde\xf3\xad\xe3\x46\xb7\x80\xc5\x96\x74\x57\xd0\x6f\x3e\x8c\xbc\x74\x8f\xfd\x6d\xa7\xab\xf3\x87\x9a\xa0\x70\x37\xee\xf5\x74\xdd\xf1\x3f\xd5\xfd\x4e\x36\x65\x7f\x87\x8b\xb3\xee\xbc\xb6\xde\xd3\xbf\xbf\xbf\xfe\xed\xdb\xaf\xf7\xcd\xe9\xa4\xeb\x06\xac\x4b\xeb\x0a\xfb\x3c\xac\x42\xcb\x01\xac\x4b\x31\xe4\x75\x40\xa2\xdd\xbd\x89\x8c\x57\x8b\x38\x51\x4a\xf3\xfb\x0d\x5f\xf4\xe3\x8b\xee\x48\x20\xe2\x5d\xbe\xd8\xbe\xde\x2b\x6a\x40\x51\x65\x1d\x3a\xec\xf6\x2b\xea\x50\xd1\xb2\x72\xed\xf8\xfc\xb9\x0b\xa7\xe9\x50\x4c\x80\xb4\x5a\x97\x0e\x27\xcf\x4e\xeb\xfd\x0e\x3e\x97\x05\x0c\xbb\xde\x31\x43\x8a\x55\xcd\xe7\x9e\x34\x03\xdd\x88\x2b\x79\xc9\x4f\x33\x59\x52\x74\x13\xc9\xd4\x4a\x7c\x05\x42\x25\x2e\x93\x55\xcf\x08\xe6\x05\xee\x2a\xb7\xd8\xaf\x36\x2c\x09\xd9\x7f\xcb\x47\x66\x4f\xac\x4e\xcc\x3a\xb9\xc4\xa0\x9b\x0b\xf7\x6b\x1f\x4b\x86\xd5\x5f\xb9\xe9\xc7\x2d\xf6\xab\xf5\x5f\xec\xcc\x37\xd9\x9e\xe9\xe3\x75\x7e\x02\x00\xe8\x2d\xe9\x66\xb9\xa0\xb2\xee\x3d\x0f\x8c\xcc\x14\x8e\xaa\x49\x50\x12\x42\xd6\xb3\x25\x08\x03\x15\x41\x8b\x78\xd5\xd7\xa1\x5e\x6d\x3a\xe9\xbc\xbc\x54\xfa\xf5\x5c\xd3\xfe\xd0\xb2\x71\x05\xaf\xd9\xeb\x8b\xec\xae\xf4\x9e\xdb\xeb\x3d\xeb\x70\x7b\xe4\xfe\x25\x77\x97\x48\x0b\x14\x81\x93\x54\x96\xae\x68\xf2\x08\x76\xf5\xaa\x73\x48\x80\x6b\x3d\x5c\x9c\x37\x46\xa4\x93\x0b\x41\x53\xb3\xb0\xf6\xda\xca\x10\x55\x89\x5b\x47\x08\x23\x96\xd7\x97\xf8\x54\xa8\x04\x78\xf6\xc3\xb4\xae\xeb\xd1\xe0\x22\xa8\xc6\xa2\x4a\x88\xa5\xa4\x27\x35\xa0\x16\x00\x9f\x58\x89\x5a\x25\x53\x03\xdb\xb6\xc2\x58\x7d\x7a\xc7\xe6\x2d\x9c\x51\x5d\x01\xbc\x49\x8d\x5a\x49\x5f\xc0\xc0\x04\x3a\x86\xe5\x7b\x50\x5f\x53\x39\x22\x5a\x1e\x07\xbb\x7a\x83\xb0\x40\xd3\x01\x7b\x82\x64\x6d\xb4\xdd\xa1\xed\x6e\xdb\x76\x64\xde\x62\x9d\x7f\x29\x43\x7d\x55\xc3\x06\x15\x72\x0c\x42\xc3\xe9\xff\x7e\x90\xe7\xcb\xb7\x8e\x1d\xaf\x7d\x8b\xd5\xd2\x4c\xe2\x86\x99\x45\x2c\xeb\x40\x8e\x8e\x90\xd6\x0e\x19\x9e\xa9\x6a\xf5\x1a\x10\xed\x42\x7b\x8d\xc4\xaa\xfe\xf4\xc5\x19\x28\xf8\x72\x24\xd1\x69\x1f\x28\xe5\x02\x3a\xfb\xf3\xcd\xcb\xf9\xdb\xcb\x0f\x00\x48\x8a\xfd\x6a\x6d\xcb\xd1\xa0\xd8\x10\x13\xa7\x3f\xb6\x2c\x0d\xfc\x8b\x38\x16\x87\x04\xc3\x80\x0c\xe9\xc8\xe7\xfb\xa1\x45\x70\x8e\x43\xa4\xb6\xd3\x9e\xc1\xda\x03\xe4\x53\x81\x9e\x8a\x3a\xe6\x28\x9d\xb1\x2f\x03\xd6\x2b\xfb\x73\xdf\xe1\xac\x5a\x6b\x96\xfa\xf5\x5c\x3f\x7d\x62\x19\x7b\x71\x29\x5f\x6b\x13\x9a\x7e\x97\xd5\x20\xca\x60\xa0\xda\x76\x17\xe0\x44\x0a\x22\xc9\x43\xbf\xf6\x1d\xbf\xdf\x7e\xdf\x6a\xfc\xc7\xdf\x7e\x7d\xff\x83\x23\xbd\xb0\xc1\xbc\xc2\x61\x7d\x16\xfd\xf6\xb7\x9c\x45\x7f\xb7\xec\xa5\x4f\x2e\x86\xbc\x3a\x4f\x34\xd1\x9d\x0f\x98\xc0\xf3\x62\x90\x83\x3d\x2b\x06\xac\x44\x1f\xef\x48\x2d\x9d\xca\xf1\x7e\x90\xa9\x1c\x35\x5d\x3a\xdb\x04\x0e\x8b\x6e\xd7\x47\x2d\x74\xe0\x34\x5c\xab\xd0\x96\x53\x5a\xd6\xce\x4a\xe3\xcb\xe7\xb8\xf1\x46\xda\xed\xf2\xb6\xf3\x95\x00\xb0\x40\xd2\xcb\xf6\x14\xac\x07\x82\xcb\xb3\x11\xd4\x07\x32\xec\xe8\xab\x2e\x1b\x2d\xfd\xba\xcf\x26\xd2\x75\x37\xd5\x86\x37\x7f\xe5\xa6\x8a\x77\x2a\xac\x7d\x3e\xdd\x25\xde\xd3\x10\x5f\xcf\x23\x35\xc8\x5c\xf0\xe8\xc8\x3d\xa7\x1f\x96\x4d\xba\x7e\xe1\xc2\x9e\xcf\x86\xd9\x43\xac\xe5\x1a\x39\xeb\xe7\x64\xc0\xe8\x9a\x75\x60\xbe\xb1\xa9\x6f\x98\x4e\x2d\x05\x80\xd3\x96\x3a\x15\xb1\xd6\x62\xa7\x47\xdb\xef\x8c\x3b\xb5\x9b\x23\x42\x16\xac\xbf\xa7\x25\xb7\xdd\x80\xf0\x9d\x48\xec\x89\x03\x75\x3f\x42\xfb\x27\xc8\x51\x7f\xff\xfa\xb7\x6f\xbf\x7f\x3d\xde\xc8\x73\xfd\xcc\x8b\x96\xa8\xd4\x8c\x2d\xca\x5b\x46\x0a\x52\x7a\xcc\xb3\x22\xd5\x51\x2b\x75\x2c\x14\x8d\x30\x44\x8e\x94\x81\xac\x54\x81\x99\x43\x31\x11\x82\x61\xa8\xa9\x19\x32\xdd\xd6\xca\x11\xc9\xed\x94\x53\x73\x70\x2e\x01\xf3\x05\x7f\x69\x81\xd1\x7c\xe6\xe1\xb5\x00\x27\xa1\x5c\xd0\x12\x84\xaa\x44\x8a\x02\xe8\x9e\xe0\x61\xf6\x3b\xa1\xc6\xc8\xee\x89\xe2\x12\x09\x72\x5a\x5a\x75\xd0\xe4\x03\x12\x87\x8b\x9a\xcf\x48\xda\x2b\xe4\xc3\x2b\x1c\x3d\x83\x5d\x7b\x82\x4e\x69\xc0\x70\x28\x47\x42\x8a\x5f\x6b\x40\xbb\x62\xb8\x01\xe2\x10\x90\x73\xac\x23\x13\x7f\x29\x14\x11\x1a\x55\x41\xec\x97\x90\x7f\x5b\x64\x60\x19\x2a\x25\x69\x2f\xc9\x1c\x79\x4c\x89\x12\xd7\x97\xb5\x01\xd5\x47\xfb\xe8\x84\xa4\xe5\x41\xd5\xce\x90\xb4\xba\x60\xed\x02\x4c\x07\x2a\x8a\xae\x66\xcb\x3b\x03\x0a\x31\x50\x5e\x8c\x81\x0b\x38\x93\x60\xd4\x0a\x80\xbc\x48\x79\xe2\xd4\x8a\xd4\x3c\x92\xfc\x92\x91\x36\x22\xa3\x09\xa4\x83\x2a\x3e\x10\xab\xcd\xa1\xb8\x65\x6e\x2e\xc8\x47\xa9\xc4\x72\x12\x6a\x21\x8c\x99\xb4\x36\xb1\x44\xd7\xff\xf2\x0f\x1d\x0b\x9c\xa7\xde\xa3\x7e\xaf\xa0\x2a\xea\x45\x90\x50\x16\x64\x79\x8d\x09\xe0\xb6\x91\x24\x84\x99\x58\x61\x4a\xb9\x8e\x2e\x01\xce\x1d\x5f\x3e\x4d\x5f\x82\xfa\xac\xd5\x70\x52\xad\x37\x22\x6b\x5f\x55\xbb\xa8\x3d\x18\xab\xa1\x46\xe8\xea\x8e\x96\x94\xa8\xea\x8b\x00\x0a\x8a\xb9\x52\x4d\xc5\x05\x90\x6c\xe9\xb4\x78\xa5\xd6\x02\x8e\x40\x27\x3d\x1d\xa0\xa4\x99\x5a\x36\x10\x9e\x29\xe1\x0b\x04\x01\xad\x1d\x29\x72\x72\x66\x3f\x45\x49\x2e\x10\x43\x3b\xae\xbe\xaa\x7e\xc7\xf2\x4b\x24\x50\xea\x1a\x75\x87\x44\xb5\x49\x24\xf2\xa0\x36\xbf\x8f\xf2\x82\x4e\x98\x1c\x59\x3e\xc4\x13\x93\xec\xce\x27\xa6\x54\xb3\xe1\x94\xe4\x4c\x25\x68\xf9\x82\xd0\xd0\x1a\xd2\x6b\xa5\xd6\xf2\x60\xd7\xae\xff\x67\xcc\x0c\xcf\xf1\x88\x0c\x7a\x30\x7a\x82\xee\xc0\x51\x03\x09\x60\xc4\x92\x31\x1b\x46\xa0\x7e\x01\xd9\xa9\x40\x11\x1b\x02\xc0\xa3\xc4\x2f\xd9\x8c\x32\x10\x09\x92\xd6\x72\x8c\xda\x00\xd5\x68\x0f\x0d\x5b\x60\x7a\x70\x1a\x8d\xbf\xbe\xfe\xed\x9e\xd8\x3c\xad\xa5\x8a\x81\x99\xc5\x89\xec\x90\x4c\x32\x86\x1d\x29\x8d\x38\x53\xf3\x70\x2f\xbf\x32\xdb\x1b\x98\x37\xa3\xf4\x9c\x5b\x9f\xda\x6b\x31\xc2\x03\x6c\x49\x09\xbe\x51\x80\x5d\xcc\x5f\x47\xa1\x15\x47\x29\xe6\xa1\x0d\xcd\x8a\x2a\x40\xe8\x4c\x94\x53\x3c\x9c\xeb\xf8\x59\xf4\x5c\x6f\xf5\xe7\x81\x7e\x65\x4a\x6d\xf4\x65\xde\xee\x4a\x92\x84\xb8\x85\xd1\x14\xa6\x9d\x96\x33\x12\xa2\xb7\x5f\x6a\xdb\x7d\xe7\x03\x19\x41\xd2\xa7\x92\x92\x5f\xa3\x0d\x22\x5a\x1f\x00\x0e\x27\x20\x8c\x5b\xb6\xbe\xa2\xf5\x4f\x79\xc8\xbd\x1e\xba\xfc\x64\x74\xa4\xd3\x26\xb7\x3b\x1a\xfe\xdb\xd7\xd7\x3b\x60\x19\x30\xe2\x05\xe8\x7d\x31\x6d\x0e\xf7\x61\x69\xb6\x03\x37\xa4\x97\x47\xb2\x53\xcf\x15\x17\x88\xc0\xbb\x75\x92\x9d\x40\x02\x59\x26\xe1\xb1\x3e\x3d\xe4\x37\xa3\x16\xc5\x39\x83\xa8\xc9\xd8\xd2\x9a\x5c\xc6\x5e\x0c\xf7\x67\xdc\x71\x7f\xfa\x66\xde\xcf\x08\xef\x67\x05\xff\x06\x07\x6a\x75\xb5\x47\x58\x39\x19\x69\x21\x79\xe0\xfa\xcc\xe0\xc3\xdf\x26\x30\xc2\x8f\x7a\x72\x2b\x27\x93\xb6\x41\x96\xac\x25\x20\xd3\xb5\xff\x3e\xa3\xd4\x71\xbf\x11\x7c\xe9\xbe\x4b\x55\xd7\x31\x44\xfb\x2d\xec\x36\x75\xb8\x4b\xe3\xb4\x61\xbe\x4b\xe3\xd4\x45\x13\x2a\xe5\x65\x2c\x3a\x9c\xf0\x4c\x98\xa3\x70\x81\xe6\xfa\xac\x12\xb5\x3e\x81\x78\x7c\xb0\xab\xa9\x7f\x99\x1a\x97\x13\xd5\x10\x76\xc6\x5a\x3f\x7e\x02\x73\xe6\x60\x57\x0b\x64\xd3\xa7\xd3\x5b\xa1\xea\xf3\x88\xec\x7a\xc6\x3b\x96\xae\xd7\xa9\x0a\x81\x92\xdb\x50\xfa\xb3\x9d\xa9\xcd\x79\xfd\xbb\xf5\x0d\x50\x88\xbc\x92\xe3\x1e\x54\xec\x3e\x95\x43\x00\xd1\x05\x33\xde\x9e\x50\x37\x43\x60\xeb\xdc\x11\x01\x8e\x59\x5f\xc3\x4b\xdd\x8c\x80\x36\x09\x0d\x5d\xf5\x02\xbb\xd9\x07\xcf\x76\xac\xb5\xd7\x2a\xf0\xf7\x4e\xcd\x72\xeb\x76\x71\x6f\xd7\xe6\x73\x54\x5c\x9b\x70\xe7\xe0\x8f\xdf\x8e\xaf\xff\xfc\xf6\xeb\x3f\xdc\x67\xea\xe9\xa7\x30\x2c\xc3\x36\xc0\xa4\x9f\xf3\x5b\x4c\xcb\x8a\x48\x1f\x19\xf1\xe9\xb4\x3e\x29\x70\xe7\xc3\xeb\x4d\x61\x20\xd2\xc1\x59\x90\x59\x73\x9f\x04\xa6\x9c\xd1\x5f\x76\xc3\x41\x38\x51\xba\x1d\xb5\x82\x2a\xdc\x01\x00\x09\x1b\x33\xef\x65\xf6\x32\xf5\x40\x1f\x10\x55\xd6\x73\xa8\x09\x80\xe4\xcb\x14\x00\xb2\x8a\x0a\x7c\xd3\xc7\x8c\xc8\x55\x3f\xb5\x0d\x9f\xfb\xc6\x2f\xe9\x65\x27\x16\x75\x19\x27\x8a\xd3\x8c\x80\xa0\xb2\x9d\x78\x2d\x73\x2d\x74\xf0\x80\xd8\xd5\xee\xf3\x07\xe9\x79\xfd\xd8\xf9\x14\xc8\xab\x28\x2e\x08\xe2\x2a\xb1\x03\xe9\x05\x33\xbd\xbb\x61\xf4\xd0\x7c\x7b\x18\x0d\xc6\x0f\x3b\x81\x1f\xf6\xc7\x5b\xde\x46\x9c\xb0\x85\x40\x6e\x8e\x46\x60\xf0\xd5\x4d\xfc\x88\x05\xbb\x66\x4a\xb7\xa3\x1f\xf3\x95\xd0\x8b\x06\xa4\xa0\x6b\x41\x24\xb7\xc2\x7b\xe6\x11\x8b\x16\x65\x7b\xc1\xb2\x61\xe0\xdd\x54\xcc\x69\x30\x9d\x03\xb4\xe0\xec\xa3\x96\xe7\xbe\x0f\xe0\x6e\xc6\x74\x8a\x2a\xba\x4e\xae\x00\xdd\xe1\x5c\x8a\xa3\xb2\xca\xb7\x4b\xd4\xce\x61\xce\x13\xba\x0e\x68\xe6\xa7\x26\x16\xe0\x3b\x54\x00\x5d\xeb\xf2\x80\x5d\x16\xd0\x96\xf3\x1b\x3d\x10\x4b\x54\xc1\x7e\x43\x00\xc1\xab\x50\x06\xb4\x44\xee\x1c\xf6\xf8\x4b\x4d\xca\x1e\xe2\xf4\x63\x33\xe6\xb7\xaf\xbf\xdf\x02\x17\xfd\x99\x30\xe9\x1d\xf9\x54\xcd\x19\xa5\xba\xdb\x48\xa5\x52\xa9\xf3\x40\x5d\xae\xaa\xc3\x27\x58\x6a\x15\xd4\x81\xf0\x54\xd6\xb5\xee\xda\xb3\x86\x0e\x6a\xfa\x44\xf2\xf9\xa4\x83\x85\x29\xa3\xea\xbd\x6a\x1c\xa9\x39\x33\x32\x43\x26\x9f\xc8\x07\xf2\xad\x90\xcf\x85\x38\x12\xf3\x18\xe7\x71\xc8\x4b\x2a\xba\xe8\xf0\x15\x9f\x61\xa8\x1c\x40\x14\x39\x1e\x1d\x45\xcf\xc0\xdb\xa8\x39\x75\xc2\xf2\x4c\x21\x1b\xee\xc1\x08\xec\x21\xd9\x2f\x56\x55\xe3\x16\x55\xd5\x69\xc0\xda\x24\x78\xee\xaf\xde\x9d\xfb\xcd\x3b\x9d\x2b\x03\xe2\xc6\xcc\xf9\x75\x4f\xd0\xf8\x0d\x79\xdd\x83\xf3\xae\x04\x0d\xbe\xc4\x9b\x82\x3c\xde\x27\xc8\x33\x06\xd1\x2f\xdb\xea\x67\x1d\xce\x73\x94\x31\xcb\xf8\xeb\x49\x78\xf0\x9e\x89\x20\xb7\x30\x53\xde\xa6\x67\x59\x01\xc4\xc4\xeb\xb4\xb2\x5e\x02\xe9\xc0\x7d\xe8\x6e\x52\x54\x1d\x2e\x3b\xa7\x95\xab\xf7\x2f\xa6\x02\x2f\xf0\x1c\xe6\x87\x90\x3f\xba\xc0\x1e\x16\xc8\xb7\x62\xd2\x77\x04\xb2\x98\x2f\x90\x81\x81\x3a\x87\xa9\xf4\xa5\xea\xf4\x1f\x29\xe7\xa2\x3f\x4f\x67\xc1\x85\xfc\x67\x09\xe5\xc4\x14\xd3\xce\x33\x75\x3c\x47\x6b\x5e\xa4\x9d\xa3\xd6\xa8\xb5\x03\xdc\xea\x39\xe5\x13\xf9\x16\x4d\x68\x63\x63\x0d\x54\xbd\x1a\xd2\x00\x13\x8e\x0c\xde\x4a\x2f\x42\x52\x54\xb3\xab\x14\x6a\x55\xf9\x3a\x0a\x52\x38\x71\xbd\x88\xd8\x5e\x38\x70\xaf\x72\x71\xfd\xdb\xdc\x8a\xfe\x4c\x4b\x52\x0d\xd1\x00\xc2\xb3\x10\x22\x31\xc0\xfb\x24\x52\xc0\x08\xea\x2b\x03\xf3\x9b\x23\xdf\xc2\x48\x21\x54\xfd\xd9\x54\x7f\xbc\x4c\xe7\xa7\x59\xc3\x7b\xde\x92\x3c\x67\x0a\x12\xd0\x7c\x6b\x7f\xba\x52\xc7\x6c\x75\x9c\x97\x11\xc1\x78\xc7\xf2\xbc\x33\x7c\x86\x71\xf7\xf8\x46\xb8\x4e\xaf\x3b\x7b\x52\xf3\x7e\x8c\xe3\xbd\x7b\x23\x23\xcc\x49\xc7\x6e\xd6\x57\x7e\x6a\x29\xa5\x1a\x28\xe1\x6c\x78\x02\x81\x6b\xcd\xa1\x0f\xf4\x2b\x38\xe0\xc0\xdd\x1c\x22\xa2\xa2\x3c\x00\x0e\xd7\x85\xa8\x08\xf6\x97\xc1\x9e\x17\xe2\x81\x77\x9c\xcb\xc7\x17\x06\x6f\x3e\xa2\xe1\xe6\xfb\xb4\xee\x77\xe3\x94\x4b\xbb\x33\x98\xfa\xb1\x5b\x7e\x87\x17\xdf\xb7\x62\xff\xf3\xdb\x3f\x3e\xf3\xc3\x5c\x5d\xa4\x1e\x5e\xcb\x44\xa1\xfe\xc2\x4c\x01\x36\xb9\xee\xd9\x01\x14\xb9\x62\x8c\xc6\xa5\xf0\x29\x50\x08\x32\x66\xbd\x5d\x2d\x56\x09\xbf\x88\xbf\xdc\x2f\xd2\xef\x17\xb1\xfb\x5f\x80\x82\x8b\xc3\xe3\x18\xe1\x98\x46\xf8\x9e\xae\x89\x0a\xd8\x81\xd0\xf8\xc0\xc1\xb8\x40\x2b\x4a\xe7\xdb\x77\x8f\x2e\x53\x4d\xec\x12\x89\xb4\x35\x6c\x84\x2a\x11\x55\xab\x77\xbe\xa3\xd3\x8b\xa3\x32\x4b\x48\x88\xe8\x45\x57\x61\x3d\x44\x55\xa2\xc1\x16\xbc\x00\x7e\x18\x28\xb4\x6a\x45\x0d\xf6\xb2\x39\x6c\x44\x7f\xba\xbd\xa0\xe4\x8f\xf7\x36\xf8\xfd\xe2\x47\x57\x90\x02\xae\x7d\xdb\x4e\xe4\x4b\x19\x67\x1f\xdc\x2a\xf3\x21\x67\x1c\x26\xc1\x63\x1e\xdd\x42\xbe\x00\xe7\x24\xc7\x25\xe0\x00\xb7\x41\xed\x6d\xd5\x52\xd4\xda\x8e\x60\x1c\x13\x2a\x2d\xad\xee\x63\xc0\x00\xa6\x78\x2a\xe4\xdb\x9a\x25\xf5\x6c\xa4\x7b\x29\x87\xa6\x12\xa4\x54\x2b\x71\xe7\x46\xc1\x0e\x96\xf8\xa0\x4b\x5a\x6f\xf6\x89\xd7\x28\x69\xc8\xb6\x0e\x63\xa2\x64\xc4\xcf\xba\x7a\x85\x72\x28\x43\x3d\xf4\xc0\x46\x96\xfc\x12\xa9\x96\x78\xe8\x5f\x7c\xbc\x67\x8a\x61\xf0\x63\xa4\x08\x27\xa9\xcf\xed\x25\x52\x0b\x07\x55\x6b\xea\x50\x1f\xea\xf5\x5f\x8f\xff\xf1\xf5\x5e\x9f\x58\x54\x75\x82\x3d\xc9\xd5\xd4\x7d\x5a\x24\xcf\xcc\x10\xe7\x47\x52\x05\xe7\x8e\x34\xb0\x66\xe7\x3f\x01\x44\x9c\x25\x20\x36\x36\x4c\x10\xe6\x3e\xe1\x6c\x28\x05\xdd\x79\x2c\x1b\xdc\xe2\x1f\xe0\xd1\x2e\x00\x50\x1c\x8a\x2e\x38\x47\x5c\xed\x68\x83\x92\xa1\x76\x17\xdc\x89\xa5\xd8\x72\x9c\x08\x28\x81\x6e\x96\xd4\x72\xe7\x56\xd7\xe0\x59\x94\x13\xce\x72\x02\xc2\x82\x13\x1b\x4e\xfa\x1a\xf0\xc5\x09\x8e\x8a\x28\xf8\x02\xa4\x83\x0a\x8f\x7f\x0b\xaf\x8c\xb4\x72\xbb\x5e\x5c\xfa\x4e\xd5\xeb\x63\xe7\x6f\xab\xd9\xd9\xa9\x10\x08\x2b\x3d\x08\x58\x93\xda\x25\x31\xf6\x0b\xdb\xc9\x55\x69\x7a\x57\x42\x70\x6b\xa8\xdb\xa2\xa9\x55\x2b\x7e\xc4\xcb\xa3\x55\x64\xd3\xa0\xe0\x8b\x55\x57\xb5\xe0\x80\xa9\xc7\x2b\x8a\x5b\x9d\x7a\x21\xa2\xed\x63\xb0\xad\x3e\xa6\x4c\x9e\xb3\x33\xc6\x8d\x54\x8b\x33\xe6\x38\x6d\x02\x80\x01\x0c\x25\x12\x09\x68\x20\x63\xa4\xdc\x10\x17\x6f\x71\x07\x95\xfb\x98\xe8\xf0\x30\x62\x05\x11\xaa\x52\x03\xe2\x59\x03\xb4\x91\xa5\x04\xe2\xac\x46\x03\xbc\xc8\x25\xa4\x7e\x5c\x33\x97\x37\x3e\xea\x26\x3f\x32\x41\x67\x8e\xe9\x48\xc1\x3a\x80\xb5\x7b\x1d\xc2\x1e\x11\xe4\x14\xec\x9c\xcd\x9c\x0d\x31\x00\x33\xba\xe6\x40\xb5\x23\xfe\xb5\x8f\xf7\x42\x39\x41\x43\x4d\x72\xa4\x08\x44\xbf\xa2\xf7\x38\x03\xfe\x91\xd2\x9c\xde\x3e\xba\x6e\x95\x86\xba\xcc\x71\xf1\x2d\x11\x67\x59\xce\x91\x25\x30\x0c\xa0\xf2\x23\x70\x9a\x05\xe7\x37\xf9\xd8\x09\x02\x43\x45\x8c\x66\xc2\xb4\x40\xe4\x6f\x42\x50\x58\xf8\x78\x8f\x14\xa4\x21\x39\x58\xc2\xab\xf6\xd9\x39\xb8\xc7\x91\x00\xa1\xb3\x81\x66\x44\xb4\x4a\x2e\xc1\x1d\xae\x6b\x2d\xba\x02\x1e\x6f\xa6\x82\x09\x14\x84\x40\xe4\x10\x01\xdf\x90\x43\x76\x81\x62\x06\x31\xb1\x14\x47\x0d\x67\xaf\xa0\xd0\x4c\x80\x19\x8d\x08\x13\x6a\xc0\xe0\x4d\xfa\x66\x21\x91\xde\xed\x42\x5c\x8e\xa0\x8d\xf4\xb9\xa9\xf2\xaf\xea\x9f\x10\xd7\x88\x68\x45\x29\x46\x49\x91\x54\x15\x9b\x1c\x9f\x41\x02\x65\xc0\xb1\xc2\x0b\x89\x8c\x04\xb3\x0f\xc1\xef\xdf\x74\x68\xa3\x24\x40\xb1\xe2\x2d\x5c\x13\x4a\x9d\xbd\x98\x73\x23\x2f\x47\x15\xac\xd1\x81\xff\x5e\x00\x05\xd9\x32\x4e\x0e\x82\x51\x0c\xb0\x4e\x3c\x47\x20\x2a\x6c\x0d\x54\x2c\x70\xef\x68\x3b\x01\xf0\x4d\x19\x54\x90\x3a\xa7\xb4\x0e\xcd\xa5\xbe\x90\xb4\xa7\xb4\xd7\xae\x27\xe4\xce\x02\x3d\x3c\xa8\x8c\x5a\xd9\xc6\x7d\x8e\x6e\x61\xd1\x2c\x11\xcf\x97\x06\xcd\x14\xce\x99\xe1\xf4\x58\x11\xc2\x9f\x8b\x0b\xc3\x35\x00\xf5\xb0\xf1\x92\xa2\xb8\xaa\xb5\x13\x95\x12\xd7\x64\xf4\x8e\xcd\x37\x4c\x15\xbc\x4b\x5b\xb3\x2d\xe3\x2e\xff\x3a\x70\x58\xca\x62\xc3\xf0\x37\x36\x0c\xff\xc0\x86\x21\x94\xc5\x66\x19\x36\x0c\x40\x5d\x06\x3e\x6f\x18\xf1\xbc\x61\x18\xe2\x7b\x75\x94\x31\xcb\x8d\x69\xda\x87\x21\x52\x4d\xed\x35\x50\xc6\x01\x48\x3e\x2f\x5a\xc8\x7e\x91\x78\x9c\x76\x0a\xfb\x1d\xec\x57\x8c\x27\xa1\x18\x79\x23\x62\x2b\xf6\xac\xd8\x0c\x12\x98\x0d\xe4\x73\xbb\x65\x48\xd5\x79\xdc\xb0\x65\x60\x13\x4b\xb5\xbc\x22\xee\xc1\xa2\x1f\xce\xc3\xad\x93\xdc\x9c\xeb\x20\x91\x8e\x32\x51\xcf\xa5\x28\x0e\x2c\xdb\xfa\x61\xed\xd7\x6e\x7a\xc4\x88\xef\x8f\x8e\xa2\x23\xd1\x5d\x10\x8c\xa8\x99\x51\x18\x8a\x1d\xed\x9d\x78\xfd\x76\x9f\x00\xa5\x81\x54\x9c\xd2\xc5\x68\x4d\x59\xe6\x70\x72\x24\x9f\xea\x10\x9e\x41\x15\xaf\xf2\x18\xd4\x70\xa1\x38\x23\x12\x2d\x88\x05\x28\xd6\x87\x8e\x92\x81\xeb\xe6\xe6\xfa\x59\x01\x58\x08\x42\xef\x7e\x1b\x8a\x8f\x77\x04\x94\x0e\x6d\x42\x50\x8d\xfa\x73\xde\x12\xd4\x42\x91\x04\x7c\xfb\x34\x9d\x3c\x18\x1e\xbc\xf8\x0a\x42\xa2\xd0\xaf\xbd\x17\x6c\x63\x0d\xdb\xaf\x10\x32\xa9\x37\x20\xba\x15\x52\x7b\x2a\x4d\xe5\x2a\xaf\x5e\x0d\x4c\x67\xce\x79\x9c\x18\xa9\xea\x91\xc4\x80\x61\x29\x63\xaf\x6d\xc6\xc3\x8d\xdd\xb5\xa5\x4a\x39\x60\x43\x84\x94\x81\x70\x2a\x05\x9a\x0b\x76\x71\x3b\x52\x8a\xac\x3d\xa1\x1d\x11\xb0\xbd\x68\x47\xe0\x6c\xd4\xab\x66\x1d\x58\x7f\xcc\xf4\x42\x78\x61\x29\x47\x83\xf5\xd1\xff\xeb\xf6\x8c\xb4\xa3\x8c\x98\xcd\xd6\x9f\x05\x83\x2e\xf8\xb1\x20\x0b\x23\x64\x7a\xcb\xe7\x17\xc3\xba\x66\xdd\x0a\xb8\xf4\x68\x5f\xab\xaf\xd5\xfd\x95\xb8\x84\x0b\xc9\x32\x28\x55\xbd\x97\x8f\x77\xd5\x08\x1a\xa2\x8d\xc3\x08\x57\x40\x5d\x03\xd1\x49\x21\x9f\xca\x88\x69\xe2\x6c\xc6\xcf\xbf\x67\xd6\x41\x62\x44\x49\xf8\x94\x8f\x5a\xd3\x4c\x1c\x9c\x9a\x9a\xa0\xb8\xa7\x94\xc5\x50\xdc\x6b\x35\x71\x5e\x83\x50\x0b\xb0\xee\x01\x62\x2b\x5c\xa1\x23\xa7\x36\x64\x6a\xb9\x8c\x5a\x0b\xad\xcd\x11\x9c\xab\x54\xe0\x39\x70\x13\xa7\x8b\x80\x47\x21\xeb\x86\xa5\xef\xd1\x9e\x91\x90\xf4\x85\xd9\xde\x93\xb2\x3c\x47\x9c\xbd\x2f\x21\x1c\x39\x68\x75\x0f\xf6\xda\x4c\x79\xd9\x12\x9f\x8a\xb6\xf6\x9e\x5d\x22\x46\x84\xe1\xa7\x54\x5f\x55\xaa\x9c\x25\x8b\x1f\xa8\x56\x55\x6d\x06\x99\x7f\xc1\x2a\x3b\x54\x28\xe8\x97\xe2\x64\xf9\x10\x30\xfc\x3c\x3a\xa0\x01\x31\x39\xf8\x2b\xc5\x9a\x30\xbd\x5a\x72\x77\x4b\xec\x97\x9e\xac\x74\xec\xe9\x8b\x12\xfc\xac\x84\xbd\x37\x78\xfd\x66\x5e\xfe\x7d\x1b\xc9\x3f\x5f\xff\xf9\xd5\x1d\xff\xf3\x8e\x08\x0c\x08\xd2\xdd\xe3\x9f\xa0\x1a\xcd\x53\x43\xb6\x9f\x5d\x2d\x90\x6e\x90\x5f\x32\x38\x9a\x64\x40\x86\x15\xfe\x42\x8e\x66\x04\xc3\xf2\xf9\x9f\x9b\x3e\x71\x4b\xec\x04\x2b\x7f\xa8\x96\x85\x65\xfd\xa8\xfb\x80\x2a\x0d\xe9\x99\xe3\xee\xb1\x52\xba\xe2\x1d\x4a\x9f\xa3\x1a\x5d\xba\xe3\xf3\xd0\x0c\x8e\xc3\x7e\x6f\xe8\x50\xd6\xa7\x32\xd8\xe9\x05\xa7\x61\xbd\xf3\xea\x1f\x06\xc2\x77\x76\xb9\x16\x49\x2e\x3e\xb7\x75\x4c\x01\xda\x13\x77\x5b\x13\xef\x6d\xcb\x5d\x63\x1b\xd6\x43\xcb\x37\x46\x16\x8c\x0e\xc7\xa4\x3a\x31\x9a\x38\xcc\xc6\xf3\xfb\x7c\x28\x07\xf6\xff\x06\x42\x23\xbd\x53\x96\x59\x42\xbc\x19\x5a\x7f\x19\xd9\x75\x58\x5d\x4f\x41\x4a\xb4\xc0\x35\x09\x96\x09\xfe\x23\x03\x7b\xd7\xc8\xca\xb0\xdb\x17\x8b\x71\x65\x5e\x0c\x2b\x6f\x46\xd5\x4f\x83\xba\x39\x8f\xb5\xb6\xc4\x79\x4b\x7a\x8c\xf2\x1d\x83\xfa\xfd\x06\x8e\xd9\x32\x4d\xa3\xa4\x21\x6c\x26\xd3\x13\xe3\xff\x7c\xa9\x77\xa3\x34\x00\xcf\x61\x13\x3b\xf1\x84\xa8\x94\x81\xcb\x25\x22\x45\xcb\x5c\x43\x70\x00\xb7\x7b\xf3\x22\x9c\x75\xda\x05\x31\x7a\xd3\xff\xb6\x2f\x01\x96\x84\x5d\x2f\x90\x16\x88\x34\xe7\xf2\xaa\x82\xc3\x42\x86\xe3\x60\x7f\x7b\xef\xa7\x6e\xfa\x44\xb4\x7d\xbf\x81\xa4\xb6\x4c\xd2\x5b\x33\xbd\xf4\xae\xf2\x56\x95\x73\x57\x21\x27\x7c\x9d\xf6\xd8\x5b\x21\x96\x06\x47\x67\x1c\x71\x30\xbc\x2c\x8f\xcf\x11\x65\xb4\xed\x29\xfc\xf7\x3c\x20\xe7\xff\x6d\xde\x31\x47\x32\xe9\x6f\xc8\x16\x7f\xce\xfc\x79\x4e\xd7\xe7\x1d\xf6\xfd\xf5\xf4\x53\x68\xef\x7f\x6c\xe0\x7d\x23\x5f\xea\x51\x55\x48\x51\xc5\x05\x44\x03\x6a\x39\x18\xa9\x46\x53\x43\xde\x8c\x73\x5c\xd7\x21\xfa\x91\x9a\xc8\x14\xa3\xff\x8e\x7e\xbe\x85\x2b\x75\x23\xa4\x23\x9f\x5c\xbe\x8d\xf0\x51\x6f\x02\x7c\xe4\x09\x95\xe1\xfa\x39\xe3\xb9\xa9\x21\xb0\x23\x06\x01\x77\xc4\x01\x2e\x74\xb1\xb0\x68\xe9\x0a\x89\xd5\x19\x62\x71\xc8\xf9\xb9\x50\x3a\x59\xec\xc9\x0e\x76\xf6\x1a\x1f\xcc\x84\x50\x59\xa3\xc2\x74\x74\x8d\x97\xd0\xe1\xa5\x7a\x8e\x77\x38\xb7\xa4\x59\x77\xec\x63\x6e\x57\xda\x43\xf3\x7e\xc4\x27\x8a\xb9\xf8\x98\x1f\xfa\xf6\x89\x61\x2d\x6b\xbc\x2a\xa6\xd4\x54\xa5\x1d\xa5\x93\xc3\x64\xe1\x23\x45\x11\xfc\xe4\x04\x1e\x05\xe8\xbc\x7a\x27\x9f\x50\xc6\xe6\xdc\xd1\xa4\xea\xdb\x36\x9f\xc0\x30\xaf\xa6\x38\xff\xdb\xa8\x57\x57\x8e\xbb\xa8\xc7\x99\x1b\xe4\xe6\x94\xa5\x2e\x3a\x79\xa0\xec\xac\x3e\xd7\xbf\x4f\x51\x07\x84\xea\x8e\xea\xf0\x92\xa8\x96\x15\x4e\xbf\x80\xa5\xeb\xc0\xde\x8e\x4c\x56\x48\xa0\x9d\x5f\xe2\x39\x51\x4c\x27\x35\xe5\xdf\xc2\x3c\xf2\x03\xe7\x2d\x6f\x2e\x2e\xea\xe1\x7a\x05\x5f\x00\x27\x4f\xf5\xe3\xbd\x50\x18\x98\x75\x13\xe7\x97\x46\x51\xf5\x34\x3e\xa9\xf6\xff\xd0\xfc\x38\x7e\xfb\xfe\xfd\xd7\xdf\xef\xd8\x0c\xaf\x53\x6e\xa7\x41\x5e\x2d\x3a\x78\xda\xb0\x9b\xda\x35\xa1\x8e\x81\x42\x84\x7f\x42\xdc\xe5\xcf\xd5\xbd\x88\x53\x22\xdf\xca\x18\xa8\x05\x64\xcc\x47\x70\xae\xa9\xcd\x36\x54\x0a\xec\x60\x08\x2e\xd0\xc1\x1a\x95\x80\x6c\xff\xd1\x15\x50\x73\x16\x58\x92\x81\xa2\xe8\x95\x9b\x3c\x5d\xde\x62\x48\xcd\xf2\xf1\xee\x04\x70\x9f\x7d\x2f\x04\x53\x6d\xdf\x0b\xd9\xa9\xcd\xa0\xf2\x4d\xae\x7f\xfd\xa9\x9d\x24\xde\xd8\x77\x2a\x15\xbf\x71\x75\xd9\x51\x4a\x4b\xa3\xaa\x59\x3a\x78\xeb\x98\x50\x81\x1f\xa9\xa5\xd1\x94\x1f\xbe\xcb\xee\x38\x8f\xdf\x4f\x04\x06\xc4\x73\xa2\x73\xa2\x64\xf4\x0a\x12\x0f\x55\x4d\xd3\x38\xaa\x35\x1e\x1c\xae\x1b\x17\xdd\x04\x6a\x1b\x1a\x92\x3a\xc2\x2b\xe5\x52\xf5\x67\x32\xba\x19\xbe\x76\xc4\x85\x82\x00\xb7\x85\x7a\x7e\xd7\x0c\x17\x37\xeb\x17\x08\xe5\x4f\x12\x87\xac\x95\x78\x9a\xf2\xad\x79\x88\xf7\xa6\x5b\xbf\xfb\xa1\xfe\x7c\x4e\x76\x23\x06\xc8\x1b\xcb\x8e\x4f\x72\x0c\x38\xd2\x0f\xeb\x58\xd0\x19\x02\xb1\xce\x60\x10\x58\xe5\x55\x34\x9b\xef\x2e\xcf\xbb\x86\xf5\xeb\xeb\xef\xc7\xb7\xc7\x4f\x91\x75\x49\xce\x2d\x82\x84\x83\x21\x4e\xe4\xb9\x8c\x11\xb3\x14\xd7\x2b\x01\x33\xf8\xce\xae\x4f\x97\x62\xc0\x78\x6d\x0b\x09\xc4\xa0\xaf\x67\x15\x5e\x97\x8a\xfd\x47\xdb\x78\x6b\xad\x7c\xde\xe6\x47\x0f\x4d\x75\xab\x78\xc5\x96\x99\x26\x90\xba\x00\xc6\x32\x95\x91\x69\x34\x52\x53\xbd\x6e\x0e\xf5\xce\x50\xdd\x01\x9c\x35\x41\xf2\xd3\xbc\x1c\xef\xad\x70\x53\x11\x7b\x80\x79\x31\x04\x36\x34\xdf\x72\x1d\xe6\x9f\x79\x95\x59\xe9\xd1\x6e\x78\x38\x7c\x40\x98\xc4\x27\xcb\x88\x01\x73\x92\xea\x7a\x8e\x6a\xcc\x4e\x30\xa2\x82\xa3\x23\x5c\x0f\xa0\x52\x37\x7e\x57\x64\x89\x71\xc5\x11\x1e\x53\x32\xc2\xd9\xe4\x28\x22\x0c\xc8\xe7\xac\x22\x09\x60\x33\x76\x18\xa4\xdf\x76\x32\x55\x9f\x1a\x79\x9c\xae\x35\xe3\xea\xe0\xa3\xf1\xb1\xa2\xeb\x85\x52\xa5\x06\x7a\x2d\xaf\x3a\x58\x64\x1e\x55\xaf\x13\xc7\x80\x14\x30\xb0\x2e\xd5\x4b\x6b\x5c\xb2\x17\x88\xfe\x88\xca\xca\x52\x11\xa9\x96\x17\xbc\x62\xec\x28\x86\xaa\x6f\x37\x8c\x95\xa0\x02\x35\x1c\x54\x80\x21\xdd\x2c\x5c\xf3\xd1\x27\xca\x5c\x00\x21\x90\xf5\x11\x69\xf6\xf8\xe2\xe5\x3e\x35\x14\x3f\xda\x6b\xad\x0e\x0f\x0f\xe5\x83\xca\x57\x22\x5f\xb5\xff\x24\x1f\x29\x18\x56\x03\x4e\x71\x4d\x6b\x2f\xaa\x3c\x67\xb4\x2a\xfb\x74\x60\xaa\x40\x3f\x61\x9c\xd4\x2e\xd5\x5a\x4b\xf4\xe3\x36\x46\x02\x71\x6b\xf3\x65\xd5\xda\x82\x11\xc4\x37\x03\xce\xc2\x56\x65\xe8\xd3\x28\x67\x8c\x24\x45\x1c\x34\xbd\xfc\xf1\x45\xa8\x02\x49\x29\x94\x51\x15\x9e\x08\x6c\x7b\x41\x1a\x53\x46\x28\x09\xdb\xaa\x6a\xd8\xfc\xa3\x4e\x82\x22\xa0\xac\xe7\x79\x50\xaa\xc5\xed\x1c\x32\x71\xd5\xf9\x58\xb1\x4c\xa7\x92\x1f\xeb\xf6\xdf\x4f\xf7\x22\x8f\x9a\x89\x38\x77\x21\x98\xdd\xf8\xb6\xab\xe6\x2f\xdd\x26\xf6\xec\x3d\xc9\xb6\xc5\x92\x6d\x97\x58\x94\xa1\xf3\x6d\xed\x42\x51\xf2\x1b\xe7\xad\x4d\x67\x88\xa2\x46\x7f\xb5\x87\x24\xc9\x16\x15\xdf\x93\x6d\x6f\xe5\x52\xdf\xc2\xbf\xbb\x99\x4a\xbd\x86\x78\x5c\x46\x74\xa2\x6a\xf7\xd0\x71\x5e\x01\x14\xda\x85\x33\xba\xe7\xe8\xac\x43\x16\x6e\x01\x3f\xd3\x8d\x5e\x96\x70\xa5\x97\xd1\x9b\x37\xba\x39\xcc\xfa\x19\x6f\xf8\xbf\xac\xa3\x3f\xd5\x2e\xb0\x40\xee\x83\x29\xb9\x9a\xb5\x7d\xc7\x0a\xb1\x87\xef\x00\xc9\x86\xa8\x59\xe5\x8f\x5b\x0a\xc1\x49\x76\xb8\xef\x04\x04\x63\xbc\x4d\x39\xcf\xdd\xff\xb7\x7d\xc8\x92\x5d\xc0\x4f\x9e\x8c\x17\x65\x9d\xd0\x77\x46\xc7\xe2\xdd\x74\xf4\x2b\x99\x30\x9b\xb4\xc0\xb3\x63\xf9\x2e\xa2\xe1\xbe\xda\x69\xc7\x5d\xfd\xf0\x5a\x40\x9b\xdb\xa6\x37\xc1\x9b\x7c\xad\x3b\x39\x5f\xe9\x4f\x73\x59\x5c\xed\xd0\x66\x1d\xfa\xee\x6c\x99\xfc\xf7\xf5\xe8\x5d\x53\x7e\xfc\x7a\xaf\xdb\x17\xee\xda\x7d\xf4\xb4\x2b\xf3\x7e\xaf\xca\x77\x1c\xf9\x23\x79\x61\x01\x7d\x8d\x34\x79\x2a\x75\xa4\x2c\x8d\x32\x64\x1a\x20\x60\xe2\x7d\x1b\x47\x06\x94\xe1\x20\x57\x10\x90\xef\x10\x88\xaf\xab\x37\x52\x88\x8e\x42\x6c\x23\xe5\x40\x57\x8c\x06\x3e\x08\xd5\x0c\x3c\x22\x6f\x5c\x80\x54\xc0\xe1\x1c\x44\xb7\xf3\x04\xc5\x24\x43\xb6\xe5\x49\x35\xf1\x8c\xd3\xdb\xd3\x0d\xb7\xe1\x5b\xa4\xdc\x0e\x42\x09\x60\x87\xa9\x84\x8f\x77\x2e\xd4\x18\xe3\xd3\x38\x1d\x80\xf0\xd5\x06\x8e\xf4\x19\xfc\xf0\xad\xb7\x98\x98\x06\xe8\x18\x31\x8e\xc5\xa3\xd6\x0c\x55\xfc\x7c\x11\xe7\x1d\xaf\xf7\x1b\xb2\xe1\x1e\x13\xfd\xda\x98\xbd\xe3\xb8\xcd\x70\xde\xa1\x10\xe4\x8f\x2f\x5c\x07\xde\x9e\x60\x00\x2a\xff\x5a\xfd\x5e\xb8\xee\xa5\xfb\xee\xa0\x5b\x4f\x1b\x22\xdf\x05\x49\x37\x5b\x86\x77\x82\x64\xfd\xf1\xe2\x91\x49\x2a\xc9\x72\xc9\xd9\x31\xbb\x71\x5c\x33\x62\x0e\x49\x84\x32\x28\x71\x85\x5a\xb9\xbe\x0b\x05\xca\xb6\xda\xb6\xf9\x6e\x77\xca\xdc\x23\xa0\x18\x74\x32\x00\x6e\xa1\x34\x6a\xc5\x2d\x01\xf1\x2e\xcb\xec\xd0\x6b\xff\xf1\x4e\xad\x58\xfc\xea\x5b\x81\x76\x3f\xc4\xdb\x92\x73\x2f\x2b\xf1\x1d\xaa\xbd\xda\x0f\x48\xd6\xcc\xc8\xa7\xda\x75\x9d\xea\x17\x77\x44\xfe\xf7\x4d\x76\x67\xb8\xd6\xe8\x92\xb7\xf7\x00\x83\xea\x5e\x97\xb1\xf5\x47\xdf\xb1\xe3\x7f\x7c\xe1\x4d\xba\xe5\xd4\x01\x5b\x48\x6c\xe6\x5d\x9a\x88\x61\x27\x1b\xe2\x9a\xbc\xbf\x4f\xf9\x3a\x8e\xff\xfa\xfe\x38\xca\x3d\xcb\xb0\x40\x8f\xb2\x5a\x01\xa7\x38\x9f\x98\x72\x79\x8d\xd4\x1a\x02\x89\xda\x19\x88\x59\x92\x41\xcc\x18\x87\x19\x3b\x6a\x71\x09\x1c\xe5\x26\x96\x34\x0e\xa3\x90\x47\x38\x2c\x87\xf2\x64\x64\x06\x71\xc2\xf3\xf0\x65\x60\x81\xf4\xe2\x44\xcc\x08\x0b\xf3\x19\xe8\x33\xda\xb1\x32\x1a\xf9\x3b\x56\xd4\x12\x29\x8b\x6a\x84\x7c\x89\x23\x53\x86\x6c\xf6\x56\x53\x40\xb2\x74\xcc\x8d\x30\x81\xfa\x95\x68\x4d\x11\xcb\x69\xc0\xd5\xf6\x1c\x48\xa3\x73\x33\x37\x0f\x3b\x3c\x8c\x77\x0c\xf6\x8e\x75\x25\x10\xd7\x33\x9e\x49\xea\xa5\x26\x34\x92\x07\xbb\x62\xfa\x58\x2b\x1d\xa5\x9a\x1c\x59\x32\x50\x75\x24\xf0\x91\xe4\xc2\xd6\x43\x40\xfe\x28\xdb\x5e\xc4\xe7\xd6\xd1\x42\x2d\xa6\x2b\xe3\xa1\xb6\x7c\x62\x6b\xcb\xd3\xb2\x9d\x88\xfb\xe8\x18\xe1\xe1\x06\x90\x58\x1c\xf2\x55\x78\xb0\x77\xbf\x82\x8b\x5a\x7e\x5b\x86\x1b\x80\x60\xef\xcd\xa5\x1b\x05\xbb\x1b\x05\x7f\xa9\x08\xda\x02\x5f\xe1\xcc\xdb\xef\x39\x83\xd1\xee\x48\x92\x99\x62\xa3\x68\xfc\x88\xf6\x3b\xc7\xf2\x5d\xc5\x2f\x82\xb3\x52\x71\xe7\x4f\x17\x25\x38\x2b\xe2\x29\x00\x66\x38\x9c\xc1\x86\xc1\x81\x61\xc3\xd5\x8a\x96\x02\x4c\xd7\x42\x11\x2c\xe8\xf1\x67\xfc\x08\xd3\x4a\x7d\x1c\x97\x7a\x29\x97\xfa\x4a\x0d\x45\x4e\x14\xf3\x1a\xad\x42\xa7\x4c\xeb\xfe\xb3\xd1\x51\x56\xc3\x2f\xe4\x25\xa1\xb5\xcd\x31\x03\xcd\x0c\x23\x8e\x0e\x28\x7b\xd1\x92\x32\x4e\xed\x32\x9f\xa5\x66\x30\x5c\x06\xbb\x85\x57\xc5\xcc\x4a\xb9\xbc\x69\x59\x9f\x4b\x75\x92\x55\x77\x5d\x82\x81\x43\x6c\x1b\x82\x07\xb1\x6a\x12\x0a\xdf\x69\x05\x5e\x7f\x5e\x29\x5e\xb2\x23\xbc\x3e\xa3\x0d\xe7\x7d\x3d\xf8\x32\x4e\x5f\x6f\x9a\xe0\xe6\x85\xf4\xf7\x18\x37\xb8\x9d\x5f\x5a\x4f\xd4\x2e\x1d\x43\xb1\xba\xae\xb6\x8a\x8e\x11\xbe\x31\x61\x98\xd7\xd2\xbf\xef\x07\x1f\x16\x84\xb0\xc0\x37\xc5\x1e\xb5\x56\x49\x74\x09\xe6\x65\x1e\xc9\x95\xfb\xe2\x0e\xbe\xce\xb5\xb7\xbf\xe7\x15\x6a\xf4\xf5\xb7\xbb\xbb\xde\xfe\x25\x53\x68\x69\x28\xb4\x4c\xb3\x60\x0e\x84\x68\xb5\x39\x0f\x8a\x37\x94\x0c\x04\x47\x3e\xc4\x88\xff\xfd\xeb\x3f\xff\xf9\xed\x1f\xff\x7e\xcb\x12\x7b\x0c\x98\xb1\xbe\xc6\x21\xf6\x56\xd6\xc1\xfe\xd6\x16\xd6\x8f\x77\x40\xf8\xc4\xcf\xf1\x16\xd7\x89\x8c\x69\xd8\x23\xa9\xef\x8c\x4d\xc4\x45\x55\xc6\x58\x22\x71\x12\x47\x2d\x00\x5c\x8d\x75\xaa\x53\xca\x65\x74\xc4\x52\x70\x59\x17\x12\x88\xab\xd1\x34\x16\x5f\xf4\xe7\x75\xad\x3a\xe2\x8e\x51\x9f\xc5\xf3\x95\x5a\x42\x52\x7b\x97\x21\x09\xe1\xc8\x21\xe7\x9d\xc4\x50\x0f\xaa\xbc\x74\xda\x23\xe5\x37\x42\x29\xd4\x5c\x2b\x8d\xca\x87\x28\x5a\xf7\x73\x91\x56\xef\x9d\x6a\x9f\x6b\xb5\x5f\xe9\xa9\x51\xe7\x56\x1f\x29\x86\x44\x22\x89\x6a\x13\x8a\x6c\x99\x0a\xe8\x1b\x74\xde\xba\xda\xd0\x43\xc3\xdb\x5e\xbd\xd1\xed\x27\x67\x15\x8f\x25\x3a\xd4\xbe\x05\x35\x4c\xc5\x8a\x45\xa7\x8c\x57\xaa\x7e\xae\x5b\xf1\xc5\xed\x75\xb8\x0d\xc9\x7c\xc8\x2a\xb5\x38\xe0\x02\x1b\x21\xe5\x62\x43\xfb\xb6\x53\x75\x01\x03\x36\x58\xd4\x77\xa6\x0b\x2e\x6f\xa8\x3c\x06\x52\x06\xbb\x9e\x87\xd2\x0a\x1e\xaf\x4d\x97\x4b\xe5\xae\xd4\x7e\x36\x9f\xae\x4c\x98\x4b\x0f\xed\x30\xc8\x78\x03\xf5\x7f\x73\xfc\x99\x27\x67\x47\x85\xa7\x12\x97\x91\x95\x29\x37\x2a\x52\x07\xe0\x18\xe2\xd2\x13\x18\x22\xd5\x98\xe7\x77\x36\xae\x8e\x98\x65\xa4\xa4\xd2\x3d\xc9\x06\x7b\xd8\x46\xac\xa2\xc9\x3b\x29\x25\xfa\xc8\xea\x31\x8f\x12\xa9\x71\x39\x52\x28\x05\x40\x8b\x19\x8e\x87\xc0\x41\x2b\x30\x68\x4d\x78\x19\xd0\x21\x55\x6b\xfd\xb6\x6a\xca\x19\x2a\x66\x17\x96\x64\xdd\x6e\x37\x15\xa3\x6d\x8e\xd3\xb5\x27\x52\xf4\xd7\xce\x5f\x6a\xb5\xac\x63\x6f\xc3\x86\xaa\x10\xed\xb3\x85\x56\x37\x79\x33\x18\xea\xa4\xb3\x65\xd3\xfa\x66\x99\xf3\x82\x0a\xe4\x7e\xed\x99\x1a\x3e\xf2\x6a\x0c\xdc\x34\x5c\xeb\x71\xbc\x34\x74\xd3\x7c\xb3\x29\xb7\xed\x4f\xb9\xb9\x69\xe4\x63\xe9\xd7\xf3\x9b\xdd\xe6\xcd\x8d\x11\x5c\x85\x96\xe4\xf5\xe8\x77\x63\xc4\xcf\x27\xfd\xbc\x87\x5c\xcf\xac\xd9\xe9\x03\x2d\xd4\x32\x4d\x96\x53\x70\x3a\x0a\xd5\x5e\x58\x8d\x1b\x2a\xff\xbc\x76\x75\x5f\x1a\xbb\x9e\xf8\xe6\x09\x5c\xcf\xfc\xa9\xa0\x23\x71\x65\x9b\x0f\x31\x23\xe2\x8e\xe3\xf9\xdd\x9b\xb9\x8a\x8e\xb8\x0c\x67\xde\x36\x93\xc7\xdd\x3e\x98\x16\xc8\xce\x22\xd0\xd6\x4f\x93\x20\x71\xbf\x4e\xcb\x90\xd7\x43\x71\x1e\xb9\x97\xb3\xbf\xfe\x53\x2b\xb6\xef\xe1\x7f\x28\xd7\x7a\x1d\xd2\x14\x1f\xe2\xfd\x90\x27\xd0\x7d\xef\x5d\x36\x6e\xaf\x45\x7c\x07\x32\x60\x66\xf1\x1d\xec\xc2\x7a\x07\xc7\x29\xfc\x32\x23\xc8\x5f\xc2\x0e\x4f\xc4\xe9\xe8\x88\x33\x30\xcc\x83\xce\x46\x1c\x7b\x17\x21\x6e\xd8\x05\xf5\x73\xf6\x79\x5d\x82\x6e\x9b\x69\xb1\x7b\x2f\x6f\xf0\xc0\x49\x4f\xa3\x3e\x8b\xe7\x33\x45\xb0\xaf\x4c\xf9\x4e\xdc\xb2\xbe\x46\xb7\x84\x35\x9d\x9c\x1f\x8a\x6e\xdd\x37\x38\xe8\xb4\xd6\xa4\x05\x67\xad\xaf\xd5\xdb\xca\xb3\x2a\x83\xfc\x7a\xaf\x42\x71\x3c\xcb\x93\xe5\xd7\x53\x7b\xa6\x06\x17\xd5\x0d\x22\xf9\xa2\x42\x53\xd4\xc2\x9d\x3a\x05\x5d\x76\x83\x1e\x6f\x55\xf0\x39\xb8\x53\x77\xee\x74\x24\x24\xde\x66\xad\xb2\x43\xdd\x63\x41\xaa\x7d\x1e\xaf\xd4\xfb\x5c\xb1\xf3\xf4\x5f\xb5\xcb\x86\xe2\x32\x54\xe5\xa8\xb5\x76\xa8\x3e\x20\x5c\x43\x27\x27\x40\x77\x6f\x7b\x9b\xf3\x50\x6d\xdb\xde\x99\x24\x16\x96\xaa\x85\xad\x49\x67\x6c\x08\x51\xe8\x78\x6d\x96\x5c\xea\x76\xa5\xf2\xb3\x69\x74\x6d\x9e\x4c\xfd\x73\xda\x99\x28\x08\xca\xe9\x5b\xb6\x4c\xb8\x2a\x3b\xac\x77\x3b\x94\x77\x94\x1b\x70\xaa\x42\x68\x24\xba\x3f\x86\x4c\x29\x25\x00\x9f\x44\x31\xd8\x15\x2e\x04\xd4\x76\xae\x19\x2c\xe2\x0b\xe1\xe2\x93\x8e\xdf\x48\x51\x15\xb0\xd8\x56\xc1\x1b\x29\xf6\x21\xb3\xad\xeb\xf2\x95\xbe\x32\x05\x70\x93\x47\x7b\x6c\x21\x0a\x85\x9a\x8f\x47\xa4\x2d\x85\xdc\x28\x54\x2a\xb9\xe8\xcb\xad\x1a\x2b\x51\x1b\xb5\xca\x6f\xda\x94\x9d\x16\xf2\x0e\xa5\xdf\x9b\xb3\x9b\x97\xa2\x1f\xc5\x1c\x0d\x6b\x26\x8a\x23\xa9\xda\x76\x77\xe5\xb5\xa8\x63\x1a\x7b\x03\xc2\xa6\x71\x71\x26\x13\x56\x69\xd3\xb1\xb3\xb2\x47\xb7\x6d\x7a\x43\xc6\x1b\x48\xda\x73\xee\xd7\xbe\x09\xf6\xfe\x5f\x6e\xb4\x36\x56\xa7\x75\xe3\xcf\x0d\xdd\x34\xdf\x98\x0b\xb7\xed\x4f\x48\xfd\x93\x78\xe5\xcd\x5a\x55\x5e\xd7\x94\xb0\x65\xef\xf4\xc0\xa5\x95\x97\xdd\x6a\xd6\x3f\xf8\x7a\x9c\x7a\x20\xac\xfa\x55\x8b\x4e\xdb\x6a\x80\xc6\xde\x7a\x61\x35\x6e\xa8\xfc\xf3\x7a\xda\x5f\x1a\xbb\x9e\xf8\x58\x0d\xeb\x1e\x38\x17\x74\xb4\xdc\xba\x28\x48\xab\xd5\xd9\x1f\x5b\xef\x84\xf5\x2c\x45\x27\x1c\x02\xa1\xba\xcc\x9b\x36\x86\xb3\xb8\xaa\x7b\xeb\x22\xb6\xa0\x7d\x70\x24\x64\xf2\x53\x66\x26\xa9\x4d\x5b\x4f\x0c\xb2\xfe\x6c\xdd\x30\xed\xf1\x7d\x18\x64\xb1\x5f\xf7\x61\x7b\xe1\x1f\xf0\x3a\x7f\x3b\xde\x4b\xab\xad\x2f\x00\x53\x8b\xcf\x1b\x86\xea\x0a\x3b\xc3\xa8\x90\xa9\x94\x35\xaa\x98\x11\x7d\x31\xe7\x97\x35\x4e\xfb\xc4\xb7\xcc\x40\x69\x58\x06\x29\xa5\x06\x20\xe8\x1c\x47\x64\xae\x3b\x2d\x79\x7d\x93\xee\x45\x3a\xb9\x2e\xaf\x5e\xde\x10\xf0\xde\x72\x2a\x54\xb2\xc5\x7f\x87\x68\xb6\x67\x28\xfa\x02\xa8\xd4\x88\xae\x45\x1e\x7d\xe4\xb5\xb6\x5b\xe1\x2d\x2e\x05\x11\xba\xb1\x02\x09\x74\xcd\xb4\xcd\x16\xf1\x51\xab\xf4\x96\xac\xbf\x0e\xbe\x39\x51\x9b\x74\x9c\x1a\x92\xdb\x1d\x67\x52\x13\x50\x8a\x2e\xd2\x50\x64\xdd\x76\x31\xc0\x52\xfd\x46\xed\x69\x00\xe1\x4c\xbd\x12\x1b\x65\x5d\x90\x92\x13\x2e\x8b\x67\xa1\x40\x9a\x33\xbe\xe4\x3a\x92\x14\x21\x29\x41\x4b\x09\x03\x2e\x36\x00\x19\x87\xb6\xb1\xaa\x4a\x12\x36\x51\x64\x70\x94\x3c\xa3\x7e\xaa\x1a\x18\x85\x49\xd0\xdd\xdf\x73\x02\x76\x30\x53\xcc\xf2\x4a\xd5\x17\xfd\x19\xa6\xf3\xdd\x1e\xff\x4b\x52\xaa\xfe\xac\x8a\xbd\xd4\xac\x68\xcd\x00\x03\x51\xc8\x8b\x38\xf2\x12\x8f\x6a\xb8\x90\xe4\x46\x2d\xa8\x76\x63\x40\xf9\x99\x32\xf0\x4e\x98\x7c\x48\xa7\x4d\x5d\xd9\x4b\xf7\x48\x86\xa6\xc5\x84\x8c\x0e\x33\xe8\xa0\x89\x05\x28\x22\x7f\x7c\x04\x90\x98\x97\xb0\x5b\x3b\xf6\xd3\xe1\x40\x81\x23\xa7\x57\xaf\xba\x8e\x1e\xc2\xf9\x68\xc9\xcb\x31\x16\x8a\x35\x38\x6a\xba\x96\xa3\x43\x4f\x3c\x23\xef\x7a\x55\x20\x86\xb1\xf7\xaf\x56\xa7\x0c\x76\x3d\x8f\x00\x70\xd6\x05\x83\xe4\x30\x4a\x9b\x15\x30\xd5\xa8\xda\x78\x93\xe4\xbc\x37\x21\x1c\x65\x61\x90\x83\xe0\x70\xf6\x29\x90\x20\xf8\x5e\xe2\x04\x8d\x6b\x9c\xc4\xaf\xeb\x2f\x2e\x2e\xdc\xbd\x6f\xe0\x74\xdc\x16\xd6\xdf\xf2\x33\xa1\x19\x2a\x9a\xee\x3a\x10\xce\x54\x43\xa4\x10\x36\x2c\xea\x21\xa8\x58\x4a\x56\x75\xae\xb2\x3e\xda\xb3\xa0\xfa\x18\xf2\x4b\x5e\x20\x45\xc6\x41\x95\xab\x94\x57\x1b\x72\xc8\x46\x65\xa3\xb2\xc0\xf0\xe8\xeb\x2a\xd5\xa3\x94\xaa\xd2\xe8\xfc\x46\x9e\x1f\x28\x8b\xbd\xeb\xa4\x22\x7d\xb9\xdf\x84\x0c\x4a\x9e\x31\x76\x78\x84\xb8\xc4\x8f\xec\x48\xb4\x62\xc9\x4a\x1e\x98\x5b\x31\xae\x1a\x43\xc8\xa6\x4b\x39\xbc\xe0\x2d\x9b\x3c\x1c\x8f\xdc\xaa\x26\xf1\x30\x75\xd7\x1d\x12\x88\xa9\xc0\x69\x11\x24\x8d\x16\x6b\xea\xa3\x9c\x70\xe0\xb5\x93\x9b\xab\x1f\x8f\xb6\x0c\xa3\xbc\x06\x2a\x61\xc0\xe5\x2c\xa9\x2b\x25\x35\x31\xf5\xdf\x24\x0d\x82\xfe\xe8\xc4\x35\x74\x82\x6d\x8c\x6e\x07\xcb\x10\xdd\xae\x7d\x00\x3c\x05\xce\xe4\x25\x53\x80\xd2\x90\xa8\x02\x0c\x02\x7e\x4a\x6e\xaf\x54\x4b\x45\xe8\x6b\x7f\x43\x84\x64\x78\xde\x0b\x2c\xb4\xfa\x86\xea\x0c\xda\xc1\x37\x5d\xb5\xfa\x29\x35\xc9\x53\x91\x32\x83\x2d\x04\x56\x42\xd5\x21\x40\x95\x45\x7f\xae\xa0\x7b\x88\x36\x0d\x5f\xe7\x96\xf4\xc7\x86\x1a\x50\x0b\x1e\x01\xbc\x2d\xe1\xcc\xab\x46\x21\x9c\x80\x06\xdd\x27\x63\x3d\x4b\xb2\x7c\x5a\xf7\xf3\x74\xb0\x22\xba\xfb\xfb\x90\x8f\x14\xb5\xee\xad\x68\x7d\xf5\x63\xab\xb0\x43\x31\x38\xde\xd1\x1f\xab\x67\xd8\x0d\x1d\xe0\x4b\xd7\x6b\x4d\x0d\xbe\xf1\xd2\xd2\x5e\x55\xc9\x6c\x04\x4d\x31\x39\xd4\x37\x01\x8b\x2a\x08\x3f\xf3\x6e\xc4\x85\x76\xac\x76\x3d\x79\x6f\x13\x01\x3c\x20\x67\x70\x9f\xfe\x38\xb7\xd1\x26\x80\x54\x7d\xbf\x5b\xf7\xa6\x5b\x55\x33\xd8\x5d\x5e\x1a\xf9\xb0\x3b\xbf\xb4\x68\x3b\x1d\xad\xfd\x24\x3f\x96\xc1\xae\xe7\x13\x1f\xc3\x15\x5e\x7c\x0e\xc6\xe5\xbe\x5e\x96\x5f\x58\x6a\xdb\xee\x13\xf5\x16\x44\xe9\x67\xe2\xed\xed\xf5\xf7\x3b\xf5\xae\x8a\x60\x6d\x5d\x32\x1b\x96\x05\x40\x5e\x84\x31\xaa\x30\x5a\x46\x07\x31\x40\x33\x3c\xbe\x1a\xe2\x46\xe7\xf2\xd0\xe3\xc2\x61\x02\x2c\xce\x01\x8c\xc3\x7b\x41\x0e\x2f\xf8\xf6\x30\xab\xc5\x1a\x91\xdd\xd2\x78\x6f\xc4\x58\xd5\x5b\x31\x56\x72\x03\x23\xf6\xe4\xea\x2d\x62\x79\x4e\xb4\x83\xc5\x2d\x3b\xa8\xb6\x38\xfa\x28\xa8\xc9\x06\x33\x18\xc3\x1e\x9e\xb7\x81\x54\x7c\x0e\xf9\xdd\x3e\x86\x77\xb6\xe7\xba\x47\x99\x9a\xee\xd5\xbe\x31\x07\xee\xe3\x8d\x22\xd5\xcb\x56\xa4\x80\x4c\x96\x42\x36\xf6\x5d\x78\x35\xfe\x8c\xc4\x24\xec\x43\xeb\x89\x63\x40\x7f\xc8\xc0\x02\xf9\xcd\x29\x53\x6a\xfb\x43\x9f\x0f\xd3\xbb\x57\xe9\xd6\xe0\x7f\x58\x6d\x41\x98\x6d\xe5\x79\x37\x14\x72\x3f\x29\xf3\x0a\x0f\xfa\x2a\xa1\xf6\x73\x9e\x75\xe6\xc5\xfe\xcd\x43\xd9\x23\xb7\x8f\x46\x5a\xb1\x43\x6e\x6f\x4e\x94\x9e\xb3\xbb\xd2\x22\xa6\x0c\xd3\x70\x1f\xfc\xf5\xf7\xb7\x6f\x5f\xc7\x87\xb1\x3e\x75\xeb\xec\x60\x35\x6b\x23\xa2\xa9\x2e\x93\xad\x6e\x21\x6c\xa7\x78\x26\xe1\xf8\x82\x20\x1c\xa1\x12\xc4\x94\xce\x21\x61\x83\x0b\xc4\x3e\x02\x69\x13\x49\x22\xf0\x0c\xc5\xa8\x6d\xca\x32\x04\x17\xf5\xa3\x00\x4a\x62\xa1\x18\x54\xd2\xe9\xb5\xbb\xe9\x41\xbe\x7e\x04\xa8\x52\x51\x05\x28\x38\xe0\xd7\xb4\x8a\xe7\x1c\x9e\xfb\x05\x8c\x8b\xa0\x52\x0f\x75\x08\x03\x47\x44\x79\x86\x81\xe5\x05\x35\xdb\xb4\x07\x2c\x41\xa9\x14\xb4\x49\xcd\x23\x90\x59\x07\x04\x16\xc4\x35\xf0\xa4\x77\x54\x0b\xdc\x08\xe7\x1e\xd8\xde\x00\x92\x4c\x2e\x53\x1f\x30\x48\x21\xb8\x00\x75\x2e\x80\x17\x11\x0c\xa2\x25\x46\xf0\x7e\xeb\x15\x3a\x6b\x33\x32\x45\xbd\x2f\x88\xee\x29\xa1\x52\xf0\x91\xb8\x22\xef\x94\x2b\x35\xb0\x5d\x31\x76\xab\x8c\x1c\x9c\x0a\xe9\x5b\xaa\x3d\xe3\x02\xd0\x59\x2b\x05\x29\xaa\x45\xeb\xeb\x00\xfe\xc0\xd1\xaa\x81\xbf\xa7\x9e\xd8\xa9\xb8\xae\xca\xc2\xd6\x3a\xeb\x8b\x47\xce\xd0\x6d\xea\x3d\x9c\x2c\xa7\xb5\x5b\x2b\xd1\x6a\x7d\x60\x23\x81\x97\x31\xa7\xb0\xd1\xa1\x87\x40\xad\x21\xd9\x98\x8d\xd9\x13\x98\x7c\x5c\x11\x93\x1c\x0d\x8e\xd1\x42\xa8\x10\x54\x85\xa0\xca\x94\xc0\x52\xa6\xf3\x8c\x21\xbb\x80\x1e\x95\x5a\x05\x42\x18\x20\xcd\x24\x4e\xa2\xa8\xa5\xa8\xd3\x8f\xaa\xda\x58\xd1\x72\xd5\x50\x58\x00\x45\x52\x02\x7f\x68\x6a\xf5\x17\x1d\x72\x48\xfa\x58\x07\x84\x1a\xf9\x34\xf0\x50\x5f\x50\x41\x60\x0c\xa4\xd2\x4d\x2a\xa0\xe2\x27\x9d\xdc\x2c\xe9\x30\xb5\xfd\xe3\x9d\x1a\x0c\xfe\xc8\xab\xf3\x33\x2c\x81\xd1\x5d\xba\x61\xe5\x31\xf3\x81\x8a\xaf\x53\x27\xc0\x9a\x04\xbd\xa9\x50\x69\x83\x68\x17\x19\xf3\x3a\xae\x0c\x1d\xdf\x80\x25\x43\x81\xd5\x14\x41\xb5\x1a\x3a\x2e\x24\x85\xa4\xd7\x84\x00\x2c\x2a\x19\x48\x5a\x3a\x81\x19\xcc\x4a\x12\xcc\x14\x8b\xe0\x4d\xc5\xa4\x4f\x16\x74\x36\x68\x57\xc4\x9c\x06\x41\xda\x15\x5a\xbe\xae\x69\x84\x13\x4a\x77\x74\xc3\x45\xfc\x99\xa9\xf6\x3a\x7e\xfd\xfd\x5e\x70\x55\x19\xca\xce\x31\xea\x56\x39\x81\x8a\x1b\x97\x39\x23\xfa\xf0\xc7\x17\xc0\xd3\xdf\x22\x3a\x7c\x66\xb9\xcb\xa8\xf9\x4b\xc6\xfe\x25\x63\x6f\xca\xd8\xbb\xb6\x78\x9b\xfc\x77\x29\x70\x05\x28\x32\x0b\x5a\x4f\x5f\xce\x61\x96\x7b\xbc\x9e\x3d\x38\xed\x0a\x22\xd8\x16\x24\xe7\xa2\x9f\xfc\x25\xe5\xff\x92\xf2\x3f\x24\xe5\xef\x9a\xec\xc7\xb7\xaf\xc7\xff\xb8\x53\xd2\x83\x95\xa3\xae\xe8\xfb\xa7\xe8\x95\x04\xd0\xf0\xb4\xb5\x49\x2d\xae\x43\x28\x2d\x13\x13\x98\x67\x08\xb3\xc8\x6f\x20\x70\x9b\x83\xe4\xbb\xed\x84\x3e\xfc\xb5\x03\xfc\xb5\x03\xfc\x17\xed\x00\xb6\x28\xee\x26\xe2\xab\x43\xba\x82\x82\xbc\x60\x0c\x9a\x45\x73\xc9\x9a\x9d\xf0\xb2\x12\xe0\x9c\x8c\xc0\xcd\x05\xf6\xf3\x43\x2b\xe1\xaf\xed\xe0\xaf\xed\xe0\xa1\x99\xff\xeb\xdf\x7f\x86\xd7\xcb\x82\x48\xe4\x1a\xe7\x92\x0e\x29\xf0\x29\x2a\x08\x1c\x3b\x4a\x50\xe9\x07\xba\x89\x72\xe2\x99\x04\x1e\x66\x12\x78\x98\x49\xe0\xe1\x22\x81\x87\x2e\x81\x87\xa5\x04\x8e\x32\xd8\xb5\x47\x15\xb5\xce\x00\xc0\x06\x4c\x02\x9e\x86\x06\x4a\xe9\x6a\x1c\xbc\x60\x33\x8e\x79\x0c\x40\x5a\xd6\xab\xec\xe6\xbd\x1e\xce\x2d\xfc\x78\x67\x15\xd9\x2a\x10\x28\xd5\x72\x88\x94\x3c\x30\x8d\x72\x7d\xa5\x18\x29\x9e\x21\x98\x7d\x05\x2b\xe5\x1f\x20\x55\x5f\xa9\x45\xd1\x1f\xf3\x9d\xb5\x72\x6e\x95\x38\x80\xfe\x1a\xee\x0b\x9b\x86\x29\x59\xc5\x2a\xdf\x47\x6f\x07\x64\xe7\xcd\xb6\xe9\x5d\xdf\x37\x75\x6a\x7a\xa1\x9a\x16\xfc\x19\x00\x70\xc2\x6e\x33\x8a\x91\x8a\xeb\x0d\x4b\xc2\x90\xbe\xef\x9c\xb7\x9d\x23\xc5\xda\x40\x71\x51\x59\xc7\xab\xad\xf6\x1d\x4a\x25\x3a\xf2\x96\xa7\xe2\x70\x62\x0a\x02\xe5\xe5\x70\xc4\x58\x29\xb4\x78\x24\x2e\xd5\x51\x4e\x05\x5c\x07\x2a\x43\x72\x67\xa9\xf6\x79\x77\xe3\xb4\x8c\x9b\xbe\x73\xce\xb7\x8b\x1f\x5a\x20\x77\x6d\x0c\x95\x4a\xdc\x8a\x60\x1c\xd9\xd6\xc1\x1f\x32\xf9\x90\x68\x79\x12\x09\xc1\x04\x79\x35\xea\x1c\x53\x01\xb9\x0c\x93\xed\x92\x6b\x57\x70\xb1\x4a\x83\xb9\xdc\xa2\x10\x22\xc8\x1b\x28\xab\xcc\x61\x29\xd4\xd6\xfd\x98\x02\x85\x12\x7f\xe1\x68\xa0\x5c\xc0\x7f\xe4\x34\x54\xec\x42\x69\x92\xb6\xdb\x26\x9c\x85\xed\xd4\xca\x7b\x32\x71\x23\x44\x68\xf2\xe5\x30\x65\xbd\x2f\x5c\x01\x96\x45\x3e\x4e\x80\xa1\x9b\x53\x91\x33\xbf\x1a\x35\x90\x70\xb7\x0a\x2c\x23\x50\x33\x00\xf5\x3d\x01\xb6\xbc\x56\xcb\x97\xd1\xf5\x23\x2d\x63\x0f\x42\x3c\xb6\xe4\xcb\x1e\x94\xe6\x7b\x50\x9e\xed\x41\x3c\xdb\x83\xca\x8d\x3d\xa8\x20\xfd\x2c\xa6\x4c\x9c\x93\xa3\x5a\x05\x9b\x19\xdb\xc6\x03\x16\x34\xad\x57\x69\xaf\xc8\x81\x08\xf9\x7c\x30\x2a\x89\x38\x84\x97\xda\x77\x96\x7c\x7d\x67\x91\xd9\xc6\x52\x67\x1b\x4b\x24\xce\x32\xdf\x58\xc2\xd0\xb3\xcb\x03\xde\x5a\x13\xd0\xd8\xab\xde\xdd\x80\x9a\xee\x63\x38\x08\x25\x3b\x34\xa8\xf9\x27\xf7\x88\xff\x73\xa7\xb9\x90\x3a\x87\xc2\x8e\xb9\x70\xe0\x80\x01\xe5\x4f\x49\x0d\xcd\x4f\x6f\x90\x5d\x9b\x3b\xe7\xbc\x12\x07\xf6\xe0\x3f\x64\x58\x28\x7a\xa9\xbb\x2a\x96\xb1\xcf\xb5\x88\x37\xbb\x75\x79\x7f\x99\x1a\x7f\x99\x1a\xff\xa5\xa6\xc6\xff\xb9\xd3\xcc\xf0\xd6\x84\xb2\xb7\x98\x9a\x4e\xda\x42\x69\xe4\x2e\x58\xaf\x2d\x26\x15\xf1\x09\x22\xf4\xda\x7d\xee\xc2\x24\x5a\x10\x44\x83\x70\xa3\x72\x65\x29\xd5\x21\x53\x8c\x78\xad\xe3\x07\x57\xd2\x5f\xa6\xca\x5f\xa6\xca\x8f\xae\x9c\x5f\x7f\xfb\xed\xdb\x3f\xfe\xdd\xfd\xaf\xd7\x7f\xbf\x6f\x2b\x6a\xc3\x1a\x63\xa2\x23\x3d\x44\x82\x01\x00\x75\xa8\xad\x90\x1f\xec\x8e\x09\x9a\xd4\xdd\x35\x99\x53\xe7\x8a\xaa\x79\x1d\x59\x50\x2c\x72\xf2\xad\xaa\xfc\xda\xc4\xd9\xaa\x99\x52\x73\x1a\x71\x1d\x82\x6e\xd8\xaa\x29\x53\x9a\x28\xca\xb9\xa6\xfe\x57\xad\xe9\x05\xf1\x0b\xeb\x88\x87\xd6\x23\x1e\x76\xe9\x7f\xf1\xc4\x4b\xa6\xd2\x02\xe0\xc1\x49\x2c\x0f\xb1\x44\xac\x15\x14\x6b\x6f\x77\x78\xfb\xc7\xbb\x55\x2a\x87\xb4\x91\x82\x4d\x85\x7f\x38\x20\x2a\x20\x51\x7a\xe3\x44\xb1\xd5\x11\x0b\x2e\x80\xbb\x64\x1b\xf3\xdb\x10\x68\x14\x9e\xd1\x0d\x06\xae\x69\x55\x2a\x6f\x5c\x4e\x08\xc7\xb9\x0e\x91\x13\x6f\xa2\xa3\xfd\x21\xd3\xe8\xce\x78\xc4\x0e\x09\xba\x99\x26\xa0\xe5\xce\x16\x25\x1b\xb3\x21\x22\x50\x2b\xe9\x29\x10\x04\x15\xdb\xcd\x75\x60\xff\xba\xfc\x48\x15\x39\x47\xa5\xa4\x23\x81\x47\xdc\x17\x32\x81\xc5\xc9\xfe\x68\x7b\x47\x05\x50\xef\xc1\x68\x1b\x22\xc8\x91\xa2\x2f\xaa\xf7\x3d\xa9\x8c\x00\x94\x42\xcf\x00\x83\xc4\x3f\xaa\x21\x11\x07\xdf\x45\x19\x23\xfc\x1a\xd9\xb4\x2d\x3f\x21\x69\xdf\x72\xfe\xf1\xc4\xd4\xc8\x7b\x60\xf8\xd4\x0e\x2b\x31\xaf\x44\x73\x22\xd5\x72\x3c\x30\x8c\xea\x46\xac\xe7\xa2\xe2\x39\x8f\x6a\x1a\xb2\x0a\xdc\x0a\xf2\x25\x95\x7d\x2a\x53\x0b\xb5\xd8\xf4\xf7\x00\x83\xe6\xd4\x28\xf2\x15\xe0\xf0\x7c\x05\x38\x3c\x50\x49\x2f\xd1\x58\x4d\x2d\x7d\x42\xbc\x35\x99\xb5\x60\x87\x82\x0f\xe7\xda\xab\x32\x83\x4a\xa5\x75\x86\x63\x52\x59\xd5\x0e\x42\xad\xa9\xe2\xfc\xac\x4a\x2b\x83\x7e\xaa\x18\x9e\x3d\x6f\x1e\x70\xfa\xc4\xb3\xf6\x40\x07\x0c\x44\x65\xd2\x1b\xf3\x69\x0d\x8a\x73\x4e\xb9\x5c\xc7\xce\x9f\xf1\x65\x7e\x72\x5e\x1f\x5f\xef\x39\xc3\xbd\x81\x9c\x84\x64\xbb\x6d\x78\xa5\x8e\xd9\x0a\x36\x94\xd5\x5e\x6d\x16\x7e\xa4\x86\x9e\x6a\x0f\x2a\x5a\xbc\xaa\x6d\xad\xac\xf1\x30\x1b\xd8\xc0\xb8\xbe\xb1\xd7\xbd\x69\x65\xa3\x0b\x15\x10\x8d\x95\x36\xaa\x82\x1d\x7a\xf0\xce\x0a\x89\xaa\x16\x19\xd2\xb3\xda\xfb\x88\x39\x07\x6f\x95\xa4\x2d\xd2\x19\xd6\x64\x7a\x86\xa4\x78\xcf\x24\xa1\xaa\xfa\xdf\xe2\x21\x53\x4a\x79\xc8\x86\xde\x15\x38\x1f\xa9\x14\xa3\x23\x08\x39\x11\xf8\xbf\xba\x13\x0a\xe0\x31\xc1\xeb\xba\x48\x5b\xde\x54\x01\x75\x9b\x0f\xf9\x19\xcd\xda\xbb\x01\xf1\x7c\x8c\x54\x19\xd5\xf0\xdb\x5d\x1c\xe8\x6c\x32\x12\x91\xe5\x0b\x38\x86\x4b\x06\x9e\xc3\x39\x39\xcd\x31\x1c\xbc\x6a\x26\x6f\xaa\x0e\x5c\x65\x57\xf8\xf8\x22\x7f\x5e\xd9\x3f\x3c\x41\x1f\xc7\x32\xbf\x3a\x41\x55\x2f\x59\xa5\x76\x87\x4c\xd9\xc7\x11\xb6\x49\x84\xa8\x89\x1e\xae\xc8\x75\x72\x7c\x26\x35\x8e\xe4\x2d\x93\x6f\x69\x0b\x4d\x80\x98\xff\x1a\xeb\x48\x45\x8a\x8b\x5b\x14\xaa\x98\xc2\x60\x3c\x10\xd9\x42\x7e\x43\x01\x89\xd7\x06\x13\x2c\xfa\xf9\xc4\x8c\x24\xa1\x80\x52\x3d\x1f\x22\xb5\x98\x06\x50\x64\x2c\x93\xc1\xa9\x84\x3a\x31\x59\x49\x1d\xd6\x29\x2d\xa1\x52\xe6\xfc\x9c\x17\xa8\x7d\xf6\x8d\x5a\x83\xac\x13\x30\xfa\xac\xba\x67\xba\x03\x1b\xfd\xcc\x61\x71\x75\x63\x9e\xe6\xc8\x2c\xef\x81\x2d\xef\x01\x73\x64\x1f\x6d\xee\xe3\x8b\xea\x41\x7f\x42\xb9\x77\xcd\xbc\x7f\xfd\xfd\xef\xe3\x9d\x01\xba\xc2\xd4\xa2\x9a\x07\x31\x87\x27\xd5\xed\xa1\xdf\x63\xf0\xf0\x52\x01\xb5\xd2\x76\xf6\x05\x03\x31\x14\x28\x5d\x65\xe3\x48\x36\x4b\x4c\xbc\x69\x9e\xf9\xa4\xb7\xef\x9c\xfa\x5b\xd1\xb1\x40\xeb\xeb\xae\x23\x55\x10\xa4\x96\x8f\x2f\x78\x9a\x1b\xc5\x78\x72\xab\xe7\x3b\xed\xd2\xfa\xf1\xcb\x6e\xb3\x1b\x5c\x0b\x60\x3b\xb7\x73\xf8\x3a\x3f\xa5\x8d\xd3\x01\xed\xc7\x97\xb6\x07\xbd\x6d\xae\xfe\x43\x20\xe4\x3a\x5c\x3d\x05\x80\x5f\x20\x6f\x08\x81\xce\xd6\xe2\x9d\x63\x78\x9f\xd9\x1c\x31\x86\x2a\xc4\xb5\xaa\xb3\x31\x74\xc4\xaa\x37\x49\x14\x63\x54\x76\x3d\x0d\xc2\x2e\xb2\x1c\x70\x8b\x80\xe5\x37\x17\xf7\x76\x43\x6e\x07\x06\xa8\x60\xb8\x3a\xdc\xdc\x61\xad\x0c\x74\x6f\x67\xb8\xe3\xf5\xc1\xee\xde\x09\xd9\x8f\xa8\x5d\x3d\x78\x61\x3a\xdb\x89\x2f\x01\x32\x38\x12\x91\x71\x99\x57\x75\x71\x4a\x03\xfb\x31\x96\x37\xb7\xae\x6c\x9f\x44\x1f\x5f\x32\x81\x7f\xb4\x6d\x41\x1c\x86\x09\xb8\x50\x74\x0e\xec\xfb\x0d\xc6\x33\x7c\xfe\x5d\x03\xfe\xed\x6f\x5f\xff\xd7\xeb\xa3\xe0\x79\x7f\x02\xc9\xd2\xd6\xc0\xf2\xdd\xf8\xea\xec\x3f\x81\x2c\xc4\xe7\x1a\x50\xf4\x73\x3d\x71\xf9\xc4\xaa\x79\x31\x12\xa6\x6c\x18\xae\x6f\x4d\x6f\xbe\xca\x85\x74\x79\xd9\x5e\x3c\x7d\xa3\x74\xe2\xc7\x40\xd1\x7a\xd7\x3f\x16\x79\x6a\x39\x16\x1b\xb4\x22\xfd\xf8\xb4\x51\xdc\x2d\x1b\x8d\xb5\xa5\x1b\xbc\x9a\x34\x23\x03\xda\x62\xd9\x14\xac\xcc\x46\x67\x28\xf4\x2b\x68\x36\x54\x4f\xcc\x6f\xba\x7d\xef\xa3\x7e\x34\x83\xc6\x8a\x76\xfa\xf0\x96\x29\xec\x86\xaa\xb7\xfd\x50\xf5\x37\x97\x29\x9c\x98\x7f\xa6\x9b\xdf\xbe\xfd\xed\xde\xa4\x5d\x64\x6c\x0c\xc8\xde\x58\x8b\x59\x63\x56\x55\x69\x8e\x63\xc0\xcd\x0e\xe5\xdb\xb8\xf7\xd5\xf9\xc9\x03\x0b\xd5\x28\x03\xcb\x18\xa8\xc1\x65\x5a\xfc\x3d\x48\xd4\xc3\x8e\xe7\xc1\xd6\xd3\xce\x72\x62\xb9\xba\x08\x27\x57\x86\xec\xbb\x32\x2e\x8b\xf0\xc3\x56\x77\x78\x98\xa6\xac\x9c\x5c\x5f\x88\x38\xcf\x4d\x03\x97\x67\x43\x88\x28\x6f\xa0\xb0\xbb\x0a\xe9\xcb\xb7\x30\x7d\x1f\xb6\xdc\xe6\xf3\xe0\xde\xe8\x93\x22\x79\x48\x24\xd8\xdf\x2e\x34\x0b\x46\xb8\x2f\x19\xdc\xee\xd3\x9a\x30\xea\x29\x9b\x04\xa2\x52\x78\xfd\xcd\xe5\xb9\x43\x45\xac\xd7\x28\xd4\xb0\x5b\x94\x50\xee\x38\x14\xb9\x41\x22\xb6\x63\xa9\xa7\x2b\xa2\xe0\x4f\x26\x06\x63\x0a\x27\x67\x92\x20\x7c\xbc\x63\x77\x65\x5d\xbd\x15\x9f\x66\xaa\x3b\xd1\xcc\x3b\x26\xfa\xcf\x58\xe8\x7d\x9c\xbf\xbf\xfd\x7a\x83\x66\x74\x3d\xce\x61\xbb\xde\xf9\xb2\xdc\x77\x96\x34\xf7\xd5\xbe\x27\x09\xd8\xcd\xd6\x7b\xa2\x9c\xaa\xae\x77\xf7\xd7\x82\xff\x6f\x59\xf0\x98\x08\xf7\x05\x1c\x23\x02\x66\xb9\xde\x79\xb6\xdc\x37\x6b\x9a\xa7\xd5\xbe\x15\x04\x3c\x93\x13\x07\x06\x14\x7d\x1d\x66\x2f\xf8\x6b\xc1\xff\x71\x0b\xfe\xdf\xff\xe1\xbe\xfd\xe3\xce\xb5\x1e\xc9\xa6\xff\x9e\x16\xb3\x86\xa8\xb8\x63\x51\x2d\xad\x96\x6e\xf0\xc5\x07\x95\xc9\x55\x61\x5b\xee\x03\x63\x55\x8b\xf0\x65\xec\x9c\x07\x8e\x69\x58\x19\xa6\xe7\xf8\xe1\x61\x1b\xf1\x71\xb6\x16\x44\x65\x92\x3c\x87\x25\xdf\x08\x33\x1c\x88\xed\x80\x17\x96\x95\xb9\xe1\xef\x27\x60\xeb\xc3\x73\xd7\x0a\xc4\xfc\xb9\x32\x3a\x1b\x5c\xf2\xbb\xe6\xbc\xec\xa7\xbb\xee\x67\x4a\x5e\x55\x3f\x77\xc0\xd5\xb7\x23\x93\xd4\x84\x0f\xbb\x27\xb5\x5d\x74\x6c\x37\x90\xb3\xe8\xd8\x46\x76\xf7\x53\x60\x62\x70\x02\x3e\xcb\x92\x9d\xb9\x80\x9d\xe2\x90\xcc\x6d\x50\x7e\x66\x70\x7e\xfd\xd7\x9d\xd9\x48\xad\xaf\x9d\x39\x3e\x43\xb5\x2d\xc9\xc5\x1f\xb6\x02\xe3\x4e\x0e\x7c\xfc\xc4\x66\xbb\xca\x0e\xb4\xc7\x48\xbe\x82\xa0\x4d\x9f\x2e\x9c\x6d\xd8\xfd\x1d\xcb\xa6\xcd\xc7\xa5\x9d\x97\xcd\xe8\xce\xb7\xfc\xe4\xd0\xdc\x7d\x7a\xc6\xab\xa1\x49\xdd\x7a\xdb\x01\xf4\xff\xcc\x4e\x94\x5d\x4e\x88\x2b\xab\x60\xbd\x6e\xe6\x2b\xf6\xd3\x61\x69\x7f\xd0\xa2\x59\x8c\x8e\x90\x88\xd3\xcb\xf3\x02\xa2\x24\x4f\xab\xa6\xfd\xe4\xaa\xf9\x8f\x6f\xbf\x3d\xec\x31\xe1\x02\xa5\xab\x40\x9e\xc6\x88\x38\x1c\xf4\x0e\x13\x3f\xb1\x07\x5c\x55\xff\x65\x36\xf8\x20\xe1\x98\xc9\x4f\xad\x8c\xd4\x80\xae\xe0\x98\x07\xef\x02\x79\x46\xf4\x00\xbb\x44\x05\xa1\x13\x5c\xc4\x95\x5e\x7e\x6e\xfa\x33\xf9\xe4\xdc\xb5\x37\xf0\x2f\xc9\x4a\x1d\x78\x38\xff\x25\x47\x3f\xa0\x78\x5d\x66\x8c\x88\x21\x19\x50\xfc\x80\xe2\xfb\x19\x9c\x3c\xa9\x58\x68\x34\x09\xde\x41\x28\x1d\x2d\x84\x01\x21\x00\x38\x3b\xcd\x43\x26\x06\x91\xaf\x94\x70\x88\x54\x0a\xc8\x5d\x39\xe7\xa7\x86\xf8\x2c\xbb\xda\x79\xbd\x16\xfa\xf1\xae\x56\xb8\x14\x97\xf7\x6f\x02\x72\x8b\xbc\xce\x5f\xed\xa6\xff\xac\x6f\xb6\x32\x9c\xbd\x9b\x5b\xc7\x0b\xaa\xe1\x31\xc8\x6d\x1d\xfb\xc7\x01\xec\xeb\x50\x27\xf0\xf0\xfc\x64\xff\x31\xd0\x74\x10\x69\xd5\x57\x5d\xc7\x79\xea\x4b\x4f\x29\x24\x97\xc8\xb7\x3c\xba\x46\x1c\x78\xc0\xf5\x09\x10\x95\x83\x5d\x27\xb7\x74\x55\xfd\x2d\x66\x90\x56\xb6\x3c\x2f\xc8\xe3\x21\x2b\x60\x51\xce\xc3\xed\xff\xfb\xaf\xbf\xff\xe7\xeb\xef\x37\xf2\xf5\x3f\x3b\x5e\xca\x54\x72\xd4\xd9\xc1\xf2\x4b\x02\x64\x56\xa0\x5c\x81\x34\x4e\x89\xf3\xa0\x4a\x72\x0b\xf5\xc4\x42\x2c\xd1\x82\x6f\x00\x9f\xae\xb7\x76\x91\xa5\x25\xe8\xc7\x79\xac\x94\x24\xb9\x4c\x3e\xcb\x0e\x72\x64\x4d\x72\x98\xbd\xef\xe3\x8b\x01\x18\xb5\xb0\xc2\x94\x6b\xc9\x91\xf8\x88\xd2\xe2\x80\xd2\x8e\xc4\x51\xd7\x65\xa4\xa0\x83\x34\x50\xf4\x75\x74\x97\x1b\x56\xe0\x80\xbd\x88\xf0\x82\xd2\xef\x38\x85\xd4\xd9\xba\x10\xd9\x5c\x07\xdd\x33\x37\x3e\xec\x97\xfb\x9c\xb9\xf3\xb1\x79\xf8\xe8\x2f\x52\xd1\x3e\x4e\xbf\x04\x42\x28\x51\x95\x01\x8b\x9a\x2d\xe4\x29\x9c\x2a\x71\x1f\x12\xdd\xef\x08\x03\x12\x2b\x46\x44\x3f\x0c\x63\xa2\x92\x93\x8b\xb4\x0b\x32\x5a\xf3\x61\x7a\x83\x39\x73\xb5\xcc\xd5\x48\x44\x1b\x09\x2d\x27\x0f\x28\x67\x89\x0e\x89\x61\xd8\xff\xd6\x9d\x1f\x7f\xd1\x82\xef\x18\x84\x38\xac\xf1\x93\xd2\xe0\x4f\xec\xb7\x83\x70\x5f\x28\xbb\x0e\xc2\xff\x7a\xbd\x27\xef\xef\x06\x86\x9d\x84\xdc\x97\x07\x57\x10\x0a\xd8\xfa\x10\xdf\x17\x88\xf8\xdd\x15\x62\x2c\xa6\x43\x47\x4a\x3f\xaf\x90\x43\xa5\x82\xd8\x0d\x3b\x42\x9f\x1f\x4a\xf7\x15\x32\x5f\x43\x1f\x5f\x40\x02\xb2\x5e\x22\xde\x5d\xd6\xc8\x6c\x0d\xc8\xfc\x96\x3e\x36\xfb\x2b\xc4\xff\xf0\x02\xc9\xc3\x5e\x26\x2f\xc7\xf9\x92\xc9\x03\xb7\x1f\x58\x1e\x18\x99\xc7\x8f\xc5\x99\x10\xc8\x98\x7e\x61\x01\x95\x83\xae\x0e\x8e\xb6\x3c\x74\x26\xad\xd7\x87\x3b\xaf\x0f\x77\x5e\x1f\x07\xd5\x44\xb3\x6e\x50\x61\x6f\x30\xf2\xe1\xfc\x96\x8f\x77\x26\xb1\x87\xd6\x03\x61\x73\xfc\x80\xb0\xa8\x42\xa5\xe5\x9d\x61\xd8\x5d\x21\xfe\x47\x17\x08\xd6\xe8\x12\x92\x2d\xfc\xc4\xf2\x18\x5f\xbf\x3f\x4c\xc7\x8d\xf8\x81\x48\xbc\x45\x3c\x93\x42\x92\x4d\x36\x0f\x4b\xd2\x37\xf6\xa0\x21\xa3\x92\x30\x2f\xdd\x9a\x12\xce\xe9\x83\xe6\xa7\x79\x68\x3f\x44\x7b\x1e\xa4\x26\x66\x62\xa4\x4f\x64\xcf\x9b\x06\x25\x55\x57\x00\xa0\x39\xb4\x75\xea\xba\xb4\x0a\x7a\xa8\x44\x69\x6b\xb3\x4a\x09\x56\xc0\xe3\xcd\xf9\xfe\xbf\xff\x75\x37\xd4\x96\xee\x90\x43\xa6\x5a\xe2\x52\x83\x0f\x46\x60\xb5\xa9\x3f\x14\xf5\xe0\xe6\xf5\xff\xdc\x17\xf6\x7f\xe3\x41\x23\x4a\x7f\xcc\xa5\x79\xd7\xf1\xe4\xa3\xee\xb0\xf9\x08\xde\xe9\x74\xc9\x21\x58\x04\xff\x72\x08\x25\x44\xaa\x29\x9a\x8f\x3b\x6f\x5c\x14\x12\xa2\xc3\xf7\x91\x74\xe7\xb8\x2b\xa8\xf1\xff\xa6\x43\xcb\xad\xd5\x7a\xdd\x39\x79\x35\x90\xd0\x5c\xa7\x0f\x8f\xd5\xb7\xbf\x7d\xfd\xfd\x4e\x22\x55\xe3\x15\xdd\xad\xf3\x3a\x52\x00\x51\x0f\x6b\xe0\x18\x67\xb3\x1a\xe2\xf1\xb4\x0d\x11\x51\x09\xae\x5f\xbd\xc9\xc6\xf2\x7f\xde\x21\xe5\x54\x2d\x41\x0c\x6a\x77\x17\x6e\x63\x2f\x0e\xa3\x7d\x7c\x31\xd0\xb0\xdd\x56\xbc\x94\xd5\xcb\x3b\x34\x5c\xdb\xf1\xdf\xbd\x5c\x19\xd3\x8f\x2f\x62\x4c\xd2\x9b\x62\xde\x9c\x9c\xae\x80\xf5\x71\xc6\xd7\xdb\xd7\x24\x90\xc6\xb5\xeb\xfd\xbe\x83\xff\x76\x72\x6d\xaf\x5e\x3f\x30\x19\xee\x5a\xb3\x36\xc9\x77\xaa\xb4\xc5\x88\x98\x22\x9e\x16\xfe\x43\x3c\xfe\xf1\x45\x10\xbb\x7f\x0a\xab\x31\xec\xfd\xe2\x69\xc9\x53\x73\x7d\x36\x00\x7b\x25\x0d\x65\x7f\x2e\xe4\x5d\xe8\x15\x95\x18\x5f\xca\x95\x76\xbc\xc4\xd5\xbb\xfb\x64\xd8\x50\x7a\xa4\x37\x7e\x59\x39\xbe\xb8\xf4\xd6\xd9\x21\x94\xdf\x99\x0b\x7c\x5a\x9f\x01\x4c\x73\xc1\xbe\xde\x0b\xe2\x4a\x98\xf1\x57\xba\x7d\x2b\x1d\xa7\x36\x3e\x3a\x1b\xde\x5f\x7f\xff\xe7\x6f\x6f\xbf\xfe\xe3\xde\x6d\x58\xf7\xb5\x9f\x86\x79\xca\xb4\x43\xb0\x1f\x8d\x27\x79\x87\xe0\x1d\xb7\x4b\x78\xd3\x99\xb2\x09\x22\xee\x39\x08\x7b\xdc\xc9\x85\x8c\x51\x17\x2b\x36\x7d\x4a\xb1\xef\x6f\xed\xb3\xf9\xd6\x3e\x9b\x6f\xef\xb3\xe1\x67\xf6\xd9\xcb\x00\xdd\x97\xb2\x3c\xb0\xac\xc6\xe7\x82\x66\x84\x01\xaa\xf7\xe8\x41\xb2\xa5\x77\x17\xe3\x50\xdb\x61\x1d\xb7\xc8\xba\xfc\xb6\x01\x68\xf4\x53\x98\xe8\x8b\xec\x50\x58\x99\x3d\x02\x5c\xc7\x9e\x4d\x72\x65\x07\x2d\xbb\x52\x71\x4d\x52\x7e\xde\x42\xcb\xfe\x16\x8a\x3a\x3c\x3e\x0c\xdf\xee\x8d\x39\x2d\x14\xb2\x5a\x6b\x94\x5b\x38\x92\x70\x06\xf0\x77\x42\x92\x47\xa5\x16\x2b\xb5\x22\x54\x85\xca\x20\xe4\x91\x24\x01\x78\xee\xdc\xf0\xd7\x77\xa1\x5a\x9c\x1a\x71\xfa\x11\xf2\x4a\x5f\x0b\x65\x1c\x8e\xe5\x09\xe1\x96\xb8\x21\x57\x7e\x24\xdf\x9a\x23\x8e\xe9\x95\x6a\x49\xfa\x33\x49\xc4\xa8\xad\x6e\x51\x8e\x0e\xb4\x30\xec\x8b\x23\x4e\x24\xec\x48\x82\x50\xe0\xd7\x44\xb5\xd5\xc1\xae\xbd\xa3\xa4\x51\x89\x45\xa7\x72\x64\x4a\x20\xe5\x4c\x06\x48\x1b\x9d\x50\x4a\x62\x7f\xea\x25\x60\xae\x37\x10\x3e\xb0\x7d\x89\xcf\x51\x6c\x1c\xec\x3a\xc5\x2e\x3b\x1c\x15\x46\xb8\x79\xed\x6a\xdf\x48\x10\x47\x81\xb7\x75\x8f\xa8\xba\xd1\xac\x64\xa0\xae\x03\x82\x39\xa8\x4d\x1b\x3e\xbe\xd4\xa1\xad\x20\xbb\x78\x81\xd8\xd5\x56\x88\x5d\x0c\x26\xa2\x5b\x52\xeb\x1e\x1e\xea\x6b\x1e\xec\xef\x93\xb3\xfc\xfc\x6f\xee\x3e\xff\x37\xae\x70\xab\xeb\x9d\xd8\x0c\xd7\x3e\x65\x66\x56\xa1\xb3\x70\x32\xeb\x27\x3f\x37\x57\xef\x96\x16\xc8\x35\x66\x8c\x66\xa9\x62\x59\x7e\x82\xdc\xb2\xce\x83\x8b\x5c\xdd\x32\x0d\x59\xca\xd1\x21\x0f\x2e\x50\x60\xbb\xf4\xb1\x64\x1d\x4b\x9f\x96\xba\x7d\x8d\xc8\x8c\x52\xed\x18\xcf\xe8\x15\xee\x81\x44\xa9\xc6\x23\x85\xc8\x3a\x01\x8a\x8a\xe4\x64\xe2\x14\x7f\x11\xa8\xd8\x8c\x70\xce\x92\x0d\x25\x55\x64\x02\xbd\x6e\x8b\x72\x5a\xd6\xea\xbd\x49\x5f\x3b\xa2\x5a\x5a\xab\xa3\x23\x96\x4a\x9c\x41\x31\x54\x28\x40\x90\x83\x01\xe0\x97\xa6\x0d\x57\x15\x33\x36\x1d\x02\x8f\x91\xd2\xae\xf9\xf8\x92\xce\x64\xbd\x1b\x6c\x38\x8f\x99\x96\xd7\x33\xcd\x0f\x6b\x18\xc4\x95\xfc\xe5\x3b\x72\x10\x7f\xcc\x87\xcf\xc6\xac\x35\x77\xea\x3b\x0e\x3f\x31\x81\x7e\x3d\xfe\xc7\xd7\x7b\x0f\x6b\x2f\xfb\xcd\xfe\x52\x3c\xd3\x0e\x9f\x7b\x28\xa2\x87\xf9\xd6\x7a\x44\xf6\xc0\x5d\x2b\x32\x2e\xfa\x69\x98\xfa\xc9\x3b\xce\x1f\xef\x2e\xff\x6c\x4f\x7d\x62\x67\xee\xa8\x31\x7c\x55\x8d\x09\x93\x1a\xb3\xfd\x4a\xc2\x75\x35\xa6\x33\xf6\x3f\x07\x33\x3c\x3e\x55\x63\xf2\xc3\x6a\x4c\xf8\x13\xd5\x18\x9b\x52\xf7\x21\x6a\x0f\xf5\xca\x8c\xba\xb6\xe4\x74\x42\x9d\x97\xe5\x4f\xcc\xa7\x0a\x03\xcc\x0e\x6e\xd2\x34\xa9\x78\xb8\x7c\x80\x89\xc5\x1f\x5f\xe2\x85\xba\x96\x75\xc2\x75\xea\x5a\x76\xf5\xd1\xb9\x24\x7b\x2a\x97\xbf\xaa\x72\x49\x57\xb9\x76\xbe\xd2\x2e\xbd\xaa\x73\x75\xbe\x7f\xb1\x24\x9e\x1b\x3a\xd7\x5a\xbb\xba\xad\x74\x3d\xaf\x8b\xf9\x63\x94\xae\x5f\x7f\xff\xa7\x7b\xfd\x7e\xbc\x3b\x9e\xba\xe5\x30\x04\xf2\xa9\x2c\xf2\x44\x18\xec\x50\x9c\xc3\xb8\x0b\xe5\x66\xc9\x0e\x06\xfc\x74\xaa\xcb\x6c\x89\xc9\x5e\x4b\x80\x5c\xb8\x8e\x73\xd2\x93\x6b\x2c\x05\x64\xf6\x62\x89\xc1\xe9\x9b\x3f\xba\xac\x88\x7b\x61\x42\x6d\x07\xa9\xbe\xfb\x95\x80\xf1\x51\xae\x84\xc4\xe5\x9d\xe8\x89\xe7\xb5\x8d\x7d\x4e\xf7\xb0\x0a\xf8\xbd\x0a\xac\xd3\x89\xac\x02\xc9\x2a\x90\xae\xbd\x3f\xec\x06\x6f\xec\xa0\xc0\xdf\x6b\x8a\x4e\xa3\x7d\x5f\xd4\x34\x90\x69\xd2\x1e\x94\xcc\x94\xae\x33\x24\xf2\xf9\x14\x57\xb9\x55\xe7\x11\x05\xe8\x46\xa9\x43\x5e\x05\x68\xcc\xc3\x6f\x5c\x58\x0d\x68\x12\xd5\x47\xb0\xab\xaf\xc7\x3a\x49\x25\x91\x31\x0c\x01\xe3\xe6\x97\xae\x90\x30\xb4\xb7\x0d\x63\x6c\x7a\x0e\x1f\xb6\xf2\x61\xf2\xef\x0f\xb3\xdf\x19\xe4\xfd\x11\x1e\xca\xfa\x9d\xf9\x2d\x5c\x7f\x67\xb8\x3a\xb2\xcb\x83\xaf\xb0\xff\xbe\x7b\x87\xf4\x6f\x5f\xef\x5d\xc1\x36\xd9\x16\x2d\xd0\x3f\x36\x53\x7d\x6a\xc7\xfa\xe6\x61\x36\xd3\xdb\xd6\x7b\xd4\x76\x27\x2c\xd6\x59\x97\x1d\xe2\x29\xc6\xb0\xca\xc6\x02\xb9\x20\xa4\x87\x5b\xd0\xc7\xcf\x61\x8b\xaa\xae\xd3\x16\x5f\xda\xbe\x67\xaa\xf6\xa4\xad\x0d\x58\xd1\x22\x69\xcb\xa4\xd3\x2c\x65\x4d\xc5\xc7\x5c\x7a\x84\x6d\x9b\xd6\xd9\x8b\x6e\xbe\x74\xb9\x5c\x89\x71\xdc\x89\x76\xda\x2c\xdd\x65\xf4\xe1\xdd\x03\x7d\xa7\x5b\xb1\x4f\xbf\xe5\xf0\x85\xb7\x1d\x2f\xda\xf3\x3a\x11\xf6\xec\x61\xce\xdb\xee\x98\xc7\x61\xf9\x36\x64\x9d\xeb\xcc\x18\x5b\x0e\xd4\xae\x8f\xad\xad\xf4\xdd\xb1\x0d\xb0\x0c\xe2\x4b\xde\x1f\x5b\x95\x2f\x26\x48\xda\x52\x18\xcd\x87\x36\x0c\xe1\xea\xd0\xee\x4d\xd5\xd5\x0a\x6c\x4b\x39\xb1\x8a\xa0\x95\xdd\x45\xfe\xf0\x50\xfe\xf6\xf5\xf5\x3f\xbe\xde\x48\xd5\x7b\x90\xeb\xbf\xbd\xa6\xe1\xac\x53\xf9\xc1\xfe\x83\x19\xeb\x3f\xde\x11\x68\xa7\x96\x1d\xc2\xed\xb0\xaf\xea\x08\x5d\xfe\xef\xd9\x95\x35\x57\x70\xda\x53\xbf\xc3\x55\xf5\x3b\x4d\xea\xb7\x6c\xd5\x6f\xbe\xe1\x45\xac\xa6\x7e\xa7\x9e\xbb\xf0\x99\xfa\x2d\x0f\xab\xdf\xe9\x1e\xf5\xfb\xfe\x01\xfc\xa3\x89\x9e\x09\xa6\x37\x62\x44\xda\x34\x90\x85\xda\x30\xff\x4c\xc7\xb3\x50\xfb\xf8\x92\x28\xda\x81\xac\x50\xc2\xb1\x86\x0d\x6a\x22\x55\xc9\xe7\x9f\x79\x76\xf8\xf0\x63\x15\x0c\xb0\xa3\x0d\xf3\x55\x6d\x38\x74\x6d\x78\xff\x08\xef\xaa\x32\x2c\xdd\x01\x79\x3e\xc2\xbb\xa6\x0c\xef\x1f\xe1\x5d\x75\x40\x5e\x39\xc3\xeb\xba\xf0\x1d\x23\xf8\xc9\xb9\xf8\xff\xb0\x8c\x9e\xf5\x09\xf7\x0f\x25\xc6\xde\x3e\xc3\xfe\xb4\x8f\x1f\x8c\xa8\xf8\x7f\x22\x67\xa6\xfd\x68\xfa\xc1\xcd\x23\xe6\x4f\xbb\x12\x9d\x75\x7b\xce\xfe\x37\xc5\x58\xfc\x40\xfd\x6f\xcf\x87\xff\x96\xe0\x82\xcf\x6a\xff\xcf\x87\xf3\xea\x75\x15\x2f\xe4\x5a\x2e\x81\x22\x23\x63\xb4\x09\x02\xeb\xd2\x90\x29\xb7\x48\x6d\x69\x23\xe9\x64\x03\xeb\xe5\xe8\x22\x12\x8d\x23\x15\x06\xc6\x59\x0c\xfa\x44\xde\xe4\x99\xd4\x46\xa5\x01\x09\xb4\x52\xc9\xe0\x1a\x68\x15\x18\x5a\x71\x6d\x9e\xf9\xda\x1c\x01\x38\x88\x63\x70\x5a\x5a\xb6\xb7\x38\xbc\x65\x5d\x0f\x20\x03\x8e\xa8\xa6\xd3\x7a\x0e\xa8\x3d\x62\x0c\xd7\x3c\x35\xfc\xf1\x0e\x62\xfd\x98\x0e\x0d\x50\xb3\x75\x2d\xa9\x53\x8e\x14\x19\xf1\x44\x95\x2a\x23\xac\x0d\x30\x7b\x2d\x2c\x81\x7a\x85\xb5\x62\x71\x44\xfe\x1d\x36\x47\xb0\x60\xd7\xe6\x84\xf2\x6a\x17\xc9\xcd\x60\x10\x5b\x1b\xf0\xa5\x3e\x13\x1c\x9e\x59\x97\xe9\x50\x28\x5e\xea\xf0\x52\xd4\x04\xa0\x5f\x9b\x8a\x3a\x8a\xac\x3d\x1a\xb4\x41\x0f\x2d\xdc\x7f\x3e\x8c\x0b\x50\x87\xd5\x96\x98\x0b\x45\x96\x51\xc8\x23\x02\xda\x37\xbd\x66\x11\xca\x59\x56\x23\x86\x48\xff\x9a\x46\x17\x28\x04\xe3\x62\x05\x97\x73\xa4\x58\x37\x96\x78\x15\x2a\x2d\x1f\x2a\x48\x20\x6b\xd1\xf9\xc6\x80\x4c\xe5\xb0\xbd\x55\xa7\x4d\x1e\xb5\x30\xa7\x85\x35\x7b\x03\xc8\x60\xd7\x75\xc0\xac\xd1\x9e\xce\x22\xda\xe9\x72\x28\x14\x80\x1a\x3e\x9f\x33\xda\xcc\x3e\x67\x38\x1f\x32\x61\x76\xfb\xb0\x33\x67\x3c\xda\x13\x2b\xc5\x56\x0d\x21\x79\x10\x0a\xcb\x20\x0d\xed\x8d\x22\xa3\xa3\xd4\x70\x7c\xd2\xb2\x36\x3e\x54\xc7\x94\x97\xe3\x4b\xb9\x5a\x66\x0a\x87\x3a\xe0\x5b\xa3\xdc\xc6\x43\xab\x32\xd9\xa1\x54\xbc\xd3\xe9\x3b\x51\x0f\xa7\x15\x59\xd7\x33\x38\xad\xe8\x01\x4b\x84\x1f\x8b\x43\xd4\x29\x73\xfc\xf6\xfb\xf1\xe6\x69\xe8\x43\x16\x02\xe5\xdc\x74\x09\xad\x63\x14\x43\x00\x6f\x2f\x53\x83\x6b\x3d\x17\x17\x41\x3b\x9d\xfd\x8a\x1a\x3f\x32\x26\x56\x19\x83\xce\x05\xe0\xc3\x07\x87\xdc\xfa\x48\xbc\x01\x4a\xa8\x54\x5a\x85\x40\xca\x14\x93\x3e\x64\xa0\x9a\x79\x7d\x9f\x4e\xaa\x02\xb8\x26\x9d\x55\x0c\xcb\x55\xe7\x1a\xca\x5f\xd7\xc0\xf1\x34\x4b\x41\x3d\x9d\xbd\xbe\x82\x32\x30\x77\xf8\xe3\xdd\x09\x79\xcc\xf4\xd2\x82\xbe\x3b\x53\xe3\x11\x90\xa1\x40\xfb\x5c\xa6\x97\xa5\x1c\x28\xfa\xa8\xb3\x40\xaa\xae\x71\xd7\x77\x09\x0e\xb2\x8a\xc5\xc4\xcc\x4a\x23\x25\xac\x27\x1f\xb2\x13\xaa\xc1\x01\x65\x7d\x79\x6b\xae\xc1\xc0\xe0\xd1\xda\x18\x2b\xa5\x90\x1d\x9e\x59\x97\x19\x1c\x0a\xd5\xb7\x46\x15\x6b\x1c\x90\x98\x23\x3a\xb7\x62\x5a\x57\x55\xa7\x56\x5c\xe5\xc2\xfd\x97\x1f\x98\xde\xa1\x5b\xcf\x26\xf0\x1f\x6b\x21\x51\x2e\x0d\x50\xce\x9b\x09\x9c\x3a\x58\x3c\x18\xdc\xb9\xc1\x93\x5c\x6b\xa1\x18\x57\x68\x85\x51\x74\x50\x04\x20\xa2\x20\xb6\xe5\x2c\x0e\x9c\x3c\xc1\x42\xe0\xe7\x33\x93\x7d\xa0\x52\xca\x01\xb0\xb5\xb1\x46\x95\x00\xc6\xb9\x2e\xdb\x3b\x9d\xde\xaa\x92\xc7\xa1\x24\x2d\x1a\x00\xb6\x59\xd6\x35\x80\x64\xcc\xa9\xd7\x51\x87\x1a\x3b\x6c\xb3\xc8\x72\xc4\x52\x01\xff\x9a\x9b\x0a\x92\x48\x89\x93\x4a\x5c\xa4\x68\xd4\xd5\xa4\x48\xda\xa2\x91\xa9\x46\x92\x1a\x0e\x8d\x2a\x10\xea\x65\x05\x48\x24\x3e\x50\x8e\x71\xa4\x80\xbd\xa1\x41\x3a\xa7\x1a\x1d\xd5\xb2\x9a\x95\xba\x9a\x21\x0c\x52\x8d\xfa\xad\x3e\x02\xd1\xb0\x5e\x11\x00\x8f\x8e\xf1\x10\xa9\xfa\xac\xeb\x0c\xd5\x70\x24\x55\xd6\x95\x44\xbf\x2f\x67\x6e\x1d\xc8\xa7\xd7\xa2\x46\x6d\xb9\x58\xbb\x9c\xa8\x3d\xcd\x3f\xf4\x1e\x37\x7e\x7c\x61\x35\x77\x71\xd0\x88\x83\xc5\x3e\x49\x03\xac\xdd\xf9\x87\x38\x6e\x3c\x9b\xbb\xf7\x4c\xd5\x3b\xb5\x6a\x08\x19\x23\x1e\xa8\xeb\xe9\x17\xd3\xe0\x0f\x15\x7b\x2d\x98\xef\x47\xd5\xa9\x5a\x58\xe9\x74\x10\x5f\xc9\x94\xba\x99\x4e\xe7\xf6\x75\x3a\xbf\xa3\xd2\xed\x6b\x74\xfe\xa2\xd0\xb9\x99\x46\x37\xec\x6b\x74\x56\x0b\x53\xe9\xac\x9a\xd0\xe9\xdc\x4c\xa7\xbb\x4b\x21\xbe\x53\x99\xd7\x45\xbb\x99\x3c\xda\x65\x83\x3f\x80\xac\x7f\x48\xe4\x41\x02\xb4\xa3\xcb\xa0\xae\x93\x32\x73\xd1\x65\xdc\xae\x32\xe3\x77\x74\x99\x5d\x55\xc6\xcf\x34\x19\x77\x51\x65\x86\x5d\x55\xc6\xaa\xd0\x75\x19\x37\x53\x66\xa6\x86\xdd\xd5\x59\x77\x11\xc6\xdc\x33\xcb\xfa\xc2\x44\x6c\xc6\xdc\x9d\x8a\xaf\x29\xe7\x70\x56\x57\x07\x8e\x88\xb6\xa8\xb4\xde\x48\xa0\x7f\x4f\xea\x37\x90\xbe\x91\xba\x50\xd7\xb3\x0f\x31\x21\xbe\x68\xcf\x57\x80\xeb\x97\x98\x1e\x98\x48\xb7\x0d\xa4\x4a\xb5\xa8\x91\xd9\xc2\x48\x02\xb0\x47\x6e\x5b\xbd\xf3\xcf\x32\x6d\x7a\xf5\x13\x79\x89\x8e\x4a\x88\x9f\x61\xb2\x01\x53\x50\xfc\x75\xde\x0d\xa1\x9a\x70\x51\x31\xde\x6a\x1d\x1a\xa9\xe2\xaa\x13\x47\x67\xcc\x9f\x65\xee\x04\x5f\x10\x5d\x94\x0f\x45\x3f\x6d\xe4\x63\x7b\xf8\x50\x78\x9a\xb1\x77\x32\xb8\x5c\x5d\xe0\x23\x28\x3f\xd6\x38\x10\x98\xab\xda\x15\x93\x96\xac\x2a\x46\x81\xd6\x7f\x24\xd6\x8e\x68\x14\x84\x29\x94\xb3\xde\x3f\xa9\xfd\xd8\x26\x1b\x30\x67\xd7\x2b\x3f\xa8\x60\xf5\x15\xc0\x7c\x5c\x41\xc5\xb3\x99\xac\xb6\x8c\xd3\xf5\x65\x7c\x7b\xaa\xea\x74\x2b\x00\x19\xf4\x65\x24\x5f\xf4\x4d\x3b\x26\x92\x2a\xb3\x7f\x9a\x35\x15\x28\x66\x55\x19\xda\x2e\x7a\xe0\x82\x2d\xd0\x94\xba\x1d\x3c\x8a\x3e\x53\x55\x97\xd1\x8b\x7c\xbc\xbb\x42\x85\x71\x51\x13\xcb\x27\xee\xa4\x19\x7f\x82\x8d\xc5\xd5\x30\x95\x12\x50\xd4\x71\x7d\x7c\x9e\x7e\x7d\x34\x7b\x9f\x0d\xed\xc2\xaf\x66\xe6\xf9\x70\xcf\x17\x3e\x3a\xaa\xc1\x5c\xad\x39\x66\x47\x01\x31\x7b\x51\x85\x5c\x2c\x4f\x18\xdc\xc1\xae\xbe\xa7\x78\x0f\x9c\x4f\x8e\x24\xbd\xed\x45\x85\x00\x2e\xef\xe4\x64\xcd\x12\xd4\x33\x3c\x01\xe7\x2a\xe9\x25\x2e\x8f\xd7\xe2\x29\x4d\x5f\x6d\x10\x78\x91\xb2\x91\x4e\xeb\x12\xcf\xff\x7b\x6e\x2f\x9c\x8f\xe6\xf0\xcd\x14\xa1\x39\x67\x01\x70\xb3\x8e\x58\x48\xf1\x35\x52\x8e\xa0\x05\x8b\xa1\xfb\xd2\x02\x48\x47\x42\xcb\x6f\xe8\x84\x8f\x77\x57\x57\xb1\xef\x17\x2f\xa7\xec\xfb\x38\x37\x1f\xeb\xcd\xb2\xeb\x3f\x95\xc7\x0c\xe4\xaf\x8f\x26\xee\xb3\x9d\xf0\xed\x01\x96\xac\x33\x38\x81\xf1\x8c\x0b\xc6\x74\x95\xff\x3c\xfb\x92\x29\x3d\x2d\xbf\x34\x4a\x90\xf4\x22\xbb\xc7\x99\x2f\x89\xd6\xa5\x5d\xf0\xa4\x4f\x6c\x9e\xe6\x96\xf3\x12\x31\xda\xbe\xd5\x69\x10\xec\x64\xb7\x8f\x76\xb3\x06\xbd\x05\x0b\xc5\x73\x19\x87\x97\x97\x2c\xea\x3c\x94\x37\x1c\xa2\xcc\xd2\xb2\xf1\xa7\xbe\x69\x7e\xa3\x56\xba\x3d\xe7\x65\x06\xb6\xee\x2c\x62\x6d\x7c\x6c\xa4\x7e\xfd\xed\x4f\x71\x65\x60\xf5\x96\x75\xb7\x0f\xb5\x27\x70\x5c\xef\xc1\xb7\xbc\x19\x2d\x2e\x6a\x75\x68\x2b\x77\xbe\x43\x5f\x94\x37\x4b\x71\xa9\x94\x06\x83\xa7\x5f\x74\x26\x96\x7c\xde\xed\xe3\xd5\xa7\xce\xfe\x7e\x73\x3b\x9f\xbb\xa9\x0a\xff\x2f\x18\xf8\x97\x61\xfd\x43\x0d\x7c\x60\x1e\xa7\x5f\x70\xa4\x9b\x06\x2c\x22\xfd\x43\x3f\x3e\x85\x1b\xa7\x5b\xe1\xc6\xe1\x16\x98\xa1\x7f\xb1\x10\xc3\x3c\xb0\xa7\x18\x07\x6d\x33\xa2\x5e\xc0\x1a\xfd\xae\xe5\x44\x15\xce\xe1\x2d\x9c\xc2\x9b\xdb\x58\xaa\x7f\x4c\xa4\xf0\x1d\x1d\xfb\xaf\x7b\xc1\xcf\x64\xd8\x9e\xa3\x42\xcc\xee\xc4\x61\xf1\xca\x45\x7f\x17\x6b\x45\xd6\xe9\x92\x87\x6c\x2d\x12\x6d\xd1\x30\x31\xc3\xc9\xe0\x3f\xde\x55\x63\x49\xaf\x73\x66\x18\x3f\xb4\x19\x53\x8c\x0a\xd6\xeb\x1a\xe8\xdc\xde\xd1\x8d\x78\xed\xd0\x01\x0e\xf3\x52\xc3\x43\x1a\x96\x7c\x7c\x41\x1a\xc7\x16\xce\x1b\x38\x43\x4c\xa0\xf0\x89\xd7\x22\xd6\xf0\xec\x8a\x56\x7c\x82\x0b\x82\x29\xd2\x06\x2e\x54\xb7\x81\x2a\xc3\x44\x3b\xbb\x2e\x7e\x46\x7b\xa9\xa6\x59\x04\x4d\x99\x7c\x7c\xb1\x48\x92\xbd\x93\xee\x9d\xc4\xc8\xc5\x08\xd9\x93\x1f\x5f\x44\xd7\xf4\x0e\x30\xed\x5e\x5e\xe7\x9b\x76\x4c\x26\x15\x65\xcb\xea\x5f\x70\x96\xf6\xea\x3e\x0f\xc4\x3b\xd7\x7d\xdb\xad\x40\x52\x0f\xbc\xc7\xc7\xbe\x68\xfa\xba\xe7\xfd\xb2\xe7\xac\x67\xee\x5c\x06\x77\xe6\x56\xec\xaf\x02\x26\x29\x6b\x6d\x7b\xb3\x12\xea\x7d\x0b\xe1\x66\x1c\xf2\x3b\x72\x76\x5e\x2d\xb0\x61\x5a\x05\xf6\xb7\x9c\x57\xc1\x1d\x2c\x16\xd8\xcf\x00\x8c\x5e\x76\x14\x06\xde\x4b\xba\x44\x1b\x21\xd8\xb9\x01\xb5\x62\x63\xb0\x0e\x7e\xa4\xe6\xa3\xfe\x5c\x35\x01\x9a\x8f\x7a\x09\xbb\xeb\x41\x28\x15\xb8\x3e\x13\xaf\xab\xe5\x33\x5b\x11\xdb\x37\x2c\x56\x84\x96\x8d\xb7\xd8\x8a\x58\x52\x59\x82\x40\xe7\x6d\x33\x58\x57\xd6\x44\xfd\xf8\x62\x3d\xb4\x21\x17\xea\x0f\xec\x69\xf2\xbd\x97\xa2\xf1\x79\xad\x5b\x72\x5e\x1c\x57\xfb\xc9\x4d\x8d\xb4\x56\xac\xbb\x98\xb1\x03\xa8\x75\xca\xe0\x8c\xdc\x5f\x1d\xb2\xf7\x82\x19\xee\xfd\x78\x1e\x86\xfb\x56\xc7\x6f\xbf\xfd\x7a\x8b\xb2\xe6\xb6\x06\xdc\xa8\x4a\xed\xb8\x65\x3b\x18\x62\x12\x80\x17\xf6\x19\x1c\x59\xa1\x32\x41\xf0\xdf\x02\x23\xab\xf0\x80\x80\xcb\x31\x81\xed\x40\x85\x88\x18\x83\x21\x22\xf9\x72\xd1\x9f\xa9\xa4\xfd\x82\x3e\x07\x30\x9b\x57\xe8\x26\xfa\x5a\xe8\x89\x71\xd6\x24\x14\x86\x02\xac\x75\x5a\x0c\xeb\x4f\x2f\xc8\xd1\x59\x73\x3a\x7a\x23\x73\xa3\x9a\xb0\xf1\xc1\x2e\x96\x12\x0c\x91\x6c\x0c\xa4\xf5\x91\x27\x9c\xe2\x0f\x76\x35\x95\x14\x75\x67\x62\x46\xca\xa2\x10\x87\x4c\xad\x80\x73\x34\xe3\x3c\x53\x2c\xb2\xc1\xf3\x55\xfc\xb4\x82\xa3\x5e\xa1\x14\xe5\x49\xa7\x5a\x1d\xec\x3a\xf5\x72\x52\xed\xa7\x05\x31\xa6\x99\xd2\x1c\x85\xac\xf7\x47\x9f\x1d\xb5\xb4\x44\x8f\x63\xad\x81\xd3\xcb\xb6\xac\x34\x35\x55\x4b\x43\x29\xae\x17\xd8\x52\x75\x28\x50\xcb\xaa\xfa\xd3\xf5\xd6\xff\x9f\xbd\xb7\xdb\x71\x24\xc7\xd1\x86\xcf\xf7\x2a\xe2\x06\xc4\x15\xf5\x2f\xe0\xc5\x02\x89\x3a\xf1\x41\xd6\xd1\x02\x79\xee\xcd\xa9\x19\x37\x5e\xe7\xd4\x7c\xdd\x3d\xde\xdd\xbc\xfa\x0f\x7c\xa8\x08\x47\x28\xc2\xce\x28\x67\xf7\x60\x5e\x4c\xa3\xe0\x28\xa7\xa5\xd0\x2f\x49\x51\x12\xf9\xf0\x76\x61\xae\x85\xd4\x42\xc3\xb4\x1c\x94\x88\x62\xc6\x66\x75\x45\x6d\x96\x54\x5a\xab\x06\x29\x0a\x5d\xd3\xc2\x2a\x28\x4a\x0a\xb3\x91\xac\xaf\x64\x6b\x26\x5b\xd2\x58\xd0\xfb\x5b\x24\x9f\x45\x4c\x85\x12\xfa\x99\x81\xa9\x42\x3e\xf6\xbf\x1a\x4c\x8b\x91\x19\xba\x3b\x37\x20\x27\xd9\x56\xf5\xbf\xcf\x00\xea\x50\x80\x7c\x10\xb6\x46\x27\x3f\x4c\x3f\xbe\x52\x62\x36\x54\x3c\x55\xa0\xbc\x94\x98\xf0\x4d\x1a\x90\x7e\x91\xc1\x77\xb8\x0f\x4c\x68\x8c\xb6\xeb\x8c\xb6\x98\x1b\xd4\x32\x01\xe9\x75\x98\x79\x68\x8c\xa2\xf6\xbd\xbf\x35\xa1\xe4\xc9\x57\x6d\xa0\xbd\x12\xae\x46\x2d\xc9\x63\xff\x10\x36\x18\xd0\x84\x4a\xb5\xda\xa2\x9a\xa2\x34\xe8\x19\xb0\x7b\x03\xf0\xff\xd0\x14\x3f\xe8\xd3\xee\x84\x0e\x7c\x68\x3b\xd9\x24\xdf\xef\x06\xda\xf7\x8a\x55\xc3\x45\x20\x68\x39\xaa\x4e\x63\xb7\x06\x13\xc8\x7a\xc4\x0d\x2d\x19\x11\x99\xf3\x93\xa7\x5a\x80\xa2\x56\x74\xe2\x83\xbc\x3d\xc8\xa0\x90\x83\x93\x65\xb2\x85\x52\x65\x85\x8c\x42\x2c\xd1\xe9\xdd\x8f\x41\xff\xb4\x2a\x7d\xe9\x4b\x22\x5f\x9d\x06\xce\x8c\x43\xc6\x10\x36\xe7\xc9\x57\x4c\x82\xd5\xda\x0c\x2a\x56\x84\x2a\xa9\xf9\x7c\xaf\xca\xa2\x8e\x32\xf2\x83\x1f\xf4\x09\x62\x41\x47\x0d\x3a\xfd\xfe\xa6\x68\x83\x42\x31\xfd\xfb\x16\x80\x0c\xa5\x7f\xdf\x9a\xf9\x70\xcd\xfb\xfc\xa5\x35\xbf\xf5\xc5\xcd\xfa\xd1\x86\xcd\x5c\xc7\xcd\xcc\x06\x6e\x56\xc6\x48\xbd\xd2\x2c\xb7\x6a\x51\x41\x90\xab\xfe\x57\x6d\x8a\xce\xe2\xbd\xf9\xe3\x32\x84\xc5\x68\x5e\x07\xf3\x3a\x96\xda\x21\xc5\x39\x28\x73\xa5\x0f\x41\x0a\x67\x4a\x1f\x9b\x78\xcf\x35\xf4\x0e\x85\xff\xf7\xf1\x6f\xe6\xf4\xfd\xe7\x9f\xde\xbf\xff\xf5\xd7\xe3\x9d\x5b\xc9\xc5\x66\xb0\x90\x03\xe1\x84\xb8\x8e\x72\x01\x6c\xfb\x67\xd1\xdf\x53\x90\x9d\xfe\x61\x05\xf3\xa2\x7b\x8a\x42\x49\xa5\x13\x3b\x51\x27\x6b\x5c\x45\xbd\x98\x62\x62\x98\x55\xb8\x8c\x6b\x28\x0d\xa4\x61\x8f\xe6\xd3\xc0\x1e\x86\x15\xd5\xac\xca\xfb\x4d\x02\x70\xb4\x4a\xc2\xd8\xfa\x95\xfa\x77\x40\x8e\x5d\x3a\x55\x37\xee\xfb\xfc\xa3\x5c\x83\x74\x8b\xfd\x76\x11\x61\x64\xcf\x8e\x10\xde\x32\x1e\x7a\x30\x95\xc9\xaf\x04\x1e\x2b\x9a\xa9\x53\x0c\xb5\x04\x0f\x63\x82\xf5\x60\xe3\x94\x5e\x93\x44\x41\x11\x46\xb2\x52\x9d\xe9\x4b\x42\x63\xe4\x85\x67\x72\x41\xd4\x21\xd7\xb7\x83\xe7\x58\xf8\xf3\x41\x76\x5a\xcf\x58\x2a\x9a\xbb\x1e\x61\xa9\x7c\xf7\x00\x5f\xbe\xfd\xfc\xeb\x4f\xaf\x7b\xc9\x3a\x08\x3d\x8b\xa6\xe6\xfb\xa6\x01\x2d\xc1\x3f\x17\x34\x3c\xf9\x74\x59\x4d\x7f\x83\xb1\x93\xc4\x33\x88\x0f\x56\x35\xfd\x9d\x79\x05\x19\xc2\x92\x28\x9a\x1e\x4c\x0e\xf5\x58\x4d\x94\x25\xec\xfd\x2b\xf4\x23\xe5\xa4\x97\x5b\x60\x49\x8d\x8d\x50\xa7\x59\xd5\x69\xa6\xc6\x9f\xc7\x62\x57\x5d\xb3\xe7\x9b\xcd\x41\x73\x9f\x67\xcd\xf8\xf1\x91\xdf\x47\xd8\x14\xe0\x82\xd1\x0d\x29\x8f\x81\x2b\xab\x2c\x8e\x7c\x59\x52\x04\xb7\x41\x17\x8a\x40\x1e\xd1\x77\x96\xc9\x58\x4b\x9c\xa8\x0e\xe4\xfa\xc0\x5b\x2c\x63\xdd\x8e\xb6\x23\x1c\x8e\x73\x1c\xf2\xd6\x4d\x82\xf2\xcd\xd8\x8a\x8e\xda\x5b\x1b\xc7\x82\xfa\x0e\x58\xa4\x2c\xdd\xb0\xf4\x3d\x34\x4d\x8b\x95\x86\xbf\xac\x00\x90\x7e\xc4\xbf\xe7\xbf\x7f\xfa\xf5\xf5\x74\xd7\xc1\xa7\xf7\xd4\xe2\x2f\x8c\xe3\xc9\x01\x81\xaf\xe5\x8b\x6b\x87\x9e\x5f\x18\xd1\xc3\xf5\xe7\xac\xd7\x3c\xf9\x24\x09\xf8\x39\x0f\x79\x68\x5f\x30\x3a\x38\xed\xcc\x9a\x5b\xdf\xc3\xef\x03\xeb\x59\xa7\x0c\x2c\xaa\xd3\x63\xd4\xa1\x6a\xce\x7a\xad\xae\xea\x6b\x55\xab\xd3\xec\x5a\x1f\x07\xad\x87\x63\x2b\x39\xce\xaa\x84\x5d\x4b\x84\x38\x46\xa5\xea\x57\x38\xd5\x5a\x5a\x27\x73\xeb\x65\x6b\x21\xe7\xa9\xe2\x7b\x87\xbb\x5f\x9c\xd3\xaa\x9d\xd7\xaa\x9d\x9f\x55\x0d\x8b\xae\x98\x06\xcd\xc4\xa2\x98\xcf\xaa\xc6\x80\xd5\x2f\xad\x9b\x3c\xb4\x8e\xa3\x63\x1f\xd6\x3b\xf6\x33\x0f\x53\xe7\xfd\x6c\x94\xeb\x34\xca\x55\x47\xb9\x2e\x46\xb9\xea\x28\x57\xf9\xd7\xaa\xdf\x53\xeb\x47\x47\xd9\xb1\xf5\x21\x68\xc5\x3a\xd2\x75\x31\xd2\xf5\xb6\x9b\xc8\xe7\x2a\x77\x5e\x2b\xd7\xb1\xae\x6d\xac\xeb\x7c\xac\x39\x7f\x19\xe7\x56\x26\xba\x0d\x77\xd9\x3d\xdc\xce\xcb\x44\x8f\x13\xce\x73\xa2\xce\x57\xaa\xce\x8d\xac\xf3\x92\xae\x73\x23\xec\x3c\xd4\x96\xbd\xee\xab\xfb\x7e\xbf\xef\x04\xfa\x98\xd3\x77\xfe\x9d\x86\xfd\x83\xea\x7f\x44\x24\xed\x5a\x00\x20\xf4\x9e\x16\x9a\x02\x2e\x17\x6e\x78\xc1\xb8\x85\x4f\x34\x50\xc6\x5c\x7c\xe9\x62\x18\xe8\x8d\xe5\xa1\xc5\x45\xec\x2b\x48\x1f\x55\xb0\x71\x01\xdd\xd7\x80\xab\x50\x8b\xe0\x06\x23\xc0\x9b\xdd\xbc\x8a\xfe\xe1\x5a\x6e\xdc\x73\x4b\x3d\xf2\x73\x6f\x40\xf9\x51\x2d\xcb\xc1\xaa\x98\xe5\xee\x67\x8c\x56\x9a\x8d\xd6\x8f\xd6\xb1\x7d\x61\x4f\xeb\x01\x4b\x8b\x01\xfb\xad\xaa\xf9\x60\xc4\x7a\x5b\xd2\xdf\xb4\x9e\xd9\xa8\xfd\xae\xf5\x2c\x06\xee\x1f\x50\xd3\x1e\x36\xff\xdf\xbf\xee\x85\xf2\x90\xcd\x6f\x7c\xd2\x2b\xed\x91\xe6\xa4\x1b\xc3\xec\x88\x5b\x76\xea\x5f\x74\x3b\x9d\xdb\x13\x9b\x77\x77\xac\x38\x29\xaa\xe3\x79\x11\xac\x07\x3c\xf9\x92\x7a\xa3\x07\x1e\x5d\xb8\xb7\xfd\x38\x37\xd1\x3a\x1c\x65\xcf\x4f\x85\x42\x19\xf0\x68\x07\x52\xba\xc4\xa8\xd8\x94\xe7\x02\x06\xd3\xe9\x19\x61\xa4\xe8\xbc\x09\x68\xaa\x94\x26\xea\xdd\xaa\xb1\x26\x63\xf3\xe4\x4b\xba\x38\xd9\x22\xac\x6f\x8a\x2e\x7d\xc3\xa6\xc0\x52\x5b\x28\x09\x91\x22\xd7\xc5\x50\x6a\xe4\xe1\xad\xeb\xbf\xdd\xb3\xb8\x17\x5c\x8c\xe2\xd3\x3c\x42\x04\xce\x92\x86\x45\x13\x4b\x3b\xf6\xb2\xcc\xb2\x6b\x8c\x54\xf8\x62\xa8\x86\xf5\x2c\xad\x3c\xda\x31\x47\xab\xcb\xa1\x78\x62\x0a\x01\x27\x30\xd0\x16\x73\xbd\x9e\xc0\x60\x9b\x24\x2a\x63\x37\x41\x9c\x66\xed\x30\x08\xf4\x8b\x86\x74\xed\x18\x87\xdf\x6f\x0d\xfe\x96\x0f\x3e\x21\x88\xc6\xac\xff\x7a\x30\xf5\x89\x81\x3f\x9e\xbf\xdd\xbb\x5d\xf9\x83\x89\xfe\x49\x98\x68\x3e\x0b\x3d\x42\xb2\x08\xd3\x7e\xb4\xae\x6d\xea\xec\x21\xf2\x3b\xac\x6c\x7a\x4c\xb9\x4d\xcc\xd5\xfd\x04\xf4\x07\xff\xfe\x0e\xfc\x7b\x45\x00\xbd\xa2\xdb\xad\x50\x03\x15\x14\xaf\x74\x10\x66\xb8\x62\xdf\xb0\x60\xc0\xb8\x6d\xc2\x1a\xef\x55\xad\x65\xce\x7f\xfe\x76\xf9\xf6\xf3\x2f\xfb\x11\x7e\xa5\xc6\x19\xad\x73\xfb\xde\x37\xe2\xd5\x9a\x19\x33\x1a\x30\xa3\x59\x33\xa3\x35\x37\x45\xc7\x15\x43\xe5\x46\x60\xf4\x2d\x84\xab\x91\x17\x67\xb2\x83\x27\xd9\x01\x6d\xa7\x13\x1d\x76\x2e\x39\x86\x51\x72\x0c\x9b\x92\xc3\xde\x16\x1c\x76\x53\x6e\xcc\xd4\xa0\xbe\xb5\xc3\x5c\xd2\x5d\x47\xd3\xf7\x82\xe3\xc7\x8e\x6f\xe6\x13\xfa\x18\x1b\xb3\x92\xf1\x30\xef\x9a\x22\x27\xaa\x20\xd6\xbb\x02\xae\x3d\x1f\x4f\x04\xb9\x0d\x1a\xb5\x75\xc2\xdd\x82\x48\xcd\x18\x99\x1b\x23\xe3\x04\xad\x9b\xa7\x99\x34\xb1\xb7\x98\xd8\x6e\xf0\xf0\x6c\x0e\x36\x20\x92\x9a\x38\x99\x75\xbf\x63\xe2\x1f\x1a\xff\x5f\x8f\xff\x75\xde\x8b\x8d\xa9\xd7\xb8\x9f\x05\xcb\xd6\x40\xfb\x2b\x94\x49\x2c\x23\x1b\x58\x36\x8a\x32\xc9\x37\x50\x26\x71\x16\xf0\x12\x6f\xa1\x4c\xfa\x19\xca\x64\x7c\x1c\x65\xd2\x7d\x02\x65\x32\x7e\x02\x65\xb2\x4d\xce\x5e\xb6\xb8\x0b\x41\xba\x07\x27\xdb\x6d\x61\x41\xd8\x5b\x58\x10\xae\x61\x41\xdc\xc0\x6c\xbc\x09\x06\xa1\x87\x95\x33\xcc\xc6\x9b\xe1\xf1\xb7\x31\x1b\xb7\x43\x4d\xdc\x84\x6c\xfc\x54\xa8\x89\x5f\x8f\x7f\xd9\xc7\x1b\x69\x82\xc9\xed\x01\x3b\x11\xbf\xeb\x90\x3e\x17\xad\x25\x51\x70\x30\xcb\xc8\xae\x92\x03\xb2\xb6\x2b\x54\xac\xd0\x60\x0d\xe1\x5c\x70\x47\xba\xe4\x9b\x52\x07\x7b\x4e\x88\x6f\x85\x67\x97\xc1\x1a\xc9\x72\x36\xc5\x94\x9e\x19\x19\xd6\x3e\xbb\x23\xba\x68\xe3\xc8\x03\x3a\x99\x52\xc0\x9d\x31\x95\xe2\xc9\xa7\x84\xa6\x5d\xcf\xe0\x46\x6d\x24\x27\xf8\xb1\x05\xf8\xde\x4a\xe3\x96\x59\x0c\xab\xb1\x0a\x9a\xd7\xa7\x49\xb1\x46\xca\xff\x54\xc4\x17\x99\xda\x9d\xf8\xad\xa1\x9b\x5a\x9b\x16\x73\xbb\x27\x2e\xf9\x9d\x7b\x87\x48\x2e\x24\x99\xdb\x58\x13\x39\x0f\xd8\x91\x54\x29\x45\xdc\x17\xd4\x73\x24\x5f\xfc\x20\xcf\x70\xec\xd1\x58\xb8\x38\xbd\xc4\x0a\xc9\xe0\xd9\xe5\xb0\x70\x6f\x72\xcf\x95\x2c\x6e\xe3\x53\xea\xb8\x31\x53\xa8\x69\xe4\x46\x18\x67\x27\xf9\xe5\xc5\x91\xa8\x2b\xb5\x43\x67\x88\x9e\x9c\x9b\x35\x68\xc3\xf8\xf5\xb9\x12\x2b\x3c\x5d\xe0\xb5\x25\xa4\x7d\x06\xe8\x68\x21\xeb\x3a\x00\x10\xe7\x0c\xc5\x3b\x96\x2a\x1f\x4d\xe6\xcf\x7f\xb9\xbb\x8c\x3d\x0a\xf2\xe6\x07\xdf\x24\x6a\x1a\xf4\xbb\x0c\xaa\x1a\xf7\xc4\xc1\x1f\x61\x08\xd4\x0c\x13\x90\x73\xfa\xdb\xb2\xf1\x2b\x88\x37\xd1\x94\xf2\xa0\x21\xd2\x01\xf7\xad\x7f\xc8\xf0\x84\xc1\xbe\xbf\x65\x51\x41\x77\x20\xf6\x2e\xf7\x64\xb2\xe9\x1d\xdd\x15\xae\x4e\x0b\x03\xff\xc2\x3c\xcc\x3c\x17\x16\x41\x50\x99\xff\x13\x37\x05\xa3\xe3\xc2\xfb\x1b\x23\x16\xe8\xdc\x6d\x41\x2a\xaf\x73\xb7\x05\xa9\xbc\xee\x53\x2b\x30\x1f\xbf\x31\x66\x5b\x3a\xba\xc1\xb5\x86\x85\x41\xbf\x4b\x9b\xc2\xfb\x9b\x11\x25\xef\x48\x71\x74\x0b\x10\x49\x14\x27\x97\x80\x15\x1e\xdb\x50\x46\xf8\x3e\xd9\xc0\xd8\xa7\x06\xdf\xc7\x7e\x28\xef\x6f\x7a\x67\x39\x03\xef\xb3\x32\x4f\x33\xf0\x3e\xd9\x03\x2c\x0b\xbc\xaa\x7a\x2c\xbb\x37\x3b\xda\x3b\xc9\x8e\xf2\xfd\x4d\xbd\xba\x66\x6e\x0b\x32\xb0\x7e\xee\xb6\x20\x03\xbb\xcb\x20\xf5\xd7\x6f\x3f\xbf\xfd\xf4\xd7\xfd\xd7\xfa\xd8\x21\x70\xee\x80\x19\x84\xe5\x89\xa3\x7b\x66\x4b\x16\x66\xc7\xb2\x08\xe7\x81\x13\xa5\xbc\xb0\x9b\x9d\xb2\x9e\x33\x1c\x9e\x36\xec\x23\xa2\x3b\x9b\x31\x71\x0c\x55\xb4\xf4\xa7\x1e\xad\x5e\xb6\x8c\x86\xcb\xbe\x8d\xdf\xd4\xef\x5d\x22\xdb\x4b\xbf\xfd\x9d\x7e\x27\x74\x3b\x2b\x46\x1e\x6e\x5e\x6f\xf6\x3b\x60\x07\xb5\x76\x5d\x44\xbf\xc7\xc4\x31\x24\xcf\xca\xe4\xe3\x1e\xa4\xe9\x8f\x74\xfb\x97\xd7\x9f\xbf\x7d\xdb\xe9\xb0\x92\xa4\xe3\xb2\x1b\xc9\x9d\x09\x75\x4c\x06\x06\x6f\x23\xea\x63\x2f\xbd\xc7\x2e\x75\x89\xcc\x32\x72\xad\xcb\x9e\x8a\xad\x30\xe1\x0d\xa2\x40\xb0\xe9\x87\x99\xa5\x0e\xd1\x0c\x6c\x4c\x13\x39\x6c\x60\x9b\xde\x1f\x97\x0f\xf0\xea\x36\x20\xfc\x74\xa3\xb0\xb1\x4f\x60\xf0\xc0\x36\x26\xa0\x6e\x13\x9c\x3b\xac\x91\x32\x45\x46\xce\x30\x01\x75\xdb\xf2\x38\x26\x60\x7a\x1c\x13\xf0\x33\x40\xf5\x3d\x01\xed\x64\x9f\xea\xc2\x10\xc9\xf6\xfe\x29\x23\x01\xf9\x3e\xb2\xd7\x44\x3d\x5d\xca\x9c\x74\x9e\x13\x79\x27\x72\x31\x90\x05\x1a\x5b\x4e\x3d\xd9\xa4\x91\x6c\xf4\x8a\xd7\x6e\x9d\x40\xac\x37\xe6\x0b\x27\xb2\x5b\x34\x63\xb7\x30\x0e\x55\x2d\xdb\xd8\xc1\x88\x10\xbf\x05\x72\xa8\xfb\x17\xdd\x70\x74\x69\xf6\xd3\x20\x87\xdd\x9e\xe7\x43\x94\xc3\xc3\x67\x00\xe9\x7f\xfd\xf6\xcb\xce\xad\xff\xca\xa5\xd1\x72\xa5\x9a\x93\xa9\x14\x4a\x99\xcb\x4d\x9b\x11\xe4\xa7\xc2\xdf\x21\xc1\x0e\x2e\x85\xf1\x40\x7c\x97\x77\xe5\x51\xbf\xe8\xa5\x69\xa9\xd5\x24\xe2\x9a\x5f\x38\x51\x79\x55\x3f\x7e\x4e\x85\x38\x16\x83\xa1\x73\xde\x50\xb4\xa9\x3b\xd8\xf1\x08\xfd\x52\xfc\x2a\xcc\x3a\x4f\xe1\xce\x47\x12\x50\x0f\x30\x8e\x94\xab\x97\x9d\xc9\xd2\xcc\x89\x62\x50\x27\xed\xfc\x4a\xae\x26\x62\xe1\xe4\x02\x9d\x9d\x4a\x4a\x4b\x7f\x7d\x4b\xa9\x24\x60\x7c\x29\x62\x7a\x69\xcf\xd1\xaa\xcc\x56\x43\x21\x6a\x78\xbc\x80\x23\x52\xb6\xbd\x55\x15\xf6\x74\x36\xf3\x2b\x39\x20\xb0\x07\x0a\x21\x52\x88\x85\x52\xa4\x6c\x7b\x2c\xa4\x50\x84\xc3\xd2\xab\x21\xe7\x93\x21\xa0\x59\x95\x64\x28\x0a\x79\x48\x62\xb1\x19\x97\x10\x35\x21\xe4\xd2\x5c\xa3\x47\x7d\x3e\x33\x25\x5b\x5f\x89\x3d\xb9\xea\xc8\x85\x48\xb1\x92\x0f\x99\x4a\xed\x90\x5c\x82\x68\xe9\x21\x4b\x6d\xcc\x70\xd3\xaf\xea\x4e\x2b\x82\xcb\xd7\x31\x20\xec\x57\xe7\xa8\x06\x98\x51\xd7\x95\x8f\x15\x59\x9f\x5f\x65\x28\xc8\x03\x14\x99\x92\x0f\x86\xac\x0b\x0b\x73\x4a\xd4\x56\x23\x31\xd7\x57\xb2\xde\x90\xcf\x64\x7d\x35\x94\x7d\x55\xa3\x54\xb6\x9d\x0e\xc6\x99\x32\xe0\x98\x56\x4e\x7f\x36\x41\x43\x19\xfa\x48\x5a\xcd\x71\xcb\x2c\xd1\xb2\xe7\x00\x24\x14\xf2\x80\x47\xa2\x9a\x4d\x5a\x76\x67\xf4\xd8\xdb\xcb\x69\x3b\xed\x01\xfb\x80\xf6\x89\x72\x08\x06\xdb\xb2\x05\xa3\x45\xd8\x8e\xd7\x3a\x8c\x86\xf6\x32\x42\x49\x06\x9d\xab\xef\xb8\x41\x84\x45\x1a\x12\x65\xe7\xda\x73\xdc\x75\x51\x88\x7e\x7d\x9c\xa8\x0b\xb7\xf0\xe5\x92\x5c\x28\xc3\x36\xd9\xbb\xf4\x4a\x1c\x82\xc8\x70\x72\x25\x10\xc7\x2c\xbb\x78\x72\x61\x41\x31\x04\x10\x11\xa1\xbb\xaa\x28\x53\x75\x94\x5e\x91\x85\x72\x6a\x45\xfc\x9c\x9c\x11\x2c\x2f\xf4\xf1\x89\x5d\xa6\x5c\x65\xfe\x4b\x26\xf6\x19\x7c\xef\x72\x26\x17\xc2\xca\xf9\xd1\xbb\x24\xad\x63\xd9\x5b\x06\x7d\x68\x4d\x22\x1e\xb8\x80\xc1\xb5\x11\x1b\x14\x09\x4b\xa7\x58\x7c\x7b\x62\xaf\x6b\xad\x8c\xcd\xac\xf3\xc8\x19\xf2\x00\xd9\xd3\x9e\x5a\x85\xb5\x22\x6c\xa2\xeb\xe8\x91\x35\xa4\xc3\x36\x3d\x36\xe7\xdd\x4d\x7a\x74\x66\xe5\x18\x3a\xf9\x8d\xc2\x4b\x02\x90\x36\x40\xd4\x7c\x94\x1e\x4f\x7f\x7f\xfb\xaf\x5f\xcc\xdf\x1f\x86\xf4\x60\xd1\xb0\x1d\x45\x4e\xcf\x99\xd4\xf9\xcb\xd6\x17\x87\x03\x6a\x4b\xb5\x3b\xb3\xb1\x92\x3d\x37\xff\x3c\xa6\x10\x1c\x0e\x06\xbb\x3c\x95\xaa\x9a\xbc\x1d\x00\xf0\xbc\x84\x07\x90\xed\x75\x6e\x21\x2e\x5d\x3c\x3a\xb2\x58\x78\xad\x9b\xe6\x31\x67\xe3\xc8\xf2\xfb\xd7\x04\x29\x7f\x31\x6c\x57\x87\xb3\x4b\x8d\x2d\xdf\x56\xd8\x0e\xe9\xfd\x6b\x22\x97\x44\x8e\x9f\x3d\x65\x36\x45\xa4\xdd\x13\x93\xad\x79\xd0\xa7\x55\x28\x92\x8a\x1d\xb4\x97\x66\xb5\xe7\x74\x29\x81\xb6\xbe\x8c\x21\x4f\xd8\x17\x62\xe8\x1c\x0d\x9a\x20\x12\x67\x7f\xec\x34\x52\xca\x70\xb7\x4b\x1e\x7e\xbe\x01\x03\xd2\x6b\xa6\xb8\x28\x72\x7e\x5b\x6b\x85\x4e\x7b\x31\x79\xf5\x5a\x0b\x99\x72\x92\x69\x7b\xc8\x27\xe8\x4a\x35\x8f\x79\x05\x65\x8a\xd8\x56\x45\x06\x76\x53\x4c\x38\x94\xaf\x1a\x40\x37\xcb\x8a\xb8\x54\x7d\x02\x1b\x4a\x3e\x9f\xa9\x56\x11\x80\xb1\xd7\x80\x24\xbd\x24\x77\xa8\x94\x7d\xb9\x73\x06\xef\x28\xaa\x7e\x1d\x65\x21\x29\xf0\x39\x73\x86\x4a\x75\xcd\xfb\xd6\x53\x6c\xde\x0d\x2f\x59\x56\xf5\xfe\x30\x79\x66\x0f\xcd\x3e\x6c\x2b\x6e\xe4\x4a\x96\x92\xca\x90\xc8\xa7\x24\xda\xae\x28\x13\x49\xa8\x1c\xbe\xa7\xf2\x54\xcb\x83\xc0\x6e\xb0\x47\xb4\x6a\xd0\x67\xd3\x44\x72\xd2\xbf\x2f\x8e\x7c\x4e\x27\x0f\x17\xda\x95\xca\xaa\x51\xee\x4b\x39\x1b\x19\x18\x91\x59\xa1\xae\x91\xb8\xa3\xa8\x51\xe9\x86\x96\x0a\x0c\xf9\x02\x08\xa1\xb5\x46\x0c\x84\x9c\x83\xa7\xf2\x09\x1a\xf9\xd3\xf7\xff\xbe\xb3\x5b\xfd\x08\x37\x26\xc3\x18\x35\x00\x82\x29\x7b\x61\xbd\xea\x65\x16\x0f\x91\xa2\xeb\x44\x0b\x42\x6a\x83\x25\x93\x53\x96\x71\xc3\x5a\xb8\x04\x0d\x4d\x19\x28\x1e\x64\x53\xf7\x2a\x3a\x93\xfa\x70\xc6\x25\x72\xc9\xc5\x93\x73\x11\x7e\xa4\xd6\x4b\x4b\xdc\xc0\x54\x34\x07\x22\x5c\xf2\xfb\x57\x06\x24\xee\x05\xac\xe4\xee\x99\x93\xe6\x3b\xe6\xa4\x07\x2c\x4a\x99\xb2\x34\x1e\xde\x40\x59\x16\x2f\x1f\xea\xb1\x17\x32\x46\x57\xa3\x14\xf9\xa9\x17\x33\xa2\xc6\xaa\x32\x29\x0a\xb2\x9b\x23\x9d\xd8\x11\xe9\xe4\x80\xce\x77\x72\x46\xc3\xb7\xa8\xa0\x81\x9c\x31\x6b\x39\x23\xa3\x2d\xdb\xa3\x40\xd9\xaf\xf7\xd4\x30\xce\x5e\x4b\x99\x16\xdf\x2d\xc0\x8e\xee\x53\x72\x06\x34\xf4\xa0\xff\x21\x05\x1b\x60\xb5\xad\x40\xa2\xc9\x34\x49\x83\x6b\xdc\x0e\xca\x10\x92\x04\x82\xc6\x40\x45\xe8\x25\x0d\xe5\xe0\x44\xce\x9c\x00\xd7\x7b\xf3\x9a\xd0\x51\x72\x7a\x8e\xef\x45\xc8\x68\x58\xd4\x8a\x10\xa3\xea\xe0\x1f\xe0\x4e\x1b\x2f\x49\x54\x5e\x08\x8c\xb4\x65\x03\xbb\x25\x7b\xf4\x36\xb8\xc9\x18\x61\xd2\xa1\x4a\x21\x90\xa2\x38\x1f\x4e\x71\x25\x67\x8a\xc8\x88\x01\x1c\xbe\x14\x34\x06\x92\xc6\xa8\xa4\x31\x10\x35\x07\x27\xda\x76\x27\x27\x44\x73\x2b\x14\x92\xc8\x5f\x84\xaa\x5f\x89\x19\x0f\x28\x47\x7b\xe0\xb6\x10\x75\x3b\xe8\x76\xbd\xc1\xbe\xbb\xb8\x60\x73\xc5\xcd\x92\xce\x3c\x44\x23\xdf\xff\xf2\x97\xf3\x37\x73\xfe\xf6\xe7\xdf\xf8\xd8\xbf\x5c\x31\x28\xac\x1d\xca\x88\x41\x61\xad\x29\x00\x3c\x8e\x43\xd8\xe1\x8e\xb8\xc4\xb4\x89\xed\xd0\x1f\x67\x18\xe1\x54\xc6\x3b\x00\x91\x5e\xe1\x20\xe5\x46\xd9\x9e\x3c\xcd\xce\xf9\x59\xd6\x91\x78\x2a\xf3\xcb\x00\x91\xdc\x7c\x28\x8b\x6c\x6d\xff\xba\x47\xe7\x9b\x8d\xd8\xbe\x63\xa0\xa1\x8c\x07\xee\xb8\xab\x68\x07\xee\x6c\xc2\xb0\x23\xe6\x67\x1c\xfc\x71\x8a\x8a\x23\x6a\x47\x3a\xce\x83\xe4\x1c\xda\xe5\x6f\x79\x9a\x47\xc5\x81\xca\x74\x4a\x8b\xc8\x39\x76\xc8\x87\xb8\xc8\xa5\x5b\x94\x47\x0f\x3d\x74\x18\x7e\xc6\x1f\xbf\xed\x85\x51\x9a\xc1\x97\xcc\x48\x87\x41\x3a\x2b\xca\xb1\xa6\x23\x1d\xbb\xa2\x1c\x4e\x13\xe9\x60\xf2\xc3\xa1\x3c\x8d\x7f\x96\x21\x9e\xca\xfb\xdb\x8a\x70\x2c\x63\x33\x73\x28\xab\x6b\xa4\x05\x31\x59\x1b\x61\xdf\xb6\xef\x18\x7a\x3e\x66\xfb\xb6\xb1\x33\xe2\xb1\x66\x46\x3d\x76\x17\xf1\x30\x5f\xa9\x07\x86\x4d\x87\x38\xdd\xd1\xc4\xc1\x9f\xd2\xfb\x1b\x0c\x6a\xe6\x64\x61\x71\xdb\x15\x0f\xab\xab\x9b\x53\x5a\x66\x0b\x9f\x23\x9f\xff\x7b\xf7\x1c\xfe\x31\x80\xb5\xe4\xb0\x51\x2c\xcf\x88\x0d\x3d\xc8\x2f\x1d\x46\x1e\x82\x67\x06\xe0\xc3\x2a\x2a\x7a\xf4\x3d\xb2\x1d\xd2\xe1\x76\xa7\x18\xe8\xeb\x1c\xd6\x68\x19\xe6\x76\x16\xd3\x4a\xc1\xf6\xa7\xe4\xa1\x52\x71\x61\x56\xe4\x02\xb4\x8e\x7c\x0c\xad\x42\x6d\xd2\x22\xd5\x0e\xe4\xa3\xd7\xca\x36\x92\x4d\x7b\xdb\xdc\x28\x5c\xf6\xee\xd1\xaf\xae\x3a\xed\xb1\x0e\x6a\x7a\xc5\x99\x6c\xf0\x26\xc8\xf3\x49\x7f\x64\xd9\xe5\xc7\x8c\x8b\x4d\xd9\x3a\x8d\x39\x07\xb6\xef\x6f\x15\xa1\xd4\xdb\x41\xd0\x84\x81\x3d\x5c\x7f\x80\x64\x8a\xef\x6f\x75\x68\x8a\x5b\xac\xc1\x90\x8d\xc5\x30\xee\x3b\x10\x6e\x99\x29\xfb\xf4\x34\x2b\x05\x2e\xe1\x41\xaa\x2c\x7e\xaa\xd2\x72\x1d\x78\xdf\x56\x1c\x04\xf5\x9b\xde\x94\x46\xca\x55\x63\x59\x97\x67\x79\x62\x9f\x55\xfd\xcc\x8a\x01\x91\x46\xce\x3a\xd5\x78\x4e\x69\x00\xea\x1d\xec\x73\xa5\x54\x86\x4c\xce\xce\x02\xd1\x1a\xbc\xf6\x9c\xa1\x62\xa0\xf8\x29\xcd\xb4\xf7\xde\xdf\x28\x5b\x80\x5b\xc4\x67\x51\x1b\x59\x64\xd1\x99\x11\xe7\x00\x36\x1d\xcf\x05\x38\xd4\x7a\xe2\x14\x2a\x0e\xec\x52\xe9\x6f\x53\x97\xf7\xa5\xd8\xcf\xf8\x80\x28\x00\x21\x0e\x73\xfc\x37\xa3\xc0\x0f\x78\x2e\x8e\xb1\x50\xc6\xfb\x5b\x12\x21\x77\x2f\x54\x9b\xe4\xc7\x5c\x3b\x5c\x41\xb0\x21\x9c\x46\x66\x99\xfc\x3c\x5d\x12\x9b\x4c\x36\x0f\xf2\x58\x1a\xd0\xe2\xc4\x68\xdf\x2c\x7f\x3f\xff\xf2\xe0\x86\x28\x0f\x69\x23\x26\x10\x57\xbd\xf0\xda\x08\x74\x95\x71\xdf\xf5\x92\x4e\x6a\x98\x93\x9d\x2a\xac\xc1\x15\xb5\x1d\xaa\x21\x50\xb1\xf1\xec\xa8\x00\x80\xa0\xb8\xba\x56\xef\x65\x95\xcd\xe5\x92\x29\x65\xf7\xe3\xb7\x66\xb2\xf7\x49\x19\xf8\x36\x6a\xb2\x64\x26\x93\x25\xa3\x26\x4b\xa8\xd6\x6c\x55\x9e\x00\x85\x95\x0e\xf9\xfd\x8d\x49\x37\x4b\x37\x6d\x8f\xc2\x6d\xbb\xbd\x97\x74\x32\xb9\xdd\xde\x69\x91\x19\xd7\x77\xb0\x53\x32\xa3\x9d\x92\x99\x0c\x95\xcc\x6c\x38\xfa\x3d\xa6\x64\x80\xc5\x11\xfb\x43\xbd\x98\x7b\xd6\x50\xfe\x4e\x8b\xd8\x9f\x12\x4e\xa6\xd4\x9c\x0b\x6d\x31\xda\x8a\x14\xea\xd5\xb0\xa9\xb5\xc5\x6c\xb7\xa5\x14\x8f\xac\x07\xf4\xea\xfd\x2b\xc7\x81\x65\xb7\xa0\xe7\x28\x52\x41\x68\x27\x4e\x0f\x59\x2c\xea\x26\xf9\xa2\xc3\xfe\x80\x17\xe5\xfb\x5b\xbb\x16\x77\xf1\xe2\x4f\xfe\x62\x14\xe5\xf1\x11\x15\x5f\x78\xe6\xb1\x0d\x60\x1c\x3c\xa6\xa9\xdb\x94\x64\x75\x5b\xdc\xb8\xef\x53\x63\xac\x17\x7f\xa2\x5c\xbb\xdd\x0a\xee\x47\x28\xe5\x72\x66\xaa\xb2\xab\xb1\x36\xbf\x52\x60\x99\x45\x4a\x81\xa9\x96\x28\xff\xcb\xe6\x2e\xfb\x4b\xa4\x50\xdd\x8f\x5f\x1a\xbe\x48\xdb\x0a\x56\x9d\x52\xc8\x79\xbd\x34\x25\xe0\x42\xc5\xec\x51\xb7\x6c\x9c\xac\xcd\x5d\x01\x81\x9c\xe8\x4b\x87\xa8\xfc\x72\x23\x48\xea\xa6\x31\xe5\x8b\xcc\xcd\xa5\x45\x20\xa5\x94\x81\x32\xe4\x7a\xa3\xaf\x6c\xc8\xb9\x74\xca\x42\x6e\x7d\x92\xa4\x5c\xc7\x65\x99\xec\x84\x94\x5c\x78\x29\x27\x13\x00\xec\x7b\xc7\xb7\xd6\xdd\xb9\x5a\x1f\x0b\xc8\x4b\xc0\x44\x72\xec\x8d\x54\x30\x1b\x9b\xa2\x88\x31\x95\xa2\xbc\xe2\x1b\x0d\xef\xbd\x66\x7d\x69\xef\x4d\xa4\xbf\xc1\x3e\xab\xa6\x76\xec\x83\xab\x5f\x85\x67\x28\x27\x77\x61\x8a\x87\xfc\x18\xf5\xdf\x39\x9c\x5f\xde\xd6\xf7\xf0\x0b\xdc\xf0\x42\xb6\xa2\xcf\x12\xe2\x1b\x56\x40\xa6\xe7\x1e\xa4\x23\xc9\xd2\xf7\xcc\x58\x4f\xd9\xbd\xc0\x75\x69\x65\xac\x8e\x73\x43\x77\x0e\x32\xe7\x91\x78\x0e\xc4\xc7\x1a\x61\x88\xc9\x86\x33\xec\x81\x7a\x38\x6b\x20\xb1\x8b\xce\x97\xd4\xd4\x70\x39\x09\xb6\x1d\x96\xec\x5a\x4f\xef\x1c\x42\xf7\x37\xd7\xbd\xb1\x02\x46\x87\x37\x3c\x64\x9c\x3a\x5d\xd4\x02\xd0\xda\xfe\x3e\x12\xc3\xe3\x9f\xf3\x90\x00\x84\x92\xb7\x81\x50\xd2\x6f\x09\x84\xb2\x1c\x1e\xbf\x7f\x78\x7e\x3e\xfe\x72\xda\x47\x3e\x50\x23\xea\x86\x9d\x75\x1f\x4c\xae\x79\x2a\x94\xa5\x4f\x97\xbe\x8e\x45\xe8\x66\xb4\xe8\x2d\x87\x9f\xb2\xc7\xd0\x27\x0f\x5b\x31\x6c\xb5\x4e\xde\xd6\x7c\x70\xb2\x2d\x7a\x81\xdb\xf0\x7b\x73\xf6\xc2\x5b\x3a\x0b\x96\x05\xe7\x0f\x69\x23\xd4\x68\x0b\xa5\x9b\x40\x1e\x6b\x30\xdb\xf8\x69\x35\x25\x8a\x9a\x02\x1b\x9f\x37\x98\xcf\xe4\xa8\x8d\xbc\x6d\x4b\x64\xef\xd9\x12\x25\x40\x71\x3e\x6e\x49\x0b\xca\xd9\xc5\x5a\xca\xc3\x1b\x94\x13\xb7\x29\x27\x2e\x29\x47\x5f\x07\x9a\x84\x88\x82\x4d\xda\x89\x9b\xb4\xb3\xcb\x48\x2c\x6c\x6b\x00\x49\x35\x00\xbf\x11\xbc\x74\xd4\x00\x7a\x4f\x82\x06\x79\x1a\x2e\x75\xbd\x78\x8f\xf6\x6d\xa7\x76\xdf\xb6\xb8\x4b\x69\xf7\x2c\xa2\x95\x99\xbe\x4c\x90\x4e\xb8\xbb\x62\xfb\x5b\x2b\x76\xd4\x15\xfb\xcd\x68\x93\xd1\xae\xcd\x65\x2e\x6f\xaf\x72\x68\xd0\xc3\x11\x4b\x7e\xfd\xf9\xdb\x5f\xff\xb4\xe7\x82\x47\xcd\x19\x9c\xde\x81\xcf\x1d\xa3\x08\x56\x08\xae\x9c\xd7\x46\x19\xb8\x78\x8f\x64\xe3\xb3\x8c\x9d\x88\x94\x74\xce\x04\x73\xc6\x1c\x4e\x26\x2c\xa1\xa8\xc7\x30\xe9\x37\x6c\xa6\xd6\x8b\xcf\x18\xe1\xfc\x6c\x0a\x39\x67\x3a\x63\x11\xb5\xd1\x89\xb2\xe5\x7f\x2e\xe4\x45\x2f\x73\x1a\x17\x14\x5d\xf8\x28\xf8\xd0\x6c\x60\x3e\x0e\xd5\x84\x52\xfd\xc6\xc0\x04\x8d\x58\xb5\x16\xff\xa5\x06\x62\x97\xce\x9e\x2a\x50\x2f\x65\x84\x60\xee\x11\x0f\xbc\x8a\xad\x81\x71\xe9\x4b\x18\xc7\x65\xbd\xea\x00\x02\x9c\x42\x01\x44\x1c\xe7\x64\x02\xd5\xcc\x9d\xf1\xac\x2f\x86\x18\x70\x94\x5e\xf6\x52\x1e\xc6\xa2\x2c\x9f\x7d\x23\xf3\xa1\xb5\x01\xd6\xeb\x80\x61\xdf\x10\x20\x2f\x99\x62\xd2\x89\x5b\x59\xf9\x98\x89\x6c\x30\x6f\x2c\x64\x23\x7b\x76\x27\x7b\xf6\x35\x40\xb9\x5a\x53\x64\x8a\xa6\x33\x09\x9a\xe6\x5f\xd4\x1b\x18\x68\x61\xdb\x9f\x83\xd9\xa4\xbf\xe6\xe1\x9b\x36\xfd\x94\xd2\xc7\xc1\x6e\xa7\x71\xd9\x41\x2f\x49\x3a\xbd\x35\x2c\x91\x72\xe2\x36\x6f\x43\x3f\x6f\x8c\x79\xbb\x4e\x5b\xa1\x84\x20\xb7\x3c\x04\x5a\xfb\x67\xe8\xb8\x28\xb4\xe0\xb2\x4b\xa5\x06\x33\x51\xdf\x30\x51\x5f\xd8\x20\xbe\x36\x28\x6b\x7f\xf4\xe6\x28\xfe\xf1\xa0\xfc\x74\xfc\xeb\x5f\xee\x45\xb1\xb8\x7f\x74\x6c\x29\x01\xad\xd6\xa7\x74\xc4\xa5\xe9\xa0\x4f\xbd\x2d\x49\x25\x0c\xf6\x95\x82\xcd\xe4\x7c\xa5\x1c\x22\xc5\x22\x5b\xb8\x40\xb5\x9e\x71\xcf\x0a\x80\x51\xf2\xac\x51\xbd\xa4\x90\x22\x5d\x2e\x7a\xad\x26\x9b\x0c\xac\xd2\xfa\xcc\xed\xd9\xc6\x3a\x03\x65\xda\xbf\x1a\x0a\xba\x36\x97\x9c\xc9\xab\x51\x60\xcc\xe4\xab\x3b\x78\x4a\xc5\xa1\x65\x7e\xd0\x67\x1b\x7f\x1f\xb3\x21\x5f\xfd\x66\xb9\xb0\xa8\xd6\xe3\x89\x65\x63\x32\x82\x8a\x15\x69\xba\xe8\xa7\xb8\x43\x66\x23\x2d\x8f\x64\x71\xa6\x65\x43\x77\xf7\x2b\xbd\x35\x54\xeb\xfb\x5b\x0b\x41\x93\x43\xb8\x48\xe6\x67\x47\x29\xc5\x81\x0b\x45\xdc\xb3\xfb\x84\x08\x36\x93\x48\xf1\x36\xbd\x12\xdb\x42\x5c\x0b\xb9\x24\x63\x4c\x21\x78\x0a\x99\xb8\x00\x77\xb9\x38\x38\x2f\xc5\x92\x88\x33\xac\xb1\x13\xbf\x92\xb3\x41\xda\xe1\x15\x26\xd9\x26\x96\x0c\x22\x4c\x1c\x71\x61\x83\x37\x7d\x34\xe4\xb2\x43\x80\x46\x0a\x19\xb5\xf3\xa0\xcf\xd1\xcc\x0a\xa3\x64\x93\xd0\x9e\x85\x63\x03\xbb\xb3\x19\x7b\xb9\x32\x0c\xa0\x10\x92\xa1\x10\x61\x9b\xcc\xed\xd9\x04\x1e\xb7\xeb\xff\xd5\x0b\xf4\x58\xec\xe1\x89\x68\x1f\x3b\xae\x48\x40\x45\x66\x8a\x1c\x8f\x8e\xd8\x22\x58\xa6\x1d\x69\xb6\xd8\x4c\xd9\xf3\x95\x3a\x23\xa5\xc2\x43\x85\x07\x96\x43\x58\x6b\x7d\xda\xe6\xf7\x28\xaf\x17\xef\x5e\x0d\x79\x0e\xc4\x05\xa1\x4f\xc9\x15\x70\xb9\x97\x15\x46\x94\x59\x0f\xe3\x92\x65\x65\x86\x29\x57\x64\x0b\x63\xa1\xd7\xa2\x41\x62\x8e\x6c\x76\x13\xb5\x3d\x27\xd9\x85\x43\x0d\x39\xab\x1d\x9c\xb5\xe1\x95\xb8\x08\x29\xdb\x48\x41\xd4\xd3\x98\x29\x27\x6f\x28\xfb\xf7\x37\x8a\x8a\x47\xc7\x41\x67\x0e\xb3\x17\x29\xc9\x5a\xef\x93\x3f\x22\xcc\x66\x4c\xe3\x7a\x08\xeb\xc0\xf4\x4a\xb6\x14\x84\xca\xe2\x52\xc9\x16\x18\xaa\xda\x02\xcb\x6d\x1f\x8e\x94\x2c\xcb\x47\xdf\x89\x42\x6c\xae\x06\x04\x34\x8b\xcd\xf8\x58\x89\x24\x26\x20\x59\xe2\xf4\xda\xfa\x17\x79\x3c\x21\xf4\x66\x2c\x9a\x4d\x79\x7a\x59\xa0\xa1\x68\x23\xb9\x7c\x47\x61\xda\x41\x17\xbb\x03\x5f\x0e\x32\x6d\x80\xd4\x15\xd1\x2d\x4b\x7e\x46\x84\xb7\x51\xa0\xcd\x3d\x35\xcd\x24\xb7\x52\x28\xe4\x11\xa2\x37\x1a\xf2\x39\x18\x91\x02\x90\x5f\xb2\x9c\xc9\xd2\xc8\x4b\x39\x06\x7e\x52\x21\x53\x5e\xc9\x79\x0a\xce\x53\x4c\x89\x72\x2e\x6a\xd2\x46\xc2\xaf\xd8\xae\x34\x19\x36\x4c\x32\x0c\x7c\xed\xf3\x2b\x85\x5c\xa5\x9c\x44\x35\x64\x43\x8c\xb0\x14\x3e\x26\x88\x31\x0a\x1a\x83\x27\x0b\x43\x27\xc9\x93\x93\x0a\xb1\x8d\x96\x14\x95\x62\xcf\xa2\xc1\x42\x31\xf2\xe9\x6c\x26\x82\xda\xea\xb6\x08\xb0\xa7\x4e\xbe\x03\x2a\x7c\xf7\xfa\xb2\x37\xa8\x26\x24\x44\xcf\x29\xb0\x38\x2c\x91\x6a\x4d\x32\xfa\x32\x2a\x86\x52\x70\x86\x7c\x29\x20\x68\xd9\x10\xfb\xec\x75\x7c\x30\xfc\x0b\x6e\xb2\x33\x3e\x1d\xd9\xb4\x71\xe9\x30\x71\x29\x08\x1c\xd3\xbe\xac\xbc\xe7\xd2\xd0\x9e\xe3\x70\x36\x36\x7d\xae\x94\x4b\x51\xee\x84\x00\xc6\x68\x3e\x09\xef\xe0\x8d\x89\xea\x79\x0c\xcf\x71\x77\xdc\xfe\xfe\xfa\x7f\x1f\x5c\x94\xed\x96\xc7\x8e\xfe\x35\x7a\x5f\x6c\xdf\x60\x30\xb9\x10\x5f\x65\x03\x80\x1b\x8c\x90\xc9\xc1\x34\xaa\xa6\x48\xc5\xc5\xb3\x27\xc5\xc0\xb3\x29\xf7\xa5\x07\xd1\x03\x0b\xe7\x8b\xa7\xe0\x7d\x67\x4d\xea\x1a\x7c\xe2\x49\x06\x91\xc3\xe8\xe7\xc9\x00\xff\x70\x83\x3d\x88\x7a\x90\xd6\x3f\xf3\xda\x30\xd5\x6a\x48\x2b\xbd\x69\x78\x03\x62\xac\xbd\x6d\xf5\xe5\xee\x5a\xa4\x62\x6b\xbf\x61\x2a\x7a\x90\x62\xdb\x5d\x86\xc6\xd0\x8a\x17\x53\xc6\xd1\xf1\x58\xa2\x45\xed\x21\xf6\x91\x4a\xf5\xe4\xb3\x8e\x4d\xd4\xb1\x79\x25\xe7\x2a\x39\xef\xc1\xc1\x31\x64\xfc\x5f\x72\xc0\xe0\x84\x8d\xb8\x59\x07\x06\x06\xb8\x1b\xdc\xdc\xc7\xd5\xda\xc1\xcf\x7d\x5c\xad\x35\x1e\x56\x6c\x71\xe0\xba\xc3\x19\xf6\x11\x01\x2a\x54\xf7\xd8\xaa\x7a\xcf\xe7\x67\xc3\xae\x52\xff\xba\x88\x00\x3a\x51\x0a\x7e\x75\x0d\x20\x4b\x53\xf2\xe1\x0c\xd0\x72\xe9\x59\xec\x8f\xe2\x39\xc9\xc6\xa8\xc4\x8b\x08\xb7\x95\x05\x73\x90\x75\x6b\x60\xb7\xb0\x1f\x32\x6d\xf5\x39\x24\x49\xdd\x4c\x5a\x13\x5c\x33\xf1\x55\x30\x25\x37\xc7\x7d\x18\x66\x9e\xe9\xcd\x05\x69\x19\x92\xce\x36\xab\xc0\x17\x34\x74\xb9\xc5\x73\xae\x18\x8a\x1e\x10\xfa\x09\x07\xb9\xb1\x8b\xb3\x42\xd1\x09\x85\x30\x1f\x64\x3c\x5e\x84\x5e\x4f\x4e\x0f\x23\x70\x66\xa9\x1c\xb2\x1d\x6f\xad\x07\x8e\xc2\x21\xc7\x16\x9a\x54\x56\x5c\xf3\x81\xfd\x84\x32\x04\x43\x92\x11\x63\xc8\x3d\x48\x4a\x97\x07\xa5\x97\xc8\xf1\x2a\x2b\x5b\xe8\x9d\x75\x1c\xe2\xfa\x96\x67\xd9\x74\x70\x19\xd2\xc6\x8d\x28\x34\xf2\x1c\x2f\x6b\x31\xd7\xb0\x4d\xfc\x0d\x6c\x13\x3d\x77\x2c\xb7\xb0\x4d\xd2\xc9\x24\x2a\xa9\x9c\x1d\x05\xf8\x02\x94\xd0\x07\xf6\x72\xb1\x18\x6d\x9e\x1b\xa2\x68\x05\xc3\xb5\x27\x42\x1b\x09\x81\xcf\x01\x2c\x2d\xeb\xb4\x9b\x8e\xe1\xdd\x60\x4f\x45\xf6\x47\xb7\x31\x51\xf8\x13\x98\x28\xe5\xde\xfd\x29\xea\x7d\x70\x7a\x1f\x55\xbe\x93\x0b\xe4\x7d\x0f\x0e\xe4\x42\x91\xd5\xf9\x39\x51\xac\x75\xf0\x1b\x77\x77\xd6\x0e\xb1\x39\x12\x3c\x02\x8e\xb2\x7e\x4d\xef\x09\xfd\xa1\x52\xb0\x7c\x66\x72\xb8\x07\x2c\x7e\x16\xa9\x94\xad\x4c\x62\x92\xf6\x22\xa6\xaf\xaf\x65\x98\x7a\xa0\x71\x90\x6b\x3b\x3b\xaa\x45\x3e\xf3\x49\x8d\x94\xfd\xd6\x59\x7f\xef\x19\xa5\xdf\xef\x60\xaa\xe4\x6d\xb4\x39\x94\xff\xd0\xe4\xfd\xef\xdf\x3e\xda\xf0\xab\x49\xa2\x5f\x02\xd1\xb6\x01\x3b\xf1\xd6\x39\xf4\x3a\x1e\x6f\x1c\xac\x9e\x7e\x26\x8a\x17\xde\x8c\x0f\xb7\x71\xbe\xe3\x2e\x86\xe3\x21\xc8\x2b\xdd\x51\xc7\x78\xb4\xed\x76\x1c\x6b\x48\x0f\x3f\xd6\x36\x1d\xf8\x7c\x81\x14\xd8\xd4\x24\xbb\xd1\x43\xde\xec\xa1\xa7\x78\x28\x14\x2f\xf5\xc0\x1b\x57\x80\x71\xeb\x36\x2c\x5f\x4c\x3d\x78\x8a\x97\x1b\x1d\xe4\x8f\x3b\xf8\xf7\xbf\xfe\xf9\xfb\xf9\x4f\xe6\xfb\xdf\xf6\xfa\xa9\x43\xb9\x58\x5c\x27\x07\x4f\xce\xbb\x33\xd6\x8e\xb8\x0e\xfb\x5d\x74\x57\x92\x34\xec\x7a\xf1\xb2\xd8\xba\xea\x61\x2e\x57\xfa\xc3\x2c\x9c\xb9\x58\x9f\x50\x5a\x7f\xf7\x80\x7d\x02\x1a\xb0\x38\xff\x95\x16\x98\xa9\x09\x26\x6e\x5c\x5e\x46\x33\x35\xc1\x59\xe2\x84\x38\xf5\xd9\x66\x13\xa8\xfa\xd5\x61\x72\xd1\xe3\xa0\x34\x75\x69\x7e\xda\x8b\xea\xdf\xbf\xaa\xfc\xe3\xf5\xf1\x2d\x6f\x7a\xc8\x03\x6e\x2c\x3d\xf0\x0e\x3f\x52\x11\x3f\x52\x93\x7b\xa0\xa6\x1d\x17\x0f\x73\x02\xdb\x8b\x89\xb5\xa4\xaf\x48\xb0\x65\xec\xe3\x15\x80\xba\x34\x9a\x01\x44\x6a\x41\x4c\x78\xc0\xde\xf7\x50\x9b\x2d\x76\xc1\x18\xd9\x60\x19\xe3\x90\xdf\xa5\xca\xe5\x99\x7b\x14\xe5\x27\xdc\x0f\x85\xa0\x01\xcc\x39\x14\xd4\x2a\xca\x5d\xe8\xf3\x2d\x43\x2d\xcc\xa9\x48\x6a\x14\x22\x02\x00\x1d\xcb\x9b\xc9\xc9\x7a\x90\x46\x8b\x37\x72\xd1\x9f\xa4\xe6\xe4\xb2\x7c\xa6\x91\x97\xdf\x8d\xda\x03\x7c\xe2\xe5\xfc\x99\x97\x5b\xe8\x89\xf1\xed\x59\xae\x5d\x6f\xfb\x4f\xbc\xbd\x9f\xe0\x5e\xcf\xdf\x7f\x00\x6d\xb2\xee\x15\x28\xbc\x12\x28\x59\xe4\x49\x93\x69\x4e\xde\xfa\x51\x71\x52\x47\x74\xd5\x7d\x52\xd5\xae\xa4\x2a\x27\x11\xab\x4d\xa4\x0d\xbd\x48\xdb\x25\x57\x95\x1a\xff\x10\x69\x3f\x4e\x61\x3b\x65\x5a\x7a\x44\xbe\x84\xab\x78\xd9\x8a\x07\x73\x47\xba\x24\x08\x35\xfb\x80\x20\x65\x9e\x24\x29\x87\x85\x28\xe5\x8f\x45\xa9\xfd\x43\xa6\xfd\x4e\x32\xed\xfc\xfd\xe1\x63\x3c\x86\xdd\x30\x74\xf0\xf2\x14\x10\x12\x4c\x9f\xe0\x7d\x78\x45\xbe\x32\x39\x1b\xe1\xd8\xe2\x63\xa0\x10\xd3\xe0\x89\xab\xee\xf0\x0a\x95\x40\x05\x17\x49\xf2\x43\xc9\xb9\x7d\x77\x54\xeb\x3a\x04\xf5\x10\x29\x79\xd7\x9e\x76\xf2\xf2\x0e\x64\x73\x7d\x42\xdc\xc9\x41\x9f\x78\xa3\x0c\xfc\x2a\x7c\x57\x06\xa0\xde\x59\x47\xb1\x4a\x66\x84\xac\x49\x99\x9f\xfa\xd2\x18\x58\x08\xf1\xa5\xf9\x89\xaf\xb6\xed\xba\x4b\x5b\x79\x38\x5e\xb7\xed\x76\x95\xc4\xf9\xa6\xfb\x35\xec\x34\xe1\x7f\x0d\x1b\x8c\xa4\x7b\x60\x26\xe6\x48\x21\x21\xbe\x12\x9c\x05\xbd\x45\x38\xc4\xea\x1a\xe6\x10\x76\xda\x8f\xb8\xb0\xdf\xb7\x13\xfa\xc0\x39\xf5\x3e\xe6\xd0\x87\xe4\xf5\xd8\x46\x5c\x34\x1f\xaf\xe1\x91\x9e\x1c\x85\x34\xe0\x31\xae\x2b\xe8\x0c\x6e\x44\x99\x5c\x25\x97\x10\x5e\x30\x61\x2b\x14\x32\x53\x28\x5e\x76\x9f\x03\x13\x07\xd7\xbe\x15\xef\xd7\x54\x85\x3b\x95\xf6\x9c\xae\x03\x65\xd0\x4b\x79\xc2\xf5\x36\x1e\x8d\x42\xec\x71\xf9\x93\x64\x43\x90\x43\x67\xfd\x53\x5f\x12\xb0\x8d\x8a\x7f\xd9\xb2\xf3\xb5\x16\x00\xc1\x97\x78\xf3\xac\x60\xe3\x38\xc0\x8d\x47\x05\xeb\xb7\x34\xaa\xfe\xa1\x52\xbc\x18\xaa\x9c\xdb\x81\x8a\x4b\x05\x57\xc9\x32\x00\x38\x3a\xf0\xef\x6f\xa6\x60\x38\x36\x77\xec\xeb\x8d\xfc\x96\x05\x57\xb3\x27\xea\xb7\xfd\xd7\xf3\x80\x78\x0f\x63\xf5\x0e\xb9\xfc\xed\xfc\xfd\xf8\xa7\xbd\xb0\x66\xce\x3b\xd9\xeb\xf5\xa8\x34\x6a\xb6\x1a\xcf\x1e\xa1\x73\x65\xa5\x4b\x2f\x38\x92\x5f\x1b\x67\x06\x4a\xce\x21\x23\xa6\x2d\x74\x80\xd8\x93\x36\x76\x36\x33\x7d\x2d\x64\xf9\xcc\x94\x30\xb2\x96\x91\x23\xd4\x4e\xa1\xb2\x00\xa4\x98\xac\x34\x67\x56\xa8\xc2\xc9\x61\xdb\x20\xe2\x36\x03\x87\xbb\x0c\x1c\x7a\xdb\x95\x86\x3d\xde\x5f\xa6\xd4\xe6\xad\xb1\x75\x05\x33\x7a\x6b\x6c\x47\x0f\xd8\xb5\xa0\xe8\x14\xee\x52\x5e\x02\x01\x57\xac\x6c\xcc\x5f\xb8\xc6\xba\x4b\x5d\xf4\xc3\x29\xc0\xe0\xfd\x58\x77\x1a\xd2\xce\xf8\xd5\xa6\x9d\xf5\x96\xf9\x39\x10\xd0\x74\xc3\x72\xbe\xc2\xc6\x74\x69\xa0\xad\x8d\xd9\xda\xc6\x0a\xaf\x37\xec\xac\xfc\x7a\x7a\xfc\x1a\xa8\x01\x8e\x01\xa7\x35\x52\x32\x8f\x2b\x90\xf1\x0b\x15\x1b\x6d\xdb\x35\x33\xbf\xec\x09\x8b\x77\x1b\x86\x61\x72\xc1\xdc\x72\x9c\xfa\x0a\x0c\xf8\x85\xa3\xae\xb0\xc8\xdc\x4d\xd7\xe4\x3b\xe7\xf4\xd7\xe8\x02\xca\x1a\x14\x9f\xa0\xb2\x85\x69\x95\x6d\xa4\xc9\x1b\x06\xa0\xfc\xd4\x74\xcf\xc9\xad\x43\x8d\x30\x0b\x70\x3b\xe7\x29\xd3\x5f\xdb\xe5\x1c\x97\x75\xca\xbe\x27\xe2\xb1\x1b\x98\x12\x83\xfc\x21\xf1\xdf\x8e\x93\xcc\x37\x9d\xcd\xe1\xc8\x10\x1f\x0f\x7d\x3b\x73\x07\x84\xde\x71\x6c\x10\x86\x63\x5f\xa7\x3f\x2f\x9b\x46\xb6\x14\x6f\x41\x83\x9c\x56\x8b\x11\xb3\x6f\xc1\xfa\x6e\x14\xf5\xb4\xac\x5b\x55\x64\x51\x85\x76\x3a\x20\x63\x94\x5f\x4f\xdf\xee\x69\xae\x1f\x8d\x75\xed\xe8\x79\x74\x28\xb6\x75\xf0\x63\x9c\xe1\xcf\x93\x73\xb8\x41\xce\xf6\x07\xc8\x39\xfc\x4e\xe4\xfc\xd5\x79\x72\x45\x96\xd0\x6d\x48\xaa\xa1\x0f\x2f\xb2\x01\x47\xc5\x37\xe0\xa8\x42\x36\xf2\xe8\x8c\x29\x77\xc2\x51\xcd\xa6\xf7\x61\x56\x4a\x83\xfb\x10\xb3\xf7\x6b\xc0\x7a\x7d\x1b\xd4\xe0\xe3\xd9\x05\x2b\x75\xe4\x4c\xf1\x3e\xf5\xdf\x64\xa4\x0d\x2b\x74\xfb\x43\x8c\x94\x47\x3e\xd2\xc8\x88\x81\x72\x19\xd2\x0d\xc4\xb1\x0d\x4f\x98\x69\x8a\xd9\xf0\xf6\x14\x53\xc8\x3a\xc9\x35\x1b\x7e\x18\x6e\x4c\xe7\xf7\xa7\x9f\x5f\xef\x59\x75\x3e\x88\xd1\x2d\x9a\x4b\x33\x97\x6e\xf3\x8e\xeb\xaf\xf6\xb7\xcc\x7b\x7d\xff\x5a\xaf\x50\xde\x2c\x7a\x7c\x83\xf2\x66\x93\x7a\xc8\x05\x4c\xb0\xfb\xd2\xce\xca\x00\xbd\xad\x0a\x99\x1b\xc8\xc5\xff\x74\x18\x7a\xa4\xe8\x57\x51\xa1\x0a\x85\x7a\xfd\x13\x5f\xf0\x8a\xfc\xae\xef\xea\xb9\x1c\xe5\xf8\x25\x91\x9f\xa1\x0d\x0d\xb3\x3f\xdd\xab\x08\x77\x57\x0b\xe5\x28\xfb\xea\xe0\x06\x47\xd6\x07\xec\x71\x21\x4d\x34\x18\x40\x8b\xa1\x7e\xdd\x34\x1c\xfb\xb4\x40\x21\x61\xdb\xed\x9f\x64\x4b\x65\x35\x1a\x75\x43\xc4\x6b\x96\x2f\x0e\xe1\x6e\x52\x12\xcd\xaf\x1a\x18\x14\xcc\x9f\xef\x6f\x56\x76\xb2\xf1\xd5\x38\xca\xd6\x0d\x92\x99\x93\x5a\x1c\x99\x44\xb5\xc2\x5e\xcb\x77\x82\x4b\x1b\x95\x48\x9b\xb5\x12\x5d\x01\xfb\xfc\x8c\x46\xb1\x36\x8a\xc3\xb8\xbf\x73\x6e\xb2\x41\xda\x4f\x4c\xbf\x31\xc0\xb8\xbf\x89\xf7\xfe\x15\x6e\xdf\x3f\x08\xf7\x2e\x5d\x2f\xc7\x76\x98\x34\xb2\x16\xec\x83\x9e\xe6\x3f\x5a\x10\x58\xc1\x39\x1b\xe5\x78\x6c\xbe\x71\xa3\x55\x6a\x24\x87\x9b\xfb\x04\xc3\xca\x68\x88\x6b\x20\x2f\xdb\x01\x2f\xbb\x06\x0e\x86\xa2\xf7\x5f\x3c\x95\x08\x20\x3e\x57\x70\x2a\x83\xa0\x40\x11\xd8\x7c\xa7\xf8\x4a\x45\x9b\x9b\x42\x44\x06\x47\x2e\x51\x71\xb0\xa7\xe4\x14\xc9\xcb\x27\x48\x69\x14\x7d\x78\x5a\x36\x41\xdb\x25\x24\xc1\x0e\x8e\xf9\xce\xa9\x98\x69\x11\xaa\x02\x39\x2f\xbb\xce\x14\xd3\x2b\x59\x8f\x26\x26\x62\xa0\xad\x65\xd9\xc3\xc3\x34\x8e\xc9\x3b\x6f\xc8\x15\xa6\x5c\x0c\x85\x88\xb3\xc8\x0c\x13\x5d\x2f\x4d\x0c\x40\x87\xa4\x1a\x3d\xe2\x4f\x20\x51\xd2\xc8\x33\xb9\x54\x29\xb8\xac\x58\xa8\x09\x6e\xb7\x4f\x7d\x3b\xca\x80\x23\x96\x1f\xa5\xa1\x1d\x96\x99\xb7\xd6\x9c\xdf\x4b\x58\x84\x81\x47\x24\x19\xcb\xc1\x84\xd3\xec\xaf\x01\xee\xa9\x1b\xb7\xbe\x5c\x8e\x73\x30\x19\x91\xf7\xf2\x39\x94\xa7\x05\xc6\x8c\x50\x44\xb9\x59\x84\x88\xca\x72\x5b\x54\xbe\x79\xb3\x47\xde\x3e\x72\x12\xd0\xcf\xc8\x63\x47\x48\x3f\xc8\x72\x6f\x9e\xb8\x9d\x13\x3d\x41\x40\xe1\x61\x81\x7d\x96\x5c\x18\xea\x09\x51\xcc\x96\x49\xc2\x35\x49\x5e\x79\xa5\xe8\x0a\x85\x12\xa8\xe2\xb4\xc9\x86\xd2\xbe\x55\xce\xeb\xe1\x05\xca\x44\x09\x86\x00\x03\xac\x3c\xe0\x0c\x15\x06\x48\xa9\xc3\xae\x11\x00\xbb\x01\x78\x23\x5e\xbe\x9d\xa0\xbe\xbd\x4a\x56\xa0\x16\x94\xec\x70\x58\x85\x0c\x92\x93\x7c\xf2\xe4\xbd\x43\x61\x14\x5d\xd2\x2f\xa5\x77\xee\x68\xf5\x17\xe1\x23\x1c\xbf\x07\xef\xa9\x4a\x4d\x95\xb3\x8a\xb7\xf8\xb1\x78\xfb\x5a\x44\xcb\xba\x21\x23\x1f\x9d\xf5\xb7\x9f\xfe\xfa\xf7\x3b\xd8\x18\x1f\x29\x7e\xe1\x56\x30\x87\xf0\x03\xc1\x1c\x3e\x52\xfc\x9a\xfa\xbe\x54\xb0\xf9\xaa\x5f\x97\x5e\xe1\x67\x11\x47\x2b\x8d\xff\x6a\x4f\xb1\x5c\x39\x9b\x66\xcf\x09\x8a\xfa\x72\xe5\xb4\x66\x5b\xeb\xbf\x96\x85\x3b\xad\x7c\x0b\x30\xfd\x53\x01\x08\x66\x13\xf4\xb0\x66\xae\xd1\xb7\xe2\xc7\x9b\xab\x37\x2f\x22\xeb\x66\x90\x8f\x0f\x27\x69\xd4\xc3\x97\x4a\xf2\x74\xee\xae\x84\x30\x4f\xb9\xb1\x05\x9e\x46\xb6\x57\xdd\xad\xb9\xea\xee\x66\xa5\xbc\x5b\xb7\xa5\xbb\xcf\x0a\x1b\x2f\x2c\xf3\x26\xae\xfd\xe6\x34\xed\x8c\x8b\x88\x69\xfa\xdb\xf9\x33\x6c\xf4\xc7\xf6\x18\x18\xf0\x2d\xde\xe2\xd6\x51\xb9\xbb\xf4\xb8\xcc\x70\x9b\xdc\x30\x22\x3b\x19\x77\xe9\x2f\xce\xd5\x4e\xec\xb4\x2c\xe2\x47\x42\xf5\x5d\xe7\xf8\x8f\x3d\xf2\x27\xf6\xc8\x30\x9e\x2d\x7d\xc4\x55\x16\xa6\x3c\xf1\xc5\xf0\x7a\x86\xf9\xc4\x1b\x33\xcc\x5b\xc2\xf8\xa5\x9e\x0c\x7f\x6a\x82\xff\xe7\x0f\x0e\xfe\x0c\x07\xa7\x2d\xef\xe0\x16\x7a\x0c\xb1\xac\x6a\x38\x33\x65\x67\x78\x71\x08\xa6\x47\x1e\x1a\xc0\xcc\x59\x7c\x65\xe4\x1b\xfa\x7c\xe6\x9a\x51\x34\x47\x87\xa3\x95\xdb\x39\x8d\xe6\xcc\x54\x83\x14\x69\x36\xea\x56\x13\xcc\x7d\xb8\x1e\x8d\x44\xfe\x10\x00\x9f\x10\x00\x2c\x24\xd2\xc3\xf2\xb7\x83\x30\xa4\x4d\x0f\xc3\x8b\x5c\x73\x22\x11\x06\x48\x22\x33\xae\xaf\xac\x0f\xd6\x34\xa7\xd7\x60\xb9\x20\x93\x55\xd6\x39\x99\x9c\xa7\x3a\xcd\x46\xed\x3f\x4a\x26\x7f\xa8\x02\x9f\x12\x24\xed\x7c\xed\x86\x2a\x20\xcb\xc7\x52\xdd\x77\xe1\x87\xd4\x7d\xdd\xea\xa7\x03\xd7\xcd\xd5\xe2\x2b\xc7\x61\x1d\xfb\x77\xe8\x60\x71\x87\x55\x86\xc5\x15\xdd\x6e\x42\xf9\x43\x9c\x7c\x4e\x9c\x60\xe7\x95\x57\x86\x90\x56\xc8\x64\x17\x59\x5e\xe9\xa4\x47\x63\x05\xc5\xc9\xe3\xc0\xdb\x8a\x23\x1a\x90\x61\x2f\xda\x05\xbb\x8b\x01\x1e\xbb\x0d\x99\x8d\xdb\x53\x35\x18\x4f\xd9\x95\xa5\x9d\xaa\x66\xc6\xfc\x59\x6e\xcf\xb6\xb3\xa7\xe8\x76\x21\x4c\x5f\xbe\xfd\xfc\xd3\x9f\x7f\xfa\xb6\xd3\x9e\x43\xf6\xac\xb7\xe3\xf5\x34\x98\xcd\xcd\xdb\x8a\x1d\xf1\x7a\x22\xd5\x6c\xe2\xed\x0b\x8b\x0f\xfc\xbd\x8a\xc8\xe9\xe4\xfb\xfd\x62\x00\x18\xc2\x59\x23\xec\x94\xe8\x5f\xc9\x65\x05\x43\x88\x35\x93\xf7\x70\xd8\xf6\x25\x9f\x99\x42\x15\xfa\x72\xab\x0d\xa7\x45\xac\x1b\x9b\xc3\x59\x92\x07\x64\x7c\x25\x1b\x13\x79\x9f\x71\x1c\x9b\xe4\x7b\xc9\x52\xd6\x59\x2a\x19\x50\x5d\x57\x90\x1d\x82\xba\x48\x5f\x33\x08\x05\xc0\xd7\x37\x8c\x71\x69\xc6\x52\xcc\xb5\xaa\xae\x18\x73\x6d\x90\xc6\x1b\x69\xad\xee\x76\xbd\xad\x5f\xf0\x0b\x6c\x5d\xef\x0b\x6a\x43\xa3\x19\xd0\xac\xad\x42\xcc\x58\x4a\xa8\x0e\xad\x7a\xea\xc7\x87\x5d\x1e\x38\x53\x41\xa3\x59\x73\xae\x4a\xf2\xa5\x98\xd6\xb3\x12\xbd\xd9\x1c\x20\xb4\xe8\x3c\x4b\x5f\x16\x72\x2d\x63\x56\xcf\xc6\x64\xe9\x08\x9d\xaf\x2d\xee\xcb\x69\xbd\xca\xe7\x6b\xcf\xdf\xdf\x10\x63\x40\x97\xfa\xd5\x01\x42\xe2\x04\x7c\x5d\xd4\x64\x6b\x3f\x90\x4c\x31\x26\x4a\x21\xcd\xe6\xa3\x3b\x67\x08\x94\x6c\x1a\x12\x85\xa8\xa3\x84\xa9\x5d\xcd\x08\x25\x5c\xdc\xc5\x18\x31\x4c\x0e\x64\xd2\x87\x10\xb6\x03\x1a\x74\x9e\x32\x78\x04\x72\xa6\x90\x3c\xc5\xe8\xa8\xd6\x38\x95\x93\xce\x53\x65\xee\x95\x38\x51\x0d\x91\xaa\x30\x0a\x4c\xc8\x4b\xd0\x67\xb8\x52\xff\x2b\xc5\x44\x16\xc6\x9f\xb6\x2a\x12\xf1\xb5\x7b\x57\x52\xea\xcd\xe1\x30\x42\xd7\xf1\x74\xaf\xd2\x1c\x80\xa5\x22\x12\x81\x34\x4c\xcb\x41\x1f\x6f\xcf\x0d\xda\x64\xb4\x4d\x92\xbc\x39\xcb\xd2\x16\xd3\xba\x57\x90\x67\x4d\x2c\x6d\xda\x74\x1c\x8d\x8e\xe3\xc6\x68\x9b\x71\xb4\x47\x8a\x5a\xf1\xc0\xbc\x45\x33\x2e\xd8\xa4\x01\x33\x12\xc1\x38\x0c\x8f\x02\x76\x4d\x62\x79\x1f\x72\x7b\xc3\xbb\xfa\x31\x1b\x01\x45\xc0\xeb\xb1\x94\xc6\x4b\xe4\x9a\xa9\x7e\x6c\x24\xf0\x81\x93\x66\xb0\x6e\xe4\xa8\x65\x54\x23\xae\xd2\x04\x4a\x55\x46\xfc\x95\x38\x06\x05\x94\x71\xc4\x25\x50\x14\x5d\x8b\xe3\x99\x4a\x8a\xb0\xf8\xeb\x41\x08\x5c\x0c\x98\xa1\x70\x96\x64\x2a\x09\x97\x58\x4c\x5c\x32\xb1\x8d\xe4\x53\x90\x02\x28\x72\x39\x4b\x0d\x94\x6a\x57\x86\x85\x89\x73\x3e\x9b\x96\x8c\xf0\x78\xd2\x0e\x83\x16\x78\x6f\xa6\x02\x4c\xab\x23\xae\xc3\xb1\x5c\xdb\x61\xa6\xb6\xf6\x00\x35\xda\x19\x21\x44\xf4\xb6\x1f\x0b\x33\x0e\x86\x9a\xf5\x4a\x86\x8d\x12\x4c\x2b\xa2\xa4\x68\x36\x46\x44\x9b\x62\xc6\xa6\x70\x48\xc8\xba\x2a\xc9\x71\x44\x71\xda\x6d\xb3\x31\x2c\xda\x9c\xf3\x94\xbc\x2c\x61\x2c\xa0\x9c\xc7\x3a\x36\xe7\xa6\x35\xe4\xda\xda\xae\x94\xd6\xa1\x78\x6e\x5d\xf6\xef\x6f\x8e\xbc\xe2\xb6\x6d\xc4\x0a\x0a\xd1\xb7\xf1\x69\xfc\xb9\xe8\x3a\x13\x07\x0a\xf9\xce\x14\xf0\x68\xe1\x09\x48\x8d\x1b\x93\x29\x45\xc0\x0e\x99\x31\x38\x6e\xdd\x79\xa0\x59\x44\x7f\x6e\xa9\xaf\xe4\x82\x27\xef\x2b\x05\x1b\x81\x98\x3d\x96\x30\x12\x65\x7c\x25\x5b\x2a\x45\x17\x29\x52\x05\x30\xd3\xb5\x21\x63\x63\x15\x95\xd8\x66\x2a\x88\xb8\x06\x89\xae\xfd\x19\xfb\xbb\x6c\x85\xb4\x21\x28\xef\x98\x8d\xe1\x90\xb7\x8d\xbe\x7e\x63\xf4\x51\x3d\xc6\x24\xdc\x9c\x45\x29\xc0\x68\x57\x20\xef\xd6\x63\xa1\xd3\xa2\x43\xb5\x41\x47\xe6\x5a\x82\xb9\x56\xb2\x35\x2f\x66\x9c\x97\x5b\xa4\x7d\xed\xd1\xc4\x21\x0f\x4b\xd5\x9f\xfe\xf4\xed\xfb\xc3\x70\x28\x1b\x48\xa3\xf8\x12\x6e\xc0\xa1\x24\x0d\x4d\xc5\xbe\x9c\x15\x12\xc8\x93\x77\xee\x8b\x73\x88\x3d\x10\x29\xb1\x97\xaa\x13\xac\x46\xc2\x90\xa9\xda\x72\x29\x22\x7e\x10\xca\x2a\x94\x82\xc0\x05\xd0\x0f\x01\x1f\x58\xb0\xcd\xf0\xe1\x99\x11\x16\xcb\xe6\x22\xc5\xaf\xe2\x3c\xe9\xe5\x89\xb3\xc0\x2d\x79\xea\xc5\x1e\x80\x53\xe1\xca\xf0\xfe\xc6\xa2\x74\x3b\x18\xc8\xb2\xf5\x64\x43\x26\x67\x59\xda\x4a\x2e\xe5\x73\xa0\x0a\x38\x3d\x97\x08\x42\x9f\x17\x90\x14\x81\x9d\x21\xae\x2f\xd2\xee\xbc\x8c\x61\xd5\x92\xce\x86\x44\xff\xb6\x1a\xc6\x3e\xc8\x6a\x59\x0b\x1f\xc9\x87\x28\x9f\x96\x99\x5d\x25\x97\x35\x3a\xbf\xd1\xe6\x7c\x0e\x88\x65\xdb\x2e\x9b\xef\x03\xb0\x3e\xe6\x3a\xa1\x04\xf5\x28\xd2\x49\xbc\x81\x74\x02\xc4\xf9\x35\xd8\x39\x60\x0b\xa8\x70\x39\x7b\xb2\x5c\x8c\x23\x5b\xbf\x70\xa0\x12\xfc\xe0\xc9\xcb\xfe\x07\x4e\x0f\x59\xfe\x0f\x54\x2b\x5f\x64\xe2\x8a\x06\x46\x73\xe0\xa4\x28\x6a\x61\x92\xaf\x15\xfb\x25\xcb\xfe\x99\x79\xa8\x54\xbd\x43\xd9\x5d\xb5\x05\x5b\x5b\x0f\xe7\xfb\x35\x06\xba\x9d\xfc\x08\xbe\x32\x0f\x52\x11\xd9\x94\xc9\x7a\xa1\x7a\xe0\x7f\x71\x92\xd6\x06\x00\xb5\xfa\xe4\x5f\x22\x85\x7c\x36\xb3\x5f\x9e\xc8\xd9\x30\x19\x3a\x49\x29\xef\x5f\x2b\x2e\x1f\x6f\x45\xd4\xea\x11\x42\xaf\xee\x0f\x9b\x86\xde\xb7\x80\x46\x1f\xf4\x7e\xd0\x19\xff\xfe\xe7\x3f\x3f\x7e\x54\xe7\x44\x59\xe3\x0d\x18\xd3\xf1\x30\x9b\x6a\x18\xc2\x49\x38\xa8\x73\x47\x52\x19\x74\xd9\x70\x62\xd2\xbf\xac\x92\x39\x93\xcb\xac\xee\x5c\x01\xd1\x16\x81\xb6\x05\x7c\x29\x1f\xce\x81\x0a\x87\x01\xcf\xa5\x49\xfe\x78\xf2\x3d\xb5\x0f\xb7\x6b\x6a\x1c\x96\x9e\x03\x05\x9c\x0a\xfd\x6e\x4c\x78\x91\x32\x3f\x3e\x5a\x02\xf4\x70\xd8\xba\x8b\xcd\x37\xf1\x9a\x2f\x9e\x22\x87\x23\x13\x96\xd7\xe6\x4a\xe6\xe0\x5e\x29\x9c\x21\xf2\x39\x38\x84\xb3\x49\xc2\x5a\x41\xe4\x96\x5b\x04\xcd\x09\xec\x88\x2b\xa4\x73\x54\x32\x97\x3c\x91\x18\x38\x86\x3e\x12\x7b\x2f\x2f\x78\xf9\xb4\x15\xd0\xd6\x84\x30\xb8\x73\xe2\x83\x5d\x96\x77\xb2\xcb\x72\x59\x0d\xab\xaa\x93\xad\x42\xc0\xff\x4c\x31\x38\x48\xd4\x02\x47\xb3\x50\x5a\xf0\x1a\xd1\xa8\xe0\x6a\x51\xb2\x57\x68\x39\x59\x04\x2a\x95\x52\x5e\xd6\xeb\x52\xbb\x3f\x0f\x07\x19\xac\x5d\xa7\x40\x13\x55\x7f\xc2\x62\xe0\x2e\x55\x9f\x65\x25\xa3\xec\xeb\x36\x1a\xcb\x2d\x0f\x2b\x88\xc2\xd5\x16\xb1\x56\xa1\x98\xb3\xa3\x2a\x8b\x63\xed\xd1\xec\x57\x74\xfc\x96\xc9\xb9\xa1\xca\xd2\xe9\x85\x8c\x03\xad\x70\x52\x1e\x96\x23\xc4\x3b\x88\x36\x53\x2a\x65\xe3\x74\xf8\x50\xd6\x38\xd2\x38\xd5\xcc\x5e\xf4\xbe\x18\x10\x7d\x30\x34\x2b\x50\x0a\xaa\x22\x67\x5c\x65\x0c\x22\x4b\xa5\xb9\x1b\x80\xf6\x22\xfd\x5f\x55\xc1\x6a\x62\xdf\x5c\xc5\xbe\x19\xc5\x3e\x59\x51\x52\xac\x3b\x92\x0d\x11\xb8\x74\x8d\x70\xb3\xd0\x74\x7e\x59\xaf\x4f\x16\xeb\x81\x3f\x48\x7f\xf2\x2e\xc2\xfa\x7e\xfe\xfb\xdb\x27\x60\x61\xa3\x34\x30\x77\x21\x32\x11\xd2\x9c\x0b\xbc\x87\x3c\x00\xfb\xf3\xf2\x0c\x56\x3a\x2a\xcb\x4a\x28\x0d\xff\x7d\x19\x60\x53\x08\x2e\x6c\x83\xb6\x9d\x1c\x15\x17\x5e\x29\xe0\x40\x8e\x4a\x2e\xc4\x99\xd5\x75\x90\x82\xac\x65\x1e\x27\xad\x52\xe5\x42\x19\x6a\x4d\x7a\x41\x73\xa1\xcc\x84\x18\x10\x0f\xfb\x0b\x5b\xe2\xe4\x10\x2d\x3b\x0f\x6a\xfd\xec\xf1\x45\xf2\x86\x0b\x5c\xae\xb1\x46\x47\x9f\xe0\xfe\x07\x88\x20\x97\x8d\xa3\x1a\x75\xc2\xd1\x53\x83\x6a\x9f\x66\xd5\x46\x8a\xb2\xe5\x48\xaa\xe9\x75\xc8\x65\x6a\x59\x09\x37\xb1\x2f\xc0\xb3\x2a\x80\x8d\x2d\x61\x50\xc4\xcc\xa1\x68\x67\x17\xfd\xe0\xec\x0c\xd9\x54\xcf\x53\x7d\x0f\x2d\x92\x3a\xeb\x0f\x47\x1c\x1e\x02\x71\x7d\x46\x20\x92\x21\x91\xcb\x61\xb9\x73\x60\x43\x99\x11\xc5\xe4\xc0\x14\x2f\xfe\xe4\xc8\xdb\xfc\x4a\x2e\x02\x53\x2f\x5a\x19\xd8\x3a\xe6\xd1\x60\xd7\x4c\xc5\xd6\x17\x29\xf7\xfd\xcd\x50\x40\x68\xab\x68\xc3\x32\xe4\x2c\x57\x99\x25\xbe\x14\x8a\xa5\xaf\x52\xa3\xf1\x63\xdb\xf4\x8c\xa3\xf8\x81\xf9\x20\xc9\x5f\xb0\xd4\x28\x98\x1b\x81\x55\xab\x7a\x80\x51\xfc\x02\x6b\xde\x84\xa8\xc9\x5a\x94\x10\x58\xc8\x4a\x47\x22\xce\x3d\xdf\xb6\x91\xfa\x78\x80\xef\x03\xba\xef\xf0\x16\x03\xb5\x42\x50\x44\xc4\xfa\x2e\x5e\xd4\xca\x89\xf6\xcc\x44\x7b\x20\xf9\x34\xa3\x3d\x56\xda\x2b\x1b\xa4\x67\x59\x47\xa0\xb1\x58\x4d\x69\x19\xae\x17\x8f\x15\xed\x31\xa0\x85\x2d\xf4\xc5\xc6\xd4\xaf\x4c\x8c\xe3\x47\x0b\x68\xe5\x1a\x03\xe2\x90\x5d\x9b\x36\xe3\xb6\xda\x18\x70\xb9\x6a\x3b\x27\xbf\x29\x8b\x2d\x01\xee\x34\x89\x67\x8c\xb5\xbe\xc6\x01\x04\xf2\x5a\x86\xcc\xe0\xf1\xc2\x02\xa6\x8f\xdb\xef\xad\x6f\xdd\xa0\x88\x08\x91\x7d\x6c\x55\x21\xf2\x01\x77\xcd\xaf\x5c\x44\x9b\xcb\x54\x53\x07\x14\x61\x01\xdd\x6a\xcb\x53\x20\x66\xc0\x45\xb0\x1a\x55\x8b\xc2\xa6\xbe\x09\x4c\x6c\xa3\xc1\x89\x81\x23\xce\x46\x35\x43\xd7\x95\x35\x2b\x4a\x76\xa5\x79\xd0\xa7\x6d\x1e\xfa\x4e\x09\x44\xb6\xf9\xb8\x90\xab\xcd\x1c\xa2\x22\x8c\xdf\x0f\xac\x02\xf7\x61\xf6\x77\xdc\x70\x53\xe6\xf5\x19\x42\x05\x2f\x5f\xd9\x32\x5e\xb9\x32\x0e\xca\x80\x83\x85\x61\xfc\x45\x59\x12\x6c\xda\x98\xb6\x41\x84\xcc\xb9\x72\x00\x57\x76\xb1\xa8\x61\x36\xe2\xea\x8b\x34\xe1\xfd\xeb\x4c\x32\x3d\x8f\xe2\xea\x92\x29\xb9\x26\xb3\x2a\x65\xb7\x3e\x7c\xcb\xac\x41\x99\x20\xb4\xcc\x86\xd4\x32\xa3\xd8\x42\xb6\x1d\xa4\x01\x5f\x7a\x51\xa0\x2c\x2f\x50\x65\x2c\x65\x69\x9e\x7f\xa5\x50\x03\x85\x84\x6c\xb2\xdc\x87\xf6\x2d\x5b\xfe\xc5\x34\x77\x7c\x17\xcc\xf5\xd7\x39\x66\x1d\x8a\x97\xd1\x2a\x83\xa7\xe2\x52\x7b\xaa\xe9\xeb\xa0\x0a\xaa\x55\x57\x00\xd9\x5a\x24\x6c\x03\x3c\xbc\x4c\xea\x2e\x67\xd7\x51\x39\xd8\x79\xf7\x58\x28\x23\xd4\xc2\x86\x11\xc8\x80\x28\x00\x75\xfc\xcf\x8e\x10\xaf\x31\x6d\x5a\x6d\x0c\x95\x22\xeb\xa3\x1d\x66\x89\x5a\xb8\x6d\xb6\xf1\xc1\xad\xa3\x0d\xb2\xd7\x2e\x36\xcc\x97\xf9\x32\x2e\xf3\xa5\x5b\xe6\xf9\x9f\x78\x9d\x7f\xd3\x93\x45\x69\xc6\xa6\xba\x35\x5b\x07\xfe\xc9\xb4\xad\x7f\x25\x19\xea\xf6\xc6\xf2\x25\x07\x67\x34\x2e\x4b\x5c\x32\xaa\x58\x8a\xd9\xbb\x2f\x8c\xbb\x4c\xa1\xd3\x0c\x37\x1c\x78\x0f\xa5\xa4\x5f\xcb\x2f\x86\xb2\x88\x5c\x19\x6b\x87\xc2\x02\xa5\x65\x61\xf3\xb2\x64\xc7\xe1\x54\x48\x7a\xb4\xa8\x39\xb1\x25\x08\x0a\x87\xb5\x14\x71\x18\x4c\x90\x2c\x0a\x1d\x6e\x22\x15\xde\xc1\x66\x38\x52\x1a\x1c\xa5\x92\xfe\x19\x14\xb6\xdf\x5f\x45\xdd\x73\x0a\x92\x2d\x44\xff\x12\x1b\x74\x8c\x78\x56\x9e\x3a\x91\xcd\x2a\xb2\x87\x49\x64\x0f\x33\x91\x3d\x40\x64\x3f\xcd\xed\x33\xb0\x84\x54\xca\x58\x42\x4c\x5b\x43\xcc\xb4\x86\x98\xd9\x1a\x62\xa6\x35\x44\x7f\x5d\xda\xbc\x58\xb8\x99\xed\xb3\x81\x6b\x34\xfe\x19\x7b\xda\x3f\x04\xf2\xff\x0b\x02\xd9\xb9\xdb\x76\x44\xa3\x31\xaf\x3b\x3b\x59\xf0\xdd\x7d\x63\x5e\xdf\xfc\xa4\x6f\xe5\x5c\x18\xf3\x3a\xcd\x69\x5c\x77\x53\x3e\xcb\x58\x21\xd7\xc2\xf9\x66\xbe\x7d\xde\xd3\x13\x25\x3f\xac\xee\xfe\x21\xf3\x56\x32\x2f\xde\xb6\x72\x78\xe6\x20\x73\x53\xb6\x4c\x7b\x97\x34\xe3\x87\xda\xec\xbf\xef\x1a\xf6\x3e\x33\x0b\xc9\x94\xf3\xb6\x5d\xef\x2c\x9f\x1f\x92\x5a\xa8\xdf\xc8\xb6\x8f\x60\xfe\xfb\xf8\xb0\x47\xab\x62\x9b\xad\xa0\xd0\x02\xae\x0a\x56\xd8\x42\x0d\x0a\xcd\xdd\x40\x30\x87\x95\xeb\x46\xe8\xea\x86\x60\xae\xf1\xa3\xd5\xf7\xd0\xd3\x1a\x35\xbc\x8f\x01\x1b\x5e\x3c\x01\x68\x7e\x48\x97\x78\x60\xbe\x18\x8d\xd8\xf9\x86\x58\xdf\x53\xb0\xd7\xad\xdb\x82\x43\xa2\xf8\xc2\xe9\x64\x02\x5c\x18\x2d\xc5\x53\x79\xe1\x74\x28\x08\x48\xf5\x56\x29\x0e\x16\x38\xf6\xb7\xaf\xf5\xf0\xb6\x66\x0f\x26\x5d\x4c\x3c\x99\x7a\x89\xa7\xfa\xfe\x06\x0b\xc9\x97\x30\x81\x9a\x6f\xdd\x36\x72\x26\x74\xe1\xfd\x2b\xee\xd5\xe2\x4b\x39\x14\xe9\xce\xa9\x3c\x72\x64\x83\x09\x7e\xec\x44\x4c\x8f\xc2\x57\x07\xe7\x5e\xe3\x08\x3e\x04\x63\xbe\x7e\xad\x85\x3b\xc6\xb9\x38\x76\xb8\x83\xbb\x7d\x4a\xfe\x12\x4f\xfe\x05\xf3\x68\xfc\x10\x2e\xfe\x90\x2f\xc6\x0b\xd7\xcb\xc4\x8e\xa0\xdb\x5b\xc7\xe8\x87\x20\x93\xca\x27\xe3\xdf\xbf\x26\x91\xde\xf1\x14\x5e\x98\x0f\xe9\x82\xd2\x62\x9b\x54\xb7\x19\x03\x11\xef\x69\x46\x6f\x02\x82\x54\xa7\x8b\x3f\x25\x99\x4e\x29\xd7\xdf\xb8\x33\xd4\xb8\x07\xf1\xe4\xdf\xbf\x32\xc0\x78\x5e\xe2\x21\x49\xf3\x4f\x0f\x1d\xbe\xfd\xf7\xf1\xaf\x7b\xcd\x65\x4b\xbb\xb3\xe7\xae\x5d\x35\x47\xf9\x9c\xc9\x95\x4a\xd9\x75\xbe\x4a\x14\x63\x3e\x9b\x96\xb6\x04\xbb\x9e\x5e\xcc\x88\xe9\x50\x96\x80\x57\x31\x96\xc1\x22\xad\x4b\xc2\x8b\xa8\x56\xcb\x35\x5d\xc1\xb2\x31\x90\x4a\xc9\x21\xa9\x8f\x22\x98\xd3\xf8\xae\x16\xbd\x04\xee\x6e\xd5\x9a\xb1\x4d\x45\x16\x0b\x76\x77\xfb\x1d\xd4\xf9\xba\xa6\x75\xcf\x9f\x13\xb1\x2c\x35\x65\x19\x1e\x71\x7a\x17\xaf\x19\x29\x61\xa3\xef\x48\xec\xd2\x16\x9d\x0f\x80\xd8\xb3\x4b\x23\xe3\xb1\xf7\xf0\xe2\x5e\x36\x6a\xd1\xfd\xb1\xf4\xad\xfe\x3f\x5f\xfb\xfc\xf1\x86\x86\x33\x59\xb5\x10\xb1\x79\x89\x00\xe0\x29\xfa\x38\xd8\x67\x47\x9c\xca\xc0\x85\xac\xe3\x45\x0e\xc9\x00\x71\xe4\xe3\x99\x99\x3c\x7b\xa3\xff\x2d\x72\x69\x41\xe9\xfd\xcd\xb8\x66\x96\x64\xd3\x14\x98\x83\x85\x2d\x07\x79\xa2\x4f\xb1\x22\x0c\x3a\x82\x13\x05\x0e\x66\x4c\x8e\x55\x13\x61\xaf\x5e\xa0\x18\x05\x77\x9e\xbd\x6c\x0a\xa5\xe4\x06\x3c\x8f\x53\xa4\x8f\x59\x21\x67\x24\x21\xdb\xed\xe0\xb6\xf3\x5d\x3a\xdb\x32\x70\xda\x08\xd8\xe8\x65\x65\xf7\x3e\x18\x8a\x79\x31\xb5\xbe\x7a\x43\xbe\xc6\x33\x45\x6c\xa9\xbd\xef\x10\xdc\x7c\x06\x4f\x44\x78\x7b\x2d\x53\xe5\xed\x20\x1f\x94\xed\x25\x4f\xaf\x59\xf8\x0c\x0d\x60\x9d\x6a\xcd\xf4\xb2\xd9\x2c\x1c\x71\xef\xb2\x32\xc6\x56\xd3\x50\x00\xda\x1e\xb4\x06\xf4\x6d\x97\xcd\x3e\x04\xd0\x4e\xf0\x3e\x5b\x3c\x71\xf1\x47\x8a\x23\x85\x51\x8a\x94\xe2\x19\xe1\xbe\x60\x8e\xd3\x52\x84\xfd\x7c\xe6\xb3\x69\x29\xee\xfa\xce\xf8\x4a\x05\xee\x41\xbd\x96\x26\x5d\x74\x32\xbc\xb5\x90\xaf\xcb\x37\xa4\x22\x14\xe6\x0c\xae\x68\xa7\x6a\x80\x30\x72\xd6\xde\xcf\x1b\x60\xcd\xf5\xad\x5a\x78\x51\x20\x9b\x56\x93\x24\xa1\xd0\x1d\x4c\xa6\xa4\x1a\x88\x6d\x38\x8e\x4e\xe9\x46\x76\x38\xc2\xae\x54\xac\xc2\x1d\x17\x37\x25\x6a\x1a\x9e\xe7\x4c\x39\x17\x83\xe7\xf1\xea\xd1\x8e\x34\x5c\x38\xe4\x54\x94\xab\xae\x63\x91\x6d\x11\x86\x3e\x1b\x2a\x25\xc8\xc7\x20\xca\x80\x3c\xa8\x14\x8f\x9f\x01\x54\x8c\x18\xa7\xcc\x67\xa4\x48\x96\x48\xc5\x03\x65\xd1\x87\xb1\x3c\xe6\xeb\xdb\x67\xa4\x68\xae\x7d\x16\x12\x42\x90\x4c\x8e\x17\xc3\x5e\x9d\x6a\xa9\x14\xdd\x7c\xaa\x5c\x72\xb2\x8f\x77\x67\xf9\xbd\xa9\xb0\x53\x9f\x2a\xa6\x37\x3a\x1e\x16\x09\xf2\x96\xc7\x4b\x52\x4b\x5d\x94\x28\x84\x54\x1d\x14\xe7\x2e\x45\xb6\x9f\x78\xcd\x9f\xd1\x08\x29\x93\xcb\x7c\x92\x2b\x57\xe5\x18\x6d\xc9\x2c\x51\xdf\x35\xfa\x32\x8a\x46\xae\xf7\xaf\xec\xa8\xf8\x5b\x44\xee\xaa\xa7\xec\xb7\x88\x5c\x53\x36\x88\x3c\x7b\x46\xea\x9a\xc8\xb3\x47\xb8\xa7\x0d\x22\x77\x42\xe4\xd9\xaf\x89\xdc\x55\xc4\x50\xdc\x26\xf2\xec\x79\x51\xe0\x8c\xc8\xb3\x47\xa1\xfb\xa4\xc1\xaf\xaf\x3b\xe3\xc6\xb3\xa3\xd8\x87\xa4\xbd\x86\x58\x56\x55\xdc\x95\x40\xb2\x35\x08\x41\x44\x3c\xa5\x7c\x76\xa4\x0a\xf9\xe2\xe8\x2f\x69\x84\xc3\x67\x14\xc9\x8e\xac\x4f\x2f\x65\x44\xf2\xf9\x60\x63\x1b\x92\x5a\x4d\x97\xde\x70\xd1\x12\x8b\x2a\x7f\xf2\x58\x51\x56\xa6\x96\x36\xe9\x6b\x67\x4a\xc0\xca\x4a\x29\x3e\x65\x18\xb2\xe9\x13\xd9\xec\xc0\xee\xd8\xff\x8a\x3b\x09\x18\x3b\x64\x61\xcf\xeb\xeb\x5d\x03\x3c\x15\x3f\xb8\x70\x32\x5b\x2d\x00\xac\x96\x7a\xa4\x15\x14\x92\xcd\x76\x1b\xc2\x56\x13\xd0\x02\xa3\x2d\xb8\xbe\x0b\x4c\x4e\xa7\xb0\x23\x7c\xa6\xc0\x0c\x98\xa7\xfe\xf2\x88\x15\x11\xdb\xba\xd4\xc6\x66\x9d\x8c\x3b\xb0\x84\x22\x0c\x8a\x90\x66\xa5\x32\xe8\xb3\xf9\xb7\x39\x7b\x84\x59\x3f\x1e\xcd\xfa\x3c\x64\xa1\xdd\x0a\x63\x2f\x8c\x70\x6c\xc5\x0c\x9b\xc5\x58\x76\x43\x38\xf6\x3f\x6a\x39\x94\xeb\xb5\x01\xfd\xdd\xba\xcc\x6e\x6e\xa6\x5a\xab\x2e\xf0\xb5\x87\xea\xad\xca\xee\xd8\xdc\xc9\x54\x65\xf1\xb8\xc3\x1b\x7f\x90\xd5\xf5\x6e\x70\xba\x3d\x2c\xb3\x6b\x05\xad\xb8\x39\x5c\xf3\xcb\x4b\xd1\x13\x34\xef\x3c\x39\x9b\x29\x31\x45\xd9\x42\xb1\x48\xc4\x2e\x66\x44\xb3\x85\x0e\x2e\x3c\x57\x8c\xd9\x4b\xda\xc5\x29\x41\x4f\x19\xa9\x7a\xb7\x8a\x88\x5f\xb0\x4f\xf2\xb5\xbc\x32\x21\xd2\x9a\x83\x0d\xb9\x83\x57\xa1\xcb\xfa\x96\xec\x2f\x64\x3d\xb3\xcc\x4f\x91\x42\x81\xcd\x50\x99\x68\x3d\x0e\xe5\xd8\xff\x8c\x10\x99\x69\x08\x64\xdb\x1e\x64\x7c\x7f\xd9\x80\x4a\x6e\xe0\x74\x48\x54\x10\x25\x73\x9e\x64\xd0\x00\xa3\x0d\x40\x09\x66\xbb\x05\x10\x46\xb8\x17\x49\x36\x51\x2a\xc5\x78\xb2\x70\x56\xca\x25\x19\x6d\xc1\xf5\x75\x21\x8b\x0a\x07\x52\xb6\xe9\x4c\x0c\x9f\xce\xe5\x2e\x31\x78\x4a\x21\xe8\xb0\x74\x29\x40\x33\x0b\xf2\x5a\x91\x1d\xe1\xaa\x2d\x88\xe6\x12\x5f\x65\x0f\x13\x70\x94\x11\x38\x19\xe2\x20\x75\x87\x0a\x2d\xed\xfd\xcd\xc3\xf0\xcc\x52\x95\xb5\x92\x61\x0b\xd5\x17\x64\x15\x50\x7f\x51\xce\x54\x0c\x74\x3d\x69\xb9\x59\x59\x7d\x05\x6f\x36\xdb\x2e\x49\x4e\x52\xde\x81\x99\xd4\x70\x67\x71\x47\x35\xa2\x8b\x99\xf2\x09\x46\xf8\xf6\x5f\xa7\xef\xdf\x77\x00\xb4\x02\x6b\x4f\xda\x94\x3a\xe7\xd8\x44\x16\x88\x54\x31\x87\xc5\x6d\x98\x67\x91\x2a\xae\x0c\x73\x97\x6b\xb6\x26\x93\xb7\x59\x34\x9d\x98\x60\x07\xac\x83\x97\xf3\x93\x4c\x32\x2e\x25\xd8\xb7\x23\x76\xcb\x03\xc7\x43\x9c\x63\x0b\x9d\x10\x94\xb5\x69\x63\x4c\xc9\xe1\xac\x3c\x9f\x3d\x9c\xbc\x12\xd9\xd8\xe9\xe8\x2a\x17\x7d\x04\x52\x58\x1e\xf4\x39\x19\x36\xf7\x10\xd2\x8e\x3c\x82\xb9\xd4\xe6\x0f\x14\xc9\x8a\x6a\xe4\x3d\x59\x51\x0a\x7c\x0c\xf2\xe5\xc0\x13\xde\x11\x5b\xb3\x68\x13\xa3\x4d\x43\x6b\x53\x28\x8c\xce\x2d\x1c\xd7\x99\x29\x0f\x85\xea\xfc\x66\x1a\x31\x67\x99\x42\x74\xc3\x7c\x74\xa1\xb3\x79\x16\xbd\xaf\x76\x0e\x5c\x3e\x4b\xbb\x64\x04\x4b\x8c\xd2\xf1\x15\x78\x39\x97\x30\x70\x24\x9f\xfb\x2b\x4f\x57\xc1\x02\xee\x69\x39\x33\x95\x52\x1d\x80\xca\x7c\xca\x14\x62\x78\x9a\x86\xb9\x0e\x5c\x67\x9d\x64\x6b\x4d\x38\x70\xbd\xaa\xd4\xac\x30\x86\xe4\x96\x91\xd8\xc6\xc3\xa2\x65\x9f\x18\xad\x4d\xc2\xf5\x6e\xd7\xc5\xe7\x48\xa3\xbb\xc4\x75\x22\xeb\x9d\xa8\xfc\x5e\x6f\x5c\xad\xaf\x54\x02\x02\xf2\xc1\xde\xbd\x20\x14\x4e\x29\x0e\x57\x9f\xd8\xe1\x39\xd9\xba\x0c\x2c\xea\xdf\xfc\x54\x40\x89\x98\x41\xc4\x4f\x9e\x7c\x89\x83\x3e\x2d\xfc\xc9\x2b\x28\xe8\x28\x3f\xa9\xf5\xbd\x1f\xd7\x41\x5f\x92\x9a\xe3\xc3\xf8\x29\xe0\x1d\x26\x84\x70\xb4\x56\x28\x3c\x58\xdc\x43\xd8\x18\x64\x1b\x5f\x43\xef\x1d\xc5\x88\x31\x1c\x64\xcc\x6d\x5e\xad\xf4\x0c\xd7\xc7\x1c\xcf\x42\xac\x15\xd0\xf9\x9d\x13\xb9\x0b\x38\xe2\x68\xe1\x3a\x6a\x7b\xaa\x7e\xa9\xe6\xc3\xb1\x19\x6f\xce\x01\xbd\xab\x47\xbc\xc9\x4e\xf3\x90\xc5\x45\x54\x9e\x50\x85\xce\x6d\x5a\xad\xda\xea\x51\x90\x9d\xb4\x87\x63\x1d\x74\x9f\xdc\x0d\x0b\x07\x8a\xb8\x36\xaa\x43\x9f\xa2\xc1\x3e\x3c\xb9\xf1\x84\xb0\x67\x08\x99\x2d\xdf\x9e\xba\x47\xf3\xb0\x66\x2d\x6e\x9d\x26\xdb\x33\x80\xde\xc6\x52\x3a\x86\x09\x88\xb9\x13\x01\xa9\xcb\x51\x86\x6d\xc5\x31\x00\x03\xb3\x14\x5c\xed\x96\xfb\x91\x63\xfa\xc6\x5b\x27\x6b\xdc\x10\xc9\x66\xff\xca\x94\xd4\xe6\xbe\xca\xfc\x30\xc0\x07\x3d\x56\xc3\xe4\xdd\x29\x50\x70\x1a\xd0\xd7\xdb\x40\xb1\xaa\x4e\x0d\x73\xdd\xad\x69\x06\x12\xe4\x09\xe1\xbe\x5f\x0d\x05\x21\x55\x43\x39\x3b\x62\xe9\xde\x40\xf1\x00\x8b\x86\x2d\x66\xeb\xc6\x84\x41\xee\x69\xb8\x32\x40\x97\x98\xbc\xc7\xae\x96\x77\xf1\xe2\x4f\x7f\xfe\x69\xe7\x56\x83\x2a\xa7\xa1\x92\xe7\x23\x2b\x58\xe6\x64\x25\x87\x18\x7c\xb8\x5f\x9c\x1f\xd1\x55\x38\xe9\x2a\x16\x6d\x1e\x9f\x3a\xa9\x42\x59\x6e\x9e\x9f\xad\x5a\x1b\x48\xfe\xf7\x0e\x37\x1d\x77\xbd\x54\x72\x38\x2a\x6c\x94\x3e\x9b\xc6\xc3\xae\xaf\x16\x93\x15\xb1\x5b\x56\x1c\xb1\x69\xda\x23\xc1\x29\x65\x99\x1b\xe7\x7b\xba\xe9\x04\x83\x89\xa6\xd7\x82\x74\x5d\x91\xff\x6c\xa0\x9a\x17\x27\x84\x30\xe3\x77\xce\xc3\x7f\x63\x18\xbb\xc6\xa2\xb0\x2d\xfa\x85\xac\x83\x66\xdd\x28\xd6\x50\x6d\xf1\x83\xeb\x3c\x7e\x30\x84\xf3\xf4\xb7\x71\x07\xde\xb7\x71\x94\xc9\xdc\x67\x4d\x42\x21\x78\xe0\x33\x94\x63\xa5\x0a\xcf\x83\xaa\xd6\x2d\x18\x55\x5e\x0d\x54\x9b\xcd\x34\xe0\x10\x26\x8f\xff\x4d\x23\x5b\xcb\x8d\xf9\xec\xb8\xd2\x53\x61\x3f\xc8\x1e\x29\xca\x7e\xa0\xc8\x08\xc6\x46\xbc\x85\x02\x62\xb8\x6c\xcc\xa7\xbc\x62\xcb\xf8\xd4\x5a\x2d\xf9\xb0\xce\x8e\x09\xf5\xcb\x4a\x0b\x04\x35\x90\x19\x3b\x54\x47\x5d\x3a\xd2\x72\x6e\x13\xbc\x11\x9c\x1b\x96\xe8\x32\x91\xa2\x5d\xcf\x6e\x2a\x6d\x7a\x37\x4a\x16\x1d\xd0\x6a\x40\x42\xd7\xcd\xaf\x48\x88\xd9\x04\x97\xdd\xf3\xbb\xcb\x53\x49\xe7\x78\x03\x13\xa9\xb9\x8a\x3b\x4b\x11\x37\x70\xdb\x97\xaa\x67\x93\x88\x73\xc4\x33\x2c\x82\xaf\xb0\xa1\x68\x10\xee\xa9\xa3\xe6\x44\x76\x29\x01\x6e\x33\x49\x20\x25\xa6\xac\xc6\xba\x36\xeb\x13\xec\x1d\xea\xd0\xfe\xb3\x8a\x08\xe4\x70\x7e\xc7\x36\x2e\x4a\x1e\xb9\xfc\x49\xf8\x3b\xc0\x4c\x30\xeb\x3b\x0a\xed\x5b\x29\xc6\xe7\x48\x39\x0f\x89\x8a\x87\xc0\x0a\x88\xd8\xee\xc6\x18\x32\xa2\x67\x05\x59\x95\xcb\x62\x3a\x97\x52\x2b\xa4\xf1\x3f\xab\x40\x95\x70\xd2\x0b\xc5\x3d\x63\x70\x1d\xb9\xb2\x81\x0d\xf5\x15\x91\x9e\x75\xcf\xa0\x5b\x06\x2f\x8a\xac\xac\x1c\x1c\x44\xf4\x75\x06\x35\xf0\xe8\x10\xbd\xb9\x13\x94\xc2\x89\x01\x0a\xb7\x6c\xcf\x16\xdd\x1f\x65\xe5\x53\x27\x8a\xad\x56\x0d\x14\x7a\x97\x8b\x70\x75\x5c\x06\xbc\xa9\x2e\x18\x5a\x8b\x47\x0e\xe4\x23\x1c\x53\x97\x0b\xed\x24\x21\x75\x5a\xca\xf8\xdf\x38\x86\x56\x86\xab\xd6\x25\x03\x45\x67\xa4\x9e\xdf\x58\xb0\xed\x72\x66\xfa\x88\xf0\xc7\xd3\xad\x9b\x84\xef\x29\xc6\x82\xa7\xa8\x8e\xa1\x4e\x74\x65\x14\x26\x9b\x9d\xeb\x39\xdd\x53\x4e\x71\x45\xfb\x4d\x88\xf8\x0e\xa2\x0a\x76\x2b\xf5\x39\x11\xd7\x32\x64\x72\xe9\x55\xf2\x66\xbd\xa3\x4e\x85\x12\xec\xf5\xa1\x61\xba\xb4\x0c\x7c\x3a\xc9\xc2\xa7\x4e\x16\x62\x5b\x33\x08\x07\x3e\x7b\x8a\xec\x61\x01\xe8\x21\xd8\xc3\xa0\xcf\xa6\x4c\x59\x84\x8a\xb0\x71\x93\xe6\xd3\x2b\x25\x1b\x01\x64\x8e\xda\x25\x05\xe7\x0e\x30\xce\xf7\x25\xdf\xa7\xfa\x32\xe8\x86\x3b\x38\x60\x24\xfb\x4c\x16\xa7\x06\x2e\x92\x2d\x8b\xe1\x26\xae\xa0\xf8\xaa\xab\x48\x19\xff\x53\xf6\xad\xb0\x5e\x4b\xdc\x51\xbc\xd7\xd5\xe4\xa9\x5b\xae\x2c\xaa\x7d\xff\x5a\x29\x57\x75\xbd\x5e\x06\xb3\xaf\xb1\xc2\x3a\x6e\x35\x66\xec\xc9\x0d\x99\x7c\x67\x62\x34\xad\x20\x43\xb7\x3a\xc1\x32\xbd\x7a\x45\x27\x98\x37\x2d\x44\x6f\xa8\xc6\xd2\x2d\x39\xbf\x91\xc8\xff\xf9\xdb\x5f\xef\x1d\x06\xdf\xbf\x2f\x89\x2d\xda\x44\x1a\x5a\xdc\xb4\x34\x24\x58\x67\x44\xe2\x80\x49\xae\x89\x5c\x85\x2b\x47\x0d\xc7\x4c\x29\xe5\x41\x9f\x7a\x25\x50\x22\xe5\x72\x96\xd5\x13\xcd\x5f\xf4\x9b\x65\xcf\xff\xec\x70\x86\x53\x64\x1f\xf2\xc4\x14\xd5\xbd\x0d\x6f\xcb\xd6\xba\x0c\x0e\x1e\xa2\xa1\x2d\x0e\xb5\x1a\x98\xf0\x31\xd9\x92\x65\xe8\xce\x89\x6a\x28\x26\x51\x77\x48\x52\x42\x91\x1a\xa4\xea\xa2\xd5\x0b\x3d\x71\x22\x8e\xb2\xdb\x8c\xaf\xc4\xbe\xca\x8e\x8b\x7c\x80\xc3\x79\x2c\x49\x6d\xda\x6a\x26\xc6\xad\x6d\xf0\x6a\xba\x4a\xb9\xc2\x88\x75\x1a\x85\x64\x12\x6c\x44\x7c\x34\x70\xbb\x16\xba\x72\x86\x2c\xb0\x63\x42\xc5\x19\x97\xcd\x22\xe6\x0c\x59\x1f\xc8\x86\x57\x43\x3e\x39\x0a\xf2\x46\xce\x05\x70\x43\x4c\x8e\x3d\xb8\x29\x18\x0a\x21\x51\x90\xe5\xbe\xfa\xa8\x6c\x1a\x80\x0e\x01\xb0\xfd\x50\x3c\x79\xc0\x22\xe4\x48\x29\xc9\xab\x99\xf1\x85\x42\xc6\x46\xa0\x7a\x19\x17\xc0\x03\xb8\x22\xf2\xd3\x9f\x65\xab\x90\xe4\x01\xe4\x31\x8f\x87\x3b\xca\x2e\x09\xfb\x3f\x57\x27\x59\x8b\xa6\x14\xed\x51\x26\xaf\x06\xcd\xae\x52\x82\x04\xca\xb2\xf7\x92\xaa\x22\x95\x20\xfa\xa6\x70\x1d\x79\x6c\xc6\x7c\xa0\x00\x84\x73\x1f\xf4\x46\x1d\x62\x27\xb0\xde\xd4\xb8\x33\x14\x54\xeb\x1d\xa0\x74\xc8\xd9\x2a\xe3\x20\x2f\x58\x0f\xa1\x65\x70\x94\xc6\xd8\x7f\xc9\xd7\xf7\x37\x4f\x3e\x14\x0a\xde\x1d\xa9\x16\x37\x1e\x95\x5b\x11\x65\x00\x49\x7f\x85\x2b\x22\x0b\xfd\x09\xe7\x90\x65\x5c\x9d\xf8\x23\xd5\x2a\xec\xc5\x6d\xe7\x13\x60\xa0\x5d\x44\x9c\x38\x79\x21\xe3\xb8\xaf\x18\x72\x0a\xbb\x6e\x8b\x21\xef\xf2\x17\xce\x32\xf9\x40\x7d\x97\x75\x33\x88\x2a\x30\xa8\x8f\xf3\x53\x26\x80\x3c\x37\x21\xd1\x4e\x77\x4b\x24\xc6\x86\x29\x45\x3f\xae\x78\x1e\xc8\x5f\x5c\x02\x2c\x27\xa5\x03\x9c\x3c\x05\xc8\xbb\x82\x23\x94\xc2\xe1\xe8\x41\xce\xfa\x54\xf2\x76\x35\x0f\xf2\x4c\xe7\x44\xc9\x24\x92\xee\xb1\x2f\x64\xa3\xec\x13\x71\xa0\x19\xa4\xbe\xe4\x28\x66\x28\x54\xb8\x7f\xce\x63\xbd\xae\xc8\xb7\x45\x3b\x9d\xd7\x86\x1a\x70\x05\x59\xd8\x36\x24\x0c\x81\x95\x5d\x1d\xcb\xb0\xa9\xbd\xaf\xac\x45\x40\xae\x17\xa2\xf4\xa0\x02\xb6\xe1\x28\x2a\xbd\x7c\xda\x40\xca\x30\xda\x44\x25\xd7\xf1\xcc\x00\xf7\x55\x05\x2e\xce\xb5\x54\xd0\x43\xbb\xbc\x0e\xe4\x92\x93\x11\x2f\x59\x3e\x42\x4f\x94\x85\x62\x84\x9b\x14\xfc\xc1\x25\xb2\x1e\xdc\x50\x28\x04\x67\x28\x27\x4f\x95\x15\x0a\x9f\xa5\x7b\x51\xd8\xda\xc1\x57\x92\x8a\x77\x54\x40\x21\x88\x34\x82\x93\x07\xf2\xb5\xc2\x28\x25\x65\x59\xe7\x24\x93\xac\x2d\x47\xf2\xb2\x95\x9e\xc8\xda\x09\x1f\x58\xbd\x74\x9c\xc0\x5a\x71\xb2\x33\xc6\xbb\x20\x5b\x35\x9f\x8c\x16\xc7\xac\x80\xfe\x5e\xcb\x74\x45\xd4\x1f\x43\x5e\x94\x7b\xd8\x0c\xa9\xc6\xe4\x1b\x69\x53\x10\x5e\x08\xb6\x88\x2a\x2a\x5a\x8c\x34\xbd\x21\xfa\x9f\xc9\x4a\xfb\xac\xf3\xaf\x14\x84\x7f\xbd\xb0\x8e\xa1\x04\x08\x2d\x96\x86\xd5\x72\x07\xb1\xe4\x43\x61\xfe\x70\x5c\xce\x9a\x85\x72\xa3\x4d\x47\xc6\x06\x6a\x68\xff\x35\x9e\xa9\x19\x42\xe3\x29\x90\x75\x61\xd0\x27\xe4\x1d\x05\x60\xbf\xbb\x00\x03\x2e\x4f\xb6\x46\x05\xab\xa9\x15\x96\xc0\x11\x82\x94\x0b\x31\x27\xf2\xc2\x0b\xd5\x51\x74\xf9\x42\xd6\xba\xb5\xd0\x0f\xe5\x8c\x40\xfb\x88\x4d\xcd\x7c\xa4\x92\x59\x3e\x7a\xd0\x31\xa8\xf4\x29\x09\x9f\x76\xc6\xe5\x64\x5f\xf7\x9c\xa9\xd4\x76\x84\xb0\x94\xf5\x42\xdf\x91\x5f\x89\x33\x0c\x4a\xe1\x7d\x5f\x29\xba\x0a\x74\x32\x91\xf0\xd6\x53\xce\x01\x4a\x93\x9a\x42\x73\x2d\xab\x8e\x36\x27\x6a\x74\x54\x84\x06\xc6\xc3\x19\xf2\x42\x13\x10\xa7\x90\xd1\xce\x16\x58\x16\x06\x5f\x28\xb2\xd0\xb9\x34\x26\x07\x61\x23\xf2\x41\x24\x52\xce\x94\xaa\x46\xda\x29\x54\x45\x7c\xfa\x18\xc8\x09\x71\x17\x47\x91\xd5\xfa\xa3\xe2\x1b\xd0\x1d\x71\x9a\x03\x96\xc4\x5b\x50\x3a\xbc\x7f\xae\xa2\xf1\x0f\x51\x58\xf8\x88\xfb\xa4\x41\x9f\x4d\x73\x00\x39\x5a\xac\x46\x51\xa4\xac\xa8\x5c\x25\x22\x9c\x0c\x83\x1f\xb3\x08\x5c\x9c\x8a\x53\x76\x59\xe3\x3f\xd9\x90\xc8\x45\x91\x85\x3e\xcb\x18\x19\x0a\x70\xc8\x44\x3f\x60\x1f\xe4\x65\x90\x9d\xad\x32\x4d\x88\xb1\x19\xeb\xd1\x91\xcf\x03\x1e\xed\x96\xd0\x47\x03\x69\x7d\xd6\x31\x52\x03\xd3\x58\x59\xde\x49\xe5\x98\xa8\x14\xec\x9e\xca\xb8\xef\xb3\x22\x84\xf5\x1c\x23\x67\x7d\x34\x5e\x4d\xb2\x9a\xa4\xf0\x84\xa1\xd7\x09\x18\xda\x05\x61\xc8\x70\xe6\x72\x03\xb7\xe3\x74\x37\x90\xcd\x49\xf1\xed\x6c\x08\x94\x02\x8e\xe5\x4b\xf6\xe4\x92\x88\x2f\x07\x0b\x05\xbd\xa4\x0f\x14\x84\xde\x3c\x10\x51\x5a\x2b\xd8\x53\x72\x91\xaa\x93\x8c\x6e\x6c\x42\x00\xd6\x98\x08\xaf\xa4\xd3\x14\x43\x06\xd8\x82\x2c\x95\x22\x41\xc8\xcb\x26\x49\xc1\xea\x28\x8a\xcc\xac\x31\x53\x71\xc7\x48\x55\xa1\x2a\xc7\x9d\x21\x65\x21\x67\x27\x8b\x3e\xd7\x8c\x39\x70\x2e\xc3\x3c\x4a\xbf\x20\xfc\x2d\x4e\x14\xf0\x5f\x6a\xea\x11\x4c\x95\xd5\x03\x51\x98\x02\xd0\x85\xed\xea\xa3\x69\x31\xe1\x95\x2c\x3a\x22\x0a\x30\x16\xd6\x90\xb4\x4c\x27\x3a\x24\x17\x4f\x51\x83\x88\x50\x91\xa6\x66\xd9\x17\x88\xe8\xf1\xb6\x10\xb0\xe8\x7c\xa1\x22\x9b\xab\x48\x0e\x80\x66\x45\x41\xf9\x62\x8a\xe8\x63\x71\xb2\x92\x62\x74\x46\x43\x07\x19\x1c\x08\x30\xe1\x33\x35\xe8\xa2\x04\xe1\xea\x45\x72\xb3\x7c\xf4\xd7\x90\x44\x1b\x4e\xaf\xc2\xe3\xce\x7b\x72\x4e\xa3\xd6\x27\x47\x25\x03\x4a\x48\x44\x83\xe8\x30\x25\x08\x9f\x22\x2a\x89\x93\x01\x5c\xce\xba\xb9\xfe\x00\x4b\x62\xcf\x6a\x4a\xec\x18\x07\x07\x20\x15\x10\xcd\x31\x51\x4d\x75\xd0\xe7\x28\xf6\x85\x14\x33\x3f\x22\x5d\xef\x38\x99\x2c\x5c\x0e\x11\xad\xa8\xac\x40\x2d\x9a\xf1\xb7\x53\x77\x01\xe4\xe9\x01\xaa\xe7\x98\x2e\x9a\x8b\xdd\xd9\xc8\xd0\x77\x46\xec\x0a\x5a\x31\x4c\x25\xc2\xa7\xe1\x66\xbe\xd1\xec\xbc\x39\x49\x60\x2a\xe5\xf1\xfe\x61\x87\xef\xaf\x24\xed\x06\x2c\x17\xd1\x52\x6e\x75\xb8\xc0\xd8\x1d\x39\x64\x4b\x7b\xab\xbb\xa9\xd9\xce\x7b\xe9\x84\xbf\xd9\xd9\xa2\xb6\xf8\x37\x73\x69\x9d\x55\x2d\xfb\x25\x03\x0a\xfc\xb8\xa3\x1f\x86\xad\x5b\x41\xda\xe6\x6d\x57\x94\x69\x94\xb7\x9a\xb8\x70\x2b\x18\xa7\x6d\xab\xcb\x76\xe1\x57\xd0\x28\x01\x55\x0e\xa5\xdb\x1d\xaf\x49\xeb\xda\xef\x47\x20\x18\x5b\x68\xab\x2f\xf8\x5f\xb6\x42\xbe\x3d\xc7\x98\x57\x8c\xa0\x57\x4e\x4f\xdc\x24\x41\xbf\x4b\x4a\xc6\xa2\x3d\xfd\xdd\xbe\xe0\x3d\x4d\x6a\x65\xe0\xe0\x06\x8e\x46\x40\xc8\xae\xe3\xe5\xa5\x85\xc2\x31\xcc\x7f\x84\xaf\x6d\xb9\x87\xbc\x74\x7f\x7f\xfb\x3f\x1f\x07\x91\x5b\xc1\x62\x86\x6d\x87\x91\x46\x55\xae\x9d\x51\xdc\x9a\xd8\x46\xa2\x66\x23\xdf\x62\x5a\x95\xe2\x51\x99\x70\xed\x8d\x49\x55\xf6\x41\xa5\xa6\x2f\x6c\xef\x94\xd2\xe7\x23\xd4\x61\x6e\x1c\xb5\xbf\xd3\x6c\x6e\xdc\x6f\x30\x37\x9f\x08\xce\xd6\x08\xf2\xcb\x9c\x46\xaf\x94\xdb\xe8\xed\x3f\x3b\x42\xd5\x2f\xed\xcf\x8e\x68\x97\x94\x8a\xff\xdf\xbf\x82\xf3\x7a\x8e\x1f\x03\x4e\xdc\x61\xbb\x45\x30\x81\x7f\xb4\x64\x18\x5d\xd2\x1f\x59\xe9\x3e\x1f\xa3\xad\x0c\xe4\xe2\x92\xe8\xac\x7a\xd8\x2f\x89\xce\x22\xe3\xfb\x9b\xd3\xbe\x2e\x2e\xd4\x67\xa3\x37\x31\xdf\x7d\x07\xbf\x2b\xf3\xad\xf2\x6d\x33\x9f\x46\x89\xf8\x88\xf9\x9a\x67\xdf\x63\x63\xf9\xa7\x9f\x8e\x6f\xdf\x77\x3b\x80\xc4\x3b\x7e\x8e\x13\x09\x7d\xe8\xe7\xe8\xee\xf8\x39\x6e\x93\x50\x51\xc0\xab\x0f\x17\x97\x8f\xdc\x1c\x3f\x58\x5c\x4a\x41\x48\x50\x1b\xd3\x19\x9e\xa2\x46\x9e\x6b\xb4\xdf\x52\x07\xab\x19\x86\xad\x0c\x76\xf0\x54\x4a\x3d\x9b\x6b\x16\x5e\xa3\xe4\xa2\x10\x73\xad\xa6\xcf\x82\x0b\x86\xfa\xfe\x56\xc9\x79\x67\x32\x31\xb3\x66\x77\xad\xc4\x35\x9a\x6b\x4e\xe5\x7c\xcd\xb1\xb6\xaa\xcc\xa9\x8c\x0d\x37\x5b\x39\xac\xda\x81\x2f\x5b\xb5\x02\x28\x41\x29\x8f\x4b\xd5\x91\xe0\xf6\x2d\x79\x56\x08\xae\x8f\x94\xb2\x5c\xf2\x3e\x8a\x91\x53\x26\x0f\xc9\xfb\x11\x72\x1a\xd7\x49\x65\xbd\x8e\xbc\xe6\xba\xcd\x20\x3a\xbb\x97\x3c\x68\x27\x81\x9f\x13\x05\xd8\xfd\x75\x20\xdd\xec\x89\x8b\x1b\xec\x39\x52\x8a\x80\x5e\x88\xf9\xd8\xa3\x55\x7a\x85\x0c\xbb\x66\x49\xbd\xe1\x62\x2b\xe5\x59\xaa\xab\x14\x7b\x10\x7b\x05\x47\x2e\xee\xfd\x2d\xe1\x6a\x4f\xf6\xbf\x38\xf4\xe3\x21\x2f\x11\xb2\x6d\x83\xde\xbe\xd6\x55\x96\x18\x6d\xb8\x5c\x42\xaa\xb6\x67\xf1\x6e\x1b\x37\xb5\x0b\xa6\xc2\x1b\x4a\xf6\x6f\x40\x4e\x9f\x59\xa5\x3d\x55\x20\xd3\x95\x12\x96\x4c\x08\x1e\x9c\x31\xea\x16\xbb\xdb\x91\xdd\x6f\x72\xbb\x9d\x4b\x8c\x2d\x5e\xd7\x7a\xea\x9c\xef\xde\xbf\x96\x7b\x61\xa4\x3e\x96\x77\x1f\x8a\x64\xbb\x5b\x24\xf3\x7e\x91\xfc\x99\x55\x7d\x31\x93\x8f\x2d\xeb\x95\xa2\xb0\xd3\x2a\xe2\x01\xdc\x29\xc0\x09\x1e\x8c\xb7\x8a\x40\xa0\xcc\x74\x93\xdd\xec\x82\x21\xcd\x56\x8e\xc6\x4c\xcf\x95\x62\xaa\xd2\x86\xf7\xaf\xf1\x76\x94\xa7\x3b\x62\x64\x43\xaf\xf8\x47\x48\xb8\xcf\xcc\xdc\xe9\xdb\xff\x1c\xff\xf2\x7d\x07\x74\xdb\xbf\x80\x0e\x61\x29\x46\xb5\x8d\x5c\x43\xc9\x17\xd0\x50\x6e\x37\xe2\xb9\x07\xdf\x56\x6f\x16\xe6\x74\xc9\x94\xd7\x88\xee\x4c\xde\x56\x80\xe0\xba\xb3\x99\x0a\x59\x3b\x75\x68\x2d\xc8\x61\x36\xaa\x41\x40\xdd\x28\xb9\x5e\xa4\xb2\xbe\x00\xd4\x62\xb4\x96\xb1\x88\x54\x45\x03\xb6\xb8\x1b\x76\xb9\xac\x55\x02\xcf\x63\x8d\x03\xb2\x77\x68\x63\x1e\xdd\xca\xda\x2d\x3d\x85\x17\xdd\x36\xe2\x9a\x3c\x6a\x6c\x8e\x14\xcf\xd7\xf7\x57\x9a\x0b\x2a\x98\x7a\xf4\x4a\xbe\x1d\x4b\xc6\x1a\x71\x51\x23\xff\x4b\x21\xa1\xf5\xa9\xc7\x2a\x9b\xd2\x67\xe3\xf2\xf8\x9a\x33\xd2\xfb\xbf\xb0\x0a\x93\xa8\xf8\x40\xbe\x57\x5c\x1c\x79\xaf\x72\x12\x36\x22\x5c\x7a\x4f\x0f\xec\xec\x23\x05\x9f\x2e\x91\xd8\x95\x5e\x67\x61\xb2\x00\x61\xaa\x2e\x88\x6e\x33\x96\xb2\xf6\xc9\xd0\x7a\x90\xc5\x6c\x55\x44\x1a\x8b\x38\x85\x17\xd4\xd6\x15\x80\x6a\x00\xb3\x18\x9e\xc7\xae\xbc\xbf\x21\x76\x8a\x90\x4d\xe9\x3c\x5b\xb3\x3a\xbe\x4e\xed\x59\xc0\xd3\xb9\x45\x7f\x16\xee\xb8\x89\x29\x05\x77\x1d\x0d\x5e\xba\x71\xa0\xd4\xa9\x07\xdc\xbf\x6b\xe4\xe5\xd6\xfc\xa5\xa3\x6d\x4b\x9b\x75\xff\xce\x99\xf1\x5e\x6a\xfe\x9c\x06\x15\x02\x6f\x49\x3d\xbb\x14\x48\x1b\x22\xab\xc9\x0f\x91\x38\xbc\x25\xf8\xec\x94\xec\xce\xb7\x8a\x98\x8b\x56\xb3\x91\x3e\x13\x6a\x5b\x42\xcf\x9a\xb9\xd4\x33\x33\xb1\xf7\x95\x71\x02\xb6\xa9\x86\xc9\x83\xff\xf1\x2a\xd6\xbd\x15\xeb\x73\xcb\xf7\xa7\x14\x2f\x4e\x69\x25\x0e\xec\x92\x4f\xb7\x04\x82\xbd\x27\x0e\xec\x5c\x1a\xdc\x12\x06\x76\x2e\x73\xcc\x56\x86\x19\xb3\x6f\x09\x03\x6b\xe6\xd2\x60\xec\xc9\xbf\x90\xfa\xf6\xcb\xff\xf7\xf7\xe3\xcf\x8f\x82\x5a\x07\x2a\x36\x0d\xa3\xb3\x99\x5e\x76\x79\x9b\x28\x96\xa8\xdf\x06\x3c\x2f\x8c\xe8\x6d\xb2\xf8\x67\x51\x74\x60\x6b\x33\xa5\xea\xf3\xd4\xf2\x48\x0e\xf5\x65\xb1\xc9\x50\x04\x05\x78\x0c\x82\xb7\xe9\x05\x15\xbe\xda\x06\xcf\x11\x31\x71\x53\xaa\x3e\x0f\xc8\xf3\xfe\xd5\x01\x39\x2d\x3d\x39\xb4\x51\x9f\x6a\xed\x89\xbf\x5b\x7d\xab\x64\xd7\xde\xbb\xdc\x48\xe7\x4a\x5c\xc3\xe0\xdc\x61\xbb\x78\x37\x68\x8e\x97\xd6\x8c\x7f\xb9\xf3\xd9\x46\x50\x8f\x89\x12\x4f\x0c\x04\xbf\x78\xa4\xe4\xab\x7c\xda\xaa\xd7\xfe\xba\x00\x45\x06\xbe\xaa\xd1\x93\x2b\x69\x4c\x90\xcf\xa9\x41\xcc\xcc\xdf\x94\x2f\x78\xfb\xc5\x13\x87\x8d\x52\xf1\x38\x48\xe2\xfb\x57\xb8\xf5\xf8\xfa\x85\x61\xf9\x59\xc6\xa7\xfe\x3a\xb0\x96\xff\x85\x83\xc2\x63\x0e\xb0\xb5\x43\x8e\xa8\x59\xb4\x75\x4f\xae\x75\x82\xb5\x1e\x16\xe5\x3f\xc1\xff\x4f\xaa\x59\x27\x0f\x9a\x01\x2d\x7c\x7f\xf3\x2a\x08\xe2\x4a\xee\x5f\x25\xcf\xc6\x95\x0b\xcf\x97\xa5\x7f\xe0\x75\xd0\x6f\x40\x29\x9f\x50\x3d\xfe\x49\x78\x5c\xd8\xa7\xe7\xf1\xed\x0b\xf3\x0f\xee\x90\x27\xfe\xfd\xe0\x16\x79\x21\x10\xfa\xfb\xd4\xcd\x3b\xfd\xa9\x89\x9f\x9f\xaa\x07\x6d\xb8\xfe\x19\x78\x2b\x68\x14\x0d\x5b\xe6\x2a\xfc\x74\xd3\x32\xdd\xf4\x6f\xe9\x68\xeb\x9b\xfe\x9b\xb9\x4c\x7f\x2d\xd4\x1f\x28\x6c\x18\x21\x44\xbd\xdd\x7d\x6c\x7e\xde\x8f\x7f\x7b\x5c\x77\xf7\x30\x79\xb7\x69\xe9\xc4\x1d\x7c\xa6\x5c\xf9\x6c\xa8\xb2\x34\x31\xd8\x3a\x14\x0a\x85\xea\xd2\xa7\x22\x54\x0d\x74\x27\x1a\x8c\x85\xdf\x85\x6c\x03\x7b\xe8\x20\x2e\xb2\x58\xe7\xb3\x14\x66\x50\x98\x91\xc2\x4c\x57\x9a\x01\x3e\xab\x16\xa7\xa5\x99\xbe\x34\x2a\x05\xf6\xb8\xe1\xfd\x6b\x80\x9f\x92\xec\x3e\x62\x39\x67\x2a\x89\xca\x72\xb9\xa3\x94\xa8\x44\xe9\x43\x8a\x70\x0c\x48\x7e\xc8\x94\xaa\xa9\xe4\xac\x33\xf2\x8a\x33\xfd\x4b\x86\x52\x32\x78\x8d\x52\x0c\xb0\x08\xf3\x46\xde\x82\x5d\xd9\x6d\xe4\xa7\x0f\xa6\xe7\x51\xcd\xda\xe7\x48\x76\x29\x72\x29\x00\xdb\x07\xc8\x3c\x75\x08\x70\x1f\x80\xcf\x3e\x55\xdb\x65\xc4\xdc\xf8\x24\xbb\x1a\x57\x75\x99\xef\x23\x1a\xc3\x1f\x34\x05\x7f\x96\xd2\x0c\x4a\x33\x28\xcd\xf4\xc5\x19\x85\x14\x73\x3e\x3d\x17\x0a\xb9\x92\x8b\x4b\x9a\x29\x35\xc1\xf4\xf0\xfd\x0d\xde\x53\x42\x2f\xbe\x9e\x03\xdc\x8b\x0b\x2f\xf3\x26\x9c\x88\x21\x64\x65\x11\x86\x0d\x1e\x33\x14\xa4\x72\x86\x2b\x70\xe5\x6c\x96\x71\x9d\x30\x39\x2c\x53\x56\xca\x59\xde\x33\x0e\x76\x84\x78\x6f\x90\xf7\x1e\x02\x33\x94\xe9\xf9\x3d\x63\x60\xe1\xdc\xb8\x0e\x51\x08\x2b\x50\xb6\xb2\xe7\x49\x4b\xe8\xae\x00\x63\x7d\x21\xfb\xc6\x63\x06\x3e\x1e\xc2\x29\xdd\x65\x8b\xe7\x02\x4e\x0a\x94\xac\x8c\x55\x64\x98\x7d\x22\x06\x5f\x4c\xdb\x41\xb0\xce\xf0\x52\xcf\xfa\x94\x1c\x5e\x3e\x4d\x05\xd2\x28\xa1\x31\x4c\x11\x86\xb8\xa1\xa7\xd4\x01\x2e\x07\xcf\x19\xd1\xee\x2a\x59\x0b\x53\xa9\xc6\x72\x69\xe4\xb8\x35\xc3\xb9\x05\xc3\x79\xd8\x58\x7a\x8a\x75\x0f\x6a\x9a\xa7\x9c\x07\xa6\x12\x53\x37\x96\x93\x08\x31\x8e\x62\x46\xc0\xe8\xb8\xec\x2c\x47\xa7\x60\x16\x25\xc3\x54\x34\x1a\x6c\x0d\x1d\xf9\x4e\x40\x0b\xa7\x38\xf6\x67\xca\x36\xc1\x98\xd7\x63\xa7\x5f\x33\x0c\xd0\xe7\x79\x61\xae\x8f\x78\xc3\x67\x78\xc1\x46\x04\xdf\x4d\x88\x76\xbe\x34\x0f\x46\xfd\x8c\xfa\xa5\x7d\xa6\x6b\x9f\xda\x28\xfb\x26\xda\x4c\x22\x9f\x8c\x50\xc2\x1e\x37\x98\x91\x3c\xf7\x21\xbc\x50\xce\x99\x4a\x5d\x2c\x70\x13\xb7\x3e\x27\x0a\x68\x7c\x5c\xa2\xb7\xc1\xbb\x88\x6a\xe5\x33\x71\x8c\x06\xfe\x8f\xc4\x69\x23\xac\x5a\x10\x41\x22\x6b\x5b\xce\x45\xaa\xd9\x75\x26\x5e\x72\x18\x98\xa9\xfa\x08\xa7\xc7\x28\x44\x51\xfa\xf0\xf3\xde\x56\x43\xc0\x2d\x8c\xc2\xd1\xc2\xdd\x11\x7e\x29\x54\xfb\xc8\xf3\x80\x40\x70\x5e\xf4\xe0\x1a\x12\x4c\x79\x6f\xf8\x67\x5d\x59\xe0\x43\xe7\x37\x47\x25\x20\x2e\x65\x88\xb2\xfb\xe7\xaa\xb6\x44\xe9\xd9\x13\x57\x16\xca\x40\xb8\xb9\xe0\x1c\x95\xb5\x24\x63\x2f\x7c\xe2\xcb\xc0\xfe\xcc\xd2\x61\xe3\x88\x01\x88\x9f\x38\xe3\xb9\x2f\x04\x86\x83\x20\xcb\x0b\x7f\x23\xa0\x20\x24\x04\xd1\x3c\x8f\x1e\x3d\xc9\x90\x77\x8e\x7c\xca\x5b\xf3\x08\x6b\x5c\xec\xc0\x4b\x47\x83\x4d\x80\x9f\x81\xca\x8d\xe8\xb7\xbb\x22\x5f\xbd\x7f\xff\xfe\x66\x7e\xda\x7b\xc7\x63\x29\xaf\x62\xe7\xeb\xd7\x17\x56\x94\xdb\xfe\x30\x5c\x51\x4d\x2f\x7d\x52\x43\x27\x92\xb4\x43\x5e\x22\x17\x61\xe3\x11\x0f\x6c\x5f\xfa\x84\x86\x93\xba\x8b\x32\x73\x1c\xdc\x11\xe8\x29\x65\xa4\x71\x91\xcd\x00\x1b\x09\x21\x9e\x81\xf7\x3a\xc8\x33\xde\x90\xac\x48\xc3\x33\x3d\xcd\x0b\xd2\xc0\x25\x71\x70\xef\x5f\xbd\x9e\x46\xe7\x78\x94\xa6\x0e\x79\xc4\x0e\x81\xc9\xbe\x1d\xe6\x3f\x4a\x97\xf1\xeb\xa3\x07\xba\xe3\x44\xed\x12\x16\xa8\x34\x6c\xcc\x52\xa2\x78\xe2\xcd\x69\x2a\x97\xfe\xf7\x11\x41\xea\x10\xfa\x17\x30\x41\x23\x32\xf1\x4c\x1e\xb1\xd6\xbb\x07\x5c\xcd\xc5\x81\x3b\x63\x3f\x4f\x25\xc2\x05\x9f\x93\x28\xd7\x88\x3b\x2b\x3c\x78\x63\x7e\x90\x86\xa7\x7f\x5a\x1a\x08\x6a\xe9\xef\x5f\x1d\xe9\xf0\x77\xc0\x36\x80\x64\xee\xbc\xe0\x4d\xfd\xf4\xdc\x7c\xff\xfb\xaf\xfb\xb8\x48\x9b\x67\x7b\x43\x8c\x78\x5a\xd9\x57\xc4\x93\xc9\x1f\x0f\xa6\x6b\x34\xb8\xa0\x76\x56\x3a\x87\x42\x12\x40\xed\x11\xd4\x9e\x6e\x49\x49\x24\x2a\xd1\x2f\xc9\x9d\x5b\xf9\xef\x6f\xf2\x8b\xc9\x6a\x61\x37\x23\x77\x69\x7d\x68\x43\x3d\x91\xbb\xb4\x3f\x3c\x6e\xa5\x39\x8d\xe8\x4e\xfc\xd0\x95\x58\x6a\x43\x1a\x37\x86\x74\x8f\x00\x51\xba\x59\xd0\x27\x2b\x65\x0e\x20\x53\xd0\x27\x02\x96\xb2\xbf\xbd\xee\x24\xf6\x4a\xa6\x4b\x02\x65\x2d\xfe\x5d\x29\x41\x56\xae\x25\xc6\x91\x1d\x2a\xc5\x25\x81\x5a\x2b\x14\xba\x6f\x34\xff\xfd\x97\xcb\x5f\xfe\xe3\xdf\x86\xe1\xff\xfc\xfb\x7f\x7d\xff\xd3\xff\xfe\xc7\xbf\xfd\x9f\x7f\x3f\xfd\xfa\x76\xfe\x8f\x7f\xfb\xff\x03\x00\x00\xff\xff\x1a\x3a\xcd\x2f\x40\xbd\x0b\x00") +var _uiDistIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x1b\xc7\xb1\x37\xfe\xfe\x7c\x8a\xfd\x33\x95\xaa\xe7\x54\xfe\xdb\x9a\xee\xb9\x57\x59\xa9\xd2\xd5\x72\x42\xd9\x8e\x2f\x38\xf6\x79\xa3\x5a\x81\x90\xc8\x78\x45\x2a\x24\x05\xcb\xfc\xf4\x4f\xf5\xaf\x67\x17\x00\x6f\xa2\x94\xe4\x1c\x27\x8f\x4b\x02\xb0\x04\x76\xe7\xd2\xd3\xf7\xee\xe9\xf9\xec\xff\x7b\xfc\xd5\xa3\xef\x7e\xfc\xfa\x49\x77\x78\xfe\x66\xfc\xe3\x7f\x7c\x66\x1f\x5d\xf7\xd9\xe1\x6a\x38\xd0\x8b\xae\xfb\xec\xcd\xea\x7c\xe8\x96\x87\xc3\xe9\xd9\xea\xfc\xfe\xde\xbb\xf3\x57\x7d\xd9\xeb\xee\x6d\xff\x78\x78\x7e\xfe\xb6\x5f\xfd\xed\xdd\xd1\xfa\xfe\xde\x0f\xfd\xf7\x0f\xfa\x47\x27\x6f\xde\x0e\xe7\x47\x2f\xc7\xd5\x5e\xb7\x3c\x39\x3e\x5f\x1d\x9f\xdf\xdf\xfb\xe2\xc9\xfd\xd5\xc1\xeb\xd5\xe6\xd9\xf3\xa3\xf3\x71\xf5\xc7\xff\x1a\x7e\x79\x7b\x72\x74\x7c\xfe\xd9\x3d\xfb\x7b\xab\xdd\xe3\xe1\xcd\xea\xfe\xde\xc1\xea\x6c\x79\x7a\xf4\xf6\xfc\xe8\xe4\x78\xab\xb5\x4b\x43\xb0\x5b\xd7\x47\xab\x9f\xdf\x9e\x9c\x9e\x6f\xdd\xf7\xf3\xd1\xc1\xf9\xe1\xfd\x83\xd5\xfa\x68\xb9\xea\xf1\xc7\xff\xdf\x1d\x1d\x1f\x9d\x1f\x0d\x63\x7f\xb6\x1c\xc6\xd5\x7d\x46\x53\x68\xeb\x3f\xb6\x1b\xfb\xb9\x0d\xec\xde\xf2\xe4\xf8\xd5\xd1\xeb\x7b\xab\xe3\xf5\xd1\xe9\xc9\xf1\x9b\xd5\xf1\x76\xfb\xbf\xcf\x0f\x7f\x2f\x32\xbc\x3d\x7a\x70\x70\x70\xba\x3a\x3b\xfb\xbd\xc8\xef\xfd\x03\x7d\xd7\xff\x8f\x7e\x2f\xf2\xe6\xe4\xe0\xdd\xb8\xfa\xfa\x74\xf5\xea\xe8\xfd\xfc\xeb\xd4\xf8\x7c\xd7\x56\xeb\xf3\x4d\x6f\x4f\x4f\x0e\xde\x2d\x75\xe2\xf3\x6d\xa7\x27\x27\xe7\xdf\x7f\xb3\xbf\xd5\xcb\xd3\xf9\xb7\xf1\x64\x39\xe8\xcd\xdf\xfd\xf2\x76\x35\xdf\x30\xbc\x3b\x3f\x99\xef\x78\xf2\xe6\xe5\xea\xf4\xc9\x97\x8b\xf6\x2b\x86\xfe\xf4\xc9\x83\xef\xbe\xff\xe6\xc9\xb7\x9b\xef\xf2\xe3\x76\xf7\x0f\xdf\x3d\xf9\xf2\xf1\x8b\xaf\xbf\xf9\xea\xbb\xaf\x14\x49\xbe\xdd\x7e\xec\xf1\x70\xde\x3a\x79\x35\x8c\x67\xab\xf9\xa1\x17\x0f\xbe\xfe\x7a\xff\x8b\x47\x0f\xbe\xfb\xe2\xab\x2f\x5f\x7c\xf7\xe4\xf9\xd7\xfb\x0f\xbe\x7b\xf2\xe2\xbf\xbe\x79\xf0\xf5\xd7\x4f\xbe\xd9\x7e\xc0\xee\x7e\xfc\xe4\xe9\x83\xef\xf7\xbf\x7b\xf1\xe0\xdb\x1f\xbf\x7c\xf4\xe2\xab\x87\xdf\x3e\xf9\x66\xf1\xe4\x9b\xd6\xd3\xf9\xe9\xbb\xe9\xbe\x3f\xfd\xe5\xfb\x27\xdf\xfc\xf8\xe2\x8b\x2f\xbf\x7b\xf2\xf9\x37\x68\xfc\x6a\x5b\x73\x6f\x5f\x7d\xb9\xff\xe3\x8b\xcf\xf7\xbf\x78\xfe\xfc\xc9\x37\x2f\x1e\x7d\xf5\xfc\xeb\xaf\xbe\x7c\xf2\xe5\x77\xdb\x8d\x4e\xa3\x7d\xf0\xf5\xd7\xdb\x93\xd2\x85\xbf\x79\x89\xd6\xab\xd3\xb3\xb6\x16\xb8\xc1\x91\x23\xf7\x7b\x79\xb8\xf2\x43\x94\x57\xbe\xe8\x0f\x53\xc3\xaf\xc6\xe1\xec\xf0\xf9\xea\xec\x6c\x78\xbd\x7a\xbc\x7a\x35\xbc\x1b\xcf\xcf\xb6\x7b\x3a\x58\x9d\x9d\x9f\x9e\xfc\xf2\xd5\xf1\xa3\xf1\x68\xf9\xd3\x95\xb9\x9c\x1f\xbd\x59\x9d\xbc\x6b\x98\x10\x9d\x73\x0d\x49\xde\x9f\xaf\x8e\x0f\x56\x07\xdf\x6d\xff\x9c\xa7\x5f\xcf\xb7\xd7\xfd\xe8\xf8\xd5\x66\xdd\xf5\x97\xa9\xfb\xa8\xdd\xaf\x4e\x4f\x4f\x4e\xe7\x9f\xcf\xde\x2d\x97\x0d\x75\xf1\xf7\xce\xb3\x3f\x0f\xa7\xc7\x47\xc7\xaf\xf5\xef\xf8\x78\xfa\xfd\xaf\x2b\xa0\xe5\xd3\x61\x79\x7e\x72\x7a\xb4\xdd\x76\x7c\x3c\xc3\x60\xa5\xd8\xd6\x9f\x1d\xbd\x79\x3b\xae\xfa\xe1\xdd\xf9\xe1\x36\x00\xf4\xef\xd5\xf1\xf9\x91\xa1\xec\x37\x27\xef\xce\x77\x70\xf6\x70\x0b\xe3\xdf\x9d\xaf\x1e\xbc\x3a\x5f\x9d\x3e\xd8\x79\x64\xb3\x4e\x27\xa7\x3f\x9d\xbd\x1d\x96\x36\x8a\xdd\xce\xcf\x4f\x5e\xbf\x1e\x57\xdb\xfd\x1e\x1d\x2f\xc7\x77\x0a\xc2\xc3\xd5\x9b\x5d\x98\x8c\x47\xaf\x0f\xcf\xb7\xa7\x79\x60\xeb\x86\x3b\xe7\xde\xe6\xbb\x76\x3b\x5a\x8e\x47\xfd\x9b\xa3\xd3\xe1\xf5\x4e\x67\xef\xce\x8e\x8e\x5f\x7f\x7d\x7a\xf2\xfe\x97\x2b\x2b\xfc\xee\x6c\xc2\x8b\xaf\x87\xb3\xb3\xf3\xc3\xd3\x93\x77\xaf\x0f\xcf\xae\x41\xd1\xd5\x7b\xe5\x68\x0f\xde\xbe\x1d\xdb\xc4\x3f\x1f\x4f\x5e\x0e\xe3\x2e\xed\x6d\x58\xd8\x67\xe3\xd1\xf1\x4f\xdd\xd1\xf1\xf9\xea\xf5\xe9\xd1\xf9\x2f\xca\x28\x4f\x57\xe3\xfd\xbd\xb3\xf3\x5f\xc6\xd5\xd9\xe1\x6a\x75\xbe\xd7\x1d\x9e\xae\x5e\xdd\xdf\xbb\x37\x9c\x9d\xad\xce\xcf\xee\xad\x57\xc7\x07\x27\xa7\xfd\xaa\x72\x1a\x96\x07\xc3\xab\xe5\xb0\x4c\xe1\x55\x0c\xf9\xe5\x72\x75\xf0\x72\x08\x31\x1e\xbc\x2c\xab\x48\xcb\xb3\xb3\x0d\xd3\xfd\xe8\x5e\x26\x6a\xea\x43\x48\xab\x57\xee\x20\x96\xc1\xa7\xe2\x5e\xc5\x21\xbc\x4c\x22\x7e\x48\x03\x67\x17\x96\x7e\xee\x07\x1d\x4d\x5d\x59\xeb\x87\x27\xa7\xe7\xcb\x77\xe7\xdd\xd1\x52\x65\x41\xeb\xe0\xd5\xb0\xd6\xbf\xe9\x68\x79\xb2\xb7\x3d\x3a\x3c\x62\x77\x2a\xfe\xdf\xdf\x3b\x7a\x33\xbc\x5e\xdd\x7b\x7b\xfc\x7a\xaf\x3b\x3b\xba\x58\x9d\xdd\xdf\xe3\xf4\x9e\xd3\xe5\x86\x7a\x7c\x4b\x7a\xdf\x47\x36\xe7\xe5\xbd\x97\x2b\xcd\xe1\xdb\x4f\x69\x2e\x94\xf7\xa1\x5c\x69\x0e\xdf\x5e\xdf\xdc\x9b\xe1\xf8\xe8\xd5\xea\x6c\x03\xfb\xe9\x0b\xfa\xeb\xd9\xc9\xf1\xde\x55\x79\xf9\xe6\xe4\xe5\xd1\xb8\xea\x7f\x5e\xbd\xec\x87\xb7\x6f\xfb\xe5\xf0\x76\xd8\x95\xd9\xbf\xac\xce\xae\x79\xec\x5c\x29\xa2\x5f\x9e\x8c\x27\xa7\x5b\xf7\xfe\xee\xd5\xab\x57\xd7\xdc\x3c\x6c\x30\xb7\xd7\x6f\xb6\x9e\x98\x44\xff\xd5\x99\xe8\x43\xab\xfe\xfc\xe4\xdd\xf2\xb0\x37\x20\x35\x98\xc4\xfc\x3e\xe6\x0d\x6e\x5d\xba\xad\xc7\xcf\xd7\x03\xe7\xc6\x26\x93\x7b\x9f\xdc\xcd\x4d\xe2\xe7\x8f\x6c\x32\xcb\xfb\x2c\x37\x37\x89\x9f\x3f\xb6\xc9\xf4\x3e\xa7\x5b\x9a\xd4\x9f\x3f\xb2\x49\xe6\xf0\x9e\x39\xdc\xdc\x68\xbb\xe1\x63\x9b\x15\xf7\x9e\xe5\x16\x88\xb6\x1b\x3e\xb6\xd9\x10\xde\x73\xb8\x6d\xb4\x76\xc3\xc7\x36\x1b\xe5\x3d\xc7\x5b\x16\xab\xdd\xf0\xb1\xcd\xa6\xfc\x9e\xd3\x2d\x98\xda\x6e\xf8\xd8\x66\x8b\x7b\xcf\xe5\x36\xd8\xda\x0d\x1f\xdb\xac\x93\xf0\x5e\xdf\x6e\x69\x78\xba\x65\xbb\xe9\x4b\x64\xbe\xea\x3f\x91\xa1\x5c\xfb\xf0\xd9\xf9\x70\xfe\xee\xac\x7f\x39\x9c\xf6\x10\x2b\x5b\xad\xbc\x1c\x87\xe5\x4f\x77\x6d\x07\x66\xc5\x36\xd7\xf9\xfa\x3a\x4e\x78\xb6\xcd\xa7\xbe\x3b\x1a\x57\x8f\xee\xc6\xde\xae\x3e\xf8\x85\x32\xf2\xad\x07\xef\xbd\x39\x3b\xd7\xf1\x5c\x83\x9f\x37\xb6\x63\x26\xc7\x76\x23\x2f\x4f\x4f\x7e\x3e\x5b\x9d\xda\x0f\xf4\xfe\xcd\xb8\x07\x09\xf9\xd9\xbd\xc9\x52\xfb\xec\xe5\xc9\xc1\x2f\xd6\x6e\xd3\x04\xcc\x6c\xea\xce\x4e\x97\x57\x84\xbd\x2c\x57\x35\xbd\x3c\x58\xbe\x1c\x0e\x5e\x4a\x92\xe5\xab\xb0\x1a\xca\x10\xfc\xc1\x4b\x9f\xf2\xb0\x0a\xf4\xd7\xb3\xbd\x6d\xf1\x7e\x76\x38\x48\x4c\xfd\x7f\xff\x79\xf1\xed\xcb\x71\xf9\xcd\xc1\xc3\xf3\xe3\xe3\x27\xef\xff\x72\xfc\xe3\x2f\xf5\x0f\x4f\xde\xbe\x4d\x7f\xfe\xaf\xc7\xe7\x07\x5f\x86\xe7\x0f\xe2\x37\xe3\xb3\xe3\xaf\x7e\x4c\x3f\xde\xef\xce\x0e\x87\xc8\xd2\x8f\x7f\xfd\x6e\x78\xf8\xe0\xf1\x5f\x1f\xbf\x7c\x25\x8f\xf6\xbf\x1d\x7e\x7c\xc8\x5f\x0d\xcf\xbe\x8b\xe7\xcf\xbf\xb9\x78\xbe\x7f\xfa\x65\x59\x3d\x78\xfd\xf4\x87\xf7\x87\xf5\xe5\x8f\x67\x07\x3f\x1c\x7e\x33\xbe\x3d\x5d\x87\xbc\x0c\xcf\xd3\x2f\xe7\xcf\xeb\xfb\x5f\xe2\x7f\x9f\x8f\x17\x5f\xbd\x4e\x47\x21\x3d\x7d\x54\xd6\x27\x47\x17\x17\xe3\x9b\x07\xf7\xef\xef\x75\x7f\xfc\xec\x9e\x4d\xf1\x8f\xff\x71\xed\x5c\x97\x87\xef\x8e\x7f\xa2\x9c\x3d\xb9\xe2\x56\x92\x57\x91\x97\xe9\x60\x59\x4a\x94\x95\xf8\x1b\xa6\x78\xf6\xd5\x4f\xcf\x9e\xfe\xfc\xec\xe2\x3c\x3d\x1c\x0e\xbe\x78\x77\xfc\xfe\x9b\x2f\xf3\xb3\x7b\xaf\xff\xf0\x87\xc5\xf1\xbd\xbf\x3d\xf8\x2a\xe7\xc3\xa7\xdf\xfe\x65\x7c\x1c\x87\xa7\x67\xf3\x14\x0f\xff\xf0\x20\xbd\xfc\xe6\xd1\xdf\xce\x8e\x3e\xff\xdb\xc9\xfa\xe8\xd1\xbd\x1f\xbf\x3f\xfc\x86\xc7\x7b\x5f\x2c\xf7\x5f\xdd\x7b\xfc\xc5\x97\xdf\x7f\xfe\xf0\x59\xfa\x76\x79\xb8\x7e\xf8\xa7\xf0\xfd\xdf\x4a\xf9\x2a\xfc\xf5\xd0\x95\x83\xd3\x67\x7f\x3e\xfd\xe9\xdb\x2f\x1e\xfe\x2d\x1c\x1d\xfe\xe5\xcd\x0f\xf9\x6d\xfe\xf3\x2f\x4f\xbf\x7c\xf9\xfc\x4f\x9f\x2f\xf9\x87\x47\x3f\xdf\x7d\x8a\x1c\x3c\xe5\xd5\xe0\xe2\x8a\xf3\x4b\x7f\x90\xeb\xca\xbf\xca\x39\xe7\x1b\xa6\xf8\xed\x70\xef\xbb\x1f\xde\xee\xbf\xe1\x3f\xfb\xb3\x2f\xfe\xe4\xd6\xaf\xff\xf2\xea\xc1\xc3\xf1\xd9\xf3\xfa\x97\xa3\xc5\x7f\xa7\x07\xdf\x7e\xf1\x87\x07\x4f\x5e\x7f\xff\xf8\xdb\xf3\x75\x99\xa7\xb8\xfc\xeb\xe7\x8f\xef\x7d\x37\xfc\x45\x5e\xf3\x97\x8f\x9f\x7f\x37\xf0\xfe\xb7\x0f\xfe\xf6\xc5\xd9\xbd\x3f\xfc\x39\xfe\xa1\xfc\xc9\x85\x50\xd2\xbd\xfd\x27\x67\x9f\x7f\x5f\xfc\x9b\xa3\x23\xf7\xb2\xae\xe4\x2b\xf7\xcd\x7f\x9d\xfa\xbf\x7e\xc3\x3f\xbb\x27\xab\x67\x3f\xf3\x83\xd5\xd3\x83\x6f\x1e\x2f\xf9\xf1\xb3\xb7\x8f\xbf\x7e\xbb\xac\xdf\xfd\x70\x79\x8a\x37\x62\xed\xac\x3c\xae\x5e\x2e\x0f\x0e\x92\xe4\xa1\xe4\xe4\xd2\x72\xe5\x7c\x29\x2b\xff\x4a\xe2\x90\xdd\xcb\x14\x0e\x6e\x98\xf1\xe7\xbf\x3c\xff\xd3\x0f\xef\xf2\x9f\x8f\x9f\xfd\xf0\xd7\xd3\xe7\x7f\xf8\xee\xfb\x7b\x47\x7c\x7a\xf0\xde\x9f\xfc\x78\xf1\xf8\xf3\xfd\xb7\x3f\x3d\x7c\x72\x74\xf8\xe5\xd3\x7c\xb1\xf8\xf3\x17\xf3\x8c\x9f\x97\x9f\x3e\x7f\x7b\xf4\xa7\xa7\xf9\xab\x2f\x7f\xf9\xf3\xd7\x4f\x16\x7f\xe0\x6f\x4f\xbe\x7f\x2a\xcf\xfe\x12\xfe\xfb\x4f\x7f\xf8\xe5\xe9\x8f\xf7\xee\x3d\xcc\x9f\xf3\xc3\x93\x97\x67\xf7\x4a\xfd\xeb\xc9\x9f\x7f\x7a\x3b\x3e\x2e\xc7\x3f\xff\xf8\xf0\x97\xff\x7e\xfc\xf8\xde\x51\xfa\xe1\xf3\x87\xc7\xcf\x0f\x97\x2b\xfe\xe2\x29\x3f\x4e\xf2\xb7\x97\xc3\xfe\xbd\xd5\xe5\x19\xb7\x29\xaf\x5f\x77\xe6\xa7\xd8\x53\xd6\xbe\x52\x13\x03\x97\xcb\x71\x38\x3b\xbb\xbf\xf7\x0a\x46\x47\x7f\xf6\xf6\xf4\xe8\x5c\xf5\xae\xe3\xf3\xe1\xe8\x78\x75\xba\xd7\x0d\xa7\x47\x43\x7f\x78\x74\x70\xb0\x3a\xbe\xbf\xa7\x56\xc3\xde\x1f\x3f\x3b\x58\xbd\x3a\xfb\xa3\x32\xfd\xd5\x70\xfa\xf9\xe9\x70\x70\xb4\x3a\x3e\xef\x8e\x0e\xee\xef\x0d\x6f\x86\x8b\x93\xe3\x7e\xb5\x3c\x33\xd5\xad\x97\xf0\xe2\xc5\xdb\xe1\xe8\xf8\xdc\xbd\xb0\xdb\x5f\x70\x2c\xf9\x45\xf6\x7b\xdd\x7b\xbe\xbf\xc7\x9e\x42\xa9\x7b\xdd\x7b\xb9\xbf\x27\xc4\xaa\x7d\xfc\xc2\xf7\xf7\xf2\x5e\xf7\x8b\xa8\x94\x27\x9f\xf7\xba\xd7\xad\x87\xef\x8f\x8f\xce\xcf\xee\xef\xbd\x3b\x5b\x9d\x7e\xab\xb6\xd8\x57\xc7\xdf\x9f\xe9\x68\xce\xce\x4f\xde\x76\x27\xaf\x5e\xc1\x77\x44\x92\x78\xaf\xd3\xaf\x6c\x04\xf7\xf7\x7e\xf7\x34\xd7\xc2\x8f\xf7\xee\x5d\xbe\x33\xd5\x7c\xf9\x4e\x9f\xb3\xe7\x2b\x77\x5e\x69\x90\x93\xf8\x27\x7a\xdb\xbd\x5d\x18\x7c\x24\x4c\xf8\x37\x98\x4c\x30\xe1\x74\x3d\x9e\x64\x83\x49\x25\x51\x33\x45\x41\x42\xc9\x07\x83\x88\xa7\xe2\x1a\x54\x32\x95\x9a\xfe\x8d\xa1\xc2\xbf\x41\x65\xf5\xd3\xcd\x3c\xa5\xe4\xfa\x82\x7d\x6a\xf4\x13\xc9\x17\x6f\x60\x61\x21\x09\x8d\x80\x38\x50\x9c\x01\x13\xd5\x26\xb9\x13\x60\x76\x46\x1e\x24\x3d\x7e\xfc\xf0\x83\x13\xf4\x0f\xc3\x43\xbb\xed\xef\x9b\x20\x5f\x3b\x41\x11\xaa\x8d\x3f\xb0\xa7\x5a\x63\x9b\x5f\xa4\x54\x83\x4d\x90\xc4\xc9\xbf\xc0\xfc\xe4\xfa\x05\x0c\xe4\x74\xd1\x74\x82\x81\xc4\x57\x9b\x9f\x08\x39\x61\x9b\x5f\xa0\xfc\x69\x13\x94\x9c\xe3\xd3\xa7\x1f\x9c\x20\x97\xf2\xd8\x6e\xfb\xa4\x09\x5e\xe5\x66\x98\x60\xe0\x36\x41\x47\xa9\xb2\x4d\xb0\x50\xc4\xa4\x40\xce\x25\xd7\x69\x7e\xa0\xe7\x5f\xeb\x02\x5e\xe5\x4b\xbb\xf3\x53\x4c\x6c\x14\x58\x29\xce\x04\xe8\x28\x86\x86\xa0\x3d\x09\xfb\x7f\x81\x09\xca\xb5\x13\xac\x14\xbc\x9f\x24\x74\xf6\x32\x33\x98\xea\xda\xfc\x84\x4a\xf9\xf5\xe0\xe7\xc5\xbb\xd3\x55\x3f\xdc\xc2\x40\xc5\x67\x79\x01\x5f\x82\x4e\x2f\x92\xe0\x52\x19\x0c\x53\xd2\xa9\xfe\x82\xaf\x8b\x4d\x0e\x17\x1f\x3f\xb7\x87\x39\x3f\x78\x1a\x3e\x38\xb7\x9c\xfd\x83\xc7\x8f\xfe\xee\xb9\xf1\xf5\x73\x63\x21\x0e\xb1\x4d\xae\x50\x9c\xa7\x16\xd3\x3c\xb9\x78\x57\xa1\xf9\xbf\x38\x3d\xb9\x7e\x7a\x42\x8e\x67\xce\xe2\xf5\x5b\x60\x26\x53\xce\x6d\xf1\xa6\xeb\x5f\xfb\x04\xfd\xf5\x13\x2c\x54\x66\xdc\x8c\x24\x22\x9b\x19\x02\x4f\x65\x73\xfd\x6b\x9f\x61\xb8\x01\x43\x23\x65\x9d\x16\xb8\x8b\x90\x2b\x75\x33\xc5\x52\x37\x53\xd4\xeb\x5f\xfb\x14\xe3\x4d\x0c\x86\x27\x0b\x87\x99\x62\x9c\x04\x44\xa6\x82\x05\x95\xcd\xf5\xaf\x7d\x86\xe9\x46\x36\xe3\x62\x9a\xd9\x4c\x98\xf1\x34\x1b\xfe\x4e\x53\x4c\x77\xb5\xe5\xfe\xe7\xa7\x78\x55\x89\xb1\x29\x96\x68\x53\xf4\x24\xa5\x51\x62\xa6\x1c\xfc\x64\x7e\xd4\xc6\x48\xed\xea\xd7\x3e\x39\xbe\x7e\x72\x85\xd8\xf1\x6c\x43\xc4\x38\x4f\xae\xd6\x79\x76\xf5\xd7\x4b\x80\x57\xf5\x97\xdd\xe9\x31\x39\xd7\x2c\xc7\x48\x21\x36\x31\x51\x88\x27\xfd\xac\x5d\xfe\xda\xa7\xe7\xaf\x9f\x5e\x34\x1b\x18\xab\xe7\x48\xa6\xe5\x2b\xc4\xec\xe7\xf9\x7d\x9a\xfe\xf9\x3f\x3b\xbf\x70\xc3\xf2\x39\x4a\x2e\xce\x52\xd0\x25\x99\x27\x18\x65\x9e\x60\xfc\xf5\xb2\xcf\x79\x82\xf1\x46\xde\xe2\x65\xe2\x2d\x69\x96\x80\x42\x3e\xa7\x2d\x3f\xd8\xbf\x00\x7f\x49\x37\xf1\x17\xe7\xeb\xcc\x5f\xc2\x6c\xc3\x0b\x05\xb7\xf1\xf4\xe1\xfa\x57\x35\xc3\x83\xd5\xfa\xe4\xed\xcd\x76\x44\x76\xf9\x05\x08\xcb\x64\xe0\x34\xc1\x66\xc0\x3b\xaa\x13\x7f\xf1\xe4\x3e\xcd\xc0\x75\x2e\x97\xc7\x57\xe7\x46\x9c\x2e\x9b\x48\xbe\xb8\xc7\x0f\xae\xde\x18\xfd\x65\x53\xf1\x51\xe5\x27\xf1\xea\x8d\x45\x2e\xdd\x18\x63\x7d\xf4\xe4\xd1\x07\xc1\x1a\x9f\x3c\x70\x4f\x3e\xd2\x36\xdb\x01\xeb\x55\xc1\x6b\x60\x6d\xee\x91\xc6\xb7\xcb\xc6\xe8\x9c\x4c\x17\x26\x27\x9f\x44\x12\xff\x9e\x40\x5d\xbf\xf9\x80\xc1\x2b\xb1\x5c\x8f\xa9\x9c\xc8\x4f\xd6\xc4\x27\x49\x89\x9b\x00\x7a\x75\xfa\xff\x98\x79\xf1\xdd\xe6\x25\x4c\x61\xb6\x03\xdb\x1c\x3f\xce\x3b\xcc\xf1\xd2\x04\x1e\x3d\xfa\xf0\xe2\x65\xa7\xff\x3e\x75\x92\x37\xe8\xa1\x32\x5b\x84\xbb\xf4\xc0\x9b\xa5\xfb\x24\xf9\xf7\x3f\xb4\x74\x37\x28\xa0\x37\xcd\x2a\x50\xf5\x61\xb6\xfd\x7e\x9d\x0b\xf7\xf2\xe8\xfc\xe5\xbb\xe5\x4f\xab\xf3\xdb\xc5\x83\xd4\x86\x9c\x99\xa4\xce\x4a\x9a\x9f\xdc\xbc\x99\x1c\x87\x19\x45\xef\x6c\xe4\x6e\x26\x5a\xf6\x2e\x2f\x68\x94\x3b\xcc\x55\x52\x09\x77\x77\xa9\x5d\x9e\xeb\x0d\x3c\xdb\x4f\x0a\x1b\x9b\xeb\x53\x27\x9b\xa8\x72\x5b\xd6\x40\x69\xd6\x67\x98\xa4\xdc\x15\x61\xff\x87\x27\xfb\xfa\x74\x78\x35\x1c\x0f\xb7\x33\x53\xaf\x4a\xe8\x64\xfa\xba\x99\xf1\xd8\x35\x98\x4f\xa2\x50\xca\xa4\x9d\x8a\x7c\x12\x63\x7d\xfa\xf4\xa9\x38\x77\x87\x08\x53\x7c\x20\xf5\xd3\xe6\x77\x03\xbf\xf1\x29\xd8\xfc\x32\x45\x37\xeb\xa6\x71\x9a\x1d\xab\xc5\x24\x93\x0b\xd1\x7f\x9a\x0b\xf1\x9f\x32\xbb\xa3\xe3\x57\xa7\xc3\xf2\xe4\xec\x66\xb2\xb4\xf9\x55\x9e\xc2\x4b\x36\xb9\x5e\xc8\x35\xa3\x7e\xf2\xc9\x78\xca\x39\x7e\xca\xc4\x9e\xe4\x87\x52\xae\xa2\x25\x85\x2b\x21\xc4\x87\x8f\x93\x3c\x4c\x1f\x04\x41\x4a\xb1\x3c\x8a\x9f\x0a\x82\x9b\x96\xb8\xce\x21\xc4\x06\x02\xa6\x32\x45\x67\x5a\xe4\xa9\x92\x84\x4f\x92\x2b\xff\xcb\x20\x78\x73\xb4\x3c\x3d\x39\x3b\x79\x75\xde\x9f\xaf\x86\x0f\x29\x46\x50\x12\xcc\x0e\x83\xaf\xb8\xf1\x68\x6e\xe8\x90\x28\xb8\x34\xfb\xb0\xf2\xa7\x99\x61\xf1\x41\x92\x47\xfe\x1a\x55\xf2\xd2\x34\xc3\xe3\x18\x1f\x5e\x8d\x3e\x5f\x09\xf8\xd4\xe0\x1e\xdc\x39\xe0\x73\x3d\x34\x6e\x40\x8b\x50\xc3\xe4\x5c\x97\x2d\x26\xee\xd2\xc4\xc4\xc3\xc6\x26\x8d\xe1\x93\x5c\xeb\xff\xab\xc0\x78\x3b\x2c\x7f\xba\x39\x5d\x87\xbd\x7f\x21\x79\x92\x63\x95\x92\x9f\xfc\x62\xed\xba\xd9\xad\x71\x0e\x7d\x39\x62\xfe\x24\xd7\xd8\xd3\x47\x59\x1e\xe5\x0f\xce\xee\xf1\x13\x8e\xe9\xce\x76\xeb\x75\xb3\xe3\x1b\x66\x17\xc8\x97\x69\x76\xed\xda\xdc\x7e\xf3\xe4\x98\x3f\x75\x72\xa5\xd4\x74\x87\xc0\x65\xc8\x51\xea\xe3\xbf\x67\x72\x72\xfd\xe4\x2a\xf1\xb4\x72\xed\xf2\x1f\xb7\x70\x39\xe6\x47\x0f\xaf\x9a\x85\x57\xb4\x8e\x28\x35\xdd\x59\x9d\xdc\x9a\xdb\x35\xd9\x41\x98\x5b\x69\xfc\x3a\x91\x73\x33\x61\xe2\xd2\xbc\x61\x26\x9d\x4d\x72\x49\xfa\x24\xb6\xfd\x3f\x36\x35\xbe\x7e\x6a\xec\x37\x73\x9b\xae\xa7\xc9\xf9\xbf\x77\x72\xff\x6c\x82\xbb\xea\x86\xde\x9d\x5c\x35\xe4\x6b\x79\x02\x6e\xce\x60\x72\xd3\xba\x65\xca\x9f\x36\xb3\xbf\x9f\xda\xee\x59\x92\xe3\xd9\x2f\x6f\x5e\x9e\x8c\x98\x58\x4b\x91\x1c\x4f\x86\x83\xa3\xe3\xd7\xbd\x84\xbd\x6e\x7d\xb4\xfa\xf9\xe1\xc9\xfb\xfb\x7b\xae\x73\x9d\x84\x4e\xc2\xde\x1f\x3f\x7b\xdd\xbd\x3a\x1a\xc7\xfe\xf4\xdd\xb8\xba\xbf\xb7\x5a\xaf\x8e\x4f\x0e\x0e\xf6\xba\xe5\x78\xf4\xf6\xd2\x77\x7f\xfc\xec\xed\x70\x7e\xd8\x1d\xdc\xdf\x7b\xce\xd2\x09\xc5\xa1\x52\xec\xf4\xe5\x3a\x76\xae\xe3\xda\x6d\xbe\x70\xce\xf5\x5c\x2f\x9e\x73\xc7\xf2\x88\xbb\x48\x55\x62\x7b\xd7\xaf\x3a\x3e\x63\xee\x82\xfd\xcd\x1d\x73\x3f\x5d\xf7\xf8\xf3\x5b\xee\xb8\x90\xcb\x76\xf7\xc5\x5e\x77\xf2\x76\x58\x22\x7f\x95\x44\xe7\xbf\x19\x09\x93\x3e\x46\x39\x3e\xa0\x1c\x29\xa3\x6f\xd6\x0e\x96\x09\xcf\xbb\x6e\xb7\xa3\x61\xeb\xb6\x9e\x75\xac\x0f\xb6\x47\xdd\x66\xb6\x7d\x13\xe5\xa8\xaf\x0b\xc0\xfd\xf5\x1f\x3f\xbb\x67\x40\xbe\x0d\xd8\x9c\x2e\x01\x9b\x53\xc7\xe9\x13\x81\x5d\x3a\xa6\x38\x24\x8a\x5d\xda\xc0\xda\x77\x9b\x2f\x00\x6b\x7f\xf1\xdc\x75\x65\x28\x5d\xc1\x94\x39\x75\xee\x81\xfd\xe1\xd8\x75\xe5\x16\x10\x66\x92\x78\x09\x7e\xa5\x73\xc3\xf4\xb0\x7e\x5e\x85\xd9\x76\xef\x36\xc0\x4f\x04\xd9\xe9\xbb\xe3\xe3\x7f\x1e\x7e\x86\xdc\xe1\x4d\x87\xd9\x27\x2a\xa5\x13\xaa\xa1\xec\xce\xc7\x95\xa8\xef\x3e\x3c\x60\x47\x35\x77\xf6\x3e\xe1\xd1\x70\xf9\xcb\x4c\x35\xc5\xce\x53\xe0\x30\xb7\xc3\xd6\x4e\xea\xac\x9d\xdd\x8e\x6d\x34\x17\xcf\x85\x7c\xe4\xae\x50\x88\x3b\x58\x48\x91\x95\x30\x8a\xe2\xa1\x4b\x9d\xbd\xeb\x73\x42\xb1\x63\x59\xba\x2e\x50\x28\x9d\x27\x76\xd2\x15\x12\x9f\xbb\x4c\x92\xf5\x4e\xf1\x65\x17\xee\x5e\x69\x21\xc4\xfa\x28\x50\xac\xbe\x13\xa6\xe8\xb3\xd2\x50\x26\x2e\x15\xc4\xb4\x74\x3a\xd4\xc8\xc4\xa1\xa8\xd1\x94\x29\x48\xe8\xe1\xe1\xde\x19\x55\x95\xdc\xeb\xd0\x2e\xde\x70\x25\xd1\xb9\x5f\xfa\xb9\xe8\xaf\x8f\x44\xa8\x44\xe9\x2a\x69\x77\x1e\x60\x0a\x15\x57\x3a\xf2\x48\x5c\x7b\x8f\xb1\x54\x8a\xbe\xf4\x85\x82\xa4\x0e\x29\x65\x79\xd8\x06\x1f\x79\x5d\x84\x10\xeb\x32\x10\xe7\xd0\xb3\x4d\xb2\x57\x18\x97\x76\x8d\x09\x77\xae\xa7\xca\x3d\xb1\x94\x9e\x29\xd7\x9e\x7c\x4a\xbd\x50\x92\xcb\x50\x0d\xbd\x8e\xf2\x62\x97\x5f\x48\x17\xef\x46\x4d\xa1\x63\xd9\x21\xa7\x6e\xa2\x88\x5e\xff\xba\x4a\x50\x77\x44\xf4\x7f\x0a\x6f\x08\xa5\xc3\x1b\xf0\x3c\x50\x76\xb9\x13\x52\x54\xbd\x8c\xa0\x0d\xd1\x33\x55\x05\x6a\x2d\x33\xb9\xef\x7e\x13\x29\xeb\x7a\x52\x28\xfe\x26\x1c\xdf\xed\x14\x03\xb9\x78\xce\x24\x3e\x75\x91\x24\xd7\xcb\x8b\xa1\x08\xa5\x20\x76\xbe\xbd\xeb\x63\x81\xb2\xe4\xae\x10\x6b\x8f\xdb\xc8\x10\xaa\x21\x72\x57\xc8\x39\xdf\xde\x01\xfc\x48\x45\xfa\x4a\xb5\xa4\x4b\xe8\x38\x61\xab\xa7\x28\xe5\x7a\x6c\xbd\xbe\xb5\xee\x72\x6b\x1b\x64\xbc\x76\xc0\x8a\xc5\xdb\x03\xde\x20\x5b\xde\x45\xb6\xd2\x05\x8a\x83\x27\xe5\x16\x13\xae\xe5\x6e\xf3\xb7\xa2\x5a\xbe\x78\xee\xbb\x32\xc4\xce\xa6\xce\xae\x73\x0f\xec\x0f\xc7\xfe\x3a\xbe\xfd\x01\x34\xb3\x0d\x5f\x37\x72\xd3\x0d\x21\x44\x72\xd9\xeb\x52\x39\xbf\xa4\x24\x3d\xe5\x90\x75\x69\x63\x56\xb2\xca\xd2\xae\x85\xb2\xd2\x7e\x4f\x1c\x7b\x52\xd0\x48\xa9\x3d\xb9\x20\xbd\x9a\xd5\x8a\x11\x2e\x90\x0b\xbe\x17\x12\xa6\x94\xf5\xa2\x2a\xcf\xa1\x08\x06\x92\x12\xa5\xd0\x33\x71\xa7\xbf\x26\x5c\x09\x65\x27\x9d\xeb\x88\x13\x39\x2f\xe4\x59\x5b\x20\x9f\x3c\xb9\x14\xc8\x31\x71\x26\x27\x24\x09\x1f\xd5\x29\x8e\x09\xb9\xd0\x53\xac\x8a\xd9\x99\x45\xd7\xc7\xd5\x8b\x37\x94\x9d\xf2\xbc\xe4\xc3\x52\x45\x93\xb2\x4e\x1d\xb3\x0f\x54\xb9\x28\xeb\x61\x8f\x2b\x2a\x21\x74\xca\xfa\xaa\xf7\x3d\x95\xa4\x2c\x4f\x62\xc6\xe5\xa3\x44\x51\xba\x44\xa5\x76\xa1\x2b\x54\x63\xa7\xc4\x4f\x45\xca\x52\xfb\x0d\xa2\xc8\x5b\x55\x8b\x28\x49\xc7\x51\xf4\xe6\xe4\x1f\x65\x68\x18\xe2\xa8\x04\xd0\x4e\xe8\x44\x91\x89\x6b\x27\xb2\x64\x63\x56\xaa\x9b\x14\xed\x51\xa4\xf3\xe4\xc5\xae\x98\x62\xc2\x6f\xd5\x31\x29\x6f\x97\x54\x48\x69\xc8\xe3\x7b\x9d\xba\x02\x4d\x5b\x50\xbe\xaf\xcb\x10\x52\xa2\x9a\x94\x06\x03\xdb\x8d\x3a\xcf\xac\xe4\xe8\x93\xde\x50\x42\xaf\xe3\xe9\xc9\x89\x28\x3f\xd4\x75\x74\xb9\xda\xa5\xae\x51\x06\x68\x62\xf2\x06\x4b\x4f\x99\x75\x3a\x1c\x73\xef\xa9\x38\x05\xa9\x0f\x11\x20\x92\xde\x93\xaf\xb8\x2e\xa9\xf7\xad\xe3\x5a\x92\x89\xf4\x0f\xa1\xdf\x8d\x3c\x6e\x83\x7e\x8e\x38\x29\x2d\x48\x90\x25\x05\x1f\x7b\x8a\xe2\x29\x07\x1d\x85\x84\x76\x51\x23\xd8\x3d\x3b\x9d\x95\x2b\x3d\x89\x93\x9e\x9c\x57\x2c\x0c\x3d\x65\x45\x3d\xaf\xcb\x1e\x29\x28\x08\x1c\x98\x53\x52\x99\x50\x33\x85\x50\xfa\x86\xc9\x9c\xfd\x74\x59\x2a\x03\xf5\x58\xc8\x89\x27\x51\x54\x53\x54\x50\x08\x45\xed\x85\xf4\x17\x8e\xc4\xa5\xe0\x33\x79\x5b\xaa\xe0\x7b\x0a\x5c\xb1\x68\xd2\x53\x2d\xf9\xe2\x0d\x85\xaa\xd8\xc7\x01\xd8\xe7\x62\x36\x14\xe3\x42\x09\x24\x11\x52\xc4\x15\x45\xed\x55\x01\x1c\x63\x4f\xc9\xe9\xda\x61\x0a\xc9\xa5\x47\x81\x38\x29\xab\x08\x02\x96\xdb\x45\x2a\x29\xe1\xaa\x50\x54\x14\x64\x95\x96\x94\xa2\x62\x50\xa8\xba\xfa\x21\x75\x81\x52\x10\x95\xf3\x31\x77\x1c\x88\xab\x12\x33\xa7\xd0\xb1\x4a\x32\xa7\x9f\x4b\x2a\xa9\x62\xec\x12\xb9\xa7\xa8\xc8\x4a\x8a\xfe\x7a\xc5\xe4\xaa\xc7\x8f\xde\x7b\x45\x47\x21\xa9\x8a\x1e\x8a\xff\xfa\x75\x2c\xa0\x0e\xa5\x37\x86\xa8\x95\x0c\xfa\x06\xb3\x34\xdc\x08\x5e\x97\x08\x98\x51\x7a\x72\xd1\x2b\x8b\xd0\x5f\x0a\xe0\x1d\xa7\x4b\xa1\xe2\x3d\xe6\x9f\x6b\x00\x28\x59\xd1\x52\x3b\x61\xfd\x35\xa5\x5e\x1b\x03\x7c\x42\x2f\xe4\x8b\xa2\x9b\xaf\x0c\x14\x2f\x76\x7d\x37\xd4\x9b\xdc\x0b\xb7\xf1\x3f\x95\xb3\x88\x3e\xb8\xbd\xdf\x78\xe1\x6f\xbc\xf0\x9f\xcb\x0b\x27\xdf\xc2\x6d\x1c\xf1\x0a\x42\xfe\xc6\x1d\x3f\x95\x3b\xfe\xc6\x1c\xaf\xc7\xc5\xf1\xe8\xe5\xf0\x72\xb8\xc5\xcc\xde\xd5\x0d\x85\x3b\x56\x54\x2b\xcf\x0a\x15\x17\xd7\x4c\x21\x1c\x26\x0a\x2e\xae\x95\xea\xc2\x25\xab\xaa\xe8\x2f\x5d\x3a\xec\x03\x89\xf7\x23\x2b\xdd\x41\x81\x4f\x4a\xb3\x54\x43\x58\x52\xcc\x6a\xd9\x25\xaa\x41\x28\x0b\x55\xb5\x03\x49\xca\x5a\xd7\x6a\x50\x72\xeb\xf0\x66\x0a\xb8\x1a\x0b\xfa\xeb\xa8\x96\x69\x51\xa3\x3d\xec\xeb\x42\x66\xee\xb8\x1c\xa2\x97\xc1\x13\x57\xb4\x5f\xcd\x5e\xd6\xab\xa8\xac\x6c\x51\x49\x96\xe4\x58\x39\x2c\xd8\x6c\x10\x25\x62\x7d\xb5\x3b\x2e\x9e\x47\x8a\x55\x47\xac\x4d\xc9\x3e\x26\xd9\x65\x0c\x18\x09\xed\x6a\xa6\x2f\x81\x0b\x3a\xe6\xbe\x0d\xba\xdf\x1d\xf5\xd2\x75\x14\x73\x52\x9e\xa3\x68\xee\xc2\xfc\xf3\xa8\xa3\xf6\x18\x75\xa5\xa2\x73\x29\xcf\xd0\xe3\x03\x4f\xe2\x40\xd9\xce\xbc\x09\x8a\xc8\x1c\xa8\xe8\x98\x1f\xe9\x1f\x4a\x99\x9d\xa7\xe2\x4b\xa7\x63\xc1\x28\xef\xe2\x48\x99\x56\xf8\x66\xfb\x72\x57\xfd\x4a\x39\x75\x99\x7c\xf6\xcf\x22\x79\x5f\xd6\x4c\x72\x68\x57\xca\x63\x2e\xad\xaf\xd7\x1f\x3a\xff\xac\x52\xe1\x11\x06\x3f\x93\xb0\xdf\x67\x65\x51\xa1\x8b\x4b\x0a\x85\x38\x64\xca\x25\x51\xa2\x9c\x3d\x58\x4d\x5e\x7b\xa5\x56\x85\x93\x72\x1b\xef\x32\x55\x99\x58\x8d\x4b\x79\x54\x1e\xac\x0f\x65\x05\x13\x77\xec\x0f\x61\xbd\x3d\x52\x88\x70\x54\xc3\x5c\x47\xaf\x62\x81\xe1\x35\xf0\xde\x2f\x22\xa5\x94\x1f\xa9\xb8\x64\xdf\x05\x92\xae\xdd\xec\xbb\x69\x98\x17\xcf\x95\x6a\xa4\xf3\xcf\x12\x71\x1d\xfb\xad\x01\x0b\xe5\x54\xba\xb8\xec\x29\x64\x8c\xb8\xa7\x5c\x22\x25\x1d\x14\x5f\x1d\x33\x79\x97\xa8\xca\xd6\x88\x95\x09\x54\x8c\x58\xdb\xee\xd8\x3f\x43\x5f\x0f\x54\xb2\x48\x67\xef\xe6\x73\xdb\x1e\xee\x95\x9f\xdb\x00\x3f\x66\x61\x3f\xa0\xd9\xbc\x9e\xa4\xc8\x93\xc7\xe9\x21\x3f\xd9\xfb\x8d\x9e\xff\x3d\xe8\xf9\x03\xfa\xc3\x6d\xcb\xfe\x1b\x91\xff\xeb\x10\xf9\x66\x33\xfd\x87\x6d\x97\xcb\x3e\x42\x5d\x3d\x71\xe4\x53\xed\x94\xd4\x0d\xe0\x50\x52\x6b\x5a\x54\x0a\x75\x20\xd5\xb4\xcc\xe5\xd4\x93\x67\xd5\x77\x62\x50\x5a\x4c\x45\x75\xad\x18\x16\x9e\x0a\xe7\x31\x51\xd4\x11\x53\x09\x0b\x6d\xe9\xe2\x0d\xd5\x1a\xfb\x42\x21\x87\xb1\xcf\x54\x4a\x1f\x28\x71\x18\x28\xa9\xba\xd3\xda\x4b\x49\xb5\x6d\x97\x54\x07\x83\x1e\xd6\xba\xf1\x0a\xc6\xb4\x0e\x8a\x7f\x0a\x69\x91\x44\xcc\x55\xf5\x59\x1d\x03\x86\xa0\x23\xe8\x30\x82\xb5\xa7\x94\x0a\xee\x23\x57\x03\xf9\x52\x48\xa2\x1a\x2d\x32\x7a\x2a\xa5\x76\x5e\xb9\x90\x4e\xa5\xe8\x0b\xbd\x50\xaa\xb0\xdd\xb6\xe6\x47\x5e\xe9\x3a\x96\xb8\xc8\x24\x25\x0d\x94\x82\xea\x9b\x65\x1a\x95\xa8\xe5\x94\x2e\x9e\x2b\xc2\xd5\x4e\x60\x2e\x8d\x7d\xa1\xa8\x86\x81\xe7\xbc\xee\x2b\xa5\xa4\xa8\x1a\xb5\xcb\xb2\x16\xd5\xf3\x46\x78\xb1\xa1\x07\x46\x1d\x82\xf6\xe8\xa7\x26\x5d\xa2\x18\x65\x1d\xa9\x56\x3f\xec\x0c\x25\x25\x8a\x25\x8c\x91\x10\x02\x08\x79\x50\x3c\xd1\x97\xfd\x1e\x95\x50\x9c\xf3\x63\x50\xa6\xa8\x2a\x7a\x0c\x6a\xd2\x05\xbd\x5d\x35\xe0\x4c\x4e\xd5\xd2\xc2\xe1\xe2\x4d\x50\x6b\xa9\x4f\x0a\xcd\x5d\xf8\x67\x9d\x92\x2b\x32\xf6\x60\xc8\xaa\x92\xf6\x81\xa2\x8f\xba\xb4\xc2\x0b\xe5\x58\x69\xd4\xf1\x87\x7e\x1a\xff\x66\x88\x4e\x2d\xd3\x28\x0b\x5d\x3a\x6d\x38\x51\x4a\xad\xe1\x5a\x61\xb5\xee\x0b\x79\x51\x33\x2f\x4b\xba\x84\x49\xa2\x4b\xbc\x66\x47\xc1\x56\x38\x44\x62\xaf\xe8\x42\x5e\x67\x3e\xaa\x01\xa8\xca\x7b\xf2\x61\xbb\x69\x8a\x21\xa9\x7d\x31\x16\x58\x59\x6a\x0b\x96\x9d\x51\x31\xf4\x5a\x76\xc0\xd1\xca\x6a\x76\x49\xba\xb8\xd6\x1b\xfe\x01\xbd\x77\x43\x57\x1f\x36\xc1\xae\xa3\x2b\x0e\x66\xc5\x38\xb5\x5f\x46\xb3\xba\xd4\xa6\x92\x35\x14\xf7\x41\x7f\xc5\x1d\x06\x11\xf1\xa5\x57\xf1\xb4\xaf\x64\xa7\xc2\x2c\xa6\xb2\x60\xf2\x8a\x04\x9d\x0a\xc9\xbc\x8e\x94\x43\x52\x63\x3d\xd6\x3e\x51\x88\xca\x16\x25\x92\x2b\x71\xa0\xa8\x4a\x7f\x6b\x2a\xba\xd4\xc3\xa3\x10\x6a\x42\x63\xad\x87\xe8\xd5\x44\x58\x2b\x1b\x14\x05\x3a\x67\x25\x18\x90\x9b\xf8\xac\x9d\x8f\x42\x45\x6d\x1c\xca\x9c\xd7\x42\xb9\x46\xdc\x17\x85\x5c\x66\x92\xaa\x4c\x4d\x6d\xda\x51\xa8\x26\x45\x35\xef\xfc\x40\xd1\x89\xbe\xda\x02\x79\x72\x6a\x37\x6e\x75\x4d\xa2\xb6\x7b\x08\x69\x11\xc8\xe9\x7a\x85\xaa\x06\xd7\x44\x05\x12\x92\xce\xbc\x5c\x3c\x2f\xe4\x3c\x84\x60\x4d\x63\x9f\x28\x7a\x5d\xbd\x52\x17\x4a\x5e\xfb\x48\xab\x54\xcd\x40\x47\xc6\x25\xee\x7b\x38\x5b\x22\x49\xd6\x16\xb3\xbe\x66\x58\x0a\x05\x59\x07\x8a\x29\x63\x02\xa5\xa8\xfd\xaf\xa8\x25\xb9\x52\x08\x71\xf4\x98\x80\x2a\x24\x4b\xe2\xa0\x36\x3e\x79\x57\xc9\xa5\x42\x01\x56\xb1\xf2\x0e\x04\x2e\x62\x52\xf8\x3b\xb5\x0f\x73\xe8\x23\xf9\xcc\x4a\x28\x21\x5c\xbc\xf1\x94\x72\xec\x03\x95\x78\x79\x05\xa2\x92\x67\xf2\x8a\x84\x5c\xb4\x9f\xb4\x1f\xc8\xa2\x5d\x71\x11\xa9\x26\x3f\x0a\x65\x0f\x03\x90\xe3\x70\x09\x5c\x3e\x28\x40\x16\x14\x6a\xd9\x85\x6e\xaf\x5a\x0c\x05\x49\xfb\x94\x43\xec\x3c\xa5\xe1\xf2\x22\x87\xa8\xb0\x5c\x67\xaa\x21\xd9\xdc\x33\xb1\x4b\xe4\x63\x21\xc9\x81\x42\x90\x31\xab\x3d\xae\x28\x86\xc5\x0b\xfa\xb2\x9e\x03\xe4\x66\x19\x71\xbb\x0a\x03\x7f\xa9\x03\x62\x9f\x7a\x2a\x81\x55\x54\xd4\x02\x5b\xbc\xf8\xbf\x93\xbe\xee\xa4\x9f\xde\x3d\xbc\x65\x6a\xcd\xbb\xd3\xf1\xff\xfc\xee\xee\x75\x9a\xfe\x73\x6f\xca\x0a\xb8\xc4\xdb\xf9\x5f\x80\xb9\xf3\xff\xdb\xcc\xfd\xde\xc7\x2c\xfc\xe5\x62\x54\xff\xb9\xd1\x82\x8a\x2a\x41\x9c\xab\xa9\x41\x1b\x2d\x28\x7f\x50\x0b\x8a\x0b\x4f\xb9\xa6\x2d\x2d\x68\x9d\x29\x06\x0f\x35\x28\xfd\xe3\xd4\xa0\x78\x8b\x1a\xb4\x60\x4f\x71\x4b\x0b\xaa\x4d\x09\xf2\x97\x95\xa0\xaa\xaf\x3b\x29\x41\x29\xde\xa4\x04\x7d\x9c\x62\x7a\x27\x4b\xe4\x1f\x43\xe0\x37\x16\xd8\x6a\xeb\xac\x22\x06\x12\x26\x42\xc2\x08\x70\xa8\x64\x15\x31\x2e\x8f\x81\x6a\x81\xeb\x3d\x41\xc6\x78\xc8\x18\x84\xa5\xd3\x35\x42\xc6\x4f\x42\xc6\x1b\xa3\xad\xd7\x09\x99\x59\xc6\x98\x88\x29\x6a\x26\x34\x11\xa3\x2b\xc3\x0e\x4a\x41\x0a\x70\x89\x17\x08\x99\xfd\xcd\x20\x4d\xc6\x08\x64\x8c\xdc\x26\x63\x54\xc4\xf4\x9e\x42\xf4\x3d\x53\xaa\xa2\x42\x26\x56\x08\x19\x84\x22\xd8\xdf\x2c\x64\xf2\x2d\x42\x06\x9a\x48\x2d\x57\xb4\x15\x88\x99\x0c\x31\x63\xba\x44\x49\xc4\x2e\x92\x8f\x79\x47\xcc\xa8\x05\x1b\x05\x62\xcc\xcf\xb1\xf0\x1d\x39\x13\x20\x67\xe2\x6e\x0f\x93\x9c\x31\x31\x23\x10\x33\x72\x37\x4a\xbf\xb1\x98\xd8\x7f\x6e\xe9\x65\x30\x17\x9d\x8f\xdb\x7a\x99\xda\x62\xe5\xea\x4c\x7d\x9e\xf4\x32\x44\xdf\x43\x5d\x20\x56\xa0\xb8\x82\x30\x4a\x95\x08\xcd\xcc\x43\x33\x2b\xd0\xcc\xfc\xd8\x27\x0b\x9b\x7c\x84\x66\x06\xc5\xec\x16\xbd\x4c\xb6\xf4\x32\xb9\x45\x2f\x83\x5a\xc6\xd7\xa9\x65\x69\x17\xc6\xdb\x6a\x19\xdf\xa0\x95\xe5\x8f\x21\xf5\x9f\x6e\xb1\x41\x77\x9c\x88\x42\x2c\xa9\x63\xc5\x9e\x32\x06\x8a\x11\x69\x38\x69\x50\x75\x56\x5a\x66\x84\x28\xd4\x54\x04\x26\xd5\xb7\x7c\x08\xfa\x6b\xfb\x1a\x16\xb4\xf2\x41\x95\xd1\x25\x49\xa7\x8c\x31\x6e\x3f\xae\x40\x95\xce\xed\x6b\x4f\x51\x7b\x8a\xf5\xc1\xce\xf3\xa2\x5f\xfa\x2c\x0b\x35\x2d\xf3\xd2\xf5\x0a\x72\x17\x4a\x0f\xf0\xb3\xc4\x9e\x84\xf3\x3e\x3b\xaa\xa5\x50\x2e\x97\xba\x27\x9f\xb3\xde\xa0\x48\x53\x77\x3b\x66\x49\x78\x34\x51\xaa\x5d\xa1\xe8\xf1\xa8\xd8\x80\x00\xdb\x76\x87\xaa\x06\x05\x0a\xaa\x75\xdd\x7a\xc6\x6f\x63\x54\x1d\x57\xd1\x4b\x95\x87\xb9\x79\x67\xad\x5c\x4e\x4d\xa2\xac\x4c\xaa\x82\x83\xc5\xa8\xf0\x4a\xaa\x15\x6f\xf5\xca\x5b\x9d\x4a\x0c\x57\x3a\x8d\xe8\x74\x0b\xda\x3b\xd0\x82\x13\x4f\x89\xd5\xa0\xb5\x03\x0a\xcc\x67\x82\x96\x27\xa7\xa3\xb9\x04\x2d\x15\x1c\x5b\xe0\xba\x7e\xc6\xbb\x73\xaa\x08\xd6\xa8\xe0\xf4\x87\x54\x25\x28\xd6\x4b\x1c\x85\x52\x42\xf8\x42\xe2\x21\x93\xc0\x63\x51\x55\xe2\x3a\x27\x08\xf2\x29\xbf\x09\x29\x1e\xaa\x9e\x50\xf0\x73\x29\x30\x23\xbc\xd2\x97\x78\x7f\xd8\x6b\x73\x0b\xb4\xfc\x91\xb8\x7d\x27\x07\x79\x31\x36\xae\x14\x5c\x94\xbf\x23\x45\xb0\xf0\xa0\xca\x8b\xbe\xda\x62\xe4\xd4\x39\xa5\xea\xe0\x95\x73\x2b\xee\x02\x14\xb3\x7b\x88\x94\x85\x90\x34\xfe\x19\x76\x1f\xef\xed\xf9\x7d\xb6\xbe\x98\x4a\x7c\x40\x9c\xbd\xbe\x2c\xfd\x50\xbf\xcc\x0b\x4f\x35\x18\x6a\x27\x26\xe7\x7d\x4f\xcc\x18\x5f\x4f\x1c\xf7\x33\x22\x53\x92\xd1\x78\xb2\x26\x41\x78\x29\x10\x47\x40\x6b\x77\x54\xaa\x4e\x16\xe2\x68\x12\x47\x25\x9b\xcd\x6b\xee\xd7\xb5\x3b\x42\x5d\x07\x62\x31\x2c\x4b\xa2\x56\x1d\x14\x97\xf6\xb8\x27\x8b\x9e\x26\x59\xaa\x6a\x4b\xce\x13\x8b\xe0\x23\xa7\xcb\xc8\xad\x04\x04\x95\xca\xc4\xe5\x75\xdd\xf2\xdc\xab\xa7\x24\xd6\xa9\x4e\x77\x9a\xad\xfe\x04\x58\xcb\x06\xd6\xf3\x7c\x1d\xa2\xc4\xc4\xd1\xa0\x75\xcd\x7c\x00\xac\x42\xd9\x95\x2b\xc0\x52\x3e\xb9\x81\xd6\xf5\xd3\xdd\x9d\x4e\x22\x5f\x58\x85\x0f\x87\x72\x48\xa5\xe6\x45\x21\x16\x1e\x99\x8a\x47\xea\x9d\xe4\x43\x26\x4e\x61\x3f\x43\xbe\x64\x4a\x41\xd9\x3f\x43\xd3\xe4\x1a\x9f\x15\xb5\x1e\x75\xf1\x72\xe9\x32\x71\x48\x8b\x48\x21\xe4\xc3\x5e\x5b\x5b\x07\xca\x8e\x3f\x12\xaf\xef\x9e\xf9\xb0\x23\x71\x3f\x5c\xa8\xb2\x49\xdc\x4f\xa5\xe5\xb8\x4d\xcb\xfe\x2e\xb4\x7c\xf7\xa1\x5e\x2e\x39\x39\x29\x07\xff\x66\xac\xf4\x4e\xb0\xb8\x5c\x9e\x72\x82\x45\x42\x14\x80\xa3\x1a\x74\x6a\x45\xc6\xd8\x5d\x11\xd3\x93\x9c\x85\xb0\x83\xca\x1a\x77\x81\x05\x69\x87\x29\x2d\x0a\xe5\x78\x55\xd0\xda\x8f\x1b\x2d\x20\xef\x88\xbb\xf9\x61\xbe\x06\x0c\x06\x29\x13\xf1\x91\xea\x25\x38\x77\x00\xf0\x1a\x89\xfe\xf1\x86\x55\xaa\x94\xf5\xd1\xcb\xbd\xea\xe7\xa8\x9a\x85\xef\x67\xcd\x62\xd3\xb2\xeb\x4d\xf5\xd0\x25\xee\x67\xd5\x64\x7a\xb8\xdf\x12\xd1\x1f\x43\x7f\x77\x49\xf4\xb8\x7e\x21\x6f\x2c\xc3\xf9\x9f\x7b\x37\x7a\x27\x3f\x9d\x0f\xd5\x8f\xe1\x43\x37\xf8\x85\xee\x3e\xa5\xcb\x95\x37\x67\x33\xee\xdf\x46\x2a\xdc\x09\x0c\x97\xeb\x73\x6e\xdc\x55\x92\x91\x3b\x2f\xa5\x98\x58\x8e\xdd\x55\x75\xa3\xe9\x0b\x70\x58\x78\xe4\xf3\xc8\x2e\xa8\xe6\x19\x2d\x22\x65\x05\x56\x3f\x0d\xb9\x9f\xc6\xdc\x9b\xe4\x66\x64\x82\x5b\x07\xb3\x66\xe0\xe6\xc7\x29\xc8\x75\xb0\x00\xb0\x4c\x5b\xf1\x94\xd5\x9c\xbc\x46\x6b\x88\x0b\x55\x5a\x0c\x5c\xbc\xbb\x52\x71\x4c\x54\x04\xd1\xd0\x9c\xae\x55\x1a\x46\x28\x4b\xfd\xac\x2c\x6d\xc6\xa6\xac\x02\xb2\x03\x99\x30\x6d\xa1\x67\xd8\xb8\x7e\x4b\xe9\xb8\x8d\x5c\xdf\x9d\x1f\xba\xbb\x64\x47\x67\x2a\xa1\x76\xfe\x19\x8b\xd2\x92\xcb\xca\x5d\xfc\x61\xd4\x6f\x95\x63\x64\xa0\xad\x8f\x6a\xb0\x17\x57\xf4\xd7\xe4\x97\x9e\x5c\x40\xee\x12\x97\x2e\x90\x0b\xdc\xc7\x96\x57\x54\x25\xf4\x95\x9c\xec\x4f\x0d\x5f\x3c\x0f\xca\x71\xba\x32\x37\xbb\xcf\x2d\x96\x19\x65\x7f\xf3\xdb\x52\xa5\x26\x67\x15\xa1\x6a\xc9\x31\x5c\x75\x6a\x44\xa2\xcd\x4e\xdb\xc4\x00\x4b\xaf\x43\x10\x1b\x5a\xaf\x43\xcb\x17\x6f\x36\xf7\x68\xe3\xc2\xe3\xe6\x57\xfd\x82\x03\xe2\xba\x99\x24\x15\x35\xa3\x52\xbc\x1b\xf8\xee\x90\xdd\x2b\x6a\x61\x77\x7c\x08\x71\x33\x32\x05\x97\xbb\x40\xbe\x1c\x06\x8a\xa1\x98\xcb\x4d\xa5\x10\x72\x59\x5d\xea\x02\x05\x17\x97\x42\xe6\xe5\x10\x55\x19\x38\xf8\x3e\x90\xf7\x70\xcb\x66\x78\x4b\x39\xed\xa3\xbc\x5d\xc7\x17\xcf\x85\x5c\x50\x9e\x6f\x6d\xc6\xfd\xd2\xf1\x33\x4f\x21\xee\x6f\x7e\x58\xf6\x54\xac\x9b\xa2\xd2\x2a\x74\x91\xa4\xa2\xb5\xd8\x69\x6b\x71\x3f\xa2\x2f\x65\x8d\xb3\x17\x30\xb1\x28\xe0\x36\xf7\x94\xce\x74\x5d\xfc\xe8\xf4\xef\x4a\x39\xc4\xcd\x1c\xee\x08\xb5\x4f\x4a\x4c\xcd\x48\xa7\xbc\x23\x1a\xe6\x1b\xd0\x50\xb6\xd0\x30\x6e\xa1\x61\xb9\x06\x0d\xcb\x06\x0d\xff\xa9\x58\xc8\x7f\x37\x16\x7e\x52\x5e\xe5\x6f\x78\xb9\x0d\xc7\x9f\xef\xe8\xe8\x49\x54\x5a\x08\xb4\x98\x6b\xba\x14\x72\x9e\x29\x0a\x36\x04\x51\xaa\x10\x46\xc6\xaf\x03\xf9\x58\x49\x42\xa5\x98\x78\x20\xef\x0b\xf2\x35\x4c\x94\xc7\x40\x8c\x18\xbf\x53\xb5\xcf\x85\x4c\x1c\x63\xaf\xda\x0b\xf2\x8c\x7a\x0a\x95\xbc\x6a\x71\x3e\x7b\x7d\x4d\xca\xa9\x13\x72\x79\xd9\x93\xcb\x96\xf2\x1a\x53\x4f\xce\xd7\xde\xfc\x9f\xcc\x03\xaa\xcf\x75\xf6\xde\x9e\x29\x3d\xf9\x84\x74\x4f\x29\xed\xbd\xfd\x12\xb8\xa7\x90\x96\x3d\x25\x97\x29\xb3\xae\x2d\xb2\xb4\x5d\x46\x54\x05\xfe\x5b\x64\x0f\xa7\x68\x79\xd2\x48\x19\xe2\x92\x91\x4c\x8b\xb0\x49\x8f\x34\x4c\xf2\x39\xf4\x14\xf5\x57\x24\x75\x46\xcb\x4e\xaa\xb1\x43\x3c\x40\x30\x3c\x26\x51\xfd\x42\xa5\x96\x8b\x14\xb4\xdd\x80\xe8\x2c\x12\x77\x93\xcb\xc8\x99\xcd\x36\x1a\x81\x03\x9f\xa2\xcf\xc8\xbf\x2d\x82\x7a\x89\x06\xf1\x40\xb1\x04\x62\x27\xba\x1c\x0a\xec\xb5\x8e\xa4\xaa\x98\x8f\xb6\x23\x2e\x5a\x0e\xba\x6d\x89\x63\x73\xfe\x49\x50\x30\x85\x9e\x52\xee\x11\x0f\x64\xa5\x34\x5c\x0e\x9e\x22\x3c\x13\xa1\xc9\x50\x6b\xbe\x4b\x64\xaf\xe9\x4b\x38\x13\x14\x41\xbd\xb4\xf7\x06\x48\x95\xfe\x8e\x29\xe4\xac\xaf\xd9\x50\x08\xe4\x24\x2c\x75\x5d\xb0\x58\x88\x8b\xe4\xd2\xae\x24\x98\x57\x7b\x69\x66\x12\xd2\xba\x94\x55\x91\x53\x4c\x90\xec\x1f\x50\x2c\x5e\x5f\xcd\xc1\x17\x29\x72\x58\x92\x64\x51\x44\xa1\x58\x75\x3e\x31\x53\xc5\x24\x86\x80\xd4\x6d\x7b\x87\xd3\x84\x84\x03\x50\x6a\x89\xf4\x2d\x24\x08\xbb\x40\xc2\x48\xf5\xa6\xe4\x29\x48\xa6\x20\x94\x02\x12\x7d\x53\xbb\xa8\x9c\xd6\x42\x51\xe4\x50\xc7\x74\xf1\x46\xf5\x30\x55\x48\xb9\xf8\xa5\x76\x88\x75\x11\x31\xb4\x2d\xce\x46\x23\x46\xc2\x14\x45\x47\x95\x22\x29\x42\x84\xaa\x5a\x78\x68\x78\xcd\x0a\x77\xb6\x34\x76\x0a\xb5\x82\x3b\x23\xa0\x0b\xa0\x04\x16\xbb\x48\x39\xaf\x7b\x60\x7f\x82\x03\x37\x6d\xb9\x71\xb3\x02\x89\xbd\x47\xf6\xb3\xbd\xb5\x1f\x3c\x06\xa4\xc8\x1c\x05\xe0\xae\xaa\x4b\x29\xce\x26\x0b\x71\x49\x54\x63\x12\xf8\x6a\x8e\x6b\xbd\x28\x70\x5a\x23\x84\xe9\xaa\xaa\x93\x05\x28\xa6\xe8\x86\x48\x73\x8d\x14\x92\x7d\xc5\x59\x3f\x2f\xde\x24\x35\x8e\x4a\x60\x5d\x57\xa5\x0a\x23\x3d\x27\xbe\x27\xa9\xa9\xad\xb0\x4b\x06\x1f\x5d\xfb\xdc\xe8\x14\xab\xee\x9d\x9a\x20\xa9\x22\x1d\x8f\x07\x06\x69\xda\x7b\xd3\x5c\x0d\x4a\x86\x15\x6a\x92\xf9\x1e\xc3\x50\xaa\xd3\x8b\x43\xca\xc9\x2f\x15\xa2\x1d\x62\x91\x2a\x4f\x02\x79\xe7\xb5\x63\xbd\xdd\xb8\x09\x6b\x9f\x78\x79\x17\x46\x26\x0f\xe5\x8c\x95\x37\x03\x2f\x70\xbd\x34\xde\xa1\x77\xb9\x12\x0d\x9b\x90\x25\xe6\x5d\x18\x28\xfa\xa8\xaf\xe6\x1f\x66\xc1\xd4\x0e\x29\x89\x6c\xba\x8f\xd6\xbb\x2d\x9d\x29\xd9\xe8\x3d\x5b\xf7\xc8\x29\xd3\xee\x05\xbb\x4a\x38\x23\x15\x32\xf5\xb8\x5e\x36\x04\xd0\x1b\x5b\xdf\x8a\xf9\xd6\xb7\x2b\xfa\x6a\x7d\xbb\xd0\xfa\xce\x12\x96\x0a\x16\xa4\xe6\x57\x40\x07\x9f\x8c\x18\x80\xcd\xc6\xb9\xd2\xd6\x80\xa3\x12\xd6\x80\x10\xab\xe5\x31\x4e\x30\x8e\x51\x1f\x1b\x91\x78\x9e\xc0\x13\x97\xc0\x9e\xc6\x85\x15\x57\x74\xbd\xbc\x25\x84\x6c\x05\xca\x18\x8b\x8c\xc1\x28\x63\xab\x40\x02\xb0\x62\xb0\x17\xa7\xc8\x0e\x6c\x6b\x58\xe0\x7b\x23\xe7\x2d\x2c\x40\x6e\x20\x8b\x76\x2e\x4e\x41\xe1\x44\x14\x4d\x6b\xed\x94\x09\xc4\x25\x38\xba\x8d\xc4\x95\x68\x1b\x52\x00\x49\xb4\xab\x20\x46\x8b\x99\xad\x13\xcf\x3c\x8d\x27\x5f\xbc\x61\x5d\x15\x1e\x74\x79\xb1\xde\x5d\xdb\xdb\xcd\xca\x25\x58\x99\x11\x60\x54\x7d\x4f\xa9\x1a\x6a\xa9\x85\x1b\xdb\xb0\xe1\xaf\x71\xf0\x44\xb4\xa1\x4a\x10\xb0\xa5\x81\x62\x54\xd1\xde\x20\x18\x8c\x59\x29\xa1\xd6\x02\x64\xc5\x46\x1d\xbd\x37\x10\x67\xb0\xda\x81\x42\xa0\x10\x9a\x93\x49\x99\xa1\x2c\x81\x1f\x8e\xe1\xcb\x30\x5c\xd1\x65\xcc\x05\x3c\x43\xbf\x8b\xd1\x93\x30\x15\x04\xde\x3c\xb6\x01\x25\x95\xfa\x01\x04\x5a\xc5\x08\x35\x54\x5d\xef\x92\x61\xea\x61\x6f\x85\x4f\xc0\xa1\x81\x8a\xaf\xfa\x6a\x91\x39\x15\x2d\x19\x7b\xa7\xb1\x7f\xba\x99\x70\xdc\x53\x0c\xe0\xcc\xa1\x4d\x13\x37\x2a\x13\xcb\x4a\x67\xc1\x21\x94\xc6\x90\x9d\xba\x22\x51\x25\x05\x97\xde\xf6\x30\x04\xec\x88\x91\xa0\x6d\x57\x45\xb0\x12\x61\xb1\xc7\xd4\xc0\xe3\x2b\x9e\x86\x48\xf2\x92\x01\xd1\x84\xec\x63\xec\x2d\x42\xb7\x12\xc9\x6b\xfb\x21\x65\xd5\x10\x7a\x4a\xbe\xaa\xf8\x86\xf4\x36\x64\x23\x15\xad\x01\x8e\x43\x5f\xed\xcd\x76\xf1\xea\x60\xbc\x92\x61\xc6\x2e\x15\x6f\x3b\x52\xa0\x86\x78\x65\xd4\x46\x95\xc1\x72\x97\xa2\x4b\xd0\x4e\x40\xe6\xbe\x2a\x39\x01\xe2\x21\xc0\xab\x8d\x95\x09\xd9\x58\x49\x0d\x18\xaf\x85\xf4\xbd\xbe\x9a\x13\xdd\x7b\x63\x86\x42\xa1\x79\x0d\x55\x48\xc7\xbc\x48\x64\xc1\x3b\x08\x37\x95\xd0\xc0\xcd\x8a\x0c\x0c\x65\xb0\x3c\x93\x4d\x34\x25\xcf\x53\x44\xce\x49\x6c\x51\x7b\x53\x14\x40\xf7\x4b\x05\xad\x57\x6a\xca\x55\xf9\x19\x36\x69\x2b\xd4\x80\x87\xdc\x68\x27\x45\x53\x37\xf4\x22\x41\x32\x98\xd8\x54\xe1\xeb\x22\x86\xaa\x48\x34\x31\x20\x9d\xa6\xd2\x6c\x89\x89\x82\x94\x91\x5b\x60\x77\x49\x7a\x43\xa1\x9a\x74\x5a\x55\xf9\xa2\x6a\x41\x2a\xa9\x14\x08\xc8\x30\x4a\x25\x36\xab\xc2\x01\xe1\xbc\x07\x79\xe8\x52\xa9\x32\xe6\x55\xc8\x98\xf8\x4b\xd1\x56\x3a\xa8\x54\x8e\x49\x1f\x4d\x6d\xd0\x55\x55\x23\x6f\xcf\xea\xe2\x07\x9f\x06\x4f\x6a\x44\xe4\x99\x3a\x59\x65\xec\x25\xa7\xef\xb5\xd9\xad\x96\x7b\xae\xf4\xe3\xfc\x12\x3b\xb7\xb0\x59\x49\x7a\x95\x52\x9d\x6a\x44\xb9\xaf\x14\xa6\xcb\x40\xa1\x48\xe7\xfa\x02\x89\xcd\x94\x62\xed\x99\x29\x22\x06\x1f\x38\x6e\xe8\xbb\x31\xaf\x88\xc9\x28\x74\x83\x57\x8c\x33\x7d\x00\xb9\xd3\x9d\x2e\x09\x12\x94\x63\x69\xd7\xa2\x82\xb0\x73\x5d\xa4\xaa\xa4\x1f\xab\x74\x85\x0a\x74\xbd\xe2\x00\x6e\x13\x5e\xb9\xaa\x86\xa0\xcb\xa6\x1a\xda\x87\xfd\x68\xd7\x4e\x1d\x3a\x09\xf2\x9f\x8b\xf2\x5d\x2f\x88\x64\xf7\xd2\xd4\x29\x87\x5d\x86\x2a\x81\xd9\xfc\xb8\x6d\x07\x58\x31\x8d\xd5\x98\xb1\xd5\x85\x48\x5e\x31\x4b\x90\xf9\xa4\x84\x9d\xbd\xef\x42\xc3\xae\x8a\x81\x62\x99\xb1\xab\x30\x42\x93\x0d\x3a\xfb\xea\x74\xd5\xd9\xd8\x5b\x60\x6f\x42\xd3\xcb\xc4\x9e\x65\xce\xab\x76\xaa\x3f\xab\x0c\x4b\x19\x09\x18\x72\x73\x4a\xd9\x07\xc2\x1a\x3f\xdf\x31\x4e\x17\x28\x72\x97\x29\x59\x00\x96\x2b\x36\x49\xfa\x98\xc9\xc5\xa2\xba\xb6\x9a\xbf\xc6\x73\x6b\xb2\x0c\xa6\x4c\x1e\xce\x78\x8f\xd8\x43\xa3\x69\x9f\x89\x9b\x8f\x0f\xfb\xb4\xbc\x60\xa7\x21\xa9\x1a\x35\xf6\x6a\xed\x91\x08\xfc\xc3\x2a\x98\xe6\x10\xb1\x57\xad\x5c\xed\x39\x07\x43\xc1\x9e\x71\x02\x21\xaa\x90\x0c\x03\x23\x13\x88\xa7\x7c\x20\x7d\xa8\x2a\xe2\x45\x56\xc8\xfb\xdc\xde\xdb\x4f\x40\x40\x88\xc2\xc0\xaa\xfe\x71\x4f\xd5\xe7\x96\xfc\x11\x55\xbb\x44\x1a\x03\x76\x2f\x52\x51\xf5\x80\x45\x59\xae\xc3\x83\x50\x65\x92\xa9\x7c\xba\xa2\xd8\x22\x5a\xec\x4a\xd7\x1d\x56\x49\x50\x13\x2c\x61\xe7\x25\x85\x82\xdd\xa8\xe4\x11\xad\xc8\x05\xab\xae\x5d\x77\x4d\xf9\xd0\x51\x70\x31\x4d\xd1\xc4\x57\x4c\xc1\x40\x0a\x48\x67\x42\x3e\x4c\x62\x85\xb1\x09\x45\x65\xfd\x01\xf9\x11\x3a\x9c\x54\xa0\xac\xf7\x54\xa2\x0e\x56\x21\x9a\xb4\x8b\x58\x5a\x6a\x02\xf0\x50\x4c\x21\x4e\x5d\x0b\x8b\xa8\x66\x80\xed\x25\x2e\x0f\x41\x75\x28\xbc\xb5\xdc\x8b\xac\x3a\x21\x63\x4f\x6d\x6c\xef\x0d\x7a\x25\x21\x39\x47\x92\xbe\x66\x87\x28\x2c\x0c\x98\x8e\x98\x3f\x43\xa1\xc3\x68\xf4\x8a\x53\x5a\x2b\xd4\xcc\x59\x8a\x9b\x55\x61\x51\x8c\x40\x8b\x03\xf9\x5a\xf5\xd5\xa4\x39\x74\x1a\xd5\x43\x0b\xd8\x7a\xa2\xa0\xc4\xc1\x39\xc1\xbc\x12\x65\x22\xe0\x94\x11\xcf\xab\x28\xf3\xf6\x99\xbc\xed\x27\xd4\x67\x38\x60\x6f\x4c\x55\x9e\x28\x24\xd5\x43\xd3\x0e\xd8\x92\x92\xf4\x53\x7f\xe5\xb0\x66\xca\x5e\x8d\x91\x8b\x37\xa0\x76\x95\x2a\xac\xc2\x2f\x9a\xf0\x4b\x86\xa8\x31\x14\x1b\x0a\x30\xcb\xa5\x40\x5e\x99\x12\x17\x25\x45\x25\xd4\x20\x03\x95\x50\xe0\xf1\xb1\x68\x0c\x4c\xd7\xc0\xaa\x07\x0b\x70\xc8\x20\x22\xc5\xdb\x45\x48\x71\x91\xc9\xf9\x41\x47\xd8\xe1\xcd\xa0\x0f\x65\x4f\xf9\x47\x45\x72\x73\x9d\x73\x5f\x14\x1a\xde\x2b\x7b\xc2\x2e\x4f\x4a\x6c\xd2\x5f\x05\x9a\xd9\x63\x19\xf3\x56\x58\x93\x57\x5d\x5b\x92\x6a\x37\x93\x36\xad\x56\x99\x12\x61\x4d\xd8\x26\xcd\x52\xd4\xdc\x51\x28\x00\xd5\x62\xac\xfa\x79\xf1\x26\x40\x3b\x8a\x19\xce\x80\x9a\xcc\xbe\xec\x9b\x11\xe9\xa6\xa5\x75\xc1\x88\x58\x97\x54\xc1\x9f\xda\x6a\x8b\x2b\xd0\x3f\x63\xaf\x2a\x40\x1e\xa8\xfa\xa2\xaf\x59\xbb\x53\x64\xe4\x30\xe3\x82\xca\x08\x1d\x06\x2b\xcf\x65\xef\x0f\x95\x15\x2f\xc9\xb6\xc8\x1a\x41\xa8\xf0\x74\xd1\x63\xd3\xb6\xae\x86\x53\xfc\x74\x19\x2f\xed\x8e\x8a\xc9\x7e\x1f\x09\x51\xcf\xa8\x12\xd8\x58\x84\xea\x27\xb1\x34\xd0\x98\x9b\xa3\x0c\x26\xe7\xd3\x94\x3d\xc3\xd0\xa4\xfd\x21\x05\x49\x97\x3a\xc6\xa1\x2d\x5b\x1d\x97\xd6\xaf\xb4\x7e\xd1\x6d\x2e\x54\xa5\xc7\xc5\x40\x21\x56\x14\x35\x31\x54\x86\xba\xeb\x8a\xae\x86\xbe\x5a\x87\xae\x4c\x1d\x56\x1d\x68\x01\xae\x29\x0c\xb4\x1f\xc0\x02\x88\xac\xc4\x6f\xd9\x8e\x06\x70\x38\x82\x06\xca\xa9\x60\xef\x4d\x83\xa7\xc7\x2a\x02\xe4\x05\xa2\x46\xb0\x6e\xbe\xf5\xee\x52\x25\xce\x30\x16\xb5\xe7\x3a\x90\x0f\x9b\x2d\x63\xaa\x67\xe8\x48\x94\x5d\xe8\x63\xec\xcc\x9d\x90\xa7\xe5\x6e\xb0\x99\x97\xbb\x4c\xcb\x9d\x27\x59\xc8\x61\x5f\x0d\x70\x35\xc2\x7c\x1e\x95\xe9\x75\x8a\x67\x2a\x46\x9d\xa4\x36\x88\x58\x9a\x7f\xa7\xb5\x08\x78\x96\x96\x64\x01\xb2\x60\x90\x05\x06\x02\x43\xb8\x78\x1c\x38\x32\x78\x15\x3e\xbe\xe5\x85\xa9\x8a\x2b\x40\xca\xa5\x22\x77\xea\x8d\x2b\x87\xac\x0c\x40\x4d\xe5\x04\x0c\xe4\xd0\x58\xa3\xc5\x4e\x83\x6f\x63\x65\xd5\xa4\x38\x0e\xe4\x0b\x6d\x10\xd2\xc3\x1c\xa9\xca\xa2\xb2\xd9\xc6\xba\xea\xc1\x18\x17\xb1\xd8\xc5\x40\xaa\xb1\x98\x24\x53\x2b\x8d\xd3\xd2\x50\x42\x4d\xa4\x62\xd2\xcc\xfb\xe6\x7d\xd3\x6f\x3c\xb6\x45\x05\x8a\xc5\xec\x7d\xcc\x10\x3a\x2e\xf8\x47\xf2\x56\x7c\xc0\x63\x6f\x37\x45\x98\xf7\xb1\x52\xc6\x5a\xe5\x34\x80\x0b\xc7\x3c\x85\x59\xf5\x6b\x58\xae\xaa\xaa\x4c\xe1\x18\xa5\x75\x9f\x3d\xe8\x54\xa7\xa6\xc4\x29\x80\xb3\xda\x5f\xe0\x8f\x92\xcb\x88\x8d\x62\xca\x39\x95\x77\x40\x69\x11\xb5\xd1\xf4\x46\xef\x20\x38\x60\xb4\xa8\xb5\x21\xd8\x98\x2d\x73\x91\x1e\x00\x39\x67\x90\xab\x48\x30\x88\x06\x11\x83\x6a\x54\x55\x1a\x6a\x51\xd6\x5f\x7b\xe8\xb6\x45\x57\x44\x57\xcf\xbc\xd8\xe4\xdb\xf2\x46\x45\x23\x41\x44\xde\x1b\x0f\x0d\x6a\x58\xb9\xca\xe0\xeb\xfa\xc9\xdc\x3c\x0f\xaa\xe6\x98\x8a\xa1\x3a\x91\x88\x51\xa3\x0f\x40\x77\x1f\x12\xb9\x64\xb4\x2d\x09\xf4\xe5\xa2\x98\x9f\x42\x39\x4a\xb5\x2a\x0f\x4a\xc3\x29\xd8\xa8\x6b\x1a\x28\x24\x55\xcf\x5a\x4e\x9a\x0a\x5d\x8f\x2d\x13\xfa\x6a\xeb\xaa\x26\x63\x4e\x6b\xd5\x1c\x96\xb6\x41\xbf\x37\x41\x9c\xd9\xa6\xc2\x99\xd5\x56\x15\x7d\x6d\xdc\xa6\x98\x0c\xea\x36\x94\xf6\xde\x6c\x0f\xc8\x58\x71\xaa\xbc\x78\x07\xdb\x23\x2a\xe2\xa3\x28\x80\xb2\x92\x08\x94\x34\x0f\x85\x29\x14\x02\xe7\x25\xd8\x81\x9a\x4c\x6a\xaf\xe6\x0c\x37\x53\xae\x98\x30\xc3\x67\xe1\xe1\xad\x55\xcc\x92\xea\x47\x55\x29\x74\x71\xc9\x17\x65\xa3\x9e\x52\x22\xa9\x01\x9e\xa6\x08\xed\x5f\xed\x9c\x4a\xa2\x26\x73\xc6\x47\x6e\x3e\x16\x6f\x9e\xb6\x00\x49\xea\x0b\x25\xae\x03\x53\x30\x55\xd6\xcf\x95\x9a\x54\x72\x82\x3d\xe8\x68\xbd\xea\xba\xf0\xbb\xc2\x27\x4a\x02\x67\x61\x30\x6f\x6e\xa8\x06\xb6\x9c\x74\x35\xe5\xc3\x56\x07\x07\x95\x84\xc8\xcc\x62\xc4\x40\x0c\x01\x61\x5f\x08\xf6\xea\xd7\x92\xfa\x44\x01\xfa\x88\x55\x87\x70\xca\xba\x51\x56\x4a\x75\x36\xf6\xb9\xcf\x54\x59\x39\x3f\x38\x66\x23\xf3\xc6\xc2\xbc\xda\x6b\x2a\x73\x7c\x44\xf6\x37\xfc\x44\x60\x57\x4e\x17\x8d\x5d\xed\x32\x55\x69\x97\x4c\x15\x56\xc7\x34\x1d\x07\x17\x0e\x6c\x6e\x51\xfd\x1d\x7e\x0d\xb5\x02\x95\x53\x57\x24\xb4\xeb\x4d\x9f\x66\x76\x30\x5c\x45\xa8\xe7\xa6\x38\x22\xf0\xf3\xc1\x03\x1e\xd4\x0c\x60\x8f\xe2\x71\x50\x3d\x12\x34\x20\xc3\x28\xae\xd9\x4a\xb3\x19\x53\x96\xd0\x71\x8f\xb2\x24\x70\xb7\xf6\xc8\x64\x15\x2a\xf0\x5a\xa4\x6c\xc3\x0c\x60\xe3\xb0\xe7\x7a\xaa\xb5\x05\x46\x38\x78\xe3\x05\x52\x54\xc1\xed\xcd\x91\xaa\x4c\x5a\x60\x57\x26\x84\xb0\xb3\x50\x48\xd8\x5c\xe1\x6e\xd9\xbf\xf2\x61\x63\xe3\x23\xa2\x73\x12\xe5\xa9\x7f\xb2\x77\x87\xc8\x48\x6c\x91\x11\xbf\x13\x19\x89\xff\xd0\xc0\x88\x9f\x02\x23\xad\x30\x4d\x9c\x03\x23\x7e\x0e\x8c\x80\xf4\x5d\xb9\x1a\x18\xf1\xdc\xde\x7f\x0b\x8c\xfc\x9d\x81\x91\xe9\xfd\xb7\xc0\xc8\x3f\x3b\x30\x12\x3a\x7b\xff\xf7\x0d\x8c\xc0\x38\x4c\xe1\xb7\xc0\xc8\x6f\x81\x91\xab\x81\x91\xf4\x5b\x60\xe4\xa3\x03\x23\x05\xd5\x37\x5a\x60\x24\xdc\x35\x30\x12\xa6\xc0\x48\xfa\x2d\x30\xf2\x5b\x60\xe4\x7f\x2f\x30\x32\x57\x78\x79\x5a\xdd\xf5\x99\xc0\xb7\xd7\x08\xfe\x37\x89\x9d\x6c\x6f\xbf\xf8\x17\x8f\x89\x7c\x8c\x49\x72\xa7\x04\xb7\x6d\x93\xe4\xdf\x2c\x22\x12\x37\x11\x91\x38\x45\x44\xd2\x1c\x11\x09\xbf\x45\x44\x7e\x8b\x88\xdc\x16\x11\xe1\x5f\x51\x44\xa4\xfc\x2b\x46\x44\xea\xa5\x88\x88\x9f\x22\x22\xe5\x9f\x1d\x11\xb9\x3e\x1e\x12\xe6\x78\x48\x5c\xc2\x26\xdf\x8e\x88\xf8\xeb\x23\x22\x3c\x45\x44\xf8\x9a\x90\x48\xd1\xd7\x95\x90\x88\x2e\x49\xfa\x07\x85\x44\x28\xa7\x0f\x05\x44\xe4\xb7\x80\xc8\xcd\x01\x91\x8c\x80\xc5\x6f\x21\x91\xff\xd7\x42\x22\x34\x51\xe0\x3f\x27\x20\x92\xdb\xfb\xbf\x7c\x40\x24\x75\xf6\xfe\x0f\x09\x88\xfc\xbd\xd6\xc6\xbf\x4b\xcc\xe4\xde\x6e\xfd\xd4\x5f\x5d\x2c\xa4\xcc\xfc\x19\xb1\x90\x3c\xc5\x42\xfc\x14\x0b\xb9\xa3\x91\x31\x9e\xbc\x3b\xf8\x79\x38\x5f\x1e\xde\x6d\x2b\x48\x85\x5c\xd4\x2e\xd2\x48\x2e\x30\x39\xe0\x6c\x20\x97\xd2\xc0\x45\xd5\xeb\xae\x7d\x58\xc1\x92\x64\x75\x30\x80\xc8\xae\x92\xc0\xf7\x20\x03\x0c\x4a\xdf\xb5\x0f\x73\xcd\xa8\xf9\x9d\xe3\x48\x22\xa8\x2b\x4f\xc2\xd1\x32\x81\x55\x1d\x52\x8a\x50\x86\x51\x8d\x81\xe4\x04\x8d\x13\xea\x6d\x86\xf7\x3b\x06\x12\x96\x91\xb8\xea\xaf\x03\x07\xaa\xc5\xaa\xd0\x95\xa9\x2c\x9a\x8e\x54\xe5\x40\x42\x7d\x2a\x62\xdf\xd8\x08\x1c\x78\x62\x72\x81\x38\x56\xf3\x5b\x78\x35\x91\xc2\x88\x6d\xd0\xae\xd6\x25\x14\x19\x27\x15\xca\xb0\x12\xb1\x24\x14\x85\x75\x19\x78\x8a\xca\xa8\x60\x02\xda\x12\x8f\x84\x10\x50\x18\xac\xc2\x53\xd7\x3e\x6c\x20\x59\x51\x78\x6a\x30\x5b\x83\xca\xfa\x50\x1b\x77\x7a\x72\x09\x75\xc0\x41\xef\x2b\xd6\xa3\xab\xd6\x63\x69\x7e\x1d\xc0\x1d\xe1\x0c\x72\x75\x34\xcd\x2b\xe7\xa5\xcd\x06\x43\x32\x8f\x0f\xdc\x21\x25\x8e\xad\xc5\xbc\xb4\xca\xe6\xa8\x4f\x26\x38\xe6\x07\x85\x8c\x3a\x4f\x49\xd2\x23\x35\x6a\xba\x4a\x91\x6b\x87\x4b\x76\x28\x6a\x66\xd7\x32\xf6\xb9\xd3\xb5\x5a\x2b\xa1\x8f\xa6\xab\x39\x1f\x17\x32\x50\x76\xac\xaf\xb6\x97\x54\x80\x25\x17\xcf\x05\xc7\x4f\x41\x63\x51\xa8\xa3\x52\xbd\x0b\xc9\xa8\xd9\xa5\xa2\x03\x42\x01\x18\x9f\x3a\x15\xb0\xbb\x95\x05\x5b\xb9\x0a\xe7\xc3\x88\xd1\x2a\x17\x08\x0b\x2e\x54\xca\x68\x3e\x24\x56\xfb\x16\x52\xcd\xe7\x81\x8b\xca\x6e\x27\xdd\x7c\x61\x27\x69\x25\x8f\x03\x7a\x78\xa4\x02\x0f\x46\x09\xca\x9f\xf4\x42\x59\xb3\x29\x57\x87\xe4\x1c\x8f\x04\x4b\xcc\xf9\xa1\x4a\xa6\x24\xb9\x9b\x3e\xad\xa2\xab\xa8\xed\x96\x61\x85\x38\x19\x29\xaa\x4c\xe7\x52\x07\xf3\xc9\x4f\x35\x79\x4c\x01\x13\x95\x99\xaa\x5f\x4d\x9a\x08\x46\x2f\x4a\x38\x56\x2a\x6c\x7f\x82\xcd\x2e\xbf\x51\x7c\xc2\xf7\x29\xec\x7b\xbb\x61\x8d\xed\xba\x6a\xfa\xe8\x2a\x7a\x80\x62\xf3\x89\x3a\x4c\x4b\xd0\x22\xbc\xdd\x16\x3d\x22\x17\x20\x90\x21\x56\xe0\xb3\x92\xdc\xbc\x57\x31\xa8\xba\x31\x2a\x77\x54\xc5\x62\x49\xb9\x10\x2a\x34\xc7\x58\x28\xa2\x42\x9d\xf7\x99\x0a\x87\x51\x65\x60\x40\x38\xc8\x9b\x72\xab\x1d\x2a\x22\x3a\x59\x2b\xf2\x47\xac\x0b\xc2\x6b\x6b\x7d\x1b\xdb\x1d\xb0\xc5\xa0\x07\x4b\x8b\x86\x38\x1e\x14\x90\x33\x30\x27\x15\x95\x13\x96\x3f\x4a\x1f\xcc\x10\x82\x7b\x5f\x2e\x94\xd9\x28\x0f\x5a\xa3\x20\x01\x8f\x53\x83\xa6\x29\x5b\xcb\x8c\x42\xfa\x14\x61\xb5\x65\x99\xf4\xdf\x6c\xbe\xf7\x75\x4f\x41\x45\x24\x4e\x05\x98\x14\x07\xac\x42\x8e\x8b\x48\xb1\x4c\x38\xc5\xbc\x50\xa0\x2b\x4f\xc3\x1a\x71\x0b\x1d\xa0\xb6\xa4\x36\x56\xb3\x57\xf8\x5a\xf7\x06\x78\xa8\x9d\x90\x4a\x79\xbf\x8d\xf4\x02\x95\xb3\x73\xed\x58\x54\x6a\x3f\xe3\x42\xb2\x46\x17\x8a\xd3\xa2\xaf\x6e\x6b\xeb\xb9\x73\x05\x55\x31\x58\x61\xe8\xd5\xe6\x6c\x59\xa0\xd3\x45\x84\xfb\x48\x75\x44\x05\xb9\xca\x3c\x5d\x68\x05\x5c\x9d\x40\x9c\xb2\x52\xae\x62\x2c\x78\xb1\xd9\x2f\x0e\xa1\x35\x28\x5c\xfa\x0d\xd0\x03\xa9\x6c\xd1\x9e\x92\x89\xfc\xa0\xaa\xe9\xbd\x7a\xa7\x12\xa8\xb2\x46\xed\x12\xbc\x11\xc6\x43\x55\xe3\x8a\x95\x8d\xa1\xe6\x85\x7d\x4c\x9e\x87\xaa\x70\x1a\xa1\x97\xb6\x16\x18\x4a\xb6\x6d\x9d\xb7\xa6\x95\xbb\x8a\x52\x2f\xfc\xcd\x98\x46\xd2\xb1\xa6\x43\x20\xce\xd8\x53\x44\x10\x57\xda\xc3\xae\x0c\x19\x02\x24\xcf\x62\xa4\x37\xae\xcc\x3a\xc2\xd2\x06\xd8\x20\xa1\x52\xdc\xb1\x2e\xa4\x64\xa0\x7b\x6f\xf2\x02\xf3\xd5\xd1\x3a\xf4\x83\x47\x19\x86\x38\x2a\xe8\x18\x16\x28\x5f\x15\x95\x19\x4a\x29\x08\x5a\xea\xda\x5a\x18\xcc\x0e\x73\xc9\x05\x48\xcf\xda\x9d\xda\x90\x8c\xf5\xcf\xc8\x6e\x0c\x8d\x61\x60\x3a\xa6\xcc\x81\x02\x0b\x6c\x3f\x95\x1a\x8a\x2a\x86\x33\xde\x80\x01\x4c\x28\x85\xf5\xd5\xd0\x31\x01\x85\x46\x62\xc3\x25\x31\xef\xaa\x9b\x3f\x93\xda\x04\x3a\x56\x35\x77\xcd\xae\xd4\x49\x3a\x2e\xe4\xd1\xb6\xa8\x74\x15\x60\x2b\x05\x04\x89\x42\x20\x0e\x20\x10\x95\xb9\xe8\xb6\x6e\x2e\x9a\x26\x35\x48\xa5\xd2\xe1\xad\x79\xf4\x71\x5c\x4a\x18\x51\xa4\xc6\xc0\x61\xfd\x15\x94\x0b\xd0\xe6\xcd\xc7\x23\x4b\x38\x32\x74\x76\x1c\xda\x98\xd9\x86\x34\x9a\xe5\xe8\x38\x22\x26\x62\x16\x32\x5c\x24\x0c\xd5\x19\xfd\x63\x0e\x8c\x2f\xab\x0a\xdf\xd6\x34\x9a\x4a\xc4\xc5\x78\x02\x05\xc8\x87\xa0\xf4\xd1\xa6\x0d\x55\x0a\x31\x23\xec\xf2\x34\x7c\x07\x90\x8d\xb1\x0e\x93\x9f\x61\xa2\xf4\x46\x63\x0d\xcd\x8c\x6b\xc1\x39\x09\x3e\x96\x1a\x11\xdb\xd8\x2b\x58\x73\x8b\xa3\x71\x1a\xb8\xda\x29\x40\xf6\x31\xd5\x72\x54\xfc\xf0\x63\xdf\x02\x9d\xca\xfa\x1b\x9a\xdb\x79\x28\xb0\x0a\x6a\xf3\x66\x48\xb6\x11\xb2\xb9\xd0\x0c\xf7\x61\x2a\x70\x1c\x92\xa3\xea\xb9\x6b\x1f\xc6\x0e\x93\xe2\x63\x52\xe6\x01\x35\x4a\xb6\xf0\x1f\x54\xe4\x15\xcd\x59\x45\x38\xe7\x01\x7a\x8e\x74\xed\xa3\xe9\xfe\x2a\xf7\x6d\x7c\x6a\xaf\x62\x80\x51\x9a\xa4\x55\x42\x76\x75\xeb\x42\x94\x1e\x25\x0e\x91\x11\x5a\x6d\x1f\xd6\x12\xfc\xc5\x0a\x0e\x8f\xe0\x51\x31\x53\x10\x8c\x46\x75\x0a\x89\x13\x29\x22\x7b\x81\x0d\xcd\x45\x8d\x65\xe1\xc1\x27\xaa\xa5\xb3\xf7\xc9\xf4\x05\x49\x52\xc9\x5e\x5f\x13\x13\x84\x65\x0e\xc1\x0e\xbc\x75\x69\x08\xa6\xcc\xb7\x8f\xe6\x62\x4b\x08\xd1\xea\x68\x32\x82\x0e\x39\x0e\x82\x94\x55\x99\x12\x57\xe1\x69\x36\x64\x58\x4e\x62\xa5\xf1\xf9\xde\x12\x3f\xcc\x3e\x9c\x9d\x5f\xce\x7c\x0f\x8a\x4f\xf0\x30\xdb\x7e\x62\x1d\x89\xe1\xef\x24\x43\x9c\x5f\x7b\x15\x95\x70\x84\x5b\x9c\xd9\x14\x7d\xec\x48\x96\xb5\x2e\xcc\xb8\x91\x8b\xd0\x2c\xb1\x79\x1c\x65\x25\x03\x21\xd6\x87\xba\x2a\xa6\x2d\x23\x0d\x00\xce\x08\x50\x37\x14\x3d\xc3\x7f\x04\x5a\xbd\x0c\xc2\x99\xb2\x9a\xa8\xed\x53\x67\xd7\x70\xc7\x2f\x1b\x2f\x28\xde\xd2\x6d\x54\x42\x14\x8f\x88\x0c\x46\x61\x25\x8f\x87\xe2\x0a\x65\x9f\xbb\xe9\xb3\x35\x11\x2d\x93\x60\xc4\xf1\x09\x48\x31\x89\xd0\x9f\x20\x5d\xda\x9c\x22\x0c\xa2\x1c\x29\xc0\x4d\x1b\x26\x1e\x17\x0a\x42\x1b\x81\xb2\x49\x14\x81\xfe\xa3\x8c\x00\x30\xdc\xfa\x84\xcb\x47\x95\x14\x4b\xb7\x99\x16\xc2\x30\xc6\xcd\xba\x00\x58\x0b\x84\xbd\x05\xf3\xd7\xbd\x50\x0c\xe9\xe2\xb9\x2a\xd6\xaa\x6b\x3a\x55\xd6\xd8\x59\x3e\x15\x38\x19\x56\xc5\x48\xdd\x4f\x7f\x71\xbb\xc8\x61\xa1\xf6\x75\x1e\xc1\x10\xb5\xd1\xa5\xb1\xae\xc6\xe8\x53\xeb\x27\x2a\x23\x1e\x71\x96\x4e\xa2\xc8\x08\xf3\xc7\x62\xf6\x1a\xf4\x4c\xb0\xe3\x52\x88\xa5\xae\x2b\x05\xd3\x3a\xa1\xe4\xb7\x45\x87\x98\x2e\xe4\x6a\x69\x2a\x6e\x26\x07\x9a\x46\x4a\x0c\x7b\xf2\x21\x98\xe9\x92\xee\x1e\xea\xd9\x58\x61\x77\xda\xf5\x92\xb0\xcf\x9d\x9b\xba\xa5\x23\xb2\xae\x5d\x88\xe6\x25\x54\xe3\x22\x81\x03\x18\x1b\x0a\xc5\xec\xa2\x71\x72\xb3\xb0\x92\x6a\x4c\x43\xd1\xab\xce\xde\x9b\x6d\x82\xa0\xd6\x68\x46\x49\x1d\x2a\x55\xf1\x9d\xbd\xb7\x1b\x88\x73\x1e\xc9\x97\x00\x93\x07\x32\x3b\xfa\x81\x9d\x99\x0a\x93\x07\xac\x56\x55\x6c\x96\x76\x6e\x94\xae\x67\x6d\x5e\xb7\x44\x2e\x8e\xa6\xdc\xa4\x48\xac\x52\x3b\xa9\x54\xb2\x08\x15\xb7\x12\x97\xa0\x18\xfc\xad\xe6\x98\x2a\x5f\xe0\x56\xd2\xe6\xd9\xfc\x45\x7e\x80\x4f\xb9\xb3\x77\x4b\x0e\x99\xba\x2d\xc6\xd4\xab\x05\xb9\xc1\x81\x62\x56\x3d\x26\x38\x54\xdb\x6b\x19\x71\x8e\xbc\xca\x26\x4e\x36\xe5\xd4\x56\xb3\x4c\xb6\x51\xdc\xba\x44\x05\xd7\xa4\xbc\x29\xa9\xee\x0b\x74\x83\xd8\x07\xf1\x1a\x5e\xc7\x76\x22\x9c\x73\x75\x1f\x8e\xef\x8e\x55\xf8\x30\x04\x9e\xcf\x93\x3f\x9e\x33\x3c\x98\x90\x68\x71\xe1\x29\x20\x6b\x21\xc3\x3a\xd8\x88\x35\xb8\x76\xc3\xb2\x85\x87\x24\xa1\x5c\x32\x21\x2b\xcb\x23\x0f\x2f\xc7\x01\x96\xaa\xf8\x49\xe8\x99\x6a\xba\x9f\xc8\x57\xe9\x78\x34\xd8\xbb\x70\xf1\x5c\x8d\x64\xf3\xcb\x28\x27\x35\x8d\x7d\xa0\xe0\x02\xb2\xee\x1a\x47\xf6\x28\x2e\x31\xf6\x49\x17\xaa\x83\x42\xb3\x9b\xaa\x68\x4e\x36\xe8\xec\xa0\x77\x57\x94\x72\x59\xf9\x8f\xa9\x0b\x99\x24\x5b\x24\x08\x27\x8b\x21\x66\x36\xc4\xe2\xa8\x44\xdf\x4d\x9f\x53\x3e\x1a\xc2\xb6\x60\x16\xde\xa8\x39\xa6\x64\x3a\x27\xf2\x30\x9a\x91\x35\x31\x36\xfb\x72\x88\x59\xf9\x6a\xee\xa6\x4f\x6b\x0c\x96\x58\xf4\x49\x31\x13\xfa\xeb\xd2\xd8\x38\x8c\x20\x9b\x2f\x40\x93\xe7\xde\x64\x80\xb7\x51\xa4\x65\xa4\xd8\xed\xca\x48\xcd\x32\x0e\x6b\x26\x49\x19\x35\x3d\x18\x16\x7c\x71\x65\x5f\x1a\x0c\x71\x82\x4a\xcc\x87\x50\xde\xd0\x83\x6b\x4e\x44\x6b\x39\x57\x7d\x4d\x2d\x9b\xde\xa8\xb8\xc2\x13\x21\x81\x4f\x71\x1c\x19\xd5\x5f\x3d\x4e\x53\xf1\x41\xed\x87\x8e\x29\xc9\x54\x4e\x58\x55\x4f\xa5\x11\x28\x2f\xbc\x60\xc5\x40\xd8\x2d\x86\x6e\xb5\xb9\xc5\x9c\xcb\x03\x85\x90\x2d\x16\x6a\x0b\x85\xc8\x9b\x62\x1f\x12\x1f\x7a\x5d\x4d\xa8\x89\xa6\xde\x5d\xad\x3e\x1a\xbb\x42\x21\x85\x43\x5d\x81\x60\x76\xcb\xd8\xcf\x73\x02\x43\xb5\x65\x9a\xda\x06\x1c\x4d\xbf\x7d\xa6\x14\x55\xa1\xe6\x1b\xaf\x1e\x24\x52\x2e\xa1\x6b\x1f\x4d\x41\x81\x46\x3c\xb6\xec\x20\x08\x1d\x18\x39\xa1\xb9\x04\x9c\x5c\x3e\xb4\x1b\xd9\x28\x4e\x25\xb3\x4a\x1f\x58\x22\x99\x7c\xed\xec\xbd\xb5\x9a\x04\xc1\xdc\x4a\x85\xb9\xbd\x4f\x45\xab\x62\xc3\x55\xf0\x15\x18\x0c\xae\x1a\xc4\xc0\x89\x30\x04\x28\x44\x71\x50\x82\xeb\xf0\x36\x95\x7e\x47\x2e\xd6\xd8\xdb\x5e\x1b\x28\x77\xb9\xe5\x65\x42\x30\x21\xae\x52\x9a\x06\x19\x20\xaa\x86\x44\xb9\x4b\x34\x2f\x01\xec\x34\x83\x4a\xbb\x3f\xa5\xa6\x15\x56\xc6\x79\x70\xcd\x2c\x82\x5e\xa3\x6d\x86\xc3\x59\x8d\x41\x78\xa7\x81\xdf\x54\x15\x4c\xc6\xdc\x3b\xae\x36\x4f\x96\x2b\xcd\xe8\xca\xa4\x60\xc0\xd9\x4b\x8a\x4a\x0d\xcb\x60\xc0\x74\xec\x50\x12\xb1\x7d\x00\x29\x63\x2a\x38\xd3\xc2\xd2\x83\x90\x11\x64\x4e\x84\x6a\xa8\xec\x8b\x11\x0f\x86\x07\xaa\x80\x6d\x38\x0d\x28\x0c\x70\x2b\xd4\xae\x7d\x58\x7e\x92\xaa\x0f\xae\x68\xa3\xb1\x98\xa0\x6e\xba\x95\x45\x3b\x60\xf0\x34\xdb\xa1\x5d\xa4\x76\x80\x21\x2f\x1b\x67\x84\x0a\x5f\x4d\x37\xe7\x34\xd1\x2c\x5b\x98\x8b\x38\xb0\xb5\x0b\x54\xe4\xd0\x1c\xac\x3c\x9b\x3c\xf0\x2d\x66\x0f\x16\x9f\xe7\xb4\x2f\xcb\x06\x1d\x9b\x96\xc8\xcd\x70\x09\xaa\x45\x47\xf6\x5d\xfb\x68\x25\xe3\x72\xb3\xaa\x5a\xd3\xdc\xfa\x12\x32\x2b\x6b\x4a\x27\x44\x54\xa0\x36\x0e\xed\x9c\x65\x1c\x62\xe4\x0a\x25\x23\x95\x3a\x73\x1b\x3f\xb3\x9d\x49\x6f\x91\x76\xa7\x83\xe5\xad\xa0\x36\x5a\x6a\x6a\xb5\x69\x39\xc0\x7c\x5d\x21\xcb\xc6\x33\x53\x82\x5b\xfb\x9c\x7d\x43\x47\x1d\x94\x99\xf8\xed\xce\xd2\x88\xbd\xd4\xa6\xf5\xc2\x4e\x46\x70\x4d\x6f\x19\x82\xa5\xae\xb7\x0f\xc3\xd6\x80\x80\x07\x8c\x20\x1f\x5b\x3b\xa1\x21\x29\x1a\xf4\x93\x55\x03\x73\x5a\xef\xc6\x88\xcb\x44\x0b\x7e\xb2\xa1\x92\x4c\x64\xa2\x77\x0f\xa9\x1d\xfe\x5d\x37\x9e\x1f\xf8\x2d\xa0\xae\xd9\x95\x4e\x26\x9b\x29\x85\x34\x69\xdf\x08\x03\x76\x05\xdc\x14\xf5\x2a\xc2\x29\x91\xc2\x2e\x42\xa5\x5e\x1f\xa6\x8f\x29\x0b\x1b\x0e\xc7\xe4\x32\x92\xc9\x9b\x84\x53\x2e\xe2\x4c\x7a\x49\x1b\xbf\x99\x0b\x61\x72\x1e\x21\x0a\x0c\x24\x80\x43\x03\x91\x4b\x78\x32\x80\x44\x1e\x81\x13\x05\x6d\xe4\x81\x71\xc2\x93\xbd\xb7\xf6\xa1\x08\x3b\x78\xc5\x0c\x4b\xe0\xae\x07\xe2\xe4\xed\x1e\x9a\xc9\x23\x6b\xb5\xda\xd3\xe4\x44\x8b\x6b\xe5\x31\x63\x43\x07\x69\x8e\xd2\xb0\x24\xaf\x5a\x70\xad\x94\x90\xe1\x9a\xa9\xd6\x88\xb8\x11\xf2\x3f\xd5\x8e\x46\x92\x53\x36\x3b\x34\x06\x78\x2a\x54\x31\x9c\x90\x4c\xcc\xe3\xb8\xd4\x6f\x1b\xfd\xc5\x46\x38\x0e\x29\x51\xe2\x47\xf2\xd8\x34\x80\x33\x54\x95\xc3\x2d\x2d\x30\xa9\x6a\x98\x47\xb6\xb1\xaa\x10\x08\xcf\xab\x45\x10\xe0\x26\xb2\x10\x8a\x2b\xaa\x71\xc2\xc3\x60\x67\xb2\xe1\x21\x99\xb9\x41\xf1\x56\x6c\xde\xa3\x5c\xd3\x21\xaa\xe6\xb7\x3f\x28\x5a\xca\x5c\x56\xfa\x6f\x03\xda\xfe\x4c\xa9\x91\x10\x74\x2c\xe0\x0e\xe7\x9d\x70\x2b\x4f\x92\x28\x2e\x54\x7e\xc5\x8b\xe7\x01\xc7\xd0\xb3\x53\xeb\x67\x6c\x6e\x76\xf4\x5a\x17\xfa\x65\xec\x74\xd8\xe3\x6c\x20\x2c\x9b\x23\xa0\x19\x2a\xad\x35\x3f\x61\x68\x0d\x30\x17\x80\xf2\x46\x0d\xa8\x6c\x18\xa6\x0b\x34\xea\x07\x2a\x0e\x95\x2c\x37\x43\xc2\x72\x36\x05\xc6\x5c\xef\x0c\x8f\xde\x20\x21\x21\xee\x31\x7d\x82\xef\x14\x24\x50\x9a\x16\x1a\x3e\x25\x80\xf3\x11\x7b\x58\x72\xac\x8f\xa6\x84\xb1\x8f\xf6\xcf\x2f\x1b\x13\x04\x0f\x6d\x3e\xc6\xab\x3e\xfa\x35\x9c\xb4\xde\x3c\xd6\xa9\x62\x7b\xc9\x87\xdc\xf3\x4b\x8a\x88\xff\xd7\x0e\xc9\x13\xc8\x7d\x82\x32\x54\x70\x7a\xf2\xc8\xca\x59\x10\xc5\x5b\x62\xab\x09\xdb\xf9\xb2\x8c\x23\x6d\x71\xa8\xb2\xde\x58\x70\x60\xa1\xe2\x9e\xcf\x2a\x24\x4d\x5e\x15\x14\x64\x84\x49\x64\x56\xb8\x47\x04\xcb\xfc\x0e\x6b\xa6\x22\xf1\x99\xf0\xe5\x82\x9e\xbf\x7b\x94\x1e\x3d\x7e\xf8\x78\xef\x0e\x7e\xf9\x65\xd3\x00\x73\x13\x9b\xc1\x3e\xcb\x9a\x89\xcd\x49\xa0\x16\x44\xbd\xd2\xc3\xf6\x5a\x34\x3f\xf2\xd2\x54\xeb\x64\x3c\x96\x9b\xf3\x5d\xcc\x99\x93\x10\x53\x66\x11\x8b\x98\x59\x25\x5c\xd5\x04\x7c\x48\x60\xcf\x51\xbf\xab\xbe\x05\xa4\x12\xea\x83\x2b\xff\x0e\x01\xd6\x96\x7d\x9d\xd5\x5a\x06\x7f\x46\xda\x6f\x0a\x37\xdf\x5e\x71\xbb\xda\x55\x14\xa2\x65\x59\xb4\xc4\xb2\xcc\x16\x7a\x8b\xd0\x90\x40\xb1\x11\x9a\xaf\x1a\x69\x41\xb9\x52\x2a\xe6\x4a\x8e\xa6\x8a\xd5\x88\xb3\x87\xd5\xb8\xb3\xe0\x95\x27\x2f\x51\xd9\x48\x28\xf5\xd2\xa0\x33\x94\xac\x80\x2e\x91\x91\xd9\x46\xed\x77\x46\x17\x61\xb3\x79\xe4\xdb\x05\xe4\x4e\xb7\xbd\x56\x88\xa8\xe5\x62\x5f\x63\x28\x2d\xd0\x96\xc9\x2b\x28\x75\x32\x1e\xdf\x3a\x65\xa3\x3e\xb6\x9d\x27\x38\x48\x84\x98\x65\xad\x4c\x36\x59\x42\xbf\x89\x07\xf0\x5b\x87\x7c\x43\x69\xd2\xb0\x6d\x2b\x12\xb8\x0f\x55\x15\x95\xe6\x7d\x87\xba\xde\x52\x9f\xcd\x1f\xde\x7e\xe0\xe6\x15\xf4\x70\x96\x15\x4b\x9f\x35\x0f\x55\x6e\xc7\x38\xfb\x60\xc2\x1c\x42\x18\xae\x6d\x23\x47\x1d\x8b\x9a\x02\xf6\x78\xf3\xcb\x21\xc9\x3b\xb4\x34\x18\x3c\x2e\xd3\xe3\x3e\x4d\xcf\xc3\x85\x12\x97\x93\x77\xf3\xda\xee\x8b\x6f\x8f\xa5\xe6\x0f\x89\x71\xf6\x26\x36\x6e\xa0\xb6\x78\x90\x65\xf3\xdc\x39\xcb\x5c\xb1\xe9\xd5\x69\x76\xdc\x5a\xb9\x3a\xbd\x1b\xc6\x07\xe7\x2b\x34\x5d\x33\x9b\xdb\xfe\x37\xd3\xbc\x9b\x17\x2e\x2c\x38\x51\x32\xf7\x8e\xf3\x2d\xa7\xc8\x71\x34\x7f\xfe\x6c\x89\x84\xce\x8d\x48\x90\x57\xf2\x47\x86\x54\x53\x25\x10\x14\x41\xfa\x8d\x8e\x22\xc5\x85\x55\x9b\xbe\x72\x16\xc9\xef\xc2\xc3\xc4\xf2\x68\x87\x18\x2d\xfc\xb4\x6c\xa9\x47\x2d\xea\x12\x9a\x93\x10\xa2\x8e\xcb\x7e\xa6\x90\x91\x63\x1d\xc6\x26\xa9\xb0\x69\x29\x6c\x42\x4d\x38\xb9\x07\xf2\xb7\x19\xa3\xa5\xa9\x20\x10\xc3\x9e\xc7\x9d\x48\x93\x34\x77\x75\x30\xd7\xb9\x83\x0b\x54\xae\x8e\x77\x9b\x79\x70\x21\x71\xdc\x62\x4f\x87\x8a\xfc\x38\xc4\xb1\x5a\x6d\x73\x04\x74\xfc\x26\x8c\x57\x2d\x70\x17\xc8\x03\x96\x8e\x27\x67\xe9\x74\xa1\x98\x86\x9b\x32\x0e\x02\x97\x9e\x6a\xc2\xd6\x27\xec\x1e\x49\xe4\x55\x95\x29\x21\x10\x76\xd7\x85\x1c\x29\x20\x8b\x5b\xc7\x6d\xb1\x24\xc1\x3c\x4c\x33\xf1\x6d\x67\x57\x80\x46\x8c\xd8\xdf\x1a\xf1\xbe\xe5\x64\x6e\xc7\x09\xac\x6c\x49\x4a\xa6\xdc\x57\xfb\x46\x00\x25\x31\x3d\x04\x45\x85\xb3\x59\x06\xd8\x3e\x04\x63\x05\x07\xe9\xc4\x48\x86\x51\x99\x3c\x60\xe6\x4d\xa4\x60\x43\x83\xb9\xf9\x83\x39\x31\x28\xd9\xce\x9f\x32\x5a\x46\x3e\x02\x2a\x96\x87\x66\xa7\x27\x39\xef\x97\xb6\x5b\xcd\xa2\x32\xc5\x5c\x8b\x3e\xdb\xe3\xb3\x4d\xb0\x3b\x32\xb1\x9d\x35\x68\xad\x9a\x57\x19\x67\x73\x59\x4f\x6d\x08\xbe\xd8\x2f\x73\xfb\x3c\xb5\x3f\x77\x3d\x4e\xf1\x0f\xa5\xa4\x36\x18\x84\xd6\x9b\x5e\xaf\xba\xb6\xc5\x43\x2c\x8c\x76\x2b\x26\x6f\x09\xae\xb1\x29\x51\x51\x80\x1d\xc5\x52\x3b\x2d\x73\xd1\x4f\xce\x29\x28\x5e\x65\xb4\x28\xab\x8b\xcd\x28\x44\x54\x34\x99\x86\x84\xad\x23\x4c\x39\x73\x8b\x1b\x07\xa1\x88\x92\xe3\x9e\x55\x0b\xc2\x91\x64\x0e\xa9\x3f\x38\x0b\xc0\xf6\x4c\xa4\xba\x09\x19\xfb\xc9\x75\x9b\x2c\xcc\x75\x6d\x08\xf8\xf2\xa4\x1e\xe6\x47\x0f\xea\xe3\xb9\x98\xab\x73\xb9\xb3\x54\x00\x55\x34\xa2\x25\x7e\x17\x54\xab\x4d\xd8\xc3\x53\x7a\x51\x36\xd3\x53\x61\x54\x95\x76\xd8\x75\x6a\xc9\xf9\x6a\x20\xf4\x18\xb9\xe5\xde\x61\xe8\xbd\x8e\xbd\x6f\xf4\x57\x26\x8f\x1d\x02\x05\x96\x5d\xcc\xd3\x6f\x13\x05\x73\xa3\x60\x09\x0d\x8f\xbc\x25\xed\xa9\xa0\x89\x48\x80\x2c\x71\x84\xb6\xe2\x70\x9e\x54\xab\xd1\xd2\x50\x7c\xe3\x4b\xce\xd8\x1b\x8a\x10\x8e\x8a\xac\x1c\x3c\x89\x87\x76\x63\x3b\x77\x60\x4a\x79\x3f\xb9\x96\x71\x3c\x9b\xab\x61\x52\x3d\xb8\x6d\x78\x6b\x56\x83\xa5\xa5\x95\x96\x10\x6d\x48\x95\x12\xc5\xd8\x32\xa3\x5d\x95\x46\x61\x16\xda\xf3\xb6\x61\xd3\x87\x35\x21\xe5\x05\x95\x56\x11\x5c\xa7\x08\x57\x9a\x37\xdb\x5d\x0c\xf3\x54\x10\xaa\x4c\xb5\x65\x92\x96\x23\x1b\xa4\x6d\x0b\x4c\x71\xb4\xca\x72\xca\x86\xb7\x42\xa0\x96\x26\xab\x6c\x7a\xad\x63\x1a\x5b\xee\x8c\xdf\x0a\x98\x20\xc1\x1e\xc9\x31\x2d\x54\x32\x45\x46\xda\xce\x8d\x50\xc6\x4d\x34\x04\xfb\x01\x54\x99\xa8\x30\x30\x10\xe6\x47\x9a\x97\x0f\xa3\xb2\x26\xdb\x56\xc0\x16\x64\xf4\xd1\x2b\x07\x43\xea\xd6\xd2\xf6\x3a\xbb\x2c\x53\x64\x43\xe6\xc8\x46\xf3\xf5\xeb\xc2\xda\x85\xb2\xc2\x4d\x6e\xb5\x34\x6b\x24\x4c\x11\x0e\x4b\xcf\x51\xe6\x8b\x4c\x98\x60\xdb\x41\xb0\xe1\xc8\x12\x22\x3d\x34\xfa\x48\x01\x7a\x5a\x19\x29\xe8\x0f\x29\x52\x80\x0a\x94\x55\xab\x72\x29\x36\x17\xb7\x2b\xe6\xe2\xe6\x68\xa1\x3e\x48\xcb\x16\x5e\x6a\x01\xe6\xd0\x5c\x9a\xd2\x92\x2b\x42\x23\x60\x65\xed\x3e\x8d\x4a\x05\x55\x17\x1d\x5b\xab\x73\x51\x8d\x18\x24\x21\xd0\x9c\x7b\x10\x2b\x83\x58\x4a\xc4\x01\x0c\x50\xb1\xa1\x61\xab\xb5\xe3\xc9\xdb\xf1\x63\xb6\x7b\x3a\x55\xe5\x4e\xb7\xf2\x97\xa4\x7a\x0f\x82\x36\x51\x20\x76\x4b\x93\x96\x62\x36\x04\x14\x23\x0f\x74\x18\x7c\xaa\x14\x6a\xd7\x3e\x36\xfb\x9d\x54\x65\x00\x77\xb2\x48\x92\x9f\x08\xb0\x2a\x2e\x58\x10\x27\x34\xce\x94\xa6\x1c\x00\x27\xeb\x5e\x69\xca\x2a\xdd\x07\xa8\x02\xa0\x13\x64\xcd\xaa\x19\x80\x3d\x01\x51\x11\x18\x58\xc4\xcd\x00\x67\x32\x0f\x4b\x5c\xab\x3d\x18\xcc\x21\x1e\x76\xbd\xa2\xd7\x48\xd8\x84\x53\xcd\x11\x50\x18\xb7\x03\x4f\x3e\x79\x98\x3b\xa9\xe5\x6c\xc1\x65\x04\xaf\x9a\xa8\x58\x53\x6c\xc4\x8e\x10\xcb\x74\x67\x13\x76\xba\xea\x53\xcc\x50\xcd\x61\x07\xad\x54\x07\x24\xa6\xe7\x00\xf1\xa0\x6c\x99\x8e\x05\xf9\x29\x8a\xbf\xad\xa4\x7f\xb1\x7d\x4d\x3e\x9b\xe4\x8c\x31\x6f\x24\x67\x03\x59\x1b\x25\xfa\xe2\x71\x36\xa0\xaf\x1c\x5c\xf0\xbb\x87\xe9\x51\xad\x0f\xaf\x51\x24\x96\x8d\x4d\xe5\x66\x2e\x4b\xb3\xfe\x10\x1c\x56\x25\x4f\xd7\x19\x27\xc1\x41\x33\xb4\x2c\x08\x58\x7b\x76\xf3\x26\x26\xed\x4b\x32\xa6\x69\x7a\x41\x54\x26\x62\x89\xec\xd0\x1e\xb1\x09\xa8\x3d\x83\x3c\x0c\xdf\x76\x3c\xe3\x17\x68\x84\xc5\x26\x1b\x76\x7e\x98\xba\xf1\xd3\x23\x73\x63\xd9\xdc\xd4\xd6\x2f\x1c\x69\x80\x24\x72\x38\xf1\x90\x69\xa6\xc9\x35\x1e\xce\x85\x5b\x8e\x69\xb2\xe4\xaa\x39\x03\xd8\xd4\x6e\xfd\x45\xc7\xa1\x32\x21\x4a\xdb\x33\x23\xcd\xaf\x26\x53\x18\x71\x1e\x3c\xf2\xcd\x5d\x4b\x9e\x36\x6d\x31\x59\x74\x85\x18\x2a\x0f\x9c\x4a\x88\xff\xaa\x54\x98\x62\xdb\xd8\x99\x33\x69\xc2\x1c\xa6\x8c\x27\x23\x25\xf8\xe2\x7c\xbb\x90\xd4\xf6\x74\x20\x57\x29\x34\x8b\xc3\xdc\x3e\x93\x76\x09\x61\x8a\xb0\x99\x98\xb7\x55\x2c\x15\xcb\xc4\x22\x92\x3b\xb2\x29\x32\xa6\x67\xc0\x7e\xf4\xc6\x54\xea\x94\xe5\x51\x5b\x02\x46\xe5\xe6\x8d\x8d\xa5\x1a\xbf\xb7\x10\x43\x9a\xb6\xff\x30\xf9\x64\x99\x28\xd1\x76\x8d\xf9\xd6\x3c\x5f\x69\x7e\x54\xab\xa4\x37\xe9\xc5\x53\xc4\x4b\x4c\x1d\xda\x1e\x5c\x98\x46\xd7\xf4\xaf\x08\x61\xac\x8f\x87\xb9\x6f\x6e\x9e\x64\xdb\x79\xaf\x54\xcf\xd3\xe3\x7c\x65\x72\xa1\x3d\x9e\x5a\x9e\x89\x97\xa6\xaf\x85\xc9\xb5\x1c\xaa\x39\x6a\x0f\x21\x7d\x97\x93\xdc\x6a\xee\x6f\xf3\xa8\xae\xf5\x86\x2b\x54\x14\x6b\x7a\xea\xeb\x7c\xaa\x47\xcd\xb1\x13\xa6\x1a\xf3\x56\xd2\x1e\xd8\x76\x9c\xf2\x90\xf8\xca\x91\x47\x3b\x9c\x95\x9d\x9a\xa8\x9d\x6d\x07\x5d\x9a\x87\x35\xc3\x1e\xf3\x81\x7c\x15\x5b\xf6\xdc\xc2\x4b\xf0\x6d\x16\x53\x11\x38\x0e\x1c\xa2\xf2\x9d\x6e\xfa\xb4\x40\x19\x83\xcf\xe4\x71\x8a\x1a\xac\x55\xbf\x98\xfc\x8f\x96\xc2\x55\x4d\x01\xb3\xf0\xa4\xed\x70\x84\x93\x19\x07\xea\xdb\x26\xe9\x8a\x0c\xf8\xa2\xcc\x3b\xe8\x44\x82\xf8\x41\x75\x2d\x64\x0e\xce\xa5\x0b\x20\x3f\x95\x37\x9a\xb4\x07\x0c\x6a\x5a\x60\x3a\x23\x14\x22\xe7\xae\xb2\xdc\x98\xb2\xf3\x7c\x2d\xcb\x45\x28\x0e\x09\x5d\x71\x0a\x94\x36\x9e\xfd\xb1\x7e\xb2\x3b\x6d\xac\xdc\x31\xaf\x2c\x04\x58\xe1\x38\x44\x50\xbb\xf6\x91\xec\x48\x56\x6f\xde\x33\x6a\xa6\x45\x73\x9d\xb5\x14\xc4\x16\x34\xed\x15\xec\x03\x4b\x45\x2a\x46\x37\x5f\x98\x07\x0c\xe4\x5d\xd8\x2f\xcd\x6e\x61\xef\x9b\x42\x82\x72\x10\xb6\xbb\xb4\xa6\x91\x72\x46\xfa\xaa\xf9\xbd\x4c\xc7\xa5\xdc\x6a\x6c\x2c\x1b\x62\xc1\xdf\xdb\xb0\xdb\x8c\x6a\x99\xb3\x46\x11\xd4\xcc\xe5\x56\x3f\xd7\x26\xde\x59\x63\x8b\x77\x56\x38\x39\x13\x36\xdf\x2d\xcd\x08\x69\x2a\x5d\x69\x9e\xce\xb4\xa6\xe2\x0b\xc4\x22\xf9\x2b\x67\x57\x5d\x12\xa3\xa2\xc0\x5e\x36\x41\x15\x37\x49\x15\xf0\xab\x04\x6c\x9c\x00\x77\x41\x5c\x2a\x62\x87\x3a\x4b\x1a\xc9\xe3\x0c\x62\x9d\x68\x45\xdd\x17\xae\x11\xd9\x30\x52\x83\xed\x3b\x99\xbe\x2e\xf0\xfa\xe2\x48\x4d\x25\x86\xe9\xeb\x60\x89\xe5\xd5\xfc\x67\xda\x89\x4a\x82\x9c\xe0\xdd\xd2\xf6\xb3\xd5\x47\x81\xc8\xf5\xd5\x1c\x5d\x45\x25\x2e\xbc\x33\xe0\xec\xc9\x32\x66\x52\xb6\xe3\x81\x1c\x1c\x63\x0e\x49\x1f\x19\xdb\x62\xbc\x24\x0b\xa0\x5c\x1e\x4c\xde\x1d\xcc\x34\xf4\x36\x18\xe7\xdb\x9c\x6d\x3f\x92\x52\xaa\x34\xdf\x54\xb9\x34\x10\x1b\x38\x2c\xf5\xc9\x9b\x95\x9b\xbd\x6d\x5b\xf8\x5d\xb4\x7c\x8f\xb2\x50\xbb\x78\xec\xd1\x8b\x25\x41\x22\x96\xec\x4d\x6d\x6e\xfe\x18\x44\xcd\x12\xc5\x2e\xd1\x74\xf8\x15\xe7\xd2\xc2\x3c\x08\xe7\x22\xab\xb2\x09\xda\xc9\xb1\xd3\x72\x23\xb7\x02\x98\xe6\xb8\xf2\x63\xcb\x61\x6d\x8f\x27\x7b\xdc\x4b\x7b\x3c\x4f\x8f\xc7\xe9\xf1\x6d\xbf\x90\x1f\x12\x85\x8c\x22\x2f\x39\xcc\xc9\x9f\xc1\x06\x7f\x75\x2c\xcd\x0a\xc6\xda\x23\xa7\x2d\xc4\x49\x84\x17\xc4\x34\x26\xd9\x0d\x29\x89\xf4\x9d\xe5\x56\xd0\x19\x21\x36\xd4\x51\x09\x53\xca\x68\x98\x46\x73\xa9\x0b\x03\x5c\x6c\x19\x7c\x3b\x8e\x2c\x0b\x1e\xf0\x14\x5a\xb7\x98\x12\x4f\x49\x12\x16\xf1\xf1\x6b\xa1\x90\x93\xe5\x91\x49\xb3\x83\x9a\x44\x40\xac\xa9\x05\x7b\xe7\xd4\x54\xb8\xb2\x24\x5b\x46\x12\x32\xfb\x43\x5a\xb4\xa3\x22\x3f\xa0\x8c\x83\xba\x70\x70\x77\x82\x36\x21\x73\xbe\xd5\xec\x60\xb3\xb8\x2a\x76\x22\x42\x0b\x41\x0d\xa1\x64\xd9\x29\x6b\x65\x30\x93\x7e\x1b\x65\x31\x59\xf2\x99\xf5\xdb\xe6\xb7\xea\x18\xbb\xdd\x53\x59\x5e\xc9\x57\xe1\xe6\xb6\x4a\x87\xd7\x3a\x26\x76\x78\xaa\x2a\xc5\xa1\x53\x24\xf5\x87\xaa\x43\xac\x99\x72\xf1\x0d\x4a\xc6\x59\x42\x73\xa4\xa7\xd4\xbc\x7f\x12\xa5\xed\x4b\xef\xe6\xed\xe9\x01\x27\x32\x8f\x3d\x85\xe2\x6d\xf7\x7e\x52\x8a\xd4\xa9\xe7\x9a\x55\x7d\xec\x29\xa2\x10\x57\xec\xd5\x5a\xb4\xdd\xdc\x29\xab\x3d\x3d\x05\x76\xbc\x65\xd6\x59\xec\x51\xd7\xd6\x83\x7b\x4b\xef\xcd\x57\xd3\x02\x09\xbe\x65\xf7\xe3\x10\xe8\x79\xa3\x67\x8b\x07\xe7\x66\x56\x37\xaf\x10\xd8\x4a\xf3\x13\x41\xdb\x91\xdc\xfc\x1b\x4a\xd3\x2d\x95\xcd\x4c\x51\x11\xdb\xa5\x8c\x03\xc6\xfc\xe4\x5c\x6a\xb1\xe8\xc9\x69\x35\x4e\x1e\x31\xbf\x6c\x9b\x26\x5d\x9d\x94\x9c\x6a\x95\x61\x10\x80\x28\xcd\x7f\xc8\x96\x5d\x1c\x27\xf7\x92\x6f\x3f\x71\xfb\x45\x0c\x32\x50\xe8\x6d\x0e\x75\x9a\x43\x9c\xe7\x30\x36\x4f\x56\xb0\x6d\x9b\x16\xee\xbe\xb1\xf3\x71\xd3\x17\x76\x41\x2a\x6f\xdf\xc9\xdc\x6d\x9a\x06\x37\x3b\xcc\xbc\x59\xb7\xdb\x97\xdb\x02\x69\x0a\x31\xf9\xbc\xee\xa9\xf8\x3c\x87\x9c\x94\x0b\x99\xa3\x61\xd9\x28\x32\x37\xeb\x39\x5b\x30\x0f\xe7\xe2\xc1\x51\x85\xc4\x1a\xef\x13\x15\x1c\x86\xe8\xb0\xc7\x6e\xad\x6c\x74\xd2\x83\x02\xdc\x6a\x86\x1b\x3c\xbb\xc4\x4c\xa8\x36\xef\x14\xce\x2c\x74\x18\x56\x45\x98\xbe\xe5\xdb\x5c\x9d\xca\xb6\xd7\x0a\xa6\xab\x9a\x56\x45\xb9\x83\x90\xd5\xa3\xd9\xf8\xa9\x62\x98\x7d\x52\x29\x6c\x52\x6e\x62\x3f\x59\xb0\x71\x76\x4a\xc9\xfc\xe3\xf4\x5b\x68\xdb\x16\x18\xf9\x79\xd9\xb6\xa8\xa2\x36\x0a\x02\x33\x70\x56\x87\xc9\xcf\xea\xf2\x26\x2e\x69\x35\x78\x96\x66\x4d\x15\x9c\x2f\xcd\x89\xcd\x09\x15\x9a\x6f\xca\x76\x13\x41\xce\x85\x16\x96\x85\x0b\xef\xd0\x72\xd3\x25\xb4\x45\xc7\xea\x87\x3c\x39\x9d\xca\xe4\xc9\x99\x7c\x9d\x69\xf2\x39\x85\x35\xf8\x0c\x42\x30\xa8\x43\x65\x47\x39\x6f\x05\xbf\xda\x4e\x93\x04\xbf\xc7\x38\x79\x99\xd4\xca\xae\x2d\x69\xdc\xd2\x10\xcc\xfb\x11\x5b\x06\x97\x58\x0a\x0f\x78\xe8\x9a\xb0\xa9\x03\xc9\x80\x99\x2a\xa0\x80\xe7\x2d\x93\x13\x26\x74\x44\x8a\xbd\xd1\xbe\x99\x00\x7a\xdd\xb2\x72\x43\xf3\xc6\xa6\x0c\xef\x90\x79\x9a\x54\x1f\x89\x28\xc4\x95\x93\xf2\x17\xb3\x4f\x13\x1c\x4e\x8e\x97\x0a\x3b\x05\x39\x79\x24\xda\x4e\xb9\xb4\xa5\xa5\x0e\xc3\x1d\xb4\x73\x91\xf2\x1c\xe3\xf6\x6d\x70\x48\x72\x40\xbd\xb8\xe6\x57\x2a\x28\x53\x03\xde\x62\xbb\xbf\xbc\xd5\xe9\x19\x2d\x4f\x29\x24\x6a\xdb\xd9\x90\x06\xba\x6c\xf1\xeb\x64\x72\x96\x2d\xfc\x82\xd8\x53\x83\x90\x05\x21\x1a\x76\x4f\x52\xcf\x72\xd2\x9a\x6d\xa7\x5a\x63\xaf\xca\x25\xaa\xd9\xb0\x85\xdd\xf4\xae\xac\xda\x0c\x2a\x65\x40\x39\x53\xe6\x90\x3c\x18\x9c\x1d\xaa\x1a\x18\x15\x13\x88\xd3\x55\x3d\x73\x9b\xac\x03\x8e\x28\x63\xa7\x64\xbc\x9c\x3d\x3f\xd2\x76\x81\xdb\xa6\x49\x0b\x32\x2b\xeb\xcf\xb6\x89\x72\x4a\x1b\x36\x9b\x6f\x76\x07\x61\xd7\x8f\xca\xaa\x9c\x12\xdc\x41\x8a\xe7\xd2\xd4\x0c\x64\xe9\x54\x02\x5f\xa7\xe4\xac\x28\x55\x85\xfb\x2e\x96\x39\x7f\xce\x72\x3b\x2c\x35\x02\xcc\x69\xad\xe6\x62\x6d\xc9\x92\xb7\x0b\xb2\x40\x22\x19\x53\x11\xe5\x4b\x2e\x72\x9f\x2d\xcf\xda\xf0\xd5\x94\xad\xcd\xd2\xfa\x46\x52\x48\x5f\x21\xc9\x56\x26\x12\x39\x64\x35\xb4\xf5\xf0\x1b\x77\x6e\x98\x5c\x44\x50\xf9\x90\xc4\x80\xd2\x76\x6e\x4a\xa3\x63\x69\xb9\x32\xe6\x24\x9a\x3c\x24\x32\x39\x62\x42\x6c\x9e\x18\xd3\x35\xa6\x5c\x07\x8b\x9f\x75\x0e\x56\xca\xed\x3e\xa1\x2d\x49\x3d\xef\xa0\x68\x3b\x56\x1a\x0e\xd5\x76\x31\xed\x56\xb2\xad\x07\x71\xd2\xa5\x10\x48\x44\x2d\x13\xa8\x60\x45\xa6\xdd\x03\x71\xda\x3d\x50\xa6\x5c\x82\xa6\x4f\x22\xb0\x8d\xbd\xbe\x70\xe5\x20\xdb\xd6\x54\xcc\x79\xa3\x51\x68\x3b\x8d\xe0\x1a\xaa\x4d\x02\x94\x69\x00\x79\x1a\x40\x9c\x9b\x6e\x7a\x22\x7a\xdd\xf6\x2b\xed\xfe\x62\x55\x8e\xe6\x51\xc7\x3c\xa9\x99\xcd\xd9\x13\x20\x23\x96\x2d\x23\x4b\xac\xb0\x13\xa0\x6d\xae\x23\x3f\x29\xbe\xfa\x53\xdb\xc6\x6c\xae\xa3\x3a\xce\xc3\x59\x36\x2f\xb3\x6b\x3b\xd7\x5b\x68\xd1\x32\xd4\xdb\x0e\x31\x73\x64\x25\x8b\x72\x82\x57\x44\x2b\x4d\x37\x63\x7f\x8d\xfd\xa4\x97\xfa\x26\x9d\xc0\xf9\x71\x5c\xa8\x9f\x0a\x11\xa6\xc9\x7f\xda\x3c\xda\x26\x75\x53\xcb\x89\x4d\xa3\xed\x6b\x74\x2c\xcb\xb6\xdd\xc6\xcd\x52\x7b\xf2\x9d\x6c\x02\x65\x42\x1e\x1e\x12\x3f\xb9\x67\x94\xe5\x4d\x59\x16\x12\x9a\x28\xf2\x69\x56\x81\x5a\x5a\x9b\x35\xc8\x75\x6e\x11\x74\x02\xed\xae\xed\xde\x28\xaa\xeb\xf7\x48\xa9\x6d\xae\x20\xdf\xf4\x25\xb5\x7c\xd2\xd4\x59\xcb\xac\x8a\xed\x20\x38\x97\x27\xcf\xcf\xf5\x9d\xf9\x69\xf8\x56\x05\x10\xdb\x16\x7c\xeb\x37\xa4\x69\xb2\x53\xe8\x31\xb7\xa6\x6b\x63\x06\x96\xc5\xc4\x23\x79\xcb\x9c\xe2\x43\x65\x45\xcb\x59\xc8\xb4\x9d\x62\x11\xee\xb7\xf5\xb5\x2a\xef\xb6\x5b\x28\xab\x08\xc1\xbe\xe4\xbc\x95\x37\x3c\xf9\x0e\x6c\x18\x1f\xd0\xef\x73\x2e\x5d\xa1\x62\x7a\x58\xb6\x44\xc9\xdc\x64\x05\xf6\xa2\x05\x93\x78\x08\xf3\x26\xcb\xb1\x44\xf2\xec\x48\x41\x05\x5d\xf4\xb6\xf7\xc7\x5b\x5c\x07\xe6\x7b\x33\xc0\xb1\x8b\x09\x1b\x3b\x63\x59\xb6\xba\x80\xb6\x09\x1f\x32\x3b\xce\x5e\xa1\xa2\x84\x51\x51\x99\xd4\x94\x43\xd3\x3b\x50\x3a\x68\x6c\x38\x9d\xf2\xa2\x20\xdd\xdc\xf6\x5d\xb8\xab\xae\xae\x6d\x4f\x8f\xb2\xd0\xd2\x58\x68\x63\x75\xa6\x21\x4f\x0a\xa3\x5e\x6f\x05\x3b\x3f\xe0\xf0\x59\x2d\xe5\x6e\x5b\xda\xd9\x01\xfc\xb5\x22\x04\xaf\xab\x5e\xeb\xbe\x48\xa7\x2b\xb4\x46\x22\x49\xd9\x57\x1d\xaf\xe6\x4e\x50\x22\xb2\xdd\xb3\xa0\x5a\x2f\x9e\x97\x56\x82\xa0\xc4\x3c\x42\x73\x53\x09\x94\xd7\x5c\x28\x47\x19\xe7\x2f\x16\xb8\xe3\xe2\x79\x20\xe6\xce\x53\xe5\xb2\x1f\xc9\x87\xce\x93\xe7\x35\x2a\x70\x59\x01\x48\xd8\x54\xbc\xd0\x3b\xea\xc5\x73\x54\x1a\xca\xbc\x46\xde\x4a\x19\x7b\xee\x29\xd4\xbc\x08\x54\x53\x19\xed\x8f\xbb\xe6\x89\x29\x38\xee\xb8\xb7\x24\x39\xa1\x94\x70\x62\x74\xd1\x9b\x50\x6e\x90\xc3\x5a\x55\x49\x69\x5f\x33\xc2\x4c\x26\xfa\xd3\x82\x52\xba\x78\x1e\xc9\x97\x4e\xa7\x50\xf6\x03\x32\x90\x73\x5c\xb3\x50\xc4\xd9\xa0\xae\x50\xe4\x05\x8a\x2e\x5c\x3c\x87\x25\x8c\x63\x36\x65\xc4\xe9\xdc\x14\x5c\x5a\xa3\x48\x5c\x19\xfb\xf9\x9b\x85\x9d\x7a\xf9\x9c\x29\x77\x42\xb5\x2c\x10\xf3\x56\x4d\x00\xb9\x98\x0b\x6f\xbb\x99\xf0\xd7\xc7\x80\xe1\x23\xf2\xe4\xea\xe3\xe8\x24\xce\x41\x74\x67\x0b\xb2\x0f\xe4\x48\x86\x1d\x29\x8c\x96\x59\x11\x6a\xed\x70\x96\x78\x86\x25\xdd\x2e\x4b\xbd\x1a\x6b\x79\x1a\x4b\xf4\xc9\x5a\x55\x2c\xe0\x8e\x0b\xd5\x12\x47\x58\x01\x85\x62\x48\x8b\x40\x21\xd5\x7d\xfb\x35\xae\xd9\xeb\xef\x57\x1a\xda\x1e\xde\x75\x98\x35\x46\x2a\x51\x3a\x24\xb2\xf4\x76\x5d\x10\xea\xb8\x8c\x69\xb7\x8d\xb0\x61\x78\xa5\x92\xed\x70\x7f\x4e\x54\xb8\x2a\xf8\x5d\x1d\xdb\xdf\x22\x8a\xa4\xf9\xaa\xed\xb3\x3d\xc4\x44\x99\x03\x0e\x9f\x0f\x46\x19\xbd\x92\x06\x4e\x98\x45\x29\x88\x5c\x53\x6f\x7f\xa8\x09\xd2\x6f\x6e\x59\xe0\x99\x5b\x47\x39\x51\xa8\xa3\x5c\xc2\xd8\x7b\xca\xa8\x28\x16\xab\x51\xde\x38\x7d\x91\x64\x8d\x44\x88\xdb\x81\xb9\xe1\x09\x13\xe9\xbb\xb1\x92\x25\x18\xa7\xeb\xd9\x01\x83\x1f\xdc\x36\x44\xb1\xdd\x9a\x7e\xf3\xf8\xc2\xed\x30\x9a\x74\x57\xbe\xf6\x11\x1e\xec\x9d\x59\x51\xb6\x33\x7b\xcb\x3e\x03\x3f\x04\x34\x9d\x46\xfd\x5e\x49\x0a\xc5\x19\x71\x7c\x6f\xce\xfb\x9b\xbb\x6f\x9d\x95\x27\xef\xb1\xe1\x3d\x19\x07\x4c\x3e\x93\x4f\x7e\xa1\x0f\x8e\xed\xcf\xe8\xd7\xc0\xc1\x5b\x61\x7e\x2d\x57\xe8\x90\x29\xd1\xc1\xa7\xd5\xdb\x75\x34\xcb\xf2\x12\x97\xf8\x00\x8d\x95\x0e\x8e\x96\x62\x26\x37\x83\xc4\x84\xc4\xa5\x11\xe6\x7f\x0c\x05\xfe\xb2\x7a\xfb\x10\x27\xbe\x36\x5a\xfc\x38\xb2\x74\xc8\xd1\xec\x32\x95\x14\x7a\xbb\x8e\x84\x1a\xe3\x76\x83\xf2\xbc\x1c\x6e\xc7\x8b\xc6\x51\x3d\x95\x08\x97\x40\x52\x6e\xe0\x12\xb8\x65\x19\xa7\xbf\x8b\x32\xc8\x7c\x55\x35\xd8\x25\xb0\x5d\xde\x3d\x26\x8a\x5e\x75\x85\x10\xfd\x8d\x8c\xfb\x56\xaa\x8a\x86\xf1\x69\x7e\x7a\xe1\xf6\x77\x05\xc2\x5d\x70\xf6\xcc\xdf\x4d\x14\x17\x2a\x38\x5b\xde\xcb\x68\x5e\x57\xc5\x1f\xe4\x0f\xa9\x66\xa0\xd7\xd8\xcc\x12\x28\x72\x46\x75\xa0\x88\x94\x1e\xdf\x42\xb2\x0e\x4c\x49\x76\x37\x36\x05\xca\x15\xc5\xa6\xc3\xe8\x11\x3f\xa8\xa1\xae\x05\x85\xb6\x84\xa4\x5a\xd2\x97\x90\xe0\xc8\xc9\xb0\x8e\x54\x82\xc7\x2f\x01\x21\x42\xbb\x0a\x92\xd6\x4a\x21\x23\x8e\xad\x2e\xba\xda\x30\x99\xc4\xaa\x02\xa3\xd6\xd7\x22\x52\xce\x63\xfb\x93\xd7\x56\xc2\x42\x99\x62\xc7\x91\x52\xf0\x6b\xa1\x62\x87\xef\xd7\x4c\x1e\xdc\x48\xd9\x5b\xe1\xb4\x50\x2b\x7d\xec\xe7\xbf\x7b\x4f\x82\xc2\xa7\x0e\x25\x8d\x4a\x08\x18\xa0\x28\x1a\xeb\xc5\xd6\x40\x31\x3e\x1c\x9d\x8d\x8b\x20\x97\x4a\x17\x15\x42\x11\x17\x49\x19\x10\x45\x2d\x5a\x03\xa8\x5e\xac\x03\x2a\xe0\x02\x94\x3a\x9e\xd4\xc0\x1a\x70\xc4\x7e\x5e\xf7\xf8\xfd\x02\xad\xa0\xd6\xd9\xd8\xf6\x3a\x7a\xdb\x1c\x28\x51\xaf\xd6\x81\xa2\x8b\x63\x5b\x10\x1f\x7d\x6b\x43\x2f\x17\x78\xec\xae\xd2\xf9\xcc\xdf\x55\x47\x11\x24\x94\xa5\x92\xf7\x0b\x05\x5f\x29\x8e\x42\x5c\x04\x55\xe9\xe1\xd7\xea\xbc\x2e\x69\xaf\xdf\x62\x3f\x83\x58\x61\x01\xaf\x9a\x58\x2a\x57\x0a\xae\x78\x87\x5a\xb5\x45\x97\x3e\x30\xa5\xba\x88\x14\xbc\xf2\xaf\x98\xc8\x10\x31\x64\x38\xa8\x03\x49\xc4\xf7\xb6\xd1\xc1\xae\x54\x89\xa3\x54\x21\xc1\x03\x57\x4a\xe6\x05\x70\x50\x67\x50\xc1\x3d\x2f\xbc\x4a\xf4\x71\xfa\x13\xe8\x93\x2e\x54\x6e\x71\xc2\x5e\x85\x14\xd7\x88\xd7\x8f\x02\xff\x92\x64\x9d\x0d\xb2\x10\x6a\x58\x78\x4a\x05\x95\x1a\xdb\x17\xaa\x29\xb8\x64\x8e\x03\xe7\x3b\x24\x16\x61\x90\x11\x5b\x22\x19\xee\x6f\x2e\xc1\x86\x8b\x51\x72\x4b\x97\xd7\x2b\x7f\xa9\xa0\x2e\x30\xa4\x43\x70\xd8\x1b\x24\x95\xb7\xd6\x4e\xb0\x2b\x27\xf0\xda\x93\x88\x82\x3a\x24\xc5\x66\xcc\x93\x8b\x1d\x00\xb1\x56\x74\x95\x8b\xd6\x46\x22\x5f\xac\x89\x1e\xe7\xba\x8b\x15\x7f\x0e\x61\x51\x29\x25\x7b\x0e\xbe\xe2\x76\x0b\x2a\x46\xfb\x72\x67\x05\xee\xcc\x7f\x48\x7f\x7b\xfd\x91\x55\xcb\x1a\xdb\x7b\x22\x31\x84\x30\x27\xc0\x94\x9a\x3b\x70\x04\xc5\xeb\x50\xbb\x44\x19\xa1\xde\xf9\xf2\x46\xea\xbd\xea\x27\x7a\xc8\x8f\xd9\x5f\xd7\x72\xa2\x8a\x92\xd8\x4a\xf1\x31\x86\x2e\x52\xcd\xbe\xdb\xbe\x9e\xef\x58\xe0\x91\xab\x06\x54\xe1\xe8\x1e\x4f\xd2\xa9\xa0\xa8\x3f\x9a\x66\x84\x20\x23\x27\xe8\xe0\x01\x7b\x27\xec\x8b\x0e\x89\xf5\x3d\x66\xd1\xcf\xd7\x57\x45\xd4\x36\x40\xb6\x98\x28\x76\x7c\x77\x08\x35\xae\x2b\xe5\x30\xf6\xf6\x0d\x53\xf1\x5e\x47\x79\xfb\x20\x55\xf7\x91\xda\x15\xf2\xc6\x4d\xe1\x57\x09\xd5\xd8\x49\x51\x38\x70\xc0\x35\xea\x48\x82\xb7\x8b\xfe\x7e\x7b\xa3\x81\x6a\x54\x21\xec\xf3\xb8\x2b\x17\x50\x9f\xda\x85\x45\x20\x2f\x7e\xea\x5c\x99\xf2\xc4\xb0\x0a\x36\xe0\x98\x84\x41\x72\x05\xae\x7b\xab\xd7\xe2\x2d\x51\x29\x5f\x35\x5c\x77\xd6\xd4\xea\x5d\x2b\x5f\x29\xfb\x1b\x11\xa6\x6c\x91\x21\xc8\x54\x38\x95\x6c\x5e\x95\x5e\x09\xf4\xc2\x46\x12\xbb\x4a\x21\x70\xe3\xbf\x5b\xac\xb4\xfd\x0d\xf6\x19\x02\xcf\xb7\xa3\x44\xbe\x8c\xd3\xc4\x72\x8e\x8d\x83\x6f\x31\xf0\xb5\xf5\x70\xdb\x6a\x1a\xb8\x9a\x58\x68\xf0\xd2\xb6\xf4\xc1\xc6\xe1\x77\xf9\xff\xce\x68\x6f\xe6\xfb\xdb\xa3\x9d\x00\x32\x6e\x09\xef\x06\x91\x69\xd5\x4b\x02\x2f\x2e\x1f\x4d\xfa\x37\xcb\x88\x7f\x00\xe9\x7b\x94\x26\x44\x8e\xab\x72\xab\x08\xfd\x1c\x99\xcd\xed\x12\x99\xcc\x7e\x8b\x2f\x67\xe3\xcb\x56\x60\xf3\x76\x4c\xd9\x69\xdc\x4a\x71\xc7\x1a\xf6\x23\x8a\xa2\x14\x02\xf3\x8d\x09\xfb\xac\x42\xe8\xe6\x1b\x16\x78\xe2\x56\x12\x50\x11\x96\xa6\x96\x49\x75\x85\x1c\xd7\xd8\x16\x38\xb6\xbf\xc0\xbe\xd1\x49\xb7\x75\xf3\xad\x88\xe2\x49\x6a\x6c\x72\x31\x12\x23\x97\x36\x64\xbf\xce\xe6\xff\xc1\x79\x12\xac\x94\xbc\xc0\x3d\xb7\x0e\x50\x7b\xaf\xaa\xbc\x7b\x6f\x52\x40\xc5\xa0\xea\xfb\x7a\x25\x14\xa3\x5d\xa3\xce\x42\x34\xc1\x2d\xe4\xd3\x35\xce\xb4\x6d\xc2\x77\x94\x3c\x0c\x28\xb1\x46\xc3\x2c\xec\x91\x9b\xab\x96\x63\xe0\xdc\x3a\xd7\xbb\x6d\x55\x55\x49\x08\x9c\xad\x77\x7d\xaf\xd1\x7a\xef\x71\xdd\x4f\x22\x90\xaf\x49\x64\xd9\x5a\x4f\x6c\x43\x8a\xfb\xa9\xa5\x19\xa7\x52\x54\x50\xaa\x62\x09\x4f\x69\xf2\x06\x74\x8a\x17\xcf\x4d\x76\x26\x62\x5f\xa7\x91\xce\x42\xb1\xfd\x09\x51\xc8\xbe\x4e\x37\x33\x53\x52\x02\x6d\xb3\x89\x29\x5c\x16\xc3\x2a\x7a\x8b\xbf\x0a\xf7\x1d\x84\x06\x88\x9a\x68\x6f\x3d\xc7\x14\x16\x10\xe3\xd6\xf4\x8e\x18\xdf\x1e\xe8\xa5\x71\xf6\xd7\x0e\xb4\x35\x63\x27\x02\x19\x00\x0c\xd5\x14\x89\xe3\x82\xe2\x9d\xe8\xfb\xe2\xdd\xe9\xea\x8e\xfe\xba\x56\xf6\xb6\x10\xd7\x3a\x06\x8a\x39\xaa\x92\x55\x5a\x58\x9e\x55\x35\x8a\xbe\x17\x15\x59\x43\x70\x4e\x39\x59\x37\x7d\x22\x31\x6d\xba\xa1\x38\x9c\x54\xe2\x58\x15\xa8\xe0\xfb\x84\xe3\x23\x84\x02\xae\x51\xe4\xab\xed\xc8\x86\xda\x54\xcc\x3c\xee\x10\x2b\x53\xc9\x8c\x83\xb5\x54\x50\x15\x97\x3b\x6c\x0d\xd5\x6f\x03\x8c\x56\x1c\xad\x55\x73\xda\x17\x56\x0b\xa0\x8e\x3d\xb8\xae\xd5\x00\x53\x0b\xc6\xab\x0d\x7b\xf1\x5c\x08\x3b\x09\x7d\xc8\x18\x4a\x3b\x98\xa6\xf6\xc6\x71\x85\x42\x0a\xbd\x2a\x83\xe3\x7c\x99\x60\xa6\x67\x9d\x46\x70\xe9\x01\xbb\x9c\x28\x95\x6e\xfa\x44\x92\x9f\x1a\xdf\x1d\x8e\xcd\x51\x1e\x1d\x36\x87\xb4\x20\xcd\xa9\xc7\x16\xba\x2e\xa1\xa6\x30\x4e\x69\xe9\x12\x0a\x0a\x09\x09\xb6\x2f\xca\x12\xdb\x24\x90\xa0\x6c\x5f\x76\xce\x3e\xfb\x39\x61\xef\x4e\x0b\x7a\x27\x6d\x3e\xa3\xe4\x85\x12\xaa\xc0\x44\x2b\x38\x15\x62\xda\x6e\x65\x95\x4d\x71\xc4\x5b\xa8\x83\x54\x46\x62\xd0\xf4\xd9\xf2\xc7\xb3\xa0\xee\x69\x6c\xeb\xa9\x46\x7a\xae\x7d\xa0\x8a\x12\xb0\xaa\xe8\x04\xaa\x92\x86\x5c\x0a\x34\x05\xfb\xb0\x8a\x8e\xd5\x83\xd3\x82\x0e\x2b\x0e\xc9\xe1\x68\xa9\x12\xbe\xf6\xec\xa8\x5a\xbd\x27\xf3\x98\xa8\x99\x59\xf2\xc5\x73\x35\xab\xb4\x61\xeb\xd0\x79\x2a\x8c\x54\x48\x86\x22\xe4\xd4\x04\x62\xcf\xfb\x0a\x7d\xd5\xf6\x22\x54\x62\x87\x7a\x85\x29\x3c\xca\x94\x93\x2e\x6e\xae\xb9\x2b\xe6\x14\xc3\x67\xee\x64\x20\x8f\x83\x33\xa6\x02\x89\x28\x92\xbc\x9f\x28\x98\x2a\xd8\x05\x9c\xbd\x85\x39\x99\xb7\xa5\x6d\x60\x2e\x28\x62\xc1\xf8\x0a\x47\xb3\x25\x4b\x3b\xba\xfb\x5a\xdd\x49\xad\xbe\xbf\xf7\x3b\xe7\x4a\x7d\x9c\xf6\x7e\xa3\xc8\x7f\x49\x8a\xbc\x93\x06\x75\xed\x2a\xff\x46\xa6\xbf\x0a\x32\x1d\x7e\x3a\xbb\x9b\x9c\x8c\xb0\xc7\x3d\xc5\x52\x21\x8f\x43\xe7\xe1\x7c\x42\x3a\x71\x5d\xe3\xb0\x17\xfd\x21\xeb\xe4\x62\xc9\x8b\x42\x69\x53\xee\x67\x0a\xed\xbb\xa8\x30\xca\xb9\xa7\x94\xcb\xc2\x53\xac\x17\xc8\x05\x08\xaa\x17\xa6\x10\xc6\xf6\x6b\x2c\x65\x9f\x0b\x45\x1c\x9e\x63\x8a\x8a\xdf\x67\xa8\x7b\x5d\xa1\x84\xc0\xa8\xe5\x6e\xe5\xb9\x08\x8a\xed\x52\xd9\x69\x3e\x85\x70\xf1\x5c\xe0\x0c\x45\x52\x0c\x36\x58\xcb\x1a\x1b\x64\x3d\xb2\x52\x53\x56\xf5\xc2\x67\x78\x4c\x3d\xb4\x16\xb3\x24\xb9\x60\x4b\x53\x05\x1b\x41\xb1\x2e\xdb\x8a\x81\x04\x77\x55\x55\x4a\xca\x5d\xa5\x28\xb2\x19\xb3\x5a\xf4\x9c\xed\x3c\xa7\xf5\xa6\x25\x3b\x15\x0f\x39\xfe\x28\xb5\x64\x59\xd5\x53\xd2\x9f\x5e\x00\xdb\x04\x67\xfb\x88\xef\x6d\x6b\x97\x63\xec\x5e\x8c\xe6\xf5\x13\xd1\xce\x72\xb1\x61\xdb\xde\x69\x03\x68\xdb\x4f\xe8\xc2\xa2\x8e\x38\x96\x0a\xa7\x6a\x96\xad\xfe\x71\xf8\x54\x2e\xdb\xa0\x41\x5b\x50\xb8\x3a\x1c\xc6\x02\xff\x63\x04\xe7\x10\xa6\xd4\x8a\x04\xa1\x40\x83\xef\x1a\xa4\xda\x9e\xf4\x56\xb4\x07\xc9\xdf\x96\xf5\xc9\x54\x71\xd6\x11\x6a\x74\x21\x99\xae\x0e\x24\xed\x60\xcb\x96\xfc\x14\xe3\xd8\xb2\xfc\x7c\x34\xdd\x10\x9a\x67\xeb\x1d\x48\xe0\x22\xd4\xd0\x14\xd5\x0c\xf5\xbe\xe1\x02\xb6\x9c\x59\xe8\x76\xee\x38\xa2\x63\xdc\x10\x71\x54\x5a\x0a\xd7\xad\x9c\x3d\x1f\xeb\xc7\x51\xc3\x9d\x94\x0c\x6c\xeb\xef\xc0\xbd\xf6\x23\x45\xee\x64\x14\x24\x25\xe7\x24\x6b\x9c\x41\x09\x5f\xaa\xab\x54\x0a\x90\xb5\x5e\xbb\xf0\xd2\x8a\x96\xe5\xb9\x8c\x8b\x63\xd8\x18\x72\xa1\x9a\xb6\x87\x84\x70\x50\x9d\x95\x5b\xb7\xc6\xcd\xaf\x2f\x9c\xa9\xd4\xba\x46\x2e\xcf\x44\x63\x2d\xa4\xad\xb0\xe5\x2e\x52\x28\x51\x9b\x8b\x8c\x06\x50\x3c\x4d\x5b\xee\x2a\x25\x87\xa8\xb8\x0e\x83\xd7\xd8\x1d\x8f\x3b\x8c\xcd\x5a\x38\xaf\xd4\xb0\x50\x71\x07\x9b\x01\xdf\x64\x1c\x6f\x55\x33\xf9\x14\xf7\x55\xfe\xc5\x9a\xd7\x9e\x1c\x5f\x3c\x8f\x90\x91\x38\x5c\x66\xd3\x97\xca\x5a\x6d\x34\x27\x0f\xa0\x98\x83\xd9\x15\x2a\x35\xad\xa7\xba\x39\x73\x19\x46\xab\x7a\xd9\x53\x8a\xc8\xd9\x52\xae\x16\x33\x36\xf6\xfb\x05\x1a\x06\x4c\x92\x53\x21\x9c\x5c\x18\x5b\xf5\xec\x60\x95\x00\x5a\x55\x5c\x83\xf0\x22\x11\x26\xc4\x94\x63\xd8\x5a\x0f\xef\x75\x56\xfd\xf4\x64\xd6\x09\x26\x17\x74\xf8\x01\xc9\x02\xc1\xb6\x58\xd8\xdd\x21\x50\xb0\x1c\x2e\x94\x20\x5b\x63\x4b\x58\x5b\x8a\x30\x25\x1c\xb5\x6e\x67\x72\x18\xb9\x9d\x56\x1b\xa3\xed\xc1\x92\x1c\x07\x42\x41\xa9\x46\x0f\xb6\x43\xbf\x8e\x2d\x91\x4c\x7b\xc4\x49\x01\x0d\x63\x7a\xca\x31\x62\xaa\xa2\x96\x96\xa3\xd0\x56\x00\xdb\x59\x65\x6b\x14\xc1\x0e\xe0\xb2\x51\x4c\xfb\x3a\xdb\x28\xda\x26\xda\x52\xe2\x02\xa5\xf1\xb6\xd6\xf0\x6e\x75\x24\x67\x7a\xb8\x7b\x7c\xfb\xdd\xe9\xf8\x7f\x7e\x77\xf5\xc1\x17\x2f\xde\x0e\x47\xc7\xe7\xee\xc5\x78\x74\xbc\x1a\x4e\x5f\x88\xcf\xf2\x82\x53\xfe\xcf\x8d\xd5\xab\xc2\x64\x22\xd7\x52\x41\xfe\x7e\x43\xfe\xca\x80\x70\xc4\x42\x2e\x8b\x40\xce\xe4\x8f\xef\xae\x1a\xaa\x3e\xf0\x83\xf4\x64\xef\xb2\xbc\x9a\xdb\x13\x6e\x72\xc1\x85\xd0\x58\x5d\x0c\xf1\xe2\x0d\x93\x8f\xb1\x0b\x63\x4f\x48\xf3\x42\x2f\xb9\x8c\xf8\x2b\xc4\x05\x78\xc8\x1b\x26\xb5\x55\x55\x2a\xd7\xda\xe5\xd6\x90\x8a\x95\xe6\xad\xe1\x5c\xd6\xa8\x20\x72\x79\x58\xb7\x83\x85\x6f\x00\x0b\x23\xdf\x13\x9b\xdd\xd3\x06\x36\xe5\x32\x6b\x34\xe6\xac\xc0\xa9\x0b\xc5\xb1\x68\xf7\x16\x84\x0c\xaf\x86\x5a\xb7\x21\xb4\x2d\x77\x37\xcd\x96\xd2\xa6\xc6\xc6\x4b\x0b\xc5\x10\x00\x22\xb5\xc1\x27\x10\xe5\x05\xd2\xca\x1b\x88\x54\x40\xa7\x18\x27\x18\xa5\xd9\x83\xc5\x29\xc3\xa9\xc0\x33\x90\xea\x22\xd3\x15\xe7\xf0\xed\x10\x92\x1b\x20\x14\x51\xb7\xab\x50\xcd\xa5\x4d\x5a\x17\x7b\xc1\x9e\xea\x5d\x85\xfb\xad\xf0\x81\xc4\x4d\x90\xf7\xc0\x1d\x45\x1e\x55\x6b\x6a\xdd\x6f\x3f\xcd\x60\xb1\x1c\xbb\x8a\xba\xcd\xda\x8d\x9f\x40\x13\x93\x82\x26\x17\x80\x06\x25\xdf\xf6\x3d\x84\x39\x7b\xca\x8b\x4a\x25\x20\xdf\x03\xfb\x6f\xb3\x76\x75\x25\xf4\x7c\x3b\x6c\xfc\x4d\xd8\x83\x34\x4f\x05\x8e\xdf\x50\xd6\x25\xc2\x2a\x5b\xc8\x63\xc3\x16\x1f\xb6\xd1\xe7\x76\xf0\x6c\x69\x40\xd8\xf3\x17\x15\x48\x33\x88\x40\x5e\x14\xbd\xdf\x86\xd1\x0c\xa4\xba\x0b\xa4\x08\x20\xe5\x86\x3f\x21\x6e\xe3\x8f\x02\xe9\x32\x89\x5d\x71\xdf\xdf\x0e\xa4\x70\x13\x90\x0a\x01\x7f\x4a\xdd\xc2\x9f\x2d\x18\x95\x89\xc0\x4a\xe3\x3e\xdb\x18\x74\x07\x04\xda\xd6\xdb\x74\x69\x4b\xbd\x84\x47\x13\x0f\x2a\xd5\x78\x50\xba\x2b\x26\x6d\x80\x14\x50\x52\x4e\x81\x14\xd3\x06\x93\x3e\x89\x13\xc5\x1b\x19\xb4\x4f\x88\x3a\xa3\x86\x4e\x03\x54\x2e\xbb\x80\xaa\x1b\x38\xd5\xa6\xdf\x6d\xc0\xf4\x01\x4c\x32\x42\x56\xd5\x6f\x8b\x53\x33\xa5\xba\xee\x23\xa5\x10\xf7\x23\x74\xd8\x48\x69\x1b\x4c\x1b\x64\x5a\xb0\x1d\x58\x72\x0d\x98\x62\x52\x7e\xcd\xa8\xbb\x0e\x4e\x24\x72\x09\x4a\xe9\x8a\x4f\xf6\x76\x28\xa5\x9b\xf9\xb5\x78\x0f\x30\x59\x18\xe4\x16\x86\xfd\x89\xe8\x74\xad\x8a\xdc\x64\x1a\x8a\x0e\xcf\x32\x2d\xcc\x32\xad\x95\x50\x54\xd0\x5c\x4b\x74\x33\x3e\x85\x5b\x98\xf6\x0e\x3e\x7d\x84\xd2\x70\x97\x94\xa2\x6b\xa1\xcd\xe9\x7a\xa5\xa1\xc4\x99\xf7\x47\x56\xa5\xfb\x92\x5e\x14\xae\xd7\x62\xa1\x96\xef\xb7\x67\x6e\x85\xf1\x96\x5e\xbf\x69\x30\x64\xa8\x8a\x70\x4e\x98\x62\x98\xc9\x17\xbe\x78\x43\x35\xd4\x4e\x48\x8d\xba\x64\xbb\xbc\xb4\xab\x18\x46\xfb\x73\x2d\x14\x63\xd1\xdb\x0a\xa1\x70\x56\x46\x26\x3d\x97\x85\x98\xfe\x6d\x7f\x4b\x5c\x0b\xd5\x2b\x91\x89\xdb\x01\xc3\x37\x00\x66\xc7\x6a\xb8\x59\x6b\xec\x9a\x0a\x5c\x9d\x2c\x30\x81\xe9\x28\x9a\x74\x3b\x7c\x0a\x8e\x09\x84\x49\xb1\x69\xd2\x8b\x36\xa9\xf0\x99\x4c\x85\x19\x3c\x7c\x15\x3c\xd5\x37\xf0\x20\x06\xdd\xa0\x93\xeb\x7e\x25\x9c\x23\xc8\x5e\xa1\x13\xd2\x68\x1b\x96\x19\x51\xe0\x70\x45\xd7\xbb\x1d\x3a\x72\x03\x74\x94\xde\xa4\x4b\xc4\x25\x6c\x80\xe3\x17\x95\x92\xbf\xa3\xfd\x73\x3b\x85\x6e\x99\x44\x40\x9c\xd2\x6c\x0c\xae\x32\xd9\x4b\x1b\xb0\xa0\x1a\x24\x20\xe1\x05\x1d\x35\xb8\xb8\xaa\x88\x93\x03\x40\x53\x48\x60\xde\x19\x30\x38\x2f\x12\xe5\xca\x13\x70\x44\x8d\x9b\xab\x51\xb7\xdb\x81\xe3\x6f\x00\x4e\x69\x4e\x4d\x8e\x7e\x0b\x38\xbb\x98\x83\x80\x1a\xac\x3b\xc5\x1c\x14\x10\x6f\xf7\x7e\x18\x3a\x5b\x26\xa2\x36\x6a\xa4\x05\xcc\x01\x80\x8c\xb2\xd4\x78\x02\x88\xae\x83\x90\x2b\x0d\x44\x20\xad\x3c\x23\x0f\x6f\x00\x94\x14\x40\x69\x26\x2d\xc0\xc7\x5d\xd1\x83\x6f\x07\x50\xb8\x89\xb6\x84\x8a\xef\x36\x83\x55\x33\x70\x87\xf1\xc4\x6b\xd0\x27\x86\x2b\xa6\xd7\x8d\xe8\xb3\x65\xdd\xae\x91\x1f\x7c\x19\x89\x0c\x46\x05\x66\xfc\x1b\x42\x94\xb1\xb8\x72\x09\x8d\xf2\x6d\x40\x0a\x33\x90\x6a\x9d\xb1\xe8\x53\x18\x50\xbc\x91\x33\x87\x88\xad\x4b\x81\xe3\x0c\x25\x17\x2f\x1b\xcf\x13\x94\xaa\x93\x6d\xf3\xf7\x2e\x54\x66\x44\x8c\xcc\xfe\x4d\xab\x0a\x94\x02\x15\xbf\xc6\x0d\x98\x7c\xba\x16\x4c\x6b\x64\x46\x5f\xa2\xb7\x0d\x2b\xda\x00\x0a\xe7\x48\xa4\x1c\x2f\x41\xea\x6e\x2a\xc3\x0c\xaa\x74\x33\xaf\xbe\x93\x89\xbf\xc1\xa8\x9b\x8c\xf9\x9b\xd9\xb5\xf3\x08\x54\x97\x58\x77\x61\x95\x2d\xda\x5b\x27\x50\xf9\x22\x1b\x79\xb6\x05\x2b\x6f\xb0\xf2\x37\xc0\x6a\x0b\xa7\x00\xaa\x54\x2e\x91\x5e\xbd\x9b\xce\xf0\x72\x3c\x79\xd9\x9f\x9d\x9f\x9c\x0e\xaf\x3f\x22\x6e\x9b\x52\x87\x2a\x9d\xd8\xe0\xc4\x48\xa8\x1b\x18\x01\x17\x21\xbf\x15\x13\x09\x89\x4a\x0c\xfa\x9a\x4b\x89\x30\x89\x6d\x99\x0a\xad\x3e\x38\xfb\x6c\xc5\x99\x25\x66\xcb\x25\xab\xa6\x27\x7a\x54\x05\xe3\x9e\xb0\xe9\xcd\xce\x03\x2b\xbd\x6d\xc6\x74\xb9\xa7\x84\xbd\x2a\xfa\x7d\xcd\x69\xda\xe7\x2e\xa1\x6d\x4e\x6e\xc7\x38\xb5\xa2\x9b\x38\x33\x25\xf9\xa9\xc0\x56\xb5\xb2\xcd\x28\xee\x54\x6d\xb7\xa7\x95\xe1\xe0\x0a\x32\xb2\x2a\xd6\xd1\x6a\xe0\x94\x81\x92\x53\xde\x30\x1d\x63\xea\x12\x49\xd2\x7e\xc4\xdb\xe6\x38\x9f\x6d\xf3\x66\x44\x09\x68\x83\x48\x4e\xb6\x87\x08\xcc\x0b\xc6\x48\x0e\x76\xf0\x55\x26\x89\x56\x44\xab\x55\xb1\x29\x85\x72\x9d\x36\x6b\xa1\x9a\x02\x45\x9c\x99\x58\x28\x67\x6b\x9e\x71\xec\x7f\x46\x01\x01\x51\x3a\xb4\x2d\x87\xd3\xae\x52\xc1\xce\x13\x2b\xcc\x45\xa9\xaa\x55\x60\xe7\x61\xe3\xbc\x74\x9c\x0e\x5c\xe1\x4f\xae\x56\xd4\xc5\x4e\x4a\xb5\x83\xed\x39\xb4\xf7\xe9\x30\x1f\xe9\xc9\x63\xa4\x76\x64\x7e\x3b\xe0\x96\xad\x7e\x92\xb7\x83\x8a\xa5\xd5\x1e\x08\xd8\xba\x8b\xc4\x59\x1d\xd5\x2e\x4d\x5c\x4e\xe0\x69\x39\x4b\x89\xbb\x42\x48\xb4\x4c\xfe\x10\x79\x97\x53\x65\xe5\xa5\xb9\xd3\xac\x62\x33\xb6\x2b\xa3\x88\x7c\x5c\x27\x92\xd2\x8e\x87\xcd\x76\x86\xaa\xb7\xca\x7c\xd8\x14\xc6\xed\xe8\x79\xd5\x0e\x9b\x57\x17\x5c\xc6\x6a\xb7\xd8\x11\x32\xd8\x3f\x85\x0a\x11\xd3\x76\x43\xec\xb8\x0a\x87\xbd\xca\x52\x14\x3b\xc3\xa9\x62\x62\x8e\x4c\x05\x9b\x15\xfb\x4e\x03\xc5\x14\xf5\x35\x57\x57\xaf\x3d\x85\x6a\x89\x22\xf6\x36\x55\x8a\x46\x9d\xd8\x85\xae\x66\x5c\x4e\xa7\x25\xa1\xe6\x53\x09\x06\xd7\x80\xa2\x28\x38\x3e\x20\x2b\x0b\xb2\x0d\x87\x01\x67\xc3\xf9\x01\xfb\x9a\x6b\x3b\x84\xdf\x4a\x24\x3b\x97\x0f\x71\xfe\xf9\xc5\x9b\x3e\x50\x09\x10\xe3\x19\xb5\xf1\x8b\x45\xa6\xf4\xe3\xff\xb2\xf7\x2f\x3d\x8e\x24\x49\x96\x28\xfc\x57\x0c\xb5\x9b\x85\x29\x54\x45\x54\xf4\xb1\xcc\xce\xea\x44\x2c\x3c\x56\x1f\xe0\xdb\x0f\x1c\x76\x75\x7b\x61\x18\xb7\x06\x13\x7d\xfd\x02\xfe\xeb\x2f\xe4\x1c\x51\x23\xe9\xf1\xf2\xc8\xca\x9a\xbe\xdd\xe3\xc8\xe4\x23\xe8\xa4\x99\x9a\x9a\xaa\xbc\xe5\x9c\xb8\x73\x00\x7a\x6f\xe8\xce\x07\xa8\x0f\xdb\x02\x7d\x57\x81\xa8\xbe\x92\x32\x09\x9c\xec\x7b\x32\xf5\x3b\x31\x76\x54\x63\x0b\x01\x0e\x6b\x00\x0b\xf6\x92\x06\xd0\x07\x4f\xa9\x97\xd4\x83\xe2\x4c\xa7\xeb\xbf\x76\x06\x07\x43\x55\x30\x2e\x8f\x3e\x52\x41\x5d\x98\xea\x49\x12\x4a\x4d\xf3\xe2\x73\x28\x9a\xac\xa5\xd1\xd3\x58\x09\xb6\xde\x06\xd0\xbe\x4b\xaa\x75\xc4\x73\xcc\x6a\x8b\xde\xd3\xde\xab\x3f\x16\x7f\x15\x30\x89\x50\x84\x06\x3e\x8d\x83\x14\xa3\xf8\x16\xb2\xb2\xb9\x6f\x31\xe2\x79\x25\xf1\xd0\xa3\xf9\xf2\x09\x02\x6a\xaf\x49\xed\x82\x1e\xf0\x46\x0c\xb4\x4a\xf8\xff\x6a\xc9\xc0\xd9\xac\x23\x0d\x0b\xc0\x39\xf5\x09\x51\xdf\x7f\x56\x77\x94\x0a\x37\x2d\x08\x84\x93\x50\xaa\x35\xe5\xba\x9f\x24\x7c\xd8\xd9\xe7\x08\xe0\x2a\xac\x49\x30\x6c\x81\x8a\x19\xcc\xec\xc3\x07\x6f\xf1\x85\x01\xc8\x8d\x8e\xb4\x09\x05\x11\xba\x4d\xfd\x3b\xa3\x12\x57\xa2\x8d\x49\x0e\x7b\xb8\x3e\x38\x75\xb3\xd4\x15\x00\x63\x16\xcd\x7b\x2e\x63\xd9\xdc\x9a\xcc\x85\x00\x6e\x2c\x6b\xcc\x8a\xeb\x06\x77\x71\x0b\x45\x5a\x4b\x24\x40\xad\xe0\x3a\x1e\xae\x51\x0f\x8e\x21\x17\x23\x00\xa0\x6a\x49\x75\xbc\x7c\xf2\x05\x00\x3f\xa0\x9d\xc0\xde\x5f\x55\x0e\x90\xff\x91\x64\xd8\xc1\xf3\x87\x34\x29\xe1\xd6\x75\xb5\x08\x46\x42\x9f\x3c\x19\x4f\xbe\x4b\xec\xbc\x03\x42\x6a\x4f\xcd\x66\x20\xd6\xcd\x31\x16\x6a\x4d\xfc\x92\x7c\x71\x16\x6f\x50\xbf\x94\x32\x76\x4f\x56\xb6\x35\xb7\x75\x0e\xa0\x36\xb7\x38\x89\x92\x4f\x9b\x50\x16\x85\x14\xae\xcc\x09\x10\xe8\x1f\x90\x18\x93\xf0\x5f\x6e\xfa\x04\x3c\x2d\xd8\xab\x91\xe1\x68\xe4\xf4\x2b\x69\x34\xa4\x88\x00\x62\xcc\x5e\x5e\x0b\xfa\x07\x0b\x58\x63\xc8\xe0\x4b\x90\x29\x92\xa0\xdf\x26\xc5\x23\xf8\x14\x3a\x71\x76\x4a\x7e\x95\x4e\x06\x08\x8d\x42\xfc\xd8\x02\x64\x9f\x0b\x0a\x02\xc0\x9d\x6d\x9e\x24\x95\x81\x9a\xb5\x45\x76\x87\xbb\x3f\xcf\x57\xe4\xbf\x03\x15\xc1\xe4\x86\xbd\x1f\x03\x9e\x81\x07\x0a\x35\xc2\x46\x54\x5d\xc8\x1e\x80\xa5\x71\x5d\x0a\x8c\x37\x6b\x81\x46\x02\xde\x59\xcc\x39\x81\x62\x0a\x66\x0a\x2b\x79\x9c\x92\x75\x5d\x48\xf6\x25\x29\x4e\x08\xca\x5c\x9b\x00\x22\x05\xce\xfe\x08\xb2\x14\xd7\x74\x73\xa4\xec\xe6\x2e\x1b\x69\x1b\x81\x5c\x82\x69\x4b\x28\xcd\x03\xf6\x05\xdd\xe4\x9d\x4b\x2f\x8f\x27\x70\x67\x97\xc0\x8d\x02\x80\x42\xf1\x11\xf8\xbe\x46\xe1\xa9\x2b\xcc\xdc\xc1\xaa\x40\x4e\xb4\xc2\x5b\xa9\x3e\x9c\x82\xa5\x79\x00\x73\x82\x21\xdb\xe2\x34\x81\x61\x53\x6a\xc0\x07\x0b\x93\xb4\x9d\x2c\x04\x55\x03\x15\x19\x5c\xc1\xfa\xb4\x97\x54\x07\x00\xb9\x81\x41\x1d\x3c\x25\x00\x39\x86\x2c\x3d\x01\x8a\xbc\xb6\x7e\x47\x50\x40\x40\x8f\x9d\x7c\xbc\xec\x79\x57\xda\x85\x52\xf5\x29\xc9\xf4\xe5\x46\x1c\x96\x05\xbf\x07\xc0\xa8\x09\xda\x8e\x67\xb7\x61\x8a\xfb\xbe\xa6\xa7\x42\x4a\xd7\x1b\xe9\xd5\x16\x2f\x87\xd8\x2d\x88\x7f\x8d\x45\x40\x0a\xce\xda\x13\x19\x10\x89\x15\x1a\x5b\x00\x94\xe9\x80\x73\x3d\x25\x1b\xcd\x1f\x6b\x29\x02\x85\x00\x20\x2b\xc0\x08\xa9\xa7\x54\x47\xf7\xc7\x71\xde\xc0\x84\x2a\x43\xfd\x11\xab\xb1\x57\xfc\xf6\x0c\x9e\xc7\x22\x6e\xae\x82\x39\xdd\x57\x09\xf1\x86\x4e\x68\xa4\x51\x8b\xf5\x5b\xd8\xa2\x0e\x84\x21\x12\x54\xb8\x0e\x51\x7f\x2c\x7e\xca\x2d\x9f\x63\x43\x10\x1a\x3e\x07\x5d\x7a\x2e\xe5\xe5\xab\x55\xbe\x3f\xb2\x29\xa4\x80\x9a\xc8\x0d\xad\xd6\x2f\x84\x60\x23\x6a\x34\x31\x61\xcb\xa9\x02\xbc\x63\x8b\x97\x60\x3d\xa5\x1c\xef\xc0\xbf\x1c\x3b\x71\xa4\x15\xf5\x9e\x3e\xb3\x20\x23\x40\xf7\x8b\x5f\x71\x03\xf0\x50\x87\xad\x79\xd9\xd7\x29\xc2\x18\x35\x22\x66\x92\x0d\x48\x76\x06\x74\x80\x0d\xad\xe8\x67\xea\xf3\x54\x34\xbb\x51\x16\x2f\x41\x6a\xc4\xa3\x03\x7e\x60\xa2\x19\xc7\xc2\xe8\x6d\x7e\x23\x8d\xa9\x12\xe4\x6a\xd5\x85\x5b\x03\xb5\x2a\xd8\x8b\x76\xf6\xe9\x0b\xa1\x0f\xd0\xe4\x61\x0b\xfe\x19\x80\x12\x00\x3c\x01\x6a\x84\xed\xc4\xaf\x40\x1b\x7f\x03\x1e\x23\xec\x3a\xac\x74\x00\xfb\xcc\x30\xee\xf2\xd0\x13\xcc\x02\x3b\xa8\x57\xf2\xac\x5b\xfe\x80\x7e\xa4\xf3\xee\xc6\x28\x6a\x5d\xac\x2a\xaa\x96\xc8\x5b\x4a\xd9\x3c\xb0\x7d\x16\x42\x38\xf0\xda\x3a\x91\xc4\x6a\x61\x5d\xc5\xf0\x0f\x60\x72\x0a\xd7\xb0\x24\xc9\xf5\x17\x71\xc3\xb1\xd9\xb6\x5e\xfd\xc4\x35\x81\x36\xb6\x16\x97\xb5\xe2\x82\x08\x59\xed\x91\xba\xef\x87\x26\x06\x10\x6a\xe0\xa1\x69\x4b\x35\xb7\x53\x07\x18\xf7\x16\x2f\x41\xc3\x59\x60\xdf\x02\xc9\x1d\x7d\x91\xe3\x24\x53\xd3\xa8\x65\x5b\xaf\x07\x31\x65\xea\xe0\xe4\x34\xa1\x6d\x8e\x0c\x34\xac\x42\x20\xe7\xb8\x4e\x57\x22\x0c\x57\xa9\xf4\xb3\xb0\x3d\x0f\x41\x3c\x02\xc0\xa7\xb8\x6a\x6c\x60\x78\x01\xc0\x1b\x7c\xb5\x0a\x46\x43\x20\x79\x08\xf0\x60\xdc\xd0\x80\x84\x40\x3f\x7f\x09\xae\x02\xf7\x7f\x5c\xf1\xe6\xd9\xc9\xce\x30\xe1\x00\xba\xb9\x96\x0c\xb2\xd2\x2f\x43\x34\xd5\x0c\x34\x85\xd4\x5c\xdb\x55\x30\xcc\xe2\x00\xd5\x07\xa9\xe2\xe3\xbb\x80\xa2\xcb\x8a\x9c\x2a\x58\x42\xb7\x78\xa1\x5c\x1f\x15\x5d\x9e\x49\x3a\x30\x8c\xa5\x8d\x54\x6d\x9c\x91\xa6\xd7\x49\x40\xe3\xee\x5e\x04\x8b\x81\xdb\x05\xe3\x91\xd1\x4f\x06\xdc\xc9\x2d\x5e\x48\x0d\x8f\x7d\xe7\x52\xd9\xdc\x2f\x02\x76\x74\x32\x1f\xa6\x1f\xc5\xad\xec\x46\x74\x3d\x41\xda\x13\x4e\x6f\xa9\xa8\xd3\x8e\xaa\xb7\x0d\xf9\x5d\x08\x57\xf6\x1d\xe1\xed\x93\xfa\x7d\x3f\x53\x63\xb9\x64\x21\x34\x84\xbb\x56\xc1\x7e\x2a\x1d\x60\x1a\x42\x6b\x6d\x36\x70\x68\x16\xf4\x91\x15\xa0\x16\xbb\x89\xe3\x76\x65\xad\xe0\xab\x70\xfb\x6d\xac\x9d\x63\x44\xb8\xa8\xa5\x24\x75\x8b\xa1\x95\x7e\x71\x5d\xe0\x76\x5a\xaa\x3e\xb2\xae\x12\x78\xa8\x5a\x5a\x52\x3f\x99\xdb\xca\xe6\x92\x65\xba\x52\xa2\xb3\x0a\x98\x41\xdf\x99\x3e\x29\x44\x15\x92\x18\x9a\x99\xdf\x07\xa0\xb4\xfb\xa1\xb0\xd3\x26\x2b\x4f\x74\x10\xb0\xd4\x7c\x44\xe8\x68\x93\xa4\x7e\x61\x4d\xdd\x44\x76\xc9\x34\x5e\x3e\xb6\x34\x1b\x00\x99\x25\x2b\x30\x18\xe0\x56\x8c\x40\x2f\x41\x6b\xe1\x00\xc3\x43\xd8\xf6\x02\x43\x6d\x4f\x6e\x19\xfa\x4e\x69\x72\x2a\xc9\x77\x4b\xf8\x14\xc3\xe5\x91\x48\x7d\x82\xb2\x3d\x97\xd4\x41\xbe\xa6\xa8\x1e\xcb\x9b\x2d\xf7\x47\x53\x29\x54\xb1\x83\x7d\xb6\x62\x84\x33\x07\x65\xfd\x08\xf6\x10\x5f\x13\x3e\x8d\xc0\x20\x6d\x40\x72\xe1\xab\x3b\x72\xdd\x2d\x8f\x50\xe9\x33\x89\x0e\xdf\xab\x97\x54\xdd\x8f\xf0\xc9\x70\xa7\x56\x41\xf6\x0c\xa4\x21\xa2\xfa\x59\x05\xe1\xb2\x6b\x05\xb7\xd4\x0a\xfe\x87\xb1\x65\xb1\xa1\x00\x06\xdb\x88\x93\x01\x1c\xab\xc2\x5f\x0d\x72\xef\x53\x22\xf9\x8d\x00\x72\xba\x42\xd8\x26\x33\x7d\x6e\xa9\x18\xe1\xe6\x80\xbe\x4f\x1a\xb3\x0c\x07\x9e\x10\xbf\x40\x8b\x95\xd6\x92\xaf\x81\x0e\xca\xf0\x42\x66\x6a\x5c\x92\xfb\x7c\x84\xa3\xef\x06\x48\xa4\xa7\xbd\x27\x72\x71\x4c\x78\x8e\xc4\x52\x01\xe7\x6e\xdf\x69\x75\xc1\x48\xf5\x05\xd8\xac\x40\x74\xec\xc9\x6f\xf1\x28\xcd\x6f\x0b\x8a\x17\xad\x1c\x56\x36\x8a\x57\x4a\xfb\xa6\x0e\x7c\x53\xe1\xc8\x5d\x3c\xe7\xad\x65\xdb\xa3\x6d\x2e\x38\xe1\x31\x03\x20\x88\x60\xd1\x8b\x50\x59\x60\x05\xfb\x02\x15\x3b\xdd\xf2\x70\x11\x1d\xab\x10\x62\x04\x3e\x52\xa7\x69\x55\x48\xa5\xcc\x1d\x0e\x26\x53\x08\x51\xf4\x4e\x21\x86\x43\x34\x9f\x85\x44\x22\x0b\x79\x04\xa1\x17\xf4\x59\xb5\x71\x40\x17\x96\x7e\x4a\x43\x9a\x3f\xc2\x2a\xa9\x24\x3d\x1e\x96\x86\xdd\xd0\x6f\x97\x2a\x67\x8a\xe2\x82\xed\x45\xce\x0a\x05\xc9\x97\x5b\x72\x2e\x1d\x0f\xbb\xc6\xe5\xda\x99\x30\x66\xc0\x45\x6b\x84\xdb\x55\x54\x7f\x5c\x38\x0f\x82\x86\x0f\x77\x58\x7d\x15\x92\x0c\x23\xd0\x67\x9a\x05\xcc\x5f\x13\x92\x02\xe4\xc0\x13\x05\x13\x87\xf2\x73\x60\x57\x35\x62\x12\x75\x0b\xba\x1c\xb2\xaa\x81\x8e\xbd\x13\xb0\x52\x02\xc4\xb8\xb9\xe7\x35\xa6\x3f\x22\x7c\x03\x72\x83\x4d\x12\x0a\xa4\x23\x70\x03\x30\xff\xee\x52\x7e\xf9\xfd\x0d\x73\x78\x5e\xd0\x72\x75\x04\xf2\x34\xc0\x78\x20\xee\x40\xad\x44\xc4\x64\xf0\xdf\x48\x58\xb9\x6a\xe0\xe6\xfb\x71\xd8\x66\xa6\x21\x7d\xab\x69\x4c\x7b\x2e\xae\xb1\x20\x41\x48\xa7\x5c\xec\x86\x51\x57\x03\x02\x49\x83\x41\xc9\xe8\x0f\x98\x4f\xf9\x73\x4d\x55\xc9\x62\x02\x2b\x2c\xc0\x0b\x6b\x50\xa4\x77\x6e\xb3\xd2\x23\xad\xe1\xaa\x4f\x51\xa9\x06\x67\x91\xd3\xdf\x17\xaf\x7d\x20\x88\xa6\x5c\x3e\x58\x32\x58\xe4\x9d\x36\xfc\x02\x52\x0a\x84\xec\x79\x02\x57\x91\xce\xb5\x64\x61\xb6\x28\xc2\x09\x65\xd6\x78\x5e\xe6\x3d\xbc\xc9\x47\x73\x33\xe2\x9c\xc3\x6e\xc6\xc1\x62\x9a\xa7\xfe\x72\xe7\x1d\x03\x93\xa0\xa6\x79\x0e\x34\x3f\x20\xb5\xad\xf5\x10\x88\x83\x1f\x30\x7b\x2e\xcd\xab\xd6\x6d\x26\x53\xd6\x0d\x8e\x3d\x70\xa9\xb1\xa0\x31\x85\x20\xa0\x14\x82\x46\xd9\x0c\xbe\x62\x81\xa9\x04\x5e\xf0\x4e\x0a\xc4\xea\x2b\x09\x7e\x45\xa3\xc5\x98\x2d\x59\x47\x71\xfc\xc9\x85\x7f\x98\xda\x7d\x80\x36\x06\xf2\x54\xc1\x5b\xda\x12\x16\x5f\x9a\x41\x48\x53\x34\xee\x40\x23\xd7\x91\xce\x7a\x4a\xad\xa4\x56\x8e\x00\xcc\x08\xb6\x81\x52\x16\xdb\x36\x99\x90\x94\x48\x53\x6e\x33\x56\x5f\xeb\x57\xf2\x72\x70\x38\x20\xaa\x58\xd7\xf3\xf2\x42\xd8\x2c\xa6\x20\x4b\xd7\x1b\xca\xf4\x40\x38\xb3\x97\x4f\x60\x56\xdd\x15\x24\xc7\x04\x82\x0a\xe8\x7a\xc9\x41\xdc\x51\x73\x48\x99\xb6\x80\xe1\x60\x70\x4b\xa9\x9c\x8b\x6a\xea\x13\x14\xe4\xe9\x6e\xce\x81\xa0\xc1\x57\x7e\x03\x2d\xad\xcf\xd1\x30\x7f\xac\x71\x4d\x28\x60\x03\xed\xc9\x8c\xe7\x15\xc5\x76\x81\x3d\xd3\x1c\xcd\x1f\x37\xa1\xb9\x3a\x5a\x6a\x86\x9a\x80\x20\xe2\xa4\x6d\x0e\xe5\x16\xd8\x55\x60\x3e\x04\xc7\x2f\xac\x42\xdc\x21\x46\x9d\x7b\x87\xa7\x56\x81\xe8\x8e\x2a\xc5\x06\xf4\xe2\x91\x6a\x78\xca\x99\x58\x87\xa0\xd0\x6e\x04\xdc\x99\xa4\x66\x96\x62\x27\xdc\x4f\xbd\x8a\xe1\xda\x7d\x89\x5c\x82\x18\x8d\xc1\x99\x85\x66\x5b\x6f\xf1\xeb\xb3\x3e\x81\x3e\xc9\x2d\xeb\xc5\x02\x5b\x17\xbd\x77\x9b\x81\x63\x16\x81\x08\xa2\x94\xd2\xbf\x9c\xcc\x2d\x2c\xd8\x4a\x90\x24\x10\xb7\xaf\x2e\xe8\xb5\x16\x30\x66\x63\x44\xb1\x25\x20\x8d\x23\x1c\x43\x8c\xb1\x5c\x9e\xa0\x30\xa2\x3e\x1d\xc1\x6b\xf7\x73\xe0\x49\xef\x25\xa9\x9c\x52\x97\xee\x8f\x63\x69\x18\x41\xeb\x41\x75\xb6\x64\x9e\x15\x62\x08\x21\x18\x64\x16\xd8\xaf\x30\xcc\x61\xb2\xcc\x40\xce\x73\x07\x55\x6c\x00\x68\x20\x8e\x37\x90\x25\x58\xcc\x80\x87\x2f\x84\x40\x17\x76\xc3\x74\xed\x6c\xd0\xce\x26\x37\x61\x99\xd2\xdb\x0a\xcb\x2c\xe8\xb5\x6a\x6b\x3a\x08\xc1\x26\x0b\x95\xd3\x7d\x76\x10\x08\xb5\x71\x09\x64\xc2\x20\xb3\xcb\x86\x80\xca\xa0\xe7\x40\xcc\x7b\x90\x75\x43\x4e\x17\x97\x56\xbe\x0f\xc3\x56\x27\x3a\x7e\x07\xd1\xfc\x46\xc9\x49\xd9\x02\x82\xb2\x72\x09\xd8\xc4\xf1\x5c\x52\x2f\xf5\x42\x69\x5b\x49\x17\x6b\x4f\xa9\xb8\x61\x4e\x84\x67\x25\x8d\x16\x60\xae\x4b\x1e\x2f\xae\xf8\xeb\xe6\xdb\xc0\x7f\x7b\x60\x75\xe5\xf2\xc1\x67\xbf\xc0\xaa\x65\xd0\x87\x92\xc2\x1f\xb9\x9d\xd2\xc8\xe6\x8f\x35\x9b\xbe\x7a\x49\xaa\x08\x8a\x0c\x72\xbc\x10\x78\x11\x80\xa0\xf2\xb4\x2f\x8c\xbd\x4c\xf9\x0c\x01\x8d\xc5\x85\xcd\x58\x4f\xee\xf9\xfa\xe3\x2e\xc6\x22\xd8\xf6\x88\xad\x99\x2d\x18\x3c\x06\x68\x5c\xfd\xb8\x38\x38\x07\xb1\x91\xcb\xe6\xc9\x09\xc6\x64\xca\xb3\x0b\xff\xfe\x68\x00\xfe\xe9\x9b\xbf\xf6\x13\x76\xa3\xd8\x11\x2d\x07\xc2\x74\x77\xcd\x3e\x35\x9e\x03\xa6\x1a\x17\xe0\xda\xae\x19\x9f\x56\x38\x1b\xf2\xf8\xbc\x30\x5b\x65\x05\x53\x66\xc4\x08\xa5\xad\xe0\xa8\xdf\xc5\x0a\x26\xbf\x63\x11\xd3\x53\x4f\x00\x8d\x8c\x35\x65\xa4\xae\x39\x47\x64\x6e\x52\x0a\x97\x3e\xe9\xce\x4b\xd3\x13\x0c\xec\x65\xe3\x8c\x40\xf6\x9c\x45\xfc\xb1\xe8\xa7\x0f\x72\x27\xf8\x50\xb8\xbb\x0b\xfb\xae\x05\xb6\x5d\x68\xe2\x15\xfd\x05\x2e\xe3\xef\x8b\xb5\x94\x9a\x46\x9d\x9b\x6f\xa8\xf9\x50\x6c\x1b\xc1\x8b\x8c\x0c\x1b\xe2\xf2\x18\xf9\x08\x61\x5f\x46\x39\x11\xd0\xbd\x6d\xeb\x75\xa9\x09\x77\xba\x6c\x2b\x92\xdd\x3f\x3b\x5e\x79\x0f\x1a\xd8\x6c\x4a\x03\xc9\x86\x21\x8e\x51\x8f\xc0\x0a\x84\x1b\x98\x61\x18\xb6\xdc\xe9\x6e\x89\x6f\xc4\x0a\x56\x6a\x90\x1a\xf4\x53\xb1\x0e\xb0\xac\xf5\x1a\xc7\x06\xe0\x45\x23\x9b\xb3\x32\xd2\x83\x0e\x09\x20\x2f\x22\x6c\xc1\x38\x3b\xad\xde\x13\x8a\xd9\x41\x00\xd1\x6d\xad\x05\x60\x2a\xd7\x3a\xaf\x46\x57\x5d\xa4\x5b\x4c\xd7\x92\x29\xec\x04\xb0\x4e\xed\xd7\x48\x7a\xdb\xf2\x07\xd7\xdd\x03\xfc\x3d\x08\xa7\xe4\xc1\x0e\xa2\x03\x33\xbc\x81\x46\x0f\x31\x7d\x09\x63\x96\x91\xac\xa6\xc8\x5d\x68\x44\xdf\xea\xec\x69\x60\x8a\x32\xd0\xb2\x91\x33\x4d\x2d\xb2\x5c\x6e\xac\x17\x20\x22\x6e\xf1\xc2\xcb\xef\x40\x0f\xd1\x86\x88\xb6\x8b\x9a\x5a\x4f\x20\x6a\x2c\x5b\xbc\xac\x1b\x94\x9a\x8c\x60\x01\x06\x17\x7c\x69\x25\xde\x64\x66\x6a\x4b\x4f\x32\x10\x2c\xc3\xb4\xf1\x68\x60\x11\x44\xec\x81\x74\x1c\xdc\xcd\x6d\x69\x84\xca\x40\xbe\xeb\x24\x00\x5c\x43\xf7\x89\x24\x71\x59\x36\xc0\xed\xe8\x7e\x21\xa9\xa3\x82\xe5\x02\xcc\x54\x0a\x5e\x17\xe4\x59\x5b\xc0\xe7\x6b\x4d\xa2\x86\x54\x87\x9a\xc2\xdf\xac\x8a\xac\xc7\x30\xc4\x64\x2b\xc8\x06\xb2\x26\x2b\x30\xef\xdd\x32\xf7\xc5\x20\x9d\x31\x41\x44\x04\xb9\x8f\xfc\x3b\x76\x41\xdd\xb5\x8a\x22\x3a\x3a\x90\x78\x75\xc5\xaa\x67\x46\x31\x5c\xee\x16\x92\x64\x0e\xf4\xa7\x5d\x52\xe9\x81\x45\xec\x93\x5c\xfc\xbc\x65\x20\x0b\x20\x96\x0c\x58\xd6\x85\xd2\xc1\xbd\x66\xa8\x41\x70\x68\x6f\x25\x31\x3d\xa1\x9b\x90\x30\x90\xdd\x8b\xb5\x51\x6f\x3e\x81\x2a\x05\x8a\x02\x5b\x78\x21\x76\x32\xbe\xea\x13\xe0\xa6\x8e\x56\x92\x94\xb5\x3e\xdd\x9c\xd9\x0b\x7b\x11\x90\x38\x77\xcf\x1b\xdd\xf3\xc5\x88\xe0\x5d\xbb\x5c\x08\xef\x5d\xd5\x65\xd3\x8e\x18\xb1\x4c\x00\x5c\xb5\x13\x8c\x44\xe0\xf8\xf2\x15\x32\xa7\xbb\x4e\x06\xd0\xa6\xec\x11\xc1\xa1\xa1\x96\x04\x34\x99\xae\x7c\x98\x45\xab\xf4\xa4\xa5\x0d\x76\x52\x91\x1b\x47\xdc\x74\x71\xad\x5a\xad\xd0\x13\x6b\x1d\xf0\x89\xb5\xa3\x56\xa5\x15\xf0\x2e\x45\xbe\x54\x83\x84\xb2\x69\x64\xec\xe7\x29\xcd\x9a\xc2\x3c\x07\xc5\x95\x4f\xd0\x99\x3e\x58\x41\x54\x86\x22\xc0\x2f\x05\x6f\x9e\xd2\x28\xe5\xec\xf7\xc8\x4d\x05\x81\xc5\x9d\x37\x4d\xcd\x42\x53\x74\x66\x32\x00\x65\x3b\x49\x56\x4d\x46\x52\x18\xec\x8d\x0b\xcb\x9d\x35\xd0\x37\x4f\x23\x87\x04\x5e\x1b\x64\x2c\x73\x29\x44\x62\x06\x19\x69\x6b\x17\xc6\xef\x7a\x3f\x5e\xf1\xc7\xa2\x4c\x51\x49\x00\x74\x82\xf0\x69\xd0\x56\x00\x5b\xdc\x73\x45\x90\x09\x22\x9a\xb9\x13\x12\x06\x89\xef\xb0\x53\x9a\xd2\xfc\xb1\x32\xa4\x53\x18\xe6\x0e\xa6\x35\x7f\x5e\x36\x7a\x2a\xf2\xc1\xdc\x22\x3d\x95\x6d\xed\xdf\xba\x4c\xbe\x69\xe2\x8f\x15\x15\x75\xd5\x32\xeb\x1f\x18\x65\xf8\x09\x1c\x46\xd1\x3e\xfe\xe9\xd7\x2b\x8c\x9e\x24\x83\x6f\x21\xad\x92\xb6\xc7\xa4\xa7\xe1\xbb\xa1\x03\x88\x00\x4b\xa8\x28\x42\xed\xb5\xc0\x2a\xdc\x01\x83\xc0\xf8\x4a\xa9\x51\x4b\xa1\xd9\x8f\x04\xdb\x5f\x52\x47\x36\xd7\xf7\x71\x01\x5a\x72\x43\x05\x8d\xb5\x92\x66\xf5\x45\xe5\xbe\x92\xdb\xba\xb9\xc3\x39\x29\x7b\x9a\xc5\x0f\x09\xa5\x81\xd4\xb6\x6f\x88\x34\x7c\x05\x76\x9c\x0c\xfa\x40\x46\x21\x6d\x8e\x35\x61\xbf\xf1\x50\x66\xb2\xc3\x98\x38\x28\xf9\x18\xfb\xc0\x6b\x9b\x21\xd5\xcb\x8a\x6b\x96\x5d\x96\x87\x58\x80\x97\xa1\x5b\xde\x6d\xe9\xec\xb2\xf7\x44\x22\x31\xd8\x47\x1b\xc3\x7d\x41\xf9\x00\x48\xf6\x82\x6a\x01\xa4\xc5\x33\x5a\xa9\xda\x9e\x06\xd0\xe7\x91\xcd\x94\x83\x6d\x4a\xf0\x34\x40\x73\xbe\xa7\xea\x16\x7a\x57\x78\x45\x68\x14\xf4\x19\xf5\x79\xe9\xe4\x86\x6b\xb0\xc1\xe1\x7e\x4f\xcc\x11\xf3\x1b\x8d\x2e\xa0\x4f\x91\x85\x13\x00\x12\x74\xa8\xe3\xaa\x33\x88\xaf\x9a\x21\x9b\xcd\xa6\x30\xe0\x00\xed\x69\x80\x9f\x11\x63\xc2\x69\xe1\x75\xbb\xff\x05\x92\x2c\xc4\x78\xc0\x33\xca\x28\x45\x8d\x80\x90\x4c\x28\x36\x3f\x52\x05\xa4\xbe\xd0\xac\xe8\x2b\x49\x42\xfd\x02\x99\xb5\xa8\x5c\x2d\xb8\x31\x16\x55\xaf\x6a\x62\x52\x4e\xc0\x6c\xc4\xb8\x38\x82\x6f\x42\xbe\x4f\x11\x59\x81\x61\x5d\x18\x7a\xf5\x02\x37\xa8\xf7\x79\x66\xb7\xa6\x80\x1b\xb5\xb1\x3b\x1a\x1c\xa9\x63\x92\x77\xc2\xd5\x1b\xe8\x4a\xcd\xf5\x1c\xeb\xc3\x38\xf1\x6a\x95\x09\xff\x9e\x47\x6a\xc0\xdf\xc9\x2d\x40\x48\x34\x13\xc1\x2c\xb5\xe2\x9a\x61\x4f\x53\x82\xb6\xd1\x25\x34\xe8\x48\x11\x5e\xf6\x53\xce\x3a\x88\xcf\x5b\xbb\xa1\x7f\x3c\x4d\x4b\x60\xff\xab\x2e\x44\xe0\x13\xa0\xa6\x64\xec\x91\x67\x68\x7c\x33\xe9\xe2\x6d\x25\x4d\x01\x27\xfa\x26\x69\x20\x29\x2f\x4f\xcd\xd7\xc9\x19\xb5\xa6\xa0\xc1\x8a\x30\x0d\xa4\x2b\x2d\xe7\x95\x9f\x15\xa2\xdc\xbb\x51\x21\xac\x37\x6a\x05\x2c\xd5\x3a\x2d\x35\xd7\xd9\x54\xc8\x3e\xc3\x35\x53\xad\xb6\xc8\x0b\x2b\x02\x60\x15\x61\x42\xab\x35\x4d\x17\x95\x73\xd0\xc6\x9f\x9a\x5a\x4f\x86\xde\x65\x97\xb7\xc3\xf5\x64\x81\x91\xd4\x2a\xaa\x45\x66\x63\x5f\x83\x42\xa7\x4f\x90\xba\x99\x8e\x34\x7d\x50\xb0\x6a\x94\xf9\x0b\x52\xae\x27\x90\x82\xcc\x54\xa5\xa7\x3a\x6b\x1a\x66\xbe\x66\xb0\x67\x43\x44\x4f\x94\x4b\xf9\x6f\xb4\x8a\x1b\x4e\xa9\x90\xcf\xda\xef\xa2\x4e\xca\x0e\x91\x67\x22\x12\x7f\xda\x11\x05\x84\x8f\xf7\xac\xa9\x17\xc4\xb8\x4a\x67\xbd\x85\x1b\xf5\x6e\x45\x5b\x21\x5d\xa4\x4e\xc2\xcc\xb9\xd4\x19\x33\x0d\x90\x22\xc0\xfb\x82\xcd\x36\x93\xb9\x83\x3b\x9f\xdc\xac\x29\xe7\xc8\x6f\x91\xe1\x56\x6b\xea\x28\x20\x69\xd3\xf5\xb1\xaf\xfe\xc4\xd5\x31\x52\x87\xc0\x28\x8b\x95\x9a\x34\x37\x1a\x05\x08\x78\x33\x81\x0f\x35\x86\xba\xde\x94\xf0\xb5\xa1\xc7\x5d\x64\x74\x46\xc2\x96\x43\xb0\x33\xf5\x4c\x9e\x3b\x94\xab\xd4\x20\x77\x14\x39\xd2\x95\xc8\x66\x6a\x5d\xb6\x74\x43\x5e\x13\x04\x79\xc5\xf7\xb2\x4b\xe4\xba\x7c\x36\xfc\xca\x42\x20\xa1\xe9\x92\xc4\x33\x8c\x11\x34\xe2\x94\xa3\xfc\x82\x59\xd0\x3e\x4f\x6e\x52\x2c\xb3\x02\x43\x26\x49\xcf\x79\x17\xfa\xe9\x19\x08\x0c\xa0\xe4\xd1\xbd\x91\x06\x10\x95\x3c\x7e\x21\xe6\x4e\x2f\x32\x33\xa0\x96\x3b\x01\xab\x88\x88\x45\x2b\x99\xab\x23\xb5\x06\xc7\xa0\x4d\xf2\x49\x00\x76\xc8\xf8\xc6\xac\x46\xa7\xd3\x17\x28\x99\xbf\xfc\xf6\xe7\xdf\x0e\x3e\x2b\x64\x5b\xc4\x8d\xbf\x9b\x6c\xcb\xf8\xfd\xd9\x96\x86\x6c\xcb\x99\x2c\xd5\x19\x79\xae\x2d\x6f\x2d\xb8\x3c\xb2\x9e\x90\xf6\x89\x18\x43\xe4\x58\xce\x88\x5a\xbb\x0d\x6c\xd0\x6e\xe0\x3d\x04\xcd\x8c\xc1\x9c\x10\x97\x0d\x86\xe1\x28\x68\x7b\x15\x06\x93\x55\x97\x45\x92\x06\xac\x04\x24\x6b\x4a\xa1\xa4\x93\x06\x92\x14\xdf\x81\xcc\x99\xd0\x8c\x19\xf5\x26\x65\x22\x11\x21\xe1\x12\xda\x52\xef\x80\xa6\x0c\x0e\x1f\xa8\xa4\xc2\xac\x1a\x22\x09\x88\x3d\xaa\xdb\xb0\x40\xee\xb7\x34\x5c\x53\xbc\x21\x6b\xf2\x01\xdc\x13\xc8\x9a\x34\x66\x4d\x64\x65\x4d\xda\x5d\xd6\x44\xbf\x92\x35\xd9\xd9\xb9\xcb\x90\x09\x82\xb8\xd7\xb4\xc9\xf3\xee\xbb\xb5\xbd\x5c\x2b\x0c\xfd\x54\xc1\x47\x01\x3d\x5a\x17\xff\x0b\x88\x4f\xe8\x9d\x36\xaa\x10\x14\x3e\xf8\x2d\xad\x75\x72\x03\xa0\xaa\x8a\x75\x3a\x49\x10\x5d\xc0\x56\xaf\xcf\x1d\xe3\xc7\xa4\x04\xa2\x39\x2a\x4d\xdd\xdb\x1e\xf5\xae\x56\x30\xa7\x6a\xa9\xba\x3a\xc9\x0c\xf2\xfb\x7e\x16\x14\x99\xf9\xeb\x46\x59\x49\xb3\xbf\xa1\xd8\x51\x36\xf4\x4c\x21\xe8\xd2\x58\xe7\x48\xca\x15\x62\xe7\x97\x11\xa9\x12\x10\xac\x28\xe9\x6e\xd1\xc2\xae\x0a\x98\x6a\xa6\xe8\xa0\x8b\xdd\xe5\x87\x09\x6d\xf3\x11\x38\x6e\xdb\x4c\x53\x08\x85\x62\x2b\xb0\x12\x01\x1c\x90\x25\x7c\xc0\xbc\x3d\xba\xdd\xf2\x65\x37\x94\xd4\x3e\xfe\xe9\xcf\xdf\xa9\xe0\x3c\x2f\xe2\x6f\x3a\x29\x25\x5e\x9b\x3d\xba\x48\x9c\x58\x45\x25\x98\xa0\xc8\x2c\x60\xdd\xc7\xf6\xcd\xe2\xcd\x7d\x85\x29\x16\xeb\xbd\x4b\x1a\x14\xc2\x60\x09\xd1\xeb\xfc\xd9\x92\xcd\xf3\xbe\xc8\x19\x8e\x72\x4d\x59\xb4\x3c\x65\xd4\xdf\x5d\xb9\xb9\xe2\x4f\x85\xee\x11\xd8\x06\x82\x4c\xeb\xa9\xf9\x67\x8f\x23\x45\x05\xa7\x8d\xad\xa5\x0a\xce\x3c\x57\x74\xe4\x65\x00\x74\x71\x21\x93\x08\x38\xe9\x86\x3b\x7f\xe0\x4b\xb3\xcc\xc4\xa7\x7b\x95\x32\x41\x4b\x61\xaa\xa4\x57\x46\xe9\x71\x45\x24\x38\x6b\xd0\x10\xcb\xe9\x5a\x70\x99\x53\xf7\x9d\x67\x80\x63\xbe\x29\xcd\xcc\x58\xd9\x00\x6a\x9b\x55\xe2\x39\x62\x5f\xc0\x48\x55\xbd\xd6\x7d\x62\x8f\x8e\x55\x84\x49\x94\x8b\x72\x44\xd1\x50\x37\x1a\xa5\x7e\x34\x47\xac\x00\x82\x9a\x8a\xac\x61\xfd\xba\x75\x84\x92\x15\x26\xea\x5d\xde\x8f\x1a\x0c\x00\x9f\xaa\x3b\x36\xbb\x8f\x1c\x61\x7e\x30\x77\xa0\xe8\xa9\x44\xf9\x0c\x08\xbb\x2d\xb7\x13\x52\x00\x1b\x9f\x97\x16\x81\xef\x6b\xa9\xd9\x00\x8c\x50\x7c\x0c\x52\x70\xe0\xd2\x08\x6c\x21\xc9\x57\x3d\x41\xd3\xe9\xcc\x32\x4f\xe8\x4c\x94\xc6\xc1\x3a\xee\x64\x8e\x77\x87\x19\x72\x22\xbb\x57\x12\x2b\xb0\x8d\xe0\x43\xaa\x12\x44\x65\x03\xc6\x80\x1f\xde\x4d\x29\x64\xff\x13\x78\x2e\x84\xe5\x22\x36\x51\xba\x21\x65\x62\x2e\x44\xdd\x6d\xc0\xe4\x85\xe0\x72\x03\x69\x07\xd1\x3a\xca\x8b\x9a\x96\x93\xa6\x0c\xfc\xca\xb1\xee\xd3\xd8\xd3\x30\x79\xf9\x84\x69\xd9\x2c\x55\xd5\xbb\xf2\xcc\x0c\xc4\x58\xd7\x43\xe7\x23\xa5\x24\x11\x8f\x62\xc9\x36\x02\x73\x2c\x1d\x0c\x2b\xa1\x34\x08\x44\xf2\x95\x31\x89\xbb\xc0\x5c\x82\xc1\x15\x24\xba\x4c\xef\x3c\xef\xe2\x46\xe7\x79\x05\xb5\x4a\x14\x39\x21\xee\x48\x66\x91\x7e\x57\x37\x98\x23\xad\x78\x0e\x3a\xbf\x11\x6e\x55\x31\xc8\x76\x52\xff\x98\xad\xfa\x49\x61\xfd\xa4\x5b\xc9\x65\x45\xfb\x85\xc5\x97\xc8\xab\x1a\x42\x27\xf7\x65\x92\x99\x82\x17\x55\x9d\x59\x78\xb4\x28\x31\x9c\xa0\x8e\xbf\xa9\xc3\xcc\x11\x70\x56\xe4\xc1\x42\xf2\x08\xf7\x7e\x52\xd2\xcb\xcc\xb0\xf8\xa2\x98\x13\x24\x25\x39\x38\xa9\x5c\x62\x83\xbe\x66\x2b\x80\xe1\x88\x82\xf9\xd1\x9f\x60\xeb\x90\x1a\x11\xd3\xa9\x2b\x80\xa7\x15\xd5\x50\xac\x39\xaf\xac\x9b\xe3\xd5\x6a\x3d\x8a\x5e\x22\x4f\x8b\xac\xc0\xca\x90\x20\x51\x06\x45\x9f\x2b\x4b\x4a\x07\x25\x42\x25\x51\x4a\x27\x53\x47\x66\xf8\x48\xa3\xe0\x95\xf9\xb5\x08\x0f\x83\x61\x93\xf2\xf0\x29\x0c\x5a\x49\xa3\xdb\x5e\xdd\x52\x7f\x44\x51\xe5\x99\x9a\x83\x69\x47\x54\xcb\xc2\x91\x23\xe5\x74\x89\xbb\x83\x62\x72\x10\x4d\xb5\xe0\x81\x74\x61\x87\xca\x2e\x20\xf2\x0c\x3a\x98\x6e\x4f\xa3\x0a\xf0\xa6\x6e\x30\x93\x65\xb1\x64\xbd\x2d\x32\xcc\x2c\x21\x40\x8e\xde\x24\x4a\x79\x48\x3c\x3f\x98\xb4\xb5\x58\x7e\x8d\xf9\xdf\x02\x2c\xd5\x1e\x04\xd9\xa4\x81\xa1\x9a\x03\x11\x32\xab\x16\xed\xb9\xb8\x1a\x85\x7e\x31\xd2\x2c\x29\xe4\xc3\x4a\x6a\x2d\x1a\x9d\x10\x4f\x25\x7e\x38\x57\x21\x32\xcd\x10\x71\x2f\x08\x05\x9d\xdc\x19\x12\xeb\x5b\x05\x1d\xdf\x31\xcf\x67\x0e\xda\x7d\x23\x84\x19\x7d\xc3\xb7\x27\x96\x90\x2e\x6e\x94\xe0\x34\xd3\xb8\xad\x3d\x08\x61\x3a\x31\x68\x0b\x19\xcc\xf6\x14\x34\x3b\xc1\x02\x8d\xa2\x39\x44\x58\x2d\xe2\xdd\x64\x2c\x63\x31\xf0\xa0\xa1\x34\xc9\xef\xf4\x15\xba\xe2\xdf\xe6\x6f\xbf\x2e\x23\x76\xa6\x6e\x65\x2b\x95\x6c\xe9\x10\x63\x5f\x6b\x04\xb0\x6f\x35\x02\x94\xb7\x34\x02\xf4\x6f\x34\x02\xcc\xdf\xd1\x08\x50\x7a\x3c\x7f\xd1\x08\xd0\xfc\xf1\x95\x46\x00\xf8\x8f\xd5\xe6\x7d\x2b\xc0\x79\x91\x8e\x91\xaf\x68\x84\x79\x08\x0a\xbe\x12\x7b\xa1\x24\x2b\x4c\xf1\x05\x9f\x26\xbc\x76\xec\xcd\x8a\x3a\x61\x78\x60\x2a\xa7\xd4\x52\x3b\xd2\x41\x70\x68\xea\x51\xe2\xc9\x42\x15\xf4\x5a\x34\xcc\x6a\x96\xe1\xca\xc9\xc5\x82\x5c\xdb\x68\x14\x1c\x72\xd1\xe8\x44\xa1\x57\xa2\xce\xcd\x46\xd0\xfa\xb9\x21\x07\x79\xe0\xce\x1f\x8a\x9f\xdc\xa3\x65\xc9\x93\x30\x94\xad\xbe\x83\x00\xcb\x7b\x25\x9a\xc4\x82\x62\x28\xb7\x8c\x53\x1a\x5a\xfd\x11\x9b\x0c\x8b\x0b\xe5\xd8\x9d\xa5\x03\xa8\x52\xac\x2b\x33\xd9\x00\x6c\xe5\xbe\x16\x1b\xe0\xe6\xbd\xce\x29\x47\x47\xc4\xf9\xae\x25\xc2\x56\x4b\x44\x5b\x2d\x11\x75\xb5\x44\xd4\xd5\x12\x51\xbe\xd2\x13\x21\xab\x27\x42\x57\x4f\xc4\xbc\xef\x89\x98\xb7\x3d\x11\x16\x7b\x6f\x30\x68\xe3\x9a\x96\x2d\x11\xb2\x5a\x22\xe4\x8b\x96\x88\xd8\xdd\xea\x3e\x4a\x69\x37\x2d\x11\xed\xbe\x25\x42\x6e\x5b\x22\xda\xab\x96\x88\x0a\x3f\x3c\x7a\x21\x20\x00\x2d\xb7\x97\x4f\x7b\x81\x5d\x46\x8e\x36\x24\xf4\x21\x85\x0d\x95\x70\xdf\xef\xce\xea\x5f\xeb\xce\xaa\xa7\xd4\x66\xf5\xc7\x9b\xfa\xb3\xbe\xda\x9e\x85\x0a\x96\x57\xfd\x59\x58\x96\x7d\xf5\x67\xb9\x31\x2a\x4c\x37\xdd\xb7\x68\xd5\xb4\x78\xd9\xbe\xda\x81\xf6\x35\xe7\xf8\x90\x2b\x7e\xc9\xbe\x61\x2d\xcd\x9b\xec\x39\xcc\x8a\xb2\x3a\xee\xc2\x68\x46\x31\xe1\xbe\x74\x55\x25\xb5\x78\xd8\x17\xb5\xae\xbe\x0f\x25\xbd\x1e\xdf\x95\x0e\x31\x1c\x3a\x11\x73\xd5\xc2\x69\x0b\x7c\x2e\x57\xec\x3a\x57\xd3\x87\xb1\xe2\x3d\x18\xe3\x35\x1a\xc2\xe0\x29\x2d\x72\xaf\x72\xd3\xf4\xd1\xbf\x68\xfa\x08\xee\x56\xe2\x56\xf5\x60\xde\x2c\x0b\xeb\x92\x29\xe0\x49\x13\x10\xe1\x0e\x45\x78\xeb\x84\x8c\x87\x1e\x2d\x5f\x85\x15\xcf\xe7\xb0\x53\xbe\xda\xe1\xb1\x2e\x88\x5c\xae\x50\xa6\xed\x68\xf3\x88\x64\xf7\xe2\x26\x6e\xf5\xa6\xcb\x03\x01\xce\xba\xd2\xb9\xbd\x45\xf2\x1b\x84\xd2\xa8\x30\xa4\xfd\xeb\x5e\x82\x02\xa5\xdf\xdd\x9e\xee\x8f\xd5\xbe\xe1\x23\x3c\xb3\x1c\x23\x17\xba\x16\x48\x8e\xf9\x92\x7c\xa6\x59\x47\xcd\xe4\xaa\x17\x9c\x78\x85\xca\xb6\x28\x2b\x08\x24\x95\xa3\x99\x26\xfc\x52\xa5\x8d\xb1\x3a\x36\xba\x8b\x5f\xb7\x48\xdd\x34\xb5\xfb\x86\xa1\x68\xe4\x28\xbe\x89\x50\x1f\x0c\x97\xb6\x47\x26\x86\xb6\xce\xeb\x4e\x8e\x7a\xed\xe4\xa8\x51\x45\x75\xed\xe4\xf8\x6a\x23\x07\x4a\xcb\x3e\x80\x60\xdf\x6e\x1a\x39\xe4\xe7\x1b\x39\xec\xbe\x91\xc3\x3d\x61\x0c\x0e\x58\x8f\x12\xbc\xab\x48\xc4\xc7\xaa\x63\x85\x87\xef\x0c\xb6\x76\x48\xac\x6d\xc4\xf4\x69\x87\xb8\xd4\x63\xab\xc7\x2d\x3d\x71\x27\x89\x76\x59\x46\x30\xcd\x1a\x01\xeb\x37\xe2\x70\x91\xbb\x43\x19\x09\x74\x87\xdb\x2b\xf0\x8a\xb1\x30\xbe\xd1\xbd\xa1\xdf\xef\xde\x08\x31\x24\x26\xc9\x50\x85\xd9\x4b\xc4\x92\x65\xb2\x3a\x39\xab\x06\x3d\x1f\x08\xda\x69\x9b\xb9\xf1\x8e\xe0\xe7\x44\x35\x13\x5a\x72\xbe\x04\xb8\x92\xd6\x7f\xf9\xa7\x7f\xfe\xd3\x97\x2d\xc2\xac\x44\xc2\xcd\x73\xb1\x8b\x8d\xda\xdc\xe5\xb1\xd3\xff\xae\xe6\xe0\x90\x4f\x2a\x37\xe9\xc5\x11\xb0\x92\x7f\x68\x43\xb0\x02\xfa\x0e\x9d\xcf\xd0\xb7\x1d\x70\xf9\x47\x1f\x70\x57\xe8\x5c\x53\x3a\x6b\xb0\xcd\x22\x70\x5b\x23\xa5\xd5\xc1\x6d\x8f\x64\x48\x52\x58\x28\x2e\xa4\xc1\x29\xab\x24\xf0\x15\x8c\xb2\x30\x91\xdc\xc9\x10\xe8\x3f\xea\x9d\x95\xb6\x53\xc0\x20\x6b\x00\xec\xc1\x58\x3a\xb4\x87\xaf\x87\x9b\xe6\x60\x2a\xeb\xa4\x83\x8a\x9e\x66\xbd\xd4\x90\xa9\xea\x66\xdf\xd4\x15\x20\x41\x19\xc2\x5c\xa1\x63\x30\x51\xba\x95\x27\x88\x2c\xc8\x61\xa4\xc1\x05\xe9\x6f\xe0\x12\xfa\x56\x12\xf1\x4d\x54\x58\xb7\x49\xc4\x55\x81\x72\xde\x09\x1a\x0f\xdf\xc4\xaf\x11\x8e\x7d\x9a\x10\xff\x46\xb3\x4b\xa6\x24\x03\xeb\x67\x65\x60\xa4\xc0\xcb\x9a\xb4\x92\x94\xbe\x78\x4f\xa6\x72\x41\x23\x50\x6a\x68\x04\x62\xfe\xb1\x47\xeb\x07\x92\x62\xe0\x0e\x60\x57\x34\x88\xfb\x95\x04\xb4\x48\xad\xba\x39\x3d\xf3\x38\xf9\xdd\xa9\x1b\x9f\x23\xf6\x30\xd0\xb7\x52\x60\x4c\xa8\x84\x7f\xeb\x2a\xa9\xcd\x68\xe0\xf2\x37\x75\xac\xae\x9a\xc9\x5a\x00\x20\xdd\x9a\xae\xb7\xdd\x77\xfd\xae\x44\x67\xf6\x8f\x8c\x64\xa5\x54\x32\xec\xc3\x81\x2b\x0a\xb5\x5a\x57\xfb\x36\x42\x56\xec\x49\x42\xf0\xc7\x2d\x7f\xc4\x16\xfc\x62\xf7\x04\x3a\x52\xf0\x1d\xc3\x72\xf6\x5b\x0c\x17\x20\x3a\x22\xd0\x25\x05\x0c\x53\xda\x42\x73\x59\x79\xac\xe6\xde\x19\x23\xad\xac\xce\x92\x28\x31\x46\xd4\xd2\xdc\xa3\x30\xd8\x7a\x3d\xbc\x1c\x81\x66\x75\x69\x6a\xb2\xf2\x7c\x7d\xae\x81\xba\x51\x09\x34\x46\xa8\x72\x2d\xc8\x0a\xd7\xb0\x74\x04\x22\x81\xfc\xc1\xfc\x52\x5b\x50\xb7\x6a\x8b\xe3\x1b\x1d\xa3\x10\x9a\x7a\x21\xad\xa5\x15\x89\x1a\x88\x36\xd6\xc5\x9d\xb9\xb6\xa5\x30\x53\x51\x51\xb6\xb1\xa7\xe6\xde\xe8\xf1\x07\x58\xce\xcc\x23\x34\x2d\x2b\x4d\x89\x2a\x1c\x57\x78\x7d\x4f\xdd\x2e\x8c\x1a\x35\x93\xa4\x28\x70\x38\x73\xaf\x30\xe3\xb5\x23\xe3\x05\x5c\x37\x57\xa9\xb8\x33\x36\xc3\x30\x18\xc2\xcb\xf1\x37\x30\x44\xe1\xd9\xab\x45\xe6\x8e\x2d\x80\xf2\x54\xd3\x80\xaa\xb6\xa8\xb2\x1b\xb4\x58\x11\xc8\xf7\xdd\xcf\xf0\xc9\x50\x17\x7f\x30\x39\x2b\xda\x34\x6a\xb4\x17\xc1\x03\x14\xf3\x01\x33\xa1\x07\x62\x7b\x43\x2e\x51\x07\x32\x6f\x45\x27\xac\x62\xfc\xb8\x6b\xaa\x68\xd9\x43\xc2\x49\xfc\x17\x2d\x55\x37\x33\xa6\x26\x74\xd0\x54\xd6\x24\x1b\xf6\x04\x33\xec\xed\x02\x36\xdd\x36\x2c\x99\xa4\x89\x82\x34\xf7\x09\x15\x35\xef\x7e\x8c\x9a\x6a\x6e\x17\xf4\x73\xb5\xf9\xa1\xd8\x2a\x03\xe9\x69\x4e\xd7\x2a\x4d\x22\x4c\xac\xa8\xf7\xac\x74\x87\xb4\xd5\x68\xf6\x61\x75\x45\x6d\xc9\xa0\xc0\x8e\x5a\x87\x9c\x6a\x86\x0f\xf2\x64\x2c\x84\x2b\xa8\xd3\xf5\x5f\xd2\x13\x47\x3d\x40\x99\x77\x05\x15\xee\xf9\x14\x24\xb5\xce\xcb\x16\x68\xcb\xf2\x5c\xb6\xaa\xce\x47\x17\xe4\xf2\x8c\x54\x18\x7b\x92\x47\xb8\xed\x79\x35\x2a\xd0\x06\x18\xd1\x4c\x47\xff\x07\x91\x83\xf5\x04\xdd\x8b\x8d\x87\xe6\x20\x46\x64\x81\x53\x5a\x17\x3b\x30\xf3\xee\xd8\x4e\x16\xb9\x37\x3c\x41\x25\xe3\xe7\xc7\xc6\xe8\x28\xb1\x39\x45\x62\xe7\x08\xdb\x32\x79\x72\x46\x3b\x6b\x0f\x70\xf1\xc9\x05\xb5\xbb\x16\x0e\xf9\x20\x08\xfc\x81\x9e\x1a\x7e\xf1\x30\xb6\xfd\x1e\x45\x36\xfe\x57\xb5\x34\x6c\x3c\x4b\xb2\xaf\xd0\xf5\xdc\xe6\xcb\xae\xb7\x0f\x35\x3c\xed\xae\x58\x07\x00\xae\xc3\x56\x36\xbd\x20\xc7\x8d\xe8\x46\x47\xa9\x92\xbf\xd9\x4a\xd8\x30\x18\x2c\x12\x64\x35\xca\xe0\x7c\xf1\x30\x18\xd6\xa3\x50\xa7\xa5\x45\x6c\x3b\x41\x3e\x05\x3e\x2a\x36\xaf\xe1\xd3\xd1\xd1\x15\xe4\x5f\x94\x26\x78\x94\x89\x14\x8f\xfa\xce\x40\xc0\xa1\x22\x79\x97\xa3\xfe\xda\x2c\x7a\x93\x0c\x6b\xff\xab\x25\x3a\x8f\xae\xaf\x3b\x3b\x87\x2a\x6b\x74\x50\xc4\x8b\x70\x9d\xaf\x28\xf5\xc7\x97\x25\x3a\xc4\xe7\x3e\xca\xc8\xcd\x2f\xa1\x8c\x28\xd2\x49\x73\x8e\x60\x65\x65\xa5\x4e\x48\xad\x69\x0b\x27\xdd\x97\x87\x30\x74\x5f\xdc\xc6\x8d\xe7\xd5\x73\x83\x85\x54\x1f\xb1\x73\x5e\x3e\x59\x52\xdb\x11\x70\xfa\xe0\x9b\x0f\x85\xb3\xb4\x82\xc3\xce\x85\x49\x6d\x37\x1d\x30\x19\x5d\x10\x48\xa8\xbb\x68\x8c\x26\x24\xf6\x92\xb8\xc5\xf1\xec\x33\xc2\x6b\x5e\xcc\xc6\xa3\x45\x70\x11\xfd\x14\xc3\x1f\x51\x38\x57\x6a\x52\x90\xa3\x77\xa5\x5c\x42\x8c\x6b\xa2\xfd\x8e\xf3\xd0\xe0\x35\x94\x4d\x03\xfa\xbe\x6c\xd5\x75\x0a\xa3\x96\xf4\x2b\x02\xec\x82\x22\x17\xb9\x11\x23\xc9\x73\x12\x57\x4a\x25\xa9\x46\x56\x91\x43\x1a\xe8\x02\x82\x2b\x85\x6e\x20\x7d\xf4\x65\x55\x9f\x7d\x07\x70\xa7\xb6\x05\xcd\xcc\x9a\xaa\x89\x88\x03\x5b\x31\x1e\x6b\x1a\x5f\xa1\xf8\xb9\xcd\x72\x5d\x1b\x5e\x2a\x1a\x5e\x6a\x34\xbc\x44\x24\xd0\x82\x66\x99\xed\xf0\xa5\x81\xbf\x89\x33\x86\x89\x92\x20\xed\xae\xe1\x69\x7f\xbd\xb7\x65\xd1\x95\x1b\x03\xe0\x01\x57\x03\xdc\x1a\x34\xb5\xc0\x76\xee\xf5\xa7\xba\x5a\x7e\x45\x8b\x40\xcf\x65\x33\xb2\xd1\xf5\x78\x53\x2a\x28\xa5\x94\x6d\x2d\x41\x53\x2e\xac\x79\x97\x29\xf7\xa0\x0f\x3c\x5c\x99\xb2\xb4\xce\x48\x81\x40\x1e\x03\x79\xf2\x75\x32\x8e\xa2\x09\x4d\x75\xab\xc9\x18\x91\x9f\xa4\x53\xd7\x04\xea\x7a\xf7\x97\xd9\x67\xe5\xff\xac\x1d\xd5\x83\x88\x2c\xb5\x13\x68\x95\x2d\xd6\x24\x92\xfe\x32\xdd\x5d\xc9\x11\x3d\x01\xf6\xa5\xa1\x96\x12\x9d\x26\x47\x67\x4a\x66\xca\xbd\xa2\x08\xdc\xe8\xdc\x64\x0a\x4f\x48\x4c\x37\xdf\x20\x9e\x35\xa8\xe7\x1b\x4b\xac\xf7\x34\xeb\xd1\x21\x93\x83\x04\x5b\x66\x4d\x23\xab\x3f\x96\xa9\x86\x9b\x07\x14\x1c\x64\x1f\xd1\xb6\x42\x72\xf2\xaa\xe8\x2e\x39\x15\x10\x84\xf1\x39\xf6\xce\xe8\x60\x8e\xfa\x38\x93\x01\xa7\x85\x8d\x2b\x1a\x41\x2f\xb0\x36\x0a\x14\x08\x38\x15\xbb\xbb\x3f\xcd\x1f\x4b\x88\xa3\xde\xa7\xa1\x1d\xb9\xb6\x95\x7c\x63\xe7\x96\xa4\xa1\xcd\x1f\x6b\xf7\xc2\xf8\xbb\x6b\x40\xc9\x48\x83\x23\xd0\x75\xd3\xac\x42\x5f\x38\x40\x0e\xe0\x9f\x40\x5f\xa9\xa2\x78\x29\x5b\x1a\x0c\x7b\x21\x47\x31\x59\xa2\xee\xbb\xdb\x67\x1f\x12\xd2\x57\x85\xbb\xe5\xad\xa1\xea\x91\x17\xe0\xb6\x00\x6a\xa4\x24\x55\xda\x70\xc8\xd0\x80\x68\x30\x52\x8c\x2c\x7f\xc3\xe2\x00\x27\x86\xa6\xa1\xf7\x6d\x2b\x99\xe1\x1e\x59\xbe\x10\x94\xa8\x96\x88\xb8\x22\xff\x80\x8f\xac\x5d\x93\x53\xf4\xed\x17\x9c\x48\x5e\x31\xf2\xcc\x02\xda\x16\xe1\xf4\x3c\x1f\x47\x74\xd6\xc7\xee\x87\xfb\x57\xa3\xa8\xbb\x30\xd3\x31\xef\x5a\x2d\x72\x20\x45\xa1\x62\x60\x18\x73\xc4\x05\xa5\x9c\xca\x12\x07\xc4\x9a\x6a\xd4\x7b\xf7\xc9\x75\x87\xb0\xd8\x8c\xdc\x11\xac\x4f\xb7\xde\x74\x46\x5f\x78\x7b\xdd\x4a\x12\xa9\xab\xb2\x54\x0a\xdb\xe4\xac\x32\xf6\x53\xe7\x5d\xb7\x4a\xe6\x9c\x00\xd3\x2a\xc4\x09\xab\x18\x50\x66\xbc\x50\x1f\x02\xf2\x23\xea\xe0\xa2\xb8\x10\xa2\x37\x31\x0f\xbf\x95\x25\x56\xdd\xb8\x2c\xf3\x09\x76\x07\xae\xb3\x5c\x83\x25\xc4\x12\xa8\xc4\x5c\xe9\x61\x14\xcd\xb8\x5c\xdf\x4e\x33\x14\xb3\x32\xdd\xd4\x46\xf4\xd1\x46\xf2\x09\x57\xc2\x22\x95\x11\xb9\x1b\x16\x5c\xa4\x16\x41\xb0\xad\x2c\x10\x7e\x3f\xca\x76\xad\xa1\xd0\x95\xbc\x32\xa4\xab\x72\x01\x9b\x44\x79\x34\xee\xa1\x55\xf4\x84\xaa\x7c\x58\x40\xe8\x33\x65\x86\x2e\x5e\x87\x46\x25\xc3\x2a\xdf\x42\x04\x76\xa0\x9e\x49\xe8\x93\x54\xf4\xb9\xe9\xe9\xda\x83\x91\x23\x6e\xd7\xe5\xb6\x5d\x23\xc3\xc9\x16\x24\xaa\x60\xe1\x21\x47\x09\x37\x38\x32\x88\x08\x31\xef\x2b\x02\x16\x98\x5e\x90\xef\xcc\xf2\xa0\x47\x55\x03\xf5\xa3\x33\xab\xf9\xec\x37\x81\x7e\x3f\x8a\x02\xb1\x4c\xa3\x61\x25\x56\x69\x1b\xcb\xf0\x64\x5d\x03\xe3\x47\xc5\x80\x83\x83\x54\xdc\x88\x4c\x69\xe7\xec\x21\xc1\xc2\xa5\x87\xee\xc1\xc1\xaa\x0b\x52\x53\xb0\x04\x08\x41\x52\x57\x5e\x2c\xfd\xa3\xce\x65\x1a\xb3\x33\xdd\x91\x4d\x4e\x69\xe4\xe6\x8f\xb8\x7c\x4c\xe4\x6a\xea\xd9\x57\x46\x6b\xe7\xd5\x23\x9d\x5a\x72\x7b\x72\x57\x31\x14\xc0\xf7\x12\x52\x6e\x42\xb7\x6d\xa6\x5a\xe6\x5d\xab\xe3\xea\x74\xec\xab\xd3\xb1\xae\x4e\x47\x59\x9d\x8e\xfa\xba\xd3\x31\x1a\x1d\x15\xb5\x47\x10\x59\xbe\x59\x14\x89\x28\x71\x7b\x70\x56\xaa\x96\x1f\x34\x3b\x0e\x06\x94\xbf\xd2\xed\xd8\x5d\xa7\xa4\x39\xaa\x3f\x96\x6a\x65\xd1\x8d\xa2\x9e\xd1\x8e\x6e\x46\xa5\xa3\x0b\x73\x0f\x95\xc0\xf9\x08\x80\x42\x70\x29\x26\x90\xa9\x8e\x19\xe9\xa6\x1a\x7a\x40\xdb\x91\x91\x62\x5b\xa3\x9d\xc3\x7b\x2d\x0c\xc8\xd5\x28\x85\xcd\xee\x43\xbb\xbe\xf1\x59\xc4\x4c\x1e\x09\x56\xec\x88\x73\x08\x3f\x66\xf4\xca\x42\x9d\x72\xc1\x86\x5a\x90\xa1\xfe\x38\xac\x3b\x4b\x85\x56\x85\xae\x3d\xe7\xb2\x9f\x1b\x89\x75\x4f\x45\x56\xd5\xd1\xa0\xdf\xa0\x1d\x0c\x24\x6e\x59\xb3\xa2\x52\xba\xb2\xa9\x00\xd2\x2a\x0f\x7f\x44\x3a\x63\x50\x13\xa3\x62\x76\xae\xfa\x04\xf4\xe2\xa1\xe5\x0f\xba\xcc\x88\xd0\xc5\x12\x85\x6a\x76\xa3\x2f\xe5\x5e\x89\x94\xd5\xe6\x49\x3b\xe8\x8f\xed\xf3\x94\xed\xa8\xbc\xbb\xed\xf2\xbc\xde\xf7\x1f\x74\x79\xa6\x51\xcb\xc2\x10\x59\x1d\x9e\xe7\x9f\x69\xf1\x2c\xb0\x92\xd0\xda\xe9\xc6\xac\x5b\x04\x48\x38\x65\x6b\x61\x7a\xb0\xa7\xbc\xdf\xf4\x94\x47\x4b\x79\x8f\x96\xf2\x86\x0a\x78\x48\x04\xac\x74\x94\x47\xa1\xe2\x15\x3d\xe5\xc4\x8d\x3a\xc1\x2d\xa9\xeb\x76\x7c\xab\xa7\xbc\xfd\x7c\x4f\xf9\x58\x3d\xe5\x76\xf4\x94\xd7\xd5\x53\x2e\xaf\x7b\xe5\x75\xf5\xca\x7f\x37\xcb\x34\xfd\xae\x12\xc4\x14\x8a\x58\xda\x51\xa1\xb2\x8c\x84\xc1\x37\xaa\x50\x55\xa1\x5b\x14\xf1\x15\x8d\x3e\xcd\x10\xa3\x32\x8e\xe6\x55\x2c\x4c\xea\x36\x3d\x40\x6b\x1a\x83\x65\x59\x6e\x1b\x59\x43\x9c\x47\x23\xeb\x5c\x55\x33\xab\x97\x4e\xdc\x58\x7d\x82\xfe\x0c\xcd\x8b\xe4\xd1\x7d\x0b\x2b\xdb\xf4\xc2\x55\x63\xbe\x1f\xc5\x29\x2b\xf4\x8f\xa2\xf6\x1a\xc2\xcf\x8d\xdc\x22\xe8\x4f\x44\xa0\xf2\xb6\x4d\x55\x8f\x44\x5b\x5b\x6d\xaa\x10\xc6\xcd\xee\x72\x65\xd1\x59\xb5\x13\x1e\x71\x0f\x20\x02\x0c\x83\xbc\x40\xf7\x7d\xaa\x61\x1f\x74\xe2\x2f\x44\x9b\x3a\xf0\x3a\x46\x20\x85\x0d\xe6\xc2\x50\x1c\x52\xfa\x09\x75\xdf\x3a\xed\x75\x4b\x6a\x2b\xd7\x02\x48\x94\x5a\xbb\x35\xc2\x4e\xd4\xf3\x81\x03\x36\xe9\x3d\x28\xf5\x9d\x19\x7f\x52\x56\xa3\x0b\xcd\x08\x9c\x7e\xb5\xa8\xc2\x57\xf6\x01\xb8\xb9\x38\xfd\x71\xdf\xe5\x1c\xa5\x63\x6c\x60\x85\xb0\x7f\x4a\x42\x18\x96\x38\xf8\x4d\xc7\xaa\x9b\xd9\x57\xdb\xfe\xe8\x58\xb5\x9f\xea\x58\xad\x5f\x76\xac\x56\xae\xc0\x6f\x74\xac\xd6\xe8\x58\x95\xd5\xb1\x2a\x77\x1d\xab\xfa\xaa\x63\x55\x81\xe8\xfc\xbc\xa7\xc9\x2d\x37\x62\xf1\x94\xb0\x29\x7b\x6c\xc3\x88\xdb\x20\x5d\x36\x06\xcb\x3c\x59\x40\x22\xd1\x64\xec\xa2\x3a\x54\xb5\x5f\xdb\xcf\xf6\xa1\xd6\xe8\x43\x1d\x84\xb4\x5b\x7d\xa8\xab\x22\x3e\x8c\x4b\xd7\xb8\x2c\xaa\x2a\x61\x1c\x50\x4e\x15\x44\xe9\x72\x1e\x8f\xb8\x2b\xdf\xcd\x11\xdd\xc0\x8e\x04\x2c\x23\x5a\x47\xe1\xee\x61\x92\x6a\x75\xed\xf0\x1d\xbc\x11\x59\x78\x23\xf6\x1a\x6f\x44\x16\xde\xc8\x91\x16\x42\xda\xc2\xa2\x24\x9e\x45\xb4\xf6\x0a\x6e\xe4\x88\x19\xdf\xd4\x06\xd7\x00\xe6\xbc\x43\x1a\x69\x07\xd2\x88\xbc\x46\x1a\x19\xdf\x41\x1a\x81\x99\x02\xc5\xab\xac\x23\xac\x1d\xe8\x22\xa5\x6e\x2d\x35\x62\xae\x60\x0f\x13\x4b\x0b\x19\x18\xb4\xdf\x34\x96\xf6\xf6\xe6\xe6\x11\x4a\x56\x98\xf0\x2a\x7e\x5f\xea\x8c\x96\xbf\x86\x20\x83\xa4\x82\x06\xfa\x90\xe4\x00\x46\x49\x02\x9d\x7a\xc8\xfb\x92\x37\xc8\xfb\x1b\xa8\x11\xe4\xd2\x92\xb0\x5a\x3a\x00\x02\x5d\xdd\xe3\x12\x05\x29\x0a\x8b\x38\x25\xeb\xc1\x34\xfc\x35\x16\x87\xc9\xa9\xa4\x26\x40\x44\x95\x03\xd1\x81\x1d\x04\x6f\xa4\x2e\xf8\x97\xbf\x3c\xff\xed\x7f\x7e\x87\x10\xef\x40\xab\x91\x82\xf2\xf9\x67\x30\x05\xda\x43\x69\xc9\x36\x29\xa0\x60\xef\xb6\x4b\x02\xeb\x94\x95\xf1\x60\x0c\x9e\x59\x1a\x72\x29\x05\x75\xb4\xf3\xb1\xa5\xd1\xea\x43\x1c\x83\x71\x0b\xf7\xab\xcd\xca\x03\x82\x26\x6d\x53\xc0\x2c\xeb\x43\x4d\xbd\x0f\x17\x2e\xc5\x36\xdd\x66\xb2\x69\xcf\x96\x78\xdc\x0a\xb6\x89\xf9\xbc\xb7\xd4\xaa\x1f\xbc\x09\xb0\x9a\xc7\x4f\x5d\xeb\xf7\x73\x5d\x91\xdc\xd2\xd4\x44\x9e\x7d\x95\xc8\x43\x41\x73\x81\x5d\x76\x4b\x15\xad\x45\xb3\xbb\x57\x31\x6d\x3c\x28\xf9\x2d\x73\x9a\xfd\x32\x50\x65\xda\x1f\x01\xad\xf8\xb0\x8e\x01\xc7\xca\xcd\x9b\x2a\x03\x4c\x4a\x75\x2b\xcf\x10\x97\x0f\x82\x0a\x94\x0a\x7e\x0f\xc0\xd0\xeb\x33\x84\xf0\xc5\xcf\x30\xd2\xe8\xfa\x68\x40\xc9\x9c\x88\x7f\x97\x34\xca\xcf\x5d\xe9\xef\x22\xb2\x7a\xf5\xdb\xd7\xb4\x14\x3d\xf7\xff\x7f\x29\xfa\xdf\xfe\xf4\x5f\x6c\x55\xfc\x2e\xfe\x8e\x57\xbf\xfd\xfa\x5c\xb5\x83\x2f\xe5\x3f\xf9\xaa\x7a\xfe\xf4\x46\xe6\xcc\x09\xdf\xb9\xa7\x9e\xf5\xa1\xc8\xe6\x4e\xfb\xb8\xb8\xe1\x0e\xd8\xe6\x62\xfe\xe1\x4c\xea\x5a\xe8\xf8\x22\xf2\xf4\x75\xf6\x6d\xa6\xe6\xd7\x99\xd0\xea\xa0\x84\xd1\x7f\xb8\xf9\x1b\xbe\x28\x08\xad\xe6\x61\x17\x77\x78\x06\xf1\xbc\xf6\xf5\xbe\x76\x30\xcc\xcd\xd1\x50\x09\xd3\xd7\x97\x9f\xf1\xd9\x85\xdf\xdb\x83\x61\x35\xde\x5b\x01\x77\xf7\xbc\x39\xeb\x45\x52\x83\x81\x6b\xc5\x1e\x8e\x3f\xfd\x18\xb3\x49\xd8\x20\xa5\x1f\x24\xb5\xd6\x7f\xf1\x27\x7f\xc0\xc2\x17\xbf\x7f\xad\x3f\x17\x74\x1f\x6b\x1b\x49\xe6\x40\x8c\x8f\xdf\x6a\x4f\x3d\x69\x6b\xe7\xec\x5e\x12\x71\x0b\x74\xd1\xbe\x92\x53\x4a\xeb\x2f\x68\xf5\x61\xc3\x0f\x0e\xda\x37\xf1\x8b\xe9\x4f\x25\x9f\xfc\x53\xfc\x29\x1c\x8a\x09\x34\xcb\x52\xce\x58\x61\x50\xc9\x20\x99\x05\x8d\x64\xd7\x1a\xef\x71\x60\x3f\x77\xef\xa7\xbb\x01\xfb\x1b\xf8\x75\xcf\x7b\x91\x57\xd7\x12\xd7\x09\xbe\xce\xb6\xf5\x64\x56\xfd\xd6\x5a\xb2\xa2\xdb\x48\x95\x1f\x3d\x23\xdf\x71\xd1\x84\x6e\x88\x5a\x7c\x06\x70\x39\xe5\x11\x7f\xff\xfb\x3a\xa2\x7d\x51\xbe\x09\x6e\xcd\x2d\xf3\xb6\xb9\x91\x33\x1f\xc6\xe6\x5e\xb5\x2f\x42\xdf\x39\x96\xb4\x6c\x68\x0f\x21\xe0\x18\xbf\x56\x7c\x39\x68\x25\xa9\xb0\xef\x9e\x21\x82\xb6\xd2\xf6\xec\x56\x9c\x3c\xdc\xfc\xd5\xbf\x5a\xf0\xe3\x39\xcc\xbf\xca\x2c\x54\x43\xc5\x1b\xdf\x2b\xe8\x02\x60\x3c\x0f\x89\x6f\xfa\x81\x1e\x78\xc2\x91\x32\x7e\xc8\x53\x80\x9f\x71\xe8\x66\x6e\x9f\xf0\x74\xb7\x03\x78\xb8\xfe\xf1\x4d\xc0\xef\xa6\xba\xc9\x87\x92\xaa\xaf\xc6\xda\x86\x3f\x70\x07\x41\x6c\xd3\xe6\x33\xe8\x05\x7d\x41\x8a\x4d\x70\x78\xd6\x36\xa3\x6e\x6b\x3e\x19\x42\x52\x19\x5b\x97\xa8\xb8\x9b\xe0\x6d\x71\x63\x4b\xd2\xd0\xfe\xcb\x6d\xd1\x70\xae\x10\x6c\x4f\xfd\x84\x86\xb8\x3e\x56\x82\x13\x3d\xd9\x7d\x80\x8a\x19\x99\x7b\x01\x09\x54\x45\xab\xb2\xf0\x1d\x0e\xe7\xa7\x6c\x76\x5e\x9d\x71\xb5\xc1\x5b\xe3\x6b\xed\x8f\x92\xea\xeb\xeb\x88\x6b\x04\x89\xa4\xf9\x0a\x94\x5c\x1f\x86\x6f\x1d\x36\x6f\x0c\x7e\xe4\x02\xc0\x1e\x06\x14\xc8\x05\x14\xb7\x7e\x0d\xfd\x11\x7f\xfc\xfb\xd7\xe1\xef\xd2\xb7\xb7\x3f\xfc\x2a\x07\x94\xd8\xf8\x6f\x7f\x84\x60\x29\xf8\xe7\xcf\xef\xee\xd7\xce\x84\xe5\x7f\x6e\xbf\xfd\x76\xe5\x6c\x54\x75\x09\x2e\xf2\xe8\xaa\xd7\xf7\x7f\xd1\x64\xd6\x82\x6d\x03\x04\x5c\x2e\x7b\xea\x97\x65\xae\xbf\xea\x6f\xe5\x6b\x47\xa2\x7e\x68\x7d\x6c\x03\xc3\xe9\x24\x10\xf4\xfb\xda\x41\x08\xcc\x2e\xd4\xaf\x1d\x72\xfe\xfa\xcf\xff\x74\x1c\x32\x8e\xf2\xac\x69\x80\x17\xd1\x8f\xe5\x83\x7c\xbc\x3f\xcb\x77\xc7\x75\xfd\x55\x7c\xbf\x75\x3f\x1e\x38\xa1\xd7\x5f\xbe\x3f\x0a\x5e\xd8\x57\x8e\x70\x9d\x9b\xef\xf2\xfb\x7d\x65\x81\x94\x6f\x2c\x90\x82\x42\xc1\x4d\x72\xd2\xd6\xdf\x24\xf1\x77\xa4\xd1\x7f\xac\x6e\xd8\x5f\x2a\x5f\x55\x37\xb7\xaa\xe8\xaa\x70\xde\x6e\x53\xfc\x2e\xd3\xeb\xf6\x87\x5f\xdf\x36\x57\xa2\xba\x2f\x24\xe0\x51\x90\x1a\x12\xb0\xbb\x04\xa4\xfc\xeb\x21\xff\x5a\x7c\xad\x3d\x15\x0d\x84\xc8\x9b\x9f\x85\x2c\xf2\x7d\x33\x52\x7d\x75\xc8\x25\x8c\xbe\xbb\x71\x32\x56\x05\x7c\xee\xc7\x91\xb2\x40\x2a\xe9\x70\xa3\xb8\xb5\x7e\x91\x58\x1a\xda\xbe\x0c\xf2\xdf\x6d\x9b\x9b\xe3\x3c\x50\x1b\xb9\x42\xf3\x95\x89\xcf\x36\x17\x82\xb3\x56\x1e\x10\xf8\x43\x5f\x0e\xec\x76\xb9\xc6\x31\x1e\x67\xd2\xf9\xc0\x03\xf9\xf0\x1e\xef\xce\xf0\xdd\x21\x5d\x7f\xc4\xaf\xb7\xfe\x2c\xd8\x6f\xd7\x3f\x7c\x7f\xc3\xe4\x20\x3d\x7f\x7d\x80\x9b\x49\xf9\x1e\xa1\xea\x57\x56\x46\xf9\xd6\xca\xc8\x69\xe4\xb1\x21\x06\xd2\x6f\xd4\xd2\x38\xd4\x12\x8a\xd6\xa9\x97\xa4\x7e\x68\xa9\x49\x0d\x55\x78\x68\xc2\xdc\x0e\x4d\x28\xf5\xe4\x12\x0a\xce\xca\xd2\x79\x9a\x7a\xef\x50\x86\xbd\xfb\xe3\x4e\x19\x46\x63\xfc\x77\xb6\xc9\x7f\xff\xeb\xbf\xff\xf7\xff\xfb\xfc\x3f\xfe\xf2\xef\x6f\xd0\x2b\x5f\x35\x46\x51\x15\x8d\x02\x90\x5f\x52\xab\xa9\x31\x76\x06\xdc\x87\x4d\x2f\x65\xa4\x8e\x2a\x15\x3d\xdd\xfc\x35\x35\xad\xa9\xd7\xfa\x50\x66\x92\x31\x5d\xa0\x54\xf3\x2f\xf8\x37\x56\xf0\xcd\xbf\x63\xf5\x83\x81\x17\x25\x8d\x5e\xfd\x11\x7f\x1b\x15\x98\xe3\xfd\x01\xc5\xf9\x2e\x53\xea\xfd\x09\x50\xd0\x67\x65\xbc\x7c\xea\xa9\x37\x03\xd5\xbf\xc8\x53\x4d\x65\x80\x5f\xb8\x94\xdd\xd2\x98\xfd\xc3\x48\x23\xd7\x0b\x92\x6a\x1b\x3e\xf9\xb6\x9a\x7e\xcb\x24\xfe\x58\xca\x7c\xd5\x86\x4a\x15\x78\x51\xc5\x7e\xb9\x89\x31\xb9\x34\xdd\xe4\x52\xdc\xcd\x4d\xf9\x55\xfc\xa9\x4a\x4d\x75\x82\x18\x78\x14\xbf\xbc\xa2\xb7\x85\x40\x85\x9d\x41\xda\x3e\xa8\xaf\x91\xd7\x09\x13\x94\x89\xd6\x3e\xf0\x73\xd9\xd1\xc0\x7e\xc2\x2f\xea\x81\x4a\x87\x9c\x4a\xb5\x97\x4f\x86\x3e\xdb\x9e\x46\xa9\x1f\x66\xaa\xe5\x02\x14\x37\x4d\x53\x3f\x58\x1a\x36\x2f\xa9\xd7\x8e\x1e\x97\xbf\x6f\xee\x7e\x06\x6f\xa8\x8d\xea\xfb\xf9\x7d\x55\xbe\x96\x51\x5f\x4e\xe7\x57\xa3\x06\x32\xaf\x36\x5f\x51\xd7\x0d\xd9\x9e\x76\xf7\x15\x48\x83\x9b\x0b\xcf\xfb\x61\xa6\x89\x30\x48\xe8\xfd\x3e\xfd\xa2\x8b\x3f\xa2\x5c\xa7\x25\x29\xd0\x61\xc3\xce\x88\x9f\xe4\x2d\xd9\x60\x5d\x7b\x03\x18\x99\x5f\xc8\xa8\xc3\x57\x59\xfd\xa1\xda\x7e\x3d\xfe\xb7\x55\x8e\xff\x60\x39\xfc\x97\xdf\x5f\x3f\x5a\x05\xdf\x88\x1d\xa9\x5d\x4d\x98\x22\x88\xa4\xa8\xa2\xe5\xe6\xb2\xa7\xc6\x73\x96\x0f\xa0\x4f\x7c\x00\x2c\x9e\xdb\xde\x03\x98\x78\x86\x7c\x82\x0e\x54\x18\x2b\x32\x96\x4f\x23\x75\x18\x32\x47\x35\x22\x22\x4f\x49\xdb\x85\xf5\x45\x88\xf7\xff\x70\x01\xfc\xaf\xbf\xfe\xcb\xbf\xfd\xe5\xfc\xbf\xfe\xf2\xff\xfc\x38\x18\xf4\xad\xfb\x6d\xa9\x8d\x8e\x5e\x59\x30\xb6\x94\x68\xc5\x62\x2f\x32\xbb\x7c\xda\x8c\xfc\x5d\x8e\x06\x9c\xcc\x9e\x0b\xf6\xbd\x03\xcc\x62\xe3\xb3\x5f\x48\x8b\xda\x93\x0e\x36\xbe\xbe\xc0\x50\x6a\xa9\x49\x87\x9c\x9a\xa4\x61\xba\xc5\xcb\xca\x1d\x21\x5d\x79\x61\x53\xa4\x8e\x7a\x76\x2d\x0e\xf0\xb3\x52\x02\x99\xbf\x24\xed\xa8\xaf\x6b\xa9\x74\xbd\x44\x67\xc0\xec\xea\xb6\x42\x16\x49\x36\xe1\xe2\x03\x72\xd0\x8d\x6c\x80\x82\x14\x45\x5c\x1e\xc5\xa3\xed\x28\x1e\x2d\xad\x82\xf6\x51\xcf\xc9\x2a\x90\xaa\xea\x56\x92\x49\x07\xc6\xd7\x26\x49\x26\x58\x15\x26\x53\x96\x55\x49\x36\x33\x2b\x9a\xa4\x4a\xb5\x0b\x93\x74\x80\xe9\x68\x7b\x52\x73\x0f\x99\xa8\x5a\x46\xe2\x84\x0a\xf2\xe8\x3d\xb5\x21\x97\x3d\xee\xad\xd8\x39\x15\xd4\x1c\x4b\xa4\x49\x33\x71\xc4\x18\x00\xdb\x53\x9d\xd3\x25\xa3\x1b\x3f\xa5\x81\xcd\xba\xec\x40\x6f\xda\x0b\xe1\x11\x26\x08\x67\x00\x54\x36\x0d\x08\x71\xee\x1e\xe0\xc2\xd1\xb1\x82\xf6\x14\xab\xfe\x07\xf6\x24\x14\x52\x69\xd5\x66\x97\x95\xbf\x88\xf4\x4d\x1e\x7a\x2e\x48\x61\xf9\x8e\xf7\x8b\x36\x58\x4f\x90\xfa\x69\x02\x11\x4d\x6a\x32\xf4\x13\x6a\x9a\x5d\x02\x08\x4e\x51\xb3\x2c\xb8\xb3\x0a\x84\xba\xd6\x37\x49\xdd\xdc\xed\x25\x3f\x76\x29\x6e\xf2\xe6\xaa\x2e\xa8\x27\xbe\x68\xf5\xec\x97\x97\x5a\x69\x69\x02\x8f\xa2\x4d\x34\x90\xa0\x49\xda\x14\x5d\x86\x93\xb5\xe7\x5b\xa1\x34\xec\x13\xad\x35\x45\x80\xd0\x86\x19\x00\x5b\x43\x9a\x6a\xbb\xa4\x8e\x82\x93\x92\x27\xcc\x50\x03\xf6\xa9\x7f\xea\xcb\xc5\x5d\xaa\x69\xa9\x97\x86\x44\x29\xe2\x1c\x0d\x14\x23\xbb\x26\x01\x6c\xd6\x5e\xd3\x98\x69\x98\xed\x04\x0b\x52\xbf\x7a\xeb\x68\xf3\xdb\xc5\xad\x7d\x36\x6f\xa0\xac\x12\x8d\xbc\xc8\xbf\xb3\x67\x0a\x07\x3d\xd5\x24\x56\x36\x3e\xaf\x22\x74\x6c\x8f\x27\xc2\xd1\xee\x69\xb0\x07\x4f\xfc\xd0\x58\x29\x30\x65\xa7\x11\xf4\x0d\xbd\x25\x3d\xc8\xc1\xda\xec\xc0\x36\x2b\xec\x08\x96\xe0\xde\x8d\xd5\x21\x8d\x65\x46\x67\x50\xb5\x20\x9c\x5f\x77\xf7\x17\x77\x90\x24\xee\xb8\x2f\x2e\x35\xb4\x9d\x5a\x92\xbe\xe1\x69\x75\xc6\xf9\x14\xf5\x5e\x7d\xf9\x01\xf7\x35\x4d\xf4\x1b\x0f\x21\x2a\x8a\x5f\xf9\x38\xba\x69\xe0\x5f\x92\x62\x6b\x73\xa5\x9b\x44\x4f\x3d\xa7\x21\x1b\x9f\xfd\xa0\xca\x42\x3a\x54\x03\xeb\x44\x7b\x43\x9f\xc4\x0c\x2f\xa9\xcc\x54\x79\xa8\x1e\xa5\x60\x42\x2c\x13\x54\x69\x45\x57\xe2\xea\xba\xeb\x51\x4c\x5e\x67\xb4\xb4\x5a\x65\xd5\x8f\x16\x6c\x69\xf8\x7f\x63\x06\xa0\x2a\x50\x0c\xb1\x7e\x90\x87\x46\xf5\x69\x43\x8f\xd6\xa8\x2c\xb0\x50\xc3\xca\xf0\x4d\x86\xd5\xd1\x2e\x6c\x6d\xac\xc0\xf4\xab\x9d\xbd\xeb\x06\xd8\x54\x04\x1f\x50\x30\xde\xe4\x39\x69\x03\xa6\x51\x25\x24\x88\xa4\xc1\x6e\xd5\x0a\x0c\x46\x42\xe4\x6c\x8b\x10\x02\xeb\x12\x69\x47\x5f\xf4\x58\x21\xa0\xa4\xc9\x43\xdc\x1c\x49\xc5\x0c\x98\x2b\x95\xed\x84\xc0\xee\x6a\x49\x5b\x67\xc3\xb1\x45\x5d\x5c\x59\x69\xeb\xa0\x5a\x8b\x6a\x8d\x1b\x3c\x65\x9d\xab\x14\xf3\x07\x60\xc5\x41\x90\xad\x0a\x96\xcd\x33\x3b\x06\xd1\xa9\xab\x4a\x5c\x17\xc3\x5e\x47\x1f\x09\x0a\xce\xd0\x93\x83\xf5\xa0\x09\x2b\xa8\x4d\xbd\xd0\x9b\x1e\x73\x81\x93\x57\x89\xf2\x00\x17\x86\xc0\x52\x01\x95\x20\xa2\x8f\x4d\x9e\x5c\x06\x5e\x50\xf6\x51\x5b\x3b\xa7\x39\xc4\x77\xc7\x56\x00\xc2\xd7\x3b\x80\x5d\x2b\x56\x4a\x07\x3c\x82\x1a\x25\x71\x05\x1d\x33\x64\x9b\xff\xbb\x36\x97\x07\x40\xae\xac\x69\x56\x02\x71\xb9\x4c\x04\x9a\x3b\xca\x04\x58\x1d\x56\x03\xe6\x30\x2a\x88\x0b\xd9\x27\x7c\x77\x4d\x6e\x1b\x05\x9e\x8c\x34\xdb\x6b\xd2\x89\xb2\xcf\xc9\x32\x61\x82\x79\x08\xf1\xde\x0a\x68\x33\x81\x1a\x9c\x50\x65\x83\x42\x36\x64\x1f\x80\x3b\xd7\x0c\xc1\xa0\x89\x08\xcd\xe2\xbe\x72\x01\x53\x92\x02\x5d\x00\x2d\xdd\x93\x24\x27\x17\x1e\xb3\x8e\xc1\xa0\x67\x87\xee\x17\x23\x9a\x0f\xb4\x14\xb0\x20\xfd\x90\x1d\xe0\x42\x43\x7c\xcb\xf5\x0c\x91\x5e\x80\xfc\x5f\x52\x77\x9d\x58\xf0\x25\xf3\x45\xd7\x29\x6f\xd2\xec\x64\xbd\x2c\x20\x9f\x72\xfb\x10\x7f\x74\xc5\xd6\xc1\x25\xd5\xc3\xc0\x2c\x84\x9a\x1c\xe1\xd4\xff\x20\x56\x7a\x63\x3c\xfc\x3e\x4f\x6c\xa6\x5e\x36\x77\xb0\xcf\x01\xc0\x88\x52\x01\xed\x0b\x06\xb2\x27\xcd\xf3\xc2\x1c\x7d\x71\xf1\x6f\x4a\x02\xcb\x5c\x9a\xeb\x02\x1f\x39\x8a\x27\xdc\x88\x1b\xa9\xf9\x71\xba\x0d\x57\xe1\xae\xf5\x46\x4b\x7d\xa0\x08\x16\xcc\x42\x60\xba\x9a\x01\x42\x01\x56\xa3\xcc\xa2\x6b\xb6\x8e\xb4\x2e\xc0\x49\x14\xa0\x2c\xcd\x1e\x78\x57\xfe\xf9\x9e\x9a\xdb\x16\x28\x3d\x6f\xe8\xf4\xec\x01\xde\x09\x93\xdb\xd7\x92\x65\x57\xa6\xad\x9e\x04\xb2\x5c\x96\x44\x77\x59\xcc\x9a\x5d\xc4\x17\x64\x96\x78\xc6\xdf\x14\x30\x9e\x53\x82\x2a\x86\x3d\xfa\x22\xcb\x88\xaa\xb1\x8d\xa5\xc5\x27\x26\xab\xd5\x36\xe5\xda\x83\x6b\x0b\x06\x44\xee\xac\x97\x41\x9d\x4c\x65\xdf\x87\xc2\x1c\x63\xc5\x09\x0b\x74\x02\xf8\x05\x78\xeb\xca\xd2\x38\x36\x46\x17\x59\x76\xd9\x3c\xb9\xa9\x5e\x37\x3e\x1f\x15\x8f\xbe\xbe\xd9\x12\xb3\x2f\xf4\x6a\x34\x87\xae\x32\xcd\x21\xe3\x34\x10\xc5\xdd\xe2\x65\xd5\x09\xb9\xaa\x91\x01\x60\x7c\xbf\xd6\xf2\x8c\x46\x93\x27\x5f\xb3\xe3\xd9\x77\xc0\xbc\x04\x0e\x9b\x0d\x56\x58\x03\xe0\x19\xdd\x39\x7a\x0e\x04\x0c\x73\xe5\x0c\x77\x8e\x0d\x69\xbd\x25\xe0\xaf\xa6\x9a\xd1\x2c\xdb\x52\x83\x6c\x2a\x4d\x2f\x04\x03\x69\x45\xce\x01\x4c\xa0\x51\xf7\xd3\x4a\x5c\xa4\x4b\x29\x4e\x40\xf5\x99\x17\x96\x7e\xf6\x9d\xb0\xa1\x42\x48\x0d\xbf\xbb\x38\xd0\x1c\xbc\xe4\x42\x70\x1f\xbf\xe6\xc0\xb9\xeb\xd3\x7e\x75\x03\x0e\x4d\x86\x6e\x86\x4c\xdc\xea\x39\x87\x1b\x43\x9b\xef\xde\xa1\x12\x85\x75\xda\xa1\x77\x11\xb6\x74\xa1\x82\x72\xb3\x3a\x13\xe1\x55\xd2\x10\xdc\x5b\x18\x46\x49\x33\x77\x68\x49\x4d\xdc\x31\x40\x47\x93\x25\x01\xb4\x76\x9a\xe3\x9c\x88\xe7\x29\xdc\x0d\x4d\x92\x41\x66\x1a\x78\x59\x35\x99\x34\x77\x79\x01\xb5\x5e\x20\xc3\x7b\xab\x4f\x68\xf1\x4d\x39\x70\x8e\x58\xea\x47\x38\xb9\xc6\x02\xb3\x16\x9c\x94\x9a\xc0\x3a\x53\x4e\xd5\x92\xf6\xb9\xc5\x0b\x25\x44\x83\x78\xd4\xe1\xb6\x1f\x0a\x6d\x40\x19\x3f\x40\xfb\x07\x53\x1b\x64\x7e\x63\x3c\xc1\x6a\x22\x7e\x45\x71\xf7\x3b\x01\x74\x03\xa1\x35\x00\xd8\x4e\xe5\xdc\x16\xa8\x7c\x50\x0d\xc2\xe9\x21\x4a\xae\xcb\x32\x20\xd8\xea\xec\xc9\xa5\x1c\x10\x5c\x0b\x9a\x5d\x01\xc0\x03\xec\x5c\x18\xdc\xe8\xf8\xee\x08\xdc\x61\x93\xa3\x2d\x79\xea\x61\xee\x4c\x03\x2e\x2f\x6c\x5e\x44\xcf\xb5\xb8\x75\x34\x20\x1b\x98\x8f\xea\x01\x7b\xd7\x7c\xab\x0f\x32\xd3\x0e\x58\x5a\x00\x05\xde\x63\x4b\x1a\x0d\xc4\x59\x13\x45\x3f\x48\xb1\xdb\xf1\x06\x04\x4b\x2a\x67\x77\x88\xd8\xbb\x8f\x92\x56\x43\x99\x2c\x6a\xc3\x6b\x6a\x40\x8d\xb1\xb0\x90\x0c\x48\x70\xa6\x20\xd0\x51\x09\xc0\xe5\x24\x23\xb5\x3a\xdc\xf2\x86\xb0\x2b\x17\x12\x77\x08\x6a\x7d\x53\x05\x34\x89\x36\xdf\x2d\x67\xa2\x83\xa3\x89\xd6\xa6\xdf\x70\x40\x86\xa0\x4f\x1d\xc6\x9f\xf4\x24\xd1\xd9\x50\xf4\xe5\x53\xde\xf2\x25\xca\xe1\x7c\x20\xa8\xf4\x3a\x73\x4f\x69\x19\x89\xf4\x6c\x0d\x77\x6d\x1d\x82\x55\xfb\x16\x9b\x9f\x58\x0b\xd1\x48\x1c\xd4\xa6\x27\x1f\x31\xd0\x62\x29\x30\x0a\x3a\xfb\x55\x89\x72\xc7\xa7\x05\x22\xe6\x97\x5b\xe7\x25\x40\x9a\xaa\x9c\xd9\x8e\x0c\x4e\xbe\x49\x9a\x2b\xf5\x8b\xd0\x3c\x5e\x3e\xed\x30\xac\x36\xf4\x30\x9d\xd9\xf0\x98\x1b\x97\xfc\x1e\x96\x00\x1b\x50\x81\x97\xac\x02\x13\x36\xcd\x3c\xc2\xd4\xaf\xb0\xe0\x15\x2b\x1f\xa4\x38\xc0\x8d\x9e\xf3\x12\x65\x6a\x2e\x91\xba\xa1\x36\xf9\x4c\x34\x55\x29\x3d\x19\xf4\x82\x1a\x31\xb0\x9b\xe9\xcb\x47\x43\xdc\x06\x04\xda\x97\xc0\x9b\x71\xe9\x1a\xc2\x29\x90\x53\x0c\xed\x58\xa4\x96\x22\xd3\x90\xcb\xa7\xb9\xe4\x53\xfb\x5d\xf2\x89\x15\xa0\xae\xf0\xfb\xb7\x97\x96\xcd\x2f\xd6\x56\x3b\xd6\x96\x7d\x63\x6d\xc5\xd2\x5a\x35\xb0\x52\x4f\x35\x75\x75\x0f\xb9\x5f\x6b\x32\x89\x9f\x01\xef\x07\x2d\x3c\xd6\x3b\x3c\xe3\xc1\x7e\x5a\x74\x1c\xa4\xc0\xd6\x8e\x62\xd8\x3e\x29\xbd\x4b\x99\x8b\x7a\x0a\x58\xef\xa0\xa1\xf4\x0d\xe6\xeb\x89\x38\xdb\x85\xf6\x10\xdc\x07\xa0\x6a\xd4\x28\xc9\x5b\x50\xd9\xf0\x64\x61\x29\x96\xd5\x25\x57\xd2\x80\xbb\x98\x8f\xc6\x30\x12\x7d\x76\x82\x6f\xbb\x71\xe4\x02\xbd\xd0\x93\x6a\x7d\x62\x96\x0b\xea\xdb\x21\x08\xe8\x78\x0a\xda\x0e\x1b\x91\x94\xe1\x4e\x42\x0c\x09\x1c\x02\xc9\x08\x6a\x2c\x98\x3a\xb0\x4a\x1b\x78\xca\x99\x4e\x10\x9d\xbf\x2b\xfa\x7a\x35\x98\x7e\x22\xfc\xda\x9a\xfc\x76\xe0\x07\xe5\x54\x14\x51\x4a\x5f\x48\x40\x28\x28\xcd\xfe\x7e\x37\xbc\x1b\x70\x01\x8b\x2b\x9b\x8a\x8a\x23\x69\x20\x32\xac\x5b\x23\x52\xd9\x3f\xca\xf3\x96\x34\x67\x73\xa9\x6e\x09\x06\x5d\x36\xd9\x5d\xc5\x41\x9d\xf5\xf2\x23\xd7\x7a\x04\xe8\x90\xb2\x99\xc9\xf5\x33\x82\x14\x45\x48\xd3\x08\xca\x94\x64\x85\xf4\x0c\x7e\x8d\x60\xb7\xcc\xda\x89\xa4\xc0\x81\x74\xa9\x94\x16\x1b\x41\x5d\x60\xbe\xb9\x43\x02\x28\xf6\x34\xfd\xe7\x43\xa1\xa6\xb0\xcc\xc2\xb9\x88\x00\x13\xe2\x4b\xed\x1a\x5f\xb2\xf9\x93\x01\xa6\xc5\xcb\x52\x17\xb2\x46\x25\x48\x62\xeb\x9a\x9a\xab\xa5\x58\x7b\xf4\x2e\x60\xbd\x37\x24\x66\x87\x95\x4b\xf8\x1c\xa0\x6d\xf9\x63\x82\x44\x05\x10\x0e\x66\xb8\x51\xf8\x77\x9e\x65\x27\x84\x93\xdf\x5e\x7b\xfe\x6a\xbb\x52\x6e\x32\x87\xac\xa6\x76\xd3\xb1\x01\xd1\xee\xbc\x42\x14\xed\xeb\x11\x0a\xd7\xe4\x6d\x57\x7a\x4d\x65\x6f\x11\x6c\x70\x7b\x6e\xba\x3d\xfb\x0f\x08\x46\x00\x2a\x6f\xa4\x8a\x35\x3a\x32\x99\x10\xb0\xe8\xb1\x7c\x57\xc9\x3f\x41\x1d\x8d\x4d\xc7\xb9\x75\xb6\x50\xd5\x3a\x88\xd3\x3c\x33\xd0\x2c\x0b\x26\x0c\xd6\x3d\x23\xf1\x4d\x89\xc8\xc1\x9e\x26\x44\x87\x00\x75\x62\xc3\x2e\x7b\x72\x21\xdc\x07\xe2\x06\x1d\x71\x83\xb2\xe2\x06\x85\x5e\xbd\xd4\x4d\x53\xc9\xe0\x89\x03\x71\x12\x34\xb5\x0d\x50\x1e\xd2\x0f\x16\xd4\xde\x75\x5b\xd8\x46\x68\xf7\x04\xc7\xa7\x04\xa9\x1f\x0c\xa7\x16\x6c\xc1\x70\x90\x11\xca\xcb\xcd\x87\x59\x41\xf6\xe3\xc7\x84\x37\x0e\xb1\x07\xcf\x03\x2b\x6b\x94\xf6\x8d\xfb\x5b\x4a\xed\x7f\x5e\x75\xe7\xb3\x80\x44\x4d\xc6\x99\x50\xc4\x26\x8c\xd9\xb0\x58\xba\xa3\x18\xd1\x86\x91\xde\x60\x20\x02\x33\xe0\xbd\x02\x9b\xa3\xba\x16\x01\x20\x39\xc0\xb0\x5b\xe0\x62\x6a\x14\x86\xcf\x8e\xb8\xc0\x19\x5b\x0a\xcd\x62\x0c\x0f\x82\xe6\xc7\x17\x22\xaa\xa4\xfd\x02\x7f\x47\x44\x60\xf5\x80\x60\xd6\x64\xfd\x13\x8e\x16\x96\x0e\xa6\xe5\xcb\x48\xc0\x11\x08\x00\xbd\x0e\x10\x76\xc9\xde\x27\xc6\x6d\x0b\x27\xe6\xcb\x00\x80\xbd\x25\x00\xf0\x82\x1d\xd3\x8f\x1d\x03\x94\xf9\x16\x4c\x50\x2e\xa4\x27\xf0\x8c\x50\xdf\x49\x87\xcf\x4d\xcd\x9e\x0d\x5b\x76\x23\x75\xa7\x80\x87\x38\x28\xd5\x34\x28\xeb\xdb\xea\xd8\x9b\xed\x6d\x81\x76\xdf\xaf\x36\xe8\x98\x16\x64\xd9\x60\x6a\xc0\x65\xf1\x5b\x69\x84\xdc\x2f\x28\xe9\x25\x14\xa4\x0b\xcd\x49\x9f\x17\x14\xc0\xac\xc5\x92\x39\x12\xc2\x1f\x25\xfa\xfa\xfa\x11\xcd\xd4\x6b\x34\xd3\x6e\xa2\x99\x5f\x42\x66\x67\x29\xd6\x97\xee\x73\x7f\x61\x22\xd1\x80\x88\x3c\x02\xc7\x07\x13\x96\x1b\x0d\x6f\x8b\xc8\x13\x28\x8c\x7d\xf1\xa5\x36\xc2\xbd\x80\xa8\x7c\xa6\xde\xfa\xc2\x0c\x14\x30\x45\x34\xb6\xa7\x07\x60\x0d\x8c\xbc\x09\xb4\xac\xde\x2a\x8a\x27\x3e\x0e\x94\xa4\xba\x55\xeb\x7a\x98\x76\x25\xd6\xe7\xc8\x93\x7b\x6f\x50\xc5\xe6\xfe\x3a\xde\x82\x98\x0d\xf6\x1c\x70\x9b\xe7\x0c\x29\x38\x14\xe5\x04\x88\xf3\x54\x44\x73\x16\xce\xe9\x74\xd5\x80\x81\x75\x28\x9f\x6e\xfc\xfb\xcf\x24\x7a\x7e\x22\xd5\x77\x6b\x7a\x34\x00\x2e\x2a\x4d\x60\x72\x35\x17\x3d\x27\xb7\x04\x67\xa3\x0d\x01\x0f\xdc\x1d\xbc\x8e\xb0\xab\x5b\xf2\xf0\x53\xda\x48\x26\x06\xf6\x8d\x4a\x7b\x0a\xd0\xa3\x90\x45\xea\x5b\x76\x2a\xc8\x85\xb6\x4a\x50\x0c\x50\x51\xf8\x07\x25\x0d\x37\x57\xa0\x5c\x2b\x80\xc1\x95\x0c\x5f\x8d\x01\x5c\x00\xc0\xc0\x52\x90\x42\x4a\x81\x8a\x05\xe5\x56\x7c\xab\xd8\x7f\xc5\xdc\x95\xdc\x49\x16\xab\x36\x5c\x8f\x4d\x85\xc6\x6f\x09\x50\xab\x08\xdf\x18\x10\xcb\x80\x6b\x9b\x0a\x16\x41\x33\x92\x96\x23\x52\x4d\xf0\xd2\xe8\xe4\x25\xc6\x6f\x9e\xa4\x4b\xca\x30\xc6\x33\x23\xc7\xf4\x48\x7c\x79\xf8\x6a\x2d\x80\xdc\x0e\xf1\x8a\x80\x07\xee\xb5\x81\xfd\x7d\xb0\x23\x56\x86\x92\x93\xde\x7a\x4b\xd3\x2f\x6e\xc0\x59\xf6\xdd\x39\x81\x5f\x54\xd5\xe5\x97\xef\xdb\x32\xd1\x99\xd2\xc5\x67\x6f\x8b\x97\x45\xf5\x06\x10\xef\xf3\x8e\x5c\x7b\x45\x4a\x43\x5c\x38\x42\xe8\x42\xc8\xce\x20\x7c\xb2\x4a\xd2\xfd\xec\xee\x03\xc2\xe3\xc0\x9f\xc5\xfa\x87\x33\x15\x1e\x04\xf6\x70\xd7\x4b\x6a\xe0\x72\x46\xd7\xcc\x24\xf3\xf5\x39\x81\xb6\x4a\xb9\x28\x61\x87\xed\xcc\xa8\x27\x44\x69\x7a\xdb\xd3\x84\x96\x1f\x3d\xb6\x7a\xa1\xb5\x3a\x09\x19\xe7\x2b\x7f\xfa\x76\x42\x63\xc1\x80\x68\x2b\x52\x7f\x6c\x58\xc4\x6a\x90\x80\xb8\xc3\xf8\xd1\xb4\x3a\x56\x72\xcb\x6f\x4a\x21\x22\xa7\x22\xb9\x85\x6e\x2b\x24\x74\x0a\xe4\x52\x51\xb7\x32\x44\x91\x7d\x51\x5f\x74\x72\xc5\x5c\x14\xa0\xa8\xa2\xc9\xda\xaf\xb5\xcf\xee\x06\x0f\x4c\x3e\xdc\x5b\x2c\x0d\x71\xf9\xb8\x7a\xf0\xa1\xc4\x22\x54\x5f\x6c\xa4\x39\x25\x29\x22\xd6\xb3\xb9\xfd\x54\x11\xc1\xc6\x72\x95\x08\xda\x33\x6f\x61\xc1\x47\x56\x03\xd6\x44\x91\x42\x15\x38\xe0\xb8\x01\x3b\x20\xe5\x5d\x5a\x18\x2d\x5d\xb5\xc0\xef\xef\x02\x38\x2e\x78\xc2\xf3\xb2\xc3\x32\x97\xf6\x58\xdd\x5b\xfe\xa0\xa9\x4e\x7d\x86\x28\x04\x5e\x5d\x63\xbf\x11\x6c\x5f\x41\xbb\xbb\x12\x8d\x91\x09\x87\x52\x94\x09\x07\x48\xa2\xe0\x87\x0d\x16\x5d\x34\xc8\xc2\xfa\x99\x16\x18\x27\x26\x7e\x12\x3f\xfb\xba\x24\xae\x97\x46\xcc\x79\x36\xbb\xe5\x39\x12\xa0\x49\xb1\xf8\xeb\x57\xe4\xfa\x8d\x2d\x61\x68\xd5\x87\x6f\x7d\x4e\xa5\xc7\xca\x8a\xa4\x83\x00\xf5\xac\x80\x55\x17\x11\xba\x59\x53\x8b\x46\x51\x4d\x13\x7b\xbc\xa3\x79\xf4\xc8\x35\x70\xad\x63\x92\x8b\xda\x53\xca\x76\x06\x21\x8e\xe2\x02\xa7\xf4\xd4\x59\xe0\x85\xd4\x63\x91\xdf\xe7\x37\x2f\xb6\x42\x9c\x97\x0e\xb0\x2e\xcc\xb8\xd6\x7e\xec\x2e\xdf\xa6\x13\x88\x59\xc5\x7e\xb4\xbf\xc3\x43\x7e\x79\xbd\x3b\x00\xb4\x85\x56\x47\x84\x68\xab\xdf\x43\x2c\xdf\x08\xa6\xfa\xed\x82\xd5\x5f\x64\xf8\x6d\x44\x06\x27\x22\x0f\xb2\x12\x6d\x80\xf0\x24\x7f\xce\xe9\x55\x00\x3b\xab\xdb\xf2\x88\x5f\x93\xa3\x46\xdc\x61\x41\xeb\xb8\xfb\x57\xd0\x65\xb9\xb6\x0b\x94\x66\x07\xb0\x28\xd0\xb1\x17\x41\xff\x00\x3c\x9f\xba\xc4\xf3\x3b\x3b\x68\x37\x94\x60\x3d\x86\x26\xcc\x0c\x18\x8d\xef\x85\x77\x76\x74\x76\x84\xab\xd3\x19\x9d\x44\x46\x97\xd4\x63\xdf\x35\x2a\x66\x2a\x73\x9b\x49\xe4\x74\x17\xaa\x22\x2a\xad\xcb\x11\xdb\xee\x82\x5b\x05\xb1\x2d\x30\xfd\x04\x3d\x7f\x45\x47\x62\x41\xe2\x1e\xb8\x7c\x6e\xb1\x82\x27\xcc\x10\x62\x84\x28\xdd\x0a\xfb\x28\xc1\x89\x47\x46\x91\x96\x14\x9a\x07\x9c\x13\xf2\xf2\xd1\x52\x17\xdb\x7a\x2a\xa3\x9f\x53\xcf\x07\x46\xbe\xb4\x96\x8c\x12\xa6\xc3\xed\xee\x08\xe5\x81\xe6\xc8\x14\xf4\x0c\x42\x9d\x87\x51\x02\x2b\x6f\x5a\x20\xf4\x0a\xa8\x76\x28\xc0\x18\x1a\xc9\x8b\xe6\xc3\x17\xb3\x4f\xec\x9a\x70\xa1\xe8\xcb\x3f\xec\x1f\x3a\xff\xf5\xf3\xf9\x6f\x6f\xeb\x1d\xea\xa0\x8a\x9d\x69\xb4\xf1\x58\x4a\xea\x01\xdc\xa1\x0b\xc4\x9d\x14\x65\xd9\x07\x02\xd6\x76\x41\xf0\x61\x55\xf5\xa0\xe4\x03\x23\xd3\x78\x5e\x39\x05\x88\x9a\xc7\xe6\x1e\xc4\x39\x03\x5a\x82\x46\xae\x95\xc6\x64\x8e\x75\x3d\x01\xbf\xaf\x8e\xc0\x16\xb0\xd6\xd0\x0e\xcf\x9c\x72\x63\x3b\xb5\xf0\x65\x3c\x83\x9c\xcb\xef\x81\xbb\x35\x9a\x66\x2b\xcf\xbe\x2b\xca\xa9\x84\x34\x6e\x07\x68\x50\xc7\x42\x07\xc2\x0d\x69\x26\x5d\xcd\x41\x9f\x40\xc5\x2b\x41\x92\xa0\xd6\xe7\x88\x7b\xef\xd6\x0c\xbc\x12\x77\x1e\x81\xb5\xe6\xd6\x83\x04\x44\x2c\x61\x34\x9b\x5c\x22\xdc\x06\x44\x65\x89\xce\x6a\x22\x08\x9f\x00\x7b\x50\xda\x15\x5b\xc4\x2d\xcd\xe7\x54\x26\x0a\x9d\x51\xac\x8c\xfb\x4c\x95\x14\xb8\x30\x88\x2a\xba\x2c\x87\x0a\x70\x1b\x07\xb9\x2c\x9f\x2d\xc8\x81\x5a\xa9\xb8\x87\x8e\xe8\x46\x85\xaa\x01\xc8\x73\x9e\xd4\x84\xbc\x2a\xf4\xf8\x10\x44\xd9\xd7\x0b\x5c\x05\xf4\x01\xb8\xf5\x26\x95\x07\xb1\x93\x6f\x65\x37\xe5\xfc\x39\x66\xdd\x55\xc7\x05\xb4\x9e\x59\x2a\x9a\x8b\x66\x1f\x9b\x6b\xc1\x21\x8f\x3e\xd5\x86\xf4\x3a\xb2\xd6\xe7\xa8\x3d\x41\x8e\x0b\xe2\x1e\x7e\x10\x3b\xe5\xf7\x12\xd4\xb2\x70\x38\x8a\x0e\xf8\xb4\x7e\x76\xbf\x3f\xc8\xd7\xe4\xe6\xc6\x78\x0d\xbe\x12\xab\xae\x78\xfd\x8f\x13\x71\x14\xd6\x96\x14\xd0\xb0\x29\x3c\x72\x37\xa7\x7a\x68\x3a\x50\x65\x08\xb1\x70\x8c\x49\xe1\x40\xf3\xe9\x75\xa1\xcb\x06\xb2\xcc\x00\x62\x4b\x99\x97\x80\x04\x90\x3d\x10\x2b\xe0\x97\xd0\xdb\x8e\xa5\x4a\xbe\x26\xa4\x25\x09\x38\x06\x67\x0e\x94\x7c\xc8\x51\xa0\x65\xc6\x28\xcf\x75\x4e\x26\xa0\xe8\xd0\x09\xc4\x68\x9c\xde\x20\x27\x70\x7d\xbe\xd6\x5e\x77\x85\x7f\xa3\x71\x2d\x17\x42\x8d\xd7\x76\xce\x51\xe0\x33\x68\x0b\x87\x53\x8a\x77\x07\xdf\x0e\xfe\x52\x3a\x8c\x36\x92\x75\x08\x91\x53\x22\x88\x62\x33\x8d\x8e\xd0\x2b\xa2\x85\x28\x52\x04\xc7\x73\x89\x10\x09\xaa\x1a\x60\x2c\x8f\x89\xef\x15\x1c\xc8\x2a\x21\x39\xc8\x8e\x57\x4f\xc8\xdf\x32\x8b\xbb\xbc\xa0\x0c\xee\x48\xa6\xe3\xac\x91\xd0\x37\xf3\xd6\x97\x05\x4c\x51\x0b\x59\xcc\xc2\xc6\xcf\xb8\x85\x19\x1a\xcd\xb7\x8c\x61\xd2\x0b\x26\xab\x1a\xe1\x03\xd9\xab\xf5\xe3\xb2\x87\x52\x80\x20\x56\x80\xa3\xfc\xbc\xa7\x81\xbc\x11\xf9\xa2\xdc\xae\x9e\xa4\x35\x2e\x51\x32\xe0\x8e\x1c\x41\x05\xad\x5f\x39\x7c\x86\xfb\xbf\x67\x16\xad\x56\xa8\x71\xf8\x8e\x8a\xe2\x12\x38\x91\x92\xca\x2c\x14\x7c\xb9\x61\xfb\xb9\x1a\xd4\x02\x4e\xe0\x0c\x57\xd4\xe0\x9e\xd6\x26\xe4\xc7\x05\x4e\x28\xbd\x54\x06\xe9\x5b\xaa\xcd\x4e\xf8\x5d\xd3\x03\x40\x1d\xd1\x81\x33\xad\x33\x58\x49\x60\x63\xad\xcc\xa2\x11\x88\x08\x8b\x5c\x16\x5f\x0d\x28\x3c\x1b\x89\xff\x2f\x41\xff\x9c\xb5\x3e\xa7\x31\xcb\x19\x08\xa1\x79\xe0\x8e\x00\xeb\x14\x51\xce\x0a\x50\xbe\x48\x4a\xd8\x08\x46\x16\xb8\xaa\x0a\x36\x2b\xf4\x50\x94\x30\x97\x6b\xc0\x07\x14\x97\xfd\x8b\x02\x7f\x4e\x02\xe3\x16\xf4\x5b\x10\x8a\x10\xa7\x47\x3e\xca\xe4\xa4\xd0\x45\x7c\x0e\x34\xb1\xe0\x3e\x22\x76\x4d\x50\x52\x90\xe7\xa4\x05\xf3\x5e\x9e\x27\xec\x12\x39\x4a\x83\x0b\xd1\xad\x00\x45\x26\x81\xda\xc0\x50\xa3\x80\xc0\x86\xb8\x74\x2d\x29\x37\x7a\x4f\x46\x2c\x83\xc9\x2a\xbd\xdc\x91\x44\xcd\x7e\x1f\x2b\x05\x01\x68\x11\x84\xc8\x54\x46\x88\x0e\xb5\x97\x8f\xa5\x81\x25\x70\xfa\xf4\x3e\xa7\x01\xf6\xe5\x4c\xdf\x1f\x88\xa8\x88\x74\x25\x10\x4d\xa7\x26\x84\x15\x15\x09\x94\x14\x25\xc9\x37\x5f\xad\xaa\xeb\xb3\x3a\x01\xbb\x18\x20\x2b\xf5\x80\xbd\xe7\x88\x5d\xd3\x81\x47\xa2\x52\xa9\x33\x57\x59\x03\xf4\x1c\xa1\x46\x6d\x7e\xc9\xb8\xbb\x3d\x19\x9a\xe4\x1a\x51\x3e\xa4\x85\x66\x7b\x4a\xb3\xd5\x67\x57\x48\xf5\x83\x7f\xfc\x8c\xea\xd7\xfa\xf2\x51\x72\xd2\xbe\x21\x44\xff\x1c\xcb\x43\x33\x10\x5b\xb1\x20\xc8\x2f\xb7\xd2\x66\xa3\x9d\x52\x9b\xe2\x8f\x55\x25\x50\x09\xfe\x56\xbb\xa1\xf9\x32\xd0\xf4\x2a\xa9\xc0\xef\xf0\x73\xc8\x3a\xe1\xff\x12\x95\x34\xca\x7a\x01\x8e\x8e\xbb\xbc\x41\x0e\xd7\x03\x7f\x0d\x3e\x53\x92\x72\x67\x23\xe4\x34\x41\x37\x30\xeb\x42\xc4\x1a\xc1\xf0\x68\x01\xbc\x36\xcc\xa0\x71\x8a\x18\x2e\xcb\xd7\x37\xd3\x46\x59\x92\xa2\xda\x32\x99\x10\x2d\x1a\xf8\xb6\x02\xce\xf0\x0a\x2a\x35\x00\x09\x4e\x24\x7d\xed\x71\x10\x0f\x53\xcb\x88\x90\xb5\x36\x7e\xcd\xc5\xb2\x4c\xdc\x6a\x3f\x88\xb8\x01\xe2\x07\xab\xcf\xc5\xad\xc0\x97\x8f\x33\x8d\x81\x93\x97\xe7\x9d\x3d\x97\x33\xcf\xf3\xe2\x38\xf2\x13\x31\xad\x9c\xea\x98\xf1\x2e\x46\x01\xd6\x2b\x63\xcc\xca\xb4\x3f\x0b\x72\x8e\x79\x03\xbe\xb6\xd0\x7b\x87\x09\x6c\x30\xaa\x03\x62\xb4\x0e\x20\xf1\x4f\x9f\x25\x18\x88\x8f\x7e\xf2\x97\x8f\x0a\x10\xcb\x99\xac\x3d\xef\xec\x8c\xe9\xb8\xb5\x8a\x62\x8b\x40\x77\x56\xc0\x49\x6b\x23\xd3\x48\x16\x3f\x0a\x58\x14\x5d\x97\x56\x35\xe2\x6f\x88\x42\xe0\x0a\x20\xfa\x08\xda\x94\x6b\x6a\xc4\x36\x45\x1a\x44\x97\x2e\xb0\x19\x16\x1f\xb8\x5b\xa5\xb8\xf1\xb1\x83\xa4\xc5\x72\x3f\x81\x6c\xb4\xce\x2b\x42\x18\x1c\xf9\x47\x1f\x24\x7a\xbd\x4d\x26\x9b\xbd\xe7\x09\x5c\xd9\x1b\x9f\x03\x7d\x43\xa5\x3d\xbb\x4a\x27\x6b\x9e\xf4\x81\x7d\x59\xc9\xf4\x62\x00\x85\x2f\x81\xfa\x5e\x7c\x33\xb8\x5e\xaa\xc0\x94\x01\x34\x3b\x0b\xab\x3a\x58\xbc\x0a\x60\x68\x6b\x4f\xb5\x5f\x41\x20\x81\xab\x75\x66\xf1\x09\x94\x5a\xad\x01\x9e\xe5\xc7\xcf\xa8\xf7\xf3\xf5\x95\xe6\x40\x28\xdc\xec\x19\xf9\xdd\xb8\x62\xab\x01\x8e\x03\x7e\x20\x5f\x18\x20\x11\x4e\x74\x11\x62\x01\x54\x64\x0c\x5c\xfc\x01\x22\xdc\x72\x3d\x59\xf6\x4f\xb7\x78\xc1\xb5\xee\x81\x86\x7f\x03\x35\x02\x3a\x62\x3b\x03\x43\x2b\x6e\x7b\x2c\xbe\x86\x6d\xef\x73\xf7\xf2\x11\x35\x25\x98\xc2\xe9\x63\x8b\xa1\x15\xe4\x1c\x8e\x89\xf3\x75\x96\x7b\x32\xd2\xe4\x02\xc2\x0c\x30\x2e\xb4\xce\x25\x86\xcd\xba\x55\x0b\x5c\x97\x9e\x5b\x00\xa9\xe7\x76\x47\xa3\xb0\xb6\x0f\x26\xae\xb3\xf6\x25\xb9\xd1\xcb\x8b\x25\xdf\x30\xd8\xe8\x83\x7d\x0c\xd5\x28\x6a\xf3\x2d\x05\x67\xf4\x3c\xde\xd4\x20\x5e\xdd\x73\x6b\xc9\xfa\x7c\xec\x09\xc2\x44\x02\x52\x2e\xc1\x3c\x9f\x8d\x45\x0f\x65\x46\xe5\x13\x7c\x68\x84\x88\xc1\x96\xd8\xdb\xc9\x1d\xb8\x7e\x04\x86\x82\x14\xee\x11\x5c\xf1\x90\x89\x6e\x3a\xce\x49\xc6\x08\x64\x06\x74\x14\x64\xd1\xb0\x3b\xd4\xb7\x03\xd8\x2e\x17\x9e\x0f\xe9\xd5\x32\x11\x98\x41\x15\x00\x0f\xc6\xb7\xa6\xa1\x7d\x5d\xf3\x78\x4e\xbd\xba\x75\x21\x0c\xb8\x5f\xa5\x28\x33\x85\x23\x42\x5e\xb8\x07\x0d\x0e\x27\x6c\xc9\xca\xaa\x1b\x17\x0a\x15\x01\x7f\x05\xf9\x71\xeb\x3d\x4d\xff\xb7\xfb\x83\xb9\x21\xee\xe6\x2a\x1d\x98\xf4\x25\x8f\x4b\xb8\xf8\x80\x13\x06\xfa\x15\x4a\x25\xda\x85\x28\x53\x59\x9f\x5d\xfb\x93\xba\x77\xf0\x3e\x05\x91\x89\x21\x62\x16\x45\xfd\x12\x30\x74\x8b\x8e\xad\x5a\x30\x71\x4f\x40\x1d\x83\x0a\xb1\x11\x00\xd1\xda\x42\x14\xea\x73\xb8\x9d\xe5\x6b\x89\x29\x86\x4a\x90\xa1\x3e\x47\x1a\xcc\x1e\x6c\xcb\x98\x00\x06\x32\x09\x28\xc8\xd7\x58\x0c\x85\x2d\xa8\xfd\xbd\x82\xc0\x01\x15\x2e\xab\x0f\x1f\xfc\x60\xa8\xa5\x1c\x13\x48\x68\xd9\x5c\xa7\x75\xc2\x31\xda\x81\x66\xca\xe2\xe2\x16\xf4\x57\xac\x81\x98\x88\x09\x4e\x5d\x73\x4f\x04\x4e\x20\xf6\x0f\x04\x97\x3a\x62\x9a\x80\x7e\x47\x3e\x94\x3e\x2a\xe9\xf6\xcc\x2d\x26\xa4\xe7\xb2\x8c\x65\x01\xfa\xbe\x74\xfd\xa5\x3d\x4d\xd0\x8f\xa2\x2a\x6b\xb6\xa0\xf8\x6c\x41\x65\xa7\x63\x5f\xd8\xd9\x11\x77\x21\xc7\x4f\x38\x22\xc0\x70\x8f\xaa\xbb\x67\x98\xa1\x97\x80\x20\xa4\xf9\x54\x7d\x0a\xb0\x76\x90\xbe\xe8\x2b\x5f\xca\xbb\x71\x0e\x55\x8c\xe8\x0e\x54\x0d\x5a\x0b\x10\xbc\x27\x0a\x9d\xb4\x70\x9e\x2b\x42\x64\x78\x93\x48\x36\xaa\x13\x9e\x8e\x75\x38\x5e\x6f\x83\x29\x70\x7b\x3a\xa7\x06\x07\x1d\xc1\x69\x54\xac\x2a\x62\x63\x15\x15\xb7\x08\xd0\xb8\x8c\xc3\x27\x0d\xc1\xcf\x55\x1e\x07\x8e\x73\x14\xa4\x76\x09\xaa\x08\x45\xed\x6a\x65\xed\x42\x47\xb6\x37\x6f\x91\xa5\x37\xb8\xa4\xb5\xb5\x68\x28\xfd\x84\xd8\x21\x0b\xf7\x89\xfc\x37\x00\x63\xec\x4e\xb9\xb1\x98\xb9\x31\xf6\x00\xa8\x37\xb0\xbf\x62\x2d\xea\x8e\x4c\x22\x8c\x1d\x50\x06\xbb\xbc\x77\x3b\xa7\xab\xf2\x4d\x25\x5e\x68\xd7\xa4\x59\x53\xd7\x9a\xda\xb7\x8b\x41\x6e\x22\x21\x63\xc2\x08\xc9\xfa\x0c\xab\xe1\xe4\xa6\xa4\xfb\xca\x59\x16\xb0\x64\x27\x0a\x2a\xca\x53\x0b\xb1\xcf\x6a\x09\x4e\x95\x06\x94\x37\x98\xd8\x8b\x2e\x79\x12\x08\x0f\x41\x1f\x43\x67\x50\x9e\xd3\x25\x11\xea\x65\x6b\xab\x10\xeb\x60\x1f\x54\x52\xd9\x76\x52\x18\xb3\xff\x08\x85\xcb\xee\x86\x28\x3d\xd3\xa4\x30\xaf\x40\x0b\xbb\x5d\x39\xcc\x32\xc1\x63\x47\x65\x44\xd5\x0f\xa3\xa8\x82\x04\x4d\xd5\xc9\x7c\x16\x36\x3e\xf3\x47\xc4\xdc\xaf\xa8\xdb\x85\xa1\x2e\xfa\x9c\xcc\x8d\x34\x94\xdc\x58\x4b\xbd\xc2\x5f\x49\xd3\x8f\x61\xe3\xe4\xb7\x0c\xb7\x3c\x50\x0c\x00\xa9\x5d\xce\x64\x0d\xd5\xdc\x61\xe1\x4e\xb7\x3e\x10\x0a\x26\xf3\x2d\x43\x92\x8d\x79\x54\x22\xe1\x11\x6d\xdb\xfa\xc9\x7d\xee\xbe\xf1\x79\xd5\x31\xe9\x51\x01\x1e\x59\xf6\x83\xe3\x53\x17\xdb\x5d\xd3\x93\x24\x43\x8a\xdc\xda\x35\xaf\x08\x1f\xe1\xbc\x90\x95\x6b\xa0\x23\xcf\x1e\xf4\x82\x98\x1a\x44\xcd\x47\x23\x8d\x28\xc0\x2a\x83\x35\x94\x5d\x06\x2e\x9b\xc4\x02\x8f\x4d\x39\x96\x49\x80\x6e\xd7\xc0\x70\x2b\x14\x28\xdb\x55\x2e\x04\x35\x14\x85\x09\x54\xbb\xcf\xae\xd5\xee\x6a\x4c\xc9\xd4\x09\x3e\x45\xbf\x61\x6e\x43\x9b\xd0\x6b\x44\x4a\x9b\x59\x6e\x30\x98\xf1\x8d\x36\x68\xac\xd6\xe0\x56\x90\x62\x33\x1f\x14\x9b\x74\x30\xa4\x84\xb5\x0b\x86\x2e\x84\xdd\x2a\xe6\xfd\x94\x54\x01\x19\xbf\x7c\x31\xf4\x02\xf4\xe7\x92\x04\xf9\x6a\x53\x2a\xad\xa7\xd4\x41\x3c\x21\x4f\x7b\xea\x8f\xf8\x08\xe4\x78\x79\xf8\x4d\x68\x52\x1f\x81\xc0\xf9\xbc\xc2\x72\xd7\xc6\xbc\x1c\x04\x2b\x28\xc9\x06\x5a\x66\xa1\x37\x83\x34\x53\x09\xd2\x5c\x60\x4c\xab\xf9\x63\x8d\x64\xb8\x27\x44\xac\xb7\x23\xec\x85\x9a\x47\x88\x84\x96\xa9\x9d\xc0\x74\x5c\x09\xeb\xa6\x15\x36\x1e\x8a\xca\x2d\xfa\xfe\x15\x1c\x08\x3d\x29\x8a\x78\xf1\x11\x0b\x59\x19\x27\x14\x7a\xd6\x90\xbd\x63\xf9\x3f\x50\x2a\xd2\x05\x57\x26\xcf\xc9\x80\x63\xe8\xc7\x38\x30\xe4\x41\x1a\x84\x24\x10\x12\x41\xeb\xd3\x89\xd9\x7d\xb4\xd4\x4e\xae\xed\xa2\xc6\x2e\x92\x3a\xd6\xcf\xa4\xb6\xce\xfc\x71\xf1\x85\xe2\x07\x69\xcf\xe0\x6d\x7e\xf9\xd8\x52\x05\xed\x71\x93\x67\x54\x25\xb9\x4c\x08\x24\xe4\x30\x21\x0b\x59\x9c\x70\x1e\xbe\xfb\x8c\xb7\x84\xbb\x46\xc4\xd9\xc6\x63\x4f\xe5\x76\x00\x39\xc1\x11\xb6\xbb\x4f\xf0\xeb\x0a\xc6\x0e\x18\xb8\xaa\xa4\x5b\x47\xed\x76\x77\xeb\x18\xee\x10\xf9\x9d\x5c\x76\xd6\x12\xb4\x38\x16\xc5\xfb\x10\x28\x6e\x2d\xba\x0c\x9d\xf4\x91\x4a\x20\xae\xca\x80\x41\x4e\x56\x2c\xe8\x97\x6a\x20\x12\x45\xb6\x96\x0e\x34\xd8\x50\xfd\x00\x7a\xf4\xf8\x55\x88\xaf\x79\xbb\x28\x11\x41\x40\xa1\xf6\x65\x3f\x1c\x54\x1f\xa4\xba\xc7\xdb\x00\x88\xdb\xc5\x4e\xa2\xe8\x7f\x88\x97\xf0\x1f\xa4\x8c\x0b\x6d\x50\xed\x77\x58\x94\x19\xfd\x38\xaa\x10\x59\x44\xdc\x54\x42\xe1\x16\x42\xc6\x6b\x96\x53\x07\x43\x28\x9f\x17\xfc\x2b\x69\xba\x4a\xc0\xcd\xa3\xd3\x0e\x69\x48\xfe\x46\xef\x16\x0a\xc2\xd6\xfe\x2f\x7b\x4e\x52\xe5\xe5\x63\xea\x40\xd7\x1a\xda\x9f\x93\xd6\x1a\x8b\x9b\xad\x0b\xd6\x69\x85\xe0\x1e\xc2\x7e\xdd\x48\x10\xbc\xb3\xd2\x8b\xb4\x4b\xae\x54\x72\x1a\x6d\xe3\x33\x5d\x87\xd4\xe6\x75\x31\x4b\x34\x06\xf8\x66\x62\x11\xab\x9f\x61\xd2\xb4\x8b\x35\xe7\xd3\x00\xc7\x8a\x50\x50\x32\x38\x89\xcd\x17\x4e\x1f\xe7\x60\xae\xf7\x23\x71\xce\xaa\x41\xa9\x00\x2f\xd2\x4d\x05\xa4\xdd\x34\x4a\x8a\x81\x3c\xdb\x82\x72\x02\x60\x91\x1d\x43\xef\x8c\x05\x1e\x84\x58\x1c\x15\xae\x10\xef\x7c\xae\x2a\x78\x6e\xd7\x5c\xf9\x02\x3d\x2f\x52\x93\x00\x51\x2f\x16\x6f\x64\xe1\xc3\xbd\xc5\x7f\xf8\x41\xe9\xe5\xbf\x5d\xd3\x44\xbf\xd8\x9f\xff\xfc\xa7\xf7\x74\xc6\x7b\x3a\xe3\x3d\x9d\xf1\x9e\xce\x78\x4f\x67\xbc\xa7\x33\xde\xd3\x19\xef\xe9\x8c\xf7\x74\xc6\x7b\x3a\xe3\x3d\x9d\xf1\x9e\xce\xf8\xa3\xd2\x19\x3f\x28\xc7\xfe\x8e\x3b\xf2\x9e\xe3\x78\xcf\x71\xbc\xe7\x38\xde\x73\x1c\xef\x39\x8e\xf7\x1c\xc7\x7b\x8e\xe3\x3d\xc7\xf1\x9e\xe3\x78\xcf\x71\xbc\xe7\x38\xfe\x4f\xcf\x71\xfc\xed\x5f\xfe\xf2\x3f\xff\xf2\x7f\xbd\xad\x3f\xc3\x1d\x84\xb1\x01\x30\x55\x41\x57\x53\x1f\xdc\xe8\x18\x5b\x91\x0b\xcc\x14\xf4\xd4\x51\x48\x97\xba\xcd\xd4\x1e\x5b\x1a\xbd\x3e\xf8\x3d\x54\xc4\x01\x2e\x02\x68\x2b\xa0\x0c\x3d\x5c\xbf\xf7\xf2\xb1\xf8\x26\xe4\x77\x1e\x8a\x24\xec\xeb\x01\x2c\xf2\x76\x91\x68\xaf\x6a\x73\x05\x65\xf1\x7b\x17\x00\x7e\x5c\xd0\x01\xd7\x4b\x4d\x36\x8a\x5b\x0f\x26\x8f\xa5\xa6\x0a\xae\x17\x65\x97\xd2\xd8\x8f\xf3\x76\x01\x8b\x8c\x7f\xd7\xbf\x05\x78\xf1\x86\x1f\xa3\xe1\x0a\x48\x0b\x71\x8a\x2e\xfb\xcd\xa9\xfd\x67\x24\xf5\x9e\x0f\x13\x09\x0d\xf0\x12\x14\x75\x27\x02\x83\x68\xb6\x3e\xc3\xb7\x5e\xee\xa3\xac\xb2\x95\x5f\x2d\x4d\x69\x5b\xd9\xca\x76\xbc\x93\xcf\x95\x6f\xcb\xf1\xff\xbe\x3e\xd9\x4b\xf9\xff\xb9\x01\xdf\x2b\xbe\xb9\x95\x97\x4f\x2d\x0d\x3f\x65\xee\xc0\xac\xcf\x42\x26\x3f\x5b\x09\x93\x1e\x4e\x48\xd8\xcf\x65\xc4\x9b\xc0\x13\x8c\x76\x6f\xf0\xd4\x29\x41\xc4\xec\xf8\xee\x7a\x9d\x41\x93\x2b\xe3\x12\x50\x40\x75\x61\x02\x85\x86\xb1\x2b\x26\x10\x21\x04\xe1\x65\xf4\xf5\x27\x1e\x18\xc7\x29\x73\x7d\xe3\xf6\x27\x1a\x2e\x92\x4b\x99\x3c\x3b\x30\x3b\x57\x76\x0b\xa9\x92\x05\x70\xb6\x48\x9e\x65\xf5\x98\x51\xac\x89\x2e\x9e\xc6\x12\x90\x65\x1a\xe7\x73\xdb\x1f\xe7\x83\xb7\x66\xb7\x1c\xd1\xd2\x8f\xab\x87\xce\x47\x7e\xc9\xe2\x18\x97\xbd\x21\xc7\x06\x26\xfd\xd3\x2d\x99\x6a\xd9\x53\x73\x81\xf6\xe0\x96\x05\xda\xc9\x5b\xd0\xc6\xf1\x28\xab\xcd\x77\xe5\xe6\xc2\x6d\x5c\xbc\xd7\xeb\xdc\xc7\x3f\xf7\x35\xe2\xfd\x18\xf2\xbe\xe6\x3a\x26\xe6\x7c\xf3\x3d\xfe\x68\xee\x0b\xab\x51\x8f\x83\xaf\x63\xf3\x1b\x70\x94\xf4\x44\x34\xb4\x7c\x70\xac\x22\xcb\xa6\xfd\x76\x96\xf3\xf1\xf5\x71\xbe\x3b\x4e\x5d\x27\xe1\xb0\xfa\xe5\xfe\xc3\x05\xed\x73\x73\x7e\xbe\x99\xeb\x92\xc6\x09\x5a\xec\xc6\xc6\x24\x97\x78\xa1\xa9\x75\x4c\xd4\x5c\xef\xe4\x98\xbc\x58\x9f\x01\x1a\x85\x27\x6c\xfe\xa9\xc6\x98\x30\xf8\xf9\x40\xce\xc8\x3f\xc6\x3d\xbc\xbd\xcb\x71\xa0\x63\xf2\xe3\x0d\xbb\x58\x6f\x7f\x7c\xbc\xce\x35\xf0\x03\x40\x49\x8e\x4b\x3e\xaf\x2f\xd5\xe3\xa3\x63\x66\xee\x57\xed\x31\x9d\x97\x63\xbe\xcf\x6b\x10\x6b\x6e\xe7\x71\x8b\xee\xf7\x87\xe8\x71\x63\x2f\xd7\xfb\x7f\x7c\x47\xd6\x8f\x55\x6f\x28\x2a\x8f\x7d\x7c\xdd\x7f\x93\xcb\x7a\x8b\x41\x1f\xfb\x79\x5e\x1a\x2c\x59\x90\x98\x9f\x92\x0d\x17\x74\x0b\x52\xbd\xb6\x2d\xe3\xef\x13\xeb\x1e\x91\xe4\x75\x90\x38\x0b\x27\x6b\x2c\x69\x42\x20\x55\xec\xa4\xb1\xfe\xca\xbd\xb7\xb6\xde\xe5\xd8\x9d\xeb\xef\xf8\xe6\x8c\xed\xab\xc7\xa7\xeb\x78\x23\x8e\x10\x73\x12\x3f\xaf\x41\xc1\x5a\x43\x0e\xac\x29\x8c\x55\xe6\xc3\x5d\x73\x3f\xb1\x56\xd7\x64\x2c\x81\x75\xbe\xfe\xb8\xc6\x8f\xf9\x67\xfc\xb3\x06\xb6\xb4\xf2\x15\x06\x4b\xac\x8b\x35\x99\xb1\x94\x8c\x83\x61\x82\x74\xc9\xd8\x67\x3f\xff\x93\x8f\xeb\x95\x8c\xef\xa9\xb9\x42\x12\xd7\x83\xcf\x84\xaa\x78\x28\x4c\x5d\x17\xb9\x14\x84\xa2\xe6\x22\x7e\x78\x9b\x66\x7e\x63\xfd\x72\x2d\x6d\xeb\x49\xfb\x00\xe7\x79\x7d\x30\x80\xcc\xb8\x54\x71\xa7\xb8\x89\xc0\xfc\x03\x34\x4e\xed\xfa\x58\x53\xd7\xf1\x50\xc3\xc2\x6a\x43\x2f\x28\x4c\x48\x00\x52\x6a\x40\xdc\x80\xcb\xe2\x46\xac\xf1\x1b\x0f\x23\x69\x07\xdc\x97\x9f\xa3\xab\x5d\xf0\x4d\xa2\xac\x44\x59\xc3\xe8\xee\x06\x75\x72\xbc\xc9\x45\x00\xa6\x51\xd2\xac\xf2\x38\x93\x49\xbf\xec\xd7\xa3\xef\xeb\x8c\x0a\xb6\x2d\x84\xe7\xa5\xc7\xa1\xf1\x4b\xe4\xd8\x65\x3f\x8e\xad\xfb\xf5\x8c\x2f\x1f\xc7\xe6\xae\xe4\x03\xc6\xb6\x0d\xff\x2f\x8d\x3e\xfd\xc4\xa5\xe2\xdf\xfe\xe7\xfb\xfb\x33\xb6\x72\xea\x1b\x3c\xa2\x4c\xab\x1a\x71\x8d\x5f\xf8\x59\xf6\xeb\x78\xf9\x54\xdd\x0a\xdd\xdc\x9d\x3a\x93\xe8\x1d\x6b\x83\x82\x17\x2c\xa2\xdc\x21\x8b\x53\x96\xb1\x5c\x7f\x63\x97\xc0\xc8\x54\x5d\x66\x59\x8e\xe0\xe0\xb5\xa2\xa1\x50\xa9\xa2\xaa\x80\x8b\xaf\x50\xa7\xea\x52\x77\x4b\xa2\x23\x85\x78\x42\x34\xef\x60\x92\x2d\x48\x2b\x5f\x02\x18\x80\x7f\x46\xab\xfd\xdd\x17\x0e\x9e\x5d\x9c\x9e\xcc\xbc\x01\xa2\x2e\xeb\xb7\xf1\xa5\xb6\xbe\x64\x31\x46\x59\x46\x43\x64\x91\x72\x39\x06\x36\x8f\x8b\xa5\xec\xd5\xf8\x06\xcf\x74\xd9\x35\x01\x21\xa9\xb9\xfb\xd7\x41\x27\xb7\xdc\x14\xdf\xac\x0f\x9a\x86\x82\x03\x29\x78\xb6\xd7\x51\x8e\x27\x4c\x08\xc2\xf4\x31\x01\xe7\xeb\xa7\xfb\xba\x06\x09\x40\xde\x98\x47\xfc\xa1\x9e\x52\x91\xe9\x8f\x63\x1a\x10\x84\x8d\xf3\x1c\x07\x58\xbf\xe7\x93\x9d\xc8\x3e\xdd\xae\xe0\xa3\xd4\x49\x91\xf4\x3c\x32\x7b\xfc\x3a\x67\x5d\x0e\xad\x35\xd7\x38\x33\x53\xd3\xc7\x59\x5c\x3e\xe5\xe6\x8f\x43\x0b\x02\x24\x01\x61\xbf\xb5\x6e\xf6\x63\x2e\xd7\x79\xa3\x85\x7b\xbd\xd3\xe3\xaf\xb5\x3f\xfa\x1a\x8f\x78\x05\xf5\xa0\xae\xb9\xaf\xe3\x6a\xcb\x68\xdc\xec\x38\xd2\xe5\x38\xf1\x31\xb2\x63\xb0\xcb\xb6\x08\x37\x88\x7a\x74\x19\x72\x85\x86\xc3\xe9\x76\x1e\xca\x75\x1a\x8e\x79\xba\x5f\x7c\xc7\xb4\x9e\x8f\x9b\x16\x87\x2a\xb6\x6e\xc8\xfa\xed\xab\x2f\xd9\x5a\xee\x6b\x90\x7d\x6d\x29\xbd\x35\x25\x85\x8b\x66\x3b\x16\xcd\x71\x8c\x87\x9e\xfa\x04\xa7\x47\xf1\xb5\x27\x08\x8c\x32\x51\x54\xca\x96\x2f\x9a\x26\x8a\x36\x1a\x35\xb3\xf0\x20\x12\xc7\xb0\x08\xf0\xe3\xda\x85\x60\x5e\x78\x0f\x33\xf7\xbc\x76\x49\x6c\x2e\x09\x35\x54\x2e\x6b\x6b\x7d\x31\x0f\xa1\x33\xd6\xc6\xcd\x6b\xdf\x92\xe4\x7c\x1c\x56\x03\x76\x78\x64\x16\xca\x08\xa3\xbb\x9d\xd7\xa5\x2d\xf9\xb2\x04\x07\x75\x57\x40\xaf\x66\x59\xb2\x26\xc4\xd1\xcd\xb7\x95\x7b\x42\xac\x1c\xb8\xc2\x21\xbb\xc6\xa3\xcb\x65\x64\x34\x5e\x5e\xd7\x80\xb8\x5d\x30\x5c\x53\x3c\x42\x8f\x3c\xb8\x13\x63\xb2\x8d\x4b\x9a\x8a\x58\xd6\xcf\x68\xad\x37\x57\xcd\xe5\xfc\xa7\x77\x0f\xf3\xdd\xc3\x7c\xf7\x30\xdf\x3d\xcc\x77\x0f\xf3\xdd\xc3\x7c\xf7\x30\xff\x60\x0f\xf3\x16\xc9\xe8\x5f\xff\xf5\x5f\xbf\xc3\xc3\x35\xd2\x08\x45\xf7\xff\x3d\xb9\x7f\x62\xc6\xea\x80\x6f\x44\x7d\x25\x05\x9a\x60\x37\xdc\x2a\x86\x7a\xab\x19\xea\x7f\xb8\x9c\x57\x20\x46\x7f\x4f\xce\xaf\xa3\xfc\x6f\x96\xf3\xa7\x54\x52\xb9\x97\xd7\xfa\x0d\xe9\x7e\x2f\x93\xe7\x21\x93\xc7\x21\xbb\xff\x60\x19\x3f\xfc\xf1\x5f\x5c\xc6\x5f\x25\xf8\xb1\x3a\xbf\x10\xf3\x27\x42\x4c\xe6\x72\xa7\x07\x6e\xe4\xf7\x1f\x2e\xe3\xc9\xf7\x40\xa3\xe3\x3f\x99\x8c\x3f\x16\x74\x59\xf2\xfd\xfc\x0d\x01\x7f\xfd\x71\xbd\x39\xf5\x7f\x9c\x8c\x87\xe3\xd3\x5f\x89\x75\xf7\x7c\xe6\xe1\xf9\x40\xaa\x7f\x32\x78\x0e\x2d\x95\xac\x70\x5c\x6e\xdd\x87\x5b\x27\x08\xae\x0a\xbc\x8d\xf6\xf2\xa9\xd0\x60\xa2\x0b\x02\xff\x85\x24\xfc\x7d\x79\x49\x74\x56\x0e\x6f\x0a\x0d\x0b\xfe\x13\x14\x76\xca\x65\xbf\x1e\x0d\xfc\x01\xe8\x4b\x70\x17\xfb\xe6\xe4\xf4\x72\x8e\x73\xd1\x3f\xba\x71\x8f\xb6\xe3\x84\x5d\xf6\xeb\x40\xe4\xe5\x23\xca\x83\xb7\x02\x4e\x6e\xb8\x35\xe3\x95\xab\xe3\xee\xcf\x16\xfe\x10\xd8\x39\x7d\x51\xfa\x3c\xdd\x68\xbf\x7e\x68\x3f\x7a\x88\xbf\x03\x6e\xff\xde\x75\x7d\x43\x85\xe5\xbd\xeb\xfa\x1e\x82\x7d\x0f\xc1\xbe\x87\x60\xdf\x43\xb0\xef\x21\xd8\xf7\x10\xec\x3f\x3e\x04\xfb\x76\xb7\x4e\x20\x4b\xe7\x8f\x64\x69\x98\x7d\x7d\x09\xcb\x67\xbf\xe4\x1b\x3f\x38\x2f\x7b\x10\xc5\xef\xc7\x2a\x38\xbe\xbf\x7e\x90\xab\x1b\x4e\x77\x3f\xc9\x93\x3f\x91\x1b\xcb\x12\x53\xe7\x3f\xd1\x2f\x65\xf1\xbe\x6e\xc7\xb1\xc2\xbe\x29\x82\xb9\x78\xd6\x79\xfa\x09\xe8\xfc\x2a\x72\xeb\x26\xf6\x5b\xc9\x94\xd7\x59\x2e\x57\x97\x0f\x76\xa0\x5f\xab\x76\x60\x4b\xaf\xb3\xa0\x8a\xbe\x0c\x7f\x1c\x72\xc8\x7f\x1d\x3f\xcd\x6d\xed\xda\x76\x27\x8a\xf9\xe6\xed\x92\xf8\x72\x2f\x82\x29\x74\xee\x77\xfe\xf2\x7b\xda\x6b\xb9\x48\x0f\xb1\xa5\xa2\xa9\xe8\x31\x48\x8e\xab\xe0\xca\xfb\xdd\x01\xe6\x1b\x24\xf6\xed\x56\xba\xca\x5e\xfb\x86\xa4\x3e\xbf\xd2\x1d\xfb\x92\x38\x57\x89\x7d\x23\xa7\xaf\x5f\xbc\x7e\x36\x0f\xd9\x0d\x51\x73\xa2\xff\x54\xaf\xd7\x48\x36\x83\x6f\x48\xf4\xcb\xfa\x06\x3e\xa3\x5f\x73\xfe\x3b\x64\xf9\x25\x8e\x52\xd6\x89\x7d\x9e\x4c\xc1\x59\x4f\x41\xc2\x23\x77\xaa\x92\xd0\xa0\x7d\x0d\x42\xc0\x3b\x05\x89\xa2\x6b\x79\xac\x37\x25\xe4\x7e\x48\xf9\x13\x38\x9d\x4b\x5e\x61\xa6\x98\x92\xe3\xa7\xed\x94\xa4\xdb\xd1\xf1\x42\xd9\xec\xfe\x1d\x8b\x49\xcb\x37\x64\xff\x65\x9d\xe0\xfe\xfe\xc6\x52\x3f\xd8\xdc\x56\xb0\xe4\x7c\xbb\x23\xc7\x4d\x18\x05\xbd\x30\x37\x9b\x35\xe6\xe2\xba\x11\x63\xc4\xec\x8d\x39\x56\x3e\xe7\xf9\x95\x36\x70\xab\xbf\xbc\xd6\x06\x9d\xda\x20\xf6\xae\x5e\xb5\x41\x09\x59\x6a\xb7\x7f\x3a\x91\x11\x96\x0d\x60\x79\x7d\xe3\x72\xfd\xda\xf2\xf1\x2c\x36\x74\xe7\x5a\xce\xe3\x70\xdf\xf2\x1f\xa8\x26\xc6\x52\x13\x4b\x83\xdd\xaa\x8b\x4b\xfc\x7b\x2c\x3d\xf2\x5a\x5f\x5c\x42\x68\x06\x11\x79\x3d\x2f\xf3\x95\xaf\xaa\x5f\xd1\x15\x9f\xf6\x9e\xa6\x6f\xad\x36\x47\xa8\x07\x77\x30\x2c\x1c\x0c\x68\x87\x4f\x9a\xa4\xb8\xa3\x36\x46\x0d\x2b\xfe\xc6\x5e\xbf\x5a\xf1\xdb\xd5\xb6\xb7\x97\x4f\x00\xb8\xcf\x37\x9e\x82\x1d\x7e\xc1\x8d\xaf\x40\x7f\x05\x6d\x24\x55\xb7\x96\x4c\xea\xc3\x8d\x9f\x71\xf5\x10\xb6\xeb\x19\x39\x86\x75\x86\xf0\x3f\xae\x87\xdc\x0e\xf7\x63\xbf\x71\x53\xdc\xad\x80\x1f\x71\xe3\x57\xb8\x24\xbb\x71\x2b\xf0\x67\xbf\x5a\xf2\x09\x1b\x1c\x2e\xbd\x57\x97\xf4\xb8\x7e\x87\x1f\xf8\x2f\xa7\x7f\x3f\xfd\xcb\xdf\xfe\xed\x0d\x6c\x6b\xdf\x08\xa3\xce\xb2\xb9\x4f\x3a\xc7\x43\xe9\x49\x64\x2b\x96\x0a\x7c\xf8\xb2\x49\x52\x34\x6c\xb4\x8a\xea\x6d\x34\xf7\x54\xdb\xd8\xeb\x9e\x7b\xc5\x05\xf7\x34\xc0\xd3\x52\xd1\x11\x6a\x6d\xaf\xc1\xdf\x2b\x03\x2a\xc5\xb0\x16\x54\xc0\x15\x3c\x2e\x05\x24\x00\xa5\x97\x33\xf9\x9f\x27\x38\x1f\x8a\xd4\x64\x93\x3c\x10\x43\x48\xb1\x20\x68\xc1\x07\xab\x91\x91\x49\x8c\x94\x8c\xbd\x12\xcc\x43\x6d\x24\x03\x69\xa9\x5c\xa2\x7f\x62\x8a\x24\x93\xb6\x81\x1d\x69\x1f\xc1\xc8\x62\xc4\xca\x6f\x7b\x4b\xd2\xfb\xcb\xa7\x99\x0c\xf4\x5c\xee\x39\x58\x01\x31\x52\x9a\x7d\xec\x33\xcd\x3a\x1e\xb0\x35\x36\xf5\x79\xf1\xcd\x57\x36\xc9\x49\xcb\xc5\xbd\x77\x05\x9d\x2a\x90\x2f\xd0\xe1\x02\x5a\x9d\x19\x9d\xa1\x03\x7d\x59\x60\xd1\x01\x30\x47\x27\x6b\xb2\x5f\x6f\x67\xb4\x13\xd4\x38\x64\xde\x1d\x08\x4d\x74\x50\xa6\x4e\xad\x90\x2d\x7b\x74\x21\x66\xd2\x98\x19\x09\x9c\x48\x44\x4a\x72\x35\x74\xfe\x97\x4e\xc2\xec\x52\x93\xb6\x78\xf9\xbc\xfb\x54\xed\x49\xaa\xec\x41\x5f\x8d\x20\x28\x0f\xd2\xd8\x65\x0f\xca\x6b\xa0\x75\xa0\x1f\xae\xfb\xf4\xa2\xbd\x9d\x44\xbd\x7c\xfd\xbc\x07\x84\x3f\x7a\x39\x86\x80\x3a\x18\x87\x72\x9d\x3d\x48\x65\x5c\xe3\xe5\x73\x34\xef\xe0\x82\xf1\xb3\x01\x68\x03\xb4\x61\xe2\x4c\xcd\xaf\x15\xfd\xde\x13\x30\x15\x13\x70\x07\x0a\x7e\x8d\x06\xbe\x62\x84\x5a\x48\xc6\x6d\x6c\x80\x10\xc4\x23\x76\xd0\x1b\xa3\x9b\x9e\xe4\xaa\xe8\xe5\xee\xa0\x55\x21\x21\xda\x9e\x66\x06\x2d\x52\x1e\x2b\x36\x5e\xfa\x39\x95\xac\x49\xc5\x77\x1f\x71\x2b\x66\x52\x74\x22\x2a\x28\x6f\x48\x70\x61\xd8\x9b\x24\x8f\x2d\xf8\xeb\x60\x83\xe3\x4c\x35\x08\x10\x48\x8d\x3c\x75\x80\xc5\x0a\xdc\xc9\xa0\xbf\x42\x57\x1d\xde\x58\x80\xca\x80\xb9\xb3\xda\x22\xaa\x23\x0d\x41\x09\xda\x79\x43\x63\x92\x09\xa9\x5e\xd1\xaa\xd5\xb4\x91\xd1\x6f\xa2\xf9\xa9\xa5\x6c\x9d\x94\x9c\x68\x5c\xc6\xeb\x67\xf6\x1d\x4b\x9f\xa9\xb9\x14\x05\xde\x42\x2b\x1b\x9e\xd8\xe1\x00\xdc\x84\x73\x74\x8e\x40\xa5\xe9\xe8\x77\x6f\x3e\xb3\x47\xa0\x8c\x99\x3a\xc9\xf3\xf0\xfd\x1e\x46\x8f\x31\x5f\x70\xf3\xee\x73\xea\x13\x4c\x3f\x80\xc1\xf1\xab\x6e\xe7\x54\xc9\xa2\x55\xd3\x00\x39\x07\x28\xce\xf2\x44\x83\x9b\xfa\x6a\x2e\x50\x8b\xe0\xf0\x53\xf1\x6d\x3b\x49\xd5\x47\x06\x58\xb4\xfa\x6f\x9c\x0d\x40\xeb\xd4\x80\xbc\x00\x8e\x8d\xf9\x61\xe3\x8d\xaf\xbc\xa1\xa4\x4e\x15\x95\x54\xa5\x9e\x93\xb4\x98\x23\x74\xbc\x6a\x1f\xc7\x9b\xcf\xa0\x68\x02\x85\x08\x08\xec\xd5\xec\x12\x71\xd4\x76\x4e\x0a\xfe\x91\xa1\xa9\xf5\x06\x24\x86\xe3\x8d\xff\xce\x0d\x19\x25\xb7\xac\xcc\x71\x66\x0b\x8a\xeb\xb8\x0e\x8d\x99\xc6\x0c\xda\x1b\x28\x71\xc1\x4a\x21\x03\x33\x69\xf6\xb0\x97\xc5\xf5\x83\xf2\x2c\x68\xfc\x13\x30\x4d\x80\x79\xa2\x75\x32\x14\x93\x55\xb1\x81\x43\x19\xfc\x76\xe4\xa8\x43\x8b\x8f\xd4\x99\xa4\x36\x57\x50\x8b\x9c\x4d\x06\x60\x40\xf4\x04\x16\x61\x72\x09\xaf\x54\x0c\xb0\x53\x14\x58\x27\x79\xa0\xc5\x2b\xe8\x4f\x7a\xbe\xbe\xf9\x9c\xca\xac\xe8\xcf\xf2\xd7\xe8\x9a\xae\xb0\xe3\x66\x8f\x26\xbd\x39\x17\x59\x36\x98\x6f\x13\x3a\x62\x47\x8b\xc6\x0d\xdc\x26\x88\x25\x34\xc4\x76\x74\x74\xe2\x4f\x63\xcc\x54\x7d\xe5\x92\x72\xf2\xc0\x7a\x9a\x62\x88\x96\x26\x1d\x15\x02\xae\x00\x65\xa6\xfa\x2d\x01\xe5\xa0\xfb\x00\x68\x14\x54\xf0\xba\xcd\x09\xce\x76\xc8\x75\x4d\xd2\x40\xfe\x4a\x90\x99\x36\x71\x8f\x7c\xba\xc8\xad\x3a\x2b\x64\xc2\x19\x4c\x7e\x41\xf9\x42\x94\x91\xa0\x19\x21\xb0\x09\x9b\xf6\xca\xa4\x34\xaa\xa5\x91\x09\xa4\x76\x18\xf4\x68\x0c\x9e\x2e\xc4\xc4\x27\x07\xac\x9b\x3d\x8d\x3c\x0e\x78\x24\x94\x6a\x00\x4a\x61\x82\x7c\xc7\x6a\x12\x10\xdc\x99\xb9\xb3\x82\x1b\x2f\x20\x27\xda\x49\x90\x5f\x52\x01\x2c\x4f\x1d\x0c\x36\xc2\x28\x0e\xbb\xdf\x66\x42\xdb\x8f\x25\x19\x2e\x85\xa0\x55\x00\xb2\xe3\x02\x1c\xb7\xe0\x82\x7a\x1d\x40\xc5\xb4\xaa\x5b\x4d\x1c\x1d\x78\x1c\x77\x08\x2f\x72\x98\x04\x67\x3c\x08\xa7\xcc\x00\x75\x03\xa6\xd0\xb9\x2f\xae\xce\x09\x72\x2d\x10\xca\x43\xd5\x40\x78\xe1\x9e\x8d\x0e\xc4\x12\x84\xef\xaa\x5b\x67\xf3\x24\xa9\x02\x03\xaa\x46\x0b\x15\x0e\x95\xb4\x9f\x41\x2e\xa6\x15\x45\x35\xbe\x19\xb6\x92\x0a\x80\x8d\x7a\xf3\x8d\x9e\xda\xa8\x81\xc7\x54\x41\x16\x56\x40\x44\x28\x3b\x28\x96\x0c\xbc\x36\x7e\xa4\x61\x20\x3e\x74\x33\xde\x65\x9d\x55\x20\xcb\xd8\xec\x64\x8a\xcb\x36\x7d\x3d\xa5\xe6\xd7\x09\xc5\xce\xae\x72\x01\xd7\x9b\xab\xd0\x0a\x4e\xaf\x10\x60\xa4\xba\x2a\xc4\xcc\x60\xb9\xd2\x25\x35\xb8\xcf\xa3\x05\x21\x8c\x09\xa2\xfe\x99\xf4\xc3\xbe\x2d\x46\x19\x7b\x77\x99\x82\xde\xa7\x0c\xfb\xa4\x63\xd3\x60\x9d\x68\x28\x3e\x7a\x0a\x60\xa9\xb9\x84\x41\x2e\xe1\xd8\xc7\x37\xcb\x39\x15\x49\xe2\x2b\x01\x59\xea\xda\x46\xb2\x11\x8c\xd8\x25\x3a\x63\xdd\x70\xea\x91\x55\x0b\xf2\x99\x89\xa6\x2a\xd7\x46\xbe\x0e\x73\xeb\x27\x80\x09\xb9\xc2\x0f\x57\x00\xb2\x11\xfd\xa8\x05\x4c\x65\xea\x67\xdb\x49\x67\x69\x1a\x9a\x23\x88\x93\xf2\x42\x1c\x01\x5e\x80\x7b\x9a\xe6\x8e\x56\x03\x32\x56\x98\xfb\xee\x42\xf8\x68\x31\xba\xea\xff\x2e\x30\xf8\x25\x95\x2e\x2f\x9f\x4a\x6a\x08\x65\x0d\x21\x30\x4f\xdf\x99\xc7\x26\xc1\x53\x0b\x42\x1d\x6c\x1c\xbf\x31\x60\x3f\xcc\x65\x2d\x73\xa9\x10\x10\x02\x8a\x71\xe2\x1d\xb9\xd5\x51\x93\x59\xaa\xaa\x40\x59\x19\x45\x92\x91\x65\x58\x52\xed\x21\xd6\xb2\xcb\x70\x9f\xf0\x5a\x0c\x04\xd1\x00\x38\x2a\xe0\xd8\xaf\x7c\xad\x20\x88\x04\x3a\xc6\x28\x2f\x9f\xf6\x8a\x0d\x28\xa9\xda\x99\x82\xbd\xb8\x62\x42\x93\xbb\x90\x24\xca\x8d\x1f\x3f\x64\x9b\x90\xc8\xc0\x6f\x01\x45\x7a\x86\xd2\x72\xff\xac\x12\xea\x04\x8d\x8a\x6e\x52\xf8\x5d\x18\xfd\x54\x51\x9e\x52\x8f\x22\x15\x92\xc0\x25\xad\x7a\x0e\x3b\x29\x57\xee\x1f\x19\x83\x64\x72\x68\x1c\x06\xdc\x8b\x95\xc0\x61\x81\x05\x04\xb4\x2f\xa9\x7f\x8f\xb5\xfe\x63\x82\xc2\x6f\x44\xc7\xc0\xeb\x95\xdd\x2e\xb9\x40\x52\xc1\xb2\x85\x2d\x81\xcc\x56\xdc\x34\xbf\x30\xf0\x75\x62\x93\xb8\x83\x68\xbe\xb9\x36\x4b\xea\xda\x66\x42\xce\x16\xb7\x38\xd5\x2f\x74\x80\x7b\x69\x00\xfb\xcb\x48\x35\x55\xad\x5d\xc8\x04\x5b\xe4\x9c\x16\xa9\xa4\xcf\xef\x18\xa9\x42\x81\xba\xec\xce\x6d\x26\xf3\xdb\x0a\xa1\x41\x17\x7b\xae\xfd\x85\xce\xe6\x9d\x6c\xc3\x40\x24\x69\x76\x51\xec\xe6\xd4\xaa\x9b\xad\x1b\xb0\x38\x1e\x46\xaa\x5b\xd1\x34\x3a\x0c\x72\xa9\x60\x24\xad\x2f\x9f\x1a\x29\xad\x6d\x94\x8b\xdf\x28\xdf\x95\xbe\x0b\xfa\xde\xd2\x6c\xf5\x01\xb0\x7a\xae\x4d\xb5\x5d\x0a\x80\x00\x0a\x31\x04\x5d\xb0\x00\x6c\x08\x3d\xfa\x68\xd1\x5f\xd1\x26\x60\xb6\x59\xf7\xdd\x07\xac\x2f\xb4\x62\xba\x91\x32\x06\xe2\xdc\x10\xa2\x75\xb1\xb1\x01\xac\x0e\x5c\xc4\x0a\x90\xb2\xb1\x4b\x40\xdd\xa9\x52\x1d\x70\xaf\x76\x50\xe7\x12\xf6\x8e\x31\x25\xa1\x5e\x2a\x44\xf9\xc2\xcb\xe7\x7d\x51\x5a\xcf\x9d\x64\xbb\x3a\x91\xc8\x01\xa5\x33\xd8\x6a\xb9\xc5\xc8\xfc\x1c\x8d\xb1\x79\x31\xf4\x02\xa3\xa4\x1e\x6f\x60\xc6\x80\x9f\x1d\x26\x3e\xb4\xdd\x29\x75\x23\x95\x6c\xc4\xa2\x86\x1b\x90\x9f\x43\x79\x82\xd3\xaf\x10\x77\xe4\x68\xd6\x86\xa4\x71\xeb\x14\xb4\x77\x05\xea\xaf\x16\xc1\x6c\x07\x69\x9c\xfb\x83\x48\xf2\x55\x37\x34\xc5\x35\xe2\x0e\xec\x2d\xa0\x19\x80\xbd\x0c\xf6\xae\x62\xc3\xfa\x99\xcc\xe7\xa0\x82\xc8\x13\xf2\x05\xb8\x85\x56\x99\xa8\x41\x54\xfc\x9c\x72\x77\x4d\x03\x0c\x96\xee\x4b\xa9\x6b\x9a\x7e\x4c\xff\x27\xc8\x4b\xa7\x0d\xbf\x72\x70\x93\x19\xe1\x02\x85\xb3\x92\x6a\x2f\x14\x86\xae\xf6\x7d\xb4\x02\xf6\x50\xd8\x2f\x20\x1a\x0d\xec\xad\x4a\xd0\xa6\x9e\xc1\x08\x4d\x9c\x15\xa0\x25\x8e\x60\xfa\x07\x0e\xd1\x02\x0b\x32\x70\x4c\xa2\x21\x97\xf0\x58\x73\x10\x60\x20\xde\x7c\xe6\x6c\xb9\x42\xaa\xf0\xfc\x5a\x0d\xc9\xe1\x9e\x13\x5c\x53\x88\x10\xbc\xc1\x37\xeb\x0a\x13\xca\x02\xfe\x88\x37\x9f\xdd\xff\x67\x97\x6d\x85\x13\xa0\xe7\xb8\xe7\x88\x96\x69\x63\x77\xb0\xbf\x7c\x4e\x56\x81\xd5\x65\x69\x76\x97\x7c\xb0\x8a\xe9\xd7\x05\x27\xb3\xab\xc3\xee\x86\x92\x41\x00\x6b\x1e\x90\xd1\xb5\xb7\x34\xc1\xe3\xe9\xce\x97\xef\x57\xed\x5c\x79\xc4\x06\x11\xb7\x08\xd1\xa2\x6f\x46\x78\x9a\x9a\xcb\xf1\xe6\x33\x56\x15\xd5\x5c\xc1\x21\xdc\xb5\x1a\x98\x1e\x23\x44\x94\xb4\xeb\x9b\xcf\xae\x59\x06\x5d\x69\x1f\x47\x9d\x97\x08\x6a\xd9\x39\x49\x81\xe3\x30\xa9\x0e\xfc\x06\xf2\xf5\x33\x95\x71\x9e\xa0\x02\x76\xa3\x6d\x9e\x53\x89\x04\x68\x1d\xcc\xa1\x34\x44\xb3\x70\x81\x7e\x40\xbf\x95\xe4\xbc\x76\xf7\x4f\x68\x9a\xfa\xb1\xc1\x82\x2e\x99\xac\x87\x03\xe0\x2c\x26\xea\x1f\xa7\xa9\xc0\x1d\xa9\x35\xd8\xa2\x71\x87\xdc\x50\xed\xcb\x78\x82\x01\x39\x3a\x40\xbd\xea\x49\x60\x93\xf0\x79\x45\xc1\xfd\x74\xa0\x0f\x06\x4c\x16\xf1\xc8\x60\x2b\x03\x77\x29\xde\x7d\xc6\x2d\xf5\x89\x2d\xe0\xe3\x07\xf0\x4e\x65\xfe\xa7\xf5\x01\xc4\xb5\x89\xde\x67\x91\x40\xdc\x51\xec\x01\x3f\xec\x48\xe0\x5b\x6e\x16\xe0\x5a\x83\x28\x1d\x2e\xae\xfd\xfe\x35\x11\x57\x79\x80\x86\x83\x82\x03\x08\xa2\x6b\x44\x38\x6b\x83\xd4\xdc\xae\x58\xe1\x6e\xa9\xdf\x04\xda\x71\x54\x87\xda\x01\xab\xda\xe6\x48\xad\x8d\x80\x0b\xec\x1d\x36\x0d\xd8\x2e\x69\x74\x08\xe2\x25\xbe\x55\x9b\x6f\x47\xfa\x1b\x73\x99\x0a\xc4\x1e\xc4\x7a\xd4\x20\xa2\xec\x24\xd2\x84\x6c\x98\x78\x51\x86\xb9\xc9\x2b\x6e\x27\x49\x1d\x34\xb8\xfd\xc8\x55\x8c\xe2\x0e\x29\x64\x70\xeb\xc0\x13\xed\x13\xdd\xf6\x11\xcc\x77\xcb\xb2\x03\x1a\x0d\x38\x8e\x06\xbe\xe0\x1a\x75\xeb\x69\x96\xc3\xda\x36\x50\x4c\x02\x8e\x40\x3b\x8d\x4e\x51\x78\x60\x2d\x9c\x4e\x4b\xb3\x30\xe0\x58\x7c\x4d\xd5\x4d\x7d\x1d\xf8\x6e\x9b\x6e\xe8\x4d\x3a\x81\x61\x0f\x11\xba\xaf\x90\xcf\x7d\x12\x6e\x87\x96\x7e\x42\xf8\x85\x9c\xce\x40\xb6\x40\xa8\x27\xd0\xc1\xc8\xa6\xec\x7e\x20\x2e\xdb\x9d\x2b\x77\x40\xa3\x2a\x2f\xe8\x0a\x31\x1a\x20\x08\xfa\x32\x80\x0d\x3c\x9a\xba\xe6\x80\xc9\x3d\xd0\xbb\x4f\xdb\xa9\xa6\x89\x1d\xc1\xd8\x95\xc2\x03\x30\x50\x50\xe2\x18\x60\xa7\x46\x30\x06\x5e\xb9\x0c\xd7\x7d\xbe\xfe\xdd\xc9\x27\x4d\x70\x9b\x50\xd7\x33\xca\xa1\xe1\xaa\x11\x2b\x00\xd8\x2e\x82\x08\xce\x50\x22\x68\x15\xf7\xf0\x2f\x94\xee\xb9\x91\x27\x32\xb7\xb9\x35\xb7\x59\x77\x30\x9d\x5a\xdb\x2d\xd5\xd1\x61\xa2\x95\xe6\x6a\x70\x32\x6f\xb1\x96\xb1\x05\xec\x21\xc0\x50\xda\x11\x51\x66\xae\x01\x85\x50\x51\x9f\x34\x58\x2d\xd7\x81\x2c\xe0\x16\x22\x42\xcc\x91\x17\x02\x7e\x14\xc0\xa0\x50\x46\x70\x72\xa5\xe1\x0f\x1a\xba\x02\x08\x9b\x9e\x5a\xc6\xe3\x26\xbf\x51\x56\xe5\xa0\xcb\xbf\x4c\xbe\x61\x05\xd3\x2a\x8c\xce\x05\x0e\xd5\x81\xc1\xd4\x59\x6f\x57\x01\x89\x74\x22\x69\x65\x5f\x21\x76\x45\x62\xee\x4c\x0b\x5a\x07\xf6\x51\xee\xa8\x7e\x48\x05\xc6\x34\x2d\x9d\xd9\xa1\xba\x6d\x41\x3d\x1e\x25\x8b\xb5\x47\x62\x5d\x55\xb1\x53\xda\x2c\xe0\x39\x4f\xbd\x73\xa7\x97\xaa\xa9\x20\xe9\xe4\xde\x0e\x6a\xad\x3a\x7c\x67\x89\xf5\xeb\x4e\xa7\x76\x70\xef\x02\xec\xa7\xd1\x32\x41\x2c\x36\x21\xba\x02\xa7\xa0\xf2\x82\x00\xc4\x81\x2b\xab\x0b\xde\xa6\xe6\xf6\xf2\x71\xb8\x1b\xbf\xb9\x5e\x03\xdd\xaf\x12\xbe\xab\x36\x90\xb3\x77\x0a\x4f\xff\x44\x25\x80\x5a\x7c\xa9\x12\x42\x2b\x01\x6e\x85\x25\x6f\xd6\x88\xc2\xe2\xc6\x97\x6f\x65\x03\x59\x3d\x67\x6b\x64\x84\x31\xce\x61\xc2\xf4\x90\x02\xc4\x2f\x05\xe9\x32\x50\x8d\x61\xa8\x0b\x44\x3e\x4d\x1d\xd0\x67\x7f\x1b\xe9\xf5\x0d\xe6\xf3\x0f\xfa\x75\xee\x58\xbe\x55\x7e\xfd\xa5\x7d\xb7\x90\xf8\x3d\x02\xfe\x1e\x01\x7f\x8f\x80\xbf\x47\xc0\xdf\x23\xe0\xef\x11\xf0\xf7\x08\xf8\x7b\x04\xfc\x3d\x02\xfe\x1e\x01\x7f\x8f\x80\xff\x83\x23\xe0\x3f\xe8\x5b\xf8\x29\x13\xfe\x3d\x2c\xfe\x1e\x16\x7f\x0f\x8b\xbf\x87\xc5\xdf\xc3\xe2\xef\x61\xf1\xf7\xb0\xf8\x7b\x58\xfc\x3d\x2c\xfe\x1e\x16\xff\x3f\x2a\x2c\xfe\xd7\x7f\xfb\xeb\xbf\x9f\x2e\xfb\xdf\xce\x7f\x39\xbd\x11\x1c\xb9\xc8\xc6\xce\xbd\x47\x29\x69\x9c\x9b\x4f\x9f\x9b\xdf\x68\x79\xd8\x5b\x62\xfd\x7a\xd9\x8b\xa4\x09\x9b\xb9\x14\x5f\xde\x5a\x77\x02\xe1\x1b\x82\xba\x2d\x95\x31\xfd\x79\xfe\x3a\x52\x4d\xd6\xdd\xcd\x92\xcd\x8e\x77\xa5\xa4\x39\x9f\x34\xf5\x31\xcf\x79\x77\xaf\x50\x36\x85\xbf\x02\x65\xb0\x0d\x78\x59\x96\xda\x2f\x96\x9a\x1b\xe2\x01\xa3\x50\x7a\x6a\xdb\x4c\xbd\x8f\xb3\xdb\x48\xba\xb9\x95\x0d\x27\x5b\x36\x52\x2d\x59\xb2\x31\xf9\xfb\xe7\x5d\xdd\xda\xff\x30\x92\xa8\x3e\xab\xff\xea\xc3\x17\x8d\xbc\xfe\xb7\x4d\x72\x9a\x22\x4f\xa8\xdf\x7f\xc6\xf3\x13\xde\xfa\xd3\xcb\x47\x77\x23\x66\x4c\xcb\x93\xb8\x73\xe7\xdf\xa9\xaa\x1f\x24\x8d\xf9\x8c\xb7\x6f\x41\x15\xbb\xbf\x1d\x6f\x42\xc4\x1c\x1b\xed\xb5\x67\x71\x3d\x7c\x06\x9f\xcf\x96\xb7\xee\xbe\xca\x0e\x5c\xf7\x06\x55\x3e\x7d\x73\x9d\x9a\x9b\x79\x1b\x9f\x61\xd3\x56\x80\x8a\xe3\xf9\x57\x17\x49\x41\xee\x54\x5c\xb0\xdb\x7a\xdb\xd3\x9c\xf2\xc4\x13\xe4\x5d\xd2\x28\x58\xb5\x53\x76\x17\xad\xba\x59\xea\xd6\x76\x4d\x53\x4e\x9a\x66\xb7\x8d\xcf\x7e\x3b\x24\xfa\xe7\xb5\xcb\x19\xad\x10\x92\x26\x42\x64\x05\xbf\xf2\x1f\x15\xe1\x01\xc0\x08\xa5\x1f\xcc\xc5\x8c\x5f\x4d\xb5\x0f\xe3\xfe\x56\xe0\x4f\x5b\xa9\x6e\xbd\x7d\xd0\xa4\x62\x3e\xcd\x59\xfb\x93\x3f\xfb\x14\x64\xed\x2f\x1f\xe1\xb6\xc5\xb4\x3c\x95\xd4\xb3\x3e\xbb\x88\xcf\xf5\x03\xfe\xf2\x8c\xf7\x3f\x7f\x3b\xde\x0e\xf5\x36\xf2\x6f\xbf\xfd\xe9\x7d\xcb\xfc\x07\x6c\x99\xb7\x63\x1a\xbc\xbe\x47\xef\xfb\xe8\x1f\xb8\x8f\xfe\x76\xfe\x1f\x7f\xf9\x51\xd6\x35\x50\x9f\x66\xdf\xba\xfb\x8f\x17\x6a\x55\x45\xb4\xd7\xbd\xda\x62\xd3\xad\xd3\x33\xb8\x4f\x98\x2f\x28\x78\xce\x95\xe1\x2b\xdf\x03\xc3\x2d\x00\xb0\x3c\x2a\xe3\x66\x79\xa4\x89\xa6\xcb\xe1\x06\x73\x05\x47\x88\x88\xfb\xc5\x6e\x0b\x66\xff\xfa\xbc\xc0\x84\xa0\xbb\x55\x53\x46\x80\x50\x41\x8a\x8b\x64\x4d\x17\xd7\xd3\x54\xd4\x07\x29\x98\xdb\xc4\x73\x22\xea\x31\x22\x52\x81\xc4\x2b\x48\x55\xc5\x77\x22\x68\x70\xdc\xcd\xcc\xb9\x3d\x21\x05\x77\x76\xe7\x08\x59\x0d\x41\xa8\x7c\x2a\x42\x8b\xba\x8b\x2f\x2f\x37\x04\xed\x34\x53\xcf\x63\xe3\x33\xce\x24\x49\xf1\x3d\xdf\xcc\xe8\xb8\xb7\xf5\x82\x3f\xfb\xea\x32\x32\x77\x9e\x91\x42\x4c\xc8\x3a\x77\x37\x7f\xcc\x76\x46\x8c\x05\x61\xe6\x39\xeb\x96\x7d\xf7\x1a\x68\x68\xcb\x5e\xe1\x12\x95\x94\x11\x24\x6f\x88\x2c\xf8\x6f\xfd\xa9\x21\x46\x2f\x19\xa6\xa9\xf5\x5f\xfc\x9c\x83\x23\x08\xee\xe6\xe2\x2b\xa3\x8a\x9c\x7c\x15\xf8\x83\x36\x8c\x81\x64\xe9\x12\x16\x52\xee\x1f\x8a\xcb\xad\x0b\xc3\x91\x39\x47\x9e\x21\x8b\xdf\x48\x58\x7b\xb5\x21\x24\x44\x3b\x19\xf9\x5e\x98\x94\x15\x5e\x0a\x92\x0b\xc3\xc7\xb3\x27\x45\x84\xdc\x6d\x5f\xb7\xb2\xfc\x02\xfd\x90\xdd\xed\x73\xe6\x19\x2e\xa4\xde\x11\xd3\x97\x8f\x15\x79\x12\xf7\x9f\x2e\x8c\xec\x96\x33\xa3\xbd\x1d\x5e\x96\x0d\x50\xf0\x14\xb4\x30\x22\x32\xed\xab\x79\x90\x3b\xcf\xff\x6d\x27\x30\xe9\x94\xbe\x10\xad\xdc\x80\x2d\xa5\x30\x29\xe2\x17\xf2\xc1\x1d\x13\xf1\xaf\xf9\x62\x5a\x8c\x41\x88\xef\x1d\xcd\xc0\x66\x8f\x08\xb6\x5e\x8e\x7f\xdf\x1f\x96\xe1\xa3\x82\x61\x80\x12\xb9\x3c\xb1\x35\xf0\x93\xa4\xd6\xdb\x96\x7f\x3c\xf8\x79\x3f\xf8\xf2\xf5\xb1\xb7\x63\xec\xe8\x53\xff\x60\xbe\xc0\x4e\xe1\xb4\x97\xed\x86\xef\xe8\xcb\xd1\xb3\x83\xd8\x77\x87\xc1\x89\x8a\x88\x5a\xeb\xc7\xa0\x3f\x74\x94\x2a\x48\xea\x3e\x13\x7f\xc7\x84\x23\xec\xfe\xcd\x09\x1f\xa9\x8a\xfd\x03\x27\x7c\xd4\x63\xf0\xd9\x6d\x7c\x2b\x31\x7c\xe6\x5f\xd6\x80\xee\x27\x9d\x0c\xa6\x9d\x81\x45\x32\x57\xf7\x54\xe0\xf0\xaf\x71\x97\x92\x4a\xf9\xe6\xb8\xcb\xfd\xb0\xcb\x4f\x8e\xba\xe7\xf9\x6a\xd4\xd7\x39\xbf\x1b\xf3\xf8\xda\x98\xeb\xfc\xc6\xa0\x9f\x98\x20\xfb\x07\xcd\x36\x18\x7a\xc0\xd1\xf8\xb6\x05\x6e\x1c\xb7\x1f\xbd\xf9\x63\x8d\x87\x90\x48\x6b\x5d\x97\xeb\xb2\xbe\x5b\x48\x5c\xd6\xc4\x1f\x40\x70\xb5\x3d\x22\xc0\xc7\x75\xdd\x99\x45\xa1\x17\xd9\x50\xea\xb1\x86\x9b\xe7\x97\x2b\x5b\xbf\x3a\xd8\x71\xb3\xb2\xbf\x39\x58\xbb\x1f\xec\xb1\x9c\xef\xf7\x60\xb9\x0e\x76\xde\x0c\xf6\x47\x73\xfc\xad\x05\x7d\x5e\x88\x86\x85\xe9\xad\xe6\xee\xe4\xab\x79\xe5\x7a\x18\xb1\x86\xeb\x5a\x0e\x7d\x2d\x87\x72\x5d\xc2\xdf\x1a\x6b\xb9\x1f\xea\xf7\x56\xf1\x17\x23\x75\x53\xc8\xfa\x1b\x06\xda\xef\x07\xfa\xe5\xba\x2d\x6f\xd9\x6b\xed\xb1\xa6\xd2\x7f\xb8\xd7\x1e\x70\xa8\xad\xc6\x28\x7f\xe4\x48\xd3\xc4\xf9\x7e\x56\x6a\xe1\x94\x54\xd9\x6a\x32\x6d\x17\x70\x5c\xbb\x39\x22\x4d\xc2\xc0\x69\x29\x0f\x3d\x27\x19\x20\x7a\x1d\x6d\xa6\xde\xdc\xd4\x40\x8e\x1f\x4a\x0f\x4a\x93\x35\x0c\xb9\xa5\x86\x30\x51\x4b\x06\xe3\x06\xe5\x17\x05\x81\xca\x8c\xe8\x47\xbf\xa4\x02\x34\xb6\x8e\x88\x7f\xae\x46\x76\x72\xa4\x62\x5b\x4b\x6e\xdb\xe4\x5a\x37\x59\x60\x26\xa8\x56\x4b\x5d\x91\xf2\x47\x4e\x31\x0d\x44\x78\xdd\x26\x98\xa9\xcd\x71\xd9\x53\x01\x77\xac\x3d\xf9\xb6\x01\x31\xa9\xdb\x6d\xe0\x9d\x07\x21\x7c\x1f\xb0\x13\x81\x7c\xd6\xda\xa9\xa7\x3c\xca\xc6\xe7\x4c\x26\x78\xd6\x30\x8c\xe1\x26\x71\x2d\xf1\x1c\xf6\x8e\xd5\x99\x66\xf3\xc3\x36\x57\x36\x62\xa4\x04\x45\x1c\x11\x95\x64\x08\x56\x97\x54\x6d\xf3\x95\xd3\x23\x72\xac\xc9\x5c\x2f\x75\x04\x3b\xc1\x47\x5b\xc1\xc3\x8f\x90\x67\x19\xbc\x80\xb6\xbb\x64\xe8\xa7\x91\xc4\x36\x3c\xc5\x25\x37\x3f\x33\x98\x6b\xdd\xcc\x8f\x00\x19\xca\x77\x0c\xe1\xb7\x46\xc8\x88\xa7\x92\x93\xb9\x49\x31\xc9\x23\x9a\x0a\x78\xf4\x4a\x3b\x07\xc9\x9f\xd6\xd4\x2a\xb2\x4e\x09\xfc\xd2\x3d\x52\x27\x56\x91\x6b\x80\xc5\xde\xc1\xb8\xe9\x73\x34\xac\x9e\x34\xe9\xe6\x0f\x32\xc2\xed\x69\xb8\x1d\x03\xca\xd9\xd1\xe1\x26\x4d\x37\xeb\x87\x9f\x34\xb0\x5f\x6e\x01\x4f\x28\xc0\x06\x36\x4a\x4b\xb9\x3e\xa3\xdc\x66\xa1\x83\xd5\x72\x7a\x0d\x8f\xe2\x77\x6e\x60\x33\x28\xd0\x1a\x3e\x94\x54\xbb\xcb\x4c\xa9\x58\x38\x4b\x58\x21\x0c\x8d\xe2\x30\xc4\xf3\xeb\xa3\xb9\x87\xb1\x50\x39\xea\x17\xa3\x18\x60\x5a\xbc\xf8\x61\x71\x72\xb8\x71\x2f\x9f\x7c\xf3\x50\x72\xe2\x74\x5f\x8e\x7e\x7c\x63\xf4\xfd\x6d\xa3\xd7\x54\x05\x83\x21\xff\xf7\xfd\xe8\x1f\x7c\x5e\x7b\x12\xc5\xe0\xf5\x74\x85\x8f\x41\x28\xdb\xa5\xc2\x75\xc4\xfd\xc9\xdd\x71\xc5\x90\xc3\xf4\xfa\xc6\x90\x8f\x09\xef\xbf\x6b\xc8\x96\xea\x77\xa7\xbb\xdd\x4f\x77\x7b\xd3\x74\xdf\x0c\xde\xe4\x4d\xf3\x7d\x1d\xfc\xed\xbc\xec\x88\xf1\xfb\xbc\xec\xc1\x59\xfc\xa1\xbb\xa1\xfe\x07\x8e\xb8\x5e\x07\x2c\x9c\xed\x9f\x5c\x1f\xdf\x1c\x6f\x4c\xf0\x4c\xea\x6e\xc9\x3f\x62\xc0\xc5\x3d\x8b\xa1\xee\x99\x8f\x29\xdf\xdd\x92\x65\x4d\x72\x79\xcb\xa8\xfb\xf7\x56\xf2\xbc\xd9\x86\x35\x65\x29\x5f\x5b\xc9\xf2\x6a\x25\xcb\xed\x4a\xfe\xe3\x86\x19\xab\xf7\x5b\x83\x6c\xd7\x41\xfe\x60\x66\xbf\x3e\x5e\x53\x98\x2c\x06\x65\x86\xea\x32\xd2\xd8\x8e\xf1\xd6\x71\xe2\x52\xaf\x8b\xf6\x8f\x19\x68\xbd\x1b\x67\x76\xd1\x3d\xe5\xfb\xe3\xc4\x30\xdb\x1f\xb4\xb7\x50\xfe\xf0\xa3\x71\x3e\xe0\x68\x9b\xc4\x30\xdf\x66\xb1\xfc\x44\x41\xbc\xe8\x6c\xff\xfc\xe7\x3f\xbd\x47\x6a\xde\x23\x35\xef\x91\x9a\xf7\x48\xcd\x7b\xa4\xe6\x3d\x52\xf3\x1e\xa9\x79\x8f\xd4\xfc\xe7\x8c\xd4\xfc\x44\x15\xf1\x9d\xdd\xf3\x1e\xbe\x79\x0f\xdf\xbc\x87\x6f\xde\xc3\x37\xef\xe1\x9b\xf7\xf0\xcd\x7b\xf8\xe6\x3d\x7c\xf3\x1f\x15\xbe\xf9\x57\x7b\x43\x3d\x8d\x64\xf7\xb1\xb7\x96\xd4\x50\xa3\x2d\xca\x5e\x12\xf6\x9f\x64\x2d\x7b\x52\x04\x25\xac\x8d\x93\x35\x94\x94\xc7\x0b\xaa\x9a\x2c\x09\xcb\x5f\xfd\xc7\x2d\x59\x16\xc4\x79\xd0\x11\x52\x07\x4a\xdb\xa1\xfd\x4a\x49\x92\x2b\x9a\x31\x37\x44\x29\x36\x4b\x03\x71\x98\x92\xfd\x43\xd4\x8e\x23\x0e\x84\x86\xd7\x32\xf1\xad\xb2\xb1\xbc\x2d\x15\x41\x67\x30\xba\x86\xdc\x96\x41\xa7\xcb\x54\x3f\x74\x03\x29\x4b\x6e\xd1\x2b\xc4\x0e\x9a\xd9\xd1\x68\x85\xb6\x39\x7c\xd7\xdc\x62\x2f\xd5\x8d\x08\x74\xf1\x57\xff\x02\xda\x3b\xac\x94\x1d\x4d\x33\x36\x61\x0b\xac\x5e\xc7\x3e\x5d\x97\x0f\x45\xb7\x09\xfa\x6c\xd0\x2f\xe4\xb6\x48\x42\x53\x70\x35\x76\x85\xc8\x70\x93\x77\xa0\xd3\x29\x0d\x58\x49\x6e\x84\xa1\xf1\x48\x93\xc0\x18\xb0\xa4\xe8\xa3\x6b\x96\x6a\xee\x68\xce\x47\x03\x58\x74\x4f\x74\x5c\xde\x48\x15\xd6\x45\x81\x71\x87\x3e\x1c\x34\x45\x18\xfa\xa2\x0b\xe6\x48\xd0\x1d\x82\xea\xae\x82\xce\x1a\x41\x65\x9f\x92\x74\x15\x06\x6f\x49\x03\xc8\x08\x1d\x36\x93\xec\x2d\x75\xf4\x9d\x35\x31\x20\x5a\x4b\x1a\xe8\x27\x1c\xad\xef\x96\x5a\x01\x3e\x42\xd6\xbd\xa7\x81\x88\x16\x7a\xd7\xfc\x43\x01\xd8\xbb\xdf\x82\x31\x7c\x1a\xd1\x75\x9d\x51\x3e\x5f\x7b\x4b\xd2\x1b\xee\x54\x52\x1b\xbf\xcc\x34\x3b\xa8\x89\x3a\x19\x02\x50\x69\x38\x36\xf9\xb5\xa5\xda\xfb\x26\x9b\x6c\xeb\x5d\x91\xd3\x84\x1c\xe0\x33\xbe\x0d\x23\x02\x34\xad\x67\xf4\xb1\xe7\xac\xee\xa6\xed\x70\xd8\xbb\x9b\x60\xd2\x2b\xc5\x89\x5b\xb7\x99\xed\x4e\x3d\x58\xe0\x3a\xba\x94\x7c\x45\xb0\xd6\xbe\xec\xd5\x05\x1f\x5a\x0e\xf6\x16\x28\x0a\xbe\x67\x45\x76\xff\x8e\x5b\xc9\x3b\x9a\xb5\x13\x8a\xe5\x07\xda\x7a\x21\x04\x7a\xab\x89\x5d\x65\x26\x34\x0f\x73\x2d\xd1\xaa\xd6\x41\xda\xe4\x43\x00\x2f\xc7\x9e\x54\x07\x28\xa0\x52\x6b\xa8\x59\x47\x9b\x5f\x12\xf1\x39\xce\x58\xc7\x6a\xbe\xce\xa4\x81\x04\x0f\xd5\x9a\xbd\xf2\xce\xa4\x82\x9d\x20\x68\x28\x53\xb6\xb6\xef\x68\xca\x2a\x24\x77\xad\x6c\x58\x87\x95\x4a\x18\x7e\x45\x35\x66\xea\x55\x50\x24\x3f\xfb\x44\x4f\x85\x0e\xbf\x43\x3d\xf5\x86\x5e\xa2\xe8\x40\x19\x68\x94\x46\x6b\xf8\xa8\x89\x6d\x09\x8d\xe8\x15\x65\x18\xeb\xe2\x15\xa0\x14\xbe\x07\xac\x84\x55\xeb\xde\x2f\x5a\x52\x47\xb4\x16\x55\x1c\xe4\x54\xfd\xee\x6d\x7c\x66\xab\x1b\x76\xb8\x6f\x7b\xa0\x75\xd8\x82\xd2\x40\x27\x3d\x6e\x08\x5a\xe8\xd1\x9c\x81\x56\x77\xb4\x81\xec\x24\x11\x86\xb2\x1a\x15\x21\xd4\x78\xe1\x41\xb9\xfb\xdb\xdc\x4a\x95\x34\xeb\x7a\x71\x29\xa8\x2e\xf3\xd0\x9b\x0e\xb1\x89\x59\x3c\x33\x78\x58\x7a\xd9\x53\xaf\xcd\x77\xbf\x8f\x43\xa3\x83\x65\x22\x8e\x82\x4e\x73\xb0\x34\x88\x8b\xa6\xa0\x87\xf3\xb5\x0b\xfc\x83\x9c\xe1\xac\x89\xa6\xb2\xb5\xd4\xfc\x0b\xe8\xfa\xf1\x29\x6e\x0a\xff\x24\x8d\x3a\x52\xc9\x33\x89\x7b\x6b\xaa\xbe\xfc\xdd\x0d\x9a\x92\xcc\x48\xda\x22\x4a\x4a\x96\x0a\x70\xfb\x36\x00\x81\x82\xf1\x36\x43\xd1\x67\x67\xab\x79\xc3\x2a\xb3\xa1\xbf\xc0\x07\xda\xf8\x8c\x3d\x20\x9b\xc8\xd9\x92\x41\x4d\x94\xbc\x57\xec\x97\x92\xf7\x92\xb1\x61\x64\xe3\x33\x66\xca\x77\x45\xf3\xed\x5b\xdb\x1b\xf4\xc0\x1b\x8a\x0e\x34\xf5\x8e\x0e\x5e\xf8\x7b\x84\x2c\xa8\x90\x60\xdd\x77\x8d\x10\xc7\x7e\x8e\x93\xce\xd4\x5d\x2a\xf0\x05\x83\xd1\xd4\xdc\x7d\x12\xc0\x93\x14\x77\x80\x0d\x9d\x21\x3d\x30\x07\x80\x6a\xe0\xd2\x5c\xd0\xd1\x5c\xaa\xb2\x29\x28\x75\x43\xac\x1c\xd2\xbd\x76\x4d\xcd\x52\x97\xe1\x77\x16\x8a\x43\xd9\xfc\x80\x1b\x36\x2a\xa4\x9f\xee\xa9\x41\x39\x00\x2e\x04\xda\xd0\xfd\xc9\x13\xf1\xf7\xf9\xbc\x62\xed\xae\x12\xe6\x38\x87\x76\x40\xf8\xdb\xd7\x64\x01\xc8\x3e\xf0\x4f\xd8\xca\xe6\xef\xd0\x8b\xa3\x2d\x9a\x6f\xd0\x28\xce\x26\x48\x74\x5b\xf9\x55\x20\xc8\x86\x1e\x26\x43\x2b\x2f\xdb\x99\x0b\x40\x4d\xcc\x05\x08\xc0\xfc\xc1\x72\x19\xbd\x1f\x44\x80\x41\xc7\x10\x7c\x78\x57\x18\xc3\x7c\x47\x99\x49\x1a\xb5\x26\x28\x48\xf1\x85\x0b\x87\x9f\xa1\x80\x61\x83\xda\x00\x4d\xff\xf0\x30\x00\x0e\x30\xc7\x9e\xba\x04\xe2\x0e\x1b\xd0\x5c\xe6\xb8\x15\xb2\x83\x5b\xc7\x97\x5c\xdd\x6b\x6a\x68\xf3\x36\x1d\xa9\x35\x26\x0b\x20\xb8\x32\x0a\x87\x21\xf9\x51\xe4\x5d\x5b\x3b\x49\xf7\x4f\xf8\x9c\x59\x44\x9c\x5d\xa6\x8f\x73\x32\x35\xf7\x8a\x61\x05\x28\x12\x1c\x7e\x4b\xfe\x5f\xf6\xfe\xa5\x47\x8e\xe4\x48\x17\x86\xff\x4a\xa0\xcf\xe6\x9b\x45\x18\xdc\x6e\x7e\x59\x7c\x0b\x36\x35\x8d\x5a\x54\xaf\x04\xd4\x56\xc8\x93\x47\x52\x0a\x93\x94\x06\xa2\x26\x81\xc3\x5f\xff\xc2\x1e\xf3\x88\xcc\xba\x90\x2c\xb2\x5b\x3a\x1a\x4d\xa1\xbb\x22\x83\x79\x89\x70\xf7\x30\xb7\xbb\x3d\x16\x52\xe1\xb0\x75\x28\x5b\x39\x45\x79\x27\x77\x3f\xa2\x9a\xa6\x14\x49\x25\xa0\xd4\xd8\x54\xa8\x09\x96\xe4\xd2\xac\xb3\x95\x64\x96\xa9\xac\x78\x6e\x8a\xda\x95\x65\xbe\x4c\xf5\x48\x2b\xf2\xa9\xf5\x98\x95\x92\x68\xb0\x52\xc1\xff\x79\xa5\xd1\xd3\x63\x07\x10\x9c\x9a\xdb\xd9\x63\xf7\x01\xc2\xa1\x65\xf3\x85\x22\x83\xaa\x70\xfa\xe7\x46\x13\x10\x50\x5e\x08\x15\xd5\xc1\x92\xac\xd6\x2c\x27\xaa\xa3\xa1\xac\x3b\xb4\xaa\x8e\x6a\xc5\x58\xc9\x1e\xa4\xd7\x47\xd0\x4a\x15\xe0\x30\x04\x07\x27\x84\x37\xf0\x40\x18\xfb\x63\x4c\xea\x28\x21\x6a\xa1\x19\xe6\x00\x4a\x23\x71\xf0\x6b\x47\xcb\x0c\x04\x6f\x58\x1b\x49\xed\x24\x20\x6e\xa3\xce\x4e\x35\x5b\x56\x66\xed\x93\x8f\x59\x2b\x0b\x7d\x09\x45\xd8\xbd\x92\x39\xca\x87\x63\xb6\xf0\x39\x84\x4a\x88\xe0\x4a\x48\x2f\xc5\x22\xba\x8c\x65\xbe\x24\x27\x45\xc9\xa5\xa2\xcc\x55\x47\x62\xcc\x04\x47\x04\xb2\x13\x0a\xe8\x7c\x4d\x84\x08\xe9\x9c\x8d\x32\x01\x53\x01\xe8\x9a\x2e\xd4\x52\x11\xa5\xf4\x22\x6d\x8a\x47\xc1\xc6\xec\x5d\x0e\x5c\x0a\x85\xee\x92\x2f\x93\x74\xa0\xe2\xd8\x64\xcf\x8e\x41\x43\x8d\x5d\xc1\x5e\x05\xe0\x20\x43\x12\xfd\x28\x94\xa5\x52\xb2\xc0\x6e\x16\xc0\x57\x54\xaf\x1e\x9a\x20\xd5\x7d\xbe\x64\xc9\x59\x70\xa6\x2a\xed\x08\x44\x26\xc9\x05\x0d\x06\x52\x7a\xcf\x1d\xd7\x50\xfb\x40\xce\x4a\x8a\x72\x31\xab\x46\xda\x67\x1f\x4b\xeb\x7a\x44\x41\x34\x06\x18\xfb\x00\xb5\x92\x3c\x62\xbb\x20\xf4\x64\xa5\xef\x64\xcd\x05\xe5\x80\x9d\xea\x6b\x74\xec\x6f\x08\x8f\xfe\xbb\x95\x22\x3f\xfe\xf0\xa6\x78\xbf\x29\xde\x6f\x8a\xf7\x9b\xe2\xfd\xa6\x78\xff\x0b\x28\xde\xcf\xda\x0f\x82\xb9\x4f\xd6\x62\x60\xd0\xd0\x32\xa6\xc8\x66\x33\x0c\x30\x73\x35\x64\x96\xef\xd1\xf0\xc9\x53\x42\x71\xab\xe0\xb1\x6b\xf0\xe9\xf8\x32\x00\xd5\x5a\x42\x15\x91\x02\x2f\x25\xf4\x05\xeb\x80\xab\x02\x48\x58\x68\x82\xd9\x63\x2c\xe6\xbe\x84\x6c\x40\x99\x37\x73\xcf\x9f\x71\xcf\x11\x84\x7e\xe7\x09\x9c\x77\x18\xd4\xc7\x82\x43\x92\x00\x70\x16\xab\x8d\xe3\x0a\xbe\x45\x05\x21\x15\x0b\x31\x23\x08\xab\x0c\x28\xcc\x61\x00\x8c\xa2\xcb\x7c\x99\x06\x00\xe8\x5b\x42\xcc\x4e\xec\x81\xd0\x7d\x13\x1c\xc9\x68\xa0\xcb\x72\x2d\x80\xb3\x64\xc8\x22\x27\x03\x92\x24\x24\x55\x83\x20\x6c\x0c\xa9\x82\x0c\x9f\x91\x48\x82\x8c\xb9\x62\x8a\x0a\xf5\x56\x07\x02\x59\x80\xca\x0c\x6d\xa8\x61\x7d\x7a\xf2\x24\x81\x88\xe1\x4c\x4f\x01\xd2\x95\x37\x00\x23\x79\xb2\x15\x84\x66\x00\x14\x39\x05\x4a\x62\xbe\x78\x9b\x88\x30\x1a\x5b\xaf\x02\x55\x61\x00\xc0\x23\x14\xa1\x78\x1a\x21\x5c\xa8\x63\x9b\x8e\x84\xd0\x63\xdb\x92\x93\x3a\xf4\x10\x69\x1e\xc6\x8b\x6b\x2a\xf4\x9e\x42\xa6\x6b\x0d\x56\x46\x52\x83\xab\x9b\x87\x4e\x9a\x25\x7b\x16\xd2\x6f\xd9\xf6\x04\xa0\x3c\x35\x88\xd6\x3a\x84\x76\x4b\xfb\x03\x1b\x16\x80\x96\x40\x33\xe8\x9c\x68\x8d\x58\x8e\x20\x9d\x6a\xf6\x79\x1a\x54\x1a\x56\x17\x6e\xc9\xdb\x79\xc4\x44\x49\x07\x93\x17\xa7\x5a\x0c\x9d\xc8\x50\xa0\x17\x33\x59\x14\xd8\x82\xce\x7d\x41\x58\x29\xe6\x7e\x4e\x35\xbd\xf6\x71\x84\xad\x35\xd2\x08\x0a\x7a\x43\x48\x0e\x98\xa3\xa1\x5b\xba\xcf\x5a\xf7\x84\x1d\x89\x75\x01\xe4\x10\xc0\x31\xbb\xb5\x03\x97\x98\x74\xec\xa9\x7c\x9d\x7a\xfe\x1a\xdb\xfe\x48\x2d\xbb\x30\x26\x6e\x52\xdc\x13\xab\x91\x4a\xbc\x76\xe0\x6b\x3a\xb5\xe0\x6a\x6a\x90\x93\x88\xda\xc1\xb1\x0f\xd8\x8a\x7e\x40\xce\x17\x2f\xf3\x65\x92\xa4\x31\x00\xbd\x8e\xd3\x6c\x08\x35\xbc\x0e\x68\x16\x02\x94\xa9\x60\x77\xc9\x14\x82\x1b\xeb\x4a\xa3\x79\x70\xc9\x15\x5c\x92\xaa\xa1\xad\x23\x32\x99\x24\xf8\x0c\x43\x55\x40\xe9\xa6\x06\x3d\x51\x65\x07\xa9\x0c\x0d\x75\x33\x25\x57\xac\xa6\x42\xcf\x4a\x08\x30\xaf\x89\x6e\x21\x12\x7a\x6f\xb0\xf5\x58\xe5\xb0\x67\x42\x55\x49\x42\x02\xdc\x9e\xa0\x95\x3b\xf4\xf1\x16\xfa\x5e\x6d\x63\x99\x2f\x93\xef\x70\x90\x66\x3c\x8b\x30\x61\x56\xa0\xb6\xd4\x29\x6a\x13\xe2\x04\x67\x6c\x75\x29\x09\xc6\x57\x12\x74\x01\xb1\x71\x6d\x03\x0f\xb3\xd7\x6c\x7f\x57\x9d\x24\x95\x95\xe6\x64\x6d\x84\x52\x06\x18\x93\x10\xfe\x86\x62\xe0\xe0\x27\xc0\xe8\x8a\x19\xcd\x34\x3c\x80\x91\x34\x0f\x93\x32\x44\x0e\x27\xf4\xc3\xf0\x3e\x63\xc2\xda\x47\x42\x49\x68\x9c\xb7\xfc\x15\x9e\x6f\x83\xc5\x14\x32\x15\xa8\x74\x4e\x7d\x70\xb6\x0c\xde\x50\x13\xdb\xc1\x9c\x46\x6f\xcb\x7c\x81\xe6\xcf\xc3\x17\x28\x12\xc7\x04\x6e\x09\xcd\xa1\x56\xf2\x98\x9e\xb4\x94\x77\x25\x1e\x28\x80\xed\xe2\x39\x85\x1e\xd8\x6c\x84\xde\xf2\x6a\xed\xfd\x55\x41\xfe\x5b\xed\xfd\xcd\x5d\xf2\xe6\x2e\x79\x73\x97\xbc\xb9\x4b\xde\xdc\x25\xcf\xdd\x25\x2f\x6a\x23\x71\x55\x74\x79\xee\xe0\xe4\x1d\x66\x43\xa8\x00\x0c\x69\xd8\x40\x43\x21\xc4\x2a\xe0\xc4\x21\x99\x12\x01\x4a\x57\xb0\xbc\x35\x59\x5e\xac\x8e\x36\x0f\x03\x3d\xbe\x06\xfd\x3e\x99\x25\xe3\xd9\x17\x0b\x0d\xb1\x86\x91\xde\x17\x30\xda\x44\x7e\x85\x78\x88\x59\x23\xcf\x38\x34\x36\x9e\xc0\x74\x87\x4a\x43\xdb\x92\xc7\x24\x06\x05\x78\x9f\x07\x7b\x36\x88\xa6\x10\xd0\x40\x70\xcc\x34\x23\x4f\x8c\xc5\xa7\xec\xa0\x00\xab\x10\x22\x39\x84\x82\x03\x75\xd7\x91\x96\xcd\xa1\x60\x59\xaa\x1f\x12\x0a\xba\xd5\x06\xa6\xde\x48\x46\xa8\xc8\x2d\x5d\x26\x82\x27\x37\x62\x0e\x0e\x88\xa6\x3a\x12\x82\xb8\xe1\x62\x9a\x68\xb0\x75\x02\x90\x01\x4b\x54\x91\xbb\x04\xcf\x00\x78\x45\xaa\xb7\xb1\x94\x52\xfb\xc4\x20\x74\xc5\x6e\x0f\x7e\x9d\x70\x8b\x60\xd0\x09\xe3\x16\x93\x02\xb7\x4d\x23\x38\x4f\x90\xdb\x0d\x58\xba\xd0\x19\x2d\xa4\x88\x91\x63\x63\x04\xef\x41\x6e\x65\x6c\x61\x50\xb9\x57\xb8\x99\x38\x2c\x4d\xf7\xd0\x5e\xa9\xb7\x78\xae\x96\x50\x82\xc9\x24\x7b\x68\x52\x2d\x6c\xfb\xbe\x40\x9e\xc0\x98\x08\x11\x64\x4b\x1e\x63\x09\x25\xa5\x4a\x70\xd4\x16\x83\x06\xda\x31\x80\xda\x53\x2c\xaa\x07\x87\x71\xff\x82\xed\x95\xd0\x15\xa0\x80\x63\x0e\xb7\x63\x66\xea\x41\x83\xb1\xe9\x97\x1c\xac\x00\x5c\xa3\x76\xfc\xc0\x80\x92\x37\xbb\x88\xa7\x76\x05\xbd\x09\x1a\x69\x82\xa1\x86\x8a\xe8\xa9\x09\x41\xd5\x81\x2f\x01\x4b\x1f\x3b\x14\x9a\x6a\x42\x3c\x02\x9a\x29\x18\x06\xe4\x58\x7c\xcf\x87\xc5\x46\x6d\xdd\x96\xf9\xb2\x25\x0f\xad\x73\xa7\x82\xa6\x00\x0b\x07\xbc\xda\xd4\x87\x6b\xea\xc3\x70\x56\xc0\x43\x18\x8c\x47\x42\x13\x18\x00\xd6\xb2\x0b\x5c\x08\x47\x40\xe3\x03\x04\x8b\xa1\xda\x17\x0e\x6b\x08\x40\xe5\x3a\xd2\xfb\x52\x6b\x0b\x65\x05\x82\x5a\xa8\x20\xd5\xae\x77\x4d\x81\xa0\xc3\x92\x72\x6b\xd7\x44\x38\x6c\xc5\x13\x98\xb5\x70\x88\xd8\x46\x0c\x84\x6d\x71\x00\x64\x09\x57\x64\x1d\x9a\x82\x54\xaa\x73\xf0\x4e\xe4\xa6\x07\x6f\x16\x95\x84\x22\xcd\x94\x96\x73\xae\x8d\x39\x1f\x81\xb4\x1b\x06\x6d\x08\x36\xae\x9a\x58\xe9\x52\x38\xf4\xa4\xda\xa0\x27\xd5\xb6\x35\x5c\xef\x90\x64\xe8\xac\x9e\x56\x17\x4c\xa4\x14\x8e\xa1\xfd\x22\x2f\x06\x9c\xa9\x00\xbe\x11\x70\xef\x10\x99\x68\x26\xdd\x12\x30\x11\x6d\xbe\x6b\x91\x89\xbe\xcb\x6e\x61\xca\x02\x06\x1f\xa8\xa5\x42\x2d\x41\x2f\x8b\xac\x21\xc2\xe0\x96\x93\x5c\x77\x28\xbe\xda\x08\x1b\xc6\xc3\x62\x00\x32\x36\x03\x82\xac\x36\x64\xe8\x87\xf6\xad\x89\xb1\x55\x44\xe0\x05\x4b\xec\xbf\x84\xd2\x8e\x7d\x37\x6d\x45\x0e\x1e\xe9\x09\x52\x07\xb1\x35\x25\x3a\x64\x11\xcf\x7e\xde\xac\xc1\x03\x12\x39\x57\x72\x7d\x8b\xd5\xc4\x3b\xe6\xb4\x1d\x80\x3e\x0c\x07\x96\xf4\xa0\x64\x40\xb8\x12\x0f\xfe\xaa\xc2\x7b\x38\xfe\xfe\x7f\xff\xe5\x2f\xff\xf1\x9a\xc4\x90\xd8\x43\xc7\xb2\x56\x94\x94\x84\xc9\x6e\x6b\xd8\xe3\xf1\xff\x6f\x19\x2e\x43\x20\x5a\xcb\xb1\x04\x3b\x1b\x61\xd6\xa3\xae\xa5\xa0\x63\xfd\x08\x41\x19\xff\xe8\xb5\x3d\x00\xcf\xf4\xae\x91\xf5\xfe\xc0\x72\x12\x6a\x43\x1f\x06\x79\x6b\x00\xb9\x69\xd8\xe4\xd5\x24\xa4\x4b\x30\x43\x76\xcf\xd3\xf4\x5d\x97\x30\x9e\xab\xcc\xfd\x3a\xcf\x2e\x21\x74\xdb\x09\x1b\xb1\xc1\x3e\xad\x6d\x81\x7b\x66\x84\xb2\xd8\xf3\x0c\x06\xcd\x88\x9b\x2a\x15\x3f\xc3\x4f\xb0\x28\x71\x3f\xa5\xa3\xe5\xd2\xa8\xf6\xf6\x9e\x7b\x58\x50\x8b\x64\xb7\xfd\x98\x7a\xa3\x10\x24\xb1\x06\xaf\x5e\xd3\x57\x04\x59\x7d\xb9\x8a\xcd\xb5\xad\x71\xba\xa9\x86\x54\x06\x20\x79\x07\xfb\x65\x0d\xbd\x49\xee\x42\x01\x7a\x00\xae\x4e\x6b\x0f\xa1\xd6\xf4\x23\x26\xe8\xb3\x52\x2a\x96\x4e\x40\xad\x70\x2a\x35\x31\x6a\x80\xb4\x87\x88\x00\x21\xed\x67\x97\xe0\xbd\x7a\x5a\x63\xcf\x1f\xd1\xf8\x1c\x26\xa5\x11\xb4\x9b\x04\x4b\x1c\x79\xb7\x61\x50\xa4\x18\x85\x4a\x7a\x17\x2a\x96\x5d\x30\xa2\x77\xa1\xb0\x22\xd1\x77\x5a\xd9\x31\xa1\x57\xaf\xcf\x37\x04\x4a\xb8\xb7\xf6\x93\xfc\xf0\x46\x88\xcf\x08\xf1\x65\xe5\xaa\x06\x53\x47\x6f\x99\x7e\xcf\x95\x5a\x5b\x58\x4e\xa1\xb6\x39\x3f\x8c\x50\x6c\x8e\xc1\x4d\x1b\x5a\x47\xc4\x40\x60\x31\x01\xc8\xbe\x71\x3c\x72\xed\xed\xc1\xc9\x59\x3e\x42\xd5\x0d\xe3\x14\x5e\x5b\x83\x5b\x9f\xfd\x88\x6a\x2d\x5d\xca\x8a\x35\x01\x36\xbc\xce\xf3\x58\x9f\x07\x96\x5c\xd5\x0b\xa6\x84\x75\xcd\x19\x1d\x18\x08\xa3\xcb\x7c\x09\xa2\x51\xa8\x00\x25\x1f\xc6\x09\xb3\xff\x46\x1a\x7a\x95\xb9\x7e\x4b\x43\xff\xba\x1b\xef\x65\x7a\x28\xd4\xc4\xb1\x03\x44\xef\x19\xd8\xb4\x4b\xcf\x0b\x3e\xd4\x78\x2c\x47\x00\x73\x6b\x6a\x56\x05\xc6\xea\xd4\x87\xf5\x14\x23\x7d\x08\x15\xee\x63\xf6\x44\x40\x5c\x64\xf6\xf9\x61\x05\x89\x57\x24\xe6\x57\x0b\x63\x31\x4f\x16\x2c\xc3\x43\xc7\xda\x5d\x30\x81\x5c\xbf\x9c\xc0\x21\x34\x91\xb6\xe4\x31\xf5\x3c\xee\x7d\x29\x73\xc5\x4f\x4c\x5f\x27\x82\x3f\x1e\xff\xf3\x15\xdc\xe3\x45\x10\x77\x18\xac\xc1\x2a\x7c\xf6\x23\x28\x76\x68\xd4\xfa\x82\xc3\x34\xc7\xdc\x17\x25\x20\xb6\xfb\x18\xf3\x98\x1f\x09\xe2\xb4\xdc\xde\x39\x55\xf3\x25\x8f\xa8\x9b\x84\x64\x5f\xa4\x9c\xc3\xfc\xc9\x92\x01\x39\xae\x59\x96\x5a\xb2\x89\x45\xc8\x69\x93\xb1\xa6\x76\x19\xa6\x00\xd2\x43\x43\x1f\x29\x7a\x70\xaa\x05\x40\x7b\x5b\x8d\x28\xda\xf1\x54\x12\x0f\x2b\xa1\xf2\x76\xcc\x81\x30\xbc\x32\xbd\xd8\xbb\x86\x58\x62\x1e\xe3\xb3\x41\x2d\x18\x9f\x4a\x3d\x34\x1a\x1c\x1f\x8d\x99\x95\xda\xc8\xe0\x65\xab\x62\x9f\x3e\x84\xa2\x26\x0b\x02\x9e\x07\x09\xad\x6a\xc9\xe3\x74\x02\x31\x20\xe4\xb8\xde\xcc\xc7\x3e\xa2\x27\x4f\xe8\x57\x23\xab\x59\x6a\xfc\xd2\x11\x83\xf4\xba\x8d\x5a\xd2\x41\x5f\x97\xa7\x57\x65\xea\xa8\xd0\xe8\x68\xc4\xc4\x6d\x3b\xce\xa5\x85\x59\x20\x36\xce\xa1\x98\x07\x9b\x29\x1e\x8b\x82\xa8\x64\xdd\x62\x5e\x8a\x3a\x52\xa1\x02\x8c\x6b\x80\xb3\x02\x88\x30\xf4\xb9\xda\xc7\x92\x10\xb9\x9c\x5d\xa5\x86\xdb\x1a\xb6\xe2\x79\x2e\x32\x1f\x42\xb9\x95\x25\x8f\x39\x24\x87\x9f\xdd\x58\x2f\x64\x7a\x64\x12\xf0\x76\x0e\x23\x1a\x15\x2e\xdb\x3a\x7c\x0f\x62\x6a\xd0\xe9\x77\xf6\xe0\x65\x82\x54\xb0\x9a\xf5\x06\x58\xff\xa0\x91\xa1\x41\x75\x71\x9c\xb1\xff\x6c\xdf\x21\x1c\xab\x84\xfa\x91\x2d\x8a\x13\x8a\x25\xfa\x30\xc4\x7c\xa5\xd4\x79\x9c\x41\x3e\x1b\x4b\x85\x34\x42\x45\xf1\x3c\xe6\x76\x74\xef\xd4\xdb\xa9\x92\xcb\xc1\xd0\xa6\x24\x8f\xf1\xa9\xc1\x58\x04\x9e\xe0\x3b\x23\xfc\x3a\xb9\x90\x52\x85\xe9\x1c\x63\xec\x18\x63\xdf\xc6\xc8\x68\x92\x20\xf1\x06\x5a\x94\x75\xc9\xdd\x76\x24\x09\x36\x13\xb6\x43\x27\xae\x14\x5c\xb2\x9e\x81\x9c\x88\xcd\x43\x03\x7c\x14\x38\xc2\x70\xbe\x23\x1a\x56\x79\x7c\x5c\xa9\xcd\xd3\xf5\xfa\xee\x05\x5e\x9b\x83\x22\x62\x9f\xc7\xcd\x5d\x9e\x11\xa1\x7a\xda\x37\x65\x98\xf5\x99\x4c\xad\x08\x83\xd1\xe0\x90\xf4\x56\x3d\x6c\x43\xd4\x94\xc1\xe9\x75\xcc\x68\xf2\xc2\xd4\x47\xa3\xe6\xc1\x90\x5d\x66\x2e\xc6\x3d\xba\xb9\x2d\x83\xb8\xf0\x21\xc6\x81\x21\x6e\x8b\x5f\x46\x23\x43\x5f\xa2\x8a\xaa\xf4\xca\xd3\x8f\x3d\x4c\x32\xd8\x32\xdd\x3d\xa5\xf0\xf7\xd2\xd6\xb7\x24\x9c\xbc\x33\x55\xdf\x64\x20\xbc\xc2\x9d\xbc\x70\x6c\x36\xae\x2b\x20\xb8\x33\x0a\xfd\xee\x09\xd7\x28\x8f\x18\xca\x23\x5e\x13\xf4\xa7\xc5\x42\xd9\x42\x18\xba\x84\x1e\x90\xbd\x6b\x82\x20\x38\x43\x04\x67\x4d\x8f\x84\xb7\x8f\x5b\x7f\x34\xb4\x8d\x0b\x53\xfc\x35\x7b\x57\x51\x33\xf8\x4c\xc6\x99\x74\xff\xc9\xe6\x8c\x06\x7c\x2c\x88\x0c\x3f\x66\xe7\x25\xfd\xd9\xab\xa2\xae\x6a\x05\x0c\x79\xb0\xe2\x0a\x56\x80\x79\xa5\x20\x0d\x56\x30\x24\xb6\x9c\x7c\x85\x13\x7c\x81\x5b\x7a\x3f\xa7\x03\x76\xf6\x1e\x30\xe0\x50\xd7\x8b\x92\x9a\x9d\xf3\x9f\xed\x94\x36\x9d\x90\x85\x41\xbe\x18\x41\xa6\xf6\xd8\x33\xa6\x41\x91\x23\xf8\xde\x23\xc9\x53\x10\xf1\x5c\x21\x7a\x9e\x2d\x84\xda\xbb\xee\x9a\x0b\xd1\xa8\xb2\x2f\x3c\x68\x8c\x9e\xf7\x79\xe0\x4a\x6e\x77\xf8\xe0\x08\x9d\xa2\xac\x71\xbe\xc2\xf2\x0f\xba\x86\x5e\x77\x8e\x37\x81\x43\x1f\xda\x0d\xfc\x33\x1d\xd0\xdd\xe4\xa3\x1d\x69\xf4\x0d\x49\x1e\x1a\x23\x57\x78\xb1\x00\x5d\xff\x3c\xf8\xfd\xd3\x8f\x3f\xbe\x2f\x7e\x3b\xa0\x8e\x6e\x5b\x08\x95\x2f\x79\xdc\xa8\x47\x10\x6e\xd4\xe5\x89\xf4\x2b\xa0\x82\x10\x7e\xbc\x8b\x03\x96\x17\xa5\x0d\x22\xca\x32\x9f\xcd\xcb\xe2\x46\xbf\x41\xdc\x78\x90\x73\xf5\x64\x77\xab\xc1\x27\x2f\x24\xe5\xab\x16\xf5\x75\x43\xbe\x2e\x86\x74\xbb\x21\x0b\x29\x2b\x1a\xc4\xd4\x33\x03\x6e\x82\x09\x6e\xe6\x0c\xb0\x7c\x2b\xdf\x6f\x60\xfc\xdd\x8e\x88\xd9\x31\x6b\x86\x94\xcb\xe8\xd9\xfd\xa1\x78\x3d\x4b\x2c\x35\xe4\xf9\xc7\xf4\x20\xb0\x84\x80\x80\x0f\xc6\x8f\x68\x43\xc4\x24\x78\xce\x8c\x36\x93\xa6\x41\xab\x86\xf0\xb8\xdb\x39\x96\x9c\xca\xf8\xf2\xb6\xfc\xb2\x54\x48\xa1\x80\x5e\x3a\x3d\xa3\x2b\x4f\xb9\x37\x6f\x78\x1a\x5e\xed\x02\xa7\xfc\x2e\x14\x76\x99\x00\x7d\x66\xd6\xc3\xae\xb3\xc9\xc4\x14\x0c\x79\x7a\x46\x6a\x45\xdb\x9a\xf7\x09\xf2\x4a\x2e\xf1\xc0\xdb\x39\xff\xe9\x7a\xc2\x57\x5e\x12\x77\x29\xed\xe4\x9d\x11\x0f\xb0\xa8\xb9\x23\x31\xb7\x1a\x73\xfb\xe2\x86\x34\x6a\xcc\x30\x2a\xc6\xb8\x6b\x34\xda\x25\x48\x6d\xd8\x9d\x65\xbb\x2c\x51\xf8\xab\x0c\x9e\x3e\x80\x75\x24\xae\x7c\xe8\xff\xe6\x3d\x75\x71\x45\x0c\x51\x46\x9b\x9d\xa1\x0c\x23\x45\x08\x50\xdc\x76\xb1\xdd\xa8\x3f\xe7\x0e\xb7\x9b\x31\x07\xe3\xe4\x2d\xe6\xf3\x78\xaa\xd4\x84\x43\x1b\xb4\xc3\x53\x6d\x21\x1e\xbd\x2e\x46\xb5\xf7\x20\x4e\x78\xae\xbb\x1d\x9e\x08\x36\x26\xb3\x10\x7b\x48\x77\xb8\x91\x85\x1c\x96\xa5\xd1\x40\x9f\xa0\xfc\x71\xeb\x71\x77\xdc\x7c\x5b\xe6\x36\x87\xf5\xd5\x4d\xf6\xa7\xbf\x9d\x0f\xff\xfb\x35\x4e\x2b\xa6\x51\x61\xcd\xc9\x10\x74\x6b\x12\xe8\x8e\x68\x64\xc9\x7d\x45\x35\xf5\x01\x89\x5b\xda\xb7\x06\x45\xe8\x59\x20\xee\xcf\xde\x86\x7a\x74\xc6\x4f\x83\x9c\x6b\x1d\x77\x9d\x94\x6b\xa8\x00\x99\x1f\xf9\x0e\xfd\x54\x35\x51\x54\x8a\xc3\x91\x88\xeb\x5f\xdf\xcc\x64\x2f\xf1\x7a\xaf\x04\x61\x35\xc4\x73\x64\x0b\xb4\xda\x43\xfc\x08\x3f\xc4\xf3\x90\xcc\x41\xb8\x67\x59\x84\xcf\x83\x6a\x0f\x01\xd0\x9b\xc7\xf7\xda\x9e\xfe\x89\x20\x6f\xd7\xaf\xdb\x4c\xb9\x72\xaf\x70\x4d\x19\x80\xa4\x3b\x8d\x62\xf7\x1c\x04\xbf\x54\x72\x8c\xd4\x3d\xb4\xa4\x18\x29\x62\x71\x33\x6b\x6a\xeb\x83\xd4\x9f\xbd\x6b\xc4\x7d\xfe\x2e\xe8\xa7\xa2\xa4\x50\xe4\x3e\x4c\xca\xd8\xef\x6d\xc4\x95\x5a\xfc\x5d\x7f\xb3\x12\xb7\xf1\xfc\xed\xfd\x52\x79\xa5\x15\xae\x73\x64\xf7\x1d\x90\x59\xea\x33\xa6\x0e\x7f\xbe\x77\x3d\x57\x02\x1b\xec\x2c\xa1\xe9\xb6\xbe\xe2\xfc\x70\x5b\xf6\x5d\x32\x51\xc2\xfb\x6b\x57\xef\x1b\x14\xae\x9f\xde\xd7\xdf\x48\xfd\xe1\x7f\x30\x31\x3e\x92\x76\x62\x2a\x63\x83\x45\x00\xdc\xfb\x08\xc5\x30\xae\x83\x58\x38\x63\x0e\xe3\x7e\xfb\xf0\x79\x3a\xd3\xed\x82\xee\x97\xb8\xc7\xcc\x31\x7c\xbb\x8b\x99\xc8\x17\xaf\xf0\x4e\xb7\x2b\x68\x28\x6b\xf8\x5d\xbb\x99\xb6\x3d\x9b\x76\xbd\x4e\x7b\xb9\xf9\xcd\x17\x27\xb8\xaf\x68\x3b\x39\x5d\x9f\x4b\x7d\xfe\x84\x67\x4f\xaf\x97\x9e\xf0\xcd\x83\x79\x81\xa9\xbf\xb4\x16\x8f\x96\x13\x77\x7e\xed\x62\x48\xa1\x0e\x07\x69\xac\xc6\xe3\xc5\xb0\x89\xaf\x05\xc5\xe0\x66\x35\x70\xd1\x73\xa7\x6e\xb8\x61\x6d\xa7\xb0\xad\xbe\xb8\x2c\xb8\x8b\xcd\x85\x59\x63\x7c\x67\xd0\x70\x90\x7f\x10\xdc\x0d\x79\xf2\x46\xfd\xf5\x38\xd5\xb9\x8c\x2b\x16\xdd\xc8\xf6\x7c\x25\xff\xf6\x4d\x9b\xf7\x55\xca\xd9\xa3\xf5\xfd\x1f\xcb\x0f\x3f\xf7\x20\x3b\xda\x01\x8c\x78\x06\xde\xfa\x1a\x86\x31\x26\xa2\xf7\xdb\x27\x5f\x24\xd8\xfd\xe7\x00\x88\x19\xf9\x7b\xe4\x34\x7e\xe9\xf7\x57\x6a\x8d\xaf\xc6\x23\x00\x14\xdb\x36\x6b\x7b\x79\xd6\x79\x45\x28\x97\xf8\xcd\xf3\x68\xf1\x23\xce\x34\x57\xc7\x6d\x9c\xc2\x7e\xbd\x3e\x99\x2e\xcf\x9f\xb1\xbd\xf8\x8c\xd3\xf3\x7e\xbd\xd0\xeb\x96\xe2\xba\x92\xb8\xb1\xbd\x72\x25\x36\x6a\xb4\x71\xa6\xd6\xf5\xba\x12\x16\x7f\x5b\x56\xd0\xed\x52\xc4\xcd\x2a\xec\xbc\x46\xcd\xb0\x6b\xf9\xcb\x6b\x72\xbd\xc7\x1d\x17\xf2\xd0\x01\xdd\x79\xb5\xdc\xb4\x37\x74\xc9\x1b\xdd\x1f\x89\xf1\x18\x90\xc8\x56\x9a\x6e\xe4\x7a\x43\xf8\xaf\xd8\xb2\xa7\xff\xfa\x9a\x9e\xf7\xf9\x4e\x9d\xcf\x8a\x1e\xea\x32\x5b\x9e\xb4\x63\x09\x2b\x86\x1b\xba\x3e\xc7\xb6\xe6\xaa\x4b\xf0\xb5\xb1\x0c\x74\x66\x45\x0f\xb4\xd9\x0c\x95\x6b\x9e\x58\xcf\xa8\x32\x32\x16\xc3\x6c\xea\x68\xa6\x84\x2c\xdc\x96\x39\x71\x54\x8b\x41\xa8\xa3\x63\xe5\xa3\x53\xb2\xf4\xf0\x3b\xb2\x8f\xd1\xe0\x13\xe9\x65\xfb\x29\x8d\x82\x36\xa8\x48\x4b\x0d\xbb\x6c\x3f\x41\x9e\xbe\x66\xce\xa4\x23\xef\xb4\xe8\xcd\x29\x75\xc4\x93\x1c\x15\x28\x9a\x55\x2b\x3d\xa6\x36\xc2\xa4\xe2\xcc\x7a\xaa\x56\x49\xb3\x53\x7a\x0d\x9b\x65\xcd\x86\xc0\x82\xbe\x64\x02\x16\xe6\xdb\xd0\xf2\xd4\x90\xf0\x8f\x20\x80\x10\x5c\x65\x03\xd6\x72\x41\x77\xf9\x8a\x86\x6b\x68\xad\xe8\xc0\xde\x81\xa5\xd8\x90\x7f\x25\x9b\x71\xbf\x84\x64\x20\xa9\x23\x5b\x56\xc5\x6f\xfd\xdd\x20\xef\xbc\xe4\x11\xa6\x81\x60\xe5\xed\x48\xdd\x67\x13\x94\x86\xbe\x72\x61\xc6\x3b\x12\x68\x63\xe2\x03\x05\x04\x82\x70\x7c\x43\x5b\xb8\xac\xec\xd8\xcf\xd1\xa6\x0c\xad\x9a\x49\x32\x67\x78\x28\x31\xa2\x32\x95\xaa\x51\xcd\x24\x72\x44\xef\x7c\xcc\x6c\x6b\x24\x7c\x84\xb4\x51\x42\xfe\xb2\xea\x80\x91\x53\x63\x11\x6a\x18\x40\x43\x95\xd4\x07\x69\x19\xe8\x20\x38\x18\xaf\xe8\xd6\x8a\x9e\x3c\xb3\xb1\x72\xd0\xdb\x6c\xe1\x86\xd3\x06\x80\x23\x70\x06\x46\x33\xe3\xda\x3b\x48\x28\x4c\xf3\x58\x7d\x71\xcc\x5b\x57\x8f\x27\x9b\xa7\x20\xbe\xf7\xb2\x91\x2b\x37\x72\x11\x94\xea\x2c\xf2\x5d\xfe\xc1\xdc\x41\xdf\xe7\x7e\xee\x0b\xbf\xcf\xd4\x5f\x5e\x18\x75\x33\x0b\x90\x9b\x86\x1e\x63\xbd\x0a\x72\xef\x4b\x5d\x3c\x5d\x83\xad\x43\x12\xab\x13\x52\x1f\x8d\x0c\x19\x45\x2e\x79\x12\x4f\xb1\xc0\xef\x37\x53\x6a\x6a\xe6\x40\x00\x2d\x13\x88\x74\x0d\x35\x30\x59\xab\x43\x03\x90\x90\xfb\x69\x76\xf3\xeb\x48\x7d\x42\x66\x31\x72\xee\x6e\x4e\xab\x22\xb9\x19\x19\xb8\x2b\x9a\xb2\xef\x27\x2d\xf6\x0e\xa8\xaf\x69\xa6\x80\xe6\x09\xd5\xc4\xcd\x82\xfd\xaa\x9d\xb2\x96\x44\x1b\x32\xf8\xd0\xbd\xda\x5c\x48\xd0\xb6\xb4\x66\xd1\xcc\xc0\x16\xf2\x94\xc7\x75\xd5\xec\xd9\xd8\xf6\x53\x25\x73\xe4\x5b\xb7\x8a\x8e\xaa\x99\x17\x94\xf9\x6b\x3d\xf3\x9e\x91\x4c\x88\x09\x09\x7a\xde\x66\x95\x53\xf7\xdc\x2f\x8e\xfc\xf6\x8e\x14\x5d\x09\x8b\xb8\xbe\xab\xb0\xd7\xf3\x18\xfb\xa5\xa3\x67\x2f\x1f\xc9\xd1\x4a\x5a\x13\x2c\x95\x32\x5b\xdb\x35\xf8\xd3\x46\x94\x03\xd3\x1e\x58\x2a\x98\xe9\xdb\x29\xd4\xac\x51\x95\x18\x7e\x68\x64\x87\x42\xc4\x39\x99\x75\xb2\x91\xeb\xc4\x6c\x79\xd2\x91\xa4\x2f\xd8\x18\x58\xac\x25\x0b\xea\x14\x3d\xdd\x63\xd6\xe8\x31\x1c\xac\xd2\x9a\x53\x35\x8d\x57\xb8\x2b\x82\x11\xa0\x33\x15\x15\x54\xb5\xd5\xde\xb7\xd3\xc1\xc8\xf0\xe4\x0e\x6c\x13\xf4\x34\xb6\x8e\x6e\xc2\xef\x2a\x10\xd0\xf2\x38\x03\x9c\xa0\x3c\xbc\xd5\xe6\x31\x3e\xe8\xcb\xf7\x39\xce\x73\x63\x7c\x4b\x0e\x42\x65\x67\xfb\x52\x67\xe8\x37\x79\xf3\x26\x6f\xde\xe4\xcd\x75\x5b\xbd\x2e\x2d\xe3\x2b\xdb\xea\x4d\x08\xbd\x09\xa1\x7f\x59\x21\xf4\x97\xbf\xfc\xf1\xfc\xfb\xd7\x74\xb9\xab\x28\x94\x6d\x64\xde\x0e\x1e\x14\xb6\xe4\x71\xc6\x7a\x12\xeb\x1b\x69\x59\xb5\x0c\xa4\x65\x75\x90\x55\xab\xb3\xb2\x3c\x36\xce\xc1\x09\xe1\xc4\x19\xbb\x00\x0f\xd2\xb0\xfd\xf4\x48\x0d\x7c\x4e\x11\xe9\x29\x70\xfc\xb3\x20\x4a\xc7\x3e\xcf\x43\xa8\x54\xac\x7f\x62\x0b\x98\x2f\x4a\x8a\x76\xd0\xae\x97\xcc\x4c\x30\x42\xe6\xf4\x8c\x7f\x0b\x0a\x05\xfa\x1d\x0b\xa1\x09\x64\xf7\xd3\x20\x53\x39\x02\x39\xad\xa2\x09\xb1\x20\x87\x9b\x67\xe8\xb4\x28\x83\x35\x16\xe3\x94\x1c\x18\x41\x6c\xc7\x81\x68\x2e\x42\x4e\x99\xc5\x21\xef\x81\x03\xcb\x8b\xa0\x41\x7e\x58\xb5\x7d\xb4\x65\xb6\x1f\x5c\x44\x8e\x88\xf6\xf2\x52\xd6\x36\xcb\xf2\x59\x79\xed\x34\x34\xd6\xc4\x4b\x3f\x70\x21\x3c\xba\x7c\x09\xaa\x2e\xf1\x39\x6a\xe8\x11\xd2\x8f\x63\x4a\x0c\xc2\xe8\x0a\x1f\x06\xd5\x90\x25\x35\x77\x41\x25\x88\x9a\x5a\xf8\x8c\x6a\x7e\x20\x22\x4c\xf7\xc2\xd7\x9f\xfb\x2b\xbc\xf0\x85\x7a\x3c\x3b\xc4\xc4\xba\xb6\x25\x8f\x33\x16\x0c\x39\xe4\x47\x04\xce\x1a\xe0\xdf\x75\xf6\xb2\x56\xc4\x8f\x01\x41\x3f\xf8\x60\xc4\x6d\xb1\x09\x9a\x5b\x72\x07\xcd\xc7\xee\x9e\x15\x3b\x88\xe9\x42\x00\xf6\x3e\x42\x62\xb8\xe4\x39\x0d\xeb\x10\x3a\xad\xa2\x1b\x38\x8a\xd0\x46\xe6\x8f\xe3\xa1\x23\x5a\xa7\xf1\x9b\x38\xce\x48\x51\x41\x1d\xae\xb4\xbb\x4e\x6c\x00\x0e\x3e\x85\x48\x3c\x02\xaa\xdf\xe2\xc1\x4b\xf0\xda\x8a\xaa\x25\x9e\xcd\x4d\x25\xab\x0f\x5a\x45\x49\x2c\x84\x7e\x19\x41\x01\x6c\x40\xc2\x43\x92\xc4\x7b\x66\xaa\x06\x77\x4e\x3e\xb9\x78\x81\x42\x65\x0b\xfb\xa1\x01\xd5\xb6\x5d\xb1\x6d\x2b\x21\xd5\xaa\x7b\x08\xbf\xdc\xb3\x6d\x3e\x6a\x14\xe1\xbf\x6b\xc8\xac\xcc\x23\x18\x1b\xb1\x8e\x85\x0f\x95\x5a\x8f\xbd\x1f\xc7\x78\x1f\xd1\x29\xa6\x2e\x7c\x7f\x7d\x2a\xaf\x7c\xd0\xdf\xa0\x65\xde\x06\x4e\x85\xa9\x87\x7a\x22\x24\x7a\x2c\x2b\x01\x92\x16\x3a\x13\xfc\xa2\x59\x88\x57\x54\x72\x83\x61\x7f\x39\x59\x6c\x42\x81\x52\x91\xc5\x4c\x48\x21\x1b\x1d\xbb\xea\x22\x64\xa3\x9f\x94\x44\xe4\xc8\x88\x95\x32\x35\x8b\x67\x3d\xd0\xb3\x14\x18\x14\xa3\xaf\xb1\xd5\x9e\x7b\x9d\x6e\x43\x9a\xdb\x2e\x43\x0e\xfc\x12\xea\xed\x68\x1c\xb2\x24\x16\xad\xa2\x70\xdd\xd8\x10\x75\x15\x89\x7f\xa0\xa3\x42\x1f\x8d\x80\xbc\x8b\xc2\x32\xb4\x2e\xb5\x22\x5b\x41\x38\x4f\xce\x05\xc0\xe0\xe4\x5c\xa1\x16\x06\x21\x29\x49\x8d\xe1\x7b\xab\xef\xb8\x2c\x5c\x92\xd4\x72\x10\x2f\x87\x3b\xe7\x2a\x56\x64\x55\x20\xa1\xb3\x3e\xe6\x80\x0c\xd6\x29\xfd\xa1\x91\xb3\xe4\x2d\x9e\x33\x85\x52\x96\x60\x0a\x67\x25\x15\xa0\x15\xb7\xe7\x0b\xf3\x28\x8c\x9f\x2d\x76\x87\xf7\xa7\x9c\x9a\xc1\xa8\x51\x8b\x38\xce\x60\x14\x60\x1a\xa1\xa1\xde\x30\x95\xf2\x88\xdb\x3c\x62\x44\x25\xd9\xd7\xe2\xe4\xcc\x39\xa0\x05\x03\x0a\xfe\x1d\x8a\x4a\x4b\xee\x8d\x82\xdd\x65\x5f\xbe\xaf\xc7\xb5\x6e\xc9\xf4\x55\x5a\xdb\xa3\xf8\xbe\xd1\x80\x45\xc3\x41\xa4\x48\xf2\x01\x3e\x08\x72\x77\x18\x0f\xd3\x44\x4e\x6b\x70\x80\x4b\x90\x8b\x9f\x94\x7a\x32\x0e\x5b\x94\x36\x18\x4c\xf0\x0d\x70\x01\x24\xc9\xfa\x49\x42\x93\x3f\x32\x12\x20\x98\x04\x8b\x02\x3c\x99\xb2\x9d\x3a\xf1\x73\x5f\xee\x2d\x95\x4e\xbe\x00\x5a\xef\x10\x2d\x28\xe0\xaa\xe9\x80\x04\x22\xc1\x40\x10\x0d\x29\x47\x0d\x60\x07\x55\x19\x59\x9a\x89\x29\x50\x2b\x56\x76\x38\xce\x50\xc3\x3f\x59\x2d\x8a\x5c\x51\x77\x3f\x90\x3a\xd2\x7b\xbf\x0b\xe5\xe5\x12\xdb\x56\xdf\x3d\x61\x45\x65\x0e\xe5\x8b\xb4\x6a\x80\xfb\x19\xa4\x26\x8f\xb9\x36\x23\xbf\xb6\x3f\x18\x75\x1f\x71\x17\x1b\x87\x47\xfc\xac\x94\x25\xf8\x59\x3d\x87\xe6\x02\xa4\xe9\xf2\x82\xfb\xfe\x86\x4c\x7b\x76\x1a\x6e\xed\xa9\x64\x61\x21\xd4\x1b\xfb\x59\x68\x32\x8f\xf1\x94\x1b\xc6\x36\x45\x2b\x91\xbe\xb1\xce\x9d\x81\x82\xaf\x86\x38\xe8\xde\xef\x63\x3e\xe0\x07\x35\x44\x4d\x9d\x00\x10\x59\x30\x06\xa0\xeb\x7d\xed\xc6\x57\x69\xf4\xaf\x87\x3f\x1c\xfe\x7c\x78\x1d\x84\xe9\x68\x03\x29\xfe\x22\x87\xd0\x05\xfb\x92\xc7\x99\xf5\x88\x06\x2d\x16\xea\x94\x70\x1e\x66\x2e\x8a\xd5\x29\xc5\x8d\xb8\x8e\x79\xcc\x1f\x79\x28\xfd\x5e\xf5\x48\x82\xa2\x61\x16\x03\xec\xcc\x9a\x84\x78\x73\x1a\x4b\xd7\x13\x41\x82\xa9\x71\xec\x52\x03\x22\x4e\xd8\x56\x87\xd0\x45\xa7\x3e\x9a\x30\x2b\xa8\x88\x42\x45\xd3\x0e\x3b\x51\x61\xb0\xac\x28\xed\xc9\x1a\xe8\xb1\x23\x52\xac\x09\x6f\xe1\xc1\x6b\x43\x00\xe4\x67\xc0\x1a\x47\x7a\x68\x07\x0a\x00\x2a\xcf\xd7\x7c\x24\xf1\x53\x85\xd1\x53\x50\x2a\xc4\xef\x39\xf4\x74\x45\x55\x53\x0b\xe9\xd2\x5a\x9a\x7c\x79\x72\xc4\x42\xa0\xb2\x2d\x76\x21\x2a\xc8\xb3\x34\x60\x3b\xff\x58\x96\xac\x21\x2b\x22\x71\xc7\x33\x6c\xf2\x18\x21\xb0\xe5\xfb\x92\xc7\x8c\x3b\xa8\xa2\x53\xc5\x31\x3b\x95\x94\xb0\x5f\x00\x6d\xd0\x73\xd1\x30\x4e\xe1\x0d\xb5\x23\x54\x78\x00\x19\x78\xc5\xba\xe5\x47\x40\x52\x57\x60\x43\xd5\x58\xd0\xb1\xee\xf7\x9f\x93\x7f\x7c\x26\x28\xc7\x6a\x30\x0d\x3a\x4a\xa2\xfc\xe6\x8c\xe0\x86\x11\x54\x62\xc5\x16\xa8\x30\xcd\x81\xaf\x04\x84\x02\xcb\x3b\x96\xee\x08\x64\xc3\x28\xe0\x03\x43\x5c\x2e\xf3\x65\xab\x0b\x85\x6d\xef\xd9\xbb\x20\x51\x90\x12\x59\x04\x27\xa2\xfd\xbd\x92\x7b\x2c\xad\x3b\x2f\x68\xa0\x6d\x61\xaa\xcc\x93\x23\x93\x57\x07\x30\x48\xc8\x67\x4b\x43\xa9\x3e\x3a\xc7\x6a\x99\x0a\x1a\x1a\x75\x91\x54\x09\x28\xee\x23\x0d\x86\xad\xb8\x91\x96\x14\xa4\xe6\xa8\x91\x8c\x19\x01\x0a\xa9\xc7\xac\x4a\xdb\x4f\x60\x9d\x39\x4a\x2f\x24\xb3\xfe\x5a\x8b\xdb\xb1\x66\xd5\x1a\x37\x40\x63\x69\x05\x00\x91\xcb\x00\x46\x43\xbe\xa6\xcd\x3a\x10\x71\xe5\x10\xf1\x24\xf5\x44\xb5\xb5\x23\xf5\x84\xc5\xe0\x25\xb1\x4d\x42\x41\x91\x47\xe7\x8c\x8a\x61\xc4\x6e\x17\x9e\xd9\xc3\x32\xcd\x61\xa8\x0a\x06\x13\xe2\xfa\x14\x2d\x76\x5a\x18\xa7\x30\xdd\x65\xa6\x6c\x81\xb2\x6d\xf4\x43\x68\x11\x4b\xdb\x25\x66\x8c\x0b\xee\x20\x3f\xa2\x34\xbe\x98\xa5\xed\x5c\x7a\xcb\x4a\x3c\x4e\x38\x26\xcd\xe2\x13\xb4\x68\xa7\xa6\xb7\xa7\x93\x31\x84\xf2\x0c\x98\x29\x3c\x95\x75\x1b\xf8\xa8\x40\x67\x46\x4d\xbc\xf0\x09\xc7\x8f\x18\x31\x76\xd8\xa4\x46\x74\x1d\x89\x75\x17\x8c\x9c\xf3\x44\x18\xd6\x38\x2b\xc6\x26\x15\x2f\xc6\xfc\xc0\x76\x59\x61\x9b\x24\xf5\x0b\xd7\x09\xb1\x92\x1b\x26\xaf\xa2\x73\x49\xa4\x27\x9e\x34\x7e\x7a\x48\xfc\xaf\x3c\x4e\x0e\x85\x4d\x6a\x23\xab\x89\xfb\x3c\x4e\x88\x28\x94\x4e\x0b\x2f\x4e\xa8\x36\x96\x1d\xbc\x48\xac\xaf\x41\x56\xc7\x35\x7d\x0b\xd8\x20\x23\xf6\x2d\x1c\x6c\x8a\xb2\xd5\x71\x68\xe4\x48\xf9\xf5\x2d\xe5\x97\x6a\x16\x2c\xea\x09\x1b\xfb\x2e\x14\x72\xc7\x2e\x97\x09\xef\x85\xa2\x4f\x41\x59\x6a\x7c\xef\x00\x05\x6c\xc9\xe3\x96\xcc\xda\x93\x3e\x80\x2d\x52\xc6\x3c\xce\xeb\xa3\x0c\x3d\x19\x87\x75\xec\xf9\xd8\x09\x0d\x85\xcc\x28\xbc\xe1\xda\x1f\x58\x11\x69\xc4\xb6\x43\x7f\x2f\x4d\xc8\x91\x52\xc9\xab\xe0\x55\x6b\xc3\x16\xa9\x83\x91\xda\x3d\x1c\xe0\x37\x61\x88\x58\xec\xc2\x1e\x53\xa1\x3a\x66\x80\xb2\x29\xc8\x3d\x36\x54\x2f\x86\xab\x49\x73\x10\x12\xb6\x41\xe9\xd4\xba\xc6\x6b\xcc\xb9\xc8\x71\x0a\xbe\xe4\xb2\x4b\x3e\xa1\x18\x4f\xd9\xde\xdd\xf8\xe4\xac\x07\x45\x49\x30\x2a\x36\xe1\x7a\x8a\x13\x70\x1d\x3d\x67\x71\x31\xeb\x71\xb2\x6a\x53\x70\xf7\xb8\x65\x08\x1d\x8c\xad\x6c\x6c\xd7\x72\xab\xcc\x1b\x98\x1e\xd2\x83\xb1\xe1\xa4\x80\x52\xa5\xf3\x71\xdd\x37\xc2\x1a\xe2\x6c\x23\x35\x74\x69\x01\x22\x8d\x6c\xdb\x6e\x3b\x89\x4d\x82\x4f\x70\xa2\x13\x93\xa6\xee\x8c\xfb\x86\xdf\x23\xdb\x1b\xc2\x05\x28\x04\xc2\xdb\xf3\x8f\x1d\x62\x25\x7b\x8d\xc0\xa1\x65\x5b\xab\x9c\x2c\x1a\x87\xb5\x2f\x9a\x87\xf9\x01\x44\x1f\x84\x47\xd5\x79\x9c\xbd\x3a\x42\x10\xc0\xb6\x36\xae\xf3\x38\x73\x51\x34\x2c\xd1\x01\x78\x07\xdc\x5c\xe7\x09\x36\x55\x42\xc3\xd5\x7e\xc1\x5e\x4c\x39\xbb\x6f\xd0\x7d\x3f\xf2\xb0\x43\x88\x42\xc8\xc3\x8c\x60\xb7\x9a\x48\x57\xed\x98\x0f\x09\x4f\x00\xcc\x68\x78\x3e\x24\xa9\xf3\xf1\xf5\x9a\x1c\x23\x36\x3b\xe0\x20\xb8\x4e\xa1\x5e\x7d\x66\x07\x94\x9e\xb2\x39\xbe\x32\xe5\xbd\xe6\x03\x05\x0a\x21\xda\xbb\x54\x3f\x05\x39\x1e\x73\xad\x85\x01\xf4\x12\xdf\x03\xca\x46\x5c\x6a\xe4\xab\x0f\x01\x1d\xf4\xda\x62\x8b\x92\xa3\x9a\x3e\x05\x18\x01\x3b\x87\x13\xfa\x40\x27\x26\x55\x92\x75\x2d\xd0\x3a\x68\x68\xd2\x66\x6f\xb9\x67\x9a\x6e\x92\xea\x42\xce\x23\xe5\x18\xc8\x32\xb5\x8b\x82\x12\x9e\xeb\xbb\x92\xc8\x63\x98\x81\x03\x57\xbf\x1a\x21\x8d\x3e\x8c\xac\x3c\xce\x26\x7a\x2d\xe1\x09\x97\xd4\x69\x6d\x23\x4d\x20\x55\xc0\x27\xae\x55\x90\x8a\xde\xf2\xe9\x84\xc8\x47\x8a\x71\xcc\x04\xb2\x9f\xdb\x2d\x03\x59\x29\x69\xee\x04\x08\x42\x80\xec\x38\xd8\xea\x40\x90\xa4\x65\x1d\xf4\xc1\x68\x00\xee\x22\x8e\xf3\x76\x0c\x8a\xe0\x7a\x9c\xba\x15\xfc\xb7\xe0\xc4\x60\xef\x6d\x0d\xf9\x7a\x70\x78\x27\xf3\xb8\x35\xad\x01\x7c\x82\x35\x74\xb3\xea\xf3\x38\xa7\x07\x89\xe9\x70\x9c\xe3\x6f\x92\x6a\x49\x0c\xcc\xe3\x84\xbd\xd2\xc4\x78\x7b\x24\x61\xb8\xc8\x05\x45\x01\xd8\xeb\x98\x81\x81\x12\x15\x25\xf9\xa1\xf8\x01\xfc\x2e\xc9\x0d\xbb\x57\x47\xf2\x0f\xdf\xb7\x24\x7c\xad\x9e\xbf\x01\x51\x4d\x76\x97\xef\x80\x24\x9b\x3a\x29\x40\xe1\x4a\x18\xbe\x15\x99\xd7\x55\xb7\xb4\x78\x07\x4e\x4b\x19\xf5\x38\x33\xbf\xcb\x98\x04\x3b\x3c\x09\x36\x88\x27\x09\xb6\xb7\x2b\x07\x02\xc1\x86\x10\x03\x1f\x33\xcd\xe9\x81\x46\x39\x45\xd7\x81\xd4\x15\xe0\x42\xb3\xe9\x92\x4f\x81\xbe\x29\x68\x93\x49\x9a\xce\x4d\x74\x7b\x91\xc9\x03\x83\xf0\x27\xc7\x33\x79\xc2\x41\x01\x23\x06\xde\xf7\xf8\x7a\x5b\x15\x7c\x31\x3b\xc4\x38\x51\xc6\x31\x53\xf8\x34\x77\xd9\x71\xbb\x1c\x5f\x19\x75\xfe\x46\x78\x67\xe4\xd7\xfb\xb4\x9d\xd9\xde\x7c\x70\xfd\xc5\x79\x67\xef\xa7\x58\x8e\xe3\x37\x5c\xc1\xfa\xa3\x7b\x4e\xdd\x5c\xb6\x0f\xe4\x14\x66\x44\x3b\x26\x1f\x10\x01\xde\x46\x4c\x79\x30\x56\xb8\x12\xbc\xf1\xbc\x15\xad\x84\x71\x51\xe5\x08\x25\x51\x6a\x02\xca\x21\xfd\x5a\x3d\xb6\x42\x3f\x63\xa3\x82\xf3\xa5\x0e\x74\xdc\x16\x30\x39\x77\x88\x0e\x0b\x65\xfc\x9c\x6a\xa5\xce\x97\x63\x76\xdb\x12\x6c\xd3\xa0\xac\xe0\x47\x41\x6a\x21\x13\xe3\xdf\x5e\x1a\x08\xad\x26\xa6\x4f\x4a\x93\xeb\xdf\x76\x0f\xb0\xdc\xf9\x76\xbe\x13\x0c\xde\x73\x58\x80\x2c\x99\x2f\x8a\x9b\xe2\x9f\x0d\xeb\x97\x40\x12\x0d\x1e\xfd\xd2\x2d\x58\x15\x86\x6a\x80\x6d\xa0\x8a\xf2\x19\xce\xe9\x75\x5c\x84\xeb\x48\x2a\x64\xab\x09\x7f\x86\x54\x30\xcb\x38\xd0\xa4\x76\x45\x03\x8e\xdb\x7d\xd3\xe5\xeb\xc5\x1d\xd3\x06\x7d\x15\x7c\xfa\xe8\xbe\xc4\xda\xf9\xc1\xc8\x4a\x5f\xf2\x38\xcd\xbe\x10\x4f\xbd\x84\x2a\x56\xb0\x2d\xcb\xb5\x20\xa2\x20\x6c\x0b\xcc\x56\x1a\x35\x0f\x5b\x4a\x68\x6c\xef\x11\x0f\x05\x60\x56\xc0\x91\x03\xd0\xa6\x01\x3f\xec\x7a\xda\x72\x6f\x22\x44\xaa\xe8\x0a\x06\x79\x96\x7e\xc3\x92\x28\xa6\x90\x3f\x80\x66\x5b\x67\x77\x2b\x45\x57\x99\xfc\x21\x8c\xad\xe4\x27\x23\xeb\x7c\xe7\xa8\x27\x30\xcc\x06\x69\x62\x40\xf8\x93\xf9\x0d\x5c\x5a\x60\xad\xf2\xac\x25\x9b\x97\x86\x8e\x90\x50\x74\x25\xf1\xfd\xfc\xfd\xc8\x8e\xa7\x64\xb6\xf4\x30\x9a\x17\xde\x5f\xdb\x0c\xcc\xd6\x0a\xaf\x43\x3a\xd9\xed\xe6\x14\x36\x28\xe6\xc0\xc1\x8a\xce\x2b\x71\x47\x95\xd5\x86\xf4\x14\xc3\xaa\xa1\xb7\x24\x40\x4a\xde\xb4\xb5\x27\x1f\x38\x60\x0a\xd9\x35\xbf\xa0\x92\xd6\x9b\x35\x4d\x5c\x23\x7c\x32\x82\x15\x56\xe2\x9e\x73\x02\x50\x5e\x62\xf3\xe5\x08\xf4\xc9\x49\x3c\x84\xa0\xac\x2c\x0c\xaf\x15\x98\x24\xd7\xb3\x58\xe4\x30\x1b\x2d\xc4\x25\x4a\x09\x3b\x35\x54\x27\x25\x52\x08\x6e\x18\xf7\x03\x30\xd6\x60\x20\x00\x76\xe2\x12\xcb\xc4\xc5\xb6\x24\x43\x00\x2c\x97\x94\xd9\x39\x96\xc9\x4e\xd1\x8c\xb0\xbe\x67\x84\x03\x3a\x69\xaf\x0b\x2f\x83\x9a\xf5\xed\xf5\xc8\x69\x10\x09\xc2\xf6\x33\x8c\x7d\x7b\x4a\x1c\xfa\x05\x12\x6d\x43\xea\x39\x79\x07\xf6\x6a\x19\xa9\x54\xc7\x62\x87\x69\x1e\x9a\x32\xf7\x83\x02\x9f\x26\x8f\xa9\x7e\x56\x06\x30\xf2\x38\x32\x22\xd2\xc5\x1c\x2e\x3b\xc5\xb2\xc0\x34\x04\xba\x4c\xf0\x52\x49\x68\x37\xe0\x39\x20\x24\x08\xad\x7d\xbe\xb6\x1e\xda\x01\xc0\x90\xf1\x04\x4e\x64\x23\x83\x8e\x3d\x8b\x98\xd5\x68\xc0\x1c\x98\x67\x09\x0c\xd9\x9a\xc0\x54\xc8\x65\xce\xb3\xc6\x97\xdb\x07\x15\xdb\xc8\x91\x53\xd0\xb2\xfa\x53\xa4\x27\xc9\xaa\x1f\x9c\xb4\xa1\x12\x6b\x56\xc5\x84\xd5\x91\x0d\x80\xf2\xf7\xb9\x47\x4a\x9d\xe0\x3c\x83\xba\xcd\x5e\xc5\xc0\x33\x74\xbe\x3d\xdd\xf6\x7b\x05\x9e\x2a\x7c\x99\x3d\x41\x09\x61\x61\xc1\xb0\x4c\x52\x0e\xe5\xa6\xb0\x7f\xc4\x11\x7b\x65\xbe\x0f\xbd\xd5\x26\x96\x1b\x1c\x29\x38\x71\xd4\xf1\xa1\x89\x29\xfe\xdd\x65\x82\xb4\xf5\xfe\x30\x28\xac\xcb\x8c\x74\xb7\x74\x29\xed\x37\x6a\xd0\xdc\x71\x0a\xd4\x45\x68\x14\x6d\x6e\x5b\xe9\xf1\x40\x1d\x18\xa0\xbe\xd7\x0a\x4f\x78\x29\x33\xb8\xf6\xea\x3c\xe6\x67\x8d\x63\x7a\x00\xd8\x6a\xdd\xe6\x71\x5a\x9e\x50\xed\x1b\x62\x85\xd6\xe6\x71\x33\x4a\x81\x41\x27\x40\xf3\xe9\x73\x3c\x99\xdb\x10\x64\x82\x16\x4c\x7a\x37\xe2\x21\xa0\xb3\xf0\x11\xcc\x64\xce\xb4\x8e\x39\xd3\xdc\xea\x1a\x3a\x62\xc5\xf2\xe6\x3e\x1d\x2a\xa4\x09\xe4\xec\xb9\x08\x3e\xd9\x5f\xe3\x4e\xb5\xf8\x01\x69\xc7\x4b\x1e\xe7\x14\x7d\x00\xf2\x43\x08\x06\xc8\x56\xc5\x0b\x62\xef\xdc\x2e\xc9\x7b\xb1\xbd\xb4\x01\x84\x07\x00\x59\x0d\x90\x58\xa0\x5e\xf1\x8e\x6f\x5b\x4f\x5c\xa4\x8a\x2d\xdf\x62\x71\x29\x07\x84\x04\x93\xf8\x38\xbe\x06\xd0\x37\xc0\x13\xc7\xfe\x92\x10\x78\xc0\xb3\xc4\xbb\x71\x3d\x07\x9c\x75\x3d\x05\x0b\x3b\xce\xe8\x28\x15\xac\xe0\x64\xde\xec\x49\x2a\xcb\xa4\xc8\xf8\x77\xe2\x45\xf9\xf6\x4e\xdd\x38\x6e\x9d\xec\x5d\xcf\x24\xc9\x99\x0f\xe8\x37\xd9\xeb\x06\x35\x34\xe0\xef\x3a\xde\x70\x56\xbd\xa1\x76\xf4\xad\x1a\xf1\x37\x37\x39\x9e\x04\xb0\xcd\xe6\x76\xd8\x04\x08\x74\xc5\xae\x3b\x4b\xbc\x6e\x1b\xbc\xda\xbc\xf0\x7c\x65\xb4\xcf\xaa\x1b\x5f\x7e\xcc\xcb\x53\x72\x54\xde\xc8\x15\x04\x70\x17\x1c\xf3\xc0\x61\xb2\x2c\x79\x4c\xf5\xbb\x03\x96\x0f\xc9\x32\x06\x7f\x95\xf9\xd6\x29\x16\x88\x4b\xf9\x51\x05\x62\x49\xf5\xbd\x4b\x18\x70\xd1\xfa\xcd\x9e\x58\x37\x2a\xdb\x78\xbc\x78\xbb\x4c\x79\x58\x34\x37\x63\xdd\x37\xd0\xfc\xb2\x4e\x6e\x80\xca\x0d\xa0\xd1\xb5\x30\x6a\x79\xeb\xc7\x1b\x84\x08\x86\xa3\x15\xeb\xcf\x7d\xb6\xe7\x2e\xe8\x74\x9b\xfb\x5a\x7c\x4c\xcf\xd1\x48\x49\x3c\xd7\xb1\x21\x90\x19\x5f\x39\xc4\xc6\xd9\xb0\xfd\x78\x22\x49\x59\x3d\x91\x0a\x1f\x73\x2d\xd9\x49\x64\x24\x52\x6b\x4d\x42\x85\xfa\x18\xd6\x66\x98\x0b\x54\xa5\x92\x84\x3e\x30\x1a\xa8\xaf\xa9\x92\x57\x64\xbf\x0c\x68\x4f\x0d\x7d\xce\x41\xca\xa2\xf8\x35\x80\xb3\x9c\x92\xf5\x20\x7e\x9b\x72\x26\xb6\x45\xd5\x47\x42\x48\x26\xfd\x71\x9f\x2e\x90\xed\xfd\x2c\x44\xed\x68\x2a\x8b\x99\xc9\xac\x4d\xc5\x2f\x5a\x8b\x31\x25\xb0\x99\x56\x3d\xc4\x57\x75\xc9\xe3\x7c\x86\x15\x5b\x0a\x41\x2e\x99\xc7\x1d\x24\x23\x64\x44\x3a\xa0\x64\x02\xe7\x4e\xd6\xd0\xe1\x7e\x38\xed\xa4\x8a\x30\x63\xb0\xe4\xb4\x1e\xf3\x61\x1f\xb2\x48\x35\x8f\x93\x98\x38\x39\xac\x01\xc7\x33\x8f\xf9\x49\x62\x0f\x17\x05\xb0\x42\x9f\xc7\xcd\xb6\x1d\x08\x73\x8c\xb0\x86\x15\x1f\xea\xf6\x21\x9e\x60\xb3\x09\x46\x39\x91\xa6\xd1\x92\xd6\xd3\x63\x0f\x77\x6c\x18\x87\x89\x81\x39\x10\x50\x03\x5d\x25\x0d\xf6\x9c\xd0\xb0\x8f\x53\x47\x6b\x32\x49\x0e\x8c\x09\xb4\xd5\x26\x13\xf7\x9e\x24\xa4\xc3\x42\x9a\xa1\xae\x78\x92\x0c\xb4\xb7\x66\x7c\x04\xe8\x21\x59\x4b\x66\xdb\x07\xe2\xe4\x08\xb5\x4d\xa8\xcc\x20\x6e\x86\xfb\xb4\x4e\x0b\x50\x42\x77\x1f\x32\xc9\x39\x3d\xab\x49\x9a\x02\xaf\xa4\x8e\x05\x87\x2b\x6d\xc6\x53\xde\x18\x48\xce\x16\x3d\x69\x3d\xa9\xfa\x10\x8f\x69\x96\xf9\xce\xdd\xa0\x8f\xdf\x6a\x53\x56\xe7\x2f\x6b\x50\x76\x0e\x4c\x53\x97\xe2\x2b\x93\xd9\x18\xe0\x98\x7a\x94\x6e\xea\x21\xcf\x93\xd4\x45\xaf\x6f\x4c\x7e\xc8\x53\x00\x6d\x7c\xe9\x11\x13\x1d\x1b\x9b\xd5\x2b\x31\xd7\x79\x0f\x70\xc8\x7c\xfb\xc9\xd7\xcf\x3b\x3f\x3e\x81\x93\x3d\xfa\xf9\x36\xc4\x9b\xab\x6e\x5b\xa6\xb4\x47\xef\xb7\xf6\xf8\xfd\x53\xa8\xf6\x47\x12\x70\x52\x28\xa3\x45\xa9\x7a\xc3\xe3\x48\x48\xdb\x1a\xba\x88\x00\x13\x58\x12\xad\x11\xfb\x86\x81\x4a\x9a\x49\x8a\xa3\x35\xaa\x5a\xcf\x39\x63\xf3\xed\xf5\x98\xab\x96\xec\xb6\x72\x32\x93\xc1\xe7\x64\xbb\xc1\xe8\xf0\x77\xc4\x16\x8d\x7d\x16\xbc\xc1\x3b\xb8\x4c\xdc\x27\xa4\x17\xfe\x1d\x86\x61\x8c\x6f\x40\x11\x9b\x30\x1a\xf9\xaa\x53\x9e\x6c\x62\x61\xce\x76\x0a\x2c\x9f\x63\x1a\xf3\x25\x75\x43\xf4\x3e\x47\xb6\x48\x62\xfd\x03\xe6\x2e\xb8\x84\xea\x64\x9e\xa9\xc5\x21\x79\xa3\x01\x74\x72\x5e\x2e\xa7\x32\xf2\x97\xcd\x0f\x09\x9e\x3f\x75\xe8\xd9\x0e\x1a\x88\xfc\x00\x86\x45\x3a\x29\xf6\x8c\xe6\xd2\x7b\xfb\x7a\x2e\xcf\xb4\x09\x5f\x9f\xe3\xf1\x5f\x7f\x3d\xff\xff\xfe\xd7\xd3\x9f\xfd\xee\x77\xff\x79\xf8\xd3\x9f\xff\x56\x7e\x77\xfe\xd3\x9f\x7f\x7f\xf8\xeb\xef\x44\x9b\xfc\x4e\xab\xfc\xdb\x0f\x6f\x31\xcd\xb7\x98\xe6\x5b\x4c\xf3\x2d\xa6\xf9\x16\xd3\x7c\x8b\x69\xbe\xc5\x34\xdf\x62\x9a\x6f\x31\xcd\xb7\x98\xe6\x5b\x4c\xf3\x2d\xa6\xf9\x16\xd3\x7c\x8b\x69\xfe\x8a\x31\xcd\xd7\x27\x7f\xbf\x60\xbf\x72\xfd\x8c\xfd\x6a\xff\xf6\xc3\x5b\x3c\xf4\x2d\x1e\xfa\x16\x0f\x7d\x8b\x87\xbe\xc5\x43\xdf\xe2\xa1\x6f\xf1\xd0\xb7\x78\xe8\x5b\x3c\xf4\x2d\x1e\xfa\x16\x0f\x7d\x8b\x87\xbe\xc5\x43\xff\x25\xe3\xa1\xa7\xdf\x9f\x3f\x7c\x3e\x0c\xfa\xc7\x9b\x1c\xd9\x16\x86\x4e\x0d\x19\x75\x9e\xce\x65\x30\x82\x89\x4e\x62\xc4\x86\x38\x43\x6c\xa4\x34\x3c\xd0\x31\x54\xb3\x3f\xf5\x9a\x10\x21\xe8\x47\xd4\xb3\x8b\x39\xb9\xce\xe6\xf9\xee\x35\xf8\xca\x89\x74\x1c\xd1\x9a\xa0\x2c\x54\xe1\x3b\xa3\x78\x60\x45\x0e\x68\xdc\xbd\x49\x79\xb4\x50\x6b\x47\x12\xb4\xac\xd6\xd4\x53\xcd\x04\x05\xf7\x55\x83\x5f\x84\x6e\xe7\x9b\x86\xc7\x4a\xa8\xfd\x6d\xc1\x44\x06\xfb\x3c\x4e\x94\x00\xc4\xcf\x46\xac\x71\x3c\x89\x79\x8b\xa0\xc4\xda\x8f\x68\x92\x9d\x4d\x5e\x6b\xcb\x13\x78\x6c\x8a\x9c\xc8\x44\x0e\x64\x46\xb6\x9b\x0c\x2d\xa1\x7d\x1a\x3a\xfc\xe6\x71\xb3\x89\x2b\x62\x1f\x8a\xf6\x35\x80\xb2\x99\x2d\x5d\x0b\xeb\x3b\x03\x68\x51\x1e\x11\x49\x6a\xd4\x81\x0f\x2f\x61\x28\xc3\x07\xe6\xd9\x07\xbf\xea\x80\x1e\x4b\xa3\x07\x2b\x85\xd0\xf6\xdd\xa2\x4d\xeb\x75\x22\x0c\xa1\xd1\x2f\xb4\x21\xcd\x38\x0a\x69\x33\x78\x3a\x0f\x54\x07\xed\x31\x65\xb6\x30\x29\xb3\x77\xb7\xcc\xe3\xd4\x26\x1b\x3c\xc4\xe8\x65\x57\xe7\x71\x4e\x47\xd1\xcc\xb2\xb7\xe3\x36\x13\x70\x85\xc9\xb0\x82\xe4\xb3\x4b\x86\x66\x0f\xbf\xfc\xca\x41\x0a\x31\xf3\x32\x5f\x36\xdf\x39\xba\xcc\x1e\xb7\x38\xf2\x9a\x5d\x18\x24\x24\xca\x48\x4d\xbe\x91\xa3\x5c\xd9\xb7\x72\x65\xb4\xc6\x54\xd3\xa5\x11\xe2\xe7\xdb\xb0\xa8\x33\x9c\x08\xc7\x35\x5b\xea\x81\x7f\x65\x8f\xd6\xbe\x92\xa3\xd7\x20\xeb\x79\x4d\xd3\xad\x18\x1c\xc6\x40\x4e\xd9\x8c\x04\x80\x35\x08\x31\x67\x55\xbb\xce\xe3\x34\x57\xd1\x29\xb6\x51\x1d\x12\x7f\xdb\xbb\x0a\x1d\x1e\x4d\xca\xd0\xa8\x6c\x7a\x3a\x80\x78\x82\xf8\x64\x95\x7e\x8d\xb3\xc7\x08\x8e\x09\xe9\x0f\x9d\x81\x9b\xa4\xc6\x24\x42\x56\xda\x41\x67\x20\x4a\xaf\xba\x7b\x03\x35\x18\xc1\xb3\xbd\x6d\x7b\x80\x12\x34\x34\xd3\x41\x0b\x43\xf4\xdf\x2d\xe8\xa2\x51\x1c\x45\xec\xbe\x63\xcd\x88\x31\x50\x7f\x41\x9c\x71\x38\xae\x3b\x11\x02\x53\x67\x9d\x8f\x09\x2c\x1c\x8b\xc2\x4b\x1e\xe7\xba\x76\xa0\xd9\xc3\xd0\x11\x34\x65\x14\x83\xbb\x3a\xfb\x22\x65\x7f\x53\xaf\xed\x00\xa5\x6f\xc9\xe3\x5c\x1e\xc8\xba\x1e\x6a\x8b\x20\x22\x8d\x06\xea\x86\x2e\x92\xb1\x61\x55\xda\x21\x8c\xad\x1b\x83\x0b\x68\x31\xea\x17\x84\x32\x63\x44\x94\x4d\xd9\x53\xab\x0b\x53\x5e\x60\x98\x40\x09\x44\xcb\x55\x44\x55\xb3\x15\x7e\x3f\x53\x09\xdd\xd3\xfa\xa7\x9f\xb9\xa2\x55\x2b\xb7\x44\x4e\x51\xb4\xb1\x8e\x07\xd2\x3a\xe2\x35\x34\xb2\x1b\x6f\x3b\x4f\xb4\xb6\x22\x7a\xc7\x8d\x14\x7d\x63\xa5\xc3\xd7\xe3\x0d\xc0\x0e\x2b\x75\xe4\x53\x04\x27\xd2\x6c\x07\xb9\x7b\x31\xe2\x69\x66\x7f\x7d\x04\x14\xa4\xae\x42\x40\x12\xeb\xa3\xad\x46\x1d\xf1\xe7\x86\x76\x10\x3e\xb2\x3b\xd5\xb5\x55\x54\xf6\x16\xe5\xd8\xed\xe8\x5c\xd5\xdb\xfe\x99\xb7\xec\x76\x99\x9d\x7e\xb9\x5f\x77\x6c\x66\x62\xc4\x20\x87\x66\x97\x21\xef\x35\x4f\x3a\x9a\xf0\xdc\x55\x32\x39\xa0\xb7\x80\xfb\x66\xae\x42\x18\x05\xdb\x8c\x45\xb0\x1a\x63\xa2\x8e\x8e\xdc\x0c\x16\x28\x1e\xf6\x51\x68\x36\x73\x73\x42\xdc\x61\x8d\x0d\x6e\x5c\xdb\x83\x61\x25\xb8\x8e\xa2\x0d\x96\x50\x91\xc3\x2d\x75\x82\xdb\x81\x91\x1c\xb3\x0b\x35\xcc\x59\x8e\x87\xdd\x12\x04\x85\x3c\x9b\xa2\xb2\xa5\x9a\x23\xe8\x62\xda\x30\x64\x41\xc2\xc3\xa4\x73\xc4\xb1\x3a\x19\x0c\xd2\xd9\x1a\x39\x37\xaf\xf4\x23\xa0\xb4\x32\xd8\x8a\x96\xad\x8d\x0c\x60\x7c\xad\x1f\xd0\xaa\xd8\x36\xbf\x3b\x03\x90\x0f\xa0\x39\xe7\xc9\x74\x37\x3b\x4e\xa7\xa6\x5d\xb4\x3e\x45\xa2\x29\x89\x8f\xc3\x13\xbe\x88\x27\x8a\x51\xa8\x18\x38\x69\xc9\xdf\xe6\xfb\x6c\x07\x9d\x59\x0c\xed\x9a\xe3\xa3\xd4\x35\xc3\x82\x92\xdd\xe5\xd1\x33\x21\x74\x03\x18\x70\xe8\x7e\x0d\x0c\xac\x99\xe9\x10\x56\x8b\x72\x48\xa4\xe9\x14\xcf\x46\x4b\x31\xb7\xf8\x13\x89\x73\x87\x95\xa9\x06\xdb\x05\xd6\x78\x09\xc3\xd6\xd5\xe3\x6f\xf2\xb1\x61\xd3\x0e\x0e\x79\xcb\x1c\x3c\xad\x63\x37\xa6\x49\xa8\x86\xf6\x47\x41\x40\xc4\x35\x03\xa2\x89\x2f\xd6\xc7\x38\x18\x65\x07\xd3\x8d\x70\x18\x11\x23\xf3\xf4\xf3\x70\x62\xda\x4c\x16\xa2\x1c\x0c\x9a\x17\x1c\x72\xb5\x59\x67\xba\x41\x23\xa9\x3e\x8f\x33\x43\x02\x5d\xbc\x7b\x08\x79\x43\x28\x78\x22\x28\xaa\x8d\x25\x46\x51\xcf\x53\x8c\xc4\x92\xb6\x99\x80\x51\xc3\xbc\x9b\x3d\x0f\x15\x1e\x7e\x45\xf2\x47\x58\xfe\x1c\x24\x3a\xe0\x23\xc6\xaa\x20\xec\x84\x7c\x20\x2a\xc6\x60\x9e\xa5\x76\x92\x16\x1b\x3d\xa8\xab\xc7\x5f\x2e\x52\xec\x54\x12\x4c\xdd\x27\xc3\x4a\x13\x04\x7e\x39\xcd\xb4\x80\x2b\x5b\xc2\x4e\x6d\x58\x18\xf4\xd5\x50\xd5\x5d\x1c\x02\x61\x70\x08\x32\x27\x32\xa6\x2a\x9f\x12\x03\x6c\x19\x14\xfa\x27\x27\x04\xd6\x11\x6a\x2e\x9a\xe7\x79\xb6\x50\x97\x6c\xd1\x96\xb6\x25\x67\x03\x5c\x15\x6c\x6c\x34\x80\xe9\xa4\x0e\x58\xb8\x0a\xa4\x28\x86\x7f\x33\xe4\xeb\xd6\x1b\x2d\xc4\x3a\xa9\x01\x9f\xa7\x40\x96\xcf\xee\xea\x2b\x20\x0f\xd1\xf9\x3a\xa8\xd6\xc1\xb3\x5b\xfe\xbc\xad\xd3\xe7\x98\x5d\xe0\x95\x0f\x24\xdc\xe3\x6f\x46\xcb\x60\x4d\x54\xe8\x95\x9c\xe3\xeb\x92\x03\xce\xf1\x9f\x88\xe5\x82\x1e\xdc\x53\x05\x14\xf4\xd7\xa6\x82\x34\x33\xf8\xf7\x8a\x5e\x00\xe1\x85\x4e\x68\x98\x26\xa2\x80\x63\xe6\x81\xa0\xed\x3b\x6c\x57\x99\xdc\x37\xe1\xe3\x1f\x42\x91\x54\x3f\xe1\x2b\x50\x30\x60\xab\xc1\x13\xa3\x34\x7a\xa2\xff\x59\x6c\x86\x4f\x3f\x27\xd2\x5b\x2c\xf1\xfc\xc1\x25\xc8\x8f\x67\x8b\x2e\x71\xbd\x10\x07\x1b\x62\x46\x80\x06\x3a\x60\x43\x73\xe5\x60\xd7\x49\xc4\x0f\xf1\xf3\x7a\xa7\xa1\x9f\x62\x4a\x31\xe9\x58\x44\x24\x09\x05\x7b\x07\x8b\x4c\x81\x69\x97\x60\xcc\xe3\x04\x0c\xb4\x4b\x10\xb4\x1c\x81\x45\x07\xac\xfb\x9a\x30\x9c\x6e\x72\xd7\x8e\x33\x73\x06\xdc\xa1\xa3\xd5\x26\x2e\x80\xa1\x7f\xfa\x19\x51\xf1\x25\xe7\x1a\x23\x08\x86\x86\xec\xba\x82\x04\x26\xcb\xc0\xc6\x22\xb3\x1d\x57\xe9\x17\xea\x03\xf4\xa5\xe8\x13\x8d\x85\xb1\xd9\x62\xce\xb3\x69\x72\x69\x68\x8c\x18\x2b\x61\x17\xaa\x03\x8d\x41\xd5\x2e\x71\xf5\xbb\x50\x1c\xeb\x71\x8b\x54\x82\x85\x52\x45\x40\x92\xa9\xf5\xd8\x78\xa9\xb3\x1c\xa8\x0f\x8f\xbf\xb9\x21\x70\x4d\x3f\xe1\x92\x7d\xe8\x1d\x06\xfe\xe9\xe7\x60\x29\xcd\xb1\xf4\x79\xd5\x69\xfb\xa2\x3f\x4c\x1a\x7b\x05\x3a\xad\x9c\x30\x87\x4b\xe6\x5d\x9d\x12\x34\x28\x47\x9f\x21\x95\xb1\x35\xca\x6b\xb9\xc2\xe7\x2d\x27\x24\x08\x28\x76\xc1\x29\xa5\x74\xda\x31\x7f\xfc\xba\x2d\xf3\xd9\x90\xd8\xad\x2d\x63\xd4\x4b\x32\x39\x08\x85\xcd\x1f\x6d\x2d\xfe\x0e\xcc\x94\x69\x76\xd7\x2c\x3b\x36\xd2\xa9\x5b\x36\x12\x46\x37\x7a\x21\x0b\xa5\x46\xfb\x20\x97\x13\x0d\x3e\x64\xbb\x72\x95\x4d\x4f\x43\x5e\xe4\x78\x67\x04\x24\xcc\x25\xbb\x39\x86\x84\xb0\x43\xd8\x4b\x0b\x0e\xd3\x42\x01\x53\x0b\x4b\x34\xf9\xf5\xc6\x91\x7a\x08\x89\x76\x26\x1f\x20\x20\x3e\x91\x0c\x3f\x90\x32\x9a\x82\xe1\x2b\xd6\x12\x1b\xd1\x68\x74\x99\xc7\xa9\x2a\x87\x69\xd0\xab\x9d\x77\x6b\xe3\x90\x70\x81\x79\xcc\xd8\x80\xa0\xfb\xf8\x31\x48\x31\x18\x77\x08\x3e\xa8\x67\x95\x34\x14\xa5\x03\x75\xed\xc8\x0e\x9c\x49\x3d\xc1\xde\xc7\x31\x81\x6d\x93\xdb\x23\x31\x43\xa0\xb9\xc3\xc0\x83\x65\xd4\x2d\xfe\x36\x19\x52\xf6\x2d\x05\x35\x29\x8e\x5b\xfe\x22\x9a\x45\x21\x46\x3b\x8f\xd3\xbd\x8e\x28\x53\xee\x66\x18\xde\xd8\xae\x21\x81\xe2\xde\x10\xa7\x3a\x13\x29\x52\xcc\x21\xda\xb4\xc7\x00\x11\x5b\x8c\x47\xba\x75\xec\x40\x32\x43\x4f\xef\x28\xde\xe1\x86\x1e\xaa\xf1\xbd\x83\xcf\x9e\x5c\xc2\xbb\x77\x1f\xda\x84\xb5\xe3\xba\x79\x37\xb6\x2b\xcb\xee\x1b\x96\x43\x18\xb9\xe8\x30\xb2\xc9\x0f\xb4\x93\x87\x56\x65\xbd\xce\xe3\x6e\x69\x85\x75\xf6\x74\x61\x80\x0c\x37\x40\x56\xbc\xe7\xd1\x85\xa8\x0f\x06\x7f\x35\x2f\xd7\xa4\x84\x4e\x1d\x06\xc1\x2e\x9b\x3d\xf4\x27\x70\xe1\xda\x33\x06\xc2\x3c\x53\x7d\x90\xab\xf8\x6c\x84\x3d\x93\x1f\x75\x36\x52\x15\x3d\x18\x0d\xed\x4b\x1e\xb7\xa4\xb8\xda\xa9\x26\xbf\x99\xf6\xc1\x81\x8a\x04\x13\xdd\x3c\xd5\xd3\xb2\x6b\xcb\xe3\xeb\xaf\xe8\xbc\x3e\x2a\x72\x3c\x65\x1e\xa7\x3d\x19\x4a\x89\x8e\x46\xad\x3a\x40\x03\xb7\x05\xc0\xf3\x3b\x4e\x80\xd3\x4c\x33\x1c\x3d\x39\x83\x86\xf2\xb6\x75\x5c\x14\xbd\xc4\x56\x85\xf9\x12\xfb\x34\x5b\xd5\x87\x82\xde\x0c\x89\xa7\x5c\x2b\x59\x35\x32\x1d\x61\xfa\xcf\xb6\xcd\x3c\xc0\xdd\xa0\xb1\x7e\xfa\x99\xa7\x12\xc1\xe4\x21\x8f\xc5\xa6\x0b\x21\x8c\x63\xeb\x4e\xe8\xc9\x91\x13\x87\x1d\xdd\x4e\x31\x9c\x58\xe0\xec\xf8\x95\xd6\x40\x9d\xb6\x40\x68\xa8\xc2\xfb\x13\x86\xfb\x3f\xb6\xc6\xf0\x60\xba\x2b\x34\x11\x18\x05\x00\x79\x45\xb0\x58\x90\x84\xd8\x17\x9d\x40\xa6\x10\x8b\x40\x68\xb4\x64\x08\xac\xf3\xb8\x65\x0e\x05\x99\xf7\x32\x90\x56\xb0\x9b\x85\x18\x9d\x65\x03\xc0\x0a\xbe\x10\x9b\xaf\x3d\x6d\x56\x83\x94\x84\x90\xff\xa2\x48\x62\x30\xe0\xf9\x35\x6a\x03\x54\x74\x20\x2e\x1e\x7f\xbb\xca\x1f\xd2\xea\x3c\x75\x07\x04\x59\xe0\xfb\xb2\xc3\xd3\xc7\xdc\x00\x01\x5b\xd0\x70\xdb\xf1\xa4\x7d\x7f\xd2\x2c\x4c\x80\x88\x8e\xbf\x8d\x6b\xc4\x2a\xc2\xc1\xb6\xb5\x62\x83\xad\x21\x0e\x25\x35\x6e\xcc\xa0\x79\x9b\x7b\x4b\x0e\x13\x63\xb7\xcc\x10\x26\x1c\x20\x3c\xec\x18\xcf\x2f\x28\x43\xa9\x36\x84\xc3\x00\xb3\x1d\x4a\xcb\xf9\x9a\x77\x0b\x35\x55\x0c\xb4\x0d\xd2\xc6\x45\x04\x8d\x2f\x82\xe3\x43\x77\xdf\x74\x79\x9f\xbe\x8a\x3e\x95\xf9\x83\xa0\x41\xb0\x6c\x6d\x82\x67\x88\xd2\xd3\xdd\x1f\x8f\x1c\x09\x32\x25\x97\xb3\x68\xa7\x66\x0c\x01\xca\xe9\xc0\xd4\xd0\xe8\xab\x90\x73\x2a\x64\x1e\x6a\x68\x18\xff\xf8\xdf\x3b\xd4\x7d\x0e\x8d\x2b\x94\x54\xd8\x9c\x3a\x8d\xcb\xe6\xf1\xb7\x79\x94\xd0\xef\x11\x39\x3d\x90\xef\xc1\x00\x10\xfe\x8f\x1f\x6d\x79\x01\xc1\xda\x42\x4e\x82\x82\x3c\x8b\x02\x10\x7d\x88\x87\x93\xc7\xdd\x00\x44\x7a\xc6\xd8\xa9\x5b\x62\x07\x40\xd7\x53\x72\x28\x03\x9d\x1a\x58\xa8\x67\x57\x90\xd2\xd0\x61\x11\x6c\x0a\x40\xda\x24\x4d\x0f\x1e\x4c\xc9\x77\xc7\x57\xe8\xf4\x43\x62\x51\x47\xaa\x17\x68\x58\x7d\x24\xee\x46\xce\x71\x01\xa5\x51\x8d\x06\xf8\xbf\xc6\x32\xf7\xcc\xae\xa9\x9e\xab\x10\x06\x0e\x52\x82\xc0\x64\x58\x42\x0c\x04\x37\xa3\xe2\xf5\x10\x9c\x1b\x80\xdd\x69\xff\x21\xab\xc1\xc8\xc2\x30\xe4\x5d\x26\x61\x47\x20\xf6\x33\x76\xd7\x56\xe6\x70\x14\x48\x15\x74\xac\x2c\xba\x51\xe8\x40\x8b\x49\x35\x90\xba\x27\xd1\x7c\x02\x7a\x2b\xfa\xbf\x68\x90\x48\x5a\xfe\x47\x2a\x78\x36\x48\x21\xc3\x33\x67\xaf\xd3\x4b\x91\xbe\xc1\x4e\x6c\xe8\x58\x8f\x74\x7e\x24\xa7\xd7\x8a\xd4\x0c\xd7\xe0\xf4\x9d\x7a\x09\x13\xe6\x4c\x52\x8d\x24\x9e\x66\x2c\xd0\xa6\x5c\x02\x3b\x3a\x8c\xe9\xb9\x76\x23\x89\x18\xa9\x97\xb0\xb4\x83\x85\xad\x9b\x17\xd4\x91\xe0\x31\xb5\xf4\xcc\xd9\x45\x3e\xf3\x7e\x2c\x5b\x03\xac\x52\xf8\x22\x34\xfc\x50\xa9\x17\x5e\xf2\x38\xc3\x3f\x50\xea\xe4\xa1\xa1\xff\xd4\x16\x34\x2c\x6d\x9d\x96\x46\x8d\x93\x11\xb2\x7f\x0b\x26\x14\xbf\x00\x05\xf3\x14\x9f\x20\x08\x05\x2f\x23\xf4\xd5\x55\xe0\x91\x0b\x7b\x30\xee\xd7\x3f\xfd\x9c\x05\x06\x95\xdc\xf0\x7d\x0d\x45\xd9\xea\x61\x84\x0e\xb3\xe4\x31\x07\x92\x2a\x0d\x94\xea\x82\xef\xb6\x18\xb2\xb5\x4c\xbe\x8a\x3b\x37\xa8\x66\x16\x43\xc6\x57\x1f\x3a\x69\xd3\x53\x4c\xf5\x21\xcc\xbf\x0a\xf5\x1b\xb9\x78\xa9\xf1\xe3\xc9\x68\xbf\x33\x0a\xce\xc2\x09\x9e\x0d\x55\x45\x68\xa4\x12\x8f\x53\xf7\x4f\x3f\x3b\x19\xcb\x32\x42\x32\x3d\x54\x72\xe4\xa3\x21\x6e\x0c\x8f\x0d\xb8\x1f\x60\xac\xb1\x33\x8a\x5f\xa8\x4a\x3b\x6f\x2b\x22\xe8\x4b\xdc\x0f\xe4\xad\xdf\xe4\x64\x16\x87\xa1\x74\x0a\x05\xe2\x42\xd6\xc7\x89\x46\xe8\xe0\xc8\x19\x1d\x52\x0f\x4a\xc1\x47\x77\xbe\x52\x1a\x39\xfc\xe9\x3a\xa9\x0d\xfe\xaa\xa0\x0a\x4b\xae\x34\xaf\x47\xa3\x8d\x18\x00\x7a\x36\x31\x2c\x08\x46\x5b\x73\xb7\xe3\xe4\xd2\xd8\xb0\xd9\xb2\x20\x75\xe9\xb0\x1f\x86\x87\xf2\xde\x55\x2e\x88\xcd\x61\x5c\x78\xe6\xbe\x75\xbb\x4d\xc5\x4a\x62\x05\x8c\xf1\xc0\xf8\xd5\xba\xf6\x57\x8a\xa8\xfe\xb8\x01\x59\x96\x9f\xb8\xf6\xf1\xc3\x5b\x30\xe1\x2d\x98\xf0\x16\x4c\x78\x0b\x26\xbc\x05\x13\xde\x82\x09\x6f\xc1\x84\xb7\x60\xc2\x5b\x30\xe1\x2d\x98\xf0\x16\x4c\x78\x0b\x26\xfc\xf3\x06\x13\xbe\x52\x65\xf3\x05\x03\xe7\x2d\xc2\xf0\x16\x61\x78\x8b\x30\xbc\x45\x18\xde\x22\x0c\x6f\x11\x86\xb7\x08\xc3\x5b\x84\xe1\x2d\xc2\xf0\x16\x61\x78\x8b\x30\x7c\x4b\x84\xe1\x4f\x7f\xfe\xc3\x5f\x0f\xc7\xbf\x7c\xfc\xdb\x2b\x50\xda\x5e\xea\x44\x5b\x17\x39\xb1\x1c\x6c\x49\x05\xd8\x16\xbb\xdc\xfc\x73\xb5\xc5\xee\xea\xcd\x3f\x57\x7b\xb8\xfe\xd3\x56\xfb\xf4\x81\xc9\x17\xa7\x66\x07\x12\xdb\xba\x9e\x41\xe5\x13\x3b\x91\x3e\x79\x97\x04\xed\xee\xe4\xf6\xed\x35\xcf\x4f\xeb\xe3\x6f\xaf\xf3\x22\x0f\x8d\x1a\x6e\x03\xb5\xf8\xf6\x36\x65\xbd\xb9\x22\x08\x50\x35\xab\xda\x6c\x5e\xf2\xd1\x15\xcb\xed\x05\x9f\x5e\x66\x9d\x23\xf8\xf4\x81\x7a\x7b\x7c\x9b\xaf\xcd\xa6\xd5\xd3\x4a\x6e\x5f\x18\x3b\xb5\xbe\xc4\xf7\xce\xba\xea\x91\x93\x61\xc3\x85\xea\xbe\xe8\xa2\xe8\x44\x09\x80\x9c\x52\x20\xee\x1a\xea\x64\x17\xb4\xa4\x3e\x34\x19\x64\x4b\x1e\x37\x62\x8d\x6f\x01\xd7\x48\xc9\x1f\x18\x60\x56\xa1\x88\x1b\x04\x30\x4a\xd3\x3b\xce\xee\xb8\x90\x7f\xfa\x50\x96\x72\x09\x5d\xef\x1b\x56\xfd\xb2\x1a\xb5\x9e\xa5\x69\xd2\xc0\x62\xc4\x53\x8b\xb7\x33\x55\xc8\xb6\xf1\xe9\xc3\x8a\xd2\xbd\x31\x3e\xf3\x3d\xd7\xbe\x06\x1b\x3f\x64\x11\xf5\xe4\x97\x09\x2c\x71\x51\xd2\xb0\xa0\xbe\x61\x48\x42\x5e\x39\x48\x01\xdd\xbe\x79\x8e\xae\x3f\xbf\x6b\x7b\xe9\xae\x30\x6a\x2e\x16\x82\xf4\x9b\xee\x1a\x0a\xce\x77\x35\xc2\xbd\x6e\xcd\xaf\x03\x50\xbc\xb4\x35\x95\xfa\xc2\xa7\x4e\xf6\x4e\x28\x08\x68\xb6\x6d\x05\xfc\xdd\xa5\x93\x1d\x6e\xdf\x5e\xe7\x3f\xee\x94\xfa\xe3\xef\xa3\xd5\xe6\xc3\xd3\xb7\x71\xf1\x58\xcb\xe2\x4b\xf0\xf8\x8e\x7a\x57\x94\x44\x79\xaa\xd0\x70\x49\x71\xed\xa7\xcd\x43\x03\xf8\x93\xd0\xad\x9b\x6f\x5f\xb8\x30\xb5\x6a\x87\xed\x9f\xcb\x5e\x6a\x8b\x1f\x86\x19\xfb\xc2\x67\x38\x3c\x78\xdc\xf4\xd3\x07\x1a\x96\xf7\x7b\xf4\xc5\xb2\x3e\xbe\x03\x2a\x4f\x73\x70\xdb\x07\xdb\xd0\x1e\xff\xee\xc9\xf5\x5f\xb8\xe8\xba\x0f\xed\xd3\x07\xaa\xf0\xbc\x5d\xa7\x6e\xdb\x7d\xdb\x57\xa7\xfe\x50\x69\x84\x30\xd1\xd6\xbf\x32\xc7\x9f\xe3\x9b\x4b\x1c\xce\x42\xf1\xa0\xf8\xc8\xb3\x0f\xa7\x10\x53\x2f\x68\x1e\x88\xbf\xb2\x50\xaf\xe9\xa0\x44\xb8\x4f\xd3\xb8\x13\x6a\x61\x1c\x97\x12\xbc\x16\xc7\x8d\x13\x18\xc2\x52\xf5\x2e\x74\xb4\x07\x4c\x44\xd1\x11\x3c\x11\x93\xd0\xa9\x1e\xbe\x3f\xbf\x8b\xfb\x27\x2b\x30\x98\xcc\xdf\xf3\xcc\x1a\x55\x4d\x94\x82\x30\x82\x51\x99\x19\x3a\xcc\x80\xf1\xd6\xce\x64\xb0\xad\xad\x7f\xfa\xb0\xe6\x8c\x24\x71\xbc\xf6\x2f\xfb\xf6\xe5\x7e\x9e\x88\x75\xc1\x95\x80\x68\x36\x3b\xd5\xa6\x9e\xa0\x17\xc9\x8f\xbe\x63\x90\x88\xdc\x04\xd3\x6d\x09\x9a\x78\x1d\xaf\x6f\xe3\xed\x73\xbc\x69\xc2\x7c\x6e\x08\xa1\x63\xea\xf7\x0c\x01\x9c\xaa\xfd\x32\x96\xf1\x8d\xc8\xab\xcf\x7f\xf8\x32\x76\xcd\xe0\x0d\xbb\xa6\x2f\x72\x95\xec\x65\x7d\x2c\xf8\x8b\x2d\x76\xba\xfd\xe7\xad\xdc\x2f\xa1\x06\x3c\x6b\xc3\xf9\x87\x3f\xfc\x61\x47\xc5\xf1\xa5\x91\x9f\x43\x38\x9c\x98\x1c\x9d\x4a\x4b\x76\xf9\x0f\xdb\x7e\xa4\x43\x26\x34\x6a\x0f\x7e\x7c\x92\x50\x86\x8e\x05\x3c\x3d\x51\x04\x34\x74\x27\x9c\xd5\x25\xde\xef\x40\xbd\xf1\xba\x6a\xfc\xf7\xf2\xbd\x3f\xc7\x46\x1b\x86\xf3\xaf\xa3\xa0\x30\xc0\xa4\xbe\xed\x36\xfe\xb5\x8b\xae\x42\x2a\x8b\x53\xaf\x07\xb2\x4e\xb6\x33\x4c\x23\xd5\x71\x81\xe4\xcd\x4b\xcb\x2b\x66\x70\x59\xa7\x70\xdf\x05\x30\x7c\x25\x89\x47\x77\x86\x70\x8e\xbf\xe0\xfe\xd8\xa3\xff\x50\x49\xfe\x21\x0c\x14\x84\xd7\x9e\x4f\xd5\x2e\x53\xed\x79\xed\x4c\x1f\x42\xc3\x3a\xaf\x54\x8d\xaa\xfd\x1a\x3b\xfe\xd5\x58\x55\xcf\x7f\xf8\x99\x1d\x5f\xff\xed\xa6\x85\x33\x3f\xd5\x0f\x52\xcf\xbc\x3c\xd1\x32\x0a\xd4\x03\x3f\x3d\xd1\x32\x8a\x50\x0f\x45\xe3\xa9\x36\x91\xdd\x9d\xf9\xf3\x3c\x61\xa4\x9a\x11\x26\xcf\x14\x75\x27\x80\xef\x51\x83\xe3\x3d\xa4\x14\x55\xb4\xcd\x87\x44\x2b\x0e\xe6\x7b\x12\x20\x1f\xad\xd4\x3a\x41\xc3\x69\xac\x33\x16\x05\xae\x90\x68\xc7\x65\x84\xed\xcb\xdb\xdf\xb7\x31\x87\x18\xd3\xe2\xff\x63\xf5\x9f\xd6\x5a\xb0\x92\xef\xb9\xb3\xb6\x57\xdd\xe3\x67\x0b\xe5\xa7\xd3\x08\x9e\x0a\x08\x01\xad\xbb\x23\x0c\x71\xe4\xb8\xcf\xd0\xef\x98\x61\x22\xfc\xdc\x8a\x6e\xe0\x8e\x25\xf8\xcd\x3a\x7d\x78\xc1\x64\x60\x50\xb9\xfd\x3f\x53\x04\x3e\xc0\x13\xc0\x70\xe0\x7e\x66\x0d\x00\x99\xf4\x1d\x6b\x00\xad\x32\x74\xae\x06\xbd\xeb\x3b\x18\xd0\x7f\xfc\xd7\xff\xfe\xfd\x5f\xff\xfc\xfb\xbf\xfd\xfe\xe3\x77\x7a\x10\x3a\x89\x8d\x25\x81\x89\x81\xb6\x32\x10\x3b\x00\x02\x96\x0d\x38\xc6\xcf\x6b\xb0\xc7\xbe\x86\xec\x3f\x30\x55\x03\x94\x97\x6d\xfc\x59\x0b\x10\x8c\x47\xbb\x57\x6a\xbc\x54\xf2\x31\xf1\x5c\x6d\x28\x99\xd4\x95\xfa\xd8\xdc\xcb\x7c\xae\xd4\xb4\x86\x84\x61\x3f\x66\x0c\x90\x39\x43\x80\x1c\x6c\x78\xcc\x13\x30\x6a\xb2\x86\xe4\x0f\xa4\x1f\x71\xb5\xfc\xf1\xa2\xa4\x45\x8e\x88\x50\x08\x0f\x6a\xde\xe1\xbf\xef\x80\x9c\x66\x3e\x33\xd5\x6a\x4b\x23\xd3\x8e\x91\xc4\x40\x82\x4f\x61\xac\x4b\x8e\x95\xdb\x22\x4c\xda\x8f\x09\x1c\xa7\xdd\x42\x94\x11\x10\x69\xc5\xa9\xca\x1d\x56\xe6\xd3\x07\x0e\xed\xc7\xd7\x4e\x8a\x6c\x44\x00\x7c\x1d\x70\x6f\xdb\x30\x54\x64\xc4\xc0\x9d\x4c\xe3\x9e\x1b\x36\x8d\xf5\x4e\xec\x70\x13\x65\x98\x87\x37\x8f\x71\x91\x43\x4d\x27\x69\xdf\x33\x1e\x1b\x60\x63\x2c\xa4\x78\x45\xde\x65\x1c\xa7\x69\xe8\x12\x76\x7a\x3d\x4e\x04\xc6\x89\xb3\x81\x88\x0d\x07\xd5\xab\x09\x7e\x3a\x89\x52\x8d\xc4\x13\x53\x17\x58\x30\xa2\x95\xac\x19\x69\xef\x58\x48\x24\x19\x31\xc3\xb9\x2e\xd2\x48\x34\x64\x67\x8b\xc9\x51\xe9\x33\x95\x44\x43\x95\xd0\x1e\x7f\x73\x3e\x31\x43\x97\xfa\x68\xea\xb1\x05\x00\x72\x66\xe7\x5b\xdc\xb6\x98\x64\x17\xe0\xf5\xc8\x92\xc7\xb9\xb5\x04\x68\x85\x23\x8c\x56\xef\xf3\x38\x43\x98\x2b\x20\x8e\xd4\x3c\xfe\xf6\x10\x1e\xa2\xa3\x58\x44\xd3\x2d\xe8\x9d\x20\x53\x87\x58\x23\x2c\xd4\xf4\x6e\xc5\xcc\x63\x14\xe7\xdc\x98\xdc\xc6\x01\x41\x04\xdd\x41\xd0\xb8\x77\x2a\x83\x11\x21\xb5\x79\xdc\x02\xa8\x83\x1a\xa0\x8c\x7c\xd8\x3c\xee\x43\x26\xb8\x32\xeb\x76\xdc\x7c\x94\xb1\x8a\x97\x74\x29\x5b\x2c\xb1\x6e\x70\xc9\x26\x4e\x32\x90\xb0\x67\xb6\x4d\xdd\x10\x32\x65\x7e\xf4\xdd\x8c\x49\xa8\xcb\x16\x75\xd1\xd8\x60\x63\xe1\x99\x70\x9a\xb0\xe8\xf1\xa4\x8f\x33\x6d\x18\xc0\xf7\x6b\x42\x46\x06\x27\x44\x6a\x92\x1b\x96\x8a\xa4\xc7\xae\xab\xa1\xbd\xad\xd4\xca\x88\x81\x21\x5f\x65\x27\x8d\x30\xdf\xac\x9e\x91\xd2\xc0\x03\x4b\x68\x4b\x1e\x77\x62\x5b\x95\x58\xfb\x39\xbe\xc0\x48\x92\x24\xeb\xf5\x26\x06\x2b\x00\x79\xee\x7d\xb9\x89\xc8\x87\x98\x07\x39\x25\xc6\xb8\xcd\xe3\xe4\x10\xb1\x7b\xf1\x0c\x5b\xb0\xd1\x0a\xd8\x28\x5e\xf2\x38\x47\x16\x8c\x1b\x78\xef\x25\x77\x8c\xed\xde\xe1\x7a\x93\x35\x8c\xa4\xa7\x0e\x6c\xfa\x47\xbb\x6d\x26\xeb\x5e\xd3\x85\x65\xdb\x6a\xbc\x65\xcb\xc8\x31\x45\x07\x02\x2c\x6d\x66\xd4\x65\x66\x47\xaa\xac\x45\xd0\x87\xa0\x04\xcf\xc2\x2e\x3a\x84\x8c\x01\x72\xd4\x0c\xd1\x20\x6c\x24\x21\xb8\x34\xfe\x26\x33\x47\xd6\xf0\x38\xcf\x90\x9b\x83\x2e\xa5\x2e\x79\xc4\xe0\xfa\x88\x35\x1d\x88\xc2\x03\x45\x4a\xa0\xbc\x5e\xb3\xf4\x66\xba\x94\x24\x92\x15\x92\xa6\xca\x1e\x9d\xae\xbe\x92\x01\xcd\xaf\xba\xce\xe3\x86\xb5\x85\xa6\x0e\xe8\x42\x80\x0c\xe3\xba\x23\x76\x23\xe0\xdc\xf4\xde\x69\x68\x5d\x3a\x05\x8d\x56\xe4\xc9\x6c\x64\x1d\x3c\xa9\x06\x85\x0a\x6d\x02\x53\x13\xbb\xd5\xc8\x25\xe8\x60\x7b\x57\x2b\xb1\x8e\x33\x95\x5a\xa9\x38\x70\x9e\x00\x68\x4c\x3c\x3a\xfe\xa4\x77\xe4\x5c\x73\xeb\x09\xdd\xdd\x2a\x69\x53\xf2\x3e\x00\x26\xdd\xb3\xd9\x43\x53\x24\x9b\x02\x98\xbf\x66\xde\xa9\x36\x84\x9c\x12\x77\xad\x05\x57\x7a\xf7\x74\xf5\x98\xc9\x93\x55\x9e\x33\x7d\xa0\xdb\x01\x28\xb5\xb6\x45\xf8\x32\x8f\x1e\x41\xd0\x30\x17\xea\x16\x87\x81\x73\x3e\x64\x58\x1b\xc1\x8a\xb0\xe3\xaf\x62\x0b\x02\x0a\x20\x50\xf8\x57\xab\x97\x75\x6e\xb6\x4c\xf3\x6d\x87\xc7\x14\x56\x63\xdb\x01\xca\x7e\x27\x46\x12\x8f\x5d\x6e\x97\x09\x1f\x85\x70\xd4\x8c\x3c\x78\xc2\x79\xa7\x33\x98\x63\x01\x13\xc5\x4a\x40\x7a\xf1\x3b\x06\x81\x55\x20\x94\xed\xe9\xcb\xc5\xa9\x8d\x47\x4c\x90\x38\x58\x38\xf7\x4b\x5c\xe7\x8c\x18\x6f\xb7\x83\x53\xd3\xd8\xb8\x71\x4c\x87\x60\x95\x60\x1b\xcd\xfa\x39\x73\x16\x99\xc7\x11\xbe\x1b\x24\x85\x32\xd2\x3e\x72\x6d\xa4\x4f\xb9\xeb\x9d\x8c\x13\x98\xd1\x47\xac\x97\x24\xd4\x6a\x69\xc4\x48\x46\x29\x23\x9e\x2d\x12\xea\xcf\x41\x4e\x31\xbe\x8e\xa4\x35\x2a\x3c\xae\xfb\x92\x13\xc3\xb3\x76\xc0\x57\xaa\xc7\x3d\x26\x22\x60\xa2\xb6\xf5\x25\x8f\x3b\xdd\x86\x56\xbe\x22\x7b\x13\x5d\x47\x2c\x6e\xa4\x41\xeb\x41\xea\x21\xd1\x42\x24\x5d\x93\x36\x84\xc4\xda\xd2\xa8\xcb\x76\x9c\x54\xec\x8e\x6c\x5c\xa7\xea\x79\xc0\x73\x01\x8b\x1f\x22\xe7\xcc\x68\xf4\x10\xd8\x83\x6c\xec\x3b\x96\x62\x71\xc4\x33\xdb\xd1\x25\x54\x90\x16\x52\x51\x3a\x52\x22\x90\x64\x8b\x78\x90\xf1\xc8\x28\x12\x42\x4b\x33\x6d\x30\x54\x02\xc8\xc9\xfe\xe9\xc3\x6a\xe0\x22\x46\x26\xfd\xbc\x32\xf5\x8a\x0c\x24\xd9\xa5\xbe\x1e\x48\x7b\x05\xc2\xeb\x94\xa3\x8c\xdc\x9f\xcc\xc8\x90\xa9\x18\x20\xb4\x26\x1d\xa9\xc1\xa8\x1e\xf0\x89\xe4\x8f\x6c\x30\x64\x1b\xc3\x61\x4f\xce\xc0\xa3\x2d\x7c\x0a\x95\xe1\x0c\x1a\x75\x18\x21\xde\x66\x3d\x07\x93\x86\x14\x46\xb6\x9a\x96\x4c\xf6\x5d\xa9\x42\x96\x87\x26\x6d\x9f\x3e\xac\x54\x2b\x87\x45\xdd\x0f\xa1\xdb\x2d\x38\x60\xe9\x80\x07\x5e\xc0\xfd\xd1\x36\x00\xe5\x1b\x41\x3d\xfe\x28\x2b\x02\x85\x13\x03\xa8\x65\xda\x5b\xfc\x6d\x4f\x24\x81\xe7\x64\x67\xe2\x1a\x8b\xd2\x43\x43\x54\xe4\xca\x23\xf3\x79\xe6\x4a\x08\x5a\x25\x20\xef\x14\x4e\x8c\x0e\x04\x5a\x95\x33\x53\x03\x43\xcb\xf8\x1a\xd2\x09\x42\x45\xdb\xf2\x4b\x13\xf5\x8f\x6a\xa6\x98\x20\xbd\x38\x96\x2f\xa6\x8c\xec\xc5\x95\xc6\x80\x3b\x0a\x28\xcd\x54\x75\xc4\xc5\xed\xd3\x07\x21\x49\x30\x40\xfc\xb4\x37\x43\x28\x06\x95\x0d\xc8\x1b\xf1\x99\x49\x16\x63\xe6\x8a\x1c\x9e\x7a\xcf\x65\x89\xfd\xc5\x36\x53\x1e\xb0\x14\x60\x71\x75\x63\x03\x0d\x29\xf7\xdd\xe3\x6f\xfa\x39\x6a\x0b\x0d\xf0\x3c\x53\x9f\x47\xdc\x1b\x50\xc2\xad\xc4\x9a\xbb\xa2\x66\x40\x79\x13\xbb\x89\xc3\x2e\xf5\x8c\xf8\x88\x9c\x82\x2c\x0e\x8f\x2f\x59\xdb\x58\x4a\x7c\xd0\xf1\x25\x34\x6f\x40\x66\x23\x03\x1e\xae\xcf\xfc\xf6\x3e\xb2\xc1\x0f\x0b\xdc\x4d\x00\xc0\x77\xd4\x33\xf4\x1e\x54\x86\x48\x4f\xc6\x2b\xed\xf1\xaa\x26\xe6\xbc\x67\x56\x53\xfa\xa7\x27\x02\x79\x8f\x67\x67\x23\x04\x93\x8d\x1d\xb7\xbf\x0b\xda\x4b\x74\x89\xc9\x15\x10\x54\xe8\x91\xb1\x6c\x41\xe7\x29\x6d\x11\xfd\x7e\xba\x07\xa4\x22\x53\x68\x3c\x7a\x3b\xe6\x14\xa6\xdd\x25\xb5\x80\xd0\x89\xc3\xb2\x70\x64\x57\x39\x36\xc5\xfc\x62\xc5\x4a\x76\x95\x5f\x68\x32\x7d\x5f\x64\x27\x04\x9c\x2d\xec\x61\x3a\x28\x20\x80\xf1\xec\x82\x56\x3b\x32\xa0\x42\xd0\xa3\x1f\xc4\x0a\x78\xf5\x43\xa8\x6c\x08\x18\x6e\xb3\x0f\x25\x60\x34\x3c\xc6\xea\xab\x93\x94\x76\xcc\xf8\x45\x70\x7e\x09\xc3\xb6\x4a\xe8\x18\xa1\xc6\xb5\x7a\x36\x6a\xec\x70\xf2\x1d\x33\x2f\xb6\xf5\x09\xe0\xcf\x15\xd1\x42\x9c\xa4\x7d\x19\x63\x42\x3a\x0d\x10\x6c\xd9\xef\x59\x29\x21\xfa\xeb\x11\x79\x23\xec\x0a\x56\x6f\x2a\xe8\x57\xd1\x5a\xcb\x81\x2c\xd7\x81\x4c\xe9\x43\x0d\x83\x8d\xb1\xde\x07\x8f\x5f\x38\x9e\x41\x3d\xe6\xbb\x48\x7a\x71\x23\x0b\xb5\xbb\x87\x44\x56\x3b\xc5\x6c\xfc\xd3\x87\x06\xc0\x61\xa7\x0e\x9d\x4c\x39\xa3\xfc\x71\x7b\x2d\x33\x69\x5a\x62\x07\xf1\x6d\x79\x08\x54\xc5\x1a\x4a\xe4\x69\x4f\x6d\x4d\x42\xe5\x47\x67\xba\x31\x57\xf0\xa6\x83\x90\xa3\x19\x96\xef\xcd\xb0\x04\xa1\xa0\x52\x11\xc5\xcf\x43\x4a\x12\xcf\x1e\x22\x89\xac\x2a\xbb\xc9\xc4\xa1\x97\x42\x12\xb7\x9a\x87\xad\x22\x01\x19\x50\xa1\x75\x8d\x26\xf3\x38\x89\x3f\x2c\x01\xe0\x02\x1f\x27\x90\xa1\x64\x4a\x70\x4f\x2d\x87\x45\x0f\x24\x61\xa1\xea\x9e\x4a\x23\xb3\x8b\x0e\xec\x36\x24\xee\xa8\x0a\x92\xed\xad\x1b\x0c\xbb\x50\xa0\xd8\xb2\xb2\x2e\x6c\xe0\x60\x39\x70\xac\x36\x0a\x6e\x59\x42\x71\x7c\xb2\x60\x9d\x43\x0c\x2b\x10\xb2\x77\x26\x0c\x53\xa1\x03\x86\x7d\x3b\xce\x31\x60\x42\xc8\x4d\xeb\x90\xe6\x58\x3d\x5f\xf2\x38\x35\xa3\x8e\x52\x32\xec\x30\x9f\xc7\x72\xad\xe9\x62\x79\xba\x7a\xc8\xe5\x19\x28\x13\x84\xea\x36\x64\x57\x43\xa1\x32\x68\x6a\x05\x48\xa4\x3b\xc4\x22\x62\x25\x37\xce\xd7\xa1\x4e\x14\x24\x85\xd4\x91\xca\xb1\x84\x42\x60\x7b\x05\x8f\xa2\x9d\xcf\x31\xf3\x93\x40\xf7\xc1\xb5\x7c\xda\x41\x6e\x98\x85\x60\x16\x72\x9d\x45\x28\xa6\x5b\x16\x9e\xcf\x82\x3b\x69\x97\xc9\x59\xf7\x05\x63\xde\x32\x58\x2b\xf4\x2b\xcb\x82\x17\xa4\xc3\x78\x3c\x5d\xcf\xb6\x3b\xc8\x16\xe4\x8a\x47\x93\x69\x63\x30\x1f\x40\x4d\x2b\xa9\x48\xea\x76\x36\x42\x7f\x29\x82\x7e\x31\xdb\x83\xef\x28\xe4\x39\x87\x5a\x18\xd3\xd1\x77\x4f\x09\xca\x48\x64\x09\x6d\x59\x20\x79\x33\xa7\x94\x60\x98\xef\x34\x9a\x39\x9e\x20\xe7\xed\xb8\x53\x75\x0c\xe3\x98\xb1\x3a\xdb\x60\x8b\x51\xe5\x18\xa3\xcc\x54\x95\x99\xcf\x87\x22\xc3\x3b\x9d\x54\x90\x75\x16\x69\x77\x3d\xde\x9f\xb3\xab\x40\xd8\x97\xb7\x14\x97\x05\x45\x02\x14\xd0\x69\x61\x85\x48\xd2\xab\xe5\x75\x9c\x0a\x62\xd0\x33\x12\x8c\x79\x83\xf6\xe7\x9e\x4d\xfc\xe2\x49\xa0\x01\x16\x7a\xe2\x20\x3f\x0a\x5b\x63\x56\x45\xea\xec\xdd\xe3\xc8\x75\x0f\x35\x53\xc2\x46\xd9\xf2\xc1\x15\xea\x12\x3a\x68\xc0\x5c\x6b\x41\x52\xd0\x30\x67\xee\x2d\x53\x15\x5b\x85\x5a\xa2\xa9\x8f\xec\xac\x72\x40\x1b\x3c\xd5\x7d\x27\x20\xdd\xb9\x81\x47\xa0\xe9\x51\xdf\x4a\x00\xb3\xbb\x9b\x32\x90\xc7\x81\x35\x3e\x8b\xc2\x78\x36\x74\xca\x8a\x17\x86\xc2\xcd\xd7\x64\x5e\x34\x6e\xf0\x3d\x2f\x10\xd2\x35\x33\x46\xb7\x6f\xc4\x2a\x80\xc1\xe3\x6f\xae\x27\xda\x81\x05\x35\xa2\x21\xdc\xf6\x6e\x10\x6b\xdf\xd2\xd9\xda\x71\xa6\xd7\xeb\x54\x46\xeb\x04\xc2\x6d\x69\x52\xd7\x16\x06\x06\xfe\x90\xe7\x87\xbe\x22\x09\x81\x2e\xa1\x6b\x87\xe5\xc7\x82\x64\xfb\xe2\x75\xc2\x39\x87\xb5\x33\xe1\xe8\xc3\x66\x40\x8b\xb8\x67\x4b\x19\x73\x87\x4b\x4c\xa0\xfd\xc4\xd6\x93\x71\x00\xdf\xd2\x3d\x43\x1f\x1a\x66\xac\xa0\xd9\x3c\xee\x9e\xa8\xd8\x5a\x86\x15\xf4\x79\x9c\x4b\x01\x9b\x6d\x5c\xb6\x1c\x2a\xf1\xeb\xb2\xbd\x7b\x44\x70\xe0\x43\xf2\x44\x76\xe0\x0b\x1a\x7b\xb9\xb7\xd8\xfb\xa1\x0b\xed\x66\x71\xb1\xa0\xaa\x65\xaa\x93\x7d\x0f\xb7\xab\xc7\x3e\x7f\xc4\xbc\x28\xa4\xb2\x5e\xc0\x7e\x32\x21\x5a\x8f\x68\x21\x59\x3a\x4a\xa6\x1a\xcc\xe0\x60\x8e\x59\x39\x19\xeb\x04\xfd\xf8\xd1\xe6\x9c\xa4\x1b\xc2\x39\x48\x96\x67\xf3\x00\x51\x64\x99\xad\x61\x0b\x3f\x19\x64\x26\xd2\x0b\x83\x25\x60\xc8\xa8\xb2\x99\x3e\xe6\xdb\x99\x5a\x13\x38\xee\x1e\x33\xf8\xd8\xe7\xa8\x1e\x40\xba\x6d\xa6\xac\xcd\x72\x55\xe4\x1c\x9f\x67\xe3\x1e\xc5\x8d\x0d\x94\x6c\xe3\x4a\xc3\x20\x61\x81\xc7\x34\x8f\x3b\xe1\x53\x48\xa4\x9b\x30\x63\x18\x7c\xdc\x50\x1e\x08\x87\x9d\xf9\x35\x49\x6f\x2b\x5c\x0e\x9b\xd0\xf5\x48\x6e\x42\x3d\x34\x0a\x78\xb0\x5a\x4f\xa4\x6e\xa1\x16\xdc\x02\x09\xa9\x0a\x94\x65\x4e\x2a\x6c\x61\xfc\xf3\x56\xed\x81\xb4\x5f\xeb\x80\x66\x0f\x39\xe8\x9e\xb3\xcc\xc2\x41\xb4\x68\x42\xcc\x28\xb8\xcb\x39\xef\xc9\x19\xfa\xec\xcd\x57\x25\x0e\xeb\x2b\x96\x6e\xdc\xd0\x92\x1c\x48\x1a\xed\xe6\x22\x5c\xdb\xc5\xa1\x60\xa6\x9b\x10\x85\xa3\xa3\x3f\x03\x32\x47\xc2\x22\xf5\x2e\x9f\x7e\x6e\xd4\x50\x22\xdc\xb9\x9f\xc8\x86\x9c\xa7\xc3\x98\xd3\x73\xdd\xea\x7d\x5f\x3a\x75\xf4\x6b\x43\x6f\x8a\xe9\xd4\x5e\xe1\xa5\xd0\x82\x12\x3e\x8e\xeb\xc8\x08\x15\xcb\x36\xa0\xec\x58\x66\x9e\x2d\x96\x34\xc5\x0d\x0c\x1a\xb8\xff\xb6\x67\x6b\x07\xd4\x11\x48\xbd\x02\x94\x2b\x2a\x20\x6f\xe7\x85\xa2\x93\xc9\x7a\xb2\xfe\x16\x35\xe7\x2b\x0d\x3d\x86\x9d\x86\x92\x09\x84\xaa\xea\xc8\x5a\x53\x74\x23\x44\xf6\xa6\x8c\xba\x54\xaa\x55\xcf\x41\x95\xe8\xd1\x89\x1e\x27\x30\xfa\xda\x21\x8b\xb5\xeb\xd8\xdd\x46\x95\xac\xca\x56\x4d\x80\x1c\x95\x50\x01\xd1\x78\x90\xd5\x96\x3c\x26\xe9\x66\x99\x5f\xef\x61\x86\xa4\x22\xd2\xad\x22\xd9\x1e\xa5\x1d\x0d\x09\xf1\x15\xbe\xed\x4d\xab\x42\x17\x1c\xef\xf5\xbe\x52\x5d\x06\x1a\x25\xa5\xcd\x15\xda\x54\xf5\xad\x36\x92\x41\x2d\x32\x6e\x56\x21\x53\xc0\x8d\x67\x49\x46\xa9\x71\xd7\x0e\x7f\x7f\x1f\x21\x1b\xbd\xa1\xe1\x28\x43\xf7\x0a\x05\x0e\x4b\x1e\x26\x5a\x6b\x28\xeb\x9b\x36\xd7\xcd\x25\xad\xf9\x2e\xe1\x6a\x7c\x2f\x1e\x8d\x15\x39\xc0\xd5\xba\xe4\x71\x0a\xcb\x50\xcf\x7a\x43\x4e\x56\xd0\x9e\x71\xbd\x0f\xf2\x8d\x59\xec\x4e\xa6\x9c\xc5\x75\x3d\x63\xf1\x83\x3d\x9c\x77\x83\x2c\x1e\x4e\x3c\xe0\x3a\x62\x6d\xd0\x8d\x83\xad\x5d\x57\x07\x69\x17\x03\xb7\x31\x93\x30\x09\x4c\xef\x07\x55\x5e\x7a\x3c\xbd\xab\x4f\xa1\x3e\xa6\x7c\x46\x13\x33\x34\xc6\xd9\x67\x07\xed\x45\xee\x47\x66\x58\xc4\xf3\x0f\xa1\x0c\x71\x72\xcc\xa6\x32\xc3\xc8\x25\x18\xa1\x8c\x6c\x3b\x33\xba\xfe\x42\x93\xeb\xf5\x99\x31\xff\x4b\xa5\xfe\xe6\xdf\xeb\x4c\x03\xc9\x68\x8d\x1d\x73\xf3\x8d\x86\x60\x0d\x7c\x04\xa1\x2b\x56\xae\xa7\x46\x5e\xf8\x98\x19\x01\x34\xb2\x01\x2e\x3e\x0f\xb2\x97\xb3\x51\x75\x43\x0c\x6b\x3c\xf6\xb1\x97\x6b\x04\x2b\x58\x48\xad\xb6\x36\x32\xc5\xb7\x40\xa8\x75\x87\x78\xd8\x83\x58\xeb\x1e\xc5\x7a\x17\xbb\x09\xf5\x1b\xb3\xe8\x89\x25\x93\x86\xc3\x48\x42\xc9\x9e\xf5\xcc\x2a\x9e\x31\xac\x7b\x43\xaf\x15\x27\xeb\x68\x06\x4a\x22\x2b\x35\x8f\x39\xb4\xf5\x1a\xc3\x5a\x6f\x83\x58\xf1\x9c\xc8\x10\x92\xe0\x65\x0f\x62\xf5\xfb\x6d\x55\xbe\x2d\x6a\xce\x9d\x5a\xd3\xf4\x69\x40\x66\x3d\x77\x78\xe9\x81\xc9\x04\xe9\x69\x5b\x76\x0d\xdc\x06\xfa\x4b\x03\x5f\xfb\x19\x6f\x11\x1d\x9e\xe5\xaa\x28\x8f\x89\x29\xe7\x71\x8f\x1c\xec\x0d\x1e\x80\xf9\x51\x86\x5d\xc3\x0d\x40\x56\x40\x7b\xc6\x1d\x6b\x63\xf6\x8b\x5a\x9e\xc4\xd7\x88\xd1\x35\x58\x65\x79\x31\xe2\xf1\x42\x78\x2d\x96\xe1\xef\x1f\x5f\xbb\x5d\x36\x37\xa7\x8a\xb0\xd1\x35\xd8\x21\x96\x8d\x4d\x3e\x13\x5d\x13\x5f\xf2\x78\x13\x5d\xb3\xcf\xc5\xd6\xe4\xe9\x4a\x7d\x21\xb6\x06\x7c\x06\xb2\x81\xb4\x8d\x98\x5e\xef\xbf\x56\x7c\x0d\x81\x8c\xe5\x26\xb6\xb6\xb9\x8c\xe1\x5e\x06\xf5\xb5\x3d\xaa\x76\xbb\x3e\x35\x34\x5b\xeb\x4f\xe2\x8f\x08\xbf\x54\xf4\x08\xdc\x3a\xb5\x66\xc4\xcc\xf7\x88\xd9\x0c\x98\xd5\x2d\x60\xd6\xbf\x1c\x30\x83\x67\x64\xf9\xa5\x01\x33\x47\x8e\xdc\xe3\x80\xd9\x11\x36\x26\xd6\xd8\xd1\xd9\xc2\xf6\xa8\x59\x3c\xcd\x5c\x9e\x6b\x27\x95\x27\x51\xb3\xe3\x56\x34\x31\x11\x19\xb2\xa9\xcc\x3f\x5f\xd8\x2c\x9d\x7b\x41\xe4\x9e\x0d\x5a\xb7\xc0\xd9\x38\xbc\x14\x39\x0b\x01\x3c\x43\x67\xfa\xf7\x0c\x9d\xf9\x3c\x3e\x0a\x9d\x25\x7b\xcf\xc3\x66\xc5\x0d\x00\x36\xcc\x0e\xd1\xa9\x95\xe7\x52\xf8\x2f\x88\xa1\x15\xf8\xe2\xce\xe9\x59\x30\x58\x6c\xff\x34\xa1\x34\x8b\xbf\xe5\xd7\x0c\xa5\x3d\x38\x95\x0e\xe3\xee\x9f\x3b\x8c\xf6\xee\x69\x18\x0d\x45\x81\x4b\x27\x6f\xff\x8c\x51\x34\xac\xba\xda\xf2\xcb\xa2\x68\x9d\x8a\xe6\xe1\xef\x15\x43\xfb\xf4\x61\x6d\xd4\x7a\x5d\xc3\xe0\xb6\x5f\x23\xc2\x74\x1b\x3b\xf8\xfe\x08\x93\x84\x96\x1e\xa6\xf0\x19\x71\xba\xf8\x85\xf0\xd3\x88\x5b\x59\x13\x44\x22\x76\xd7\x79\x1b\xa2\x9e\x66\x65\xe9\x4d\x5d\x70\x36\xeb\x7c\x34\xba\x72\x1d\xdc\x06\x79\xf3\xe9\x83\x66\xc3\x7e\xad\xfe\x8d\x91\x91\xdb\x68\xd2\xb7\x47\x46\xc2\x32\x1e\x96\x7e\x8b\x33\xf5\x9e\xe8\x5c\xed\x69\x1c\xa7\x20\x8c\x93\xc1\x47\x8c\x0f\x79\xfd\x5d\xb7\xc5\xb5\x03\x69\xbb\x62\xdb\x84\x18\x2d\xa1\x4a\x5c\x47\x97\xda\x55\xc8\x96\x1d\xc4\x0c\x11\x46\x78\x7c\x5a\x2e\xf0\x6b\xa3\x5d\x37\xc1\xa0\x9a\xf5\x90\xfc\x34\xe0\x65\x5f\x0e\x78\xad\x4a\x16\xd2\xbd\x96\x98\x75\xb3\x75\x6b\x00\x9f\xaa\xe8\x78\x5a\xdb\x9d\x4d\xcf\xa5\x5f\x63\x0d\x1e\xab\xe0\x68\xf0\x77\x84\xcf\x70\xa8\xd1\x40\x9b\xed\xd0\x9a\xa9\xa3\x39\xba\xd4\x8a\xf2\x41\x6d\x0b\x17\x2a\xe3\xef\x16\xb2\x04\x6a\x0c\x12\xee\xfa\x69\x45\xcc\x77\x45\x62\x56\xb0\x8a\x8c\xf9\xc6\x35\xd0\x08\xb4\x2a\x52\xdc\x64\x0b\xf8\xc6\x17\xb3\xc9\xe9\xaf\x62\xb4\xbd\x26\xb9\xf9\x91\xd1\x66\x5b\xc4\x68\x1c\x33\x60\xd4\x3a\x39\xb4\x37\x8e\x47\x13\xaf\x27\x0f\xd1\x7d\xcc\x40\xda\x92\x81\xb4\xea\x70\xe9\x90\xa9\x9d\xd1\xbc\x0a\x61\xb4\x3e\x5b\xa1\xc5\x45\xc0\x4e\x63\xd6\x7b\x24\x6d\xbd\x09\xa5\x1d\xc2\x58\x49\x0f\xed\xa6\x00\xd7\x20\x81\xd6\xda\x79\x35\x6a\x1c\x44\xa1\xfc\x0e\x70\x34\x4b\x1e\xe3\x6b\xa8\x5c\x5f\x38\x7b\x5d\x2e\x50\x5a\x11\x49\x5b\xb7\x50\x5a\xfe\x3a\xc8\x5a\x11\xd4\xbb\x75\x00\xe3\x26\x1e\xf7\xb8\x47\x15\xfb\x32\x28\xbb\xc8\xf5\x6b\x30\x6d\x8f\xa5\xed\x0b\xd3\xbf\xd1\x72\x13\x6a\xc6\xcb\x88\x99\x1d\x81\x8a\x07\x6c\xa4\x51\xd3\x37\xa6\x8f\x7c\x63\xbf\x6a\xd8\x2d\xe6\x0b\xcc\x91\xdd\xa6\x98\x50\x22\xe7\xdb\x30\x5c\xfa\x78\x97\xe7\x41\xb8\xda\xe6\xf1\x51\x18\xae\xbd\x18\x86\x83\xac\x00\x53\xab\xfe\x62\x20\x8e\xe7\xf1\x9f\x34\x10\x77\x1b\x42\x99\x81\xb8\xf3\x16\x78\x8b\x55\x84\xb3\x60\x77\xe4\xce\x30\x1c\x1c\xb4\x75\x1e\x9f\x87\xe1\xda\x3c\xbe\x26\x0c\x77\xde\xc3\x6e\x5f\x8e\xba\xe9\x1e\x75\x6b\x33\xe8\x16\x7b\x71\x79\x14\x72\x0b\x99\xa1\x79\xd8\xf8\x7f\xdb\xa2\xad\xbc\x1d\x6f\xe3\x6d\x09\x15\x32\x8f\xdb\x14\x7d\xfa\x26\x9f\x04\xe0\x6e\x57\xcf\x84\xa1\xd5\x3e\x5d\x3e\x9d\xa8\x41\xb7\x11\xa8\x62\x30\x1d\xff\xbb\xc4\xea\x78\x1e\x5f\x19\xab\x3b\x30\xea\xcf\xf3\x78\xf5\xb4\x33\xcc\xee\x5f\x33\x78\x77\x75\x6d\xca\x3f\x59\xf0\xce\x6f\x82\x77\xfd\xef\x10\xbc\x83\xc7\x03\xb7\xdf\x5a\x1a\x27\xb0\x53\x9a\xbe\xfa\x8f\x09\xdb\xc9\x3f\x30\x6c\xd7\x5f\x0a\xdb\xa1\x96\x93\x53\x5f\x7c\x39\x70\x87\x80\x55\xcd\xc3\xb3\xb0\x5d\xcf\x8a\xf7\xef\x08\xd6\x21\x36\xe7\xd7\xb8\xe9\x2f\x09\xd7\xc9\xd8\xe2\x75\xfd\x8b\xf1\x3a\x79\x55\xbc\xae\xee\xf1\xba\x19\xcd\x0d\x63\x1a\x10\x87\xf5\x2b\x11\xbb\x6b\x32\x41\x0a\x82\x06\xc6\x0a\x6c\x92\xcd\x6f\x33\x7b\xeb\x66\xa8\x13\x7e\x2a\x43\x54\x10\x34\xaa\x37\x34\xba\x05\xe7\x1e\x65\xae\xec\xa1\xb9\x20\xbd\x3d\x6b\x3a\x83\x73\xe7\x2d\x18\xf7\x52\x2c\xae\x7d\x35\x14\xe7\x37\xa1\x38\xcd\x50\x5c\x1b\x33\x16\xa7\x19\x8b\x43\x5b\xf9\x0c\x61\xf1\x3f\x5b\x0c\xeb\x03\xcf\x14\xc9\x16\x96\x91\x06\xb1\x0f\x41\x68\xa9\xc3\xb1\x7b\xad\xb1\x00\x06\x49\x87\xf7\x03\x3d\xa9\x47\x9f\x66\xdd\xcd\xe8\x0a\x9c\xda\x8f\x06\x57\xf6\xb1\x6d\x0e\x36\x24\x12\x66\x6f\x7b\xaf\xf7\x83\x6a\x19\x4b\x27\xf9\x47\x44\x5f\x7e\xbe\x09\x2a\xe5\xb4\x2d\x43\x45\x7d\xc9\x63\xda\x74\x61\xc6\x61\x86\x67\xbc\x20\xbb\x65\x6c\x4b\xab\x37\x1d\x7d\x4b\xca\xc9\xe0\xe1\xd7\x09\x03\x8b\x75\x02\xfb\xe4\x2f\xc2\xa0\x53\x14\xfd\x8e\xe2\x08\xa6\xe9\x93\x60\x5a\xfb\x55\x83\x69\x09\x61\x18\x36\xac\xc5\x73\xb6\xb0\x61\x2b\x80\x23\x6c\x82\xd8\x6c\xcb\x7c\xf3\xe8\x82\xb0\x42\xea\xb5\x6b\xf4\x10\xb8\xc0\x03\xa0\x5e\x8f\x62\x8d\x58\x22\x00\x6e\xf5\x1a\x73\x1b\xc0\x1e\x46\xe6\xe9\xdf\x2d\x08\x2a\x34\x32\x0d\xd0\x4e\x2b\x02\xc9\x6b\x32\x8e\x3e\xe3\xc8\xe8\x15\x1c\x42\xc0\x12\x18\x5e\x66\x10\xb9\x6e\x9d\xd1\xfb\x77\x01\x59\xe0\x78\xfe\xbf\x7f\xfb\xd3\xf1\x6b\x35\x62\x69\x62\x2c\x72\xea\xc1\x31\xcf\xab\x53\xed\x28\x1e\xd0\x76\x27\x72\xcf\x0a\x18\x78\x91\x3b\xa7\xae\x12\xb6\x59\xd5\xd5\xd0\x46\xd8\xcb\x58\xa9\xc9\x9d\xdc\xc7\x05\xbe\xd6\x90\xf7\x76\x48\x5f\xb6\x2a\x51\xa2\xb6\x84\x99\x58\xbd\x9f\x81\x68\xba\x38\xb5\x5a\xef\xd8\xef\x47\x30\x74\xf6\x3b\x78\xcd\xcf\x02\xf0\xf9\x78\xc0\xa4\x61\xff\x7a\xb1\x3b\xbe\xef\xb3\xb0\xf5\x95\xa3\xf9\x86\xf0\x64\xfb\xb1\x94\x9f\x6c\x4b\x09\xed\x2a\x8b\xe4\xca\xe9\xbd\xc8\xc2\x25\x96\xed\xb4\x36\xaa\xb5\xde\x6f\x9f\x3f\x33\xf7\x7e\xac\xd2\x7e\xfa\xe9\x87\xaf\x2c\x7d\x18\x9e\x36\x96\x4a\x2e\xfd\x76\x89\x6f\xaf\x54\x4a\xd9\x2a\xfa\xb8\xb4\x85\x3b\xf5\xae\xe7\x41\xf0\x33\x30\xf7\xbb\x60\x53\x16\x1b\xc2\x06\xf0\xda\xb9\x7f\xfa\x61\xf9\xcb\x7f\x1e\x8e\x7f\xfa\xdb\xff\xfd\xff\xff\x40\xf6\xcd\xab\xf4\x2a\x7f\xc0\xed\x2a\xc5\x73\x92\x85\x1d\x4f\x73\xdc\xb3\x2f\x15\x8f\x72\x50\x55\xbb\xdf\x3e\xfd\xe2\x1a\x7d\x8e\x16\xe2\x9f\x6c\xba\x18\x79\xbb\x79\xea\x2f\x2e\x90\x67\x1c\x5d\xa8\x73\x3f\x07\xb1\x24\xda\xe4\x5d\x0d\xc3\xe0\x0c\xd0\x0d\xf0\xd5\xfe\x0a\x3a\xfe\xf3\x7f\xfc\xfe\xff\xfc\xe9\xcf\xaf\xd9\x57\x21\x51\x79\xc9\x97\xd3\x2a\x34\xaa\x5e\x50\x58\x99\xd0\x09\x29\x4d\xd7\x50\x05\x04\xec\x84\x6f\xce\x0d\x05\xd3\x0d\x75\x00\xf0\xfc\x01\x92\xc8\xfc\x62\xd4\x44\xee\x06\xb5\x61\x0f\x23\x1e\xec\x09\x6a\xdc\x05\x11\x87\x13\x15\x88\x41\x41\xa9\x95\xf0\xd4\x0c\x7b\x41\x8e\x85\xc9\x11\xae\xba\xa5\x2c\x4a\x0e\xdb\x7e\xb4\x3a\xcf\xe1\x0d\x4d\xee\x1f\xe2\x5e\x81\x1d\x6c\xbe\x74\xe2\xa1\xc7\x15\x8e\x45\x0c\x49\x90\xa0\x9c\x67\x71\x98\x15\xa4\xfb\x9b\xcb\xfe\x49\xbc\x8d\x62\xf1\xc6\x03\x95\xcb\xfb\xc7\x19\xaf\xd7\x75\x7f\xf7\xfa\xcb\x50\x39\x86\xe6\xaa\xdd\x19\x8d\xea\xfb\x34\x47\xad\x97\x81\x6a\x86\x9f\xa5\x90\x0b\x9c\x83\x7c\xa7\xc1\x30\xdf\xc1\xcb\xbc\xe4\x11\x95\xef\x8b\x22\xc2\x10\xd2\x8a\x01\x1e\x47\x9d\x2a\xb2\x29\xcc\x39\x51\x58\xe2\x68\x7a\x4a\x1c\xed\xb8\x42\xc3\xfb\xf9\x7b\x59\xe2\x26\xde\x1e\xc0\x9d\x71\x7d\x88\xaf\x99\x42\x10\x1f\x86\xc9\x81\xc0\xe5\xab\xa9\xe6\xeb\xac\x2f\x8c\x7c\x01\xad\x8a\x00\xb2\xb9\xb5\x1e\x2b\x80\x6a\xe8\x9a\x71\x36\x90\x48\xe8\x47\x03\xc0\x08\xf3\x34\x91\x37\x4a\xed\xd4\x80\x31\x5d\x2a\x68\xba\x5d\x84\xba\xda\x5d\xa5\xda\xea\x43\x25\x03\xea\x71\x2b\xed\x12\x4a\xe2\x29\x14\xba\x63\xc6\xb0\x42\xfd\x18\x23\xf4\xaf\x58\xa5\xda\x0d\x37\x08\x25\x1b\xb6\x32\xa0\xaa\x43\x9a\x41\x6b\x67\x4d\x67\x6f\x6a\x0c\xa0\x37\xfb\xf4\xb3\x65\x81\x66\x63\x18\xb5\x0a\xa3\x56\xf7\x64\x96\x02\xe2\x2e\x0a\xf8\x08\x07\xea\x68\xcd\xb7\x97\xeb\x87\x61\x7b\xd4\xc4\x18\xd0\xed\xa1\xee\xdf\x08\xc2\xf1\x8a\x08\x6e\xbd\xfd\x4d\x9e\x7f\xfa\x40\xbd\x83\x69\x02\x12\xb9\xf5\xeb\x74\xfb\xc5\x43\x63\xf9\xf4\x73\x58\x5c\xbc\xc8\x9d\x50\xef\xfe\x8e\x7a\x30\xcd\x49\x30\x42\xbd\xd6\x4b\xb0\xf1\xda\x0f\x37\x9f\xc4\x37\xe3\xa3\x53\x7c\x24\x35\x3e\x12\xf4\x05\x98\x1f\x8e\x35\x3e\x7d\x40\x5a\xdd\xed\xef\xd6\xed\x33\x7b\x35\x7d\x7c\x83\x30\x2a\xef\x6a\x7d\x2f\x3f\xbc\xb1\x9a\x37\x56\xf3\x05\x52\x7a\x95\xc4\x7e\x44\x4a\x6f\xfc\xe7\x7f\x24\xff\xf9\xcb\xff\xf9\xfd\x2b\x74\x1a\x29\xa1\xe6\x76\xd7\xf3\x2a\x54\xd1\x1b\xc1\x35\x98\x89\x00\xd7\x18\xd0\x0f\x05\x3e\x61\xf3\x31\xb1\x5e\xa8\xd9\x48\x7d\x8b\x06\x12\x46\x12\xf5\x10\x3d\x0e\x1c\xd9\x9f\xa5\xe6\x5e\xe9\x2b\xb5\x6c\x99\x04\x76\xb2\xcc\xac\x1d\x46\x94\x47\xe4\xbe\x53\x1d\x63\x91\x05\xe5\xfa\x12\x96\x5b\x31\x24\xd8\xe2\x61\x38\x36\xb8\x34\x04\x72\xc9\x7b\xa7\xd6\x3d\x3d\xe0\x4c\x69\xe0\x35\xdc\x80\x1c\x09\x7e\x4a\xa5\x0e\x98\xf2\x7d\x11\x84\x12\x24\xfd\x36\xe8\x7a\x91\xb0\xcd\xcd\x63\x9e\x99\x31\xd5\x1d\xc0\xd4\x00\xa3\xf6\xec\x78\xd0\x8f\xd9\x47\xaa\xf0\x48\x6b\x5b\x32\xda\x5c\x51\x75\x07\xcf\x11\xc2\xd4\x6e\x31\xf7\xd0\xf0\xc1\x1e\x5a\x3a\x57\x01\x21\x09\xb7\x65\x41\xff\xa0\x26\x7a\x26\x6d\x19\x05\x7c\xdd\x13\x7b\x85\x3e\x61\x0b\x10\xd2\xcf\x88\x32\x86\xfd\x5e\xc0\x03\x6b\x3c\x0e\xf8\x5a\x41\xbc\x22\x2b\xf5\xd8\xc7\x9e\xfd\x29\x58\x10\x99\x2b\x78\x74\x8c\x76\x10\x6c\x0e\x64\x7c\xb4\x2f\x82\xb7\x30\xd3\xd1\xe7\xa3\x2a\x08\xe4\xc9\xaa\xf0\x90\x78\x5c\x68\xe1\x05\x9c\xb3\x86\xf1\xdf\x1b\x72\x9d\x10\x29\xe8\x4a\x3d\x2e\x31\xe0\xed\xf4\x8e\x2a\xc9\xd6\xa9\x4b\xa5\xe6\x1e\xac\x80\xd4\x91\x79\x2e\xc4\xd6\xef\x6b\x88\xa6\x85\xd1\x5b\x66\x20\x79\x80\x13\x85\x62\x11\xe4\x65\x03\x71\x0c\xe5\x44\x06\xa4\xa8\x41\xc3\x42\x4c\x1c\x37\x00\x7f\x23\x74\x60\x0b\xb6\x3a\xd0\xe6\xc2\xfa\x19\xcd\x56\x18\xd0\xc3\xad\x0c\xb2\x36\x76\x22\xd0\xd9\x6d\x4b\x35\x08\x2b\x21\x42\x4a\xbd\xdf\x16\xf3\x95\x4f\xe7\x1b\xa4\xb9\x28\xff\x24\xd3\x5a\x79\xdb\x64\xff\xc8\x4d\xf6\xa2\xc1\x08\xa8\x77\x48\x41\x1b\x76\xbf\x3d\x10\xbb\x7d\x20\x72\xfb\x40\x16\xa1\x3a\x80\x16\x62\xf5\x85\xab\xda\x8f\x5c\xf7\x0b\x7b\xe8\x04\x9e\xe9\x53\x62\x16\xda\x5a\x5c\xab\xc2\x17\x08\xb0\xf0\xe2\xe9\x17\xc7\x34\x33\x9f\x9d\x1d\xa2\x03\x3d\x69\x3a\x69\xf7\x07\x76\xd2\x1a\x03\x6a\x48\xe6\x60\x17\xa4\x0d\x08\xc1\xd6\x77\x24\xdf\x4b\x69\x5f\x98\xe3\xbc\x1c\xae\x23\xd4\x14\x4b\x6f\xb1\xaa\x0d\x5a\x5c\xf7\x81\xb0\x0c\x1c\xad\x10\xb6\x08\x0c\xfa\x4b\x9e\x88\xeb\x0c\xe7\xb3\x0e\x6e\xd3\x90\xb8\xe0\xab\x52\x19\x7c\x5f\x93\x25\x54\x82\x63\x2f\x49\x03\x9a\x26\x6a\xdb\x9a\x8c\xcf\x0f\x75\xc4\x76\x8c\x89\x8f\x52\xcf\x4a\xd6\x63\x60\x3e\x10\x35\x2a\xb1\x82\x32\xec\xf6\xfa\xf1\x94\x50\x78\xfd\xe5\x87\xd1\x69\x84\x1e\xd6\x08\x18\x77\xcd\x57\x03\x29\x09\x0d\x87\x82\x8c\x5e\x08\x0b\x50\xd8\x17\x64\xc5\xc6\x63\x7e\x1e\xc0\xbf\xf1\xc3\x68\xa8\x96\x1a\x14\x7a\x36\x30\x23\x21\x2b\xf5\x7e\x90\x2d\x3d\x98\xdf\xf4\x61\x70\x3e\xa4\x91\xd1\xf3\xaf\x0d\xb2\x0c\x34\x5e\x40\xf3\xa4\xd6\xfb\xea\x54\xef\x73\x77\xea\xa3\xdd\xa9\x54\xac\x61\x41\xbf\xe0\x0a\x69\x88\xd2\x38\xd5\x7a\x36\xea\x68\xfb\x35\xf4\xd9\xa6\x47\x58\x16\x5a\xd6\xf3\xa7\xc2\xef\x7f\x54\x7f\xbf\x1b\x1e\x55\x33\xb1\x7c\x1c\x41\x3e\x00\x25\x19\x31\xf1\x32\x18\x6a\x76\xee\xe8\xc4\x06\x77\x44\xe4\x14\x41\x0b\x51\x20\x8a\x0b\x52\x9e\xe3\x24\x78\xb9\x62\x8f\x5a\x9c\x33\x76\x75\xc5\xb9\x00\x15\xb5\x1a\x3c\xa8\x59\xc2\xa4\xd9\xc0\xce\xb9\xe3\x99\xb7\x23\x4c\x1a\x50\x28\x50\xbc\x70\x86\xc4\x0f\xaf\xdb\x39\x42\x31\x9a\x70\xb1\x85\x57\x84\x66\x96\x32\x5f\x85\x06\xc7\xc3\xe7\x49\x8f\x98\x83\xe5\x93\x9f\xe7\x67\x64\x2c\xe0\xc9\x55\x74\xf8\x69\xbd\x2f\x48\x59\x93\x23\xae\x1b\x9f\x41\x06\x82\xe3\x54\xd0\x3e\x63\xf3\x20\x03\xcc\x6c\xc4\x1b\x1d\xa9\x2e\x3d\xf7\xc5\xcd\xe9\xa2\xd4\x38\x58\x53\xab\xb0\x29\xba\x24\x99\xc7\xf9\x98\xe7\x67\xca\xad\xe3\x9c\x2d\x86\x90\x98\xd9\x64\x1c\x83\x79\x2f\x40\x50\x8b\xd5\x0a\x92\x10\x45\x93\x0d\x9c\xad\x68\x50\x85\x2c\x26\x34\x58\x02\x0e\x82\x96\x16\xe7\xb5\xce\x73\xea\xa5\xae\x9e\x10\xee\x6d\xd8\x8a\x46\x7c\x1b\xcd\xf9\xe8\xa0\x98\x0e\x8a\x11\xdc\xdd\xd4\xc0\x19\x4b\x3d\xc6\xa2\x66\x26\x2e\x5a\x70\x29\x0d\xad\x58\x10\x9c\x85\x56\xc0\x19\xf6\x72\x68\x08\x63\x72\x70\x9d\x2d\x23\xe2\x9c\xbc\x63\x6c\xdb\x09\xba\xd2\xcc\x6d\x39\x34\x36\x14\x18\x92\xcd\x5d\xfd\x5a\xf9\xfb\x2a\x13\xe8\x56\xfe\xbe\xa9\x4c\x7f\x2f\x95\xe9\x65\x39\x24\xa4\x48\x52\x55\xbb\x7e\xfd\x33\x6b\x1f\x4b\x83\xfe\x46\x22\xcf\x51\x65\x1f\xc9\x59\x21\xae\x1a\xc4\xa9\x13\xa8\x09\x1b\x38\x8e\x19\x25\x47\x7a\x73\x5c\x69\x40\x75\x41\x30\x39\xec\xb3\x91\xa6\x5d\x70\xd1\x4b\xba\xd1\xef\x1b\x4a\x62\x3a\xd6\x8b\x90\x0a\x58\x10\x7a\x46\xbb\x22\xb7\x2f\xa8\x11\xf3\x62\x05\x78\x5f\x92\xf8\xce\x10\xb0\xc8\x60\x55\xa4\xe5\x64\x46\x9a\x84\x52\x38\x47\xe4\x2f\x4a\xed\xeb\xdc\xe6\x93\x0d\x63\x39\xac\xdf\xec\xa7\xc9\x78\x8c\xa3\x43\x70\x0f\x23\xa4\x16\x65\xd9\x72\xf7\x78\x24\xe3\x8b\xfe\xf1\x98\x3f\xec\xf4\x90\x9d\x5c\x13\x0d\xe5\xbe\x92\xb5\x05\x14\x07\x70\x7b\xac\xe7\xb0\x33\xee\x83\x2a\xbb\x97\xe6\x7e\x1d\x68\x18\xe2\x21\xb9\x1a\xdf\x3b\x09\x6a\x26\x11\xb4\x2c\xb5\x2e\x8d\x4a\x3d\xa3\xad\x60\xd0\xb1\xdf\x5f\xbf\xfb\x65\x37\xfe\xc8\xab\x9c\xd1\xeb\x04\x84\x11\x92\xbf\x20\x8f\xf9\xe6\xda\x3e\xce\x48\xaf\x08\xa9\xf3\x92\x62\x71\x3b\xc8\xd2\x64\x41\x6f\xcc\x33\x3a\x8d\x86\x88\x96\xfb\xdc\x85\xed\x76\x17\x22\x73\x19\x39\xa1\x9f\x1f\xa2\x91\x01\xe7\xcc\x6b\x08\x55\x4e\x2d\x8c\x97\xa7\x7b\x5b\xf0\x35\x04\x66\xbe\x2c\x5f\x83\xb7\xfb\x32\x88\xbb\x1d\xa1\x76\x4e\x0f\xc8\x3a\xd3\xca\xd2\x63\xe7\xe8\x3e\x2a\xa5\x12\x07\x87\x64\x23\x6e\x53\x64\x5d\x69\x1f\x6a\x5c\xd0\x3e\x23\x54\x6f\xc0\xe4\xc7\xf6\xae\xae\x79\x7e\x46\xa3\x1a\xc4\x9d\x5b\xf6\x7c\x0a\xba\x28\x34\x46\xdc\x1c\x3e\x29\xc4\x36\x35\x9b\xeb\xa2\xa5\xa3\xcc\xf3\xd0\xcf\x91\xed\x3c\xcb\x27\xb0\x77\x96\x32\x5f\x37\x71\x9e\xae\x34\xb4\x91\x31\x64\xf7\xe6\x96\x38\x03\x66\x0d\x8b\x33\x3e\xfd\xdc\xc9\x47\xe8\x14\xec\x1a\x52\x1d\x6e\x9c\x0e\x19\xac\x68\x4d\xd5\xa1\x30\xa0\x25\x6b\x9c\xa2\xc7\x91\xa0\x53\xb2\xca\x98\x7b\xe1\x7a\xba\x40\x4c\x63\xd8\xd9\x2e\x50\xd6\x2d\xa5\xb7\xa2\x6f\x67\x47\x0b\xa4\x91\x4e\x25\xa4\xf8\xce\xc7\x16\x42\x2d\x44\x59\xab\x1e\x63\x41\x39\x49\x0b\x8e\x9d\x67\x28\x02\x42\x6e\x1f\xa2\x90\xd8\x94\xa8\x76\x50\x92\x79\x46\x15\xfd\x0c\xb3\xa2\x62\x38\x48\x2b\xce\x92\xc6\x32\x6e\x27\x80\x5d\xed\xa4\xe2\xc1\xfb\xaa\x1d\x89\x65\xe6\x39\xc1\x57\x14\xfc\x9d\x18\x59\x2e\x0d\xed\x97\x5b\x76\x5a\x81\xdd\x94\xd2\xa5\x41\xe3\x6a\xe8\x52\x1d\xe7\x64\xc8\x26\xbe\x9e\x75\x14\xc6\xc0\x68\xe9\xd5\xb1\x7b\x2c\x77\xcf\xd7\x64\xe9\x87\x3f\x1d\xff\xfa\x97\x8f\x7f\xf9\xc3\x17\x1a\x96\xfc\xf1\xc6\xdf\xa0\x8b\x9e\x3a\xf9\xa5\x93\xdf\xe9\x43\xf6\x41\xf4\x45\xef\x84\xe3\xad\xd3\xda\xc9\xe3\x5d\x0d\x76\xe3\xf1\xcd\x07\xe1\x3b\xbd\xc4\xfb\xf3\xbb\x71\xb8\x13\x7e\x10\xc6\xb7\xf3\xa3\x57\x74\x56\xb9\x0e\xf4\xf3\x9d\x0d\x6f\x1d\x23\x0b\x9f\x2a\xf9\xa5\x92\xdf\xf1\x03\x9e\x80\x2f\x7c\xc7\xf9\x4e\x0c\x2c\x34\xac\x25\x06\x5d\xe3\x1f\xf1\x2d\x0c\x32\xbe\x17\xb3\x63\xbc\x19\x5f\xfc\xe6\x01\x7e\x83\x63\xe0\x27\x75\x15\xff\xe1\xc5\xb5\x7d\xca\x39\x3a\xff\xf8\xbe\x5c\x05\xe0\xf3\x65\x7f\xc6\xb6\xfc\x5d\xfd\xa9\x6c\x17\x7f\xe1\x89\x3c\xfd\xc1\x4f\x3f\xfd\xf8\xae\xf4\x9b\x3b\x7c\xfe\x61\xbd\x7e\x1d\x5e\xa5\xa0\xdd\xae\xc3\xd3\x47\xf7\xa5\x75\x78\xe1\xa9\x7e\x69\x15\x5e\x78\xe0\x5f\x5a\x83\x2f\xd0\xc2\x6b\xe6\xff\xb7\xdf\x1f\x3e\x7c\x21\x45\xe3\x11\xb9\x3a\xac\x75\xa7\x21\x7e\x2c\x93\xbd\x30\x29\x72\x21\x07\xcc\x9a\x22\xf3\xfc\xb7\x83\x46\x69\xe8\x08\xbf\xe4\x29\x7e\xf6\x3e\xcf\x8d\x94\xd3\x9e\xe4\x05\x0f\x7d\xe8\xa2\x47\x4e\x54\xd5\xbc\x0a\x9a\x64\xde\x5c\xf0\x53\x18\x7a\x66\x12\xb2\xd7\x8f\x68\xb9\x0d\x87\x3c\x34\xf4\x01\x1e\x16\xa7\x32\xed\x29\xce\x66\xca\x03\x6c\xb9\xa4\x01\xb8\x7d\xfc\x31\xff\x11\xbf\xca\x33\xa8\x74\x39\x25\x0e\x0b\x1f\x49\x6b\x69\x8f\xed\x9f\x7e\xfa\x59\xe2\xd3\xba\x0c\x6a\x7e\x24\x83\x83\x9b\x3a\x6a\x2d\x14\xaf\xdd\xd1\x9a\xc0\x15\x17\x6a\x19\xe1\x77\xe4\xe5\x98\xa0\xc5\x7b\x66\x4b\x21\x77\x16\x40\x5e\x28\xae\x5e\x69\xd4\x4c\xef\x89\xb5\xec\x33\x9d\xa8\x97\x0c\x10\x35\x18\x92\x58\x03\xeb\xab\x11\x0c\xa5\x31\xe0\x3c\x42\x1a\x6c\x1d\xab\x4f\x01\xab\x43\xe2\x9c\xc3\x80\xe2\x21\x27\x80\xd1\x3f\xc4\x78\x4f\xcc\x64\xf2\xc4\x6d\xf0\x62\xae\x7f\x0c\x01\xca\xcb\x5d\x30\x7f\x8d\x41\x36\x8e\x41\x76\xcf\x34\xdb\x78\xed\x12\x0c\x00\x2b\x46\x96\x45\x2b\xf1\xde\xf6\x59\x6c\x60\x69\xc7\x8c\x2d\x51\x47\xa3\xd5\x96\xaf\xf1\xcb\x35\x7e\x7a\xa0\xae\x23\xfe\xb6\x30\xc1\xfc\x14\xb5\x34\x0d\x25\xc6\x6c\x77\x61\xd6\x5e\x56\xea\x8d\xef\x8c\x7a\xd3\x4b\x9c\x9e\xc2\xba\xaf\x17\x23\x1b\x80\x84\xef\xf5\x81\x0b\xf1\xf8\x7c\x9a\xd2\x6b\x79\x62\xee\x85\xd7\xb1\xee\x42\xad\x02\x8c\x96\xe5\x1d\x2c\xfb\xb4\xef\x33\x21\x95\xaa\x2f\x15\x81\x92\xa7\x1f\x41\x17\x81\xb2\xcc\xf2\xbe\x42\x99\x12\x74\x7f\x83\xf6\xb7\x04\x79\x57\x5f\xe4\xa3\x00\x59\x62\xa4\x0a\xcd\x99\x3a\x23\xf0\xbf\x09\xe3\xd2\x7e\x44\x17\x18\x34\xc8\x40\x6f\x25\x74\x2b\xb7\xb4\xa4\x2a\xe2\x94\xbd\x74\xbc\x8f\x77\xa0\xee\xd4\x79\x7e\xc0\x37\xf3\xfb\x71\x89\x52\xf6\x4d\x16\xf4\x8c\x9e\x73\x41\xe5\x59\x7f\x1e\x3a\x0a\x1a\xd3\xc5\x6b\xe5\x76\x51\x92\xde\x0f\x82\x64\xb6\x3c\xce\xa9\xa5\x4d\x2f\x0d\x14\x7e\x5c\xb3\xee\x7b\xcd\x6e\x8f\xf0\xca\x8e\x0a\x9f\xab\xbd\x43\x0b\xc8\x45\x77\xc0\xe9\x8e\x1d\xc5\x28\x39\xac\x63\xc9\x23\xae\xaa\xe4\x3d\x8e\x0d\xfd\x8d\x9b\x3f\x60\x6c\xa7\x57\x10\x73\x43\x18\xcd\x62\x62\xa7\xd5\x69\xb4\x77\xe4\xa3\xc6\x5f\x26\xe3\x41\x25\xe6\x4b\x70\xb5\x7e\x04\x86\x1d\x9a\x4c\xe6\x77\xf0\x7a\x02\x72\xc3\x91\xd0\x45\x3c\xde\x5c\xe7\x37\xa0\x4b\xd5\x07\x5c\xe0\xf0\xe8\xaa\xeb\xfe\x69\xe2\xd8\x0f\x18\x93\x7a\x0a\xdb\x57\x2f\x2b\x55\xbd\x53\x2a\xcc\x17\xaa\x78\xb3\xf7\x58\x4e\xd3\x13\xb5\xfa\x80\xaf\xfe\x5a\x74\xfc\x0d\x12\xde\x8b\x8f\xf7\xe3\x87\x2b\x97\x07\x97\x3b\x79\x28\x9f\xbf\x0e\xaf\x83\x4e\x08\x3f\x97\xc0\x66\xb2\x52\x71\x0e\x67\x94\xc9\x65\xb5\x60\x83\x47\x60\x29\x34\x92\xd2\x26\x40\x7d\x15\x9c\xfc\x3f\xe7\xfe\x4f\x25\x70\xfb\xb1\xeb\xbf\xff\xb8\x6b\x21\x43\xb7\x91\x5d\x45\xd8\x7a\x15\x61\xf0\x2d\xfa\xfb\x29\x40\x53\xfa\x19\xd5\xab\xec\xfb\xed\x8d\x5c\xbc\x11\x97\x9b\x94\x5d\x6e\xa4\xec\x92\xed\x98\xb7\xfd\x5a\x63\xdd\xf0\xb8\xee\x3a\x99\x1a\x20\xf5\x25\x3d\x22\xbd\x1a\xe9\x18\x93\x69\x57\xbf\xf8\x4c\x6f\x28\x59\x1a\xb5\x24\x76\x36\x8a\x18\xe3\x88\x3e\xca\x0c\x7b\x78\x13\x2e\xcb\x8d\x70\x59\x6e\x84\xcb\x65\xcd\x6b\x25\xbe\x1b\x2a\x2b\xa7\x74\xd8\x0e\xf5\xf9\xa2\xdd\xfa\xfd\xb9\x2a\x46\x7d\x69\xc1\x5a\x0e\xd4\x65\xc4\xdf\x4c\x76\xf5\xb0\x78\xc2\xb4\x6a\xf1\xb7\x25\xe8\x02\x29\x43\xef\x1a\x8d\x71\x70\x52\x38\x16\x75\x47\x9f\x46\x46\x49\x31\xdd\x86\x96\xe5\x4f\x56\xeb\x1c\x59\x08\x34\xc6\xa2\x9c\x0c\x06\xf4\x4d\x1e\x22\x7f\xc9\x35\x54\x47\xdf\x86\xda\xa4\x1d\xc2\xea\x89\xbf\xad\x92\x20\x6e\xc0\xd4\x3d\x44\xdc\x36\xd4\xd6\x2b\x39\xeb\x5d\x27\xe1\x83\x13\xa0\x57\xda\x15\x89\xb3\xaf\x64\xbe\xfc\xc2\x29\x48\xad\x8f\xe6\x20\xaf\x9a\x43\xa5\x8e\xf8\xbd\xd9\x56\x7a\xc1\xf3\xca\x62\x77\x8d\xba\xf4\x17\x96\x56\x60\x73\xfb\xf8\x3b\x0c\x4c\x50\xb5\xf8\xf9\x81\xed\xe3\x6a\xbf\x70\x5c\x4a\xfd\xb5\xa3\x4a\xea\x84\xcf\xed\xa1\x53\xf6\xe8\x9e\x90\x67\x0c\x28\xe6\x95\x44\x75\xa2\xc8\x8c\xa5\x4c\x1c\x56\x7c\x21\x9b\x32\xa2\x11\xb1\xc2\x15\xbf\xd5\x1f\x43\xfa\x52\x69\xa1\x2e\xa4\x1b\x31\x8e\xa8\xff\x2f\x04\x9f\x63\xf1\x83\xa0\xf5\x81\xdc\x34\x40\x00\x72\x81\x9f\x84\x54\xe4\x48\x56\x07\x92\xe3\xbb\x8d\xd4\xa9\x62\x79\xbe\x8d\x92\x1b\xf5\x66\x17\x1a\xb5\x61\x8c\xb2\xc8\x4d\xab\x84\x57\x8c\x31\x33\x67\x5e\x33\x94\xaf\x12\xe4\x3f\xc9\x50\x44\x75\x1b\x4a\x1f\xfe\xe5\xfb\x89\xbd\xea\x29\x3c\xbd\x1f\xda\x2f\x7d\x4e\x40\xbf\xd8\x84\xc9\x5a\x9f\x4d\x98\xa0\x88\xe7\xfd\x9f\x2a\xd6\x53\xaf\x7e\xaa\x90\x67\x5d\x68\x17\xdf\x76\xf6\x4b\xda\xfc\x2d\xc3\xde\xb4\xf2\x23\x6a\x7e\xa0\xd0\xaf\x9b\x46\x9f\x6a\xf9\x17\xda\x34\x29\xdc\xcb\x3c\xee\x5a\x28\x9b\xa9\x97\xdf\x55\xf2\x96\x6a\xf9\xd4\xdc\x53\x8b\x87\x42\x1f\x67\xdf\x6a\xa0\x7e\x83\x99\xfe\x48\x99\x29\xe8\x57\x9f\x2a\xa3\x52\xe5\xfa\x0b\x95\xda\xcf\x7c\x01\x47\xa8\x6f\xd9\xd7\xb4\x8d\x0c\xbc\xcc\x9a\x3e\x9c\x7c\x9f\xf6\x5e\x9f\x6b\xef\x1f\xf3\x1f\xbb\x6a\x9f\x3f\x45\x3b\xa4\x5e\x1a\x0a\x98\xf3\x2a\xd7\x0f\x9f\xc7\xcb\x6f\x15\x98\xb0\x39\xe6\xb8\x9e\x1a\x2c\x05\xe6\x47\xda\x2b\x4f\xed\x9c\x92\xb6\xca\xb3\x9f\xa4\x8d\x93\x26\x4b\xaa\x55\xb5\x21\xcc\x2d\x13\x4f\x61\xfb\x34\x9b\xfa\x5b\xd3\xf9\x80\xa0\xa4\x1f\xa8\x72\x28\x3d\x7b\xed\xea\xa8\x54\xc5\x2f\x61\x01\xbc\x7b\x62\x1d\x94\xcf\x99\x0d\x25\xac\x06\x81\xd5\xf0\xd0\xc8\x9f\x5f\xb3\xad\x71\xd1\x2f\xc5\xd1\x3b\x5b\x0e\xeb\x82\x8e\xea\xa1\xe5\xf7\xf8\xdb\x34\x14\xe8\xfc\x7e\x07\xb9\x73\x50\x1a\x8e\x38\xa3\x6f\xdc\x5e\x10\x06\x31\x28\xf5\xb8\xff\x86\xf6\xb3\xdd\x3c\x24\x92\xf2\x2b\x79\x77\xce\x73\x1b\x8e\xf7\x03\xd5\x1d\xcf\xea\x3a\x12\xb5\x76\x50\x12\x59\x70\xd8\xa0\x3d\xe2\x6e\xbe\x3c\x1f\x21\x23\xaa\xc5\xb1\x40\x36\xfa\x93\x21\xd6\x1c\x22\xda\x2c\xbe\x92\x93\xde\x8e\xd1\x68\xe8\xcb\x63\x2c\xfd\x85\xc5\xfa\xf5\x87\x12\x02\xfc\xab\x43\x01\xae\xd0\xf7\x8d\xe5\xd5\x2a\x4e\x12\x52\x50\x89\x5f\xd0\x38\xfe\xb8\x66\xf5\x63\xd1\x2c\xe5\x2d\x19\x82\xdd\xb0\xb5\x1c\xd8\xee\x3c\xdb\x38\xe0\x13\x14\x9d\x61\xf3\x21\xeb\x74\x22\xba\xc7\x2c\x74\x31\xaa\x27\x54\x2f\x3f\xa6\xcf\x39\xcb\xd7\xaa\x06\xf9\xe8\xc2\x9a\xbd\x50\x1d\xe3\xf0\xf4\x5e\x30\xdf\xd0\x3d\x2f\x0d\xd9\xe7\x77\xf3\x67\x77\xfb\x1a\xa1\xfc\xe3\xee\x16\xb4\x30\xef\x66\xed\xa5\xbb\x25\x67\x15\x93\x13\xf5\xf6\xe2\xcd\xbe\x4c\x78\x5f\x90\xee\x9f\x69\xb1\x68\xc3\xb6\x16\x8b\xc1\x0f\xa6\x93\xe2\xa9\xb7\x61\x73\x36\xc4\xd3\x4c\x37\xc5\x23\x5f\x03\x88\x39\xfd\x14\xcf\xdd\x1b\x0c\x07\xab\xb5\x91\x4e\x0a\xb4\xf9\xd5\xe4\x06\xd3\xc1\x91\x4e\x8a\xcf\x0a\xf6\x4a\xec\x92\xce\x8b\x3b\x38\x32\xa6\x9f\x62\xdd\x1d\x15\x70\x64\xc0\xa5\x71\x0a\x23\x1e\x2e\x8d\xaf\xc9\xf5\xbf\xfc\xc7\xdf\x0e\xaf\x2c\x08\x7c\x5f\xc9\xc6\x22\x8b\x2c\x35\x73\x0a\x16\x96\x8f\x46\xe6\x63\xe1\xb2\xff\xbf\x6e\xef\xac\x5c\x7e\xcb\x8d\x9c\xf1\xc5\x45\x3e\x7d\x28\x68\x97\x20\xd4\xda\x52\x56\xcf\xf0\x9c\xaf\xfe\x31\x4f\x16\x8f\xbf\x90\xe4\xba\xc4\x3f\xf2\x24\xde\x7b\xd5\x1c\x5e\x55\x41\xf8\xde\x50\x1f\xc6\x0b\x5a\x56\xc9\xc2\x4b\xff\x98\xa5\x0a\x2d\xff\x5b\xe7\xbf\xd6\x96\xa5\x64\x6b\x9c\x35\x0c\xbd\x10\xdc\x26\xd3\x6b\xb2\xf5\xb2\x25\x8f\xbf\xdf\xa2\xb5\xa9\x91\x2f\x28\x65\xf8\xa8\x04\x88\x56\x54\x37\x2c\xdb\x97\x97\xf9\xe5\x78\x7d\xd5\x94\xbe\xa5\xf2\xa3\xb4\xdf\xbc\xe7\x1f\xfe\x9b\x3c\xab\x6f\xa9\x43\xb8\x99\xd8\x7f\xab\x07\xf8\xd7\xc3\xf1\xfc\xb5\xf4\xf9\xcf\x39\x4a\xe3\x21\x1c\x0b\xd2\xbd\x12\xc7\x6b\xa9\x14\xe2\x53\xa5\xc6\xf1\xd4\x48\xad\xbf\xe7\x01\x88\x22\xee\xa4\x8b\x08\xf2\x47\x3b\x4e\xe4\xe3\x8a\x5f\xad\x95\x74\xc5\xaf\xe2\x78\xd7\xe3\xec\xbd\xe1\x7a\x4e\x0d\xbe\x6d\x17\x3c\xf1\x4f\x1f\xb8\x41\xaa\x1e\x8c\x4a\x8f\x85\x28\x5b\x19\xb6\xa1\xa9\x03\xd0\xb8\xef\x42\x50\x8c\xcf\x7c\x65\x45\xa2\xd7\xbb\xa7\x1f\xf6\xa0\xc3\x46\x43\x62\xd4\x45\xea\xb3\x5f\xef\x98\xae\xed\xbb\x5a\x5f\xce\x75\xfe\xbe\x1e\x2e\xc4\x4b\x3f\x96\x45\xa8\x21\x4b\x4f\xb4\x2d\x31\xd5\x31\xda\x12\xcc\xbf\x97\xfa\x2e\xfe\x35\x96\x3c\xc2\x49\xed\x34\xe2\x47\xc8\xc8\x83\xb1\xa1\x6d\x8d\xc9\x8f\xd1\x56\x28\x31\xa3\x3d\xfb\x51\xdc\xe7\xd3\x07\x54\x4e\xc7\x1a\x2b\x89\x06\x11\x89\xfa\xe6\x52\x17\xd4\x8b\xa3\x56\xd8\xc9\x43\xaf\x7e\xfc\x15\xa6\x31\x78\xe9\xcf\x7e\x8a\x5f\xe2\xf7\xf5\x14\x3f\xe4\xe7\xbf\x44\xab\xaa\xe5\x97\x2c\xee\x37\xf0\xa1\x7f\x7f\xc7\x3f\x8a\x7c\x1e\xbb\xea\x8d\xb2\xbf\x6f\xf1\x5f\xc5\x2b\xbf\xb6\xf8\x6f\xe4\xfe\x95\x15\xff\xcf\x2f\xa8\x42\xb7\xc1\x46\x47\xa2\x15\xd3\xe0\x7a\xe8\x54\x5a\x5d\xf2\x98\x43\x6f\x82\x21\x76\x3d\x4e\xf0\x54\x49\x14\x13\xe0\x7a\xa0\x4a\x42\xe1\x57\x68\xf5\xbd\x03\xb2\xc8\xa9\xb9\x2f\x95\x46\x31\x08\x6c\xbc\xfe\x56\x09\x76\x38\x97\x30\xa3\x9d\x97\x46\xad\x1d\x57\xa4\x0e\x33\xa0\xaa\x98\x80\x15\xdc\xfb\x98\x69\x82\x46\xec\x9c\xe8\x90\xa7\xec\x4b\xc7\x42\x03\x99\x9b\xb5\x5e\xa8\xa0\x27\x7a\x82\x97\x78\x42\xf9\x02\x53\xca\xd0\xf5\x1e\x29\xb7\x5c\x11\xc8\x46\x2a\x6e\x01\xfd\x73\xf1\xf7\x52\x48\xda\x02\x50\x54\x6e\x48\x3d\x97\xfd\xe4\x23\x53\x89\xf5\x6f\x5e\x69\xb4\x20\xf7\xde\x00\x76\x63\x0e\xa8\x75\xde\x12\xc4\x34\xe3\xe7\xfd\xd0\x68\x34\x6c\x9c\x36\xb6\x05\xd3\x98\xc7\xad\xf5\x3f\x01\xca\xad\x6b\x2c\x73\x77\xbb\xc0\xd7\xd3\x51\xd2\x9a\xc7\x89\xe6\xd2\x34\xc3\x5b\xc8\x46\x13\xa4\x8a\x6b\x47\x7c\x27\x9b\xe9\xb1\xad\x36\xcb\x21\x84\xed\x62\x64\x0a\xbc\x17\x3f\x02\x7f\x36\x56\xa0\x17\x25\x1d\x8c\xd7\x8e\xf8\x2b\x15\x6f\x09\x7d\x89\x66\x39\xf0\x3f\x27\xa2\x27\x29\xb0\xfa\x87\x53\x8d\x13\xe4\xbc\x02\x79\x99\xed\xc2\x61\xce\x9c\x33\x99\xb7\x51\x1b\xed\x44\xec\xed\x23\x53\x03\x9a\x64\x45\xe6\x44\x45\x5a\x86\x36\x3b\xce\xba\x98\xde\xd0\x16\x11\x89\x73\xc8\x2c\xdb\x4e\x2f\x31\x70\xd3\xf3\x06\x4b\x95\x79\xc2\x3e\x41\xe4\x70\x92\xe0\xb1\x2b\x95\xb0\x50\xf0\xe6\xb2\x75\x77\x02\x34\x0a\x3f\x5d\x52\x41\x9e\xb2\x11\x8f\x76\x41\xf2\x3c\x02\x3d\x1e\x7f\x5b\xa0\xa4\x55\x40\x93\xd2\xc8\xbf\x2d\xa8\xa2\x80\x04\x86\x33\xcd\x5a\x03\x05\x53\xaf\x4a\x9d\x11\x5b\x02\x34\xaa\x3d\x54\x42\x4a\x62\x47\x96\x9f\x12\x3a\x7f\xc5\x34\x34\x75\x45\x5d\xa9\x75\xa7\x9e\x38\xad\x80\x36\x4a\xeb\x12\x98\x7e\xd2\x6d\xae\xa4\x51\x2f\xa1\x6a\x26\xf2\x7e\xe9\xb9\x42\x0b\x96\xe5\x48\x7d\x60\x6b\x20\x29\x75\xd1\x89\xe6\xba\x9f\x9f\xe2\x59\xcd\x4d\x00\x9c\x72\xac\x55\x3c\x8f\xfe\x9a\x84\xac\xe0\x01\xaf\x4a\x38\x50\x78\xf4\x1a\x0d\x43\xaf\xd7\x84\xce\x9d\x51\x02\x06\x1c\x92\x90\x8c\x71\x9c\xa8\xf3\x6c\x6d\xa5\x21\x7d\xcd\xcc\xec\x01\x0f\xa2\xa8\xbc\x57\xaa\xc8\x88\xaf\x12\x2c\xd4\x8a\x42\xb5\xc5\xeb\x47\x94\x13\x01\xff\xa9\x22\xe2\x07\x69\xa5\xe3\x3d\x53\xef\xc8\xfb\x89\x9d\xa7\x41\x6c\x15\xf5\xc6\xd8\x56\x96\x9d\x4d\xe2\x89\xb0\x7e\xfa\x30\x66\x95\x83\xb5\x87\x46\xe3\xca\x01\x74\xc3\xa6\x05\x6a\xa4\x75\x40\xec\x25\x72\x29\x1c\x95\xd8\x3e\xbd\xc9\x7b\x56\xea\x80\x15\xeb\x0d\x35\x27\x61\x89\xf3\x7e\xf2\x71\x56\x66\x54\x19\x54\xf1\xa0\x8c\x8f\xa0\x97\x59\x57\x56\xb2\xe0\x76\xa5\x01\x0e\x80\xf0\x9b\xb7\xc5\x37\xf4\x43\x24\x5e\x67\x87\xc1\x67\xc4\xea\xad\x2e\x8d\xfa\xe8\x97\xc4\xf9\x71\xc4\x5e\xf3\x38\xf7\xbf\x88\x26\x5e\xed\x31\xb6\xd2\x4a\xc8\xc4\x29\xf0\xd2\x3a\x76\x9a\x2a\x4e\x2f\x4a\x5c\x2a\xa8\xf4\x48\xca\xd9\xc7\xd3\x6b\x03\xe0\x5e\xbc\x56\x60\x05\xd3\x44\x7f\x9b\x28\xe7\x1c\x8b\x77\x20\xef\x1a\x7f\x9b\x8d\xef\x8d\x6c\x80\xb8\x2e\x80\x22\xc3\x9e\xaf\x0b\x32\xed\x4f\xc4\xfc\x91\x49\x90\xc4\xda\x33\x4d\xd5\x91\xa6\x5a\xf9\x48\xd8\x5c\xf0\x76\x54\x54\xaf\x68\x6b\xb7\xe7\x97\x18\xf0\x84\xe5\xce\xa6\x8e\x13\xe2\xa8\xed\x3b\xba\x6d\xff\xcc\xb6\x12\xa5\xcc\x9d\x5f\x77\x2c\xe1\xc7\xab\x88\x7e\x0e\xc0\x29\xec\x0f\x9d\xb4\xd7\x98\x0d\xed\xed\x7b\x3c\x1e\x7c\x30\xc2\xba\x63\x3e\xaf\x59\xc6\xc0\xf5\x38\xc1\x4f\x05\x38\xb2\x25\x9e\x98\xe2\x24\xf7\x7a\x28\x3a\x60\xba\xdd\x90\xd2\x6b\x4d\xc8\x3b\xd6\xdc\x32\xdf\x1f\x48\xee\x88\x10\xce\x96\xc4\x78\x60\x09\x9c\x3b\xe6\x02\x2a\x69\xd5\x8f\x8c\x30\x63\x03\x56\x62\x45\xff\x13\x6d\xed\x48\x15\x82\x0f\x61\xe7\x45\x48\xb9\xdf\x9e\xc7\x4a\xdb\x24\xf5\x04\x21\xc5\x0a\xc4\x53\x18\xaf\xdd\xe9\xdf\xa0\xd9\xfe\xf8\x53\xfc\xf7\xc3\x9b\xfc\xff\x47\xc8\xff\x2d\x72\x54\xab\xd6\xfa\xc3\x9b\x3a\xf0\xeb\xab\x03\x5b\xd4\xe9\x37\x83\xc7\xf8\xe1\x4d\x3b\xd8\xb4\x83\xd7\xf0\x8b\x57\x19\x63\xb7\xfc\xe2\x4d\x57\xf8\x3b\xea\x0a\x2f\xf1\x8a\x37\xd5\xe1\x17\xaa\x0e\x2f\xb0\x87\xff\xc9\x9a\xc4\xe7\xb9\xc2\x7f\x1e\x8e\xff\xf1\xca\x6c\xfd\xb8\x57\x43\x4d\x9a\xdf\xb3\x53\xd0\xbf\x8f\x03\xd5\xd1\xe2\x2f\xa3\x5b\xe8\xe7\x5c\xba\x02\xfe\x06\x59\x11\xaa\x24\xf1\x0d\x8d\xcd\x7f\x09\xe6\xcc\x07\xaa\x8d\xe3\x6f\xcb\xc3\xe3\x46\x9e\xb0\xf6\x19\xc9\xb7\xe6\x07\xaa\x12\x3b\x6d\x0b\x3b\xa3\x63\xc8\x7d\x0b\x7a\x5d\x7a\xb0\xee\x03\x35\x06\x2a\xce\xf5\x22\x6b\x5c\x25\xe4\x0c\x67\xd2\x04\x50\x8b\x2b\x52\xa8\x00\x54\xaa\x7a\xa0\x0a\x77\xda\x1c\x2d\xf0\x72\x51\x78\x67\xe8\x2c\x51\x86\x1f\x89\x47\x36\xa4\x36\x8c\x26\x6f\x0c\x34\x27\x55\x24\x59\x76\xbf\x4f\x0c\x4c\xc9\xe9\x5f\x2f\x58\x62\x1f\x22\xdf\xd4\xc7\x88\xbf\x65\xeb\x59\x42\xaa\x39\xf5\xe0\x49\xe8\x74\x22\x0d\xdd\x1e\x72\xea\xfd\x7c\x9d\xb9\xbd\x3c\x82\xfc\x06\x88\xcb\x1e\xad\x5f\xd9\x66\xde\xaf\x33\x87\xfc\x42\x4b\x92\x5a\x67\x0b\xfd\x5a\x1f\x3d\xa9\x92\xab\x0e\x94\xc6\x9b\xd9\xbf\xb8\xea\x99\x14\x7a\x9d\x3d\x6b\x28\x5b\x5f\x9e\xfe\x1e\xf0\xfc\x17\x98\xfe\x2b\x74\x71\xec\xa2\x57\x99\xdd\x9d\x42\xcf\x55\xd4\x4b\x0a\xd4\xea\x23\x3a\x0f\x15\x20\xd1\x66\x3f\xa4\xf9\x82\xac\x22\x23\xee\x4e\x46\xc6\x72\x89\xa1\x1d\x37\x74\x93\x32\x1b\x48\x04\x7b\xbd\x8f\xab\x86\x38\xb4\x03\x9a\x20\xe8\x1e\xcf\x8d\x4d\xe3\x04\x2f\xf5\x68\x07\x32\x8b\x75\xdd\xb3\x1d\x57\x94\x43\xe4\x65\x53\x1f\x44\xc2\x42\x28\x92\xa1\xf6\x97\x7a\x40\xff\x2e\x1d\xb3\x01\x94\x23\x61\xd1\x63\xe8\x4b\x0e\x3d\x74\xae\x26\x68\xbb\xd7\x84\x40\x2c\x46\xba\x0c\xea\x15\x40\x1e\x39\xc5\x47\x97\x29\x21\x46\xd0\xaf\x07\x1d\x1c\xda\x15\x06\x3a\xee\x78\x9d\x64\x8c\xa2\x67\xa3\x8c\x44\xf3\x00\x56\x8b\xb5\x17\x6e\x1a\x1f\xae\xfb\x87\x39\x13\xc1\x04\x6e\xe7\x78\x20\x2b\x3d\xfe\xe6\x0d\xd1\xdf\x12\xba\x7e\x43\x8a\x84\xa1\x57\x56\x88\x50\xc6\xd0\x97\x6d\xe8\x4f\x16\x34\xab\x48\xff\xc5\xe7\xf8\x5a\xa2\xff\x06\x0b\xf4\x37\xff\xce\x5e\xb7\x22\xe0\x1b\x8e\x52\x5f\xc5\x51\x5e\x66\xa8\xfa\x75\x8e\xf2\x19\x96\x7e\xc3\x51\xfc\x1d\xd5\x26\xf1\xb7\x4c\xec\x3a\x6e\x58\xd1\xb8\x83\x7c\x91\xa3\x54\xe0\x78\x7f\x96\xa3\xd4\xcf\x73\x94\xa7\xe9\x1e\x8f\x56\xf3\x69\x8e\x07\xb3\xea\xef\xa4\xf9\xbf\xed\x88\x3b\xe2\x0b\x10\x87\xec\x32\x07\xb9\xa0\xe7\xb0\x74\xa7\x5a\xa7\xb4\x25\x46\x82\x1a\x89\x48\x6a\xa9\x53\x3a\x4b\x0a\x3c\x54\x2b\xd4\x77\x8f\xb8\xe9\x8b\x73\xd7\xef\xe2\xa6\x2d\xbe\x13\x96\x8d\xde\x7c\xc7\xdb\xf3\xe2\x70\x6b\x2e\xe3\x37\x7b\xb1\x48\xea\x15\x5f\x5f\xc5\xff\x8f\xbd\x77\x59\x92\xe4\xb8\xd1\x85\x5f\x25\x4c\xbb\x7f\xe1\x30\x07\xdc\xe1\x97\x65\xab\x47\xb2\x5a\x64\xaf\xc6\xac\xf6\x39\x39\x1a\x26\xff\x13\x4d\xca\xd8\x54\xca\xa6\x9e\xfe\x18\x3e\x78\x44\x5e\xab\x2a\xab\xd8\x3a\x23\x71\xca\xc8\xca\x8c\xce\x88\xf0\x2b\x1c\x0e\xc0\x01\x7c\x60\x7a\xe9\x79\x92\x19\x1e\x5a\x0b\xb9\x98\xcc\x57\x9c\x5a\x06\xb1\x94\xf7\x11\xcb\xf6\x8c\x58\xd6\xed\xe7\x31\x13\x97\xf6\xd6\xed\xe7\x6e\x52\xe0\xe7\x48\xe1\xb9\x01\x3b\x99\xd4\x65\xe8\xdb\x29\xad\xa4\x17\x69\x25\xdd\xa4\x95\xef\xdf\xf5\x1f\x2e\x52\x96\xa8\xf4\x12\x17\x7f\xa1\x7c\xe4\x10\xaf\x4a\x5c\x17\xb3\xfd\x1d\x99\xc3\x33\x9d\xfe\x5e\xdc\x81\xed\xef\x5d\xdc\x41\x9e\x21\x89\x82\xfc\x56\xdf\x85\x39\xbc\x28\x6a\xfd\xe3\xb8\xc3\xfd\x1b\xcf\x7d\x89\x70\x4e\xa8\xea\xbb\x49\x27\xea\x3b\x77\xc7\xce\xcd\xeb\xd6\xdd\xee\xda\xba\x93\x6f\xdd\xd5\xb7\x6e\xf9\x07\xec\xdd\x2f\x10\xd0\xb5\x0b\xa1\x13\x50\x2b\xff\xdf\x09\xe2\x59\x24\x91\xb6\xf6\x57\xa4\x12\x37\xe4\xe9\x81\x2c\x8a\x36\x4d\x2b\x74\x2a\x24\xd6\x13\x89\xf6\x96\x80\xc2\x2f\xf4\x32\xbd\xda\xcb\x73\x44\x5b\x1b\xf3\x6b\x17\xf4\x33\x01\xe3\xbb\x89\x68\xbf\x83\x89\xe6\x67\x26\x9a\xf9\x5f\x68\xa6\x7f\x78\x41\x6a\x88\x04\xa0\x66\x2d\x2f\x8e\xd7\xff\x04\x25\xb4\x37\x4b\xeb\xb7\x47\xe8\xee\xb9\x96\xe7\xe6\xfa\xe6\x18\x65\xee\xf6\x77\x32\xd8\x7c\x42\x09\xcd\x29\x21\x81\x12\xd2\x5d\x94\xf0\x5b\x09\xfe\x1e\xfe\xff\x6d\xfb\x75\xbe\xd3\x66\xc5\x54\x72\x9f\xd2\x8c\x7d\x6f\x47\xb9\x0b\xf0\x49\x3a\xb2\x0d\xd7\x69\x49\x86\x9c\x12\x40\x55\x10\x11\x0b\x33\x5d\xed\x38\x30\xea\xe3\xe8\x63\xea\xd4\x6b\x02\xce\x31\xf7\xec\x98\xc6\x5d\x80\x73\xac\xdd\xa1\xd6\x29\x76\x71\x00\xe4\x4c\x82\x34\x91\x08\xed\x6b\x39\x38\x7a\x13\x17\xd8\xc7\x83\xc7\xf1\x88\x03\x08\x01\xd4\x3c\x27\x7b\x5a\x60\xc3\x02\x66\x79\x56\xcf\x7e\x25\x38\xf7\xc9\x80\x74\x69\x21\x53\xe7\x1a\x0a\x45\xed\xdb\x4e\x49\xdb\xe4\x9f\xc3\x9a\xd8\x3b\x0e\xa9\xbc\x00\x80\x1c\x23\x61\x51\x05\xf2\x23\x4e\x69\x60\x58\x44\x16\x6b\x24\x5c\x72\xc0\x97\xee\x72\x50\xc7\x7e\xef\x86\xef\x40\xb1\x24\xe2\xe6\xf8\x39\xda\x03\xba\xa5\x68\x25\x9b\x76\x00\x00\xcb\x0c\x44\xaa\x9d\x83\x2d\x2b\x16\x06\xca\x46\x32\x3b\xa4\x75\x4a\x84\x14\x4c\xc5\x96\x82\x50\x42\x0e\x8e\xc8\x35\xa4\x81\x9c\x8c\x0c\x73\x48\x7e\x14\x23\x22\x82\x87\xb1\x94\xed\x89\x9e\x49\xac\x64\x80\x7d\xb7\x14\xa8\xf7\x42\x15\x59\xbc\x32\x8e\xa2\xd2\xd5\x69\x7b\xc9\xd0\x5d\xb4\x20\xc1\x12\x92\x38\xb1\xe4\x50\x91\x48\xdd\x21\x7a\x39\x02\xe5\xc8\x93\x8a\x21\x8f\xa7\x27\x6a\xb3\xc1\x09\x8e\x16\x34\x29\xf5\x1c\x00\x75\xa5\x40\xc6\x53\x4a\xb2\x2d\xd4\x14\xb1\x28\xab\xbd\x98\xbb\xc9\x94\x0e\xef\xa6\xc4\x0d\x16\xe0\xd8\x1c\x6c\x10\x01\x4e\x75\xca\x00\xe8\x13\xe4\x9f\x28\x26\xe7\x39\xb8\x7a\x03\x0e\x0e\xf2\x29\x65\x64\x75\xc2\x1c\x14\xe4\x83\xcd\x38\x07\xb2\xa6\xe3\x9c\x43\xba\xc3\xfa\x5b\x13\x53\x55\xea\x20\x37\xa4\xaf\xcb\x98\x27\x84\x56\x3b\xfa\x11\x72\xe4\x66\xb5\xae\x38\x34\x94\x28\xd0\x99\xd2\x88\x26\x65\xa1\x04\x4b\x7a\x62\x52\x20\x3c\x69\x9d\x29\x79\xd6\xb8\x63\x22\xf6\x75\x48\x0b\xc5\x54\x26\x13\x50\xdb\xce\x4f\xcd\x40\x32\x52\x01\xba\xc6\xd4\x63\x26\xd6\xf6\x90\x89\xd3\xce\x93\x75\xf8\xb1\x72\xae\x36\x71\xb1\xe0\x90\x95\x15\xf9\x0d\x6d\xb2\x5b\xb4\xc9\x77\x28\x54\xc9\x1c\x80\x27\x13\x2a\xd0\xa4\x8d\x73\x6e\xa9\x27\x1a\x02\xa1\xad\x10\x4a\xba\x1b\xf0\x63\xd6\xeb\xea\xb8\x60\xa5\x3b\x4a\x63\x16\x4a\x46\x28\x95\x8a\x66\xaa\x2a\xd4\x6b\x23\x6d\x46\xe4\x19\x03\x08\xf8\x13\xe0\x5b\x21\x13\x56\xc2\xf1\x0c\xe3\x40\x2d\x56\xa0\xfd\x80\xe0\x03\x23\xca\x2b\x53\x03\x60\xb2\xed\x3f\xc5\x43\xec\x91\xb4\x3d\x6a\xc8\x80\x14\xc0\xa9\x35\x62\xb0\xc8\x6f\x17\x31\x6a\x83\x13\x7a\xa6\x3c\x52\xa8\xdd\xc3\xbb\xee\xb2\x14\x56\xaa\x9a\x27\x99\x29\x17\x1c\x34\x01\x7a\x2b\x45\xd3\x87\x2a\x15\x3f\x6a\x92\x42\x9d\xf5\xb3\x8d\x79\x9e\x14\x34\xe5\x87\x64\x5a\x80\xcd\x0a\x58\x5f\xce\x7d\x87\x0d\x08\xa0\x68\x80\xe5\x6b\x80\xea\xcb\x31\xcd\xc0\x5f\x15\x8f\x1d\x6a\xe3\xa0\xb8\x19\x9d\xb2\x1f\xfc\x93\x00\x60\x2f\x57\xa4\xd9\x00\x8d\x23\xc1\xd8\x60\x19\x3e\x0e\xc1\xd1\x9e\xb2\xf1\xb6\x6d\x41\xea\x36\xff\x1c\xbc\x29\x79\x56\x85\xf1\x3a\xa0\xa1\x81\x10\x0c\xe3\x7c\x67\x64\x0a\x26\x8d\x1a\xa8\x26\xd3\x5e\xaa\x27\x5c\x40\xda\xd5\xea\x31\x8a\x93\x20\xa5\x1b\x08\x9c\x91\xe9\x70\x64\x59\x05\xf0\x60\x2a\x38\xa9\x6e\x82\xa4\xcf\x0e\x58\x1a\xd5\x94\xbb\x60\x6b\xda\x01\xad\x0b\x90\xe9\xc1\xa4\x72\x47\xdf\x6a\x57\x5b\x35\xc6\x06\xa9\xb2\xb1\xdb\xa4\x85\x12\x07\x6a\x5c\xa8\x62\xb6\x4b\x4c\x48\x75\xe9\x39\x0b\x00\xc4\x4d\x29\xdb\x96\xd1\x02\x52\x38\xc2\x2d\x42\x74\x6f\x2d\xba\xf4\x5d\xc9\xb9\xe1\xc4\xdf\xd9\x72\x91\x42\xb5\x06\x25\x04\x54\x6a\x31\xde\x94\x05\xfb\x4f\xf9\x4c\x95\xb1\x78\x14\xeb\xbe\xf2\x94\x3d\x03\x20\x12\xcd\x75\x1e\x7c\x46\xb8\x6d\x33\xce\x5e\xf3\x7a\x02\x6b\x43\xd0\x28\x01\x53\x39\x9a\x62\x27\xb6\xd3\xd4\x11\xb4\xe9\x60\x06\x48\xef\x80\xc4\xb8\x11\x01\x02\x69\xeb\xf9\x61\xfc\x73\xec\xfe\xc8\xbf\x5d\x5a\xf7\x44\xda\x4c\x29\x53\xc3\x99\xac\x20\xc5\x9d\x20\x6d\x4c\x8a\x9d\x4a\xa5\x08\x4c\xb7\x94\x1d\x28\x13\x49\x2d\x8c\x86\xb0\xf9\x39\x9e\xa9\x1a\x8b\x8d\x05\xa8\xe6\x00\x10\x06\x78\x69\xb4\x9d\xc2\x45\x08\x5b\xdf\xd0\x3d\xfb\x6c\x5a\x3a\x12\x80\x9f\x0f\x20\xb2\xff\x80\x8e\x1b\xef\x1c\x1e\x1b\xa0\x8e\xad\x53\x2c\x8e\x95\x9e\x90\xd9\x2e\x9b\x46\x49\xa9\x03\x11\x3e\x18\xd7\x75\xf7\x96\xe0\x2c\x96\xe1\xc7\x82\xd0\x0f\xe3\x12\x21\x51\xef\x6c\x1b\xaa\x8a\xcd\x86\x88\xa3\x5a\xf6\xe6\xed\x2c\x9d\x38\x33\x89\x35\x2c\x66\x63\x39\x3b\xe2\x4a\x22\x05\xc4\x94\x33\xc2\xa6\x6d\x14\x72\x34\xba\xed\x70\x09\x30\xd2\x76\xbc\x66\x4f\x2a\xde\xa8\x02\x80\x24\x83\xaa\x8c\x7e\x91\xa8\x84\x91\xd2\x51\x3a\x50\x1a\x6c\x11\x8a\xa7\x0d\xa9\x54\xb9\x21\x93\x2e\xb5\xee\x10\x0c\x48\xfa\xe7\xbc\x4a\x72\xb2\x7b\xdc\x11\xf8\x7b\x2f\x9f\x79\xc5\x38\xfb\xc3\x22\x4b\x7f\x16\xf9\x53\x4a\x7f\xf8\x10\x9c\x3e\x04\xa7\x0f\xc1\xe9\x43\x70\xfa\xe7\x15\x9c\x5e\x31\xfa\xbd\xc0\xd0\x3e\xa4\xa9\x0f\x69\xea\x43\x9a\xfa\x90\xa6\xde\x29\x4d\xcd\x2f\xbb\x49\xdd\x0c\x59\xbb\x11\xbf\x75\x32\x1b\x36\x83\x3c\xd9\xc2\xc8\x5b\x21\x8e\xc8\x60\x12\x07\xfa\x9a\xdd\x0b\xf8\x3c\xf8\xd7\x03\x1e\xbf\x7a\xd0\x6e\x4e\xe3\xef\xb2\x04\xfc\x4b\x9e\xbe\x02\x97\x26\x1b\x8b\x7a\xf6\xf5\x47\xee\xd4\x3f\x5d\xde\x05\x06\xc4\x24\xd7\xaf\x39\x1c\x05\x1f\x82\x15\x7d\xbb\x54\xfb\x03\xd2\x76\x99\x6e\xb7\x1c\x8d\xc3\xbf\x79\x6f\x2d\x78\xbe\x7f\xf6\x77\xd5\xb6\xa5\xe4\xa7\xaf\xd6\xb3\x04\xb4\x90\x9b\x6f\xfb\x38\xda\xf0\x5d\x95\x21\x13\x7a\x78\xab\x69\xf6\xaf\xfd\xed\xde\xad\x9d\x63\xe3\x19\x1d\xdb\x76\x49\xcf\x3d\x16\xd1\xb3\x67\xfb\x75\x35\x6f\xfe\x8e\xfd\x70\x78\xb6\x7a\xfb\xd7\x5d\xd3\x7a\xc0\x20\xef\x6f\x8d\x9f\x3c\xd7\xf9\xb0\x36\xdc\x53\x57\xa7\x36\x79\x47\x9f\x6b\xc9\x83\xd1\xce\x73\xdd\xbf\xd9\x3f\x2f\x7e\xff\x02\xf5\x78\x0f\xd1\xb9\xd7\x66\x76\x3f\x96\x89\xdc\x18\xe5\xa5\x01\x37\x97\x07\xb0\x23\xef\x33\x37\xcf\x2f\x7b\x77\xbd\x63\xf1\x03\xd0\x06\x30\xfb\xdc\xb6\x40\x03\x9f\xfc\xd3\x41\xbd\xb3\xa7\xfa\xe1\x03\xbe\xf6\xf8\xfc\x74\xf5\xd8\xd4\xa9\xe5\xb2\x03\x7c\x77\x33\x85\x4d\x17\x84\xc5\x15\x8b\xf1\xe9\x2b\xf0\x88\x91\x36\x5d\xae\x2a\x0a\xeb\x73\x7c\x00\xfa\xf4\xce\xb3\x90\x9d\x94\xd5\x8e\x65\x3d\xdf\xce\x47\x34\xe4\x76\xf1\xf8\x00\x88\x21\x0e\x7e\x73\xe5\x17\x1b\x8c\x94\xac\x87\xdb\x1d\x2e\xa6\x18\x4e\xfc\x42\x37\x80\x4e\x9e\x01\x6d\xf0\x4c\x6f\xf1\xf1\x20\xb7\xc7\xb3\x20\x3b\xff\x18\x03\xa1\x01\x88\x79\xda\x3a\x2b\x39\x3f\x3f\x10\x4f\x5f\x3a\xbc\x72\xab\xc9\xc1\x2f\x8c\xd7\xcd\xfa\x3b\x90\x24\x5e\xea\x1e\x26\x29\x2f\x0d\xbc\x35\x47\xa7\xf3\xfd\x62\x49\xeb\x58\x5f\x0f\x83\x62\x1c\xae\x9b\x7f\x3a\x9d\x0d\xee\xdb\xe8\xec\x35\xcd\x5c\x0e\x58\xba\x55\x07\x7a\xfb\xd2\x1c\xa1\xf0\xdf\x3e\xd7\xbe\x78\xd0\xdf\x93\x99\xbd\x6e\xe9\x0b\x93\x7a\x37\x8b\xb8\xcb\xdc\x72\x3f\xa3\x58\xa2\xe2\x23\xff\x49\x3f\xfd\xe1\x7f\x8b\xd0\x70\x79\xa8\x9f\xca\x67\xfd\xf3\x0a\xf4\xf5\xfb\x95\x27\x2e\xfb\x2d\x7f\xfa\x63\xa9\xcb\xf9\xf6\x3f\x4a\xd4\xf8\x9e\x82\x06\xbf\x24\x68\x5c\xb7\xfa\x44\xd0\xb8\xec\xfa\x9f\x3e\xff\x51\xe4\x4f\xc7\x50\x98\x7f\x09\x19\xe4\xed\x12\xc8\xdb\xe4\x8f\xbb\x4c\x1f\xbf\x89\xb9\xfc\xf3\x0b\x25\xe5\x7b\xca\x24\x2f\x31\x9a\xff\x25\xe2\xca\x4b\x3c\xe7\x7f\x87\x24\xf3\x12\xeb\xf9\x10\x72\x2e\xf8\xd0\x4f\xff\x7d\x47\xa8\xd8\xb3\x48\x20\x88\xbf\xee\x94\xfb\x8e\x24\x01\x99\xaa\x16\x4a\xd1\x93\xac\x26\x62\x60\x92\xf5\x5a\xdd\x76\x2a\x2d\x90\x26\xa5\x86\xa0\x62\x18\xf6\x93\xea\x4c\x2a\x09\x31\xda\xba\x61\x13\x33\x00\x78\xd1\xa8\x77\xe0\xcd\xa7\x32\xe3\xc4\x27\x51\x54\x8f\x35\x6f\x03\x2c\x42\x04\x06\xe8\x58\x3d\xa1\x36\x53\x2d\x73\xa0\x8c\x7c\x47\x9a\x34\x90\x83\x8a\x14\x52\x91\x60\xe5\xef\xe0\xbe\x64\x8f\xc0\xb0\xe9\x47\x14\x30\xbb\x22\xfe\xbd\x04\x62\x3f\x78\x52\xf8\x41\xc1\x48\xcf\x08\x7f\xb5\x4e\xb4\x79\x84\x24\x22\x28\x18\xe7\x51\xb1\x1e\x02\xc5\x8c\xc4\x89\x1d\x56\x50\x06\x66\x56\x72\xf4\xaf\x1c\x32\x95\x98\x67\xc0\x85\x52\x91\x46\x15\x96\xb8\xde\x84\xb2\x14\xaa\x11\xb1\xec\x56\x64\xd9\x51\x42\xfd\x42\x1d\x7e\x53\xbe\x6e\x14\x57\xa4\x08\x4b\x67\xe2\xe2\xd6\x31\xbb\x63\xd2\x4d\x9f\x6d\xef\xa1\x98\x14\xa7\x5a\x28\xb0\x46\x9c\x8e\x35\x80\x94\x52\x91\xba\x1b\xd0\x8c\x82\xcf\x96\x11\x19\x1f\x07\x3e\xd9\x64\x2d\xd4\x03\x45\x1c\xde\x54\x58\x91\x11\x56\x9b\x07\x50\x3c\x6b\x0b\x42\x12\x0b\xe2\xe7\x01\x0a\xe6\xa9\x88\xad\xfb\x00\x8f\xf4\xcc\x02\x6c\x63\xcf\xd9\x8f\xb5\x8c\xc1\x0a\xe3\x1c\x46\x3c\x0a\xba\x76\x1c\x1e\x00\xfc\xb5\x67\x9f\x51\x6a\xfd\xe9\x2b\x46\x51\x60\x9e\xb4\x1d\x06\x31\xec\xa5\x93\xc2\x1c\x5d\x97\xf3\x42\x5c\x95\xec\xa8\x0d\x91\x6d\x66\x11\x2b\x6b\x37\xf6\x4c\x29\x3f\x7d\xb5\xfb\x4a\x35\xea\x96\x58\x69\x44\xd4\xba\x59\xde\x21\xda\x00\x8d\x36\xbc\x00\x33\x10\x20\x97\x09\x8d\xb2\x5c\xa4\x7d\xa0\x9c\x0e\x14\xc5\x1d\xac\x99\x44\x49\x4b\x22\xd5\x86\x90\x4f\xd2\x82\x53\x39\x2f\x5d\x4b\xb0\x5f\x0f\x08\x2a\xb5\x57\xc5\xfa\xd0\x10\xea\xc5\x52\xe1\x5e\xc8\x9c\x48\xb2\x6e\x1d\xb3\x62\xc5\x29\x80\xcb\x21\x6e\x9d\xfd\x8a\x3c\xaf\x3d\x59\x77\x7a\xc9\x53\x21\xad\xc6\xeb\x12\xce\x6f\x12\xaf\xcf\xe1\x30\x2b\x19\xa7\x6e\xf6\x37\x7e\x4e\x36\xba\x85\x72\xa3\x7c\xfc\x29\x50\x04\x74\x64\x02\xee\x5b\x8a\xe5\x58\x06\x71\x4a\x3b\x58\x72\xb9\x24\x4a\xa9\x58\x4b\x81\x96\x6d\xdf\xa2\x1e\xad\xe6\x87\x9b\x00\xf3\x0c\x76\xc3\x34\x62\x2b\x11\x00\xd8\x36\xda\x46\xf6\x63\x44\x18\xc6\x65\xed\xe3\xa4\xca\x39\xd2\x12\xf6\x0b\x34\x37\x40\xfc\x21\xf2\xec\xce\x31\x07\x3f\x89\x13\x06\x5b\x54\x6e\x0d\xfa\x96\x80\xd8\xbb\xd8\xfa\x4b\xf1\xf5\x71\x6b\x68\xc5\x86\x36\x82\x7e\x52\xdb\xe1\x60\x78\x1a\xc9\xb8\x0b\x9e\xe0\x42\x05\x30\x32\x29\xe1\x8c\x1a\x46\x7b\xcd\x81\xb4\x25\x27\xc4\x01\xcb\x59\x2a\xa8\xae\xe7\x50\xa8\xa4\xfa\xb9\x21\xc0\xdd\xc4\x4a\xdb\x62\x6b\x9b\x0a\x95\x6e\x57\xc9\x3e\xa5\x81\x0f\x14\xea\xb6\x3a\x6a\xf2\x73\x1e\x1c\xf7\xe2\x74\x07\x27\xbf\xc5\xb8\x5c\xda\x34\xea\x30\xd8\x97\xf6\xf4\x95\xb4\x0a\xe4\xb7\x88\xc4\xed\x46\x59\x11\x9c\x46\x0a\x62\x1f\x70\xc2\x9a\x48\x34\x53\xa5\x06\x8c\x4a\xac\xb4\x04\x04\x8a\x82\x1c\xf0\x19\x90\xae\xd4\x00\xbf\x8a\x34\xeb\xd2\xe6\x35\x18\x5b\xbe\x0d\xb0\x02\xa4\x6b\x48\xc6\xff\x1c\xfe\x23\xc0\x2d\x94\x3b\x8f\x54\xc3\xd2\x13\xc5\x9a\xb7\x14\x3b\xc5\x35\x6c\xcb\xf8\x0f\x83\x8f\xd9\xdf\x18\x6c\x4f\xe2\xc1\x3b\x4f\x71\x4d\x12\x1b\x62\x0c\x82\x6d\x5d\xe3\xaa\x14\x1f\xf8\x96\x49\xb0\x31\xc4\x82\x44\x6e\xa4\xdc\xe1\x2f\xa0\x61\x60\xc4\x3b\x88\x27\x5b\xfb\xb0\xa7\x18\x2b\xca\xd6\x76\x4d\x12\xa8\x56\xc6\x29\x7e\x0a\x00\x59\x5c\x30\x53\x8d\xf7\x0b\x4e\x43\x1a\x20\xc2\x05\x87\xac\xb6\xe9\xd6\xd9\x23\x88\x19\x4c\x20\x76\xeb\x98\xb1\xdf\x40\xc9\x88\xdf\xb6\x81\xda\x94\x2a\x50\x5d\x13\xcb\x8c\x38\x11\x07\xce\xcd\x0d\x9e\xb0\x6d\xb7\x06\xb1\xdb\x54\x02\xaa\x85\xb2\x8d\x56\xe2\x07\x96\x83\x6d\x3b\xc8\x0c\x81\xa0\x77\xa4\x2b\x85\xdf\xf0\xc0\x8d\xd6\x22\x94\x00\xd2\xdc\x14\x41\xcc\x38\xa9\x61\xa9\x70\x89\x28\x38\x4e\x6c\x9d\x34\xdb\xf8\x55\x9b\xd3\x1a\xa8\x00\x24\x34\xb5\xb2\x52\x4e\x8b\x1d\xe7\x59\xee\xa1\xa0\x8d\xb2\xb4\x31\x21\x6a\x63\x84\xa4\xa4\xee\x57\x91\xa6\x64\xf2\x81\xed\x99\x05\xe7\xfb\xb3\xb3\x78\x96\x9d\x7b\x31\xc4\x4c\x0d\x80\xdf\x80\x66\x4c\x20\xc7\x2e\xb3\x8d\x23\xc5\x62\x1b\x44\x4b\x4f\x5f\xad\x34\x3f\x7c\x37\x19\xb5\x28\x69\x67\x84\x6c\x03\x24\x94\x8b\xc9\x7d\x8e\x4a\xc1\xe8\x97\x43\x78\x62\xa0\x1b\xce\xe7\xaa\x71\x5a\x38\x09\x2b\x7b\x0a\x6b\x59\x52\x58\x2b\x3b\x1e\x27\x71\xef\xe8\x26\x69\x21\xfb\xb1\x4b\xc3\x77\x2a\x40\xd1\xa8\x00\xca\x17\x24\x64\x30\x62\x31\xf9\x07\x8d\xb6\xcf\xc1\x00\x72\xa7\x18\x71\x48\x87\x2c\xf9\x46\x03\x56\x6f\x58\x92\xa6\x20\xa4\x9e\x0b\xe4\xd1\x90\x28\x6b\x99\x9d\x62\x62\xd1\x1d\x81\x38\x7a\x33\xd9\x24\x90\x91\x04\x76\xd6\x3e\x63\xe0\x6d\xfe\x7b\x0b\x03\xc1\x16\x44\xc9\xea\xf8\x5c\xb2\xa3\xc8\x0e\x48\x9c\xaa\xe7\x16\x48\x15\xc0\xdf\x71\x82\x07\x75\x17\x32\x5e\xaa\x8d\x4a\xdd\x62\xc6\x78\xf5\xa0\x18\xd9\x0e\xe0\x42\x01\xd2\x62\x9b\x7d\x46\x77\x1a\x0f\xc8\x10\x1c\x0b\x4a\x87\x53\x36\xc4\x86\x8c\x61\x8e\x92\xdc\x0f\x65\x5c\xcc\x63\x01\xc6\x74\x30\xf1\xc1\x9a\x55\x29\xe2\x58\x3b\xc3\x27\xa0\xd9\xd0\xda\xc2\x83\x4b\x3e\x55\xa3\xb8\x88\xe3\x50\x8c\x82\x71\x0e\x94\xd7\x4a\x33\xc5\x11\xc0\xe8\x32\xae\x38\x81\xf5\xb6\xe7\x21\xa8\x4e\x1d\x8e\x7a\x07\x58\xa8\x18\x2b\x50\x4e\x58\x08\xd1\xf6\x67\x47\x05\xec\x4c\x92\xe6\xe0\x89\x56\x52\xf3\xc1\x0c\x40\xa1\xde\x91\x22\x24\x1a\xf0\xa9\xec\x93\x03\xd4\x50\x5c\x21\x57\x07\x60\xa5\x6a\xa6\xa8\xed\x78\xe5\xbc\x03\x07\xd2\x48\x13\x90\x91\x16\x22\x03\x01\xd6\x3f\xd7\x23\x77\xa3\xd0\xf4\x84\xc8\xcb\xcc\x53\xb5\xf5\x0f\x70\x29\xc0\xae\xdb\xb2\x94\xe2\xbc\x0b\x47\x8d\xbd\x0b\xd2\x3b\x98\xf4\x61\xf2\xd6\x7a\x71\x60\x86\xf7\x08\xb2\x9d\x18\x25\x16\x81\x90\x59\xe1\x2a\xb1\x83\x14\x57\x62\x01\xc4\x3c\x63\xd2\x1a\x5c\x77\x6c\x69\xb3\x11\x7a\x6e\x03\x94\x36\xc3\xaf\x40\x2b\x72\x7c\xf6\x79\xc0\xa8\x46\x3d\x40\x7e\x7e\xfa\x52\x81\xf0\xc4\x89\x0a\x16\x91\x03\xb4\xc3\x53\xa6\xf9\xdb\x10\xd7\xfc\xe5\x70\xf1\xb6\xf7\xac\x8c\x8e\x29\xe0\xb3\x98\xa2\xb1\x8c\xd1\xb3\x30\x3a\xc4\xed\x78\xe5\x7d\x6b\xb3\x90\x00\x9d\xd9\x84\xd8\xdc\x8a\xf5\x2c\x99\x3c\x9d\x8d\xef\x16\xf6\x65\xc9\x2e\x58\x35\xc0\x5a\xc9\x88\x06\xbc\x47\x01\x79\xd5\x77\xf6\x59\x05\x24\x52\x4f\xc5\x54\x42\x24\x19\x70\x90\x5b\x00\x1b\x98\xee\x9c\x89\x53\x5e\x71\xaa\x6a\x03\x3c\x3f\xe0\xc9\x8a\x6d\x34\xc5\xc4\x64\x9d\x8d\x9b\x4d\x89\x34\x97\x20\xd4\x22\xf0\xad\x4b\xde\xd8\x7e\x39\xb1\x2d\xb0\x19\x7b\x23\x60\xb0\xb6\x05\xf2\xb7\x7f\xae\xd2\x06\x7a\x3b\x87\xe1\x3c\x05\xf6\x90\xaa\x2d\xd7\x9a\xad\xf0\x60\x85\xdb\x7c\x89\xc2\x33\xc2\x76\xc0\x32\xf0\xea\x4d\x68\x0d\x40\x10\xa7\x88\x9d\xd2\xd8\x75\x4c\x48\x4e\x65\xec\x25\x39\x86\xe3\x22\xa9\x8a\xed\x7a\xd8\xe5\x14\xf3\x1a\x93\x4d\x6b\x51\x60\x32\x19\x09\x38\x0c\x18\xfc\xca\x92\x6e\x8a\xad\x6a\x63\xbd\xb6\xbb\x22\x47\x8f\x49\x53\x89\x14\xb1\x2d\x26\xd6\x49\xdd\x26\x4a\xc8\xc2\xe3\xc9\x6c\x22\xd4\x10\x5b\x7e\x99\x91\x62\xbe\x49\x07\xa8\xaf\x4d\x2e\x71\xd7\x19\x65\x46\x29\xee\x3f\xa5\x2c\x9b\x6e\xcb\x0a\xd5\x48\x36\x66\x0a\x34\x38\xea\xbe\x95\x38\x80\x71\x97\x71\x0d\xb7\xb2\x03\xc1\x15\xc3\xfd\x88\x6c\xe3\x87\x08\x2e\xd9\xf4\x0d\x4e\x70\x29\x01\x04\x42\x72\x2c\x60\x48\x0d\xa6\xf6\x9a\xda\xd8\xe0\x3f\x97\xb0\xce\x63\xa2\x0a\xb7\x28\xe3\x28\x32\xfc\xe7\x72\xea\xc8\x5d\x66\x24\x3b\x23\xdf\x16\x15\xd3\xba\x81\x0c\x6f\x8c\x1a\x60\xf0\x26\x13\x45\x5b\xbd\x70\xab\x03\x43\xf3\x8b\xac\x90\x4b\x6a\xab\x94\x4c\x4e\x69\x35\x53\xee\x7b\xea\x6a\x65\x50\x36\xf9\x9f\x6d\xfb\x03\x4b\x32\x86\xdf\xe1\xe1\x31\x34\xb9\x6e\x12\x31\x03\xd6\x64\x91\x90\xe0\xb8\xd1\xdd\x32\x82\x9c\x3c\x47\xa5\x43\x21\x43\xec\x03\xa5\x68\x83\xc2\x1e\xcc\x2c\x46\xcf\x8d\xb2\xf1\xa8\x6e\x5f\x23\x6d\x84\x4b\x4b\x08\xb4\x41\xb2\xb1\x82\x17\xf3\x96\xb8\x19\x27\x19\x09\x1d\x62\xc3\xdb\x5c\xab\xfd\xad\x0e\x7a\x1d\xd1\x50\x7e\x67\xa5\x5d\x68\x47\xae\x3c\xb5\x3e\xc1\x8b\x64\x6b\x13\x87\xc9\x1b\xcf\xb8\x07\x5d\xa1\x84\x4d\x6d\x15\xa7\x93\x11\x97\x4d\x84\xfd\xad\x3f\x02\x8e\xe9\xe8\xb9\xc6\x43\xc6\x31\x01\x8b\xa3\x63\xe7\x49\xf6\xde\x89\x7d\x7d\xa3\xc4\x1d\x0c\xdd\x24\x3d\xae\xed\xe9\x4b\x21\x35\xf5\x3f\x16\x39\x1b\xe4\x76\x35\xc8\x3c\xc2\x5d\x4f\x07\x79\x1e\xfb\xfc\x89\x7a\xf1\x50\x28\xc9\xc5\xe0\x62\x54\xf3\x71\x68\x93\xcb\x5c\x03\x09\xef\x7c\x78\xad\x15\xbe\x7d\xc6\xee\xea\x36\x86\x70\xfb\xd6\x11\xf6\x55\xed\x22\xa1\x2d\xc7\x08\x2c\x71\x02\x21\xb6\x34\x68\x0c\x6a\x36\xf2\x6d\x99\xa4\x91\x4d\x14\x31\xa2\x6c\x15\xd4\x89\x89\xaa\x1c\x32\x35\x01\xf7\xe5\x46\xad\x02\x02\xcd\xf6\xa5\x6e\x32\x7b\x03\x02\xbc\x2d\x10\x1b\xe9\x52\xd2\x0e\x76\x90\x9a\xaa\x49\x6a\xf0\x6f\x72\x07\x32\xd3\xea\x21\x84\x32\xfc\xbc\xea\xd3\x57\x44\x73\x35\x12\xf1\xa4\x7c\xd6\xe3\x28\x64\x9b\x03\x5c\x99\xd4\x14\xbd\x06\x6f\x1e\x6d\x85\xb4\xb8\xa3\xa1\x7d\x67\xf1\xc4\x40\x58\xb1\xd8\x0f\x32\x57\xd3\x33\xdc\xe5\x6a\x10\xfc\xb7\x21\xe0\x41\xbc\x29\x70\xa7\xda\x2d\xca\xb8\x3b\x69\x95\x01\x01\x2a\xb6\xeb\xe8\x3c\x94\x46\xde\x9a\xde\x61\x7f\xab\xb0\x94\xad\x28\x63\xa9\x8e\xb7\x86\xb1\x82\x04\xcf\xe3\x2a\x37\x0f\x43\x4b\xc9\xd1\x51\x52\xa9\xa8\x38\xd5\x3a\xfa\x2c\x50\x6f\x6a\x04\xa6\x1c\x04\x3d\x4e\x0a\x8d\xc5\xf8\xb7\xcd\x01\x04\x3f\x84\x40\x5b\x07\xda\xe0\xcc\x98\xf7\x28\x60\xd1\xb9\xc0\x93\x4e\xa8\xb4\xd9\x85\x43\x27\xd0\x0a\xe1\x57\x77\x43\x62\xd3\xa1\xaf\x54\x57\x2f\xba\xe6\xd9\x36\xfd\x16\x3b\x25\x9b\x7f\x56\xa3\x75\xe7\x06\x42\x0a\xa7\x42\x81\x0c\xe3\x57\x0f\xed\x00\x4d\x00\x2a\x85\xed\x24\x3a\x00\x2c\x4d\x67\x02\x48\x3d\xb3\x9a\xae\x3b\x7b\x8f\xa3\x6d\x34\xb6\x4d\x53\x83\xac\xc8\x70\x4a\x1e\xfe\xbb\x1d\xa2\x43\xcf\xa4\x8e\xb5\x0e\xbf\x2c\xbb\x5b\x07\xa2\x72\x99\x31\x29\xee\xc9\xcd\x26\x51\x2e\x43\xee\x22\xa9\xe3\xb5\x0b\x20\x30\x15\x4a\x0b\x32\x5b\xd5\xb1\x4d\x41\xf4\x86\x9b\x98\x08\xf0\xfb\xa9\xd7\x4c\x1d\x78\xfd\xa9\x9b\xf6\x65\x84\x95\xeb\x81\x62\x79\xfa\x4a\x5d\xac\x9c\x0c\xab\x77\x2e\x94\x6d\x77\x22\x6d\xdd\x76\x34\x7c\x27\xdf\x87\x60\x44\xd4\x4e\x0d\xf1\xea\xd0\x7c\xd8\xb5\x67\x8a\x19\x8e\x62\x5b\x76\xa7\xbc\xb8\xa2\xf4\xb8\x3b\x9d\xeb\x42\x02\xf3\x63\x06\xa0\x59\x29\xa6\xc3\x7c\x0b\xb0\x0c\x52\xb4\x99\x2d\xc0\xe2\xaf\x37\xca\x28\xa3\x08\x53\xba\x22\x5c\xf0\xf0\x95\x31\x28\x8e\x5d\xca\x4f\x5f\x85\xb4\x1a\x4d\x29\xcc\x4a\x09\x5b\x42\xdd\x79\xee\x3a\x86\x31\x05\xce\xcd\x0d\x00\xcc\xa4\x18\xe4\x2a\x90\xe9\x6b\x40\xfa\x45\xc7\x62\x63\x1c\x2b\x61\xb3\x28\x48\xd8\x56\x8c\x63\x26\x7c\x27\xa4\xf3\x24\xce\x2e\x96\x9a\x8a\x11\x3c\x94\xb3\xd5\xe3\x32\x6b\x5b\x98\xa0\xd6\x4c\x4d\x9e\x8f\x11\x81\x99\x02\xa3\x91\xcb\x2c\xc4\x30\xa8\x98\xfe\x1b\xd5\x33\x35\x0e\xf5\x88\x8b\x6b\xe4\xe3\x62\x59\x85\xa6\x4d\x40\x30\xc0\xb8\x1b\x1b\x6d\xc6\xc5\x95\x0a\xe3\x8b\x0b\x5a\xa7\xc3\xb3\x94\xaa\x89\x86\xc6\x1c\xc4\xa4\x96\x62\x52\x19\x44\x4c\xd3\x8f\xfc\x0a\x12\x4c\xe1\xd7\x15\x89\x8a\x7c\xf0\x26\x5b\x08\x6c\xb8\x58\xda\x55\x8a\xef\xda\xbd\x67\x62\xb8\xb7\xa2\x5f\xd6\x74\x70\xcf\x0a\xb5\x1e\xbb\xb3\x54\x48\xa5\x70\xc4\x64\x3c\x61\x04\x9e\x11\x2b\xcc\x30\xb1\x46\x08\xf4\xe3\xca\x39\x84\x31\xc5\x00\x5c\x32\x69\xdb\x44\x19\x39\x0a\x97\xd4\x0f\xdd\x36\x24\x2e\x15\x89\x83\x6a\xce\x93\xb1\xbd\x8c\x14\x65\x10\xe6\x14\xf0\x9d\x0a\x65\x34\x50\xcd\x6d\x6b\x8c\x15\xdc\x75\x91\xb4\x3a\xa5\xa8\x07\xa4\x0a\x9d\x57\x37\x5a\x6e\xf0\xc7\x35\xf9\x2d\xca\x8e\x20\xfd\x64\x52\x10\x89\x31\x5b\x74\xd8\x46\xdb\xee\x24\x53\x74\x21\x30\xb5\x08\x53\x29\xbc\x37\xdb\x4c\x0a\x8c\xb8\x8e\x7d\xac\xb9\xa7\x8e\x4c\x9d\xb8\x18\x83\x63\x28\x5b\x10\x7a\x96\x77\x31\x60\x78\x35\x9c\xbf\x3b\x3a\xb4\xf4\x27\x2f\xdd\x01\xcd\x76\xe8\x2a\x26\x71\x74\x08\x83\xeb\xd5\xc1\x47\x91\x47\x7c\x01\x36\xd6\x0c\x99\xd4\xa6\xcf\x26\x22\x1b\xd3\x57\xd3\xe2\xab\x95\x0c\xd3\x62\x4f\xf7\x6b\x0c\x6f\x48\x51\xb4\x82\x15\x71\x25\x86\x4d\xb5\x45\x7d\x28\xa6\xdc\x42\x78\x36\x61\x07\x2b\xb7\x2a\xb8\x98\x04\xb5\x27\x66\xaa\xd5\x01\x6f\x01\x5c\x54\x36\xc8\x49\x3b\xf1\x8e\xa9\x55\x64\xf7\x47\x46\xcf\xc6\x70\x2c\x88\x6d\xbd\x6e\xf1\x05\x24\x44\x96\xc9\x14\xde\x8a\xf3\x88\xf4\x68\x3b\x71\xfe\x36\x4c\xab\x50\x95\x8d\xe7\x74\xdd\xd9\x96\x3a\xc5\xa9\x50\xef\xf6\xfb\xf8\x36\x6d\x2c\xd5\x84\x63\x92\x74\x9d\x2a\xe1\x8f\xf6\xdf\xb1\x1e\xd3\xd8\x75\x0e\x26\x4f\x25\xa8\xa2\xe9\xb1\x92\xf0\x37\x81\x46\xda\x80\xe0\x0d\x1d\xbb\x35\x3e\xb0\x52\x6f\xd7\x48\x4f\x9f\x8b\xfd\x77\xcc\xc5\xca\xc0\xc5\xe8\x0f\x2c\x78\xa3\xa6\xb9\x50\xee\xae\x0f\x7a\xe9\x26\x9d\x37\x2f\x34\x14\x68\xc1\x76\x79\x7d\x32\xfb\xc7\xf4\xc7\x92\xd6\x7c\x37\x9a\xcb\xc4\x9d\x1a\xd4\x02\x95\x90\xa9\xd6\x3d\xac\xa1\xf5\x50\x4d\x6f\x9d\xc7\x96\xc4\xdb\x0e\xd7\xe1\x69\x7c\x45\xc7\xf1\x83\xf2\xa6\xe9\xfa\xf0\x4f\x93\xa6\xfa\x69\xc5\x14\xd3\x8a\x6a\x4a\x9d\xed\x25\x9b\x40\x85\xc4\x58\x6d\x07\x7a\x30\xa5\xc5\x5a\x90\x2b\x20\xc1\x35\x5f\x15\xf7\xc7\xcf\x3d\x55\x5d\x21\x60\xd5\x54\x4e\x2b\x16\xc6\x59\xdb\x6c\x6b\x03\x87\x71\x06\x37\xae\xa8\x8a\x5b\x00\x81\xe9\xeb\x01\x41\x50\xb2\x45\xca\x0b\x94\x82\x2c\xbd\x26\xe1\x99\xa0\xa3\xb5\x38\x26\x67\x0d\x6e\x69\x6c\x58\x7a\x52\x74\x8f\x74\xa1\x71\x42\x50\x50\x32\xd1\xbb\x17\xd2\x26\xf8\xe6\xe6\xb6\x73\x28\x07\x80\x3b\xb4\x9f\xd7\x57\x9a\x1a\xbf\x04\xe3\xf3\x22\xfd\xf2\x9a\x0c\x72\xff\x54\x57\xef\x8d\x89\x8d\x9d\xa6\x9d\xcb\xf1\x5a\x48\x4d\x00\x82\x31\x1b\x67\xc0\x94\x91\x25\x86\x87\x94\x07\xd9\x54\x60\xa0\xed\x38\x8f\x68\x4d\x29\x89\x03\x46\xd6\xe3\xd5\x37\x1c\x17\x03\xd8\xcd\x83\xd1\x9a\x07\xcb\x18\xb1\x65\xaa\x72\x3d\xb9\xff\xd6\xfe\x58\x3f\xad\x7e\x44\xad\xc0\x36\x62\xca\x86\xc9\x0b\x60\xa7\x19\x8a\x60\x46\x94\xd0\x7a\xfd\x2d\x2c\x36\xf4\x24\xb6\x27\x03\xe8\xad\xed\xa0\xd3\x94\x24\xa6\x3d\x22\x83\x35\x5a\x6d\x57\x88\x8e\xb1\xe1\xaa\xba\x04\x01\xb0\xa9\x4c\x19\x09\x90\xa5\x3e\xd4\x9b\x50\xd6\x17\x34\xde\x63\x9a\x3a\x45\x00\x3e\x31\xcc\x25\x0c\x73\x70\x66\x1d\xd8\x4f\xcb\x15\x09\x36\x15\x1c\x7c\xc1\xb4\x98\x8e\x57\xdf\x82\xdb\x33\xa4\x49\xf0\x64\xac\x23\xad\x77\x4c\xec\xc6\x4e\x93\x20\x90\x22\xc3\x48\x27\xcd\xd4\x59\xa1\x02\x13\xcc\x02\x9c\x2a\x92\x62\x1b\xb3\xc6\x74\xab\x52\xd2\x46\xc6\xd2\x93\x98\x9e\x66\x2a\x90\xd4\xe4\x79\xc2\x35\xaa\x49\x60\x30\x86\x11\x57\x63\xdd\xa9\xbb\xd4\x92\x70\x88\x7a\x7a\xc9\xb8\xd5\xb2\x0b\xa0\xdd\xd4\xa6\x71\xf1\xe2\xba\xe4\x08\x06\xda\x28\x77\xeb\x1e\xd6\x32\x03\x00\xb3\xe2\x0c\x20\xed\xa2\xf5\x4c\x10\x4f\x96\x60\x6f\xc9\xec\x30\x58\x11\x02\x51\x6f\x54\x2a\xc4\x5e\xab\x6b\xc2\xd3\xa9\xf3\x94\x28\x29\xb4\x89\x3a\xa1\x85\x88\x55\x80\x72\x6e\x7d\x86\xad\xd4\xfa\xe5\x29\x67\x85\xb2\x11\x63\x19\x5f\x33\x0f\x99\xcd\x0a\xf5\x68\xbe\x66\x23\x30\xf9\x10\x36\x55\x2a\xd2\x1f\xdb\x80\x94\xee\x25\x83\x91\x18\xf5\x7a\xac\x1f\xbe\xaf\x69\x22\x25\x56\x59\x69\x82\xbd\x91\x6d\x07\x69\x2a\x41\x08\x69\x11\xf6\x28\x04\x26\xda\x75\x26\x08\x8b\x3c\x54\xbc\x1d\x79\x8e\xe9\x5a\x60\xa7\x4f\x90\x00\xd9\x13\x1c\x43\xf2\x01\x69\x90\x66\x6a\x05\x41\x45\x1e\xd3\x99\x67\x52\x13\xa1\x6c\x52\x4b\xad\xc6\xe3\x70\x3a\x1e\x12\xdc\xa5\xd4\x04\x13\x3d\x81\x04\xcd\xae\x17\x40\x59\x50\x57\xcf\x73\x4a\x54\x6d\x8a\x6b\x6b\x26\xb7\xc3\xbe\x3e\x94\x87\x3e\x34\x44\xa3\x49\x78\xad\x28\x6c\xf7\xd1\x4d\xbe\xad\x20\x1b\x2f\xa4\x0d\xd0\xad\xea\x96\xa9\xf4\x3e\xf9\xe7\xc8\xe4\xdd\x61\xed\x47\x48\x4f\x1e\x9f\x4b\x6b\x04\x39\xa7\x67\x93\xfe\x3c\xf1\x36\x4e\x4d\x28\x37\x35\x59\xc5\xf6\x1f\x28\xd6\xa9\x98\xe6\x63\xda\x72\x43\x7c\x5e\xc4\x10\x80\xd9\x9a\x54\x45\x6c\x43\x93\x41\x98\xc1\x36\xfb\xec\x8b\x02\xf2\xb3\x49\x22\xa6\xac\xc0\xbe\x5d\x4c\x96\x63\xa0\x31\x31\x15\x98\x64\x19\x5a\x70\xcb\x1a\x6c\x18\xfb\x4c\x6a\xfa\x6a\x07\xaa\x5d\xa2\x94\x8d\x73\x4e\x2e\x4e\xa5\xdc\x48\x6d\x56\x71\xf2\xcf\x4c\xb6\x2e\x0a\x18\x12\x58\x48\x49\xa4\xd0\x66\xd9\xcf\x88\x15\xfc\xa9\x59\x09\xb3\x37\x54\x4d\x34\x30\x51\x84\x4d\x23\x92\x42\xbd\x3c\x7d\x0d\x38\x3d\x9f\x78\x78\x09\x79\x22\x1c\xea\x65\xc9\xc0\x0f\x2d\xba\xc0\xfe\x8f\xc4\xf1\x9e\x8e\xc5\x15\x61\x1d\x07\x0b\xd0\x78\xc0\x97\x63\x26\x31\x45\x55\x45\xdc\x2f\xa2\x65\xf5\x8b\x24\x38\x37\x29\x30\x4d\x98\xac\x80\xc8\x4c\x80\x8c\xd6\x91\x4e\x34\x79\xf2\x66\x81\x17\x00\x2a\x74\xed\x75\x87\x7b\xb9\x20\x8d\x2f\xa2\x50\xc1\xe4\x4b\x76\xe3\x59\x86\x93\xc1\x0e\x81\x98\xb1\xdb\x36\x44\x0c\x9b\x21\x71\xfe\x46\x09\xb8\xe8\xba\x08\xce\x97\xae\x2d\x40\xaa\x85\x3e\x85\xb3\x9d\xca\x48\x31\xc3\xa9\xfb\x77\xf7\x7f\x47\x15\xb7\xad\xe0\x13\xc7\x05\xf0\xb3\x81\xe8\x6f\x9f\x6b\x49\x56\x90\x69\x6e\x8d\x71\x0a\x54\xf2\xce\xe5\x15\xed\x8c\x9d\x1b\x87\x76\x50\x5b\xb1\x9d\xb7\x71\xa8\x55\xb3\x1f\x24\x09\xc5\x0e\xa3\x57\x48\x54\x10\x1f\x0b\x65\xb4\x59\x97\xa0\x4c\x36\x60\x69\x1b\xcb\x34\x85\xd9\x09\x12\x2e\x13\xd1\xc5\x6e\xa8\x56\x48\xae\x53\xb1\xda\x46\x1c\x34\x87\x71\x60\x12\x5d\x7f\x35\x21\xb9\x86\x01\xd6\x80\xa2\xe0\xa1\x52\xa5\x4f\xee\x2f\xd4\xa1\xa2\x1b\x01\x95\x71\xfc\x23\x3d\xf9\x19\x59\x45\x44\x95\x1c\xf3\x5e\xfb\xa1\xa2\x74\xdb\xe8\x82\x87\xd9\x8d\x48\xab\x84\x33\x94\x3e\x13\xa7\x02\x67\x14\xd8\x12\xa1\x30\x40\x77\x57\x41\xcd\x20\x75\x98\x25\xea\xb0\x28\xb3\xf5\xa1\x8c\xec\xe0\xc2\x88\x8b\x93\x84\x95\x20\x33\xc5\x06\xeb\xdd\xc1\x96\x0f\xcc\x4a\x10\x6c\x70\x5e\xd8\x4c\x01\x32\xa6\xd6\x4d\x25\xf4\x10\x43\x2a\x9a\xa8\xfb\x97\x46\xd7\xfc\x61\x05\x53\xc6\x01\x8a\x71\x67\x36\x39\x0a\x39\xad\x70\x30\x8a\x2f\xd8\x16\xf7\xb0\xd7\xc5\xc9\xb6\x07\x5b\xc2\x54\x3b\xf9\x11\x24\x84\xa9\xa1\xd1\x1a\xef\xa3\x9a\x12\xe5\xba\xa5\x9e\x01\xbe\x38\xc5\x48\xdd\x74\xe1\xa2\xba\xb3\x66\x79\x80\x63\xc2\x9c\xc1\x99\xc6\xaf\x7a\x3e\xd8\xec\x98\x38\x6a\xdc\xe4\x65\xf6\x8e\xec\x7c\x13\xc3\x41\xf4\x81\x8d\xce\xfa\x6a\x87\x54\x0f\xbd\x8f\x8a\xc8\x59\xfb\x76\x6f\x8b\x0e\x07\x25\xff\xd9\xf8\xa7\xae\xa6\xc8\xac\xed\x05\xbd\xc2\xb6\x80\xa5\xae\xa3\xb1\xb3\x57\xf7\xe8\x48\xc6\x8e\xf0\x95\x3c\x2f\xbc\x2d\x30\xc9\x9e\xfd\x57\x53\x5b\x2a\xe1\xd7\xba\x94\x4c\x90\x18\xd5\xf8\x51\xa5\x2f\xfa\x98\xc4\xff\xa1\xc6\x70\x20\xab\xb3\xe4\xad\x29\x4e\xf6\xb7\x5a\x43\xd5\x7e\x76\xef\xa0\x68\xcc\x17\x51\x83\xa6\x7f\xb6\xbc\x45\x14\xb3\xe4\x91\x93\x51\xaa\x67\x06\xd8\x79\x3c\x2c\x4e\xf3\xe0\x7a\x85\xb3\x42\x28\xf8\x92\xd2\x1e\x7e\x2c\x4f\xc0\x70\x37\x15\xc2\xc7\xba\x93\x34\x3e\x1b\x6a\x19\x43\xcd\xbf\x7d\xa8\xfb\xc9\x10\xbc\x3c\xd2\xf9\xb7\x8c\x74\x84\x9d\xc3\xab\xf1\x5e\xfe\xa6\xf1\x3e\x1d\xee\x74\x73\xb8\xcb\x3a\xdc\x69\x1d\xee\x7c\x31\xdc\x2f\x2b\x06\xb6\x99\xe6\x89\x11\x23\xbf\xb8\x72\xe1\xa0\x79\x1c\x73\xc1\x18\x86\xab\x92\x5c\x23\x32\x91\x2a\x23\x80\x59\xa2\x6d\x12\xf0\xbb\x91\xeb\x91\x39\x15\xf4\x99\x89\xcb\xa8\x25\x20\x43\x19\x63\xc3\xac\xea\x85\xb3\xbb\xfa\x78\x3d\xbd\xbb\x77\x4f\x21\x35\xe9\x82\xb1\x27\x2d\xb5\x98\xce\x00\xf0\x09\x1c\x08\x81\x1d\x36\x9b\x5c\x5b\xe8\xae\xc5\xe5\x00\xe8\x84\x79\xec\xd0\x0e\x70\xa2\xdd\x84\x4b\xdb\x25\x8d\xe1\xc1\x4d\x24\xe6\x82\x73\xc6\xbe\x59\x8b\x7c\x6d\xa8\x1a\x90\x1f\xca\xec\x39\x23\xba\x0d\x99\x56\x38\xba\xc0\xb1\x93\xe1\xab\xac\x9e\xba\x40\x90\xe5\x0d\x96\xeb\x24\xf6\x2a\xc3\xad\x04\x5b\x49\xf1\x63\x5c\x9c\x5d\xfa\x11\x2c\x2c\x39\x2f\x80\x36\xb3\xfb\x8e\x1a\x25\xa8\x7b\x98\x8c\x14\x1c\xee\xef\x90\xfd\xa2\xe4\xbe\x1c\x51\x20\xf4\x58\x85\xd7\x8b\xbd\xf1\xe2\x6f\x24\xa2\x30\x41\xd9\xb7\xfa\xa1\x81\xfb\x2a\x0c\x57\x14\x2d\x54\x60\x6b\x83\x84\x52\x86\xad\x93\xe1\x46\x56\x81\x00\xc4\x5b\xca\xdd\x24\x38\x5d\xac\x95\x62\x94\x0e\x99\x33\x8d\x13\xfc\xa2\x38\xd5\x5e\x2e\x4c\x79\x6b\x46\x9c\xb9\x0f\xf3\x25\x4b\xdb\x92\x4a\x82\x1f\xe9\x28\x06\xb5\x41\x71\x8e\x0a\xbf\x4a\xc8\x7e\xc1\xcf\x91\xa4\xda\xee\xd0\xb6\x94\x62\x45\x22\x84\xc5\x52\x0a\x38\x89\x97\x97\xe5\xc7\xd8\xbd\x3a\x76\xf7\xd9\xee\xee\xca\xf2\x7a\x4a\xb3\x7e\x42\x29\x22\x0f\x99\x52\x82\xa7\x46\x2e\x05\x86\x7b\xa6\x06\x11\xa5\xf7\x1c\xf0\xc8\x4c\xaa\x82\x24\x01\x75\x6f\x4c\xae\x6e\x3a\x95\xda\xa7\xb8\x83\x87\x93\x50\x6a\x40\xf2\xb1\x47\x06\xa8\x8f\x97\xfd\xfc\xaa\x69\x13\x97\x39\x40\x3f\xcf\xf9\x11\x29\xfc\x01\xec\x61\x32\x43\x9f\xd4\x85\xeb\xd2\x77\x69\x38\xf5\x64\xea\xc8\x85\xbb\x5e\x1c\x1a\x49\xe5\x8d\x95\xf3\xa2\xe9\xae\x4d\xac\xa4\x51\xe6\x90\x4d\xc5\x41\x46\x8b\xc7\x4c\xca\xe5\x1b\x93\x33\xb9\x09\x77\xa8\xe4\x03\x23\x67\xc2\x8b\x66\xbb\x66\x4d\x83\x76\xa8\x0f\xf0\xe7\x28\x5c\xe7\x6c\xc2\x7d\x22\xe9\x4b\xd1\xa6\xb0\x9a\xa4\x59\xe0\xb4\x8c\x94\xbf\x37\x56\xc2\xa9\x41\x23\x92\xa6\x04\x67\x94\x6e\x22\x67\xea\x36\x36\xb9\x3e\x54\xea\xf5\xa0\x24\xcd\x84\xa4\x64\x82\xe5\x6e\xb8\x20\xc2\x44\x54\x00\xa5\x24\xc6\xdc\x80\x65\xd3\xf2\x75\xf3\x4f\x8d\x03\xea\xee\xee\x89\xaa\xc8\xc6\xc7\x66\x9c\xf2\x2a\x65\x79\xd0\xe1\x06\x07\xf0\xd6\x12\xaf\x27\xf0\xd4\x62\xd7\x91\x93\x86\x85\x4a\x87\xf9\x4b\xbb\xbb\x99\x35\xe4\x41\x88\x35\xe1\xea\xe8\xa8\xd4\x4c\xdc\x18\x8e\xe2\x30\x5f\xf1\xf3\xe4\x01\xcc\x1c\x00\xf1\x24\x9c\xcc\xba\x06\x65\xdb\x53\x1a\xdf\x5d\xf6\xc4\xc3\x38\x25\x36\x40\xf8\x32\x51\xb5\xc2\xa0\x0f\xc1\x2c\x03\x4b\xc6\x4f\x7e\xab\xe4\xf5\x8d\x02\x99\x97\x3a\x77\x94\x66\x17\x2f\xee\x30\xcd\xba\x29\x49\x77\x70\x44\x4e\x49\x28\x55\x41\x82\x98\x9a\x14\xdf\x49\x51\x53\x15\x5b\xe3\xcd\x06\x01\xb4\x55\x48\x12\xb6\xcf\x3c\xb0\xca\xf4\x78\xf1\x0d\x89\x41\x4c\x97\xf6\xe4\x2a\xb8\x06\x59\x25\xca\xe9\xba\x41\xa7\xdb\xb6\x62\x93\x6c\x54\x3b\xd4\x00\x75\x23\x86\x51\x84\x2b\x3f\xcb\xa5\x1b\xe7\xa8\x75\x6b\x08\xf4\x8e\xbc\xc3\xe9\x57\x2e\xd6\x94\x92\xab\xb5\x14\xdf\xc9\x91\xd0\x0a\xce\xcd\x4c\xe3\x84\x33\x55\xaf\x8f\xa8\xe5\x01\x35\xbe\x46\xc3\xb5\xb5\x09\xae\xb1\x3b\xd3\xd0\xba\x9f\xc2\xe1\xe0\x55\x60\x55\x3e\xb9\x24\x56\xbb\x80\x6f\xd7\xe4\xa7\xc7\xe3\xe2\x5b\x70\x8f\x22\xf1\x48\x02\x53\xbc\x86\xc7\xbc\x38\x9e\x11\x10\xa2\x4c\x86\x88\x53\xa1\x5c\x66\xcf\xd4\x62\xaa\x8c\xc3\xbe\x35\xa3\x48\xd3\x56\xd0\xed\x42\x29\xc1\x77\xad\x8e\x8c\x52\xc8\xa4\xd5\xfd\x10\x1b\xa7\x69\x59\x21\xd8\x05\x9c\x0f\xb9\xab\x6c\x2d\x67\x57\x9e\xb0\x15\x52\x4d\xe9\x65\xbd\x78\x71\xa9\x19\x21\x02\xf6\xe9\xdf\x0b\x25\xa4\x03\xd2\xa9\x10\x84\x8f\xc4\xc3\x06\x07\xcd\xad\x42\xd0\x60\x5b\xc3\xee\xcc\x3d\xc1\x89\x3c\x77\xab\x67\xc9\x8f\x0e\xcb\xb2\x50\xce\xbc\xb8\x48\xda\xd6\x01\x97\xc5\xe6\x89\x68\x14\xbd\xb1\xce\xb8\x6b\xb4\xa4\x66\x03\x60\xdb\x15\xdb\x80\x00\xbc\x8e\xe1\xcc\x25\x8d\x71\xce\xa8\xed\x51\x49\x6c\x85\x15\x2b\x05\x58\x6c\xb6\xcb\xba\x39\x1d\x17\xaf\x89\xd5\x02\x67\xa6\xca\xb6\x34\x52\x26\xc9\x10\xb1\xb0\x0b\xe8\x7a\x6d\x4a\xae\x29\x38\xea\xea\x6c\x83\x5f\x7f\xa1\x8a\x66\xa3\x5b\x4d\x6c\x67\xc4\xa9\xcf\x40\x6e\x41\x22\xab\x36\xf6\x6d\xa3\xcf\x5e\x67\x4a\x0a\x9f\x30\x00\x51\x35\x94\x8a\x90\x8e\x20\x70\xa2\x0d\xee\x96\x89\xb3\xe4\x9e\x28\xe3\x50\xb1\x36\x38\x15\x33\xbb\xd6\x49\x89\xdd\xd2\xa4\x45\x3c\xf0\x25\xb2\x9a\xfe\x6a\x13\x0a\xfb\x8a\x78\xa2\x97\xe5\xda\xd6\x2e\xf8\x57\x82\xef\x2f\xf8\x57\xf2\x04\x63\x52\xb7\x26\x89\xc0\xf4\x3d\x74\x04\x2d\x26\x94\xe3\x44\xab\x49\x1b\x9f\x43\x7d\xb0\xca\x90\x8e\x4d\x91\xd7\xa6\xb5\xe1\x55\x90\x54\x28\x29\x40\xb3\x6b\x01\xa2\x24\x4e\x14\xd3\x90\xc2\xab\x49\x45\xc5\x64\x07\xf4\xc7\xee\x99\xba\x92\x4a\x10\x28\x2e\x4e\xf4\x0d\x96\x0a\x45\x76\xa1\x9c\xa0\x7c\xe5\x6a\xbb\x7a\xf5\x94\x5f\x0d\xc2\xb7\xa7\xd9\x41\xde\x17\x31\x32\x81\x13\x3e\x9c\x73\x6d\x12\x12\x0e\x38\xe0\x2b\x27\xb9\x51\x8e\x75\x6b\x7b\x10\xbc\x9d\x97\x63\x56\x5b\x69\xdc\x79\x47\x40\x64\xa4\xc6\x0d\x7e\x43\xf0\x6b\xb4\x1b\xf3\x98\x9d\x58\x4c\x3f\x0b\x89\x6a\x66\xa4\x17\x2b\xbd\x21\x3e\x45\x10\x40\x59\x73\xdb\x91\xf8\x39\x4a\x69\x2e\x17\x0d\x8e\x53\x80\xdb\x97\xdc\xaf\x59\xdd\xaf\xb9\x0c\xff\x7a\x9c\xb2\x47\x86\x32\x56\x48\x22\x42\x92\xb2\x8f\x58\x89\xe3\xc2\xb9\x44\xc6\xe9\xbb\xa9\x4d\xf0\x37\xc1\x9d\x38\x04\x0b\x36\x0d\x0e\xba\x8e\xb6\xc5\x4d\x18\x2e\x4f\xa6\xb1\x71\x64\x78\x67\x29\xbb\xe1\xad\x57\xfb\x7e\xfa\x1a\xdc\xa0\xa6\xaa\x5b\xd2\x64\x1b\xee\x82\x77\x20\xc5\xc3\x68\x12\x8d\x98\x18\x4a\x60\xa2\xee\xfb\xe0\xee\xb3\xba\xc6\x53\x74\x77\x20\xf5\xd6\xb8\x32\xde\xfc\x82\xd3\xf2\x4b\x72\xaf\x88\xc5\xeb\x06\x7e\x04\x08\xa3\x2a\xc0\xa0\x83\xc3\x21\x9c\xbb\x89\x23\x8c\x6e\x11\x2e\x38\x2a\x3b\xb7\x77\x66\x13\x50\x70\x26\x22\x42\xdd\xd1\x39\x59\xfd\xdc\x19\xa9\xdc\xe0\x93\x0a\xdf\x85\x1c\x84\x4a\x5a\x1d\xa5\x8b\x8c\xa8\x13\x80\xe6\xa5\xd4\x83\xe7\xe9\x03\x29\x36\xcf\x98\xe5\xa5\xcd\x90\x91\xe1\x3e\xe1\x61\x68\x79\x71\x80\xf0\x8c\x4e\xc3\x01\xc7\x65\x78\x91\x0e\xf5\xaa\x0c\xa7\x4c\x1d\x1a\x2b\x98\x96\x6b\x5e\x62\x77\x66\x94\x41\x56\x0c\x82\xce\x70\x46\x84\xbe\x33\xd2\x61\x73\x49\xf0\xfa\xce\x7e\x8c\x53\xdd\x4a\x06\x4f\xb5\xde\xc7\x24\x1b\xa7\x2e\x0c\x6d\xd6\xcd\xb8\xb0\x6f\x09\x28\x1c\x25\x4c\xe2\x29\xe7\x6a\xf6\xc8\x80\xde\xa8\x35\xea\xd9\xbd\x3d\x67\xcf\x05\x57\xe5\x40\xd1\x91\x21\xe2\x38\xaf\xd2\x6e\x1c\x11\x67\x5f\x5b\x2a\x95\x8a\xcb\xeb\x54\xd4\x71\x32\x92\xbb\x6c\x30\xbb\x6f\x8a\xba\xf7\x81\x8c\x4c\x8d\xa6\x34\xc0\x35\x2a\x15\xbf\x68\x9c\xf6\xa6\x88\x20\x4e\x27\xba\x87\x90\x56\x85\xc5\xb0\xd9\x6c\xc1\x67\x05\xd9\x1a\x91\x01\xcc\x14\x8b\x94\xf9\x02\x71\x02\x6e\x47\x15\xce\x51\x30\xb6\xe6\xc1\xbe\x73\x96\xe5\x0a\xdc\x00\xfe\x44\x58\x13\xf5\x5a\xac\x3b\x65\xea\x30\x66\x02\xee\xb6\x3e\x34\xd2\xa6\x07\x04\x9f\x0c\x84\x8c\xc4\x85\x8a\x76\x4f\x0a\x67\xba\x3b\xda\x61\xff\x84\x70\xe7\x17\x45\x3b\x2c\x33\x7b\xa8\xf5\x2f\x68\x01\x88\xa0\x45\x55\xa8\xe4\x34\xe9\x3c\xa4\x09\x9d\xe2\x52\x50\x6d\x37\x8e\x04\xcf\x9a\xcd\x75\x94\xb5\x7a\xec\xcb\x8e\xa2\xc8\x88\xbf\x53\x5f\x3e\xa6\xcc\x6d\x2f\x02\x6c\x18\xbf\x1a\x87\x86\x75\x76\xc4\xba\x29\x76\xb4\xf3\x1f\xbb\x83\x77\xee\xdc\x38\x5d\x87\x13\x31\x92\xb4\xc1\x84\x59\xfa\x1e\xae\x8f\x4f\x5f\x2a\xca\xf7\x61\x2c\x46\x52\xaf\x0c\xe3\xfb\x47\xb1\xd0\x32\x5f\x57\x83\x18\xaf\x06\xf1\x86\x08\x77\x32\x88\x85\x5a\x4a\x6b\xa3\x8b\x9e\x8f\x64\x1a\x23\x59\xde\x3a\x92\xe5\xd6\x48\x96\xab\x91\x4c\xe7\x23\xf9\xa2\x44\xde\x49\xd5\xb1\x4e\xeb\xe2\x7f\x6c\x5b\x96\xad\x81\xec\x65\x0c\x4f\x67\xca\x1e\x1c\x53\xfd\x84\x2f\x50\x2b\x42\xb9\xee\xa9\xe7\x6b\x95\xec\xfc\x08\x3c\x8f\xf2\x87\x9e\x8f\xb0\x2d\xb8\x44\x5a\xb1\xad\xac\x15\x0c\xb3\x18\xc2\x17\xd8\xa3\xfb\xa0\xb9\xe5\xa7\x2f\x8a\x28\x89\xb4\x73\xef\x6b\x4e\x23\x43\x5e\x36\x99\xbc\x66\xa4\x88\x6b\x33\xd9\x86\x58\x92\xc7\x84\x3a\x54\x8c\x0b\xeb\xf0\x73\xac\x00\xb1\xe4\xd8\x37\xa3\xb0\x97\x6d\x61\x11\xa9\x35\x13\xa5\x86\x78\x56\x46\x1c\xeb\x0e\x38\x15\xcd\xd8\x34\xb8\x1c\x30\x7f\xab\x83\xf2\xb6\xd9\xf1\x1f\x0b\x77\xf8\x42\xea\x00\x01\xae\x82\x8c\x8b\xa9\x59\x13\xac\xa9\xac\xd7\x55\xaf\x44\x58\x11\x74\xc7\x46\x6e\xbb\xe1\xb5\x85\xad\xc1\x6d\x7b\x69\x5c\xe4\xea\x21\x44\xdd\xb8\x9a\x09\x63\xb5\xaf\x17\x7b\x26\x91\xf6\x0d\x61\xb9\xa2\x19\xdf\xa9\xc1\x94\x63\x7b\xb3\x20\x4f\x62\x5e\xf6\x75\x98\x1f\xab\x0b\xe9\xbe\x43\xb2\x89\xb8\xd1\x58\xb3\x09\xf6\xa9\xac\xc6\x14\x46\x0e\xd5\x29\x53\xc6\xdf\xe2\x48\xdd\x89\x59\xbf\xc1\xf6\x13\x86\xa3\x3e\xbc\xb8\x7a\xde\x52\x6a\x15\xf8\xc4\x4b\x09\x56\x3f\xce\x90\xb0\x5d\x5b\xdf\x10\x59\x50\x5d\x99\x88\x56\x27\xf2\x01\x1e\x0d\x38\x7a\x0b\x6c\xf5\x74\xa9\x7d\x0c\xd8\x33\x03\xf6\x92\xc1\xeb\xaf\xf3\xdf\x7e\xba\x13\x8c\xb5\x20\xfe\xda\xd4\xf6\xde\x8c\x79\xa1\xd7\xc5\x9d\x49\xa5\x64\xbf\x48\x0d\xc3\x8b\x73\xe5\x58\xb0\x7f\xd6\x61\x82\xac\x5d\xb6\x54\x12\x2d\x59\x45\x5d\x69\x95\x4e\xa5\xa8\xfd\x2d\xbf\xd6\x4a\x09\xd1\x71\x70\x8a\x05\x2a\x24\x3b\x3e\x14\x2e\x8c\x9f\x1a\xcf\xcf\x88\x04\xb7\x99\x42\x92\x5e\xe2\x91\xea\xd9\x64\xed\x8e\xf3\x6b\xfb\xde\x7a\xa8\x6e\x59\xc4\xc8\xc2\xae\xb9\xb4\x4c\x6d\x9c\xab\x41\x1d\x6e\xd5\x31\x31\xd9\xa6\x6a\x1c\xe9\x1b\x03\xc2\x39\xe9\xd3\x17\xee\xd4\x22\x12\x33\x88\x6e\x1d\x52\x25\xae\xe0\x5f\x69\xc4\xb2\x31\x40\xa1\x11\xf0\x91\x20\xdf\xc4\x45\x1b\xf2\x0b\x3f\xf8\x8d\xee\x98\x60\xff\xce\x61\xb9\x73\xc1\x38\x6f\xc5\x12\x49\xa4\x98\xa7\xee\xfe\x26\xae\xb6\x20\xb4\x03\x07\x20\x10\x55\xfc\xbc\x29\x46\x97\xd4\xa0\xe1\x72\x1d\xc2\x27\x57\x92\x04\xc1\x02\x2e\x48\xcd\x1e\x36\x69\x06\xdf\x2c\xf0\x54\x1e\x36\xdc\x98\x96\xe2\xd8\x64\x74\xb1\xee\x49\x81\x0a\x91\x0f\xc4\xa8\x23\xb7\x43\x30\xed\x6f\x6b\x4a\x75\xee\x4b\x64\x87\x1f\xe2\xc3\x53\xda\xfb\x0f\x1f\xe1\xd8\xb3\xef\x75\xdc\x80\x04\x1f\xa5\xb9\xa2\x6d\xdf\x98\x19\xa7\x6a\x29\x14\x8b\xfa\x09\x46\xac\xf9\x00\x5b\x15\x9c\x63\x41\xcc\x59\x3d\xb7\xb0\xb2\x87\xf9\x1a\xcd\x49\x59\x42\xb8\x11\x31\xb4\x47\xe4\xe6\x96\x84\xd5\xfe\x16\x77\x7c\xec\x21\x38\xee\x76\x91\x1c\xf1\x96\x26\x30\x42\xf9\x1a\x75\xbe\x12\x30\xf8\xec\xb4\xa4\x89\x1f\xf8\x20\xb2\x17\x79\xe4\xa7\x2f\x48\xfa\x0a\x3b\x5b\xd9\x52\xe7\x6a\x7f\xa3\x89\x1e\x20\x5c\x3a\x95\x25\x3a\x99\xdd\x95\x7e\x64\x6d\x1d\x9f\x7e\x4b\x90\xb7\x9b\xa7\x0a\xc7\x4f\xff\xf4\x3b\xa9\x19\x3f\x9b\x4c\xbc\x6d\xe3\x73\xc4\xd2\xa3\xb4\x9a\x29\xc5\x66\x7f\x4b\xf7\xe1\x0e\xef\x70\xab\x0d\xd9\x18\xdc\x65\x06\x4a\xa0\x70\xde\x22\xd8\xc4\x1d\xca\xa1\xfb\xe3\x58\x7d\x84\x8e\x20\x86\xc0\x84\x13\xb5\x25\x56\x67\xb7\xbe\xa5\x96\xb6\x70\x95\x9e\xfc\xd3\x1b\x86\x54\x17\xec\x56\x54\x59\x3e\xc7\x2d\xb8\x70\x17\x38\xe8\xe7\xe6\xc6\x97\xe2\x13\x03\xbc\xa7\x22\x5b\xea\xb5\xda\xdf\xd2\x4b\xc4\xe1\x50\x35\xae\xb3\x0c\x49\x67\x2a\x7e\x14\x81\x24\xc6\x6e\x42\x32\x85\xc7\xd6\x39\x0e\x50\xe3\x92\x57\x41\x6d\x07\xde\x21\xf4\x38\xd6\x91\x37\x39\xc3\x2b\xdd\x98\x04\x08\xb3\xb0\x07\xc4\xc0\x0e\xe9\xd1\x32\x38\xae\x6c\xd0\x02\xb3\x29\xf4\xc5\xa4\x2a\xe3\x63\x08\x34\x66\x68\x87\xf6\x56\xb5\x9d\x65\x0b\x9d\x3c\x8f\x84\x05\xfe\x62\x32\x35\x81\xd6\x0c\x02\xc2\x9e\xd9\x37\x75\xfb\x5b\xf8\xbe\xad\xc5\x2a\x94\x0b\xad\x27\xa1\x89\x99\xf8\x14\xbd\xcf\x7e\x03\xad\xe2\xe0\xa0\xe4\x32\x3e\x97\xac\x09\x88\x0d\xe5\x0d\xd2\x45\x73\xaf\x3b\x6f\x94\x14\x80\xad\xdb\x6a\xcf\x56\x09\xe6\x39\xaa\x22\xcd\x2e\x72\x24\xf8\x17\x83\xdb\x0e\xf8\x3d\x91\x65\x7a\xaa\x7b\xc8\xc5\x9c\x47\x06\x87\x58\x46\x4e\xf9\x56\x08\x72\x98\x67\x9a\xaf\xc5\x43\xa9\xa4\x3f\x7d\x4d\xf0\xaf\x65\xaa\x79\xc4\x5c\x73\xab\x23\x97\xaf\xe7\xf4\x75\x08\x4d\xd0\xb3\x09\xba\x30\x54\x32\x95\x22\x5b\xd3\xb9\x26\x1e\x4a\x1f\x3a\x8c\x80\x0d\x44\x79\xcb\xf8\xc4\x1d\xf6\x14\x22\x50\xa0\x63\x4f\x1e\x97\xbf\xf8\x0b\x21\x4c\x30\x6f\x4d\xf1\x81\xf2\xb3\x84\x7a\x41\x6c\xc4\x79\x65\x1e\x9f\xe3\x0e\x74\x5f\x45\x22\x91\x3a\x3e\xc7\x1d\x41\x34\xcb\x23\xeb\x1e\x41\xc6\x87\x90\x49\x6b\xda\xdb\xb5\x07\xa4\xe7\xac\xc8\x47\xe1\x56\x30\x71\x5f\x17\xca\x88\x9b\xec\xc9\xe5\x88\xd8\x86\x5b\x1f\x8b\xbd\x9e\xfd\x82\xbb\xaf\xa6\xea\xa1\x5a\x9a\x3d\x0a\x0f\xe4\x09\x3f\x0e\xc0\x5e\x79\x7c\xb4\x13\x9a\x91\x2b\x43\x77\x91\xaa\x94\x9b\x20\xbe\x1d\x51\x2d\xc2\xb2\x87\x1d\xea\xb1\xef\xed\xeb\x90\x6d\x70\x6c\x2e\x12\x52\x79\x47\x95\x83\x7d\xa2\x1f\xdd\x75\x0e\xf8\x12\xf4\x71\xfa\xc6\x15\x34\xe7\x3d\xc8\x40\x20\xdb\xf2\xc8\xfa\x9f\x24\xaf\xa6\x37\x19\x46\x02\x71\xf3\x49\x06\xe3\xcc\x00\xa4\x77\x2f\xab\x2d\x35\xae\xf6\xb7\x4c\x21\xec\xc6\xa2\x54\x6a\xb6\xbf\x85\x05\x61\xd6\x91\x88\x1a\x7f\xcb\xaf\x82\xa8\xea\x09\x96\xc4\xb4\x7c\xad\x31\x54\x81\xd2\xc1\x28\x2b\x65\xef\x25\x7c\x4e\x1d\x8c\x1a\x66\x27\x78\x81\x7a\x16\x6a\x98\x79\x40\xda\xc8\x73\xef\x2b\xdc\x14\x55\x9b\x95\xea\xa6\x5c\xad\xb6\x59\xd9\x17\xb6\x1c\xc5\x76\x2f\x26\x42\xd8\xf4\xb5\x2d\xfc\x7e\x5b\x1b\x1c\xc4\x99\x63\xd9\xb9\x59\x0b\xc7\x87\x6d\xc4\x1a\xb8\x15\xe2\x80\xd4\xd4\x09\x4d\xc3\x32\x10\x58\xfa\x84\xad\x9d\xc9\x47\x1e\xcd\xcf\xb2\x15\x0f\xf9\x95\x35\xe6\x52\x7c\xac\xce\x36\x83\xe8\xde\xbb\xbb\x45\xbe\xab\xc1\xc1\xff\x05\x67\xb7\x70\xe5\x52\xdd\x52\x55\x3a\xd9\x0a\x14\xbb\xab\xda\xfe\xb0\x70\xc9\xd4\x49\x2a\x3c\x7e\xed\x6f\x29\x5c\x1b\x09\x0c\xd3\x60\x55\x7d\x08\xa5\xe3\x3b\x25\x39\x30\x3c\x0f\x02\xb5\x28\x87\x00\xdb\xc9\x9e\x5a\xe4\x19\x92\x41\x06\x7a\x84\x09\x2c\xc0\x94\xb0\xa5\x9f\x1d\x3a\x20\x55\x13\x93\xd1\xfa\xe1\xc2\xc8\x26\x6f\x89\x5f\x80\x70\x26\x23\x1c\x8a\x6a\x54\x43\xac\xb6\x54\xbb\xfd\x39\x93\x4c\x5d\x91\xb1\x86\x09\x3b\x60\x5b\x84\x89\xac\xb6\x5a\x76\x1e\xdc\xd3\x32\xd6\x1f\x8f\xef\x14\x05\x36\x3a\x9c\x6a\xcd\x26\xb8\xac\x1e\x60\xd5\x84\x46\xa8\x84\xc8\xfd\xde\xd0\x31\x24\x62\x69\x51\x6c\xbd\x58\xff\x84\x8a\xd4\xbd\xed\x73\xf3\xe2\xa2\x60\x34\x1b\x97\x57\xa3\xb8\x63\xe0\xd3\x17\x11\x77\xe5\xe0\x03\xe9\x8c\x08\x66\xf8\xde\x21\x89\x86\x26\xab\xbb\x15\xc4\x86\xb8\x67\xa9\x5d\xe2\x56\x6e\x9b\xe5\x55\x18\x69\x73\x76\x26\xb9\x35\xae\x2c\xf5\x64\xb3\x95\x9a\xf7\xc3\x4e\x9a\x3d\x15\x03\x32\xc0\x0b\xbe\xc5\x05\x9d\x8e\x3c\x45\x8b\x63\x60\x05\x47\x38\x96\x13\x96\x82\xf4\x59\x11\xe6\xb5\x98\x15\x57\x03\xee\xc2\x88\xca\x30\xe5\xdb\x26\x89\xcc\x0d\x38\x78\x77\x69\x8a\xab\xfa\x85\x28\x42\xd1\x1c\xe6\x15\x8e\xdb\x30\xb4\xe7\x40\x2a\x6d\x8b\xf4\xeb\x39\xb7\x95\x86\x93\xaf\xab\x6c\x7b\x62\x95\x55\x98\xc8\xc3\x89\x01\x7b\xa8\x67\xcd\xc0\xd1\x95\x5d\xa8\x1f\x0e\x8a\x80\xae\xb2\x6d\xf1\xb9\x92\x22\x08\xd6\xb6\x61\xe8\xdf\xb6\x77\x67\xa0\xc0\x60\xaf\xae\xf6\x37\x44\x7e\xc8\x7d\x15\xe9\x54\xec\x6f\x08\x0d\x65\xc1\xfc\x28\xcd\xfe\x06\x23\x80\x09\x49\xd3\xd3\x17\x18\x1b\x14\x51\x29\xa7\x49\x9c\x6c\x39\xc3\xa2\x73\x30\xa5\x70\x6f\xff\x82\xd4\x3a\x79\x3e\x1c\x5f\x71\xf8\x4e\x30\xbe\xfb\x98\xb9\x55\xba\x84\xe5\x56\x79\x5d\x03\xe0\x44\x45\x90\xb7\xc7\x46\xf1\x3c\x65\x14\x62\x4c\x21\xce\xd8\xd6\xa2\xf9\xf8\x33\x7c\x2a\xad\x29\xb6\x2f\x97\xe6\xa2\x1f\x7e\x2e\x97\xc9\x91\x46\x19\x26\xf5\xb3\x29\x74\xdc\xf6\xd8\x5c\x0f\xf6\xb2\x2b\x00\x8f\x85\x34\x6d\xe1\x75\x9e\x74\x59\xaa\x7e\x98\x00\xaf\x2f\xef\x74\x72\x53\x6b\x51\xd7\x7e\x20\x0e\x77\xc8\xe8\xa6\x06\x08\xa2\xd9\xec\x41\xa8\x42\xa6\x15\xe4\x34\xc2\x24\xf5\xe0\x6b\xc1\xc4\x3b\xac\xfc\x04\x98\x1a\x37\x36\x6e\x8d\xfb\xac\xe2\xb4\x31\x7c\x3f\xd9\xb0\x1b\xc6\x87\xd6\xe8\xef\x61\xdb\x97\xd5\x6a\x2e\xba\x8c\x7b\xd2\xc5\x19\x38\x3d\xbf\x5c\x5e\xc9\x2a\x37\xc5\x87\x78\xe0\xb2\xe7\xf2\x18\x9f\xbe\x08\x65\x24\x84\x2b\x75\x8b\xac\x25\xba\x28\x96\xa8\x2b\x23\x78\xd4\xfe\x16\x62\xf1\x34\x22\xf0\x30\xc5\x49\x06\xeb\x42\x47\x5c\x10\xd0\xc7\x93\xad\xee\x36\x3e\x07\x57\xb7\x5b\x48\x36\xcb\xfe\xb1\x88\x2c\x56\x58\x4b\x74\xb2\xab\x22\x78\xd2\x36\xca\xe0\x91\xe1\x7e\x72\x02\xeb\xfc\xd8\xb3\xe1\x0d\xd8\x07\x13\x82\xcf\x4e\x54\xc0\xc7\x66\x97\xd4\x60\xa4\xa2\x04\x21\x25\xcf\x2e\xd6\x08\x5c\xe2\x3d\x26\x23\xae\x76\x09\x98\xd6\xd8\xb9\x65\xf7\x8f\xb1\xaa\x31\xd8\x48\x2b\xc1\xd1\xb9\x81\xd3\xbc\x34\x44\x14\x6e\x71\xa2\x5c\x56\xe7\x20\x00\x7f\x72\x36\x9e\x6a\x7f\xcb\x80\xe4\x0e\x69\x33\xb7\xea\x11\xd3\x63\x2f\xcb\x24\x00\xda\x8e\x26\x00\x98\x04\x9c\xba\xa7\x7f\x28\xdb\x15\x95\xdb\xed\xa8\x9a\x77\x23\xab\x57\x85\xcd\x27\xf6\x61\x3d\x75\x2a\xcd\xec\xa8\x29\x0d\x04\xcf\xdc\x66\x93\xc3\x38\x6d\xa9\x16\xd3\x3c\x86\x6c\xcf\x38\x41\x81\xd5\xc3\xcd\xb4\xa6\x8b\x16\x34\x24\xb6\xb6\xc5\xc9\x6e\x1b\x8b\xc1\x08\x1e\x31\xe9\x6c\x7f\xcb\xa4\x20\x03\x02\xc4\xf0\x94\x56\x17\x6f\xf6\x15\xa9\x11\x7f\xa7\xf2\x69\xc4\x49\x2f\x23\xe0\x89\xf5\x24\xa9\x01\x5c\xa4\x37\x0c\x47\x05\xdb\x92\x79\x44\x32\x9b\x80\x4b\x49\x3a\x9a\xcf\x7e\x6c\x8b\x48\x6b\x47\x98\xb5\x6f\x06\xbf\x1a\x5c\xd9\x36\x7d\xec\xfe\xd9\xf6\xe3\x98\x10\xc9\x31\x78\xe3\x10\x5d\x4f\xed\x26\x1e\x91\xdb\x93\xe9\xb7\x0d\xa8\x23\x6a\x8b\xd4\xfd\x37\xd1\x09\x29\x82\xef\x0c\x75\x10\x2e\x61\xc6\x16\x87\x12\x03\xf8\x25\x1c\xd0\x31\x22\x0e\x6c\x70\x14\x9d\xc5\x49\xed\x16\xc1\x38\x7d\xed\x68\x95\x0c\x70\xee\x6e\xff\xaf\xe6\x32\x8f\x0c\x80\x7b\x49\xe1\x85\xdc\x51\x91\x22\xac\xd1\xfe\x96\x5f\xad\x70\x98\xcb\xd4\x4d\x66\xd0\x83\x17\x5b\x9d\x3e\x72\xdc\xe3\x6c\xf7\xb1\x50\x57\xd9\x93\xe6\x11\x1c\x2e\x46\x42\xbd\x24\xfb\x1b\xf2\x09\xd2\x1d\x0a\x72\x88\x8c\xf4\x3c\x30\x37\xbb\xa4\xdf\xfa\x2a\xb1\xb4\x52\xa9\x20\x66\xdc\x23\x4c\x72\xcd\x0f\x26\x62\x3d\x96\x3d\xa9\xd6\x83\x50\x6f\xe9\xe9\x4b\xc3\x29\x9a\xd5\x7b\x00\x5f\x43\x44\x61\x19\x91\xe2\xc8\xad\x58\x11\x2a\x0e\xcf\xfe\xb8\xc6\x03\xa4\x44\x92\x0b\xf5\x82\xbf\xe5\x47\xa4\x3c\x53\x6a\xca\xf6\x37\x7e\xc5\x48\x9b\x54\xa5\x02\x3f\xb3\x35\x62\x06\xa1\x58\xc6\xad\xc0\xb1\x06\x65\x8e\xcc\x14\x30\x8e\xd7\xf1\xb9\xdc\xf2\xa3\xf5\x0a\x74\x14\xff\x3c\xc9\x06\xe5\x83\xe7\x7d\x63\xc4\xee\xda\xbc\x23\x14\x5b\x91\xf2\x23\x42\x0b\x77\x13\x90\xba\xb9\x07\xb7\x15\x01\xab\xae\x2c\xc2\x32\x4a\x5c\x85\x52\xce\xf8\xc6\x9a\x71\x45\x22\x36\xf5\x04\x2b\xa2\x30\xe4\x35\xfb\x1b\xbc\x15\x27\x8f\xa6\x8e\x79\x14\x82\x2d\x66\x9c\x3f\x4b\x1b\x59\xb0\xa4\x1c\xdb\x67\xc2\xa2\x11\xae\xb5\x53\xf3\x43\xa7\x5e\x1f\x2b\x79\x7e\x53\xcf\x8d\x76\xb4\xd4\xba\xc5\x2b\x9b\x76\xbe\x46\x53\x23\xcf\x87\xf1\xd4\x61\x2d\xf2\xb0\xf9\x91\x2b\xc2\x53\x24\x18\xf3\xcf\x6a\x7f\x0b\x47\xab\x38\x82\x4d\xad\xd8\xdf\x91\xc3\x23\xe3\x88\x2a\xfe\x96\xe2\xb3\xc9\x7e\xbb\x71\xd2\xea\xf8\x5f\x9e\x6f\x2d\x82\x89\x1c\x90\xc5\x65\x0f\x8d\xec\x80\x23\x84\x3d\x21\x27\x98\x09\xac\x4e\x2d\x7e\x24\x3e\x28\x36\x05\xa7\x15\x6d\xf6\xb7\x88\xd9\x10\x79\xca\x6e\x09\x84\x4f\xc8\xcc\x99\x90\xe8\x64\x6b\x7a\xae\xfd\x0d\xb9\xb4\x56\x4a\xd5\x99\x7a\x1f\x9f\xce\xdc\x12\xa0\x84\x3c\xe1\x6b\x84\x16\x96\x20\xab\x62\xe9\x98\x82\x8a\xd8\xa5\x98\x67\xc8\xf7\x23\xc2\xd2\x84\x0d\x1c\x76\xbb\x8f\x07\xba\xd3\xd0\x1b\x2c\x0d\x28\x76\xb6\x08\x63\x99\x3d\xaa\xb0\xa1\x59\xe3\xad\xca\x95\x6a\x7e\xfa\xc2\x8a\xb4\x85\xed\x60\xda\x0a\x02\xd2\x1b\x52\x54\x1c\x4c\x93\xaa\x33\x53\xf2\xd4\x51\x48\x9d\x88\x4b\x4e\x76\xaf\xe8\x66\x79\x15\x49\x76\x2a\xe3\x18\x1f\xfb\x23\xdc\x16\x70\x96\xdc\x90\x0d\x76\x5c\xb8\x67\x3c\x37\xdf\x18\x9a\xfd\xc9\x76\x3c\x73\xcc\x1b\xd3\xa0\x8e\x8c\xbf\xf5\x57\x37\x81\xfd\x46\x41\xfc\x5e\x10\xc5\x18\xe3\x1f\x3e\x2c\xf4\x1f\x16\xfa\x0f\x0b\xfd\x87\x85\xfe\xc3\x42\xff\x61\xa1\xff\xb0\xd0\x7f\x58\xe8\x3f\x2c\xf4\x1f\x16\xfa\x0f\x0b\xfd\xef\xd4\x42\x7f\x2f\x18\xf1\x85\x62\xf0\x61\xb3\xff\xb0\xd9\x7f\xd8\xec\x3f\x6c\xf6\x1f\x36\xfb\x0f\x9b\xfd\x87\xcd\xfe\xc3\x66\xff\x61\xb3\xff\xb0\xd9\x7f\xd8\xec\xbf\x93\xcd\xfe\xd7\xbf\xff\xf8\xeb\x6e\x7f\xaf\x0f\xbd\x4e\xbc\x11\xd3\x05\x33\x75\xe9\x8f\x26\x32\xd5\x7d\xa6\xca\xfa\x28\x69\x4e\xd4\x81\x25\xd7\xa5\x23\xad\x6b\xda\x08\x23\x7b\x39\xcb\x23\x3f\x14\xd2\xa7\xaf\x0c\xe3\xc5\xc4\x91\x84\xf3\x1c\xf0\xd4\x84\xcf\xbd\xff\xc3\x94\x20\xcf\x15\xab\x07\x5c\x3e\x54\x92\x56\x1e\x91\x02\x7a\xcf\xf8\x3a\x34\xd3\x8c\x9f\xce\xe1\x50\x2a\xe9\xa4\xa6\x1f\xef\x03\x93\x56\x64\xb5\x64\x7d\xb0\xdf\x1f\xed\x77\x48\xd3\x0c\x21\x67\x7d\x88\xfd\xa1\x3d\xae\xfd\xa9\xfb\x87\xec\x4e\x7f\x23\x0c\xd9\x94\x48\x0f\x7d\x9f\x1e\x59\x67\x21\x0d\x42\xba\x97\x0d\xe7\xa9\x3d\xf2\x43\x26\xb5\xc6\xd9\x16\x37\x07\x99\xe4\x01\x68\x38\xc8\x39\x57\xf5\xb1\x93\x3e\xe8\xa3\xec\xdb\x41\x49\x9f\x2e\x21\x60\x80\x37\xa7\xfb\xc0\x87\xb4\xe7\x43\x00\xb7\xaf\x57\x3f\xde\xdf\xa9\x77\xa5\xfe\xed\x9e\xdc\x94\xbf\xd3\x9c\xae\x7a\x60\xe7\x5c\xfe\xfc\xe7\x3f\x7c\x50\xe0\x8b\x93\xf5\xc6\x5c\x2f\xf7\xd3\xd9\x0b\xf3\xf0\x2f\x45\xd6\xbf\xfe\xe5\x35\x8a\x1e\xe7\x5f\x35\x37\xc8\x99\xc0\x9a\x4a\x48\xe3\x6f\xdf\xa9\xf9\xb9\x92\xab\x59\x4a\x1d\x69\x5c\x14\xb9\x4e\x5a\x96\xe0\x5f\xe3\x5f\x07\xc8\x2a\x9f\x18\xc0\x62\xd3\xf8\x42\xb0\xfc\xc4\x8d\x3a\x6f\x3b\xce\xa4\xfa\x38\x99\x8a\x40\x5b\x42\x8e\x9d\x29\x93\x8a\x7f\x80\xb5\xe7\x91\xfc\x95\x93\xda\xaf\xf8\x8b\x00\x42\xf6\x03\xa6\xda\xec\x27\xce\xe3\x13\xef\x98\xbe\x1e\x32\x65\xc9\x87\xa1\x62\x15\xa9\xc8\xac\x6d\xe2\x9c\xe7\x64\x8e\xd9\xa4\x1a\xdd\x5e\x54\x07\xfc\x80\x50\x60\x47\x40\x3a\xbd\xf1\x19\x1d\xa3\x3c\xda\xb3\x95\x01\xff\xc9\x6d\x7c\xda\x8b\x95\x4a\xb7\x3a\x99\xeb\x6e\x60\x2a\x4c\x8c\xdc\x04\xc8\x6b\xd0\x90\x51\x36\xf6\x62\xf5\x25\x80\x87\x2e\xf5\x75\xa4\x9c\xcd\xbd\x7e\x6a\x38\x98\x69\xeb\xf1\x8c\x20\x37\x78\xcd\xdb\x4e\x5c\xfa\xe4\x9f\x78\x0b\xd2\x80\x43\x70\xbc\x16\x1d\xb6\x4c\xfd\xcb\xeb\x63\xc9\x35\x5d\xea\x84\xd4\x92\x10\xef\x3c\x83\x66\x6c\x40\x39\xb4\x6f\x0f\x6b\x4e\x54\x3b\x70\x8c\x5a\x9f\x1a\x12\x38\x40\x90\xf4\x6b\x4c\xbc\x7c\xc2\x21\xcd\xe4\x9f\x63\xda\x85\x52\x6f\x5b\xa5\x5a\x6c\xe9\xd7\x21\x50\x66\x42\x2e\x14\xee\x36\x48\xb5\x8c\xcf\xd1\xc9\xd2\x12\x12\x22\xea\x8e\x72\x62\x97\xfb\xab\x69\x80\x9e\x52\xd2\xe4\x34\xfd\x24\x48\xcc\xe4\x9f\xa8\x8a\xb4\x4c\x05\x10\x40\x03\xf5\x14\x59\x97\x70\x72\x91\x3c\x9a\x3d\x66\x4a\x65\x7b\x55\x21\xb5\x1e\x12\xb5\x54\xac\xe1\x2a\xe3\xd3\x5a\xa9\xd4\x65\xf2\x4a\xf2\xf8\xb4\x37\x32\x12\xda\x20\x48\x14\x5d\x4a\xe3\x33\x02\x22\x17\x68\x00\xa5\x63\xfa\x91\x69\xad\xb5\x75\xd2\x05\xe8\x77\xda\xda\x27\x35\xc1\x68\xf2\xcf\xe8\xf0\xbf\x89\x8a\x96\xad\x52\x4b\x79\xf2\xcf\xf1\x56\xf6\xf8\xd7\x76\xf7\xa4\xbf\x61\x1f\xe3\x7f\xeb\x7f\x5c\x60\xac\x3f\x98\xc0\xef\x94\x09\xbc\x61\xab\x3c\xa5\x87\x0f\xce\xf0\xbb\xe1\x0c\x87\xed\x4f\xbf\x6e\x7f\xf8\xcb\x1d\x3c\xe1\xa6\x09\x76\x62\xf9\xcc\xb6\xee\x45\xc7\xa7\xfd\x34\xf1\x37\x66\x88\xa2\x3a\xd9\x84\xda\x82\xf5\xeb\x80\x7f\xfe\x3b\x16\x7c\xac\xfe\xf4\xd3\x57\xd8\xf0\x71\x54\x57\x70\x2c\x31\x8e\xf2\x23\x15\x49\x53\x9c\x91\xee\xd7\x56\x7b\x94\xd3\xbb\xd1\xb4\xcc\xb4\xe1\x02\x00\xda\x4a\x39\x9f\xde\x0d\xe3\x65\x7f\x6f\x42\x19\x67\x6f\x4f\xf6\xc0\x7c\xbc\x2b\xc8\x75\xdd\x32\x40\x5f\xea\xcb\x95\x7a\xa9\x7e\x3b\xdd\xa8\x75\xd3\x48\x91\x37\x2e\xb2\x5c\x55\x9a\x4f\x2b\xbd\xee\xee\xd3\x17\x63\x18\x13\x52\x8e\x96\x97\x1f\x7d\x65\x64\x2a\xb5\xf4\xec\xc0\x6c\xbc\x96\x68\x9c\xef\x7a\x5c\x9e\xd7\x9b\x5f\x27\xa5\xd7\xd9\xc9\x6d\x52\x6a\xdb\x3a\x01\xc3\x81\x8d\x65\x7f\xf2\x7f\x18\x43\x68\x4f\x5f\x3b\x15\x38\x27\xe4\x9c\x60\x6c\x65\xa4\xcc\xb2\x2f\x44\xc7\xcf\x3c\xf2\xe5\x77\x9c\xdc\x2d\x56\x60\x18\xc0\x7b\xdd\x30\x52\xbd\x29\xc5\x7e\x6a\x23\xf6\x9b\x98\xac\x52\x6c\x77\x8b\x55\xce\x5e\x9e\x80\x1d\xc5\x03\xba\xa0\x03\x7b\x59\x70\x62\x66\x3c\x42\x71\x07\x19\x9a\xab\x5e\x55\x5a\x36\xcd\x36\xc9\xa9\x52\x87\xa5\xff\xac\xd2\x32\xc5\x8d\x52\x13\xdb\xeb\x3a\xd7\xab\x4a\x8b\x17\x8d\x4a\xf5\xaa\xbf\x65\xc2\x61\x47\xb7\x26\xe7\xd2\x4f\x1b\x78\x6b\x6c\x36\x15\xce\x05\x15\xa9\xa7\xaf\x86\x46\x6d\x07\x7c\x76\x64\x46\x2d\x37\x07\xe6\xb7\x90\xc8\x1b\xe4\x90\xfe\x59\xf2\xe7\xfa\x87\x0f\x16\xf4\xc1\x82\xde\x4a\x5f\x77\xc9\x35\xaf\xd3\xd7\x07\x5f\xfa\xfd\xf3\xa5\xaf\x7f\xdf\xfe\xf2\x9a\x10\xe4\x16\x9e\xd8\x4d\xe8\xcb\x48\x04\x8e\xa3\x33\xad\x03\x2b\xb3\x21\x7b\x5b\x76\x08\x3a\x01\xe6\x36\x4e\x8b\x6b\x57\xea\xc9\xb1\xe3\x81\x3d\xab\xb3\x50\x4e\x65\x52\xca\x6d\x07\x6c\xe0\xa6\x1d\x49\x81\x4d\xe2\xec\xc8\x3f\xea\xd2\x67\x77\x2d\x83\x1d\x4f\x32\x8f\x5b\x30\xac\xf7\x59\x80\xf4\x99\xa9\x25\xa4\x46\xee\x78\xd7\xcf\x18\xe2\xc0\xda\x48\x59\x21\xc9\x8e\xe3\x88\x42\x49\xf5\x00\x64\x36\xcf\x08\x2b\x48\x47\xc3\x94\xe0\x53\xca\xc9\x13\x1f\xe6\x6f\x3c\x32\xd6\x75\x77\xe5\xf3\x5c\x76\xf9\x00\x99\x17\x2e\xad\x35\x75\x53\x06\x4d\x3e\x45\xae\x37\x61\xbf\x84\x14\xeb\x0d\x06\x22\x93\xe7\x4d\xb7\x3b\x87\xf1\xee\x52\x6d\x3f\xa9\xd6\x81\x7a\x33\x55\x9c\xb2\xb1\x23\x98\x2e\x95\xd7\x67\x2a\x3f\xd6\x0d\xb4\x6c\xaf\xbc\x8c\xca\x65\xad\x5d\x6e\x57\xdf\xae\x7b\x0d\x48\xbd\xe7\xab\x37\x4d\xe0\x33\xe0\xf4\xba\xc8\x64\x2a\xb1\x1a\x67\x6b\x13\x77\xe0\x4d\x55\x6a\x3b\x80\x65\xd4\x29\xda\x72\x44\x6e\xcc\x08\xa4\xce\xe3\xb5\xa7\xdb\x2c\xc0\x16\xe6\x86\xac\xaf\x35\x08\x90\xea\x70\xc9\xc0\xb8\xb0\xf7\x71\xea\x58\x8f\x17\x94\x7b\x5f\xde\x4c\x40\xd8\xc0\xdd\xa8\xcb\x8b\x9e\x07\x91\x09\xf9\xb9\xb3\xd5\x8a\xd4\xee\x35\xcf\xc0\xbe\x29\x0e\x47\x04\x2d\xa9\x18\xd5\x8c\xd4\x61\xaf\xaf\x8a\x3b\x2c\x45\x54\xaa\xab\x83\xbb\x11\x75\x00\x1c\x29\x74\x15\x30\x19\xc8\x02\xa6\x19\x79\x2b\x01\xfb\x4d\x25\x15\xaa\x5a\x02\x65\x19\x04\x62\xfc\x22\x77\xdb\xf9\x4c\x13\x4b\xb1\xb8\x63\x2e\xba\x8f\x47\x12\xc0\xe2\x0b\xa0\x10\xe2\x04\x28\xfe\x84\x49\x16\x24\x5b\x84\x4b\x5a\x85\x59\xa0\x73\xd9\x42\x15\x95\xbc\xf8\x7c\x65\xcf\xd7\xbb\x1b\x48\x05\xf0\xd2\x95\x04\x77\xae\x56\x0f\x36\x34\xc8\x10\xdc\x14\x2e\xdc\x0c\x24\x8f\x8e\xfc\xc0\x76\xa5\xf0\x8f\xb0\x72\x81\x9c\xde\xd9\x2b\x04\xfc\x9c\xa7\x05\x57\xa0\x26\x03\xa3\x9f\x7a\x71\xb0\xfe\x6f\xd4\xa5\xc3\xf3\xc9\xbe\x3b\xea\xe1\x28\x5e\x51\x26\xd0\x5d\x2c\x40\xe4\xf0\xab\x6f\x80\x0d\xf2\x1a\xda\xcd\x1a\x62\x5b\xaa\x28\x7e\xa1\x3a\x06\xc3\xeb\x49\xf7\x54\x43\x0a\xf8\x11\x63\xf1\xa3\x32\xcf\x2d\x99\x6c\x8d\x69\x02\x08\x11\x10\xc5\x3b\xb4\x77\x01\xa1\x31\xf4\x57\x47\x70\x87\x5b\xad\x51\x52\xae\xf0\xbe\x3b\x5e\x51\xf6\xf4\xaa\x36\x95\x81\x1a\x66\xbf\x01\xd2\xda\x38\x61\x6f\x9e\xd0\xb2\xe5\xe5\x96\x5f\x2c\x6f\xb1\x27\xec\xf4\x7b\x40\x87\x03\xfc\xb6\x57\xa6\x85\xb2\x03\xa3\xe0\xa0\x78\x63\x93\x97\xa7\x3e\xfc\x8d\x17\x02\xbc\x93\xa6\xdf\x20\x80\x96\x5e\xb4\x8c\xbc\xe6\x1f\xec\xff\x83\xfd\xff\x6f\x63\xff\x6f\x90\xa5\x4f\x97\xca\x71\x49\xf2\x71\x53\x90\x1b\xbb\x82\xde\xbb\x2b\xd4\x65\x57\xd0\x57\x77\x85\x76\x7b\x57\xa8\x1f\xbb\xc2\xff\x9e\x5d\x21\xbd\x61\x57\xf8\xef\x9f\xff\xf6\xeb\xdf\xfe\xe3\xbd\x56\x50\x89\x54\x62\x9b\x32\xd5\xba\x15\xaa\xb0\xed\x57\x5d\x92\x81\xf7\xd4\x01\xd9\xd3\x3f\x4b\xb2\xad\x23\x4d\x92\x26\xa0\xe9\x4e\x2c\xdf\xe2\x94\xb0\x85\x64\x05\xa6\x6f\x97\xab\x12\x30\x8e\x5e\x82\x31\x98\x0a\x3f\xd6\xd0\xa8\xc4\x7a\x7e\xf5\x2d\x14\x20\xf1\x47\xfc\x04\xec\xe4\x84\xd2\xca\xe4\x9f\x4b\x69\xa9\xa3\xcc\xcf\x0c\x64\x0b\x63\xc5\x13\xc0\xca\x64\xbd\xf8\x16\x6d\xce\xbd\xfc\x63\xab\x4e\xcb\xb1\x02\xbc\x14\x25\x66\x99\x90\xac\x77\xba\xba\xf8\x36\x9a\x34\xa1\x49\x56\xde\xd3\xd7\x00\xc7\xcc\xc9\xd6\x61\x9b\x83\x52\x05\xaa\x9b\xf4\xf6\xd8\xa8\x46\x99\x97\x5f\x12\x97\xf7\xe8\x72\xcb\x5c\xbe\xd3\x0c\x99\x28\xd7\x66\xb5\xf7\xbe\xa3\x02\x2f\x60\xf0\x6e\x2a\xe0\xe2\xb2\x7c\x7e\x66\xd3\x4f\xab\xb4\x89\x75\xf2\x8f\x6f\x71\x92\x01\xcf\xd3\x50\x44\xa9\x5b\xa6\x0a\x18\xa7\xaa\xab\x6d\xfe\xa4\x08\x41\xe4\x2e\x0b\xb5\x3e\xb5\xf3\xef\x6f\xb6\xe3\x60\x65\xa8\xb5\xc8\xca\xec\xcf\x94\x16\x46\x69\xf0\xde\x30\xba\xb7\x32\xac\x39\x01\xcd\xb1\xd6\x04\xb4\x66\xe7\x3c\xd7\xa4\x6a\xdf\x37\x3c\x2b\xff\x52\x40\xa2\x02\x4c\x4f\xb6\x02\x4e\xbe\xbe\x8d\x96\x4c\x68\x89\x35\x04\x76\x2a\x71\x00\x72\x99\x43\xa2\x92\x75\x12\xe2\x47\xa5\x3e\x27\x80\x01\x08\xf1\xf3\x28\xeb\x77\x4c\xdf\xfd\x12\xda\x2f\x7f\x59\xd6\xa1\x90\xe6\x3a\x15\xaa\xb1\x5d\x2e\x23\x67\x4c\x4e\xfd\x9f\x01\x70\xdc\x9e\xa5\xd9\xf3\x75\x74\x6b\x19\xc5\xb0\xae\x6b\x1b\x77\xac\x6a\xb7\x3a\xae\x6b\xba\xb5\x8b\x35\x7d\xfa\xfa\xc9\x92\x5e\x56\xf4\xb4\xae\xe3\xe3\xd5\xf9\xea\x39\x2e\xe8\xd3\x7e\x1d\xd7\xf3\x0e\xcb\x75\xe5\x10\x56\xf3\x7a\x31\x16\x74\x38\xae\xe8\x97\xc0\xe6\x6a\x9f\xe0\x97\x5c\xb0\x16\x01\xd7\xda\x9b\xaf\xd4\x80\x75\x79\x28\x54\xee\xe7\xaa\xf7\x4b\x10\xeb\x54\x9a\x38\x86\xf9\x28\x29\x5d\x52\x7d\x3c\xa7\x7a\x5f\x43\x37\xa8\xf6\x7c\x01\x19\xd9\xee\x82\xaf\xe8\xb0\xae\xe8\xf3\xe5\xb8\x2c\xe8\x65\xfd\x00\x04\x24\x1d\x57\x33\xd6\x8f\x2f\x9f\xe9\x64\xf9\x4c\xa7\xcb\xe7\xf6\x62\x3e\x5b\x41\x37\xd7\x72\x3c\xeb\x94\x62\x2d\x57\x39\x65\x2e\xe1\xc8\x5c\x7c\x39\xbf\x94\xec\x5c\x7b\xb2\x22\x98\x7d\x39\x02\x38\xb4\x85\xe5\x9a\xf9\x80\xb0\xdc\xd7\x66\xf0\x3f\x7e\xfe\xdb\x4f\xff\xb9\xfd\xe5\xbf\xef\x76\x84\x6c\x65\x12\x39\x40\xe2\x7c\xe8\xd4\x0e\x81\xba\xb6\x87\x46\x92\x19\xbf\x96\x3d\x40\x80\x36\x2c\x84\xb1\x9a\x13\xb2\x91\x43\x43\x7a\x68\x48\x00\xdf\x48\xa4\x3f\xe4\x47\xd9\x73\xa2\x5e\xf2\x2c\x94\xd2\x94\x29\xe6\xb2\xe1\xe2\x3e\xdd\x78\xaf\xb7\xa9\x50\xac\x79\xc3\xf0\x67\x9e\x44\x1e\xd0\x82\x73\xb7\xa9\x0a\x2c\x8d\x4a\x3d\xc9\x83\x52\x81\x97\xab\x96\x07\xfb\xd9\x5b\xf4\xf4\x25\x9b\x38\x9f\x53\xdb\x43\x50\xf6\xfb\x79\xdc\xbc\xc3\x99\x6a\x1d\xa4\x3b\x5d\x1f\x9b\xed\xbb\x07\x88\xec\xba\x17\x12\x3d\x98\x40\xfc\xa0\x26\x21\xe2\xe7\x9e\xf6\x26\xb4\xf4\x4d\xb3\xd5\x37\xb5\x19\x89\xea\x03\xe2\x89\x1e\x94\x5a\x3e\x28\xd5\xf2\x90\x1e\x79\xdf\x11\x25\xcb\x54\x80\xc0\xdd\x92\x6c\xb0\x81\xfb\x4b\x39\x1b\x8f\x13\xc5\x8f\x0d\xc4\xf4\x60\xd5\x9f\x0f\x90\x3a\xee\xb2\x10\xab\xec\x51\x3d\xdc\x9c\x65\x8f\x4b\xfc\x20\x4f\x5f\x80\xba\xd5\x63\xdd\x1f\x1f\x78\x48\xcb\xdd\xb7\x0c\xd2\xbd\x69\x30\xfe\x2c\xf9\xb3\xa6\x3f\xfc\x0e\xc8\x4b\xa1\x7e\x39\x89\x3d\x64\xdc\x1f\x94\xf6\x76\x12\xbb\x37\x56\xf0\x7a\xf4\xfe\x45\xe9\x2e\x53\xec\x83\xf4\x1e\xd2\x8d\x07\xee\x18\xbc\xdd\xcf\x3f\x7d\xfb\xdb\x7c\x2f\x0b\xb3\xf6\x0a\x53\x4d\xfc\x09\x47\x60\xce\x9b\x05\xf0\x26\x92\xb6\x1c\x01\x3b\x1e\x47\x3c\x4c\xf4\x80\x1a\xa1\x1e\x65\x86\x7f\x47\x10\xaa\x69\x5b\x8d\xca\x26\xff\x8c\x13\x73\x0c\x1c\xa9\xa6\x79\x7d\x62\x2d\x9c\xa3\xd5\xe9\x55\x3e\x99\x2a\x61\x0a\x6d\xa5\x94\xcb\x96\xba\xed\xee\xd1\x9f\xe2\x81\x3c\x95\x7b\x3b\xf9\x1d\x9b\xa1\x03\x16\xe5\xde\xae\x1c\x46\x21\xa3\x64\x24\x8e\xb0\x6d\x32\x4d\xfe\x69\x2d\x42\x36\x94\x8c\xd0\xaa\xf3\x5b\xc8\xa0\x30\xe1\xce\xd3\x17\x61\x4a\x26\xaa\x64\x8f\x89\xed\x11\x3d\x5d\x1b\x04\xb8\xea\x93\x5f\x47\x73\x60\xe7\x42\xfa\x16\x61\xbc\x9c\x38\x9d\xbd\xcc\xd0\xf7\x62\x3e\x7d\x95\xa3\x03\x99\x1f\x2b\x85\x0e\x7f\x7b\x14\xf4\xf6\x18\x9c\x54\x6a\x03\x72\xf6\xee\xa8\x33\x9d\xbe\x39\xea\xf4\x81\xcf\x26\x3a\x90\xc4\x7c\x5e\x25\xf5\xde\xaf\x6b\xb4\x5f\x51\xe1\xfd\x04\x78\xe7\xf6\x00\xb4\x9e\x4c\xdc\xd3\x72\xd4\x18\x07\xd0\x9f\x6e\x0b\x81\x2b\xf5\xc5\x23\xaa\x42\x8e\x6f\xb9\x22\x0e\x03\xb1\xce\xa9\x6e\x33\x15\x93\x9c\x46\xa7\x0b\x35\x69\xf3\x7a\x7b\x3d\xcd\x34\xf1\x36\x46\x8c\x54\xca\x1e\x55\x9b\x10\x3b\x9d\xa3\x9c\xc6\xa1\x70\x74\xa0\xb9\xae\xe9\x34\x3a\x25\x02\x7f\xce\x7e\xbd\x64\x88\xbd\x4c\x9d\x94\x2b\x72\x95\x00\xa2\x9f\xeb\x42\x72\x2c\x21\x51\x4c\x79\x3a\xbf\x87\x78\x3d\x24\x57\x49\x19\x2d\xe9\xb5\x4d\x9d\x72\xae\x5b\xa4\x14\x1a\xc0\xf5\x6b\x4b\xf2\xc9\xaf\xc7\x96\xd8\xab\x42\xda\xed\xcd\x2a\x67\x6f\x62\xf2\x39\xb7\xd3\xf7\xd8\x8d\x7d\x6d\xad\xb0\x92\x72\x7e\x57\x85\x95\x4a\xd5\xb7\x55\x98\xa0\x1c\x68\xd3\xab\x0a\xd5\x2a\x2c\x57\x15\xaa\xfd\xfa\x06\x72\xbb\x77\xa3\xfd\x53\x4c\xad\xea\xd9\x71\xce\x91\xdb\x2d\x4c\x8a\x9d\xcf\x71\x37\xa6\xeb\x8c\x6e\xba\xc5\xe8\xa2\x43\x12\x39\xa3\x9b\x9c\xd1\x9d\x73\x4c\x5e\x4b\xc7\xa2\x6b\xe0\x76\xb9\xb7\x5b\x6b\x55\x6e\xac\x55\xf9\x87\x30\xb9\xd6\xd5\xca\xc8\x52\x6e\xf1\x29\xbd\xc1\xa7\x7e\x1b\x7f\x43\x7d\x4c\xa9\xd5\xfb\xfb\xfd\x1b\x58\x5b\x67\xd3\x2a\x93\xea\xf9\x6b\x9e\xef\xe3\xfa\x55\xe7\x0b\x78\xfb\xad\xf4\xf6\xba\x68\x72\x4d\x6f\x0b\x7b\xfb\xb4\xfa\x59\x08\xb9\xf7\xa4\x3a\x5f\x9b\x9c\x71\x9d\xf0\xb5\x18\xa7\x23\x5f\xc3\xed\xfa\xe9\x8c\x39\xf2\x52\x28\x16\x5b\x49\xcd\x87\xad\x9f\x71\xb6\xb1\x48\xeb\x59\xd4\xdd\x38\x02\xf8\xfe\x5c\x2d\x93\x78\x21\x39\xbf\x85\x55\xbc\x8f\xa3\x79\x65\x95\x0a\xdf\x7a\xab\xde\x78\xab\xfe\x06\x66\x56\x00\xe2\x59\xda\xf9\x5b\x1e\x9f\x7a\x5d\x9f\xfd\x3c\x5e\xbe\x83\xbc\x7e\xfa\xf9\xeb\xf6\x3f\xef\x70\xcd\x60\x99\x48\x37\x32\x15\x93\x6c\x99\x49\x67\x36\x7d\xbb\x9a\x2a\x1d\xec\xfb\xd1\xee\x6c\xf0\xd8\xd3\xd7\x4c\x59\x81\xdd\x5f\x72\x01\x3f\x2b\x98\xbd\x94\x42\x22\x84\x2e\xd6\xac\x87\x64\x3f\xcf\x36\xb7\x38\x8e\xe8\xcc\x87\x50\xa9\x14\x36\x21\xd7\xa5\xb1\x62\xf3\x9b\x60\x4d\xaf\xb9\x1d\x00\xe5\x38\xa7\x71\xb8\xd3\x91\x70\x2e\xda\xce\x52\x54\x5f\x53\xb6\xbd\xa3\xaf\x9f\xb6\xb7\x29\x6e\x78\xca\x87\x36\xd7\x29\x4f\x35\xe4\xc7\xbc\x69\x53\x7c\xfa\x9a\x88\xb9\x3b\xdc\xed\xa6\x23\xf9\x47\xa7\x56\xd2\x54\x21\x1d\x35\x2a\x7a\x00\xde\xe8\x0c\x0b\x00\x8e\xc0\xd2\x21\x28\xa5\x64\xcb\x08\x47\x0b\xdc\xe0\x40\xee\xa7\x66\xe5\x31\x53\xed\xa6\x21\x49\x02\xb4\x27\x7a\x53\x10\xa8\x75\x67\x6f\xde\x70\xce\x1a\xcb\xbf\xc5\xbe\x40\xa6\xfe\x3e\xe6\xf2\x0d\x47\x67\xa7\xbd\xff\xd7\x98\xe0\xbf\x6e\x77\xff\xe7\xa5\x10\xb2\x1f\xce\x39\xbc\x34\xd2\xb9\x51\x2c\xd5\x78\x78\x69\x3b\x26\xed\x08\x4c\x9c\x6c\xbb\xb3\xad\xb9\xf7\x82\x6b\xb5\x27\x0e\x95\x38\xe5\x9d\x71\x99\xc2\x80\x38\x8e\x05\x80\xc6\x2d\xf8\xf3\xa6\x1d\x20\x2a\x51\x01\xdf\xd8\x1f\x0b\x75\x91\x4d\x43\x94\x46\xb2\x0d\xe3\xf1\x2a\x84\x4e\x28\x8b\x4d\xa0\x6c\x14\x07\x0c\x07\x56\x6a\x6d\xae\xf6\x73\xa6\x14\xfb\xa3\xdd\xbc\x87\x2b\x8d\xde\xdf\x25\xd3\x2b\xe0\x34\xe3\x6c\xda\xb3\x00\x99\xb7\xee\x3c\x45\x5d\xc9\x05\xb9\xd0\x6c\xb3\x8b\xcd\xb3\xa3\x59\xcb\xe4\x90\xa9\x97\x84\xde\xb3\xa4\x40\xdd\x61\xa9\xa3\xa9\x9a\xb1\x66\x6a\xda\x36\xe3\x90\xcb\xc6\xe1\x31\xc3\xe3\x0e\x21\x9e\x40\x8f\x2d\x8f\xf1\xbc\xeb\x8d\xd2\x94\x4d\x5a\xdf\x00\xb4\x5e\xcb\x01\xce\x87\x75\x63\x37\x40\x08\x8b\x24\x7f\x5f\xc7\xef\xce\x66\x2a\x9f\xda\x9f\xfe\xfc\xda\xa9\x8b\xcf\x06\x1f\x27\xa2\x3d\x4a\x22\xdd\xe8\xc4\x9d\xb8\xcb\xa3\xdd\x96\x97\xd3\xc4\x78\x4a\x18\x8a\x5d\x27\x1b\xf0\xb6\x19\x44\x77\x40\x3e\xac\x59\x29\xc3\x8c\xcb\x2d\x1f\x3a\x55\x31\x11\x55\x01\x53\xda\x41\x8a\x0d\xee\xc1\x46\x5a\xd9\x91\xfa\x7b\x74\x6b\x6c\x7a\xec\x54\x8b\x67\x05\x40\x72\x2b\x07\xdc\xc6\x9e\x5f\xaa\xeb\xfe\x1a\x32\xdd\x25\x9b\x9f\x8d\xde\x1d\x29\x9f\xee\x1a\xbd\x31\xa3\xb3\x92\xaf\xa2\xfa\xc8\x65\x93\x06\x30\xfc\x23\xbb\xde\xf0\xea\xd0\x45\x0c\x00\xa8\x73\x33\x28\xf6\x80\x90\x22\x84\x0f\x23\xff\x5d\x39\x14\xaa\x25\xcf\xa6\x72\xe2\x04\x3e\x15\x23\xe4\x3c\x0e\x7c\x22\x40\x86\x9d\x8a\x73\x30\x1a\x7d\x2c\xa6\xc3\x61\xe8\x8c\xc3\x32\x9b\x6e\x93\xaa\x2d\x5a\x85\x4d\xba\xaa\xf1\xe8\xbb\x42\x56\xff\xf2\xcb\x2f\xdb\xff\xfa\xf9\x97\xaf\xf7\x71\x1c\x99\x9c\x85\xf4\x3a\x17\x12\xb6\x65\x67\x44\x2e\x1b\xbb\xf1\xf4\x05\xf9\x66\xab\xa9\xfb\xac\x9b\x46\xad\x27\x9c\x65\xb5\x93\x57\x00\xee\x6f\x7b\x84\xe0\xf1\xda\xe0\x4d\x9d\x39\x3f\xfa\x5b\x22\x67\xaf\x84\xb5\x9a\x51\xba\x4e\x92\x28\x8f\xdf\xc3\x28\xeb\xbc\x3d\xf6\xc0\xdb\xfa\x7e\x17\xbf\xe1\x29\x1e\x94\xa2\xce\x99\x52\xee\x13\xd2\x3b\x3e\xda\x67\xd9\xf0\x14\x9f\x6c\xaa\xb9\x22\x28\x3b\xe7\x39\x64\x4a\x08\x51\x16\x5d\x5f\xd2\xf1\x0e\x9e\xc0\xf3\x45\x71\xba\x98\x7a\xf1\x1f\x37\x48\xe5\xd8\xb8\xfb\x3b\xe1\xa4\xa6\x51\x7e\x9e\xb8\x8c\xdf\x51\x7a\xb1\x8d\xe8\xac\x4d\xfa\xc8\x77\xad\x99\x63\xef\xef\x65\x3a\xf5\x8f\x59\xfe\xf8\xf9\xb6\x4f\xf7\x8d\x65\x70\xc6\x26\x57\x52\x58\x89\x40\x7b\x3d\x54\x12\x9f\xc9\x1c\x9c\x90\x0a\xb7\x95\x2c\x40\x0f\x78\x64\x9d\x6b\x7f\xe2\x48\x14\xda\xeb\xd3\x6b\x34\xe9\x75\x73\xa7\x76\xbc\xbd\xd0\xcc\x91\x8a\x1e\xed\x81\xf7\x0c\xdb\xeb\xdc\xe6\xfd\xc3\xa6\xd4\xc0\x3c\x9b\x1c\xc9\x27\x83\x34\x64\xe3\xf7\x2a\x35\xa3\xc1\x26\x2b\x39\x81\x8e\xc6\x33\x7c\xf2\xc0\x29\x31\x19\xf1\xbd\x42\xcc\x5e\x3c\x8e\xed\xf3\x66\xa5\x3c\x27\x36\x1e\x95\x23\xc7\x27\x4a\xe1\x7b\x46\xee\xb0\xfd\xe1\x97\xed\x4f\xbf\xde\xa3\x73\x74\xea\x2d\x11\x08\xbd\x7b\x84\x60\x3d\x30\xd5\x52\x4d\x36\xc5\xd1\xe4\x90\x39\x93\x4d\x64\x7e\xb4\x66\xd6\x4d\x26\xc4\x86\x4e\x6c\xb2\x98\x0a\xf2\x0f\xe5\xb9\x50\xe5\x3e\x71\x21\x85\x39\xdd\xd9\x47\x26\x69\x1c\x80\xfd\xbf\x11\xa3\xcc\x84\x9c\x0b\xc9\x06\x6d\x54\xfe\x7a\x88\x9f\x77\xe7\xae\x88\xef\xd8\xa8\xea\xa6\x53\xb7\xbe\x92\x22\x53\x8f\xa4\x0d\x88\x3c\x2b\x4e\x44\xe0\x4a\x16\x93\x4d\x42\xdb\x08\x75\xe4\x85\x40\x26\xc9\x92\x0f\x48\x03\x6e\xad\xae\x05\x91\x1d\x6c\xa2\x2b\x2b\x89\xce\x42\x55\x00\xa9\x5e\xfb\x06\xb1\x8b\xac\xf5\x11\x6f\x6d\x96\x8a\xef\xed\xca\x5b\xe2\x98\x5b\x69\x7f\x96\x3f\xfc\x93\x4d\xd7\x99\xe8\xdf\x34\x7e\xd6\x35\xaf\x35\x9e\x3e\x69\xa1\x5a\x0b\xab\xfd\x10\xa5\x4d\x9d\x62\x4e\x68\x6d\x25\x89\xf5\x71\xad\xf5\x66\xa5\xc6\x54\x3a\x7c\xa0\x24\x8f\xde\xa0\x7f\xc8\x11\xb7\x94\x9c\x29\xa6\x93\x72\x33\xb5\x9a\x0e\x28\xce\x64\xa8\xf5\xf5\xb7\xcd\xcd\x7d\x31\xc5\xa7\x73\xf3\x4f\x41\x7b\xcf\xcd\x0b\x03\x0f\xba\x28\xa2\xae\x90\x0d\xae\x49\x47\xfb\xb2\x69\x62\x0d\xf5\xd5\x09\x56\xa6\xc4\x72\x48\xd4\x53\xbf\x55\x6b\x43\xad\xfa\xf4\xe5\xb2\x37\xb3\xe9\x98\xf0\x39\xe5\x84\x82\x91\x3b\xa4\x64\xa8\xbd\xbc\x69\xc8\x82\x5f\x1f\x31\x14\x9b\x93\x97\x5f\x9f\x96\xbf\xcd\x77\xb1\xb2\x89\x67\x93\x01\xcb\x24\xa6\x36\xe6\x8d\xa7\x58\x7f\xfa\xea\xee\xad\xcd\x14\x8c\x87\x46\xca\x8f\xd5\xa4\xe7\x3d\xd2\x02\x7b\x72\xe0\xa7\xaf\xd1\xb4\x6e\xf1\xdb\x90\x7d\x4e\x6e\xe7\xa7\xaf\x02\xcf\x08\x35\x39\x7c\x1f\xfc\x8e\x7f\xdd\x28\x85\x97\x47\x9e\xaf\x67\x79\xe0\x76\x4d\xd1\x88\xe7\xf8\xd0\x8d\x52\xfc\x0e\x8a\xba\x2e\x63\xbc\x77\xdf\xb0\xbe\xce\x52\xe3\x14\xe7\x4a\xbd\xba\xaf\x1d\x97\x8d\x67\xad\x7c\xfa\x5a\xa8\x26\x99\x0a\x71\xb1\x1a\xa5\x3e\x66\x6a\x00\xab\x36\x8e\x24\xd5\xfa\xca\xd4\xe3\x72\x57\xa8\x37\x5d\x6f\x97\xfe\xf4\x95\xe1\x89\x9a\xa8\xb1\x3f\x72\xc0\xe7\x75\x09\xfa\x62\xf9\xfa\x42\xf9\xcd\x9d\x94\xa2\x3e\x74\x92\x72\x59\xc0\x17\xfb\x11\xe7\xbc\xf9\xea\x6d\xbc\x70\xdf\x10\xbe\x81\x95\xff\xf9\xcf\xff\xd6\x38\xff\xe1\x83\x5c\xdf\x4b\xae\x6f\x60\xcd\xa7\x63\xfd\x41\xc3\xcf\x8e\xeb\xdf\xb7\xff\xfd\xd7\x9f\x7f\x7c\x49\x56\x3c\xf3\x2e\xf0\xd0\x91\x3d\x04\x5e\x89\x54\x66\x0d\x8d\x4a\xc1\x88\xea\x3e\xe4\x39\x4f\x05\xc1\x22\xb0\x41\xa6\xb4\xe1\x38\xe9\x43\x9c\xe1\x8f\x57\x26\x53\x00\x72\x29\x61\xbc\x85\x93\x24\xd8\xd2\x23\x71\xcf\x1b\xc9\x56\x88\x52\x87\x49\xaf\x77\xf8\x3e\xf7\xbb\x34\xcc\xb5\x1f\xf7\x1d\x52\x9b\xf0\xce\xb2\xf7\x95\xc7\x11\xe2\xf7\x9c\x80\x3f\xa3\x54\x6b\x35\x41\xbc\x94\x32\xa5\x87\x36\x0b\xae\xb2\x07\x4a\xc7\xa9\x51\xad\xc8\x9d\x5c\xea\x94\x1e\xe2\x8c\xad\x1a\x19\xf0\x53\x0a\x42\x89\x37\x5e\x3a\xe3\x10\x23\x46\xa3\xaf\x5c\x92\x8d\x10\x52\x91\x75\x8f\x42\xed\x6d\xb2\xb1\xb8\xcb\x64\xb5\x76\xee\x5e\xfd\x91\xf3\xe7\xf2\xf9\x8f\x67\x69\xb0\xf2\x84\x44\xe4\xeb\xa0\x6e\xc6\x01\x93\x3e\x98\x92\xd2\x7c\x62\x1f\xca\x8c\x04\xc4\xa5\x6c\x3a\xe6\x77\x8a\x93\xee\x39\x8e\x5f\xeb\xc4\x61\x4c\xab\x4c\xba\xcf\xb3\xa0\x0f\x6d\xf2\xef\x12\x96\x97\x47\x71\xef\xe8\xdb\xeb\x4a\xde\x75\xdf\x6c\x64\x21\x7d\x2c\x63\xea\xbe\x3c\x79\x4a\x0f\x0c\xf7\xa5\x94\xc6\x84\x3f\xf8\x24\x23\x09\x49\xad\x9b\x82\x79\x9f\xe2\x94\xf6\x98\xcf\x75\x7a\x67\xeb\x45\x40\x46\xe5\x4d\x9b\xd2\x5e\x9c\xc6\xc5\x4b\x99\x41\x36\x13\xe6\x7a\xd0\xce\x74\x52\xc9\x3d\xbd\xde\x6f\xbf\xed\x7f\xdc\xfd\xfc\xcb\x5f\xef\x5b\x77\x1c\x29\x21\x4e\x64\x9c\x29\x94\x76\x60\xa6\xac\x88\x6d\x77\x7b\x7f\x4f\x8f\x8d\x62\xe1\x59\x01\x7e\x24\xd4\x6b\x7f\xe4\x2b\x03\x72\x5a\x0e\x17\x0e\xdd\x64\x53\x23\xc8\x24\xed\xb1\x92\x70\xdf\x98\x44\x0e\x49\x9a\xe5\x51\x22\x21\x80\x1f\x76\xdb\xda\xcb\xa3\x75\x73\x8f\xa7\x0f\x89\x52\x63\xaf\x3a\x78\xd5\xc9\x24\xd7\xcd\xb1\xf4\xf3\x5a\x05\xd2\x7e\x35\x35\xc3\x9f\x10\x21\x45\x54\x46\x13\xb4\xd7\x16\x4e\x6f\x8f\x99\x72\xcb\x1b\x41\x17\x6b\x19\x5d\x7c\xdb\x70\xde\xb5\xfc\x0b\xb5\xa4\x64\xfa\x77\xa2\x5e\x0e\x8d\x62\x35\x86\xc3\x10\x5f\xa5\xe4\x47\x25\x41\x8a\x81\x92\xad\x65\xfc\x48\x17\x4e\x73\x9d\xb8\x28\x95\x43\xa1\x9c\xf6\xb6\xe8\x5d\xdf\xd8\x64\x44\xd3\xab\x31\xed\x43\x23\x49\x15\xa5\xc2\xd4\x5f\xca\x21\x14\xca\xbc\xc7\xd3\x38\xc6\xf7\x2a\x83\x57\xe9\xb2\xfc\x28\xf8\x62\xd2\x00\x75\x11\xc7\x5d\x18\xf1\x0e\x6e\xf0\x42\x13\x05\x4d\x14\x93\xa5\x5d\x48\xef\xc5\xfb\x74\x17\x6f\x39\x0e\xdd\x3b\xf1\xbd\xfe\xc5\x69\xf3\x84\x22\x37\x2b\x9d\x3e\x82\x00\xa1\x2b\xa5\xe4\xc5\x2c\x9d\x0a\xa0\xd7\xc9\xfb\x60\x6f\xbd\x67\x90\xdf\x8c\x95\xf0\x2f\x46\xb1\x47\x42\xdd\x2c\xc4\xfb\x08\xba\xc4\xc1\x5e\x4f\x5e\xc2\xe8\x06\x9c\xba\x91\x91\xfe\xd1\xde\xb8\x6b\x3c\x77\x1f\x8c\xf3\xfb\x30\xce\xdd\x07\xcb\x7c\x3b\xcb\xdc\x7d\x30\xcb\x7f\x24\xb3\xdc\x7d\xb0\xc9\xef\xc3\x26\xb7\xbb\x5f\x7f\x3c\xfc\xf8\xeb\x0b\xd1\x2f\x2f\x1e\xcb\x02\x38\x65\x92\x13\xec\x28\xa6\xca\xa4\xdc\x67\x47\x14\x61\x9b\xf9\x49\x80\x07\x56\x49\x8a\x7e\x3a\x79\x94\xdb\xc4\xbc\xcf\xa7\x6f\x47\xa3\x28\xa3\xd4\x0c\x5d\xa4\x01\xed\xa4\xd7\x72\xfa\x4c\x40\x62\x67\x8a\x51\x37\x8d\x7a\x37\x65\x45\x79\x46\xe8\x90\x69\x5d\x2d\x95\xd3\x4a\xe0\x35\xa3\x0f\x72\xfa\x9b\x58\xbd\xa6\x07\xcc\x42\x4d\x5a\x68\x94\x5b\x3d\x7d\x60\xf4\xeb\x3d\xc1\x7d\xeb\x88\xbe\x2f\x38\xb3\x10\x9a\x7c\x36\xa2\xa5\x37\x52\xb1\x55\x98\x22\x74\x49\xcf\x7c\x58\x71\x8a\xc4\x67\x23\x2a\x24\x53\x7d\x60\xbd\x31\xa6\x80\xa0\xb2\x61\x8a\xd2\x26\xd3\xa0\xaf\xc6\x34\x07\x8a\xcc\x1b\xa5\x8e\xd4\xa0\x11\xd9\x3e\x63\x9e\x6c\xac\xdb\x69\x35\x89\x4c\x7d\xd3\x87\x93\xba\x99\x79\xaa\x7b\xc1\x3a\xb7\x2a\x82\x92\x02\xda\x0b\xf0\x7b\x4c\x19\xe1\xfd\xe4\x09\x02\xde\x37\xb0\xf3\x5f\x7e\xf9\x35\xec\x7e\xfc\x65\x37\xbf\x10\xc5\xfc\xc3\xb9\xbb\x5c\x3d\x27\x4d\xbb\x3c\x64\xd2\x8b\xae\xeb\x14\x01\xc9\x77\x3e\x94\x13\xdc\x05\x27\xd6\x2d\x4f\x3c\x3c\x32\x65\x4f\x91\x8f\xff\x0e\xf2\xc0\x72\x07\x9a\xd2\x77\x4a\xe0\xc6\xa1\x93\x6e\x3b\xe9\xd4\x91\x0d\x16\xbe\xc8\x7d\x3a\xfe\x10\x63\x0c\xdc\xdf\x8b\x08\x70\x36\xc2\x77\xed\xf9\x6d\xca\x37\x06\x38\xdd\x1e\xe0\x74\x3e\xc0\x6d\x82\x55\x81\xe3\xc5\xf0\xc6\x7a\x36\xbe\xed\xf5\xe1\x8d\x53\xdb\xb6\xa9\x39\x15\x96\x29\x7e\xf2\x7f\x18\xe5\xb7\xa7\xaf\x2d\x14\xd2\x6d\x21\xa0\x69\x2d\x83\x96\xa6\xe3\x0f\x18\xb4\x17\x72\xb1\xbd\x61\xd0\xd0\xc2\x77\xe6\x19\x95\x89\x3f\xaf\xb4\x71\x42\x25\xdf\x4e\x08\xe4\x9a\x4c\xfe\xfd\x84\x42\x26\xc0\xea\x56\xeb\x57\x3d\x9b\x01\x9f\x80\xe7\xe9\xfe\xe9\x8b\x95\x5b\xc6\xb8\x47\x2b\xf8\x94\xce\x39\x4e\x46\xe7\xeb\xed\xc0\xe1\x5d\x71\xcf\xd7\x43\xf5\x3e\x1e\xf9\xda\x7c\xff\x36\x9a\xfc\x1a\xa7\xf2\x2a\x49\xbe\xb7\xf3\xff\xf9\xe3\xf6\xeb\xcf\x3f\xbd\xe0\xeb\xfb\xcf\xc9\xbf\xa8\xb5\x6c\x1b\x4f\xd4\x32\x23\xbf\xb1\x67\x39\xde\xae\x78\x09\xcb\xb6\xd0\xfa\x14\xf1\x04\xf2\x1d\x5f\x3d\x11\x27\x3c\x33\x87\xe3\x23\x7c\xf1\x48\x48\x40\x39\x1a\x8f\x84\x5b\x8f\x44\x3c\x83\x73\x90\x24\xa1\x12\x33\xcf\x27\x69\x97\x79\xcb\x64\xcb\xc3\x3e\x3c\x67\x1e\x53\x2d\x6d\x3e\x3e\x21\x17\x4f\xb0\x67\x60\x9e\x8f\x55\x5e\x3e\x11\x83\x97\x71\xd6\xaa\xf3\x47\xc2\x28\xe5\xb7\x31\x92\x85\x40\xee\x62\xbf\x75\x62\xbe\x58\xb4\x47\x52\xc5\xaa\x6d\xe7\x8b\xd6\xc1\x14\xf4\x8c\x3d\xc0\xf3\x5d\xe1\x09\x77\xf6\xeb\x20\x2b\x21\x7d\x9d\x40\x9c\xe9\x64\xde\x14\x80\x1f\x56\x05\x32\xa9\x4d\x99\x2c\xa4\xc1\x4d\xe0\x1f\x5a\xb4\x4e\x88\x22\xbd\x78\x22\xc2\x71\x51\x4c\x21\x58\x1e\xa9\x17\x8f\x84\x51\xca\xc6\xaa\xeb\xa4\x9d\x2f\xcb\xf0\x27\x70\x6a\xc3\xcd\x56\x44\xaf\x1b\xa6\xc6\x23\x05\xe3\x11\xe1\x34\x22\x21\xcc\x7c\x5a\xd7\xc9\x5d\x24\xde\x19\x8d\x0d\xde\xd8\xd3\x77\x91\x33\x86\x37\x26\x94\xb5\xc9\x8a\x4f\x67\xe0\xa9\xfe\xf6\xf7\x21\x83\xdf\xb2\xa1\x24\xea\x48\xb2\xd5\x25\x9f\x2f\xa0\x78\xba\xc6\x46\x66\xf2\x8b\x95\x1a\x97\x95\x8a\x7b\x9e\xbb\xfc\xe2\x89\x93\xd5\x9e\x38\xdc\x7a\xc2\xeb\x19\xb5\xe0\xd3\x36\x1a\x82\xab\xd4\x3f\xf1\x06\x75\x36\xf6\xef\x95\xe2\x7d\x19\xa4\xcd\x58\x19\xb1\x9f\x93\x6a\x5c\xc8\xfd\x59\x6a\x8f\x67\x4b\x26\xdc\x7a\x62\x90\xfb\xa6\x93\xb6\x6e\xb5\x5d\xdc\x5f\xd6\xcb\xd3\xdb\x19\xc5\x57\xdb\x6c\x4c\x37\xd7\x0b\xd2\xbe\x62\x14\xf1\x8c\x51\xbc\x77\xcc\x7f\xfd\xe5\xc7\xed\x4f\x3f\xdc\x2d\xd8\xf3\xc4\xf5\x4d\xc4\xf0\x85\x41\x95\xed\x9c\xee\x96\x0e\xe5\x9b\x1d\xca\xf7\x70\x3e\x78\xfa\x21\xe0\xa0\x18\x47\x2b\xca\x93\x7f\x42\xcf\xa4\xd2\xf2\x14\x77\xa0\x06\x49\x9d\x6a\x56\xd2\x06\xec\x03\xea\xdd\x51\xd5\x22\x34\xac\xc4\x1e\x9d\x87\x4c\xfc\xf0\x8a\x5a\xd0\xdf\x63\xc3\x8a\x6a\xd3\x55\xd6\x24\x53\x8c\xe1\xa2\xbc\x0b\x94\x19\x68\x8a\xad\x56\x4a\x0d\xd9\xec\xb4\x52\xea\xf2\x90\xa8\x34\x41\xcb\xd2\xe4\x9f\x0b\xde\x83\x02\x2d\x37\xdd\x2c\x17\xb9\x73\xa4\x4f\x57\x8d\xa9\x00\x46\x6a\xd6\xf4\x62\xea\x22\x9a\x1e\xac\xe5\xba\xe0\x0a\x5e\x70\x1b\xf4\x36\x50\xef\x4f\x5f\x29\x01\x4e\xb9\xe6\x0c\xe8\xd5\x8d\x50\x29\x6a\x3a\x8e\xaa\x6d\xb8\x30\x7b\x0d\x40\xce\x88\xec\x80\x65\x07\xcc\x4c\xee\x0e\xfa\x98\x0a\xe5\x9c\x28\xd7\x01\x3d\x99\x80\x38\x6f\xe4\x5f\x6c\xcf\xde\x03\xb1\x71\x47\x12\x33\xe2\xb2\x28\xa3\x8d\x85\xed\x81\x00\xc4\x3f\x6e\xc0\xc9\xa7\x04\x94\xf9\x2a\x94\x33\x80\xca\x51\x3b\xb2\xe4\x95\x15\x9f\xcf\x47\x29\x16\xb8\x4f\xa5\x09\xc0\xea\x73\x58\xd1\x13\x2f\xb7\x7f\x20\x31\x53\x76\x98\x55\x9e\x8e\x60\xb7\xc8\x03\xe7\x69\xfb\xae\x5e\xa0\xfc\x6e\x68\xe5\x8b\x85\xf3\xff\x4e\x60\xb8\x87\x0f\xbc\xb6\x6c\x0a\x75\x85\x6d\xac\x1a\xd3\x62\x20\x93\xf0\x00\xa0\x04\xa4\x04\x55\xe5\xe3\xfa\x50\x08\xa0\x9d\x6a\x35\xe2\x62\x41\x98\x8c\x2c\x48\x15\x26\x76\x21\x44\x61\x17\x28\x89\x38\xcc\x6c\x69\x95\xa4\x75\xec\xc6\x24\x3d\x3d\x08\x31\xeb\x55\x65\x81\xa9\xc1\x26\xe9\x11\x2a\x0c\xfe\xc9\x43\x9e\x00\x91\xdb\x3f\xf3\x91\xde\x15\x69\xdd\x3a\xd5\x92\x1d\x43\x13\x70\xc4\xdc\x81\x7b\x9f\x90\x15\x56\x2b\x53\x6d\xa6\x89\x3d\x7d\x25\xf5\x54\x01\xc9\x29\x07\xaf\x28\x32\x30\x18\xc7\xce\x5b\x2a\x52\xec\x6f\x72\x40\xd4\xc4\xd4\x14\x29\x6c\x10\x70\x80\x1f\x13\x00\xe8\xdb\x9e\xe1\x06\xb3\xa5\x92\x61\x9d\xf4\x9b\x6a\xf4\x9b\xe4\xac\x18\x24\x1f\x9f\x51\x8d\x35\x54\x35\x2c\x2d\xe5\x4f\x88\xb2\x2e\x0e\xc9\x09\xce\xa2\xe7\x05\x06\x40\x4b\xa6\xf8\x6e\x58\xc1\x0b\xb2\xfc\x6d\x1a\xb1\x18\x67\xab\x32\xc5\x40\x3d\x65\xe0\x54\x32\xa5\xbc\x70\xdb\x33\x99\x66\x30\xd5\x8d\xad\xe1\x34\x71\xa5\xc6\x18\xf3\x62\x7b\xc3\x19\x1f\xc3\xe2\x76\x8e\xd7\x76\x24\x89\xb2\x24\xc0\x73\xd7\xda\x46\xf2\x6f\x63\x1e\x80\x6e\x1f\x0c\x75\x5a\x19\x2a\x98\x4c\xaa\x3b\xca\xc0\xba\x8f\x85\x7a\xae\x81\x18\x39\xd2\x93\x16\x47\x4a\xcd\x00\xd5\x37\x4e\x17\xa8\xd8\x33\xb5\x38\x47\xbd\xd1\x92\xe6\x2c\x75\xc3\x99\x92\x78\x1a\xa6\x79\x9d\xb1\x2b\xd1\x6d\xe1\xa6\x9f\x2e\x36\x9b\x68\xc3\xf5\x9b\xf4\xff\xb7\xed\xa8\xbf\x7d\xab\xff\x0d\xf2\x55\x9b\xf8\x72\x25\x23\x3e\x5c\x00\x19\x2d\x19\xc4\xdf\x26\x44\x35\x6d\x2f\x56\x75\x44\x88\x9a\x50\x67\xdd\x2d\xec\x62\xe1\x16\xd3\xc2\x2d\xb0\xd8\xea\x55\x1d\xc6\x2c\xf2\x09\xb3\x38\xe1\x43\x98\xca\xc1\x2d\x36\x9d\x1a\x36\xcf\x28\xed\x93\xbd\xdd\x27\xff\xf4\x45\xc7\xff\x02\x02\xd9\xcf\xbb\x5f\xb7\x3f\xfc\xfc\xd3\xfd\xf2\xd8\xdb\x84\xf3\x21\x8f\xd5\xef\x2e\x8f\x15\x2a\x1e\xd7\xaf\x9f\xce\xa5\x90\x46\xda\x74\xe2\x7d\xa1\x96\x76\xe4\xc1\xf1\x94\xa5\x93\x78\x8e\x3b\x40\x3a\xcf\x19\x47\x0e\xf8\xbc\x78\x1f\x99\x2d\xb5\xe9\x01\x05\xc4\x89\x6a\x0a\xfe\x6e\x96\x1e\x80\x07\x8d\x62\xe6\x70\x52\xc6\xa5\x6d\x63\xad\x68\x1f\xac\x98\x9b\xb7\x51\xd6\x86\xbd\xc4\x4a\xa9\x5c\x34\x84\x3d\x46\x4b\x0f\xc1\x5b\x12\xa8\x26\xf2\xc4\xcc\xd2\xed\x2d\x2f\x66\x73\x1c\x09\x38\x21\x66\x40\xa0\xdb\x0e\x99\xc0\x4f\x8b\x9a\x66\x17\x6c\x63\x35\x6e\xba\x01\x56\x97\x4d\x48\xbc\x32\x6c\xd8\x7d\x7b\x6e\xed\x7a\x4a\x62\x2f\x5b\x19\xe3\xd6\xe9\xc0\x19\x4b\xcd\xf8\x53\x95\xe5\x01\xfb\x1e\x63\x9f\x1c\xba\x1f\xe0\xc6\x49\xec\x26\x6a\xf0\x22\x7c\xf4\x2e\x5a\x60\xb7\xd1\xd2\x63\x9f\x93\xb5\x1d\x1d\xb0\x72\x96\xfb\x63\xf0\x6f\x16\x12\xd6\x9a\x7c\xf0\x7f\xdb\x06\xb7\xac\x8f\x7f\xa4\xd8\x95\x6f\xaf\x8e\x74\x73\x75\xa4\x7b\x56\x87\xe9\xec\x72\x63\x71\x28\x58\x67\xdc\x67\x4a\xb9\x3c\xbf\x3a\xd2\xf0\xc9\x8f\xb5\x5e\x12\x65\x99\x50\xc6\xc1\x4b\xb8\xb1\x3c\xca\xb2\x3c\x8e\x85\x94\xe7\x96\x47\x79\x40\x61\xcf\x2e\x8f\xb2\xf1\xd5\x81\x10\xf0\x4f\x97\x26\x46\x44\x48\xa5\x47\x14\xf1\xfc\xf2\x58\x87\xe2\xae\xd5\xc1\x58\x1d\x19\x88\x22\xcf\xad\x8e\xb5\xeb\x37\x96\x07\xc6\xcc\x47\xee\xf9\xe5\x31\x46\xff\xb9\xf5\x81\xb7\x31\x7c\xf5\xb9\xf5\x71\xec\xf4\x73\xeb\xe3\xf9\x42\x8e\xeb\xc3\x47\xff\xfb\xac\x8f\xdf\x20\xff\x0d\x8e\xbd\x0b\xa0\xc7\xb0\xd0\xe3\x91\x89\x0e\x26\x69\x8c\xee\x9c\x08\xa0\x96\x9e\xf3\xea\x95\x16\x4f\x38\xf5\xb3\xcc\x3e\x7a\xd5\x92\xae\x76\x8b\xb0\x2e\x88\x70\xdc\x2f\xc2\xad\x22\x24\xdd\xe0\xd3\x61\xa5\xc4\x70\x42\x8a\xe0\xf2\xb7\x36\xad\xe8\x25\x4c\x3c\x38\xd6\x57\x57\x98\xff\xa9\x8f\x77\xce\x26\xfe\x7d\xd2\xdd\x07\x97\xba\xc1\xa5\xde\x2b\x32\x96\xdb\x22\xe3\x0b\x9b\xc8\x7b\x66\xfe\xc7\x1f\x7e\x0a\xbb\xbf\xfc\xf4\x22\xe0\xf2\x59\xec\x3a\xcc\x0a\x97\x16\x79\xdd\x9b\x98\x76\x69\x6b\xd7\x07\x7b\xfa\xe9\x0b\x7e\xec\x37\xde\x91\x5b\xef\x28\xde\x91\x89\xd3\xc5\x6a\x21\x20\xfd\x5f\x55\xe5\x6e\x12\xa8\xea\x6c\x19\x8d\xc7\x47\xf5\x7c\x75\x8a\xf0\x62\xfd\x77\xb1\xcb\x93\xb1\xbb\x2f\xf6\xdd\x2a\x4a\xf7\xb6\x83\xd1\xf8\x04\xb5\xf0\xfa\x9d\x5b\xc3\xbd\x0f\x0d\x3c\x03\x16\x8a\xb3\x23\x45\x4c\xc0\x65\x3d\x63\xe0\xf8\xf2\x61\xbc\x3e\x6a\x66\x79\x4b\xd5\x77\x8f\xda\xff\xff\xb7\x6f\xbf\xfe\xf8\x5f\x77\xa6\xee\x7d\x0f\xc9\xc9\x73\x24\xf7\xd2\x3b\xdf\x8f\xe4\xe4\x59\x92\x7b\xbe\xfe\x37\x0f\xde\x3f\x8c\xe6\xf8\x19\x9a\x7b\xf1\x9d\xef\x43\x74\xfc\x1c\xd1\xbd\x50\xf7\xdd\x03\x37\xff\xe5\xbf\xee\x0c\x86\xfa\xae\x24\x97\xff\x87\x49\xee\xf9\xfa\xdf\x36\x72\xff\xcf\xe9\xad\xdf\x64\x34\xfd\x3b\xf2\xb8\x67\xc9\xed\xf9\xaa\xef\x1e\xb3\x5f\x70\xfd\x0f\x23\xb7\xf2\x26\x72\x2b\xdf\x9b\xdc\xca\xdb\xc8\xad\xbc\x89\xdc\x7c\xe8\xfe\x61\xf4\x96\xff\xc7\xe8\x2d\xff\x63\xe8\xed\xaf\x3f\xbe\x17\x1d\x66\xd2\x6d\x9a\x3c\xdf\xa4\xba\xd6\x46\x2a\x79\x66\xc0\x2c\x50\xed\x54\x70\x22\x73\xed\x2f\xd4\xa7\x38\x53\x69\x54\x1a\x9e\x83\x6f\xf8\x5a\xd4\xc0\x3f\x8a\x65\x0e\x6b\x49\x4c\xa5\xf1\x75\x51\x70\x57\xe8\x73\x38\x29\x6b\x3a\x2b\x2b\x5c\x14\xe6\xde\xec\xe3\xf9\x67\x7d\x90\x46\xbb\xc3\x33\xe5\xad\xe0\x4b\x7d\x94\x69\x65\xdd\xe8\xe8\x70\x84\x38\x2d\x0d\x1f\x9f\xbc\xb4\xc8\x32\xe9\xd3\xd7\x64\xb3\xb5\x35\x49\x9c\x57\x47\x45\xa4\x44\x1b\xff\xc6\x81\xff\xd3\xd7\x38\x71\x7e\xf5\xa9\x2f\x5c\xed\x97\x7e\xfa\x20\xbb\xbe\xb4\x3e\xc8\x01\x38\xb8\xdc\xa7\x74\x4f\xbd\xa1\xe2\x10\x4e\x89\xfb\x85\x69\x8d\x17\xff\x29\xa1\x2c\x3c\xe1\xf3\xe2\x89\xc5\x07\x2b\x3c\xff\xc8\xe2\x3f\x35\x9e\x09\x37\x8b\x19\x6e\x58\x27\x4f\xbc\x4b\x5f\xf9\xeb\x8f\xef\x54\x4d\xc9\x67\xf5\xcc\xd1\x82\x39\x93\x34\x02\x5e\xed\xc0\xd4\xcf\xf6\x4b\x0e\xf6\xf1\x8c\x23\x94\xdd\xb2\x3f\x7f\x1a\xa7\x5a\xf9\xa2\xd4\x33\x8a\x4d\xc8\x46\x96\xb2\x2e\x2f\x3e\xe7\x3e\x75\x5e\xf0\x74\xab\xe0\x70\x51\xb2\x7a\xf9\xe1\x99\xa2\x17\x37\x12\x2f\xdb\x3f\x5e\x29\x7c\x59\x18\x56\xaa\xd7\xf0\xdc\x78\x0c\x27\x95\x79\xbd\xbf\x49\x54\x91\xb6\xb8\xf1\xa7\xf3\x47\xc7\xd8\x0f\x19\x45\x4e\x7d\xd5\x40\xd7\x97\x8c\x0f\x4b\x25\x9e\x3b\xb5\x3d\xf3\x60\xf7\x9f\xb6\xa7\xee\xec\xa0\xfd\x2b\x83\x0a\x72\xc1\xca\x5d\xd5\x7f\xa9\x94\xeb\xa4\xd4\x32\x9f\x5b\x6b\x62\x99\x22\xf2\x38\x95\x4b\xbf\x34\x76\xbf\xb4\x4d\x23\xf5\x90\xf7\xcb\xc0\x87\x38\xf0\x8b\xf3\x64\x8f\x9c\xbd\x89\xbb\x9b\xb5\xce\x77\xad\x8b\x5f\x76\xfb\x1f\x0f\x77\x3a\xe1\x74\x6c\x42\x7c\xbd\x09\xdd\xda\xb9\xf7\x77\x7a\xd3\x20\x51\xc1\xa7\xcb\x25\x63\xff\xda\x1b\x47\xbb\xb8\x83\x4c\x40\xa2\x07\x26\x85\x31\xa7\x2d\x70\xa9\xb9\x54\xe4\x17\x68\x95\x1f\x01\x5e\x78\x69\x08\xea\x28\x47\x1e\x6c\x27\xbd\x3c\xe8\x71\xb8\x43\xa4\xc9\x04\x09\x02\x74\xda\x3e\x7d\x0b\x86\x0f\xae\x4f\x70\x22\x9d\xda\x9e\xeb\x01\x5e\x6d\xd6\x84\xd2\x03\x29\x40\xfb\x6c\x51\x0d\xd6\x85\x5a\x76\x81\x4a\x87\x19\x53\xd4\x9e\x09\xeb\x33\x8f\xed\xe9\x6b\xb0\x7f\x5c\x0c\x5c\x18\xfe\xbe\xa3\x77\x99\x33\x00\x2e\xeb\xa0\x34\x0c\xc8\xe9\xf3\x43\xa8\x42\xdb\x2e\xcb\xb1\xbf\x07\x1b\xc8\x77\x5b\x75\x07\x69\xdc\x19\x0a\x58\x75\x6a\xd7\x94\x71\x4b\x98\xda\xdf\xe7\x30\x12\x31\x41\x9f\xb1\x8f\x34\xe3\x0e\x19\x39\x91\x8c\x04\x21\x3c\xed\xa8\x0f\x1f\x1b\x2b\xbf\xe5\x71\xef\x64\xfc\x80\xca\x98\x01\x3e\x9a\x40\x1c\xda\xe4\x50\xa8\xc3\x36\x77\x4a\x55\x7e\x34\xc9\x2e\x38\x5d\xde\x9b\x70\xf7\x51\xa9\x25\xf9\xb4\xd6\x31\xd6\x2e\x88\xd1\x39\x0a\x1b\x6d\x70\x7c\x2c\xfb\xc0\x7c\xb0\x01\xb9\x39\x87\xfd\xe6\x14\x3e\x7d\xe5\x00\x41\x5a\x74\x65\xc2\x7e\x0d\x91\xf0\xf2\xf7\xb0\x54\x7b\x7a\x63\xfc\x3e\x24\xcb\xb3\xdf\xc7\x92\x79\x3f\x29\xfc\xf2\xf3\xdf\xc3\x7f\xfe\xfc\xf7\x17\x4e\x87\x4f\xf3\xd1\xea\x94\x6e\x1f\x64\x21\xab\xa6\xce\x41\xa9\x97\x50\x88\x4b\xb9\xf4\xa3\x05\x20\x65\x96\xb9\xba\xd3\xe8\x85\xc9\x32\x36\x64\x6d\x11\x0d\x95\x2e\x1d\x9a\x81\x98\x6a\xaf\xa2\x74\x24\x70\x29\x8f\xe9\x8e\xfc\x6b\x27\xbd\xbb\x23\x4f\xf5\x22\x0f\x5c\x77\xae\x51\xe1\xbc\xc9\x14\xb3\x4e\x8d\x24\x5d\x3e\x03\x42\x8c\xc8\xe5\x05\x2c\x19\xe0\x03\xb4\x22\xf6\xe7\xb4\x10\x45\x29\x4a\xa1\x9a\xab\xfd\xf9\x8f\xca\x24\xbc\xa9\x20\xbc\xbc\xa7\x08\x2d\xe0\xec\x81\x64\x1b\x79\x52\x2b\xf8\x9a\xa5\x58\xbd\xf6\x91\x6c\x8b\x41\x26\xaf\x92\x1f\xe5\x6d\xc3\xf2\xc6\x10\xac\x72\x23\x84\x01\x83\x33\x0b\x75\x55\xdb\xff\xa5\x5f\x6c\x90\x63\x6c\x82\xf5\x61\x42\x1f\x34\xb3\xfd\x0d\x9a\x8f\xa5\x01\x9e\xf4\xa4\xe7\xec\x18\xab\xec\x79\xee\xda\x3e\x2c\x63\xd3\xec\x6f\x3c\xa1\x70\xfb\x4b\x48\x35\x27\xb9\x85\x31\xec\xe7\x75\x63\x7c\xbc\x71\x13\x1a\xf7\x58\x2e\xf5\x30\x99\xca\xef\x27\xea\xeb\x6a\x66\x5f\xe5\xf1\xff\x33\x81\x58\x27\xa9\x38\xab\xda\xa2\x32\x45\xe4\x82\xb8\xe1\x77\xc9\xf3\xd8\xd1\xf5\x6c\xfe\x81\x55\x00\x2d\xa5\x22\x1b\xec\x25\xc7\xf0\xf4\xbd\x1b\x1c\xbd\x77\x52\xd5\xc7\x67\x0e\xe0\x33\x8e\x99\x90\x91\x1b\xa2\xf3\x5d\x71\xf4\x27\xc3\xfc\xb2\x01\xf1\xb8\x76\x1a\x21\xa0\x55\xda\x55\x78\x81\xcb\x7a\x36\x6a\x5c\x28\xe7\xc7\x67\xfc\x9a\xfb\xe5\x08\x00\x43\x5a\x65\xf5\x3c\xe6\xc5\x27\xf1\xd3\xd9\x63\x7e\xd4\xd1\x6f\x9a\x13\x1e\x2a\x69\xd9\x1c\xdb\xf6\x06\xc6\xf1\xb2\xf9\xef\x74\xcb\xa8\x40\xd7\x7a\xae\xdf\x19\x5b\xab\xf5\xbb\xdc\xee\xb7\x5e\xf5\xdb\x77\x5b\xbd\x7d\x50\xa3\xc5\x76\x11\x09\xf6\xf1\x86\xee\xbc\x62\x99\x3b\x45\x01\x03\x14\xec\x25\xa3\x19\xbd\x71\x4d\xbd\x5a\x77\xfa\xcd\x83\xdd\x31\x8b\xa7\x9c\xce\xbb\x13\xfa\x85\xd1\x08\xf2\x54\xa5\xd2\x37\x6b\x9d\x6f\xee\xcf\xeb\xf3\x93\x08\x79\xa1\x9f\xe9\x0f\x86\x12\x68\x39\x97\xb3\xc3\x67\x93\x73\xa3\x3b\x7a\xab\x3b\xc9\xba\xb3\x56\x79\x5f\x77\xee\x5d\x60\x4c\xb5\x1a\x83\x8e\xf9\x92\xd2\x1c\x93\xb9\xcd\x26\x59\x58\x67\xae\xac\xaa\xb1\xcd\xd7\xb7\x00\xde\x35\x5e\xdd\x28\x15\x3f\xfd\xd5\x07\x89\x97\x25\x0c\xca\x2b\x51\x67\x88\x26\x90\x52\xde\xd0\xb9\xd7\x67\xa9\x52\x2d\x0a\xd0\xbf\x2b\x46\x07\x77\xe7\xbe\x11\xdb\x09\x27\x24\x82\x38\x5f\x2d\x61\x40\x8d\x45\xa4\x1a\xcd\xbd\x43\xb0\xbd\x90\xbd\xbc\x10\xde\x64\x2a\xa9\x98\x36\xba\xc7\xa6\x7e\xdd\x4b\x3c\x30\x63\x23\x0d\xd8\x54\xdf\xd0\xcd\xb7\x88\x1a\x0d\x0d\x81\x26\x76\x5a\xdb\xe5\xcc\x7a\xbb\x67\xdf\xfa\x27\x88\x01\xd7\xbd\x87\x1b\x69\x6b\x5f\x8a\x83\xaf\x0b\x69\x2e\xaf\x0f\xc5\x68\x81\xed\x2f\xcf\x0d\x06\x1e\xf9\x7d\x49\x0e\xa7\x13\x75\x9f\x37\x1c\xb6\xef\x4c\xa5\x9f\x1f\x21\x0c\x94\xf6\x8d\xed\x68\xbe\xb2\xf6\xd8\x69\xaf\xed\xe2\x78\x62\x1e\x01\x23\xb9\x5f\xfa\xbd\x30\x88\x17\x29\x21\x72\xef\xf0\xae\xfe\x74\xc6\x71\x3c\xa5\x41\x3a\xb8\xf3\x7e\x0c\x26\x49\x20\x51\x3f\xa5\x2a\xc4\xbd\x06\xd2\xa8\xb3\xbd\x0e\xe7\xec\x7c\xcd\xea\x28\xde\xa5\xb4\xfe\x4f\x06\xa6\x63\x76\xee\xdd\xa4\x58\x80\x6f\x76\xc1\x0b\xf9\x84\x15\xde\xe0\x84\x3c\x38\xe1\x0d\x2e\xe9\x86\xc0\xe5\xdd\x23\x8f\x7b\xb8\x3c\x39\x72\x2e\xbf\xa8\x82\x6f\x65\x86\xf7\xee\x59\xd0\xc0\xae\xb8\x21\x1f\xf9\x81\xc9\x14\xf9\x56\xef\xc0\x2a\xae\xef\x9d\xf0\x51\xd7\xa2\x90\x10\xe3\xf2\xa0\xcb\x3b\xe7\xaa\xe0\x49\x13\xde\xd2\xb7\xb7\xb0\xc0\x72\x7e\x28\xb4\x9e\xca\xb9\xba\x15\x6e\x73\xc5\xef\x32\x08\xa7\x1c\xf7\xe1\x52\x5d\xb2\x66\xfd\xce\xd4\xa5\xb3\xb9\xb9\x2f\x55\x06\x12\x7c\x5f\x72\x3d\xdb\x6d\x9c\xed\x9d\xb0\xb3\x87\x4b\xbd\x63\xb1\xab\x0e\xb5\xe3\x06\xdb\x8b\x47\xae\x27\xa4\xe1\xd2\x26\xe1\xfa\x0d\x90\x84\xae\xee\x85\x7f\x29\x7e\xf6\xb7\x17\xd2\xba\x9d\x48\xdc\x11\xe9\x0a\x6a\xe5\xf3\xb4\x35\x00\xa7\xab\xe9\x86\xd1\x08\xcb\x60\xb1\x27\x9d\x9b\x9a\x9c\x95\x0d\x53\xd4\x06\x06\xad\x6c\x92\xdb\xe3\xa5\x58\x37\x8e\x08\x1e\x71\xf7\xd4\xf0\x74\xdf\x7a\xff\xdb\x0b\x89\xd6\x4e\xc0\x53\x23\x36\xc7\x5a\xae\x5a\x38\x0c\x17\x37\xec\x3e\x6e\x52\x89\xf3\xd1\x9c\x72\xbe\x86\xdd\xdc\x02\x93\x10\xa4\xb5\xc3\xa5\xf4\x72\xd2\xb3\x54\x36\x27\x6d\xb8\xbb\x67\x6f\x33\x1a\xc1\x7e\x0c\xb9\xf1\xc4\x0c\x73\x21\x75\x8d\xee\x86\x67\xed\x5c\x53\x3c\x35\x20\x9d\xbf\x3b\x1d\x6d\x3c\xce\x16\xaf\xba\xec\x2e\x91\x8f\x68\xc5\xef\x8c\x79\x1d\xa7\xe3\x4e\xbc\xde\xd2\x3d\x54\xe7\x72\x18\x0b\x45\x13\xc3\x16\x33\xc8\xe1\x52\x5c\x1b\x63\xb8\x88\x6b\xb9\xe3\x70\xb4\x5c\x94\xe2\x22\xdb\x1c\xae\xed\x32\x8b\x4d\x27\xfa\xcd\xe9\xf2\xe6\xc2\x3b\xff\x55\x38\xd7\x9d\x7a\x29\xec\x3a\x7a\x93\xb7\x1c\x8c\x3e\x4c\x62\x15\x1b\xfc\x96\x3c\xda\x50\xb8\x85\xd5\xac\xb3\xc4\x99\x7a\x94\xf2\x99\x61\x87\x51\xda\xe5\xa9\xc3\x10\xaa\x2b\x69\x99\x4d\x7d\x02\x42\xb2\xc8\x25\x7b\x29\xd3\x6a\x74\xb2\x47\x0f\x95\x4a\xbf\x7b\xf9\xdf\xa9\xb4\x26\x8a\x5a\x3d\x43\xf3\x79\xc3\xe1\x45\x9a\xf6\x97\x16\x82\xe9\xcc\x80\x03\xab\xc3\x33\xcd\x36\xf1\xc5\x1e\x3c\x24\x2a\x97\x99\xcf\x30\xae\xea\xe3\xca\x11\xd9\xcb\x88\x7b\xb7\xb6\x04\x92\x56\xef\xee\xe5\xdd\xc2\x76\xa3\x9e\xd3\xa4\xd6\xcf\x4b\xe5\x93\x0b\x07\x92\x2c\xc7\x10\x50\x0e\xb7\x67\x33\x72\x33\xee\x76\x65\x07\x1a\xe2\xc2\xd1\x0e\xc4\x95\xaa\x5c\x58\x29\xc6\xb0\x70\x3d\x9d\xce\xab\xa5\x7b\x08\x97\xc6\x27\x2c\xba\x77\x0d\xcb\x5d\x86\x3f\x1b\x96\xeb\xe9\x8f\x8c\x03\xb8\x74\x69\x22\x1a\x3d\xb5\x29\x9d\xc3\x2d\x0a\x38\xf6\xf4\x68\xe1\xbb\xa4\x80\x78\x24\x80\x77\xf7\xf4\xd7\xf0\xed\xc7\x1f\x5e\x3b\x0e\x7b\x76\xef\x80\x3d\x93\xa4\xb5\x23\x18\x75\xcc\xc4\xad\x4d\xdc\x8d\x75\x9e\x9a\x6f\xa8\xb3\xe9\x54\x67\x7b\x02\xdb\xf2\x90\x6c\x02\x4d\xce\x07\xa6\x88\xb3\x68\x26\xd1\x16\xa8\x77\xe3\x9b\xb9\x96\x20\x94\x64\xb9\x46\x75\x53\x0c\x42\x8c\x5c\x0f\xec\x09\x4f\xc1\x80\x73\x05\x46\xc3\x2d\xc3\x2a\x95\xb6\xd5\xc9\x9b\x02\xb0\xc1\x42\xda\xea\xce\x51\x06\x6d\xbb\x43\x22\x7c\xa6\xde\x12\xfc\x51\xaa\x5f\x7f\x96\xc1\xfc\xeb\x24\x69\xe2\x4c\x3d\xe3\x22\x51\x94\xfc\xc8\xb2\xf6\x3b\xc6\xd0\x48\x83\x89\x6e\xc8\x8e\xaf\x04\x3f\xb7\x84\x33\xc4\x31\x02\x36\x39\xc7\x1f\x62\xac\x2f\xe5\xda\x79\x7d\xce\xde\xe7\x07\xd4\xa9\xd9\xea\xe3\x65\x53\x89\x89\x62\x2e\x00\xb5\xcf\x7c\x73\xbe\x3e\x9d\x6c\x2f\x8c\x29\x6f\x07\xde\xc5\x89\x7a\x34\xe6\x8d\x54\xaa\x8b\xcb\x80\x06\xca\x88\x42\xeb\x1c\x88\x8d\x08\x5b\xcf\xc6\xea\xfb\x67\x16\x84\x9a\x77\x6a\xb9\x9a\x80\xd1\x81\xe9\x6a\x17\xcf\x9d\x56\x10\x4b\xdd\xe6\x69\x60\xaf\xe7\xdc\x11\x03\xa3\x3b\x8a\xb5\x10\x4b\x23\x2e\xe2\x87\xc2\xcd\xf4\x58\xca\x2d\x93\x56\x9b\x39\xee\x99\x3a\xd2\xd8\xc7\x9c\xec\xea\x33\xbb\x64\x2d\x18\xa4\x48\xb9\xb0\x5d\xf5\xc7\xb6\xec\xa7\x71\x19\x18\x60\xa0\xe9\xd4\xb6\x82\x23\xd2\x31\x1a\xf6\x75\xfc\x21\x46\x7d\xe7\xdc\xfd\x7d\xfb\xcb\x6b\x78\xc9\x2f\xe5\xd9\xdb\x2e\xad\x0d\xc8\x33\x81\xc4\x2b\xa9\xce\xc0\xc2\x34\x91\xbd\xd4\x4b\x19\x25\x66\x6a\xa9\x01\x03\x8b\x29\xaa\x49\xd9\x46\xe3\x4c\xed\xec\xfc\x10\x8f\x6a\xb0\x67\xbd\xb4\x1a\x50\xda\x3a\x3c\x48\xd2\xf7\xc5\xc8\xba\x6f\xcf\x08\x22\x4d\xf1\x54\xde\xe0\x60\xbf\x3c\x7d\xed\xd4\x2a\x6c\xb4\x9a\x3f\x55\xea\x76\xb9\x62\xcc\x4f\x5c\xb7\xe7\xbf\x85\x44\xa9\xd6\x40\x35\x97\xd9\x68\x46\xa6\x4c\x0d\xa9\x3c\x01\xeb\xa9\xe7\x12\x05\x69\xca\x50\x0a\x1c\xab\x5a\x91\x3f\xa6\xa7\x60\xef\xbc\x7f\x56\xde\x1b\xd0\x1f\xb7\x65\x2a\xcb\xa4\x00\x03\x3e\x92\x18\x1b\x2a\xf6\xb7\x30\x64\xa9\xc4\x9c\x66\x64\x39\xb8\xa4\x77\xea\x9d\x9a\x00\x10\x2b\x93\x66\x9d\x6d\x4d\xe5\x73\x37\x59\xea\x3d\xd8\x43\x28\x21\x8c\x12\x4a\xb6\xbf\xb5\x8a\x12\x88\x59\x3e\x2d\xcd\x69\x53\x74\x4f\x9f\xb2\x75\x1b\x88\xcf\x58\x9f\xe2\x74\xfc\x77\xe4\xd0\x6d\xbe\x2a\x92\x4f\x28\x49\xcd\x9f\x94\x7a\xcd\x93\x7f\x46\x24\x17\x64\xd9\xda\x3f\xd3\xe4\x9f\x78\x4d\xa8\x95\x14\xa8\x8a\x4d\x59\x06\xc2\xa0\xf1\xb6\x58\x60\x58\x69\xe7\x99\x60\x75\x8a\x33\xee\xc1\xee\x66\xcf\xdb\xfb\xf9\x05\x7d\xe0\x85\xe9\xfa\xdb\xaf\x3f\x87\xed\x5f\xff\x3a\xbf\x14\x3f\xf3\x0e\xa0\x44\xa0\xf5\xda\x22\x6a\x79\x87\xd4\x37\x12\xa8\x36\xdb\x7e\xaa\x31\x49\x24\x10\x42\xfe\x5a\x3d\x20\x39\x34\xb6\xaa\xec\x24\x88\x44\x2e\xb6\x06\xd7\x67\x66\xa5\xca\x25\x24\x6a\xa5\x6c\xcf\xfc\x6d\xa2\xed\x5e\xb0\xbe\x2d\xd5\x19\xcf\x41\xaa\x32\xd8\x74\x85\x44\x3c\x37\x4a\xea\x26\x2f\x57\x14\x65\x63\x6b\x45\x9d\x78\xc4\xb8\x5f\x8e\xe9\xeb\x37\x6f\x87\xe5\xfd\x47\x14\x7d\x91\xee\x9a\x29\x19\x17\xbb\xcc\xbc\xb5\xfe\xf3\x40\xa9\x9b\x42\x67\x42\x45\x3f\x8a\x16\x6c\xfb\x26\x15\x6d\x70\xaa\xb4\xbf\x67\x72\x77\xcd\x01\x90\x7a\xbd\x5d\x26\xf7\x5a\x1c\x3e\x49\x9a\xbd\xdd\x21\x2b\xf5\x13\x41\xb2\x60\x53\xd6\x56\x1f\xe4\xca\xa7\xce\x04\x27\xb4\xfc\xc0\x94\x2e\x53\x93\xad\xff\xda\x5b\xdb\x77\xc4\x75\x84\x2a\x43\x7d\x8b\x4d\x8e\x45\xa3\xf5\xd7\x8d\x5f\xdb\x76\xbb\xe9\x27\x3e\xb0\x61\x69\x3b\xb2\xfb\x8c\x8c\x37\xeb\xe0\xf8\xe0\x3d\xd7\xba\x67\x9a\x8e\xb1\x3f\x84\x75\xdc\xd3\xe4\x9f\x6b\xc9\x18\x9a\xf9\x66\xc3\xd7\x96\x75\x53\xad\x6e\x0c\x7a\x38\x7a\xd9\xae\x4d\x47\x2a\x9f\x3c\x9c\x76\x0a\xa0\xba\xb5\xd5\xfd\x33\x6d\x1f\xcd\xbb\xd1\xf8\xb0\xde\xde\x1f\x5b\x7f\x3a\x2e\xe1\x58\xfa\x7c\x9b\x6a\x8e\xed\x7b\xa6\x03\x67\xbe\xbc\x37\xe9\xe6\x38\x44\x8f\x37\xe8\x86\x05\xc6\x80\xb8\x47\x07\x46\xba\x19\xb9\x50\x55\xd7\x60\x10\xeb\xe3\xb5\xf3\x0f\xf5\x72\x16\x69\x41\x5a\x3a\x55\x69\x3b\x6a\xb1\x10\xb2\x25\x95\x42\x0a\x3c\xe6\x42\x3d\xd5\x73\x06\xce\x35\x60\x0f\x58\x7c\xed\xaf\x9c\x6b\x79\x4c\x20\xba\x7f\xe5\x5b\x0b\xa7\x7e\x46\x52\xb4\x33\x53\x82\x09\xd1\x9d\xeb\x8e\x32\x37\x2a\x3d\x53\x75\x33\xab\x9a\x0c\x84\x14\xe6\xe5\xdc\x53\x4f\x9a\x35\x7c\x7f\xd1\x1b\x5e\x9d\x36\xcf\xfb\xbe\x1e\x72\x5f\xf6\x3e\x2c\x25\x4d\xd0\xe6\xda\x91\xed\x2c\xd5\x9e\xd6\x3a\x5a\x39\x8f\x3e\xf0\x75\xff\xf8\x84\x63\x5c\x98\xf9\xca\x08\x69\x90\xcb\x61\x83\x98\xea\xc3\x8a\x06\x2c\x9f\x63\x83\xf2\x59\x38\x7b\x7c\x4c\xd9\xe5\x5c\x1e\xbb\x79\xab\xff\xee\x9d\x7a\x3d\x00\x5a\x3a\x46\xe1\x76\xdd\xe1\xaa\xf2\xce\x8b\x14\x70\x63\x14\xc2\x42\x02\x27\x6b\xe0\xe2\x44\x26\x96\x95\x78\xce\x85\x03\xe6\x84\xd2\xd1\x04\x1e\x9f\xeb\x64\x84\x8b\xc9\x40\x9b\xd1\xfa\x87\xcb\x15\x10\x4e\x7c\x71\xaf\xd6\x00\xd6\xc6\xd5\x22\x58\xca\xda\x91\x20\x78\x9c\x14\x22\x5b\x29\x6b\xd5\x57\xf4\x8a\xb6\xce\xe1\xe6\x42\x18\x49\x4a\xe7\x9b\x83\x30\x68\xc1\xfa\x7f\x49\x09\xcb\xe0\x5e\x0d\xc1\xad\xa9\x58\x67\x0e\xac\xe2\x2e\x2f\xa8\xa3\xd0\xf1\x0a\x74\xc3\xdb\x84\x0e\x93\x24\xf2\x94\x89\xbb\x7c\x2e\xa4\x15\x70\x63\x51\x26\x9c\x59\xa5\x3c\xe9\xa4\x54\xf2\x21\x53\x95\x45\xe0\x80\xa2\x55\xc1\x65\xb0\xd0\xac\x00\xa6\x9c\xeb\x9c\x28\x03\xf4\x3e\xdd\x92\x38\x5a\x47\x76\x80\xe5\x89\x27\x58\xeb\xac\xf0\x45\xe6\xd0\x13\x99\xa3\x78\x59\x48\x0f\x79\x4b\xe4\xb0\xbb\x7c\x75\xd7\xb8\x3f\xe3\xf5\x47\xa5\x92\xfa\xb9\xc8\x81\x03\x8a\x78\xee\x7b\x1c\xa1\x28\xdb\x4c\x6c\x0b\xa4\x18\xff\x5c\x2c\x4a\x95\xe0\xd1\x70\xfa\x82\xe9\xf9\x85\x22\xe3\x40\x69\xd8\x48\x2e\x7a\x1b\xec\xf6\x64\xcf\xa1\x38\x19\x9f\xe3\x56\xb5\x72\x2f\x5a\x11\xa1\xa9\x2c\x0e\xd7\xbd\x50\xad\x02\x94\xbf\xe6\x8d\xc3\x93\xf3\x78\xf7\xa2\xb6\xb5\xb2\xf9\xb9\xf6\xac\x2d\x1e\x3d\xba\xa8\x1c\xe3\xc2\x65\xef\x41\x54\xa7\x77\xb0\xe8\xd0\x00\xbc\x6a\x8d\xbf\x51\x34\xba\x3b\xaf\x7e\x4c\x37\x9a\x87\x31\xb3\xe6\x87\x1b\x7d\xe7\x82\xec\xa2\x87\x70\x5d\xbf\xd7\x1d\x3c\x3e\x95\xb8\x2d\x9f\xcb\x48\xa2\xb8\xcb\xf9\x39\x56\x18\x9e\x6b\x53\x58\x9b\x6d\x53\xd3\xf3\xf8\x5c\x67\x3d\x5c\x0f\x12\x9c\x1b\xb1\x7b\x7b\x46\x89\x0b\x6f\xf2\xd5\x69\xfc\xa6\xcf\x38\x29\x7b\x7a\x1b\x12\x2e\x54\x84\x34\x09\x55\xae\x94\xa4\x10\x53\xb1\xa5\x46\x3d\x15\x4a\xed\x4c\x29\xf6\xc4\x32\x9c\x78\xa6\x54\xc2\x05\xb1\x53\x52\xd3\x42\x8f\x93\x7e\xbe\x4c\x92\x9a\xae\x66\x65\x5e\xf2\xbf\x84\xac\xe4\x3b\x62\x6d\x24\xbd\x90\xb4\x4e\x85\xad\x6e\x6b\xc3\x39\x6f\xe5\x66\x6d\xdd\x93\xc6\x7e\xdb\x17\xfe\x86\xab\xfd\x3e\x90\x5e\x6c\x92\xd6\x57\x4d\xb2\x0b\xc4\xd6\xe7\x60\xfd\x2d\xa6\x63\xdc\xa8\x73\xb4\x6f\x5e\xda\x7e\xdd\xab\x9b\x5d\x0e\x63\x3c\xc2\x3a\x54\xa7\x0d\x58\x06\x72\x17\xd0\x65\xd6\x16\xac\xcf\xd2\x7a\xb8\x35\xf0\x61\xcc\x50\x3b\x5c\xf6\x7c\xed\xe3\x8d\xbe\x7b\x38\xc1\x55\xe7\x35\x09\x46\x00\x49\x36\x4d\x47\x0e\xe8\xbb\x24\x54\x1d\xae\xeb\x6e\x2d\x63\xd2\xc3\xf5\x10\xac\xbd\x3c\x92\xf6\xe9\x00\xe1\xf6\x7c\x63\x04\x90\x48\x7a\x84\x21\x0a\xa7\xf1\x39\x4a\x6c\x0d\x2d\x39\x39\xf1\x85\xc0\xdd\xa7\xfe\x72\xd4\xc4\xa7\x93\x1b\x58\x28\x75\x7f\xd1\x79\xeb\x36\x06\x60\x67\xbd\x36\x6a\xb7\x5e\x97\xbc\xd6\x79\x45\x9a\x23\xdb\xd2\x0d\x7a\x1f\x9d\xbb\xd9\xf1\x31\x2a\xd7\xe4\xbe\x8c\xe5\xce\xa6\x3d\x80\xe4\x71\x4c\xd0\xfa\x3a\xf6\xa7\xdd\x86\xdc\xa8\xfd\xf1\xde\xbc\x06\xff\xb1\xfd\xe9\xff\xbc\x86\xa2\xfd\x9a\xef\x37\xac\x1b\x6e\x33\x61\xc6\x36\x31\x0c\x28\x1c\xec\x5f\x4f\x5f\x05\x39\xa9\x84\x4a\xac\x9f\x32\x79\xcc\xc3\x62\x33\xd4\x89\x05\x5b\x46\x15\x4a\x38\x6a\x6f\x55\xa8\x25\xdb\x39\x4b\xac\xb3\xc9\xe1\xc1\x3e\x3e\x09\x21\x99\xa2\xe7\x52\xf4\x28\x3d\x7b\x35\x50\x36\xb9\x25\x9a\xec\x64\xeb\x21\x01\x9a\x13\xbc\x33\x2b\xfb\xe7\xd3\xd7\x75\xd0\x19\x25\xca\x74\xab\x48\xd3\xb8\xd4\xd4\x00\x53\xd5\xad\x34\x46\x06\x57\x56\x63\x31\x69\x3e\x29\xf0\xa2\x1b\x9c\xe1\x37\x70\xfe\xa3\x77\xd8\xba\x62\xd5\x5b\x9d\x4a\xad\xe9\x68\xd8\xf4\x4c\x39\xfc\x7f\xd9\x7b\x97\x26\x47\x6e\x24\x5d\xf4\xaf\x84\x9d\xbb\x86\x1b\xdc\xf1\x5e\xdc\x45\x59\x6d\x72\x91\xb5\x1a\xb3\xdc\x73\xd8\xea\xa6\xec\x30\x55\x7d\x54\x12\xcf\xdc\xfc\xf5\xd7\xfc\x73\x04\x19\x2f\x32\x59\xcc\x52\x8f\xba\xa7\x4d\xaa\x20\x93\x11\x81\x40\x00\x0e\x7f\xc1\xfd\xf3\xbc\x6a\x08\xed\x38\x6d\xc8\xee\xdd\x1c\x8e\x08\xd7\xd7\x6e\xfe\xab\x0d\x85\x52\x4b\x78\xfb\xc2\xd5\x5c\xea\xb3\xc6\xd9\x4d\xc6\xfa\xd2\xfa\x9e\xb8\x3a\x0a\x51\x5f\x5c\xd7\x7e\xc4\x27\xa3\x3a\xbc\x8d\xb8\x1b\x87\xdc\x4d\xc6\xfc\xea\x08\x71\x7f\xf8\xdb\x17\x0e\xc3\x19\x70\xca\x88\xe5\x8c\x5c\x24\x37\x5c\xc2\x93\x2d\xe9\x05\xd2\xc1\x68\x76\xc9\x36\x08\x96\xcc\x6b\x63\xd8\xed\xe6\x87\xc5\x9e\xe8\x86\xdb\xfc\x03\xe0\xc6\x3c\x6c\xa4\x15\x62\x07\x13\xe8\xb1\x1b\xc8\x92\x11\x26\x63\x5c\x9f\xf2\x96\xa7\x78\x70\xc4\x2a\xa8\x76\x54\x4b\xd2\x7f\xe3\xdb\x15\xf4\x8a\x9f\x12\xe5\x9b\xe7\xc3\xba\x43\xdc\xf3\x1c\xe3\x05\xa6\x27\xd0\x2c\x4d\x71\xcc\x52\xc4\x56\x12\xba\x67\x79\x74\x63\x86\xe3\xe5\x80\xd7\xda\xe3\xce\x61\x4c\x70\xbc\x24\x41\xe2\x11\x7b\xec\x67\xcc\x33\x1f\x71\x78\xb2\xac\xac\xc7\xb6\xd6\x27\x9c\xeb\xe1\xac\x95\x4c\x3e\xa0\xc2\x5f\x89\x9f\x22\x35\xe4\x1e\xe8\x51\x07\xa9\x0d\x61\x8f\xd0\x2a\x3f\x08\x31\xf8\x32\xb0\x63\x33\xdc\xba\x47\xf3\xf6\xfb\x69\xcc\xe4\x2c\x6f\x1b\x1b\x07\xde\xa7\xcf\x1c\x28\x87\xaa\x6b\x3f\xa7\x81\x55\x53\xab\x4d\x3f\x2b\x8c\x11\x14\xc9\x42\xc3\xac\xdc\xbc\x01\x5d\xb6\x65\x55\x95\xed\xfe\xed\x4d\x6d\xb4\x6f\xcf\xdf\xe8\x38\x87\xdd\xf2\x47\x87\x56\xf1\x00\xbb\x77\xde\x75\x3f\x4d\xde\xd6\x53\xb8\x06\x4d\x97\xc1\x8e\x3d\x7a\x76\x0f\x50\x73\xd6\x4e\x3b\x1b\x97\x56\xa2\xb5\xfe\xac\x17\x0e\x89\xfc\xca\xe2\x3c\xb7\x8b\xc7\x82\x1b\x17\x44\x55\x95\xfa\x29\x50\xac\x71\xb0\xa3\x75\x3f\x1a\x41\xe1\x9d\x29\xc4\x80\x32\x81\xaa\x52\x15\x4a\x09\x1e\x2e\x2e\xd4\x78\xb9\xfb\xd2\x47\x46\xcf\x38\xf3\xe7\x84\x44\x29\xc2\x83\x89\x2d\x2d\xe9\xdf\x6a\x05\x7f\xcf\x4d\x15\x01\x6f\xc9\xf5\xc1\x5d\x4e\xe2\x09\xd6\xc6\x32\x7e\xfe\xf2\x0c\xf4\x60\xa3\xf3\x2a\x97\x76\xfa\x03\x76\xb3\xeb\x05\x6a\xbc\x16\x3c\xe2\x68\xfe\x96\x59\xf7\x79\x92\xe2\x62\x0f\xd7\x8b\x56\x8d\x2b\xcf\xaa\xb6\x98\xac\xbc\xa7\x8d\x4e\x82\xbb\x40\xfb\x3d\xde\xb9\x1c\x98\x4b\xc3\xf6\xe4\xf7\xb9\xac\x18\x4f\x90\x34\x0f\xa2\x4b\x43\x3c\xf1\x16\x9f\x7d\x59\x16\x5e\x72\x9d\xb5\xa4\x45\x1e\xfe\xc8\x64\x5f\xe6\x9b\x33\x9d\xc7\xf2\x3d\x3c\x16\x1e\x49\x5e\x79\xb5\xb5\xb7\xa7\x55\xda\xae\x39\x8d\x39\x3d\x85\xd3\x2a\x7a\x1f\xdd\x48\x87\x72\xf5\x8c\x71\xce\x99\x13\xb4\x07\xf9\x9f\xd6\x09\xc2\x9d\xcf\x33\x3c\x42\x6f\xaf\x5d\x3f\xb9\x92\xa7\xdd\xae\xe4\x69\xcb\x12\xb2\xaf\x0b\xb7\x76\x2d\x11\xfc\x03\xc9\xbc\xff\xb9\xfb\xd5\xed\x0f\xbb\x5f\xef\x84\x18\xe2\x3a\x84\x0b\x08\xe1\xc0\xa7\x33\xac\x24\x43\x74\xbf\xc4\x29\x44\x21\xea\x4f\xb5\xf9\xf5\x7e\x7e\xfd\xf9\xef\x7e\x43\xb9\x00\x55\xb2\xd7\x2b\x4e\xf1\xfc\xa7\x00\xcf\xf2\x3e\x85\x76\x7c\xab\xfb\xd0\x7f\x64\x90\x9b\xbd\x0c\xf3\x4e\xd6\x21\xcf\x2e\x5f\x8c\x41\x99\x5f\x9d\x2e\x35\xee\xbc\xbd\x52\x98\xbf\xd2\x5d\x25\x65\x2f\xaf\xb4\xbb\x47\x4d\xef\xaf\xf5\x7d\x93\x55\xbf\x7f\xb2\xe2\x7c\xb2\xf2\xfc\xcd\xee\xca\x8c\x9c\xbf\xd9\x9d\x75\x07\xbf\x6b\xbe\x90\x85\xfc\x3d\x13\xd6\xe6\xf3\x35\x23\xc1\x97\x76\xdf\x4b\xfd\xf6\xdb\x4f\xbf\xde\x01\x4d\x78\x1d\x04\x55\x75\xd4\x15\xae\x6d\xb1\xf4\xe9\xe5\x09\xe3\x3a\xed\xb0\xd6\x21\xbd\x30\xaa\xb0\xa6\x93\x5b\xdf\xd6\x23\xc8\x4c\x05\xfb\x22\x64\x61\x9e\x26\x5d\x66\xda\x9f\x33\x2d\x2f\xce\xb4\xbc\x99\x1e\xa8\x9d\xba\x8e\x80\x11\x6e\x22\x60\x9c\x0c\xf6\xf1\x5d\x79\xd4\x25\xc9\x03\xfa\xfa\x9d\xb3\xf5\xb0\x0e\x69\xf1\x69\x2b\x71\x04\xf7\x52\xba\x22\x8e\xc2\xa1\x6e\x88\x0f\x7b\x41\x84\xa3\x2d\xcf\x79\xc8\xe3\x11\x9e\x13\x6e\xe7\xed\x8d\xb7\x05\x08\x5b\x17\x1f\x8b\xe0\xc9\xf3\x56\x4d\x5d\xff\xee\xc6\x2e\xbc\x3f\x29\x50\x48\xae\xe4\xe1\xfe\x90\x39\x51\xd6\xf0\xb7\x9f\x7f\xf9\xdb\x9d\x3c\x2f\x90\x4f\x79\xc8\xe4\xa7\x0a\x28\x9b\xbe\x8a\x6c\x24\x55\x82\xcc\x00\x5c\x88\x59\x0a\x01\xd4\x2a\xc7\x44\x11\xce\xea\x5c\x5c\x84\x71\x10\xd5\x66\x5f\xa4\x5b\xa4\x4c\x2d\xe5\x63\xb4\xba\x0c\x8b\xf7\x47\x75\x25\x55\x37\xd3\x73\x23\xdf\x0a\xaa\xf6\xd6\x63\xa0\x96\x5d\xa4\x50\xca\xdc\xa7\x6f\xf0\xac\xb7\xac\xaf\x7a\xc3\xf8\xda\xc2\x8e\x03\xac\xca\xda\xe2\xbb\xc2\x08\x4c\x6b\x59\x42\xf7\x8c\x2d\x19\x84\xf4\xaa\x0c\xd0\x99\xdc\xd6\x4f\x92\x6b\x8c\x8a\x8d\xe3\x70\x3b\x2c\x53\x14\x2c\x55\x2a\xde\x30\x23\xd1\xef\xab\x66\xe4\xc1\x2d\x6d\xff\x0b\xa6\xa5\x01\xba\xf8\xef\xf2\x17\x6c\xa9\xb2\x8f\x50\xed\x9d\x29\x91\xd9\xc3\x04\x8d\x71\x41\xb4\x02\x57\x62\xed\x01\xf0\x4b\x20\x15\x0a\x00\xbb\xe3\x94\x8e\x81\x92\x44\xfd\x8e\x18\x4e\x46\x1d\xf0\xb6\x88\x85\x15\x46\x5b\x08\xb4\x5f\x61\xb2\x68\x5b\xe6\xc1\x79\x46\x60\xb2\xda\xa8\x19\xb5\xd1\x11\x1b\xda\xe4\x6d\x61\x1c\xac\x33\x2b\xdc\x85\xd3\x6c\x2a\xaa\x9b\xd4\xb5\xc2\xd8\xf1\x57\x59\xe0\x18\x06\x7c\xa5\x9d\xb7\x2f\x6d\x0d\x36\x73\xd9\x71\x5d\x61\xf9\x84\x2b\xfc\x99\x8d\xd3\x72\xd0\x46\xd7\x34\x7a\x45\x9b\x4f\xdb\xda\xfc\xb2\x8d\x0b\x59\xf2\x0a\x40\xf2\x8f\xa3\xca\x9f\x76\xff\xfb\x16\x34\xf7\x3b\xfe\x91\x92\x86\xb8\x0e\xbb\xa6\x9c\xe5\xc8\x14\x23\x0f\x42\xb5\x86\xc5\x1e\x87\x08\x18\x6d\x4e\x65\x68\xc4\x5c\x3f\x07\x8a\xc1\xc0\xb5\x24\x2a\xe5\xc8\x20\x3c\x64\xd2\x0f\x35\x61\xf2\x9e\x29\x57\x38\x5a\x8a\x81\x24\x96\x3c\xa0\xfc\x97\x0b\x24\x25\x58\x63\xd9\xa1\xb1\xb9\x33\x1f\xe1\xf1\x22\xf9\x99\x33\xa5\x5a\x87\xd4\x7b\x37\xeb\xf3\x05\x40\xf4\x15\x31\xaf\xc8\x1d\x68\xe4\x6b\x3d\x32\xb1\xd7\x67\x09\x87\xf9\x16\x1b\x8f\xc9\xe0\xa9\xd4\xe7\xda\xe1\xdc\x0f\x99\x42\x43\x1e\x5e\x0d\xba\x2c\x7d\xdb\xba\xc9\xd9\x4d\x1c\xa9\xb1\x68\x8f\xde\x5e\x5d\xa3\x50\xd5\x1c\x6c\xbe\x3d\x57\x44\xd2\x06\x04\xea\x37\x91\xa3\x50\xf2\xf0\xb2\xf8\x36\x83\x9a\x29\x84\x30\x70\xed\xba\xcc\xe9\x28\x63\x94\x7c\x7b\x08\x02\xb1\x53\xc4\x63\xd1\x9a\x91\xb2\xaf\x83\x2c\x73\x79\x47\xba\x08\x2d\x1e\xa9\xd5\x32\x08\x71\x8a\x7b\xf2\x81\x7c\x4e\xfa\xc1\x11\xc9\x29\xe2\x51\xdd\xbf\xc5\x86\xc0\xbd\xb4\xd8\xa4\x0c\x06\xe0\xa5\x7a\x4c\x0c\xb2\xda\xcc\xcd\x4e\x28\xa6\x6c\x2d\x54\x87\x16\x66\xbb\x28\x46\x0e\x3e\xa1\x13\x0e\x9d\x40\xa7\x56\xe4\x70\x70\x54\x53\xdd\x51\xc9\x54\xce\x21\xa6\x21\x0c\xfe\x29\x52\x8e\x1b\xbf\xbf\xbd\x26\x4a\xad\xf6\xb4\x93\xa2\xef\x09\xea\x90\xb6\x27\xf1\x8d\x62\xc2\x8e\x14\xb5\x52\x0c\x8b\x26\x86\xf4\x9c\xa8\x4a\x1d\xaa\x95\x2d\x38\x3a\xca\x05\x41\x5c\xcb\xe8\x82\x9e\x09\x15\x43\x3a\x52\xb1\x45\x2f\xed\xed\x55\xdf\x2f\x0d\x8d\x72\x3a\x32\x65\x76\x81\x72\x3a\x24\xca\xb9\xe1\xef\x41\xff\x5e\x6c\x6d\x05\x0a\x50\xeb\x62\x58\x9e\x50\xbd\xe4\x31\x6a\xb9\x55\xc5\xe3\x5d\xe5\xd8\x23\x30\xde\x92\x12\x82\x92\x3d\x79\x6e\x83\x50\xe8\x3c\x57\xbf\xad\xf3\x7a\x78\x2b\x99\xfa\xb3\x50\xab\x50\x64\xd2\x10\x51\x61\x23\xc5\x21\x5a\xfb\x2f\x15\xc9\x06\xca\x5c\x72\x86\x29\xe3\x65\x4c\xc3\xab\x3a\x50\x39\x0d\x75\x28\x7a\xd1\x29\x11\xe7\x62\x3b\x00\x76\x57\xb2\x04\xa1\xa1\x42\x8e\x0a\xfc\x36\xfa\xf1\x4d\x9f\x34\xe6\x82\xc5\xf1\x4e\x15\x6f\x75\xac\x2a\x92\x9b\x52\x2c\xa2\x3c\x90\xbb\xcb\x75\x87\x28\xad\xc1\x8e\x26\x25\x2a\xe2\x45\x7a\x1f\xef\x50\xab\x3d\xa9\x08\xf7\x2a\x44\x17\x9a\x75\x88\x94\x8b\x7c\x6e\x94\xc3\x60\xe5\xcb\x20\x30\x7d\x40\x4e\x85\x0c\x12\xf6\x4c\xd2\x32\x58\x69\x50\x65\xa9\xb2\x69\x03\x8e\xa9\xf1\x52\xc3\x08\x51\x49\x52\xf6\x8e\x42\x2c\x96\x72\x60\xb5\x19\x3d\xea\x88\x22\xd4\x53\xbf\x52\x96\x62\xaa\x69\x40\xda\x59\xc2\x49\x04\x29\xdf\x67\xe6\xff\x74\xab\x20\xc8\x7b\x34\x84\x88\xa4\x62\xee\xf2\x10\x22\x95\x6a\x31\x25\xa3\x1a\x5c\xe4\x4e\x02\xda\x53\x04\xc0\x9a\xe9\x97\x56\xda\x4f\x2c\x3c\xe4\x25\x53\xf4\xe9\x73\xe8\xa4\xa2\xbc\xb8\x0c\x3c\xd4\x81\xbf\x29\x8d\xea\x6f\x4a\x23\xd1\xeb\x2c\x96\xfa\xf6\x25\x1a\x51\xf8\xf4\xb9\x67\xc7\xc3\xaa\x68\x01\x75\x15\x07\x1c\xf7\x42\x1e\xcf\x0b\x16\xa1\x83\xa2\x22\x50\xf5\x7a\x2b\xd0\xea\x4b\x21\x8e\xa6\xcd\x0b\x05\xa4\xcd\x14\x79\x8a\xc4\x1c\xf6\x24\x51\x1c\xc5\x5c\xf5\x04\x40\x15\x42\xff\x36\xf6\xf8\x7d\x6a\xca\x54\x1b\x24\x4f\x2d\xb2\xa0\x26\x69\x08\xb0\x57\x35\xbd\xa0\x16\xac\x05\xa6\xfb\x3a\x70\xda\x33\x79\x31\xd4\x60\xf8\xc2\x13\x96\x6a\xd3\x49\x0f\x5b\x0d\xa9\x3a\x92\xf7\x8e\x84\x1b\x85\xa2\x74\x15\x28\x23\xf2\x85\xbd\xe0\x1b\x45\xd4\xf2\x51\x75\xc1\x91\xa4\x68\xa7\x94\xb6\xea\xdd\x34\xb4\xdb\xff\xf6\xf3\xe9\xbd\xca\x92\x33\x5c\x74\xb3\xb7\x61\x5f\x29\xf9\xf2\xd0\x63\x6d\x75\x30\xf3\x18\x76\x3b\xae\xcd\x5d\xa1\x84\x9d\xdc\x73\x46\x00\xea\xea\xca\x3c\xb6\x21\xe9\x82\x48\xca\x83\xcc\x2d\xef\x22\x45\x94\xf6\xe4\x9a\x66\x57\xc6\xd6\x9c\xca\xa9\x4f\x05\x35\x36\xcb\xb9\xd2\xa6\xb2\xa5\xcf\x23\x8f\x1a\x79\x56\x34\x6e\x74\x66\x32\xe0\x97\xee\xc2\x2f\xdd\x16\xbf\x1c\xd1\x35\xfd\x06\xbc\xd5\x22\x5c\xbd\x22\x8f\x61\x9a\x93\xe3\x5d\x9a\xa5\xe4\xf8\x21\xbd\xfd\xab\x72\x9f\x29\xe5\xdc\xe7\x18\x46\xfe\x38\x7b\x58\xe6\xe0\x1b\xee\xcc\x37\xdc\x94\x6f\x94\xb8\x08\x27\xae\x8e\x4a\x6c\xc3\x08\xf0\xed\x02\xf9\x50\x9c\x6a\x06\x73\xf2\xc8\x01\xc5\x3c\x13\xf9\xa6\x5a\xa2\x1e\xfb\xea\xfb\x3c\xf2\x9f\x91\x1f\x05\xe3\x35\x2f\x53\x3e\xe8\xce\x8c\xd0\x6d\x31\xc2\x5b\x28\xf6\x0b\xca\x90\x21\xed\x64\x90\x4e\x13\x71\xb0\xef\xda\x42\x7c\xfb\x97\xe4\x1f\xf7\xba\xd0\x95\x89\x23\x50\x33\x0f\xde\x41\x19\x70\xdb\xca\x80\x3b\x6b\x03\xee\xac\x0e\xc0\x65\x9a\xe3\x52\x1f\x60\xb7\x50\x08\x10\x3c\xda\x92\x23\x2f\xe2\x2c\x02\xdf\xe7\xa8\x7c\x67\x81\xe3\x10\x6b\xd2\xf1\xc9\x7b\xf2\x2a\x2a\x52\x21\x5f\x1a\x15\x11\xfd\x04\x54\x0b\xcf\x99\xc7\x7f\x83\xb2\xb5\x2b\x94\x03\x0f\x76\x34\xb3\x3d\x54\xb5\x7d\xd2\x74\x1b\x5b\x45\x1a\x0a\x6f\xa5\x4f\x99\x38\xa8\x29\xc8\xe1\x52\xca\x76\x49\xa0\xc2\x80\xa9\x9f\xb0\x2e\x5e\xa6\x13\xb2\xe1\x73\xff\x4b\xf3\xae\x7b\xb7\x47\x94\x68\xbb\xea\xe1\xce\xaa\x87\xdb\x54\x3d\xdc\x45\xf7\x70\x67\xe5\xe3\x50\xa8\x94\xb8\x77\x67\xed\xc3\x5d\xd4\x0f\x37\xd5\x3f\xca\x32\x01\xc3\x50\x33\xfe\xdb\x54\xb5\x3d\xa1\x7a\x62\x68\x89\xd0\x9b\x5a\xc8\x87\x79\x90\x03\x71\x41\xa8\x77\xfb\x14\xd4\x46\x1f\xec\xe8\xc7\x82\xd8\x0b\xc6\x18\x87\x30\x32\x46\x76\x2a\xec\x3b\x67\xe4\xa8\xd4\xf6\x2f\xc5\x19\xbf\xfe\xf5\xaf\xdf\xc7\x16\x19\x79\xca\x88\x9d\xa7\x58\x55\xbe\x21\x29\x36\xcc\x33\x32\xa8\xe9\x4b\x7c\xae\x94\x11\x49\x97\x7d\x43\x72\x67\x2c\x9d\x5f\xec\x23\x49\xd3\x09\xd8\x34\xd2\x94\x4a\xb9\x04\xf2\x5c\x29\x44\x06\xdf\x4b\xf3\x88\x1b\x07\xc4\x77\x0a\xca\x22\x5a\x68\xfd\xd8\x5d\x31\xca\x30\x2b\xc7\xce\xaf\xa0\x01\xf5\xb8\xaf\x08\x07\xd3\x68\xe8\xbd\x1f\x73\xa0\xa6\xdd\x90\xa8\x94\x67\xa0\x64\xc8\x55\x08\x4c\xd5\xc4\x86\xb9\x3a\x36\x03\xa3\xe0\x4c\x2d\x0e\x5c\x1f\xe5\xba\x16\x7e\x13\x32\x49\x42\x6a\x88\x24\x2a\xaa\x62\x08\x62\xeb\x12\x45\x8b\x20\x84\x2d\x5a\xde\xb3\x45\x51\x7c\x90\xc7\xe2\xea\xd1\x57\x0a\xd9\x58\xc7\xb1\x29\x0f\x6b\x94\xca\xf5\x04\xd3\x49\x39\x80\xc8\x51\x5f\xda\x2f\x07\xc5\x17\x65\x03\x7b\x04\x12\xe6\xc6\xd4\x10\x62\xe3\xb1\x9c\x93\x09\xad\x9a\xbf\x5d\xb8\xe3\x70\xe1\x8e\xf3\xb0\xaa\xce\xbe\x39\x52\x28\x67\xfe\xad\x36\x78\xb9\xf0\x6f\xd7\x19\xb8\xbb\x30\x70\xb7\xc5\xc0\xbd\xa9\x4f\xe8\xde\x77\xad\x8f\xef\x61\xc0\x94\x62\x1e\x0c\x75\x32\x10\x76\x9f\x62\x42\xb4\xfc\xc2\x91\x97\x80\x9f\x93\x3e\x45\xaa\x1e\x39\xdb\xde\x38\x8c\xb2\xb3\x40\xbe\x29\xa3\x58\x58\xa0\x27\xa6\x52\xb7\x9c\xc4\xfa\xfb\x67\xb0\x61\xb3\x47\xd9\x43\x0a\x9c\x0d\xd2\x7b\x8a\x04\x87\x18\x06\xb5\x67\xe2\x7b\x84\xce\xb2\x8a\x6f\x99\x13\xba\x07\xa1\xcb\x83\xfc\xdd\x36\x7b\x98\x98\x8d\x31\x22\x44\x0b\xb8\xc5\x6f\x4a\x6f\xc8\x11\x4f\x77\x9b\xc9\xd0\xb1\x72\x54\xc6\xeb\x28\x49\x24\x9f\x8b\xa3\x52\xca\x73\xa3\x18\xc0\x93\xee\x30\xa5\x93\x72\x7a\x7d\xe7\xec\x65\x31\x28\x92\x49\xca\x7e\xe4\xd1\x9d\x45\x0f\x67\x16\x6d\x1c\x7a\x38\x73\xe8\xe1\xc2\xa1\xe7\x0d\x5d\x11\x1c\x4a\x0e\xa8\x28\x3e\xfb\xd1\x4d\xe4\xc6\x94\xba\xb1\x9a\xbd\xdc\xa7\x60\x7c\xfd\xfa\xbf\x5f\x77\xbf\xfe\xef\x07\x37\x08\xe2\x56\xbc\x2b\x76\x0d\xe4\xa0\x83\xba\x0a\x6a\xed\xf1\xae\x99\x42\xc9\x93\x9a\xa5\x14\xaa\x2e\xd5\x78\x54\x05\x5b\x10\x2b\xde\xa6\x59\x0b\x00\xea\x14\x14\x40\x09\xaa\x5f\x0b\xf9\xf4\x69\xbc\x3d\x0e\xc2\xc4\x92\x7b\x3c\x6b\xa6\x77\xe3\x59\x93\x8e\xfc\x31\x11\xbc\xf8\x71\xe5\xfa\x57\x7e\x33\x78\x9c\x1f\x70\xfe\x9d\x30\xd6\x7c\x33\x8c\xf5\x8e\xc1\x7f\xcc\x17\x2f\x16\xa1\x37\xdf\xc0\x32\xb3\xf5\xb0\xae\x98\xa2\xda\x0c\x5e\xde\x53\x0d\xd3\xa1\x8f\xa5\x52\xc5\x26\x07\x83\xba\xd5\x68\x99\x8d\xbc\x84\x6a\x80\x6a\x51\xd5\x65\x0a\x2d\x9e\x87\x5e\x54\x36\xf9\xfa\x82\xfa\x22\xaf\x70\xa7\xac\x36\x17\xc7\x08\xb6\x56\xdb\x51\x85\xbc\xb2\xde\xd6\x64\x35\xe6\xb9\x08\x30\x0e\x32\x8a\xd7\xb7\x26\x68\x75\x7b\x63\xad\x3c\x56\xad\xf6\x3c\xe0\x77\xd4\xa6\x3e\xef\x7f\xc9\x22\x72\x26\x6e\xd1\xb0\xbf\x90\xf0\x36\x05\xb3\x11\xb0\x9d\x1d\x70\x76\x1c\x45\x2f\x7e\x4a\xc1\xcb\x40\x1d\x64\xb7\xc9\xa4\x00\xde\xbd\xef\x77\x0f\xa4\xe0\x46\x28\xa5\x6c\xd0\x89\x3f\x93\xc9\x11\x64\x00\xd6\x13\xe7\x09\x55\xa0\x92\x0d\x22\xf1\x96\x9b\xd0\xa9\x64\x19\xd9\xd2\x0b\xb9\xd8\x8c\xde\xf9\x76\xbb\xbf\xdc\x80\x80\xf9\xdb\x02\xe6\x3b\x0d\x65\xbd\xcf\xfa\xc2\xfe\xb0\xcc\xdc\xed\xe6\x88\x50\x3a\xad\x92\x7a\x7b\x48\xa8\xe1\x38\x6f\xc8\xb3\x27\xe6\x25\x70\xd2\x6c\x93\xf6\xdf\x4c\xf4\x83\x4c\xf4\x4e\x29\xa6\x94\x71\x37\x12\xf5\xb0\x0c\x5a\x56\xc2\xc8\x07\xde\xa4\x8b\x4a\xaa\x78\x6d\x92\x45\xe9\x35\x9f\xd7\x54\x51\x6c\x41\x4f\x7e\xb7\xe7\xde\x11\xe4\xfc\x6f\xde\xfe\x51\x3a\xb8\x83\xc7\xff\x33\xad\xc8\x35\x2f\x1b\xc7\xff\x85\xfd\x92\x2b\xf9\xce\xcc\x78\xc9\xca\xfc\x85\x93\x2d\x19\xe0\x58\xe1\x54\x28\xad\x41\xe0\xce\xcc\xec\x03\x42\xf7\x3c\x29\x8f\x86\x1e\xfc\xa9\x84\xd5\x97\xb2\x84\xa1\xea\x1e\xb0\x3f\x80\x83\x7c\x68\xd8\x7f\xfd\xe9\xf5\xeb\xbd\x4e\x6f\x24\x89\xcf\xc2\xe5\xfa\x3e\x42\xde\x88\xa0\xb8\x03\x7c\xf5\x4f\xa7\x40\x61\xdb\x3f\xde\x8c\x74\xf6\x37\x22\x9d\xbb\xd0\x73\xd7\xa4\x9e\xf9\x86\xb1\xa0\xe1\x06\x0a\xa5\xbe\x33\x81\x77\x32\xb4\x3e\x89\x77\xc9\x36\xcc\xd3\x46\x75\xe2\xad\x28\x98\x3b\x44\xd1\x9f\x6d\xdd\x99\x27\x7b\x3b\xfc\xb9\x6c\x86\x3f\x9b\x7c\x72\x57\x05\x94\x8e\x05\x24\xd4\x33\xfc\xe5\x81\x24\xb4\x97\x8f\x94\x4c\x5c\x4e\xdb\xbf\x98\x28\xfa\x5e\x2e\xf1\x71\xe6\xf5\x01\xb1\xf1\x67\xd3\xa4\xbe\x77\x79\x3e\x32\x78\xbf\xfd\xf6\xf5\xf5\x7b\x2c\xa4\x65\xe9\x08\x50\x90\x50\x0e\xba\x92\x5b\x76\x89\x38\xd5\xb9\x47\xb6\xa3\xe2\x2b\x39\x09\x02\xd8\x17\x62\x0d\x88\xfa\x38\xe9\x32\x2d\x2b\x6f\x58\x85\xc6\x67\xe6\x81\x95\xdc\xea\xcb\xb2\x7a\xc6\x2c\x83\x70\x15\xdd\x60\x95\xe5\xfd\x5a\x77\x09\x77\xe6\x17\xd8\x00\xdd\x6f\x28\xf0\xc6\xf8\x94\xef\x2e\x64\x38\xaf\x7c\x95\x82\xf2\x99\x74\x70\xe4\x25\xae\x4e\xb2\x23\x61\xb6\x34\x62\x67\x79\xc0\x93\x0a\x91\xec\x80\x54\xed\xe5\x8c\x81\x1f\xdb\xea\xf9\x56\xa3\xe3\xb9\x0c\x0d\xa5\x1e\x97\x15\xe5\xed\xc5\x2c\xf5\x87\xc3\xd6\x08\x73\x58\x8f\xf0\xbd\x19\x1c\x5f\xff\xeb\x51\x90\xd6\x00\x80\xf3\x92\xe2\xbc\x92\x3a\x20\x6f\x58\x19\x94\x61\x0c\x27\xf2\x49\x96\x40\x3c\x43\x46\x32\x7c\xa3\xe6\x65\x71\x3b\x53\x6c\x59\x0d\xd1\x58\x8f\xd5\xa6\x44\x24\x2f\x2e\x12\x4a\xa0\xdb\x6a\x83\x2a\x92\x97\x19\x55\x01\xdb\x2b\x52\x5e\xf0\xa4\x15\x6c\x52\x03\x14\x42\x2a\xe1\xf9\xf2\x1e\x6f\xaf\xc8\xc6\xb7\x9a\xd9\x75\x55\x3f\xdd\xb7\x8c\x27\x32\xb6\xb0\x52\x46\x11\x4b\x4f\xd8\xb7\x09\x31\x0c\x99\x7c\xd2\x2e\xb3\x6f\x0e\x17\x8c\xd9\x5a\x81\xeb\xa9\x91\x00\x98\x27\xe6\x4a\x92\x03\xd5\xd6\x8b\xe0\x33\xcb\xb1\x12\xc2\x8a\x39\x04\xd5\xf7\x63\x89\xcf\xe7\x1b\xdf\x5e\x19\xf8\x02\x1c\x29\xa6\x84\x2b\x1d\xae\x9c\x77\xcf\x5b\xcd\x7a\xe6\x70\x72\xfa\xa8\xa3\x03\xeb\x8f\xc4\xa9\x28\x8b\xbc\x81\x8b\x7f\x9b\x36\x1e\x63\xe5\x99\xf4\xf5\xca\x02\xfa\x90\x85\xbc\x79\x1a\xb0\x1d\x44\xb9\xe5\x3d\x45\x21\xe1\x48\xb9\x06\xca\x11\x9f\x18\x94\x78\xca\x00\xb2\xf1\x03\x00\x15\x29\x14\x7d\xd7\x8c\xed\x7b\x6c\x4a\xe5\xe7\x46\x5e\xc0\x96\x44\x96\xd5\xd0\xf5\x41\x40\x50\x4c\xd8\x49\x10\x4a\x69\x81\xb2\x04\x34\x6b\x12\x9f\x5e\x22\xc5\x8a\x64\xed\x58\x48\x72\x74\xd4\xb4\x13\x18\xcc\xf8\x9c\xa9\x95\xa6\x6f\xf2\xf6\xda\x6b\xba\x84\xb0\xb0\xec\x72\x85\x3a\x62\x01\xf3\x52\xc2\x50\x95\xb8\x33\x1f\x23\xb6\xf3\x45\xd9\xe6\x73\x25\xc3\x68\xe6\xf4\xf6\xea\x50\x1b\xbc\x11\xb7\x97\x44\xa9\x56\xa4\x27\xa9\x20\x42\x56\x46\xe5\x88\x28\x7a\x86\x56\xb6\x08\x1b\xe6\x50\x1c\x89\xc8\xdb\x6b\xb6\x17\x4e\x45\x8e\x9b\x17\xfb\xf3\xb5\xf6\x10\x2b\x99\x59\xa8\xe5\x60\x0f\x79\x88\x20\x7e\xfd\xf9\xa7\xbf\xee\x77\xdf\x6e\xd8\x28\xef\x20\x72\x6f\x18\x19\x66\x9d\xbd\xe4\x0d\xfc\x0b\xcf\x86\xd7\xb5\x56\x9f\x2c\x99\x52\xb6\xb0\x3a\xb0\xf4\x81\x9a\x51\xd7\x0d\x1a\x58\x47\x7e\xe2\xb2\x69\x80\x40\x04\x88\x65\x53\xbd\x42\x77\x4b\x2a\xdc\xdb\x89\xc3\xa1\x9d\x1c\x07\x25\x03\xe5\xc2\xfa\x1d\x66\xf9\x75\x03\xc4\xdf\xca\xb5\xe4\xda\xe1\x3c\xd4\xa0\xcc\x27\x0e\xef\x64\x5f\xe2\x5d\xae\x59\x42\x1d\x84\x3d\xdf\xf6\xdb\xe1\xad\xae\x7a\x09\x5f\xf2\xa1\x7c\x8c\x24\x1e\xe3\x14\x58\x48\xbc\x10\x0f\x11\x53\xf2\x12\xb7\x51\x71\x91\x1f\x97\xaf\xe1\x07\x20\xd3\xfe\x2a\x18\xc0\xfa\x36\x4b\xab\x8b\x4f\x2c\xd0\x6d\x96\x82\xca\x98\xef\x94\x22\x54\xa5\x5c\x3a\x0e\x2e\x19\x46\xf9\x0a\x5e\x00\xbc\xd5\x15\x12\x26\xb9\x7a\xaa\x4f\xe9\xe4\xea\x21\xbf\xbd\xa2\x2e\x5b\x3d\xb9\x7a\x15\x52\x20\x6f\x67\x6a\x41\x87\x7a\x2d\xae\x51\xea\x5a\xd9\x4c\xc9\x35\x90\x38\xcb\xe0\x9b\x9f\x00\xda\xcb\xe1\x31\x57\xc5\xef\x37\x52\x3c\x6f\x6b\x0b\xa9\x47\x17\xc9\x42\xc3\x1c\x61\x52\x98\xb8\x64\xe4\xc6\x95\x5d\xa4\xd4\x94\x2d\xa4\x11\x47\x9d\xa4\x05\x54\x36\xcb\x7b\xca\x2a\x46\x0a\x0a\x69\xf9\x4a\x1c\x8b\x55\x51\x20\xf1\x95\x12\x44\x23\xd5\x98\x28\xb3\x7e\x20\x70\xa1\x9d\x10\x33\xa1\x2a\x20\x36\x9b\x17\x05\xd8\x92\x00\x44\x56\xd5\xdc\xa6\xb3\xeb\xe5\x24\x2a\x7a\x8f\x10\xeb\x14\x67\x00\x20\xca\x84\xb1\x09\x1e\x6b\xc5\xf5\x89\x6a\x3a\x51\x04\x32\x56\x60\x94\x29\x1c\x98\x2a\x67\x47\x09\x50\xe1\x59\x8e\x81\xaa\xb7\x38\xba\x79\x38\xc0\xe5\xd1\x47\x17\x5d\xc7\xeb\x88\x50\x41\xba\xee\x68\xd8\x81\xed\x33\x67\x8a\x9c\xd4\xb8\xab\x0d\xf6\x77\x08\x72\x0e\xa8\xf8\xa6\x6a\x25\xa3\x44\x84\x57\x13\x20\x37\x27\x54\x81\x2e\xa2\x0f\x3b\x3f\xcd\xc7\x62\x9a\xe8\xc0\x8b\x68\x00\xed\x08\x02\x4b\x92\xf5\x55\xbf\x0b\xca\x21\x00\xb7\x3b\x89\xed\x63\xa7\x31\x39\x95\xac\x52\x5d\x2a\x8b\x94\x1d\x1b\x1d\x67\xa3\x93\xac\x9f\xf5\x05\x63\xaa\x37\x24\x06\x14\xca\x0c\x10\x86\xcf\xcf\x8e\xcf\x56\x32\x98\xeb\x4b\x23\xcf\x26\x92\x1b\x05\x9f\x20\xf4\x75\x3a\x61\xae\x34\x10\xb7\xcf\x94\x75\x74\x38\x94\xb1\x8c\x86\xf8\xba\x4d\x3a\xd0\xbd\xf3\x73\xb9\x19\x28\xf1\x6c\x21\x87\x94\x72\xfd\x94\x88\x5b\x1e\xec\xe8\x0d\xc8\x5f\xf6\x54\x93\x45\x42\xe4\x0c\xcd\x01\x22\x1b\x80\xe8\xcf\x17\xea\x56\x9b\x3b\x73\x51\xbe\x5e\xf3\xa7\x54\x95\xc0\xed\xd8\xdb\x29\x94\xf6\x08\xc9\x1a\xa0\xc3\x76\x5c\xa3\x50\x03\xf9\x9a\xc9\x97\xec\x48\x72\x26\x06\x9a\x5d\x2c\xf6\xa5\x06\x8b\x51\x29\x09\x5a\xab\x20\xdd\x4e\xad\x99\x84\x2f\xff\x61\x55\xc1\x5a\x2b\x43\xed\x99\xde\x4a\x8f\xd2\xc8\x47\x4a\x68\x43\x9b\x30\x1c\x54\x0b\x50\x3d\xa1\x94\xc8\xe7\x42\xdc\xaa\xea\x22\xb5\xaa\xa8\x2d\x32\x34\x14\xaa\xf8\x86\x00\x17\x54\x07\x49\x94\x28\x70\x3e\x65\x6a\x41\xc9\x5c\x08\x09\x5b\x31\x58\x6a\xa6\x4b\x3d\xc9\xfd\x9b\x7e\x83\xba\x83\x2f\xa9\x43\xf7\x49\x88\xe8\x27\xf9\xf0\x58\x12\xdc\xef\x37\xf2\x73\x6f\xb3\x1c\x8f\xf8\xab\xba\x46\x39\xe2\x11\x9a\x29\x72\xa2\xc8\x19\xb1\x38\x10\x0a\x2d\x88\xbe\x7f\xa0\x9a\xb0\xb8\x90\xeb\x87\xe8\x36\x1f\x0c\x8d\x49\x80\xe6\xa4\x94\xed\x33\xf9\x16\xc9\x73\xb6\xd8\x37\xb5\x12\xab\x55\xaf\x6c\x25\x9c\xab\x07\xa8\x16\x48\x2d\xb1\x1a\x22\x47\x35\x39\xd8\x51\x9e\x1b\xa1\xaa\x9e\xaa\x6a\xd9\xd4\x1a\x19\xaa\x2a\xc4\x27\x26\x0e\x47\xe5\x61\x8d\x24\xe6\x05\x07\x42\x7a\x5b\xac\x00\x82\xcb\xa9\xa9\x9e\xc7\xbb\x40\xcd\x30\xb2\xc2\xb8\x16\x23\xd8\x4b\x4a\xe9\x28\x28\x1b\x52\x6b\x59\xf2\x9f\x32\xf2\x1f\xa1\x9c\x8b\x83\xfd\xac\xd2\x64\xb4\x5e\x59\xad\xd7\x54\x3f\xb3\x5a\x18\x05\x66\x48\x63\x35\x54\x91\xfd\x37\xd4\x81\xd3\x37\xbd\x17\xa0\x49\x30\x7c\x32\x67\x44\x4a\xe5\x75\x53\x30\x90\xec\x49\x53\x4b\xdd\x18\x90\x45\xb6\x45\xeb\xaa\x43\x5f\x37\xdf\xc8\xd9\x1b\xd9\x9b\xcf\xe4\x89\xb7\xa1\x01\xfb\xc9\xcf\x41\x7b\x19\xc3\x4b\x25\x2e\xf1\x99\x5a\xe1\x01\x95\x1f\x96\x03\xef\x6c\xe0\xc1\xe7\xf2\x4b\x86\x9d\xa6\x9c\x27\x5a\xec\x7e\x4d\xa6\xc7\x53\x4b\xe4\x33\xe6\x3e\x11\x47\xb5\xf5\x31\xe1\x60\xd2\x9f\xa3\x9a\xff\xca\x30\x38\x0e\xfa\xe9\x95\x76\x46\xea\x51\xf6\x92\x32\x45\x20\xdc\x36\x94\x6d\x11\xae\x3a\x0e\xc1\x68\x10\x87\xa9\xc9\x9f\xa8\xaa\x8d\xe8\xc3\x11\x10\x52\xb9\xc5\x5d\x54\xbe\x39\xd8\xd1\x6c\xa9\x5a\x01\x44\x99\x5b\x54\xa5\x4e\xad\xd7\xa8\x1c\x2c\x92\xe4\xcf\x59\xe5\xa0\xf6\x43\xf2\x90\xa9\xc5\x3c\xe8\x5c\x21\xa4\x15\xc2\x85\xa9\xe6\x82\xb3\x42\x51\x89\x38\x87\xee\xc0\x48\x80\x5f\xe8\x45\xb6\xf0\x25\xc5\xcf\xa8\x13\x13\xa8\xb4\x80\x62\x36\x6c\x2a\x73\xc5\xc7\x7f\xa4\xf3\x39\x73\xd9\x37\x18\xba\x40\x10\x93\xb1\x19\xe2\x14\x2c\x17\xab\x50\x4e\x72\x72\xd4\x5a\xfc\x9c\xc8\xc3\x6e\x4e\x15\x68\x10\xcd\x52\xf8\x50\xb1\xe8\x9b\x50\x4b\x05\x11\x88\x81\xe0\xd5\x3a\x05\x6a\xb1\x19\x30\x74\x8b\x88\xd3\x53\x3d\xb1\xb6\x80\x90\x69\xfb\x26\x28\xf1\x83\x70\x6a\xbd\x02\x9f\x38\x73\x72\x94\x54\x2c\x86\x00\x56\xf4\x18\x27\xfa\xf9\xf8\x70\x45\x9b\x48\xde\x6a\xe3\x15\x42\x5d\xc6\xd8\xf5\x31\x78\x27\x54\xec\x59\x64\x9d\xae\x2a\x1c\x7b\x36\x68\xc3\xfa\x45\x92\x76\x03\x5b\x5a\x8a\xdb\x16\x4c\x73\x52\x23\x52\x8a\x0b\x54\x62\xd8\x55\x6a\x48\x99\xb4\x8b\x54\x98\x06\xa7\x04\x13\xda\x9e\xa9\x17\x81\x0a\xb9\x59\x4d\x0f\x2a\xd0\xb7\xbd\x8a\x31\x4c\x6b\x26\x3e\x05\x65\x6b\x47\x21\x46\x46\x02\x87\xf8\xc4\x85\x9a\x6a\x50\x05\x15\x64\x4b\xdd\x53\xd6\xd5\xd0\x6b\x49\x45\x35\xd1\xe1\xb6\xf1\xb9\x50\xf1\xcb\x3e\xe8\xe3\xf5\x39\x8d\x7c\xa9\x70\xf0\x03\xae\x2e\xe7\x25\x00\x3e\x17\xa0\xb5\xaa\x1a\x22\xc5\x45\xaa\x40\x79\xcd\x41\xff\xd9\x92\xf5\xca\xef\x7c\x5e\x0f\x17\x5c\xbf\x0e\xa5\x49\xe6\x83\xcc\x9e\x4a\xcc\x2e\x53\x4d\x0d\xec\x07\x89\xe4\xd9\x97\xbd\x5e\x5d\xf4\x0e\x47\x29\x55\x0a\xa8\xe2\x14\x28\x94\x83\x45\xea\xee\x1d\x00\x47\x50\xd5\x01\xba\x46\xb0\xf2\x3b\x14\x8a\x36\x24\x00\xd4\x93\x12\x77\x4c\x82\x6c\x75\x39\xbb\xfd\x7a\x5b\x2f\x59\xb9\x49\x08\xc9\x6e\xce\x29\xf7\x33\x72\xd4\x2e\x24\xeb\x0e\xb2\x31\xb0\x36\xc2\xd9\xc7\x5f\x80\x1a\xf8\x50\x95\x1f\xa3\xd4\x07\xab\xfc\x50\x86\x5b\x3c\xc5\xf6\x29\x02\x59\x3e\x8e\xf8\xf2\x3e\x51\x54\x0d\x23\xb7\xbc\x63\x55\x55\x06\x3b\x76\x5a\x4d\xa8\x1c\xc9\xaa\xe9\x41\x35\xba\x46\xa9\x82\xd4\x69\xa5\xaa\xf6\x29\x99\x8d\x5d\x46\x4a\x85\x36\xef\x7d\xdc\x53\x0a\xe4\xb1\x0f\x82\x6a\x3d\x2a\xaf\x33\x95\x56\x54\xdf\xa3\x28\xaa\x36\x51\xf3\xe2\x54\x0c\xeb\xb8\xc7\xf0\xdc\x3d\x5e\x49\xc2\x89\x29\x35\x15\xb6\x0c\x67\x52\x38\xe8\xdf\x40\xa8\x85\x70\x28\x6d\x67\x25\x14\xf5\xd0\x95\xc4\xc8\x68\x6a\x4f\x51\xa7\x2a\x0a\x95\x52\x29\x85\x42\x05\xb2\xd6\xe7\xbc\x9b\xf7\xd5\x15\x40\x36\x26\x4a\xa2\xa4\xc0\x1e\x5b\x9d\x79\x09\xd5\xc8\xa5\x38\x6a\xa2\xc6\x47\x08\x01\xc5\x97\xdb\x6a\xf0\x54\x49\x2d\xaa\xf7\xa5\x61\x39\xe4\x99\x7c\x15\xd5\xb5\x73\xd2\xe5\x19\x79\xa8\x14\x43\xdd\x5b\xf5\x43\x81\xd7\x2a\xa8\x90\x2e\xaa\xa5\xc9\x41\x25\x0c\x92\x10\xaa\x28\xd9\xa6\x24\xa8\x94\xa4\xe7\xf5\x0d\x59\x9e\x0b\x25\x5d\x20\x3e\x89\x35\xe2\xb4\x95\x80\x64\x9f\xd2\xbf\x94\xc4\x2f\x91\x7a\x89\x9e\x6a\xa8\x3c\x94\x12\x8f\x67\x8f\xe7\xb2\xe1\xf1\x41\xfa\x3c\xfe\xe7\xdd\x49\x0c\x5b\x2e\xfd\x4d\x68\xc3\x0e\x14\x3d\x51\xf5\x50\xc8\x4b\xc4\x94\xde\xb2\x8d\xac\xc4\x5b\xf0\x21\xbc\xb5\x3b\xd9\x3d\x36\x9b\x89\x7a\xcb\x76\xc6\xa4\x3e\xa0\xf2\x34\x4a\x10\xcb\xab\x9c\x1a\x9f\x27\x08\xe3\x1b\x15\x32\x7a\x00\xf7\x19\x11\x79\xad\xc7\x7a\x15\xaa\x51\x95\xf4\xab\xe1\xdf\x67\x7d\x77\xd5\xbe\x3d\xf6\xf9\xdc\x00\x1b\x38\x8b\x5c\xab\x15\x13\x36\x31\x5d\xc2\x15\xec\x94\xf7\x21\x78\x01\xb9\x71\x29\x29\x96\x87\x0c\xe9\xde\x1a\x56\x2d\x24\x3f\xa3\xd8\x54\x55\x59\x21\x95\x8f\x6a\x88\x74\xfb\xd1\x0b\xb2\xd9\x7a\xbc\x41\x56\x9d\xe0\x44\x39\x2d\xab\xed\x8c\x7f\xc5\x76\x60\x6a\x9e\x6f\x14\x23\xca\xd2\x50\x5d\xb4\x35\xd4\xed\x0a\x55\x75\x41\x95\x0c\x72\x24\x16\xac\xa3\xaa\x86\xb8\xca\x31\x86\x64\x1a\x18\xc9\x0d\x49\x3b\x5c\x0d\x50\xf4\xf2\x36\x2e\x43\x23\x9b\xd7\x24\xf3\xdc\x06\x6f\x3a\x8c\x0a\x9d\x8a\xae\x54\x30\x43\xd5\x73\xa4\x38\x35\xac\x28\x8a\x1a\x09\x85\x5a\xab\xfa\xa9\x03\x8d\xd7\x93\xed\x7a\x35\x4c\x9b\x75\x5c\x8e\x1d\x75\x25\x27\xf8\xb7\x51\x08\x44\xa0\x9d\xb3\x3e\x28\x9b\x2e\x1d\xe3\xd1\x99\xe3\x5b\x72\xfd\x5c\x49\x42\xb3\x97\x52\x2e\x01\x72\xaf\xb1\xda\xd7\x8f\x60\x58\xea\x92\xbf\x33\x2f\x63\x0b\x04\x6a\xb9\x3a\x6c\xbd\x4f\x57\x3b\x6a\xc0\x71\x20\x01\xc9\x6c\xae\x35\x2a\x5e\x95\x93\xb2\xca\x84\xe8\xb0\xb7\xc5\x17\x37\x3f\x3f\xd6\x61\x79\xfb\x22\x84\x82\x25\xd7\x96\xd9\xba\xe9\xe9\x22\x7b\x3e\xdf\xdd\x7d\xb5\xe5\x0a\xce\xdb\xaa\x3e\x4c\x3a\x6c\xf0\xbf\x37\x43\x76\xaa\x5b\x61\x61\xf3\x36\x46\x3e\xa4\xa6\xbf\xf4\x8a\xc5\xb3\xbd\x45\x80\x91\x1f\x64\xfa\x5b\x1b\x38\x3f\x95\xc7\xd6\x34\x12\xf5\x3e\x4d\xe8\xdd\x07\xc3\xc2\xd5\x6e\x04\x6a\x66\x70\x64\x78\x58\x59\x2f\x96\x1c\x8f\x24\x24\x3e\xec\x61\x32\x24\xf2\x2a\x70\x24\xe2\x53\x7c\x55\x12\xee\xbe\xbe\xca\x40\x9d\x87\xc7\xba\xc2\xb4\xad\x92\x9e\x54\x1f\xd9\xb3\xd9\x34\x2a\x9e\x2a\xf7\x6f\x7a\x54\x19\xe8\xab\x1a\xe7\x41\x2d\x19\x40\x09\xe9\x22\x08\x47\xcb\x2c\xf1\x19\xc6\x7f\x6c\xd8\xca\x4b\xcd\x22\x06\x86\x06\xac\x2f\x7c\xad\xb3\xb7\xc1\xfb\xbd\x7d\x49\x43\xdd\x8d\x69\xe3\x19\x0b\x5a\x65\xfc\x58\x22\x14\x85\x1c\x23\x12\x7a\xa2\x5a\x50\x41\x65\x74\x74\x94\x42\x55\x9b\x0e\x5f\xa0\xb7\x86\x1d\x05\x15\xaa\xa3\xca\x08\x01\xfb\x54\x28\x48\xfc\x84\x12\x06\x41\xf2\x38\x4d\x4c\xb9\x40\x20\xc7\xcc\x5d\x3b\x6c\xac\x8d\x02\xc6\x48\xd4\x22\x26\x56\x53\x92\xb9\x7c\x4e\x14\x9b\x9a\xbf\xad\xa8\xdd\x07\x9f\x61\x1a\xae\xa3\x09\xbf\xb3\x76\xf7\xbb\xe3\x4f\xbf\xfc\x65\xf7\x28\x36\x15\xcf\x8c\xfd\x33\xf0\x20\x1f\x5c\x79\xe1\x79\x49\x04\x3e\xf1\xd3\xc6\xbe\x8c\x5c\x03\x5f\xf7\x71\xdc\x06\xda\xc0\xd4\x94\x09\x78\xfa\x72\xa3\xa7\x59\xa4\x19\x97\x17\x7e\x7b\x55\x12\x2d\xef\x04\x3d\x73\x79\xd9\x8a\x07\x0c\xba\xe0\xca\xcb\x62\x4d\x25\xfd\x1d\x2f\x72\x7d\xbf\xa5\x1e\xb8\xbc\xbd\x3a\x2e\xb6\x40\xcb\xa9\x75\xaf\xdd\xf6\x86\xd1\xb2\xb1\xc5\xf6\x50\x7b\x2c\xcd\xe2\x3c\xb3\x0f\x7a\xd8\x98\xd2\x26\xaa\xe4\x0b\x3f\xe5\x97\x6b\x67\xb6\xe2\xc6\xae\x81\x42\x87\xbe\xa9\xb3\x01\xe2\x9c\x6e\x00\x3c\x1b\x98\xe0\x93\xf6\xef\x05\x68\x62\xae\xa8\x49\xf3\x22\x08\x3d\xd9\xdc\x66\x79\x49\x07\xe6\xab\xc1\xce\x68\xea\xb4\xd4\x21\xed\x8d\x04\x5b\x78\x9b\xe7\xde\x5e\x1b\xde\xec\xe0\x98\x4f\xca\x81\x37\x21\xf7\xda\x26\x5a\xdd\x4b\x7e\x74\x4e\x5f\x7f\xfa\x75\xf7\x38\x12\x54\x19\x38\x8c\x05\xa4\x99\x3d\xd2\x1a\xc7\x77\xf2\x80\xd7\x82\xca\x37\xad\xf7\xec\x87\x32\x2b\xf7\xec\xdd\xf5\xbd\xc4\x4b\xf0\xe3\x50\xcf\xf1\x88\x7e\x90\x03\x79\xbe\xfc\xed\xe4\xe9\x0e\x69\x53\xe0\x38\x15\x6a\xbc\x08\x30\xe1\x46\xbe\xc5\x41\x0e\x89\x2a\xcb\x9e\xb2\xf9\xbc\x80\xba\x05\x49\x54\xf4\x1e\xd5\x8d\x59\x39\x76\x4d\x6d\x30\x5b\x93\xe3\xba\xf0\x43\x51\xab\xfd\x05\x2c\xe3\x4a\xe9\x87\x5b\xa5\x1b\xf4\xee\xb2\x42\xf2\xcc\x70\x2d\xf3\x51\x9f\xaa\x92\xc9\x20\x20\xa2\xca\xac\x84\x58\x03\xed\x62\xaa\x75\xb1\x77\xa7\x7a\xe2\x33\xca\x6e\xa2\x4c\xc1\x22\x45\x55\x04\xa0\x77\x81\x42\x84\xc7\xec\xd3\x3c\x44\x44\xba\xf7\xad\xd8\xbb\x3c\x58\x27\x02\x2d\x2c\x82\x4f\x80\xa2\xaa\xa7\x63\x7f\x3c\xdc\x86\x6d\xd5\x3d\x47\xa1\x3d\x73\x22\x16\xd5\xed\x73\x58\xbe\x9d\x23\x0e\x4f\x98\xba\xc7\x45\x15\x88\xff\x2e\x45\x33\x4c\x01\xa7\x1d\x4f\x09\x90\xfd\x20\x4f\x71\x12\x55\xe8\xf8\x1e\xdd\x27\x75\xa5\x40\x57\x44\x1e\x71\x65\xd4\x16\xb0\x9d\x97\xba\x43\xf0\xc0\x58\x0f\x1e\xe3\x3b\xfe\xed\xd9\x85\xf7\xaa\xaa\x5c\xdf\x43\xf7\x98\xa2\xdc\xf2\x7c\xca\xb1\x33\x91\x07\x3e\x04\xca\xb1\xee\x29\x62\x32\xa8\x31\xc1\xef\x8f\x42\xa1\xf9\x68\x5a\x8b\x6f\x56\xcc\xb7\xa8\xf2\xb5\x8c\xb5\x4c\x83\x12\x14\xb6\xa2\xdb\x2a\x10\xd3\x98\x6d\x3c\xac\x19\xb1\x05\xd9\x28\x6f\xd5\xbb\xd7\xc1\x40\xf0\xc8\x4a\x04\x42\x25\xfc\x6b\x12\x29\x45\xe8\xcd\x0d\xa1\x16\x52\x32\x55\xaf\x06\x4a\xb6\xd8\x9b\x45\x21\xcb\xec\xab\x15\xe9\x63\xaa\xa5\x12\xe7\x65\x68\x4e\xa6\x12\xab\x75\xfb\x7b\x58\xaf\xf5\x77\xd9\x96\xd3\xc6\xfa\xb3\xdc\xfc\x61\xd6\x17\xa7\x0f\x78\x6e\x94\x51\x23\x39\x3d\x65\x0a\xe1\x86\x83\xe4\x2e\x52\xbe\x1b\xef\xe1\x3a\x3f\xe5\x7b\xf9\xa9\xda\xa2\x8b\x3d\x7a\x3f\xad\xa6\x21\x94\x51\x00\x30\xab\x59\x2c\xa2\x2c\x6b\x03\xfc\x3c\xa7\xb8\xc5\x2d\x2f\x21\x3b\x85\xb8\x1d\xa9\xd4\x59\x76\x3c\x5f\x0a\x60\x3c\x9f\xfb\x01\xe7\x49\x04\x64\x01\x2a\x3a\xb6\x90\x70\x8c\xbb\xb3\x4c\x2a\xe4\x0b\x0e\xd8\x91\x2e\x76\x60\x4a\x05\xa8\x3b\x57\x58\x60\x78\x8f\x05\x26\xca\x0d\x60\xa0\x2d\x26\x1c\xe3\x31\x52\xc3\xee\x46\x6c\x13\xd9\x07\x50\xb1\x96\x70\xb8\x07\x7f\x01\x52\x49\xf5\xb8\xd8\xc1\x66\x28\x00\x69\xa6\x0b\x24\xa7\x96\x3f\x95\x12\xe6\xe3\x12\xb8\xa8\xb9\x74\x34\xbf\x00\x4e\x4f\x43\xf5\xc1\x37\x4d\xd4\x2d\x4e\xd8\x1e\xa2\x30\x80\x53\xe7\xb5\x4c\xbb\xb4\x00\xb7\x46\xd0\xf0\x32\xdc\x51\xed\x40\xe5\xe8\x2f\x5c\x37\x20\xc2\xbb\x1c\x58\x45\x7e\xa2\xd8\x4c\x89\x70\x8f\x77\xd1\xe6\x26\xa2\x6d\x19\x5e\x13\xa9\xf9\x3c\xc8\xc8\xf4\xe7\x68\x57\x2a\xc7\xe0\x6e\x9e\xc7\x0b\x34\xb5\x72\x12\x2a\xf5\xa8\xcd\x60\x47\x13\xab\x09\xf6\x59\x9d\xeb\x61\x31\x09\x85\x02\x0d\xc5\x8f\xc7\xde\xdb\x04\x07\x7c\xf2\x69\xbe\x2b\x1a\x50\x53\xe6\xae\x2a\x16\x93\x55\xfa\x38\x6e\xe2\xe8\x8c\x5e\xfb\x1d\xde\x43\x6f\x38\x3a\x52\x5e\x54\xea\x86\x56\x7d\x93\xfb\x32\x71\xa8\x8e\xa9\xa5\x2b\x48\x29\xb6\xee\xdf\x5e\x2b\x00\xaa\x10\x99\x7c\xc4\xd8\x03\x0e\x27\x2f\xd5\xe8\xb3\x8f\x60\xc5\x3b\xf9\xc2\x3a\x89\x63\x75\x64\xd0\x51\xbe\xb2\x1d\x47\x43\xda\x47\x62\x5f\x07\x1c\xdf\xbe\x54\x0a\x55\x4d\xd8\x98\x9e\x33\x25\xac\x5a\xe6\x4f\x13\x79\xe9\x2f\x57\xdc\x05\x08\x91\x4d\x0e\xb6\xf4\x23\xe4\x60\x52\x81\xb2\x61\x0a\xfc\x20\xb9\x91\xac\xbe\xfd\xc2\x13\x74\x1f\x39\xfe\xfa\xd3\xdd\x95\x47\x28\xc5\xa0\xe6\x49\x58\xf1\xfb\x9a\x2c\x78\x56\x10\x00\xb9\x60\xd2\x15\x51\x55\x01\xf1\xcf\x91\x6a\xc0\xde\xa3\xe1\x22\x87\x45\xad\x20\x5f\x11\xb2\x13\xb2\x35\x86\x6a\x05\x6a\x35\x46\x55\xdb\x3d\x95\xbc\x2c\x0d\x85\x07\x8f\x97\xae\x7b\xe5\xce\x0f\xe6\x46\x9c\x11\x29\x5b\x10\x11\xdd\x36\x5e\x22\x5b\x3f\x8f\xe3\x7b\xdc\x3f\x80\xf7\x39\x2a\x0d\x11\x4a\x96\x08\x66\x3c\xf8\xe7\x48\x32\x24\x2a\x71\x3e\x74\x70\x64\xc9\x73\x45\x7c\x89\x1c\x85\x60\xbc\xf8\x85\x14\xc4\xf2\x46\xbc\x94\x85\xf8\xbc\x7d\xc1\x4e\x26\x07\x2a\x79\x3e\x5c\x8c\x54\x5d\xbb\x6a\xda\x86\x1b\x1b\x79\x06\xec\x15\x47\xe5\x95\x61\x68\x5b\x7d\xc5\xb3\x60\x66\xdf\x99\x93\xb1\xdf\x7d\xbb\x93\xc2\xac\x5e\xdd\x4a\x43\x80\xb5\x5d\xd7\x12\x25\xdd\x4c\xf6\xcb\xb7\x92\xfd\xe4\x66\xac\xed\x06\x2e\x7a\x5e\xab\x27\x12\x06\x14\x3e\x40\x3f\x36\xc3\x86\x43\x2f\x83\x37\x93\x52\x54\x43\x18\x00\xa1\x34\x9f\x02\x62\xa8\xac\xb1\x0d\x95\x6a\x09\xfd\x68\xf9\x1c\x35\xd4\x01\xc7\xd9\xbc\xc7\xd6\x6f\xf2\x14\x4a\x18\x3f\x30\x51\x4a\xec\x62\xc7\xb7\x2f\x4c\x08\x3b\x0c\x71\x59\x1b\x40\x1f\x57\x3e\x45\xb8\xee\xed\x68\xb1\x24\x5c\x91\x9a\x13\xe7\x43\x8e\xdd\xbe\x4f\x19\x69\x0d\x76\xb4\xdf\xc7\xc6\xef\xa6\x85\xfb\x8c\x2d\x30\xd2\x95\xdb\x27\x5a\x6d\xdf\xb9\x6e\xd2\x0b\x95\x5d\xd9\x85\x6a\x9b\x99\x83\xdb\x0e\xf5\xa7\x46\x45\x36\xa6\x3f\x90\x47\xc6\xc8\xd2\xa1\xc4\x70\x28\xad\x92\xcd\xba\x43\x49\x60\xe2\x6c\xcd\x7f\x51\x1d\xe2\xca\xf4\xab\x9d\x6f\x07\x8f\x7c\xb6\x10\x10\xc6\x73\x65\xf2\x33\x45\xb6\x03\x26\x35\x51\xce\x62\xc7\xe5\x73\x5b\x87\x8d\xda\x24\x02\xa4\xb5\x59\x72\x5b\x57\x8d\x80\xe4\x18\x68\xc1\x91\x8c\x08\x10\x57\x62\xd1\x25\x17\x22\x40\xe3\x77\x11\xc1\x4f\xbf\xfe\xf6\xf3\x5f\x7f\xde\xef\x7e\xbb\x17\xb0\xd3\x0f\x1b\x7b\xa5\x71\xea\x0a\xe6\x38\xdc\x97\xf3\x8a\x3b\x96\x56\x48\x40\x81\x89\x2d\x7f\x31\x2e\x17\x3e\x20\x06\xf2\xe8\x4c\xf1\x62\xbf\x20\x3f\x9f\x22\x55\x81\x9c\x51\x23\xa7\xa8\x9a\x0c\xb5\x60\x59\x60\xc6\xa7\xe4\xec\xca\x4c\x25\x5f\x5a\xde\x28\xef\x04\xd6\xb2\x95\xe2\x60\xc5\x56\x90\x55\xfe\xf6\x2a\x14\x43\xc5\x36\x4d\xc8\xcf\x85\x52\x48\x56\x58\x20\xdd\x76\xff\x86\x9b\xac\x53\x6e\xb1\xce\x78\x83\x75\x1e\x80\x54\xa6\xe3\x94\x53\x70\xd8\xac\x19\x3d\x83\xde\x15\xca\x12\x07\x8f\x54\x14\x6e\xa8\x75\x38\x5b\x97\x1c\x92\x43\xfc\xd0\xd4\x53\xe8\x12\xf9\x1a\x07\xbf\xb7\x40\xb3\xa8\x7c\x47\x05\xbb\x5e\xa8\xff\x50\x4a\xb1\x0e\x76\xf4\x1d\x81\x19\xac\xbf\x05\x0b\xbe\x55\x15\x2a\xe4\x88\xbd\x95\xe2\xa8\xa5\x86\xda\x61\x5c\x77\xcb\x1a\x98\xd0\xec\xb1\x8f\xaa\x5a\xb2\xc8\x10\xac\x24\x02\x35\xc0\x35\x87\x3c\x87\x9b\xc9\x48\x0b\xc5\x59\x84\x47\x15\xdc\xe4\x70\xd3\xde\x51\x09\x79\x8c\x3e\x6c\x94\x8b\x35\x4e\xf9\x46\xd2\xc4\xfd\xab\xe6\x2e\x0e\x9a\x4d\x46\x2f\xf7\xef\x64\xbd\x7d\x17\x1f\xdd\xbd\x03\x93\xf6\x2b\x26\x2d\xb7\x7c\xf3\xf1\xc0\x36\xc2\xcc\x89\x1a\x32\x11\xa9\x63\x18\xb6\x94\xa8\x84\xa2\x4a\x08\x82\xda\x8f\xaa\x2c\x51\x6d\x79\x7e\x8d\xc3\x45\x3d\x53\x15\xcd\xe5\x76\x95\x37\x5f\x73\xf6\x7b\xe3\xcd\xaf\x86\xdd\xdd\x73\x34\x6a\x2a\x9b\x49\x1a\x57\x8a\x3a\x1e\xb6\x4e\xdc\x2c\xea\xa8\x4f\x38\x12\x03\xd9\x39\x94\xba\x0b\xaa\xa8\x05\x8b\x3b\x63\x80\x3c\xaa\x8a\x46\x5c\x80\xb8\x59\x2c\xff\x03\xae\xae\x90\x65\xef\x74\xb1\x93\x38\x8b\x72\x32\xec\xc1\x80\x70\x9e\x6f\x8e\x5d\xaf\x85\x15\x03\xa2\x72\x04\xcc\x8a\x81\x11\xcb\x88\x15\x06\x22\x69\x3b\x0f\x25\x53\x12\xd4\xe8\x0f\xad\x52\x32\xff\x0c\x0a\xb4\xc8\xdb\x97\x44\x2d\x0d\x6d\x27\x16\x83\xe8\xad\x77\x91\xac\x62\xee\xe5\x37\x38\x33\xf8\x86\x17\xf2\x3d\x92\x3e\xec\x7e\xf9\xdb\xa3\xb9\x61\x89\x52\x88\x3a\x71\x22\x71\x57\xa8\x08\xf0\x8a\x2f\x75\x31\xb8\x91\xe4\x36\x37\x82\x39\x38\x6a\x16\x27\x82\x7f\x98\x64\xdf\x8a\x23\x96\xb0\xa7\x00\xcb\x0a\xcb\x99\x2d\xdd\x33\x56\x24\x96\x8a\x53\xcb\x73\x17\xa8\xa0\xf8\x6b\xe9\xc5\x5f\x91\x69\xef\x88\x7d\xde\xab\x3e\x17\x28\xa0\xca\x84\x87\xbd\x93\xf0\x18\x94\x6c\x0a\x4c\x08\x0a\x63\x48\x0f\xec\x37\xe7\x84\xdd\x5e\xcc\xb3\xda\x6e\x82\xa8\x44\x19\x63\x13\x95\x53\xa4\xe8\xc8\xe7\x3d\x55\x4c\x28\x6c\xcd\x88\x9d\x62\x8f\x3c\xd0\x52\x90\x01\x12\x2a\x02\xbe\x88\xd5\x1c\xd6\xb5\xc1\x2d\x19\x7f\x95\xbc\x48\x1c\xe6\xa0\x2f\xbf\x77\xe4\xc5\xf0\x12\x7d\x0a\xe4\x73\x76\x3a\x04\x3a\x02\x4e\x47\x40\x07\xc0\x61\x00\x06\x0c\x80\xc3\x00\x0c\x9b\x03\x60\x58\x03\x18\x00\xa0\x6e\x6a\x0b\x12\x75\xb0\x92\xc5\x30\xbb\xd0\x2b\x4d\x05\xd6\x91\x47\x24\x09\x6a\xda\x32\xc2\xb1\xf5\x4c\x2c\x3a\xd2\x5b\x63\x80\x4b\xa2\x8e\x81\xd3\x41\xd0\x31\x40\xc8\x37\x90\x46\x7b\x35\x21\xec\x9f\x87\x1b\x3b\xd5\xef\x52\xdf\x63\x3b\x99\xaa\x27\x22\xb4\x2e\x85\xbd\x23\x29\x8e\x7c\x2d\xae\xa7\x9e\x0a\x06\x50\xc5\x59\x13\x76\x6a\xfa\xab\x45\x0f\x39\x09\x32\xc4\x42\xab\x28\xee\x1b\x39\xee\x54\x86\x43\x3e\x85\xf3\x7b\x97\x18\xc8\xb7\xa8\x2b\xbe\x08\x89\xcf\x8e\x6a\x14\xc0\x3b\x30\xf9\x96\xa8\x94\xba\x4b\x54\x2b\x0f\x76\xec\xca\x5c\x15\x8a\xa2\xcc\xd5\x4b\x22\x2f\x0d\x29\xe8\xfa\x65\xa1\x86\x00\xac\xc9\x27\x64\x22\xe3\x1f\x56\x82\x28\x13\x68\xfb\x1e\xb6\x5e\x2a\x71\x0c\xd0\x32\x0d\xc6\x55\x52\x51\xd3\xc0\x11\xd7\x4a\x41\x29\x3f\xa8\x68\x43\x0c\x52\xaa\x3b\x6a\x21\xeb\xbf\x2e\x1d\xf5\xd9\x71\x4f\x82\x98\x6c\x1d\x18\x0a\x62\xd1\x95\x89\x9a\xe8\xa0\xe8\x98\x20\xb4\x9d\x71\x84\xba\x84\xf2\xfd\x1b\x63\x82\x21\x71\x18\x13\x1d\x12\x87\x14\xec\x1a\x91\x08\x00\x7a\xc0\x18\x6b\x97\xf5\xa5\x01\xf4\x81\x84\x36\xa5\x3c\xa5\xca\x18\x8f\xe4\xd1\xa7\x2a\xbb\x48\x09\xfb\x69\xa9\x07\xdf\xa2\x1a\x84\x4f\x6d\xe9\xc4\x36\x22\xd6\x41\x12\x04\x53\x4b\x07\xf2\x77\xa4\x5c\x47\x35\xf5\x80\x34\xb3\xd0\xc2\xc8\x75\x82\x0a\x39\x14\x49\x42\x7c\x27\x7b\x39\xef\x66\xa9\x51\x5e\x67\x83\x04\xfd\xcb\x3f\x94\x59\xdb\x89\x77\xff\xf3\xaf\xfb\xe3\x9d\x5a\x74\xb1\x2c\x38\xa1\x58\x81\x34\xaf\xeb\x3e\x27\x62\xce\x4e\x27\x9a\xb8\xda\xfc\xeb\xfa\x53\x79\x93\x0d\x47\xbc\x62\x8d\x09\xf0\x55\x58\xa6\x5b\x52\xe0\x29\xac\xa4\x1f\x79\x4f\xf0\x0a\xdb\xd2\x8c\x94\x42\x53\x16\x85\xd4\x36\x95\x2f\x35\x52\x03\x62\x38\x8c\x9c\x64\xc0\x71\x88\xea\xa9\x69\x27\xd4\x1a\xd4\xac\x56\xbb\xd3\x1d\x54\xe6\x6b\x53\xb6\xca\xe2\x4c\xc7\xa5\x82\x94\xb5\x80\x76\x5a\x50\xae\x91\xab\x72\xb2\xea\xc8\x23\x91\xa6\x22\x3e\x87\x74\xb5\xcc\x00\x8b\xe1\xb8\x50\xf2\x69\x65\xc8\x94\xa3\x1d\x7a\xd8\x74\xd5\xb9\x44\x64\x77\x8d\xa6\xc5\xe5\x52\xa8\x22\xf7\x42\xb0\x4e\x58\xda\xec\xad\x91\xea\x5d\xf0\xd6\x8e\x6c\xeb\xd2\xd8\x32\x42\x76\x9a\xc3\x8b\xbb\x2e\x72\x75\x2c\x5b\x55\x66\x95\x0d\x3f\x5e\xd9\x63\x04\x69\x6d\xbc\xba\xc3\xbb\xe3\xd5\xe1\x05\x87\x7a\xef\xf0\xea\x03\x5e\xdd\xe1\xd5\x07\xbc\xba\x2e\xee\xaa\xaf\xae\x33\x50\x3b\x27\xcf\xb4\x72\x0f\xc5\x40\xad\xdc\x15\x5e\xc9\x9f\x75\x6d\xa6\x81\x07\xe5\x2b\xfd\x9b\x7c\x8b\xf6\x95\xcf\xff\xbb\xf1\x17\xc7\xfc\x1f\x5c\xc9\x97\xd4\x61\xbf\x3b\xea\x84\xec\x1a\xa2\xa2\x7a\x50\x80\x9a\x12\x97\x1f\x74\x04\xdb\x87\xb5\x86\x4e\xfa\xf7\x7a\xde\x2a\xa2\x13\x83\x28\xfb\x28\x94\x5a\xa1\x9a\x23\xd5\x10\xcf\x2c\x69\xc6\xc0\xfc\x85\x81\x29\x7d\x31\x94\x00\x65\x66\x23\xbb\x23\xaf\xe7\x1b\x71\xd6\xd3\x15\x69\x6b\xba\xf4\x8f\x84\xc4\xaf\xa0\x4b\x0c\x04\x99\x2a\x72\xa2\xb0\xc2\x54\xd1\x68\xab\xec\x32\x39\x17\xfe\x17\xf8\x19\x3a\xf7\xd6\x66\x0a\xf8\x55\xa2\x1a\xf3\x60\xc7\x31\xf2\x4b\x94\xa7\x29\xd5\x26\xe5\x38\xa8\x47\x10\x28\x95\xa9\x7c\x58\xf0\x50\x9e\xc9\x15\xc4\x6f\x42\xd2\x4b\x02\xcd\x4f\x45\x92\x8a\x9d\xa2\x82\x4b\xd7\x3f\x92\xab\xc2\x44\xa4\xcd\x07\xaa\x33\x31\xed\x8a\x54\x62\xa7\x23\x45\x16\x2e\x0a\x8e\x87\x51\xf2\xf0\x56\x54\x62\xe4\x5b\x44\x0c\x14\x12\xa2\x7c\xc8\xbb\x89\x0c\x42\xa4\x9a\x8e\xd1\x32\x2a\x32\x18\x2b\x3e\xaa\x3c\xb3\x1b\x91\xd3\x29\xc0\xb7\x20\x5f\xc3\x9e\xbc\x76\xd9\x37\x81\xee\x06\x8c\x08\xc4\xb9\x87\xa8\x8f\x83\xf8\xca\x3a\x48\x4e\x47\xe9\x22\x31\xca\x6a\x98\xce\xa2\x46\x8d\xe0\xa8\x83\x04\xdb\xb6\x58\x5c\xed\x59\x44\xdd\xb3\xbf\xef\x77\x75\xa8\x7d\x7f\x9f\xf3\x27\xfb\xc3\x7b\x8b\x3c\xc5\x06\xbf\x55\x1d\xe9\xcb\x44\x87\xe0\xf2\x83\xbe\xf9\xad\x2d\xfe\xfb\x96\xc9\xb7\xff\xf3\xfb\xee\xd7\x7f\x4b\x88\xff\x99\x12\x02\x16\x1c\x92\xac\xd2\xc8\x39\x20\x20\x1e\x92\x0f\x16\x3a\xf9\x8f\x8a\xb4\x8c\x67\x90\xa8\xdb\x98\x7e\xb7\xaa\x97\xdf\xf4\x55\xbd\x17\x21\xf9\x11\x70\xbf\xf9\xda\xfb\xb7\x88\xfa\x1f\x26\xa2\xac\x5a\xec\x68\x64\xab\x05\x04\x61\x15\xba\xac\x92\x3f\xa1\xac\x32\xdf\xdc\x3f\x24\xca\xd6\x1c\x6f\xd0\x13\xaf\x81\x3d\x6e\x6f\xd9\xb4\x2b\x39\x10\x1b\xbf\x9f\xdd\x76\x8f\xaf\xe0\x9f\xf6\xef\x95\x4e\xb0\x0a\x56\x54\xea\x90\xe7\xb1\x10\xfe\x92\x23\x62\x49\x86\x16\xc1\xe4\x12\xc5\x82\xc3\x95\x70\xa9\x3c\xe4\xa5\x9d\xde\x23\x3a\x1c\xcb\xfb\x28\xea\xd6\xe7\xf7\xb1\xe1\x39\x6a\x9f\xe3\xd5\x3e\x1f\x91\xaa\x38\xe8\x01\x35\xd2\x70\xb8\xd2\xe5\x38\xc4\x8d\x2e\x57\x4a\xae\xde\xdb\xe1\xef\xb1\x61\xb9\x68\xd7\xeb\x95\x74\x9d\xb2\x91\x28\xd3\x7b\xe4\x82\x9b\xc6\x48\x4d\xeb\xfa\x50\x2c\x70\xc5\x0d\x59\x5f\x58\x0f\x1b\xe9\x3c\xef\x5b\x4f\x03\xcb\xe7\xd1\x6a\xba\xd8\x4e\x03\x7f\x63\xec\xe6\x8d\x06\xd4\xd4\x74\x1a\xd4\x7a\x1a\x26\xf6\xd3\xdb\x2b\x33\xc8\x79\x62\x3d\xa9\xea\xd8\xa6\xd6\x93\x8e\xff\xf5\xda\x3d\x77\xd1\xf5\xf7\xd8\x4e\x0c\x0a\x4f\x57\x86\xbc\xe7\xba\x6c\x0e\xb9\xb8\x55\x80\xd2\x98\x62\x88\xb4\xdd\x88\x02\x46\x56\x40\xf1\x91\x21\xf7\x43\x1d\xf5\x6b\xe6\x3c\xf8\x51\xbf\x66\x3f\xd4\xb7\xd7\x0a\x68\xa5\x89\x7e\xad\x03\x19\xa6\xfa\xb5\x0e\xe4\x8d\xc4\xfe\xef\x18\xc8\x0f\xa0\xc0\xfe\x18\xab\xfb\x35\x52\x91\xa1\x5c\x47\x4b\xfa\x51\x4b\xe3\x31\x5f\xd5\x72\xa8\x1e\xcc\x34\xbf\x65\x4f\xbd\x22\x63\x2e\x5d\x1f\x81\x1f\x45\xa9\x8f\x8f\xc0\x5f\x7e\xde\xbd\x7e\xfd\xe5\xde\x02\x17\x2a\x53\x86\xba\x51\x58\xcf\x23\x38\x6a\x11\x68\x35\x7d\x19\x40\x58\xa4\x6b\x2f\xd4\xf4\x85\x9a\xed\x7b\x2a\x45\x3d\xc6\xed\x00\x26\xc2\x5e\x0d\x8b\x63\x25\x2e\xec\xf4\xb8\x80\xe6\xe4\x40\xb5\x19\x04\x66\xe1\x61\xeb\x02\x3f\x04\xaa\xb5\x1d\xdd\xe5\x12\x5e\x5c\xe2\x7a\x23\xee\xf2\x98\xe5\x25\x1e\xd7\xbc\xbd\x36\x92\x20\xae\x10\x33\xdb\xe5\xd2\x5b\x9c\x07\xf5\x62\x57\x38\x03\x79\xb3\x5f\x21\x8b\x2b\x70\x7e\xec\xb8\xdb\xba\x02\x4e\xfa\x5c\xe7\xbd\x5a\x25\x39\xa0\x95\x8f\x71\x98\x91\x68\xee\xe5\xd5\xa2\xbc\x7a\x9b\x68\xe6\xb2\xfa\x3b\xa9\x7f\xad\x06\xdc\x4d\x2c\x04\x8c\x90\xc8\xcf\x99\xa2\x2f\x54\xd2\x12\x7e\x13\x9e\x05\xc4\xf1\xe5\x54\x06\x3d\xe6\xc5\x15\x1e\xa9\xdd\xa2\x84\x3f\x5e\x52\x96\x18\x9e\xbd\x95\x67\x7d\x5c\xa3\xd4\x78\xd9\x86\x5d\x01\x54\x3e\xae\x0e\x90\x5f\xcf\xd8\x8e\x2b\x0b\xfd\xa6\x0f\xd8\xf4\x59\x6b\x1d\x07\xbf\x3b\xeb\xec\xf4\x5e\xcb\xbc\x7f\xae\x94\x10\x93\x5e\xe7\x58\xbb\x6e\x1c\xb4\x1f\x41\x13\x1f\x11\x3b\x81\x1a\x76\x5f\x6a\x5d\xc1\xf1\xce\x16\xdc\xd6\xb2\xf5\xe3\xb2\xbd\xba\x6a\xfd\x74\xe5\x6f\xad\xd9\xfe\x98\xe9\xfa\x79\xeb\x3c\xaf\x51\xa9\xdf\xc9\xe1\xf8\x3b\x39\x1c\x22\x95\x3f\xcc\xc7\x3f\x20\xca\x1a\xa5\x8d\x85\x60\x14\x1a\x40\xc3\x28\x0c\xbd\x44\x1f\x18\x97\xc1\xd5\x55\xe0\x67\x4b\xc9\x6d\x5d\xd1\x97\xc1\x73\xa3\x84\xed\x71\x55\x3a\xa9\xf0\x90\xc9\x4b\xfd\x83\x98\xc4\xc7\xc6\xfb\xf0\xd3\x7f\xed\xfe\xf6\xf5\x97\x7f\xb8\xdc\xfc\x5e\xaa\xba\x47\x6e\x7a\x4a\x09\xf8\xe1\x7e\x81\x50\x0d\x7c\x2e\x9d\x39\xab\x23\x44\x65\x99\x03\x08\x58\x92\x4a\xcc\xf5\x54\xa8\xe4\xb8\x14\x93\x4c\xc1\xa3\x24\x74\x14\x55\xf7\x7a\x23\xcb\xab\xc6\xa7\xe0\x0a\xb7\xf1\x18\xb6\x32\xaa\xb5\xca\x0b\x1e\xb6\x5b\x9e\x0e\x1e\xb0\x58\x51\x8e\xe7\x26\x54\xf9\xf2\x0d\x0e\xb6\x52\xd7\x52\x30\xf0\xf8\x40\x7b\xaf\xf9\x05\x01\x2f\x55\xec\xa5\x10\x35\x13\x12\xaa\x9f\xd6\x50\x29\xc1\x3f\xec\x73\xba\x0c\xcb\x4a\x54\xa3\xf9\x73\x5f\xf6\x64\x30\xc6\xc5\xb6\xdd\x73\xc0\x27\xda\xe8\x2f\xb4\xe8\xdf\xe5\xfc\x64\x50\x3e\xc6\x9f\x47\x82\xfd\x27\x96\xd9\x99\x6a\x88\x14\xc2\x2a\x07\x2f\x04\xe9\x11\xf7\xc6\x8b\x56\x19\x0f\x58\x61\x31\xe4\x53\xc2\x66\xc0\x42\x48\x33\xc2\xf9\xd8\xea\x55\x5c\x5a\x59\xe3\x71\xdb\x73\x2c\x0b\x60\xeb\x41\x64\x25\xfc\x73\x7c\xc1\xd3\x56\xd9\x2a\xbe\xa2\x20\x88\xc4\xe7\xf1\x55\x90\x25\x0b\xcc\x29\x00\x29\xcc\xa2\xb6\x4a\x3d\xe7\x2f\xe8\xc3\x66\x28\x03\x32\x7b\x9f\x69\x78\x58\xc8\x4c\x39\xca\x65\x34\x78\x1e\x3d\x86\x56\xcf\x6f\xc0\xcb\x7b\x9d\xde\xdc\xbb\x3f\x8f\xc9\xed\xe7\x26\xaf\x7f\x03\x0a\xf3\x7b\x28\xf2\x63\x1a\x43\x8c\xbc\xc5\xba\xfc\x9c\xab\x6c\xf0\x9d\xce\x05\xc0\x36\xb6\xb8\x97\xbf\x9c\x3e\x5e\x6b\x62\xca\x1f\xdd\xc6\xf9\x09\x67\xda\xe2\x5c\xde\x4d\x59\x97\x9b\xf1\xae\x1a\x81\x65\x1a\xaf\xcb\x07\xfe\x98\x80\xe0\x1f\x29\x06\x3f\xa4\x76\x70\xce\xab\x55\xed\xe7\xcb\x6d\x6b\x5d\xfb\x5b\xab\xda\x4f\x17\xf5\xb5\x35\xed\xa7\xac\xc3\x6d\x5d\x30\x59\xb3\x5b\x6b\xda\x52\x74\xc6\x45\x3d\xbe\x89\x2e\x6a\x9f\xe2\x90\x28\xb4\x6b\x86\xff\x0f\x60\xa1\x8f\xcf\xda\xf7\xec\xbf\xfe\x79\xbd\x9b\xb2\x55\xab\xc8\x76\xf8\x36\x36\xf8\x58\xae\x6e\x0b\x72\xdf\xdf\x93\x0d\xd8\x16\x9e\x6e\x0b\xbe\xd9\x7e\xe3\xed\x42\x95\xe7\xfd\xbd\xad\x94\xdc\x78\x0b\x95\xe0\x36\x78\xcb\xc7\xf6\xfe\x26\xd3\xfe\x4f\xee\x61\xe5\xad\x0a\x4b\xb6\xf9\xb3\xde\xfb\x61\x4e\x57\xf6\x8b\xc6\x94\xff\x74\x25\xe5\xff\xbc\x61\xf4\x5e\x31\xca\xef\xc9\xc9\xbf\x1d\xb5\xfd\x43\x66\xf7\x23\xc5\xbf\xe8\x1f\xbe\x99\xfe\xca\x6c\xe1\x0d\x7f\x62\x27\xf1\x74\x60\x1f\x13\x71\xff\xf0\x8d\xcc\xd7\xa2\xef\x1e\xff\xb4\x8e\xe7\xd3\xaf\x5f\x7f\x71\x7f\xf9\xfa\x7f\x6f\xd8\xcf\xef\xc4\xd9\x8b\x41\x8c\x2f\x3b\x4a\x5e\x9e\xad\x00\x1a\xe7\x7a\x4c\x54\xd8\x25\x6a\xe1\x07\x55\x13\x53\x75\xc0\x62\x66\x3e\xfc\xde\x0f\x13\x52\x00\x50\xbd\x5f\xb9\xd2\xc9\x87\x67\x80\xe0\xa7\x7a\x0c\x54\x3c\x30\x26\x64\x19\x34\xb1\x51\x26\x6c\xf6\xe2\xcd\x8a\xca\xa1\x1e\xd5\xe2\xc5\xc3\x87\x5f\xfc\xf8\xd3\x5f\x6f\x24\xdd\xbe\x5b\x79\xa3\x0d\xac\x1a\xf1\x9c\x7d\xf6\xf9\x78\x6e\x54\x81\x7a\x7f\xc4\x74\x3b\x9d\xf9\x45\x32\x31\x82\x36\x7c\x45\x45\x42\x94\x5f\x59\x79\x57\xeb\x71\xeb\x14\x5b\x64\xd6\x43\x18\xb1\xb3\x37\x7f\xb8\x00\x40\x69\x10\x62\x61\x11\x51\xe0\x0d\x51\x58\x6d\xc9\x28\x83\xce\x7a\x13\x24\x42\xf8\xd5\xb4\xe2\xca\x86\x65\xef\x96\x29\xa9\x18\x9b\x76\xdc\x3a\xd5\xe9\xea\x23\x6f\xfe\x2b\xfe\x7a\x6c\xd2\x2b\x59\xce\x61\x29\x5b\x4b\xf0\xd9\x16\xf9\xc0\xa2\x9c\x20\xe8\xbc\x2d\xb5\xed\x3e\xe3\x1b\xb3\xca\x7d\xc2\xb7\x88\xa1\xa3\x69\x7e\x70\xca\xed\xc5\x1f\xad\x27\x24\x7e\x3d\xe5\xfe\x3c\xe3\x58\xe5\x03\x20\xc8\xb7\xa6\xdc\x5f\x66\x7c\x63\x56\x7d\x9f\xf0\x2d\x62\xb0\xad\x80\x0f\x4e\xf9\xef\x7f\xff\x08\x57\xc7\x4a\xdf\x5a\x7f\xca\xd7\xb1\xca\xc1\xd6\x87\x25\x5b\xf7\xe7\x42\x8f\x9b\x9c\xdb\xcf\xd8\xfa\x82\xe7\x7b\xea\xf9\x3b\x1f\x7c\xed\x8f\x30\x75\x5b\xe7\x1b\x2f\xae\x6c\x1d\x4b\xdc\xd8\xfa\xb0\x64\xeb\x7a\x5d\x73\x17\xb6\xbe\xe0\xdc\x7e\xc6\xd6\x17\x3c\xff\x4c\x52\x1f\x78\xf1\x6f\xef\x08\xf2\x79\x30\xaf\xa0\xc2\xc2\x16\x5a\xc7\x12\xe8\x62\xf1\x8a\x57\x40\x35\x78\x0d\xaa\xe1\x89\x73\x1c\x26\x8f\x9a\x27\x9d\xdb\x09\x96\x1f\xd8\x89\x0d\x64\x8f\xb2\x42\xf6\xb8\x2b\x0b\x7d\x36\xa4\x77\x96\x5f\x06\xfc\xc9\x3b\x98\x18\xf3\xf7\xb8\x07\x72\x23\x9f\x11\x37\xb4\xf5\xb7\x05\x12\x0d\xb4\xaf\xb8\xbc\xf7\xa3\xcf\x64\x3e\x3f\xb4\x8e\x0f\xbd\x77\xc4\x6e\x2b\x17\x4b\xd3\x56\xe5\x46\xde\x82\x3a\x46\x79\x44\x5f\xd3\xf1\x5c\xff\x67\x25\x2b\x6b\x3a\x6e\x9d\xbb\xdc\x0c\x91\xac\xdf\xe5\x88\x99\x1f\x40\x05\x0b\xe8\x83\xfa\x87\x77\x82\xc3\xb5\x5e\x7c\xd7\x98\xde\x5b\xb7\x36\xeb\xbc\x2d\xd7\x84\x8a\x6a\x46\xd5\xac\x65\x5c\x25\x54\x2e\x3e\xae\xcf\xf0\x28\xe2\xf9\x39\x22\x5a\xb4\x0e\x63\xeb\x2b\x6c\xad\xe5\x43\xf9\x07\x3c\xb4\xd9\x43\x91\x44\x5f\x9d\xd0\xf7\x0d\xd9\x3b\xfa\xce\x7c\xe5\x4a\x90\x35\x05\xf8\x29\x01\x6c\xcc\xf1\xc8\x6c\x36\x89\xc3\xbb\x19\x05\x18\x2b\x64\x14\xee\xbd\x46\x88\xf2\xc7\x77\xa3\x5c\xed\xc6\xf7\x0d\xeb\xbd\x20\x2d\x71\x41\x8a\x7c\x26\x8a\xad\x6a\xee\x46\x13\x1b\xe4\x62\x18\x65\x46\x15\xc6\x0e\x01\xf6\x1d\xd7\xa4\x58\x57\xcf\xe4\x1f\xf0\xcc\xce\x0e\xe1\x7d\xbd\x3c\xf4\xde\x21\xbb\xa5\x86\xad\x65\xb2\x31\xc5\x95\x1d\x9c\xdd\x45\x1e\x2e\x64\x1e\x4f\xe5\xe1\xd6\x06\xc5\x14\x62\x0b\x0c\xb1\x8b\xc3\xe1\x22\x0e\x97\x9d\xa8\x7f\x68\x27\x8c\x21\xae\x7b\xf1\x1d\x23\x7a\xb7\x48\x2e\x73\x9c\x2b\x3e\x8b\xb9\x0d\x21\x88\x8c\xa4\x2e\x1e\xe7\x82\xd3\x00\x02\x46\xc0\x2d\x63\x87\x63\xeb\x6b\x91\x0c\x86\xb8\xbc\xf9\xa3\x0f\x6d\xe7\x87\xa2\xf9\xbb\x06\xec\x9d\xe0\xe9\xf7\x62\x4f\xe5\xae\x60\xe3\x1f\x14\xdd\xfc\x88\xe2\xfb\x4e\xa4\xf2\x3b\x01\xa3\x7c\x57\x08\xf0\xed\x48\xe2\xc7\x7b\xfd\x97\xaf\x77\x43\xeb\x0d\x69\x57\x86\x32\xf6\x31\x0e\xf6\x07\xfa\x77\x47\xf6\xc6\x3f\x4b\xf0\xf9\x65\x58\xee\xac\xec\x71\x06\x16\xd7\x8e\xf8\x4f\x1d\xc4\xd5\xd7\x21\xfc\xd9\xc3\xc3\xef\x0e\x0c\xff\x71\x41\xe0\xf7\x11\xe5\x1d\xbe\xf5\x77\x83\xad\xef\x7b\xd2\x61\x77\xbc\x01\x45\xfc\x8f\x88\x8a\x07\x50\xd8\x89\xdb\xee\x7e\x0a\xbe\xef\xad\xfe\x88\x00\xf6\xde\xd9\x30\x27\xca\x9b\x34\x78\xa3\xb3\xc7\x9f\xff\xfe\x9f\x5f\x77\xbf\x3e\x5a\x7f\xd0\xd2\x96\x16\xe8\xbb\xc5\xca\x6c\x07\xa0\x8b\xad\x20\xd4\xd2\x4d\x08\xb5\x00\x58\xb1\x35\xce\x19\x90\x12\xb7\x20\x14\x0d\xe7\x2c\x3c\x71\x39\x39\x92\x55\x9d\xed\x64\xbb\x90\xba\x8a\xdf\x5e\x2b\xf4\xea\x40\x69\x59\xb3\x1f\x57\x65\x5c\xb5\x9b\x9f\x72\x4c\x25\xa8\xee\xb7\xc6\x4a\xfb\x9e\x4d\x66\xb9\xb5\xc9\x9c\x6e\x97\x57\x67\x92\x0c\xe4\x5a\x7b\xeb\x39\x14\xb3\x95\xe3\xce\xb4\xfc\xd9\xf0\x0f\x17\x65\xfe\xf1\xdd\xde\x72\xf1\xbb\xeb\x55\x75\x1f\xab\x0c\x71\x26\xa2\x87\xcb\x7d\x34\x6c\x94\x51\x29\xd7\x36\x8b\x7b\xa9\xfe\x8d\xdd\xe2\x7c\x65\xb7\x38\x80\x06\xaf\xee\x4b\xeb\xb3\xf6\x96\xb3\x9e\x0a\x65\x71\x40\x97\xd1\x41\x3f\x24\x4c\x96\xc1\x59\x11\x33\xc5\x60\xa7\x06\x7e\xfb\x12\x01\x8c\x76\x6d\xeb\x79\x2c\xce\x7f\x2f\x1e\xfc\xf5\xb2\x20\x72\x22\x49\x9f\x51\x32\x38\x46\xd4\x56\x8e\x03\x32\x29\x4a\x1a\xe2\x41\x55\xee\xcf\x51\xa9\x48\x7f\x0d\x76\x12\x8b\x4e\x94\xce\xc7\x32\x56\x87\x74\xe2\x83\xfb\xe0\x9c\x62\xc7\xf5\xa7\xff\x11\x0c\xe2\x1f\xb5\xc6\x94\x11\xd5\x55\x3a\xc1\x79\xb7\x37\x59\xe1\xbc\x58\x50\xd6\x17\x87\xf5\x75\x7d\x53\xdd\x8a\xbf\x2e\x5c\xd4\x83\x3f\x66\xb7\x91\x6e\xf0\x63\x08\xe1\x5f\x7f\x91\x27\x1b\xd6\xc9\x0a\x7a\x45\xb8\x78\xb8\x16\x7d\xfb\x07\xc6\xde\x7c\x68\xc6\xbe\xfe\xfd\xff\x7b\xbc\x60\xcf\x3f\x76\xe9\x9e\x16\xc9\x68\x63\x39\xaf\x9b\x10\xcc\x4b\x91\xbc\xc0\x66\x48\x37\x21\x21\x54\xac\xee\x89\x85\xa9\xc6\x4a\x35\xf5\xaa\x29\x25\x48\x87\x72\x5e\xe8\x02\xfe\xac\x0a\x8c\xf7\x5e\xc1\x93\x88\x1b\x75\x0d\x4e\x6e\x3d\x2a\x7f\x42\xce\xf4\x2e\xe2\x7d\x19\x9a\x4e\xfc\x84\x50\x11\x88\xdb\x0e\x71\xb3\x88\x67\xa4\x05\xac\x68\x43\xcc\x5e\x19\x70\xdb\x6c\x0f\xb9\x47\x5d\x5d\x6d\x67\xbe\xd3\xde\xa1\x47\xbf\xe0\xe9\xf3\xdc\x29\xbb\x65\xbb\x9a\xaa\x00\x52\xa0\x57\x96\x59\xb6\x88\xa0\xaf\x4c\x21\x1e\x05\xce\x96\xb6\x76\x02\x9e\x7d\x84\xae\x8b\xee\x58\xf4\xdf\x38\x92\xc0\x6d\x09\x27\x47\x3e\x68\xeb\xb1\xea\xbf\x3e\x29\x52\x1c\x25\xe1\x23\x8a\x56\x90\xe7\x00\x70\x5f\xc8\xf4\x65\x48\x50\x7f\xcc\xd8\x8b\xa7\x79\xc4\x9f\x7d\xbd\xcb\xeb\x33\xe7\x04\x0f\x17\x92\x30\x90\x6d\x4a\x4f\x11\x5a\xc9\xa8\x71\x98\xfe\x01\x4a\x8a\xca\x4f\x3f\x9f\xd5\x94\x51\x6d\x91\xb3\x52\x72\x58\x4f\xb7\xf2\x8a\x35\x3e\xf7\xc9\x85\x6b\x61\x54\xe0\xe6\x6e\x64\xe7\x0e\xfc\xdc\x8d\xfc\x5c\x55\x22\x65\x05\xca\xd1\x5d\xe7\xe8\xae\x73\xf4\x1b\xa5\xe1\xd6\x22\xa7\x07\x7b\xe5\x2b\xc1\x5e\x40\x80\x76\x9b\x85\x07\x37\xe9\xe9\x0a\xea\xc4\x52\xf5\x1b\xe9\xbf\x87\x36\xf2\x49\x45\x8f\xbb\xa9\xbd\x9d\xd7\x24\xa2\xfe\xd2\x56\x9d\xe0\xb0\xb1\x04\x82\x2a\xb1\x2c\xd7\x6a\xf1\x6e\x2c\xbe\xb0\xbd\xf4\xf0\xd8\xba\xf5\x58\xd9\x5a\x79\x6f\x5f\x38\x0f\x6d\xa3\xba\x07\x86\x29\x12\xb7\xe3\x46\xc1\x92\x79\x51\x92\x49\x68\xbd\x12\x85\x5c\x36\xdf\xa0\x0b\x6d\x85\xdd\x5b\x78\x86\x7d\xad\xa4\xfc\x85\xdb\xa3\xab\xe9\xeb\x2d\xac\x8f\x65\x0d\x0c\x08\xc3\x35\x99\xbc\xb0\xa8\x3c\x93\x1a\x89\x33\xa5\x18\x29\x72\xa2\x5c\x8e\x91\x8c\xd2\xa6\x3b\x60\x06\x66\x13\xe2\x33\xf7\x62\xd3\x29\xe4\x97\x74\x6f\x15\xe4\x7f\x0e\x98\x3e\x8c\xea\xbd\xd8\x47\x00\x60\xdf\x18\xd4\xba\x3d\xa6\xe8\xfd\xb5\x31\xad\x16\xc6\x1a\x0c\xe6\xfc\x4f\x8f\xd3\x86\x71\xd2\xbe\x3d\x6c\x8b\xfd\x30\xf7\x2f\x25\xb7\x0c\xc9\xfb\xb1\xc4\xfd\x88\xd2\x3b\x19\x9e\xc7\x2c\x94\x77\x1c\xc1\xdb\xa1\x59\x3f\x8a\xf8\x1e\x7a\xe3\xdf\x1f\xa5\x84\x84\x30\x84\x40\x29\xd5\x5d\xa5\x9a\xe3\x60\x47\x4b\xd7\xa8\x2d\x39\xd4\x08\xa9\xa8\xa2\x65\x47\x3b\x15\x00\x13\x27\x4d\x15\x39\xef\x5b\x3f\xf6\x94\x3f\xec\x5a\x15\xaf\xb2\x5e\x32\xa0\xbe\x80\xf4\xd5\x6f\x65\x98\x3b\x25\x84\x4f\x4a\x7a\x6d\xb0\x23\x6e\x8d\x03\x27\xf2\x2d\xee\x96\x67\x3a\x60\x5d\x24\x2e\xf1\xd3\xbc\x41\xae\xc4\xa1\x0e\xc2\x4f\x55\x2f\xd7\xd7\x40\x52\x8c\x1e\xbd\x41\x8e\x17\x00\x28\x87\xcc\xfa\x0a\x25\xf7\xa3\x37\x10\x00\x69\xaa\xc3\x65\x80\x00\xf8\x2c\xfd\x08\x89\xd0\x52\x70\x4d\x0d\xb3\x4a\x2d\xc4\x7e\x34\xab\xb2\x15\x27\xd4\x42\x7e\x7b\xa5\x84\xc8\xdd\xc8\xbb\x02\x98\xad\x72\xc1\x65\x0e\x24\xb5\x01\x7d\xab\xe9\x1c\x67\xe9\xc7\xee\xe1\x69\x3a\xf3\x0d\xe6\x7f\xea\x47\x4b\x7c\x2a\x00\x79\xf7\xb8\x3e\x94\xda\x8f\xa6\x92\x58\xed\xfa\xc0\x87\x46\xe2\x65\x17\x29\xa8\x02\xd6\x9f\x18\x80\xed\xcd\x24\xb5\x0e\x91\x22\x20\x87\xa3\x0d\xa1\x6a\x9e\xd5\x05\x62\xae\x7b\xe8\x45\xc5\x2a\x3d\xeb\x24\xda\x2d\x76\x72\xd1\xa2\xbb\x34\xd9\x0e\xf6\xb1\x10\xdb\xa2\x4a\x58\x46\x89\x12\x4e\xfd\xd8\x93\xc4\x7c\x89\xaa\x22\x67\x7d\x39\x5f\xfa\xb1\xb7\x9a\x45\xb5\xb2\xc6\xfa\x72\x08\x09\x0b\x23\x80\xa2\x55\xe6\x0e\xfc\x18\xce\x31\x16\xc3\xa3\xc1\x7e\x2d\x00\x7e\xbd\x84\x5d\x26\x8f\x3a\x29\xde\x0a\xa5\x70\xb6\xb2\xf5\x96\x7a\xdb\xda\x78\x34\x03\x3d\x01\xe2\x5e\x6a\x3c\x90\xd4\x3d\x03\x15\xd3\x0f\x42\x4c\x11\x00\xef\x35\x01\xcd\x5d\xc7\xd6\x23\xce\xcf\x9f\x61\x2a\x12\x15\x1f\x3e\x45\xf2\x49\x39\xaf\x1e\xd1\xa4\xd2\x9e\x5a\x26\x4f\x99\xbc\x64\xed\x4d\x28\x83\x1d\xfd\x88\x5d\x91\x1d\xd6\x63\x26\x15\x3c\x76\xec\xb9\xb0\x22\x01\x28\xec\xe8\x65\x95\x7e\x04\x49\xe7\x18\xd5\xb2\x11\xa4\xef\xdb\xc1\x16\x2d\xf8\x51\x4b\x41\x09\x1a\xa5\xcf\xa3\x4f\xbb\x48\x09\xb8\xd7\x72\x9e\x51\xb6\xfa\x2f\x4a\x57\x46\x63\x63\x19\x0d\xed\x90\x0a\xb8\x22\x7b\x2a\x9c\x29\x46\x40\xad\x47\x21\xd4\x1c\x0b\x35\x53\xae\x07\x44\x86\xee\x29\x63\xf9\x31\x90\xcf\xd5\x82\x1e\x98\xaa\xa3\x12\x65\x27\x94\x30\x64\x7a\xf4\x1d\x7d\x20\x15\x54\x2d\x4b\xdc\x8f\x9d\xe3\xe2\x8e\x70\x70\x54\x97\x7a\xa9\x91\x24\x7f\x8a\x14\x51\xa9\x28\xf6\xda\x43\x8d\x58\x49\xbb\xc4\x1d\xca\x80\x0e\x76\xec\x44\x97\x2b\x3b\x6a\xf9\xc1\xdd\x93\xaf\xdf\x7e\xfa\x8b\xdb\xef\xfe\xfe\xdb\xcf\xf7\x02\x0f\xc0\xab\xa2\x56\xf0\x2c\x6d\x11\x35\x73\x50\xa0\xa4\x4d\x0b\xf8\x30\x35\x5b\xf8\x12\x07\xab\x7a\x35\x9e\x40\x09\x1f\x49\xb3\x01\x18\xaf\x85\xd9\x12\xda\x60\x47\x68\x28\xe3\x43\xdf\xbe\xb0\x2a\xff\x2b\x60\x95\x02\x70\xd0\x5c\xa7\x90\x9f\xda\x9e\xdb\x78\xb6\x57\xf2\x9d\x3d\xdb\xbb\xf3\xb5\x2b\x1f\x5d\xc4\x8e\xfe\xbb\xd8\x2f\xa6\x2e\xaf\xea\x19\xab\x48\x39\x70\xa1\xb4\x42\x41\xe8\x7f\x9d\xd6\x2e\x25\x16\x78\xc9\xe5\x6c\xf6\x4d\xcf\xa9\x4c\x3e\x57\xe3\x7a\x33\xcb\x36\x52\xfa\x2c\x30\x66\x55\x4b\x19\x92\x9a\x0a\xd2\x7d\x59\x72\x6b\x57\xa7\x3c\xbc\xab\x83\xae\x7d\x40\x15\x9c\x92\xdd\xa3\xda\xce\x86\xdb\x54\xcc\xe5\xa4\xbc\x6d\x39\x8f\xb9\xe7\x46\xad\x53\xf0\xfb\x9f\x4f\xb2\x6e\xcf\x9b\xa1\x79\x72\xed\x9d\x94\xbd\xed\x32\x28\x7c\x2d\x63\x6f\x73\xcf\x44\x1f\x60\x45\xf7\xe3\x0c\xbc\x81\x3d\xb4\x1d\x21\x2e\x6d\xee\x60\x45\x05\x0e\x25\xd1\x29\x8d\xe8\xda\x8a\x28\x46\x30\xf7\xe6\x8e\x17\x7f\x62\x12\x73\x16\xc7\x70\x71\x6e\xc2\x49\xc7\x7e\x80\x5b\x6b\x5e\xf2\x54\x10\x2f\xa5\x4a\xca\x3c\xb6\x11\xc5\x2f\x56\x4f\xf7\x7e\x58\x3c\xdd\xbb\xc9\xc5\x8b\x42\xcc\xfd\x89\x8f\x8b\xcc\x77\x00\x2c\xe7\x9c\xcb\x43\x42\xf8\x98\xa1\x6d\x41\xd9\x1a\x95\xbb\x24\x94\x4c\x61\x92\x7e\xb4\x05\x1c\x31\xf2\x11\x89\x02\xe6\xff\xd3\xa3\x8d\x7f\xf5\x32\x04\xe2\xbc\xa5\x2f\x06\xca\xa8\x85\x12\x24\xab\x1c\xe3\xd8\x8f\x7d\x40\x03\x4a\x52\x14\xfc\x1a\x53\x3f\x1a\x17\x4c\x70\xd4\x37\xab\x78\x21\xfd\xd8\x49\x55\x25\xb2\xa8\x8a\x3a\xe3\x9b\x19\x2e\xf9\x50\x54\xe6\x85\xca\xfd\x68\x3a\x19\x4b\x83\xfc\xcb\x7b\x00\x34\x37\x4a\xad\x01\x3a\x19\x35\xd0\xac\x18\xed\x4e\x55\xfe\x30\xd8\x71\xb4\x0b\xc4\x09\x25\xee\x25\xd9\xfa\xb1\x4b\xd3\x82\x96\x6a\x31\xc5\xaa\x2e\xa5\x58\x51\x7e\xa1\xaa\x51\x12\xee\xc7\xde\x68\x0e\x4d\x55\x00\x6f\xda\x26\xf7\x63\x6f\xb5\xa2\xea\xb5\xaa\x03\xaa\x37\xda\x01\xa7\x32\x95\x10\x29\x37\x81\xb2\x39\x1e\xfb\x5d\x10\xba\x11\x7a\x6a\xb2\x83\xad\x29\xed\x6e\x46\x02\x57\x21\x9c\x8e\x6d\x1c\x91\x80\x31\x2c\x65\x2e\x7b\x80\xf9\xc0\x59\x55\xf0\xd6\xec\xd0\x07\x3d\xe5\xec\x02\x85\x10\xa0\x63\xdb\x01\xac\x38\xfa\xe8\x2a\x71\xc5\xe5\x85\xfb\xd1\x77\x90\x9b\xa0\x3a\xa8\x2a\xed\xb5\xd6\x7e\xec\x3a\x78\x42\xf5\xdd\x45\xcc\x2c\x72\xe2\x39\xfe\xf7\x24\xc5\xbf\xcf\xb0\xcf\x4b\xed\xce\x80\xd9\x86\x5d\x88\x7f\x9c\x4a\xea\x28\x67\xa4\x5d\x85\x36\x9b\xd7\x8a\x62\x51\x92\x65\x58\xaa\x68\x14\x59\x6d\x87\x06\x06\xb6\xad\xa5\xc9\x75\x2d\x4d\xb6\xb5\xb4\x70\x55\x4b\xab\xaa\xa5\x0d\x6b\xcd\x14\x1e\xbe\x98\xf3\x4a\x35\x55\xdd\x13\x8c\x41\x16\x93\x9e\x0c\x2b\x28\xaf\xb4\x64\xa7\x46\x8c\x2b\xd4\xa4\x5e\xd3\x93\x97\x54\x87\x94\xfc\xf6\xd1\x94\x7c\x7e\x28\x25\xff\x2e\xa2\xfb\xcb\xd7\xff\xfb\xcb\xf1\xeb\xee\x5e\x34\x49\x15\x92\x40\xd7\xe7\x34\xe7\xf1\x5e\x57\xaa\x0f\xe0\x08\x8b\xd5\x6a\xb8\x2e\x01\xa6\xab\xae\xee\x64\x07\xe3\x23\xd1\xab\x01\xdd\xd7\xf8\x85\x2f\x78\xb0\x85\x01\x6c\x61\xa6\x72\x02\x9c\x3b\xd7\x39\xd7\x51\x2e\xc2\x41\x4d\xef\x52\x0a\x8c\x69\x3b\x80\x8b\x84\x50\xdd\x99\x53\x4d\xd9\x1b\x0b\x29\x83\x36\xee\x36\xe1\x88\x0c\x86\xe8\x46\x8e\x38\xe5\xa3\x0c\x36\x3a\x8c\x6c\x74\xc6\x80\x59\xad\xa8\x01\xec\x77\xa6\x93\x48\x56\x76\x7d\x00\x2b\xdf\xf3\x40\xde\x63\xd7\xa6\x50\x80\x50\x8f\x59\x59\xfd\x52\x44\x30\xca\xaa\x8d\x12\x22\x62\x37\x45\x8f\x46\x86\x56\x63\xb3\x49\x40\x59\x00\x6a\xa8\x05\x25\x98\x16\x8c\xc4\x00\x89\x34\x53\x8d\xb2\x2f\x83\xc9\xb0\x85\xd8\xf3\x58\xf4\x0e\x52\x6f\x29\x2d\x3d\x25\x01\x89\xf1\x52\xc6\x62\x69\x05\xf0\xed\xd2\xa5\xf2\x28\x9a\x61\xc5\xa3\x46\x57\x90\x72\xc0\x82\xde\x2d\x64\x3b\x18\x80\x17\x95\x55\xa9\x2d\x95\x02\xbd\x3f\x86\xac\xb2\x87\x57\xe9\x23\x83\xc8\x81\x3c\xcb\x6c\x67\xcd\x53\x42\x5d\xa9\x90\x8e\x57\xb3\xe9\x7a\xb6\x9d\xc0\x80\x0e\x2a\xb6\x5f\x58\x36\x7d\xc5\xa7\x4c\x99\x63\xbf\xd4\xe1\xd2\x75\x6e\x1e\x5a\x8b\x24\x11\xd3\x83\x42\xf1\x97\xcd\x3c\xed\x4f\x22\x09\xe5\x89\xef\x8b\x56\x9f\xaf\xc4\x3b\xb3\x77\x90\x81\x48\x2c\x2b\x09\xa0\x03\x18\xb0\x4b\xf5\x69\xc6\xa5\xbc\xf2\x69\x5d\x52\x50\xa6\x5a\x35\x37\xc0\xd8\x63\x38\x69\xa6\x3a\xe8\x58\x67\xd4\x78\xa1\xf2\x4d\xe9\xc7\x4e\x84\x35\x3b\xb0\xcf\x4f\x33\xa6\xcb\x91\x22\x98\x7d\xa9\x4b\x46\xcd\xe0\xd3\xd4\x32\x0f\x0b\xe6\xce\xe8\x9a\xa0\x3c\xc1\x6a\xed\xf0\x81\x6a\x98\x39\x07\x46\xdf\x80\x1a\xfa\x4b\xd7\x00\x3b\x15\x3c\xd0\xf0\x66\xeb\xb0\x62\x81\x08\x0a\x76\x79\x89\xfd\x68\x6b\x23\xc3\x5f\x1d\xda\xb0\x70\xb8\x8c\x6a\x93\x4a\xc4\x83\x23\xa9\xbb\x85\x44\x05\xc9\x78\xe5\x22\x52\x93\x41\x1f\xf6\x63\xbf\xbb\x05\xd4\xe2\x90\xb6\x48\x3e\x19\xca\x7a\x7f\x4d\x4d\x17\x5d\xe5\x60\xf1\xaa\xc1\x6c\x23\x3f\x29\x65\x96\x71\xb3\x7f\x4b\x72\xa8\xbd\x33\x3f\xbb\x29\x3f\x5e\xea\x74\xe7\xdd\x7a\x74\x3f\xb5\xe2\xfb\x2f\x3f\xff\xf2\xb7\xbb\x13\xf8\x2a\xc3\x1f\x5a\x21\x38\xa0\xb7\xe5\x51\x7a\x87\x54\x1c\x85\x8c\x62\xd5\x4d\xfa\x71\x74\xfa\xa1\x16\x41\xc9\xe9\xd3\x5c\x40\x50\x41\xd5\xe2\x90\x82\x72\x97\x6c\x6e\xda\x91\xd9\xa1\xfa\x75\xf2\xb8\x3c\xd5\x7e\xf4\x1d\xd7\x52\x25\xe7\x38\xe0\xbd\xa9\x30\xe2\x1e\x16\x94\x88\xb7\x63\x17\x2c\x39\x05\x14\x5d\x35\xc1\x92\xfa\xb1\xeb\x03\xd1\x15\xe2\x4f\x73\x61\x34\x1a\x09\xb8\x23\x40\x88\x04\x7b\x1f\x55\x42\x59\xd7\x46\xde\x15\x0a\x19\xde\xcd\xd1\x9a\xe1\x4a\xc1\x43\xe0\x40\xa8\xc4\x2e\x54\x82\x9a\x53\x2a\x2f\x1a\x74\x70\x91\x7e\xf4\xbd\x6a\x83\x4a\x1c\x91\xf9\xa2\x41\x0f\xf7\x16\xa9\xa2\x66\xbc\xaf\xa2\xb2\x79\x88\x24\x6c\x6e\x62\xd5\xa1\xba\x4c\xe9\x5e\x8f\xda\x20\x12\x60\x89\xc0\xd3\x11\xc6\x52\x2f\x62\x95\x4d\xa9\xf8\xd9\x63\x02\xa2\x10\x10\x88\x56\xd3\x78\xb4\x21\x4e\x18\x31\x31\x06\x63\x26\xd8\x68\x89\x37\x57\xa8\xd6\xbd\x52\xb7\x60\xa7\xc3\xa1\x4a\x87\xfe\xdd\x94\x71\x5b\xe9\x1a\x91\x2d\x89\xd1\x02\x18\x1b\x1c\xee\x62\x87\x51\xdc\x64\x54\x80\xf4\xcb\x5a\xd5\x91\x7c\x60\x14\x49\x5f\x25\x1c\x66\x71\xa3\x12\x36\xe2\xc4\xcd\xde\x0e\x81\x60\x31\x1f\x13\x64\x26\xf7\x42\xc4\xad\x0f\xcd\x22\xeb\x8e\x0d\xcf\xae\x1e\xb5\x31\x97\x16\x65\xc5\xd5\x58\x42\xf5\x11\x01\x12\x5f\x60\x14\x14\x0a\x28\x7c\x5d\xb4\xd5\x5a\xdb\x23\x0b\xef\xdf\x72\xe2\x5f\x5e\x4e\xa8\xa2\x1c\xc0\x99\x97\x11\x9e\x6c\xfc\xdc\x14\x95\x92\x86\xb0\x20\x5f\x78\x1a\xb9\x1e\x03\x45\xdf\xcb\x65\xea\x12\xca\xaa\xbc\x72\x5c\xd2\xaf\x89\x16\x8e\x47\x08\x8f\x25\xf5\x32\xbc\x93\x5c\x9f\x0b\x00\xfa\x9a\x2a\xed\x47\x34\xe6\xd0\xd8\x77\x10\xef\xf7\x44\x48\xfc\x51\x96\xc6\x1e\xbb\x0e\x35\xa3\x36\x32\xca\x6b\xfa\x88\x82\xba\xa8\xd2\x9b\xf3\x22\xc7\x18\x95\x40\x5b\x2d\x7b\x67\x6a\x66\x86\x32\x89\x40\xbf\x8c\x62\xac\x19\x39\xc7\xd2\x76\xff\x83\x0c\x0f\x54\x2b\x8d\xfd\xd8\xd5\x8f\x50\x50\x71\x6d\xb6\x32\x2b\x0a\x08\x09\x72\x61\x6b\x4b\xfd\x68\x54\x57\x83\x8e\x1b\x9b\x03\xef\x4f\x66\x76\x7c\xe9\x41\x65\x75\xdb\x44\xd8\x0c\xe0\xa4\xbb\x62\x44\x54\x28\x71\x3c\x39\x6a\x01\x1b\xae\xbe\x54\x8a\xac\xb6\x2b\xf6\x42\x88\x73\x02\x15\xf3\xa7\x40\x4d\xd9\xf0\xc8\xf9\x64\x68\xbb\xf9\x4f\x42\x15\xbc\x5d\xb0\x55\xc8\x52\x06\x3b\x76\x7f\xbc\xea\x0e\x35\x9c\xa8\xad\xd0\x77\xb1\xf3\x53\x4e\x71\x03\x7a\x8f\x2c\x10\xd7\x95\xd5\xb9\x3c\x60\xdf\x04\x81\xaa\xcb\x06\x95\xfe\x43\x7e\xfb\xd2\x28\x0d\xf6\x72\x5c\x7a\x60\xad\xa0\xc2\xb2\xf2\x6b\x14\xac\xab\x21\x7c\x12\x8a\x70\xfa\x9e\x5f\x0c\x69\x11\xc0\x22\xc7\x4e\x89\xde\x84\x58\x80\x0c\x2d\x2d\x16\x55\x1b\x83\x36\xa0\xe3\x13\xa5\x7f\xab\x21\xbc\x70\x1c\xa3\xaf\x11\x9e\xbb\xa9\x51\x6f\x07\x94\x2d\xbd\x7d\xe7\xcd\x83\x25\x8a\x56\x0f\x7c\x2b\x1f\x00\xfb\xbb\xf0\xbe\xff\x0e\x99\x6d\xac\x2f\x53\xc9\x33\xbe\x26\x35\x3b\x54\xbe\x56\xe9\x6a\x87\xee\xe8\xd3\xe9\x2c\x6b\x8f\x19\x53\x13\xd4\xe0\xfe\x93\x09\xf2\xfe\xf8\x96\xe7\xfb\x27\x41\xb2\xea\xac\x10\xe0\x76\xe8\x3a\x28\x8a\x36\x14\x44\x33\xfc\x61\x52\xbc\x07\xc7\xcb\x66\x40\xd0\xe3\xec\x23\x81\x2f\x2b\x43\x93\x3d\xf9\x90\xac\xf4\x1c\x14\x4a\x09\x89\x02\xd4\xe7\x12\x2a\x71\x89\x8e\x82\x8a\x0f\xa5\x5e\x1f\xa9\x72\x76\xd4\xe2\x67\x15\xe1\x43\x26\xf6\x26\x40\x86\x3c\xd4\x21\xef\x09\x8e\x0b\x6a\x62\x59\xe4\x41\x35\x56\xb5\x62\x74\x55\x53\x8e\x42\xa9\x68\x0b\xd4\x22\x7e\x49\x5e\xaf\x80\x43\x9f\x59\x9f\x8a\xc0\x9d\xba\x4e\xcd\x40\xd8\x96\xa4\x93\xac\x39\x8d\xef\x51\xb4\x1b\xec\x04\x7b\x86\x4e\xce\x41\xff\xcb\x3d\x48\xcf\x10\xb8\xa1\xbe\x7d\x29\xe4\x45\x86\xa6\x83\x21\x8e\x62\x55\x5d\x46\x1c\x30\xdf\xad\xc6\x79\x2d\x3b\x35\x0f\xf4\x9f\x11\x8b\xc4\xe4\x54\xec\xef\xad\xac\x61\x4a\x24\xa8\x4e\xae\x82\x8f\xed\xcb\x37\x8a\x12\xc8\xa7\xac\xbf\xe8\x0f\x7b\x6d\x87\x7c\x8a\x28\xd9\x17\x61\x19\x68\x1b\xa8\xce\x29\xb1\xa9\x51\x49\xd9\x67\x12\xd8\xb8\xbe\x96\x27\x74\xec\xed\x55\x8d\xb3\x7a\x85\x33\xc9\x15\xce\x74\x25\x96\x7d\x99\x00\x31\x8d\x88\xff\x18\x67\xfa\xfa\xd7\x1b\xf9\xb5\xef\xc5\x7e\xeb\x62\x58\xc4\xe4\x2e\x52\x90\xa2\xed\x92\xc4\xba\x53\x56\x30\xd4\x2e\xbe\x4c\x1a\x33\xf8\x3c\xb4\xb5\xc8\xfd\x38\x9e\x04\x8f\x69\xf5\x44\xde\x9b\x91\x1f\x07\x3b\x9e\x55\x8b\x68\x8a\x61\x43\xa0\x71\x1b\xd3\x4c\x48\x9a\xea\x43\xb9\xc4\x4f\xaa\x34\xc2\xad\x50\x6c\xe7\xcd\x62\xb5\x04\x61\x52\x7b\x4a\x11\x0c\xc6\x17\x14\xa0\x4c\xa6\xbe\x38\x12\x39\xca\x20\x0b\xa4\x99\x6c\x1e\x96\xe7\xf3\xfb\xbe\xbd\x72\x26\xb6\x70\x81\xf2\x1c\xa9\x44\x78\x55\x51\x1f\x32\x87\x46\x11\x36\x9f\x6f\xd4\x2c\x74\x42\x25\x5a\xf6\x41\xb5\xc4\x88\xc5\x77\x79\xd3\x04\x43\xa4\x06\xb1\x57\x2d\xe3\xfe\xde\xf8\xaa\x05\x0a\x97\x9a\x57\x5b\x41\x61\x11\xfa\xee\xa7\x02\x9d\xc8\x8e\xfd\x55\x25\x0c\xdc\x28\x3d\x21\x16\x2e\xec\x49\x1f\x48\xdc\xaa\x23\x1b\xa5\xec\xc8\x5f\x47\x84\x9f\x58\x21\x05\x3b\xb1\x7e\x61\x46\x6b\xa3\x83\x5a\xee\x78\xec\xf9\xd8\x77\x7c\xc1\x14\xe0\x4c\x49\x6c\x87\x1e\x06\x08\x07\x4c\xcd\x65\xed\xb4\xc8\x07\x1d\xe7\x3d\xc3\xca\xf7\x83\xa8\x2a\x07\x0f\x86\x34\x65\xf7\x42\x59\x99\x1c\xbc\x11\x5c\x32\x01\x2c\x3c\x61\xde\x62\x84\x26\x1b\x20\x62\xc2\xa8\x80\x57\x1d\x36\x4e\xf3\x3a\xb5\xa1\x06\x4a\x15\xaa\x65\xcc\xfd\x68\x92\x21\xb1\xb8\x84\xa0\xb5\x44\xb5\xb4\x7e\xec\xbc\x9d\x61\x05\xb5\x18\xf6\x3d\x4a\x2e\x07\x08\xc3\xa6\x26\x41\xcb\xc8\xf9\xa0\xe2\x59\x09\xd5\x0c\x0f\x7f\x0e\x78\x2b\x3e\xba\x48\xbe\x98\x6b\x2b\xf6\x23\x4e\x26\x1d\x55\x34\x7f\x1f\x54\xcc\x79\xc1\x3e\x9c\xac\xb1\x11\x44\x3f\x6e\x1b\x1d\x8d\x65\xcb\x0a\x5a\xe4\xec\x7a\x54\x8e\x8f\x03\xea\xb1\x56\x35\x4f\x1d\x25\xe5\x96\xd5\x51\x69\xca\xfb\x9e\xf2\x18\xaa\xe9\xcb\x60\xc7\x1e\x9b\xe6\x75\x71\xd5\x9c\x3e\x25\x2a\x15\xc9\x60\xd5\x6c\x0e\x24\x57\x79\x4a\xa1\xed\x92\x2e\xdb\xc1\x8e\xdd\xc7\x56\x10\x81\x58\x4e\x4a\xb5\xda\x6e\xf1\x3c\xd8\xd1\x7a\xce\x4d\xb5\x76\x9d\x99\xb1\xa0\x34\x36\x42\x28\x57\x6c\xcb\x52\xcb\xf5\x19\x2f\x2d\xf3\x52\x95\xdd\x11\x84\xc8\x93\x86\x78\x81\xa4\x44\x24\x4d\xb5\x21\xe9\x6e\x46\xed\x70\xa0\x0a\xdd\x5a\x3c\xf7\x63\x3f\x53\xb5\x4d\xce\xc9\x96\x2d\xa2\x50\x2d\x16\xd5\x88\x3a\xe2\x91\x2d\xef\x29\xa4\x4c\x85\x61\xd1\x30\x05\x94\x58\x36\x99\x09\xaa\x05\xb2\xcd\x18\x03\xa9\x77\x54\xb5\x2c\x0f\x89\x7c\x6b\xcf\x81\x12\xeb\xf9\x74\xa3\x9a\xc8\x79\xa5\x66\xc2\xe6\x7b\x4b\xb3\xdc\x25\xaa\x3a\x2c\xa9\xe6\x4f\x4a\xd1\x20\xeb\x51\x06\x33\x83\xf1\xe8\x78\xc6\xf1\xd8\x23\x0d\x95\xfb\xe4\x03\x49\x4a\x2b\xb3\xa3\x60\xcd\xb1\x1a\xda\x6a\x34\xdb\xb1\x4f\x06\x02\x80\x4b\xb4\x34\x67\x88\xd8\x9c\xa9\xb2\x23\x88\xc6\x59\x4d\x60\x90\x52\x94\xec\x28\xe6\xba\x27\x5f\xb2\x23\x09\xb6\xd4\x50\xbb\x18\x5f\x8a\xca\x7d\x55\x74\x32\x4a\x00\xc3\x91\xa6\xc4\xe6\x8b\xb2\x55\xc4\xc9\x4d\xcc\x09\x94\x4b\x93\xe8\x48\x6d\xc0\xea\x65\xb9\xb9\x6c\x51\x58\xaa\xc6\x84\x7e\xec\x37\x89\xcf\x08\xe4\x80\x51\x5b\xec\x70\x5e\xfa\xd8\x3e\x9a\x04\xbf\x81\x2e\x6b\x51\x12\xb8\x0f\xf2\x0e\xcb\xf6\xf7\xbf\xff\x7b\xa7\xf5\x9f\xd5\xe1\xf1\x3f\x6c\xa7\xb5\x9b\xa0\xe5\x1a\xc0\xe9\x71\xb2\x3b\x6a\x1b\xa6\x1b\x16\x8d\x6d\xa4\x4e\xb6\x5c\x17\x2d\xdd\x84\x40\x3d\xef\xe9\x1e\x1c\x79\x99\x67\x4b\xe2\x2c\x76\x58\x71\xf3\x64\x13\xf6\x32\x0d\x67\x94\xd4\xef\x5c\x9d\xff\xf6\xaa\xff\xcb\x7b\xd5\x51\xe4\x16\xf5\xb2\x36\x80\x11\xce\x9b\xaf\xd8\x8b\x5d\x51\xf5\x4b\xa3\xca\x97\x4d\xd4\xa5\x91\x30\x16\xeb\x86\xd7\x3e\xa2\xf2\x3b\xeb\xbf\x79\xbc\x02\xa2\x8c\xc8\xf3\xf6\x56\x6e\xaf\x1b\x79\x3f\xe5\xfe\xd7\xbf\xe3\x33\xff\x1d\x9f\xf9\x4f\x1e\x9f\x59\x61\x95\x2c\xc3\x33\x6d\x4d\x02\x08\x32\x53\xc3\xf6\x14\x9c\x93\xdb\x35\x32\x9e\x19\x4f\xe4\x8a\xeb\x86\xe5\x75\x6e\x72\x21\x8a\x9d\xf4\x58\x8a\xe5\x95\x23\x9a\xbc\x5d\xa9\x9a\x90\x36\xe9\x36\x9e\x7d\x36\x21\xbe\x63\xa9\xfe\x3b\xbe\xf3\x5f\x29\xbe\xd3\x5f\x8f\xef\x7c\xc6\x42\x61\x39\x32\xc4\xcd\x75\x62\xac\xd8\xa9\x81\x71\xbd\xba\x70\x46\x8b\x19\xa4\x28\x76\xa1\x5b\xb6\x38\x11\x3f\xa6\xbf\x1f\x37\x2e\xfb\xae\x00\xd1\xaf\x7f\xb9\xb7\xe0\x58\x84\x93\x2f\x20\x29\x6d\x9e\xf6\xa3\xf4\x52\x2c\xd4\x95\xf3\xd2\xef\x1d\x23\x3c\x46\x28\x79\xb0\x3c\xeb\xa0\x11\x53\x13\xab\xe7\xeb\x51\x71\x28\xac\xb1\x72\x94\x82\x8f\x56\x6f\x6f\xab\x5c\x44\x1a\x8b\xf1\xad\xeb\x45\x60\x47\xdc\xd7\xf4\x2c\x3c\x07\x3b\x36\xb4\xd9\x39\xd9\x7a\x89\xb6\xd4\x81\x9b\x5d\x0d\xab\x7e\xe9\xf2\x84\xba\xe1\x6b\xde\x7c\xa6\xf7\x17\x64\xe6\xc5\x39\xf6\x97\x9b\xd3\xb3\xcc\x30\xc0\xdd\xfd\xc8\xcb\x3a\x5f\x77\xb1\x97\xd6\xb9\x81\x97\xc5\x6c\xf9\x48\x29\x19\x8e\x02\x1c\x32\x8b\xe9\xca\x14\x62\x05\x90\xc2\xf2\xa4\xd3\xfb\xd0\xc0\x1b\x2a\x91\xaa\x6d\x1d\x37\xe6\x2a\x7e\x00\x5a\x39\x76\x68\x65\x6d\x7f\x05\x17\xed\x7a\xe9\x90\x0c\xdc\x89\xeb\xc0\xe6\xcf\x7a\x6f\xa1\xf8\xbd\x10\xe3\xdc\x71\xcd\xe3\x14\xd7\xfc\xdd\x09\x39\x1e\x7f\xda\xff\xf6\xf3\xd7\x5f\xbe\xdd\x09\x2f\x3e\xe4\x05\x78\x0e\xbe\xe4\x43\xde\x04\xbd\xc9\x73\xf0\x1c\xbb\xfb\xed\x0b\x7e\x68\x6b\xd4\x8d\xb8\x89\x78\x13\xef\xd9\x77\xe2\xad\xba\x7d\xc8\xf7\x93\x83\x6d\xde\xd6\xee\x4b\xcf\xac\x4b\x5a\x25\x8e\xf0\xa0\xb6\x43\x69\x37\x4f\x2e\x53\xf3\x02\x5e\x62\x84\x5d\x59\x64\xed\x49\x1a\xc4\xab\x4c\x29\x6d\xef\x54\xf5\x27\x78\xe5\xb1\x5b\xec\xc6\x56\x6f\x9f\x7e\x0a\xeb\x17\xe1\x59\xbd\x40\x6e\xd4\x2a\x0a\x17\xa5\x03\x49\xe6\xeb\x19\x7c\xf9\x36\x2e\xa3\xdd\xec\x7d\x41\x00\x1e\x9c\x63\x39\xe3\x53\x2e\x89\x83\xbe\x46\xf8\x35\x55\xf5\x72\xfd\xe4\xdb\x17\x78\xfc\xac\xf1\xf1\x02\x77\xbe\x02\x98\x4e\x8b\x9e\xcd\x01\xa6\xf8\x16\x28\xd6\xa4\x63\x6e\xec\x99\x1b\xbb\xe6\x2e\xe3\xd0\x73\x3a\x1f\x86\xb4\xf4\x8f\xd7\x4d\xbc\x0d\x79\x70\xff\xa2\xbb\x53\xd7\xf2\x08\x00\xd4\xc5\x41\x66\xda\x50\x71\x54\x0e\x86\xb0\x8d\x9f\x18\x4b\x2e\x1e\xdc\xe4\x37\x28\x33\x8e\x4a\x1f\xa9\x42\xfe\x72\xb9\xb7\xcb\x85\xa6\x3f\x39\xb4\x20\xf7\xac\xb7\x5b\xc9\x97\x19\xcb\x0d\x9e\x73\xa6\x1c\x2b\x41\xf5\xf2\x16\xf1\x95\x0e\xd4\x6a\xdc\xc3\xf8\x82\xb9\x4e\x11\xd1\xea\xa9\x8a\x2e\xb8\xc6\x75\x4f\x2d\x9b\x29\xaf\xac\x00\x5b\x28\x1d\x55\xec\x94\x37\xb0\x4d\xed\xcf\x83\xc3\xad\x6a\x84\x33\xa5\xc6\x70\x7c\x0e\x7a\x81\x35\xac\xe6\x50\x5c\x74\xd7\x76\xc0\x3b\x9b\xda\x48\xfb\x3c\xd7\x6a\x64\x65\xbc\xf5\x30\x07\x2f\xf3\x1d\x76\xec\x65\xf6\xe3\x08\x46\x06\x80\xcd\x13\x30\x5b\x4d\x56\x9d\x5c\x35\x0c\xa9\x4f\x13\xe8\x32\x96\x21\x9e\xea\x06\xc8\xd9\x13\x03\xb9\x46\x56\xe0\x88\xef\x95\x88\x5c\xd6\x20\x7a\xb7\x44\x64\xfe\xc0\xde\xec\xd7\xd7\xd7\xdd\x2f\x8f\x22\x78\xb4\x9e\x31\xfd\x52\x0f\x96\x6a\xbc\x9b\xe7\x87\x9f\xff\x7a\xe2\x7c\x4a\x07\x04\x2a\xcc\xaf\x70\xe7\x3f\x5f\x38\x1f\x5c\x3a\x5d\xbb\x06\x87\xa7\x7a\x72\x86\xb7\xf7\x69\x7e\xc9\xd8\x91\x2e\x97\xc2\x72\x3f\x1f\xf9\xac\xe9\xa9\x8e\xd0\x9c\xd3\x53\xe3\x1d\x80\x86\xe2\x7c\x5a\x65\x10\x73\xc7\xc8\xe3\xfc\xc4\xf9\xed\x55\xe9\x51\xff\x9d\x5c\xd2\x0e\xa7\xc3\xf8\x54\xce\x4f\x75\xe3\x6e\xee\x27\xd1\x7e\x3d\x6c\x35\x9f\xfb\x28\x3e\x94\x41\xdb\x67\xf0\xb1\x04\xec\xdc\xd1\x8c\x5e\xd2\x21\x00\x04\x66\x37\xcf\x42\x3e\xff\xf5\xc4\x7c\x0a\x07\x20\xc9\xcc\xaf\xb8\x78\x97\x5e\x98\x0f\x2e\x9c\x78\x99\xef\xde\xe9\xa0\x51\x7a\x4a\x27\x17\xd6\xc2\x91\x79\xec\x46\x67\x73\x42\x69\x91\x3c\xed\x81\xfc\x66\x38\x35\x57\x59\xba\x6a\x85\x03\xb3\xf5\x60\x7e\x7f\xe7\x6b\x8c\x45\xd9\x61\xa3\x4e\x2e\x68\x7f\xc3\x21\xf4\xc7\x32\x3f\xa5\x8d\x9b\xb9\x9f\x44\xf3\x80\x5d\x5c\xb5\xce\x7d\x10\x1f\x9c\xc0\xbf\xef\xbe\xdd\x52\xde\x36\x67\x6f\xe3\x39\x53\x63\x29\x53\xc3\x8e\x78\x5b\xc0\xb6\x52\x8b\x15\x87\xa3\xcb\x64\x09\xe9\x0b\xfd\x3c\x96\xa8\xff\x80\xfc\xa7\xd6\xe9\xbc\xe0\xbb\xde\x8a\xdb\xf5\x84\x5b\xde\x4d\x51\x79\x92\xde\xad\x67\xf0\x84\xb7\x57\x57\xb1\x4d\xad\xb2\xab\x1c\x19\x16\x57\xc4\xe6\x38\x8e\xce\x7e\xc1\xb1\xff\x62\x67\xf1\xcb\x2a\x35\xeb\x1f\x0c\x27\x76\x17\x07\xc5\xf4\x5d\x57\x03\x1e\x99\x3e\x86\xcb\x23\x52\x43\xb9\x4a\xea\x4e\x3a\xaa\xd8\xdc\xae\xe9\x39\x13\xa3\x90\xf8\xfc\x74\x8c\x41\xff\xa9\xed\x9e\xe1\x78\xa9\x13\x85\xc3\xeb\x8d\xfa\xef\x88\xdf\xed\x9a\xc9\xd9\x18\x03\x5a\x38\xe2\x84\xc3\x45\x6f\xaf\x2e\xeb\xb4\x0d\x89\xb8\xc8\x11\xae\x1e\x17\x48\x0c\x2b\x97\x61\xdb\x16\xb6\x63\xff\xc5\xce\xe2\x97\x65\x3a\xd2\x8f\x41\x2e\xbb\x67\x4a\x7e\xf9\xc5\xb4\xb3\xc7\x31\xca\xd8\x84\x0c\x24\xc3\x60\x59\x35\x4d\x06\xe6\x43\x25\xce\xbb\x40\x09\xd8\x8d\xc9\x8f\xee\xb2\x26\x5d\x8c\x9c\x6f\x70\xfd\xc7\x27\xbd\xf3\xd3\xf2\x8e\xfe\x08\x40\x45\x38\xd9\xc9\x20\x23\xee\xc2\x60\xdf\xd5\x76\x8a\x6f\xaf\x9c\x06\x7f\xf5\xec\x43\xdc\xe6\x3c\x36\x8f\x42\x76\x14\x0c\xcd\x10\xba\xed\xd8\x74\x6d\x1b\xa2\x61\x20\x83\xb4\xf4\x78\x49\xbe\xe0\xa6\x72\xfb\x34\x3f\xe7\x47\xcc\x88\xd7\xa0\x4b\x7f\x67\xa8\xb7\x23\xaf\x0f\xc3\xe5\x6f\xc0\xf0\xbc\xbd\xb2\x1f\xfc\xbb\x57\x7d\x6c\x3c\xfe\xb6\xfb\xed\xa7\xff\xbb\xbb\x81\x55\x7c\x3b\x44\xcd\x1b\x70\x6f\xda\xf5\xa1\xf1\x0e\x71\xfe\xd8\xe4\x87\x67\x37\x46\xd5\xa1\xd9\x74\xd8\x38\xe0\x00\x9f\x07\x0a\x30\xd6\xc3\x0a\x73\xb4\x01\x96\x55\xe5\xea\x53\x06\x24\xd2\x62\x0c\xbd\xc3\xe8\x83\xf0\x86\x11\x06\xc4\x7e\x78\x6a\xa7\x25\xba\x0f\xa2\x3e\xec\xaf\x03\x82\xb5\xa7\x5d\x20\x8e\xd1\x51\x60\x41\x28\x9d\x75\xb3\xbf\x08\x5b\x91\x22\xf3\x4e\xc7\xa2\x4c\x5f\x38\xef\xc9\x37\x71\x24\x31\x11\x47\x71\x94\xd8\x3e\x4b\xad\x27\x17\x54\x44\x4b\x51\xd3\x4f\x6d\x32\x84\x3e\xf6\x93\xc0\x33\x28\xd6\xc6\xa7\xf1\x01\xe7\xb1\x33\xed\x6a\x08\xd3\x99\x66\x33\x42\xce\x33\xcd\x2e\x80\x61\x40\xfa\x6e\xe8\xc4\x40\x74\xdd\x54\xac\xc3\xa6\x5a\x1d\xb6\x95\xea\xf0\xf6\x8a\x82\xe4\x1d\x4b\xe5\x36\xe1\x7d\x11\x5b\xce\xef\xf7\xfb\xc7\x90\xe8\xfb\x4b\xf7\xff\xfd\x5f\xff\x8f\xf7\xfe\x7f\x5d\x67\x71\x88\xc3\x58\x52\x88\x63\xaa\xf0\xb1\xa6\x90\x8f\x8e\x5a\x08\xd4\x00\x22\x7c\x41\x3a\xf5\x8e\x50\x7f\x6c\xef\x88\x9b\x03\xfb\xa7\xd0\xb2\xfe\xea\x10\x11\xa5\x5a\xa0\x2c\xab\x5b\x00\x2b\xac\xa4\x13\xa5\x27\x5d\x0f\xb2\xc0\x9d\xc2\x40\x3d\xe5\x93\x59\x44\x2d\xe7\xb9\xd1\x68\xe6\x21\xca\x57\x08\xb6\xf7\x48\xa9\xc9\x87\xd6\x1f\x48\x3e\x60\xaf\x33\x17\xf2\xad\x58\xff\x8e\xe7\xde\x2f\x21\xae\x24\xaa\x0c\xe5\x67\x6c\x11\x0e\x6d\x09\x6c\x4f\x1c\xb5\xcd\xbd\xbd\x1a\x37\xbc\x58\x68\xb9\xbf\x20\x22\x64\x41\xdf\x40\x50\x0e\xcd\xa1\x33\x76\x72\x46\x60\xd6\xce\x51\xd7\x0e\x60\xa9\xd8\xd6\x37\xe2\xb5\xfa\x58\x72\x1e\x71\x77\x66\x08\xbf\x36\x37\x6f\x5f\x10\xfa\xb1\xcc\xb1\xd5\xcf\xb9\x93\x39\xe9\x7a\x00\x06\xf5\x1c\x56\xdb\x77\x4b\x74\x84\x2f\xe7\x50\x89\xa1\x09\x77\x18\x6e\xa1\x2d\x6b\xb8\xc7\x00\x6f\x19\xc4\x28\xec\x90\x87\x69\x31\x31\x9b\xbb\xa5\xcb\xaf\x0b\xf4\x4f\x93\x9e\x87\x61\x59\xc1\x2d\x3d\xba\x1e\x7e\xfd\xe5\xa7\x5f\xad\x14\xea\x1d\xa5\xc3\xc1\x9c\xf9\x2a\x6a\xeb\xa9\xe8\xd0\xd4\x58\x1c\x85\x84\xf0\xd9\x8c\x90\x11\x0f\xe8\xb2\xaa\x92\x3b\x87\x36\xd8\xd1\x92\x5e\x90\x7f\xf2\x94\x28\x8b\x1c\x23\x71\xcc\x48\xda\x2c\xcb\xec\xcf\xa9\xa3\x3e\x62\x0b\xcd\xc0\xba\xa7\x11\x26\xde\x0a\x0c\xdf\xe1\xb0\xc7\xe3\x06\x4e\xa4\xc6\x34\xa5\x3d\x2b\xb7\xc6\xb6\x5b\x2a\xd5\x51\xd4\x2e\x26\xc1\x16\x75\xda\x45\xa4\x7e\xda\xb1\xbb\xd5\x2b\x82\x7b\xd2\xc9\x95\x77\x2b\x22\x2d\xc7\xf7\xfd\x02\x4c\xf0\xae\x5c\x41\x3a\x88\xeb\x4a\x37\x70\xb2\xb6\xa7\x48\x29\x1f\x85\x90\xef\xb1\x11\xda\xdd\x73\x67\xbb\x4e\x35\x1f\xb9\x8e\x6e\x72\x39\x37\x0f\x1e\xc2\x0e\x15\xa0\xc1\xd9\x53\x3a\x24\xca\xaa\x9c\x88\xb9\xde\x87\x1e\xbf\x6d\xf0\xe9\xa7\xb3\x73\xfa\xce\x21\xb9\xa7\x72\xb9\xc5\xac\xaf\x48\x8e\xe7\x14\x77\x21\xb8\xe1\x06\xc1\xf9\x02\x7a\x3b\xb0\xa7\xaa\x8a\xc4\x26\xc5\xf5\x0a\xaf\x9d\xe0\xae\xd0\x1b\x4f\xc8\xed\xfa\x86\x55\x27\xb8\x29\x65\x3f\x15\x4a\xbb\x44\x1c\xda\x60\xc7\x1e\x6b\x3b\xd2\xdb\xa7\x05\xbd\x71\xdf\xda\xf9\x6e\x72\xbb\xa7\x38\xfa\x38\xb6\x4b\x6c\x82\x2b\xd4\x66\xfa\x51\x03\x0d\x3c\x37\x12\x35\x69\x4b\x5d\xed\x1a\x5d\x21\xa7\x33\x8c\xce\xea\x14\x4f\x36\x4d\x2f\x44\x3c\x3a\xa7\x26\xa4\x86\xc1\x28\xdf\x49\x69\x58\x77\xb7\xeb\x67\x5f\x06\xc3\xaf\x9d\x8c\xa3\xea\x5d\xf6\x0e\x12\x1d\x81\x21\xb9\x01\x04\x01\x54\x66\x14\xb7\xa2\x35\xa8\xe5\xd8\x19\x51\x5a\xc3\xe4\x1b\xc1\x2d\x06\x6c\x2c\x9f\x79\x74\x37\x0a\x6c\x7a\x3b\xbb\x55\x9a\xb3\x97\xee\x04\x02\x31\x57\xd5\x90\x5f\x0a\xc4\x2a\xd8\x1a\xc5\xa6\xa2\xa6\x34\x44\x27\xa0\x40\xa5\xac\x68\x8c\xc7\x82\x00\x87\x7b\x49\xec\x32\xa8\x77\x71\xb4\xab\x83\xba\xa6\xb1\x62\x40\x8d\x4a\x63\x5b\x0c\x6d\x06\xac\xb1\x41\x64\x17\x14\x30\x5a\xd6\xc1\xe6\x39\x91\x29\x8b\x90\x97\x0d\x22\xab\xdd\x6f\x76\xf8\x4e\x1a\x7b\xb7\x28\x7f\x1f\x8c\x96\x50\x36\x23\x2f\xa3\xd9\xc6\xe2\xe6\x9b\x53\xed\xe7\x84\xb0\x55\x38\xbd\x17\x56\x07\x21\x40\xc4\xbd\x40\xba\x61\x5b\x01\x84\x60\x02\xce\x08\x01\x22\x8e\x6a\x2d\xd4\x10\xf6\xce\xc0\xfa\x40\x90\x17\xf2\x33\xea\xa1\x6c\x6c\x3e\x96\x5d\x20\x0e\x88\x0e\x0d\x7d\xbc\xb1\x04\xdc\xe6\x12\x80\xd5\x9a\x29\xbd\x98\x7c\xb7\x37\xc7\x12\xf8\xce\x61\x7d\x9f\xc6\x36\xb8\xd1\x24\xc0\x6f\x83\x1a\x26\xe5\x99\xae\x48\x3e\x0b\xf6\x48\x86\xf9\x95\x4f\x57\x04\x1f\xfe\xba\xbe\x55\xbb\x10\xd7\xa5\x9b\xa1\x67\x71\x0d\x22\xbc\x73\x34\x8c\xa3\xdf\xc9\xc9\xce\xce\xdf\xd5\xb6\x72\xd9\x1b\x1b\x1b\xce\x6c\x6c\x98\xb0\x31\xca\x9c\x28\xa7\x40\x0d\x41\xa3\x29\x36\x7c\x53\xf2\xe1\x91\x97\xb9\x6d\x66\xf6\x23\xcb\xfb\xa7\x4d\x66\xe6\xce\xdc\xcc\x5d\xe7\x66\xde\x8a\xaa\xa1\xac\xdb\xbd\xec\x6c\x32\xb4\xf7\x48\xcc\x6b\x43\xbb\x9e\xf0\x76\xe1\x66\xcf\x79\x23\xf6\x68\x9a\x79\x77\x8d\x0e\xfd\x71\xcd\xcb\x66\x6a\xdd\x2d\x6e\xe6\xcb\xc8\xda\xbf\x43\x64\xda\x70\xdc\xc7\xcf\x3c\xf9\x18\x96\xfc\x8c\x3f\x52\x55\x9a\x17\x55\xa5\xd3\x26\x3f\x73\x67\x86\xe6\x2e\x0c\x6d\xa9\xad\xb3\x9b\x30\x34\x57\x96\x91\x80\xcb\xc5\xe0\x2e\xab\x61\x9b\xa3\x79\x8e\x53\x8e\xe6\xbe\x9f\xa5\x9d\x87\xf6\x7d\x3a\x03\xbd\x2c\x35\x2c\x37\x53\xb1\xd6\xf5\xa6\x47\x7a\xd9\x96\x8b\x63\x88\xe4\x55\x9e\x06\x97\x74\x67\x6a\xcb\xc4\x56\x1b\xb1\xb5\xc4\x6e\x13\xa6\xf6\x7c\xee\xf4\x9d\xe3\xf1\xfb\xdf\xef\x35\x3c\x41\x62\x03\xaf\xb4\x75\x37\xad\xa2\xbf\x55\x29\x9f\xc7\x32\xfa\x5b\xe7\xa6\x45\xf4\xcd\x2e\xac\x9b\x66\xe1\x68\x15\x9a\xf4\x44\x94\x62\x45\x8a\x28\x40\x48\xa6\xd2\xf3\xb4\xec\x1d\x72\x2b\x00\xaf\x30\x9a\xc6\x6e\x62\x1a\xbb\x6d\x4b\xc5\x4c\x63\x3f\x35\x8d\x07\xbc\xfa\x77\x8e\xeb\x9d\x64\xd6\x6e\x14\xe9\xd9\xa0\x33\x7f\x9b\x02\x2f\x36\x63\xda\x34\x19\xf9\xfc\xd7\x0a\xee\x61\x52\x5c\x6d\x51\x3e\x0d\xaa\x79\x79\x7a\x48\x74\xfe\xfe\xf7\xbb\x6d\x4d\x8e\x28\x2a\xbb\xa2\x33\x3f\x25\xb3\x0d\x4a\x1a\x25\xd8\x26\x09\x7a\x37\xa5\x33\x13\x6c\x20\x34\x15\x6e\xae\x13\x9a\x49\x36\x15\x71\x17\x42\x5b\x09\x37\x98\x83\x18\xb9\xb2\x91\xc1\x33\x52\xd9\x85\xc8\x86\x1b\x44\xc6\x30\x87\xfd\xdc\x1c\xfe\x5e\x2a\xbb\xd7\xce\x84\x86\xb6\x20\x33\x3f\x13\x7e\x4b\x05\xcd\x5f\xd3\xdd\x78\x9e\xaf\xde\x49\x61\xc3\x5e\xc4\x68\xd5\x35\xaa\x88\xbf\x46\x65\x16\x60\x50\x26\x16\x6e\xbb\x87\xc8\xfe\xfe\xfb\x8f\xdd\x72\x6e\xda\x8b\xba\x58\x00\x15\x80\xff\xa7\x78\xd3\xb1\xbb\xb1\x6e\x32\xc2\xf4\xd3\xe6\x9a\x1a\xb7\x4b\x54\x35\xe8\x7b\xf9\xdb\x25\x09\xe3\x66\x49\xc2\x78\xa5\x24\xe1\xc6\xef\x6e\x66\xb5\x4f\xa9\x22\x0d\x7e\x96\xfc\x8a\xaf\x2f\xe1\x10\x5f\xb6\xbc\x12\x2f\xe1\x20\xeb\x88\x40\xe1\x1e\xf6\x41\x3d\x34\x66\x69\x69\x3e\x09\x9f\xc2\x8d\x53\x1b\x41\x86\x08\x54\x11\x7e\x52\xfd\xe3\xb4\xbc\xb3\x57\x0a\x12\x3e\xb8\x78\xfd\xe4\x46\x51\x4d\x0e\xbd\x5e\x01\x47\x4a\x4f\x8b\x37\x84\x84\x7d\x0a\x27\x17\xae\x9c\xd9\xa8\x87\x6b\x24\x1b\x9e\x2a\xa5\x97\x45\x30\xaa\x0d\xee\xdb\x97\x38\x16\x49\xf8\x23\xea\x59\xbf\x57\x46\x7b\x8c\x9f\x7b\x6f\xa3\xf9\xef\xbf\xff\xd8\x7d\x7f\x40\x0c\xa5\xcf\x88\xb4\x4c\x03\x54\x4c\xfd\xa2\x3f\x9f\xc2\x8d\x38\xc8\x70\x63\x24\x4e\xca\x87\x3e\x33\x5b\x63\xec\x29\xc6\xc1\xd6\xcc\x90\x10\x6b\xf8\xf6\x4a\x56\x7f\xe2\xe4\xc2\x21\x9c\xc2\xc1\x2d\xf2\x34\xf5\xf1\x93\xc0\x43\x25\x77\x2a\x2f\x72\x10\xe2\x97\x49\x48\x23\x33\x53\x54\x12\x3a\x30\x85\x75\x05\x8e\x68\xf5\x40\x7b\x10\xd1\x3c\xe6\xf1\x89\x95\x20\xf9\xda\xa9\x8d\xf6\x8c\x27\xc4\x83\xca\xa1\xd3\xfc\x36\x67\xdd\x60\xc4\x41\xf2\xf5\x93\xeb\x56\xfb\x2e\xde\x49\x4f\x3d\xcd\xde\x0c\x71\x95\x4f\x72\xd2\x16\xaf\x9c\x59\x37\x07\x46\x85\xd1\x78\x59\x47\x7e\xbe\x7d\x41\x91\x88\x2b\x15\x10\xcb\x26\x98\xcb\x06\x9c\xd4\x6d\x98\xa9\x72\x27\x1d\xff\xfa\xd3\x5f\x7e\xfe\xcd\xed\x6f\x96\xe0\xff\xdb\xb2\xd8\x23\x6f\x15\x5d\xbc\x5a\xf0\xf4\x8e\x70\xd4\x0d\x3e\x61\x51\x15\x07\xae\xeb\x48\xed\x78\x29\x8e\xb2\x62\xac\x9d\x0b\x6e\x30\x5d\x3f\xad\xbc\xf2\x2a\x62\xb5\xd3\x0e\x4e\xf8\x9d\x42\xbd\x75\xb6\xc4\x66\x6b\xf0\xed\xd5\x0f\x26\x43\x84\x4f\xe5\x26\xcb\xaa\xb7\x58\x16\x5f\x87\x49\xf9\x8e\x09\xbc\x33\x1e\x79\x3b\x7c\x9f\x37\xe7\x8f\xef\x9b\xbf\x78\x25\x9c\x58\xae\xd4\x72\x01\x47\x58\x63\xc0\xf5\x78\xbb\x78\xa5\x96\x0b\x9f\x29\xfb\x55\xc5\xd1\xe0\x5f\xb4\x87\xe1\xe4\xae\xd4\xf2\xe5\x4d\x60\x24\x9d\x33\xc1\xe2\xe1\x70\xb2\x40\xf1\xfb\x8b\xbf\xbc\x5c\x47\xc9\x78\x77\xa2\xbe\xbe\xe7\xa0\xb8\x15\xaa\xc9\xdb\xb5\xff\xd2\xd3\xf2\x84\x29\x09\xe9\xd4\xd6\x05\xb2\xad\x58\x71\x3b\x40\x31\x5b\xee\x89\xf6\x02\x8a\xed\xb0\x3c\x61\xb2\x9c\xdb\x4b\xd9\x28\x6e\x6f\x62\xeb\x29\x53\x7a\x99\xae\x07\x3c\x7d\x5e\x87\xc6\x5f\xd6\x42\xc3\x40\xae\xaf\x98\x48\xe9\x9b\x81\xcd\xef\x0c\xf2\x63\xd1\x4d\xf1\xfa\x20\x87\x2b\x83\x1c\x4e\x99\x62\xca\x9f\x84\x3c\x22\x67\xbc\xe1\x3a\xf8\x84\x6f\x1c\x9e\x94\x88\x4e\xbc\x3d\xd0\x2a\x0d\x37\x07\x5a\xb5\x26\x1f\xe3\xaa\x55\xf6\xc0\x07\x0e\x6a\x52\x9e\x07\x1b\xa6\x15\x7a\xb1\x43\xed\xc7\xd4\x2f\x1e\xff\x40\x17\xac\xc1\xf9\x05\x4e\xbf\xe1\xf0\x74\x13\xe0\xeb\xe6\x58\x7f\xfb\x76\xd8\xfd\xfc\xeb\x7f\x7b\x39\x50\x84\x18\xc7\x72\x5a\xa6\xcf\x5e\x6a\xb8\x17\xc4\x7c\x7a\xb5\x8f\x52\xcf\xb9\x74\x95\x8a\xe0\x70\x58\xde\x66\x13\x21\x04\xec\xef\xf9\x5d\xe7\x9b\x4e\xcb\x9b\xba\x12\x7d\xed\xa6\x01\x4f\x5a\xf5\x70\x94\x9d\xd7\x3a\x88\xdb\x3e\x36\x3b\x7f\x4c\x35\x52\x84\x9c\xc4\x54\xae\x96\x39\x60\x2a\xbe\x7c\x02\x98\xdf\x60\xc7\x6e\x14\xc5\x00\x1b\xf7\x29\x6c\x38\x24\x94\x9d\xa5\x18\x56\xb7\x15\xe3\x13\x29\x86\x65\xe1\xea\x71\x39\xe9\xb9\xdd\xf2\xb6\xa4\x7d\x00\x98\x53\x79\x5a\xf5\x73\x14\x7b\xc5\x97\xd5\x8d\x6e\x72\xe7\x23\xa3\xff\x97\xdd\xb7\x83\x55\x3e\xff\xa1\x86\xb6\x20\xac\xe0\x33\x32\xca\x6b\x1c\x8f\x43\xcf\x94\x4b\xaa\x61\x5c\xcd\xbe\xe1\xbc\xf6\xf6\x43\xc0\x0a\x6a\x97\x2f\x4e\xc9\x80\xbd\x65\xab\x0e\xfb\x6a\x12\x55\x36\x23\x8c\xba\x93\x7b\x1d\x62\x94\x36\x43\x8c\x2c\xd5\x60\x33\xc4\x68\x0c\x7c\x1a\x23\xfd\xbb\xcf\xe0\x92\x26\x84\x6f\xef\xbc\xe6\xc6\xab\x18\x14\x24\x6f\xbd\x26\x07\x94\x04\x3f\xe1\xd9\x37\x5f\x33\x7d\xd7\x5b\x9e\x5c\xba\x16\x48\x65\x6f\x69\x6a\x74\x58\x3a\x38\xc2\x80\x33\xe3\xd3\xae\x78\x4d\x56\xef\xe1\xa5\xcf\xd7\x69\xfd\x8e\xbe\xbf\x7f\xb0\x47\xbf\x3a\x5b\x4a\xdb\x7e\x93\xb4\xe9\x37\x49\x57\xfc\x26\x1b\xbf\x9f\x5f\xfe\x1e\xe3\xe3\xb2\x4a\x7e\x6c\x08\x3d\x94\xc6\xcf\xc8\x23\xc8\xfd\x30\xf4\xec\x36\x35\x88\xb3\xda\xc1\x3c\x14\x3b\x85\x0d\x94\x74\x52\xce\xf4\xb9\x0c\x48\x35\x1f\xec\x0a\x4b\x2c\x42\x8e\x19\xec\x68\x34\x04\xb1\x13\xad\x05\xa8\xab\x2f\x56\xf7\x8f\xc9\x56\x03\x1f\xc2\xc9\x21\x1d\xe6\xed\x4b\xb3\x8e\x34\x7b\x90\x59\x05\x43\x47\x26\x5d\x18\xee\xf3\x04\x4b\x3c\x2e\xf5\x6e\xe0\x61\xc5\x1e\x36\x14\xeb\x4b\xb3\x9e\x37\xbb\xa4\xef\xda\x99\x45\xdf\x3b\xa2\xf6\x3c\xb2\x5c\xde\xbe\xf4\xa0\x2b\xbb\xa9\xe9\x7f\xf6\x05\xbf\x7f\xd4\xb9\x90\xfa\x7b\x45\xeb\x48\x4f\xf8\xb9\xe9\x5d\x78\x97\x2a\x7e\xdb\xfd\xe7\xee\xdb\x0d\x6c\x80\xdb\xd1\xd8\x56\x3a\x73\x8f\x80\x5e\x76\x06\xb7\x83\x02\x09\x48\xb5\x2e\x39\xa0\x70\xb0\xa3\x18\x80\x6c\xd5\x1c\x95\x8a\xd0\x18\x5f\x91\xce\x20\x9f\xb9\x20\x6d\x45\x28\x44\x80\x86\x64\xe6\x41\x54\x35\x91\xbd\x13\xca\x3c\x18\xae\x62\xd2\xf3\x2e\x53\x29\x42\x8d\x91\x9e\x41\x82\x3d\xe1\x1c\x33\xe5\x88\x60\x03\xa0\x75\x69\xa3\x42\x31\x03\x07\x59\xdb\x4a\x93\x02\x9f\xd1\x8a\x96\x97\x24\x14\x93\xae\xf5\x90\x6c\x73\x1b\x10\x7e\x3a\xba\x14\x63\x02\xd6\x4d\x02\xd0\x91\xb6\x0a\x28\x6f\xbb\x22\x67\x4a\xda\x30\xe7\x80\xe0\x88\xac\x37\xb5\x28\xdf\x12\x50\x05\xd0\x9c\xfe\xe6\xf4\xc7\x3d\xd5\xea\x00\x60\x6a\x45\x79\x29\x67\x6b\x0f\x98\xff\x89\x52\x12\x87\xc2\xd1\xe8\x00\xb6\x01\x2e\xdf\x4b\xe3\x73\xdd\xd2\x16\x02\x52\x43\xca\xde\x51\xa8\xc9\xd0\x3e\x63\x08\x14\xc7\x2f\x09\x98\xa8\xe4\x4b\x21\x1f\x2b\x49\x29\xe3\xcf\x14\x4a\x24\xa9\x99\x5a\xd6\xbf\x81\xc5\x9d\x2a\xd5\x90\x3e\x17\x92\x32\x14\xca\xa5\x2b\x42\x55\x87\xbd\x7e\x8b\x54\x74\xa2\x82\xca\xe8\xc0\x8e\xaa\xbe\x49\x69\x11\x28\x91\x03\x40\x37\x1d\x70\x6a\x80\x09\xea\xb4\x29\xed\x95\xbe\x69\xd6\xa7\x3a\xed\x96\x7d\x41\xb7\x9c\x76\xcb\x69\xbf\x7a\xb4\xfa\x78\xca\x61\x9f\xde\xc0\xab\x1b\x48\xa5\x14\x88\x9d\x8a\x46\x3f\x03\x52\xce\x30\x0d\x19\xa0\x60\x48\xfa\x60\x95\xc1\xe9\x1b\x6a\x7e\x37\x0a\xc1\x69\x2f\xd1\x49\xa7\xbd\xd4\x4e\xba\x8e\x0c\x1a\x1b\x9a\x2b\xda\xda\x9b\xa5\x0e\xe0\xfb\x5e\xbb\x48\xd2\x3a\x64\x7b\x02\x9a\x79\x91\xda\xc5\x5e\x2e\xe8\x9d\xce\x32\x83\xd8\x2e\x64\x37\xa5\x48\x77\x21\x49\x67\x34\x99\xf5\x6d\xe0\xfc\x92\x50\x1d\xc5\x6c\xcd\x3a\x33\x01\x1b\xf7\x2c\x71\xf2\x09\xc9\xb7\x51\x27\x04\x45\x49\x48\x6a\xa1\x96\xca\x79\x82\xa8\x86\xa8\xf3\x93\x00\xfd\x9e\x0b\xab\xd2\x5d\x75\xe9\x43\x6b\x8f\x7b\xa1\x84\x10\xed\x48\x05\x29\x05\xa2\xec\x29\x88\xce\x16\x95\x16\xce\x73\x55\xea\x65\xae\xc6\xa9\x02\x4d\x12\xf2\x90\x5a\xc2\x67\x82\x8d\xa8\xa3\xf4\xea\x51\x67\x1a\x43\x54\x33\x49\xb5\x75\x4a\x09\x01\x8b\x45\xa7\xc4\x5e\x2b\xc7\x71\x90\x52\xa3\xc6\xd1\x41\x7a\xea\xb7\x6f\x3a\x3c\xa2\xa3\xc3\xf6\xa3\x8e\x0e\x90\x74\x63\xd6\xf1\xc1\xf0\x38\x8a\x98\xa7\x02\x58\xc8\x98\x4f\x91\x82\x60\x6d\xb2\x17\xf2\x3a\xa7\xda\xb5\x46\x99\x33\x85\xc2\x24\x2d\xa9\x49\x46\x09\x85\x8f\x4b\x2c\x28\x52\xc3\x94\x4a\x44\x4e\x5b\xa0\xea\x85\x2a\x80\x6f\x02\x47\xfd\xa6\x94\x1c\x47\xf8\xa4\xc0\x11\x80\xa5\x4a\xca\x2a\x3d\x33\x56\x7f\xe9\x95\xcd\xd1\xa2\xd3\x26\x29\xe8\xea\x0d\xfa\x6c\xa7\x63\x6c\x5f\x32\xe7\x17\x0e\x54\x1f\x4a\x06\x3a\x33\xd9\x47\x6b\x96\x1b\x93\xca\xc2\x9f\x63\xc7\xc8\x05\xb6\x82\x70\x1d\x58\x57\xed\x9e\xa9\x54\xab\x0f\x14\x55\x45\x08\x43\x44\x36\x79\x16\xa6\xec\x0b\x71\x03\xc0\x5d\x0a\x14\x51\x1d\x23\xe5\x00\x16\x18\x5a\xa5\xe0\xf5\xe6\x06\x44\xf9\x6a\x91\x80\xe5\x54\xbb\x9c\xd2\xc9\x09\x16\xb6\xa3\x23\x69\xea\x11\x06\x2d\x32\x05\x66\x47\x2d\x45\x4a\x00\x76\x4b\x99\x4a\x0a\x9f\x59\xe9\x3a\x41\xb5\x02\xd5\x96\xc6\x2a\xc8\xeb\xc0\xd8\xcd\xd4\x3f\x0d\xab\x50\xd7\x8a\xd2\x4f\x4e\x19\x38\xf5\x80\xfe\xd2\xae\x2a\x77\x4c\xc8\x91\x43\xab\xba\x7a\x74\x16\x5b\x05\xd6\xb7\x33\x8a\xd2\x3e\x98\xbe\x1a\x4a\x46\xc6\x38\x7c\x8a\x5c\x29\xd8\xb2\xc6\xeb\xe0\x74\xa1\xc8\x4e\x79\x44\xd3\xc6\x92\x51\x8d\xb2\x9b\x92\x04\x59\x8a\xbe\x8d\x11\xc4\xa1\xea\x3f\x53\xc7\x58\x59\x1a\xd7\x3d\x89\x88\x23\x56\x99\xad\x84\x63\x73\xc1\xda\xc3\x24\x9f\x63\xaf\x34\x52\x18\x34\x16\x06\xec\x2a\xea\x71\xcf\xca\x58\x75\x4a\x38\x09\xa6\x2a\x12\x37\x4a\x89\x92\x00\x21\x82\x6a\x8b\x14\x92\x21\xaf\x67\x4a\xa8\x83\x47\x1d\x2a\x57\x9f\x4e\x6a\xcb\x9e\x7f\x71\xfd\xa7\xbd\xd3\x0e\x69\x7f\x9c\x76\x48\xfb\x83\xac\x07\x6d\xf7\x33\x40\x5b\x45\x99\x42\x55\xeb\x36\x97\x41\x7b\x83\x81\xd7\xce\x00\x3a\x52\x74\x0d\x56\x64\x8b\xe9\x68\xe8\x6b\xa4\x0e\x48\x51\x1b\x44\x98\x25\x22\xe9\x58\xc9\x7c\x4c\xdc\x38\x28\x96\xdc\xd9\xa8\x48\x38\x29\x27\xe2\x3d\x01\x5e\x85\xc9\xc7\x46\xbe\x11\x37\x21\x6e\x95\xd0\xd3\x4a\xa9\xd6\xf3\xab\x52\x32\x60\x75\x65\x45\xc1\xd0\x3a\x0b\x58\x54\xc4\x1d\xc6\xac\x32\x40\xdf\x02\x71\x46\x77\x8b\x9d\x74\x36\x7c\x62\x10\x17\x15\x31\x39\x68\x53\x57\x6a\x25\x46\x06\x94\x3e\x5d\x25\x14\x17\x25\x7c\xbd\xb6\xd5\x17\x74\x55\x87\xae\x00\x9e\x59\x39\x9e\x72\x22\x68\x11\x0d\xa8\x58\x9c\x94\x01\x39\xd1\x09\xa5\x58\x51\xc0\x4a\xf0\x85\x95\xc3\x1b\xd1\x7a\x8c\x14\xa8\x16\x10\xf5\x69\x97\xa9\xc1\x98\x6d\xa3\x31\xdb\x65\x3e\x9c\x25\x7a\x6b\xcc\x3b\xcc\x53\x6a\x3c\x8e\x61\x0e\xc4\x51\x39\xac\x70\x40\xf4\xb7\x89\x01\x8f\xf4\x15\x2f\x4a\xf9\x98\x49\x2b\x9f\x06\x28\x75\x55\x3f\xeb\xd0\xb0\x82\x6c\x1e\xf1\x66\xa9\xb9\x48\xa2\x4b\x09\xeb\x09\x28\x4b\xe0\x73\x3a\x36\xd2\x8a\xeb\x18\xfa\x31\x06\xed\x85\xea\x2e\xe7\x3e\xe8\x95\x48\x42\x01\xd8\xb2\xf6\x49\x35\xe3\x84\xe2\x03\x55\x99\x43\x90\xce\x6e\xb2\xea\x09\xc6\x6e\x32\xc8\xdb\x22\x60\x26\x2c\xc7\x9d\x79\x8e\x03\xd3\xc1\x3a\xf5\xad\x50\xd2\x7e\x78\xe5\xd5\x2a\x10\x02\x9f\x84\xa2\xb4\x87\x98\xe8\x4f\xc7\x5b\x49\x83\x7f\x5b\x94\x96\xa4\x34\x4d\x3c\xf6\x7e\xe0\x36\x4d\x3c\xf6\x15\x0c\x5f\x0d\xda\x3a\x8b\x02\x0e\x55\x28\x55\x25\x15\xaf\xa4\x82\xf1\xac\x40\xc3\x25\x09\x94\x7c\x3e\x91\xf7\xf2\xc9\xf2\x9f\x3b\x30\x85\x84\x9e\x2d\x2d\x61\x98\x39\xcc\xfe\x63\xea\x69\xdb\x13\xa3\x4a\x1e\xa4\x99\x87\xfa\x97\xc8\xcf\xc0\x56\x59\x9f\x8a\xca\x7a\xad\x7e\x02\x86\x1a\x0e\xb0\x56\xf1\x4e\x30\x66\x2b\x82\x1a\x78\x96\x30\xce\xd4\x8a\xea\xdf\x52\xf6\x14\x62\x06\xfc\x67\xae\x41\xf5\x0a\x54\x83\xa2\x98\x16\x7b\x57\x06\x62\x1f\x02\x70\xf8\xab\x1d\x7a\xf6\x73\x56\xae\x3f\x87\x8e\x8b\xaa\xc5\xb4\x22\x6f\x5f\xb8\x52\xc4\x36\x23\xf3\x16\x80\x97\xb2\x02\x25\x26\x51\x65\x86\x83\x92\x24\x95\xd8\xa8\xfa\xb2\x88\x21\xe2\x58\xe0\x59\x60\x0f\xe0\xba\xfe\x61\x5d\xc8\x6a\x4c\xcc\x8a\xd4\x01\x79\xb3\x83\x42\x89\xa7\x06\xc4\xe2\xc0\xf3\x2d\x87\xd6\x28\x54\x1d\xe8\xa8\x8a\xa1\x2a\x59\x42\xb9\x14\x95\x1d\x3a\x0a\x53\x40\xb3\x8e\x57\x8d\x54\xcb\xbd\xb3\x55\xa2\x2b\x10\xbc\x91\x32\x60\x59\xa1\x11\xcc\x90\xc1\x18\xda\x53\x6b\x6f\x5f\x94\xb1\x95\x08\xfc\xaa\xd0\xe6\xfb\x1e\x59\x19\x26\x18\x62\xc8\x28\xc5\x51\x82\xaa\xbf\x02\xcc\x6c\xbf\x8c\x00\x8b\x4d\x79\x8a\xca\x19\xaf\xeb\x28\xa8\x3d\x84\xd2\x54\x21\xda\x2f\x6d\xb1\xad\xa2\x82\x6b\x95\xb0\xdf\x81\x39\x36\xfc\xe9\x66\xf0\x48\x55\x99\x03\xa7\x74\xe4\x44\xb9\x1c\x23\xd9\x7e\xcf\x34\x74\xc6\x90\xf1\x42\x7c\x1e\xcb\x7d\xa4\x90\xcd\x08\xb9\xc7\x94\xc4\x02\xbd\x6b\x5b\x6c\x99\x85\x0e\xf0\xe8\xa8\x2a\xa4\x5a\x0e\x93\xfe\x18\x6a\x6e\x6c\xca\xfc\x2c\xa5\xbd\x58\xac\x14\xd0\xc7\xe7\x2f\x0b\x5b\x02\xf9\x8f\x16\xee\x2d\x23\x10\xa0\x4e\x72\x82\x9b\xf3\xfc\x38\x74\x00\xc6\x7a\x01\x8c\xaa\x84\x65\xaa\x8a\xca\x88\xc0\xb2\x87\x18\xf1\x90\xd4\xc4\x2d\x42\xce\x2c\x51\x10\x1b\x20\x1c\x95\x45\x26\x40\x39\x24\x1e\x53\x38\x23\x72\x77\xe3\xec\xf2\x00\x14\x46\xcf\xf1\x0d\xd9\xa1\x11\xd9\xea\xcb\xc7\x07\xb0\xf5\xbd\x9a\x9d\x10\xa0\xa2\x1a\x71\xa4\xa0\xcf\x5f\x10\xf1\x58\x1b\x27\x53\x4c\xe3\xb1\x7b\xc1\xa0\xe2\x0b\x4f\xc9\x47\x0c\x29\x2f\xe8\xd3\x13\x24\x6b\xa6\x56\x16\x14\x5c\x0a\x86\xaf\xea\x75\xfd\x38\xe6\x35\xa9\xd1\xba\x08\x67\x51\xd3\x4e\x9b\x29\x1c\xfa\xd1\x3c\xcc\x14\xd3\xac\x55\x95\xb7\x65\x49\xba\xd8\x26\x0b\x1b\x9b\xf0\x81\x4a\xcd\x47\x19\x83\x7d\xe3\x1c\x6b\x9e\x50\x54\x2a\x44\x01\xbe\x1d\x7c\x24\xd3\xe8\x96\x32\x54\xf8\x3e\x67\xbf\xe1\x49\x77\x52\xf2\x4f\xbf\xdd\x0b\x97\x88\x6a\x04\xf5\x0a\xd6\x69\xea\xe8\x8d\xef\x61\x9d\xe6\x0e\x2f\xf9\x2e\xd6\x69\x1a\xf1\x25\xaf\x5f\xe9\x46\xf8\xd4\x0e\x30\xf9\x1e\xd6\xe9\x7b\xbb\xa1\xa5\xa1\x3a\xf9\x62\x83\xbf\x02\x45\x3a\x3c\xc9\x0a\x87\xe6\xbe\x98\x01\xdc\xbf\x9b\x9f\x74\xa2\x3a\x83\xca\x99\xa3\xb2\x02\xa7\x6a\xe1\x22\xd2\x49\xcf\x8d\xa7\xe2\xdb\xab\x98\x92\x11\x96\x7b\x9b\xd4\x60\xeb\xf0\xb3\xf2\xcb\xa0\xc3\x90\x08\x45\x57\x7d\x6a\x7b\x92\x50\x48\x54\x29\xcd\x7a\xcd\x78\xad\xbd\xca\xa3\x91\x4e\x78\x9f\x47\xb7\xab\x3b\xc1\xdd\xc7\x3b\x51\x86\x3e\x6d\xc3\x94\x2a\xcb\xcc\x43\x7d\x17\xa6\xb4\x0d\xed\x1a\x4a\xe9\x8c\x8a\x8a\x12\x91\xea\x7b\x60\xa9\xb2\x9d\xcf\xf7\xdc\x86\x7c\x0f\x44\xe9\x3b\x3b\xc2\xa1\xa9\xf5\x94\x79\x1d\x75\x29\x83\x1c\x94\x0b\x7d\x7f\x68\x83\xde\xbc\x06\x42\x0b\xaa\x26\x67\x7e\x26\xae\x3c\x54\x8a\x6d\x45\x63\xf5\xf9\xd2\x9f\xb7\x57\xdc\x41\xb5\xcd\xf7\x18\x58\x55\xa6\xa2\x14\x16\x87\x7a\x0c\x54\x9a\x18\xec\xf4\x6c\x8b\xc2\xae\xd2\xee\xcf\x21\xf3\xa7\xb1\x43\x33\xa9\xdd\x4f\xa0\xeb\x0f\xd3\xd3\xcf\xbb\xd7\xaf\x0f\xc3\x8d\x31\xac\xbf\x41\xa8\xd5\x74\x74\x95\x38\xe8\x28\x71\x90\xc5\x2a\xc3\x96\x50\x2e\xc7\xeb\x57\x40\x19\x1a\x3c\xae\x10\xb7\xd9\x06\x5c\x49\xd5\x1e\x63\x97\xf0\x3a\x50\x01\xad\xbc\xbd\x3a\xd8\x95\xba\x8a\xcb\xa4\xc9\xdd\x12\xc9\xb2\xd6\xd6\x9f\x69\xbd\xda\x2d\x43\x93\x02\xd5\x36\x7d\x31\x5e\xf2\x21\xbd\x60\xf0\xfd\x12\xb7\x75\x89\xc7\x35\x0f\xd9\x31\x7d\x6e\x1e\xf3\x05\x15\x8a\x06\xd8\xcf\xe1\x59\x8f\x00\x10\x5f\x6e\xb4\xfa\x7c\x4c\xa8\xc0\x88\xe3\x46\xce\x10\x7e\x77\x7a\xcc\xeb\xa0\x6a\x7e\xae\xc0\x6d\xc7\x43\x36\x92\xe2\xde\xbe\xf4\xfd\x68\x7e\xce\x14\x11\xe7\xb2\x2c\x4a\x19\x88\xd5\x36\x9c\xf4\x22\xef\x96\x01\x46\xb8\xe6\xe8\xa6\x1d\x5d\x54\x8e\xeb\xad\x3c\x5b\xc8\x41\x6a\xbc\x6c\xc3\xae\xf8\xc8\x24\x60\x98\xef\x4b\x64\x82\x2c\x68\x12\x3b\xa9\x76\x7a\x9f\x47\xe8\x80\xb4\x6a\x3b\x5e\xae\x58\xd0\x8d\x9f\x51\xe7\x16\x65\x79\xa3\xac\x29\xed\x2d\x2e\xe8\xd4\xf9\x5e\xe0\xf9\xec\x15\xef\xc9\xf4\xe8\x53\xf9\xdc\x67\xd7\xb7\x15\xb6\x9f\x4d\xd9\xd5\x19\xf3\xb3\x69\x77\x5b\x57\xf4\x29\x7b\x6e\x94\x6a\x5b\x13\x8e\x1f\xe7\xfc\xfd\x97\xfb\xb6\xff\xc1\x48\x6e\x32\xd4\x5d\x1c\x62\xf7\x16\xd4\xc1\xbe\x6b\x97\x6b\x07\xa6\x8c\x3b\xcb\x87\x37\x29\x99\x2c\xfb\xa7\xff\xed\xd9\xa5\xa9\x98\xfb\xb3\xc2\xa8\x61\xe0\x7e\xe8\x06\xb0\xea\x22\x3e\xed\x84\x5a\x42\xb5\xaa\x3e\x80\x89\xda\x30\xfd\xcd\x1b\x8c\xd2\x9b\x12\x9a\x1a\x7f\x4c\x80\x6e\x4f\xa9\x43\xff\xb1\xa1\xf8\x9c\x7f\xb3\xf5\xbf\x1c\xd2\x7f\x1c\xb8\x99\x0e\xd4\xef\xdf\xbe\xfd\xfc\xf5\x17\xb7\xff\xf9\xd7\xfd\xf1\x96\x39\xf0\x08\xb9\x05\xab\x64\x5a\xa5\xec\xc0\x60\x2f\x5c\xb6\xf6\x72\x4c\xbe\x94\x3d\x71\x8c\x24\x25\x11\x87\x48\xa9\x12\xe2\x6a\x78\x17\x89\xad\x1c\x5e\x1d\x9d\x8e\xac\x0a\x79\x82\x75\xd0\x7c\x18\x3f\x7c\x07\xc2\x87\xcf\x3f\x95\xbd\xb9\xbd\xc5\x6a\x13\xd7\xaa\xc6\x21\x9c\xad\x0d\xc1\x69\xb3\x34\x4b\x0a\x70\xad\xc6\x1c\xf6\x56\xa0\x87\x51\x83\x33\x50\x84\x0a\xd5\x32\x53\xce\x79\xa7\xdd\xe2\x34\xf4\x8f\xb3\x94\x10\x8a\x31\x1d\x1d\xf9\x1c\x55\xf1\x71\xa4\x16\xbe\x81\x14\xfb\xa8\x66\xe4\x41\xbf\xf1\xdc\x8e\x6e\x4d\xff\x45\xd4\x86\x93\x23\x6a\xe9\x91\xf7\x99\x3c\x8b\x23\x2f\x65\x27\x4c\x1c\xca\xd0\x3f\x2c\x02\x84\xa3\xa3\xd8\xf6\x28\x64\x45\x41\x04\x15\xce\xa9\xa4\x44\xb1\x5a\xd1\xc6\x08\x2f\x5e\x4c\x81\x82\x04\xa7\xe3\xa2\x4a\x1a\xb0\xa4\x13\xf9\x98\x9d\x0e\x23\x79\xdc\x4e\x1e\x20\x2f\x1c\xf4\xf1\x40\x8a\x97\x1d\xc2\xa1\xca\x24\x22\x9e\x95\x2d\xd7\x50\x66\xf6\x68\x4b\xcd\xb6\x58\xe6\x04\xab\xc6\x77\x65\x54\x5b\x9e\x97\x34\x82\x1f\xbe\xc6\x63\xc7\x83\xf6\x1e\x78\xd0\xfd\x45\x75\x32\x65\xb0\x63\xf7\x61\xd8\x7b\x0e\xc1\x93\xa4\xf3\x47\xf7\xcd\x8d\x2f\x3a\xb0\xe8\xe2\xb2\x63\x3f\x37\xbe\xa9\xca\x8f\x10\xfb\x71\x74\x35\xea\xb8\xb0\xf5\x01\x4f\xe6\xd9\xcb\x42\xc0\x8a\x00\x70\xb0\x1d\xc8\xc3\x47\xd5\x04\x99\xe0\x12\xc8\x07\x0c\x24\xf9\x4a\x21\x07\xf2\x8d\x2a\x47\x12\x54\x74\x94\x5c\xa1\x09\x07\xf8\x45\xec\x68\xd6\x40\xf1\x4a\x6f\xe9\xa8\xef\x49\x28\x1f\xe3\x2b\x6a\x01\x4e\x07\xa7\x46\x47\x9c\xd2\xdb\x97\x3a\x66\xb4\xcd\x16\x09\x33\x7b\xaa\x09\xea\x79\x52\xfa\xb4\x55\xa2\x33\x89\x65\xe2\x6c\x9d\xa0\xb8\x2c\x89\xb6\x9f\x03\xc5\x10\xc7\x55\xb2\xd3\xe5\x61\x69\x7c\xe6\x2a\xb9\x2c\x11\xe4\x43\xb5\x3a\x7e\x8c\x7e\xb4\x8c\x55\xb4\xef\xde\x41\xaf\x7f\x47\xdb\x6c\x60\x47\x39\x36\x87\xba\x72\xc4\x59\x29\x1c\x53\x55\x74\x52\x6d\xeb\x97\x98\xcb\xa7\xd9\x22\xe7\xf3\x7b\x3d\xc6\x8a\x7e\x2c\x03\x47\xe1\xfc\x40\x52\x2b\x92\x00\xc3\x60\x47\xcb\x91\x2b\xa8\x0a\x57\xf2\x9e\x58\x22\x2c\x67\x06\x5e\x04\x36\x2a\xb2\x2a\x2f\x0d\xc1\x71\xad\x9e\xc9\xaa\x46\x28\xa9\x05\x53\x64\xc7\x4e\xc4\x3a\xf8\x7b\x92\xec\x94\x5a\x74\x01\xc0\x29\xe3\x48\x24\x5c\x32\x3d\x90\xf0\xc8\x14\x72\xda\x3b\x0a\xd1\x96\xa4\x2e\x37\xdb\xd8\x97\x52\x75\x2e\x77\xa2\x64\xc9\x43\xff\xe8\xa6\x93\xc7\x3e\xb1\x12\x74\xb4\xd2\xc2\xd8\x96\xf2\xc9\x8a\xa4\x1a\xc7\x39\x03\x7e\x37\x78\x57\xc5\x8a\x51\xf2\xb1\x2f\x02\xf0\x27\xdc\xa8\x26\xa7\xae\x92\x1d\x1c\x03\x32\xf4\x0f\x10\x0c\xf6\x26\x7d\x54\x0e\x0d\x4f\x21\xb6\xfd\x29\x35\x21\xb5\x2d\xab\x88\xae\x26\xbc\xa6\x0f\x20\xe6\x42\x3e\xea\x10\x78\x25\x65\x8f\x78\x0e\x1f\xc6\x78\xcb\x12\x5d\x06\x7c\xfb\xa5\x73\xb5\xd9\xae\x6b\x56\xb1\x16\x73\x80\x8b\x29\x9f\xfc\xaa\xfa\x95\x2a\x01\x21\x04\x6d\x15\xb5\x1f\xbd\xa1\x89\x73\x83\x9a\x26\x24\x02\x7c\xf8\x8c\xf5\xaa\xe6\x34\x62\x44\xa4\x11\x07\xa0\xb9\x71\x2b\x84\x4a\x63\x81\x24\x56\x94\x27\xf2\xb5\xe8\x94\x10\xeb\x50\xc7\x40\x92\x85\x72\xcc\x47\xf2\x99\x38\xe6\x3d\x36\xf9\x74\x2d\x79\xd4\x90\x56\x45\x15\x5e\x48\x1d\xe2\xaa\x3c\x34\x92\x39\x66\x82\xcf\x0b\x57\x69\x88\xd4\x10\x5c\xc0\xc8\x09\xa3\x10\x04\xd5\x1e\x28\xc6\x82\x2d\x97\x5d\x1c\x8b\x01\xe7\x71\x28\x82\x8a\x27\x0e\x80\xc2\x53\xa1\xe5\x8b\x38\x8a\x1e\xbb\x80\xe3\xb6\xb1\xc4\x7a\xd4\xd5\x09\xd2\xda\x15\xa4\xc4\x96\x73\x62\xac\x52\x86\x92\x59\x86\x1f\x00\x41\x36\x25\x8c\x35\x41\x7d\x53\xf2\x90\xfc\x69\x3e\x82\x9e\x2f\x83\x8b\x40\xaf\xc1\xef\x02\x25\x54\x64\x4c\x7d\x8c\x33\x15\xc4\x0e\xe4\x84\xce\x61\x81\x34\x70\x9f\x88\x7d\x52\xa6\xcc\x51\x49\x90\x93\x8a\x9a\x40\xc1\xf8\x65\x4c\x19\x15\xa8\x85\xa3\x5a\x0a\x14\x63\xd5\xbe\xc3\x25\xb6\x28\x18\x45\x39\xa2\x74\x1e\x0f\xca\xd5\x73\x3f\xfa\x11\x87\x56\xbb\x8f\x12\xba\x3c\x1e\xfb\x5d\x92\x51\x9b\x6a\xde\x63\xc4\xda\x4a\x40\x11\x56\x04\x16\x73\x42\xd1\x53\x48\x00\xec\xb0\xc8\x89\xfc\x7d\xd5\x6b\x27\x5c\xe9\xdb\xff\xf9\x7d\xf7\xeb\xfd\xe5\x65\x54\xe1\x5f\x26\x54\x5a\x8d\x84\xd3\x76\xc2\x37\xbd\x53\x5e\xe0\x46\x86\x61\xf7\xbe\xa6\x00\xe7\xa2\x2c\xb6\xcc\x02\x0a\x28\x15\x80\x35\x94\x34\x84\xa9\xbb\x98\x07\x04\x42\xff\xff\xec\xfd\xcf\x92\x23\x39\xce\x25\x8e\xbe\x8a\xbf\x00\x31\x04\x08\xfe\x5b\x86\xc5\x26\x16\x91\xab\x31\x8b\xbd\x46\x5d\xdd\x2a\x1b\x45\x55\xdf\xaa\x6e\x7d\xdf\xc4\xd3\x5f\xc3\x01\x5d\x21\xb9\x5c\x4a\xa5\x32\xab\xba\xe7\x37\x6d\x96\xe1\x52\x4a\x2e\x77\x3a\x09\x82\x00\x08\x9c\xf3\x76\x9b\x2c\xe3\xeb\x81\x2d\x54\x00\xd6\x65\x71\x88\xd7\xeb\xd6\x65\x7c\x34\xe2\x6c\x89\xbb\x46\x51\x1b\x38\x70\xa7\x38\x91\x89\x4b\xaf\x66\x49\x90\x54\xdd\x27\x92\x88\x4c\x83\x22\x27\x2d\x8e\x92\x26\x31\x4f\xea\x6d\xa5\x1a\x45\x46\x85\x7c\x47\x46\x59\x1b\xd5\xbc\xd7\xcb\xb0\xe2\x8d\x84\x49\xef\x54\x33\x02\x61\x78\xe4\x56\x97\x1e\x2a\x83\x98\x9f\x4a\x4c\xb8\xe1\xe9\xf8\x9c\x8f\xe1\x28\x9d\x7b\x34\xca\xb5\x94\xc0\x7b\x03\xa8\xf6\x24\x2b\x80\x53\x7d\x19\x88\x1b\xc4\x04\x89\xf7\x54\x23\x6c\x80\x33\xf9\x69\x20\x0f\x67\x7d\x65\x10\xe2\x32\xb5\xdc\x9e\xce\x2f\xeb\x0f\xb9\x64\xd3\x1f\xf9\xb1\xfd\x9e\xf8\xbb\xe4\x69\xc1\xc6\x10\xd5\x2b\x55\x95\xf2\x02\x76\xf3\x14\x7b\x16\x24\x63\x26\xfa\xb6\x98\x36\xd1\x53\x49\xf9\xac\xfb\x5e\xb4\x6c\xc8\xb6\xa2\xd6\xf1\xe3\x4b\x26\x2f\x8a\xbd\xbf\x74\xd2\x7b\x0b\x30\xe3\x05\xc9\x07\x7a\xde\xa7\x6a\xaa\x5c\xd3\xcb\xf2\xaa\x73\xd8\xf3\xad\xc0\x28\x7a\x50\x20\x7e\xdd\xde\xc0\x77\xbf\xd9\xcf\x9e\x7c\xbc\x98\x34\x9e\x1d\xef\xc9\xfc\xe7\xdf\xe0\x74\x49\x3b\x4e\x97\x19\xe0\xec\x86\xc2\x1b\xaa\x22\x17\x29\xe7\x28\x02\xf0\xd2\x6f\x90\xd3\x80\x96\xd5\x4f\x5d\x4b\x60\xbf\x5d\x3f\xfd\xc6\x95\xda\xd6\xf7\x3d\xb9\x0b\xb5\x40\x69\x6c\x5c\xa4\x17\x06\x1d\x47\x60\x6f\xf4\xf5\x4a\xc9\xb4\x5e\x38\xc0\xfd\xf6\xbd\x1f\x0a\xba\xd9\xf0\x3c\x5a\x2f\x26\x3e\x3c\x67\xb2\xee\x05\x59\x7d\x19\xfe\x8f\x7e\x76\xde\xdd\xac\x02\xf5\xb4\x75\x1d\x29\xeb\x69\x24\x99\x63\x84\x79\x17\x1a\x65\xaf\x1c\x66\xb9\x56\xb4\xd8\x1c\xc3\xf5\x45\x97\x75\x6c\x63\x2a\x58\xff\x03\x9c\x5a\x64\xeb\x39\x3a\xb1\x25\xd2\x56\xcd\x40\x40\xaa\xa9\xbd\xe2\x32\x6f\x02\xc0\xde\xf5\xeb\x14\x6a\xf5\x21\xca\x0a\xf4\xf7\x5f\x7e\xfd\xaf\x5f\xee\x67\xaa\x76\x89\x5f\x03\x11\x60\x88\xca\x2d\xc2\x99\xf5\xb5\x7b\x05\x2a\xf7\xfb\x24\x7b\x51\x3b\x3b\xeb\x6e\x5e\xe7\xb2\x38\x03\xa3\x9e\xcf\x4d\x17\xb0\x0b\x27\xf5\x37\xcb\xc4\x8a\x5e\x61\x08\xac\x32\xec\xcf\xec\xfb\x87\xa0\x54\xfa\x05\x1e\xc5\xc1\x3e\xc5\x59\x81\xaf\x03\x15\x8e\x20\xe2\x19\xab\xec\x27\x54\xa1\x50\x0e\x4b\x78\xc4\x3b\xf7\x6e\x6d\x66\xc5\x4d\x9d\x8e\x2c\x46\x3a\xf9\x7f\x10\xe9\xd7\x8f\x77\x80\x93\xd6\x8d\x63\x68\x8d\x76\x99\x2b\xf5\xf9\x41\x44\x1d\xe0\x0d\xf8\xe0\x3b\x14\xf2\x51\x02\xef\x5a\x9d\x65\x8d\x2d\xc9\x27\xf4\xee\x46\x6d\xf8\xdb\x15\xac\xa0\xeb\xd3\x13\xd3\xea\xd6\xc4\x5c\xc3\x03\xd9\x85\xab\x93\x7d\xbd\xb0\x79\x4d\x52\x2f\xd1\x10\x3e\x09\x94\x16\x3c\xaa\x4d\x90\x1f\xd5\xcc\x70\x2d\x34\xa8\x5a\x41\xd0\xbf\x07\xa5\x73\x35\x6b\xef\xf3\x2b\x26\x41\x05\x66\xce\xbc\x77\x72\xce\x6a\xcd\xf5\xaf\x19\xbf\xb4\xbf\xfd\x67\x95\xd7\xe7\x6f\xc3\xb8\x6e\x38\x16\x7f\x7d\x7e\x07\xe0\xa0\x76\x87\xc4\x81\xdb\x34\x6f\x94\x7a\x9e\xf4\x33\x18\xdc\xa9\x4f\xa7\x9f\x99\x00\x76\xea\x1f\x5f\x2a\xe2\x55\x6c\x8e\x15\x50\xc9\x5c\x08\x2b\x79\xf2\xe7\xe7\x67\x91\x43\xa5\xef\x15\xc4\xfd\xcf\xbf\xfc\xef\xaf\xab\xc1\x5b\x25\xcb\xe9\x96\xcd\x5c\x57\x6b\xfa\x2f\x4d\xfc\xef\xb3\x2a\xda\x7a\x01\x68\x1b\x5b\xc6\xc8\xdb\xcf\xe6\x59\xb7\x9a\x89\x51\x65\x23\x99\xd2\xa8\x2d\x74\xcc\xcd\x3f\xcf\x1a\xf8\x54\xa4\xdd\x61\xe7\xca\x81\xcf\x35\xe5\x0c\xb7\xb4\x04\xe0\xfc\x24\x08\x58\x03\x53\xb4\x8b\x98\x6e\xec\x75\x92\x05\xb0\xfc\x29\xfa\x53\xaf\x38\xe7\x2e\x77\xf6\x28\x21\x5f\x55\x53\xd7\xf3\xf4\x2f\xd9\x30\xe7\xdd\xfc\x53\xbf\x20\xb6\x89\x5f\x2e\x41\x1c\xbe\xd3\x9e\xa9\x2b\x52\x91\x70\x9b\x6d\x20\x29\xa8\xc3\xc9\x9c\x29\x6a\xf6\xa0\xa4\x34\x94\xf7\x9a\x50\xf4\x6b\xfa\xeb\x2b\x36\xce\x1d\xe3\x2e\xf3\xb8\xaf\x0f\xfb\x0a\x67\x9b\x0f\xfb\x2a\x86\xa6\x23\x6f\x69\x9d\x74\xb1\xeb\xfd\x39\xe8\x4c\xc8\x7a\xbe\x77\xd0\xf7\xfb\xcd\x6f\xe1\xf7\x9f\xff\xf6\x30\x85\x8d\xcc\x74\x24\x97\x99\x97\xfa\xd2\x29\xf5\xb2\x35\x3f\xa8\x64\x60\xb8\x49\x13\x02\xda\x37\xa3\x54\x4d\xda\x46\x29\x39\x79\x49\x99\x1f\xb4\x98\x33\xa9\xa4\xb1\x8c\xe3\xd8\x5a\x1d\xbf\x78\x61\x3e\xe4\x79\xb6\x5f\xc2\x24\x30\x2f\x21\xa7\xe6\x62\xf9\xb8\x13\xf3\xc7\xb6\xa3\x35\x03\xca\x92\x80\xea\xc6\xb1\x86\xf5\xe6\x84\x63\x73\xea\x38\xce\xfb\xb4\xe3\x27\x2f\xd6\x05\x6f\x19\xe8\x8f\xf5\x2c\x8f\x71\x2e\x32\x17\x40\x28\x54\xe7\x0d\xcb\x94\xe7\x6e\xa1\xea\x80\xd9\x39\x56\x4a\xa0\xfe\x8f\x99\x9a\x9a\x4b\xdb\xb0\x61\xd1\x8e\x7d\xa2\x14\x8b\x6c\x29\x6b\x22\x54\xed\x89\xad\x63\xc0\x6b\xc0\x2f\x5e\x98\xdf\x46\x51\xf1\xc0\x00\xcf\xce\x64\x61\xcf\x8b\xdb\x4c\xb8\x4d\xb0\xfb\xe0\x57\xe1\x78\x23\x30\x69\x97\x79\xaf\x17\x37\x32\x9d\x12\xcb\x38\xc6\xc1\x4d\xed\x3f\x79\x71\xcc\xaa\x47\x8c\xf1\x4f\x51\x7b\xcc\x07\x6a\x74\x25\xc3\x57\x76\x81\x72\xd7\x6d\x20\x57\xce\xb5\x14\x4a\x39\x05\x21\x8d\x99\x7a\xcb\x4f\x89\x92\x8d\x72\x1a\xb2\x34\x65\xb0\x17\x9c\x7f\xca\x93\x50\xea\x5b\x2a\x4a\x05\x7c\xe5\x39\x16\xfb\xf1\x64\x97\xc1\xbb\x97\x0a\x1c\x93\x0b\x65\xe0\x82\x57\x0f\x4b\xdc\x8e\x91\x7f\xac\x3b\xa6\xd8\x75\x4b\xae\xb8\x2a\xb2\xcb\xb1\x79\x83\x72\x8a\xcb\xf6\x71\x42\x2a\xb2\x2c\x5b\x18\x38\x58\x13\x51\x71\x20\xe3\x38\x46\x47\x23\x58\xfc\x33\x90\xce\x92\x99\xfd\xab\x78\x07\x03\x07\xed\xe3\x0b\xb8\x57\x8e\xdd\x96\x63\x33\xed\xd8\xbb\x12\xf6\x38\x51\x99\xf9\xc4\x84\xc2\xa7\x56\x86\x0e\xce\xde\x6d\xd0\x93\x5d\x89\x7b\xa7\x5e\x29\x67\xaf\x16\x4d\x94\x72\xa5\x94\x85\x9a\x09\xa9\x63\x34\x66\xb6\x77\x2f\xf5\x6d\x2e\x16\x76\xbc\x96\x04\xd3\xd0\x3b\x05\xf7\x9e\xec\xde\x81\xfc\x37\xc1\x7e\xb3\x39\xbf\x3b\x18\x99\x71\x1b\x33\x3f\x14\x01\x71\x6c\x97\x56\x3b\x3b\xfb\x57\x1b\xa6\x0e\x87\xa4\xcf\x1d\x83\x26\xe0\x7a\xf6\xe8\x8f\x89\xed\x5d\xb8\x98\x32\xe5\x1b\x8e\xc6\x1d\xf7\xf8\x7a\x82\x4a\x9b\xd2\x26\x4f\xb3\x45\xc9\xf1\xc9\xff\x63\xab\x69\xba\xe7\x0e\xbb\xcd\xfe\xaf\x0f\x2b\xf9\x9b\x8f\xf7\x8e\x09\x70\x60\x3e\xf5\xa4\xec\xab\x1b\x38\x53\x77\xb4\xf5\x41\x2d\x71\xab\x9b\x46\x4b\xeb\xe6\x93\x40\xcd\x1a\xfa\x18\xea\xc6\x37\x05\x16\x3e\x19\x2e\xd7\xd0\x4b\x6c\xb6\xb7\x57\xd0\xb0\x4f\xfd\x9c\x19\x9e\x57\x91\xc3\xb5\xf7\xa7\x33\xa2\x12\xf3\xa2\xca\x8e\x22\x6a\x52\x3e\xfd\xe8\x48\x19\xbb\x27\xf2\x55\x58\xf1\x33\xbc\x66\x04\xe4\x16\x1b\xf9\x30\xc7\x75\x25\xe4\x79\x93\x38\x59\x6f\x16\xf5\xeb\x12\x1f\x77\xa6\xd6\x58\xec\x8e\x0c\xec\x90\x97\x95\xbd\x08\x71\xbe\xeb\x8b\x6b\x0d\x43\xea\x3e\x2b\xe8\x5b\x1c\xf4\xf6\xe9\x3a\x5e\x0c\x64\xa1\xdc\x5f\x33\xa1\x36\x55\x17\x63\xc8\xa8\xc0\x79\x75\x8f\x2f\x52\x2d\x1b\xaa\x8d\xaa\x0f\x1f\xc5\xd4\xf0\x77\x36\xa6\x14\x4b\x0a\x14\x53\xdd\x0f\x1a\x99\x25\xce\xab\x33\xca\x63\x2b\x02\x1b\x59\x6e\x66\x9c\x1b\xa0\xb4\x40\x60\x3b\xd6\x17\xac\x1a\xbc\xfd\x0a\x29\x70\xba\x1c\xa7\x8b\x74\x64\x17\x91\xbc\x0b\x17\x16\x3c\xf3\xec\xe3\x9f\x6f\x31\xa1\x6d\x77\x0d\xd1\x6f\xbf\xfe\x7d\xff\xd3\xd7\x54\xf1\x0d\xfd\x75\xbe\x71\x91\x55\x49\x52\x42\x52\x7c\xf5\xda\xe8\xa7\x23\xa2\xad\x8b\x15\x00\x37\x9a\x6e\xe3\xe4\x2e\x83\x82\x95\xba\x13\x97\xd0\xf1\xf2\x7b\xe8\x41\x51\x07\xdb\x83\xfd\x7f\x8b\x75\x38\x65\xea\x49\x51\xd5\x8b\x1d\xcb\x12\x8a\xcd\xea\xfd\xbc\x09\x5f\x26\xbb\x27\x87\x42\x29\x9e\xed\x95\x78\xae\x5b\xb1\x85\x6e\x6a\x94\x2b\x3f\x55\xaa\xdc\x27\x3f\xce\x2b\xf0\xdc\x26\x25\x51\x05\xa4\x36\x4f\x95\x4a\x99\x2a\x0c\xbf\x52\x7e\xaf\x00\x04\x56\xc6\x47\xc1\x3e\xda\x2c\x2f\x04\x6b\xae\x84\x4c\x52\xfa\x2b\xea\xea\x9a\x4e\x27\x77\x7e\x48\x1b\x8e\x01\x7a\x38\xab\x17\x75\xff\x72\x51\x52\xa7\x0e\xd9\xde\x1c\xa9\x87\x9f\x32\x75\x41\x26\xa1\x9f\x80\xe2\x3d\x7d\xe6\x44\xbd\x77\x93\xb1\x94\x2a\x52\x28\xcc\x59\xc8\xe0\xa5\xed\x28\xbc\x4e\xd6\xdf\x53\x0c\x05\x6c\x89\x29\xd8\xe3\xf7\xb2\x59\x5c\x8e\x4a\xc9\x18\xd4\x86\x7b\x4a\xb0\x7b\x7e\x7c\x51\xaa\x00\xd1\xed\xad\x3e\x29\x29\xd2\xdc\x65\xb8\x25\xd9\x5b\x90\xbc\x5e\xcc\xf9\x90\x32\x84\x07\x35\xdf\x89\xf2\xef\x8a\x10\x66\x44\xbe\x9b\x5d\x5e\xcb\xe6\xfc\x2a\x88\x8e\x86\x44\x31\xa7\x57\x14\x53\xf7\x6a\xea\x58\x9a\x79\x26\x8f\x25\x59\xff\xf3\xef\xfb\x9f\xb7\x9b\x7b\x8b\x78\xd2\xda\xee\x0f\x8f\x38\x4d\xbc\x8c\xe0\xe0\xf4\x7a\x16\xdd\x3b\x62\x38\x5e\xdf\xec\x7c\xbb\x19\x3e\xba\xbd\xe5\xba\xe2\x3a\x5f\xb4\xd7\xc3\x04\x2f\xe7\x51\xec\x47\xb6\xa5\x57\x1e\xb9\xcf\xa1\xa9\xcb\xaf\x64\x0e\x9f\xff\xf1\xdb\xce\x63\xa1\x3d\x5f\x46\xf1\xee\x2b\xfb\xcc\x68\xdb\xc3\xc1\xc3\xa3\x30\xdd\x17\xc1\x86\xd2\x7f\x5a\x26\x4f\xcb\x6a\xa9\x8a\x6f\xd8\xb2\xec\xd6\xfc\x95\x65\xb4\xf9\x1c\x71\xf6\xfe\x4d\xd9\x35\xbf\xec\x10\x2e\x03\x50\x18\xe4\xb8\x3b\xc2\xd9\x3e\xbc\x33\x7d\xf9\x98\x38\x9b\xcb\xee\xf2\x1b\x2e\x8e\x63\x74\x08\x2b\xdf\x7d\xe7\x6e\xf4\x63\x40\xbe\x8f\x49\x09\x90\x61\x1f\x8e\x2e\x73\xa5\x98\x11\xf3\x68\x7a\x59\xd0\xd2\xa7\xb8\x27\xae\x6c\x7f\x57\xaa\x59\x3a\x50\x94\x70\x7c\x42\xe2\x92\x1e\x57\x91\x48\xd9\x3a\xb9\xbe\x16\x53\xa9\xdc\xa8\xf4\x45\x5a\x56\xb7\xe7\xef\x35\xef\x91\x9b\x09\x48\x81\xba\x51\xaa\x00\x65\xb0\xe3\x58\x8d\x80\x0c\x91\x7b\xde\xe3\x3e\x7e\xcf\x8f\x77\xa1\x86\x34\xe2\x58\xae\x54\xee\xec\xe1\xa4\xda\x02\xfb\x8a\x38\x70\x21\xd5\x3d\xfc\x56\xfb\xec\x5a\x45\x90\x3d\xac\x1d\x46\xcd\x79\xb2\x25\x3c\xbf\x82\xfb\xc2\x34\xc3\x3e\x54\xc2\x67\x69\x49\xbd\x14\xb0\xd2\x9b\x7f\xbd\x47\x92\x5e\x46\x19\x97\xe2\xe8\x69\x7b\x65\xf1\x0b\x3b\x97\xf1\xb3\x57\xbb\x95\x4e\xb7\xe4\xe0\x7c\xd5\x30\x03\xff\x7a\xfa\xd1\xc3\xbe\xc1\x1b\xaf\x58\x9c\xf5\xb2\xd4\x72\x20\xd1\xaf\xb0\xfd\x9b\xd1\xe9\x7a\x39\x5f\xc9\x60\x4a\x2f\x7c\xb9\x3f\xf5\xb9\x7c\xdc\x23\xef\x0f\xc7\xca\x81\x12\x03\xa7\x2e\x5e\xc2\x04\x52\x8f\x66\x04\xec\x81\x00\x90\x5b\x5f\x54\xf0\x91\xa0\x3a\x4d\x0b\xf8\x34\x2a\x94\x4e\xed\x6d\x73\x2e\xf6\xa8\x1b\xaf\x48\x74\xaf\xd8\x46\x45\xa5\xa3\xf4\xbe\xd8\x26\x44\x32\x6f\x6b\x65\x4f\x2d\xa5\x60\x3d\xd4\x17\x57\xa2\x8e\x6d\x94\xd2\xf6\xb8\x5b\xc0\xdd\x10\xce\x89\xe2\xbc\xbd\xa7\xfb\xdb\x29\x27\x8a\xc9\x44\xde\xd3\x68\x19\x39\x91\x9d\x91\xad\x13\xa8\xa4\x72\x7e\x7e\x4c\x0e\x2a\xb3\x0f\x54\x63\x0a\x94\xfb\xc7\x7b\xa0\xea\x19\xdb\x82\x1a\xcd\xd8\x00\x30\x65\x66\x35\xec\xb0\xc8\x4b\x01\x06\xea\x06\xf2\xcf\x5f\x33\xd0\xc2\x40\x88\xeb\xc9\xff\x76\x2a\x08\x6a\x44\xfb\x2c\xed\xe0\xe6\x65\xd9\x2b\x49\x34\x53\x10\x39\x7f\x5f\x97\x77\xb9\x20\xa1\x9a\xf7\x3f\xfb\x95\x0d\x84\x75\x7f\xea\xad\x9f\x99\xfe\x79\xea\x87\xe1\xda\xae\x38\x54\xe5\x8a\x43\x95\xe6\x4d\xd3\xa7\x65\xf1\x99\xfd\xef\xa5\xac\x89\xf6\x7d\x09\xd7\x3f\xfd\xf2\x8f\x9f\x7e\xfb\xfb\x6f\x3f\xdf\x82\xc5\xfb\xaa\x80\x27\x2a\x15\x19\xea\x5a\x37\x9d\xb4\x98\x73\xa5\x23\x9f\x5f\x29\x43\x2b\x71\x3d\xed\x9b\xde\x00\x00\x93\xd2\x13\x47\xea\xd8\xf8\xed\xe5\x18\xdd\x58\xad\x24\x72\xf7\x2c\x97\xc9\x5c\x9e\xa9\x53\xe2\x34\x35\x8a\x59\x11\x41\x3d\x2d\xb0\xe0\x38\x2a\x37\x54\xe1\x0e\x34\x90\xc0\xc4\x6a\xd2\x2c\x35\x28\x65\x4e\xa1\x50\x57\x09\x8d\x4a\x2e\x3b\x1b\x10\xdd\x52\xc4\x1c\x42\x91\x75\xc7\x52\xe3\xb3\xc8\xbc\x86\x25\x49\x61\x32\x31\xcd\x4d\x9e\x38\x3b\x70\x99\xbf\x78\xbe\x7b\x2d\xf0\x4f\xf2\x8e\xb4\xad\xd9\xcd\xa4\x5a\xec\x87\xac\xe6\xb0\xe0\x65\xb8\x85\x36\x79\xca\x96\x34\x09\x65\x2d\xd4\x04\xd5\x2b\x00\x61\xaa\x48\x40\xe1\x05\xb1\x9f\x74\x35\x21\x6b\x13\x17\xd2\x32\x8e\x43\x58\x81\x2e\x25\xe9\xe3\xdd\x3c\x22\xfb\xf8\xa9\x53\x8e\xc0\x8b\x1c\xb1\x7e\xf1\xe0\x2d\x5b\x07\x68\xdd\x20\x2b\x37\x4d\xe3\xc5\xe5\x2b\x4a\x0b\xcd\x26\xfa\x1d\xfb\x5f\x0c\xfc\xdd\xa5\x66\x86\xfe\x2d\xbb\x8b\x2d\x60\x16\xc7\xeb\x3d\xf0\x25\x45\x17\x10\xf4\x6f\xd5\xa0\xef\x42\xb9\xb9\x18\x5d\xbf\xe4\x22\x64\xe2\x09\x3f\xed\xfa\xa5\xd2\x4a\x98\xbf\x53\xde\x01\xa8\x79\xcd\xd6\x4c\x37\x1a\x3d\xc3\xda\x8c\x5c\xab\x35\xeb\x6e\x35\xe3\x67\xdd\x86\x83\xb1\x00\x93\x7a\x65\xfb\x70\xd5\xc4\x9e\xef\xde\x7f\xdc\xcd\x57\x10\xff\x6f\xdf\x9b\xf3\x0f\x7c\xf2\xb5\x8d\xd3\x2b\x77\xff\x36\x65\xf8\xf0\x6a\xdf\xa9\x39\xce\x40\xd5\x4d\x81\x35\xea\x47\x9f\x4e\x05\x85\xf6\xad\xe8\xf9\x2c\x6e\x00\xba\xa9\x47\xe4\x17\x33\x37\x33\x10\x77\x5a\x3a\x53\x6b\xc0\x53\x51\x65\x00\x59\xa3\xd4\x2f\x1e\xad\x26\x50\xb6\xed\x84\x72\x4c\x1b\xd3\xa7\x02\x24\x56\x7b\x19\x3a\xab\x97\x49\xa9\x70\x3f\xd7\x64\xb1\x06\xaa\xa9\x3c\x75\xd2\x64\x4e\xb1\x7a\x3a\x3e\x40\xd6\x2a\x2e\x49\x55\xd2\x5a\x9f\x96\xfa\x9c\xa9\x25\xb3\x51\x59\xcc\x32\x29\xa5\x4e\x09\xd5\x74\x28\xa9\x4e\xc5\xda\xc1\x51\xa6\xf1\x32\x02\x81\x09\x14\xf5\x7c\xd6\x05\xa9\xd6\xe0\x78\x87\xec\xc0\x7d\xfe\x32\x87\x4c\x80\x79\xca\x0d\xba\xac\xaa\x4e\x11\x1d\x00\x74\xae\x38\x47\x50\x73\x2d\xe0\x45\x8b\x75\x63\x06\x7c\x47\x94\x26\xf6\xa1\x6c\x08\x8b\xbf\xc8\x75\xe0\x8a\x13\x9c\x96\x3c\xd5\xcb\x35\xda\xf9\x6d\x28\xef\xf4\x12\x9c\xa1\xae\xb9\x60\x33\x19\xd9\xb5\x7d\x7f\x5d\xb3\x2e\xae\x5f\x64\xa1\xb9\xe2\xe5\xd4\x9f\xaf\x21\x2b\x2c\x5f\x6f\xa6\x13\x77\x57\x79\x03\x6e\xa4\x27\xa4\x8f\x41\xc4\xb5\xee\x87\xdf\x93\x3b\x76\x3a\x71\xa1\xff\xeb\xfa\x86\xfe\xaa\x98\x49\x1e\x0d\x30\xef\xee\x87\xb5\xa0\x7f\x5b\x0b\xee\xd3\x1e\xbf\xfd\x9f\xf0\xf7\x5f\x7f\xfe\xe5\x0e\xe7\x78\xc4\xaa\x95\xf2\xa6\x22\x94\xe8\x47\xf4\x7c\xa1\x5c\xd8\x0c\x90\xa2\xe7\x92\x00\xba\xcf\x2a\x0d\x60\xcb\x4e\x67\xd4\x06\x96\xeb\xa7\xf7\x34\x9f\xf4\xe4\x62\x3c\x26\x18\x6e\x75\x2e\x41\xe9\x5c\x7a\x8e\xdd\xd9\xcd\x83\xdc\x87\x44\x2c\x3d\x08\xf5\xbc\xd8\xb8\x01\x76\x5f\xec\x40\xd5\x5a\x92\x0d\xc5\xe1\x8b\xae\x7d\x17\x3e\x7f\x7a\x72\xed\x97\x25\x76\x91\x35\xeb\x5b\xbb\xfb\xbe\xdd\x1c\xa4\x9e\x66\xd2\xae\x93\x1f\xd1\xdb\x4a\x39\x83\xd8\x77\x81\xf5\x24\x8a\xaa\xd5\xb1\xff\xc9\xa0\x31\x6f\x7a\xa2\xb5\xf8\x78\x0e\x3f\x9d\xee\x86\xe2\x3e\x4b\xe4\x27\x51\xeb\x90\xd2\x17\x73\x2c\xe6\x39\x95\x07\x1e\xa2\xf6\xfc\x72\xc1\xde\x01\x71\x2e\xd4\x62\x36\x07\x69\x3e\xef\x7c\x06\x33\xb6\x9c\x50\x03\x11\x2e\xf8\x08\x00\xc1\x35\xa7\xd7\x5e\x6c\x66\x01\xca\xee\x3e\x01\xff\xef\x9f\xff\xf1\x2d\xf2\x0d\x01\x1b\xdb\xc7\xcc\x91\x6a\xac\xc1\x5c\xb6\x73\xb8\xbd\x0a\xc0\x56\xa9\x32\x9d\x6d\x29\xa3\x1a\x4d\xcf\xc4\x73\x3e\xf1\x69\xbe\xe6\x51\x54\x3e\x79\xf4\xbe\x5b\xa6\x6d\x16\x2a\x89\x9a\xa1\xfd\xb9\x41\x37\x04\x3b\x99\x64\x8f\x33\xae\xc8\x36\x9f\x09\x77\x5f\x52\xd1\xdd\x2b\xdc\x9f\x5d\x7d\x5f\xa1\xcf\xd4\x36\x65\x9a\x1d\x90\xcc\x1a\xf2\x39\x24\x99\x79\xcd\x40\xbc\x2d\x69\xf2\xc9\x39\xf7\x73\x23\xae\xf9\x44\xaa\x09\x65\x7e\xa9\xf0\xd3\x7c\x41\x9e\xda\x62\xed\xe1\x6f\x90\xe7\xb2\x2a\xcf\xf9\x9b\xe5\xf9\x64\xb7\xd4\x8b\xb8\xed\x04\x60\x7e\x69\x6f\x76\x92\xb6\xef\x90\xec\x7f\xfc\xf4\xdb\x2f\x9b\xfd\x9d\x79\xb3\xee\x39\x2c\x77\x86\x8f\xc2\xe6\x5b\xef\x27\xc2\x33\x96\xe5\xbc\xea\x94\x24\xca\x00\xb3\x12\x6c\x21\xd5\x0b\xf6\xe8\x19\xe4\xac\x13\xb2\xc0\x90\x26\x7a\x9e\x80\x1f\x4e\x37\xc0\xcf\xeb\x65\xf3\x4d\x2f\x89\x6f\x85\xec\xf8\xe6\x76\x7e\x59\xdb\xce\xbf\xf4\xf1\x9c\xc7\x49\xf8\xca\x76\x3e\x0a\x42\xca\xe5\x57\x1e\x94\xda\x95\x55\x97\xa0\xdc\x69\xcc\x9f\x8d\xe9\x5d\xb3\xa8\x4f\x17\xcc\x91\xd8\x25\x40\xf4\x52\xa2\x23\x9a\xf6\x84\x1c\xfa\x2c\x9d\x84\x1b\xc0\x13\x00\x16\xe8\x7f\x7c\x96\xab\xc1\x9c\xa7\x4b\xda\xd5\x23\x31\xa6\x8d\x7c\xb5\x81\x6f\xd7\xd9\xad\x0b\x89\x04\x3b\xac\xe8\x92\x8b\x31\xbf\x15\xb6\xaa\x57\xc2\x56\xf5\x4a\x1a\x80\xae\xa4\x6b\x2c\x0d\x5f\x30\xcc\xb3\xee\x2e\xf7\x33\x00\xf5\xb2\xbe\xd5\x31\xa2\x56\x3b\x5d\x19\x5b\xbd\x6b\x64\x0f\x3f\xdd\x5c\x82\x1e\x82\xc4\x41\xcc\xa3\x52\x29\x4b\x2d\x92\x34\x7b\xa9\x40\x96\x32\x25\x8a\x1d\x7b\xee\xa6\x74\xce\x7b\x59\xa1\x11\xa4\xed\x85\xb4\x54\xa4\xfc\x25\xc4\x88\xcc\x25\x5a\xea\xb7\xd8\x1a\x55\xec\xc8\x73\xa5\x2c\xb2\x4f\xae\x3a\xcb\x79\x11\x21\x4e\xb4\x25\x72\x8f\x2b\x85\x04\x27\x0e\x37\x40\x26\x60\xba\x68\x02\xf2\x54\xf7\x68\x62\x80\x62\x64\x60\x5e\x5b\xbb\x3f\xde\x81\xa8\xac\xc4\xb1\xda\x9d\x3b\xc0\x29\x98\xa2\x58\x6b\xcf\xd3\x59\x29\x17\x25\xd4\x54\x4a\x6f\x26\x2f\x60\x51\x06\x32\x3b\x2f\x4a\x47\x51\xcc\x5d\x74\x4f\xa9\x83\x42\xa2\x15\x24\x1d\x80\x18\x63\xd1\x45\xa5\x37\xaf\xf3\x81\x73\x0b\x34\x8d\x2e\x48\x15\x2e\x17\xd7\x0c\x76\xd1\xd7\x46\xec\x09\x25\x59\xbc\x2d\xc1\x1a\xb3\x6c\xa9\x3d\xf9\x62\x85\xaa\xd3\x1a\x61\x17\xef\x42\x7d\x3b\x2b\x24\xae\x93\x1c\xd6\xb4\x53\x9c\x79\x34\x2e\x52\x94\x22\x94\x93\xa4\xdd\xca\x57\x33\x5d\xce\xca\x3e\xc4\x28\x88\x4c\x2f\x5c\xdf\xe4\xe3\x4b\x9d\xca\x9b\xa2\x12\xee\x66\x4d\xf7\xe3\x9b\x2a\xf9\x26\x84\x23\xd7\xb7\xb2\xa2\x91\x14\x65\x1c\x6f\xe5\x1c\x5f\xb4\xdc\x3f\x29\x7f\x30\x5a\x47\xc1\xde\x04\xd7\x25\x36\x5b\x1a\x53\x12\x3b\x5d\x29\x9b\xb5\x95\xb5\x50\xba\x98\x92\xa8\x5a\xae\x69\xcf\x04\x68\xd5\x66\xa2\x92\x4c\xdc\xcb\x62\x9a\x75\xa5\xda\xca\x6b\x33\x59\xe3\x6e\xb2\xe6\x7b\x28\x72\x71\x5e\xa0\xda\xf2\x1e\xd7\x09\x42\x25\xa2\xe6\xd8\xba\xb5\xa5\x7e\x71\xfb\xe0\xb7\x47\xfb\x72\xa0\xd4\xd0\xe8\x80\x46\x7f\x7c\xa9\x94\x8a\x98\x8f\xa6\xf2\xea\xc8\x93\xb2\xa7\x82\x4a\xfd\x24\x0b\x21\xcf\x36\xbb\xf7\x4c\x9a\xb1\xee\x60\x71\xc0\xa6\x52\xbe\x98\x8f\x54\x72\xd9\x93\x28\x68\xf9\x6b\x71\x20\x91\x40\x65\x39\xcb\x2a\x7b\x2f\x4a\x6d\xf6\xa5\x19\xbd\x01\xbf\x58\x5e\xd0\xac\xc7\xec\xdb\x33\xa5\xcc\xd0\x9a\x4e\x70\x51\xd7\xe6\xe2\x45\x65\xe1\x74\x05\xaf\x79\x17\xf2\xdb\x95\xaf\x56\xa8\x3a\xe3\xa0\x25\x1c\x89\x19\x97\xa9\x05\x65\x85\x15\xf4\xb8\xe9\xfe\x76\x59\x6c\x37\x36\x07\xf9\x85\x05\xb9\xd2\xef\x01\xbe\x1b\x4a\x54\x97\x95\x05\xf3\x32\x3a\xa7\x66\xdc\x4d\xec\xb9\x4c\xcf\x3e\xa2\x5e\xb2\x1c\x16\x06\xe4\xa7\x5d\xb0\x0b\x79\xfd\xcb\xbb\xa6\xe2\xff\xf9\xd1\x08\x5e\x7f\x08\x60\x5c\x7a\x6e\xc4\x29\x4f\xe0\xfb\x51\x80\x91\x20\x0b\x2a\x4f\x95\xb8\xc8\xd6\x04\x2d\xb2\x03\x22\x3b\x55\xcd\x24\xc4\xbe\x5c\x4c\x42\x3d\x99\x00\x16\x52\x40\x5e\x15\x9b\x95\x81\x8e\xf4\x1d\xb1\xf4\xc1\x91\x20\x95\x04\x75\x8e\xa5\x53\x6a\x6d\xc3\xd4\x91\xb1\xde\x8f\xd8\xd1\x31\x9b\x0f\x54\x9f\xb0\x59\x38\xf9\x71\x78\x2a\xce\xd2\xc2\x85\xa2\x64\xac\x74\x31\x55\x60\xbe\x47\xae\x14\xfd\xbf\x2c\xf3\x15\x00\xc5\x03\x84\x37\xf3\x8f\x88\xab\xdd\x10\xd4\x6e\xd2\x3a\x25\xa5\x92\x2b\x65\x40\x68\xc7\xaa\x1b\xd0\x38\x4c\x7e\x1c\x42\x8c\x1a\x84\x9e\xca\x73\x1e\x5f\x75\x76\x70\x45\x33\xa2\xc1\x14\xc5\xdb\x34\x6a\x38\x0a\xf9\x52\xdb\xcc\x7e\x04\x89\x03\x17\x27\x78\x82\xfd\x08\x70\xaa\x0a\x43\x81\x8f\xeb\x72\x4f\x05\x98\x44\xca\x15\x13\xb8\xb6\x4c\x98\xd1\x55\xad\xcb\x00\x58\x60\x5d\x16\x1c\x89\xcd\x3e\x19\x7d\x66\x4a\xa9\xcf\x19\xac\xc0\x9d\xaa\x75\x3b\x60\xbc\xb4\x5a\x47\x04\xc0\xdc\xe3\xcd\xa8\xc1\x02\xb1\x06\x80\xdd\x1d\xad\x66\x7c\xb5\xb8\x5c\x38\x5e\x6f\x52\xaa\xb1\x8f\xa3\x7f\x65\x83\x9b\x5a\xdb\x06\xe2\xd4\x83\xf5\x63\x20\xec\x2d\x67\xc4\x8b\x9d\xff\x64\x74\x65\x99\xc6\xcb\xc8\x7c\x94\x96\xfd\x91\x9f\xb9\x51\x2b\x43\xc2\x38\xa3\xd8\x26\x81\x5c\xe9\xe3\x8b\x59\x34\xd8\x8e\xe1\x5a\x37\x4a\x02\x66\x31\x39\x32\xcf\xc5\xe3\x93\xe2\x41\x9b\x3d\x6c\x20\x60\xb3\xb7\xc1\xbb\xc1\x48\xbb\x06\xff\x40\xa0\x9c\x95\x32\xb0\xd7\x92\x62\x43\x4d\x79\x1a\x2f\x23\x0c\xdd\x93\x2d\x1b\xad\x3d\x17\x8a\xb5\x00\x6a\xd8\xec\xff\xe8\x3e\xb9\x07\xea\xb6\x09\x54\x5a\x80\x16\x84\x48\xd6\x06\x64\x2a\x9b\x1f\x35\x32\x2e\x9c\xfa\x34\x5e\xe6\x0b\x23\xed\xa3\xa1\xd0\xd7\xd6\x42\xb3\x52\x6b\x34\xfb\x2f\x59\x6b\x1c\x14\x09\x52\xcb\xd2\xcd\xf8\xf2\x27\x8e\x69\xc2\x61\x7e\xde\xc1\xbd\x65\x62\x2c\xc9\x1e\xad\x55\x7b\xaa\x30\x5f\x67\xe5\xe6\x00\xb3\x4e\x7e\xf7\x67\xae\xde\xe6\x0a\xbc\xe5\xec\x9c\x60\xdd\x1f\xcd\x5e\x7f\x0f\xd8\xd3\xb5\x19\xdd\x82\x3d\x94\x19\xd4\xf3\x43\x9d\xf7\x56\x38\xe9\xae\xad\x75\x32\x28\x7a\x02\x6c\xdb\x8a\x1d\xff\xd1\xd3\xf7\x6a\xc5\x1f\x8d\x06\xb9\x49\x53\x1a\x4a\xb1\x4c\xfe\x1e\x75\x64\xc8\xee\x75\xe4\xc7\x89\x87\x4e\x4c\x5e\x99\x35\xfe\x1f\x39\xa4\x4b\xc4\x47\x79\xce\x28\xf5\x41\xc9\x4f\x32\xc7\x01\xf4\x17\x10\x8a\x92\xb1\x57\xae\x6d\x1a\x2f\xbe\xe2\x76\x6c\x30\x15\x80\x32\x55\x13\x42\xd0\xff\x64\xeb\x2a\x47\x39\xdd\xcc\xed\x32\x5d\x28\x94\xf8\x99\xa2\x9a\x34\x61\xe7\xa8\x52\xc3\x84\x69\xbf\x53\x54\x06\xad\x59\x2c\xd5\x6b\xa6\xc6\xef\xc6\xcf\xb0\x3f\x0e\xee\x18\x49\x4a\x5a\x79\x5c\x9f\x41\xc2\x91\x0b\x35\x2f\x57\x53\x50\x23\x32\x20\x64\x59\x9f\xf1\x20\xe6\x5e\xb5\xc9\x9f\x8d\x75\x6a\x13\xeb\xef\x4a\xd8\x96\x4f\x66\x68\xb7\xd6\x6c\x94\x33\xf6\xad\x32\xf6\x8b\x66\xf5\x8c\x6b\x05\x5c\x6b\x6b\x4f\x68\x02\x09\xaa\xb6\x9c\x80\xe3\x8a\x75\x19\x7c\x6b\x98\x94\xa6\x23\x6c\x32\x8b\xa0\x1f\x22\x00\xd8\x9a\x3d\x53\x20\x11\xf6\x37\xa9\x96\xdf\xc3\x00\x29\xeb\x76\x82\x7f\x08\x64\xcf\xda\x26\x3f\x1e\xbb\xcc\x2e\x34\x15\xec\xcf\xf9\x71\x58\x77\x7e\x6f\x9e\x2e\xdb\x1c\x4e\x1a\xfd\x6c\xce\x4b\xf5\xa1\x34\xdb\xc1\xae\x3f\xb5\x49\x00\xe1\x09\xc0\xb9\x9e\xd2\xc6\x3a\x18\xb6\x2c\xcf\x28\x5e\x31\x59\xb3\xf6\xe3\x75\x4b\xb1\xd8\x92\xe0\x8b\x8a\x2a\x25\x2e\x94\xdb\xa6\x93\x82\xa3\xf8\x73\x37\xaf\x80\x80\xaf\x3e\x2b\x18\x87\xd8\x0c\x46\xeb\xf9\x5e\x00\x99\x88\x9d\x39\xa1\xfc\x7b\x32\x4f\x17\xcb\x84\x43\x73\xc2\x0d\x8b\x65\xed\x82\xce\x3b\xf8\x94\xcd\xdc\x99\xfc\x38\x72\x70\xb5\xa6\xa9\x6d\x32\x76\xfc\xfc\x38\xf2\x82\x6c\x69\x29\xda\x70\x21\x19\xc7\xd9\x74\x8f\x83\xc8\xf0\x19\x39\xd8\xcd\xd4\x9d\xa2\x6b\x22\x0a\xe0\xac\x85\x89\xf2\xff\xf4\xf6\xfb\x97\x80\x67\x03\x69\xee\xb2\x81\xe1\xf3\x91\xd1\x36\x9e\x8f\xa3\x21\xe8\xa5\x7b\xb5\xc3\xaf\x7f\xbd\x51\x35\xf5\x10\xad\x2e\x82\x7a\x0b\x27\xe2\x13\x9a\x7e\x9f\x00\x1e\x88\xe3\xb3\x6b\xfc\x42\xad\x0e\x1e\xc6\x46\x8c\x09\xe5\xbb\xb2\x92\xca\x06\xb4\x4d\x69\x1a\x2f\xf3\xb5\xe0\x94\x83\xe7\x8f\x01\xde\x01\x0f\x40\x39\x83\x80\x90\x32\x8c\x21\xd3\xfc\x2d\x00\x1b\x12\x0b\xb1\x19\xfb\x49\x9f\xd8\x37\x67\xe7\xbd\xd9\x7f\x57\x83\x47\x28\x15\x06\xff\x1f\x9c\xaf\xa9\x10\x92\xd4\x9a\x75\x60\xd1\xc9\x0e\xe7\x59\x31\x73\xcc\xf4\xd8\xff\x1f\xef\x1c\x01\x61\x95\xf6\x21\xd9\x12\x62\x07\x60\xec\x51\x52\xd0\x32\x52\x05\xed\x11\x40\xd2\xca\x89\x2d\x8b\x24\x19\x70\x9c\x8d\x1a\x4c\x6a\xd6\xb5\x48\x40\x33\xfb\xb3\x7d\x98\x9b\xda\x1a\xf6\x13\x9f\x12\xf5\x5a\x26\x3f\x46\xaf\x7e\x97\xcd\x6c\x2c\xeb\xa4\x5b\x6c\x97\x47\x04\x7a\x7a\x98\x5d\x11\x30\x14\xb5\xbd\x50\x05\x68\xa9\x9a\xe5\xab\x66\xe5\x25\xe0\x02\x33\xa9\xb6\xa0\xd4\xfb\xfc\xde\x64\x25\x83\x9a\xf1\x47\x2f\xa4\xd7\x2d\x20\xd3\xd2\xf8\xf3\xb4\x44\x53\x7e\x2a\x65\x4b\x02\x36\xa1\x46\x19\x40\x8e\x89\x3a\x77\x38\x91\x54\x53\xf2\x72\x33\x24\x43\x98\xf1\x29\x39\x21\x80\xa6\x28\x78\xb0\x07\xee\x60\x91\xeb\xc9\xec\x30\x19\xf9\xa5\xcd\x56\x4a\x60\xad\x25\x80\x3a\x98\x52\x3c\xcf\x65\x34\x7f\x14\x9e\xb4\x66\xb6\x35\x31\x17\xac\x89\xb9\x8c\x98\xab\x4c\xe9\xcc\x48\x9e\x3e\x8d\xe4\xe9\xc4\x48\x9e\x4e\x8c\xe4\xe9\x68\x24\x4f\xb3\x91\x3c\x6c\x64\x37\x91\xa7\xa3\x89\x3c\x5b\xc8\xb3\x81\x0c\x89\x07\x1b\x5c\x06\x0c\x19\x66\xe1\x71\x7a\xd8\x54\x71\xa3\x78\x36\x8e\xdd\x36\x9e\x3c\xe3\x37\xe6\x3a\x60\x21\x1b\x25\xac\x44\x66\xa7\xf5\x86\x0f\x04\x3d\x9f\x94\x92\x2d\x62\x0c\x24\x5a\xb8\x3c\x99\x32\x68\xd0\x4a\xa6\x66\xd3\x5b\xa9\x80\xa9\x09\xb0\xae\x20\x62\xcb\x1d\xe0\x89\x4b\xff\x91\x55\x02\x75\x4f\xf1\x12\x5b\x1d\xfc\xc5\x35\x7d\x41\x5f\x8b\x82\x1a\x3e\xf6\x71\x8c\x8e\x00\x0a\x58\xd2\x32\x9d\x59\x8b\xb6\x48\x35\x76\xe1\xe0\x88\xf0\xdf\x78\xf1\x2f\x67\x99\x9a\x2e\x0c\xc6\x78\x2a\x8f\xb3\xc1\xe8\x19\xdb\x6e\x2f\x7e\x5a\xc2\x98\xb9\x19\x19\x16\xa9\xdc\x17\xf7\x1f\x9a\xfc\x87\xda\x7a\x5f\xd3\xe4\xb6\x94\x81\xfa\x76\x58\x69\x9e\x7a\x33\xba\xaf\x63\xf6\x74\xd4\x5f\x4b\xcf\x98\x75\x59\xd4\xc9\x39\x4b\x03\x9a\x65\x4c\x1b\x13\x4d\xc8\xe7\x6c\x7a\x80\xb8\x94\x9f\x98\xb0\x0c\x0c\x0d\xdd\xa0\xa0\x81\xb1\xf9\x67\x9a\x6b\x5b\x26\xa4\x29\x0a\xd5\x06\x44\x60\x41\x82\x82\x33\xa6\x32\xe2\x6b\x1e\x08\xe3\x55\x55\xbc\x0f\x4a\x05\xa5\x75\x45\xcb\x06\x8c\xb5\xa9\x1d\xa5\x08\x6b\x53\x9c\xc1\x69\xc1\xf8\x87\xc3\x66\xe4\xd2\x1f\x77\x17\x59\x71\x38\x55\xec\x98\x8c\x53\x26\xd1\xf6\x9a\xa8\x67\xe4\x0c\x9b\x95\xa0\x3a\xf9\x71\x0c\x55\xc5\xf3\xb6\x0c\xc4\x51\x84\xdd\x52\x39\x8a\x6a\x29\xd4\x99\xb7\x66\x14\x16\x18\x91\xe6\x07\x15\xb5\x69\x67\xba\x90\xff\x28\x3b\x6c\x6b\x0b\x38\x72\xbe\xa8\x67\x67\x6a\x15\xa7\x92\x2e\xb5\xee\x9d\x3d\xd6\x0e\xcf\x9d\x62\x85\x96\x6b\xd9\x34\x99\xe7\x6d\xda\x45\x78\x1e\x78\x0e\xc9\x73\x0f\x73\x4e\x98\xe9\x36\x32\x1d\x66\xaa\xf9\x03\xf2\xf1\x2e\x03\xe3\xa0\xb7\xfc\x5a\x28\x2b\x08\x91\x63\x7b\x62\xf2\xc8\xbe\xf7\x86\xd3\x1e\x9e\x78\x2a\x60\xcc\xcb\xdb\x01\x44\x4e\x52\x06\xc6\x79\xea\xee\xfb\x7f\x7c\x81\xc5\xb6\x0d\x78\xea\x18\xa8\x44\xa1\x68\x93\xbf\x35\xb3\x19\xce\xc9\xf0\x48\x80\x96\xa8\x2d\x3d\x57\xc4\x28\x05\x74\x71\x95\x0a\x57\xb7\x8c\xb7\x02\x2b\xd9\xd6\x7b\xf0\x97\xce\x1e\x02\x20\xb0\xa9\x14\x81\xd9\xc8\xc4\xf8\x12\xa3\x7a\x94\xdf\xe1\x03\x0d\x17\x68\x88\x3c\xfc\x76\xf7\x0e\x66\xe7\x60\xf8\x06\xc3\x35\x98\x3d\x03\x73\x0c\xf0\x88\x4e\x4e\x08\x4a\x33\x96\x42\x19\x25\x22\x1d\xc0\x4e\x33\x12\xb9\x64\xf3\xac\x31\xa5\x99\x52\x53\x47\x9c\x69\xb9\x06\xea\x11\x3b\xed\x39\x2f\xb6\x72\xb9\x16\x53\x88\x5b\x4a\x20\x2b\x33\xf3\x08\x6a\xd5\x1c\x7b\x68\xe7\x01\x00\x8d\x15\x26\x39\xaf\xb1\x93\x95\x26\x95\xcd\xd2\xfe\xfe\x9a\x99\x5d\xee\x31\xb3\x3f\xde\x0b\x65\x66\x73\x2f\xe3\x27\x38\x3a\x60\xca\x9d\xb8\xd1\x5f\xef\x42\xc9\xfd\xeb\xe6\xf7\x7f\x84\xbf\xfe\xfa\xdb\x7f\x6d\x7e\x7b\x98\x8e\x07\xa5\x98\xf6\x90\xcd\xfc\xa6\x52\x7c\x25\xe0\x09\x84\xa5\x13\xbb\x1f\x76\x48\x94\x12\xbf\xea\xe7\xb9\x69\x3e\x55\xc6\x99\xe2\x27\x72\xb4\x69\xb7\x8d\xb0\x9b\x00\xff\x0f\x56\x72\x13\xba\xe6\xc8\xdb\x9d\x5f\x3d\xc1\xbe\x75\xbf\xae\xdc\x3e\x7b\x6f\x8a\x13\xd0\xc2\xb2\xa8\xd5\xc0\xaa\x56\x9b\xec\xc3\xf1\x14\x98\x35\x28\x02\xaa\xf5\xa4\x12\x82\x07\xa2\x73\xef\x7e\x35\xd3\x5e\xa7\x4c\x4a\x8c\x6d\xe6\x3a\x2e\x34\xf9\xbd\x4e\xbe\x1e\x88\xd0\xf2\x06\x3e\xee\x8f\xf7\xd0\xa7\xb8\x7e\x79\x9b\x7e\xe8\xbc\x7e\xa0\x68\x0a\xe5\xf8\x41\xbb\x75\xc5\x07\xaa\x50\xcf\x06\xff\x51\xd0\x97\x2e\x0e\x81\x62\x9e\xc9\x69\x9d\x14\xe0\x78\xb8\x1c\x98\x1a\xac\xfa\x5e\x1c\x13\xa5\x2e\xce\x33\x39\xd6\xac\x07\x9b\xe9\x97\xfc\x4c\xdd\x0d\x3f\xa9\xaf\xa8\xfd\xac\xcd\xaf\x77\x79\x9e\xf8\xbe\x8a\xbc\x8e\x5c\xe9\x98\x2f\xa9\x9c\xc4\x96\xec\xd7\x93\x26\x83\xe1\x30\x95\x34\xb5\xd7\xe6\x05\xc2\x2c\xe5\x4d\xcd\x42\x7b\x9d\xbf\x19\x04\x27\xa6\x6b\xfa\x9b\x52\x4f\xaf\x85\x7a\x12\x27\x51\x1e\x9f\x3f\xd4\xf9\x3f\xdf\xe2\xec\xf8\x43\xc0\x60\x2f\xe8\xee\x00\xdb\x16\x1d\xb6\xad\x14\x05\x76\x0b\x16\x50\x70\xa2\x47\x10\x8c\xfb\x5a\x56\xf7\xe6\xb8\x20\x45\xa9\xb3\x2e\x61\x63\x13\x14\xdc\x8c\x1b\xfb\x35\x24\xba\x17\x4e\x87\x7c\x0d\xb5\xd4\xf7\x6b\xec\xb4\xeb\xb5\xb4\xf9\x76\x2d\x6d\x9a\x93\xcd\xbd\x50\xce\x25\x22\x51\x2e\x6f\x15\xc8\x3b\xfd\x21\x92\x74\x8c\xd7\xa3\x04\xe9\x2b\x15\xb7\xec\x15\xb7\x2b\x9b\x5f\x69\xec\x8b\x5d\x02\xad\x39\xbd\x62\xcd\x6f\x99\x34\xd7\x2d\xf0\xe9\xcd\x98\x37\x6f\xa4\xe4\x40\xa9\xa0\x56\x4c\x5f\x4d\x87\x8a\x19\x4b\x65\x31\xdb\x3a\x65\x4d\x53\xf4\x52\xa3\x2f\x72\xc1\xb1\xfa\x89\x08\xd7\x0f\xe9\xda\x18\x25\x4f\x4d\xa9\xeb\xc5\xab\x7d\x3d\xfd\x1f\x80\xb6\x1f\xef\x9d\x10\xf2\x96\x6c\x6d\x84\x93\x8e\x3d\xf5\x1d\x7f\xcf\xb0\x6c\x77\x3f\x6d\x6f\xa5\x80\x3d\xe0\x3c\xf8\xa4\xb9\x99\x89\x75\x03\xa9\x70\xb5\x72\xf1\x32\xbf\xe0\x0c\xd9\x75\x1d\xd5\xb6\x52\x6e\x65\x6b\xd3\x12\x30\x4c\x20\x0f\x87\x0f\x90\xc0\x5f\xbc\xc7\x7c\x9c\xb2\x87\x5a\x93\x74\x4a\xd2\x40\x6c\x5c\x6b\xb2\x57\x3f\x75\x51\xae\x39\xf6\x2c\xfb\x2e\xe4\x95\x51\x1c\xa3\xe5\x0d\xfe\x78\x1f\x80\x2a\x08\x7d\x75\x9d\xec\xf0\x62\x53\x0a\x49\x70\x0b\x10\x1a\x99\xb8\xcf\xf0\x3e\x1c\xd8\x06\x61\xe0\xfb\xb0\xfd\x07\xd9\x2c\xad\x76\x73\x25\x2f\x80\x6f\x23\x30\x6e\x96\xa9\x50\x9f\x48\xb3\xa0\x28\xc7\x71\x73\x96\xcf\x3b\xbc\x15\x14\x14\xba\x67\x37\x1d\x91\x15\x17\x09\xa3\x85\xef\xdb\x8c\x3d\x11\xaa\x1f\xea\x91\xfa\xcc\x5e\x4f\xf5\x9a\x13\xfb\x2e\x66\xdb\x6a\xca\xd5\x7a\xb9\xe1\xdb\xe5\xfe\xbb\x27\x6e\xc5\x1d\x60\x4e\xb6\xa6\x2f\x4c\x8e\xcc\x1f\x4a\x28\xe6\x36\x1d\x81\x32\x4b\x5b\xaf\x25\xd6\x2d\x5c\x4f\x49\xd9\xbe\x80\x5b\x62\xaf\xad\xe9\x5b\x59\xdf\xf8\x2e\x2b\x39\x6e\x19\x15\xc2\x73\x45\xe3\x7b\xf5\xc7\x76\xf4\x43\x13\x5e\x93\xa0\xe8\x7b\xf6\x0b\x09\xb2\xde\x9d\xa3\x6f\xcc\x01\x1e\x85\x87\xe2\xb8\x0d\xf9\xa9\xa8\xa7\x91\x73\x1a\x4f\x78\x37\x47\xc0\x62\x85\x0c\xa4\xa4\x4b\x41\x32\xcf\x12\x29\x11\x1d\xa9\x4e\x65\x21\x1f\x8a\x4f\x6b\xdb\x53\xae\x32\xa0\xd3\x1a\x48\x04\x9a\x5c\xc8\x92\xdd\xf1\x1b\x84\x69\xf3\xcb\xdf\xee\x44\xfb\x68\x70\x3b\x11\x31\x6e\x5b\x67\xf4\x91\xe2\xf8\xbf\xb9\x51\xeb\x3d\x50\xd5\xbc\x99\x8b\x0c\x65\xa8\x6d\xf3\x42\xa2\x14\xd3\x02\x4a\x33\xca\x9e\xf5\x49\x62\xf3\xb1\xa9\x94\x3a\xd8\xa4\x13\x86\x83\xbd\x70\x12\x6e\x4f\xc5\xb7\xa0\x68\x22\xa9\x88\xe4\xa2\x1a\x0a\xdb\x2c\x9b\x44\x0a\xd6\x1d\x1d\xac\x3b\xec\xbb\xcd\x15\xf1\x86\x04\xb2\x3d\x3b\x7a\xd8\xc9\xec\xd2\xdc\xf7\xbe\xf7\x2a\x36\xd1\xe1\x71\x8e\x5d\xe7\x53\x3d\xe4\x10\x49\x11\x7d\xce\xc5\xfc\xf8\x8c\x1c\x34\x62\x24\x13\xe7\x40\x9c\x0b\xe1\xf1\xb9\xf9\x0e\x78\xab\xa0\x4f\x6a\xbd\xaf\x74\x41\xb0\x3e\x40\x17\x04\xeb\x83\x40\xf6\x89\xa3\xf9\x01\x9c\x8e\x53\x80\xc3\x5e\x8a\x35\x5e\x1c\xb0\x2e\xc3\xc7\x03\x22\x67\x07\x49\xf7\x46\xa8\x70\x9f\xfc\x38\x87\x21\x10\x46\xac\xd3\xb2\x23\x02\x7a\x62\x74\x04\x0a\x14\x66\x2f\x4f\xd0\xf9\xe6\x9c\xb5\x6c\x56\xe7\xe0\xeb\x11\xd9\x28\x68\x9c\xfc\x38\x24\x57\xed\xb9\xd3\x59\x08\x86\x31\x14\xd6\x2d\x40\x76\x8c\x59\x9d\xcb\x89\x39\x5b\xaf\x98\x89\xf6\x75\x08\x8c\x5b\x68\xe9\x3f\x68\x5d\xc1\xf2\x75\xad\xe6\xff\x2b\x0b\xde\xc7\x77\x2e\xb2\x30\x68\xaf\x27\xd3\xfd\x90\xd5\xed\x31\xac\x8d\xd3\x29\xff\x1d\x70\xbd\xff\xb1\x1a\xef\xb2\x1a\xbf\x74\xd0\x07\x75\x9b\x18\x5f\x2f\x14\xcc\x84\xaa\xb8\x9e\x9f\x33\xd5\x3a\x35\x68\xc3\x42\x92\xc0\x23\xdd\x6a\x99\xda\x96\x7a\xc4\x02\x44\xaa\x54\xd9\x54\x21\x26\x63\x35\x45\xa9\x9a\x6c\xd6\x90\xb6\x44\x60\xf1\x4b\xc4\x48\xfb\x18\x74\x00\xd0\xde\x81\x92\x2e\x72\xb1\x53\x6a\x54\x1a\x08\xaf\x64\x1c\x87\x17\x2f\x42\xb9\x6e\x83\x29\x5e\xc4\xe9\x6c\x82\x61\x7d\x4a\x55\xf1\xce\x9b\x83\x22\xd2\x40\x15\x9b\x05\xd0\x99\xd8\x00\x1f\x34\x4b\x6a\x23\xa9\x2d\x05\xca\xf3\x1b\x01\x81\x55\xa9\xc4\x0d\x4a\xb9\x2d\x1b\x15\xd0\xaa\x40\xa5\x6d\x01\x97\x8b\x40\x9b\x98\x06\xd6\x28\xd6\xae\x40\xf9\x2e\x9c\x62\xc8\xfb\x5f\x7e\xbe\xb9\x15\xbb\x04\x5d\x46\x2d\xe4\x4a\xba\xaf\x38\x5b\xf9\x37\x61\x07\xb3\xee\x96\x5f\x7c\x62\xfb\x1e\xb0\x8b\xf5\x31\x80\x01\xdb\x4a\x99\xd6\x4a\xf9\xe0\x1d\xf4\x05\xff\xd1\xae\xff\x4a\xed\x0a\x69\xbb\x13\x10\xf2\x02\x96\x69\x4e\x58\xad\x74\x0d\xa6\xfa\x1a\x5a\x70\xdf\x2d\x3f\xff\x44\xee\x05\x35\xd0\x08\xce\xf0\x1a\x3c\xb8\xae\x08\x9a\xde\xc1\x5a\x30\xfd\x81\x66\xfd\xa1\xd9\x15\xbe\x1d\xd9\x64\x28\x66\x81\x64\xd4\x6f\xf3\x68\xae\x80\xae\x7c\xbf\x27\xf1\x1d\xf2\xf4\xfe\xf3\x2f\xff\xbc\x41\xce\x74\x89\x30\xaa\x6b\xf5\x9e\x6b\x30\x06\xe5\x1e\xb4\xb2\xff\x28\x93\x7f\xa5\x32\xf1\xc1\xbf\x4b\x9b\xa0\x81\x2b\xf8\x19\xba\x3a\xf6\x7a\xcf\xd8\xff\x67\x7e\xff\x09\xf3\xfb\xef\xfb\x7b\xa7\xb7\xc3\xde\xa2\x4c\x6e\x61\xe1\xda\x43\xb0\xbe\xf0\x5a\x81\x23\x48\x04\x96\xf5\x80\x33\x46\xc3\x4b\xbb\x64\x48\x82\x39\xb3\xa4\x4e\xba\x28\x0a\xfd\xcf\x16\xc0\x9f\xbe\x05\x70\xaf\x30\xdd\xa5\x2e\xcc\xdf\x99\xea\x8a\x1c\x5d\x18\x12\x23\x48\xdc\x00\xf6\x71\x51\xa8\x0e\x2b\x37\x5e\x9a\x2b\x43\x94\xea\x5b\x5d\x4c\x2d\xbf\xf1\x1d\x0b\xcf\x7f\xbc\xcc\xef\xdc\x9b\xb8\x43\x5e\x7e\xff\xf5\x9f\xbf\x6d\xef\x25\xa0\x45\x35\x0d\x0b\x2d\x00\x16\x23\xe2\x61\xfb\x74\xd1\x29\x58\x51\xf7\x61\xf9\x05\x48\xdf\x6d\x36\xbc\x72\x06\x82\xd3\xde\xfc\xa0\xc0\x54\x16\x5d\x80\xfa\xd3\x68\xd3\x25\x9a\x9f\x9b\x28\x9d\xc3\x98\xfb\x55\x2e\x6f\xe0\x2b\x9f\x5c\xb4\x88\xe3\xb8\x6f\xf3\xdb\xce\x77\xfd\x8f\x52\xfb\xf7\x56\x6a\x43\x48\xef\x54\x6b\x22\x53\xa5\x96\xda\x86\x8a\x64\xfb\x9b\x83\x99\xb9\x51\x6b\xf2\x9a\xa9\x20\xa1\x6e\xef\xec\xe0\x20\xef\x59\x9c\xda\x44\x41\xd4\x2b\x33\x9b\xdb\xc9\xb7\x26\x76\xba\x5f\xfb\xc6\xae\x6e\x77\x31\x87\xbe\x25\x94\xe1\xc8\xf2\x0c\x51\xff\xf9\xb4\x72\xe1\xc9\xef\xb9\xf2\x55\x98\x7f\x68\xd3\x3f\x45\x9e\x00\xd5\x33\xdf\xe3\x3f\xaa\xf4\xdf\x42\x95\xfe\xe3\xa7\xff\xbe\x13\xc9\x06\x2b\xe0\x1a\xcc\xde\x25\x07\xd4\x2e\xb4\x8f\x2f\x75\xe2\xe5\x16\xd7\x0c\x0e\x72\x89\xd5\xb9\x0b\x4b\xe6\xf8\x01\x54\x85\xbb\xae\x04\x99\x64\xe5\xa6\xf7\xc8\xd4\x7f\xfc\xc2\x7f\xa1\x5f\x08\x61\xbb\x4b\x21\xea\x95\x61\xcf\xab\x6e\x61\x26\x5b\x4e\x1c\x6c\x63\x4d\xde\xd2\x2a\x86\xca\x72\x63\xfc\x28\x73\x8e\x1a\x73\x79\xf3\x65\x10\x2a\xcc\x4c\xb4\xff\xf1\x49\xff\x2d\x7c\xd2\xff\xfe\x77\x4a\x59\x59\x44\x30\x8e\x99\x06\x17\xf0\x40\x7f\x56\xce\xca\x21\xd9\x65\xfe\x8c\xb4\x15\xd6\x89\x75\x23\xd3\x4c\xd7\x36\xc9\xa1\x1c\xff\x2b\x93\xec\x4e\xfe\x17\xe4\x10\xca\xc9\xb9\x41\x76\xa1\x7c\xbc\x67\xaa\x6d\x4a\x30\x72\xce\xb6\xb7\x8f\x48\x50\x60\x69\x36\xcb\x83\xa9\xc2\xac\xb9\xe0\x90\xf2\xf4\x05\xb3\xd6\x51\x7c\xeb\x67\x4e\xcb\x33\x4f\x4e\xac\x36\x10\x10\xcb\x2b\xe7\x8d\x5b\x37\xfc\xa4\xef\x8f\x77\xbe\x7b\x4b\xe7\xbf\xff\x1d\xd2\x5f\x6e\x88\xe5\x9f\x9d\x02\xb3\x8a\xf3\xf9\xa3\x33\x60\x78\xea\xe7\xb2\x98\xce\x64\x31\x9d\xcb\x62\x5a\xc8\x62\xfa\x78\xa7\x9c\xa6\x4c\x39\xed\x41\xbf\xd7\xab\xff\xbb\x52\xe2\xf1\x79\x4e\x58\x9c\x14\xce\xcf\x1a\x67\xac\x9e\xe5\x8f\xf6\x79\xd2\xca\xed\xa6\x23\x27\xf8\x1d\x82\x77\x23\x52\xf7\x15\x07\x72\x85\x86\x3f\x0d\x00\x92\x4b\x0b\xdc\x4f\xaf\x2f\xe5\x70\x01\x1c\x1b\xdd\x00\x8a\x2f\x7d\xe5\x3b\xb8\x71\xe6\x79\xb6\x4b\x4c\x13\x80\x09\x39\x84\x56\xab\x7d\x73\xfe\xad\x99\xef\x1d\x29\x6c\x7b\x94\xc8\xe1\xc0\x1b\xaa\x5a\xec\x6f\x9a\x0b\x60\xc5\x5c\xd5\x3a\x2d\x7f\x9c\x6a\x0b\x94\x63\x3a\xf9\xf1\x37\xff\xf6\x95\x87\xba\x28\x65\xf9\x54\x91\x58\x3a\xbc\x5d\x39\x7a\xbb\xeb\x4e\x03\xc7\x47\xbd\x86\x76\xc5\x6b\xf0\x69\xd2\x3e\xbd\x06\x9e\x7d\xdb\x7c\xdc\xe6\xe7\xee\xe9\xd6\x87\x42\xa5\x5f\xc0\xf9\x62\x21\x8a\x98\x55\x87\x6b\x6d\x6b\x57\x60\xd3\x7c\xac\xce\xb4\x12\x36\xbf\xd3\xeb\x7c\x4f\xfe\x00\xc2\x30\xc2\x6a\x6f\x5c\x4d\x97\xac\x61\xd6\x98\x25\xf6\xd6\x7c\x9e\x7b\xb5\x53\xe3\x2d\xb1\x32\xb1\x92\x88\xe9\x1e\x7b\xc9\xe9\xb0\xbc\xe5\x57\xbb\xe8\xd1\xe4\xd8\x1b\x81\xca\x87\x2d\x40\xa5\x7a\x5d\x93\x26\x68\xd2\xe4\x9a\x34\x56\x20\x66\x78\x17\x14\x26\xee\x26\x5d\x67\xa1\x2d\x92\x88\x3a\x9a\x3d\xe8\x70\x27\x24\xe9\x5f\x37\x1d\x8b\xdd\xfa\xaa\xe9\x58\xcf\x27\x1c\x80\x67\x32\x0e\xe0\x13\xda\x5d\x92\x0a\x39\xe6\x9d\x7d\xdf\x6f\x5b\x96\x7d\x1d\x88\x6f\xdd\xa8\xbc\x88\xc6\x2e\x17\x84\xec\xb6\x19\x7c\x62\x21\x55\x04\xcb\xc4\x54\xe4\xbb\x4e\x9d\xb8\xbf\x15\x48\xd1\xc4\x90\xf6\x55\x41\xa9\x6b\x62\xe2\xcf\x69\x97\x5f\xe8\x9e\x63\x4f\x3c\x28\x48\xef\x0f\xea\xe4\x9b\xdc\x65\x97\x41\xbd\x34\x07\xf5\x2e\xbf\x92\xeb\x96\xe7\x20\xf2\x1a\xe4\x62\x5f\xc4\xb4\x47\x39\xe1\x33\x5b\x85\x53\x6b\x6f\xc5\x3c\xad\x8f\x2f\xdc\x26\x8f\xa0\xe5\x37\x66\xfb\xbc\x52\x46\xaa\x69\x0e\x79\x17\xfa\x1b\xf3\xae\xdb\x4a\xfd\xf1\x9e\x27\x8e\x6f\x5c\x5e\xb8\x81\x11\x1e\x3f\x7f\x8f\x93\x5d\xec\xe0\x39\x28\x37\x18\x73\xfc\xaa\x39\xe4\x43\xdf\x85\x7e\x08\x7d\x07\x78\x3f\x9d\x32\x68\x09\xae\xe6\x92\x97\x43\xd0\x17\xb0\x10\xd8\xbc\x7d\x41\x4a\x4b\xa2\xfc\x52\xde\xb8\x00\x5c\x3d\x87\x8c\x54\x86\x62\xcd\x47\x3b\x63\xb0\xff\xc9\xa0\xcb\xb9\xea\x10\xbc\xdd\xf0\x5f\xbe\x22\x0c\x8f\x29\x15\x59\x0b\x91\xc5\xab\x21\x32\xa1\xaf\x23\x84\x5d\x6a\xa9\x81\x10\x16\x5f\x3c\xef\x67\x0e\x93\xbe\x2d\xc3\xd7\x27\xa0\x5e\x94\x0f\xb2\x93\x8f\x77\xc4\x05\xc1\x13\xb1\x0b\xf2\xe6\x8c\xe0\x48\xdd\x7f\xab\xbb\x62\xd3\xf7\xe3\x3d\x51\x9e\x2a\xbe\x3f\x04\xfc\x26\x3a\x57\xb3\x1c\x04\x2b\x95\xac\xfa\x99\x2c\x1f\xce\xb5\x91\x0f\xe5\x25\x1f\x42\xd9\x15\x80\x89\x4c\x2c\xc0\x76\x5f\x53\x2e\x2f\x10\x48\xbb\xd3\xc7\xbb\x8c\x88\x11\xee\x79\x70\x20\x92\xa9\xbe\xcd\x4d\xb5\x11\x4f\x68\x78\x90\x6b\x28\x68\x20\x79\x7e\x6c\xb8\xff\xf1\xd3\x6f\xf7\xa2\x47\x97\x25\x32\x38\x81\x49\x84\xd7\x60\x61\x57\x60\xc4\x0b\xe6\x6f\xb9\x1e\x1a\x59\xe2\xc9\xfb\x85\x2e\x72\xd3\x8f\xb1\x11\x07\xa1\x2f\xdf\xba\x61\xff\x75\x23\xd5\xfa\xe4\x4e\x98\xe7\xe5\x63\x62\x83\xc1\xf7\x2d\x2e\x1f\x85\x97\x27\x4f\xae\xd3\xd2\x4c\x70\x70\xf2\x1d\x18\x15\xeb\x92\x5c\x6e\xb8\x48\x57\x48\xe4\x3e\xbe\xc0\x54\x62\x5e\x89\x51\xae\x76\x89\x7c\x53\x97\x6c\x7f\xfe\x6d\x7b\xab\xb0\xed\x3c\x91\xe6\x0a\x11\x4a\x5d\x6d\x88\x93\xec\x39\x5f\xcd\xc9\x83\xe1\x4d\xbb\xd2\x9b\x79\x79\x32\x7e\xee\x7b\x5d\xeb\x72\x71\xbb\x13\xbe\xca\x63\xbb\x4a\x83\xf4\xbb\xfa\x5b\x3e\xfe\x0b\xf3\x27\x81\xf9\x7f\x9a\x87\x5e\xfd\xcc\x89\x47\xbd\xa1\x6c\x3a\xea\x18\xb3\x57\xb9\xd8\x9a\xf2\xf9\x81\xb9\x9e\x7d\x8a\xdf\x11\x7c\x3a\x19\xaa\xfb\xd3\x5e\x96\xc3\xf2\x95\x79\x04\x91\x5d\x0e\x00\x44\xf6\x82\x0f\xf1\x6b\x22\x5b\x27\x8e\x2b\x43\x75\x0a\x0a\xdb\x27\x8e\x2f\x77\x6c\x78\xb7\x29\x6e\x66\xca\x16\x7b\xd6\x27\xff\x4f\x8c\x6d\x8a\xae\x56\xdb\xa6\x20\x65\x70\x74\x7d\x02\x22\xc9\xfc\x81\x75\x7d\xfa\xee\xae\x47\xe3\x1e\x27\x4b\xfe\x01\x42\xf6\x63\xe6\xd1\xbb\xc3\x48\xae\xe8\xe9\x6f\x1b\xe0\xeb\xd7\x59\x6b\xcd\x6e\x99\x36\xf3\x9d\x3e\xd2\x71\x44\x1e\xa5\xb4\xbf\x25\x51\x2e\xf0\xdf\xa2\xe3\xde\xd9\x77\xcc\xbe\x65\xae\xbd\x0f\x6f\xfd\xdc\xe9\xe0\x78\xb6\xef\x34\xc6\x72\xd5\x6f\x78\xac\xeb\x7e\xf9\x1b\xb8\x97\x6e\x21\x7b\xdf\x16\x66\xa5\x06\x34\x2b\x29\xdb\x90\xa8\x76\x09\x80\x50\xaa\x94\x2b\x69\x0b\x9d\x7a\xcf\x80\x12\xab\x4f\x27\x01\x25\x13\xfa\x34\x65\x52\xdd\x34\x6a\x6a\x76\x55\x1b\xa8\x49\x8d\xb2\x96\x20\x54\xb9\x3d\x35\x02\x80\x90\x2f\xa3\x9d\x62\xf7\x9f\x9c\xf4\x20\x13\x73\x0b\x80\x83\x4b\x7e\x80\xc1\x94\x81\xc0\x91\x88\x1b\x36\x57\x52\x9d\xaa\x9d\xb8\xc8\x20\x4e\xdc\x02\x55\x06\x11\x5e\x72\x30\xb9\x74\xc4\x27\xed\xdd\xb1\x2f\xb6\x81\x14\x90\x04\x31\x07\x6a\xdd\x1c\xe3\x58\x91\xdc\x2f\xf6\xbe\xe9\x82\x1c\x2e\x99\x33\x2b\x6d\x0b\x30\x3a\xea\x62\x3d\x00\xe4\x9d\x0c\x60\xe0\x16\x40\x2d\x4e\xdc\x32\x18\x12\x49\xab\xb9\x17\xb9\x52\xcb\xc9\xdc\xbb\x52\x3e\xde\xb9\x38\xa6\x45\x3d\x47\xfa\x45\x93\xab\xf5\x8c\xf5\x4a\xac\xe3\xe8\x5b\xe6\xd9\x14\x1c\xb7\xba\x0d\x94\x00\xbb\x5c\xba\x06\x6a\xe0\xb8\x96\x22\x5e\x8d\x30\x29\xd5\x05\x08\xb3\xc6\x4e\x99\x75\x4b\x19\xc1\x65\x80\x7f\xc4\x24\x21\x91\x0d\xab\x0a\x40\xb0\x94\x29\xb7\x80\x8a\x3a\xe2\x12\x32\x71\xcc\x81\x43\x25\x49\xed\xe3\x3d\x54\xea\xdd\x9e\x68\xa3\x8e\xf6\xd4\xf2\x3c\x0c\x2d\xda\xe8\x97\xac\x93\x54\xea\x31\xcf\x2f\xf3\x76\xfd\x24\xd4\xcf\x69\xb9\x94\x1b\x69\x9f\xa4\x53\x9a\x8f\xb0\xc3\x5b\x71\x40\x75\xa0\xfa\x65\x3f\xd8\x55\x0a\xa9\x94\x40\xa9\xa6\xf3\xc7\x62\x0d\x94\x41\x09\xde\xb4\x8e\x23\x1a\x95\x80\xd0\x9e\x88\x19\x40\x36\xd6\x36\xb4\x73\x11\x14\xd5\x92\x02\xa5\x94\xb6\x8e\xa0\x6e\xa3\x8e\x78\xb1\xad\x88\x6a\x7d\xd1\xd8\xed\x39\xa0\x7a\x25\xf8\xa8\x15\x08\xab\x5e\xad\x26\x20\x60\x8c\xbc\xc0\xb2\x96\xd4\xa9\x69\xde\x92\x56\x24\xa1\xa0\x22\x36\x21\xa4\x6c\xe2\x28\x84\xdd\x93\x94\xc1\x75\x6f\x1e\x11\xf0\x7b\x20\x8b\xbd\x94\xd0\x88\xe1\xd9\x46\x94\xf8\x29\xad\x08\x88\x69\x04\x6b\xb5\xb6\x46\xad\x39\xbb\x27\x92\x25\x50\x06\xe9\x68\x67\xa5\x2e\x26\x51\x13\xea\xa2\x5b\x6a\xa8\xaa\x8b\x90\x02\x05\x40\x4a\xef\x40\x8b\x89\x26\x9c\xbd\x08\x22\x1f\xa9\x05\x20\xba\x9c\xeb\xa1\xa2\xd6\xcb\x0a\xa4\xb8\x32\x8e\x43\x0c\x1c\x4b\xb3\xc9\x36\xcc\xbc\x3f\xd9\xa1\xb1\xd2\x94\xa8\x17\x07\x96\x33\x85\x20\xa5\x6c\xcc\xcf\xae\x8e\xd1\x5f\x65\x8e\xd3\x73\x41\x2d\x67\x6c\xe7\xe1\x7b\xb1\x61\x6e\x4d\xb6\x40\x06\xa7\x32\xea\x28\x99\x38\xa1\xfe\xae\x54\xa4\x2e\x65\x2a\x29\x3b\x16\x17\x0a\x27\xab\xc9\x32\xea\x27\x2b\x4b\x50\x6a\xf5\x09\x7b\x5e\x93\x1f\xa1\x6f\x18\x67\x24\x3a\xcb\x09\xb5\x07\xa4\xa2\xe9\xe3\x9d\x7a\x06\xf7\xef\xf9\xb7\xbd\x05\xca\x05\x96\x56\x4b\xe3\x38\xd6\x66\x4e\x53\x07\xf8\xac\xda\x84\xd2\xf9\x65\xf4\x5d\x05\x3e\xba\x7c\xb2\xf4\x30\x8f\x7a\x21\x95\xad\x63\x90\x35\x26\xcd\x09\xcf\xa3\xf6\x07\x7c\x73\xd9\x58\x47\xa7\xc9\x8f\x71\x70\x2b\x35\xd3\xc0\x67\x14\x55\x68\x96\x29\xb0\xf6\xf1\xae\x94\x8b\x4c\x6c\xe3\x79\xbe\x64\xab\x14\xea\x55\x26\x69\xc0\x1d\x1a\x2f\xa3\xab\x0b\xf7\x29\x91\x6a\x3d\x1f\x01\x17\x38\x69\x93\x14\x2a\x26\xf3\xfe\x32\x2a\x2e\x52\x32\x45\x52\xf2\xe9\x5d\x7a\x45\xd1\x54\xf9\x78\x47\xcf\x43\xa8\x7b\xdb\x08\x31\x83\xb3\x94\x8f\xc2\xdc\x1a\x69\xcb\x27\xf3\x92\x3a\x00\xd7\x58\xa8\x70\x06\x86\xf0\xc8\xad\xe3\x44\xb9\x43\x57\x03\x5a\xab\x17\x09\xd4\x15\x98\x3b\x60\x63\x28\x80\xba\x4e\x0b\xb1\x4f\xcd\x37\x3a\x4b\x49\x38\xc9\xc9\x7c\xd1\xe2\xea\x48\x52\x21\x93\x74\x34\x0d\x68\x75\x5c\xe7\xa6\xe5\x6e\x53\x34\xa7\x84\x38\x93\x76\xbb\x55\x59\x22\xe6\xab\x4d\x72\x35\xa1\x87\xac\x35\xc0\xc2\x73\x74\xbe\x3e\xbb\x65\xcb\xc9\x26\x06\x68\xf8\x90\x64\x15\x47\x5a\x1b\xdb\x43\x00\xac\x2d\x16\x10\x60\x94\xb2\x9c\xb1\x66\x1b\xf2\x76\xc0\x81\x31\x6e\x90\x9b\x09\x05\x17\xe0\xd7\x76\x74\x7d\xee\xd4\x70\x4d\x4f\xe2\x52\x55\xd3\xa2\xa0\x0d\xee\xad\x87\xec\x0c\xdb\x64\xb3\x36\xa5\x0b\xc4\x7f\x1f\xdb\x3e\x49\xc6\x5c\x1d\x2f\x63\xe4\x5b\xe5\x49\xa8\xe5\x76\xae\xe0\x7c\x1a\xb8\x1c\xf0\xfc\xe2\xdf\xf5\xc6\x76\x77\xa9\xdf\x6b\xac\x3c\x66\xe7\xc1\x9a\xa6\x26\x3e\xd9\x4f\xa7\xa7\x09\x53\x01\xbd\x6d\xd9\x2c\x66\xe0\x58\x06\xa6\x8b\x69\xd6\xa8\x70\x28\x36\x2b\xcf\x94\xa0\x2f\xb5\x5a\xcc\x7b\x12\xc7\xb5\x3d\x87\x4a\x40\x17\x9a\x8e\xb5\x8b\xe5\x36\x8e\xa3\xc7\x23\x76\x7e\x52\x12\x74\x5c\xd3\xf9\x65\xac\x97\x6c\x3d\xbe\xd4\x11\x66\x67\x68\xcf\x5b\x2c\xf3\x54\xb5\x82\x8a\x8a\xa9\x24\x5b\xed\x41\xe5\x94\xea\xa6\x42\xf3\xfa\xd1\x27\x4d\xca\x40\xea\x8e\xf5\x2c\xb2\x81\x34\x55\x28\x38\xc9\x1d\x6b\x77\x39\x5f\xd6\xb9\x3b\xa6\x56\xcb\x7d\xa1\x09\x6a\xa6\xf2\x74\xb6\x3a\xe3\x21\x5b\x67\xe0\x24\xeb\x5c\xcc\xad\x83\xc8\x20\x63\x85\x8b\x7d\x99\x75\x0f\xe4\x43\xe0\x5c\x72\xed\xa6\xd4\xed\x72\x36\x2d\x4a\xa6\xcc\xb0\xa6\xa2\x07\xf2\x14\xc5\x8f\xb2\x9c\xa0\x9c\xcc\xc6\x42\x91\x66\x99\x6c\x92\x7f\xbe\x8c\x51\x6a\xce\xd6\xae\x8b\xae\x04\x80\x73\x52\x53\xb8\x19\xe4\xa0\xa4\x19\xc9\xaf\xb1\x51\x71\x0b\xc8\x56\xbd\xc2\x8e\x9c\x36\x2c\x45\xcd\xb6\xf8\x9d\x13\xac\xb5\x54\xdd\x08\xb0\x05\x33\xa9\x2d\x5e\x3d\x9d\x2f\x16\xb9\x64\x33\x28\x4d\x3d\x58\xdb\x73\x1c\xa9\xa4\x4a\x45\x00\x20\x0f\xd4\xd5\x12\x97\x84\xe2\x29\x37\xd0\x7c\x6f\x6d\x06\x62\xe5\xb4\xa9\x6f\x16\x9b\xaf\xee\xb1\xa6\x50\x28\xc5\xf5\xa5\xe9\xe3\x3d\x64\xaa\xa5\x51\xa9\xe7\x62\x99\x19\xc0\x4a\xd6\x1c\xa8\x9f\x06\x2b\x97\xa1\x44\x13\x30\x14\xba\x29\xab\x6a\x66\x65\xcc\xd5\x8b\xe2\x6d\xe6\x08\x44\xa6\x2a\xa5\x58\x17\x4d\x05\x77\x4c\xcd\x5b\x87\x05\x88\x3d\x03\x5c\x94\x4c\x84\x80\xe3\x9a\x3d\xa3\x41\x3a\x62\xe6\x50\xa9\x05\xef\x6b\x37\xbb\x53\x17\x21\xc4\x6e\x96\x5e\xe6\x8a\xa0\xb9\x36\xe0\x1f\x9c\x4b\x8f\xb5\x94\xba\xe3\xad\xc2\x90\x34\x05\x9c\xa9\x17\xb7\xe2\x80\xc7\xb8\xec\xce\xb1\x80\x6d\x01\x92\x07\xf4\x3a\xd8\x12\x66\xd3\xf9\x20\xb6\xf3\x8e\xea\xad\xc1\xc6\xfe\x78\x67\x50\xb6\x59\xc3\x17\x3d\x59\xa8\x9b\x77\xa0\x94\x8a\xce\x2f\xb3\x5c\x98\xcc\xe7\x5c\x16\x92\x17\xed\xc9\xc4\x96\xfa\xce\xce\x10\x90\x61\xb0\xe5\x5e\xa8\x76\x73\x88\x54\x97\x9d\x61\xab\x06\x76\x10\x0a\x81\x9c\x3d\xa7\x2d\xa5\x66\xb6\x12\xe5\xc2\x54\x48\xd1\x5a\xd9\x88\x50\x36\x2d\xee\x2f\xe3\xb9\x23\xc0\xfd\x44\xd3\x79\x4b\xd2\xac\xf2\xcd\x0d\x18\x47\xd7\xde\x91\x33\x1c\x19\x3d\xef\x0c\xc7\x31\x7b\x48\xa3\xef\x37\x7f\x7b\xd0\xef\xac\xd4\x6a\x9e\x78\x0b\x35\x27\x13\x50\xe0\x0a\x49\xb5\x35\x2f\x47\x90\xf1\x9b\x4f\x60\xf2\x6b\x1a\x44\x13\x25\x13\xd7\x96\x48\xb1\x9e\x57\x20\x44\xd4\x19\x21\x82\x04\xcb\xe6\xde\xa1\x27\x63\xd7\xd3\xc0\x54\x72\xfc\xcd\x37\xb9\x52\xbb\x9c\xc9\x34\x55\x04\xd6\x06\x89\x29\x36\x4e\x89\x34\x49\x20\x89\xee\xce\x92\xb0\xd9\x2d\x8a\xce\x2a\x80\xdf\xf5\x9a\x6f\x18\xfb\x4d\x9c\xb9\x43\x13\x80\x43\xcc\xa9\xcc\xd6\xb1\x7b\x8a\xaa\x14\xb9\x6d\x4d\xf7\x29\x58\x77\x85\x4a\x71\x64\x67\x33\xa9\x53\xe1\xf1\x7e\xf4\x03\x8c\xfb\x60\x1d\x31\xa1\x23\x02\x80\x50\x92\x59\x5c\xac\xdd\x3a\x22\x58\x4f\x50\xb3\xbb\xbb\x2c\x4c\x9e\x55\xcf\xc0\x2b\xc9\x81\x24\x9f\x53\x3d\x01\xbf\x24\x4b\x7f\x43\x2f\x2c\x2c\x04\xc8\xa0\xf2\x7e\xc6\x2f\xac\x1b\xb3\x5e\x90\xff\x35\x04\x3e\xf6\x8e\x06\x9a\xd5\xd1\xc6\x71\x18\xa4\x39\x93\x34\x98\x47\x6a\x12\x0c\x08\xe3\xe6\x4b\x2e\x3a\x08\xef\x46\xff\xc0\xd8\x4d\xa8\x82\x0f\xe8\xa0\x80\x1e\x0a\xc0\x7c\xb1\x3e\x7a\x36\xeb\x10\x1d\x61\xc6\x5e\xa7\x6c\x26\xdc\x34\xe4\xc4\xb3\x21\x00\xa3\xc2\x6f\x89\xb8\xf2\xf5\x11\xab\x63\xc4\xe4\x73\xc0\xf4\x73\xc0\xf4\xc6\x80\xc9\x3c\x60\xf5\xae\x01\xcb\xb0\x8b\x84\x0a\x50\x27\x55\x4d\xcf\xd6\x0c\x35\x70\xe0\x48\x15\x58\xd9\x26\x8e\xd6\x1a\x2d\x8e\x4e\xa9\x49\x1c\x07\x1a\x7d\x26\xc7\x2e\xd3\x63\x97\xe9\xcd\x2e\x93\xcf\x2e\xab\x5b\xac\xa9\xf0\x93\xc1\x04\x50\x9c\xd8\xc3\x1c\xa2\x54\x78\xbc\x1f\xed\x0c\x68\xa7\xa9\x8b\x80\x66\x5a\x2b\x1f\x9e\xf3\x8f\x99\x6f\xd9\xee\xeb\x73\xde\x3a\x30\x3a\xaa\x0f\x22\x29\x66\x32\x55\x4a\xbd\x6c\x12\x31\xd8\xf8\xf8\x98\x38\x93\x1b\xa5\xd8\xe1\xc3\x96\x71\x1c\x73\x3e\x25\xe2\xd6\x20\xbb\xd5\xfe\xec\x8d\xda\x5f\x98\xb9\x05\x7f\xb7\x65\x13\xcb\xec\xc0\xe4\xe4\x53\xc5\x60\x66\xb6\xa6\x37\xd6\x35\xbd\x70\x30\xeb\x1b\x4b\x5f\x4a\x0e\xdd\x8a\x1b\xd8\x3d\x51\x65\x01\x45\xcb\xd2\x60\xc0\x93\xb8\x8f\x5e\x00\x8b\xee\xb1\x05\xc4\xfa\xa2\x5d\xc4\xb1\x90\x1a\x15\x40\xe2\x6a\x82\x4a\xb0\x55\x81\x60\xc7\xd7\x94\x11\x13\x12\x6a\xa5\xe3\xdd\xe8\xa0\x09\x1d\x14\xac\x87\x70\x85\x1a\xe6\x2e\x32\xed\xc0\x03\xb9\x18\x60\x17\xde\x41\xc9\x0f\x63\xda\x9b\x52\xa8\x7b\xc2\x24\x8e\xdd\xfe\xe6\x37\x6d\xee\xb2\x34\x77\x19\x00\x4c\xe5\xf7\xe0\xe8\x46\xad\x82\x95\x31\x2c\x3b\x8c\xd5\xd9\x18\xde\xac\xdf\x56\x35\x09\xbc\x2e\x19\x47\x57\x13\x49\x89\x1b\x20\x81\xcc\xf1\x6b\xc1\x3a\xcc\x3a\x09\xec\x44\x19\xef\xbc\xbf\x02\xfa\xcb\x94\x5f\x81\x40\x98\x95\x24\xae\x22\x1c\xbe\xe7\xb9\x92\x2a\x22\x34\x0d\x24\xe6\x1e\x7e\x4f\xae\x20\x12\x36\x67\x52\x35\x3d\xd7\x92\xfc\xd8\x71\x93\x79\xdc\xea\xad\x71\x33\xfd\xea\xa8\x25\x28\xeb\x82\x0d\x96\x01\x1c\x7f\x00\x72\xf0\x66\xe0\xa2\xca\x0c\x3c\x04\x73\xfd\xd1\x9e\x91\xcf\x9e\x31\x1b\xd4\x8c\x0c\x82\x53\x5a\x61\xfb\x22\x18\xd5\x10\xd5\x42\x98\xd4\x9a\x06\x43\x85\xc9\x9d\xbf\x6c\x0d\x7b\x48\x05\xfc\xba\xff\xcb\xad\xfd\xe8\xaf\x67\xa3\xc8\x45\x36\x8a\x5e\xa1\x0d\xf4\xd3\xe5\x4a\x36\x0a\xd8\x01\x57\xa8\x50\x47\x36\x0a\x28\x36\xb9\x2e\x70\x48\xcd\x88\xb3\xe5\x33\x95\xb2\x0f\xd4\xa4\xe3\xb0\xb8\x40\x77\x46\x99\x39\x9d\x05\xdc\xbf\xd7\x0b\xcf\x76\x99\x4a\x95\xcf\x7c\x2c\xed\x23\x21\x0b\x69\x53\x7b\xbb\xbe\xfd\x6d\x16\x4f\x4d\x5d\x95\x5a\xcc\x3b\xb4\xf2\x24\x71\xe5\x2c\x07\xe5\x80\x12\x8d\xab\x35\x6b\xcb\xfc\x92\x45\xcd\x5a\xa3\xbc\x5b\x96\xd5\x0c\xc8\x0c\xa1\xfc\xa6\x8f\xee\x3c\xb8\x0c\x7c\x47\x12\xca\x32\x4b\x74\xd0\xd4\x5d\x16\x63\xf9\xd9\xf9\x5a\x0e\x8a\xac\xf3\xa5\x8e\xc4\x87\xf4\xd2\x4d\xfd\x9f\x07\x3a\xb3\x4d\x25\x79\x6d\x6e\x23\x5c\xe4\x61\x16\x67\x7d\x9e\xb3\x57\xae\xa7\x61\xee\xd4\xf4\xcd\xb9\xeb\x90\xc6\x95\xdd\xaa\x58\xa4\x80\x01\x41\x91\x4a\xee\xbb\xb4\xcc\x3e\x1c\x49\x6e\x2b\xfb\x73\x54\x2f\x78\xf5\x3e\xd3\x36\xeb\x6e\x59\x27\x3f\x03\xef\xd0\xc8\xe9\x7c\x7c\x70\xef\xd8\x23\xfd\xea\x8c\x5e\x27\xfd\x5b\x56\xe3\x1f\xf3\x2e\x56\x13\xd3\xe3\xbf\xa7\x56\xf8\x86\x4e\xbc\x3d\x4d\xbe\x36\x25\xae\x74\xe2\xea\x36\xf1\x95\x3e\xcc\xff\x66\xb3\xea\xbe\xbe\xfb\x66\x48\x98\x74\xb9\x63\xfb\x1d\x90\x30\x2e\xc3\xcb\xe2\x1b\xfc\x6f\x56\xf8\x55\x5c\x65\xab\x34\x02\x53\xfc\xd0\xe8\x47\x95\x3f\xe7\xd1\x2a\xe5\x2c\x23\x87\x16\x8b\x82\xeb\xfc\x25\xb9\xb7\xe7\x5f\x1d\x2e\x0b\xaa\xd9\x65\x57\x5c\xf6\x96\xc5\x82\x43\xe4\x75\xe4\x29\xd5\x3c\xa8\x05\xae\x24\x1d\xd6\x8b\x15\x61\x48\x8f\x10\xa6\xdb\xf5\x54\x48\xcc\xb8\xeb\x19\x96\xe5\x56\xbe\xe7\x3c\xed\xce\xdb\x1e\xd0\x67\xc1\x89\xed\x8f\xf3\x6e\x81\x1c\xfe\x39\x37\xc7\xd4\x7b\x30\xf7\xe3\x54\xac\xfe\xb0\xac\x9b\xaf\xca\xd5\x7f\x96\xbf\x1f\xb5\xfc\x1d\x42\xbf\x95\x52\xf9\x0d\xd2\xf0\x1d\xf9\x40\xff\xaf\xae\x7f\x5f\x9a\x27\x00\xaf\x49\xc6\x5a\xb2\x29\xb4\xee\x0f\xcb\x7c\xb9\x18\xbc\xff\x07\x4c\xd1\x3c\xb5\x8b\xda\x8d\xe3\x54\xbc\x52\xa4\xf7\x83\x3b\xfc\x01\x14\xa7\x15\x10\x27\xa0\x48\x2e\x11\x23\xe7\x69\x80\x5c\xf0\x2b\x00\x3c\x17\xc0\x94\x67\x48\x4e\xab\x5a\xea\x1e\xd8\x88\xff\xb8\xa4\xff\xd7\xb8\xa4\x77\xe9\xf4\x6f\x84\x87\x2a\x97\x12\xfa\xd6\xbe\x1d\x1e\xaa\xdf\x40\x87\x5a\x66\xe5\xfb\x7d\xbf\x2e\x9b\xae\x8a\x16\x15\x53\xae\x86\xc6\xf2\xbb\x28\xa6\xa2\xdc\x6d\x85\x7d\xed\x94\x54\xb0\xf1\xb1\x25\x56\x94\x7f\x1d\x6b\xdf\x48\xc4\x57\xe0\x8b\x1a\x3e\x54\x49\x1d\x2e\x34\x18\x0f\xca\xf7\xbc\xc2\x2f\x6f\xfd\x22\xc7\xb5\xf8\x76\x05\xd7\xb7\x91\xc0\x1f\x16\xd9\xaa\x9f\xf5\x22\xae\x48\x17\x95\x66\xf6\xe8\xa8\xef\x7c\xad\xc4\x48\x52\xaa\xe7\xc4\x73\x43\xd9\xbe\xdc\xae\xc1\xba\x5f\xc0\xbe\x27\x87\xf8\xff\x36\xd7\x62\x99\xab\x0c\xe5\xde\x96\x96\xcc\x31\xf6\xb0\xac\xa0\xc0\xf0\x07\x06\x2f\x61\xf5\x9c\xf4\x7f\xf5\xaa\xf0\x7d\x4b\xe0\x77\x98\x1c\xff\xb7\x4d\xe9\x7f\xb9\x8e\x7c\x78\xa4\x7e\xff\xc7\xe6\xde\xb2\xa9\x3f\xd2\x67\x5e\xff\xdd\x57\xfc\xf8\x7f\x85\x6e\xc8\x6b\xe8\x0a\x87\x90\xe9\xcf\x71\xea\xbf\x1a\x8f\xa9\x54\x2a\x76\xa0\x74\xc9\x28\x9a\xb4\x39\xaf\x88\x33\x43\xa7\x60\x57\x44\x0a\xc6\xf9\x0a\xa0\xe0\x28\x91\x5a\xf7\xb6\x3a\x4c\x42\xa5\x06\x6c\x55\x01\xfa\xe4\x7c\x0f\x30\x76\xaa\xad\x03\xe5\x83\x89\x53\xda\x27\x90\x6c\x30\xd5\xb6\x3c\x31\xd8\x99\x7b\x5c\x29\xe0\x4a\x58\x7c\x82\x5d\xfe\xe2\xfe\xc1\xef\xef\x2d\x04\xef\x24\x9a\x1d\xac\xd9\x4e\xcf\x93\x75\x52\x52\xcd\x7b\x26\x6c\xe2\x28\x78\x93\x91\x75\x7b\x56\x33\x86\x04\x24\x65\xd9\x0b\x15\x1b\xe5\x6e\xdd\x0e\x3f\xa2\xb5\xf3\x54\x79\x12\x56\x2a\x85\xf7\x20\x3b\x94\x91\x0a\x95\x90\xea\x26\x79\xb1\x4a\xd6\x28\xd6\x97\xf8\x1e\xa3\x25\x48\xa2\xc2\xaf\x2e\xae\x1a\x70\x59\xbf\x31\x12\x3e\x91\x06\x9b\x25\x50\xea\x17\x8d\xb5\xe7\xbf\xb1\xe9\x7c\xd7\xca\x8b\x39\x7d\x5f\xd9\xdf\x9f\x19\xb9\x78\x3b\xf3\x6d\x79\xa4\x96\xe4\x6b\xa5\xb1\xdf\xeb\x0b\x7e\xab\xc3\x7a\xb5\xa6\xee\x46\x54\xe5\xab\xd3\x91\x89\x2b\x2a\x3a\x12\x2f\xa7\x63\x6e\x53\x7c\x6d\x94\x25\x4d\x8d\xb8\x83\x13\xa8\xb5\x4a\xaa\xcb\x09\x09\xd6\x4f\xa9\x7d\x2f\x24\xc0\xea\x03\xdd\xb2\xe7\xcc\x4a\x5f\x4c\xb4\x66\xca\xcd\xc4\x5d\x91\x11\x6b\xd3\xac\x20\x19\x53\x2f\xe6\xae\x69\x9c\x3d\xa4\x13\xf9\xb2\xa0\x87\xe7\x60\x97\xe7\xe5\x94\x44\x8a\x98\xb7\xb0\x38\x99\x83\x27\xbe\x09\xd5\xe2\x05\xac\x0c\x44\x80\xbc\xb7\x69\x8e\xd9\x6a\x6f\x6c\x8c\xda\xe5\x7c\x94\xb4\x67\xaa\x5d\xb1\x59\x6b\x2a\x9a\x3d\xe3\x64\x39\x75\xa8\xf4\xba\x27\x45\xf1\x4d\xc3\xdc\xcd\x45\x02\x35\x5d\x9a\xbc\x3c\x28\x93\x72\x11\xe4\xa9\x68\xc4\x4c\x4b\x17\x93\x11\x29\x72\x7b\xdc\x73\xa4\x90\x58\x43\x7c\xdb\x78\x65\x2a\x4a\xfa\xce\xa9\xf8\xcf\xdf\x7f\xfa\xed\xce\x60\xc0\xbf\xd6\x5b\xed\x2b\xc9\x1d\x4b\xef\xfa\x87\xba\xe7\xdf\x1e\x4b\xb8\x06\x14\xf7\xbd\x6e\xf4\xff\x38\xdb\x23\x49\xdc\x80\x82\x25\xcd\xda\xd1\x3c\x31\x6e\x64\x50\x47\x4f\xa4\xa8\x3b\x05\x88\xc2\x9c\xca\x90\x45\x29\x21\x17\x37\x66\xfc\xd2\x34\x65\x6e\x89\x1a\x7b\xad\x4c\xc7\x3b\x21\xce\x66\xf4\xf1\x82\xb8\x78\xf4\x36\xbe\x00\x0a\xac\x72\x40\xee\x68\xb3\x35\x42\xa5\x22\x45\x35\x5b\x7f\x3b\x42\x59\x9b\x19\x9c\xba\xb6\x40\x9a\xda\x2e\xa0\x41\x81\x92\x82\x26\xb9\x99\xe5\xdb\xf0\xbd\x7d\xfd\xc4\x54\x23\x20\x63\xe3\x18\x07\x80\x72\xb5\x74\x47\x63\x6a\x2f\x24\x0d\x4c\xcf\x55\xec\x31\x02\x1e\xe3\x9e\x3a\x63\xf0\xa7\x0c\x12\x69\x8e\x71\x2a\xd3\xcc\x24\x1e\x43\x71\xd4\x82\xb4\xf9\xa4\x83\xf6\x22\xd6\x13\x7a\x68\x0e\xb7\x6a\x58\x3f\xd7\xb0\x46\x82\x51\xa1\x9c\xcf\x57\x9d\x6e\x9d\x98\x93\x9a\x9e\x6c\x7e\x70\x67\xa1\xa0\xf4\x81\x65\x0b\x2a\xfe\x8c\xa4\x41\xac\xe3\x32\xa7\xe6\x74\x40\x1e\x70\x4f\x57\x3a\xa7\xcb\xd6\x79\x6b\x02\xb1\x04\x42\x26\x26\x12\x69\x3d\x3d\x30\x83\xe7\xba\xcd\x36\x5c\xd6\x40\xb9\x96\xc5\x4a\xa6\xc1\x5a\xf8\x61\x36\x1b\x37\x14\xe8\x45\x39\xcf\x18\xa2\x84\x24\x3a\xcd\xfa\xc4\xa0\xae\xe6\x41\x60\x1d\xd9\x24\x0b\xbd\x87\x9a\x88\x63\x01\x0b\x8f\x44\xe9\x53\xa2\xae\x93\xab\x24\x90\x7d\xfb\x11\xb3\xae\x23\x65\x70\x63\x9f\xe0\x63\xbf\xaf\x50\x62\x24\xdb\xd5\xfb\x98\x75\x4e\x75\xdd\x5d\x76\xc7\x58\x81\xbf\x29\x02\xb2\xe6\x46\xad\x61\xe5\x9c\x3a\x66\x7f\xb2\x07\x99\xd7\x1d\xba\x7c\x0d\xd3\xe3\x47\xc4\x68\xfe\xc7\x19\xc0\x67\xae\x8e\xd8\x59\xb6\x94\x9a\x67\xdf\x52\x4f\x25\x50\x85\x5c\x64\xb0\xcd\xed\x80\xe4\x32\x4a\x8b\x6c\xa6\x9b\x87\x04\x39\xca\x54\xcd\xa4\x2a\x8c\xca\x01\x7f\x36\x60\xd6\x29\xb7\x03\xb5\xb4\x42\xd0\x79\x40\xbe\xb7\xcd\x06\x69\x19\xf9\xef\xd6\xc0\x12\x48\x90\x65\x0d\xc2\x68\x13\x75\x2e\x6c\xa7\xd8\x22\x9c\xcd\xf2\x55\xbc\x33\x03\x0b\x81\x50\x66\xa8\x2e\x29\x9e\x46\x9f\xcc\x38\x60\x90\xe7\xa1\x58\x90\x79\xe6\xf4\x97\x64\x7a\x4c\xbe\xda\x9a\x62\xd6\x08\xa6\x6a\xb5\x5e\x41\x49\xd9\x1d\xc1\xc4\x0a\x38\x80\xbc\x71\x38\xe2\x3c\x54\x97\xbf\x17\x9a\x17\x10\x00\x54\xe4\xa9\x6d\x78\x62\xa8\x06\x64\x22\x4e\xde\x63\x41\xee\x52\x5b\xa8\x46\x00\x09\x4f\xeb\x8b\x2a\x86\x84\x94\xe6\x2d\xe5\x52\x91\xe4\xe9\x66\x1d\x7c\x1c\xad\x4a\x2d\x29\xa5\xd6\x50\xca\x56\x58\xa9\x97\x8e\xc1\x64\xca\x5a\x0e\xd4\xf2\x95\x8e\xc9\xbc\xa1\x51\x6a\x8c\x74\x70\xd3\x4a\x09\x2b\x14\xa0\xef\xd2\x31\x6b\xb4\x34\xb0\x76\x9d\x57\x7b\x20\xdd\xbc\xf5\x64\x9a\x9b\x54\xac\x97\xce\xe1\x21\x29\x79\xd1\xcb\x96\xa4\xa1\x9a\x8b\xb2\x80\xad\xab\x34\x21\x7d\xa2\x9e\xa9\x8f\xf9\x22\x53\xdb\x9c\xfc\xdf\x46\xb5\x91\xbb\x52\x75\x3e\xce\x55\x2c\x4c\x7a\xa6\xcc\xd0\x62\x2d\x36\x2f\xaa\x1f\xdc\x64\x41\x1e\x73\x6b\xfa\x64\xbe\x18\xca\x2f\x67\x67\xc2\x06\xea\xfc\xc3\x40\xc5\xeb\x0e\x16\x57\x41\xaa\xb1\x5d\xe5\x3e\x34\x91\xdf\x7e\xfd\xaf\x5f\xee\xa7\xcb\xac\x13\x2b\xa9\xe8\x73\x27\x01\x86\x7d\x55\x68\x7d\xd3\xc0\x00\x3c\x48\xbf\x0b\x55\xff\x38\xa1\x70\xc8\xfa\x59\x6d\x91\x4a\x66\x5f\x50\x05\x3b\x5b\xa5\x5e\xdc\xaa\x63\x29\x66\x18\x80\x6e\xbd\x2b\xa5\x42\x9a\x79\x59\x9d\x22\x95\x5a\x91\x1d\xf2\x54\x0f\xc8\x60\xdd\x28\xb5\x86\xa2\xe1\x36\x17\x82\x0b\x10\xbb\xa5\x4d\x85\x3a\xfb\x61\x28\xaa\x66\x8e\x7b\xcd\xcf\x20\xb2\x37\x3f\x89\x62\x54\x34\x18\xd9\xe6\x82\xd7\x6d\x60\x4f\x55\xee\x99\x72\x44\xd1\x26\x2c\xeb\x58\xcb\x06\x75\x1b\x38\x8c\x0e\x8e\xc8\x80\xe5\xa8\xcb\x86\x22\xb9\x73\x32\x2b\xd7\x0f\x5e\xeb\x62\xee\x46\x96\x2d\x89\x98\xd6\xcb\x75\x14\x44\x59\x27\x98\x81\xa3\x1f\x5f\xda\xd4\x37\xf3\xdc\xe3\xc0\x3b\x8a\x7c\x9c\x97\x71\x92\x97\xcf\x6f\x03\x07\xfe\xf8\xc2\x27\x13\x37\xc6\x49\x4e\x7f\x60\x8b\xdf\x0b\xff\x7f\x09\x46\x05\x32\x7a\x5f\x22\xc7\x54\x16\xfd\x68\xb6\xcc\xf8\xc0\x3a\xb2\x2c\x3b\x32\x4e\x79\xd1\x91\xc7\x5f\x8c\x9e\x8c\xff\x72\xac\x93\xd3\x3c\x95\x96\xc1\xcf\x5f\x9f\x8b\xb9\xd3\x53\x27\x8d\x69\xaa\x14\x53\x9e\xfa\xd4\xa6\xbe\xa5\x5e\x7c\x4d\xac\xc2\xf8\xd2\x14\x58\x46\x91\x9c\x64\x62\x53\xc2\x66\x0f\x54\x5b\x52\x92\xa9\xb7\x58\x9b\xb3\xa7\x66\x54\x5c\x98\x99\x20\x17\xdc\x15\x80\x1b\x40\x4d\xb1\x69\xd4\xcf\xe2\x24\x14\x65\x40\xfb\xa4\x32\x8e\xc3\xdf\x6e\x02\x44\x86\xed\x00\xd5\xc7\x76\x51\xb5\x99\x50\xd3\x28\x5f\xb2\x77\x94\x53\xb6\x45\xb3\xd7\x4e\x82\xd8\x52\x62\xff\x82\x6b\xf5\x55\x37\x99\x6a\xb0\x0b\x2a\x69\x59\x16\xd9\x61\x25\x6e\x6d\x7f\xcc\x63\xdf\x92\x80\xaf\x91\xe0\x47\x89\x7b\xc6\xb5\xe9\x3d\xca\xf0\x6f\x9b\x7f\xfc\xf4\x5f\x9b\xff\x73\x9f\x3a\xcc\x14\xb3\x4c\x8d\xb8\x98\x1d\x22\xbe\x3a\xfb\xea\xd1\x43\x42\x66\xbf\x50\xee\x29\x28\xc5\xca\xcf\x8d\x6a\x46\x3a\x7f\x6c\xa6\x30\x19\xc5\x2a\xd0\x3e\x42\x79\x2b\xe0\xde\x36\x95\xd9\x11\x8e\x00\x00\x84\x17\xff\xc2\xcc\x47\xf4\x04\x36\x1d\x06\xb4\x7b\x5d\x64\x6c\x93\xa2\x7c\x9a\xcd\x9f\x99\x12\x75\x44\x89\xb9\x4f\x8d\x72\x44\xf5\x6a\x87\x7a\xee\x30\x6b\x24\x11\xaa\xd7\xf0\x05\xd2\xcf\xb9\x8e\xf7\x2f\x4a\x35\xda\x58\x15\x6d\x50\x83\x0c\x72\x4b\xf5\x73\x50\x85\x56\x36\x5a\x28\x25\x9d\xc6\x0b\x54\x5b\xe4\x82\x7a\xc6\x7e\xba\x88\x32\x90\x1b\xcc\x12\xd7\x4a\x2d\xc9\xfc\xe2\x82\x11\xb9\x4e\x4a\x31\x96\x67\xa1\x88\xfa\xb5\x2e\xe6\xde\x98\xf9\x26\xa8\x5c\x8c\x05\xc0\x84\x4a\xb9\xb5\x2d\x6a\xee\xbc\xfe\x06\x41\xd5\x88\xc8\x23\xa2\xae\x59\xb2\x3d\x20\xde\x59\x87\x87\x6a\x17\x41\xe3\x4b\xb0\x05\xde\x56\x84\x02\x2f\x20\x36\x2c\x96\x00\x69\x40\x11\x4d\x2f\x1a\x32\xe5\xc2\xcf\x5c\x48\xe1\x59\xa2\x23\x95\xb4\xb5\xa1\xda\xb6\x01\x35\x3c\x53\x0c\x89\x7a\x65\xaa\x9a\x43\x76\x04\x12\xea\x2e\xc5\x40\x3b\x10\xdc\x22\x99\x90\xa0\x06\x05\xb5\xe2\x65\x01\x28\xa1\x51\x29\xa7\x73\x5b\xb7\xe3\xf2\xc5\xe6\xca\xe6\x6c\xd3\x2d\x16\x1b\xae\xbc\xcf\xb0\xe4\xcc\x4f\x37\x33\x3e\x25\x92\x44\xc9\xe6\x67\x4a\x94\x13\x1f\x28\xca\x39\xd1\x28\x49\x32\x23\x7f\x1f\xe6\x5f\x2e\xa6\x4b\x4c\xe8\xc3\x96\x5f\x6d\x3d\x36\x6f\x2c\x2d\x13\x92\x7c\x9f\x66\x67\x2e\xa6\xb4\xd7\x6e\x57\x9c\x6c\xc5\x3a\x37\xc8\xac\x79\xe1\x5e\xa8\xe1\x79\x5e\xdd\xa5\xc2\xed\xc9\x9c\xe9\x1a\x66\x03\xec\xdf\x8c\x01\x30\xb7\x1d\x21\x53\x14\xa0\xd6\xae\xb6\x78\xc1\x94\xea\x31\x4d\x85\x5a\x82\xdb\x0d\x17\x73\xcb\x24\xd9\xeb\xb6\xd8\xcc\x4c\x70\xd5\x23\x46\x27\xf6\xbc\x02\x2e\x69\x53\x36\x13\x53\xc3\x28\x56\xb6\xd9\xa9\x05\x40\x39\x42\xb9\x14\xea\xd1\x56\xc5\x92\x9a\x99\x1f\xd6\x09\x05\x65\x18\x4e\x1b\x8b\xaa\x31\xeb\x4b\x87\xbd\xf0\xb7\x2f\x89\x4a\x69\x36\x8f\x72\xf2\x79\x84\xf0\x06\x82\x0f\x2e\xbe\x0d\x97\x90\x00\x61\xc4\x3b\x86\x52\xf6\x77\xa7\x66\xf4\x98\x49\x3d\x50\x34\xcd\x61\xf6\x44\x9b\x5f\xe6\xa9\x04\x15\x51\xf5\x99\x51\xaf\x67\x76\x34\x17\xf8\x61\xd6\xb1\x13\x1a\x33\x71\xd9\x35\x2a\xc5\xba\xe4\x58\xc9\x36\xe0\x46\x84\x0a\xa6\x4f\x26\xb0\x83\xf7\xd2\x40\x81\x1d\x1c\x3b\x84\x7a\x0a\x8d\x22\x98\xc6\x53\x43\x51\x09\x38\xc4\xbb\xf5\xbe\x56\x9b\x56\x35\x98\xad\xd7\x51\xd4\xd7\x95\x50\xd1\x57\x60\x88\x36\xac\x70\x0a\x58\x18\x5b\x76\xb0\x4b\x33\xa9\x57\xc0\x6a\x91\x6d\xa0\x5e\xe0\x27\x98\xa0\x01\x09\x01\xf3\x54\xbd\x8c\xf9\x3c\xc8\xae\xe6\x62\xc4\x76\x3e\x7b\x0a\x89\x59\x80\x7a\x41\x18\x3f\xc5\x3d\xf0\x73\xed\x30\xea\x1d\xdb\x42\x78\x7d\xe8\xb2\xec\xc3\xf1\xcc\xe5\x4c\x19\xa8\xee\xcd\xd4\x69\x7f\xe1\xcb\x19\x52\x89\xfb\x2b\x1a\x91\xe9\xdc\x5d\x89\xf7\xcf\x8c\x9f\xff\xfa\x28\xa4\x53\x42\xac\x75\xd0\x1c\x25\xe2\x0e\xa7\x23\x65\xaf\xce\x42\x36\x65\xcd\x4b\xa2\x25\x20\xe1\x1c\x92\x87\x27\x7a\x29\xb6\x32\x4e\x9f\xe7\xe0\x77\xe9\x50\x2f\x88\x4a\xee\xe2\x80\xe2\xb4\xb3\x1f\x9e\xdf\xd2\x56\x1b\xc7\xfd\x4d\x74\xf1\x1d\x22\xaf\x65\x17\xa8\xf6\x2d\x25\x9b\x2a\x99\xed\x01\xc0\xf7\xee\xaf\x15\xe6\x01\x4a\xb9\x81\xc0\x54\x11\xc3\x8a\x92\x10\xe1\x29\x4f\x09\xb5\xd2\x69\xae\x98\x8e\x80\xa3\xe1\xa1\xbc\x4b\x81\xf2\x46\xa8\x2c\x8b\x06\x1d\x55\xbd\xad\x6e\x38\x52\xec\x58\x8a\xed\x65\x04\xb9\x10\x37\x6b\x19\xb5\x86\x5c\xcc\xe0\xc1\x9b\x60\xef\x80\x8d\x60\xb3\xde\xa6\x83\x2f\x8c\x15\x3f\xc1\x5e\x1e\xa6\x40\xee\xdd\x34\x87\x38\xb2\xb0\x59\xc8\xc5\x97\xe4\xad\x79\x9d\x4e\x2d\x5d\x6d\xf5\x0c\x62\xab\x1a\xf5\xa4\x4f\x89\x18\x9b\x99\x76\xf4\x50\xb1\x0f\xab\x79\xe7\xf6\x5b\xe7\x99\xc8\xe2\xcb\x72\x14\x25\xee\x60\xd4\x6f\xa6\x28\x9f\x78\x94\xad\x96\xe2\x8f\xff\x29\x13\xaa\x26\xa0\xd8\x8e\xc9\x30\x11\x44\x10\xc6\x4d\x49\xa9\x65\x13\xd9\x69\xbe\xca\x2e\x51\xe3\x0d\xb4\x24\x0e\xc3\xbd\x74\x6a\xec\xe7\x4e\xd8\x38\x55\x90\x78\x2b\xa3\x2e\xde\x1e\x0c\x6f\x3e\xbe\x98\x13\x58\xa6\x82\x6b\xf0\xd6\x5b\x3a\xa1\xa5\xc1\x9a\xea\x37\x31\x3b\x0f\x80\x4b\x94\x6c\xe9\x32\xab\x11\x1c\x14\x8a\x48\x37\x08\xb4\x01\xc2\xc2\xdd\xc6\xda\xcb\x66\xf1\xcd\x46\x28\xa2\x17\xe2\x18\xdf\x70\xbc\xde\x16\x9e\xae\xa2\xe6\x55\x3b\xf5\x6a\xa6\x88\xc3\x4b\xa4\xa7\xf3\x87\x19\x6d\xb4\xc6\x9a\x1a\x3f\xe8\xae\x61\xc6\x4b\x9e\x77\xd0\xc8\x4b\xaa\x0f\x4e\xfe\xf2\xf9\x79\x18\x5f\xbc\xb0\xef\xda\xe6\x29\x1e\x14\x53\xeb\xe4\x2c\x0e\x57\x7e\xce\xe3\xf3\x9d\x83\xf8\x35\x0f\xeb\xbd\xd9\xa2\x9b\x0e\x8d\x1c\x3f\xfa\x6a\x9e\xfd\xc7\x7b\x68\x77\x11\x96\x71\xda\x55\xbb\xdc\x23\x39\x14\xd0\x40\x0f\x22\x97\x93\x6b\x01\x48\x5b\x6a\xc4\x31\x51\x2b\x65\x04\xe2\xe4\x6a\x95\x4a\x5a\x8f\x8e\xbe\xc8\xa1\xcc\xb2\x7b\x91\x3a\x16\xd7\x69\x65\x2e\x69\xa2\x8f\x9b\x9b\x69\x3d\xa9\x6c\x67\xb2\x55\xb1\x2f\x82\x08\xa9\xcb\x87\xad\x4b\xd4\x10\x32\x04\x8e\x96\x1d\xf1\x85\x90\xb4\x32\x45\x93\xb5\x06\x49\x6b\xb5\x0d\x0c\xb0\xe4\x56\x85\x87\x01\x8b\x90\xfa\xb6\x62\xa7\x5e\x2a\x62\xe5\xd8\x37\xf1\x79\xe5\xb2\x38\xcf\xac\x5c\x2b\x76\x4f\xf9\xb9\x52\xec\xc9\xaf\x37\x15\xac\xe7\x11\x6b\xa4\xc2\x19\xd0\xee\x48\x01\x1d\x3c\x3e\xb6\xae\x77\x9b\xa8\x66\xbc\x00\x16\xa1\xcc\xb0\x08\xd5\x93\x43\x00\x82\xc8\x3a\xf9\x86\x52\xe2\x8a\x9d\x14\xf3\xfa\x10\x98\xc8\x5e\x2f\x4e\x22\x66\xd5\x99\x67\x05\xc8\x77\xbc\xb6\xd6\x41\xad\x9f\x0a\x71\x72\x28\x2e\xff\xd4\x4c\x4e\x37\x37\x2b\x40\x34\xc6\x55\x76\x66\x66\xd6\x8d\x0d\x91\x4e\x7e\x1c\xe1\xfe\x5e\xa1\xec\x4c\x69\x05\x33\xed\xdd\xbe\x01\x38\x4b\xc1\xc6\xac\xbf\x1d\x88\xc1\xea\x17\xda\x7a\x6b\x27\x6b\xed\x28\xdb\x45\x08\xb5\x98\x0e\xe8\x01\x29\x2e\xa9\x84\x81\x50\x1f\xbc\xb9\xa6\x4c\x80\x09\xc0\x66\x6f\x81\xaf\x0d\xdf\x6c\x10\x31\x9d\xfc\x78\xb2\x7d\x91\x8a\x29\xe2\x9e\x3d\xd0\x53\x80\x74\x86\x16\x4d\x68\xd1\x53\x81\x8b\xe6\x47\xdf\xea\xb3\x06\x7e\x7c\xe9\xb6\xc0\x1f\x64\x97\xc1\x71\xff\xd2\x8f\x8a\x40\x76\xa1\x1c\x82\xec\x8a\x43\x49\x76\x20\x9b\xf7\x97\x7e\xc8\x9e\x4f\x95\x27\xbc\xdd\x05\x7d\xeb\xbb\x1b\x74\x6c\xb7\x66\xe7\x3f\xc2\xff\xfa\x6d\xf3\xcb\x76\xf7\x28\x00\xc7\xd2\xb6\x99\xe9\xff\x39\x52\x4b\x9b\x64\xeb\xd9\xe4\x47\x33\xb5\x94\xb8\xf2\xa4\xc4\x45\xb6\xe2\x2a\x39\x76\xfb\x00\x72\xd2\x6b\x37\x29\xad\x58\xbf\x1c\xa6\x05\xc0\x6d\x5a\x6c\x2e\x25\xcd\x80\x7b\xb1\x59\x64\x73\x21\x53\x93\xa7\xf3\x1b\xf8\xf2\x3c\xe1\xbe\xf6\xe1\x2c\xbe\x35\x21\x60\x67\x42\xc3\x09\xc0\x60\x40\x2e\xb2\x75\xb1\x20\x16\x17\xd5\x31\x11\x41\x78\xe9\xc4\x45\x0c\xf4\x09\x4f\x8b\xaa\x21\x53\x04\x2a\x59\xcc\x0d\xf7\xc4\xe5\xc7\x56\x21\x82\x96\xb1\xb1\x17\x4a\x7e\x41\x13\x1a\xe5\x41\xe8\xc2\x31\x06\x9d\x66\x72\x97\x38\xa9\x0d\x2f\xac\xc2\x99\x1e\x06\x71\xfd\xf9\x0c\x0e\x7a\x2b\x92\x75\xd7\x50\x3e\xa8\x6e\x1d\x08\xc5\x3a\x2a\x3d\x25\x72\x70\xff\x38\xf7\xab\x4c\xbc\x99\xf7\x26\x03\xd5\x66\x2e\x54\xeb\xe6\xd2\x0b\x0c\xfd\x04\xa7\x89\x45\x31\xba\x66\x0a\xe5\x62\x03\x0b\x13\x24\xa2\xbf\xe2\xe8\x2f\x45\xe0\x2e\xf6\xfc\x26\x0b\x7c\x95\x83\xe9\xab\xbc\x39\xbf\xb9\xa9\xfd\x02\x78\x8d\xa2\x69\x9b\x48\x8a\x33\xa3\xd8\x0f\x81\x57\x11\x81\x32\x58\x18\x12\xe1\x98\xd0\x79\xd2\xaf\x6f\x9b\xbe\x07\x00\x57\xb7\xc7\x37\x58\xbf\x32\x1c\xdb\x5f\xdf\xdf\x7f\x7e\x18\x52\xd5\x9c\xcf\x89\x79\xa3\xe4\x5b\xff\xf3\x50\x84\x4a\xb6\x64\xbc\xa4\xe5\x9e\xfd\x28\x28\x4b\x72\xf1\x13\xff\x85\x7f\x77\x99\x1f\x60\x1f\x7f\x7c\x61\x99\xba\xb3\x4d\xdc\xde\xd5\xf9\xbe\xbe\x78\x50\x34\x23\xd0\x42\xeb\x66\x29\x96\x36\xe4\x0c\x86\x80\xb5\xbe\x80\xce\xb8\xf8\x8d\xff\x64\x7c\xb9\x96\xcd\x94\x14\x55\x49\x66\x2c\x9c\x8a\x46\x8c\x53\x3a\x15\x8d\x18\xc3\x8d\xd4\x97\xdb\xbd\xf1\xfe\xd3\x6f\x7f\xbb\x01\xae\xfe\x55\xc7\xac\x50\x3e\xd1\x71\x6c\xfa\x07\xd0\x83\x9a\xb7\xc4\x51\x48\x91\x02\x41\xad\xd9\x0a\x0c\x8f\x38\x96\x0d\x33\x55\x85\xbb\x54\x75\x06\x73\x82\x36\xcd\xba\x35\x73\x01\x1b\xe0\xc8\x98\x62\x04\x0f\xcb\xa4\x54\x92\x8d\x7e\x8b\x0a\x55\x2e\x8e\x26\x84\x89\x51\xa8\xc7\x46\x6d\x3a\x51\xb5\x1c\x0a\x52\x3b\x2a\xbc\x23\xae\xcd\x6c\x53\x09\x8a\x90\x29\x03\xdf\x30\x53\x45\x48\x4f\xba\x3e\x71\xa2\xd6\x00\xc7\xd3\x06\xa4\x5c\x75\x74\x1e\x89\xa6\x09\xb2\xae\xd0\xb0\xbf\x75\x73\x2e\x9e\x96\x8d\x19\x7d\x02\x30\xb8\x20\x9f\x9a\x77\x3a\xd1\xbc\x41\x3f\xde\xfb\xc4\xe9\xf8\xed\x89\xd6\x8d\xdf\xa3\x75\x7d\x30\x1f\xc5\x22\x2c\x80\x4a\x6d\x25\x5f\xe8\x5c\xcf\xac\x3e\x66\x84\x60\x0d\x8b\xf9\x8d\xf5\x22\x0f\xe9\xad\x53\xe6\xb6\x35\x23\x53\x4a\x21\x35\xc3\x4b\x2a\x15\x3b\xad\x3d\x3b\x2c\x18\x53\xea\x53\x05\x7c\x27\x0b\x69\xb2\xe9\x1e\xe1\x31\x94\x7e\xa1\x71\x29\x22\x20\x93\x81\x03\xd7\xc5\x0c\x24\x1b\xc1\x9e\xb1\xa1\x64\x76\x56\xcb\x19\xf1\xa4\xfe\xd4\x29\x72\x9b\xfc\x18\x81\x0c\xdf\x33\xaa\x5d\x4d\x0f\xf5\xd2\x27\x3f\xba\x1f\x03\x94\xb5\x92\xe7\xfa\x62\xa1\xaf\x4f\x31\xd7\xe7\x2c\x67\x27\x2e\xd4\x74\xfc\x1e\x35\xfd\xf7\x7f\xda\xd8\xfc\xf4\xff\xfb\xe7\x4f\xbf\xdf\xa2\xa4\x7d\x80\x28\x0f\x26\x1a\xf5\x4b\x33\x05\xd4\x0d\xe9\x74\xee\xc4\x82\x33\x87\xdd\xb4\x32\xc0\x5d\x06\x41\x68\xf9\x34\x2d\x2e\x0d\x87\x2f\x00\x85\xf6\x24\xec\xb6\x30\xbf\x3c\x35\x13\x31\x83\xf3\x59\x6b\xae\x8b\x7d\x8a\xf2\x8c\x1b\x44\x3b\xe9\xac\x1a\x23\x4d\x65\x27\x6b\x94\xb3\x03\x52\x1e\x69\x0b\x37\x8d\x9c\x7b\xe2\x57\x8b\xe1\xf9\xa1\x3c\x86\xd9\x67\xd4\xc5\xc4\x03\xd4\xfb\x99\xb9\x93\xa7\x3c\xe6\xde\xa9\xc5\x92\x27\xd6\x37\x5c\xe2\xe3\x0b\x1e\xf6\x0e\xa3\xc3\x93\xbe\x90\x0a\x03\xac\xda\xe5\xf2\xc4\x9f\x77\x7b\x1a\x0d\x60\x76\x60\xf4\x7c\x23\x4b\xe6\x9c\xb5\x30\xb9\xdb\xba\x92\xd9\x23\xee\xf7\xe3\x7d\x39\x9f\x7c\x57\x4c\x9f\xfb\x06\xe9\xb7\x9f\xfe\xfe\xeb\xd7\xf7\xb5\x1e\x22\x8c\xbf\x4c\x77\xf4\x60\x21\xbf\x94\x95\xe5\xdb\x93\xfc\xae\x44\x32\x0e\x81\xaf\x93\xbe\x77\xb2\x21\x91\x8b\xc0\x0b\xbe\x5c\x21\x18\x49\x2b\xc1\xc8\xb9\xf4\x62\x2d\x36\xda\x71\xbf\xc1\x41\xef\x59\x65\x4a\x7e\xea\x6a\x44\x68\x19\x94\x39\x2f\x24\x61\xa5\xb6\x75\xa0\x38\xee\x42\x2d\x50\x1a\x21\x9e\x84\x47\xf9\xfa\x66\xaf\x63\x5d\xb4\x2b\x11\x94\x73\x15\x64\x1e\x73\xd1\xf6\xca\x3c\x09\x53\x03\x2f\x5e\x43\x1a\x4a\xec\xb2\x80\xf6\x02\x3e\xe2\x8d\xf8\xc8\x9d\xd4\x3c\x47\xa9\xfa\xea\xae\xce\x43\x3c\xee\xf1\x0a\x8f\xfb\x32\x89\xee\x44\xae\xd6\x93\xdc\xf9\xa2\x32\xd9\xb9\xa8\x92\x89\xd3\x2e\xac\x60\x89\xa4\xdb\xf4\x62\x24\xf9\x99\xf3\x84\x4f\x95\x00\x0d\x3e\x13\x61\x0d\x07\x13\x18\x65\x47\x12\xba\xb5\x01\x2c\xd4\x6a\x1b\xf0\xb5\xb1\x01\x24\xd5\xc3\x1e\xd5\xc3\x1f\x68\xde\x3d\xf9\x00\xce\xeb\x93\x8f\xae\x74\xb6\xa7\xfa\xfc\xc0\xb1\x71\xb9\xbc\xd6\x89\x33\x71\xe4\x3d\x93\x48\xa2\xc6\xf9\xe9\x78\x52\xb7\xef\x4c\x22\xce\x2e\x14\x40\x85\x7d\x97\x24\xec\x7f\xfd\x5f\x8f\x1a\xcb\x3f\x26\x07\xe5\x1d\xd6\x6b\x72\x2c\xf0\xa7\x4e\x19\xab\x75\x1e\xc9\x60\x42\x39\xcb\xc4\xbc\x53\xaa\x5a\x37\x5c\xfc\x5c\x7f\x71\xeb\x34\x4a\x0b\x8d\x52\x4e\x66\xa1\x26\x2d\x53\x7c\xba\x3c\x8d\x0b\xd5\xc8\x9f\x17\x5a\xde\x27\x54\xaa\x35\x8f\xeb\x98\x7f\x88\xf0\x37\x3f\xd9\x3b\x45\x27\xb3\xf6\xd9\x5b\x17\x6c\xd5\x5d\x7e\xd5\xcc\x98\xb7\x7b\x14\x4a\x5d\x00\x1a\xab\x52\x07\xc6\x8d\x16\xc1\xd5\xfc\x87\x03\x00\x5f\x80\xfe\xda\x74\x5a\x7e\xd3\x10\x21\x64\x99\x49\xf6\xcc\x16\x7f\x11\xca\x0c\xda\xc7\x49\x49\x61\x63\x98\x8b\x8d\x28\x4f\xa5\xc6\x6a\x2b\x59\x4e\xe8\xa4\xe6\x4f\x3f\x32\xc7\x43\xa2\x58\x02\xbe\xfd\x78\x2f\xd8\x95\xbf\x72\x6a\xfc\x3c\xd3\x7a\x2a\xeb\x36\xcc\xf7\x0b\x27\xf7\x0b\x27\xf7\x7b\xc8\x34\x84\xd8\xfd\x11\x54\x32\xc5\xa6\xa0\xad\x0c\x55\x9f\x0a\xf6\x79\xfd\x38\xcc\xbd\x5a\xa6\xfa\xa2\x14\xab\x79\x6c\x20\x0c\xf1\x17\x5f\xc4\x63\x09\x99\x44\x8a\x49\x52\x35\xed\xf0\xc4\x23\x0f\xc3\x5f\xdc\x60\xa0\x9e\x64\xaa\x3b\x21\xed\xb2\x59\xde\x23\xa0\x9e\x6f\x5c\xe6\x0b\x0a\xe1\xa6\xfa\x8c\xac\x11\x33\x3d\x18\x1b\x4c\x29\x25\xe0\xd3\xfb\x86\x77\x4b\x65\x2a\x48\x0a\xf7\xcf\x32\xb5\x34\x9f\x6b\xa6\xe6\x54\x77\x4a\x4d\x3f\x4c\x65\x48\x9d\x1a\x22\x11\x5d\x8b\x5d\x35\x81\x97\x25\xe7\x3a\x75\x52\xf3\x46\x01\x98\x3f\x61\x3f\x99\x8b\x79\x3f\x39\xcf\x1f\x66\x2a\xfd\x78\xfa\xf1\x5a\x43\xbe\x4c\x05\x9a\x53\x82\x07\x82\xfd\x72\x8c\x28\x15\x14\x07\x4b\x79\x56\x6a\x1d\x18\x1a\x19\x10\xda\x5c\x92\x5f\xcd\xfe\x63\xeb\x33\xae\x96\xa9\x65\x3f\x7f\x0b\x94\xfd\xc0\x3e\xf3\x90\xb6\x91\xa8\x00\xd1\x9e\xd1\xd3\x55\xcc\xca\xcd\x31\x2d\x6f\x6a\xfa\x62\xbe\xeb\xe3\xe2\xf5\xf7\xdf\x7e\x3e\x6c\xfe\x71\x07\xcf\xda\x55\x49\x1b\xf3\xf9\x52\x0b\xf0\xac\x05\x36\x9c\x01\x28\x3f\x5e\x5c\x8c\x1a\x5b\x67\xd7\xb2\xa0\x4b\xc1\x16\x5a\x6e\x98\x6d\xac\xf3\xcb\xc8\x78\xcf\xdd\x7a\xa4\x54\xe0\xea\x22\x5e\x94\x59\x66\xc7\xdd\x64\x88\x62\xca\xe7\x1b\xeb\xb8\x5e\xd1\x67\x41\xd6\xd5\xa4\x94\x53\x9f\xb8\x12\xcf\xba\x75\x5a\x53\xce\xdb\x68\x16\x32\x58\x41\x4c\xe4\x3a\x15\x97\x03\x47\x02\xa9\xe7\x51\x2c\x47\xab\xd4\xa2\x5b\x24\xdf\x48\xa0\xce\x2d\x54\xe2\xd2\xb1\x21\x9b\x43\x35\x55\x17\x4c\x5d\xb5\xa1\x30\x30\x01\x11\x3a\xf4\x7c\x4a\xec\x3a\x32\xd7\xa9\x52\x2a\x0b\xce\xeb\x14\x5b\xa0\x9a\xd4\x7a\x58\xcc\xc2\xf3\x97\xa1\x01\x2b\x64\xed\x85\xd7\x4a\xe3\x5e\x30\x38\x1f\x5f\xaa\xd9\x66\x60\xf4\xcc\xb2\xd4\xea\x7c\xa2\xd4\x2f\xd7\x84\x58\x49\x7a\x9f\x98\xef\xa9\xf1\x98\x78\x0d\x0b\x69\xbd\x18\x97\xce\x2b\xeb\xed\xb7\x77\x24\x74\x62\x0d\x88\xbc\x2c\x6b\x0c\x26\x68\x92\xca\xe1\x82\xcd\x7d\xf0\xc4\x89\xee\x2e\xe1\x6c\x4c\xc2\x19\x26\x94\xd2\x92\xe4\x36\x48\xf0\x2b\x06\xea\x69\xa3\xc4\x52\x27\x3f\x8e\x2d\x06\x06\xa1\x41\x6b\xfc\x94\x08\x91\xaf\x3e\x76\x62\x1b\x0a\x6a\xce\x3e\xb3\x13\x11\xdd\x92\x98\x9e\x96\xd7\xb2\x67\x52\x14\xfa\x50\xf7\x55\xd5\x8c\x40\xbb\x2f\xd7\xe1\x2b\x08\xa8\x35\x4c\xb2\x51\x5f\xd7\x52\x7a\x12\xdf\x9b\xd3\x72\xec\x3e\x06\xa0\x19\xaa\x4c\x98\xa4\x0f\xea\x90\x5a\x30\x0c\x5a\x99\xb4\x25\xbb\xc0\x04\xf6\x99\xf1\xae\xa5\xf4\xc6\x79\x17\x5c\xc1\x5d\x27\xd5\xd7\x2b\xf5\x1e\xf5\x0a\xe0\x85\x5e\xb3\xbd\xeb\xe3\x38\x57\xe7\xfa\xea\x61\xa3\xdc\x17\x8b\xe7\xd3\xf5\xe3\x74\x5d\x19\x6b\x0d\xd2\x27\xbc\x48\xdb\x5e\x3c\xf3\xa6\x01\xb8\xb9\xd5\x76\x3e\x3d\x1b\x08\x0d\x30\x04\x6a\x1a\xc5\x5f\xe6\xbd\x7c\x31\x49\x4a\x55\xb0\xd0\xa6\xc9\x8f\xb8\x9e\x22\x97\xeb\x54\xfd\x95\xa9\x1d\x57\xed\xc0\xc8\xde\xaa\xce\x4e\xf0\x99\x5b\x5f\x3c\x89\xb4\x64\x5c\x10\x8b\x57\x9c\x1b\x98\x3d\x33\xd2\xd7\x8b\x2d\x45\xa5\x5c\x12\x31\xea\x70\xcd\xfd\x06\xe8\x70\x29\x0b\xa6\x30\x2d\xa8\x8c\x2a\xdb\x40\x23\x13\x0a\x89\x20\x28\x15\x14\x90\x41\xa4\x24\x2f\xf5\xd4\xcb\xaa\x53\x7d\xb1\x8e\xfc\xf8\x62\x66\xc2\x54\x5f\x60\x35\x2c\xd7\x79\x3e\x59\xe6\x9f\x2e\x4c\x09\x20\x8a\xb7\xe9\x3a\x07\xcb\x12\x82\x49\xd6\x37\xfa\x96\xae\xe2\x50\x2f\x77\x24\x35\xa3\xb8\x03\x99\x69\x5b\x5b\x38\x82\x69\x79\x1a\xc4\x37\x20\x0c\x07\x08\x71\x23\xae\x1a\x28\x55\x52\x00\x12\x47\xa5\x06\x4a\x35\x35\xdb\x02\xcf\xcb\xd1\x4d\x06\x99\xcc\x0a\x9a\xca\x96\xd4\x3a\x80\xba\x30\xe0\x93\x13\x92\x52\x52\xb3\x0b\x17\x2a\x2a\xe0\x59\xe3\x42\x5d\xf1\x49\x8e\x09\x25\xa3\x4c\x0c\x2a\x07\x30\x4f\xa4\xb6\xac\x60\x82\x6a\x40\x18\x41\xd6\x60\x30\x9c\xe2\xf8\x52\x99\x9d\x91\x97\xcb\xc5\xb7\x42\x11\x15\x83\x92\x1a\x6c\xb1\x28\x32\xf5\x2d\xb8\xd7\x80\xe9\xce\x51\x02\xb5\xd4\x1c\xe5\x3d\xb6\xba\xa1\x52\xc4\xfe\x5c\xcb\x8b\x9a\xcf\x1f\xad\x0f\x91\xca\x87\x85\x33\x90\x13\x57\xf9\x9b\xdf\x49\x25\x51\xcc\xc5\x3e\xb1\x0f\xb6\x76\x1d\x8a\x59\xc9\x96\x62\x65\xe0\xca\xa7\x88\x25\x90\x44\x3b\x71\xab\x58\x1c\x9d\xaf\x20\xb6\xba\x43\xf4\x17\x46\xa7\xc0\x76\x5d\x07\x5e\x59\x83\xdd\xbb\x8a\x1f\x76\x58\x56\x8e\x9f\xa0\x90\x3d\xac\xa5\x7e\x3d\xfc\xf4\xdb\x2f\xef\x3f\xdd\x62\x32\x5c\xc0\x8b\xc9\x9c\x65\x12\xe6\x8c\xb5\x70\x8c\xdc\xe0\xdd\x35\x2c\x99\xb4\x0c\xdb\x38\xe8\x46\xde\x0f\x94\xf8\xd4\x36\x95\x24\x9b\x5d\x24\x79\xde\x34\x51\x90\xb9\xe4\x7c\xbe\x26\x6b\x2f\x28\xef\xca\x34\x60\x6d\xc6\x0c\xe3\x91\xd5\x71\x5e\x61\xa9\xbd\x78\x35\xd8\xda\xe5\x83\x5f\xbe\x74\xb1\xbf\x69\x4e\x48\xb4\x43\x6a\x88\x36\xdd\x01\x2d\x79\x1d\x92\xef\x0a\xe8\x60\xa7\x7c\xa8\x3b\x59\x85\x28\x59\x4d\x00\x7e\x51\xca\x87\x50\x97\x3b\x77\x27\x54\xa2\x8a\x64\xc2\x5d\xb2\xb3\xca\xa1\x7e\xbc\x57\xd7\x2d\x75\x17\xd2\xa1\xee\x92\x27\x45\x44\x9c\x80\x8f\x7e\x80\xcc\xdc\x09\xf6\x35\x82\x70\xcf\x75\xd4\x88\x57\x6c\x29\x9a\xee\x9f\xe2\xee\xe2\x71\xa7\xb9\x0a\xfb\xc0\x36\x09\x37\x99\x62\x94\xc9\x8f\xae\xa6\x45\x41\x8c\x97\xd3\x72\x9c\x1b\xd8\xf3\xce\xb2\x19\x0a\xf5\xd6\x56\x44\xa2\x05\x3b\xf7\x69\x79\xf1\x3a\xca\x48\x73\x41\x64\xe9\x1e\xb8\xda\xbe\x06\xd2\xd4\xaf\xd1\x5c\xa7\x41\x98\x7f\xf9\xd5\xea\xb0\xa7\x43\xd0\x15\x64\xa7\x8e\x21\x4f\xa3\xbe\x7f\xe7\xd5\xa9\x0a\x21\xd1\x8f\x77\x18\x91\xf1\xf8\x29\x36\x38\x6e\xe4\xbb\x7c\x65\xb8\x7f\xfb\xf9\x2f\x3f\x76\x9b\x67\x20\xff\x2d\x62\xc1\x1e\xbe\xce\xb7\x72\x61\x77\xf9\x22\x67\x15\x7d\x61\x2b\xc5\xe5\x57\x08\x20\xcb\x2e\xe4\x99\x93\x39\x2d\xd2\x04\xe7\x6c\xc0\x7c\x91\x24\xe8\x95\xb7\x6b\xa1\x6d\x5c\x6e\x3d\xd7\x10\xf7\x01\x37\xd6\xc5\xc3\x71\x7a\xec\xe9\x44\xae\x3e\xdd\x80\x0f\xf3\xc7\x7b\x0f\x3e\xc7\xfe\x84\xe7\x43\x99\xde\x4d\xf5\x6f\x0f\x69\xdf\x79\xd5\x53\x3e\x7f\xd2\xc3\xc5\x93\x1c\x81\xd0\x76\x97\x4f\xc9\xe6\x68\xc6\xe3\xdd\xdf\x5d\xad\xca\xc5\x06\xc0\x78\x1e\xeb\x5b\x36\x0b\x08\xc6\xd7\x78\xa0\xf3\xe7\x89\xa7\x8f\xb3\xb6\x8f\x70\x94\x17\x20\x5b\x5f\x08\x29\x1e\xfe\x11\x29\xfd\x7c\x8c\x35\x31\xe5\xf4\x27\x0f\xe4\xbd\x13\xff\x87\x6e\x20\x7a\xb1\xfc\xb3\x73\x46\x4e\xe0\xde\xb2\x37\x32\x76\xf7\x9e\x79\x2a\xa4\xea\x1f\x57\x37\xf9\xea\xce\xbe\xc0\xc7\x75\xaa\xd3\x78\x93\xe7\x94\xd2\xe7\xea\x67\xfb\xef\xdc\x14\xe0\x9d\x7d\x03\x26\xbe\x09\xab\x66\xda\x25\x6c\x2d\xc0\x5e\x44\x0b\x1c\x2f\x6c\xea\xfe\xe3\xfe\xd9\x82\xee\x57\xea\xde\x02\x3f\xdd\x9b\xe0\x7b\x0b\x75\xe2\x3c\x6e\x96\x4f\x5a\xe1\x95\xd2\xf3\x06\x04\x8f\x0d\x88\x1b\x0d\xe9\x7e\xed\xe7\xee\xb7\xf2\xc3\xb8\x1f\xf2\x16\xaf\xa2\xaa\xa4\x1b\x10\xa0\xb8\xdf\x78\xb8\x6c\xd7\x43\x73\xba\x37\xe7\xe0\x8d\x61\xf2\xcd\x54\xb3\x03\xbc\x2d\xe8\xe7\xfe\x3c\xba\x82\xa7\xd1\x39\x68\xcc\xe7\xed\x56\x10\xd6\x8e\x23\xc3\x79\xaa\xd3\xb1\x83\xd2\xc9\xe0\xf4\xe3\xe0\x74\x1f\x9c\x7e\xb5\x4f\xee\x95\xc8\xcd\xfe\x07\x67\x1d\xb8\x00\x3e\xcf\xe2\xf8\x29\x93\x13\x9f\x3c\xe2\x54\x4f\xe5\xf2\xe0\x8f\x87\xaf\x4e\x64\x72\xaa\x3e\x04\xe3\x4c\x3e\x95\xcb\xab\xfd\xef\xe2\xf7\x3c\x0b\xe3\x49\xef\x7b\x03\x6e\x89\xc2\xf3\x51\x1c\x4f\x7b\x7f\x6e\xc6\x10\xe3\x7e\x3a\x02\x57\x9b\xc1\x6d\xcc\xce\x3a\x5a\x30\x1e\x98\x3f\x9f\xf8\xa6\x24\x88\x78\x0b\x00\x6b\xa7\x3a\x81\xa9\x7c\x96\x04\x14\x39\xe6\x32\xf9\x49\xec\x91\xac\x9b\x33\x75\x4c\x90\x59\x1c\x3f\xe7\xa9\xcf\x8f\xe7\xf1\x48\xf5\x6c\xae\x8e\x61\xf1\xce\x38\x9d\xa6\x13\xe7\x93\x91\xf1\x68\xea\xe9\x5c\xbd\xde\x2b\x3e\x25\x9f\xc7\x0c\xed\x67\x53\xf5\x6b\x7d\x72\x75\xd7\xf2\xa8\x35\xfa\xa7\xd6\x18\xd3\xf4\xc6\x0c\xf9\xc2\xe3\x31\xaf\xe2\x39\x7d\x97\xe2\xb8\x95\x07\x70\x4b\x75\x70\x7d\x9e\x05\x85\xa7\xa3\xf4\xb4\xbb\xb5\x87\x24\x93\x9a\x59\x7a\xf8\x54\xb5\xd7\x4f\xdd\x3e\x26\x18\xd7\x9b\x4a\xb5\xfd\x61\xbd\xe3\x12\x20\x69\xea\xa3\xad\xfd\xa4\xad\x37\xe6\x53\xbd\x9a\x93\xf0\x7d\xd2\x73\x03\x1b\xf2\x07\x28\xd8\x1f\xba\xec\xc3\xf9\x7a\x3a\x77\x8e\xe1\x9e\x9c\x7d\xa8\xd3\xf5\x98\xc8\xcb\xe2\x02\x8e\xbc\xf7\x06\x27\xc8\x7a\xbe\xe6\x03\xef\xf8\x10\x78\x17\xf8\xe3\x4b\x59\xde\xaf\x1c\x6f\xf8\x0d\x51\x98\x45\xf3\xca\xcd\x5b\xb2\x27\xdb\xac\x05\xa3\xe5\x4a\x30\x5a\xd6\x4b\x68\x56\x8a\x74\xc2\xdc\x9e\x8f\x77\xcf\xeb\xc9\x76\x5b\x3e\xf8\xad\xe3\xb4\x44\x70\xb5\xd7\xf2\x4d\x4f\x7b\xd9\xbf\x7d\x0e\xbf\xad\x76\x30\x2d\xa0\x69\x1f\x7c\xd8\xc3\xa2\x93\xdd\x16\x2e\xd7\x9f\x95\x65\x5a\xc2\xba\xce\xfd\xf3\xcd\x83\x7b\x35\xc4\xb6\xf6\xc4\x1e\xd1\xfd\x41\x4f\xbc\x9a\x92\x06\xc1\x5a\x79\xe4\x41\x70\xf0\xe7\x3f\xb2\x8b\xf4\x1f\xfa\xd0\x57\x07\xfa\x1e\x55\xf5\xcf\x9f\xff\xf2\x68\x96\x0b\x9e\x6c\xe9\xdb\xcd\x70\x81\xf2\x15\xdf\x8e\x6b\xde\x0a\x10\xbd\x4c\x0b\x25\x28\x6c\x70\xfc\xa7\x11\xa6\xbe\x88\xef\x6f\xbd\x00\x99\x7a\x4b\x9e\x49\x88\x73\xf1\xd6\xaf\xb7\x52\xa3\x5b\x8f\x88\xc4\x6b\x35\xba\xe9\x85\x0b\x81\xd2\xb3\xa2\x0a\xae\xe7\x06\x22\xec\x44\xb5\x56\x00\x73\xf6\x40\xcc\x9d\x18\xb0\x59\x52\x48\x6a\x0b\x94\x24\x91\x4a\xd9\x24\x00\x69\xfa\x71\x94\x89\x09\x98\x6d\x91\x7f\xd0\x50\x3c\x92\xa3\x59\x27\x65\x4a\x53\xa5\x3e\x25\x04\x1e\x3f\xde\x39\x4e\x9c\x49\x35\x6d\x9d\x19\x35\xa3\xec\xa8\x77\x6c\x30\xa4\xf1\x60\xf6\xd6\x1f\x6c\xc5\xf1\xc6\x43\xad\x97\x74\x8e\x47\xf2\x12\x52\xee\x28\xca\x0d\x42\x45\x9b\xb3\x36\x2b\x4a\x54\x1d\x2a\x97\x29\xa5\xf1\x56\xac\xf5\x07\x8e\x54\xfa\xb1\x28\xf4\xad\xce\x31\x8a\x8e\x02\x3b\xeb\xa9\x96\x1c\x3c\x0c\xe7\x63\x33\xa4\xcb\xa4\xd4\xb1\xbd\x8c\xbd\x76\x3c\xaa\x52\x5e\x16\x94\x1e\x63\x0c\xb3\x70\xac\x04\x19\x4c\x2c\x98\x92\x78\x8d\xa0\x36\xb0\x97\xa3\x3f\xac\x3b\x1e\xca\x78\x80\x84\x3f\x5a\x0b\x6a\xc2\xf8\x0c\x93\xc5\x49\x77\x1d\xcf\x44\xf2\xa1\x51\x7e\x06\xa0\x9d\x2a\xac\x8a\x34\xac\x8e\xf4\x92\xb7\x48\x06\x01\xc4\x75\x05\x41\xf9\xc4\xd4\x62\x27\xb5\xc7\x31\x91\x4c\x00\xab\xc9\x8c\x97\x16\x65\x4d\xd4\x49\x3a\x0a\x9b\x9c\x43\x19\xc8\x93\x2d\x8a\x0f\x97\x68\xa2\xce\x26\x6a\xd8\xdb\x6b\xb1\xe3\xed\x2e\x39\x7a\xdc\x35\x73\xc7\x9a\x0c\x20\x05\xd8\xee\xb0\x19\xa7\x11\x68\x7b\x61\xc8\x0c\xe7\x21\x35\xb1\x50\xca\x1a\x84\x6a\x95\x89\x03\xc5\xc6\x04\xee\xf4\x5c\x07\x5e\x9c\x34\x12\x2d\x4f\x89\x38\x01\x62\x22\xcd\x35\x3f\xf6\x8b\xf4\x5c\xed\x1a\x26\x53\x28\xa4\xb4\xeb\xca\x84\xfb\x20\x13\x78\x64\xa8\x97\xba\x25\xbb\x58\x02\x8e\x6e\xaa\xc0\xd6\x71\x3f\x09\xef\xcc\x7c\x3b\x84\x86\xc6\x51\x53\xe7\x00\x05\x00\x1d\x70\xa7\xab\x34\x14\x9d\x52\x4a\x83\x3d\x3a\x8b\x50\x45\xa1\x35\x76\x3f\x93\x1e\x0a\xe5\x7c\xac\x6c\x0c\xf6\x3f\xeb\x5b\xd4\xfd\x31\xf0\x2b\x22\xfb\xef\x80\xc3\xfd\x5c\xec\xf2\x08\x32\x9a\xdb\xd5\x1c\xef\x6b\x42\x1c\xfc\x85\x29\x1f\x1a\x46\xb7\x7a\x31\x78\xd1\x01\x03\x28\xd9\x5a\xfb\xb8\x70\xee\x7f\xfe\xe5\x7f\xdf\xb9\x71\x84\xea\x4d\xb9\xcc\xee\x64\x2a\x7d\x0f\x60\xc8\xc9\x0e\x0b\x40\x61\xe0\x78\x94\xbd\x7d\x83\x73\x0e\x76\xfa\xca\x06\xea\xd5\xec\xd9\x74\x1f\x35\xd8\x1f\xb9\x1e\x3c\x51\xd5\x6e\x7f\xd3\x9c\x6b\x28\x2b\x8b\xe4\xa3\x8b\xc4\x21\xd4\x05\x46\x89\x75\x48\xbd\x12\x11\xb4\xc6\x86\xa1\xa6\xc2\xac\xa6\xc2\x51\x4d\x7d\xaa\x4d\xb1\x87\x40\x99\x70\xcd\x54\x80\x31\x22\x26\xc2\x29\x20\x89\x89\x29\x66\xd4\x13\x03\xe1\x19\x30\x24\xdc\xce\xa1\xfb\x58\x00\xc4\xdc\xf3\x76\xb0\x6d\xdb\x07\xd8\x4a\x2e\xad\x87\x44\xe2\x40\x09\x81\x62\xee\x14\x6d\x79\x62\xce\x26\x97\xc1\xe1\x23\x53\xfb\x8e\x75\xaa\x9d\x20\x1f\xff\x9b\x2c\x01\xe8\xdb\x87\x37\x61\x3e\xa7\xdb\x7d\x28\xec\x6e\xbc\x5d\x4e\x37\xcc\x36\x26\xd4\x63\x5f\x9b\x6d\xa8\xe0\xb5\xc3\x61\x7d\xb2\xdd\xb4\xe6\xbe\xbe\x61\xf6\xe7\x2d\x4d\x36\x59\xf8\x13\x18\xfe\x8f\x59\x9c\x96\xc9\x43\x03\x94\x02\x16\x0d\xd4\x7f\x6d\x73\x81\x3b\xa3\x00\xd7\x95\xee\xa7\x4e\xaf\xad\x51\x1a\xa8\xe5\xc8\x7c\xc1\x0a\xb1\x04\x68\x05\xb3\x7c\xb2\xd9\x20\xd5\x0f\x73\xca\x0e\x53\x57\x7e\x3a\xa7\x27\xaf\x28\xe2\xfe\xda\x6a\x86\x12\x48\xcf\xdb\xfa\x43\x16\x16\x7f\xc6\x47\x65\x7e\xb7\x79\x7f\x7f\x98\xf0\x9a\x3b\x12\xac\xb3\x69\x89\x67\xce\x84\x14\x55\xeb\x13\x8e\x94\x9a\x92\x48\x9e\x32\x80\xd3\x12\x9d\x61\x3c\xc7\xa1\x98\x12\x72\x5d\xbb\x3d\x0a\xaa\xe9\xb9\x22\xb7\x20\xd9\x9a\x4f\xad\x35\x6a\xe6\xfc\x00\xc9\xa5\x88\x77\x8c\x10\xb0\xc8\x4a\x7d\x65\x8a\x50\xcf\x3d\x2e\x40\x81\xc1\x19\xc0\x4d\xf6\x00\x69\x6b\x4b\xcc\xe0\x88\x2f\xa7\xb8\x37\xf5\x56\x34\xf8\xcb\x16\x90\xa7\x00\x1a\x53\xca\xc9\x5e\x2a\x95\xe2\x1c\xf2\x05\x7b\xd7\xc4\xc9\xb3\x28\x9c\xb9\x3d\x0a\x45\x35\xe1\x1b\x69\x4b\xce\x40\x0f\xe4\x9c\x68\xe6\x8f\xff\xc6\x04\x3e\x6a\xa5\xdc\x0a\x25\x69\x20\xed\xcf\x9c\x1c\xb0\x07\x80\xce\x26\x8d\x48\xe3\x8f\x75\x8c\xae\xd8\x1f\xa3\x05\xa2\xa0\x38\x49\x79\x49\xcc\xe1\xb7\xd9\x3b\x62\xb8\x92\xc4\x45\xd1\x4c\x8c\x0d\x6b\x9d\x35\xb0\x16\x53\xc9\x19\x94\x18\x0e\x4e\x01\x38\x9d\x86\x6c\xa6\xc6\xba\x77\x88\x7d\x89\x09\xa5\xf3\x80\xd5\x4f\x01\x54\x04\x94\x80\x68\x9e\xe0\xd8\xd4\x8d\x02\xe3\x4f\x07\x87\x3f\xe6\x4c\xeb\x14\xa5\xec\x1d\x24\x0c\x39\x1d\x12\x3b\x45\xee\x9b\x42\xa9\xa4\xc9\x8f\x73\xca\x87\x79\x21\x25\x1d\x02\xc5\xe4\x5d\x27\x03\x62\x18\x84\xfd\x40\xb9\x89\xa6\x27\x72\xb3\xfe\x44\xb6\x59\x09\xc4\x66\x5d\x02\x40\x14\x99\x75\xcd\x74\xae\x52\x9d\xf1\x37\x62\xc2\xc9\xe9\xe3\x4b\x27\xed\x1d\x59\xf7\x28\x2d\xce\x48\x8e\xca\x9f\x4a\x43\x1d\x0c\x70\x6b\xf2\x58\x41\x57\xd2\xa6\x4a\x49\x49\x8b\xb3\xaf\xf4\x34\xa5\x89\x90\x01\xd5\x85\x06\x48\x4a\x64\x9b\xa0\xed\x60\x8f\xb8\x85\x04\x70\xa9\xd6\x62\x52\xbb\x37\x15\x41\x92\xb1\x70\x05\x84\x53\xb6\x25\x9c\x1a\x93\xb4\x66\x3d\x49\x25\x2b\xa5\x58\xa9\xa5\x4a\x89\x95\xb8\x9b\x6c\x54\x52\xd0\xf7\x9b\x30\x00\xfb\xae\xed\x29\x4a\x47\x57\x6c\x89\x8b\xd8\x77\x99\xcc\x29\x8b\x26\x06\x0e\x67\xb8\x47\x3e\x14\x5b\x43\x4c\x49\x6b\x6e\xd4\xb4\xcd\x90\xf5\x38\x0e\x0e\x96\xd8\x33\xd0\xdd\x36\xc9\x2c\xa7\x34\x8d\x97\x91\xdd\x93\x18\x09\xa4\x0a\xd0\xe5\x28\xd5\x87\x22\x66\x48\x7c\xa0\xd8\xfb\x7e\xbc\xab\x75\x03\x58\x96\x81\xcd\x12\x61\x22\x14\x13\x15\x8c\x54\x49\x36\x4a\x30\x63\x12\xf8\x25\xb8\xb8\x21\xb3\x24\xb2\x89\x65\x8a\xaf\x8c\x6e\xee\x3a\xa1\x6a\x60\xea\x7b\x5b\x06\x17\x8b\xa4\xf5\x0d\x00\x67\x01\x77\x24\x48\xa5\x16\x80\xb6\xa5\x62\x66\x45\x14\xb3\x38\x53\x03\x08\xa2\x03\xd2\x47\x93\xf4\x57\x41\x49\x07\xb7\xc5\xf5\xa2\xaf\xb8\x47\x6d\xb0\x5c\x8f\xe3\x2b\x8b\x37\x69\x9a\xaf\xf5\xf1\x6e\xc6\x24\xc0\xa7\x30\xd7\xd9\x11\x78\xc9\x66\xfa\x11\x06\xd2\x3e\xfa\x78\x0f\xf0\xcc\x99\x34\xe7\xfd\x98\x03\x76\x62\xa6\x39\x25\xdf\x3e\xc4\xcf\x1f\x71\x01\x86\x7e\x7e\xcc\x41\xcd\xc0\x8a\x12\xa4\x0d\x53\xb3\x05\x1c\xaa\x93\x85\x0a\xe0\xfe\xe0\x58\x69\x3c\x67\xdd\x8c\x0d\xc0\xd5\x6a\x5a\x41\x45\x08\xa5\xfa\x9c\x80\x9f\x05\x16\x8f\xb8\x04\x6e\x84\x55\x99\xb6\x54\x6a\x03\x5c\x7e\x87\x8d\xc3\x29\x51\xcf\x30\x3f\xd5\x66\x92\x27\x32\x5a\x07\x61\x46\xa9\x29\x9a\x83\xdd\x67\x6b\xc6\x2d\xb2\xfb\x94\x2b\xa5\xd2\xa9\xa4\x4c\x39\xcb\x9e\x91\xf9\x60\xa3\xda\x02\x55\x00\x08\x36\x0d\x04\x3b\xd8\x84\xd6\x46\x00\x20\xf8\x0c\x70\xfc\x51\xeb\x1d\x28\xd9\xfc\xca\x0c\x64\x15\xa1\x18\x81\x45\x6c\x82\xdd\x03\x55\x04\x6b\xb8\x6e\x66\x24\x50\xae\xb3\x76\x82\x6e\x29\x5a\x20\xd9\xdd\xb9\x1c\x1c\xd5\xdc\xc6\xcf\x74\xa8\xa6\xb2\x1f\x4a\x2b\xb2\x6c\x1a\x49\xe1\xc9\x8f\x43\x13\x59\x23\x59\xda\xd6\x15\x6b\x70\x03\x3f\x11\xa6\x47\x03\xfe\x66\x2f\x48\x9f\x45\xee\x98\xd9\xdc\x42\x55\xd2\x6e\xac\x27\x51\x3e\xbe\x54\x6a\xc5\xb4\x52\xe7\xbc\x07\xe4\x1a\xe0\xb1\x81\xc7\x09\xf4\xe7\xa8\x67\x11\x9f\x98\xe0\x8d\xef\xcd\xac\xa2\x7a\x96\xff\x07\x2f\x9d\xa2\xca\x3e\x51\xd3\xa0\xd4\x8b\x7c\x7c\x29\xa4\x29\x4d\x79\xa3\x36\x53\x27\x3f\xce\x66\x4e\x16\x9b\xd0\x6d\x0b\x04\x7a\x7b\x92\x14\xa8\x63\x80\x1d\xf4\xa6\x02\x7f\x7c\xa3\x02\xbe\x85\xf1\x12\x07\xe2\xb7\xe9\x8a\x74\x16\xfd\x4c\x15\x4a\x26\x01\x22\x85\x6d\xbe\x22\x3f\x10\x4b\x93\x4a\x35\x2f\x9f\x95\x34\xc9\x06\x19\xe8\x9e\x87\xee\x62\xa8\xd2\xa8\x34\xde\xda\xe2\x02\x1f\x20\x2a\x21\x61\xd4\x4c\xfd\x8d\xad\xd4\x88\x49\x8d\x1c\x0d\xc7\x7a\x05\xf4\x7f\xf2\x05\x59\x0b\x14\x74\x4d\x66\x86\xd4\xbd\x2d\x93\xce\x1c\x91\x29\x95\x06\x24\xb6\x92\xd2\x0c\x87\x19\xcf\xd1\x48\x09\x33\x23\x16\xd9\xa3\x60\x1c\xb6\xa0\x2e\xc1\x12\xb3\x50\x04\x35\x96\x00\xd8\x9f\x37\x92\xa8\x4d\x38\x8c\x53\xd8\x96\x9b\xde\x81\x9b\x2d\x6d\x1c\x47\xcf\x68\xa0\x5a\xbb\x5b\x0f\x26\x5d\x65\xbc\x63\x9d\xd7\x49\xee\x82\x75\xd2\x1e\xd6\xfc\xf6\x54\x8f\x4b\xbb\xc9\x9f\xdd\xda\xd6\x40\x99\x50\xba\xb5\x39\xcf\xe9\x31\xbf\xb3\x56\x92\x6e\x02\x0b\x83\xbb\xa6\xe5\x29\x24\x39\xc3\x3f\x95\xbd\x52\x2b\x29\x64\x6a\xed\xe3\xdd\x4c\x58\x3b\xbf\xca\x86\x58\xea\x5c\x95\xc0\x9e\xbe\xb7\xfb\x0e\x55\xf6\xcb\x5f\x7e\xdf\x6d\xfe\xf7\x77\x14\x16\xd9\x12\x0a\x0f\x72\x61\xb7\x67\x12\x7d\x2d\x28\x96\x29\x17\x64\xd3\x9e\xf8\xa7\x87\x6a\x8b\xe5\x8d\xfd\xc7\x15\x47\x6e\x59\xfe\x9d\xad\x43\x27\x2e\x3b\xea\xbd\x9b\xed\x05\xb3\x52\x53\xdb\x2c\xb9\x6f\x18\xab\x62\xd2\x57\x2e\x80\x64\xe4\xb2\xfb\x3c\x11\x66\x72\x76\x9d\x21\x03\xa9\xb0\xc6\xb6\xe3\x95\x1a\x5f\xbe\x81\x81\x57\xe9\x22\x0f\xf8\x04\x3f\xa7\x54\xa8\x0f\x18\x79\x52\x96\x3d\x66\xae\xd8\x2e\x24\xd2\x9a\x96\x2c\x15\x89\x44\xd2\x3e\x80\x1f\xc7\x24\x41\xab\x59\x4d\xbc\x3c\x0f\x97\x78\xc1\x90\x20\x86\x96\x5a\x9f\xd2\x4b\x46\xd2\xed\x19\x74\x28\xa5\x26\xc4\x51\xf7\x66\x05\x39\xb6\xcb\x82\x85\x08\xf3\xdd\x84\x1f\x61\xa8\xe4\xb0\xb0\xd0\x1d\x6a\x87\x52\xf4\x7c\xc9\x61\x11\x2c\xbb\xb6\x42\x00\x73\xae\xf7\xf6\xc2\x0d\xd9\xbb\x3b\xc0\xcb\x9f\xef\xc2\x78\x5b\x5f\x39\x9b\x25\xeb\x7b\x5f\x2d\xf1\x2b\x38\x56\xa6\x46\x05\x73\xe3\x9c\xc0\x2f\x26\x70\x4c\xb9\xc1\xd5\x89\x2f\x38\xfe\x98\xaa\xd9\x7d\x6d\x0f\x83\x0b\x3d\xbd\x58\x17\x01\xb8\xca\xa0\x90\x13\xb4\x92\xcb\x92\x4c\x30\x51\xab\x35\x10\x57\x9b\xa6\x6c\xab\x1a\xa7\xc5\x39\x03\x70\xb6\xdb\x7d\x1a\xe8\xbb\x4a\xa0\x84\x28\xcd\x4b\x33\xdb\xf9\xb5\x50\xef\xd9\xf4\x6a\x59\x3e\x35\xc9\xf5\x8c\xd4\xcf\x84\xb1\x04\xb8\x1b\x9b\x34\xad\x66\xfb\x9b\x13\x78\xf1\xee\xe4\xc3\x91\x76\x1b\x07\xb2\x04\x2b\xea\xae\xee\xfe\xd5\x5d\xee\xe8\xac\x23\x1e\x2f\xe6\x99\x96\xc0\x4b\xc1\x29\x60\xf6\x81\x6a\xa3\xda\x96\x10\x8d\x83\xeb\xf2\xb0\xbe\xa3\x47\x2b\x18\x4e\x17\xa5\x61\x02\xc4\x54\xa8\x11\xca\xb9\xee\x93\x99\x0b\x76\x6a\xe2\x8b\x33\x25\x43\xcb\xef\x4d\x76\x00\x89\xd8\x79\xc7\x94\x63\x5d\xbb\xe6\x34\xae\xb9\x56\xfc\x7f\x65\xa7\x31\x5f\xc0\x43\x1e\x41\xa4\xba\xa2\x0f\xc2\x82\xe6\xf1\xc8\x4c\x83\x58\xb8\xcd\x4f\xbb\xfa\x41\x4d\x6b\x9e\xcf\xe3\x94\x4d\xe0\xad\x33\xdd\x90\x5c\x84\x58\x19\xa0\xb1\x7b\x06\x4b\x22\x13\x43\x08\xcd\x62\x6b\x75\x31\x37\x04\x74\x1d\x49\xf6\x63\x2f\x8d\x4b\x71\x1e\xdc\xa0\x28\x5c\x5c\x08\x32\x9a\x77\x6c\xfb\x8b\xb9\x3b\xaf\xd5\xdc\xf2\x29\x53\x87\xb1\xcf\x40\xc9\xf5\x86\x74\x77\xad\x53\xdb\x03\x41\x9b\xda\x29\x7d\x21\x23\x55\xdd\xcc\x53\x5b\x18\x2b\xdb\xb7\xe6\xad\x20\x1b\x8d\x79\x9e\x96\xf0\x31\x44\xfa\x9e\x4a\x2b\x66\xdc\x94\x97\x4c\xc9\x26\xb3\x0b\xd1\x79\x52\x45\xbe\x45\xbb\x7c\xc2\xda\x28\x08\xa3\xda\xe8\x14\x31\x6b\xfa\x38\x67\xf0\xee\xe4\xc3\xe8\x35\x20\xf1\xe3\x0b\x97\x6f\xfd\xc9\x5d\xd3\xec\xb7\xbf\x84\xbf\xfc\xf6\xf3\xe1\x8e\xb5\x18\x88\x50\x13\xe7\x2b\xfb\xe3\xab\xe4\xfc\xd7\xb8\xf9\xbf\xce\xe2\x23\x51\xa6\x85\x06\x44\x0c\x5d\x1c\x79\xf1\x95\xcd\xe6\x33\x0f\x32\xb7\x0b\x26\x3a\x2f\x67\x3b\x98\xe1\xb7\xa4\xbc\xf7\x6c\x78\xbe\x46\x6c\x8f\x3c\xaa\x80\x1f\x82\xc9\xcd\xac\x2f\x0e\xce\xe8\x93\x04\xbd\xdd\x5f\xb9\x93\x48\x99\xcc\xb4\x5c\xde\xba\x50\xed\x6d\x4a\x2f\x68\xbf\x59\xd8\xb1\xb7\x29\x13\x17\x7d\x3a\x5b\x34\xd8\x1f\x50\x29\xef\x3a\xe5\x5e\xb6\xa4\x28\x99\x02\x62\xb1\xe4\x3c\x08\x56\x4a\xd1\x3d\xd8\x01\xa7\x42\x29\x95\x17\xa1\x9a\xc4\x3f\x09\xf8\x64\x10\x90\x24\x30\x57\x5d\x4d\x6f\xb2\x87\xbd\x81\xe9\x91\x76\x81\xfb\xe3\x71\xc3\xa3\x04\xdd\x87\x70\xef\x55\x6a\x7f\xb8\x04\x99\x45\xdc\xa6\xa5\xd6\x05\x6c\x3b\xe2\x8d\xfd\x95\x00\x06\x25\xe9\xa2\xbc\x97\xb8\x51\x6b\x72\x80\x63\x70\x85\x6c\x94\xf9\xb2\x9a\x78\x24\x8f\xbc\x75\xb3\x3f\x41\x2f\x17\xe1\x2f\x9a\x4f\x14\x11\xf0\x35\x07\x4e\xc0\x3e\x00\xd0\xf7\x54\x97\x97\x60\x54\x4b\xf1\x0b\x5a\xff\xf1\x0e\x8b\x0f\xb5\x6d\x67\xfd\x65\x76\xab\xe6\xb2\x43\x79\xe7\x96\xcc\x6d\x45\x84\x9d\x9b\x8d\xbf\xe6\xf2\x0a\xcc\xbd\xa9\xbd\x30\x75\xde\x0b\x42\x83\xd9\x5c\x6c\xe7\x63\x99\xc1\x84\xbe\x85\xa8\xfe\xad\xc3\x08\x7d\x98\x4f\x73\xb7\xf9\xfd\x51\x18\x57\xb3\xce\x4a\x02\x0a\xd5\x79\x0d\x79\x91\x4e\x2d\x27\x98\x6f\x25\x4f\x6d\xa7\xa4\x2d\xed\xa9\x14\x98\xbd\xa7\xec\x56\x0c\xb8\x6c\xf3\x59\xcd\x10\xf7\xb3\x85\x5a\x5b\x13\xb9\x44\x8c\x45\xa1\x34\x80\xbf\xee\xcc\xe8\xd2\x95\xf3\x94\xa2\x2f\x46\xc9\x94\x41\x2b\x4b\xae\x41\x45\x00\x55\xf2\x1e\xbb\x60\x6a\xfe\xf4\x8b\xa9\x8e\x76\xc7\x6f\x5e\x2b\x55\x54\xf3\xe7\x17\x5d\xa5\xa8\x48\xc4\x0d\x8b\x12\x63\xa5\x5c\x3f\xc9\xa4\xa0\xad\xf5\x47\x64\x60\xe4\x51\x49\x40\xec\x01\x91\x84\xee\x81\x09\xac\xfe\x68\xda\xe4\xd5\x64\xc9\xac\x3b\xf4\xeb\x83\xae\xde\xef\x8f\x22\xbe\x16\x6a\xbe\x01\xbc\x68\x77\x89\x4a\xad\x8a\x2d\xfb\xb9\x4d\xe6\xf7\xf4\x9a\xf7\xa4\xb5\x07\xa1\x92\x74\x31\xe8\xd5\xdc\xae\xf6\x8a\xe8\xaf\x9d\x0e\xee\xc7\xd5\x0a\x38\x2d\x79\x0f\xec\xf5\x29\xed\x10\xa7\x5a\x39\x4b\x48\x9a\x89\x86\x02\xa0\xe1\xfc\x66\x08\x8b\x20\xac\xdd\x5e\x1b\x75\x95\x89\xf9\x25\x53\x37\xf7\xeb\xab\x3f\x50\x52\xff\xc1\x92\x8d\x61\x10\x92\xa0\x75\xa0\xcd\x48\x57\x4e\xf1\xa6\xad\xf5\x43\x04\x1c\x96\x29\x21\xfd\xf8\xd2\x01\x92\xdd\x09\x57\x2b\x21\xbd\x14\xaa\xed\xf4\xc1\x7b\x7d\x08\x31\x64\xf7\xd3\xe6\x2f\x7f\xdf\xfd\xfa\xcb\x4f\x37\xd8\x72\xbf\x06\x86\x84\xb4\x68\x21\x29\x53\x34\x09\x14\x73\x1c\xd4\x56\x63\x27\x06\x17\x7d\x6a\x88\x9c\xb4\x39\x7e\x02\xc2\x00\x78\x15\xb6\x8a\xc9\x25\xa5\x7c\x77\x7b\xe5\x90\x96\xab\xbd\x79\xe3\x5e\x06\xc5\x17\x5f\x89\xe3\xa4\x1d\x42\xa5\xbc\x31\x9b\xab\x4d\x7e\xf4\x8a\xe8\x9e\x6c\xf1\xed\x51\x9e\x38\x12\xbb\x15\xc2\x23\x00\xc5\x32\xc9\x56\xa8\x00\x7b\x21\x03\x09\x98\x51\x34\x6d\x46\x2a\x28\x72\xb4\x3d\x75\x90\x5c\xfb\x11\x97\x14\x7f\x86\x43\xbd\x68\x8a\xe3\xb2\xad\x37\x93\xf3\xdc\xce\xcb\xa7\xe3\x0a\xbf\x2c\x8d\xaa\x44\xf6\x44\x6d\x5b\x21\x60\xcd\x04\x45\x8a\x1a\x42\x3e\x00\x26\x2e\x4f\x8d\x4a\x92\xc9\x8f\x23\x73\x02\x99\xcd\x0d\x3d\x7c\xa4\x79\x7c\x20\xb9\x9a\x6f\x1a\x1f\xea\x00\x3a\x75\x54\x50\x3e\x98\x32\x7e\x9b\x45\x98\x6f\xd6\x6c\xdf\x25\xd3\x8f\x22\x2d\x81\xc1\xc2\x41\xc2\x1d\x40\xdf\x5a\x96\x08\xe5\x27\xda\x9e\x00\xee\x92\xe7\x7d\x64\x41\x46\x44\xcd\x6f\x0d\xae\xdb\xa2\x8a\xbf\x8c\x32\x88\xcb\xfa\x7e\xaf\x7f\x82\xb1\xb4\xac\xfc\x9f\xb9\x54\x3d\xe3\xa5\x81\xc6\x29\x11\x08\xf2\xcd\x30\x51\xaa\x4d\x9f\x2a\x71\xb2\x3b\xdb\xd1\x7e\xd5\x26\xde\x32\x35\xad\x48\x15\x28\xa2\x54\xa3\x4e\x4a\x1d\xb8\x20\xbd\x94\xa7\x42\xd8\xd0\x1b\xfb\x79\xec\xcd\x3e\x5c\xdc\x5d\xae\x37\xec\xc8\xf2\xba\x02\x57\x80\x77\xde\x07\x07\x14\x20\x9e\x77\x53\x60\xb2\x3e\xac\x51\x9e\x32\x30\x80\xfd\x18\x81\x60\x25\x0e\xa1\x84\xaa\x9c\xa5\xff\xfb\xb5\x84\xda\xab\x86\x8f\x49\x28\xa3\x7a\xfa\xc2\x72\xbd\x95\x04\xbc\x6e\xbb\xbe\xdd\x02\x40\xbc\x2d\x8d\xbf\x3d\x8c\xd7\xad\xc0\xdd\x48\xa4\xb9\x6e\x0a\x89\x9a\x47\x21\x03\x21\x46\xa9\x74\xe7\xe4\xe3\x63\xe2\x82\xbb\x91\xdd\xf9\x19\x80\x24\x12\x65\x3e\xfa\x77\xc9\xb1\xea\x81\x84\xd5\x13\x8f\xa3\xaf\x95\x4a\x45\x80\x7b\x2e\x32\x8e\xf3\x66\xe3\xfc\xa3\x7d\x68\x54\xc0\xa9\xd2\x2e\xc8\x87\xb4\x4f\xd1\xbf\x0f\xf8\xfe\x29\x53\xaf\xe6\x5b\xf7\x19\x6d\x65\xea\x14\x13\x24\xba\xc4\x4c\x25\x9b\xa3\x0e\x26\x83\x16\x0b\x74\x9b\x3d\x23\xf0\xb0\x64\x6c\xbe\x29\x25\x94\xce\x96\xad\x99\x8d\xce\x30\xc1\xcd\x04\x07\x38\xf0\x10\xec\x5a\xf6\x4e\xc1\x13\xd5\x5e\x83\xbd\xd9\xac\x76\x4a\x40\xa7\x98\x9c\x95\x11\x91\x2f\x1b\x94\xc8\x7b\xa1\xfc\x2c\xa5\x39\xb6\x40\xbd\x99\xa5\x57\x75\x3e\xe2\xbb\x44\x19\x25\xbb\xab\x3f\xaa\xf6\x9b\x3d\x7a\x62\x5a\xa4\x7a\x9d\x76\x10\xd3\x31\x15\x4c\xc1\x0c\xae\x47\x7e\x70\x60\x58\x3b\x36\x8b\xef\x9c\x7a\xe2\xb2\x9a\xc2\xc7\x77\xc8\xe8\x95\x27\x25\xad\x3a\xf9\x71\x56\x40\x1d\x3b\xf2\xe0\x15\xee\xc5\xba\x1f\xec\x06\x70\x9a\x40\xb3\xc7\xbd\xbd\xda\x32\x17\x49\xf6\x8d\x58\x73\xa8\xd4\xab\x6c\x49\x91\x2c\xc6\x54\x2b\x87\x41\x37\x16\x23\xd0\xaf\xea\x46\x49\xd1\xd1\x3a\xf2\x3f\xad\x85\x0a\x0c\xef\x0c\x50\xfe\x2c\x3a\x3f\xff\xfc\x9b\xc7\xa7\xc8\x63\xba\xba\x53\x69\xe8\x17\x4d\x36\x96\x50\x78\x65\xec\xf1\x2a\xf5\x0a\x02\x08\x18\xc2\xe3\xe8\xa2\x5e\x48\xf7\xa1\xc0\x00\x00\xce\xff\xc5\xe6\x90\x4e\xf1\xd5\xae\x3a\x35\xaa\x92\x9e\x14\xb9\x72\xb3\x51\x99\x29\x8b\xdd\xee\xf3\x33\x3b\xd5\x86\x28\xb2\x9d\xda\x90\x1e\xe7\x09\x79\x36\x87\x4b\x81\x6a\x16\x60\xe8\x08\xf6\x48\xb5\x82\xc2\x4b\xc0\xb8\x22\xf2\x0a\x15\x28\x75\x8f\xdd\x35\x93\x7f\xbb\x7c\x9d\x74\x26\x19\x77\x86\xdc\x5e\xfb\xc7\x7b\x1a\x8c\x69\x11\x40\xf4\x1c\x75\xf2\x63\x74\x18\x3e\x64\x59\xba\xaf\x42\x55\xea\xda\x93\xed\xc7\x3e\x6a\x45\x9e\x7b\x44\xfe\x60\x9c\xf3\x07\x65\x6c\x59\xf6\x6d\xa0\x06\x3e\x16\xa6\xdc\x1b\x25\x10\x8f\x54\x73\xbf\xfa\x0c\x23\x8c\x9c\x31\xeb\x0d\x39\x22\x1b\x83\xaf\x56\x88\x93\xbe\xb6\x89\x4d\xf0\xca\x3e\xdb\x84\x0f\x99\xb2\x6e\x49\x9a\x06\x92\xc6\x94\x19\x4c\x87\x54\x4a\xb2\xe9\xb6\x11\xea\x40\x8e\xef\x6d\xde\x8d\xb5\x6f\x12\x49\x6b\x8f\x0b\x15\xc4\xe6\xb6\xf2\x85\xa2\x2d\xd4\xb2\x4e\xc9\x1e\xd9\x26\x23\x54\x14\x18\xf7\x81\xdd\x5f\x86\x02\x3e\xd3\x29\x76\xd2\x51\xd3\xda\xdc\xca\x24\xee\x8b\x7c\x2a\xa1\x33\x6d\xe6\x83\x03\x75\x36\xad\x7e\x05\x65\xb6\x54\x9b\x91\x4f\xe6\xf6\xd0\x9b\xd3\xa7\xde\x9c\x4c\x6f\xee\x57\xb5\x72\x34\x55\xd3\xa6\xb8\xff\xd4\xc9\x9b\x85\x72\x47\x50\xb8\x84\xcf\x05\xc1\x0f\x3e\xd7\x3f\x97\x83\x93\x25\x24\x86\xd3\x9f\xac\x77\x89\xeb\xd9\xa7\xc5\x82\x15\xe7\x4e\xfe\xb8\x7f\xe4\x6e\xeb\x84\x01\xb6\xa3\xd6\x73\xcb\xc9\x0f\x65\x7a\x31\xbb\xc2\x71\x7a\x2d\xa7\x69\x1c\xd3\x74\x5a\x7e\x0e\x25\x80\xcc\xb2\xe9\x64\xc2\xc7\x38\xc4\xfe\xf4\x33\x9c\x9a\x48\xf6\xa6\x58\xd2\x85\x62\x89\xf3\xec\x83\xde\x31\x07\xc9\x96\x9f\x8c\xeb\xca\x08\x7d\x77\x81\xd9\x59\x97\x2a\x0b\x29\xba\xe6\xe5\xf7\xa4\x4f\xcb\x47\x45\x1f\xa4\x89\xef\xeb\xd8\x5f\xff\xfa\xd7\xc7\x77\x70\xcd\x5d\x05\x2f\xdb\x65\x72\x10\xa8\x07\x6d\xba\x82\xa1\x45\xb6\x81\xb8\x64\xe4\xdc\x25\x51\xf2\xda\x94\x4c\x2a\x57\x04\xfc\x3b\xe4\x5b\xb1\x9e\x29\xc5\x5c\x26\xe4\xed\xd8\xe1\x34\xd1\x1a\x89\x74\xce\x8d\x78\x7c\x80\x8f\x77\x04\xf4\x9a\x17\x4b\xf4\x57\xa5\x94\xcd\x1c\x52\x46\xd3\xab\x3a\x03\x55\x52\x12\x04\xee\x6c\x55\x15\xfe\xee\xb5\x37\x51\x89\x0d\xf9\x4f\xd7\x23\x33\x9f\xc2\x7d\xaf\xfd\x97\xc6\xf1\x8f\xb7\xff\x8e\xe6\xcd\xc5\xc2\xa2\x1d\x54\xb7\xb2\x3f\x5a\x38\xf5\x87\x5b\x17\xeb\x96\xd7\x9f\x66\xae\x15\x50\x3a\x15\x3d\xb6\x4b\xb2\x2d\x95\xb3\x27\xe2\xfb\x53\xe5\xff\xcf\xde\xdb\x6c\xb9\x8e\xeb\x6a\x82\xaf\xa2\x17\x20\x9a\x20\xf8\x3b\x8c\xb5\x27\x31\x70\x8c\x6a\xad\x98\xbb\x7c\xf3\x9e\xc8\x2e\x45\xe6\xe9\xcc\x93\xae\xba\x7e\xfa\x5e\xf8\x40\xd9\xd6\x8f\x1d\xde\xde\xfb\xdc\xaa\xdb\x7d\x06\x21\x3b\x2c\x89\xa4\x28\x12\x04\x40\xe0\xfb\xc0\xb4\x28\x29\x1f\x28\xb3\x29\x6d\x5c\x84\xb2\x01\xf5\x21\x64\xe9\xac\xb1\xca\x63\x1a\xeb\x23\x8e\xda\xf3\xdc\x7e\x7a\xe7\x95\xb1\x35\x36\x83\x5e\x27\xe0\xb1\x97\x3a\x52\xaa\x94\x2a\xbf\xfc\x2c\x11\x18\x28\x83\x0c\x2b\xd5\x00\xdd\x03\x87\xe5\x94\xb5\x00\xd8\x5d\x6f\xd7\xe9\xb3\x12\x42\x93\x63\xd8\xa9\x0e\xa5\xd3\x02\x64\x8b\x0d\x14\x96\x7a\x34\x41\x59\x33\xa0\x76\x87\x7b\x1a\x49\x30\x4a\x65\x9f\x6e\x7b\xcd\xbe\x6f\x89\x81\x4a\x05\xe0\xde\xf5\xe3\xea\x63\x94\x51\xcf\x3b\x68\x64\x0b\xa5\x8d\xbb\xce\x36\x2c\x34\x20\xcc\xc8\x00\x3f\xa4\x15\xbd\x00\x91\xf5\xd8\x70\xba\x2e\xfa\x9f\xb2\x9e\x7c\x35\xee\xc6\xbf\x3f\xbf\x9c\xb0\x0a\xca\x36\x14\x4a\xc0\xaa\xcc\x08\xbf\xd3\x79\x15\x09\x93\xb0\x14\x12\xfe\x53\x25\x47\xa6\x82\xc0\x3b\x86\xf3\x48\x66\x83\x05\x2e\x59\x84\x18\x83\x5c\xb5\x21\x70\xb6\x75\x74\xeb\x06\x8a\xd4\x4c\x29\xee\x23\x05\x0e\x83\x1d\xcd\x29\x58\x8c\x32\xfc\x40\x2d\xea\xcc\xd3\x77\x59\x99\xc0\xb7\x1a\x21\xf3\x24\x0a\x20\x24\x0b\xeb\x7a\x85\x30\xef\x10\x11\xc9\x17\x28\xc1\xe7\x45\x19\x84\x7e\xc1\xb6\xc1\x75\xc5\xb0\x9c\x9d\xe0\xf4\x29\x62\x84\xe7\xab\x51\x29\x0e\xee\x23\x1f\xc0\xae\x28\x03\x0e\xe6\x60\xa8\xb0\x5c\xdb\xe8\x88\x63\x24\x5f\xd3\xc1\x51\x68\xd1\xd8\x5a\x53\xc8\x24\xa1\x21\x80\x52\xc5\x96\x83\x01\x6c\x44\x48\x59\x47\x0e\xeb\xc5\x95\x62\xe4\x3d\x65\x84\x86\xf6\x08\x98\x50\x89\x7d\x99\x90\x03\xfd\x52\x60\x23\xe4\x0e\xc9\x15\xdc\xaa\xf1\xc6\x8a\x56\xca\xd8\xf5\xdf\x07\xeb\x86\xee\x2b\x02\xd1\x12\x93\x97\x70\x40\xe8\xb1\x8a\x25\xca\x05\x49\x10\x8d\x7a\x7c\xe7\x68\x2d\x66\x48\xb3\x0c\x50\x42\xf3\xf7\x5a\x1f\x45\x6f\xd1\xa4\x76\xc0\xef\x51\x8d\x81\x24\x72\xd0\x96\x3a\x0a\xc4\x8d\xc1\xc3\x6f\x5f\x1a\x23\xd4\xdc\x83\x61\x23\x15\x84\xe9\xe9\x18\x90\xe0\x08\xe4\xe8\x05\xed\x34\xdc\xe5\xee\x5b\xd6\x9f\x13\xa2\x06\x1e\x59\x60\xc3\xc0\x79\xcf\x03\x77\x54\xf5\xf0\x41\x9e\x2f\xff\xbb\xf0\xca\xe1\x11\x78\x3b\x0e\xdf\x26\xac\xe9\x0b\xe2\xf4\xc0\x7f\xb2\xae\x6f\x67\x4e\x80\x6b\x36\x80\x81\xf9\xbf\x21\xd6\x79\xa2\x04\x38\x7d\x32\xbb\x06\xd7\x35\xb6\xfa\x26\x9c\x77\xa0\xa9\xf4\x1f\x10\x0b\xf2\xfc\x9e\xaf\x4e\xd5\xa7\x57\x87\x0a\x6a\xca\x08\xcb\x97\x55\x7d\x19\xec\x38\xad\xd0\x09\xda\x0f\x38\x3c\x2b\x38\x71\x53\x16\xd2\xd1\x9f\x6b\xa1\x95\xb7\x28\xea\x18\x8a\xed\x40\x41\x1a\x90\x48\x0a\xa6\x7d\x89\x70\x71\x24\xa4\x02\x55\xb5\x4d\x05\xeb\x83\x4c\x13\xd6\x97\xe6\x48\x80\x5f\xe8\x11\xd7\xe9\xcf\xf6\x71\x0d\x16\xf4\x99\x86\x59\x9a\x0f\x53\x51\x6b\x19\x9e\xc3\x0a\x6e\xc8\x40\x0d\x79\x0c\x08\xa6\x0c\x19\xd4\x7f\x01\x44\x9c\x51\x6c\xe2\xe6\xd2\xd4\xf4\xd5\x99\x11\xc1\xcc\x0f\xf2\xb3\x86\x89\xc1\x24\x0d\x64\xcb\x0d\x0a\x3c\xe6\xe4\x60\x47\x9b\x77\x31\xa9\x50\xa3\x1c\x41\x2e\xd8\x7f\x54\xbb\x39\xb4\xb0\xe8\x04\x10\xa5\x0b\x42\xf8\x39\x8b\x01\xd6\xaa\xb2\xec\x41\xcb\x5a\x1a\x62\xb3\x43\x14\x0a\x02\xf6\xf5\xae\x2e\x54\x09\xd6\x6f\x7a\x2a\xe9\xb3\x44\x6e\x54\xf4\x92\x14\xc9\xc7\xa8\x33\xbb\x59\x29\x3e\x65\x24\x15\x92\xaf\x88\xec\x47\xf6\x2f\x62\xd0\xb8\x66\x70\xd5\x53\xa8\x61\x4f\xad\x64\xfd\xb3\x69\x19\xd0\xcb\x41\x0e\xe4\x13\x92\xe4\x91\xb1\xa0\x72\x26\xdb\x97\xd4\x8e\x16\x51\x0f\x61\xc9\x5d\x4a\x78\x87\x34\x5f\xee\x79\x35\x41\x0d\x7d\x1d\x08\x05\xa8\xb3\x4e\x35\x4d\x7d\x8a\x07\x62\xda\xea\xc0\xbc\x98\x96\xbe\xcc\xe6\x65\xfd\x7a\x5a\xfa\x0b\xf4\x32\x73\x1e\xfc\x44\x98\xc0\x7e\xa8\xa7\xcf\xea\x32\xa9\x3d\x0c\xf8\xfd\x69\xb2\x01\xcc\xb9\xff\x80\xc9\xf6\xfc\xc6\xf9\x2f\xff\x6b\xff\xb7\xdf\x7f\x7b\x7e\xef\x3c\x21\xf6\xde\xfb\x65\xcc\x61\xa0\x8a\xec\x27\x6c\x15\x45\x2a\x65\xb9\x0d\x16\x40\x15\xca\x5c\x8f\x85\x4a\x8e\xcb\x90\x45\x46\x42\x36\x92\x71\x47\x77\x2e\x64\x79\xd5\x54\x0b\xae\x70\x1b\xd5\x80\xd4\x29\xe9\x55\xef\xa8\x6c\xbf\x3c\x2d\xc8\x87\xd5\x5a\xce\x45\x9c\x3e\x83\xb1\x4a\x50\x28\x75\x19\xb1\x89\x48\x6e\x7f\xd5\xa4\x79\xe8\x8d\x17\x3c\x54\xb1\x87\x32\xfa\xe6\x44\x21\x20\x24\x94\x52\x33\x55\x28\x5d\xba\x65\x15\xee\x89\xe2\xcf\x6d\x39\x90\x20\x18\xbe\xe8\xbd\x8e\x32\x88\xb3\xa0\x70\xa6\xfe\x40\xcb\x88\xd2\xf3\xf9\xab\x4e\x79\xce\x31\x65\x23\xe3\xe9\xfd\x75\x89\x24\xb2\x42\x7c\x16\x95\x91\x63\xb2\xac\x68\xae\x61\x0b\x69\x3a\xa9\x56\x73\x04\xb7\xf2\x12\x4f\xba\xd3\xb1\x50\x0b\x71\x74\x97\x52\xd6\xb0\xd3\x56\x0f\x2e\x71\x5b\x15\x11\xf8\x14\x52\x8e\xef\xa8\x6d\x51\x00\xaa\x71\xa8\x66\x37\x3d\x0a\x80\x55\xa0\xcb\x86\xba\x08\x52\x2e\xa5\x4e\x95\xa1\x3d\x7c\x6d\x9c\x84\xd9\xf3\x5c\x5b\x2d\x92\x91\xb5\x72\xe9\x8d\x45\xa4\x23\x4a\x3d\x3f\x01\x2f\xef\x75\x7a\x73\x6f\xfe\xac\x39\xd3\xb9\xab\xc7\xbf\xcd\xa2\xf0\xc0\x10\x78\xd4\x3b\x89\xbc\xdd\x2d\x69\xe0\xe7\x13\x75\x43\x1e\xe0\x85\xdc\x14\x07\xfe\x5a\x1a\xdc\x10\x06\xfe\x5a\xe2\xb8\x8d\xf3\x57\x73\x7d\x4b\x16\x78\x77\x2d\x0c\xae\xe7\xce\x77\x74\xd2\xd7\x8e\xc0\x46\x9c\xf3\x6a\x62\xf8\xf9\x88\xdd\x9a\x1a\xfe\xde\xc4\xf0\xd7\xf3\xe2\xd6\xb4\xf0\xd7\xb3\xcf\x6d\x5d\x70\x35\xec\xb7\xa6\x85\x77\xd7\xf3\x62\x7a\x92\x2f\x3b\xe8\xd7\x3f\xff\xf1\xfb\x1f\xff\xf1\x20\xb6\xc4\x39\x4e\x43\x62\xb1\x40\x8d\xc2\xd4\x12\xe2\x34\xd4\xdc\x69\x2f\x95\x12\x48\xa6\xad\x49\x09\xa6\x56\x79\xad\x5b\x38\xcc\xc0\x5f\xbf\x8e\xa1\x15\xdb\x4a\x5e\xc2\xb2\x77\xce\x71\x62\x49\x2f\x0d\x81\xbd\x76\x3c\x07\x5d\x60\x27\x05\xab\x2f\x7c\x6a\x45\xbf\xb0\xff\xd3\x4d\xff\x38\xfc\xff\xdf\x02\x60\xee\x82\x0c\x61\x0e\xb6\x64\x15\x68\xcb\x0d\x28\x5b\xed\x62\x8b\x80\xd8\x60\x1b\xc8\x1b\x7b\xc0\x89\x4a\x2d\x23\x8c\x2e\xec\xa8\xcc\x82\xcf\x54\x11\x84\x0d\x18\x46\x7d\x30\xd7\x81\x2a\x2e\x95\xf3\xc0\xf2\x7e\x03\x6c\xeb\x21\xe3\xb9\xbf\xc1\xc7\xe0\x0a\xc8\x96\xa3\x75\xff\x32\xd5\xc4\x2f\x65\x28\xa6\xea\x0c\x75\x75\xc9\x60\xd2\x7f\xf2\x1c\x94\x90\x5c\x7c\x5d\x86\x04\x9f\xe3\xe8\x6e\x44\xa6\xaf\xba\x15\xe0\x7d\x71\xa3\x57\x85\x4a\x96\x91\xa9\xfa\xb4\xcc\x37\x54\x23\x1f\x70\x30\xa3\x51\x18\x5c\x4b\x74\x70\xf5\x36\x43\x74\xba\xfa\xd5\xaa\x79\xa8\x3f\x7f\xff\x7c\x30\x22\x9a\x2d\x50\x22\x50\xe5\x36\x83\x0b\x16\x9f\xb1\x63\x02\x2e\xcb\xe8\x67\x18\x21\xe4\x5b\x51\x63\xf9\x3d\x2c\x43\x14\x26\x42\xd5\x18\x22\x4c\xd5\xe8\x2c\x8a\x45\x75\x73\xb3\x9c\xa5\x86\x11\xdc\xe0\x4e\x8b\x5d\xa4\x7b\x61\xd3\x2d\x66\xdb\x3f\xef\x35\xd7\x15\xac\x32\x8a\xbf\x5b\xf7\xb2\xb1\x30\xed\xc7\x73\xad\x65\xfe\xfa\x9a\xa9\x70\xdb\x30\xca\xf1\x36\x8c\xf2\xa2\xea\x2d\xbc\x66\xa3\xe8\xe1\x68\x72\x62\x7e\xae\xf6\xe0\xae\x9b\x65\x3d\xfc\xa6\x1f\x44\xd6\xef\xb0\x03\x25\x2e\x5e\xf4\xa4\x04\x80\xb9\x67\xd1\x75\x59\x8d\xd9\x63\x21\xc9\xeb\xae\xce\x54\xdb\xf2\xfd\x11\xf2\x2b\xa5\x94\x9d\x31\x20\x93\xb4\xb8\xf1\x8e\xf3\x79\x21\xd2\x3a\x57\x60\x3a\x5a\xf2\xbd\x4a\x17\x6d\x74\x7d\x73\x55\x67\x33\x5d\x3b\x2a\x4c\x51\x44\x86\x4f\x48\xef\xaa\x8e\x7d\xc8\x71\xc9\xed\xde\x3b\x3c\x7e\xe3\x09\x3f\xd6\x1b\x64\x27\x50\x88\x0c\x61\xf5\x5b\x32\x24\xd7\x0e\xc2\x9a\x7a\x2c\xd3\x9a\x2d\xfa\xb1\x77\xf6\xd7\x1f\x7f\x1b\xf7\x7f\xde\x09\x35\xfc\xdb\xdc\x06\x6c\x37\x92\x16\xf2\x66\xcc\x79\xbe\x11\x74\xde\xc5\x7f\xdd\x4c\x04\xda\x4a\xcc\x79\x24\x4c\x3d\x37\x6c\x51\x78\xf9\x26\x94\xb1\x7f\x0e\x2c\xa4\x1c\x00\x68\x9c\xf4\xf3\x83\x3d\x55\x84\xae\xd8\xb6\x7f\x05\xbe\x06\xb8\x2b\x91\x22\xac\xb6\xbb\x58\x12\x68\x1d\x0a\xf9\x45\x03\xa9\x4a\x1a\xcf\x27\x4b\xfb\x16\x40\x7b\x17\x3c\xb5\x86\x10\x42\xa9\x83\x01\x1c\x45\x7c\x7b\x45\xb5\xc8\x5c\xee\x41\x6b\xaa\xae\x7b\x6f\xa9\xcb\xd8\x73\xf2\x62\x05\xba\x55\x6d\x4e\x6b\xdb\x5d\x3d\xd6\xe9\xcd\x9e\x62\x85\x63\x93\x83\x6d\x61\xd4\xeb\xb6\x2d\xb4\x7c\x20\xd6\xf8\x7c\xeb\xd9\xce\x65\x94\xa9\x8b\x08\x84\x24\x2d\x15\x9d\x48\x7a\xda\x59\x15\xee\xdc\xdc\x75\x1d\xce\xea\xd8\x7e\x20\x77\x2e\xa4\x58\xbf\x3c\x6d\xc7\x9f\x07\xed\x43\xd2\x06\x0d\x80\x63\x79\x8e\xad\xaa\x3f\x7e\xc8\xd6\x6a\xbb\x3d\x64\xbb\x2e\xbe\x9d\xbc\xf6\xdc\x98\x0d\x94\xb1\x0f\x52\x58\x4d\xeb\x0b\x25\x73\x04\x5c\x46\xfa\x28\xd4\x4a\xde\x5f\x9f\x51\x9b\x19\x80\x6d\x5c\x76\x00\xd7\x88\x43\xa1\x5a\xaf\x53\xd4\xfd\x40\x21\x8e\xba\x8c\x32\x12\x66\x64\x56\x80\xbb\x2a\xe1\x15\xf5\x6c\x9c\x06\xd8\x44\x41\x19\xce\x8a\xb8\x2e\xdf\x69\xf9\xee\x72\x12\xb3\xb9\xd5\x3a\x04\x2b\x70\x51\xf7\x75\x82\x34\x36\x94\x4b\xdc\xe9\x75\xa2\x8b\x91\x3e\x61\x52\xf5\xba\x94\xa1\x52\x95\xb2\xbc\xc1\xd9\x0d\xa8\xa1\x0c\x4f\x8f\x99\x5f\xff\xed\x97\xdf\xfe\xf1\xeb\x3f\xfe\xc3\xfd\xf5\xe7\x3d\x6c\x9e\xc5\x2a\x95\x40\x5e\x59\xda\x4b\xa0\x16\x01\xfb\x60\xfb\x8c\xdc\x90\x88\x89\x78\xfe\x90\x0e\x98\x51\x67\x8c\xa7\xaa\x12\x85\x0b\x95\xd6\xdd\x83\x6c\x05\x51\x40\xb4\x05\x80\x27\xf3\x4d\xbe\x3e\x64\xbb\xb0\xae\x23\x22\x8e\x32\x10\x5c\xb2\x53\x69\xb1\x67\x8a\x51\xbb\x46\x8f\x7d\xbf\xa8\xc2\xf5\x1a\x74\x4d\x07\x21\xb6\x94\x36\x78\xd0\x18\x12\xc7\x80\x0b\xf4\xfc\x9e\x89\xb1\x01\xcd\xed\xec\x15\xac\x59\x0b\xbd\xdb\x8e\x12\x23\x09\xab\xd2\x14\x63\xd3\xa6\xab\x35\x94\x1f\x70\xbe\x87\xa1\x50\xea\xe1\x47\xec\xfd\x90\xcf\x1b\x7f\xde\xe5\x8e\x0e\x28\x0f\x90\x92\xdf\xf3\x49\xde\x76\x8a\x83\x64\x7c\xbe\x8e\x17\x98\xbe\xef\xf2\x2a\xab\xc8\x76\xdf\x61\xee\x39\xac\xf2\xd8\x1e\x48\x71\x7b\x4f\xeb\x02\x8d\x18\x44\x5e\xb9\x20\xe6\x76\xa9\x52\x60\x22\x31\xd6\x46\x40\xa3\xc7\x35\x57\xf4\x3c\x60\x7b\x82\x6e\xdb\x8c\xd8\xc6\x13\xdd\x89\xd8\x4e\x67\xae\xff\x0d\x32\xf4\x72\xec\xb9\x4b\x37\x50\x02\xf3\x5a\x8b\x2c\xc0\xa7\x7b\xb7\x60\xf3\x4a\x53\xb6\xdc\x0a\x56\x2e\xdf\xa0\x2f\x09\xdb\xe4\x25\x79\xcd\x6a\x82\x08\xed\x9f\x33\xdf\x1f\x5c\x27\x90\x64\xe0\x29\xc2\x1d\x21\xc1\x62\x8c\x62\x5f\x2e\xb2\xf6\xdc\x14\x5a\x9f\x18\xc3\x96\xbc\x4e\xb4\x0c\xe4\xda\x8a\x3d\xb2\xc8\xc0\xcd\xc3\x06\x8b\x2f\xfa\x89\x90\x93\x76\xa4\x38\x4f\xb9\x3a\xcf\xb4\xc8\x06\x17\x94\x3b\xd4\x09\x90\x59\x98\x9b\x23\xae\xb2\xa7\x1a\xaa\xfe\x4d\x0e\x4f\x40\x37\xa5\x62\x59\x04\x1b\x67\xf5\xe4\xc1\x11\x7b\x5d\x7d\x53\x07\xd3\xd5\x35\x1c\x5f\x6a\xfc\xaa\x1d\x29\xf5\xd4\x7b\x2f\xa2\xad\x47\xd8\xc4\x03\x8e\xfd\x3a\x18\x21\x1e\x10\x91\xfb\xac\xb7\xef\xe1\xec\xb9\xd7\x35\x74\x38\x6f\x19\x60\xc3\xd7\xbe\x7b\x76\xe1\xd9\xe9\x6e\x43\xe6\x5b\x34\x38\xbe\x08\x3e\xf5\x68\xdc\xf9\xe1\x35\xac\x62\xff\x3d\x36\xf0\x01\xd9\xf7\xfd\xf9\x88\x40\x74\x5d\x9e\x33\x21\xf1\xca\xe1\xa8\x6a\xc2\x37\x0e\x46\xe9\xce\x9d\xd2\xdd\xa3\xa3\x3b\x4b\x4e\x36\x86\xaf\x83\xc1\xb9\x8a\x8f\x8e\x52\x63\x4a\x8e\x07\x32\xe6\x9b\x83\xed\xc9\xc2\xcf\x1a\x9c\xa1\x8a\x81\x42\x7d\x13\xcf\xba\xde\x08\xbf\xbf\x91\x79\x88\xf6\x2f\xcb\xe9\x10\x88\x9d\x9a\xd4\xf1\x87\x03\xa2\x75\x3a\xde\x71\xa3\x3e\x38\xf7\xfe\xfc\xe5\x8f\xe3\xaf\x87\x7b\xe6\xff\x33\xb4\x27\xc6\x84\xb7\xc7\x43\x9c\x43\x2f\x10\xe6\x93\x16\xc4\x7a\x60\xd6\x4b\xa7\xb7\x06\x70\x4b\x0e\x96\x9b\xb6\x8f\x84\x9c\xe3\x90\xbb\x9b\x3e\x06\x55\x66\x5a\x78\xa9\x14\x3d\x0f\x76\xf4\x80\x75\x17\xc1\x36\xb0\xeb\x81\x1d\xe9\xb5\x50\xa9\x5a\x40\x8a\x83\x1d\x7b\xc0\x19\x0f\x42\x62\x45\x68\x01\x5d\x49\xc0\x7e\x26\x92\x7f\x22\x82\x17\x70\xcd\xe6\xed\x0e\xa7\xd0\xc0\x16\xf7\xd7\xa5\x20\xd2\xa9\xdf\xaa\x2d\x89\xcd\xae\x7d\xc9\xd4\x06\xfd\xeb\x8e\x3b\x55\x2e\xb0\xcb\x7f\xf9\x15\xe0\x74\x7a\xb5\x8f\x1f\x81\x62\xc4\x83\x00\xbc\x04\x09\x78\xe2\xeb\xb2\x90\x06\xb2\xf9\xd9\x8f\x82\xf0\x27\x6c\x86\x53\x42\x76\xd1\xba\x13\x2d\x24\xde\x7a\xf1\x40\xb1\xe9\x97\x44\x15\xac\x92\xb5\x24\x6a\x60\x74\x6d\x0b\x73\xd8\x16\x65\x50\x21\xe9\xda\x53\x6c\x05\x1a\x6c\x01\xff\xc8\xf7\xe8\xb8\xde\x05\x4b\xe6\x72\x9f\x4d\x6e\x2d\xe5\x13\x59\x17\x6f\x28\x00\xcc\x37\x97\x72\x9b\xdc\xf2\x6a\x0b\xf9\xe9\xcd\x4a\x01\x9e\x02\x96\xce\x25\xfc\xcf\x65\xe5\x74\xab\xa5\xf3\x6a\xe5\x5c\xad\xd9\xf3\x14\xb0\xcb\x7a\xff\xdd\x19\xe8\x97\xd5\x7e\x83\x61\xe3\xf4\x36\xc1\xcb\xce\x97\xe1\xb3\x83\x29\x6f\x3a\x98\xc2\x26\x26\x6f\xde\x66\xe9\x7a\xc4\xe9\xb0\x92\x0f\x3f\x95\xb5\xa3\x0e\x69\x1f\x87\xd8\xa5\x42\x1d\xec\xbb\x0a\x03\xa4\x81\x37\x1f\x01\xa9\x53\x7c\x45\xa0\x40\x1c\xc2\x15\xb5\x6f\x8d\xc0\xe4\x42\xc4\x37\xe2\x61\xed\xde\x82\x3d\xd2\x6a\xf3\x07\xb4\xa8\xaf\x89\x52\x3a\x50\xf0\x42\xad\x55\x70\x82\x15\x28\xfe\x40\x78\x6d\x79\x0f\x1f\x3e\x0e\xd6\x3d\x29\x14\xd3\x9e\x3f\x03\xb1\x17\x50\xcf\xee\x23\x49\xd1\x59\x24\xb6\xcb\xaf\x97\x35\x44\xa3\xcb\x07\x53\x03\x6e\xcd\xbc\x85\x30\xcf\x90\x61\x23\xfa\x36\x73\xa8\x43\xed\x81\x3a\x31\x26\x43\xcb\xaf\x19\xc4\xc4\xc8\x56\x79\x81\x68\xc2\xc1\x72\xc5\x28\xb4\x30\xd4\x57\xdc\x3a\x9f\x8d\xb6\x68\x7e\xeb\x2b\xa8\x2d\xa7\xf6\x7a\x3f\x12\xa5\x6f\xe7\x05\xad\xaf\x6f\xa1\xaf\xb1\xe0\xc1\x5c\x6e\x6c\xe6\x1b\x8b\x2c\x4f\x09\x76\x1b\x2b\xf3\x25\x8f\x6d\x7d\x9b\xfd\xf7\x1a\x8f\xdd\x79\x84\x45\x35\x1e\x6c\xa9\x1c\xce\x4b\xe5\x80\xa5\x32\x6c\x78\xbf\xeb\x36\x7d\xc8\x92\xd0\xd2\xdd\x58\x28\x2f\xd4\x15\x87\x69\xe5\xb6\x85\x7b\xc0\xc2\x0d\xe6\xbd\x64\xba\xce\x07\x56\x4f\x87\xe5\xf3\x81\xa9\xf0\xb9\xff\xdb\x4f\x5e\x1f\xf3\x50\xe7\x9a\x18\x54\xd5\x2b\x4d\x8c\x5d\x1a\xbc\x0e\xc3\xe4\x66\x01\x1d\x93\x32\xa6\xd2\x7c\x3e\x34\x02\x84\xc6\x42\x34\x1a\x8e\xfd\x07\xc7\xb5\xac\x0d\x1d\x82\x7c\x7d\x6a\xca\xc2\x7d\xdd\x28\xb0\x27\x0b\x63\xaf\xe1\xf4\xc9\x7d\x03\x09\xaf\xe2\xa6\x48\x43\x39\x77\x24\x69\x67\x54\xb7\x58\x6b\x80\xc6\x02\x05\xa8\x8c\xec\x29\xa7\xe8\x80\x5a\xb7\x5f\xca\xfc\x1c\x23\xb1\x84\x31\x10\xc2\x88\x0a\x9f\xde\x22\x12\x4f\x83\xd7\x0f\xdc\x1c\x59\x6f\xce\x0b\x94\x2b\x66\xca\xa9\x90\xcf\x23\x70\xf2\x54\xd9\x4b\xf9\x28\xd4\x42\xbb\x6d\xc1\xf5\x67\xf0\xad\x0c\x88\xfc\x03\xbe\x25\x23\x08\x08\xa0\x59\x8f\x0f\xa4\x9f\x2a\x48\x13\x8c\xf4\xaf\x54\xfa\x0e\x6f\x74\x47\xab\xff\xbf\x66\x94\x4a\x1b\x13\xdf\xbe\x6c\x28\xde\x8c\x9c\x2a\x7d\x8f\x1b\xa7\x4c\x92\xe4\x1b\x92\x44\xcf\xbe\x07\xa0\x45\x83\x01\xde\x1f\x13\xb0\x9a\x98\x2a\x42\xd9\x40\x3e\xbf\xdc\x0b\x10\x51\x8b\x29\xa4\x1d\x66\xb6\xa8\x4e\xfd\xbe\x14\x11\x67\x82\xe4\x4d\x6e\x6c\x5d\x21\x26\x12\xf5\x57\x55\xb9\xf2\xa8\x06\x5a\x72\x45\x85\xfe\x7c\xb3\x43\x80\xaf\x39\x06\x20\x84\xe3\x78\x14\x8a\xd2\x36\x04\xd5\x43\x23\xe0\xb7\xff\xfe\xfb\xff\x7a\x32\xb6\xe9\x5f\x20\x41\x9b\x20\x41\x9c\x97\xfe\x6b\xb5\xb3\xe2\x4e\x55\xfa\x06\x9a\xca\xf4\xca\x9e\x30\xac\x4a\x29\x2e\x50\xce\xf9\x3a\x1c\xa6\xc2\x2a\xf9\xe7\x81\x0d\x25\x80\x0a\x5b\xed\xc3\xb2\x76\xe6\x68\x4c\xf5\x8b\xbd\xde\x00\xf8\xd5\xb8\x2b\xf6\x10\xf2\x1a\x9e\xcb\xa2\xb6\x01\xf7\x5c\xc8\xd4\xbf\x30\x85\x80\x29\xe4\x57\xb0\x9b\x42\x21\xec\xf4\xc2\xa1\xc1\xda\x14\xde\x65\x42\xa0\x5d\x98\x65\x81\xa8\x70\xfe\xf9\xa0\x44\xd2\x69\x16\x2c\x1f\x6b\x86\xc8\xd6\x06\xe6\xd7\xb2\x05\x22\xb7\x4b\x64\x11\xd1\xaf\xfc\xec\x40\xfa\xf7\xdf\x1f\x8e\x98\x59\xf4\xd9\x25\x68\x64\xd3\x8f\x9d\x36\xd5\x38\x10\xb2\x95\xff\xbf\xc4\x98\xa3\x7b\x1f\xf2\x80\xd6\xa1\x6c\x46\x8e\x6c\x76\xad\xcc\xa3\x8d\xea\x50\x4e\x6f\x75\x88\xfb\xb3\x16\x39\x0f\x11\xf6\xff\x25\x42\x84\xd1\x57\x0f\x84\x00\xde\xd9\xf9\xe0\x6f\xe7\xa1\x70\x35\x28\xfe\xbc\x1a\x0f\xeb\x51\xf1\xdf\xae\x06\xc4\xc0\xd0\xa9\xce\xfd\xa6\x17\x5c\x0f\x4f\xf6\xf0\x36\x9e\x4f\x3b\x76\x6c\xb4\x99\x4b\x34\x23\xee\x7a\xcf\xad\x99\xf1\xf4\x5c\x7d\x20\xfc\xef\xb6\x9f\x98\x73\x7f\xa3\xec\xeb\xe0\xfb\xab\xc6\x4e\x6a\x3e\x7d\x7a\xd7\x7e\x68\x04\x7e\x7a\x27\x5f\x8e\xc0\xef\x7f\xea\xff\xfb\xaf\xcf\xbf\x7f\x07\x69\x14\xb4\x9e\xb8\xde\x27\x0e\x9b\x1b\xc5\x01\xbc\xed\x08\xf1\x98\x85\xef\x11\x42\x3e\x6e\xc6\x55\xcc\x43\xfd\x1a\xc4\x9a\xe9\xc4\x1b\x35\xe7\xcd\x9a\xf3\x85\x31\xbe\xad\xee\x79\x0d\x7e\x75\x0b\x1c\x57\xa0\x58\x6c\xba\x10\x06\xb0\x1d\xcd\x46\x1c\x48\x34\x24\x8f\x81\x62\xad\x96\xa3\xfd\x5e\xa9\xa4\xbd\x4c\x23\x74\x98\xd2\xf4\x12\x0e\x73\xcf\xf6\x84\xc0\xf5\x12\x6d\xb3\x7d\x2a\xb7\xc2\x2b\x78\x4c\x54\x4a\xb4\xb2\xc1\x85\xb4\x84\xcd\x0f\x48\xec\x6b\x79\x74\xe6\xb8\x5b\x8d\x1b\x18\x82\x76\x76\x1d\x54\xe7\xc5\xd2\x1b\x1f\xd1\xb6\x2f\x23\xe2\xc1\x40\xc1\x5b\x2c\x62\x5b\xef\x05\x4e\x6b\x1e\xf2\x0d\xd3\x43\x36\x87\xc4\x62\x36\xd8\xed\x27\xab\x79\xfd\x76\x17\x85\x4c\x35\x0b\x4d\xb7\xf0\x72\xb0\x5a\x7b\xb7\x86\x30\xe0\xc1\x4f\x6f\x85\x62\xd3\x4a\x97\x03\x82\x7c\x1c\x55\x4b\x1a\x02\xf1\x7b\x9a\x08\xe1\x54\xd7\x0f\x6c\xe1\xfb\xc5\x75\xee\x90\x98\xf8\x25\xe0\x25\x85\x33\xb8\x41\x45\xae\xa4\x40\x1b\xda\x06\x74\x0b\x5c\x0e\x40\x54\xd2\x36\x56\xa9\x24\x46\xcc\x09\xce\x05\x7e\x11\xd5\x9b\xc5\x1c\x5a\x70\x72\x6b\x1b\x8e\xc1\xf0\x9f\x5b\x72\x81\x78\x8e\x74\x87\xb0\xee\x30\xba\x3e\x64\x97\x63\x88\x6d\x04\x85\xd5\x08\xea\x69\xc9\x0f\x8d\x9f\xff\xf1\xcb\xbd\x20\xe1\x67\xb6\x45\x84\xaa\xda\x3e\x15\xd1\xe6\x0d\xce\xc8\x56\x6a\x37\xa3\x09\xdb\xdc\x8b\xc4\x5c\xe6\xce\x37\x08\xc6\x9b\x9e\x3d\xa4\x27\xc3\x60\x47\x53\x67\xb1\x39\x11\xca\xe9\xf3\x0c\x29\xb0\x67\x8a\x05\x44\x17\xa5\x9d\x5f\x73\x70\x14\x05\x24\x9e\xad\xf5\x63\xcf\x03\x95\xaa\xc6\x89\x47\xde\x72\x6c\xd3\xd1\x8c\x60\x70\xe7\x64\x91\xb1\x43\xf0\x7b\x3e\x2d\xd3\xed\x05\x36\x81\xcf\xf5\x00\x88\x7f\x1f\x0b\xe5\x1a\x27\x4f\xac\x0f\x6c\x5f\x83\xa5\x87\x0f\x42\xad\x52\x69\x6d\x48\x14\x03\xa8\xd7\x63\xd9\x17\x2a\x61\xc0\xc1\x1c\x0e\x5c\x8c\x9f\x3b\x1e\xb5\x4a\x9c\x06\xf2\xd6\xe4\xcd\x16\xd2\xbe\xcc\x51\x6f\xca\xad\xf4\xe3\x74\x8a\x31\x42\xb0\x11\x95\x93\xf4\xa3\x39\x3c\x8c\x90\x2a\xca\x55\x5a\x7e\xc4\x76\x5f\xa2\x20\x59\xc7\x3d\x92\x5c\x6a\x16\x92\xf2\xda\x28\x1f\x99\x7c\x35\xd2\x82\x0a\x42\x1a\x8e\xd9\xb2\x38\xa5\x0a\x35\xa3\x01\xf2\xc5\xd6\x31\x12\x98\x80\x92\x26\x77\x71\x2b\x14\x7d\x7d\x2d\xc4\x29\x1d\x99\x42\x38\x80\x16\x04\x74\x73\xcc\x16\x3e\x22\x4c\x15\x19\xcb\x78\x4f\xd8\x62\x46\x79\xd9\x72\x78\xdb\x0a\xe3\x5c\x6d\x90\x25\xe4\xff\x2c\xe6\x38\xcf\x71\xd9\x29\x04\xbd\x6b\xcc\x54\x73\x73\x08\x2b\xd1\x1e\xe5\x36\xd8\x11\xd7\xa4\x12\xd4\xf6\xcd\x6d\x98\xbf\x0b\xed\x65\x60\x90\xb5\xa6\x5a\x0c\x3c\xe3\xb1\xe6\x03\x05\x15\x0b\x5e\x0a\x25\xf0\x4f\xa4\x48\x15\x14\x25\x48\xde\xce\x70\x68\x0b\x05\xca\x11\xb0\x53\xd9\xa8\xcf\x00\xc9\x10\x06\x1c\xfc\x04\x93\x9e\x88\x2b\x80\x5d\xc2\x74\xec\x2f\xd2\x1b\x9a\x0f\x52\xfc\x8b\xf4\xa3\x79\x48\x29\x66\x35\x9c\xa8\xda\x5f\x37\xcf\x9a\x8f\xc4\x25\x99\x89\x04\x0f\x78\xe5\xd7\x46\x2c\xe9\xe0\x28\x75\xc2\x34\x2f\x91\xa2\x6d\xa1\x47\x0b\x11\x38\x32\x49\x2b\xaf\x99\x72\x9b\x5d\x97\xa6\xeb\xd2\xf9\x3a\x7d\xdd\x99\x33\x65\x2e\xaf\x00\xef\xd6\x11\x95\xc6\x4c\x2d\x25\xa7\xc7\xb8\xa7\xaa\x6f\xb4\x03\x34\xc0\x6c\x6d\x8c\x07\xe3\xd2\x8f\x7d\x6a\x55\x7b\x8c\x61\xde\x25\xfa\xc0\xd1\x1e\x5e\xb5\xa3\x87\xf8\xd5\x55\x5a\xfd\x54\xdf\x62\x23\x6c\x69\xe6\x04\x1b\x5b\xe0\xe6\x93\x3c\xed\x51\x94\x64\xce\xa8\x00\xac\xcf\x60\xc1\x55\x88\x9c\x2c\x75\x10\xe0\xff\x1b\x2d\x96\x09\xac\x10\x65\xb0\x23\x1e\x3c\xd6\xe6\x82\x2e\x25\x57\x12\x4b\x25\xbc\x14\xfd\xb3\x6b\x2a\xeb\x4c\xcb\x6a\xc7\xf7\xe0\x2d\x6c\x61\x61\x8b\x31\xc6\xc5\xcf\x49\x82\xf1\x5a\x8d\xe7\x5a\x17\x42\x0a\xb4\x30\x83\xdf\x27\xca\x90\x1b\x3d\x20\xc3\x18\x1a\x03\xa2\x9d\x17\xa7\x40\xca\x16\xf5\xdd\xee\x40\x21\x14\x88\xf3\x62\x8b\x3f\x04\x4a\x72\xd4\xf7\x5f\x6f\x91\x56\xc7\x39\xc9\x53\x07\x75\xa7\x0c\x40\xda\x94\xf6\xdc\xa5\xee\xc4\x2d\x46\xc2\x3a\x91\x6b\x3c\x3a\xca\xf1\x83\x52\x54\xa1\xca\x48\x99\x07\x53\x42\x10\xaa\xa0\x28\x03\xf3\x92\x07\x01\x5b\x05\x9b\x90\x43\xf8\x9a\xca\x6b\x8a\xad\x82\xbf\xa7\x7a\x3e\x3a\x4a\x29\x7f\x50\x2e\x3a\x63\x6b\x85\xaf\x03\xe9\xbb\x5c\xa8\xe8\x0c\x96\x50\x46\xca\x52\x1d\x65\x29\xda\x41\x39\x0e\x76\xf4\x86\xf0\x03\xe6\x59\xeb\x1a\xe9\x47\x73\xe5\x94\x56\x5d\x24\x4e\xc1\xf2\xcd\x97\x9d\x0b\x38\x28\xa3\x6b\x79\x49\x94\x59\x05\x7e\xe6\x0e\x10\xd4\x5f\xc8\xe9\x13\x1c\x67\x48\x8b\xce\xfb\x48\x80\x1a\xe8\x48\x03\x02\xdc\x05\x26\x2e\x55\x7f\xec\x07\x13\x1a\xba\x3c\xe8\x79\xc1\x8f\xd3\xb1\x4b\x78\x95\x40\x3a\x7d\xc0\xf3\x23\xfd\xd8\x25\x4a\x2e\x2a\x0d\x79\xf6\x1e\x8d\x3f\x27\xca\x08\xb2\x31\x30\xd1\xec\xa9\xfa\x0c\x28\x9d\x1e\x85\x01\x52\xb4\x36\x3a\xaa\x51\x87\x4b\x78\x05\xb4\xc1\x9e\x5a\x52\x15\x65\x02\xdf\x6a\x49\xff\x39\x52\xc9\xf5\x03\x5c\x37\x9b\x17\x04\x5d\x52\xe2\xe8\x48\x74\x45\xf1\x15\x74\x87\x08\x2c\x28\xbb\x0c\xf8\x9b\x4a\x9c\x0e\x90\xda\x21\xd8\x90\x48\xb9\x10\x97\xe8\xa8\xd6\xaa\xfd\x64\x7d\xd2\xd5\x07\x7d\x22\x3c\xdb\xa2\x9f\xb4\x13\xc4\x3a\xe4\x7b\x24\xc9\xe1\x63\xff\xeb\xb3\x49\xb8\xc1\xe3\xad\x04\xc0\x0e\x31\x05\xe4\x98\x86\x96\xa6\x21\x91\x9a\x0a\xfb\x3a\x3a\x4a\x35\x50\xaa\x7c\xa0\x52\x0b\x05\x38\xb4\x12\x47\xd2\xe9\xc8\xc0\x01\xf2\x35\x8f\x96\x0f\x6d\x13\xc5\xd6\xea\x69\xee\xa9\xde\x62\x91\x8a\x1e\x04\xc9\x2d\xc9\x4b\x1a\xce\x7e\x40\x78\x66\x30\x2b\x63\xd5\xf5\x9b\x6a\x4e\x13\xf0\x08\x68\xd8\x2a\x86\x01\xc7\x44\x31\x06\x0a\xa1\x51\xae\x41\xa7\x54\x22\xcf\xf9\x40\xbe\x26\x0a\x51\x47\x5a\x42\x0c\x5d\x35\x72\xa0\xeb\xf5\x96\x2b\x84\xd0\xe8\x12\x15\x1d\xf8\xa5\x82\x45\xf8\x83\xa9\xc5\x11\xfc\x76\x29\xbf\xf3\x8d\x8d\x4a\x73\x11\xe7\x5b\x27\xf3\x85\xfb\xa4\xce\xaf\xd0\xd1\xc0\xad\x1e\x28\xe6\x44\xaa\x39\xb6\x98\x7b\xff\x09\x3c\xf1\x75\x3f\xf5\x43\x72\x69\x58\x65\x35\x5d\x79\x62\xd8\xf5\x7f\x0e\xa0\x3d\x1b\xbc\x0e\x2f\x9d\x00\x15\x2e\xec\x0c\x96\x96\x00\x6f\x28\x62\xe6\xbd\x6c\x28\x22\x86\x3d\x7a\x5c\x66\x59\x9d\x91\x41\xed\xec\xfc\x14\x24\xe7\xe8\x78\xe0\xef\xd3\x6c\x54\xe6\xcc\x15\x1b\x15\x8a\x29\xb4\x31\x01\x47\x24\x11\x37\xd9\x67\xaa\x55\x57\x5a\x3d\x76\x97\xba\x64\x17\xa8\x79\xfe\x86\x5b\x33\xf9\xa2\xf6\x6a\x0e\x83\xc0\x8e\x1a\xe4\x43\xa8\x45\x9e\xc8\x08\x01\x05\x95\x7a\x6c\xdd\x5e\x6b\xc5\xa6\x46\x9b\x0c\xff\x18\x55\x99\xb6\x8d\xff\x7e\x30\x1d\x8a\x81\xa2\xe2\x91\xa8\x55\x02\x72\xa5\xea\x3c\xb5\x13\x0a\x37\x6b\x2d\x4d\x87\x0f\x4d\x3c\x53\xa0\x3c\x94\x91\x29\x02\x75\x2b\xc5\x72\xfa\x44\x0c\x7f\x70\xd4\x24\x1f\x10\xce\x5d\x91\xf1\x98\xc8\xb7\x08\xb4\x95\xfe\x35\x91\x00\x14\x96\x5a\xd1\xa1\xaa\x93\xa7\xd6\x02\x24\xdb\x40\x79\x35\x6c\x03\xb5\x1d\xac\x2f\x1d\xd3\xef\xc1\x77\x46\xa5\xe3\xdc\xd0\x9f\x94\xc6\x04\x65\x17\xc7\x7d\x54\xcb\x4c\x86\xfe\xd1\xa5\xa7\xa3\xd0\x26\xbe\xc0\x50\x54\x51\xae\xce\xc0\x17\x38\x03\x92\xa1\x00\x74\x01\x58\x3b\x46\x30\x97\x02\x70\x11\x80\x7a\xd0\xea\xf4\x55\x95\x0a\xec\x30\x30\x35\x0e\xaa\xc6\x7b\x03\x05\x03\x8b\x5b\xab\xa7\x37\xd5\x07\x54\x38\x22\xae\xe7\xb2\x7b\x04\x07\x31\x5d\x6d\xcc\x4c\xbe\xa4\xe7\x3c\x68\x67\x09\xf8\x24\x43\xbe\xd7\x6e\x00\xad\x9b\xbe\x78\xe0\xf4\x16\x6f\x1a\x52\x24\x16\x23\x95\x1c\x8d\x1b\x4f\x8d\xa2\x56\xf6\xa1\xb3\x6a\xf1\x85\xea\xc4\x1b\x15\x63\x1a\x29\x73\x74\x94\xdb\x5e\xf5\xaa\x30\xd8\xb1\x6b\x2f\xaa\x55\xab\xb4\x9f\xbf\x5f\xa6\xda\xca\x2e\x22\xb0\x2d\xc9\x91\x5a\x2c\x1d\x60\x98\xb7\x84\x0d\xd5\xa6\xf6\x7f\xca\xcd\x69\xcf\x2f\xc4\x0d\x48\xae\xe3\x54\xef\xa5\xf6\x48\xa0\xbb\x6e\xa5\xae\x24\x4c\xa4\x8c\x75\x3c\xf7\x85\x5c\xb5\x5c\x53\xe4\x05\x9a\x79\x04\x3b\x5c\x9d\x0b\x36\x83\x09\x09\x86\x25\x7c\x9c\x65\x38\x6a\xaf\xaf\x90\xe0\xcf\x10\xc3\x1c\x5f\x6f\xcb\x8b\x85\xb0\xd0\xa1\x37\x0a\xf0\x0c\x81\x63\xb7\x5f\x36\x55\x15\xa8\xe2\x12\x35\x1e\x6d\x77\x5f\x12\x62\xfa\x60\xd5\x35\xa3\x03\xd3\x02\x2f\x7d\xad\x1a\x58\x5e\x77\x8f\x8b\x67\x61\xa0\x8a\x97\x0f\x08\xff\xe1\x0c\x43\x42\xe7\x41\x00\x07\x5f\x94\x6a\x7b\xd9\x7c\xfd\xaa\xa2\xf0\x18\xa8\xd5\x02\x46\x53\x6b\x25\xb0\xd8\x3a\x3a\x8b\x50\x8a\x6a\xc7\x49\x3a\x7d\xe2\x32\xa3\x94\xac\xb5\x75\xeb\xab\x30\x41\x65\x07\x27\x6b\x2c\x23\x71\x03\x70\x43\x78\x31\x40\xd5\x09\x56\x95\xb1\x65\x06\xdb\x1f\x88\x59\x31\x51\x13\x0b\xa7\x2c\x0d\x78\x50\x33\x0a\x1e\xdf\x83\xdf\xaf\x08\x78\x3a\xa2\xdb\x93\xf3\xcc\x1d\xf7\xe3\x5f\xf7\x60\xf4\x57\x4e\xdb\x0d\x97\xd7\x1d\xa7\xad\xc5\x21\x6d\x38\xd7\xd2\xe6\x3d\xe9\xae\xa3\xf7\x21\xaf\xde\xdc\xd1\x2b\xdf\xe5\x50\xc4\x1a\xbb\x9d\xbc\x77\xb3\xee\x1b\xc9\x7b\xfe\x46\x5f\xd5\xcd\xda\xab\xf5\x95\x05\x65\x6c\x55\x5f\x36\xab\x2f\xf7\xab\xe7\x15\x21\x2d\x36\xf7\x37\xea\x6f\x8f\xe5\xaf\x5e\x0d\x98\x1f\xf3\xe9\x6e\xbd\x80\xd3\x5b\x36\x57\xc4\x46\xaf\xdd\x73\xc5\xde\x74\x02\xf3\x66\x9f\xf1\xf7\x39\x81\x6f\x25\xae\xbd\xb1\xbe\xac\xef\xac\x78\xfb\x65\xe5\x1b\xbd\x74\x67\x47\x22\xaf\xa6\x48\xb6\x29\x92\x36\xab\x4e\xf3\x67\xce\x7d\x8a\xe4\xdb\x5e\xec\xb2\x59\x77\x79\x6c\x98\x8c\xfb\xff\xfe\x1f\x7f\xfc\xfa\xdb\x3f\xbe\xe2\xe0\xb1\x21\x92\x1b\xd8\x99\x7d\x8b\xdf\x02\x25\xb5\x51\x03\x67\x55\x1e\x81\xb9\x86\x4d\x14\x7c\x1e\x74\x11\x1b\xfc\xd0\xa8\x05\x63\x90\x45\x26\x8a\x20\xc5\xbc\x34\x08\x9c\x90\xf6\x85\x5a\x29\x83\x1d\xb1\x0e\x24\xca\xe2\x32\x65\x69\x17\x17\xb6\x77\x53\xdc\x8e\xd4\x97\x4c\x31\xb7\xc1\x8e\x08\x06\x04\x83\x77\x30\xc1\x16\xe5\x40\x1c\x02\xb5\x1c\x29\x21\x41\xac\x7b\xb5\xa0\xfe\x2d\xf1\x5a\xcd\xfb\x6d\x0c\x22\x00\x6b\x8f\x62\xf0\x06\x7d\x5b\xe7\xaa\x4b\x41\x70\xcc\xf5\xc5\x08\x71\xec\x88\x1d\x3f\xb2\x40\x82\x44\xd9\xb7\x7d\x06\xa2\x84\x1d\x27\xd7\x94\x2a\x9d\xc1\xf3\xe2\x69\xb0\x39\x20\xa0\xf0\x85\x07\xb1\xd9\xd3\xa8\xa1\x1f\x80\x42\x24\x4d\x9f\x87\xc1\xb6\x9e\xe1\xe1\x4f\x2e\x02\x4f\x00\x50\x78\xda\x97\xb9\x7f\x4f\xc4\x92\x07\xef\x1a\x45\x98\xb5\xad\xe8\x69\xf1\x59\x05\x55\x99\x6d\x9e\xb9\x4e\x7b\x53\xf8\x1b\xc3\xc1\x84\xf4\x67\xf8\x0b\x55\xfb\x16\x6a\x55\x5f\x20\xbe\x1c\x32\x65\xce\x13\x1f\x9e\x4b\x60\x5a\xb2\xef\x38\x7e\xb3\xcb\x13\x49\x85\x6e\x9c\x39\x01\xcf\x95\xc3\xd0\xd1\x5d\x39\x14\xf2\xe8\xff\xa8\xcb\x71\x50\xc3\x8b\xeb\xd0\xa8\x06\x99\xbf\x0a\x6b\xd4\x57\x60\x24\x97\x91\xfa\x35\x54\x0b\xec\xe3\x7d\xa6\xe4\x01\xcc\xe8\xbb\x9a\x91\x49\x5a\xd0\x36\x63\xe9\xb8\x32\x31\x40\x60\x1a\xca\x30\xed\xd4\x03\x29\xd3\x97\x99\xb2\xd6\xaf\x09\x2f\xcb\x62\x39\x52\xac\x43\xed\x72\x23\xa5\x7d\xa4\x96\x06\x1c\x50\x7c\x26\x51\x33\x24\x08\x77\x0b\x46\x0b\x33\xd4\x8f\x17\x01\xfb\x90\x1d\xbb\x07\xa9\xa5\x41\xd5\x1a\xce\xaa\xe9\x46\xd0\xc7\xa6\x3e\x2e\xb1\xf3\x50\x43\x3e\x5b\x42\x6a\xed\x08\x5c\xf3\x3a\xda\x11\xac\xed\xfb\x30\x63\x24\x5c\xcc\xae\x34\x9f\x80\xbc\x5c\x17\x0b\x97\x35\xd2\x44\xd2\x2b\x58\xb2\xf6\xda\x18\xb4\x08\xe5\xa8\x1e\x8a\x5d\x82\x76\x31\xbf\x80\x3e\x0b\x47\x75\x4b\xb5\x1f\xbb\xa9\x07\x30\x3d\xc4\x7b\xa7\x52\xd1\x53\x48\x56\xef\x19\x28\x78\x2d\x5f\xbf\xe7\xff\xf8\xe5\x8f\x07\xb4\x9c\x9b\x26\x05\x53\x46\x5a\xea\x92\xb2\x39\xd7\x38\xf8\x11\xf8\x02\x08\x05\x5f\x0a\x5f\x91\x3c\xba\xed\xd3\xae\xdf\x6c\xa7\xdd\xea\x6e\x43\x30\x1e\x2f\x67\x55\xa7\x11\x7d\x93\x3b\x70\xc6\x53\xf4\x65\x08\x9e\xb2\x4f\x43\xc1\x1c\x83\x80\xea\xd7\x3c\x42\x0c\xe9\x6b\x1b\x54\xe1\x6e\x8b\x98\x08\xaf\x26\xa2\xf8\x0c\xf8\x67\x26\x69\x6d\x6c\x54\x9b\xb6\x42\x16\x06\x0c\x4f\x38\xb2\xd3\x33\x2e\xd7\x38\xbe\x7e\xc2\xc5\x49\x31\xb0\x5c\xce\x8b\x58\x6a\x62\x0f\x85\xdc\xd7\xb6\x48\xc5\x9a\xaa\xdb\xaa\xcd\x5b\x65\x5b\x75\xe1\x56\x67\xa0\xea\x96\x07\xa4\xcf\xe4\x2e\x0f\xf5\xd8\xaa\x86\x31\xf4\x34\x14\x65\xa1\x9c\x32\xf9\x1a\x17\x03\xa8\x01\xa4\x0a\xfb\xa8\x6b\x64\x1b\x11\x80\x4f\x6d\x9c\xb5\x88\x6e\x3b\xe9\x56\xb7\x1a\x1f\xc7\x78\x3e\x79\x7a\x0b\x24\x70\xd3\xa6\x9d\xae\x11\xd1\x23\x7c\x37\x5b\x72\xed\x80\x49\x04\x97\x46\xbf\xe8\xeb\xe1\x43\xbe\x01\xd7\xb8\xd6\xb2\x0c\x31\x00\x0e\xec\x0e\x89\xe1\xd2\xb0\xe9\x05\x43\x6a\x06\x7e\x8b\x8d\x44\x26\x61\xe9\xcf\xb7\x88\xc1\x2c\x16\x86\x80\x07\x58\x9c\x0a\x06\x69\xc7\x6d\xb1\xc5\x00\xd3\xaf\x68\xbb\xf6\xb3\xb5\xb1\x20\xe6\x41\x6b\x5a\x55\xe4\x7b\x3d\xcb\x6a\xec\x36\x50\xe6\xb3\xe8\x93\x78\xaa\x4d\x46\xa7\x8f\xa2\x96\x6b\x7d\x70\xc0\xfc\xfe\xd7\xb3\x24\x3a\xff\x1b\x12\x0a\xde\xda\x00\x57\x14\x66\xd0\xed\xa8\xda\x46\xe9\xb5\x1d\x99\x2d\x49\xdd\x31\x1f\x99\x57\x49\x06\x8b\x14\xeb\x46\xe9\x23\x9e\x3e\x59\xd7\x15\xab\xed\xc9\x7c\x85\xf7\xfa\xc1\x4f\xe1\x17\xf6\x97\xf1\xa4\x47\x69\x90\x75\x08\xbd\x58\x92\x7a\x5b\xc7\xdd\x5b\x14\xcf\x71\xe3\xcc\x99\xa3\x6a\xe3\xdc\x94\xdb\xd3\xa0\xe0\x5b\x78\xbd\x1a\x01\x61\x33\x18\x35\x43\x1f\x3f\x96\xd3\x1b\xfc\xc7\xc7\x72\xdb\x3f\x93\x29\xbd\x26\x50\x2f\xa6\x21\xbd\xcb\x06\x4f\x95\x25\xb8\xb6\x75\xe6\xab\xde\x9e\x3e\xf8\x29\xb8\xc0\xf1\x97\xfd\x1f\x4f\x23\x89\x06\x12\x84\xb4\xf8\xb6\x08\x30\x2f\x72\x59\x33\x91\xca\xb8\xb4\x5d\xc4\x23\x61\x00\x36\x43\x0d\x2f\x54\x62\xd1\x3f\xd3\x84\x2c\xed\xe0\x38\xef\x51\x0e\xba\x94\x8e\x08\x05\x88\xbe\x00\x56\x33\xfa\xda\x01\xa8\xd9\xf2\x61\xf0\x27\xb6\x3b\xe1\x1b\x79\x64\x9e\x05\xaf\xab\x6e\xe8\x3a\x9b\xaa\xf3\xc4\x39\x1c\x80\x5a\x0b\x14\xde\x20\x85\x24\x56\x92\x56\x6c\xaf\x09\xa4\x02\x11\x8c\x9c\xac\x4a\x3b\xbc\x94\xe5\x5b\x01\x5d\x87\xa7\xc0\x43\x23\x29\x75\x08\x18\x0e\xa2\x3a\x15\x1f\xd4\xfa\xa8\x70\xeb\xd5\x14\x1d\x95\x86\xac\x39\x70\xd4\xc7\xbc\x4f\x94\x5a\x19\xec\x08\xd5\x91\x02\xd0\x73\x18\xca\x40\x8b\xa9\x1f\x6d\x77\x53\x74\xce\x25\xd8\x31\x83\x41\xfc\x78\x0f\x91\xed\x23\x22\x4c\x8a\xd3\x05\x79\x0a\x35\xc9\xe7\xed\x5c\xdb\x61\xfc\xf3\xfc\xbf\x4e\x50\x73\x3c\x53\x6e\x81\x42\xad\x33\x90\x4b\x3f\x70\x81\xc3\x53\xbb\xfa\xea\x0d\x38\x0a\x5e\x1c\x25\x50\x91\xd7\xe0\xf0\x92\x96\x96\xa6\xbe\xc2\xb3\xce\x50\x90\x14\xce\x22\xda\x33\xb9\x1a\xff\x91\x3e\xd9\x92\x6e\x1f\x23\x63\x97\x00\x5a\x43\x31\xc7\x63\x34\x8c\x6e\xa4\x34\xa5\x84\x84\x7f\x0e\x11\xb0\xc9\xc1\x07\x0a\x22\x14\x62\x00\x7b\x47\x32\x3e\xf0\x18\x41\x52\x84\xdd\x60\xca\x10\x94\x55\xb0\x15\x51\x8d\x30\xa8\x7f\x0d\x94\xab\x51\x34\x84\x14\xa0\x96\x00\x84\x11\xbb\x15\xd1\xf6\x26\x24\x24\x2a\x41\xbb\x29\x46\xac\x7f\x54\x8b\x85\xd2\xfb\x1a\x2d\x1d\x91\xb5\x51\x00\x44\xe6\xa3\x8b\x94\x7d\x40\xd4\x35\x56\x4d\x50\x92\x08\x82\x9b\xbb\x7b\x74\xac\x54\xb0\x5a\xd7\xb6\x9b\xae\x7a\x7e\x5a\x3e\x19\x9a\x4a\x62\x1c\x4e\x65\x3e\x29\xb3\x61\x55\x96\x65\x7c\xad\x4d\xc8\x3c\x82\x8a\xa0\xe7\x5e\xc4\x7c\xa6\xba\x08\x46\x40\xc8\x73\x28\x53\x4e\x95\x62\xde\x99\xa8\xe4\xd1\x51\x6a\xfa\x3e\xaf\xa6\xe2\x34\x2d\x75\x3a\x46\x44\x05\x79\xde\x33\xf0\x3e\xed\x68\xe5\x78\x21\xd6\xc9\x98\x2b\xf9\x92\x8d\xd7\xa5\x54\x00\x5a\x87\xa6\xcb\x9e\x1a\x90\xc0\xd0\xb5\xf4\x16\x09\x54\x73\xfe\x16\xa9\xf8\x8c\xdc\xa6\x5a\x7b\xb4\x08\x47\xec\x79\x0c\x1c\x0f\x81\xbc\x18\x55\x61\x8c\x4e\x2d\x54\xf0\xc6\xd8\x6e\x9d\xce\x45\x81\x2d\x38\x11\x19\x00\x3f\xdf\xab\xfd\xd2\x10\xcd\xd1\xb8\x63\x55\x8b\x0e\x8d\x18\xeb\x79\xca\x41\xbc\xe8\xcc\x8a\x16\x65\xf6\x31\x01\xc8\x7b\xb5\x73\xa6\x29\x97\x92\x23\xc9\x19\xf1\x0b\x24\x19\x5e\x9d\x08\x7b\xdb\x8c\xc6\x81\xf9\xbd\x7b\x30\x67\x93\x0e\x5e\xf2\x88\x28\xc3\x28\xda\xee\x9c\x57\x93\x2e\x8f\xae\x20\x68\x0f\xd1\xab\x69\x28\xd4\x6a\xdd\xd9\x2b\x6f\xd4\x16\x3b\x8f\x78\xe5\x3b\x99\xae\x3b\x06\x2a\x41\x54\x16\xd9\x4c\xa9\xfd\x65\xb6\x46\xa5\xe4\x83\x91\x05\x20\x00\x0d\x46\x25\x90\xce\x4b\xee\x5f\xd5\x8e\x10\x03\x1b\x63\x67\x40\x01\x31\x83\x1e\x25\xee\x85\x2a\xdc\xfa\xb5\xbb\xf5\xa9\xd4\x00\x3f\xf9\x3b\xea\x3d\xbd\xa9\x95\x1c\x83\xe8\x78\xa9\x3c\xe4\x01\x96\xaf\x4e\x67\xa1\xc0\x0d\x3f\xe0\x82\xe7\xe7\xca\xe3\x51\xcd\x6c\x89\xf9\x5b\x3e\xe7\xdc\x46\x6c\xd6\x20\xe6\xf0\xfa\x82\x73\x00\xce\xa8\x67\x70\x0d\x36\xb1\xe7\xd7\x4c\xd1\xdc\xdb\x2b\xb7\x3c\x82\xa4\x05\x90\x25\x50\x0d\xad\xac\x2a\xcc\xde\x66\xde\xd7\x8d\x09\x1c\xc6\x40\x19\x6b\x55\x64\x0c\xb9\x60\x5b\x85\xb6\xa2\x8a\x41\x2c\x8a\xcc\x7c\xed\xe4\x73\x21\xe1\x91\x72\x15\x47\x02\x6b\x57\x48\xf8\xa8\x23\x79\xbc\x5a\x4f\xa5\x2f\x33\x45\xd7\x9d\x3d\x92\x43\x07\x3b\x5a\x31\x2d\x12\xe7\xaa\xd3\x98\x89\x3d\x13\x27\xa6\x20\x91\x42\x29\x24\xc8\x4d\xc3\x82\x61\xc8\xf5\xd8\xd7\x02\x4c\x9b\x2f\xe1\x5b\xa6\x9a\x0a\x2c\x58\x9f\x07\x84\x0f\x0c\x46\x7f\x5b\xf5\xcb\x41\x30\x1a\xb1\xac\x06\x5d\xf5\xe1\xc6\x01\x9e\x4b\xac\x85\x54\xb0\xeb\xb2\x5d\xa5\x3a\xc4\xa1\x30\xb6\xa6\x55\x4e\x60\x3f\x99\xe3\x60\x47\x34\x33\xa8\x34\x48\xa9\x1c\x54\x43\xd0\xf9\x5c\x6d\x3b\x56\x62\x8f\x27\xb4\xa9\x3e\x9d\xb2\x45\xb4\x4c\x5f\x62\x5f\x5d\xa7\x79\x5e\x44\x80\x61\x33\x1a\x4c\x55\xc2\x2b\xb9\x74\xba\x19\xe8\x9c\xd2\x3b\x5b\x12\x93\xb3\xa0\x72\x2c\x2a\x5a\x59\x70\x88\xc1\xd3\xb7\x96\x41\x5b\xb0\x72\xe6\xaa\x59\xa9\x2f\xbc\x3b\x16\x80\x61\x0a\x67\xd0\xe8\x12\xa8\x82\xb4\x73\x96\xa6\x7c\x98\xd6\x57\xbd\xf0\x08\x96\xa7\x03\x08\x3b\x54\x0a\xe7\x48\xbe\x11\x33\xa2\x33\x55\x86\xb3\x8a\x6d\x04\xfa\x01\x8a\x99\x4a\x66\xaa\x2d\x50\xb2\xd0\x63\xcc\xfb\xc0\xb6\x77\xde\xbf\xaa\x4a\x20\x7d\x5d\x15\xd7\x03\x17\x5b\x42\xaf\x6b\xa7\x47\x60\xfe\xf6\xb0\xbe\x8c\x4d\xd9\x74\x20\xaf\x6b\xa8\x0e\x37\xaf\x3f\x71\x60\xe3\x5b\xe0\xd4\x80\xec\xdb\xd2\xe9\xd3\x65\xb8\x90\xcb\x4e\x80\x79\x8c\xec\x12\x04\x5e\x64\x0f\x13\x28\xe7\x7a\xfe\x91\x13\x49\xbb\x93\x03\xf1\x85\xd1\x77\x11\x19\x8f\x6d\x91\x98\x2d\xb6\xb1\xf1\x60\x79\x66\x4d\x67\xc3\x2d\x89\xa1\x67\x70\xcd\x71\x4b\x60\xbc\x2f\xb4\xe3\x2b\x28\x9b\x47\xe4\x85\xe5\xdb\x44\xf2\x0b\x87\x2f\xe5\xa4\xe2\x02\x9b\x07\x9b\xeb\x7d\x0a\xbb\xa0\xca\x1a\xc7\x23\xb0\xdd\x16\x62\x21\x92\xa8\x04\xc8\x15\x4e\xa6\xa0\xa6\x5e\xcd\xfa\x6d\xfa\x12\xcf\x5f\x26\x39\x11\xaf\xe4\x44\x86\xee\xad\xcb\x2d\x76\x51\x27\xae\x16\x5f\xa0\x4c\x75\x75\xaf\x22\x2e\x87\x6b\x24\xcc\x7e\x21\x43\x9e\xa4\x58\x45\x95\x42\x6a\x5c\xa8\x02\x6c\xb2\x0f\xc7\x60\xfb\xc2\xe0\xe3\x8a\xd3\xd7\x00\xcc\x3d\xac\xf5\xaa\xc0\x25\x5f\xc1\xeb\x66\xf1\x23\x81\x74\xd8\x89\x4f\xba\x14\x02\xb8\x91\x00\x2d\x51\xe3\x3e\xa8\xee\x3f\xd8\xd1\x54\x91\xa6\x8b\x7d\x19\x4d\x26\x44\xd5\x5d\xa2\x03\x02\xde\x52\x12\xc8\x4a\x12\xe8\x90\x4e\x02\xb2\x24\x95\x7d\x07\x2b\x23\x91\x47\x7c\x66\xff\x48\x7c\x44\x04\xfa\xc8\x48\xa5\x06\xdc\xe1\x62\xc2\x27\x7b\x65\xb6\xc2\x7f\x0a\x45\x0b\xf5\xf5\x32\x3a\xfb\x47\xad\x89\x45\x66\xb5\xbe\x69\xac\xf1\xec\xc9\x4b\x3e\xea\xe4\x6d\x23\x80\xaf\x7c\x54\xd5\xba\x55\x04\x44\x86\xa2\xaf\xab\x51\x2a\xc6\x67\x5b\x13\xd8\x4e\xd8\x28\x49\xb0\xbd\xa1\xfd\xa3\xdf\xd8\x5c\xd8\x41\xd5\x22\x47\x11\x81\x82\x12\x21\x62\x85\x82\xb6\x9d\x0b\x9c\xdb\x24\xaa\xe1\x66\x07\x3d\xbf\x96\xaa\x7f\xfd\x55\x23\xd8\xb9\x1c\x91\x7c\x2d\xa7\x4f\x38\xb8\x88\xa3\xaa\x00\xa1\x0d\x15\x5a\x25\x94\x10\x44\x8d\x96\xc2\xd3\x6f\xec\x29\xf2\xf3\x53\xfb\xd7\xdf\x7e\x71\x87\x8f\xe7\x89\x91\x2d\xd5\x7b\x95\x1c\x7e\xc3\x71\xd3\x33\xc3\xc3\xad\xcc\xf0\xb3\xe3\x66\x13\x5b\x2f\xbc\x4e\x6e\xbf\x04\x7f\x27\xe2\x64\x6b\x2b\xb7\x52\xa9\x5f\x2b\x90\x43\xf6\xcb\x58\x92\xa3\x0a\x8c\x74\xe7\x5c\xbc\xeb\x2c\xba\xef\xea\xb9\x0f\xf2\xd3\x28\xa7\x3c\x42\x37\x70\x91\x5a\x51\x41\x72\x15\x75\x4c\x55\xed\x2c\x1e\xd5\x7a\x53\x33\xbc\xd4\xb2\x63\x00\xc1\x37\x8a\x33\x57\x63\xd3\xf2\x74\x98\x03\x1f\x13\x31\x15\x57\x6a\x33\x3b\x55\x2e\x55\xcc\xe9\xda\x07\xee\xd4\x52\xd2\xee\xd2\x71\x4f\x69\x8e\x97\xb1\xf2\x9c\xa9\x65\x79\xda\x2b\x64\xb6\x6d\xc7\xd2\x63\xc8\x6c\xeb\xdb\x3a\x42\x04\x00\x22\x2c\x31\xfa\xe6\x96\xf6\x26\x96\xc3\xb1\x6d\x83\xc6\x30\xbf\xcf\x23\x2f\x7a\x3e\x22\x36\xed\xdf\x59\x66\x69\xda\x03\xcb\x91\xee\x01\xcd\x30\x71\x1b\x23\x42\x08\x05\x81\x5c\x42\xa9\x1a\xcd\xd9\x52\x31\x2a\x20\x35\x0b\xc8\x7f\xc3\xca\xd8\xe6\x3e\xdd\x26\x6a\xa4\x73\xd9\x35\x6c\x2f\x17\xca\x11\x19\x01\x6a\xe8\x89\x05\x57\x5e\xcc\x29\x87\xff\x98\xf3\xce\xa2\x59\x73\x84\xf3\xec\x07\x87\xc3\x5f\x77\x88\xe7\xbe\x70\x42\x6e\x38\x70\xa5\x7b\x84\x57\x22\x82\x83\xdc\xf4\x08\x77\x09\x11\x6e\x20\x7d\x35\x0b\x45\xa4\x20\x79\x42\x9a\x31\xa7\x4a\x8e\x11\xa8\xfd\xf9\xbf\x90\x10\x61\x4f\x35\x04\x95\x22\x25\xba\x48\xc8\xe2\xbc\xb8\x20\x98\x0a\x92\xa3\x4a\x18\x23\xa8\x47\xf5\x07\x15\x26\x9c\x11\xda\x89\xe4\x93\x94\x22\xe5\xb6\x5c\x1a\x39\xc3\x68\xae\xa3\x2a\x17\xe0\x2b\x94\x79\xca\x4f\x6b\xe0\x6a\x87\xc9\x9d\xc1\xa7\x3a\xa7\x69\xc0\xdd\x94\x39\x8d\xae\xc3\x48\xa6\x90\x75\x4d\xcb\xc0\x68\x8b\x0b\x24\x81\x56\x84\x22\x03\x79\xdb\xb4\xfa\x9a\xd8\x84\x54\x21\x69\xb7\xd9\xa9\x1e\x1e\x95\xcf\xc9\x29\xbf\xe5\x1a\x37\x71\x74\x03\xae\xe6\x96\x6f\xfc\x11\xdc\xab\x46\xe9\xf4\x09\x06\x86\x0d\xdd\x56\xaf\x28\xaa\x08\xee\x12\x65\x1e\x0a\x55\x7d\x21\x42\x3d\x63\xc9\xa0\xbf\x40\x24\x71\xf1\x8d\x30\x88\xdf\x7c\x30\x00\xfc\x4a\xfa\xba\x24\x54\x35\xc3\x6b\x75\xd4\x28\xfa\xe5\xae\x1b\x32\x32\xf5\xc5\x07\x02\xdc\x2f\x2f\x5f\x3b\xf7\xd7\x0e\x57\x59\x5a\x32\xb4\x4a\x2e\xfd\xa5\xc7\xa0\x35\x24\xc4\xd1\x9b\x8e\x54\x17\x79\x66\xcd\x9b\x6f\x23\x13\xfb\x02\x95\x7a\xe8\x53\xd1\x97\x74\xa4\x5c\x36\x01\x2c\x5e\xd3\x5c\xfa\xf2\x59\xf8\xca\xad\x13\x61\xd1\x9d\x67\xd9\xbb\xb1\x27\xe0\x26\x58\xb0\x27\x87\xdc\xa3\xbe\x94\x6c\xaa\xf9\x3e\x51\xac\x03\x0e\xde\xd2\xa2\x6b\x4f\x57\xe1\x1d\x73\x8f\xbe\xe6\x25\xc3\x72\xca\x9d\x59\x0b\xd4\x78\x4c\xd9\xe7\x3d\x82\x4b\x70\xb0\x10\x85\xa4\x26\x63\x82\x73\x0e\x3e\xa7\x9e\x24\xa2\x77\xeb\x0c\x4c\x31\x00\xc2\x1b\x19\x92\x35\xe8\xed\x45\xb5\xd5\x4e\x00\x8d\xec\x38\xf8\x1b\x2c\xca\xb4\xc6\x7e\xec\x39\x30\xb5\x55\x70\x3d\x96\xeb\x05\x88\x29\x10\xd2\x2e\x8b\x1d\x4c\xcd\x6b\x0d\xd4\xaf\xa0\x97\x8e\x35\xf7\xa3\x85\x6e\x60\xaa\xa7\xaa\xc6\x7c\x95\x88\xf6\x44\xc0\xe3\x13\xf2\x7d\x22\x58\x80\xa6\x97\xe3\x73\x71\x85\x72\x0a\x2f\xf3\x4e\x43\x5f\xe6\x61\x9d\x93\x95\xe3\x50\x49\x64\xbf\xac\xd7\x01\xb6\x12\x15\xab\xfe\x1f\x0d\x1d\x3e\x22\xa9\xac\xad\x6b\x46\x06\x08\x2a\x1e\xe6\x15\x17\x82\x59\x5e\xf0\x1a\x90\xc7\x1a\xf6\xf3\xfe\xe8\x7c\xb9\x41\x6d\x5d\x70\xac\x64\x9f\x16\x6f\x4a\xb5\xb2\x9c\xdc\xe6\xbb\x72\x48\xb0\xd1\x97\x25\xd8\x50\x68\xee\xfc\xae\xb0\xfb\x51\xa6\x78\x5d\x0f\xd4\xc0\x8d\x57\x85\x37\x35\x20\xb6\x64\x36\x84\x82\xa3\xa6\xdd\x88\x8c\xaa\xd8\xcd\xcc\x4b\x97\x3d\xb4\x01\xfc\xb8\x17\x80\x89\x23\x0f\xbc\x17\xaa\xd8\xb6\xa9\x13\x0a\x79\xa0\x02\xab\xc9\x37\xd9\x15\xb5\xa9\x75\x25\x99\x85\xfe\xf9\x4a\x82\x0c\xe5\x10\x47\x26\x6f\xd0\xc4\x65\x8f\xd8\x63\x8b\x40\xee\x5d\x20\x78\x6e\x50\xba\x30\xd5\xca\x70\x96\xaf\xae\x73\xc6\xf5\x6d\x09\x37\xd7\x0a\x5c\xf0\xda\x55\x6d\x58\x36\x31\x51\x2d\x14\x83\x9a\x9e\x15\xeb\x52\xcd\x66\xa3\xfa\xf6\xb2\xbc\x16\xcf\x39\x2c\x12\x98\x0b\x79\xa4\xa6\x49\x4e\xeb\xe7\x37\x1a\x4d\x26\x96\x5d\x20\xf6\x41\x3b\x5f\x9f\x80\x74\x9e\xae\xfb\x2b\x51\x02\x93\x7a\x82\xaf\xdb\xd8\xa9\xe6\x21\x17\x57\x83\x0e\x09\xc8\x48\x74\x5a\x77\x97\x43\x7f\xd9\x11\x8f\xc6\x6e\xb3\xbb\xb4\xb7\xda\xac\xb3\xd8\x06\x4f\x6d\xeb\xc7\x47\xf0\x1a\x1e\xf4\xb1\xe1\xf3\xe7\xd3\xd1\x03\x1d\xe8\x77\x1e\x44\x1d\xd2\x30\x8f\xbd\x3d\x87\xa6\x6e\x06\xa6\x7e\x02\x15\x6e\xce\x74\x54\x50\xc4\x16\x25\xc4\x4c\xab\xe7\x32\xd8\xce\x9d\xd3\x32\x96\x14\x56\x66\x51\x7c\x67\x3b\x36\xcb\xd8\x6e\xc8\x76\x29\xff\xe7\x34\xe5\xa9\x75\xf3\xcf\xa7\x2d\x49\x84\x0e\x5d\xbf\x1c\x28\xfb\xf2\xb1\x19\x2a\x3c\x8f\x14\xb6\x7b\x4f\x9f\x71\x3e\x0e\xcc\xf7\xf7\x18\xf0\x4a\xee\x45\xb8\x38\xc4\x55\x23\xca\x63\x8d\x28\x37\x1b\x51\x1e\x6d\x44\x39\x37\x62\xeb\xed\xdd\x68\xc5\x8d\x31\xb0\x3d\x02\xbe\x8f\xde\xe7\x99\x31\xf0\xfb\xfe\xdf\xdc\x7f\xdf\x8f\xfb\xdf\x0e\xf7\x08\x3a\xbe\x42\x5f\xda\x00\x7f\x7d\x67\xfe\xc8\xdd\xe1\x0c\x2a\xdc\xb2\x82\x28\x31\x81\x29\xc3\x6a\x98\xab\x18\x9d\xfd\x6c\xc9\x53\xfd\x86\x73\x79\xda\x13\xb9\x1d\x33\x21\xd5\x69\x55\x09\xf3\xc5\xab\xed\x16\xb5\xa0\x24\x20\x8a\x38\x59\xde\x71\xa9\x05\xa6\xdb\x3b\x07\xc4\x9c\xa6\xab\xdf\x56\x2d\x9b\x6a\x99\xb3\xd8\xf8\xfe\x84\x4e\x96\x8f\x8e\xeb\x77\xd1\x30\xeb\xd1\x4f\xef\x4b\xaa\x1c\xed\xd6\x1f\x7f\xa5\x4f\xe3\x45\x6d\xbc\xd1\xf2\x61\x48\x75\xd4\x8a\x9b\xef\x1f\x5c\xf5\xdb\xd9\xca\xda\x7a\xa9\x1b\x27\x67\xaf\xb6\x97\xfc\x0a\xd8\xa1\x48\xbe\x8e\x6c\x3e\xeb\xda\x16\x06\x91\xf6\x20\x87\xa9\xc4\x85\x89\xd3\xf0\x6a\x61\xd3\x85\xe5\x7d\x70\xb4\x5b\xb1\x54\xdb\x7b\x05\xbc\x52\x42\xd5\xb3\x67\xba\x7e\xb1\x3b\xa6\xa0\x5a\xc2\x3c\xb9\xcd\x5f\x1e\xd8\x2d\x1f\xf8\x72\x2b\x20\x70\xac\xe7\xde\x79\xc9\xe7\x37\x3c\x17\x05\xf5\xfb\xe1\x51\x83\x07\x81\xa9\x2b\xf7\x9b\xf6\x6e\x58\x4c\x07\xec\x06\x2f\xe7\xf1\x99\xbe\xf1\x3e\x13\xef\xc0\x9e\xd8\x47\x10\x40\x1e\xe0\x98\x93\x02\xac\x5e\x6c\xc6\xea\x8c\x29\x2e\x92\x2f\xed\x25\x23\x0b\xc0\x8e\x7d\x90\xf3\x41\x6d\x02\x6c\x89\xb0\x0f\x08\x39\x8a\xb6\xdf\x9a\x0b\xbf\x60\x2b\x64\xb0\xa3\x37\x4c\xaa\x6c\xe0\x64\x92\xe2\x41\xb5\xef\x48\x12\xf2\x60\x61\x34\x65\x08\x43\xa0\x1c\xf3\xb1\xac\x63\x16\x11\xa9\x09\x76\xb0\x75\x10\x24\x02\xa5\xd2\xd1\x15\xb2\x07\x08\xa9\x51\x8d\x19\x70\x57\x43\x70\x28\xf3\xf4\x19\xa8\xfa\x84\x38\xf9\xfc\x02\xe7\xe1\x60\xc7\x69\xba\x52\x3a\xa8\x4e\x6b\x9b\x11\x08\xdb\x49\xe6\xa5\x31\xc7\x51\xa5\x1a\x11\x22\x25\x88\x80\xaf\x08\x10\x12\xe4\xc3\xb6\x16\xde\xd9\x7f\xb8\x76\xe9\x43\x66\xb5\x11\x00\x94\x04\xf4\x1e\xf1\xfa\xbd\xb5\x80\xad\xd5\x60\xe9\x85\x78\x98\xdb\x9e\xaa\x72\x0f\xd2\xde\xdf\xc1\x39\x9d\x7a\xe2\x06\xa4\xfd\xb3\xbb\x1d\x3a\x70\x1f\xc4\x44\x6c\xdb\xc3\x96\xb7\x86\x2d\xcf\x27\x55\x9b\x10\xf1\xef\x83\xa1\x0e\x89\x3c\xc7\xa3\xa3\x26\xe8\x70\x5f\x2a\x45\xb0\x70\x01\xc3\x95\x18\x9d\x5f\x2b\xbf\x08\x35\x44\xda\xe4\x5e\x81\xdf\xcf\x7f\x51\x3b\x1a\xbd\xea\xe5\x25\x22\x49\xc5\x8e\x7d\x5c\xa8\x20\x93\x23\xb5\x15\x55\x35\xf0\x57\xca\x31\xad\x1d\x57\x06\x06\x66\xe9\x51\x4b\x47\xd8\xe4\xb8\x4a\x94\x96\x05\x9a\x87\xf5\xf4\x96\x29\x48\x9b\x40\x9f\x41\xfa\x18\xa7\xb6\x33\xde\x3a\x42\x21\x98\x42\xa3\x00\x66\xd7\x92\xd1\xc1\xb1\x30\xf6\x33\x8b\x34\xc4\xae\x85\xfe\xad\x8a\xbc\x27\x50\x94\x50\x33\x18\xd7\xac\x77\x5a\x74\x9a\x5e\x03\x6c\x67\x99\x08\x06\xd7\x00\x08\x5b\x60\xa1\xf6\xfd\x66\xc6\xe1\x2d\x18\xd1\x8f\x72\x2f\x03\xfc\x81\x01\xf8\x03\x40\x93\xff\x92\x74\xff\xd9\x92\x6e\xbd\x80\x9d\xfd\xb2\x61\x23\x9c\x69\xc5\xd7\xf3\xbc\x62\x3c\x8d\x94\x27\xa1\x96\xff\x25\x5d\x7e\xbe\x74\x59\xad\x0a\xe7\xb1\xc0\x1b\x63\x81\xe7\x98\xe0\xed\x59\xf7\xb2\x8e\x84\xdf\xff\xfd\xdf\x1f\xd5\xb8\x68\x95\x25\xdd\x97\xa9\xcd\xf1\xfa\x40\x8c\x1d\x25\xa1\x58\xae\x1f\x86\x00\xa5\x93\x64\xa7\x36\xa8\xcf\x47\x21\x1f\x8d\xcf\x9e\x07\x3b\x9a\x9f\xef\x96\x84\xf0\x96\x1e\x2c\xa6\x03\x30\x05\x10\x91\x07\x84\x48\x54\x50\x9d\xe6\xa4\x12\xc1\x4b\x1c\x03\x25\x20\x5a\xa4\x3c\xcb\x65\xb9\x72\x78\x85\xe0\x82\x4e\xd5\x4a\x69\x60\xd5\x34\x46\x57\x09\x79\x9d\x3e\xff\xf3\xf4\x13\xca\xed\xf4\x56\x09\x89\xbe\xbb\x62\xac\x15\x59\x25\x0b\x53\xbc\xbd\x73\x75\xad\x19\x07\x4a\xfb\x85\x6c\xf3\xee\x4a\x86\x1d\x0c\x99\x8b\xb9\x38\x04\xfa\x00\xc1\x3d\x26\x92\xbc\xdc\x7f\xe1\x24\x8e\x5a\x6a\x07\xe2\x18\x1d\x71\x11\x0a\xad\x3a\x12\xa9\x14\x91\x02\xd0\xf2\x7f\xde\x82\x10\x96\x59\x5d\xd3\x58\xbb\xbb\xe5\xc9\x0b\xc2\xfa\x0e\x09\x6b\xa4\xee\x11\xf1\xf1\x76\xec\x23\xfa\x2c\xa4\x97\xeb\x83\x49\x9e\xc7\xbc\x91\xd3\xd4\x7a\x50\x27\x64\xc8\xa4\x2b\x89\xa3\x0d\xe9\xc2\x65\x6e\xdb\x1b\xce\x4a\x2c\xff\x64\xe1\xfa\xbe\x0c\x56\xb0\x20\xb9\x72\x23\x1f\xe6\xb5\x6d\xf5\x31\x5f\xcb\x3d\x77\x16\x7c\xee\x22\xf9\xe6\x62\xf6\x2a\x3d\xf5\x8b\xd0\xa0\x96\x2a\x96\xa1\xb6\x0c\xed\x00\x97\xdb\x7a\x65\xf0\xb1\xc7\x7c\x14\x4c\x3d\x6f\x2c\x60\x9c\xb2\x23\xe4\xbb\xe9\x97\x1c\x9a\xed\x43\xce\x77\x29\xaf\x24\x02\x8f\x8e\xa3\xe3\xb8\x29\xb1\xce\x8d\x0a\xa7\x37\xd4\x96\x37\x33\x84\xb4\x6d\x9b\xf0\x7b\xa6\x2c\xc6\xa6\x7f\x56\x72\x72\xc4\x6d\x97\x28\x46\x2d\xeb\x35\xfe\x90\x7d\xf2\xb7\x07\x61\x4b\x0a\x55\x15\x8a\xa1\x2e\x76\xd4\x19\x21\xcd\x3e\xc9\x2e\x52\xc3\xa6\x7b\x1a\xbb\xe8\xe5\xe5\x46\x2c\x76\xc3\xb8\x8e\x4e\x28\xb9\xe5\xa4\x85\x5e\x54\xc7\xad\x53\x28\x5f\x6b\x82\xba\x6d\x64\x2d\x75\x0e\x49\x78\x6e\xc6\xa5\x72\xb7\xd5\x0c\x7f\x69\xc5\x46\x4d\xbe\x37\x62\xab\x81\x50\x69\xa6\x66\xd8\x36\xfb\x12\x04\xc5\xa2\xd4\xb7\x10\x27\x7a\x1c\x99\x0c\x70\xb8\x6e\xba\xbe\xb7\x3c\x9f\xaf\xeb\x7c\xd5\x09\xef\xc2\x62\x56\xfc\x66\x0b\x96\xbf\x5e\x5a\xf0\xe8\x90\x78\x90\xc8\x54\xd8\xd8\xbc\x16\x2f\xda\xb6\x83\x52\xdd\x09\xd5\xda\x06\xa1\x34\x32\x00\x01\xb5\x73\xf3\xcc\xe3\x04\x3e\x67\x26\x0e\x75\x74\x86\x9e\xb5\x1a\x13\xa1\x8e\xeb\x33\x28\x9f\x7c\x39\xbd\x15\x2d\x73\xd5\x0a\x7f\x69\x44\xa5\xcc\x3c\x58\x92\x45\x00\xe7\xd8\x2c\x44\x80\xfd\x55\x1b\x56\x15\xf9\xa9\x09\xeb\xd6\xd9\x80\xb0\x46\x98\x1f\xfe\xf1\x97\x11\x2c\xac\x70\xe0\x25\xde\xdc\x79\x38\xf8\xad\xe1\xb0\x5a\xe8\xce\xc3\xc1\x94\xb0\x25\xc2\xcb\x17\x08\x28\x0f\x8c\x86\xcf\xfd\xaf\x4f\x73\x14\xd8\xe6\xd9\x16\xd1\xe1\x8d\x50\xab\xf4\x83\xa4\x8a\x7d\x56\xe8\xba\x3e\x07\x51\xc3\x9b\x2a\x94\xaa\x65\xae\x07\xec\x95\x37\x12\x5f\x5c\xa6\x56\xe7\x24\x3e\xfe\xc2\xbe\x38\x8b\xfe\x8c\x6a\x04\x57\x0e\x63\x02\x6c\x42\x04\x83\xd3\xf9\xdc\xe9\x93\xbc\x80\xe4\x5f\x95\xa2\x50\x28\x25\x43\x98\x42\xec\x79\xe0\x46\xad\xd8\x24\x9f\x57\x86\x73\x8e\x5a\x19\x5d\xa6\x5c\x03\x8e\xb2\x63\xa0\x40\xb0\xd0\x52\x86\x9a\x9f\x57\xa4\x18\xd4\x9c\xdd\x34\xe8\x91\x4f\x6f\x86\xe6\xd2\xa4\xec\x02\xcf\x1a\x2d\x88\xca\x9c\x5a\xfd\x8c\x51\x80\x81\xf0\x5f\x3d\xba\x29\x56\xca\x6d\x07\xc2\x9f\x56\xc6\x4c\xd1\x60\x5a\xfc\xfa\x3a\x64\x66\x5a\x80\x8e\x51\x6d\x35\xaa\x55\x47\x99\x6f\x65\x14\xaa\x39\x0d\x42\x5e\xca\xae\x87\x12\x49\xb5\x81\xc2\x86\x57\xa7\xf3\xb7\x95\xb0\x6b\x14\x53\x18\x1a\xf9\x2c\xa3\xb1\xa4\x97\xb2\x0c\x49\x0b\xf0\xdd\x53\x6b\x4e\x4f\xea\x88\xe2\x89\xcd\xb5\x12\x07\x20\xbc\x64\xd4\x69\x74\x87\xdc\x5b\xe1\xae\x9a\xf1\xf4\x1b\xfd\xfd\xef\xbf\x3c\x9d\x5e\x2c\x03\x09\x78\x93\xe6\x64\x5e\xfa\x34\xb5\xb3\x30\xac\xe3\xb4\x33\x31\x03\x4e\x74\xc9\xaa\xfa\x10\x0b\x3a\xee\x5e\xd6\x08\xa1\xa9\xf6\x1a\xef\x7a\x9b\x90\x55\x1f\x81\x21\x27\xad\x2c\xa8\xf3\xa8\xf9\x3a\xf8\xf1\xdc\xc4\x03\xc5\x4a\x5c\x0b\x95\x96\x29\x27\xfd\x80\xaa\x17\x8f\xc4\x12\x67\x91\x8e\xde\x11\x62\x59\x47\xd7\x88\x4d\xbe\x09\x44\x40\xa6\x08\x13\x4d\x7c\x03\xeb\x80\x2a\x71\x9c\x75\x5a\xa3\x58\x04\xb8\x45\x54\xe9\xb4\x4a\x93\x29\x95\x18\x94\x91\x21\x47\x00\x7f\x26\x77\x7d\x14\xe2\x2e\x53\x0c\x65\x78\x92\x2a\xb9\x4b\x15\x3e\x8b\x15\xfe\x52\xae\x24\x40\xa4\xb2\xe1\xc6\x37\xb5\xb6\x78\xb9\x8e\x20\xde\x44\x45\x4b\x0e\xc0\x17\x28\xc9\x65\x55\xbf\xf5\x70\x7a\xbb\x12\x27\x85\xaa\x25\x38\x19\x9c\xa2\xf0\x95\xac\xf9\xb1\x61\xf8\x6c\x3a\x2d\x92\x1e\x52\x5c\x12\x78\xb1\xe9\xf3\x3b\x35\x8f\x81\x22\xb5\x45\xd1\x9d\x52\x38\x56\xe2\x56\x9f\x60\xf8\xc2\xdd\xeb\x5a\x63\x84\xcf\xcb\x87\xdd\xb9\x69\x06\xf0\x8b\xdc\x3f\x3f\xdf\x67\x4c\x92\x06\x3f\xa6\xae\xa9\xb6\x79\x64\x85\x68\x33\x00\x9d\x51\x81\xe6\xce\x04\xa0\x4c\x0f\xc7\xc4\xc5\x22\x60\xcb\xfb\x09\x2c\x28\x08\x5e\xc5\x6c\x91\xe8\x40\xf3\xcd\x94\x77\xc0\xd8\x1d\x2a\x21\x65\xde\x7e\xc7\x20\xf4\xed\x22\xaf\xaa\xca\xab\x9c\xf2\xd0\x28\x88\xf1\x73\x21\xbb\x67\x3e\x52\x6a\xc1\x0c\x37\x60\xd5\x5a\x10\x3e\xdb\x4b\x39\xbd\x81\x03\x51\xc5\x61\x69\x47\x5d\x9a\x46\x43\xf1\x47\x08\xa7\x0c\xf6\x3d\x92\x7f\x0e\x7d\xe2\x73\xff\xeb\x6f\xff\xfe\xc7\xfe\xf3\x0e\x91\xe9\x17\x1e\xca\x0d\xfd\xc1\xe0\xdb\xa0\x6f\xad\xb4\x0e\x5c\x7f\xdc\xd0\x55\x1e\xf0\x37\xbf\xcb\x15\x2c\x1d\xdd\x8b\xad\xce\xcf\xba\x84\x50\xc5\x6d\xff\x46\x3e\x47\x9d\x2f\x43\x57\x9a\x5a\x69\x1f\x73\x0e\xbf\x34\x94\xd7\x15\x25\xa4\x85\x6a\xf8\x79\xcc\x09\x18\xc3\x3e\xf2\x5a\x3b\x7d\xf4\x76\x83\xe4\x78\xf4\xfe\x1f\x1a\x28\xcf\x89\x14\xd9\x52\x58\x92\x29\x2c\x1b\xce\x65\xb9\xa9\xaf\xf8\xc9\xed\xbc\xbe\x4b\x1e\x8e\xc6\x6e\x37\x1c\x03\x2b\xe0\xa6\xfb\xd1\xc6\x86\x0b\xfa\x49\xd6\x86\x79\x0c\x50\x1a\xe2\xc7\x56\xe8\xd5\x8d\x20\x30\xe0\x14\x6f\x59\x2d\xdf\x5b\xc6\xb2\x15\xed\x3b\x4a\x78\x6a\x5c\x3c\x9b\x36\x92\xbb\xdb\x20\x83\x1d\xe5\x9a\x6d\x9d\x0d\xd8\xd8\xe7\xb8\xe3\x4c\x1e\x7c\x30\x7c\x45\xc0\xea\x09\x58\xfc\x3c\xa6\x8e\x62\x5f\x6b\xfe\x16\xc2\x99\x2e\xa0\xa0\x01\x2a\x30\xf5\x8b\x50\x09\xf1\x9d\x0b\xc5\xb0\xe4\x7c\xef\xc8\x0c\x29\xe8\x82\xee\x91\x5c\x1c\x93\xac\x99\xe1\x33\x63\x85\xd8\x15\x6a\x1e\xc6\x51\xbb\x6e\x8d\xa3\x20\x58\xe8\xd1\x9c\xc1\x9a\xc3\xd0\x52\x83\x65\x4d\xf8\x21\x30\xe5\x00\xff\xb8\xa7\x50\xf2\x7b\xa6\x54\x21\x66\x42\xed\x86\x47\xf0\xe0\xc6\x44\xb6\xc5\x88\xd6\x38\xb4\xe6\xf4\xa9\xda\x2a\x52\x66\xf2\x0e\x40\x16\x4d\x8e\x1c\x29\x58\xd4\x73\x89\xe4\x81\xfb\xad\xb5\x19\xe6\xd5\x35\xb3\xbb\x14\xb0\x3f\x14\x54\x38\xe3\xb0\x65\x40\x0d\x73\x39\x7d\x66\x6a\x00\x68\x20\xae\x7b\xa6\x84\x34\xf7\x94\x26\x84\x06\x4b\x08\xad\xef\x42\x5c\xb5\x61\xf0\x7b\x86\x92\x90\x5b\xcd\x55\x9b\x22\x11\x08\x54\x2d\x23\xd5\x13\x59\xdb\xfa\x9c\xc5\xd7\x31\xa1\x05\x42\xbe\xcc\x5f\xe0\x54\xbb\xca\xdb\x20\xf3\xde\x9c\xda\x3c\xce\x1e\x8b\x81\xad\xcc\x57\x08\xcb\xf6\xec\xd6\x17\x4f\x8f\xdd\xe7\xa4\x59\x22\x84\xfe\xd6\x62\xbc\x46\x5c\xa8\x48\x45\x86\x28\x32\x74\x31\x3a\xd5\xbe\x68\x15\x80\x36\xc0\x84\xf4\xe0\x75\xcf\x79\x61\x1a\x1b\x51\xb2\xea\xac\x2d\x32\x84\x52\x11\xf8\x6f\xa9\xf9\x0c\x93\xc9\xf0\x38\x47\x87\xbc\x76\x48\x9a\x78\x40\x16\x2a\x17\xb5\xab\xb4\x56\x04\x13\x27\x55\x02\x2c\x9b\x50\x87\x51\x05\x3a\xba\x6d\x28\xaf\x6b\x05\xa4\x2f\xf4\xad\x0c\xfa\xde\x12\xe1\x33\x06\x10\x64\x6e\x86\x16\xda\x46\x54\x89\xb8\xa4\xce\x4f\x1a\xa9\x70\xdc\x61\x0b\x36\xc7\x63\xa5\x62\x69\xba\x5a\x70\x4c\xf5\x1d\xa7\x4f\x9f\x15\x5a\x51\x18\x9d\x80\x42\xaa\xbd\x07\x6a\x21\x8d\x06\x58\xd3\x8e\x20\xdf\xc6\x32\xaa\xc3\x0b\x4e\x43\xee\xcc\xed\x91\x77\x20\xe0\x14\x09\x28\xfd\x49\xf5\xf7\xef\xee\xef\xf7\x78\x2a\x16\x11\xee\xa9\xaa\xe2\x41\xb5\xa4\x9d\x21\x82\x86\x34\x52\x64\xf8\x1a\x16\x8a\x9a\x5c\xb3\x62\xdf\x89\x65\xcc\xfb\x38\xc4\x0e\x8c\x5d\x07\xfb\xee\xbd\x77\xf5\xf4\xa9\x06\xc3\x10\xbf\x66\x79\xbf\xbb\xfb\x74\x07\x4b\x63\xe3\x69\x0e\xd3\xd3\x50\xe4\x0c\x2a\xe4\xfe\x79\xa1\xee\x32\x52\x29\x03\x6f\xc7\xf0\x4d\x7d\x1c\x03\x3a\xa2\x58\x6a\x37\x17\x90\x6c\x07\xec\xdb\x50\xe0\xbc\x17\x46\x46\x04\xf7\x94\x08\xaf\x6f\x4e\x9c\xa8\xd5\xfd\x8d\x1b\x25\x46\x16\x58\x8c\xc0\xb7\x10\xaa\x2a\x9b\xd5\x78\x6f\x29\xee\x1b\x35\x60\xe4\xb6\x8e\x4a\xe3\x02\x35\x71\x85\x7c\x7c\x01\x52\x3e\x50\xfc\x7c\x90\x69\x3f\xc8\xef\xd7\x3f\x83\x07\x41\x47\x23\xc7\x97\x65\x79\xbd\x9e\x83\xea\x9c\xd5\x98\x47\xda\x50\x48\xda\x10\xa9\xe2\xca\x9a\xf0\x00\xc5\x9e\xa0\x5c\x3d\xc2\x80\x47\x38\x90\x25\x68\x00\xd7\x83\x73\x26\xf1\x59\x1f\x7b\x24\x5f\x03\xdc\x5f\x1e\xa2\x3f\x75\x08\x80\x09\x0e\x20\x9c\xde\x12\x3c\xa0\xa2\xa5\xbe\x54\x4a\x40\xba\x4d\xd6\x68\x36\xdc\xe0\x43\x00\x7d\xb5\x5a\x4c\x91\x2b\xd5\x16\x80\x9e\xa5\xf2\x2e\xe2\xa6\x28\x61\xb0\x63\x77\xd8\x25\x3c\x50\xc2\x03\x85\x92\xd5\x28\x11\xd8\xc9\x5c\x1c\x0a\x19\x2a\x55\x4e\x2f\xe2\xd5\xca\xb4\xe3\x14\x6b\x11\x48\x24\xee\xf1\x9b\x0c\xfd\x03\x43\x2d\xea\xb3\xe8\x14\xce\xf1\x5b\xa2\x2c\x96\x5c\x5c\x02\xbc\xbb\x2c\x14\x04\xdf\x7a\xcd\x2a\x0b\x62\x00\x3c\x65\x04\xbe\xac\x11\x3a\xaa\xf1\x7c\xc7\xfe\xf8\xca\x1f\x6a\xd3\xf5\xa7\xb2\x54\x55\xb8\x2c\xbf\x62\xc0\x7f\x2b\x17\x2e\xe1\x2f\xe8\xef\xeb\xe0\xbf\x45\x62\x03\x43\x06\x9c\x7f\x1c\x78\xd0\x55\x2f\xee\x55\x95\x29\x83\x1d\xcd\xd2\xf5\xd5\x40\x71\xcb\x18\x09\x36\x7d\x6d\x61\xbe\x65\xd2\x06\x8f\x73\x80\x9b\x0d\x2f\xcb\x22\x40\x0b\xd6\x72\xfc\x86\xcc\x20\xb6\x05\xba\x82\xf9\xbc\x0e\xde\x9c\x1d\x76\x01\x48\x4a\x26\x10\x5e\x28\x40\x86\x9a\xf9\x67\xa2\x0e\x7c\x9b\x60\x9d\xc6\xac\x53\x01\x42\x37\x63\xce\x54\x64\x09\xa6\xa6\x6a\x4f\x8d\xc5\x70\x31\x43\x62\x2c\x21\x5e\x17\xf3\x18\x5f\x12\xc0\xe0\xec\x68\x3e\xc6\x5e\xef\x63\x9e\xee\xff\xf5\xeb\xe7\xaf\xa7\x3b\xc6\xe5\x4c\x12\x9b\xc9\xbe\xf6\xb6\x5b\xc0\x70\xa2\x10\x06\x3d\xcc\x23\x20\xa6\xb0\x69\x3d\x83\x6b\x8e\xb2\x0d\x52\x94\x28\x9d\xb9\xc7\xc0\xd4\x1f\x93\xfe\x4d\x3e\xa8\x0c\x18\x2b\x35\xab\x2e\xa9\xfc\x3e\x60\xbd\x0c\x13\xfe\xbf\x81\xb0\xac\x76\x2c\x2e\x54\xbd\x57\xb7\x6e\x5b\x14\xb6\x55\x81\x38\xf0\x73\x83\xaf\xf7\x4d\x2e\x61\xcc\x06\x6f\xd1\x28\x46\xd0\xf6\xb5\xef\xea\xef\xc7\x72\xbb\xe0\x93\xdf\x00\x85\x0a\xc4\x6d\xd7\xa6\x5c\xc0\xed\xee\xbe\x60\x42\x05\xe2\xad\xee\x8e\xdb\x06\x53\xec\xbe\x7f\xbf\xdc\xdd\xb6\xdb\xe2\xa6\x59\x16\xb7\xb6\xde\xd2\x55\x23\x6e\x74\x61\xe8\x98\x7b\xf1\x08\x07\xce\x77\x75\xe1\x7e\xfc\x27\x20\xa4\xbe\xd6\xb5\x89\xfe\x05\xac\xe8\x3c\xe1\xa4\x4e\x89\xef\x20\x31\x0d\x33\x77\x43\x1e\xc2\x87\xac\x7c\xc0\x13\x02\xeb\xfb\x32\xde\x24\x0d\xfe\x8b\x04\xf6\xe5\x66\xf3\x39\x61\x89\x7b\xc7\x6e\x05\x68\x4e\xec\xf5\xdb\x69\xf8\xf3\x18\xdb\xfb\xd8\xaf\xbc\x95\x13\x75\xfa\x44\x88\xd0\x2c\xe1\x46\x75\x8b\x7c\xdc\x78\xf4\x33\xc2\xec\xbc\x28\xdb\xae\x93\xbb\xa9\xfd\xdb\x95\x3f\xa5\x8c\x5e\x0d\xa8\x9f\x8f\xf2\x1a\xc8\xcf\x13\xf2\xa7\x4d\xee\x1b\xe1\x8e\xcb\xcb\xfb\x40\x30\xf0\x9d\x4a\x2d\xc9\x92\x0f\x62\x9a\xba\xb8\xf5\x06\xa2\xec\xbd\x62\xb7\xe5\xc0\xfa\x8e\x0b\x47\x88\xed\x0d\xb5\x24\x5b\x19\x07\x7a\xdf\x0d\x4e\xc5\x9b\x3d\x71\x0b\xd1\x76\x75\xcb\x65\x90\x85\x8d\x7c\xba\x73\xfd\x37\xd1\x73\xd7\x6d\xb0\x00\xa8\xc5\xcf\xfe\x8a\xb6\xec\x46\x0b\x9e\x19\x69\xbf\xdc\xe1\xb5\x58\xc4\x40\x45\x9a\x67\xea\x0e\x9c\x3f\x56\xd0\x4c\xe9\x15\x30\x86\xed\x2e\x9d\x7d\x9b\xb3\xd9\xbf\x71\x1a\xea\x74\x41\xa7\x71\xe7\xcb\xff\x2e\xbc\xf2\x23\x90\x80\x3f\x85\x8b\xdf\x56\x9a\xb0\x6f\xc6\xf9\x67\xb9\x59\x0d\x4c\x1d\xd3\x0f\xda\xea\x76\xc7\xd8\xfa\x6a\xb5\xf8\xe5\x0e\x41\xc3\x3c\xae\x03\x35\xae\xd7\xda\xad\x38\x82\x04\xec\xe4\x45\xaf\x5f\xb8\xf0\xd1\xed\x79\xd9\xed\x7e\x48\x8b\x6e\x3f\xdf\xd1\xfb\xfd\x01\xcb\xf5\xc2\xea\x0f\x46\xa7\x89\xee\x5f\x07\x88\x37\x07\x40\xdd\x5f\x58\x02\x99\x81\x8e\x39\xa3\x0d\x64\xf9\x91\xde\xfc\xed\xaf\xc7\x46\x70\x58\x25\x11\x63\x0a\xa6\x8f\x25\xa7\xe2\x25\xc6\x63\xbe\x8e\xa6\x4b\xb0\xc8\x8d\xd8\xa1\x9b\x05\xdd\x0b\x16\xd9\xe0\x35\xe2\x2d\x62\x25\x0b\x56\x79\xb4\x4b\x1e\xd3\xe6\x56\x5b\x12\x90\xa3\xb2\xe4\x7d\xef\x4f\xb2\xcc\x22\xb3\xdb\x4f\x6f\x8c\x84\xd4\x55\x31\xe5\xe1\x62\xca\x45\x86\xf3\x16\xe0\xe8\x6d\x16\xfa\x87\xba\xe3\xcf\xaf\xb8\x7b\x6e\x6a\x65\x01\x0b\x7c\x42\x30\x49\xa8\xd9\x51\xab\x14\x23\x58\x05\x0b\x19\xad\xb2\xaa\x60\xa2\x12\x04\xa8\xb9\xaa\x9d\xd7\x84\xdd\xe5\x96\x5d\xa1\x9a\xf8\x65\xe6\x1a\x86\x0a\xf3\xe1\xc8\xf3\xc1\x91\x84\x3a\x00\x71\x58\x6b\x70\x54\x5b\xa1\x10\xcb\x0b\x7b\x5d\xc8\x86\xfe\xd1\x3d\x19\x7c\x70\xaa\x95\xea\x0d\x91\x8a\x6f\x54\x5d\xa6\x04\x5e\x36\x4e\x41\x2b\x89\x40\xfc\x89\x13\xd3\x2e\x5e\xa4\x33\x34\xe1\xeb\x06\x18\x6d\x2a\x3c\x06\xc1\xaa\xb2\x9a\xac\x22\x95\x7d\x0c\x53\xd3\x8e\x56\x56\x6b\x43\xa3\xc0\xe9\x48\x5e\xa0\xa9\xb5\x9c\xa9\x80\x3e\x79\x2a\x9a\x91\x7a\xec\xf9\x40\x11\x06\x92\x3e\x3a\x38\x1b\xb1\x89\xef\x28\x46\xed\xbc\x00\x24\x42\xeb\x3d\x20\xa2\x53\x8c\xab\xfa\x1a\x18\x68\xd3\x2b\x2c\xa9\x45\xeb\x99\x84\x55\x7d\xe7\xd3\x5b\xa4\xec\x65\xc8\x14\x1b\x2e\x02\xd2\x61\x37\xce\xc0\xc7\xd1\x80\xb2\xf1\xd2\x40\x17\x68\x47\x33\xb4\xbb\x80\x8f\xfa\x50\x71\x7a\x44\x2e\x00\xd9\x49\x07\x62\x78\xb5\x6a\xa0\x10\x82\xd3\xce\x05\x26\x32\x68\xfe\x80\x7f\x1a\xd5\x94\x75\x00\x2e\xaa\x14\x80\xb1\x16\x39\x38\x16\xe2\x1c\x4e\x9f\x91\x4a\x1c\x40\x72\x7a\x00\x88\x68\xab\xc0\xe2\x56\xdd\x83\x13\x48\xe6\x5f\x1a\x10\x43\xed\x38\x05\x2e\xab\x06\x35\x6f\x93\x36\x07\x30\x4f\xb9\xe1\xc9\xa4\x1f\xed\xf9\x82\x41\xc1\xb4\x72\x00\x3d\x0f\x90\x5e\x01\x18\x22\x2e\x50\x89\x05\xf8\x50\xe2\x84\x2a\x20\x47\x93\x21\x92\xa6\xe2\x84\x04\xc4\x54\xb1\x15\x97\xc9\xe7\x34\x54\x53\x5f\x98\x6a\x88\xfa\x53\x90\x03\xfc\xd3\x70\xef\x89\x20\xb2\xc5\x01\x47\x16\x58\xec\x60\x14\xd5\xa7\x17\xb8\xfb\x02\xb5\x9a\x5d\xa4\x54\xc0\xdf\x5c\x33\x15\x40\xcb\x62\x37\x9a\x04\x6d\x60\x44\x64\xe1\x69\x1a\xb8\x8f\x01\xec\x8a\x6e\x23\x5f\x8a\x0e\x48\x8c\x95\x17\x58\x90\xad\xa3\xc9\xb0\x45\x34\x60\x31\x66\x74\xd7\xf4\x6e\x45\x86\x40\xa9\x63\x8c\x07\xeb\xb9\x3c\xb4\xc9\x79\x15\x3b\x6d\x29\x00\xd9\xe6\x23\xc3\x53\x44\x5c\x49\xac\x32\xa4\xa4\x23\xce\x8e\x5d\x01\xb5\xe0\x9e\x58\x05\xb3\x0d\xb0\xf4\xa5\x26\x87\x09\x2d\xd1\x55\x92\xaa\x4f\x59\x72\x5d\xce\x2a\xf2\xa9\x01\x72\x7f\x39\xe0\x7a\xda\xd2\xe9\x2d\xeb\xa3\x0e\x99\x38\xb5\x03\x83\x9b\x3c\x52\x65\xe0\x6f\xd4\x38\x54\xc4\x4f\x82\x87\x6b\x60\x21\x80\xf1\x27\xa9\xe8\xe4\x38\x44\xf0\xe7\x26\x02\xb1\x78\x2b\xda\x90\xa8\x5d\x2f\x09\xf1\x90\x59\xc0\x7e\x85\xae\x2e\x7a\x96\x45\xc7\x69\xbe\xe7\x60\xfb\x42\x62\x3e\x69\x76\x24\xca\x15\xa1\x32\x21\xca\x0b\xc0\x81\x07\x3b\xf6\x90\x8d\x0a\x4e\x33\x50\x9a\x4d\x0e\x5c\x1f\xf5\xc9\x24\xa6\x17\x63\x6d\xe5\x33\x04\x1e\xa2\xd3\x80\x5e\xe0\x7d\x81\xbc\x04\x7c\x78\x0e\xda\x29\x05\x5b\x71\x14\xa4\xbe\xcc\x8b\x54\x85\xa4\x20\x08\xda\x8e\xbe\xb3\x9b\x06\x84\xea\xe4\x0c\x59\x89\x6a\x62\x77\xfa\x5a\xec\x81\x33\xf5\x67\x29\x2c\x41\x4a\x9f\x6b\x7c\x59\x96\xe9\xed\x61\xaa\xa1\x86\xa7\x5e\x54\x6b\x60\xe0\xbf\x16\x8d\x26\xb7\xec\x3f\xa8\x65\xf9\x40\x02\xc9\xae\x9d\xe5\x88\x55\xc2\x22\xd6\xbd\x46\xf4\x59\x1c\xec\x38\xa9\xd9\xab\x6a\xb4\x82\xe4\xe4\x03\xe4\xe2\xcb\x8a\x22\x24\x64\x49\x88\x87\x4d\x45\x74\x40\x37\xdb\xc7\xac\x83\x1d\xfb\x66\x58\x34\x7a\xf2\x97\x4c\xd1\x78\xd9\xce\xce\x98\x0a\xb7\x5f\xe3\x4a\x16\x2f\x12\x83\xad\x33\xe6\x06\x27\xc6\xc4\x6d\x98\x13\xc0\xa2\x97\xac\xcd\x57\x8b\xd8\x87\x66\x39\x89\x4e\x87\xb2\x4b\xc4\x11\xb0\xcd\x31\xe9\xb0\xe4\x89\x0e\x24\x52\xd0\x75\xc4\xc7\x69\x2b\xa1\x46\xdb\x4a\xe0\x90\x28\x56\x24\xab\xa9\x60\x21\xc6\xc3\x25\x48\xe8\xb4\xcf\x14\xab\xf6\x6f\xac\xd3\x32\x57\x53\x75\x81\x18\x08\x40\xb3\xd7\xca\x60\x9a\x75\x86\xc7\x2e\x01\xe1\x66\xfd\xa3\x0f\x3c\xf1\xf0\x87\x97\x76\x30\xc8\x65\x06\x12\xb5\x64\xa3\x1b\x0e\x5e\x07\x65\x71\xd4\x50\x2a\xf2\x92\xd8\xab\xce\xe3\x8b\x4e\xcb\xc2\x00\xdb\x6e\xc0\xe4\x57\xb1\xc7\x7a\x43\x2d\xf8\x4c\xad\x9c\x3e\x0b\xd5\xa0\x92\x31\x37\x48\x0b\x6c\xf4\xe9\xb1\xcb\x8b\x92\x0d\x1c\x7f\x73\xdc\x51\xd2\x31\x1e\x06\x81\x5f\x75\xfa\xe8\x0d\xcf\x16\x68\xa7\x2b\x4c\xd4\x7e\x6b\xb9\xe8\xbb\x02\x7a\x72\x36\xd4\x62\xc8\x0d\x5b\x17\xd1\x25\x26\xfb\x32\x52\x05\x52\x55\xdd\x9b\xa7\xa3\x29\x6c\x22\x09\x44\xfd\xf9\xf4\xd6\xb3\xe9\xaa\xb9\x39\x8a\x54\xed\x23\xc0\x5c\x6b\x9d\xcb\x5d\x55\x4f\x11\x95\xc6\x8c\x2d\xc6\xd2\x6c\x79\xc4\xd3\x54\x41\xcc\x1d\x36\x64\x73\x0e\xdf\x2a\x89\x58\x66\x88\x2e\xdc\x39\x77\xe8\x2a\x1d\xa0\x06\x4c\x86\xd2\x4d\xaf\xa8\x13\x70\xa5\x67\xe3\x77\x9e\x0f\x53\xcb\xf9\x53\x2d\xc0\x37\x2d\x41\x54\x47\x6b\x09\x4e\x6a\xc4\x68\x09\x98\x2c\x3c\x76\xeb\x63\xd0\x19\x05\x7e\xb7\x18\xa1\x00\x01\x7c\xbb\x40\x95\xd0\x56\xe8\x50\x88\x24\x31\xea\xdb\xd3\xc5\x2f\xda\x7a\x0f\xbe\x13\x5f\x1c\x25\x20\x7e\x45\xcb\xf1\x01\x55\x71\x6d\xe0\xc2\xcf\x2e\x91\xc7\xfe\x15\xe7\xfc\xa4\xb4\xfd\x73\xff\xb7\x5f\xdc\xe1\xd7\x3f\x0e\xe3\xb3\x31\x55\xe0\x57\xc1\xae\xcb\xbe\x12\xa7\x32\xd8\x11\xb1\xfd\x42\x25\x77\x24\x70\xbc\x27\xa4\x3e\xea\xd1\xba\x37\xd7\xe6\x80\x36\xed\xa8\xf3\x36\x44\xb6\x47\xa2\x1c\x0a\x32\x9a\x28\x86\x8c\x2d\x1f\x6a\x41\xd5\x22\x28\x1b\x80\x6a\xe4\xbd\x84\x61\xda\x8b\x03\x83\x1c\xe5\xc0\x07\x0a\x3e\x3a\x1d\x2f\x11\xcc\xfa\xbe\x22\x08\x10\xd8\x80\xaa\xce\x38\x4a\x3a\x57\x30\x62\x3d\x18\x6b\x04\x22\xa2\x9a\x3c\x08\xdc\x99\xca\xa3\xc0\x36\x77\x94\xa3\x0e\x8c\x98\x6d\x9c\x4d\x33\x88\xa3\x1a\x53\x2f\xf3\x07\x86\x6b\xa5\xf7\x05\x02\xd1\x11\x47\x91\xd2\x5e\x0a\xa9\x20\xc0\xd1\xac\xbf\xdc\x1b\x70\xa0\x08\x06\x93\x4c\xb5\x81\xc2\x10\xa1\xe2\x01\xaf\x9f\xf7\xc1\xf8\x31\x43\x07\xea\x95\xa6\x6a\x20\xb4\x94\x8c\x18\xac\xcc\x93\x0a\x29\xaa\xc5\x92\x4f\xf5\x00\x06\x01\x38\x0d\x72\x2a\x58\x7b\x62\xff\xae\xc7\xfa\x82\xef\xf6\x0b\xec\x66\x31\x25\x45\xd5\x31\x55\xb1\x81\xcc\xa5\x73\x46\xc2\x59\x54\x03\x2a\x0c\x82\xca\x10\xa5\xb9\x41\x98\x80\x53\x1a\x3e\xc8\xb4\x97\x0c\x62\xbf\xfe\xd1\x35\x9a\x00\x89\x95\x80\x32\x96\x54\xaa\xea\x84\x8a\xd4\xf9\x39\xc8\xcf\x09\x14\xa8\x55\x5d\xc2\xea\x48\x39\x56\x5d\x90\xce\x54\x1e\x88\x82\x05\x5d\x67\x0e\x46\x7c\x00\xe9\xf5\x13\x46\xfc\xb3\xf1\xa6\x01\x71\xfe\x69\x9f\x28\x64\x30\xad\x76\xca\x53\xd5\xdc\x54\xbb\x6e\x30\x88\x20\x27\xb8\x9e\xa5\xaa\xed\x46\x43\xd1\x9a\x8e\x7d\x37\x27\x68\xaf\x54\x9d\x06\x85\x7c\xcc\x0e\x78\x87\x2a\x7b\x6a\x69\xb6\xb6\x85\x82\x5d\x3a\x90\x23\xa8\xc8\x77\x54\x25\x52\x68\xc4\xda\x47\xa1\xa4\x4e\x08\x94\x0a\x85\x5a\x1d\xd5\x50\xc9\x37\x83\x86\x27\xae\x8e\xb2\x6a\x34\x86\x69\x9e\x6c\xd3\x5c\x97\x1b\x9d\x2b\xa1\x4e\x6a\x76\xd0\xc5\x82\xc1\xce\xca\xed\x4c\x8b\xaf\xd7\x26\x89\xc3\xfc\x61\xf5\x4d\xea\x62\x50\x08\x8b\xbd\x4f\x70\xd3\x35\x99\x6d\xd2\x73\x7f\xd3\x02\x6e\x96\xb2\x0f\x15\x31\x26\xfd\x03\x83\x3a\x27\xbc\x6c\xd6\xb9\x12\x6b\x9a\x3e\x7a\x60\x55\x6c\x80\x88\x3d\x50\x50\x59\xe0\x6b\xa6\xa4\x96\x01\xc7\x42\xb9\x58\x08\x0b\x79\xbd\x08\xec\x35\xda\x2d\x3a\xbb\x98\x2d\x26\x60\x9f\x55\x5d\x1e\xec\x88\xcd\x16\xd5\x6e\xa1\xd8\x22\x96\x4b\x20\xee\x65\x02\x9b\xc4\xe8\x64\xc4\x46\x86\x96\xfb\xd1\xce\x68\x3d\x19\xab\x35\x97\x40\x49\x8d\x32\x2c\xcd\x5c\xb4\x7d\x88\xcb\x8d\x08\x2f\x88\x69\xb0\x63\x57\x03\x2a\x65\xec\xe3\xa9\x5c\x91\x29\x64\xc1\x06\xf1\x62\x83\x55\xd5\xb7\x9f\x30\xa4\xef\x23\x3d\xcc\xfd\xaa\x75\x89\xcd\xa3\x5f\xea\xc7\xda\x2d\xfd\xe1\xca\x7c\x2b\x04\x76\x9b\xae\xd6\xb7\x1c\x52\x8f\x47\xf1\x99\x7f\x77\xbb\x94\x4d\x12\xe6\xed\x58\xc0\xaf\x7c\x85\x85\x52\xcc\x43\xf0\x24\x1e\xca\x82\x98\x55\xa8\xca\x2a\x71\x85\x0b\x25\xa8\x69\x13\x10\x4b\x24\x24\x08\xe1\x6e\x11\x44\x00\x42\x48\x2e\x0c\x6d\x89\xba\x54\x9d\x8a\xac\x83\x0d\x3d\x6e\x01\x03\x42\x6a\x27\xde\xd0\x59\x1c\x8a\x98\x9b\xa5\x78\x00\x77\x16\x23\xce\x8f\x88\xb3\xaf\xe6\x9f\xa8\xdd\xc3\xa3\x0b\x25\xac\x2a\x15\xa9\x33\x39\xec\x55\x0c\x63\xcc\x35\xca\xfd\xe0\x27\x4c\x2f\x17\x75\x19\xfb\xa6\xa6\x42\x1a\x32\x24\x7e\x21\xcf\x43\x18\xfa\x7a\x14\x06\xd6\xf9\x92\x07\x10\xb7\xd8\x15\xc6\xe0\x92\x53\x39\x78\x50\x87\xc4\xab\xb5\xa2\xba\xcb\x2a\x51\xf7\x8b\xd5\x86\xb5\x3a\x4b\x7c\x83\x62\xde\xfa\xb1\x47\xc3\x35\x95\x60\x2a\x12\x3c\xa5\x5e\xc3\x52\x2f\xf0\xae\x6b\x04\x50\x0f\x0e\xc4\xa1\x82\x82\x98\x63\xa4\xc4\xa2\x8b\x2b\x95\xbd\x9e\x44\x38\x64\x3e\x4f\xcf\x92\x74\x39\x46\x68\x41\xea\x47\x3b\x13\x11\x36\x16\xa3\x5a\x6a\x5c\x81\x3e\x4f\x11\x04\xc7\x6a\x2d\x64\xec\x02\x67\xb9\xd2\x18\x18\x0a\x83\xaa\x19\x07\x8a\xe6\x01\x50\x5b\x5c\x0d\x7c\x06\x3f\x8f\xbe\xc6\x16\xba\xbb\x20\x82\x63\x4e\x1b\xa0\x7a\x89\x85\xf2\xa9\x4c\xf5\x5e\xd4\xba\x80\xcc\xc9\x8d\x38\x2e\x15\x02\x7f\xd5\x0b\xcf\xbb\x99\xd7\xf3\xfb\x31\x27\xfe\x6a\x7e\x27\x9b\xdf\x5b\xae\x51\x90\x99\xcc\xae\xed\x73\x1c\x3f\xcc\xc2\x02\xb8\xfb\x46\xe3\x66\x56\x61\x7c\x24\x4d\xfb\x5f\xeb\xc5\x4f\x5a\x2f\xfe\xa5\x8b\x2c\x75\x91\x1f\x9c\x65\x7f\xfe\x3f\x7f\xed\xff\x78\xd6\x14\x0a\x5b\xb1\x14\xbe\x6f\xeb\x6f\xc4\x0e\xf8\x89\x6d\x76\x91\xa0\xcb\x20\x24\x4f\x25\x8d\x11\xc6\x80\xe8\x33\x2f\x22\x62\x2b\x90\xa5\x2b\xd2\x76\xda\xb2\xd8\x30\x20\x59\xa1\xf3\xd1\x5a\x03\x64\x96\x47\x32\x8b\x76\x38\x22\xc9\x04\x51\x10\xf3\xb8\x82\x1e\x06\x41\x61\x2b\xe3\x2e\x0b\xe5\x38\xc5\xfd\xe4\x78\xcd\x2f\x30\x0b\x0a\x71\x96\xc7\x72\x8f\x0d\xf9\xf1\x17\xf3\xac\x6f\x70\x23\x26\xa1\xef\xc2\xf1\x06\x8b\xac\xb7\x18\x86\x23\x2f\x30\x76\x42\xa6\x04\x08\x71\x40\x93\xcf\x63\x2e\x92\x4e\xdf\x8f\x42\x5c\x96\xd0\x13\x9c\x86\x86\xed\xf3\x4c\x09\x01\xb5\xab\x4c\x8f\x69\xbb\x7e\x03\xe5\x14\x40\xf4\x94\xca\x46\x9a\x59\x12\xa6\x73\xd4\x50\x92\x65\xf8\xc2\x59\x8b\x6a\x3f\xa5\xe7\x1f\x57\x2c\x33\x30\x5b\x56\x18\xb3\xf9\x83\xfd\xc6\xba\xc3\x73\x34\x5a\xdc\x7b\x7a\xcb\xe8\xb2\x55\x19\x6d\x5b\x25\x9c\x97\xd0\x7a\x09\xbc\xdc\xff\x3c\xa3\xa9\x6d\x29\xb8\xcf\xa9\x95\x7d\x72\xdf\xa2\x91\x5e\xe7\x94\xd9\x0d\x5c\x6d\x56\x2d\x92\xd4\x75\x60\x51\x68\xbc\x43\x20\x6b\x00\x0b\xd5\x7c\x27\x38\xf0\x36\x5d\xd1\x35\xa7\xf5\xe9\xd3\xe2\x00\x9f\xa7\x87\x3e\x72\xa4\xda\x74\xa4\x37\x84\xac\x25\xbf\x48\xf2\x65\xf3\xfc\x53\x8e\x26\x80\xee\x93\x8e\xfc\x24\xa1\xfc\xb8\xea\x13\x57\xdb\xc2\xd1\xb6\x85\x65\x53\xf5\x91\xb9\xea\x13\xfb\xae\x30\xee\x59\x6a\x39\x0f\x00\x2a\xfc\x4b\x14\x3d\x27\x8a\xbe\x18\x0c\xbf\x1e\xbe\x16\x3f\x77\x22\x74\xfc\x01\x46\xcb\x80\x7d\x9f\x0c\x97\x99\x0b\x54\x0d\xd5\x87\xeb\x8b\x50\x69\x03\x0e\xb6\xf7\x21\x54\x53\x3d\xaa\x69\x96\xf6\xf3\x73\xaa\x48\x81\xb5\x52\xda\x4b\xc4\xce\x9a\x1d\xa7\xed\xf2\x7c\xb0\x8a\xfa\xc6\x23\x9c\x73\xa8\xc9\x6d\xd5\x64\xc9\xc4\x1c\xc3\x3b\x6a\x5c\xd4\x05\x34\x9a\xe8\x6e\x56\xe6\x91\x58\x5c\xaa\xf1\x67\xbf\x04\x64\x09\xdb\xf1\x2a\x76\x9f\x32\xdc\xf0\xa0\xe1\x07\x02\x8a\xde\x42\xc5\xe3\x4d\x02\xd6\xae\xa7\x11\x03\xeb\x39\x27\xe4\xa4\xd7\xbc\x38\xeb\xce\xa7\x37\xeb\xe9\x11\xec\xb3\xdf\xd1\x36\xa7\x35\x0d\xeb\xb2\x1c\xca\xc2\x63\x1b\x12\x14\x76\x4f\x21\x37\xf8\x7c\xfa\x6b\x58\x33\x50\x69\x5e\x2f\x22\x3e\x0e\xec\x8f\x61\x5f\x08\x9b\x66\x7d\xcf\x2c\x60\xe3\x2b\x51\x6c\x6a\x9f\x71\xe8\xc7\xbe\x95\x03\x46\xd9\x10\xf2\x7b\x98\x47\xbd\xf6\x09\xbf\x0e\x36\xfb\x00\x03\x20\xf8\x9d\x6a\xdc\x6f\x95\x88\x4c\xa4\x50\x5e\x16\xcd\xf0\x03\x87\x25\x68\xe3\x04\x96\x97\x09\xbb\x13\xdd\x4d\xec\x98\x2a\x36\x18\x22\xbf\x64\xca\x12\x07\x3b\x4e\x1d\x5e\x75\x92\xe9\x4f\xd8\xd1\x90\x73\x86\x84\xf9\xbb\x6b\x7c\x99\x17\x67\x94\xde\x13\xfe\xde\x03\xb3\xed\x4b\x51\x7b\x27\x2e\xeb\xe0\x74\x50\x9a\x68\xa8\x04\x3e\x11\xd6\x5e\x09\xac\xeb\x16\x7a\xbb\xf4\x4d\x53\xd0\x83\x67\x7e\xaf\xc4\x88\xa7\x2e\x25\x21\x3c\x85\x29\xf9\x42\xb5\x21\x6c\x23\x52\xca\x99\x40\xb8\x2e\x41\xb4\x9c\xe1\x5c\x22\x6a\x42\x2a\xa5\x9a\x86\xcd\x4e\xb8\xcd\xba\x98\xf5\x25\x49\x7b\xd7\x2a\x75\xcc\x15\x15\x4c\xd2\xa3\x06\x8a\x83\x1b\x5e\xab\x7b\x11\xcc\x32\x39\xcf\x35\x84\x94\x65\x6a\xaa\x5b\x53\xe3\xf4\xc2\x3d\x21\x7f\x1a\xea\x7d\xeb\x2a\xa2\xb7\xa9\x12\x03\x7c\xc2\x20\x30\x13\xa8\x1d\x43\xa6\x18\x02\x65\xcf\xf8\x6c\x31\x9f\x9f\x19\x61\x1e\x1c\xb3\xd1\x79\xf6\xb3\x1b\x55\x34\xe4\x91\xa3\x0e\x47\x6a\xcf\xa6\x68\x38\x9b\xd8\x3a\x71\xc8\xb3\xa1\x60\x45\x38\xdb\x73\xc3\x37\xad\x6b\x7a\x64\x89\xb6\x33\x0a\x76\xd0\xe9\xec\xd7\xd3\x2c\x0e\x79\x3b\x97\x00\x5c\xee\xfb\x44\x3a\xb9\x7a\x50\x09\x7c\x45\xa2\x6b\xd3\x4b\x02\x4d\xbe\x1d\x2d\xb4\x24\x20\xca\x20\xa6\xa3\x4a\xc9\xd7\x65\xc6\xc1\x8d\x30\x43\x83\x47\x87\x04\xdf\x2f\x8b\x14\x62\x61\x0b\x34\x79\x99\x35\x43\x0c\x62\x43\xd2\xfb\xdd\xa6\x0b\x41\xda\x4f\x73\x8e\x81\xfd\x58\x42\x82\xbc\xe5\xc1\x8e\xfd\x15\x87\xfd\xf2\x47\x04\xbe\x40\xb4\xeb\xa0\xb9\x94\x14\xaf\xaa\x7e\x74\xc6\x3d\x0c\xb9\xd9\xb0\x04\xd9\x72\xb2\x58\x15\x20\x82\x66\x2b\xd0\x65\x01\xda\x5a\xea\x0c\x6d\x47\xd7\xba\xd9\x92\xcf\x67\x0c\xc5\x6c\xa8\xa8\x17\xe1\xed\xcf\xc2\x3b\x2f\x17\x02\xdf\x17\x1c\x67\x2b\x8e\x3b\xaf\x38\x6e\x7b\xc5\xf1\x97\x35\x65\x55\xf3\xb0\x68\xe6\x65\x21\x7c\x2c\x22\x37\x1f\xa8\x22\x9e\x94\x74\x4e\x08\x04\x3c\x74\x56\xb0\x8a\x61\x43\x2f\x67\x15\xac\x85\x07\x3b\xfe\xa8\x60\xfd\xdf\xbe\x06\x45\x8c\xf7\x1e\x6e\x14\xc1\xa6\xad\x0f\xc9\x63\xa4\x12\xb2\xda\x24\x33\x1a\x02\x7f\x9d\x7b\x02\x89\x1b\x96\xeb\xd2\x04\xe9\x5f\x01\x61\x74\x44\xdc\xd5\xf7\xaa\x43\x96\x44\x8a\x78\xb0\xf2\xae\x26\x51\x1e\x85\x72\x56\xe9\x9a\xb3\x0e\x21\x83\x5f\x0d\x3f\xaa\x49\x7c\x2d\xc3\x74\xf1\xf5\x5b\x2b\xaf\xca\xe0\x94\x10\x12\x86\x07\x6e\xc5\x51\x80\xa8\xcf\x8b\x04\xae\x18\x23\x45\x1f\x5f\x0a\xa5\x10\x06\x3b\x5e\xaf\xeb\xdf\x33\xd5\x1f\x84\x00\xbd\xb3\x98\xee\x43\x07\xaf\xb5\x5c\x3b\x6c\xaa\x87\xa2\x1d\x3d\x6b\xb4\xa4\x48\x39\xc6\x03\x81\xda\x3c\x16\xf8\x21\x43\xcd\x24\x16\x37\xf6\x33\xd6\xb2\xa3\x50\x8c\xb2\x4a\xad\xc2\xb2\xc3\xdf\xbd\xd4\x7e\x39\xc3\xd3\x90\xcf\x2c\x15\x61\xc1\x52\x71\xc5\x68\xb2\x4e\xfd\x99\x93\x5c\x30\xc2\x42\x38\x50\xd4\x65\xc5\x5c\xdd\x93\xc9\x13\x28\x01\x16\xd0\xa7\x77\x1d\x92\x1f\x2b\x6c\xc2\x8d\x0d\xa9\x0e\x6f\x7a\x73\xb1\x62\x77\x63\xb5\xe2\x70\x6b\xb1\xe2\x1b\x6b\x95\xbf\xb3\x54\x79\x7d\x26\x95\x7f\xc9\x04\x20\xd0\x81\x80\xde\x89\xc4\xc1\x52\x46\x9d\x36\x19\x87\x17\x21\x43\x30\xe1\x2e\xcf\xea\xc0\x3c\x1b\x72\xee\x3c\xe6\x36\xb5\x2a\x4e\x5d\xa9\xd2\x37\xd2\x59\x4e\x29\x1d\x29\x95\xd6\x75\x9b\x49\xb5\x99\xc6\x0a\x85\x52\x75\x08\xe5\x9c\x74\x44\x5d\x8d\x2d\x86\x7e\x4b\x21\xc3\x35\x9f\x49\x1a\x36\x60\xca\x2e\x03\xbd\x31\x3d\xa0\xa8\x70\x20\x04\xe7\xde\xec\xc4\xc3\xb9\x02\xb5\x55\x1d\xf9\x4c\xa5\x2d\x06\x48\xac\xa2\x12\xa0\x1c\x10\x55\x86\x4d\x25\xc4\xac\x09\x50\x1c\xc4\x51\xca\xf2\x1d\x4b\xfb\xdf\xfe\xd8\xff\xe3\xc1\xbc\xd2\x4a\xc1\x97\x21\x51\xab\x6b\xf2\x20\xf2\x21\x8d\x96\x1f\xbb\x41\x36\x53\x13\x30\xfe\x16\x27\x6d\xbc\x4b\x32\xd0\x85\x31\x42\xf7\x13\x6a\xa9\xbc\xc6\xb9\xd7\x83\xf9\xa3\x92\x94\xba\xab\x14\x44\x65\x9b\x8f\x8b\x2d\x5b\x0f\xaf\x8e\xcf\x0b\x02\xc4\xf8\x93\x9b\xec\x97\x4d\x6e\x88\x29\x2d\x46\x60\x3d\x7d\x5f\x36\x2d\x5e\x9a\xf6\xe0\xfb\x78\x48\xfe\x36\x95\x30\xb2\x41\xe5\x34\xf8\x51\x90\xcc\xbc\x49\xfb\xb3\x3a\x35\x23\xfd\x39\xa7\x82\xba\x8d\xa4\xd0\x89\x66\xe7\xb4\x30\x73\x7f\x4e\x3b\xfc\x55\x3b\x76\x08\x86\xaf\x94\x5e\xc3\x82\x29\xec\x23\x51\x8c\x3b\xd4\x19\xa9\x6c\x70\x00\x3d\xd6\xcf\xbf\x7d\x47\x42\x75\xf0\x2a\x72\xe2\x5c\x96\x5f\xe7\xc7\x02\x5a\xac\x52\x8c\xef\xf1\x6e\x56\xf3\x99\x95\xf6\x5e\x56\xf3\x07\xd2\x94\x2f\x69\xcd\xa7\x37\xe0\x36\x6e\x53\xc1\xde\xce\xe9\xe6\xef\xcc\xe9\x9e\xb7\xcf\x51\x50\xab\x2d\x05\xdb\xf3\xd3\xbf\x97\xd9\x05\x3d\xe9\x59\x3e\x16\xc4\x20\x53\x86\xe4\x77\xbd\x85\x07\xd3\xac\x87\x48\x2d\xbe\x6f\x60\x1f\x7f\x4f\xc6\xf3\x07\xa2\x27\x46\x5d\x9c\x54\x67\x5f\xab\x95\xfd\x95\x5a\x6d\x3d\x21\x69\x99\x7b\x74\x4e\xef\x1e\x51\xc6\x30\x2f\xe8\xaa\xeb\x77\x79\xc0\x54\xf8\xee\xec\xee\xef\xe9\xbe\xe7\x53\xac\xeb\xe4\x2e\x9d\xa3\xa0\xc9\x56\x12\x70\xd6\x6b\xdb\xeb\x8a\x53\xed\xab\x0c\xe0\x65\xf6\xa9\x25\x86\x96\x1b\x79\xa1\x77\xd3\x9e\xc3\x8c\x5b\x28\xf0\xd0\xcc\xd0\x58\xee\x64\xa8\x0a\x76\xb3\x66\xc7\x1d\x91\x63\x4e\x9e\x39\x70\xda\xca\xfa\x6e\x03\x48\x31\xdf\xc3\x26\xd7\x91\xb5\xf6\x26\x71\xf9\x76\xda\xb7\xb9\xd4\x97\x3b\x33\xc6\xbd\xc9\xfa\x90\x9b\x1b\x01\xe1\x4e\x72\xfb\xed\xc6\x3d\xb5\xbd\x76\x3d\xae\x9e\xc6\x75\x4a\xdb\x89\xc7\xef\x1d\xe7\x70\x9e\x82\x5d\xd2\x90\x5f\x99\x8a\x9f\xf1\xff\x5d\xc0\xc1\x37\x72\x7e\xdf\x17\x97\x5f\xbd\xe1\xb4\x3d\xb6\xde\x6f\x0a\xd1\x1b\x29\xcf\xbc\x81\xe5\xcb\x86\xbc\x78\xbb\xf6\xb7\x29\x4f\x6d\x73\x87\xef\x75\xe3\xf1\xe1\x66\xbf\x93\xfc\xcd\xe1\x16\x83\xc1\xaa\x11\x57\xc9\xdf\x7e\xd8\x6c\xbe\x81\x87\xfa\xe5\x23\xf3\xf5\x23\x6f\x88\xf3\xfb\x8d\x7b\x72\x94\xfd\x75\x07\xdf\xff\x3e\x5a\xa6\xc5\x2e\xdd\xc8\x38\xdd\xda\x4a\x7b\x5d\xe9\x71\x3f\x92\x20\x8e\xa6\x3f\x89\xdf\x08\x6b\x61\xb9\x05\x18\xd2\x50\x3e\xca\xe6\x16\xe0\x0d\x42\xae\xe7\xdb\xfd\x55\x4c\xfd\x42\xe5\xdf\x4e\x3f\x5d\xe2\xc9\xbb\xa9\xad\xff\x1f\xca\x49\xbf\xee\xad\xc7\x36\x77\xb1\x95\xfb\x53\x37\x65\xff\x37\x27\x92\xa3\x0b\xbe\x8a\x3c\xfa\x67\x0f\x98\xb8\xb1\x5c\x9e\x03\x94\xe2\x0a\x90\xdb\x2e\xb7\x80\x83\x8d\xf0\xa3\xb6\x1d\xa6\x30\x0b\x86\x32\x88\xa2\x2f\xa3\x86\x6e\x47\x2d\xc5\x7b\x51\x4b\xcb\x00\x87\xb9\xea\xf0\x63\x71\x09\xd7\x2f\xec\x41\x40\x85\xb0\x39\x66\xb7\x2d\x93\xf4\x18\xd5\x8d\x3e\xe9\x76\xb0\xc0\x3a\x8a\x40\x3a\x9a\xf5\x46\x7c\x41\xba\xc2\xa1\xbd\x13\x96\x60\xb2\xe0\xce\xc6\xfe\x86\x9a\xb9\xa4\x0a\xea\x8a\x80\xdb\xf8\xfd\x8c\x5c\xfb\x53\x5e\xca\x0f\xf0\x1d\xde\xc1\x43\xda\x18\xec\x97\x50\x9f\xf5\xa9\x33\x9e\xcf\x1d\xd4\x20\x9b\x07\xcf\xcc\xe7\x67\x17\xa6\x87\x82\x69\xfe\xcf\x1a\x79\x9f\x61\x46\x38\xff\xf5\xdc\x79\xb6\x6f\xfe\x3e\xde\x53\x96\x66\x66\x72\x51\x83\x74\xe1\x0b\xb8\x26\xdf\xde\x04\x9d\x72\x73\xcf\x34\x2e\x32\x29\xb8\x8c\x98\x33\x9e\xa8\xc5\x33\x9e\x3d\xce\x37\x94\x95\x37\x40\x28\x2f\x35\xb3\xae\x41\xe6\xcd\xb8\xef\x57\xae\xef\xc1\x6f\xd9\x35\x41\x4f\xc6\xb5\x19\x1a\x08\x3b\x4e\x8f\xba\x1e\xa6\x5e\x7d\xcc\xf9\x80\x08\x14\xb9\xdd\xab\x95\x96\x5e\x82\xeb\x3e\xad\x94\xf4\x0a\x95\x54\x21\x0d\x71\x3d\x64\x6e\x87\xac\x43\x93\xf7\xeb\x3b\x98\xd2\x3b\xaf\x77\x35\x8e\xdd\xcd\xbf\x05\x0e\x22\xef\x0b\x3f\xc6\xa4\xc3\xfb\x09\xd4\xe6\xf1\x5e\xfb\x1e\x2d\x32\x6f\x2d\x30\x5b\x4f\xfc\x9a\x4f\x1d\xbd\x90\x17\x4e\x09\x4c\x49\x39\x86\x0f\xb7\x81\x6b\x18\xb6\xd9\x1c\x3f\xc2\x96\xf3\xe7\x26\x2d\xe9\x97\xaa\x98\x89\x0b\x5d\xf6\x3d\xe2\xfa\xb1\x57\x65\x74\x0c\x96\xa7\xbd\x47\x08\x41\x31\x49\xc1\x3e\x23\x6f\x03\xc7\x97\xf9\x99\x73\x51\xa7\x4f\xef\x58\xf6\x68\xcd\xd9\x79\x44\x31\x17\x35\x6f\x62\x65\xbd\x25\x87\x7e\xb4\x1d\xdd\x90\xa3\xc3\xf1\xe5\xfa\x2e\xef\xbb\x2b\xa7\x0f\x18\xfd\x79\x5e\x2c\xdb\x74\x1b\x66\x77\xa9\x62\x4d\xf7\x40\x72\xbf\x7b\x40\x3c\x34\x9b\xce\x54\x48\xab\x57\x29\x5b\xee\xd0\x53\x87\x58\x2c\x5b\x4b\xf9\x7b\xc3\x78\x5f\xbb\xf0\xd3\x2b\xf3\x71\x79\x62\x1a\xf1\xfc\x5a\x97\xb7\x60\x00\x36\x4a\xef\xcb\x33\x0f\x8f\x10\xc3\xde\xde\xe3\x23\x5d\x61\xf3\x47\xf0\xcf\xfa\x3c\x5c\x9f\x61\x76\x89\x62\xad\x03\x8e\x2f\xab\x9b\xd2\xa4\xe0\xc3\x72\x35\x6e\xaa\xa9\x45\x85\x62\x6b\x8e\x18\x77\xd5\xc1\x8e\x88\x58\x22\x6c\x79\xb5\xd6\x86\xf9\x1d\x53\x41\xa7\x4f\xa4\xd2\xf1\xb2\x4c\xb5\x2e\x4a\xa7\x63\x38\xdf\x05\x58\xe0\x1f\x54\x7b\x30\x36\xbe\xc7\x82\x30\x85\x74\x19\x62\x3d\x94\x8f\x25\x25\x26\x5e\xf1\x36\xb2\xe2\xff\xb9\x42\xc4\x38\x1d\x57\x86\x89\x41\x82\x87\x74\xac\x2b\x63\x06\x92\xe2\xb5\x1d\xb1\xb3\xb0\x30\x67\xa6\xff\x3e\xea\xc6\x19\x67\x1a\xcc\xb2\x44\x6e\xfa\xad\xbd\xb2\xaa\x78\x61\x4d\x91\x34\xdd\xf9\xe1\xea\xe9\x0d\xae\xd2\x86\x0b\x6f\xba\x39\x3f\x5c\xfd\x26\x6a\xe6\xc8\x80\x04\x73\xfd\x62\xcf\x72\xd3\x8f\xdb\x8e\x00\x2a\x5f\x6a\xa5\x06\x58\x88\x3d\xea\xd3\xa7\xeb\x4e\xb4\x9b\xfc\x23\xf5\x0e\x1f\x6d\xbd\xd7\xda\xdb\xc1\xe5\xf5\xe7\x8d\xf5\x47\x91\x63\x8b\x5a\xf0\x6b\xa1\x06\xea\xdc\x6d\x99\x46\xe9\xb6\x54\xeb\xe1\x68\x6b\xb9\xc6\xfe\x7d\x79\xe2\xe1\x31\xeb\x87\x0d\x47\xa2\x7d\xf9\xc8\x4b\x2a\xd6\xe9\xbf\xf7\x44\x67\x7f\xfa\x82\x41\xad\x20\x8a\x7b\x9b\x3f\x2d\x7f\xb8\x65\x91\x16\x0b\x8e\x32\xd9\xd3\x0d\x82\xb5\x8a\xd7\x9e\x4f\x9f\x6d\xf0\x5a\xf5\x6b\xa1\xe2\xcb\xcb\x8c\x9c\xb4\x74\xde\xbc\xcd\xad\x9c\x2a\x68\x11\x98\x5d\x43\x67\xd4\x4a\xdd\x57\xf7\xde\x5e\xc3\x0d\xf7\xe1\xd1\x6d\xe1\x9b\x7e\x2c\x7f\xb4\x11\x8d\xc4\x56\xbd\xe5\x5a\xb4\xc1\xed\x5f\xb6\xee\x38\xae\x84\x1b\xa6\xe5\xb6\xc8\x7b\x76\xe0\xfe\xfe\x6f\x7f\xdd\x55\xe3\x9e\x80\x0c\xef\xa8\x61\xab\x1c\x12\x8b\xae\x61\x0a\x41\x46\x5d\x58\x2c\xac\x67\x41\x70\x08\x90\xa8\x18\x8f\x85\x32\x62\x34\x4a\x8b\x54\xa4\x93\x2a\xa3\x84\xc1\x4a\x28\x60\x3b\x58\x17\xc0\x05\x9a\x55\xca\x47\x57\x3a\x2d\x75\x1a\x1a\xe5\x58\x46\x40\x74\x14\x39\x22\xff\x60\x74\xe0\xbc\x2a\xf2\x8e\x93\xf3\x2d\xed\xc0\x60\x68\x68\x4b\xe9\x28\x24\x60\xe5\x6f\xbb\x44\x5c\x41\xd7\xb9\x64\x8a\x1b\x0a\x49\x39\x72\xa0\xc6\xbc\x5f\xb2\xc8\x21\xa5\x31\x37\xb3\xb1\x02\xe5\xc4\x4b\x0f\x15\x80\xfe\xb3\x80\x01\xa2\xa9\x14\x24\x43\xac\x00\x0a\xcc\x8c\xee\x02\xa4\x00\x7a\xc2\x2a\x43\xa0\x58\x63\x8b\xc1\x65\x62\x64\x81\x37\x5c\x11\xbb\xd1\x87\x0a\x17\xc5\x20\xde\xc7\x2a\x78\xd7\x96\x23\x20\x2a\x35\xd6\x62\x1c\x8a\xa1\xd6\xfa\x4b\x3b\xb7\xfa\xb1\x58\x32\x1b\x5a\x3f\x15\x8d\x9e\x3b\x77\xc6\x62\x8b\xa2\xb6\xe2\xa8\x48\x0f\xd9\x60\xe2\xf9\xe9\xec\x45\xcf\x1e\x13\xcd\x2c\x2f\x60\x0b\xea\x5d\x09\x43\x69\x76\x93\xde\x83\x22\x8f\xaa\xa5\x21\x67\xcb\x93\xe8\xbf\x42\xb5\x8c\xd1\x51\x3d\xe2\x9b\x8b\x03\xd5\x45\xd4\x89\xf6\x34\x78\xa2\x17\x7e\x03\xf1\x8d\x58\x07\x7f\x43\x2b\x57\x29\x30\xe0\x1b\x3f\x02\xfe\x6f\xc9\xf8\x96\x01\xce\x13\x7c\x19\x1b\x1a\xbb\x91\x3e\xa3\xcb\x67\x79\xd7\x9a\x11\xd6\x28\xd6\x27\x73\xb9\x62\x4f\x9c\xad\x8e\x99\x18\xb1\x3e\xca\xe7\xb6\xcd\xcf\xf6\x0e\xce\xaa\x09\xcc\x77\xbd\x7a\x3f\xe5\xa9\x5d\x8f\x8d\x8c\xdf\x7e\xfd\xc7\xef\x7f\x3c\xcd\xdd\xba\xe1\xb5\x92\xee\x06\xdb\xe4\x6e\xbd\x95\xf1\x66\x64\xaa\x5c\x5f\x75\x60\x1f\xe1\x56\xd8\xa0\xfe\x5a\x85\x98\xa4\x0f\x79\xe7\x7a\x83\xf0\xf5\x2a\xbb\xb5\x17\x9f\xef\xd1\xa4\xdd\x07\x0e\x97\xfb\xa9\x70\xfe\x1e\x3b\x5b\x7e\xd2\xdd\xd4\xdf\xcd\x7f\x2a\x9d\x6a\xbe\x45\xa7\x1a\x5e\x2b\xd4\x1d\xd5\x7b\x36\xf6\xf4\x36\x7c\x40\xef\x1c\xb6\x35\x84\xab\xec\x32\x2b\x7c\xc9\x0b\x7f\x59\xd1\xb7\x49\xca\x96\x3a\xc0\x79\x6b\x34\xdf\x20\x41\x63\x7e\xf6\x15\xfc\xfe\x34\xef\x29\x53\x05\x36\x47\x5d\xe0\x81\xf8\x44\x95\x01\x12\x67\xb4\x99\x78\x80\x06\xf8\x2f\x1c\x67\x5e\x39\x6e\x42\xb9\x04\xe3\x87\xe9\x47\x0b\x13\xf3\xd4\xf4\x50\x5b\x9b\x69\x2b\x41\x48\x4a\x83\xd8\x41\x98\x7d\x04\x55\x0b\x98\x5a\x60\x5b\xea\x4c\xd0\x75\x39\x92\x61\x05\xda\x01\xe1\x15\x54\xd4\xdc\xac\xf2\x74\x47\x3d\x8b\x94\x64\x48\x9c\x37\xfa\x29\x12\x07\xee\x47\xd3\x04\x4b\x56\x23\xbe\xe4\xed\x9e\x2a\x64\xc9\x99\x7a\x44\x4f\xe9\x1a\xae\x87\x70\xb3\xa3\xbc\xe1\x76\xed\x13\x10\x4f\x53\xc7\x3d\x65\x5f\x88\x43\x1d\x70\x7c\x01\xae\xd4\x90\x3a\xe5\x99\xe7\x4c\x1e\xbc\x68\xf1\xc9\xee\xfa\xe3\x17\xf7\xf1\xfb\x1f\xbf\x9e\x7e\xff\xed\x1f\xfb\x07\x53\xa6\xd3\xc0\x7e\x1f\x86\xd0\x7d\x04\x71\xb0\xef\x6a\x0a\x47\x20\x8d\xde\x3d\xdd\xee\x9d\x7e\x68\xa5\x98\x37\xf9\x41\xef\x12\xb6\x3f\xf7\x3d\xdc\xb7\xd7\x2d\xc3\xe5\x7f\xad\x5f\x4e\x6f\xf5\xb1\xcb\x3a\x57\xcb\xd7\x57\x3e\xfa\x40\xc7\x5f\xfe\xf8\xc7\xaf\x87\x47\xdf\x00\x83\x42\xe8\xf9\x77\x10\xb0\x04\xfd\xf0\x5b\x38\x37\xfa\xc1\xdc\x80\xf0\xd3\xfa\xbf\x0e\xcc\x3f\xa7\xef\xff\xfa\xf3\x17\xf7\xf7\xdf\x7f\xfd\xed\x1f\xbf\x3c\xab\x7c\x08\x79\xa9\x03\x50\x62\xe6\x4b\x41\xab\xd4\xea\x58\x28\x20\x60\x6c\x01\x9a\x11\x01\x17\x17\xcb\x18\x28\xb8\x4c\xb1\x34\xc8\x12\x3b\xd6\x65\xe0\xa0\x6d\x19\x38\x9c\xb3\x23\xc0\x3d\xd5\x04\xf6\x73\x25\xd5\x1b\x8c\xa8\x0f\xa3\xd3\x4a\x9d\x56\xcf\x20\x22\x14\x06\x72\x5e\xd9\x45\x62\xb0\xe6\x71\x94\x91\x05\x60\xa9\x09\x10\x9c\xc9\x50\x30\xdb\x62\x49\x8b\xb9\xe9\xdf\xa8\xba\x1c\xfc\xc4\xcf\x41\x7f\xcd\xba\xfa\x39\x11\x0d\xa8\x5f\x50\x28\x6e\x76\x75\xa4\xd2\x60\x4f\xdf\xe8\x6a\x24\x78\x39\xa3\x26\x17\x50\x07\x0b\x20\x0f\xb7\x3b\x1b\xe7\xdc\x74\x5d\xcd\xd9\x12\xc4\x16\xbd\x5d\xcf\xbd\xcd\x94\x9c\xb6\x80\x4f\x9f\x11\x18\x35\xba\x4a\x96\x9d\x00\x06\x0a\xc7\xd1\x90\x69\xd5\xe6\x2b\x4e\x88\x81\xd3\xe5\xf3\xc2\x6f\x18\x8b\xf6\xf6\x2e\x83\x8a\x9f\x29\x87\x3b\x2e\xa8\x7b\xdd\x7d\xfc\x0a\x19\xa6\x6b\x07\x31\x0b\xf2\x46\xca\x9c\x64\xc9\x51\x88\x42\x9c\x65\x74\x32\x2c\x36\x95\x2e\x19\x29\xf0\xee\xbd\x33\x1b\x69\x50\xcf\x84\xbe\x15\x41\x3b\x95\x74\x55\x4b\x8f\xfc\xde\xa8\xe1\xcc\xd4\x84\x58\x38\x78\xee\x0b\x45\xb5\x5b\x6f\x56\x72\x5d\xd6\x55\x1d\x53\xdc\xf9\x35\xa6\x1b\xcf\x9a\xd5\x73\xc9\x8b\xaa\x8a\xd8\xc8\x9e\xea\x19\xf8\x56\x14\x6f\x2f\xee\xfa\x51\xa6\x67\xdc\xa8\xa7\x77\x57\xa3\x16\x07\x66\x18\x17\xef\xe7\x1e\xdb\xac\x64\x56\xd8\xec\xb5\x54\x2e\x4e\xdf\xcb\xe9\x91\x11\x70\x7f\x9e\x19\xd6\x5c\xcc\xa2\xaf\x7f\x4e\xcf\x55\x08\x10\xa6\xa3\x0b\xc3\x36\x2b\xd8\xae\x0c\x41\xdf\x7d\x79\xd5\x8f\x51\x5f\xca\x9d\x17\x6f\xa5\xac\x5f\xfc\xac\xf4\xd9\x93\xf7\x02\x5f\xcb\x31\xe2\x75\xdc\xaa\xe0\xba\x9c\xf5\x4b\x0f\xee\x06\x07\x18\x0a\xd4\x37\x5e\xb1\xf1\xd8\x6b\xb8\xf9\xb6\xad\x9c\x8d\xb7\xbd\x55\x81\xdd\x62\xc5\xa9\xb5\xf2\x3e\xf5\xd0\xed\xf7\xbc\x2a\xff\x3b\xde\xf3\x5f\x7f\xde\x43\x9b\xb8\x2f\x50\xbd\xed\x32\x94\x85\xf3\xa4\xa8\x05\x1f\x47\xa7\x0a\xf1\x62\x35\xc8\xa1\x50\x89\x47\x96\x0e\xba\x70\x6d\xec\xea\x7a\xd4\x74\x2d\x2c\x8c\x91\x43\x22\x71\x69\x60\x1b\x04\x93\xd4\x76\x74\x14\xe3\x12\xaa\x05\x05\x38\x2b\x40\xa8\xf8\xe0\x28\x73\x79\x4f\x54\xca\x01\xf8\x12\x54\x5a\x52\x55\x19\xe8\xbc\xd5\x60\x0b\x46\xa4\xe9\x2d\x4d\xcc\x80\x07\xe3\x23\x07\x2a\x75\x59\xcf\x56\x4b\x97\x97\x08\x05\x8f\x84\x00\x96\xef\x69\xab\xd6\x7a\xfa\xc4\xae\x6d\xcd\x69\x04\xd5\x70\xa6\x54\xf2\xd2\x2b\xa9\x33\x91\x5a\x8c\x47\x2d\xdb\xc0\x04\x84\x72\x03\x6c\x1b\x2c\x01\x33\xe1\x45\xc6\x00\x2c\xff\x85\xf3\x94\x41\x64\x8c\x0b\x8e\xba\x34\x83\x19\xd3\xc7\x88\xe8\x74\xe6\x11\xf5\x3a\xad\xf8\xa8\x67\xd7\x4e\x3e\x0f\xc0\xff\x20\xb1\x77\x80\x2c\x50\xbb\x22\x5e\xd4\xf4\x9e\x96\xae\x46\x1f\x93\x55\xfe\xd4\xea\x84\x31\xfb\x24\x3e\x96\x65\x09\xe5\x19\x1f\xb3\x2e\x57\x4d\x74\xcd\xca\xa3\xcb\xe6\xf1\x0b\xbc\xb8\xc0\x83\x37\xe4\x58\x48\x62\x5d\x8f\x07\x61\x1b\x0f\x2a\x1a\x72\xa9\xc4\xbe\xec\x43\xcf\x5a\xe4\x33\xae\x63\xae\x0e\x04\xd1\x3b\xd0\x81\xc0\xfd\x55\x7d\x3b\xe8\xa4\x49\x81\x32\x3c\xa4\xc0\x8f\x8f\x46\x39\x10\xd2\x98\xcd\x97\x18\x16\x14\x27\xc6\xf0\x95\xab\x36\x28\x96\x1f\x6e\x8f\xed\xcb\x69\x8b\x50\xe8\xe9\xcd\x50\x27\x2b\xd4\x36\xe0\x7e\xef\x29\xe7\xa8\x7f\x16\x52\x10\x3c\xe0\xbf\x99\xc7\x0e\x37\xe8\x97\x7e\x73\x6c\x97\x72\x2a\x47\x47\xa1\x54\x55\x22\x93\xd1\x26\x8f\x5a\xa4\x23\xe1\x23\x85\xd2\x36\x46\x16\x52\x70\x31\xb2\x7a\xd3\xeb\xac\x72\x36\x9a\x10\xad\xfd\x29\x64\xe4\xdf\xf6\xc7\x5f\xff\xb6\xff\xc7\xaf\x4f\x3b\x45\xc2\x04\x43\x33\xb3\xf5\x89\x63\xa5\x9a\x78\x74\xa0\x51\x1e\x96\x44\x45\x50\xf5\x80\xd0\xb8\x6b\xd4\x02\x83\xbe\xa4\x8e\xae\x90\x80\xdb\xad\xca\x9c\x08\x90\x38\xda\x2d\x23\x5b\xb4\x4f\xc9\x73\x4f\xa9\x0e\x19\x8e\xf5\xf4\x16\xa9\x65\xbc\xaf\xd0\xe2\xa8\xe7\x3b\x02\xf9\xec\xea\x14\xb3\xfe\x8d\x4c\x88\x1e\xd0\x8b\x32\x35\xd5\x4b\x23\x15\xed\x4e\x7c\xe0\xb7\xa7\xf8\x2c\xae\x7a\xf5\xc9\x99\x19\xa9\xac\x12\xf3\xaf\x7a\x35\x59\xa7\xad\xe3\xcc\xa6\x5e\xcd\x24\x0d\x3b\x33\x58\x43\x53\xae\x43\xa5\x78\xab\x4b\x03\x25\x94\xb8\xd1\xa3\xe5\xf4\x26\xe8\xd1\xa2\xd3\x70\x14\x0a\x42\x75\x9e\x84\x79\xee\x4d\x3d\x31\x00\xc2\x0c\xa4\x0a\xfa\x96\x7c\xb5\xa3\xfd\xf2\x83\x5d\xf9\x7c\x26\x16\xcf\x55\x2f\xa6\xdc\x2a\xc5\x92\x47\x83\x25\xd9\x08\x2d\x4b\x42\x4d\xc0\x4d\xcd\x53\x66\x2e\x7b\xc0\x8e\xb6\x65\x3a\x90\x4f\xe2\xf4\x62\x14\xe6\xb4\xb0\x19\xd7\x54\x18\xc2\xe9\x2d\x1b\xa6\x65\xa3\x1c\x64\x4c\x90\x68\x81\x5a\x58\x6c\x4e\xf3\xe0\xed\xe4\x80\x93\x5a\xbb\xca\x44\x1d\x9c\x97\xdb\x7f\x42\x27\x3e\xe9\xd5\x9b\xb1\xb0\x6a\x1f\xaa\xc5\x33\x62\x59\xd8\x8a\x78\x0c\x85\x5a\xde\x59\x96\x7d\x42\xa2\x7f\xcd\x00\x7f\x0d\xeb\x2b\x1d\x35\x2b\x09\x7b\x69\x73\xd0\x69\x10\x2f\x05\xb5\xf0\x02\xe5\xa2\x8b\xb1\x14\xac\x07\x8b\x57\x5a\x02\x52\x62\xa3\x14\x98\x01\xb2\xab\xb6\x28\x0c\x57\x77\x3f\xd5\x79\xbf\xfc\xe3\x7f\xfe\xfe\xc7\xff\x78\x76\xe8\xf9\x1e\x3a\xb6\x60\xe5\xaa\x53\x50\x8a\xd0\x1d\x7e\xab\x57\x66\x98\x84\x1b\xb1\x5c\x94\x8e\xc1\x12\x6f\x56\x04\x32\xfd\xdf\xfb\x45\x03\x14\x6f\x4d\x19\xd3\x49\xee\xd7\x27\xdd\xf9\xec\x6b\x3d\xba\xf0\x51\x8f\xe1\x03\x20\x72\xff\xe9\xd5\x73\x41\x2c\xea\x3c\x97\x6f\x8a\x1e\x52\x23\xe1\x1c\xb4\xf6\x54\xf9\x00\x06\x3c\x59\x46\x6c\x48\x57\x8a\x8f\xed\x30\x05\x6b\xfa\xfc\xe7\xfe\x22\xaf\x7f\x75\xf6\x1d\xa5\x2d\x7f\x77\x08\xa8\x10\x80\xf1\x21\xd1\xe6\x9f\x5b\xc9\x9b\x85\xbc\x71\x5e\x68\x71\xe9\x6a\xfc\xb1\x00\x94\xc6\x7e\x5c\xd7\xef\xaf\x0b\x5c\x16\xe3\xa6\x26\xfc\xc8\xf4\x7a\x4e\x28\x21\x6f\xd6\x7f\x43\x8a\x88\x1f\xd2\xa0\x9f\x7d\x07\x4f\x28\x7d\x03\xa5\xb8\x2e\xf1\xba\xc2\x23\x6f\x75\xc8\xaf\xe5\xc8\xaf\x9b\x84\xd2\xe9\x9d\x3d\x36\xa2\xbe\x31\x9c\x25\x60\x5a\xf7\xf8\x0a\x8d\xe2\xdc\x59\x9b\x9b\x82\x5a\x5f\xd6\xda\x38\x0f\x08\x93\x88\x71\x28\x06\x72\x8f\x5e\xfb\x56\x7a\x61\x76\x51\x0f\x16\x65\xff\x9a\x60\x39\xe7\x77\xf6\x98\x50\xdf\x5a\xaf\xbc\xf5\xeb\xdb\x63\x95\xdf\x89\xd8\xc2\x9d\x37\x09\x94\x03\xc2\x32\xd3\x2b\x2f\xc3\xf9\x0a\x4c\xee\x8c\xb9\xf4\x8d\xbd\x36\x3b\x0f\xcc\xd6\xa7\x6c\x5b\xc5\xf6\x68\xcc\x83\x35\x9a\xc0\x06\x88\x28\x38\x6f\x43\xe2\xd3\xa2\xec\x98\xd2\x51\x3e\xe4\xe8\xe4\xc3\xc9\xe9\xd3\xd5\xc1\x5f\xff\x5f\x5c\xb1\xaf\xfa\xe3\x8f\x0c\xa3\xbb\x4a\xc2\x0c\x77\x40\x30\xf1\xae\x0d\x72\xb0\x30\xa5\x28\x88\x74\x70\x69\x4d\xfe\xed\x61\x4d\xfa\x9a\x77\xc1\x50\x58\xd4\xe4\x05\x36\xc5\xb0\xc4\xa6\xf0\x97\xab\x2d\x06\x22\x2d\xc2\x25\x51\xff\xe9\x8d\xe7\xad\xe0\x4b\x23\xd6\x6d\x40\x4c\xfc\xa5\x09\x54\xf5\x7b\x18\xb7\x1b\xc0\xee\xba\x05\x6e\xa3\x09\xa0\x18\x9e\x47\x57\xd8\x6e\xc0\x1d\x5e\xdc\x7a\x7a\x63\xa3\x6c\xbc\xc3\xb6\x7b\x75\xba\xf3\xbe\xe6\xaf\xca\xe5\x87\x90\x25\xae\x5f\xf2\x63\x31\x80\x79\x58\xf8\xb7\x83\xf6\xae\x00\x20\xc3\xcd\x81\x3a\x66\xfe\xc5\x48\xdc\x86\x3a\x02\xa2\x63\x58\x92\xb7\x5f\xb9\x2e\xad\x94\xd9\xbc\xc9\x43\x3d\xbd\x51\xc0\x0e\xed\x2a\x9f\xff\x72\xcf\x3c\x57\xe3\x5c\x31\x55\x1e\xea\xb8\x55\xed\x15\x80\xd1\xb9\xf9\x0b\xac\x90\xe1\x4c\xbf\xbb\xd9\xc9\xe9\xf4\x56\xce\xbc\xc7\xcb\x57\x67\x8c\xbd\x75\xf9\xe6\x78\x28\xf7\x5f\x1c\x3f\xf6\xe2\xfe\xe7\x9f\x7f\xdf\xff\xfd\xde\xce\xd0\x1c\x7c\x45\x25\xe3\x86\xd6\x53\x36\x56\xfc\x72\x7a\x6b\x03\x2f\x81\x7f\xa6\x60\xc1\xb8\x91\x48\x13\xb7\x83\xfc\xbe\xcc\xad\x45\x40\x69\x5c\xa9\x72\x0d\x0b\xcb\x17\xea\x4e\x5e\xdd\x06\x76\x8d\xaf\x95\x11\x83\xec\x35\x41\x5f\x36\xd5\x91\xfc\x5d\x9a\x42\xbe\xa7\x29\xdc\x45\x59\xba\x03\x86\x5d\xd2\x10\xe4\x75\x1d\xf2\xcc\xee\x2a\x58\x9a\x97\xa8\x0c\xd1\xc2\xf2\x81\x06\xf9\xbe\x11\xf1\x53\x2f\xb1\x2d\x2b\x87\x61\xff\xef\xb8\x11\x94\x34\xb5\xe7\xf4\x16\x8c\x30\x18\x17\xdd\x4e\x19\xcd\x54\x0e\xc4\x2d\x38\x92\x92\x48\x1c\x55\x92\x8e\xae\x71\x37\x49\x95\x6f\x27\xa9\x9e\xde\x64\x40\x84\xd2\xcc\xa3\xc3\xa0\x82\xf5\xef\x05\x3d\x65\x71\xdd\x65\x10\x00\x5c\x0d\x62\x61\xb6\xf7\xdc\x38\x8f\xce\xb1\x87\x44\xa3\x01\xab\x6f\xc5\xeb\xde\x49\x97\xba\x83\xae\x7e\x93\x5e\xe4\xb9\xc9\x56\xba\xd9\xf4\x2d\x6b\xe7\x20\x48\x40\x4d\xc8\x8c\x8f\x72\x5f\x19\x8a\x4f\x2b\x43\xfd\x31\x0b\xa5\xa1\xbc\xc7\x8f\x78\x14\xc0\xc5\x3c\x33\x2b\x2c\x93\x31\x7f\xa8\x0e\xb7\x8a\x38\x9c\x62\xae\xd7\xc1\x54\x1e\xc0\x99\xaa\x3c\x95\x8d\x9c\xca\x1e\xfe\x2d\xa0\x28\x5d\x62\x5d\x78\xb2\xdc\x23\xe4\x39\xcc\xeb\x43\x53\x4e\x6f\xa0\xe4\x05\xaa\xf8\x36\xcc\x77\xa4\x5a\xc2\x01\x24\xbb\x14\x24\x11\x87\x6a\x34\xbc\xf8\x52\xac\xbd\x5b\x2f\x7f\x33\x79\x68\xe2\x1b\x5f\x8c\xa7\x09\x62\xc4\x1e\x61\x2b\xe6\xab\x6e\x45\x7c\x3d\x3d\x2d\x7e\xff\xb7\x67\x89\x3d\xca\xd0\x36\x30\x6b\xf4\x4b\x06\x5a\xed\x0d\x99\xf4\xce\xfc\xb1\xa4\xb6\xea\xf9\x05\x05\x01\x77\xeb\xd0\x46\x24\x1a\x73\xf9\x70\xcb\x33\x30\x20\x42\xc2\x6e\xea\x2a\x4e\xde\xb2\x0f\xca\x7b\x43\xee\x51\x1b\xfc\x37\x55\x3e\x3a\x83\x78\x8c\x43\xa7\xd8\x1a\xea\x87\xbb\x13\xe9\x78\x7b\x1e\xdd\x9b\x45\xcf\xd9\x7a\xfa\x2e\x9e\x33\xf4\xc0\x71\xbb\x02\x77\xd1\x2f\xf1\x43\x6e\xe6\x49\x94\x8f\x65\xe6\xfa\x55\xa2\x87\xe5\xfc\xac\xb2\x21\xf0\xef\x87\x5b\x84\x18\x73\xc4\x60\x80\xa1\xb4\x99\x04\x12\x8f\x86\x8f\x93\x07\xbf\x15\xe0\x38\xe7\x41\x3b\x0f\x75\xd9\xc6\x1d\xdb\x0c\x9d\x7c\xca\x2e\xfa\xfd\xf0\x8f\xfd\xdf\x9e\xf6\xee\x67\x52\x23\x87\xaa\x5f\x2f\xcd\xa9\xea\xda\x9c\xa9\xca\x81\x0a\xa2\xeb\x28\x86\x86\x10\x1d\x6a\x31\xe9\x3d\x63\xa4\x2a\x09\x0c\xbe\x1b\x81\xc3\x28\xe2\x88\x02\xfc\x40\x05\x94\xab\x56\x88\xd3\x9b\xad\x18\x35\xaf\xce\x65\x2c\x75\x8b\x73\x45\xaa\xd5\x54\xd9\x3c\x8d\xb2\x76\x6c\x25\x16\x42\x22\xca\x2a\xaa\x38\x32\x22\x53\xb5\x25\x8e\x8a\x10\xd0\x4a\xf5\x69\xaa\x4f\x56\xcc\xee\xd2\x13\xa7\x4f\xab\x37\xb7\x64\x8c\x72\x60\x88\x4e\x60\xc0\xa6\x5a\x23\x49\x86\x71\x96\x91\x8c\xe3\x79\xc5\xf6\x21\x39\xeb\x75\xe7\x47\x17\x09\x7a\x33\x19\xab\xb1\x9e\xba\xee\xb8\x03\x05\x89\xf8\x4b\x29\x4c\x17\xe8\x67\xef\x7b\x34\x60\xa0\x9c\x1c\x0a\xa9\x35\xa2\x06\x2b\xc2\x7a\x6f\xd1\x02\xe3\x4e\xd6\x16\x9c\x9f\x59\xb4\xed\x78\x00\x2d\x67\x3a\xdf\x3b\x7f\xb3\x10\x77\xae\xc9\x3a\xff\x47\xc6\xe6\xb3\x78\x04\x2d\x08\xe5\xb4\x88\xd6\xe7\x04\xea\x79\xff\x11\xa9\xe9\x62\x96\x80\x56\xaa\xe6\x7a\x03\x1c\x34\x53\x6a\x7a\xd7\x28\x14\x32\x90\x2d\x72\x3c\x00\xa1\x14\xc8\xb6\x09\x0c\x5b\xfa\x89\x2b\xf9\x88\x62\x96\x72\xe2\x7c\x5e\x2d\xb1\x00\xc2\xba\x90\x57\xd2\x04\x05\xe8\xa5\xaf\x68\xd3\xd6\x69\x94\xb4\x03\x7d\x2a\x07\xf2\xa5\xac\x42\xab\xd9\x53\xac\xf9\x1d\x25\x58\xfa\x48\xd1\xe7\x70\xf6\x44\xd9\xb8\xf6\xdb\x6e\xea\x8d\x0a\x24\xd6\xc6\x54\xe3\x22\x51\x23\x09\x85\xb0\x43\x98\x4c\xa4\x56\xe3\xd2\x2e\xa6\x24\xf6\xb0\x70\x07\xb6\x46\xbe\x34\x92\x66\x67\xc6\xcb\x63\xc6\x03\xa9\x79\x1c\x99\x44\xd8\xce\x52\x08\xd6\xdd\x33\xb9\x95\x80\xa5\x6a\x77\x5a\x37\xcd\x4e\x9b\x25\x6e\x0f\xb6\x65\xa3\xef\xd4\x2c\x06\x78\xf9\x22\x56\xa5\x17\x6c\x9d\xfa\xd4\xb8\xfb\xe3\x6f\xcf\x73\x8a\xdc\x05\x0a\xd9\x20\xfe\xa9\xe6\x26\x4b\x94\x7c\x1c\x03\x49\xc8\xd4\x6a\x5d\xc3\x89\xb0\x50\x29\x72\xcc\x14\x4b\x59\x6c\x6f\x5b\xae\x43\x08\xb6\x86\xc4\xac\x7f\xd3\x38\x0c\x88\x68\x58\xfc\x6a\x7a\x5b\x78\x57\x8b\x35\xb7\x3d\x55\x36\x4c\x74\x5d\xab\xc8\x4b\xfb\x22\x33\xe2\x0b\x92\xa0\x25\x47\x8c\xe5\x47\x76\xd2\xb1\xaa\x76\x4f\x3a\xba\x4a\x99\x11\x94\x25\x4d\xff\x0e\x14\x33\x13\xb7\x4c\x45\x25\x69\x23\x00\x6e\x73\xb2\xe7\xdd\x30\x54\x5f\xf9\x76\xb0\xde\x02\x10\x29\x7f\x83\x01\x65\x6e\xd7\x6c\x46\x15\xab\xfd\x70\x8c\xab\xa4\xe3\x77\x55\xc1\x3e\xe4\xb8\xc4\xbd\x9b\x10\x23\xef\x58\x06\xf0\xa4\x97\x15\x64\x07\x52\x0c\xf3\xc7\xa6\xf5\x33\xdf\xca\x2a\x9d\xe4\xca\x52\x71\x37\xa0\x4d\x36\xed\x2e\xab\x75\x49\x8b\x85\x5a\xdb\x63\xb5\xb6\xab\x5a\xdb\x77\xd5\x7a\xd3\xd8\xbb\x51\xef\xa6\xa9\xd7\x6b\xe6\x8d\xb4\xf0\x5b\x55\x3f\xa0\xd6\xeb\x1c\x7e\x9a\xa9\x84\xb7\x32\x69\x0c\xb1\xe6\x63\x23\x5d\x26\x58\x22\x4d\x20\xe6\x30\x06\x82\x6e\x12\xd3\x52\x41\x04\x38\x40\xd6\x99\xce\x37\x7d\x0d\x93\x41\x7c\x09\x4f\x3b\xf7\x13\x1f\x1d\xf3\xb6\xe6\xb8\x91\x33\x03\xaf\xc6\x26\x30\x25\xb3\x85\xa5\x0b\xa5\xf7\x42\x61\x04\x4e\x3f\xd5\x45\x04\x84\x70\xa6\xcc\xe1\x18\xa9\xa6\xd7\x3b\x3e\x87\x39\xfc\x9a\xca\x37\x6d\x0a\x4d\x38\xb6\x85\xca\x51\xa6\x1f\xd8\x33\x45\xc3\x90\x91\x8f\x40\x7c\x0c\xb4\x3e\x27\xb3\xdb\x1d\x95\x3e\xb1\xe0\x0b\x8a\x4b\xe6\xd2\x21\x7e\x6c\xea\xef\x37\x46\x1a\x66\xc5\x1a\x00\xe6\xb5\x5e\x3b\x68\xeb\x10\x3f\x1c\x7c\x34\x86\xb6\xb3\xaa\x33\x7f\x7f\x9d\xeb\xc9\xbc\xac\x33\x5f\xd7\xb9\x62\x68\x1d\xea\xf7\xd7\xb9\xe6\x8a\x58\xd6\x59\xad\xce\x47\x66\xd3\x5f\xff\x18\x7f\xfd\xed\x51\xc4\x99\xee\x67\x98\xcb\xa3\x90\x86\x04\xef\xf0\x86\x60\x98\xff\x7a\xfd\x1c\x61\x5b\x24\xf9\xad\xad\x5d\xf2\x7c\x7a\xeb\x50\x47\x37\xc4\xd2\x13\xd5\xf3\x06\x7c\xce\x9d\xfa\x0d\x01\xf1\x86\xaf\x79\x53\x2c\xc6\x9b\x72\x11\xcb\xfa\x86\x03\xee\x36\xa4\x21\xaa\xbf\xf9\xf8\x79\xb3\xfe\x0d\x4a\xb7\xeb\xfa\xb7\x9e\x7f\x99\xc6\x3f\x21\x67\x3f\x82\x4f\x37\x6c\x38\x72\x6d\xa7\xf3\x03\xb1\x1d\x0b\xc5\xe7\xca\x43\xbb\xd2\x9c\x20\x5e\xe5\x35\x6d\x64\xa4\x9a\x77\x15\x0e\xda\x4e\x56\x1c\xe8\x0b\x9d\xe5\x76\x36\x67\xb8\x97\x44\x2a\x77\x55\xa5\x1f\xf1\x4c\x4d\x93\xee\x41\x77\xed\x2a\xa9\xf2\x89\x3d\x0e\x13\xe3\x9b\x28\x0d\x77\xc6\x7c\xbc\x59\xf3\xcd\x09\xb7\x24\x56\x0c\x53\xdd\x9b\x1e\xe7\x2f\xe6\x7b\xbc\x51\xfb\xf7\xb9\x9c\xbb\xb4\x79\x1c\x18\xe9\xeb\x8d\x8f\x2d\xec\x8e\xee\xbe\x5d\x61\xdb\x31\xa7\x8b\xf3\x75\x0d\x1c\xdc\xf1\x39\x36\x6e\xb3\xf9\x0e\xd7\xeb\xe9\x33\xac\xa9\x1b\xaf\xf4\x81\x1b\xb9\xb2\x6d\xdb\x01\x7b\x0b\xf9\xf8\xe3\x47\xf0\x18\xff\xbe\x3f\xfc\x8f\xfd\xdf\x9e\xf5\xb8\xaa\xc1\xd2\x74\x9c\x2c\x43\xc8\x03\x45\x0e\x83\x1f\x2b\x55\x04\x1e\x84\x56\x0f\x94\x7d\xa0\xd0\x84\x5a\x15\x6a\x3e\x82\x2d\x9c\x29\x15\x39\x36\x6a\xe0\x9c\x5a\xf8\x83\x22\x58\xe5\x62\xac\xa3\xab\xa6\x6f\x84\x25\xc7\x31\xf8\x5f\x7c\x1d\xbc\x5d\xe2\x70\xc9\xda\x67\x94\x29\x85\xf2\x9e\x29\x77\xec\x9e\x42\x52\x81\xf4\x00\xce\x72\x60\x67\xc8\xee\xf2\x34\x6a\x94\x17\x84\xf2\x4a\xac\x6b\xe8\x0e\xdf\xb2\x56\x18\xa8\x06\xbd\xc4\x30\xf1\xbd\x0d\x7c\xc0\xfe\x80\xea\xa8\x04\x57\x89\x7d\x03\x8d\x47\xd6\xb1\x50\x73\x43\x34\x49\xda\x65\x6a\x12\x87\x48\xe2\xf3\x20\x60\xff\xcf\x46\xb6\x8e\xe4\x29\x46\xd8\x1c\x17\x2d\x05\xfb\x62\x94\xfa\x23\x1c\x5d\xa3\xc0\x23\x70\xab\x22\x22\x94\xd9\x93\xec\x04\xcc\xe1\x85\x72\x5c\x86\x24\x53\xae\xe0\xb3\x94\xd3\x27\x57\x12\xb0\x9b\xb3\x68\x67\x01\x02\x86\x45\xde\x99\x29\x96\x88\x32\x9d\x96\x99\x8f\x5a\x07\x46\xa6\x0a\xd1\x90\x05\x34\x89\x94\x41\x4e\xfe\x5c\xdc\xf2\x34\xcc\x9e\x73\x1d\x35\xf2\x81\x72\xa9\x4b\x46\xd3\x40\x3e\x0e\x7e\xc7\x94\xab\xea\xfc\x52\xe2\x32\xd3\x60\x88\x14\x6b\x3d\x66\x2a\x5c\xb0\xa0\xa4\x4a\x70\x2a\xa9\x59\x9f\x2c\xd6\x76\x04\xbb\xb9\x2e\x48\xa9\xac\x76\x7e\x7c\x0c\x88\xf2\xf4\x41\x9c\x5d\x31\xdf\xfa\xd5\x52\x74\xf8\xe4\x77\xd4\x74\x40\x1a\x9b\x83\x0b\x85\x9a\xf6\x19\x80\x43\x10\x37\xed\x83\x0e\x8a\xaa\x82\x2d\x83\x2d\x91\xe7\x52\x32\xeb\x28\x8e\x14\x05\xb0\x3b\x09\xf9\x75\xb9\x52\x91\xe8\x22\x3c\x9b\x81\xa2\x07\x9c\x49\x2a\x8e\x52\x53\x09\x5d\xe3\x20\x14\xd3\xa8\x23\x85\x0b\x55\x84\x51\x66\x90\x89\x31\x65\x61\x47\x95\x2d\x39\x0f\x28\x18\xd9\xc6\x52\xa2\x54\xeb\x31\xe9\x2d\xda\x29\xbe\x45\x44\xd0\x72\x25\x96\x02\x74\x93\x48\x59\x17\x6d\x1d\xfe\xef\x85\x5a\x8e\xbb\xf3\x7d\xa7\x4f\xe4\x77\xc8\x90\xa8\xc6\x9d\x21\xa8\x09\x95\x92\xed\xc2\x31\xda\x0e\xb2\xc0\x89\x92\x79\xe1\x2c\xe8\x15\x3c\x37\x86\xfe\xfe\xcb\x1f\xb8\xeb\x49\x61\x95\xc9\x83\x9e\x42\x15\x8f\x9a\x8d\x37\xa9\x90\xc4\x80\x9c\x03\x6a\xb1\x8d\x0e\x3c\x32\x8d\xc0\xfa\xc4\x2d\x0f\x76\xc4\x6e\x9e\x4e\xc1\x50\x0f\x20\x68\xad\x42\x29\x81\xd5\x89\x75\x0c\x45\x1d\x7e\xb9\xed\x13\x85\x06\xc2\xfb\x66\x28\x4b\x62\x70\x3d\x49\xf8\x00\x7b\x4a\x6f\x88\xc1\x51\x4a\x20\x89\x81\xe0\x91\x30\x6a\xa5\x4e\x2b\x5d\x04\x99\x24\x0b\x1f\x49\xd7\xcd\xca\x54\x9a\x4a\x91\x62\x55\xa8\xd6\x55\x64\x08\xb2\x5f\x9e\xd0\xb7\x5e\x75\x6c\x36\xe3\xcf\x6b\x79\xb0\xa3\xef\x10\x78\xfa\x38\xa5\x21\xb9\xa8\xd4\x44\x85\x93\x13\x8a\x0d\x9e\xfc\x9a\xf5\xf6\x94\xb4\x69\xdc\xd0\xb6\x17\x2d\x0f\xf8\x21\xd5\x08\xa8\x7a\x7f\xea\xa3\x19\x22\x63\xa0\x58\xb4\x84\xa2\x73\x31\x17\xeb\xa7\x7d\xa4\x02\x10\x81\xc2\x9d\x13\x95\xa4\x55\x08\x3d\xeb\xcb\x80\xd1\xec\xb5\x33\x91\xc1\x3b\x9d\x2d\x78\x6a\xc1\x53\xab\xcc\xc7\x9c\xd1\xa3\xb7\x14\xa5\xda\x7a\x87\x02\x47\xa8\x48\xe8\x0e\x33\xa1\x5a\xc7\x4a\x89\x8b\xab\x14\x65\xd5\xa7\xe0\xb1\xca\x86\x52\x8a\xfd\x37\xbd\x06\x71\x5c\x83\x1d\x27\x3d\xc3\xa0\x01\xc1\x40\x18\xac\x5a\x55\x65\xf4\xe1\xf1\xc2\xac\x57\x78\x2f\x14\x18\x9e\x56\x7b\x3e\x95\x08\x11\x5c\x7f\xc1\x72\x63\x92\xc3\x10\xd3\xb9\x9f\xdd\xe5\xa4\xde\x57\x75\xb1\x08\xd6\x9d\x1e\x83\x90\x9d\x0e\xc3\x1f\x9b\x1d\x5f\x67\x3e\x36\x00\x48\x05\x62\x2c\xba\x5e\xb4\xef\x7d\xa7\xac\xd5\x55\x2a\x0e\xfe\xa0\x33\xda\xc6\x45\x04\x57\x2b\x38\xe7\x10\xe7\x6e\xfa\x4b\x6c\x2e\x93\x60\x3d\xcb\xe9\xea\xeb\x9e\x72\x0c\xfa\xd7\x27\x7c\x6d\x15\xfb\x1d\x35\xe9\xdf\xe4\xd4\x6c\x52\xc6\x04\x6e\xb9\xa4\xe3\x73\x15\xd6\x95\x2d\x97\x66\x27\x60\x96\x6d\x3a\x3e\xf6\xa1\x33\x18\xea\xd1\xde\x91\x20\x93\x0b\xb4\xcc\xfd\x68\x93\xce\x8b\xbe\x24\x6d\x93\xd3\x36\xe5\x03\x13\xb8\x3f\xa5\x60\x50\x66\xe4\x36\xeb\xfc\x4f\x9d\xbf\x4a\x72\xd4\x63\xd5\x71\x95\xed\xd2\xca\x2e\x61\x6d\x69\x52\x87\x42\x89\xe5\x25\x91\xae\x28\x76\xec\xfb\xf7\x3a\xa2\x42\x36\x99\xa0\x2b\x34\x23\xf6\x01\x59\x50\xa2\xd3\x20\x61\xde\xd4\x86\xcc\x80\x66\xed\x4b\x14\x3b\xfd\xb4\x78\xeb\x54\x64\xab\x05\xd5\x04\x62\x0d\x10\xfb\xda\xf8\x2a\xd6\xfa\x55\xe7\x54\xcb\x62\x18\xb5\xd7\x6b\xb0\x6e\x7f\x11\x92\x86\x45\xb0\x4d\xe0\xa8\x91\x9b\x6d\xe6\x2f\x4f\xe9\x42\x82\x6c\x92\xff\x97\xbd\x77\x59\x6e\x24\xd9\xd1\x84\x5f\x25\x5e\xc0\x61\x0e\xf8\x7d\x29\xab\x8d\x16\xcc\x55\x9b\x69\xaf\xe1\xc9\xd3\x4a\xeb\xd0\xa9\x9a\xca\x73\xd8\xf3\xeb\xe9\x7f\xc3\x07\x0f\x32\x6e\xa4\x98\xcc\xaa\xee\x99\xb6\x32\x4b\x85\x94\x64\x84\x87\x5f\xe1\x00\x1c\xf8\x3e\x0f\x32\xd4\x04\x54\xe8\x64\x8d\x62\x39\xb7\xc9\x51\x93\x48\x21\x23\xc1\x07\x29\x53\xde\x36\x21\xab\x1d\x92\xf7\x73\xfc\x2c\x49\x53\x27\xdd\xa3\x02\x1b\xd6\xf3\x6b\xe7\xc6\x9a\x94\xaf\x0c\x08\x80\x54\x00\x5d\x98\x75\x8d\x42\xc3\x29\x3a\x35\x8c\x07\x5f\x32\xd0\xed\x7c\xd0\xc9\xed\x55\xeb\x9f\x46\x4c\x1f\xf7\x49\xb5\x1b\x6d\x13\xce\x62\x24\xe9\xa0\x27\xe0\x7a\x35\x2e\x3a\x1f\x4b\xd5\xad\x3e\x3f\x4d\x28\x11\xba\xb3\x6b\xaf\x04\x7d\x23\x9b\x3c\xc0\x18\x14\x2d\x3b\x86\x66\x89\x39\xba\x05\x94\xa8\xab\x1d\x39\x60\x59\xc5\x9a\xc5\xc2\xd4\xe4\x90\xde\x88\xac\x9a\x33\xf8\x84\xea\xb7\x85\xd8\x87\x23\x8e\xf2\x74\xd8\x13\x4e\xf6\x44\xf5\x19\xca\x31\xaa\x2c\x0b\x89\x82\x37\x25\xc2\x64\xb4\x2e\x00\xd4\x41\x15\xcb\x80\x80\xfe\xd6\x74\x5e\xb7\x89\x3d\x99\xaa\xa3\xea\xf3\x51\x48\x42\xd6\x06\x1b\xc9\xaf\x3e\xe3\x01\xb1\x8a\x9d\x2b\x30\x3f\x69\xcf\xc8\x60\xd7\x1e\x44\xcc\xf9\x75\x42\xc4\x60\x2a\x2a\xac\x5a\xd5\xb9\x0a\x0b\x1a\xbb\x5d\xc5\x46\xe1\x13\xd2\xa0\x83\xf6\x98\x17\x7e\xba\x8c\x12\x7b\x1b\x38\x80\xfc\xcd\xd0\x3a\x20\x1f\x7b\xd9\xec\xe2\x2d\xa0\xdd\x4f\xa6\xd3\xa3\xe9\x93\x83\x7f\x0d\x43\x38\xcf\x04\x28\x34\x3e\x0f\x05\xec\x92\x76\xed\x26\x28\x56\x70\xd3\x01\x17\xa1\x20\xaa\xd4\x09\xe5\x90\x1c\x61\x1d\x20\x50\x2c\x01\x35\x47\xaf\xfd\x80\x35\x08\xc0\x90\xd5\x3a\x14\x99\x7e\x4d\xf1\x81\xd8\xec\x59\x22\x66\xad\x4e\x12\x88\x9d\x8c\x19\xa5\x73\x96\xb5\xec\xb2\xc4\xf6\x70\x82\x64\x2c\x1d\x37\x7d\x0e\x47\xf5\xc1\x92\x4f\x31\xdb\x80\x20\x18\xbd\x6a\x1c\x35\xd4\xc5\xa3\x36\xb9\x7c\x4b\x47\xe2\xac\x53\xca\x17\x5d\xad\x3a\xd5\x7b\x50\x9c\x2a\x65\x01\x72\x4e\xb5\xeb\xa2\x76\x2a\xab\x61\x56\x9a\xa3\x18\x12\x95\x8c\xdc\x30\xad\x65\xa1\x88\x91\x6f\x88\xa6\xc9\xaf\xcc\xc4\x61\xb0\x6b\xd7\x26\x42\xa6\x56\xe6\x48\x24\xec\x85\x6a\x53\xfb\xa1\xe5\xa3\x6e\xf6\xe0\xbe\x26\xd5\x8b\x4b\x69\xba\x7b\x3b\x4b\x90\x0b\x6a\xc5\xa6\x58\x75\x31\x03\x64\x2f\xa8\x1a\x89\xf5\x59\x9e\x6c\xb8\xd8\x83\xb8\xe3\x1d\x3e\xf3\x30\x6f\xa7\xe1\x04\x5d\xe0\x4f\xd8\xdd\x64\xf8\xb8\x35\xaf\xfe\xf5\xfd\x4e\x7f\x6a\x5b\xf3\x20\x9e\x79\xaa\xc3\x1a\x80\x23\x01\x80\x53\x26\xcc\xf7\x1f\x7f\xee\x2e\x0b\x5e\x6b\x7e\x9f\x53\x6a\x58\x9f\xa3\xf5\x1a\xd4\x9d\x0a\x9c\x0c\xa4\x1d\xaa\xe2\x0f\x3f\x76\x77\xbd\x7f\x04\x3a\x1d\x44\x0d\x65\x1b\xb8\x76\xda\x26\x04\x4e\x15\x59\x50\xb9\xe1\x71\x64\xd7\x18\x94\xe9\x0f\xb7\xe8\x13\xef\x12\xcb\x2f\x13\x85\xcf\x85\xc8\x67\xe0\xef\xf0\x80\x9c\xd9\x7c\xe6\x3c\x3e\x03\xf3\xbf\xf1\x30\x23\xf3\xf9\x78\x67\x06\xef\xc6\x8c\xca\x47\x95\xd1\x36\xa7\xf2\xd1\xda\xde\xd0\x11\x7f\xa0\xdb\xef\x74\x65\xae\xdc\xde\x53\xb7\xaf\x3d\xe5\xd3\xa1\xec\xb2\xdb\xed\x71\xb8\xaf\xed\x1c\x62\xa7\xdb\xe3\x6e\xb7\xc7\x7b\xba\xdd\x0f\x75\x22\x05\x62\xce\x83\x9f\x48\x81\xd8\x0f\xf5\xe3\xbd\xc2\x9d\x3e\x23\x05\xd2\xce\x0c\x73\x52\x20\xad\xc3\x0d\x73\xf4\x93\xce\xfc\xfa\x0f\xf7\xcf\x5f\x7f\x7d\x94\xc4\x84\xa9\x41\xc2\xfa\x55\xc0\x44\x53\x19\xe8\x03\x08\x43\x79\x8d\xf0\xa9\x36\x38\xa5\x1c\xc6\xdc\x41\x4f\x91\x41\x5c\x89\xe3\xe6\x64\x06\xd9\x0b\x1e\x1e\x64\xbf\x3e\x3f\x07\x48\x48\x21\x2e\xc9\xe1\xba\x76\xa9\x5a\xd6\x82\x2f\xc9\x6d\x1e\x76\xfd\x69\x7d\xaf\xda\x40\xaa\x0b\x49\xd6\x9e\x5e\x87\xb0\xe4\xe0\xb4\xba\x23\x32\xb4\x2d\x03\xe2\x9d\xd5\x3c\xc6\xee\x51\x0b\x72\xf4\x43\x76\x85\x7c\x38\x44\x02\x2e\x80\x6f\x3c\x26\x0a\x58\x44\x41\x62\xdf\xb1\x17\x7c\xd0\x7a\x13\xdc\x5f\x32\x0a\x95\x02\xb4\xa0\xe2\x75\x51\x7b\xdb\xb0\x86\x48\x81\xab\xc3\xf5\xe3\x1d\x5e\x2d\xd0\x20\x96\x32\x66\x62\x8e\x0e\x57\xf8\x60\xfa\xb5\x7f\x62\xdf\xda\x27\xb8\xf6\x23\x1c\xfe\x73\x36\x9d\x69\xfa\x3c\xa6\xd0\x20\x84\xc8\x2f\xf8\xec\x75\x2b\x6f\x12\x46\x35\xc5\x2d\xbf\x2b\x84\xd5\xe4\x29\x98\x3c\x91\x24\x26\xaa\x4b\x26\x79\x35\xa1\xd4\xfc\x1b\xd5\xde\x83\x61\xb5\x3b\x6b\x12\xa6\x45\x5a\x4f\x0b\xdf\xc9\x42\x03\x54\x4e\x40\x3b\x2c\x66\x43\xd5\xbd\x9f\xa3\x8c\x4e\xdf\xeb\x50\x83\xdd\xf9\x52\x0e\xbd\x65\x70\x35\x25\x69\x43\xa5\x84\xe7\x1a\x07\x17\xa9\x70\x3d\x04\x82\x7f\xde\x37\x9d\xe1\x15\xd9\xca\x0b\xdf\xdd\x3a\xfd\xc6\x57\x5c\x60\xd6\x03\x96\xb8\x22\xd0\x87\xab\x96\x39\xa8\xaa\xe2\xf4\xa2\xc3\xad\x4f\x61\xce\x8f\x11\xf3\x00\x57\xb8\x3e\xfb\xb5\x7f\x62\xdf\xda\x27\xb8\x7e\x7c\xc9\x14\x71\xec\x33\x3f\x1f\x99\xb8\x26\x36\x92\xf2\xc1\x19\x73\xfc\x36\xfe\x94\xcc\xa9\xd4\x22\x62\x15\x6b\xdc\x22\x3a\xd7\x36\xf8\x43\x46\xc8\x84\xfe\xe7\x29\x9a\xa3\xb9\xdf\x00\x9e\x8e\x58\x01\x11\x95\x1b\xfc\xdd\x0b\xe0\x07\x4f\xad\xa8\xfd\x14\x75\x7a\x21\xe6\x2d\xb7\xf4\xba\x2c\x83\x29\x35\x50\x46\x27\x1e\x1b\x2c\x4a\x5c\x57\x55\xb1\xba\xa8\x84\x29\xac\x17\xa0\x44\x56\x04\x9c\xfa\xbc\x41\x64\x29\x70\x9d\xea\xbd\xc4\x65\x8d\xf7\x02\x57\x4e\xae\xa3\x5a\x63\x49\x7f\x0e\x6c\xf9\xa5\x94\x46\x35\xd0\xf0\xf9\xc7\x17\xd0\x16\xeb\xda\x90\x43\x21\x06\xc2\x45\x53\xd3\x59\x8c\x4d\x6b\x3a\x71\x61\x54\xa1\xf1\xd8\x61\x64\xa4\x3b\x4a\x0d\xff\xc4\xc7\x74\x54\x85\xdc\x11\xe7\x48\x45\x75\x5e\xdf\x1f\x70\x54\xe4\xc0\xc8\x25\x6d\x26\xd6\x3f\x61\x4a\xbf\x73\x16\x3c\x68\x0b\xa9\x59\x57\xb1\xc2\xd7\x1e\x6d\xb5\xf0\xf5\xcf\x43\x20\xc9\x43\xa3\x28\x1b\xe4\x6f\xca\xbe\x41\xcc\xa8\xf4\x8e\x70\xf7\x95\xdd\x69\x10\x28\xc0\x52\x0e\x6b\x98\x17\x4f\x4d\xa2\xda\x3e\x40\x61\x10\x87\xeb\xaa\x22\xbd\x26\x2a\x2e\x60\x78\x05\xf0\xd5\x4e\x4c\xf4\x79\x91\x43\x15\x52\xd4\x19\x50\x43\xd6\x9f\xf9\x57\x7e\xd0\x2f\x47\x47\x39\x54\xca\x16\x88\xd9\x70\xd1\x4f\xf4\xe3\xa2\x8b\xbe\x62\x8e\xb6\x90\x0f\x91\x0c\xc1\x2e\xb6\x4d\x08\xad\x94\x42\x90\x43\xb9\x41\x92\xc0\xd0\x2f\x31\xe2\x83\xa3\xf9\xe5\x7d\x0e\x14\x9c\xfe\x4d\x51\xf0\xc8\xa8\xb3\x2e\x3a\xbb\x9e\xdf\xfe\xd0\xb8\xbf\xfd\x7a\x2b\xe8\xe3\x93\x04\x9d\x02\xe0\x97\xca\x3a\xe0\x01\xb2\x2c\x74\x97\xa5\xca\xe6\xe6\x28\x70\x79\x0e\x54\x19\xdf\x67\x73\x69\x4d\x1b\xbe\x44\xa6\xda\x8e\x8e\x7c\xaa\xc6\xf5\x53\x29\x24\xb5\x1d\x73\x24\xb5\x23\xa5\xe7\xfb\x30\x85\x62\xb9\x3f\xb1\x20\x66\x5c\x77\xe4\x0c\xc7\x5d\x6a\xc9\x4e\x69\x80\x4f\x95\x55\x49\xc6\x31\x42\x4b\xfc\xaa\xc3\xa1\x3b\x96\xfd\xf2\x86\xb8\x60\xc5\xf0\xb0\xae\x8f\xfe\x95\xd4\x4a\x3f\x92\x2f\xda\xd9\x59\xf7\x6d\x35\xaa\xed\x77\x12\x5d\xee\x1e\xe7\x0d\x47\xd0\x12\xe1\x33\x47\x9e\x71\x5e\x18\x06\x95\x2f\xde\xab\xc9\x1c\x3c\x7a\xc2\xc7\xa9\xa5\x0c\x8a\x7a\x6d\x0f\x47\x10\xd5\xf4\x5f\xdd\xed\xec\x75\x90\x4b\x7e\x43\xf9\xe8\xa9\x34\xd8\xb5\x3f\x1f\x6a\x20\x69\x32\x1a\x1d\x92\xbe\x9b\x71\xcc\xa7\xd7\x15\x3f\x6d\x23\x44\x92\x16\x12\x04\x76\xe0\x17\xbe\x81\xdf\x4f\xaf\x69\x0e\xb1\xab\x77\xab\x72\x28\xa3\x96\x55\x50\x6e\x7a\xbd\x94\x6e\x9d\x43\x02\xd3\x3a\x94\x72\xea\x75\x0c\xd4\x42\x19\xfa\xaf\xee\xe0\xc8\x01\x6d\xe1\x61\xfd\xb8\xa3\xa8\xf3\xb6\xfa\xa4\xdb\x59\xd5\x89\xfe\x2a\xc0\x01\xb6\x6b\xf7\x11\x7b\x9d\x4b\x91\xe3\x89\xbc\x2f\x47\xed\x34\x6a\x41\x28\x24\x19\x98\x6a\xcc\x94\x2b\x83\x09\x1c\x78\x73\x5e\x70\x8c\x08\xa4\x30\xc9\xba\xef\x54\x03\xef\xf5\x61\x3a\xa6\x0c\xfa\xff\x96\xad\xdf\x74\x70\x82\xa3\xda\xb4\x06\xe9\x95\x93\x16\x34\xf4\x5f\xe6\x43\x65\xd1\xa9\xc3\x2c\x23\x35\xbd\xb3\xa1\x96\x28\xb4\x7b\x25\xb4\xb8\xa4\x25\xcb\x91\x6a\x15\x0a\xd8\x3e\x4a\xab\x94\xe0\xbb\x2a\x41\x27\xe6\x9b\x36\xe0\x69\xf3\x6c\xd0\xf1\x60\x2e\x47\x4c\x1a\x8a\x98\xea\xf0\x95\x45\x3b\xea\x68\xf9\x44\xec\x77\x9a\xc2\x04\x78\xfa\x5c\x74\xea\x05\xdd\x92\x10\x02\x90\xa3\xee\x4d\x3a\xbf\x52\x24\x0e\x05\x54\xf2\x01\x85\xbe\x8a\xee\x5b\x61\xe8\xbf\x50\x4a\x23\x11\x71\x81\xa4\xc4\xa3\x13\x2a\xf0\x8d\x94\xe6\x22\xbc\x3e\x81\x32\xdc\xaf\x3e\xc3\xf3\x1e\xb4\x04\xaf\x1d\x6e\xbf\xfa\x54\x95\x8a\x72\x62\x3d\x30\xe1\x28\xd4\xe7\x4d\x75\x19\x6e\x17\xdd\x5b\xd1\x07\x69\xb0\xab\x45\x46\x54\x1e\xf8\x4d\x95\xed\xc7\x85\xd5\x83\xd9\x43\x04\x82\x8b\x5c\x54\x8f\x32\xa4\x9d\x09\x90\x15\x2a\xc1\xb3\x90\x78\xd5\x3c\x18\x20\x74\xd3\xae\x54\x98\x62\xc5\x6c\x2b\x7e\xfa\xd0\x87\x48\x52\xe3\x11\xa0\x32\x42\x2c\x8d\x5a\x82\x2b\xd6\x34\x5c\x51\x01\x04\x28\x4a\xc6\xe6\x83\x69\x1b\x62\x45\x3a\x77\x86\x95\x61\x90\xb1\x49\x17\x52\x6e\x50\x0e\xfb\x31\x9a\x57\xd9\x85\x52\x81\x3c\x17\xf4\xc7\xd6\x60\xf1\x88\xe8\xe6\x23\xf9\xd0\x1c\xf9\x46\x3e\x69\xd5\x6b\xb1\x3f\xa4\x26\x5d\x9d\xe5\x2c\x9e\x42\xc1\x04\x6b\x18\x65\x19\x74\xef\x63\x9c\x5d\x79\x5d\x36\xe1\xbc\xef\x66\xd5\x41\xd2\xd1\x51\x49\xc9\x51\x0f\x92\xd0\xf2\x70\xac\xa4\x9a\x47\x42\x28\x0e\x4c\xca\x59\xcf\x15\x15\x8d\xa9\xda\x57\xaa\x49\x4b\xa0\x26\xb2\x95\x47\x80\xa9\xc2\x39\xb3\xfd\xea\x47\x89\x39\x25\xbd\xc6\xbc\x2b\x8f\x6c\x37\x6f\xa0\x43\xf0\x51\x7f\xba\x3d\x91\xaa\xbe\x5a\x0e\x89\xb2\x19\x65\xaf\xc0\x86\x2d\x43\xff\x65\xef\x4d\x48\xaf\xf4\x69\xf1\xb0\x23\x2d\x33\x86\xf0\xf1\x25\x52\x68\x10\x65\x42\x82\x20\x9e\x7e\x54\xa1\xcf\xe8\x90\xb5\xd4\xc5\x90\xaf\x99\x72\x0c\x24\x51\x77\x1d\x29\x81\x62\x19\x0c\x0b\x0e\x3d\xb9\x12\x42\x82\xa5\x20\x67\x21\x14\x91\xc5\x1f\xa4\xcc\x85\x50\x82\x8f\x57\xeb\xdd\x74\xab\xb0\x5f\x76\xce\x14\x70\xf0\x17\x7c\x1e\x29\x71\x74\x53\xd2\xc8\xa2\x8a\x41\x8a\x16\x9c\x8f\x50\x9a\x80\x6c\x44\x12\x29\x20\xe5\xbc\xd6\x44\x31\xd7\x51\x37\x98\xa9\x81\xbe\x0d\x76\xb5\xe5\x89\xff\x05\xec\xbc\xba\xe5\xea\xbe\xa7\x72\x88\xfb\xac\x10\x6d\xf3\x09\xa6\x98\x3e\x25\x83\x5d\x27\x2b\xc3\xbc\xfb\xad\x1e\x1d\x49\xd3\x3f\x1c\x65\x62\x55\xa7\x9a\xca\x50\x6f\x62\x28\xf6\x8d\xc2\x0e\xbb\xf9\x7c\xe6\xad\x1b\x51\xe6\xea\x54\xae\x1f\x55\xb0\xf5\x98\x19\x15\x4c\xc1\x67\x27\x94\x5d\xa4\xd4\x70\xad\xe5\x49\x9f\x0c\xc8\xd0\xd2\x5f\x98\x22\x38\x7e\x89\x9c\x0f\xfd\x2f\x1f\x9f\xd6\xf5\xd4\xdd\xb3\x10\x43\x1d\x5d\x0f\x6f\x19\xfc\xb3\x8e\xfe\xe3\x02\xe8\xf8\x7a\x8b\x63\x76\x01\x3e\x11\xa9\x86\x00\x63\x64\x61\x95\x32\x8e\x80\xa3\x5a\xa1\xb5\x84\x7e\xb5\x20\xda\x8a\x73\x83\x2a\x75\x76\x44\xa7\xb7\xea\x43\xe5\x89\x3d\x85\x02\xe6\xae\x60\x4f\xf8\xcb\x2b\x60\x70\x54\x9c\x09\x49\x5b\x9c\xf0\x91\xd4\x6a\x64\x3c\x03\xfa\xb6\x5f\x4d\x22\xe7\xc0\x83\x5e\x97\xef\x2b\x3a\xa3\x6b\x19\x32\x22\x93\xec\x8a\xba\xc7\x1e\xfe\x51\xf9\x2e\x4e\xc7\x82\xb3\x81\x5c\xea\xd3\x6a\xc7\xf7\x5d\x13\x78\x53\xa5\xc1\x76\xda\xd9\x4e\xa1\xc2\x0a\x7d\xd4\x58\xe5\x19\x4b\xa2\x50\x54\x4e\xeb\xbe\x85\x90\x0f\x04\xad\x8c\xa6\x10\xb1\x6d\x56\x32\xf4\x5f\xb6\x94\xa4\x0e\xba\x55\xb5\x23\x13\xc0\x1f\x8b\x21\x47\xcb\xa0\x1b\x1e\xb8\x1a\xbc\xb6\xaf\xef\x75\xcb\xdd\x12\xeb\x0a\x39\x02\x25\x8e\x3a\x9d\x6d\x53\x5d\x55\x12\xf6\x23\x8e\xe1\xb9\xab\xea\x21\x21\xc5\xcc\x84\xa3\xe0\x60\x85\x83\x6a\x4d\xec\x13\xd6\x9b\xae\x7e\x88\x6f\x3e\x87\x99\x39\xdd\xf9\xb1\x8b\xa2\x6c\x7f\xb1\x99\xb0\x4e\x6a\x6c\x10\xb1\xaa\x37\xb4\xa0\xaa\xa9\xe0\xf8\x34\x39\x68\xcb\x88\x53\x70\x94\xeb\x5e\x17\xb6\x1c\x55\x59\x51\xe1\x0c\x7d\x06\xea\x4e\x1c\xfa\x2f\x2c\xc7\x04\xed\xb4\xab\x3d\xe0\xa1\xa9\x2d\x59\x45\x3d\x8e\x3b\xab\xcf\x83\x5d\x21\x7f\x73\x08\x28\xd8\x84\x3a\xe0\x67\xf0\xeb\x1c\x1a\x36\x69\x68\xd0\x95\x3d\x70\x36\x97\x45\x38\xd5\xce\x75\x53\x0a\x59\xf5\xc1\x06\xe9\x94\x9e\x56\x16\x04\x57\x12\x84\xc0\x88\x1c\x89\x81\x54\xee\xa3\x50\x68\xf0\xae\xe5\x4c\x25\xeb\xd7\x1e\x72\x5a\xd6\x5a\x37\x3b\xf3\x08\xaa\xce\x7a\x28\x38\xd3\x6e\x14\x52\x5e\x2d\x43\x11\xdd\x6b\x4c\x4f\xce\xd3\x2f\x9b\x9c\x31\x03\xa6\x69\xae\x2d\x7b\x55\x0b\x59\x4c\x57\xc6\x89\x3e\x04\xba\xa9\x71\xd0\xdb\xcd\xae\xe0\x49\x06\xd5\x88\x6a\xa8\x3e\xc8\x47\x6a\xb5\xa8\xed\x0a\xe7\xa0\x50\x96\x80\xea\x17\x2a\xd9\x94\x7e\x54\xf7\x7c\xfc\xc5\x82\xe6\x48\x9e\xd4\xc5\xd2\xce\xea\x62\x1d\x10\xa8\xe0\x8b\xea\x8b\x78\x18\x9b\x56\xf0\xd3\xae\x5b\x41\x4c\x15\xe3\xd1\x96\x8c\xd7\x3d\x33\x24\xb8\xac\x28\xa9\xb4\xc8\x71\x6b\x1e\xb1\x53\xfb\x48\x05\xb1\x8f\xac\x1a\x62\xaa\xb5\xc7\x98\xa8\x71\x55\x55\x42\x27\x9c\x66\x67\x71\x30\xb1\x9e\xb8\x51\xaa\x60\xb4\x4e\xb6\xec\x58\x10\xb5\x18\x0c\x23\x37\x98\xef\xb4\x6f\x86\x54\x8a\x75\x9a\xda\xb5\x59\xed\xbd\x12\xd5\x8c\x77\x40\x1d\x4b\x01\xbf\xa1\x1b\xd6\x8f\x77\xdd\x66\x81\xde\x17\xbb\xcd\x71\xd6\xf9\xe3\xb4\xdd\x3e\xee\x62\xbf\x48\xf1\x87\xf3\x87\x12\xd5\x58\xb4\x2f\x9f\x16\x3b\x8c\xd7\x9d\x85\x07\x60\x88\x41\x35\x9e\x7f\xe7\x84\xfa\xf9\x2e\x74\xb4\x56\x49\x74\x42\x85\x44\xa9\x01\x33\xb6\xc0\x45\x4f\xf0\x8a\xb2\x60\xf3\x0c\xb6\xf5\x75\x71\x13\xe0\x73\xce\xa1\x1c\xb9\xa7\x59\x23\xe8\x26\xc3\xcb\xad\x53\xff\x2c\xde\x6b\xb1\xbd\xb7\x0c\xfd\x97\xcd\xea\x0c\x1c\xdc\x80\x78\xeb\x95\x62\xe1\x05\xca\xbf\x56\x3c\x42\x91\x4c\x67\x45\xb2\x42\x18\x54\x9c\x39\x33\x04\x96\xaf\x48\x53\x45\x88\x95\x74\xe5\x85\x23\xb1\xae\xb2\x6a\x96\x6c\x79\xad\x94\x25\x0f\x76\xed\xda\x03\x32\x86\x63\x19\x36\x1d\x13\xa4\xa8\xae\x34\xaa\xc6\x03\xb2\x16\xd3\x8e\xc2\xd0\x7f\x75\xfb\xc3\x38\x07\x82\x4f\xaa\x1e\x39\xd5\xa2\xe6\xa2\x6a\x59\x1f\x8a\x40\x94\x0e\xa8\x43\x2a\xa5\x5f\xbb\x5e\x56\x50\x1b\xcc\xad\x6d\x53\xce\xa3\xab\x8a\x62\x44\x9c\x43\x9a\x29\xbf\xaa\x29\x55\xdd\x44\x8e\x04\xe7\xaf\xea\xde\x76\xba\x4f\x09\xee\x62\x9f\xfa\x28\xc2\x6b\x7b\xd1\xb7\xd9\xbc\x38\xc5\x3c\xcf\x6a\xe0\x4a\xb8\x22\x92\xd6\x1a\xb3\x87\xc2\x3c\xac\x14\xe6\x2e\x92\x58\xd5\xe5\xa0\x45\xb2\x0d\xd9\x52\x59\x67\xdd\x8e\xf0\x6a\x15\x45\x72\x84\x61\x61\x61\x68\x2a\xe0\xa2\xd5\xb9\x59\x66\x97\x6f\xfa\x63\x8f\x65\x9f\xd5\x36\x18\x38\x56\xca\x65\xfa\x65\x67\x41\xb0\x26\x54\x4d\x7c\x9d\x9b\x47\xda\xb5\x15\x3b\xe2\xec\xf5\xaa\x4a\x64\xf2\x21\x0d\x1b\x7b\x87\x21\x49\x8a\x13\xb3\x8c\xb9\xe7\xdb\x33\x36\x92\x66\x31\xa6\xc1\x82\x88\x83\x5e\x63\x84\xcd\x14\x06\xbb\xf6\xd8\x23\x86\x40\x2a\xb2\xa8\x09\x45\x6e\x2a\x34\xe2\x91\xd4\x88\xf1\x51\x6d\x25\x47\x3e\x6b\x6d\xf4\xf7\x73\xa4\xf8\xf1\x2e\x00\x52\x16\x92\x1a\x66\x92\x26\x74\x49\x13\x6e\x4b\x9a\x39\xd5\x68\x58\x6b\x7a\x3c\xd7\xf4\xa2\xda\xf0\xb8\x20\x21\x02\x91\x21\x11\x89\xff\xf3\xc3\x90\x49\xcf\xcb\x14\x79\xc0\x05\x9f\x9f\x0b\xff\xd8\xbc\x14\xfb\x61\x0a\xfb\xfa\x1e\xb8\xaa\x5a\xea\x57\xdb\x58\x6a\x83\x3f\xa5\xc9\x9e\xc2\xa7\x22\x57\x55\xc8\x29\x16\x12\x5e\x73\x5f\xb2\x5d\xef\x3a\x83\x87\x70\xfd\xf5\xef\x7f\xff\x63\x49\x2f\xb3\xb9\x40\xd2\xda\xd1\x08\x55\x1f\x00\xe5\x7f\x8e\x9a\x30\x83\x7a\x93\x83\x51\xfb\x12\xf3\xb8\x54\x90\xca\x60\xd7\x85\x82\x64\x6b\x38\xd4\xe9\xd7\x42\x41\x4a\x33\x05\xe9\x69\xad\x20\xfd\x91\x9a\x31\x6f\xfd\x38\x17\xd5\x78\x69\x63\x48\x6a\x20\x4a\xf8\x93\x77\xf5\x82\x5d\x3d\xef\xed\xe7\x08\x63\x87\x1e\x16\x5a\x3a\xe8\x92\x1c\x44\xa8\xd4\x55\x48\xc0\x44\xf4\x20\x9e\x92\xd3\xcb\xf2\x64\xec\x42\xa8\x42\xb9\x40\x50\x84\x5a\xa1\xfa\xea\x60\xd8\xaf\xbe\x9d\x42\x6d\x2a\xe1\x73\x7f\x1f\x4f\xfe\xbe\x7a\xf6\xf7\xe5\xc9\xdf\x57\x60\x6c\x97\x6e\x6c\x57\x96\xc1\xae\x53\xd2\x0a\x5c\xe4\xe9\xbf\xce\xeb\x97\x86\xfe\x6b\xeb\xf5\x63\x15\xa0\xce\x62\xf0\x18\xd6\x49\x6c\x3a\xcb\x42\x44\xa8\x70\x53\x69\xd8\x62\x72\x62\xc0\x2b\xba\x43\x06\xf8\x14\xc2\x51\xed\x36\x2a\x60\x39\x40\x28\x1a\x58\x79\x74\x70\xcc\x05\x66\xea\xa4\x21\x54\x77\x13\xea\xec\x6d\x97\x61\xed\xd3\xfe\x63\xbd\xed\x33\xdd\x77\xc7\xdb\x5e\xa6\x5f\x57\xbd\xed\xab\x73\x89\x50\xe3\xd9\xdb\xce\xf7\x7a\xdb\x43\x98\x7e\xf5\xd7\x30\xe2\x2a\x25\xdf\xc5\xe5\x7a\x11\x9a\x7f\x28\x9d\xeb\x4f\xe8\x2e\xb2\xaf\xbb\xd4\xeb\xba\xcb\x79\xe1\x41\x19\x49\x76\xcf\x9f\xa1\x9c\xa9\x8a\xfd\x47\x6a\xd8\x73\xef\xd2\x5c\xc7\x5e\x09\xc7\x0a\xe1\x38\x74\x8f\x49\xff\xf5\xf3\xfa\xc7\x17\xe8\x04\xe0\x86\x18\x55\xb4\xe3\xe4\x37\x5c\x91\x78\xc0\xe9\x5f\x22\xad\xcf\x25\x5e\x25\xaf\xfb\x93\x67\x39\xaa\xda\x48\x21\x44\xaa\xf0\x00\x60\x86\x0b\x35\x19\x29\xe9\x5a\x02\xf5\xf2\xd2\x2f\x78\xf1\x2b\x8e\x2a\x8d\x65\xf2\x6e\x42\x1b\x3a\x52\xf6\x75\xeb\x6a\x0c\x93\xab\xb1\xdc\xe1\x6a\x6c\x9f\xba\x1a\x67\xa3\x8c\x88\x72\x6c\xac\x3a\x21\xef\xf7\x28\x52\xd1\xf6\xc5\x8a\x30\x56\xc9\x8e\x5a\x54\xe5\xd2\x9b\xac\x53\xf9\xe6\x91\x4b\xe4\x0b\x42\x0e\xb0\x3c\xd4\x38\x4f\x5c\x00\x69\x8c\x49\x63\xad\xb3\xf0\xe6\xf6\x89\x93\x1e\x62\x22\x4d\xbb\x79\xd6\x05\x52\x74\xa7\x85\x0b\x08\x42\xa6\xce\xdd\xe6\x54\x74\x8f\x2c\x3e\xaf\x7d\xf5\x72\xc5\x57\x3f\xf7\x5e\x4f\xbe\x7a\xd5\xe2\xe3\x68\xbe\xd7\x12\x03\xbc\x4b\xfa\xc7\x1b\x96\x1a\x7b\x98\x8d\x7e\x0a\xa5\xdd\xf3\xe2\xcf\xcf\x38\xba\x1f\x7f\x3c\xbb\x32\x0c\x5e\x27\x05\xa6\x24\x6a\x05\xc5\xc9\xb7\xcf\x3b\xbe\xfd\x63\xaf\x42\x14\x9c\x1c\x64\x76\x54\x11\xed\xce\x82\x31\xe8\xd4\xdf\x9f\x09\xc0\x6f\x5f\xdd\xf1\xed\xf5\xf7\x3b\x90\x9b\x6f\x70\xb3\x96\x34\x6c\xf0\x33\x26\x6e\xe2\x7d\x0a\x59\xbf\x9b\x17\xfb\xc4\xdc\x11\xab\xa7\xa4\x3f\x2b\xfb\xe3\x9d\x3a\x04\xc6\x8b\x50\x92\xf6\xaa\x0a\x21\x0f\x76\x35\x9f\x55\x2b\x3c\xe0\x0a\x50\xed\x7b\xf0\x6b\xbc\xe5\x26\xc5\xa5\x06\x9f\xc5\x82\xb9\xb5\x2a\x58\x31\x7c\x89\xa8\x1f\x58\x8e\x7e\xc8\x08\xc3\x9b\x45\x81\x1a\x1e\x77\x4c\x2a\x45\x2b\x8e\x6c\x85\x72\x32\x7e\x59\xcb\xac\x58\x45\xdc\xf5\x58\xf1\xf6\xd4\xe0\xd5\xb7\xab\xef\x8c\x15\x10\xa2\xf3\x10\x51\x63\x9b\x92\xd7\xf5\xcd\x89\x52\x75\x95\x72\xfa\xc1\x81\x7e\xd8\xf5\x02\xc1\xec\x37\x20\x24\x06\x40\xd9\x3f\xd2\x3f\xde\x56\x9f\x38\xd2\x5d\x46\xf0\x83\xc7\x2a\x89\xfe\xe8\xa8\x0e\x85\xd2\x0b\x53\xac\xf9\x35\x53\x1d\xf4\xc7\x02\x4d\x7d\x8e\x03\xae\xcf\x95\xe2\x1d\xe3\x99\x88\xd9\x82\x60\x16\x41\x74\x3a\x2e\x42\x55\xce\x81\xa5\x6a\xd3\x19\x05\x70\x91\x65\x32\x4e\x40\xf0\x07\xbc\x8f\xe7\x10\x53\x76\x95\x8a\x5d\xee\xeb\xe4\x87\x09\x8e\x03\x65\x9c\x40\xc5\xba\x8a\x9d\x51\x55\x36\x47\xdd\x5b\xc6\x48\x11\x99\xd3\x71\xcd\xaf\xc0\x96\xb0\x67\x1b\x19\xf4\xe0\xcc\xab\xf3\x40\x43\x0a\x73\x4c\x19\x54\x59\xe4\x11\x5f\xe7\x81\x40\x8c\xd3\xd3\x58\xd5\xaa\xb1\x7c\x17\x44\x75\x65\xb1\x74\x92\x64\xec\x61\xfa\x39\xab\xdc\x53\xbd\x31\x21\xdf\xa6\x58\x40\x90\x6f\xaa\x1a\x96\x80\x52\x11\xa1\x57\x8d\x6c\x72\xbe\x59\x62\x1f\xe5\x09\x86\xbb\x66\xdc\x05\x21\xc6\xc5\x75\xe7\x43\xcc\xd0\x3f\xac\x76\xbd\x4c\x2a\x70\x86\x62\x23\x2f\x05\xc9\x3c\xc8\xa2\xe0\xd2\x49\xcb\xb4\xe6\x0e\x31\x28\xdc\x93\x0d\x5a\x0e\x2f\x38\x3b\x5c\xc4\x39\x0b\xe0\x25\x42\x1a\x55\xb3\xd7\xba\x66\xc9\x1f\xef\xdc\xf3\x70\x7d\x91\x25\xb5\x42\x48\xd2\x9d\x12\x42\x11\x69\x73\xd1\xc7\x17\x5d\x6e\xcb\x7e\x35\x88\x36\xdd\x04\xb3\xde\x14\xf2\x8a\x61\x3e\xc6\x42\x62\x2a\x46\x89\xb0\x7c\xb4\x9b\x1b\x12\x6d\x1c\x49\x2a\xd6\xab\x9c\x0b\x85\xa8\x1b\x9d\x50\x03\xc0\x5d\x86\x7e\x65\xb9\x50\x01\x31\x37\x4d\x55\xa3\x1c\x8c\xd5\x89\x5a\xc1\x5d\x4d\xec\x1b\xdc\x95\x60\x96\xea\x86\x2f\x02\x16\x18\xcc\x69\x56\x55\x21\xf8\x88\x2a\x2c\x89\x64\x84\xb3\x43\x52\xbe\x9a\xca\xda\xd2\x65\x9f\x19\xda\xdb\x9b\x4d\x1a\x35\xee\x03\x52\x8f\xc3\xbc\xab\xd0\x57\x61\x74\x11\xdb\x3e\xae\x0f\x9d\xf0\x7d\x7b\x14\x8c\xb0\x9f\x74\xd3\x3a\x5f\x5e\xe7\xa7\x6a\x01\xa0\xb5\x03\x1b\xb7\xaf\xd7\xe2\x09\x67\xd1\xc3\x57\x96\x0d\xe7\x43\x03\x3f\x10\x80\x98\x54\x53\x43\x5c\x81\x04\x38\x03\x7c\xc0\xb1\xb9\xde\x06\x0b\x2d\x4d\x00\x99\xd5\x51\xea\xb1\x83\x3a\xc1\x93\xe5\xfb\x09\x32\xbf\x74\x8d\xe1\xdd\xa5\xe9\xd4\xb9\x62\x6d\xf3\x88\x1b\x9c\x10\xb2\xe4\x90\xb3\x89\x2d\x5f\x8a\x5e\x33\x4a\xb1\xf2\x28\x25\x18\x77\xaa\xb1\x81\x55\xaf\x46\xd0\x0b\x6a\x5d\x74\xfc\x24\x58\xb5\xd5\xd4\x42\xc8\x51\xcd\x2f\x00\x34\xd8\x5d\x28\x87\xd6\x49\xcf\x3f\xde\xa9\x82\x53\x57\x62\x3c\x54\x0a\xc1\xd8\x16\x4f\x4c\xe2\x57\x52\x46\xb8\x51\x0a\x87\x4c\x41\xe2\x50\xa8\xb4\x74\x75\x35\x78\x74\x6d\x55\x0d\x30\x4f\xf2\x05\x1a\x6a\x66\x8c\x8a\xc5\x2c\x87\xef\x2a\x16\x6c\xc4\xf0\x7f\xfb\x6e\xd4\x47\xad\x90\xd5\x7c\x4e\x78\xc9\x08\x1e\x33\xb0\x99\xb5\xfd\x19\xcd\x88\x6e\x0e\x89\x87\x3c\x34\x6a\xf0\xd5\xe5\xf8\x10\xa6\xe1\x6f\xdf\x7e\xfb\x7a\x1b\xc2\xe9\x93\x00\x99\x0e\x6d\xbf\xc6\x2b\x30\x80\xac\x13\xaf\xbe\xe8\x70\x60\x6f\xbc\x85\xb6\x0e\xd9\xc9\x73\xa3\x2a\x47\x6a\xd9\xb0\x37\xb5\xed\x73\x48\xfc\x93\x65\x91\xce\x43\x61\xcf\xff\xd3\x6e\x69\x3b\x88\xd9\x21\x0f\xb2\xf7\x3a\x43\xd2\x3e\xb9\x75\x0d\x2d\x3d\x87\xe3\x9b\x5b\x3f\xe4\xa6\xd2\x9c\xbd\x6a\xb9\x8b\xb9\x19\x4d\x90\x76\xc8\xb2\x9a\xda\x2e\xdd\x97\x9f\x0b\x35\x90\x76\x6e\x0b\x76\x5a\xf0\x07\x00\x8b\x97\x18\x59\xe8\xb3\xfc\xc6\x3b\x99\x2f\x1b\x80\x2a\xc0\xb0\x6c\x50\x74\x80\xa2\xff\xf1\xce\x67\x10\xb1\x5d\x7d\x77\x5f\xd9\xdd\xd1\x74\x4f\xee\x0a\xe0\x1c\xff\xd4\x0c\x7c\x94\x91\xba\xec\xf1\x64\xb1\xb1\x64\xf1\x2f\x3c\x64\xdd\x29\xf4\x9b\x1a\x87\x62\x91\xbf\xe5\x8d\xb7\x24\x4f\xc8\x7d\x4d\xcf\x79\x0f\x93\xfc\x14\x36\x73\x1c\xd1\xd3\xba\x1a\x3d\xd7\xa3\x8a\x71\xaa\xa0\xd9\xeb\x19\x19\x05\xf6\x73\x7a\xe3\x75\xc5\x60\x22\xa0\x13\xd7\xdf\x60\xb6\x34\x9d\x78\x5b\x5a\x07\x2b\xed\xb9\xed\x83\x14\x01\x9d\x7e\x55\x3f\x20\x20\x3d\x27\x55\xca\x56\x2f\x0a\xbd\xcb\x30\xdf\xa4\x03\x25\x3d\xcd\x62\x95\xd1\x47\xf1\x8d\x77\xe8\x21\x78\x97\x1c\x62\xf3\xa9\x51\x43\xf0\xc7\x7b\x87\x3d\x97\x0d\xf9\x13\x0a\xdb\x65\x90\xe2\x5d\xfe\xa8\x35\x95\x68\x67\x8f\x7a\x6c\xca\x8d\xaf\xff\xdf\xa3\x02\x6f\x88\x54\x39\xfe\x02\x75\x37\xe4\x21\x11\x68\xf7\x80\x69\x01\x10\x94\x10\xe2\xc8\x4c\xa1\xd4\xa1\x10\xd7\xbc\xa3\xec\xb6\x7c\xb0\xbb\xc5\x53\xce\xe9\x17\x2b\x83\xe1\x77\xc3\x87\x29\xc7\x01\xdc\xaf\x5c\xd3\x8b\xbe\x0f\xca\x5e\x05\xbc\x3e\xaf\x3a\x02\x61\xbe\xcc\x27\x5d\xb8\x4b\x3d\x70\xfa\xaa\x57\xc7\x59\x75\x96\xda\x4f\x14\x39\xe8\x4e\x1f\x11\xdf\xf2\x18\x1c\x8a\x76\xe6\x83\x50\xcc\xaa\x69\x73\xfc\x25\x0c\x16\x0e\x12\x09\x61\xbb\xda\xab\x16\xa9\xad\x9d\x99\x55\x6f\x18\xe2\xd5\xbe\x1c\xdd\xe5\x8e\xf4\x8b\x15\x61\x3e\x4c\xb8\xf1\xb5\x2f\x71\x24\xca\x15\xf0\xb2\xa1\x7c\xde\x97\xf5\x6a\x57\xe2\x55\x2e\x5e\xe9\x49\x24\xb3\x20\x21\xfa\xf1\x9e\xfc\x34\x11\xf5\x01\x97\xae\x1a\x8c\xac\xfb\x0f\xc7\xf0\x4b\xa3\x14\xeb\x90\x00\x42\x51\x21\x1c\xc3\xa0\x73\x35\xfb\x74\xaa\x54\x9a\x81\x48\xe0\x80\x2b\x99\x9a\x28\x9d\xa6\x59\xf5\xa9\x2c\xda\x07\x48\x69\x5b\x6f\x81\x16\x3c\x24\x11\x03\xd2\xef\xb0\xb4\x35\x14\xbe\xcc\x93\xa8\xc5\x91\xf8\x36\x5a\x80\xb6\x95\xb6\xcc\x96\x88\x5c\xad\xa4\xed\xb7\x3a\x52\x15\xcf\xeb\x88\x96\xb6\x3a\xe0\x94\x81\x7f\x39\x27\xbe\xce\x52\x60\xbf\xaf\xfc\x1e\xcb\x1c\xd8\x7f\x9b\xa5\xbf\x0e\x5d\x30\x9a\xe7\x62\x4a\x80\x65\x6e\x20\x29\xbb\x78\x37\x9c\x7e\x72\x97\x71\x3d\x1b\xda\x3f\xd4\x5b\x5f\x28\x0a\xfa\x2f\xad\xd9\xad\x13\xd2\x5c\x23\xf3\x29\x11\x97\x35\x7a\x18\x1b\x13\x2c\xf9\x84\xf4\xb2\x0c\x33\x78\x9d\x69\x02\x8f\xa2\x6f\x07\x7d\x89\xbd\x03\xe9\xb3\x21\x85\xa1\x1e\x8a\x79\x0b\xe3\x4b\xa2\x9a\xf3\x61\xfa\x7c\x4d\x0c\xe6\xcf\xce\x0b\x6d\xe8\x94\x15\xeb\xeb\xe0\x3f\xbe\xe8\x4e\x59\xe7\x59\xb1\x96\xd2\x38\xcb\x8a\x65\x87\x8c\xfb\xbb\x7a\xf8\x5f\x37\xd0\xb9\x3f\x03\x64\x92\x3a\x04\x6a\x71\x93\x5d\x6a\x56\xcc\xa1\x1f\xc9\x25\x60\x8f\x79\xc2\x1a\xcf\xf2\xaa\x02\x0a\xe8\x54\xa1\x07\x46\x07\x0a\xf0\xa3\xe5\x5c\xfa\xb5\x07\x7f\x47\x95\x40\xc2\x65\x74\x80\x62\xd2\xcb\xfa\xb8\x98\xa7\x44\xd9\x12\x02\xee\x92\xd7\x75\x41\x2c\x76\x10\xc5\x6d\x7a\xeb\xe5\xdd\x78\xf9\x68\x11\x72\xb8\x96\x83\x20\x07\xa6\x2e\xce\x42\x97\x0c\xfc\xba\x5e\x41\x18\x26\xd9\x05\x6a\x3e\xd9\x15\x07\x8a\xac\x56\x9b\x97\x8f\x77\x57\x09\x0c\xee\xe1\x15\x41\xa3\x35\x9c\xa3\xcd\x2a\x20\x88\x4a\x1d\xf4\x22\xcb\xaf\x81\x9d\x6f\x9b\x60\x2e\xfd\x6a\x03\x8a\x59\x83\xb4\xdd\xaa\xbb\x78\x95\xf4\xba\xbe\xc9\xdb\x5d\x0f\x91\x85\x60\x22\x3c\xca\x0a\x89\x10\x08\x78\xb1\x12\x52\xab\x52\xab\x67\x15\x3d\x63\x6a\x46\x1f\xfa\xb5\x2b\x22\xb9\x69\x17\x9b\x31\xcc\x38\x92\x67\x9f\xaf\x9c\x71\xe9\x77\xb0\x77\x7d\x79\xd5\x42\x00\x9a\xd3\x3d\xb4\xaa\x97\xeb\xa6\x64\x60\x84\x8b\xb7\xdb\xeb\x75\x16\xa6\xcc\x43\xa1\x34\x32\x15\x23\x37\xdf\xcc\x58\x76\xd3\x39\x76\x1a\xa6\x2c\x3f\xec\xac\x37\x9e\x71\xfd\x20\x48\x0d\x96\xa8\x06\x48\xef\x06\xe4\xb9\x49\xcf\x72\xf3\xad\xea\x8f\xc9\x6f\x8e\xc8\xda\x96\x8a\x34\xd3\x9a\x91\x5f\x40\x3e\x54\xfc\xe6\xc1\xf4\xba\xd7\x88\xb0\x24\xbb\xf6\x53\x97\x16\x04\x63\x1f\x9b\xe0\xb2\xb9\xc7\xdb\x4d\x0f\x0e\xfd\xf7\x4f\x64\x40\x07\x60\xd9\x4b\xfe\x57\xf3\x6c\x41\xc9\x97\x06\x0e\x6f\x99\xd2\x29\xef\xe1\x62\xd8\x77\x1b\x04\xd0\x67\x0e\x2f\xe9\x53\x30\x22\xad\xe8\x1d\xf8\x58\x6b\xc8\xd5\x8e\x99\x5f\x9e\xb7\x60\xd5\x6f\x81\xd2\x0b\x2f\xfc\xc7\x6d\x60\x01\x47\xe8\x1e\x2e\xef\x73\x7b\x99\x80\x79\x3f\xab\xe8\x8f\x60\x63\x74\x90\xfa\x2d\xd2\xb0\x11\x1c\x3d\x73\xde\x81\x5e\x45\xd5\xf3\x1e\x86\x43\x80\xc9\xbc\x43\x9b\xc3\xfc\xb2\x25\x8f\xba\x93\x8f\xcf\x0c\x30\x60\x64\x54\x0e\xfd\xda\x3f\x1d\xf8\xdf\xc4\x20\x06\x11\xd4\x21\x94\xa6\xcf\x0b\x48\xa1\x67\x9f\xd8\x9f\xd3\x17\xfd\xf9\x09\xb6\x5e\x80\x9d\x01\xe0\xd8\xce\xe1\xe6\x41\x18\x3e\xcc\x3f\xc4\x50\xd4\x9f\x00\x4d\x9d\x8d\xce\x5d\x10\x1a\x1b\xa0\xf3\x69\x64\xca\xdb\x86\x24\xca\x90\xc1\x29\x9d\xd6\xdf\xf4\x49\x58\xc9\x18\x1f\xb6\x63\x53\x5e\xd6\x80\xec\xf6\xde\x7b\x40\x34\x80\x87\x82\xdb\xcb\xf9\xa8\x3a\x41\x17\x98\x7f\xa8\x95\xc0\xa7\x1d\xd3\x9c\x01\xae\x21\x66\x69\x4e\xbd\x6d\x4e\xa8\xcb\x87\xe8\xed\x5b\xe7\x6b\xf7\xf4\xf6\xf7\xff\xfd\xaf\xd7\xdf\xff\xe7\xac\x85\x9b\xac\x24\x5b\x30\xdd\x33\x7b\xe2\xfa\x2b\x77\xfe\xef\x9b\xe3\xb8\x06\xeb\xd6\x99\x0f\x8f\x47\xbc\x20\x49\xdf\x00\xdd\x8e\xd7\x21\xb7\xe3\x0d\x6a\x31\xbe\xc5\xc2\x71\x8b\xf1\xe5\xfe\x61\xff\x1f\xb1\xc8\x6e\xb1\x58\xb4\x6b\x94\x68\xa7\xf5\x37\x73\xce\xb3\x35\x95\x12\x42\x53\x74\x48\xda\x6d\xe4\xe9\xb6\x0f\x3b\xbd\xeb\x72\x6c\x57\x20\xa7\x1f\x1e\xd6\x5f\xff\xf3\x5e\x5a\x59\x48\x92\xc5\xce\xca\x3c\xc8\x89\xfd\x56\x29\x58\xf1\x22\xeb\xcc\x16\xd5\x90\x5a\x58\xa9\xe0\x8c\x44\xc5\x26\x4f\x8d\x0a\xe7\xc1\xae\x70\x4d\x1b\x7b\xca\xd1\xab\x89\x5e\x93\x9a\x5d\xd9\xa8\x03\x2e\x97\xef\xcd\x30\x92\xa7\x6f\x1c\x98\x05\xd6\x25\xe1\x48\xac\x22\x7b\x7b\xf3\x6e\x6a\xcd\x88\x43\xed\x62\x87\x9c\x00\xcb\xbd\xd3\xda\x42\xef\xdd\xb5\x1c\x2a\xd9\xe2\xdd\xd1\xb8\xd2\x2e\xdc\x52\x5a\xf3\x13\x07\x38\x22\x02\x2c\x85\x95\xea\xda\xa0\xbb\x8a\x41\xc5\xdb\xa5\x9f\x93\x5b\xae\xda\xe6\xf6\xc1\x6e\xc7\xa7\x97\xf3\xdd\x4a\xd1\xc7\x3b\x5b\xfe\xfb\xb7\x7f\xfc\xf3\xd6\xcc\xb9\x9d\x01\x02\x08\xb3\x97\xfa\xbc\x65\x3b\xf0\x20\x8d\x37\xca\xa7\xd5\x37\x70\xd8\x72\x7b\x36\x31\x71\x83\x2d\x18\x44\x52\x1b\xba\x60\x01\x21\x01\x37\x10\xb2\xaf\x8a\x16\x83\x13\x4e\xe8\xf6\xf5\x77\x20\x7a\xa8\xcf\xdc\x76\x58\x76\x3b\xa0\x16\xbf\x01\xde\x6c\xf9\x95\xb5\xb2\xef\xcd\xb7\x08\x16\x5e\xea\x1b\xf3\x6d\xaa\x84\xb7\x0e\xff\xd6\x06\x50\x30\xe9\x47\xb7\xe8\x25\x6f\x31\xd6\x87\x9b\xfc\x54\xe9\x3a\xd5\xc3\x73\x3a\x39\xe9\x95\xec\x3d\xef\xce\xbd\xec\xce\x3d\x7f\xd4\x2f\xf7\x0f\xae\x04\xfd\x91\x2f\x38\x5a\x5b\x3a\x66\x0b\x2b\xda\x38\xdc\x77\x78\x97\x3b\xf9\xf0\x15\x3e\xe6\x7c\x4b\xc3\xf9\x7c\x5e\x3f\x7a\x0a\x23\x69\x48\xcf\xe1\x65\x67\x6b\x49\x36\x4f\xd2\x96\xa2\x00\xb0\xc3\xe9\x25\xbd\x6d\x38\x69\x99\x33\x56\xf3\xf6\xdc\x85\xd9\x56\x43\x40\xac\xd4\xa9\xaf\x87\x2b\xac\x49\x79\x39\xf7\x96\x93\xe2\x85\xc3\xf3\x0e\x11\x83\xef\xcb\x70\x7b\xa4\x62\xbb\x61\xfa\x78\x0f\x2b\xb2\x88\x69\x43\x7b\x49\x6f\xe5\x25\x5c\xa5\x47\x48\x64\xc8\x31\x2a\xc5\x5f\xda\x2d\x8e\xe8\x7c\x9d\x22\xfa\x64\xd3\x6d\xf5\x92\xf9\x39\xd0\xde\xcb\xd7\x1c\xb0\x17\x22\xd1\xfd\x20\xb7\xe7\x60\x98\x8b\xda\xcf\x5a\xea\x5b\x3e\x3d\xe6\xd2\xfe\xfd\xd7\xd3\xb7\xbf\x3d\x2c\x2e\xff\x18\x57\xee\xbb\x43\x3c\x73\x92\xd7\x86\xa4\x8a\x36\xa5\x56\x78\x07\x64\x3b\xf2\xf5\x14\xc9\xd7\x74\x60\xd8\x84\x08\xd4\x4b\xe6\xf9\x0a\xb1\xc1\xe8\x78\x6a\x14\x5b\x18\xec\x8a\x28\xaf\x21\x52\x0e\xda\x81\xb5\x86\xd1\x05\xdc\xc9\x54\x6a\xfe\x78\x77\x84\xc0\xf5\x52\xf9\x00\xf0\x33\xe1\x72\x6a\x00\xc6\x6b\x14\x2b\x0f\x76\xed\x31\xdf\xc9\x15\x92\x1a\xac\xb7\x0b\x79\x01\x4b\x3f\x90\xb0\xe5\xa5\x51\xe4\xa2\xd5\x2a\x94\xd2\xa9\x51\xc4\xe9\x85\x41\xb4\xbe\xe8\x70\x1d\x50\x91\x5a\xc3\xa9\x91\x84\x38\x7b\xf6\xe3\x5d\xcb\x26\x69\xf5\xf2\x61\x38\xe1\x70\x42\xab\x11\xdb\x60\x57\xdb\x60\x12\xa0\xe8\x4f\x2e\x52\xc9\xc6\x05\x89\x74\x9e\xfc\xc2\x91\x5a\x1d\x03\x35\x04\x30\x05\x8f\x36\x34\xb4\xa1\x9d\xdb\xd0\x4a\x19\x0a\x92\x7d\xde\xbd\x2e\x3a\xcf\x2f\xe0\xa0\xc0\xbd\x71\xb0\xab\xa9\x99\x0d\x1c\x13\xc5\xa3\xcf\xf4\x3f\x42\xd2\xac\xf1\x6a\x24\xa0\x05\xcc\x40\x4b\x60\x15\xa8\x14\x11\xdd\xec\x0d\x5d\x0b\xdf\x19\x07\xa9\x50\x6e\xf1\xc3\x94\xb3\x44\x1e\x83\xc6\xe1\x88\x34\x30\x82\x1f\x4e\x2a\x58\x4e\x03\x05\x2a\x05\xae\x57\x8b\xc0\xf8\xa9\x89\xfc\x98\x7c\xbc\xe9\x07\x7f\x77\x86\xe1\xc7\xed\x15\x50\xd6\x83\x5d\x4d\x87\x1b\x28\xd6\x97\x44\xdc\x46\x81\x06\xf3\xa2\x37\x56\xf8\xce\x83\xaa\x96\x21\xe5\xa7\x8c\xb1\xc8\xe7\x11\x41\xc6\x7c\xc9\x2f\x99\x3c\x1f\x66\x37\x7e\xbc\x1b\x09\x5d\xae\x07\x84\x05\x70\x3b\x25\x8a\x3e\xeb\x6b\x1b\xdc\x85\xed\xac\xdc\x47\xe0\x16\xfa\x5a\x8c\xd6\x9c\x99\xa2\x84\xd1\x01\xa0\x24\x86\x97\x4c\x53\x85\x18\xf4\x0a\x61\x9a\x97\x49\x0d\x93\xd6\x58\x27\x6d\x20\x7d\x41\x12\x39\x3f\xf7\xf1\x2e\x03\xa5\x9a\xce\x1f\x9c\x84\x38\xe8\xfb\x93\x65\x4e\x77\x25\xd8\x51\x4e\x6a\x23\x13\x27\x9b\x8c\x4c\x09\x63\x1e\x1a\xe2\x63\x10\x02\xe4\x4b\xd3\xa6\xd7\x3a\xd8\xd5\xa2\x50\x71\x6c\x43\xb9\xe9\x54\x04\xd0\xf5\x4b\xa0\xc0\xfa\x0a\xc3\x28\xaf\x13\xda\x43\x87\x55\xe9\x8e\x55\x10\x60\xab\x7c\x46\x3c\x4b\x35\x2a\x8b\x56\xa8\xc1\x53\x5b\x06\x5c\x4c\x4b\xd5\x8f\x43\xe6\x17\x0e\x5a\x3d\x78\xe9\xa4\x8a\x0e\x4c\x41\x57\x22\x17\x40\xaf\xfd\x3d\x99\x29\x87\x7c\xe8\xf7\x3d\x32\xfb\xfe\xf7\xbf\xbe\xfe\xeb\x4e\xa7\x43\x20\x6e\x58\xba\xb2\x8c\x0d\xae\x16\x79\x98\x0f\x89\x5a\x81\x48\xd3\x05\x01\x32\x83\x1c\x97\xe8\x8b\xd3\xad\x63\xa4\xe4\xd6\xdb\x19\x76\x52\xce\xa3\x9b\xbe\x9c\x3c\x5e\x3b\x7c\x60\x6b\xd2\x24\x63\x48\x6a\xba\xb5\xd4\xeb\x24\x91\xbc\xc7\xcf\xf4\xbc\x0a\x5b\x99\xf1\x33\x19\xf5\xc7\xce\xeb\x57\x05\x75\xbf\x67\x9d\x1c\x23\x9f\x28\xfa\xd6\xe7\x77\x99\x38\x42\xe0\x6d\xc9\x65\x45\x48\xdb\x8c\xac\x54\x0e\x81\x52\xa9\x66\x6f\x30\x89\x76\xff\xea\xde\xf3\xad\xe3\x46\xb7\x80\xc5\x96\x74\x57\xd0\x6f\x3e\x8c\xbc\x74\x8f\xfd\x6d\xa7\xab\xf3\x87\x9a\xa0\x70\x37\xee\xf5\x74\xdd\xf1\x3f\xd5\xfd\x4e\x36\x65\x7f\x87\x8b\xb3\xee\xbc\xb6\xde\xd3\xbf\xbf\xbf\xfe\xed\xdb\xaf\xf7\xcd\xe9\xa4\xeb\x06\xac\x4b\xeb\x0a\xfb\x3c\xac\x42\xcb\x01\xac\x4b\x31\xe4\x75\x40\xa2\xdd\xbd\x89\x8c\x57\x8b\x38\x51\x4a\xf3\xfb\x0d\x5f\xf4\xe3\x8b\xee\x48\x20\xe2\x5d\xbe\xd8\xbe\xde\x2b\x6a\x40\x51\x65\x1d\x3a\xec\xf6\x2b\xea\x50\xd1\xb2\x72\xed\xf8\xfc\xb9\x0b\xa7\xe9\x50\x4c\x80\xb4\x5a\x97\x0e\x27\xcf\x4e\xeb\xfd\x0e\x3e\x97\x05\x0c\xbb\xde\x31\x43\x8a\x55\xcd\xe7\x9e\x34\x03\xdd\x88\x2b\x79\xc9\x4f\x33\x59\x52\x74\x13\xc9\xd4\x4a\x7c\x05\x42\x25\x2e\x93\x55\xcf\x08\xe6\x05\xee\x2a\xb7\xd8\xaf\x36\x2c\x09\xd9\x7f\xcb\x47\x66\x4f\xac\x4e\xcc\x3a\xb9\xc4\xa0\x9b\x0b\xf7\x6b\x1f\x4b\x86\xd5\x5f\xb9\xe9\xc7\x2d\xf6\xab\xf5\x5f\xec\xcc\x37\xd9\x9e\xe9\xe3\x75\x7e\x02\x00\xe8\x2d\xe9\x66\xb9\xa0\xb2\xee\x3d\x0f\x8c\xcc\x14\x8e\xaa\x49\x50\x12\x42\xd6\xb3\x25\x08\x03\x15\x41\x8b\x78\xd5\xd7\xa1\x5e\x6d\x3a\xe9\xbc\xbc\x54\xfa\xf5\x5c\xd3\xfe\xd0\xb2\x71\x05\xaf\xd9\xeb\x8b\xec\xae\xf4\x9e\xdb\xeb\x3d\xeb\x70\x7b\xe4\xfe\x25\x77\x97\x48\x0b\x14\x81\x93\x54\x96\xae\x68\xf2\x08\x76\xf5\xaa\x73\x48\x80\x6b\x3d\x5c\x9c\x37\x46\xa4\x93\x0b\x41\x53\xb3\xb0\xf6\xda\xca\x10\x55\x89\x5b\x47\x08\x23\x96\xd7\x97\xf8\x54\xa8\x04\x78\xf6\xc3\xb4\xae\xeb\xd1\xe0\x22\xa8\xc6\xa2\x4a\x88\xa5\xa4\x27\x35\xa0\x16\x00\x9f\x58\x89\x5a\x25\x53\x03\xdb\xb6\xc2\x58\x7d\x7a\xc7\xe6\x2d\x9c\x51\x5d\x01\xbc\x49\x8d\x5a\x49\x5f\xc0\xc0\x04\x3a\x86\xe5\x7b\x50\x5f\x53\x39\x22\x5a\x1e\x07\xbb\x7a\x83\xb0\x40\xd3\x01\x7b\x82\x64\x6d\xb4\xdd\xa1\xed\x6e\xdb\x76\x64\xde\x62\x9d\x7f\x29\x43\x7d\x55\xc3\x06\x15\x72\x0c\x42\xc3\xe9\xff\x7e\x90\xe7\xcb\xb7\x8e\x1d\xaf\x7d\x8b\xd5\xd2\x4c\xe2\x86\x99\x45\x2c\xeb\x40\x8e\x8e\x90\xd6\x0e\x19\x9e\xa9\x6a\xf5\x1a\x10\xed\x42\x7b\x8d\xc4\xaa\xfe\xf4\xc5\x19\x28\xf8\x72\x24\xd1\x69\x1f\x28\xe5\x02\x3a\xfb\xf3\xcd\xcb\xf9\xdb\xcb\x0f\x00\x48\x8a\xfd\x6a\x6d\xcb\xd1\xa0\xd8\x10\x13\xa7\x3f\xb6\x2c\x0d\xfc\x8b\x38\x16\x87\x04\xc3\x80\x0c\xe9\xc8\xe7\xfb\xa1\x45\x70\x8e\x43\xa4\xb6\xd3\x9e\xc1\xda\x03\xe4\x53\x81\x9e\x8a\x3a\xe6\x28\x9d\xb1\x2f\x03\xd6\x2b\xfb\x73\xdf\xe1\xac\x5a\x6b\x96\xfa\xf5\x5c\x3f\x7d\x62\x19\x7b\x71\x29\x5f\x6b\x13\x9a\x7e\x97\xd5\x20\xca\x60\xa0\xda\x76\x17\xe0\x44\x0a\x22\xc9\x43\xbf\xf6\x1d\xbf\xdf\x7e\xdf\x6a\xfc\xc7\xdf\x7e\x7d\xff\x83\x23\xbd\xb0\xc1\xbc\xc2\x61\x7d\x16\xfd\xf6\xb7\x9c\x45\x7f\xb7\xec\xa5\x4f\x2e\x86\xbc\x3a\x4f\x34\xd1\x9d\x0f\x98\xc0\xf3\x62\x90\x83\x3d\x2b\x06\xac\x44\x1f\xef\x48\x2d\x9d\xca\xf1\x7e\x90\xa9\x1c\x35\x5d\x3a\xdb\x04\x0e\x8b\x6e\xd7\x47\x2d\x74\xe0\x34\x5c\xab\xd0\x96\x53\x5a\xd6\xce\x4a\xe3\xcb\xe7\xb8\xf1\x46\xda\xed\xf2\xb6\xf3\x95\x00\xb0\x40\xd2\xcb\xf6\x14\xac\x07\x82\xcb\xb3\x11\xd4\x07\x32\xec\xe8\xab\x2e\x1b\x2d\xfd\xba\xcf\x26\xd2\x75\x37\xd5\x86\x37\x7f\xe5\xa6\x8a\x77\x2a\xac\x7d\x3e\xdd\x25\xde\xd3\x10\x5f\xcf\x23\x35\xc8\x5c\xf0\xe8\xc8\x3d\xa7\x1f\x96\x4d\xba\x7e\xe1\xc2\x9e\xcf\x86\xd9\x43\xac\xe5\x1a\x39\xeb\xe7\x64\xc0\xe8\x9a\x75\x60\xbe\xb1\xa9\x6f\x98\x4e\x2d\x05\x80\xd3\x96\x3a\x15\xb1\xd6\x62\xa7\x47\xdb\xef\x8c\x3b\xb5\x9b\x23\x42\x16\xac\xbf\xa7\x25\xb7\xdd\x80\xf0\x9d\x48\xec\x89\x03\x75\x3f\x42\xfb\x27\xc8\x51\x7f\xff\xfa\xb7\x6f\xbf\x7f\x3d\xde\xc8\x73\xfd\xcc\x8b\x96\xa8\xd4\x8c\x2d\xca\x5b\x46\x0a\x52\x7a\xcc\xb3\x22\xd5\x51\x2b\x75\x2c\x14\x8d\x30\x44\x8e\x94\x81\xac\x54\x81\x99\x43\x31\x11\x82\x61\xa8\xa9\x19\x32\xdd\xd6\xca\x11\xc9\xed\x94\x53\x73\x70\x2e\x01\xf3\x05\x7f\x69\x81\xd1\x7c\xe6\xe1\xb5\x00\x27\xa1\x5c\xd0\x12\x84\xaa\x44\x8a\x02\xe8\x9e\xe0\x61\xf6\x3b\xa1\xc6\xc8\xee\x89\xe2\x12\x09\x72\x5a\x5a\x75\xd0\xe4\x03\x12\x87\x8b\x9a\xcf\x48\xda\x2b\xe4\xc3\x2b\x1c\x3d\x83\x5d\x7b\x82\x4e\x69\xc0\x70\x28\x47\x42\x8a\x5f\x6b\x40\xbb\x62\xb8\x01\xe2\x10\x90\x73\xac\x23\x13\x7f\x29\x14\x11\x1a\x55\x41\xec\x97\x90\x7f\x5b\x64\x60\x19\x2a\x25\x69\x2f\xc9\x1c\x79\x4c\x89\x12\xd7\x97\xb5\x01\xd5\x47\xfb\xe8\x84\xa4\xe5\x41\xd5\xce\x90\xb4\xba\x60\xed\x02\x4c\x07\x2a\x8a\xae\x66\xcb\x3b\x03\x0a\x31\x50\x5e\x8c\x81\x0b\x38\x93\x60\xd4\x0a\x80\xbc\x48\x79\xe2\xd4\x8a\xd4\x3c\x92\xfc\x92\x91\x36\x22\xa3\x09\xa4\x83\x2a\x3e\x10\xab\xcd\xa1\xb8\x65\x6e\x2e\xc8\x47\xa9\xc4\x72\x12\x6a\x21\x8c\x99\xb4\x36\xb1\x44\xd7\xff\xf2\x0f\x1d\x0b\x9c\xa7\xde\xa3\x7e\xaf\xa0\x2a\xea\x45\x90\x50\x16\x64\x79\x8d\x09\xe0\xb6\x91\x24\x84\x99\x58\x61\x4a\xb9\x8e\x2e\x01\xce\x1d\x5f\x3e\x4d\x5f\x82\xfa\xac\xd5\x70\x52\xad\x37\x22\x6b\x5f\x55\xbb\xa8\x3d\x18\xab\xa1\x46\xe8\xea\x8e\x96\x94\xa8\xea\x8b\x00\x0a\x8a\xb9\x52\x4d\xc5\x05\x90\x6c\xe9\xb4\x78\xa5\xd6\x02\x8e\x40\x27\x3d\x1d\xa0\xa4\x99\x5a\x36\x10\x9e\x29\xe1\x0b\x04\x01\xad\x1d\x29\x72\x72\x66\x3f\x45\x49\x2e\x10\x43\x3b\xae\xbe\xaa\x7e\xc7\xf2\x4b\x24\x50\xea\x1a\x75\x87\x44\xb5\x49\x24\xf2\xa0\x36\xbf\x8f\xf2\x82\x4e\x98\x1c\x59\x3e\xc4\x13\x93\xec\xce\x27\xa6\x54\xb3\xe1\x94\xe4\x4c\x25\x68\xf9\x82\xd0\xd0\x1a\xd2\x6b\xa5\xd6\xf2\x60\xd7\xae\xff\x67\xcc\x0c\xcf\xf1\x88\x0c\x7a\x30\x7a\x82\xee\xc0\x51\x03\x09\x60\xc4\x92\x31\x1b\x46\xa0\x7e\x01\xd9\xa9\x40\x11\x1b\x02\xc0\xa3\xc4\x2f\xd9\x8c\x32\x10\x09\x92\xd6\x72\x8c\xda\x00\xd5\x68\x0f\x0d\x5b\x60\x7a\x70\x1a\x8d\xbf\xbe\xfe\xed\x9e\xd8\x3c\xad\xa5\x8a\x81\x99\xc5\x89\xec\x90\x4c\x32\x86\x1d\x29\x8d\x38\x53\xf3\x70\x2f\xbf\x32\xdb\x1b\x98\x37\xa3\xf4\x9c\x5b\x9f\xda\x6b\x31\xc2\x03\x6c\x49\x09\xbe\x51\x80\x5d\xcc\x5f\x47\xa1\x15\x47\x29\xe6\xa1\x0d\xcd\x8a\x2a\x40\xe8\x4c\x94\x53\x3c\x9c\xeb\xf8\x59\xf4\x5c\x6f\xf5\xe7\x81\x7e\x65\x4a\x6d\xf4\x65\xde\xee\x4a\x92\x84\xb8\x85\xd1\x14\xa6\x9d\x96\x33\x12\xa2\xb7\x5f\x6a\xdb\x7d\xe7\x03\x19\x41\xd2\xa7\x92\x92\x5f\xa3\x0d\x22\x5a\x1f\x00\x0e\x27\x20\x8c\x5b\xb6\xbe\xa2\xf5\x4f\x79\xc8\xbd\x1e\xba\xfc\x64\x74\xa4\xd3\x26\xb7\x3b\x1a\xfe\xdb\xd7\xd7\x3b\x60\x19\x30\xe2\x05\xe8\x7d\x31\x6d\x0e\xf7\x61\x69\xb6\x03\x37\xa4\x97\x47\xb2\x53\xcf\x15\x17\x88\xc0\xbb\x75\x92\x9d\x40\x02\x59\x26\xe1\xb1\x3e\x3d\xe4\x37\xa3\x16\xc5\x39\x83\xa8\xc9\xd8\xd2\x9a\x5c\xc6\x5e\x0c\xf7\x67\xdc\x71\x7f\xfa\x66\xde\xcf\x08\xef\x67\x05\xff\x06\x07\x6a\x75\xb5\x47\x58\x39\x19\x69\x21\x79\xe0\xfa\xcc\xe0\xc3\xdf\x26\x30\xc2\x8f\x7a\x72\x2b\x27\x93\xb6\x41\x96\xac\x25\x20\xd3\xb5\xff\x3e\xa3\xd4\x71\xbf\x11\x7c\xe9\xbe\x4b\x55\xd7\x31\x44\xfb\x2d\xec\x36\x75\xb8\x4b\xe3\xb4\x61\xbe\x4b\xe3\xd4\x45\x13\x2a\xe5\x65\x2c\x3a\x9c\xf0\x4c\x98\xa3\x70\x81\xe6\xfa\xac\x12\xb5\x3e\x81\x78\x7c\xb0\xab\xa9\x7f\x99\x1a\x97\x13\xd5\x10\x76\xc6\x5a\x3f\x7e\x02\x73\xe6\x60\x57\x0b\x64\xd3\xa7\xd3\x5b\xa1\xea\xf3\x88\xec\x7a\xc6\x3b\x96\xae\xd7\xa9\x0a\x81\x92\xdb\x50\xfa\xb3\x9d\xa9\xcd\x79\xfd\xbb\xf5\x0d\x50\x88\xbc\x92\xe3\x1e\x54\xec\x3e\x95\x43\x00\xd1\x05\x33\xde\x9e\x50\x37\x43\x60\xeb\xdc\x11\x01\x8e\x59\x5f\xc3\x4b\xdd\x8c\x80\x36\x09\x0d\x5d\xf5\x02\xbb\xd9\x07\xcf\x76\xac\xb5\xd7\x2a\xf0\xf7\x4e\xcd\x72\xeb\x76\x71\x6f\xd7\xe6\x73\x54\x5c\x9b\x70\xe7\xe0\x8f\xdf\x8e\xaf\xff\xfc\xf6\xeb\x3f\xdc\x67\xea\xe9\xa7\x30\x2c\xc3\x36\xc0\xa4\x9f\xf3\x5b\x4c\xcb\x8a\x48\x1f\x19\xf1\xe9\xb4\x3e\x29\x70\xe7\xc3\xeb\x4d\x61\x20\xd2\xc1\x59\x90\x59\x73\x9f\x04\xa6\x9c\xd1\x5f\x76\xc3\x41\x38\x51\xba\x1d\xb5\x82\x2a\xdc\x01\x00\x09\x1b\x33\xef\x65\xf6\x32\xf5\x40\x1f\x10\x55\xd6\x73\xa8\x09\x80\xe4\xcb\x14\x00\xb2\x8a\x0a\x7c\xd3\xc7\x8c\xc8\x55\x3f\xb5\x0d\x9f\xfb\xc6\x2f\xe9\x65\x27\x16\x75\x19\x27\x8a\xd3\x8c\x80\xa0\xb2\x9d\x78\x2d\x73\x2d\x74\xf0\x80\xd8\xd5\xee\xf3\x07\xe9\x79\xfd\xd8\xf9\x14\xc8\xab\x28\x2e\x08\xe2\x2a\xb1\x03\xe9\x05\x33\xbd\xbb\x61\xf4\xd0\x7c\x7b\x18\x0d\xc6\x0f\x3b\x81\x1f\xf6\xc7\x5b\xde\x46\x9c\xb0\x85\x40\x6e\x8e\x46\x60\xf0\xd5\x4d\xfc\x88\x05\xbb\x66\x4a\xb7\xa3\x1f\xf3\x95\xd0\x8b\x06\xa4\xa0\x6b\x41\x24\xb7\xc2\x7b\xe6\x11\x8b\x16\x65\x7b\xc1\xb2\x61\xe0\xdd\x54\xcc\x69\x30\x9d\x03\xb4\xe0\xec\xa3\x96\xe7\xbe\x0f\xe0\x6e\xc6\x74\x8a\x2a\xba\x4e\xae\x00\xdd\xe1\x5c\x8a\xa3\xb2\xca\xb7\x4b\xd4\xce\x61\xce\x13\xba\x0e\x68\xe6\xa7\x26\x16\xe0\x3b\x54\x00\x5d\xeb\xf2\x80\x5d\x16\xd0\x96\xf3\x1b\x3d\x10\x4b\x54\xc1\x7e\x43\x00\xc1\xab\x50\x06\xb4\x44\xee\x1c\xf6\xf8\x4b\x4d\xca\x1e\xe2\xf4\x63\x33\xe6\xb7\xaf\xbf\xdf\x02\x17\xfd\x99\x30\xe9\x1d\xf9\x54\xcd\x19\xa5\xba\xdb\x48\xa5\x52\xa9\xf3\x40\x5d\xae\xaa\xc3\x27\x58\x6a\x15\xd4\x81\xf0\x54\xd6\xb5\xee\xda\xb3\x86\x0e\x6a\xfa\x44\xf2\xf9\xa4\x83\x85\x29\xa3\xea\xbd\x6a\x1c\xa9\x39\x33\x32\x43\x26\x9f\xc8\x07\xf2\xad\x90\xcf\x85\x38\x12\xf3\x18\xe7\x71\xc8\x4b\x2a\xba\xe8\xf0\x15\x9f\x61\xa8\x1c\x40\x14\x39\x1e\x1d\x45\xcf\xc0\xdb\xa8\x39\x75\xc2\xf2\x4c\x21\x1b\xee\xc1\x08\xec\x21\xd9\x2f\x56\x55\xe3\x16\x55\xd5\x69\xc0\xda\x24\x78\xee\xaf\xde\x9d\xfb\xcd\x3b\x9d\x2b\x03\xe2\xc6\xcc\xf9\x75\x4f\xd0\xf8\x0d\x79\xdd\x83\xf3\xae\x04\x0d\xbe\xc4\x9b\x82\x3c\xde\x27\xc8\x33\x06\xd1\x2f\xdb\xea\x67\x1d\xce\x73\x94\x31\xcb\xf8\xeb\x49\x78\xf0\x9e\x89\x20\xb7\x30\x53\xde\xa6\x67\x59\x01\xc4\xc4\xeb\xb4\xb2\x5e\x02\xe9\xc0\x7d\xe8\x6e\x52\x54\x1d\x2e\x3b\xa7\x95\xab\xf7\x2f\xa6\x02\x2f\xf0\x1c\xe6\x87\x90\x3f\xba\xc0\x1e\x16\xc8\xb7\x62\xd2\x77\x04\xb2\x98\x2f\x90\x81\x81\x3a\x87\xa9\xf4\xa5\xea\xf4\x1f\x29\xe7\xa2\x3f\x4f\x67\xc1\x85\xfc\x67\x09\xe5\xc4\x14\xd3\xce\x33\x75\x3c\x47\x6b\x5e\xa4\x9d\xa3\xd6\xa8\xb5\x03\xdc\xea\x39\xe5\x13\xf9\x16\x4d\x68\x63\x63\x0d\x54\xbd\x1a\xd2\x00\x13\x8e\x0c\xde\x4a\x2f\x42\x52\x54\xb3\xab\x14\x6a\x55\xf9\x3a\x0a\x52\x38\x71\xbd\x88\xd8\x5e\x38\x70\xaf\x72\x71\xfd\xdb\xdc\x8a\xfe\x4c\x4b\x52\x0d\xd1\x00\xc2\xb3\x10\x22\x31\xc0\xfb\x24\x52\xc0\x08\xea\x2b\x03\xf3\x9b\x23\xdf\xc2\x48\x21\x54\xfd\xd9\x54\x7f\xbc\x4c\xe7\xa7\x59\xc3\x7b\xde\x92\x3c\x67\x0a\x12\xd0\x7c\x6b\x7f\xba\x52\xc7\x6c\x75\x9c\x97\x11\xc1\x78\xc7\xf2\xbc\x33\x7c\x86\x71\xf7\xf8\x46\xb8\x4e\xaf\x3b\x7b\x52\xf3\x7e\x8c\xe3\xbd\x7b\x23\x23\xcc\x49\xc7\x6e\xd6\x57\x7e\x6a\x29\xa5\x1a\x28\xe1\x6c\x78\x02\x81\x6b\xcd\xa1\x0f\xf4\x2b\x38\xe0\xc0\xdd\x1c\x22\xa2\xa2\x3c\x00\x0e\xd7\x85\xa8\x08\xf6\x97\xc1\x9e\x17\xe2\x81\x77\x9c\xcb\xc7\x17\x06\x6f\x3e\xa2\xe1\xe6\xfb\xb4\xee\x77\xe3\x94\x4b\xbb\x33\x98\xfa\xb1\x5b\x7e\x87\x17\xdf\xb7\x62\xff\xf3\xdb\x3f\x3e\xf3\xc3\x5c\x5d\xa4\x1e\x5e\xcb\x44\xa1\xfe\xc2\x4c\x01\x36\xb9\xee\xd9\x01\x14\xb9\x62\x8c\xc6\xa5\xf0\x29\x50\x08\x32\x66\xbd\x5d\x2d\x56\x09\xbf\x88\xbf\xdc\x2f\xd2\xef\x17\xb1\xfb\x5f\x80\x82\x8b\xc3\xe3\x18\xe1\x98\x46\xf8\x9e\xae\x89\x0a\xd8\x81\xd0\xf8\xc0\xc1\xb8\x40\x2b\x4a\xe7\xdb\x77\x8f\x2e\x53\x4d\xec\x12\x89\xb4\x35\x6c\x84\x2a\x11\x55\xab\x77\xbe\xa3\xd3\x8b\xa3\x32\x4b\x48\x88\xe8\x45\x57\x61\x3d\x44\x55\xa2\xc1\x16\xbc\x00\x7e\x18\x28\xb4\x6a\x45\x0d\xf6\xb2\x39\x6c\x44\x7f\xba\xbd\xa0\xe4\x8f\xf7\x36\xf8\xfd\xe2\x47\x57\x90\x02\xae\x7d\xdb\x4e\xe4\x4b\x19\x67\x1f\xdc\x2a\xf3\x21\x67\x1c\x26\xc1\x63\x1e\xdd\x42\xbe\x00\xe7\x24\xc7\x25\xe0\x00\xb7\x41\xed\x6d\xd5\x52\xd4\xda\x8e\x60\x1c\x13\x2a\x2d\xad\xee\x63\xc0\x00\xa6\x78\x2a\xe4\xdb\x9a\x25\xf5\x6c\xa4\x7b\x29\x87\xa6\x12\xa4\x54\x2b\x71\xe7\x46\xc1\x0e\x96\xf8\xa0\x4b\x5a\x6f\xf6\x89\xd7\x28\x69\xc8\xb6\x0e\x63\xa2\x64\xc4\xcf\xba\x7a\x85\x72\x28\x43\x3d\xf4\xc0\x46\x96\xfc\x12\xa9\x96\x78\xe8\x5f\x7c\xbc\x67\x8a\x61\xf0\x63\xa4\x08\x27\xa9\xcf\xed\x25\x52\x0b\x07\x55\x6b\xea\x50\x1f\xea\xf5\x5f\x8f\xff\xf1\xf5\x5e\x9f\x58\x54\x75\x82\x3d\xc9\xd5\xd4\x7d\x5a\x24\xcf\xcc\x10\xe7\x47\x52\x05\xe7\x8e\x34\xb0\x66\xe7\x3f\x01\x44\x9c\x25\x20\x36\x36\x4c\x10\xe6\x3e\xe1\x6c\x28\x05\xdd\x79\x2c\x1b\xdc\xe2\x1f\xe0\xd1\x2e\x00\x50\x1c\x8a\x2e\x38\x47\x5c\xed\x68\x83\x92\xa1\x76\x17\xdc\x89\xa5\xd8\x72\x9c\x08\x28\x81\x6e\x96\xd4\x72\xe7\x56\xd7\xe0\x59\x94\x13\xce\x72\x02\xc2\x82\x13\x1b\x4e\xfa\x1a\xf0\xc5\x09\x8e\x8a\x28\xf8\x02\xa4\x83\x0a\x8f\x7f\x0b\xaf\x8c\xb4\x72\xbb\x5e\x5c\xfa\x4e\xd5\xeb\x63\xe7\x6f\xab\xd9\xd9\xa9\x10\x08\x2b\x3d\x08\x58\x93\xda\x25\x31\xf6\x0b\xdb\xc9\x55\x69\x7a\x57\x42\x70\x6b\xa8\xdb\xa2\xa9\x55\x2b\x7e\xc4\xcb\xa3\x55\x64\xd3\xa0\xe0\x8b\x55\x57\xb5\xe0\x80\xa9\xc7\x2b\x8a\x5b\x9d\x7a\x21\xa2\xed\x63\xb0\xad\x3e\xa6\x4c\x9e\xb3\x33\xc6\x8d\x54\x8b\x33\xe6\x38\x6d\x02\x80\x01\x0c\x25\x12\x09\x68\x20\x63\xa4\xdc\x10\x17\x6f\x71\x07\x95\xfb\x98\xe8\xf0\x30\x62\x05\x11\xaa\x52\x03\xe2\x59\x03\xb4\x91\xa5\x04\xe2\xac\x46\x03\xbc\xc8\x25\xa4\x7e\x5c\x33\x97\x37\x3e\xea\x26\x3f\x32\x41\x67\x8e\xe9\x48\xc1\x3a\x80\xb5\x7b\x1d\xc2\x1e\x11\xe4\x14\xec\x9c\xcd\x9c\x0d\x31\x00\x33\xba\xe6\x40\xb5\x23\xfe\xb5\x8f\xf7\x42\x39\x41\x43\x4d\x72\xa4\x08\x44\xbf\xa2\xf7\x38\x03\xfe\x91\xd2\x9c\xde\x3e\xba\x6e\x95\x86\xba\xcc\x71\xf1\x2d\x11\x67\x59\xce\x91\x25\x30\x0c\xa0\xf2\x23\x70\x9a\x05\xe7\x37\xf9\xd8\x09\x02\x43\x45\x8c\x66\xc2\xb4\x40\xe4\x6f\x42\x50\x58\xf8\x78\x8f\x14\xa4\x21\x39\x58\xc2\xab\xf6\xd9\x39\xb8\xc7\x91\x00\xa1\xb3\x81\x66\x44\xb4\x4a\x2e\xc1\x1d\xae\x6b\x2d\xba\x02\x1e\x6f\xa6\x82\x09\x14\x84\x40\xe4\x10\x01\xdf\x90\x43\x76\x81\x62\x06\x31\xb1\x14\x47\x0d\x67\xaf\xa0\xd0\x4c\x80\x19\x8d\x08\x13\x6a\xc0\xe0\x4d\xfa\x66\x21\x91\xde\xed\x42\x5c\x8e\xa0\x8d\xf4\xb9\xa9\xf2\xaf\xea\x9f\x10\xd7\x88\x68\x45\x29\x46\x49\x91\x54\x15\x9b\x1c\x9f\x41\x02\x65\xc0\xb1\xc2\x0b\x89\x8c\x04\xb3\x0f\xc1\xef\xdf\x74\x68\xa3\x24\x40\xb1\xe2\x2d\x5c\x13\x4a\x9d\xbd\x98\x73\x23\x2f\x47\x15\xac\xd1\x81\xff\x5e\x00\x05\xd9\x32\x4e\x0e\x82\x51\x0c\xb0\x4e\x3c\x47\x20\x2a\x6c\x0d\x54\x2c\x70\xef\x68\x3b\x01\xf0\x4d\x19\x54\x90\x3a\xa7\xb4\x0e\xcd\xa5\xbe\x90\xb4\xa7\xb4\xd7\xae\x27\xe4\xce\x02\x3d\x3c\xa8\x8c\x5a\xd9\xc6\x7d\x8e\x6e\x61\xd1\x2c\x11\xcf\x97\x06\xcd\x14\xce\x99\xe1\xf4\x58\x11\xc2\x9f\x8b\x0b\xc3\x35\x00\xf5\xb0\xf1\x92\xa2\xb8\xaa\xb5\x13\x95\x12\xd7\x64\xf4\x8e\xcd\x37\x4c\x15\xbc\x4b\x5b\xb3\x2d\xe3\x2e\xff\x3a\x70\x58\xca\x62\xc3\xf0\x37\x36\x0c\xff\xc0\x86\x21\x94\xc5\x66\x19\x36\x0c\x40\x5d\x06\x3e\x6f\x18\xf1\xbc\x61\x18\xe2\x7b\x75\x94\x31\xcb\x8d\x69\xda\x87\x21\x52\x4d\xed\x35\x50\xc6\x01\x48\x3e\x2f\x5a\xc8\x7e\x91\x78\x9c\x76\x0a\xfb\x1d\xec\x57\x8c\x27\xa1\x18\x79\x23\x62\x2b\xf6\xac\xd8\x0c\x12\x98\x0d\xe4\x73\xbb\x65\x48\xd5\x79\xdc\xb0\x65\x60\x13\x4b\xb5\xbc\x22\xee\xc1\xa2\x1f\xce\xc3\xad\x93\xdc\x9c\xeb\x20\x91\x8e\x32\x51\xcf\xa5\x28\x0e\x2c\xdb\xfa\x61\xed\xd7\x6e\x7a\xc4\x88\xef\x8f\x8e\xa2\x23\xd1\x5d\x10\x8c\xa8\x99\x51\x18\x8a\x1d\xed\x9d\x78\xfd\x76\x9f\x00\xa5\x81\x54\x9c\xd2\xc5\x68\x4d\x59\xe6\x70\x72\x24\x9f\xea\x10\x9e\x41\x15\xaf\xf2\x18\xd4\x70\xa1\x38\x23\x12\x2d\x88\x05\x28\xd6\x87\x8e\x92\x81\xeb\xe6\xe6\xfa\x59\x01\x58\x08\x42\xef\x7e\x1b\x8a\x8f\x77\x04\x94\x0e\x6d\x42\x50\x8d\xfa\x73\xde\x12\xd4\x42\x91\x04\x7c\xfb\x34\x9d\x3c\x18\x1e\xbc\xf8\x0a\x42\xa2\xd0\xaf\xbd\x17\x6c\x63\x0d\xdb\xaf\x10\x32\xa9\x37\x20\xba\x15\x52\x7b\x2a\x4d\xe5\x2a\xaf\x5e\x0d\x4c\x67\xce\x79\x9c\x18\xa9\xea\x91\xc4\x80\x61\x29\x63\xaf\x6d\xc6\xc3\x8d\xdd\xb5\xa5\x4a\x39\x60\x43\x84\x94\x81\x70\x2a\x05\x9a\x0b\x76\x71\x3b\x52\x8a\xac\x3d\xa1\x1d\x11\xb0\xbd\x68\x47\xe0\x6c\xd4\xab\x66\x1d\x58\x7f\xcc\xf4\x42\x78\x61\x29\x47\x83\xf5\xd1\xff\xeb\xf6\x8c\xb4\xa3\x8c\x98\xcd\xd6\x9f\x05\x83\x2e\xf8\xb1\x20\x0b\x23\x64\x7a\xcb\xe7\x17\xc3\xba\x66\xdd\x0a\xb8\xf4\x68\x5f\xab\xaf\xd5\xfd\x95\xb8\x84\x0b\xc9\x32\x28\x55\xbd\x97\x8f\x77\xd5\x08\x1a\xa2\x8d\xc3\x08\x57\x40\x5d\x03\xd1\x49\x21\x9f\xca\x88\x69\xe2\x6c\xc6\xcf\xbf\x67\xd6\x41\x62\x44\x49\xf8\x94\x8f\x5a\xd3\x4c\x1c\x9c\x9a\x9a\xa0\xb8\xa7\x94\xc5\x50\xdc\x6b\x35\x71\x5e\x83\x50\x0b\xb0\xee\x01\x62\x2b\x5c\xa1\x23\xa7\x36\x64\x6a\xb9\x8c\x5a\x0b\xad\xcd\x11\x9c\xab\x54\xe0\x39\x70\x13\xa7\x8b\x80\x47\x21\xeb\x86\xa5\xef\xd1\x9e\x91\x90\xf4\x85\xd9\xde\x93\xb2\x3c\x47\x9c\xbd\x2f\x21\x1c\x39\x68\x75\x0f\xf6\xda\x4c\x79\xd9\x12\x9f\x8a\xb6\xf6\x9e\x5d\x22\x46\x84\xe1\xa7\x54\x5f\x55\xaa\x9c\x25\x8b\x1f\xa8\x56\x55\x6d\x06\x99\x7f\xc1\x2a\x3b\x54\x28\xe8\x97\xe2\x64\xf9\x10\x30\xfc\x3c\x3a\xa0\x01\x31\x39\xf8\x2b\xc5\x9a\x30\xbd\x5a\x72\x77\x4b\xec\x97\x9e\xac\x74\xec\xe9\x8b\x12\xfc\xac\x84\xbd\x37\x78\xfd\x66\x5e\xfe\x7d\x1b\xc9\x3f\x5f\xff\xf9\xd5\x1d\xff\xf3\x8e\x08\x0c\x08\xd2\xdd\xe3\x9f\xa0\x1a\xcd\x53\x43\xb6\x9f\x5d\x2d\x90\x6e\x90\x5f\x32\x38\x9a\x64\x40\x86\x15\xfe\x42\x8e\x66\x04\xc3\xf2\xf9\x9f\x9b\x3e\x71\x4b\xec\x04\x2b\x7f\xa8\x96\x85\x65\xfd\xa8\xfb\x80\x2a\x0d\xe9\x99\xe3\xee\xb1\x52\xba\xe2\x1d\x4a\x9f\xa3\x1a\x5d\xba\xe3\xf3\xd0\x0c\x8e\xc3\x7e\x6f\xe8\x50\xd6\xa7\x32\xd8\xe9\x05\xa7\x61\xbd\xf3\xea\x1f\x06\xc2\x77\x76\xb9\x16\x49\x2e\x3e\xb7\x75\x4c\x01\xda\x13\x77\x5b\x13\xef\x6d\xcb\x5d\x63\x1b\xd6\x43\xcb\x37\x46\x16\x8c\x0e\xc7\xa4\x3a\x31\x9a\x38\xcc\xc6\xf3\xfb\x7c\x28\x07\xf6\xff\x06\x42\x23\xbd\x53\x96\x59\x42\xbc\x19\x5a\x7f\x19\xd9\x75\x58\x5d\x4f\x41\x4a\xb4\xc0\x35\x09\x96\x09\xfe\x23\x03\x7b\xd7\xc8\xca\xb0\xdb\x17\x8b\x71\x65\x5e\x0c\x2b\x6f\x46\xd5\x4f\x83\xba\x39\x8f\xb5\xb6\xc4\x79\x4b\x7a\x8c\xf2\x1d\x83\xfa\xfd\x06\x8e\xd9\x32\x4d\xa3\xa4\x21\x6c\x26\xd3\x13\xe3\xff\x7c\xa9\x77\xa3\x34\x00\xcf\x61\x13\x3b\xf1\x84\xa8\x94\x81\xcb\x25\x22\x45\xcb\x5c\x43\x70\x00\xb7\x7b\xf3\x22\x9c\x75\xda\x05\x31\x7a\xd3\xff\xb6\x2f\x01\x96\x84\x5d\x2f\x90\x16\x88\x34\xe7\xf2\xaa\x82\xc3\x42\x86\xe3\x60\x7f\x7b\xef\xa7\x6e\xfa\x44\xb4\x7d\xbf\x81\xa4\xb6\x4c\xd2\x5b\x33\xbd\xf4\xae\xf2\x56\x95\x73\x57\x21\x27\x7c\x9d\xf6\xd8\x5b\x21\x96\x06\x47\x67\x1c\x71\x30\xbc\x2c\x8f\xcf\x11\x65\xb4\xed\x29\xfc\xf7\x3c\x20\xe7\xff\x6d\xde\x31\x47\x32\xe9\x6f\xc8\x16\x7f\xce\xfc\x79\x4e\xd7\xe7\x1d\xf6\xfd\xf5\xf4\x53\x68\xef\x7f\x6c\xe0\x7d\x23\x5f\xea\x51\x55\x48\x51\xc5\x05\x44\x03\x6a\x39\x18\xa9\x46\x53\x43\xde\x8c\x73\x5c\xd7\x21\xfa\x91\x9a\xc8\x14\xa3\xff\x8e\x7e\xbe\x85\x2b\x75\x23\xa4\x23\x9f\x5c\xbe\x8d\xf0\x51\x6f\x02\x7c\xe4\x09\x95\xe1\xfa\x39\xe3\xb9\xa9\x21\xb0\x23\x06\x01\x77\xc4\x01\x2e\x74\xb1\xb0\x68\xe9\x0a\x89\xd5\x19\x62\x71\xc8\xf9\xb9\x50\x3a\x59\xec\xc9\x0e\x76\xf6\x1a\x1f\xcc\x84\x50\x59\xa3\xc2\x74\x74\x8d\x97\xd0\xe1\xa5\x7a\x8e\x77\x38\xb7\xa4\x59\x77\xec\x63\x6e\x57\xda\x43\xf3\x7e\xc4\x27\x8a\xb9\xf8\x98\x1f\xfa\xf6\x89\x61\x2d\x6b\xbc\x2a\xa6\xd4\x54\xa5\x1d\xa5\x93\xc3\x64\xe1\x23\x45\x11\xfc\xe4\x04\x1e\x05\xe8\xbc\x7a\x27\x9f\x50\xc6\xe6\xdc\xd1\xa4\xea\xdb\x36\x9f\xc0\x30\xaf\xa6\x38\xff\xdb\xa8\x57\x57\x8e\xbb\xa8\xc7\x99\x1b\xe4\xe6\x94\xa5\x2e\x3a\x79\xa0\xec\xac\x3e\xd7\xbf\x4f\x51\x07\x84\xea\x8e\xea\xf0\x92\xa8\x96\x15\x4e\xbf\x80\xa5\xeb\xc0\xde\x8e\x4c\x56\x48\xa0\x9d\x5f\xe2\x39\x51\x4c\x27\x35\xe5\xdf\xc2\x3c\xf2\x03\xe7\x2d\x6f\x2e\x2e\xea\xe1\x7a\x05\x5f\x00\x27\x4f\xf5\xe3\xbd\x50\x18\x98\x75\x13\xe7\x97\x46\x51\xf5\x34\x3e\xa9\xf6\xff\xd0\xfc\x38\x7e\xfb\xfe\xfd\xd7\xdf\xef\xd8\x0c\xaf\x53\x6e\xa7\x41\x5e\x2d\x3a\x78\xda\xb0\x9b\xda\x35\xa1\x8e\x81\x42\x84\x7f\x42\xdc\xe5\xcf\xd5\xbd\x88\x53\x22\xdf\xca\x18\xa8\x05\x64\xcc\x47\x70\xae\xa9\xcd\x36\x54\x0a\xec\x60\x08\x2e\xd0\xc1\x1a\x95\x80\x6c\xff\xd1\x15\x50\x73\x16\x58\x92\x81\xa2\xe8\x95\x9b\x3c\x5d\xde\x62\x48\xcd\xf2\xf1\xee\x04\x70\x9f\x7d\x2f\x04\x53\x6d\xdf\x0b\xd9\xa9\xcd\xa0\xf2\x4d\xae\x7f\xfd\xa9\x9d\x24\xde\xd8\x77\x2a\x15\xbf\x71\x75\xd9\x51\x4a\x4b\xa3\xaa\x59\x3a\x78\xeb\x98\x50\x81\x1f\xa9\xa5\xd1\x94\x1f\xbe\xcb\xee\x38\x8f\xdf\x4f\x04\x06\xc4\x73\xa2\x73\xa2\x64\xf4\x0a\x12\x0f\x55\x4d\xd3\x38\xaa\x35\x1e\x1c\xae\x1b\x17\xdd\x04\x6a\x1b\x1a\x92\x3a\xc2\x2b\xe5\x52\xf5\x67\x32\xba\x19\xbe\x76\xc4\x85\x82\x00\xb7\x85\x7a\x7e\xd7\x0c\x17\x37\xeb\x17\x08\xe5\x4f\x12\x87\xac\x95\x78\x9a\xf2\xad\x79\x88\xf7\xa6\x5b\xbf\xfb\xa1\xfe\x7c\x4e\x76\x23\x06\xc8\x1b\xcb\x8e\x4f\x72\x0c\x38\xd2\x0f\xeb\x58\xd0\x19\x02\xb1\xce\x60\x10\x58\xe5\x55\x34\x9b\xef\x2e\xcf\xbb\x86\xf5\xeb\xeb\xef\xc7\xb7\xc7\x4f\x91\x75\x49\xce\x2d\x82\x84\x83\x21\x4e\xe4\xb9\x8c\x11\xb3\x14\xd7\x2b\x01\x33\xf8\xce\xae\x4f\x97\x62\xc0\x78\x6d\x0b\x09\xc4\xa0\xaf\x67\x15\x5e\x97\x8a\xfd\x47\xdb\x78\x6b\xad\x7c\xde\xe6\x47\x0f\x4d\x75\xab\x78\xc5\x96\x99\x26\x90\xba\x00\xc6\x32\x95\x91\x69\x34\x52\x53\xbd\x6e\x0e\xf5\xce\x50\xdd\x01\x9c\x35\x41\xf2\xd3\xbc\x1c\xef\xad\x70\x53\x11\x7b\x80\x79\x31\x04\x36\x34\xdf\x72\x1d\xe6\x9f\x79\x95\x59\xe9\xd1\x6e\x78\x38\x7c\x40\x98\xc4\x27\xcb\x88\x01\x73\x92\xea\x7a\x8e\x6a\xcc\x4e\x30\xa2\x82\xa3\x23\x5c\x0f\xa0\x52\x37\x7e\x57\x64\x89\x71\xc5\x11\x1e\x53\x32\xc2\xd9\xe4\x28\x22\x0c\xc8\xe7\xac\x22\x09\x60\x33\x76\x18\xa4\xdf\x76\x32\x55\x9f\x1a\x79\x9c\xae\x35\xe3\xea\xe0\xa3\xf1\xb1\xa2\xeb\x85\x52\xa5\x06\x7a\x2d\xaf\x3a\x58\x64\x1e\x55\xaf\x13\xc7\x80\x14\x30\xb0\x2e\xd5\x4b\x6b\x5c\xb2\x17\x88\xfe\x88\xca\xca\x52\x11\xa9\x96\x17\xbc\x62\xec\x28\x86\xaa\x6f\x37\x8c\x95\xa0\x02\x35\x1c\x54\x80\x21\xdd\x2c\x5c\xf3\xd1\x27\xca\x5c\x00\x21\x90\xf5\x11\x69\xf6\xf8\xe2\xe5\x3e\x35\x14\x3f\xda\x6b\xad\x0e\x0f\x0f\xe5\x83\xca\x57\x22\x5f\xb5\xff\x24\x1f\x29\x18\x56\x03\x4e\x71\x4d\x6b\x2f\xaa\x3c\x67\xb4\x2a\xfb\x74\x60\xaa\x40\x3f\x61\x9c\xd4\x2e\xd5\x5a\x4b\xf4\xe3\x36\x46\x02\x71\x6b\xf3\x65\xd5\xda\x82\x11\xc4\x37\x03\xce\xc2\x56\x65\xe8\xd3\x28\x67\x8c\x24\x45\x1c\x34\xbd\xfc\xf1\x45\xa8\x02\x49\x29\x94\x51\x15\x9e\x08\x6c\x7b\x41\x1a\x53\x46\x28\x09\xdb\xaa\x6a\xd8\xfc\xa3\x4e\x82\x22\xa0\xac\xe7\x79\x50\xaa\xc5\xed\x1c\x32\x71\xd5\xf9\x58\xb1\x4c\xa7\x92\x1f\xeb\xf6\xdf\x4f\xf7\x22\x8f\x9a\x89\x38\x77\x21\x98\xdd\xf8\xb6\xab\xe6\x2f\xdd\x26\xf6\xec\x3d\xc9\xb6\xc5\x92\x6d\x97\x58\x94\xa1\xf3\x6d\xed\x42\x51\xf2\x1b\xe7\xad\x4d\x67\x88\xa2\x46\x7f\xb5\x87\x24\xc9\x16\x15\xdf\x93\x6d\x6f\xe5\x52\xdf\xc2\xbf\xbb\x99\x4a\xbd\x86\x78\x5c\x46\x74\xa2\x6a\xf7\xd0\x71\x5e\x01\x14\xda\x85\x33\xba\xe7\xe8\xac\x43\x16\x6e\x01\x3f\xd3\x8d\x5e\x96\x70\xa5\x97\xd1\x9b\x37\xba\x39\xcc\xfa\x19\x6f\xf8\xbf\xac\xa3\x3f\xd5\x2e\xb0\x40\xee\x83\x29\xb9\x9a\xb5\x7d\xc7\x0a\xb1\x87\xef\x00\xc9\x86\xa8\x59\xe5\x8f\x5b\x0a\xc1\x49\x76\xb8\xef\x04\x04\x63\xbc\x4d\x39\xcf\xdd\xff\xb7\x7d\xc8\x92\x5d\xc0\x4f\x9e\x8c\x17\x65\x9d\xd0\x77\x46\xc7\xe2\xdd\x74\xf4\x2b\x99\x30\x9b\xb4\xc0\xb3\x63\xf9\x2e\xa2\xe1\xbe\xda\x69\xc7\x5d\xfd\xf0\x5a\x40\x9b\xdb\xa6\x37\xc1\x9b\x7c\xad\x3b\x39\x5f\xe9\x4f\x73\x59\x5c\xed\xd0\x66\x1d\xfa\xee\x6c\x99\xfc\xf7\xf5\xe8\x5d\x53\x7e\xfc\x7a\xaf\xdb\x17\xee\xda\x7d\xf4\xb4\x2b\xf3\x7e\xaf\xca\x77\x1c\xf9\x23\x79\x61\x01\x7d\x8d\x34\x79\x2a\x75\xa4\x2c\x8d\x32\x64\x1a\x20\x60\xe2\x7d\x1b\x47\x06\x94\xe1\x20\x57\x10\x90\xef\x10\x88\xaf\xab\x37\x52\x88\x8e\x42\x6c\x23\xe5\x40\x57\x8c\x06\x3e\x08\xd5\x0c\x3c\x22\x6f\x5c\x80\x54\xc0\xe1\x1c\x44\xb7\xf3\x04\xc5\x24\x43\xb6\xe5\x49\x35\xf1\x8c\xd3\xdb\xd3\x0d\xb7\xe1\x5b\xa4\xdc\x0e\x42\x09\x60\x87\xa9\x84\x8f\x77\x2e\xd4\x18\xe3\xd3\x38\x1d\x80\xf0\xd5\x06\x8e\xf4\x19\xfc\xf0\xad\xb7\x98\x98\x06\xe8\x18\x31\x8e\xc5\xa3\xd6\x0c\x55\xfc\x7c\x11\xe7\x1d\xaf\xf7\x1b\xb2\xe1\x1e\x13\xfd\xda\x98\xbd\xe3\xb8\xcd\x70\xde\xa1\x10\xe4\x8f\x2f\x5c\x07\xde\x9e\x60\x00\x2a\xff\x5a\xfd\x5e\xb8\xee\xa5\xfb\xee\xa0\x5b\x4f\x1b\x22\xdf\x05\x49\x37\x5b\x86\x77\x82\x64\xfd\xf1\xe2\x91\x49\x2a\xc9\x72\xc9\xd9\x31\xbb\x71\x5c\x33\x62\x0e\x49\x84\x32\x28\x71\x85\x5a\xb9\xbe\x0b\x05\xca\xb6\xda\xb6\xf9\x6e\x77\xca\xdc\x23\xa0\x18\x74\x32\x00\x6e\xa1\x34\x6a\xc5\x2d\x01\xf1\x2e\xcb\xec\xd0\x6b\xff\xf1\x4e\xad\x58\xfc\xea\x5b\x81\x76\x3f\xc4\xdb\x92\x73\x2f\x2b\xf1\x1d\xaa\xbd\xda\x0f\x48\xd6\xcc\xc8\xa7\xda\x75\x9d\xea\x17\x77\x44\xfe\xf7\x4d\x76\x67\xb8\xd6\xe8\x92\xb7\xf7\x00\x83\xea\x5e\x97\xb1\xf5\x47\xdf\xb1\xe3\x7f\x7c\xe1\x4d\xba\xe5\xd4\x01\x5b\x48\x6c\xe6\x5d\x9a\x88\x61\x27\x1b\xe2\x9a\xbc\xbf\x4f\xf9\x3a\x8e\xff\xfa\xfe\x38\xca\x3d\xcb\xb0\x40\x8f\xb2\x5a\x01\xa7\x38\x9f\x98\x72\x79\x8d\xd4\x1a\x02\x89\xda\x19\x88\x59\x92\x41\xcc\x18\x87\x19\x3b\x6a\x71\x09\x1c\xe5\x26\x96\x34\x0e\xa3\x90\x47\x38\x2c\x87\xf2\x64\x64\x06\x71\xc2\xf3\xf0\x65\x60\x81\xf4\xe2\x44\xcc\x08\x0b\xf3\x19\xe8\x33\xda\xb1\x32\x1a\xf9\x3b\x56\xd4\x12\x29\x8b\x6a\x84\x7c\x89\x23\x53\x86\x6c\xf6\x56\x53\x40\xb2\x74\xcc\x8d\x30\x81\xfa\x95\x68\x4d\x11\xcb\x69\xc0\xd5\xf6\x1c\x48\xa3\x73\x33\x37\x0f\x3b\x3c\x8c\x77\x0c\xf6\x8e\x75\x25\x10\xd7\x33\x9e\x49\xea\xa5\x26\x34\x92\x07\xbb\x62\xfa\x58\x2b\x1d\xa5\x9a\x1c\x59\x32\x50\x75\x24\xf0\x91\xe4\xc2\xd6\x43\x40\xfe\x28\xdb\x5e\xc4\xe7\xd6\xd1\x42\x2d\xa6\x2b\xe3\xa1\xb6\x7c\x62\x6b\xcb\xd3\xb2\x9d\x88\xfb\xe8\x18\xe1\xe1\x06\x90\x58\x1c\xf2\x55\x78\xb0\x77\xbf\x82\x8b\x5a\x7e\x5b\x86\x1b\x80\x60\xef\xcd\xa5\x1b\x05\xbb\x1b\x05\x7f\xa9\x08\xda\x02\x5f\xe1\xcc\xdb\xef\x39\x83\xd1\xee\x48\x92\x99\x62\xa3\x68\xfc\x88\xf6\x3b\xc7\xf2\x5d\xc5\x2f\x82\xb3\x52\x71\xe7\x4f\x17\x25\x38\x2b\xe2\x29\x00\x66\x38\x9c\xc1\x86\xc1\x81\x61\xc3\xd5\x8a\x96\x02\x4c\xd7\x42\x11\x2c\xe8\xf1\x67\xfc\x08\xd3\x4a\x7d\x1c\x97\x7a\x29\x97\xfa\x4a\x0d\x45\x4e\x14\xf3\x1a\xad\x42\xa7\x4c\xeb\xfe\xb3\xd1\x51\x56\xc3\x2f\xe4\x25\xa1\xb5\xcd\x31\x03\xcd\x0c\x23\x8e\x0e\x28\x7b\xd1\x92\x32\x4e\xed\x32\x9f\xa5\x66\x30\x5c\x06\xbb\x85\x57\xc5\xcc\x4a\xb9\xbc\x69\x59\x9f\x4b\x75\x92\x55\x77\x5d\x82\x81\x43\x6c\x1b\x82\x07\xb1\x6a\x12\x0a\xdf\x69\x05\x5e\x7f\x5e\x29\x5e\xb2\x23\xbc\x3e\xa3\x0d\xe7\x7d\x3d\xf8\x32\x4e\x5f\x6f\x9a\xe0\xe6\x85\xf4\xf7\x18\x37\xb8\x9d\x5f\x5a\x4f\xd4\x2e\x1d\x43\xb1\xba\xae\xb6\x8a\x8e\x11\xbe\x31\x61\x98\xd7\xd2\xbf\xef\x07\x1f\x16\x84\xb0\xc0\x37\xc5\x1e\xb5\x56\x49\x74\x09\xe6\x65\x1e\xc9\x95\xfb\xe2\x0e\xbe\xce\xb5\xb7\xbf\xe7\x15\x6a\xf4\xf5\xb7\xbb\xbb\xde\xfe\x25\x53\x68\x69\x28\xb4\x4c\xb3\x60\x0e\x84\x68\xb5\x39\x0f\x8a\x37\x94\x0c\x04\x47\x3e\xc4\x88\xff\xfd\xeb\x3f\xff\xf9\xed\x1f\xff\x7e\xcb\x12\x7b\x0c\x98\xb1\xbe\xc6\x21\xf6\x56\xd6\xc1\xfe\xd6\x16\xd6\x8f\x77\x40\xf8\xc4\xcf\xf1\x16\xd7\x89\x8c\x69\xd8\x23\xa9\xef\x8c\x4d\xc4\x45\x55\xc6\x58\x22\x71\x12\x47\x2d\x00\x5c\x8d\x75\xaa\x53\xca\x65\x74\xc4\x52\x70\x59\x17\x12\x88\xab\xd1\x34\x16\x5f\xf4\xe7\x75\xad\x3a\xe2\x8e\x51\x9f\xc5\xf3\x95\x5a\x42\x52\x7b\x97\x21\x09\xe1\xc8\x21\xe7\x9d\xc4\x50\x0f\xaa\xbc\x74\xda\x23\xe5\x37\x42\x29\xd4\x5c\x2b\x8d\xca\x87\x28\x5a\xf7\x73\x91\x56\xef\x9d\x6a\x9f\x6b\xb5\x5f\xe9\xa9\x51\xe7\x56\x1f\x29\x86\x44\x22\x89\x6a\x13\x8a\x6c\x99\x0a\xe8\x1b\x74\xde\xba\xda\xd0\x43\xc3\xdb\x5e\xbd\xd1\xed\x27\x67\x15\x8f\x25\x3a\xd4\xbe\x05\x35\x4c\xc5\x8a\x45\xa7\x8c\x57\xaa\x7e\xae\x5b\xf1\xc5\xed\x75\xb8\x0d\xc9\x7c\xc8\x2a\xb5\x38\xe0\x02\x1b\x21\xe5\x62\x43\xfb\xb6\x53\x75\x01\x03\x36\x58\xd4\x77\xa6\x0b\x2e\x6f\xa8\x3c\x06\x52\x06\xbb\x9e\x87\xd2\x0a\x1e\xaf\x4d\x97\x4b\xe5\xae\xd4\x7e\x36\x9f\xae\x4c\x98\x4b\x0f\xed\x30\xc8\x78\x03\xf5\x7f\x73\xfc\x99\x27\x67\x47\x85\xa7\x12\x97\x91\x95\x29\x37\x2a\x52\x07\xe0\x18\xe2\xd2\x13\x18\x22\xd5\x98\xe7\x77\x36\xae\x8e\x98\x65\xa4\xa4\xd2\x3d\xc9\x06\x7b\xd8\x46\xac\xa2\xc9\x3b\x29\x25\xfa\xc8\xea\x31\x8f\x12\xa9\x71\x39\x52\x28\x05\x40\x8b\x19\x8e\x87\xc0\x41\x2b\x30\x68\x4d\x78\x19\xd0\x21\x55\x6b\xfd\xb6\x6a\xca\x19\x2a\x66\x17\x96\x64\xdd\x6e\x37\x15\xa3\x6d\x8e\xd3\xb5\x27\x52\xf4\xd7\xce\x5f\x6a\xb5\xac\x63\x6f\xc3\x86\xaa\x10\xed\xb3\x85\x56\x37\x79\x33\x18\xea\xa4\xb3\x65\xd3\xfa\x66\x99\xf3\x82\x0a\xe4\x7e\xed\x99\x1a\x3e\xf2\x6a\x0c\xdc\x34\x5c\xeb\x71\xbc\x34\x74\xd3\x7c\xb3\x29\xb7\xed\x4f\xb9\xb9\x69\xe4\x63\xe9\xd7\xf3\x9b\xdd\xe6\xcd\x8d\x11\x5c\x85\x96\xe4\xf5\xe8\x77\x63\xc4\xcf\x27\xfd\xbc\x87\x5c\xcf\xac\xd9\xe9\x03\x2d\xd4\x32\x4d\x96\x53\x70\x3a\x0a\xd5\x5e\x58\x8d\x1b\x2a\xff\xbc\x76\x75\x5f\x1a\xbb\x9e\xf8\xe6\x09\x5c\xcf\xfc\xa9\xa0\x23\x71\x65\x9b\x0f\x31\x23\xe2\x8e\xe3\xf9\xdd\x9b\xb9\x8a\x8e\xb8\x0c\x67\xde\x36\x93\xc7\xdd\x3e\x98\x16\xc8\xce\x22\xd0\xd6\x4f\x93\x20\x71\xbf\x4e\xcb\x90\xd7\x43\x71\x1e\xb9\x97\xb3\xbf\xfe\x53\x2b\xb6\xef\xe1\x7f\x28\xd7\x7a\x1d\xd2\x14\x1f\xe2\xfd\x90\x27\xd0\x7d\xef\x5d\x36\x6e\xaf\x45\x7c\x07\x32\x60\x66\xf1\x1d\xec\xc2\x7a\x07\xc7\x29\xfc\x8a\x44\xff\x12\x76\x78\x22\x4e\x47\x47\x9c\x81\x61\x1e\x74\x36\xe2\xd8\xbb\x08\x71\xc3\x2e\xa8\x9f\xb3\xcf\xeb\x12\x74\xdb\x4c\x8b\xdd\x7b\x79\x83\x07\x4e\x7a\x1a\xf5\x59\x3c\x9f\x29\x82\x7d\x65\xca\x77\xe2\x96\xf5\x35\xba\x25\xac\xe9\xe4\xfc\x50\x74\xeb\xbe\xc1\x41\xa7\xb5\x26\x2d\x38\x6b\x7d\xad\xde\x56\x9e\x55\x19\xe4\xd7\x7b\x15\x8a\xe3\x59\x9e\x2c\xbf\x9e\xda\x33\x35\xb8\xa8\x6e\x10\xc9\x17\x15\x9a\xa2\x16\xee\xd4\x29\xe8\xb2\x1b\xf4\x78\xab\x82\xcf\xc1\x9d\xba\x73\xa7\x23\x21\xf1\x36\x6b\x95\x1d\xea\x1e\x0b\x52\xed\xf3\x78\xa5\xde\xe7\x8a\x9d\xa7\xff\xaa\x5d\x36\x14\x97\xa1\x2a\x47\xad\xb5\x43\xf5\x01\xe1\x1a\x3a\x39\x01\xba\x7b\xdb\xdb\x9c\x87\x6a\xdb\xf6\xce\x24\xb1\xb0\x54\x2d\x6c\x4d\x3a\x63\x43\x88\x42\xc7\x6b\xb3\xe4\x52\xb7\x2b\x95\x9f\x4d\xa3\x6b\xf3\x64\xea\x9f\xd3\xce\x44\x41\x50\x4e\xdf\xb2\x65\xc2\x55\xd9\x61\xbd\xdb\xa1\xbc\xa3\xdc\x80\x53\x15\x42\x23\xd1\xfd\x31\x64\x4a\x29\x01\xf8\x24\x8a\xc1\xae\x70\x21\xa0\xb6\x73\xcd\x60\x11\x5f\x08\x17\x9f\x74\xfc\x46\x8a\xaa\x80\xc5\xb6\x0a\xde\x48\xb1\x0f\x99\x6d\x5d\x97\xaf\xf4\x95\x29\x80\x9b\x3c\xda\x63\x0b\x51\x28\xd4\x7c\x3c\x22\x6d\x29\xe4\x46\xa1\x52\xc9\x45\x5f\x6e\xd5\x58\x89\xda\xa8\x55\x7e\xd3\xa6\xec\xb4\x90\x77\x28\xfd\xde\x9c\xdd\xbc\x14\xfd\x28\xe6\x68\x58\x33\x51\x1c\x49\xd5\xb6\xbb\x2b\xaf\x45\x1d\xd3\xd8\x1b\x10\x36\x8d\x8b\x33\x99\xb0\x4a\x9b\x8e\x9d\x95\x3d\xba\x6d\xd3\x1b\x32\xde\x40\xd2\x9e\x73\xbf\xf6\x4d\xb0\xf7\xff\x72\xa3\xb5\xb1\x3a\xad\x1b\x7f\x6e\xe8\xa6\xf9\xc6\x5c\xb8\x6d\x7f\x42\xea\x9f\xc4\x2b\x6f\xd6\xaa\xf2\xba\xa6\x84\x2d\x7b\xa7\x07\x2e\xad\xbc\xec\x56\xb3\xfe\xc1\xd7\xe3\xd4\x03\x61\xd5\xaf\x5a\x74\xda\x56\x03\x34\xf6\xd6\x0b\xab\x71\x43\xe5\x9f\xd7\xd3\xfe\xd2\xd8\xf5\xc4\xc7\x6a\x58\xf7\xc0\xb9\xa0\xa3\xe5\xd6\x45\x41\x5a\xad\xce\xfe\xd8\x7a\x27\xac\x67\x29\x3a\xe1\x10\x08\xd5\x65\xde\xb4\x31\x9c\xc5\x55\xdd\x5b\x17\xb1\x05\xed\x83\x23\x21\x93\x9f\x32\x33\x49\x6d\xda\x7a\x62\x90\xf5\x67\xeb\x86\x69\x8f\xef\xc3\x20\x8b\xfd\xba\x0f\xdb\x0b\xff\x80\xd7\xf9\xdb\xf1\x5e\x5a\x6d\x7d\x01\x98\x5a\x7c\xde\x30\x54\x57\xd8\x19\x46\x85\x4c\xa5\xac\x51\xc5\x8c\xe8\x8b\x39\xbf\xac\x71\xda\x27\xbe\x65\x06\x4a\xc3\x32\x48\x29\x35\x00\x41\xe7\x38\x22\x73\xdd\x69\xc9\xeb\x9b\x74\x2f\xd2\xc9\x75\x79\xf5\xf2\x86\x80\xf7\x96\x53\xa1\x92\x2d\xfe\x3b\x44\xb3\x3d\x43\xd1\x17\x40\xa5\x46\x74\x2d\xf2\xe8\x23\xaf\xb5\xdd\x0a\x6f\x71\x29\x88\xd0\x8d\x15\x48\xa0\x6b\xa6\x6d\xb6\x88\x8f\x5a\xa5\xb7\x64\xfd\x75\xf0\xcd\x89\xda\xa4\xe3\xd4\x90\xdc\xee\x38\x93\x9a\x80\x52\x74\x91\x86\x22\xeb\xb6\x8b\x01\x96\xea\x37\x6a\x4f\x03\x08\x67\xea\x95\xd8\x28\xeb\x82\x94\x9c\x70\x59\x3c\x0b\x05\xd2\x9c\xf1\x25\xd7\x91\xa4\x08\x49\x09\x5a\x4a\x18\x70\xb1\x01\xc8\x38\xb4\x8d\x55\x55\x92\xb0\x89\x22\x83\xa3\xe4\x19\xf5\x53\xd5\xc0\x28\x4c\x82\xee\xfe\x9e\x13\xb0\x83\x99\x62\x96\x57\xaa\xbe\xe8\xcf\x30\x9d\xef\xf6\xf8\x5f\x92\x52\xf5\x67\x55\xec\xa5\x66\x45\x6b\x06\x18\x88\x42\x5e\xc4\x91\x97\x78\x54\xc3\x85\x24\x37\x6a\x41\xb5\x1b\x03\xca\xcf\x94\x81\x77\xc2\xe4\x43\x3a\x6d\xea\xca\x5e\xba\x47\x32\x34\x2d\x26\x64\x74\x98\x41\x07\x4d\x2c\x40\x11\xf9\xe3\x23\x80\xc4\xbc\x84\xdd\xda\xb1\x9f\x0e\x07\x0a\x1c\x39\xbd\x7a\xd5\x75\xf4\x10\xce\x47\x4b\x5e\x8e\xb1\x50\xac\xc1\x51\xd3\xb5\x1c\x1d\x7a\xe2\x19\x79\xd7\xab\x02\x31\x8c\xbd\x7f\xb5\x3a\x65\xb0\xeb\x79\x04\x80\xb3\x2e\x18\x24\x87\x51\xda\xac\x80\xa9\x46\xd5\xc6\x9b\x24\xe7\xbd\x09\xe1\x28\x0b\x83\x1c\x04\x87\xb3\x4f\x81\x04\xc1\xf7\x12\x27\x68\x5c\xe3\x24\x7e\x5d\x7f\x71\x71\xe1\xee\x7d\x03\xa7\xe3\xb6\xb0\xfe\x96\x9f\x09\xcd\x50\xd1\x74\xd7\x81\x70\xa6\x1a\x22\x85\xb0\x61\x51\x0f\x41\xc5\x52\xb2\xaa\x73\x95\xf5\xd1\x9e\x05\xd5\xc7\x90\x5f\xf2\x02\x29\x32\x0e\xaa\x5c\xa5\xbc\xda\x90\x43\x36\x2a\x1b\x95\x05\x86\x47\x5f\x57\xa9\x1e\xa5\x54\x95\x46\xe7\x37\xf2\xfc\x40\x59\xec\x5d\x27\x15\xe9\xcb\xfd\x26\x64\x50\xf2\x8c\xb1\xc3\x23\xc4\x25\x7e\x64\x47\xa2\x15\x4b\x56\xf2\xc0\xdc\x8a\x71\xd5\x18\x42\x36\x5d\xca\xe1\x05\x6f\xd9\xe4\xe1\x78\xe4\x56\x35\x89\x87\xa9\xbb\xee\x90\x40\x4c\x05\x4e\x8b\x20\x69\xb4\x58\x53\x1f\xe5\x84\x03\xaf\x9d\xdc\x5c\xfd\x78\xb4\x65\x18\xe5\x35\x50\x09\x03\x2e\x67\x49\x5d\x29\xa9\x89\xa9\xff\x26\x69\x10\xf4\x47\x27\xae\xa1\x13\x6c\x63\x74\x3b\x58\x86\xe8\x76\xed\x03\xe0\x29\x70\x26\x2f\x99\x02\x94\x86\x44\x15\x60\x10\xf0\x53\x72\x7b\xa5\x5a\x2a\x42\x5f\xfb\x1b\x22\x24\xc3\xf3\x5e\x60\xa1\xd5\x37\x54\x67\xd0\x0e\xbe\xe9\xaa\xd5\x4f\xa9\x49\x9e\x8a\x94\x19\x6c\x21\xb0\x12\xaa\x0e\x01\xaa\x2c\xfa\x73\x05\xdd\x43\xb4\x69\xf8\x3a\xb7\xa4\x3f\x36\xd4\x80\x5a\xf0\x08\xe0\x6d\x09\x67\x5e\x35\x0a\xe1\x04\x34\xe8\x3e\x19\xeb\x59\x92\xe5\xd3\xba\x9f\xa7\x83\x15\xd1\xdd\xdf\x87\x7c\xa4\xa8\x75\x6f\x45\xeb\xab\x1f\x5b\x85\x1d\x8a\xc1\xf1\x8e\xfe\x58\x3d\xc3\x6e\xe8\x00\x5f\xba\x5e\x6b\x6a\xf0\x8d\x97\x96\xf6\xaa\x4a\x66\x23\x68\x8a\xc9\xa1\xbe\x09\x58\x54\x41\xf8\x99\x77\x23\x2e\xb4\x63\xb5\xeb\xc9\x7b\x9b\x08\xe0\x01\x39\x83\xfb\xf4\xc7\xb9\x8d\x36\x01\xa4\xea\xfb\xdd\xba\x37\xdd\xaa\x9a\xc1\xee\xf2\xd2\xc8\x87\xdd\xf9\xa5\x45\xdb\xe9\x68\xed\x27\xf9\xb1\x0c\x76\x3d\x9f\xf8\x18\xae\xf0\xe2\x73\x30\x2e\xf7\xf5\xb2\xfc\xc2\x52\xdb\x76\x9f\xa8\xb7\x20\x4a\x3f\x13\x6f\x6f\xaf\xbf\xdf\xa9\x77\x55\x04\x6b\xeb\x92\xd9\xb0\x2c\x00\xf2\x22\x8c\x51\x85\xd1\x32\x3a\x88\x01\x9a\xe1\xf1\xd5\x10\x37\x3a\x97\x87\x1e\x17\x0e\x13\x60\x71\x0e\x60\x1c\xde\x0b\x72\x78\xc1\xb7\x87\x59\x2d\xd6\x88\xec\x96\xc6\x7b\x23\xc6\xaa\xde\x8a\xb1\x92\x1b\x18\xb1\x27\x57\x6f\x11\xcb\x73\xa2\x1d\x2c\x6e\xd9\x41\xb5\xc5\xd1\x47\x41\x4d\x36\x98\xc1\x18\xf6\xf0\xbc\x0d\xa4\xe2\x73\xc8\xef\xf6\x31\xbc\xb3\x3d\xd7\x3d\xca\xd4\x74\xaf\xf6\x8d\x39\x70\x1f\x6f\x14\xa9\x5e\xb6\x22\x05\x64\xb2\x14\xb2\xb1\xef\xc2\xab\xf1\x67\x24\x26\x61\x1f\x5a\x4f\x1c\x03\xfa\x43\x06\x16\xc8\x6f\x4e\x99\x52\xdb\x1f\xfa\x7c\x98\xde\xbd\x4a\xb7\x06\xff\xc3\x6a\x0b\xc2\x6c\x2b\xcf\xbb\xa1\x90\xfb\x49\x99\x57\x78\xd0\x57\x09\xb5\x9f\xf3\xac\x33\x2f\xf6\x6f\x1e\xca\x1e\xb9\x7d\x34\xd2\x8a\x1d\x72\x7b\x73\xa2\xf4\x9c\xdd\x95\x16\x31\x65\x98\x86\xfb\xe0\xaf\xbf\xbf\x7d\xfb\x3a\x3e\x8c\xf5\xa9\x5b\x67\x07\xab\x59\x1b\x11\x4d\x75\x99\x6c\x75\x0b\x61\x3b\xc5\x33\x09\xc7\x17\x04\xe1\x08\x95\x20\xa6\x74\x0e\x09\x1b\x5c\x20\xf6\x11\x48\x9b\x48\x12\x81\x67\x28\x46\x6d\x53\x96\x21\xb8\xa8\x1f\x05\x50\x12\x0b\xc5\xa0\x92\x4e\xaf\xdd\x4d\x0f\xf2\xf5\x23\x40\x95\x8a\x2a\x40\xc1\x01\xbf\xa6\x55\x3c\xe7\xf0\xdc\x2f\x60\x5c\x04\x95\x7a\xa8\x43\x18\x38\x22\xca\x33\x0c\x2c\x2f\xa8\xd9\xa6\x3d\x60\x09\x4a\xa5\xa0\x4d\x6a\x1e\x81\xcc\x3a\x20\xb0\x20\xae\x81\x27\xbd\xa3\x5a\xe0\x46\x38\xf7\xc0\xf6\x06\x90\x64\x72\x99\xfa\x80\x41\x0a\xc1\x05\xa8\x73\x01\xbc\x88\x60\x10\x2d\x31\x82\xf7\x5b\xaf\xd0\x59\x9b\x91\x29\xea\x7d\x41\x74\x4f\x09\x95\x82\x8f\xc4\x15\x79\xa7\x5c\xa9\x81\xed\x8a\xb1\x5b\x65\xe4\xe0\x54\x48\xdf\x52\xed\x19\x17\x80\xce\x5a\x29\x48\x51\x2d\x5a\x5f\x07\xf0\x07\x8e\x56\x0d\xfc\x3d\xf5\xc4\x4e\xc5\x75\x55\x16\xb6\xd6\x59\x5f\x3c\x72\x86\x6e\x53\xef\xe1\x64\x39\xad\xdd\x5a\x89\x56\xeb\x03\x1b\x09\xbc\x8c\x39\x85\x8d\x0e\x3d\x04\x6a\x0d\xc9\xc6\x6c\xcc\x9e\xc0\xe4\xe3\x8a\x98\xe4\x68\x70\x8c\x16\x42\x85\xa0\x2a\x04\x55\xa6\x04\x96\x32\x9d\x67\x0c\xd9\x05\xf4\xa8\xd4\x2a\x10\xc2\x00\x69\x26\x71\x12\x45\x2d\x45\x9d\x7e\x54\xd5\xc6\x8a\x96\xab\x86\xc2\x02\x28\x92\x12\xf8\x43\x53\xab\xbf\xe8\x90\x43\xd2\xc7\x3a\x20\xd4\xc8\xa7\x81\x87\xfa\x82\x0a\x02\x63\x20\x95\x6e\x52\x01\x15\x3f\xe9\xe4\x66\x49\x87\xa9\xed\x1f\xef\xd4\x60\xf0\x47\x5e\x9d\x9f\x61\x09\x8c\xee\xd2\x0d\x2b\x8f\x99\x0f\x54\x7c\x9d\x3a\x01\xd6\x24\xe8\x4d\x85\x4a\x1b\x44\xbb\xc8\x98\xd7\x71\x65\xe8\xf8\x06\x2c\x19\x0a\xac\xa6\x08\xaa\xd5\xd0\x71\x21\x29\x24\xbd\x26\x04\x60\x51\xc9\x40\xd2\xd2\x09\xcc\x60\x56\x92\x60\xa6\x58\x04\x6f\x2a\x26\x7d\xb2\xa0\xb3\x41\xbb\x22\xe6\x34\x08\xd2\xae\xd0\xf2\x75\x4d\x23\x9c\x50\xba\xa3\x1b\x2e\xe2\xcf\x4c\xb5\xd7\xf1\xeb\xef\xf7\x82\xab\xca\x50\x76\x8e\x51\xb7\xca\x09\x54\xdc\xb8\xcc\x19\xd1\x87\x3f\xbe\x00\x9e\xfe\x16\xd1\xe1\x33\xcb\x5d\x46\xcd\x5f\x32\xf6\x2f\x19\x7b\x53\xc6\xde\xb5\xc5\xdb\xe4\xbf\x4b\x81\x2b\x40\x91\x59\xd0\x7a\xfa\x72\x0e\xb3\xdc\xe3\xf5\xec\xc1\x69\x57\x10\xc1\xb6\x20\x39\x17\xfd\xe4\x2f\x29\xff\x97\x94\xff\x21\x29\x7f\xd7\x64\x3f\xbe\x7d\x3d\xfe\xc7\x9d\x92\x1e\xac\x1c\x75\x45\xdf\x3f\x45\xaf\x24\x80\x86\xa7\xad\x4d\x6a\x71\x1d\x42\x69\x99\x98\xc0\x3c\x43\x98\x45\x7e\x03\x81\xdb\x1c\x24\xdf\x6d\x27\xf4\xe1\xaf\x1d\xe0\xaf\x1d\xe0\xbf\x68\x07\xb0\x45\x71\x37\x11\x5f\x1d\xd2\x15\x14\xe4\x05\x63\xd0\x2c\x9a\x4b\xd6\xec\x84\x97\x95\x00\xe7\x64\x04\x6e\x2e\xb0\x9f\x1f\x5a\x09\x7f\x6d\x07\x7f\x6d\x07\x0f\xcd\xfc\x5f\xff\xfe\x33\xbc\x5e\x16\x44\x22\xd7\x38\x97\x74\x48\x81\x4f\x51\x41\xe0\xd8\x51\x82\x4a\x3f\xd0\x4d\x94\x13\xcf\x24\xf0\x30\x93\xc0\xc3\x4c\x02\x0f\x17\x09\x3c\x74\x09\x3c\x2c\x25\x70\x94\xc1\xae\x3d\xaa\xa8\x75\x06\x00\x36\x60\x12\xf0\x34\x34\x50\x4a\x57\xe3\xe0\x05\x9b\x71\xcc\x63\x00\xd2\xb2\x5e\x65\x37\xef\xf5\x70\x6e\xe1\xc7\x3b\xab\xc8\x56\x81\x40\xa9\x96\x43\xa4\xe4\x81\x69\x94\xeb\x2b\xc5\x48\xf1\x0c\xc1\xec\x2b\x58\x29\xff\x00\xa9\xfa\x4a\x2d\x8a\xfe\x98\xef\xac\x95\x73\xab\xc4\x01\xf4\xd7\x70\x5f\xd8\x34\x4c\xc9\x2a\x56\xf9\x3e\x7a\x3b\x20\x3b\x6f\xb6\x4d\xef\xfa\xbe\xa9\x53\xd3\x0b\xd5\xb4\xe0\xcf\x00\x80\x13\x76\x9b\x51\x8c\x54\x5c\x6f\x58\x12\x86\xf4\x7d\xe7\xbc\xed\x1c\x29\xd6\x06\x8a\x8b\xca\x3a\x5e\x6d\xb5\xef\x50\x2a\xd1\x91\xb7\x3c\x15\x87\x13\x53\x10\x28\x2f\x87\x23\xc6\x4a\xa1\xc5\x23\x71\xa9\x8e\x72\x2a\xe0\x3a\x50\x19\x92\x3b\x4b\xb5\xcf\xbb\x1b\xa7\x65\xdc\xf4\x9d\x73\xbe\x5d\xfc\xd0\x02\xb9\x6b\x63\xa8\x54\xe2\x56\x04\xe3\xc8\xb6\x0e\xfe\x90\xc9\x87\x44\xcb\x93\x48\x08\x26\xc8\xab\x51\xe7\x98\x0a\xc8\x65\x98\x6c\x97\x5c\xbb\x82\x8b\x55\x1a\xcc\xe5\x16\x85\x10\x41\xde\x40\x59\x65\x0e\x4b\xa1\xb6\xee\xc7\x14\x28\x94\xf8\x0b\x47\x03\xe5\x02\xfe\x23\xa7\xa1\x62\x17\x4a\x93\xb4\xdd\x36\xe1\x2c\x6c\xa7\x56\xde\x93\x89\x1b\x21\x42\x93\x2f\x87\x29\xeb\x7d\xe1\x0a\xb0\x2c\xf2\x71\x02\x0c\xdd\x9c\x8a\x9c\xf9\xd5\xa8\x81\x84\xbb\x55\x60\x19\x81\x9a\x01\xa8\xef\x09\xb0\xe5\xb5\x5a\xbe\x8c\xae\x1f\x69\x19\x7b\x10\xe2\xb1\x25\x5f\xf6\xa0\x34\xdf\x83\xf2\x6c\x0f\xe2\xd9\x1e\x54\x6e\xec\x41\x05\xe9\x67\x31\x65\xe2\x9c\x1c\xd5\x2a\xd8\xcc\xd8\x36\x1e\xb0\xa0\x69\xbd\x4a\x7b\x45\x0e\x44\xc8\xe7\x83\x51\x49\xc4\x21\xbc\xd4\xbe\xb3\xe4\xeb\x3b\x8b\xcc\x36\x96\x3a\xdb\x58\x22\x71\x96\xf9\xc6\x12\x86\x9e\x5d\x1e\xf0\xd6\x9a\x80\xc6\x5e\xf5\xee\x06\xd4\x74\x1f\xc3\x41\x28\xd9\xa1\x41\xcd\x3f\xb9\x47\xfc\x9f\x3b\xcd\x85\xd4\x39\x14\x76\xcc\x85\x03\x07\x0c\x28\x7f\x4a\x6a\x68\x7e\x7a\x83\xec\xda\xdc\x39\xe7\x95\x38\xb0\x07\xff\x21\xc3\x42\xd1\x4b\xdd\x55\xb1\x8c\x7d\xae\x45\xbc\xd9\xad\xcb\xfb\xcb\xd4\xf8\xcb\xd4\xf8\x2f\x35\x35\xfe\xcf\x9d\x66\x86\xb7\x26\x94\xbd\xc5\xd4\x74\xd2\x16\x4a\x23\x77\xc1\x7a\x6d\x31\xa9\x88\x4f\x10\xa1\xd7\xee\x73\x17\x26\xd1\x82\x20\x1a\x84\x1b\x95\x2b\x4b\xa9\x0e\x99\x62\xc4\x6b\x1d\x3f\xb8\x92\xfe\x32\x55\xfe\x32\x55\x7e\x74\xe5\xfc\xfa\xdb\x6f\xdf\xfe\xf1\xef\xee\x7f\xbd\xfe\xfb\x7d\x5b\x51\x1b\xd6\x18\x13\x1d\xe9\x21\x12\x0c\x00\xa8\x43\x6d\x85\xfc\x60\x77\x4c\xd0\xa4\xee\xae\xc9\x9c\x3a\x57\x54\xcd\xeb\xc8\x82\x62\x91\x93\x6f\x55\xe5\xd7\x26\xce\x56\xcd\x94\x9a\xd3\x88\xeb\x10\x74\xc3\x56\x4d\x99\xd2\x44\x51\xce\x35\xf5\xbf\x6a\x4d\x2f\x88\x5f\x58\x47\x3c\xb4\x1e\xf1\xb0\x4b\xff\x8b\x27\x5e\x32\x95\x16\x00\x0f\x4e\x62\x79\x88\x25\x62\xad\xa0\x58\x7b\xbb\xc3\xdb\x3f\xde\xad\x52\x39\xa4\x8d\x14\x6c\x2a\xfc\xc3\x01\x51\x01\x89\xd2\x1b\x27\x8a\xad\x8e\x58\x70\x01\xdc\x25\xdb\x98\xdf\x86\x40\xa3\xf0\x8c\x6e\x30\x70\x4d\xab\x52\x79\xe3\x72\x42\x38\xce\x75\x88\x9c\x78\x13\x1d\xed\x0f\x99\x46\x77\xc6\x23\x76\x48\xd0\xcd\x34\x01\x2d\x77\xb6\x28\xd9\x98\x0d\x11\x81\x5a\x49\x4f\x81\x20\xa8\xd8\x6e\xae\x03\xfb\xd7\xe5\x47\xaa\xc8\x39\x2a\x25\x1d\x09\x3c\xe2\xbe\x90\x09\x2c\x4e\xf6\x47\xdb\x3b\x2a\x80\x7a\x0f\x46\xdb\x10\x41\x8e\x14\x7d\x51\xbd\xef\x49\x65\x04\xa0\x14\x7a\x06\x18\x24\xfe\x51\x0d\x89\x38\xf8\x2e\xca\x18\xe1\xd7\xc8\xa6\x6d\xf9\x09\x49\xfb\x96\xf3\x8f\x27\xa6\x46\xde\x03\xc3\xa7\x76\x58\x89\x79\x25\x9a\x13\xa9\x96\xe3\x81\x61\x54\x37\x62\x3d\x17\x15\xcf\x79\x54\xd3\x90\x55\xe0\x56\x90\x2f\xa9\xec\x53\x99\x5a\xa8\xc5\xa6\xbf\x07\x18\x34\xa7\x46\x91\xaf\x00\x87\xe7\x2b\xc0\xe1\x81\x4a\x7a\x89\xc6\x6a\x6a\xe9\x13\xe2\xad\xc9\xac\x05\x3b\x14\x7c\x38\xd7\x5e\x95\x19\x54\x2a\xad\x33\x1c\x93\xca\xaa\x76\x10\x6a\x4d\x15\xe7\x67\x55\x5a\x19\xf4\x53\xc5\xf0\xec\x79\xf3\x80\xd3\x27\x9e\xb5\x07\x3a\x60\x20\x2a\x93\xde\x98\x4f\x6b\x50\x9c\x73\xca\xe5\x3a\x76\xfe\x8c\x2f\xf3\x93\xf3\xfa\xf8\x7a\xcf\x19\xee\x0d\xe4\x24\x24\xdb\x6d\xc3\x2b\x75\xcc\x56\xb0\xa1\xac\xf6\x6a\xb3\xf0\x23\x35\xf4\x54\x7b\x50\xd1\xe2\x55\x6d\x6b\x65\x8d\x87\xd9\xc0\x06\xc6\xf5\x8d\xbd\xee\x4d\x2b\x1b\x5d\xa8\x80\x68\xac\xb4\x51\x15\xec\xd0\x83\x77\x56\x48\x54\xb5\xc8\x90\x9e\xd5\xde\x47\xcc\x39\x78\xab\x24\x6d\x91\xce\xb0\x26\xd3\x33\x24\xc5\x7b\x26\x09\x55\xd5\xff\x16\x0f\x99\x52\xca\x43\x36\xf4\xae\xc0\xf9\x48\xa5\x18\x1d\x41\xc8\x89\xc0\xff\xd5\x9d\x50\x00\x8f\x09\x5e\xd7\x45\xda\xf2\xa6\x0a\xa8\xdb\x7c\xc8\xcf\x68\xd6\xde\x0d\x88\xe7\x63\xa4\xca\xa8\x86\xdf\xee\xe2\x40\x67\x93\x91\x88\x2c\x5f\xc0\x31\x5c\x32\xf0\x1c\xce\xc9\x69\x8e\xe1\xe0\x55\x33\x79\x53\x75\xe0\x2a\xbb\xc2\xc7\x17\xf9\xf3\xca\xfe\xe1\x09\xfa\x38\x96\xf9\xd5\x09\xaa\x7a\xc9\x2a\xb5\x3b\x64\xca\x3e\x8e\xb0\x4d\x22\x44\x4d\xf4\x70\x45\xae\x93\xe3\x33\xa9\x71\x24\x6f\x99\x7c\x4b\x5b\x68\x02\xc4\xfc\xd7\x58\x47\x2a\x52\x5c\xdc\xa2\x50\xc5\x14\x06\xe3\x81\xc8\x16\xf2\x1b\x0a\x48\xbc\x36\x98\x60\xd1\xcf\x27\x66\x24\x09\x05\x94\xea\xf9\x10\xa9\xc5\x34\x80\x22\x63\x99\x0c\x4e\x25\xd4\x89\xc9\x4a\xea\xb0\x4e\x69\x09\x95\x32\xe7\xe7\xbc\x40\xed\xb3\x6f\xd4\x1a\x64\x9d\x80\xd1\x67\xd5\x3d\xd3\x1d\xd8\xe8\x67\x0e\x8b\xab\x1b\xf3\x34\x47\x66\x79\x0f\x6c\x79\x0f\x98\x23\xfb\x68\x73\x1f\x5f\x54\x0f\xfa\x13\xca\xbd\x6b\xe6\xfd\xeb\xef\x7f\x1f\xef\x0c\xd0\x15\xa6\x16\xd5\x3c\x88\x39\x3c\xa9\x6e\x0f\xfd\x1e\x83\x87\x97\x0a\xa8\x95\xb6\xb3\x2f\x18\x88\xa1\x40\xe9\x2a\x1b\x47\xb2\x59\x62\xe2\x4d\xf3\xcc\x27\xbd\x7d\xe7\xd4\xdf\x8a\x8e\x05\x5a\x5f\x77\x1d\xa9\x82\x20\xb5\x7c\x7c\xc1\xd3\xdc\x28\xc6\x93\x5b\x3d\xdf\x69\x97\xd6\x8f\x5f\x76\x9b\xdd\xe0\x5a\x00\xdb\xb9\x9d\xc3\xd7\xf9\x29\x6d\x9c\x0e\x68\x3f\xbe\xb4\x3d\xe8\x6d\x73\xf5\x1f\x02\x21\xd7\xe1\xea\x29\x00\xfc\x02\x79\x43\x08\x74\xb6\x16\xef\x1c\xc3\xfb\xcc\xe6\x88\x31\x54\x21\xae\x55\x9d\x8d\xa1\x23\x56\xbd\x49\xa2\x18\xa3\xb2\xeb\x69\x10\x76\x91\xe5\x80\x5b\x04\x2c\xbf\xb9\xb8\xb7\x1b\x72\x3b\x30\x40\x05\xc3\xd5\xe1\xe6\x0e\x6b\x65\xa0\x7b\x3b\xc3\x1d\xaf\x0f\x76\xf7\x4e\xc8\x7e\x44\xed\xea\xc1\x0b\xd3\xd9\x4e\x7c\x09\x90\xc1\x91\x88\x8c\xcb\xbc\xaa\x8b\x53\x1a\xd8\x8f\xb1\xbc\xb9\x75\x65\xfb\x24\xfa\xf8\x92\x09\xfc\xa3\x6d\x0b\xe2\x30\x4c\xc0\x85\xa2\x73\x60\xdf\x6f\x30\x9e\xe1\xf3\xef\x1a\xf0\x6f\x7f\xfb\xfa\xbf\x5e\x1f\x05\xcf\xfb\x13\x48\x96\xb6\x06\x96\xef\xc6\x57\x67\xff\x09\x64\x21\x3e\xd7\x80\xa2\x9f\xeb\x89\xcb\x27\x56\xcd\x8b\x91\x30\x65\xc3\x70\x7d\x6b\x7a\xf3\x55\x2e\xa4\xcb\xcb\xf6\xe2\xe9\x1b\xa5\x13\x3f\x06\x8a\xd6\xbb\xfe\xb1\xc8\x53\xcb\xb1\xd8\xa0\x15\xe9\xc7\xa7\x8d\xe2\x6e\xd9\x68\xac\x2d\xdd\xe0\xd5\xa4\x19\x19\xd0\x16\xcb\xa6\x60\x65\x36\x3a\x43\xa1\x5f\x41\xb3\xa1\x7a\x62\x7e\xd3\xed\x7b\x1f\xf5\xa3\x19\x34\x56\xb4\xd3\x87\xb7\x4c\x61\x37\x54\xbd\xed\x87\xaa\xbf\xb9\x4c\xe1\xc4\xfc\x33\xdd\xfc\xf6\xed\x6f\xf7\x26\xed\x22\x63\x63\x40\xf6\xc6\x5a\xcc\x1a\xb3\xaa\x4a\x73\x1c\x03\x6e\x76\x28\xdf\xc6\xbd\xaf\xce\x4f\x1e\x58\xa8\x46\x19\x58\xc6\x40\x0d\x2e\xd3\xe2\xef\x41\xa2\x1e\x76\x3c\x0f\xb6\x9e\x76\x96\x13\xcb\xd5\x45\x38\xb9\x32\x64\xdf\x95\x71\x59\x84\x1f\xb6\xba\xc3\xc3\x34\x65\xe5\xe4\xfa\x42\xc4\x79\x6e\x1a\xb8\x3c\x1b\x42\x44\x79\x03\x85\xdd\x55\x48\x5f\xbe\x85\xe9\xfb\xb0\xe5\x36\x9f\x07\xf7\x46\x9f\x14\xc9\x43\x22\xc1\xfe\x76\xa1\x59\x30\xc2\x7d\xc9\xe0\x76\x9f\xd6\x84\x51\x4f\xd9\x24\x10\x95\xc2\xeb\x6f\x2e\xcf\x1d\x2a\x62\xbd\x46\xa1\x86\xdd\xa2\x84\x72\xc7\xa1\xc8\x0d\x12\xb1\x1d\x4b\x3d\x5d\x11\x05\x7f\x32\x31\x18\x53\x38\x39\x93\x04\xe1\xe3\x1d\xbb\x2b\xeb\xea\xad\xf8\x34\x53\xdd\x89\x66\xde\x31\xd1\x7f\xc6\x42\xef\xe3\xfc\xfd\xed\xd7\x1b\x34\xa3\xeb\x71\x0e\xdb\xf5\xce\x97\xe5\xbe\xb3\xa4\xb9\xaf\xf6\x3d\x49\xc0\x6e\xb6\xde\x13\xe5\x54\x75\xbd\xbb\xbf\x16\xfc\x7f\xcb\x82\xc7\x44\xb8\x2f\xe0\x18\x11\x30\xcb\xf5\xce\xb3\xe5\xbe\x59\xd3\x3c\xad\xf6\xad\x20\xe0\x99\x9c\x38\x30\xa0\xe8\xeb\x30\x7b\xc1\x5f\x0b\xfe\x8f\x5b\xf0\xff\xfe\x0f\xf7\xed\x1f\x77\xae\xf5\x48\x36\xfd\xf7\xb4\x98\x35\x44\xc5\x1d\x8b\x6a\x69\xb5\x74\x83\x2f\x3e\xa8\x4c\xae\x0a\xdb\x72\x1f\x18\xab\x5a\x84\x2f\x63\xe7\x3c\x70\x4c\xc3\xca\x30\x3d\xc7\x0f\x0f\xdb\x88\x8f\xb3\xb5\x20\x2a\x93\xe4\x39\x2c\xf9\x46\x98\xe1\x40\x6c\x07\xbc\xb0\xac\xcc\x0d\x7f\x3f\x01\x5b\x1f\x9e\xbb\x56\x20\xe6\xcf\x95\xd1\xd9\xe0\x92\xdf\x35\xe7\x65\x3f\xdd\x75\x3f\x53\xf2\xaa\xfa\xb9\x03\xae\xbe\x1d\x99\xa4\x26\x7c\xd8\x3d\xa9\xed\xa2\x63\xbb\x81\x9c\x45\xc7\x36\xb2\xbb\x9f\x02\x13\x83\x13\xf0\x59\x96\xec\xcc\x05\xec\x14\x87\x64\x6e\x83\xf2\x33\x83\xf3\xeb\xbf\xee\xcc\x46\x6a\x7d\xed\xcc\xf1\x19\xaa\x6d\x49\x2e\xfe\xb0\x15\x18\x77\x72\xe0\xe3\x27\x36\xdb\x55\x76\xa0\x3d\x46\xf2\x15\x04\x6d\xfa\x74\xe1\x6c\xc3\xee\xef\x58\x36\x6d\x3e\x2e\xed\xbc\x6c\x46\x77\xbe\xe5\x27\x87\xe6\xee\xd3\x33\x5e\x0d\x4d\xea\xd6\xdb\x0e\xa0\xff\x67\x76\xa2\xec\x72\x42\x5c\x59\x05\xeb\x75\x33\x5f\xb1\x9f\x0e\x4b\xfb\x83\x16\xcd\x62\x74\x84\x44\x9c\x5e\x9e\x17\x10\x25\x79\x5a\x35\xed\x27\x57\xcd\x7f\x7c\xfb\xed\x61\x8f\x09\x17\x28\x5d\x05\xf2\x34\x46\xc4\xe1\xa0\x77\x98\xf8\x89\x3d\xe0\xaa\xfa\x2f\xb3\xc1\x07\x09\xc7\x4c\x7e\x6a\x65\xa4\x06\x74\x05\xc7\x3c\x78\x17\xc8\x33\xa2\x07\xd8\x25\x2a\x08\x9d\xe0\x22\xae\xf4\xf2\x73\xd3\x9f\xc9\x27\xe7\xae\xbd\x81\x7f\x49\x56\xea\xc0\xc3\xf9\x2f\x39\xfa\x01\xc5\xeb\x32\x63\x44\x0c\xc9\x80\xe2\x07\x14\xdf\xcf\xe0\xe4\x49\xc5\x42\xa3\x49\xf0\x0e\x42\xe9\x68\x21\x0c\x08\x01\xc0\xd9\x69\x1e\x32\x31\x88\x7c\xa5\x84\x43\xa4\x52\x40\xee\xca\x39\x3f\x35\xc4\x67\xd9\xd5\xce\xeb\xb5\xd0\x8f\x77\xb5\xc2\xa5\xb8\xbc\x7f\x13\x90\x5b\xe4\x75\xfe\x6a\x37\xfd\x67\x7d\xb3\x95\xe1\xec\xdd\xdc\x3a\x5e\x50\x0d\x8f\x41\x6e\xeb\xd8\x3f\x0e\x60\x5f\x87\x3a\x81\x87\xe7\x27\xfb\x8f\x81\xa6\x83\x48\xab\xbe\xea\x3a\xce\x53\x5f\x7a\x4a\x21\xb9\x44\xbe\xe5\xd1\x35\xe2\xc0\x03\xae\x4f\x80\xa8\x1c\xec\x3a\xb9\xa5\xab\xea\x6f\x31\x83\xb4\xb2\xe5\x79\x41\x1e\x0f\x59\x01\x8b\x72\x1e\x6e\xff\xdf\x7f\xfd\xfd\x3f\x5f\x7f\xbf\x91\xaf\xff\xd9\xf1\x52\xa6\x92\xa3\xce\x0e\x96\x5f\x12\x20\xb3\x02\xe5\x0a\xa4\x71\x4a\x9c\x07\x55\x92\x5b\xa8\x27\x16\x62\x89\x16\x7c\x03\xf8\x74\xbd\xb5\x8b\x2c\x2d\x41\x3f\xce\x63\xa5\x24\xc9\x65\xf2\x59\x76\x90\x23\x6b\x92\xc3\xec\x7d\x1f\x5f\x0c\xc0\xa8\x85\x15\xa6\x5c\x4b\x8e\xc4\x47\x94\x16\x07\x94\x76\x24\x8e\xba\x2e\x23\x05\x1d\xa4\x81\xa2\xaf\xa3\xbb\xdc\xb0\x02\x07\xec\x45\x84\x17\x94\x7e\xc7\x29\xa4\xce\xd6\x85\xc8\xe6\x3a\xe8\x9e\xb9\xf1\x61\xbf\xdc\xe7\xcc\x9d\x8f\xcd\xc3\x47\x7f\x91\x8a\xf6\x71\xfa\x25\x10\x42\x89\xaa\x0c\x58\xd4\x6c\x21\x4f\xe1\x54\x89\xfb\x90\xe8\x7e\x47\x18\x90\x58\x31\x22\xfa\x61\x18\x13\x95\x9c\x5c\xa4\x5d\x90\xd1\x9a\x0f\xd3\x1b\xcc\x99\xab\x65\xae\x46\x22\xda\x48\x68\x39\x79\x40\x39\x4b\x74\x48\x0c\xc3\xfe\xb7\xee\xfc\xf8\x8b\x16\x7c\xc7\x20\xc4\x61\x8d\x9f\x94\x06\x7f\x62\xbf\x1d\x84\xfb\x42\xd9\x75\x10\xfe\xd7\xeb\x3d\x79\x7f\x37\x30\xec\x24\xe4\xbe\x3c\xb8\x82\x50\xc0\xd6\x87\xf8\xbe\x40\xc4\xef\xae\x10\x63\x31\x1d\x3a\x52\xfa\x79\x85\x1c\x2a\x15\xc4\x6e\xd8\x11\xfa\xfc\x50\xba\xaf\x90\xf9\x1a\xfa\xf8\x02\x12\x90\xf5\x12\xf1\xee\xb2\x46\x66\x6b\x40\xe6\xb7\xf4\xb1\xd9\x5f\x21\xfe\x87\x17\x48\x1e\xf6\x32\x79\x39\xce\x97\x4c\x1e\xb8\xfd\xc0\xf2\xc0\xc8\x3c\x7e\x2c\xce\x84\x40\xc6\xf4\x0b\x0b\xa8\x1c\x74\x75\x70\xb4\xe5\xa1\x33\x69\xbd\x3e\xdc\x79\x7d\xb8\xf3\xfa\x38\xa8\x26\x9a\x75\x83\x0a\x7b\x83\x91\x0f\xe7\xb7\x7c\xbc\x33\x89\x3d\xb4\x1e\x08\x9b\xe3\x07\x84\x45\x15\x2a\x2d\xef\x0c\xc3\xee\x0a\xf1\x3f\xba\x40\xb0\x46\x97\x90\x6c\xe1\x27\x96\xc7\xf8\xfa\xfd\x61\x3a\x6e\xc4\x0f\x44\xe2\x2d\xe2\x99\x14\x92\x6c\xb2\x79\x58\x92\xbe\xb1\x07\x0d\x19\x95\x84\x79\xe9\xd6\x94\x70\x4e\x1f\x34\x3f\xcd\x43\xfb\x21\xda\xf3\x20\x35\x31\x13\x23\x7d\x22\x7b\xde\x34\x28\xa9\xba\x02\x00\xcd\xa1\xad\x53\xd7\xa5\x55\xd0\x43\x25\x4a\x5b\x9b\x55\x4a\xb0\x02\x1e\x6f\xce\xf7\xff\xfd\xaf\xbb\xa1\xb6\x74\x87\x1c\x32\xd5\x12\x97\x1a\x7c\x30\x02\xab\x4d\xfd\xa1\xa8\x07\x37\xaf\xff\xe7\xbe\xb0\xff\x1b\x0f\x1a\x51\xfa\x63\x2e\xcd\xbb\x8e\x27\x1f\x75\x87\xcd\x47\xf0\x4e\xa7\x4b\x0e\xc1\x22\xf8\x97\x43\x28\x21\x52\x4d\xd1\x7c\xdc\x79\xe3\xa2\x90\x10\x1d\xbe\x8f\xa4\x3b\xc7\x5d\x41\x8d\xff\x37\x1d\x5a\x6e\xad\xd6\xeb\xce\xc9\xab\x81\x84\xe6\x3a\x7d\x78\xac\xbe\xfd\xed\xeb\xef\x77\x12\xa9\x1a\xaf\xe8\x6e\x9d\xd7\x91\x02\x88\x7a\x58\x03\xc7\x38\x9b\xd5\x10\x8f\xa7\x6d\x88\x88\x4a\x70\xfd\xea\x4d\x36\x96\xff\xf3\x0e\x29\xa7\x6a\x09\x62\x50\xbb\xbb\x70\x1b\x7b\x71\x18\xed\xe3\x8b\x81\x86\xed\xb6\xe2\xa5\xac\x5e\xde\xa1\xe1\xda\x8e\xff\xee\xe5\xca\x98\x7e\x7c\x11\x63\x92\xde\x14\xf3\xe6\xe4\x74\x05\xac\x8f\x33\xbe\xde\xbe\x26\x81\x34\xae\x5d\xef\xf7\x1d\xfc\xb7\x93\x6b\x7b\xf5\xfa\x81\xc9\x70\xd7\x9a\xb5\x49\xbe\x53\xa5\x2d\x46\xc4\x14\xf1\xb4\xf0\x1f\xe2\xf1\x8f\x2f\x82\xd8\xfd\x53\x58\x8d\x61\xef\x17\x4f\x4b\x9e\x9a\xeb\xb3\x01\xd8\x2b\x69\x28\xfb\x73\x21\xef\x42\xaf\xa8\xc4\xf8\x52\xae\xb4\xe3\x25\xae\xde\xdd\x27\xc3\x86\xd2\x23\xbd\xf1\xcb\xca\xf1\xc5\xa5\xb7\xce\x0e\xa1\xfc\xce\x5c\xe0\xd3\xfa\x0c\x60\x9a\x0b\xf6\xf5\x5e\x10\x57\xc2\x8c\xbf\xd2\xed\x5b\xe9\x38\xb5\xf1\xd1\xd9\xf0\xfe\xfa\xfb\x3f\x7f\x7b\xfb\xf5\x1f\xf7\x6e\xc3\xba\xaf\xfd\x34\xcc\x53\xa6\x1d\x82\xfd\x68\x3c\xc9\x3b\x04\xef\xb8\x5d\xc2\x9b\xce\x94\x4d\x10\x71\xcf\x41\xd8\xe3\x4e\x2e\x64\x8c\xba\x58\xb1\xe9\x53\x8a\x7d\x7f\x6b\x9f\xcd\xb7\xf6\xd9\x7c\x7b\x9f\x0d\x3f\xb3\xcf\x5e\x06\xe8\xbe\x94\xe5\x81\x65\x35\x3e\x17\x34\x23\x0c\x50\xbd\x47\x0f\x92\x2d\xbd\xbb\x18\x87\xda\x0e\xeb\xb8\x45\xd6\xe5\xb7\x0d\x40\xa3\x9f\xc2\x44\x5f\x64\x87\xc2\xca\xec\x11\xe0\x3a\xf6\x6c\x92\x2b\x3b\x68\xd9\x95\x8a\x6b\x92\xf2\xf3\x16\x5a\xf6\xb7\x50\xd4\xe1\xf1\x61\xf8\x76\x6f\xcc\x69\xa1\x90\xd5\x5a\xa3\xdc\xc2\x91\x84\x33\x80\xbf\x13\x92\x3c\x2a\xb5\x58\xa9\x15\xa1\x2a\x54\x06\x21\x8f\x24\x09\xc0\x73\xe7\x86\xbf\xbe\x0b\xd5\xe2\xd4\x88\xd3\x8f\x90\x57\xfa\x5a\x28\xe3\x70\x2c\x4f\x08\xb7\xc4\x0d\xb9\xf2\x23\xf9\xd6\x1c\x71\x4c\xaf\x54\x4b\xd2\x9f\x49\x22\x46\x6d\x75\x8b\x72\x74\xa0\x85\x61\x5f\x1c\x71\x22\x61\x47\x12\x84\x02\xbf\x26\xaa\xad\x0e\x76\xed\x1d\x25\x8d\x4a\x2c\x3a\x95\x23\x53\x02\x29\x67\x32\x40\xda\xe8\x84\x52\x12\xfb\x53\x2f\x01\x73\xbd\x81\xf0\x81\xed\x4b\x7c\x8e\x62\xe3\x60\xd7\x29\x76\xd9\xe1\xa8\x30\xc2\xcd\x6b\x57\xfb\x46\x82\x38\x0a\xbc\xad\x7b\x44\xd5\x8d\x66\x25\x03\x75\x1d\x10\xcc\x41\x6d\xda\xf0\xf1\xa5\x0e\x6d\x05\xd9\xc5\x0b\xc4\xae\xb6\x42\xec\x62\x30\x11\xdd\x92\x5a\xf7\xf0\x50\x5f\xf3\x60\x7f\x9f\x9c\xe5\xe7\x7f\x73\xf7\xf9\xbf\x71\x85\x5b\x5d\xef\xc4\x66\xb8\xf6\x29\x33\xb3\x0a\x9d\x85\x93\x59\x3f\xf9\xb9\xb9\x7a\xb7\xb4\x40\xae\x31\x63\x34\x4b\x15\xcb\xf2\x13\xe4\x96\x75\x1e\x5c\xe4\xea\x96\x69\xc8\x52\x8e\x0e\x79\x70\x81\x02\xdb\xa5\x8f\x25\xeb\x58\xfa\xb4\xd4\xed\x6b\x44\x66\x94\x6a\xc7\x78\x46\xaf\x70\x0f\x24\x4a\x35\x1e\x29\x44\xd6\x09\x50\x54\x24\x27\x13\xa7\xf8\x8b\x40\xc5\x66\x84\x73\x96\x6c\x28\xa9\x22\x13\xe8\x75\x5b\x94\xd3\xb2\x56\xef\x4d\xfa\xda\x11\xd5\xd2\x5a\x1d\x1d\xb1\x54\xe2\x0c\x8a\xa1\x42\x01\x82\x1c\x0c\x00\xbf\x34\x6d\xb8\xaa\x98\xb1\xe9\x10\x78\x8c\x94\x76\xcd\xc7\x97\x74\x26\xeb\xdd\x60\xc3\x79\xcc\xb4\xbc\x9e\x69\x7e\x58\xc3\x20\xae\xe4\x2f\xdf\x91\x83\xf8\x63\x3e\x7c\x36\x66\xad\xb9\x53\xdf\x71\xf8\x89\x09\xf4\xeb\xf1\x3f\xbe\xde\x7b\x58\x7b\xd9\x6f\xf6\x97\xe2\x99\x76\xf8\xdc\x43\x11\x3d\xcc\xb7\xd6\x23\xb2\x07\xee\x5a\x91\x71\xd1\x4f\xc3\xd4\x4f\xde\x71\xfe\x78\x77\xf9\x67\x7b\xea\x13\x3b\x73\x47\x8d\xe1\xab\x6a\x4c\x98\xd4\x98\xed\x57\x12\xae\xab\x31\x9d\xb1\xff\x39\x98\xe1\xf1\xa9\x1a\x93\x1f\x56\x63\xc2\x9f\xa8\xc6\xd8\x94\xba\x0f\x51\x7b\xa8\x57\x66\xd4\xb5\x25\xa7\x13\xea\xbc\x2c\x7f\x62\x3e\x55\x18\x60\x76\x70\x93\xa6\x49\xc5\xc3\xe5\x03\x4c\x2c\xfe\xf8\x12\x2f\xd4\xb5\xac\x13\xae\x53\xd7\xb2\xab\x8f\xce\x25\xd9\x53\xb9\xfc\x55\x95\x4b\xba\xca\xb5\xf3\x95\x76\xe9\x55\x9d\xab\xf3\xfd\x8b\x25\xf1\xdc\xd0\xb9\xd6\xda\xd5\x6d\xa5\xeb\x79\x5d\xcc\x1f\xa3\x74\xfd\xfa\xfb\x3f\xdd\xeb\xf7\xe3\xdd\xf1\xd4\x2d\x87\x21\x90\x4f\x65\x91\x27\xc2\x60\x87\xe2\x1c\xc6\x5d\x28\x37\x4b\x76\x30\xe0\xa7\x53\x5d\x66\x4b\x4c\xf6\x5a\x02\xe4\xc2\x75\x9c\x93\x9e\x5c\x63\x29\x20\xb3\x17\x4b\x0c\x4e\xdf\xfc\xd1\x65\x45\xdc\x0b\x13\x6a\x3b\x48\xf5\xdd\xaf\x04\x8c\x8f\x72\x25\x24\x2e\xef\x44\x4f\x3c\xaf\x6d\xec\x73\xba\x87\x55\xc0\xef\x55\x60\x9d\x4e\x64\x15\x48\x56\x81\x74\xed\xfd\x61\x37\x78\x63\x07\x05\xfe\x5e\x53\x74\x1a\xed\xfb\xa2\xa6\x81\x4c\x93\xf6\xa0\x64\xa6\x74\x9d\x21\x91\xcf\xa7\xb8\xca\xad\x3a\x8f\x28\x40\x37\x4a\x1d\xf2\x2a\x40\x63\x1e\x7e\xe3\xc2\x6a\x40\x93\xa8\x3e\x82\x5d\x7d\x3d\xd6\x49\x2a\x89\x8c\x61\x08\x18\x37\xbf\x74\x85\x84\xa1\xbd\x6d\x18\x63\xd3\x73\xf8\xb0\x95\x0f\x93\x7f\x7f\x98\xfd\xce\x20\xef\x8f\xf0\x50\xd6\xef\xcc\x6f\xe1\xfa\x3b\xc3\xd5\x91\x5d\x1e\x7c\x85\xfd\xf7\xdd\x3b\xa4\x7f\xfb\x7a\xef\x0a\xb6\xc9\xb6\x68\x81\xfe\xb1\x99\xea\x53\x3b\xd6\x37\x0f\xb3\x99\xde\xb6\xde\xa3\xb6\x3b\x61\xb1\xce\xba\xec\x10\x4f\x31\x86\x55\x36\x16\xc8\x05\x21\x3d\xdc\x82\x3e\x7e\x0e\x5b\x54\x75\x9d\xb6\xf8\xd2\xf6\x3d\x53\xb5\x27\x6d\x6d\xc0\x8a\x16\x49\x5b\x26\x9d\x66\x29\x6b\x2a\x3e\xe6\xd2\x23\x6c\xdb\xb4\xce\x5e\x74\xf3\xa5\xcb\xe5\x4a\x8c\xe3\x4e\xb4\xd3\x66\xe9\x2e\xa3\x0f\xef\x1e\xe8\x3b\xdd\x8a\x7d\xfa\x2d\x87\x2f\xbc\xed\x78\xd1\x9e\xd7\x89\xb0\x67\x0f\x73\xde\x76\xc7\x3c\x0e\xcb\xb7\x21\xeb\x5c\x67\xc6\xd8\x72\xa0\x76\x7d\x6c\x6d\xa5\xef\x8e\x6d\x80\x65\x10\x5f\xf2\xfe\xd8\xaa\x7c\x31\x41\xd2\x96\xc2\x68\x3e\xb4\x61\x08\x57\x87\x76\x6f\xaa\xae\x56\x60\x5b\xca\x89\x55\x04\xad\xec\x2e\xf2\x87\x87\xf2\xb7\xaf\xaf\xff\xf1\xf5\x46\xaa\xde\x83\x5c\xff\xed\x35\x0d\x67\x9d\xca\x0f\xf6\x1f\xcc\x58\xff\xf1\x8e\x40\x3b\xb5\xec\x10\x6e\x87\x7d\x55\x47\xe8\xf2\x7f\xcf\xae\xac\xb9\x82\xd3\x9e\xfa\x1d\xae\xaa\xdf\x69\x52\xbf\x65\xab\x7e\xf3\x0d\x2f\x62\x35\xf5\x3b\xf5\xdc\x85\xcf\xd4\x6f\x79\x58\xfd\x4e\xf7\xa8\xdf\xf7\x0f\xe0\x1f\x4d\xf4\x4c\x30\xbd\x11\x23\xd2\xa6\x81\x2c\xd4\x86\xf9\x67\x3a\x9e\x85\xda\xc7\x97\x44\xd1\x0e\x64\x85\x12\x8e\x35\x6c\x50\x13\xa9\x4a\x3e\xff\xcc\xb3\xc3\x87\x1f\xab\x60\x80\x1d\x6d\x98\xaf\x6a\xc3\xa1\x6b\xc3\xfb\x47\x78\x57\x95\x61\xe9\x0e\xc8\xf3\x11\xde\x35\x65\x78\xff\x08\xef\xaa\x03\xf2\xca\x19\x5e\xd7\x85\xef\x18\xc1\x4f\xce\xc5\xff\x87\x65\xf4\xac\x4f\xb8\x7f\x28\x31\xf6\xf6\x19\xf6\xa7\x7d\xfc\x60\x44\xc5\xff\x13\x39\x33\xed\x47\xd3\x0f\x6e\x1e\x31\x7f\xda\x95\xe8\xac\xdb\x73\xf6\xbf\x29\xc6\xe2\x07\xea\x7f\x7b\x3e\xfc\xb7\x04\x17\x7c\x56\xfb\x7f\x3e\x9c\x57\xaf\xab\x78\x21\xd7\x72\x09\x14\x19\x19\xa3\x4d\x10\x58\x97\x86\x4c\xb9\x45\x6a\x4b\x1b\x49\x27\x1b\x58\x2f\x47\x17\x91\x68\x1c\xa9\x30\x30\xce\x62\xd0\x27\xf2\x26\xcf\xa4\x36\x2a\x0d\x48\xa0\x95\x4a\x06\xd7\x40\xab\xc0\xd0\x8a\x6b\xf3\xcc\xd7\xe6\x08\xc0\x41\x1c\x83\xd3\xd2\xb2\xbd\xc5\xe1\x2d\xeb\x7a\x00\x19\x70\x44\x35\x9d\xd6\x73\x40\xed\x11\x63\xb8\xe6\xa9\xe1\x8f\x77\x0f\x58\xe9\x74\x68\x80\x9a\xad\x6b\x49\x9d\x72\xa4\xc8\x88\x27\xaa\x54\x19\x61\x6d\x80\xd9\x6b\x61\x09\xd4\x2b\xac\x15\x8b\x23\xf2\xef\xb0\x39\x82\x05\xbb\x36\x27\x94\x57\xbb\x48\x6e\x06\x83\xd8\xda\x80\x2f\xf5\x99\xe0\xf0\xcc\xba\x4c\x87\x42\xf1\x52\x87\x97\xa2\x26\x00\xfd\xda\x54\xd4\x51\x64\xed\xd1\xa0\x0d\x7a\x68\xe1\xfe\xf3\x61\x5c\x80\x3a\xac\xb6\xc4\x5c\x28\xb2\x8c\x42\x1e\x11\xd0\xbe\xe9\x35\x8b\x50\xce\xb2\x1a\x31\x44\xfa\xd7\x34\xba\x40\x21\x18\x17\x2b\xb8\x9c\x23\xc5\xba\xb1\xc4\xab\x50\x69\xf9\x50\x41\x02\x59\x8b\xce\x37\x06\x64\x2a\x87\xed\xad\x3a\x6d\xf2\xa8\x85\x39\x2d\xac\xd9\x1b\x40\x06\xbb\xae\x03\x66\x8d\xf6\x74\x16\xd1\x4e\x97\x43\xa1\x00\xd4\xf0\xf9\x9c\xd1\x66\xf6\x39\xc3\xf9\x90\x09\xb3\xdb\x87\x9d\x39\xe3\xd1\x9e\x58\x29\xb6\x6a\x08\xc9\x83\x50\x58\x06\x69\x68\x6f\x14\x19\x1d\xa5\x86\xe3\x93\x96\xb5\xf1\xa1\x3a\xa6\xbc\x1c\x5f\xca\xd5\x32\x53\x38\xd4\x01\xdf\x1a\xe5\x36\x1e\x5a\x95\xc9\x0e\xa5\xe2\x9d\x4e\xdf\x89\x7a\x38\xad\xc8\xba\x9e\xc1\x69\x45\x0f\x58\x22\xfc\x58\x1c\xa2\x4e\x99\xe3\xb7\xdf\x8f\x37\x4f\x43\x1f\xb2\x10\x28\xe7\xa6\x4b\x68\x1d\xa3\x18\x02\x78\x7b\x99\x1a\x5c\xeb\xb9\xb8\x08\xda\xe9\xec\x57\xd4\xf8\x91\x31\xb1\xca\x18\x74\x2e\x00\x1f\x3e\x38\xe4\xd6\x47\xe2\x0d\x50\x42\xa5\xd2\x2a\x04\x52\xa6\x98\xf4\x21\x03\xd5\xcc\xeb\xfb\x74\x52\x15\xc0\x35\xe9\xac\x62\x58\xae\x3a\xd7\x50\xfe\xba\x06\x8e\xa7\x59\x0a\xea\xe9\xec\xf5\x15\x94\x81\xb9\xc3\x1f\xef\x4e\xc8\x63\xa6\x97\x16\xf4\xdd\x99\x1a\x8f\x80\x0c\x05\xda\xe7\x32\xbd\x2c\xe5\x40\xd1\x47\x9d\x05\x52\x75\x8d\xbb\xbe\x4b\x70\x90\x55\x2c\x26\x66\x56\x1a\x29\x61\x3d\xf9\x90\x9d\x50\x0d\x0e\x28\xeb\xcb\x5b\x73\x0d\x06\x06\x8f\xd6\xc6\x58\x29\x85\xec\xf0\xcc\xba\xcc\xe0\x50\xa8\xbe\x35\xaa\x58\xe3\x80\xc4\x1c\xd1\xb9\x15\xd3\xba\xaa\x3a\xb5\xe2\x2a\x17\xee\xbf\xfc\xc0\xf4\x0e\xdd\x7a\x36\x81\xff\x58\x0b\x89\x72\x69\x80\x72\xde\x4c\xe0\xd4\xc1\xe2\xc1\xe0\xce\x0d\x9e\xe4\x5a\x0b\xc5\xb8\x42\x2b\x8c\xa2\x83\x22\x00\x11\x05\xb1\x2d\x67\x71\xe0\xe4\x09\x16\x02\x3f\x9f\x99\xec\x03\x95\x52\x0e\x80\xad\x8d\x35\xaa\x04\x30\xce\x75\xd9\xde\xe9\xf4\x56\x95\x3c\x0e\x25\x69\xd1\x00\xb0\xcd\xb2\xae\x01\x24\x63\x4e\xbd\x8e\x3a\xd4\xd8\x61\x9b\x45\x96\x23\x96\x0a\xf8\xd7\xdc\x54\x90\x44\x4a\x9c\x54\xe2\x22\x45\xa3\xae\x26\x45\xd2\x16\x8d\x4c\x35\x92\xd4\x70\x68\x54\x81\x50\x2f\x2b\x40\x22\xf1\x81\x72\x8c\x23\x05\xec\x0d\x0d\xd2\x39\xd5\xe8\xa8\x96\xd5\xac\xd4\xd5\x0c\x61\x90\x6a\xd4\x6f\xf5\x11\x88\x86\xf5\x8a\x00\x78\x74\x8c\x87\x48\xd5\x67\x5d\x67\xa8\x86\x23\xa9\xb2\xae\x24\xfa\x7d\x39\x73\xeb\x40\x3e\xbd\x16\x35\x6a\xcb\xc5\xda\xe5\x44\xed\x69\xfe\xa1\xf7\xb8\xf1\xe3\x0b\xab\xb9\x8b\x83\x46\x1c\x2c\xf6\x49\x1a\x60\xed\xce\x3f\xc4\x71\xe3\xd9\xdc\xbd\x67\xaa\xde\xa9\x55\x43\xc8\x18\xf1\x40\x5d\x4f\xbf\x98\x06\x7f\xa8\xd8\x6b\xc1\x7c\x3f\xaa\x4e\xd5\xc2\x4a\xa7\x83\xf8\x4a\xa6\xd4\xcd\x74\x3a\xb7\xaf\xd3\xf9\x1d\x95\x6e\x5f\xa3\xf3\x17\x85\xce\xcd\x34\xba\x61\x5f\xa3\xb3\x5a\x98\x4a\x67\xd5\x84\x4e\xe7\x66\x3a\xdd\x5d\x0a\xf1\x9d\xca\xbc\x2e\xda\xcd\xe4\xd1\x2e\x1b\xfc\x01\x64\xfd\x43\x22\x0f\x12\xa0\x1d\x5d\x06\x75\x9d\x94\x99\x8b\x2e\xe3\x76\x95\x19\xbf\xa3\xcb\xec\xaa\x32\x7e\xa6\xc9\xb8\x8b\x2a\x33\xec\xaa\x32\x56\x85\xae\xcb\xb8\x99\x32\x33\x35\xec\xae\xce\xba\x8b\x30\xe6\x9e\x59\xd6\x17\x26\x62\x33\xe6\xee\x54\x7c\x4d\x39\x87\xb3\xba\x3a\x70\x44\xb4\x45\xa5\xf5\x46\x02\xfd\x7b\x52\xbf\x81\xf4\x8d\xd4\x85\xba\x9e\x7d\x88\x09\xf1\x45\x7b\xbe\x02\x5c\xbf\xc4\xf4\xc0\x44\xba\x6d\x20\x55\xaa\x45\x8d\xcc\x16\x46\x12\x80\x3d\x72\xdb\xea\x9d\x7f\x96\x69\xd3\xab\x9f\xc8\x4b\x74\x54\x42\xfc\x0c\x93\x0d\x98\x82\xe2\xaf\xf3\x6e\x08\xd5\x84\x8b\x8a\xf1\x56\xeb\xd0\x48\x15\x57\x9d\x38\x3a\x63\xfe\x2c\x73\x27\xf8\x82\xe8\xa2\x7c\x28\xfa\x69\x23\x1f\xdb\xc3\x87\xc2\xd3\x8c\xbd\x93\xc1\xe5\xea\x02\x1f\x41\xf9\xb1\xc6\x81\xc0\x5c\xd5\xae\x98\xb4\x64\x55\x31\x0a\xb4\xfe\x23\xb1\x76\x44\xa3\x20\x4c\xa1\x9c\xf5\xfe\x49\xed\xc7\x36\xd9\x80\x39\xbb\x5e\xf9\x41\x05\xab\xaf\x00\xe6\xe3\x0a\x2a\x9e\xcd\x64\xb5\x65\x9c\xae\x2f\xe3\xdb\x53\x55\xa7\x5b\x01\xc8\xa0\x2f\x23\xf9\xa2\x6f\xda\x31\x91\x54\x99\xfd\xd3\xac\xa9\x40\x31\xab\xca\xd0\x76\xd1\x03\x17\x6c\x81\xa6\xd4\xed\xe0\x51\xf4\x99\xaa\xba\x8c\x5e\xe4\xe3\xdd\x15\x2a\x8c\x8b\x9a\x58\x3e\x71\x27\xcd\xf8\x13\x6c\x2c\xae\x86\xa9\x94\x80\xa2\x8e\xeb\xe3\xf3\xf4\xeb\xa3\xd9\xfb\x6c\x68\x17\x7e\x35\x33\xcf\x87\x7b\xbe\xf0\xd1\x51\x0d\xe6\x6a\xcd\x31\x3b\x0a\x88\xd9\x8b\x2a\xe4\x62\x79\xc2\xe0\x0e\x76\xf5\x3d\xc5\x7b\xe0\x7c\x72\x24\xe9\x6d\x2f\x2a\x04\x70\x79\x27\x27\x6b\x96\xa0\x9e\xe1\x09\x38\x57\x49\x2f\x71\x79\xbc\x16\x4f\x69\xfa\x6a\x83\xc0\x8b\x94\x8d\x74\x5a\x97\x78\xfe\xdf\x73\x7b\xe1\x7c\x34\x87\x6f\xa6\x08\xcd\x39\x0b\x80\x9b\x75\xc4\x42\x8a\xaf\x91\x72\x04\x2d\x58\x0c\xdd\x97\x16\x40\x3a\x12\x5a\x7e\x43\x27\x7c\xbc\xbb\xba\x8a\x7d\xbf\x78\x39\x65\xdf\xc7\xb9\xf9\x58\x6f\x96\x5d\xff\xa9\x3c\x66\x20\x7f\x7d\x34\x71\x9f\xed\x84\x6f\x0f\xb0\x64\x9d\xc1\x09\x8c\x67\x5c\x30\xa6\xab\xfc\xe7\xd9\x97\x4c\xe9\x69\xf9\xa5\x51\x82\xa4\x17\xd9\x3d\xce\x7c\x49\xb4\x2e\xed\x82\x27\x7d\x62\xf3\x34\xb7\x9c\x97\x88\xd1\xf6\xad\x4e\x83\x60\x27\xbb\x7d\xb4\x9b\x35\xe8\x2d\x58\x28\x9e\xcb\x38\xbc\xbc\x64\x51\xe7\xa1\xbc\xe1\x10\x65\x96\x96\x8d\x3f\xf5\x4d\xf3\x1b\xb5\xd2\xed\x39\x2f\x33\xb0\x75\x67\x11\x6b\xe3\x63\x23\xf5\xeb\x6f\x7f\x8a\x2b\x03\xab\xb7\xac\xbb\x7d\xa8\x3d\x81\xe3\x7a\x0f\xbe\xe5\xcd\x68\x71\x51\xab\x43\x5b\xb9\xf3\x1d\xfa\xa2\xbc\x59\x8a\x4b\xa5\x34\x18\x3c\xfd\xa2\x33\xb1\xe4\xf3\x6e\x1f\xaf\x3e\x75\xf6\xf7\x9b\xdb\xf9\xdc\x4d\x55\xf8\x7f\xc1\xc0\xbf\x0c\xeb\x1f\x6a\xe0\x03\xf3\x38\xfd\x82\x23\xdd\x34\x60\x11\xe9\x1f\xfa\xf1\x29\xdc\x38\xdd\x0a\x37\x0e\xb7\xc0\x0c\xfd\x8b\x85\x18\xe6\x81\x3d\xc5\x38\x68\x9b\x11\xf5\x02\xd6\xe8\x77\x2d\x27\xaa\x70\x0e\x6f\xe1\x14\xde\xdc\xc6\x52\xfd\x63\x22\x85\xef\xe8\xd8\x7f\xdd\x0b\x7e\x26\xc3\xf6\x1c\x15\x62\x76\x27\x0e\x8b\x57\x2e\xfa\xbb\x58\x2b\xb2\x4e\x97\x3c\x64\x6b\x91\x68\x8b\x86\x89\x19\x4e\x06\xff\xf1\xae\x1a\x4b\x7a\x9d\x33\xc3\xf8\xa1\xcd\x98\x62\x54\xb0\x5e\xd7\x40\xe7\xf6\x8e\x6e\xc4\x6b\x87\x0e\x70\x98\x97\x1a\x1e\xd2\xb0\xe4\xe3\x0b\xd2\x38\xb6\x70\xde\xc0\x19\x62\x02\x85\x4f\xbc\x16\xb1\x86\x67\x57\xb4\xe2\x13\x5c\x10\x4c\x91\x36\x70\xa1\xba\x0d\x54\x19\x26\xda\xd9\x75\xf1\x33\xda\x4b\x35\xcd\x22\x68\xca\xe4\xe3\x8b\x45\x92\xec\x9d\x74\xef\x24\x46\x2e\x46\xc8\x9e\xfc\xf8\x22\xba\xa6\x77\x80\x69\xf7\xf2\x3a\xdf\xb4\x63\x32\xa9\x28\x5b\x56\xff\x82\xb3\xb4\x57\xf7\x79\x20\xde\xb9\xee\xdb\x6e\x05\x92\x7a\xe0\x3d\x3e\xf6\x45\xd3\xd7\x3d\xef\x97\x3d\x67\x3d\x73\xe7\x32\xb8\x33\xb7\x62\x7f\x15\x30\x49\x59\x6b\xdb\x9b\x95\x50\xef\x5b\x08\x37\xe3\x90\xdf\x91\xb3\xf3\x6a\x81\x0d\xd3\x2a\xb0\xbf\xe5\xbc\x0a\xee\x60\xb1\xc0\x7e\x06\x60\xf4\xb2\xa3\x30\xf0\x5e\xd2\x25\xda\x08\xc1\xce\x0d\xa8\x15\x1b\x83\x75\xf0\x23\x35\x1f\xf5\xe7\xaa\x09\xd0\x7c\xd4\x4b\xd8\x5d\x0f\x42\xa9\xc0\xf5\x99\x78\x5d\x2d\x9f\xd9\x8a\xd8\xbe\x61\xb1\x22\xb4\x6c\xbc\xc5\x56\xc4\x92\xca\x12\x04\x3a\x6f\x9b\xc1\xba\xb2\x26\xea\xc7\x17\xeb\xa1\x0d\xb9\x50\x7f\x60\x4f\x93\xef\xbd\x14\x8d\xcf\x6b\xdd\x92\xf3\xe2\xb8\xda\x4f\x6e\x6a\xa4\xb5\x62\xdd\xc5\x8c\x1d\x40\xad\x53\x06\x67\xe4\xfe\xea\x90\xbd\x17\xcc\x70\xef\xc7\xf3\x30\xdc\xb7\x3a\x7e\xfb\xed\xd7\x5b\x94\x35\xb7\x35\xe0\x46\x55\x6a\xc7\x2d\xdb\xc1\x10\x93\x00\xbc\xb0\xcf\xe0\xc8\x0a\x95\x09\x82\xff\x16\x18\x59\x85\x07\x04\x5c\x8e\x09\x6c\x07\x2a\x44\xc4\x18\x0c\x11\xc9\x97\x8b\xfe\x4c\x25\xed\x17\xf4\x39\x80\xd9\xbc\x42\x37\xd1\xd7\x42\x4f\x8c\xb3\x26\xa1\x30\x14\x60\xad\xd3\x62\x58\x7f\x7a\x41\x8e\xce\x9a\xd3\xd1\x1b\x99\x1b\xd5\x84\x8d\x0f\x76\xb1\x94\x60\x88\x64\x63\x20\xad\x8f\x3c\xe1\x14\x7f\xb0\xab\xa9\xa4\xa8\x3b\x13\x33\x52\x16\x85\x38\x64\x6a\x05\x9c\xa3\x19\xe7\x99\x62\x91\x0d\x9e\xaf\xe2\xa7\x15\x1c\xf5\x0a\xa5\x28\x4f\x3a\xd5\xea\x60\xd7\xa9\x97\x93\x6a\x3f\x2d\x88\x31\xcd\x94\xe6\x28\x64\xbd\x3f\xfa\xec\xa8\xa5\x25\x7a\x1c\x6b\x0d\x9c\x5e\xb6\x65\xa5\xa9\xa9\x5a\x1a\x4a\x71\xbd\xc0\x96\xaa\x43\x81\x5a\x56\xd5\x9f\xae\xb7\x5e\x2f\x4c\x3a\xa5\x16\x2a\x66\xe5\xa0\x44\x14\x33\x55\x6b\x55\xd4\x6e\x49\xb5\xd7\x6a\xd0\xa2\xd0\x34\x2b\xac\x61\x46\x69\x61\x3e\x91\x0f\x8d\x7c\x2b\xe4\x6b\x9e\x0a\xfa\x78\x4f\x14\x8a\x8a\xa9\x58\xe3\x7a\x64\x10\xaa\x50\x5e\xd7\x9f\x3a\x0c\x8b\xd3\x11\xba\x39\x36\x98\x4e\x6a\x56\xad\x3f\x9f\x01\xd4\xa1\x00\xfd\x01\x6d\x8d\x0d\x7e\x3c\x7f\x78\xa4\xcc\xec\xfe\x7f\xf6\xde\x6e\xc7\x91\x1c\x47\x1b\x3e\xdf\xab\x88\x1b\x10\x57\xd4\xbf\x80\x17\x0b\x24\xea\xc4\x07\x59\x47\x0b\xe4\xb9\x37\xa7\x66\xdc\x78\x9d\x53\xf3\x75\xf7\x78\x77\xf3\xea\x3f\xf0\xa1\x22\x1c\xa1\x08\x3b\xa3\x9c\xdd\x83\x79\x31\x8d\x42\x46\xd9\x96\x42\xbf\x24\x45\x49\xe4\x43\x2a\x9e\x2a\x50\x5e\x4a\x4c\xf8\x24\x0d\x48\xbf\xc8\xe0\x3b\xdc\x07\x26\x34\x46\xdb\x75\x46\x5b\xcc\x0d\x6a\x99\x80\xf4\x3a\xcc\x3c\x34\x46\x51\xfb\xde\xdf\x9a\x50\xf2\xe4\xab\x36\xd0\x5e\x09\x57\xa3\x96\xe4\xb1\x7f\x08\x1b\x0c\x68\x42\xa5\x5a\x6d\x51\x4d\x51\x1a\xf4\x0c\xd8\xbd\x01\xf8\x7f\x68\x8a\x1f\xf4\x69\x77\x42\x07\x3e\xb4\x9d\x6c\x92\xef\x77\x03\xed\x7b\xc5\xaa\xe1\x22\x10\xb4\x1c\x55\xa7\xb1\x5b\x83\x09\x64\x3d\xe2\x86\x96\x8c\x88\xcc\xf9\xc9\x53\x2d\x40\x51\x2b\x3a\xf1\x41\xde\x1e\x64\x50\xc8\xc1\xc9\x32\xd9\x42\xa9\xb2\x42\x46\x21\x96\xe8\xf4\xee\xc7\xa0\x7f\x5a\x95\xbe\xf4\x25\x91\xaf\x4e\x03\x67\xc6\x21\x63\x08\x9b\xf3\xe4\x2b\x26\xc1\x6a\x6d\x06\x15\x2b\x42\x95\xd4\x7c\xbe\x57\x65\x51\x47\x19\xf9\xc1\x0f\xfa\x04\xb1\xa0\xa3\x06\x9d\x7e\x7f\x53\xb4\x41\xa1\x98\xfe\x7d\x0b\x40\x86\xd2\xbf\x6f\xcd\x7c\xb8\xe6\x7d\xfe\xd2\x9a\xdf\xfa\xe2\x66\xfd\x68\xc3\x66\xae\xe3\x66\x66\x03\x37\x2b\x63\xa4\x5e\x69\x96\x5b\xb5\xa8\x20\xc8\x55\xff\xab\x36\x45\x67\xf1\xde\xfc\x71\x19\xc2\x62\x34\xaf\x83\x79\x1d\x4b\xed\x90\xe2\x1c\x94\xb9\xd2\x87\x20\x85\x33\xa5\x8f\x4d\xbc\xe7\x1a\x7a\x87\xc2\xff\xfb\xf8\x37\x73\xfa\xfe\xf3\x4f\xef\xdf\xff\xfa\xeb\xf1\xce\xad\xe4\x62\x33\x58\xc8\x81\x70\x42\x5c\x47\xb9\x00\xb6\xfd\xb3\xe8\xef\x29\xc8\x4e\xff\xb0\x82\x79\xd1\x3d\x45\xa1\xa4\xd2\x89\x9d\xa8\x93\x35\xae\xa2\x5e\x4c\x31\x31\xcc\x2a\x5c\xc6\x35\x94\x06\xd2\xb0\x47\xf3\x69\x60\x0f\xc3\x8a\x6a\x56\xe5\xfd\x26\x01\x38\x5a\x25\x61\x6c\xfd\x4a\xfd\x3b\x20\xc7\x2e\x9d\xaa\x1b\xf7\x7d\xfe\x51\xae\x41\xba\xc5\x7e\xbb\x88\x30\xb2\x67\x47\x08\x6f\x19\x0f\x3d\x98\xca\xe4\x57\x02\x8f\x15\xcd\xd4\x29\x86\x5a\x82\x87\x31\xc1\x7a\xb0\x71\x4a\xaf\x49\xa2\xa0\x08\x23\x59\xa9\xce\xf4\x25\xa1\x31\xf2\xc2\x33\xb9\x20\xea\x90\xeb\xdb\xc1\x73\x2c\xfc\xf9\x20\x3b\xad\x67\x2c\x15\xcd\x5d\x8f\xb0\x54\xbe\x7b\x80\x2f\xdf\x7e\xfe\xf5\xa7\xd7\xbd\x64\x1d\x84\x9e\x45\x53\xf3\x7d\xd3\x80\x96\xe0\x9f\x0b\x1a\x9e\x7c\xba\xac\xa6\xbf\xc1\xd8\x49\xe2\x19\xc4\x07\xab\x9a\xfe\xce\xbc\x82\x0c\x61\x49\x14\x4d\x0f\x26\x87\x7a\xac\x26\xca\x12\xf6\xfe\x15\xfa\x91\x72\xd2\xcb\x2d\xb0\xa4\xc6\x46\xa8\xd3\xac\xea\x34\x53\xe3\xcf\x63\xb1\xab\xae\xd9\xf3\xcd\xe6\xa0\xb9\xcf\xb3\x66\xfc\xf8\xc8\xef\x23\x6c\x0a\x70\xc1\xe8\x86\x94\xc7\xc0\x95\x55\x16\x47\xbe\x2c\x29\x82\xdb\xa0\x0b\x45\x20\x8f\xe8\x3b\xcb\x64\xac\x25\x4e\x54\x07\x72\x7d\xe0\x2d\x96\xb1\x6e\x47\xdb\x11\x0e\xc7\x39\x0e\x79\xeb\x26\x41\xf9\x66\x6c\x45\x47\xed\xad\x8d\x63\x41\x7d\x07\x2c\x52\x96\x6e\x58\xfa\x1e\x9a\xa6\xc5\x4a\xc3\x5f\x56\x00\x48\x3f\xe2\xdf\xf3\xdf\x3f\xfd\xfa\x7a\xba\xeb\xe0\xd3\x7b\x6a\xf1\x17\xc6\xf1\xe4\x80\xc0\xd7\xf2\xc1\xb5\x43\xcf\x2f\x8c\xe8\xe1\xfa\x73\xd6\x6b\x9e\x7c\x92\x04\xfc\x9c\x87\x3c\xb4\x0f\x18\x1d\x9c\x76\x66\xcd\xad\xef\xe1\xf7\x81\xf5\xac\x53\x06\x16\xd5\xe9\x31\xea\x50\x35\x67\xbd\x56\x57\xf5\xb5\xaa\xd5\x69\x76\xad\x8f\x83\xd6\xc3\xb1\x95\x1c\x67\x55\xc2\xae\x25\x42\x1c\xa3\x52\xf5\x2b\x9c\x6a\x2d\xad\x93\xb9\xf5\xb2\xb5\x90\xf3\x54\xf1\xbd\xc3\xdd\x2f\xce\x69\xd5\xce\x6b\xd5\xce\xcf\xaa\x86\x45\x57\x4c\x83\x66\x62\x51\xcc\x67\x55\x63\xc0\xea\x97\xd6\x4d\x1e\x5a\xc7\xd1\xb1\x0f\xeb\x1d\xfb\x99\x87\xa9\xf3\x7e\x36\xca\x75\x1a\xe5\xaa\xa3\x5c\x17\xa3\x5c\x75\x94\xab\xfc\x6b\xd5\xef\xa9\xf5\xa3\xa3\xec\xd8\xfa\x10\xb4\x62\x1d\xe9\xba\x18\xe9\x7a\xdb\x4d\xe4\x73\x95\x3b\xaf\x95\xeb\x58\xd7\x36\xd6\x75\x3e\xd6\x9c\xbf\x8c\x73\x2b\x13\xdd\x86\xbb\xec\x1e\x6e\xe7\x65\xa2\xc7\x09\xe7\x39\x51\xe7\x2b\x55\xe7\x46\xd6\x79\x49\xd7\xb9\x11\x76\x1e\x6a\xcb\x5e\xf7\xd5\x7d\xbf\xdf\x77\x02\x7d\xcc\xe9\x3b\xff\x4e\xc3\xfe\x41\xf5\x3f\x22\x92\x76\x2d\x00\x10\x7a\x4f\x0b\x4d\x01\x97\x0b\x37\xbc\x60\xdc\xc2\x27\x1a\x28\x63\x2e\xbe\x74\x31\x0c\xf4\xc6\xf2\xd0\xe2\x22\xf6\x15\xa4\x8f\x2a\xd8\xb8\x80\xee\x6b\xc0\x55\xa8\x45\x70\x83\x11\xe0\xcd\x6e\x5e\x45\xff\x70\x2d\x37\xee\xb9\xa5\x1e\xf9\xb9\x37\xa0\xfc\xa8\x96\xe5\x60\x55\xcc\x72\xf7\x33\x46\x2b\xcd\x46\xeb\x47\xeb\xd8\xbe\xb0\xa7\xf5\x80\xa5\xc5\x80\xfd\x56\xd5\x7c\x30\x62\xbd\x2d\xe9\x6f\x5a\xcf\x6c\xd4\x7e\xd7\x7a\x16\x03\xf7\x0f\xa8\x69\x0f\x9b\xff\xef\x5f\xf7\x42\x79\xc8\xe6\x37\x3e\xe9\x95\xf6\x48\x73\xd2\x8d\x61\x76\xc4\x2d\x3b\xf5\x2f\xba\x9d\xce\xed\x89\xcd\xbb\x3b\x56\x9c\x14\xd5\xf1\xbc\x08\xd6\x03\x9e\x7c\x49\xbd\xd1\x03\x8f\x2e\xdc\xdb\x7e\x9c\x9b\x68\x1d\x8e\xb2\xe7\xa7\x42\xa1\x0c\x78\xb4\x03\x29\x5d\x62\x54\x6c\xca\x73\x01\x83\xe9\xf4\x8c\x30\x52\x74\xde\x04\x34\x55\x4a\x13\xf5\x6e\xd5\x58\x93\xb1\x79\xf2\x25\x5d\x9c\x6c\x11\xd6\x37\x45\x97\xbe\x61\x53\x60\xa9\x2d\x94\x84\x48\x91\xeb\x62\x28\x35\xf2\xf0\xd6\xf5\xdf\xee\x59\xdc\x0b\x2e\x46\xf1\x69\x1e\x21\x02\x67\x49\xc3\xa2\x89\xa5\x1d\x7b\x59\x66\xd9\x35\x46\x2a\x7c\x31\x54\xc3\x7a\x96\x56\x1e\xed\x98\xa3\xd5\xe5\x50\x3c\x31\x85\x80\x13\x18\x68\x8b\xb9\x5e\x4f\x60\xb0\x4d\x12\x95\xb1\x9b\x20\x4e\xb3\x76\x18\x04\xfa\x45\x43\xba\x76\x8c\xc3\xef\xb7\x06\x7f\xcb\x07\x9f\x10\x44\x63\xd6\x7f\x3d\x98\xfa\xc4\xc0\x1f\xcf\xdf\xee\xdd\xae\xfc\xc1\x44\xff\x24\x4c\x34\x9f\x85\x1e\x21\x59\x84\x69\x3f\x5a\xd7\x36\x75\xf6\x10\xf9\x1d\x56\x36\x3d\xa6\xdc\x26\xe6\xea\x7e\x02\xfa\x83\x7f\x7f\x07\xfe\xbd\x22\x80\x5e\xd1\xed\x56\xa8\x81\x0a\x8a\x57\x3a\x08\x33\x5c\xb1\x6f\x58\x30\x60\xdc\x36\x61\x8d\xf7\xaa\xd6\x32\xe7\x3f\x7f\xbb\x7c\xfb\xf9\x97\xfd\x08\xbf\x52\xe3\x8c\xd6\xb9\x7d\xee\x1b\xf1\x6a\xcd\x8c\x19\x0d\x98\xd1\xac\x99\xd1\x9a\x9b\xa2\xe3\x8a\xa1\x72\x23\x30\xfa\x16\xc2\xd5\xc8\x8b\x33\xd9\xc1\x93\xec\x80\xb6\xd3\x89\x0e\x3b\x97\x1c\xc3\x28\x39\x86\x4d\xc9\x61\x6f\x0b\x0e\xbb\x29\x37\x66\x6a\x50\xdf\xda\x61\x2e\xe9\xae\xa3\xe9\x7b\xc1\xf1\x63\xc7\x37\xf3\x09\x7d\x8c\x8d\x59\xc9\x78\x98\x77\x4d\x91\x13\x55\x10\xeb\x5d\x01\xd7\x9e\x8f\x27\x82\xdc\x06\x8d\xda\x3a\xe1\x6e\x41\xa4\x66\x8c\xcc\x8d\x91\x71\x82\xd6\xcd\xd3\x4c\x9a\xd8\x5b\x4c\x6c\x37\x78\x78\x36\x07\x1b\x10\x49\x4d\x9c\xcc\xba\xdf\x31\xf1\x0f\x8d\xff\xaf\xc7\xff\x3a\xef\xc5\xc6\xd4\x6b\xdc\xcf\x82\x65\x6b\xa0\xfd\x15\xca\x24\x96\x91\x0d\x2c\x1b\x45\x99\xe4\x1b\x28\x93\x38\x0b\x78\x89\xb7\x50\x26\xfd\x0c\x65\x32\x3e\x8e\x32\xe9\x3e\x81\x32\x19\x3f\x81\x32\xd9\x26\x67\x2f\x5b\xdc\x85\x20\xdd\x83\x93\xed\xb6\xb0\x20\xec\x2d\x2c\x08\xd7\xb0\x20\x6e\x60\x36\xde\x04\x83\xd0\xc3\xca\x19\x66\xe3\xcd\xf0\xf8\xdb\x98\x8d\xdb\xa1\x26\x6e\x42\x36\x7e\x2a\xd4\xc4\xaf\xc7\xbf\xec\xe3\x8d\x34\xc1\xe4\xf6\x80\x9d\x88\xdf\x75\x48\x9f\x8b\xd6\x92\x28\x38\x98\x65\x64\x57\xc9\x01\x59\xdb\x15\x2a\x56\x68\xb0\x86\x70\x2e\xb8\x23\x5d\xf2\x4d\xa9\x83\x3d\x27\xc4\xb7\xc2\xb3\xcb\x60\x8d\x64\x39\x9b\x62\x4a\xcf\x8c\x0c\x6b\x9f\xdd\x11\x5d\xb4\x71\xe4\x01\x9d\x4c\x29\xe0\xce\x98\x4a\xf1\xe4\x53\x42\xd3\xae\x67\x70\xa3\x36\x92\x13\xfc\xd8\x02\x7c\x6f\xa5\x71\xcb\x2c\x86\xd5\x58\x05\xcd\xeb\xd3\xa4\x58\x23\xe5\x7f\x2a\xe2\x8b\x4c\xed\x4e\xfc\xd6\xd0\x4d\xad\x4d\x8b\xb9\xdd\x13\x97\xfc\xce\xbd\x43\x24\x17\x92\xcc\x6d\xac\x89\x9c\x07\xec\x48\xaa\x94\x22\xee\x0b\xea\x39\x92\x2f\x7e\x90\x67\x38\xf6\x68\x2c\x5c\x9c\x5e\x62\x85\x64\xf0\xec\x72\x58\xb8\x37\xb9\xe7\x4a\x16\xb7\xf1\x29\x75\xdc\x98\x29\xd4\x34\x72\x23\x8c\xb3\x93\xfc\xf2\xe2\x48\xd4\x95\xda\xa1\x33\x44\x4f\xce\xcd\x1a\xb4\x61\xfc\xfa\x5c\x89\x15\x9e\x2e\xf0\xda\x12\xd2\x3e\x03\x74\xb4\x90\x75\x1d\x00\x88\x73\x86\xe2\x1d\x4b\x95\x8f\x26\xf3\xe7\xbf\xdc\x5d\xc6\x1e\x05\x79\xf3\x83\x6f\x12\x35\x0d\xfa\x59\x06\x55\x8d\x7b\xe2\xe0\x8f\x30\x04\x6a\x86\x09\xc8\x39\x7d\xb7\x6c\xfc\x0a\xe2\x4d\x34\xa5\x3c\x68\x88\x74\xc0\x7d\xeb\x17\x19\x9e\x30\xd8\xf7\xb7\x2c\x2a\xe8\x0e\xc4\xde\xe5\x9e\x4c\x36\xbd\xa3\xbb\xc2\xd5\x69\x61\xe0\x5f\x98\x87\x99\xe7\xc2\x22\x08\x2a\xf3\x7f\xe2\xa6\x60\x74\x5c\x78\x7f\x63\xc4\x02\x9d\xbb\x2d\x48\xe5\x75\xee\xb6\x20\x95\xd7\x7d\x6a\x05\xe6\xe3\x37\xc6\x6c\x4b\x47\x37\xb8\xd6\xb0\x30\xe8\x67\x69\x53\x78\x7f\x33\xa2\xe4\x1d\x29\x8e\x6e\x01\x22\x89\xe2\xe4\x12\xb0\xc2\x63\x1b\xca\x08\xdf\x27\x1b\x18\xfb\xd4\xe0\xfb\xd8\x0f\xe5\xfd\x4d\xef\x2c\x67\xe0\x7d\x56\xe6\x69\x06\xde\x27\x7b\x80\x65\x81\x57\x55\x8f\x65\xf7\x66\x47\x7b\x27\xd9\x51\xbe\xbf\xa9\x57\xd7\xcc\x6d\x41\x06\xd6\xcf\xdd\x16\x64\x60\x77\x19\xa4\xfe\xfa\xed\xe7\xb7\x9f\xfe\xba\xff\x5a\x1f\x3b\x04\xce\x1d\x30\x83\xb0\x3c\x71\x74\xcf\x6c\xc9\xc2\xec\x58\x16\xe1\x3c\x70\xa2\x94\x17\x76\xb3\x53\xd6\x73\x86\xc3\xd3\x86\x7d\x44\x74\x67\x33\x26\x8e\xa1\x8a\x96\xfe\xd4\xa3\xd5\xcb\x96\xd1\x70\xd9\xb7\xf1\x9b\xfa\xbd\x4b\x64\x7b\xe9\xb7\xbf\xd3\xef\x84\x6e\x67\xc5\xc8\xc3\xcd\xeb\xcd\x7e\x07\xec\xa0\xd6\xae\x8b\xe8\xf7\x98\x38\x86\xe4\x59\x99\x7c\xdc\x83\x34\xfd\x91\x6e\xff\xf2\xfa\xf3\xb7\x6f\x3b\x1d\x56\x92\x74\x5c\x76\x23\xb9\x33\xa1\x8e\xc9\xc0\xe0\x6d\x44\x7d\xec\xa5\xf7\xd8\xa5\x2e\x91\x59\x46\xae\x75\xd9\x53\xb1\x15\x26\xbc\x41\x14\x08\x36\xfd\x30\xb3\xd4\x21\x9a\x81\x8d\x69\x22\x87\x0d\x6c\xd3\xfb\xe3\xf2\x01\x5e\xdd\x06\x84\x9f\x6e\x14\x36\xf6\x09\x0c\x1e\xd8\xc6\x04\xd4\x6d\x82\x73\x87\x35\x52\xa6\xc8\xc8\x19\x26\xa0\x6e\x5b\x1e\xc7\x04\x4c\x8f\x63\x02\x7e\x06\xa8\xbe\x27\xa0\x9d\xec\x53\x5d\x18\x22\xd9\xde\x3f\x65\x24\x20\xdf\x47\xf6\x9a\xa8\xa7\x4b\x99\x93\xce\x73\x22\xef\x44\x2e\x06\xb2\x40\x63\xcb\xa9\x27\x9b\x34\x92\x8d\x5e\xf1\xda\xad\x13\x88\xf5\xc6\x7c\xe1\x44\x76\x8b\x66\xec\x16\xc6\xa1\xaa\x65\x1b\x3b\x18\x11\xe2\xb7\x40\x0e\x75\xff\xa2\x1b\x8e\x2e\xcd\x7e\x1a\xe4\xb0\xdb\xf3\x7c\x88\x72\x78\xf8\x0c\x20\xfd\xaf\xdf\x7e\xd9\xb9\xf5\x5f\xb9\x34\x5a\xae\x54\x73\x32\x95\x42\x29\x73\xb9\x69\x33\x82\xfc\x54\xf8\x3b\x24\xd8\xc1\xa5\x30\x1e\x88\xef\xf2\xae\x3c\xea\x07\xbd\x34\x2d\xb5\x9a\x44\x5c\xf3\x0b\x27\x2a\xaf\xea\xc7\xcf\xa9\x10\xc7\x62\x30\x74\xce\x1b\x8a\x36\x75\x07\x3b\x1e\xa1\x5f\x8a\x5f\x85\x59\xe7\x29\xdc\xf9\x48\x02\xea\x01\xc6\x91\x72\xf5\xb2\x33\x59\x9a\x39\x51\x0c\xea\xa4\x9d\x5f\xc9\xd5\x44\x2c\x9c\x5c\xa0\xb3\x53\x49\x69\xe9\xaf\x6f\x29\x95\x04\x8c\x2f\x45\x4c\x2f\xed\x39\x5a\x95\xd9\x6a\x28\x44\x0d\x8f\x17\x70\x44\xca\xb6\xb7\xaa\xc2\x9e\xce\x66\x7e\x25\x07\x04\xf6\x40\x21\x44\x0a\xb1\x50\x8a\x94\x6d\x8f\x85\x14\x8a\x70\x58\x7a\x35\xe4\x7c\x32\x04\x34\xab\x92\x0c\x45\x21\x0f\x49\x2c\x36\xe3\x12\xa2\x26\x84\x5c\x9a\x6b\xf4\xa8\xcf\x67\xa6\x64\xeb\x2b\xb1\x27\x57\x1d\xb9\x10\x29\x56\xf2\x21\x53\xa9\x1d\x92\x4b\x10\x2d\x3d\x64\xa9\x8d\x19\x6e\xfa\x55\xdd\x69\x45\x70\xf9\x3a\x06\x84\xfd\xea\x1c\xd5\x00\x33\xea\xba\xf2\xb1\x22\xeb\xf3\xab\x0c\x05\x79\x80\x22\x53\xf2\xc1\x90\x75\x61\x61\x4e\x89\xda\x6a\x24\xe6\xfa\x4a\xd6\x1b\xf2\x99\xac\xaf\x86\xb2\xaf\x6a\x94\xca\xb6\xd3\xc1\x38\x53\x06\x1c\xd3\xca\xe9\xcf\x26\x68\x28\x43\x1f\x49\xab\x39\x6e\x99\x25\x5a\xf6\x1c\x80\x84\x42\x1e\xf0\x48\x54\xb3\x49\xcb\xee\x8c\x1e\x7b\x7b\x39\x6d\xa7\x3d\x60\x1f\xd0\x3e\x51\x0e\xc1\x60\x5b\xb6\x60\xb4\x08\xdb\xf1\x5a\x87\xd1\xd0\x5e\x46\x28\xc9\xa0\x73\xf5\x1d\x37\x88\xb0\x48\x43\xa2\xec\x5c\x7b\x8e\xbb\x2e\x0a\xd1\xaf\x8f\x13\x75\xe1\x16\xbe\x5c\x92\x0b\x65\xd8\x26\x7b\x97\x5e\x89\x43\x10\x19\x4e\xae\x04\xe2\x98\x65\x17\x4f\x2e\x2c\x28\x86\x00\x22\x22\x74\x57\x15\x65\xaa\x8e\xd2\x2b\xb2\x50\x4e\xad\x88\x9f\x93\x33\x82\xe5\x85\x3e\x3e\xb1\xcb\x94\xab\xcc\x7f\xc9\xc4\x3e\x83\xef\x5d\xce\xe4\x42\x58\x39\x3f\x7a\x97\xa4\x75\x2c\x7b\xcb\xa0\x0f\xad\x49\xc4\x03\x17\x30\xb8\x36\x62\x83\x22\x61\xe9\x14\x8b\x6f\x4f\xec\x75\xad\x95\xb1\x99\x75\x1e\x39\x43\x1e\x20\x7b\xda\x53\xab\xb0\x56\x84\x4d\x74\x1d\x3d\xb2\x86\x74\xd8\xa6\xc7\xe6\xbc\xbb\x49\x8f\xce\xac\x1c\x43\x27\xbf\x51\x78\x49\x00\xd2\x06\x88\x9a\x8f\xd2\xe3\xe9\xef\x6f\xff\xf5\x8b\xf9\xfb\xc3\x90\x1e\x2c\x1a\xb6\xa3\xc8\xe9\x39\x93\x3a\x7f\xd9\xfa\xe2\x70\x40\x6d\xa9\x76\x67\x36\x56\xb2\xe7\xe6\x9f\xc7\x14\x82\xc3\xc1\x60\x97\xa7\x52\x55\x93\xb7\x03\x00\x9e\x97\xf0\x00\xb2\xbd\xce\x2d\xc4\xa5\x8b\x47\x47\x16\x0b\xaf\x75\xd3\x3c\xe6\x6c\x1c\x59\x7e\xff\x9a\x20\xe5\x2f\x86\xed\xea\x70\x76\xa9\xb1\xe5\xdb\x0a\xdb\x21\xbd\x7f\x4d\xe4\x92\xc8\xf1\xb3\xa7\xcc\xa6\x88\xb4\x7b\x62\xb2\x35\x0f\xfa\xb4\x0a\x45\x52\xb1\x83\xf6\xd2\xac\xf6\x9c\x2e\x25\xd0\xd6\x97\x31\xe4\x09\xfb\x42\x0c\x9d\xa3\x41\x13\x44\xe2\xec\x8f\x9d\x46\x4a\x19\xee\x76\xc9\xc3\xcf\x37\x60\x40\x7a\xcd\x14\x17\x45\xce\x6f\x6b\xad\xd0\x69\x2f\x26\xaf\x5e\x6b\x21\x53\x4e\x32\x6d\x0f\xf9\x04\x5d\xa9\xe6\x31\xaf\xa0\x4c\x11\xdb\xaa\xc8\xc0\x6e\x8a\x09\x87\xf2\x55\x03\xe8\x66\x59\x11\x97\xaa\x4f\x60\x43\xc9\xe7\x33\xd5\x2a\x02\x30\xf6\x1a\x90\xa4\x97\xe4\x0e\x95\xb2\x2f\x77\xce\xe0\x1d\x45\xd5\xaf\xa3\x2c\x24\x05\x3e\x67\xce\x50\xa9\xae\x79\xdf\x7a\x8a\xcd\xbb\xe1\x25\xcb\xaa\xde\x1f\x26\xcf\xec\xa1\xd9\x87\x6d\xc5\x8d\x5c\xc9\x52\x52\x19\x12\xf9\x94\x44\xdb\x15\x65\x22\x09\x95\xc3\xf7\x54\x9e\x6a\x79\x10\xd8\x0d\xf6\x88\x56\x0d\xfa\x6c\x9a\x48\x4e\xfa\xfd\xe2\xc8\xe7\x74\xf2\x70\xa1\x5d\xa9\xac\x1a\xe5\xbe\x94\xb3\x91\x81\x11\x99\x15\xea\x1a\x89\x3b\x8a\x1a\x95\x6e\x68\xa9\xc0\x90\x2f\x80\x10\x5a\x6b\xc4\x40\xc8\x39\x78\x2a\x9f\xa0\x91\x3f\x7d\xff\xef\x3b\xbb\xd5\x8f\x70\x63\x32\x8c\x51\x03\x20\x98\xb2\x17\xd6\xab\x5e\x66\xf1\x10\x29\xba\x4e\xb4\x20\xa4\x36\x58\x32\x39\x65\x19\x37\xac\x85\x4b\xd0\xd0\x94\x81\xe2\x41\x36\x75\xaf\xa2\x33\xa9\x0f\x67\x5c\x22\x97\x5c\x3c\x39\x17\xe1\x47\x6a\xbd\xb4\xc4\x0d\x4c\x45\x73\x20\xc2\x25\xbf\x7f\x65\x40\xe2\x5e\xc0\x4a\xee\x9e\x39\x69\xbe\x63\x4e\x7a\xc0\xa2\x94\x29\x4b\xe3\xe1\x0d\x94\x65\xf1\xf2\xa1\x1e\x7b\x21\x63\x74\x35\x4a\x91\x9f\x7a\x31\x23\x6a\xac\x2a\x93\xa2\x20\xbb\x39\xd2\x89\x1d\x91\x4e\x0e\xe8\x7c\x27\x67\x34\x7c\x8b\x0a\x1a\xc8\x19\xb3\x96\x33\x32\xda\xb2\x3d\x0a\x94\xfd\x7a\x4f\x0d\xe3\xec\xb5\x94\x69\xf1\xdd\x02\xec\xe8\x3e\x25\x67\x40\x43\x0f\xfa\x1f\x52\xb0\x01\x56\xdb\x0a\x24\x9a\x4c\x93\x34\xb8\xc6\xed\xa0\x0c\x21\x49\x20\x68\x0c\x54\x84\x5e\xd2\x50\x0e\x4e\xe4\xcc\x09\x70\xbd\x37\xaf\x09\x1d\x25\xa7\xe7\xf8\x5e\x84\x8c\x86\x45\xad\x08\x31\xaa\x0e\xfe\x01\xee\xb4\xf1\x92\x44\xe5\x85\xc0\x48\x5b\x36\xb0\x5b\xb2\x47\x6f\x83\x9b\x8c\x11\x26\x1d\xaa\x14\x02\x29\x8a\xf3\xe1\x14\x57\x72\xa6\x88\x8c\x18\xc0\xe1\x4b\x41\x63\x20\x69\x8c\x4a\x1a\x03\x51\x73\x70\xa2\x6d\x77\x72\x42\x34\xb7\x42\x21\x89\xfc\x45\xa8\xfa\x95\x98\xf1\x80\x72\xb4\x07\x6e\x0b\x51\xb7\x83\x6e\xd7\x1b\xec\xbb\x8b\x0b\x36\x57\xdc\x2c\xe9\xcc\x43\x34\xf2\xfd\x2f\x7f\x39\x7f\x33\xe7\x6f\x7f\xfe\x8d\x8f\xfd\xcb\x15\x83\xc2\xda\xa1\x8c\x18\x14\xd6\x9a\x02\xc0\xe3\x38\x84\x1d\xee\x88\x4b\x4c\x9b\xd8\x0e\xfd\x71\x86\x11\x4e\x65\xbc\x03\x10\xe9\x15\x0e\x52\x6e\x94\xed\xc9\xd3\xec\x9c\x9f\x65\x1d\x89\xa7\x32\xbf\x0c\x10\xc9\xcd\x87\xb2\xc8\xd6\xf6\xaf\x7b\x74\xbe\xd9\x88\xed\x3b\x06\x1a\xca\x78\xe0\x8e\xbb\x8a\x76\xe0\xce\x26\x0c\x3b\x62\x7e\xc6\xc1\x1f\xa7\xa8\x38\xa2\x76\xa4\xe3\x3c\x48\xce\xa1\x5d\xfe\x96\xa7\x79\x54\x1c\xa8\x4c\xa7\xb4\x88\x9c\x63\x87\x7c\x88\x8b\x5c\xba\x45\x79\xf4\xd0\x43\x87\xe1\x67\x7c\xf9\x6d\x2f\x8c\xd2\x0c\xbe\x64\x46\x3a\x0c\xd2\x59\x51\x8e\x35\x1d\xe9\xd8\x15\xe5\x70\x9a\x48\x07\x93\x1f\x0e\xe5\x69\xfc\x5a\x86\x78\x2a\xef\x6f\x2b\xc2\xb1\x8c\xcd\xcc\xa1\xac\xae\x91\x16\xc4\x64\x6d\x84\x7d\xdb\xbe\x63\xe8\xf9\x98\xed\xdb\xc6\xce\x88\xc7\x9a\x19\xf5\xd8\x5d\xc4\xc3\x7c\xa5\x1e\x18\x36\x1d\xe2\x74\x47\x13\x07\x7f\x4a\xef\x6f\x30\xa8\x99\x93\x85\xc5\x6d\x57\x3c\xac\xae\x6e\x4e\x69\x99\x2d\x7c\x8e\x7c\xfe\xef\xdd\x73\xf8\xc7\x00\xd6\x92\xc3\x46\xb1\x3c\x23\x36\xf4\x20\xbf\x74\x18\x79\x08\x9e\x19\x80\x0f\xab\xa8\xe8\xd1\xf7\xc8\x76\x48\x87\xdb\x9d\x62\xa0\xaf\x73\x58\xa3\x65\x98\xdb\x59\x4c\x2b\x05\xdb\x9f\x92\x87\x4a\xc5\x85\x59\x91\x0b\xd0\x3a\xf2\x31\xb4\x0a\xb5\x49\x8b\x54\x3b\x90\x8f\x5e\x2b\xdb\x48\x36\xed\x6d\x73\xa3\x70\xd9\xbb\x47\xbf\xba\xea\xb4\xc7\x3a\xa8\xe9\x15\x67\xb2\xc1\x9b\x20\xcf\x27\xfd\x91\x65\x97\x1f\x33\x2e\x36\x65\xeb\x34\xe6\x1c\xd8\xbe\xbf\x55\x84\x52\x6f\x07\x41\x13\x06\xf6\x70\xfd\x01\x92\x29\xbe\xbf\xd5\xa1\x29\x6e\xb1\x06\x43\x36\x16\xc3\xb8\xef\x40\xb8\x65\xa6\xec\xd3\xd3\xac\x14\xb8\x84\x07\xa9\xb2\xf8\xa9\x4a\xcb\x75\xe0\x7d\x5b\x71\x10\xd4\x6f\x7a\x53\x1a\x29\x57\x8d\x65\x5d\x9e\xe5\x89\x7d\x56\xf5\x33\x2b\x06\x44\x1a\x39\xeb\x54\xe3\x39\xa5\x01\xa8\x77\xb0\xcf\x95\x52\x19\x32\x39\x3b\x0b\x44\x6b\xf0\xda\x73\x86\x8a\x81\xe2\xa7\x34\xd3\xde\x7b\x7f\xa3\x6c\x01\x6e\x11\x9f\x45\x6d\x64\x91\x45\x67\x46\x9c\x03\xd8\x74\x3c\x17\xe0\x50\xeb\x89\x53\xa8\x38\xb0\x4b\xa5\xbf\x4d\x5d\xde\x97\x62\x3f\xe3\x03\xa2\x00\x84\x38\xcc\xf1\xdf\x8c\x02\x3f\xe0\xb9\x38\xc6\x42\x19\xef\x6f\x49\x84\xdc\xbd\x50\x6d\x92\x1f\x73\xed\x70\x05\xc1\x86\x70\x1a\x99\x65\xf2\xf3\x74\x49\x6c\x32\xd9\x3c\xc8\x63\x69\x40\x8b\x13\xa3\x7d\xb3\xfc\xfd\xfc\xcb\x83\x1b\xa2\x3c\xa4\x8d\x98\x40\x5c\xf5\xc2\x6b\x23\xd0\x55\xc6\x7d\xd7\x4b\x3a\xa9\x61\x4e\x76\xaa\xb0\x06\x57\xd4\x76\xa8\x86\x40\xc5\xc6\xb3\xa3\x02\x00\x82\xe2\xea\x5a\xbd\x97\x55\x36\x97\x4b\xa6\x94\xdd\x8f\xdf\x9a\xc9\xde\x27\x65\xe0\xdb\xa8\xc9\x92\x99\x4c\x96\x8c\x9a\x2c\xa1\x5a\xb3\x55\x79\x02\x14\x56\x3a\xe4\xf7\x37\x26\xdd\x2c\xdd\xb4\x3d\x0a\xb7\xed\xf6\x5e\xd2\xc9\xe4\x76\x7b\xa7\x45\x66\x5c\xdf\xc1\x4e\xc9\x8c\x76\x4a\x66\x32\x54\x32\xb3\xe1\xe8\xf7\x98\x92\x01\x16\x47\xec\x0f\xf5\x62\xee\x59\x43\xf9\x3b\x2d\x62\x7f\x4a\x38\x99\x52\x73\x2e\xb4\xc5\x68\x2b\x52\xa8\x57\xc3\xa6\xd6\x16\xb3\xdd\x96\x52\x3c\xb2\x1e\xd0\xab\xf7\xaf\x1c\x07\x96\xdd\x82\x9e\xa3\x48\x05\xa1\x9d\x38\x3d\x64\xb1\xa8\x9b\xe4\x8b\x0e\xfb\x03\x5e\x94\xef\x6f\xed\x5a\xdc\xc5\x8b\x3f\xf9\x8b\x51\x94\xc7\x47\x54\x7c\xe1\x99\xc7\x36\x80\x71\xf0\x98\xa6\x6e\x53\x92\xd5\x6d\x71\xe3\xbe\x4f\x8d\xb1\x5e\xfc\x89\x72\xed\x76\x2b\xb8\x1f\xa1\x94\xcb\x99\xa9\xca\xae\xc6\xda\xfc\x4a\x81\x65\x16\x29\x05\xa6\x5a\xa2\xfc\x2f\x9b\xbb\xec\x2f\x91\x42\x75\x3f\x7e\x69\xf8\x22\x6d\x2b\x58\x75\x4a\x21\xe7\xf5\xd2\x94\x80\x0b\x15\xb3\x47\xdd\xb2\x71\xb2\x36\x77\x05\x04\x72\xa2\x2f\x1d\xa2\xf2\xcb\x8d\x20\xa9\x9b\xc6\x94\x2f\x32\x37\x97\x16\x81\x94\x52\x06\xca\x90\xeb\x8d\xbe\xb2\x21\xe7\xd2\x29\x0b\xb9\xf5\x49\x92\x72\x1d\x97\x65\xb2\x13\x52\x72\xe1\xa5\x9c\x4c\x00\xb0\xef\x1d\xdf\x5a\x77\xe7\x6a\x7d\x2c\x20\x2f\x01\x13\xc9\xb1\x37\x52\xc1\x6c\x6c\x8a\x22\xc6\x54\x8a\xf2\x8a\x6f\x34\xbc\xf7\x9a\xf5\xa5\xbd\x37\x91\xfe\x06\xfb\xac\x9a\xda\xb1\x0f\xae\x7e\x15\x9e\xa1\x9c\xdc\x85\x29\x1e\xf2\x63\xd4\x7f\xe7\x70\x7e\x79\x5b\xdf\xc3\x2f\x70\xc3\x0b\xd9\x8a\x3e\x4b\x88\x6f\x58\x01\x99\x9e\x7b\x90\x8e\x24\x4b\xdf\x33\x63\x3d\x65\xf7\x02\xd7\xa5\x95\xb1\x3a\xce\x0d\xdd\x39\xc8\x9c\x47\xe2\x39\x10\x1f\x6b\x84\x21\x26\x1b\xce\xb0\x07\xea\xe1\xac\x81\xc4\x2e\x3a\x5f\x52\x53\xc3\xe5\x24\xd8\x76\x58\xb2\x6b\x3d\xbd\x73\x08\xdd\xdf\x5c\xf7\xc6\x0a\x18\x1d\xde\xf0\x90\x71\xea\x74\x51\x0b\x40\x6b\xfb\xfb\x48\x0c\x8f\x7f\xce\x43\x02\x10\x4a\xde\x06\x42\x49\xbf\x25\x10\xca\x72\x78\xfc\xfe\xe1\xf9\xf9\xf8\xcb\x69\x1f\xf9\x40\x8d\xa8\x1b\x76\xd6\x7d\x30\xb9\xe6\xa9\x50\x96\x3e\x5d\xfa\x3a\x16\xa1\x9b\xd1\xa2\xb7\x1c\x7e\xca\x1e\x43\x9f\x3c\x6c\xc5\xb0\xd5\x3a\x79\x5b\xf3\xc1\xc9\xb6\xe8\x05\x6e\xc3\xef\xcd\xd9\x0b\x6f\xe9\x2c\x58\x16\x9c\x3f\xa4\x8d\x50\xa3\x2d\x94\x6e\x02\x79\xac\xc1\x6c\xe3\xa7\xd5\x94\x28\x6a\x0a\x6c\x7c\xde\x60\x3e\x93\xa3\x36\xf2\xb6\x2d\x91\xbd\x67\x4b\x94\x00\xc5\xf9\xb8\x25\x2d\x28\x67\x17\x6b\x29\x0f\x6f\x50\x4e\xdc\xa6\x9c\xb8\xa4\x1c\x7d\x1d\x68\x12\x22\x0a\x36\x69\x27\x6e\xd2\xce\x2e\x23\xb1\xb0\xad\x01\x24\xd5\x00\xfc\x46\xf0\xd2\x51\x03\xe8\x3d\x09\x1a\xe4\x69\xb8\xd4\xf5\xe2\x3d\xda\xb7\x9d\xda\x7d\xdb\xe2\x2e\xa5\xdd\xb3\x88\x56\x66\xfa\x32\x41\x3a\xe1\xee\x8a\xed\x6f\xad\xd8\x51\x57\xec\x37\xa3\x4d\x46\xbb\x36\x97\xb9\xbc\xbd\xca\xa1\x41\x0f\x47\x2c\xf9\xf5\xe7\x6f\x7f\xfd\xd3\x9e\x0b\x1e\x35\x67\x70\x7a\x07\x3e\x77\x8c\x22\x58\x21\xb8\x72\x5e\x1b\x65\xe0\xe2\x3d\x92\x8d\xcf\x32\x76\x22\x52\xd2\x39\x13\xcc\x19\x73\x38\x99\xb0\x84\xa2\x1e\xc3\xa4\xdf\xb0\x99\x5a\x2f\x3e\x63\x84\xf3\xb3\x29\xe4\x9c\xe9\x8c\x45\xd4\x46\x27\xca\x96\xff\xb9\x90\x17\xbd\xcc\x69\x5c\x50\x74\xe1\xa3\xe0\x43\xb3\x81\xf9\x38\x54\x13\x4a\xf5\x1b\x03\x13\x34\x62\xd5\x5a\xfc\x97\x1a\x88\x5d\x3a\x7b\xaa\x40\xbd\x94\x11\x82\xb9\x47\x3c\xf0\x2a\xb6\x06\xc6\xa5\x2f\x61\x1c\x97\xf5\xaa\x03\x08\x70\x0a\x05\x10\x71\x9c\x93\x09\x54\x33\x77\xc6\xb3\xbe\x18\x62\xc0\x51\x7a\xd9\x4b\x79\x18\x8b\xb2\xfc\xed\x1b\x99\x0f\xad\x0d\xb0\x5e\x07\x0c\xfb\x86\x00\x79\xc9\x14\x93\x4e\xdc\xca\xca\xc7\x4c\x64\x83\x79\x63\x21\x1b\xd9\xb3\x3b\xd9\xb3\xaf\x01\xca\xd5\x9a\x22\x53\x34\x9d\x49\xd0\x34\xff\xa2\xde\xc0\x40\x0b\xdb\xfe\x1c\xcc\x26\xfd\x35\x0f\xdf\xb4\xe9\xa7\x94\x3e\x0e\x76\x3b\x8d\xcb\x0e\x7a\x49\xd2\xe9\xad\x61\x89\x94\x13\xb7\x79\x1b\xfa\x79\x63\xcc\xdb\x75\xda\x0a\x25\x04\xb9\xe5\x21\xd0\xda\x3f\x43\xc7\x45\xa1\x05\x97\x5d\x2a\x35\x98\x89\xfa\x86\x89\xfa\xc2\x06\xf1\xb5\x41\x59\xfb\xa3\x37\x47\xf1\x8f\x07\xe5\xa7\xe3\x5f\xff\x72\x2f\x8a\xc5\xfd\xa3\x63\x4b\x09\x68\xb5\x3e\xa5\x23\x2e\x4d\x07\x7d\xea\x6d\x49\x2a\x61\xb0\xaf\x14\x6c\x26\xe7\x2b\xe5\x10\x29\x16\xd9\xc2\x05\xaa\xf5\x8c\x7b\x56\x00\x8c\x92\x67\x8d\xea\x25\x85\x14\xe9\x72\xd1\x6b\x35\xd9\x64\x60\x95\xd6\x67\x6e\xcf\x36\xd6\x19\x28\xd3\xfe\xd5\x50\xd0\xb5\xb9\xe4\x4c\x5e\x8d\x02\x63\x26\x5f\xdd\xc1\x53\x2a\x0e\x2d\xf3\x83\x3e\xdb\xf8\xfb\x98\x0d\xf9\xea\x37\xcb\x85\x45\xb5\x1e\x4f\x2c\x1b\x93\x11\x54\xac\x48\xd3\x45\x3f\xc5\x1d\x32\x1b\x69\x79\x24\x8b\x33\x2d\x1b\xba\xbb\x5f\xe9\xad\xa1\x5a\xdf\xdf\x5a\x08\x9a\x1c\xc2\x45\x32\x3f\x3b\x4a\x29\x0e\x5c\x28\xe2\x9e\xdd\x27\x44\xb0\x99\x44\x8a\xb7\xe9\x95\xd8\x16\xe2\x5a\xc8\x25\x19\x63\x0a\xc1\x53\xc8\xc4\x05\xb8\xcb\xc5\xc1\x79\x29\x96\x44\x9c\x61\x8d\x9d\xf8\x95\x9c\x0d\xd2\x0e\xaf\x30\xc9\x36\xb1\x64\x10\x61\xe2\x88\x0b\x1b\xbc\xe9\xa3\x21\x97\x1d\x02\x34\x52\xc8\xa8\x9d\x07\x7d\x8e\x66\x56\x18\x25\x9b\x84\xf6\x2c\x1c\x1b\xd8\x9d\xcd\xd8\xcb\x95\x61\x00\x85\x90\x0c\x85\x08\xdb\x64\x6e\xcf\x26\xf0\xb8\x5d\xff\xaf\x5e\xa0\xc7\x62\x0f\x4f\x44\xfb\xd8\x71\x45\x02\x2a\x32\x53\xe4\x78\x74\xc4\x16\xc1\x32\xed\x48\xb3\xc5\x66\xca\x9e\xaf\xd4\x19\x29\x15\x1e\x2a\x3c\xb0\x1c\xc2\x5a\xeb\xd3\x36\xbf\x47\x79\xbd\x78\xf7\x6a\xc8\x73\x20\x2e\x08\x7d\x4a\xae\x80\xcb\xbd\xac\x30\xa2\xcc\x7a\x18\x97\x2c\x2b\x33\x4c\xb9\x22\x5b\x18\x0b\xbd\x16\x0d\x12\x73\x64\xb3\x9b\xa8\xed\x39\xc9\x2e\x1c\x6a\xc8\x59\xed\xe0\xac\x0d\xaf\xc4\x45\x48\xd9\x46\x0a\xa2\x9e\xc6\x4c\x39\x79\x43\xd9\xbf\xbf\x51\x54\x3c\x3a\x0e\x3a\x73\x98\xbd\x48\x49\xd6\x7a\x9f\xfc\x11\x61\x36\x63\x1a\xd7\x43\x58\x07\xa6\x57\xb2\xa5\x20\x54\x16\x97\x4a\xb6\xc0\x50\xd5\x16\x58\x6e\xfb\x70\xa4\x64\x59\xfe\xf4\x9d\x28\xc4\xe6\x6a\x40\x40\xb3\xd8\x8c\x8f\x95\x48\x62\x02\x92\x25\x4e\xaf\xad\x7f\x91\xc7\x13\x42\x6f\xc6\xa2\xd9\x94\xa7\x97\x05\x1a\x8a\x36\x92\xcb\x77\x14\xa6\x1d\x74\xb1\x3b\xf0\xe5\x20\xd3\x06\x48\x5d\x11\xdd\xb2\xe4\x67\x44\x78\x1b\x05\xda\xdc\x53\xd3\x4c\x72\x2b\x85\x42\x1e\x21\x7a\xa3\x21\x9f\x83\x11\x29\x00\xf9\x25\xcb\x99\x2c\x8d\xbc\x94\x63\xe0\x27\x15\x32\xe5\x95\x9c\xa7\xe0\x3c\xc5\x94\x28\xe7\xa2\x26\x6d\x24\xfc\x8a\xed\x4a\x93\x61\xc3\x24\xc3\xc0\xd7\x3e\xbf\x52\xc8\x55\xca\x49\x54\x43\x36\xc4\x08\x4b\xe1\x63\x82\x18\xa3\xa0\x31\x78\xb2\x30\x74\x92\x3c\x39\xa9\x10\xdb\x68\x49\x51\x29\xf6\x2c\x1a\x2c\x14\x23\x9f\xce\x66\x22\xa8\xad\x6e\x8b\x00\x7b\xea\xe4\x3b\xa0\xc2\x77\xaf\x2f\x7b\x83\x6a\x42\x42\xf4\x9c\x02\x8b\xc3\x12\xa9\xd6\x24\xa3\x2f\xa3\x62\x28\x05\x67\xc8\x97\x02\x82\x96\x0d\xb1\xcf\x5e\xc7\x07\xc3\xbf\xe0\x26\x3b\xe3\xd3\x91\x4d\x1b\x97\x0e\x13\x97\x82\xc0\x31\xed\xcb\xca\x7b\x2e\x0d\xed\x39\x0e\x67\x63\xd3\xe7\x4a\xb9\x14\xe5\x4e\x08\x60\x8c\xe6\x93\xf0\x0e\xde\x98\xa8\x9e\xc7\xf0\x1c\x77\xc7\xed\xef\xaf\xff\xf7\xc1\x45\xd9\x6e\x79\xec\xe8\xb7\xd1\xfb\x62\xfb\x06\x83\xc9\x85\xf8\x2a\x1b\x00\xdc\x60\x84\x4c\x0e\xa6\x51\x35\x45\x2a\x2e\x9e\x3d\x29\x06\x9e\x4d\xb9\x2f\x3d\x88\x1e\x58\x38\x5f\x3c\x05\xef\x3b\x6b\x52\xd7\xe0\x13\x4f\x32\x88\x1c\x46\x3f\x4f\x06\xf8\x87\x1b\xec\x41\xd4\x83\xb4\xfe\x99\xd7\x86\xa9\x56\x43\x5a\xe9\x4d\xc3\x1b\x10\x63\xed\x6d\xab\x2f\x77\xd7\x22\x15\x5b\xfb\x0d\x53\xd1\x83\x14\xdb\xee\x32\x34\x86\x56\xbc\x98\x32\x8e\x8e\xc7\x12\x2d\x6a\x0f\xb1\x8f\x54\xaa\x27\x9f\x75\x6c\xa2\x8e\xcd\x2b\x39\x57\xc9\x79\x0f\x0e\x8e\x21\xe3\xff\x92\x03\x06\x27\x6c\xc4\xcd\x3a\x30\x30\xc0\xdd\xe0\xe6\x3e\xae\xd6\x0e\x7e\xee\xe3\x6a\xad\xf1\xb0\x62\x8b\x03\xd7\x1d\xce\xb0\x8f\x08\x50\xa1\xba\xc7\x56\xd5\x7b\x3e\x3f\x1b\x76\x95\xfa\xed\x22\x02\xe8\x44\x29\xf8\xd5\x35\x80\x2c\x4d\xc9\x87\x33\x40\xcb\xa5\x67\xb1\x3f\x8a\xe7\x24\x1b\xa3\x12\x2f\x22\xdc\x56\x16\xcc\x41\xd6\xad\x81\xdd\xc2\x7e\xc8\xb4\xd5\xe7\x90\x24\x75\x33\x69\x4d\x70\xcd\xc4\x57\xc1\x94\xdc\x1c\xf7\x61\x98\x79\xa6\x37\x17\xa4\x65\x48\x3a\xdb\xac\x02\x5f\xd0\xd0\xe5\x16\xcf\xb9\x62\x28\x7a\x40\xe8\x27\x1c\xe4\xc6\x2e\xce\x0a\x45\x27\x14\xc2\x7c\x90\xf1\x78\x11\x7a\x3d\x39\x3d\x8c\xc0\x99\xa5\x72\xc8\x76\xbc\xb5\x1e\x38\x0a\x87\x1c\x5b\x68\x52\x59\x71\xcd\x07\xf6\x13\xca\x10\x0c\x49\x46\x8c\x21\xf7\x20\x29\x5d\x1e\x94\x5e\x22\xc7\xab\xac\x6c\xa1\x77\xd6\x71\x88\xeb\x5b\x9e\x65\xd3\xc1\x65\x48\x1b\x37\xa2\xd0\xc8\x73\xbc\xac\xc5\x5c\xc3\x36\xf1\x37\xb0\x4d\xf4\xdc\xb1\xdc\xc2\x36\x49\x27\x93\xa8\xa4\x72\x76\x14\xe0\x0b\x50\x42\x1f\xd8\xcb\xc5\x62\xb4\x79\x6e\x88\xa2\x15\x0c\xd7\x9e\x08\x6d\x24\x04\x3e\x07\xb0\xb4\xac\xd3\x6e\x3a\x86\x77\x83\x3d\x15\xd9\x1f\xdd\xc6\x44\xe1\x4f\x60\xa2\x94\x7b\xf7\xa7\xa8\xf7\xc1\xe9\x7d\x54\xf9\x4e\x2e\x90\xf7\x3d\x38\x90\x0b\x45\x56\xe7\xe7\x44\xb1\xd6\xc1\x6f\xdc\xdd\x59\x3b\xc4\xe6\x48\xf0\x08\x38\xca\xfa\x35\xbd\x27\xf4\x87\x4a\xc1\xf2\x99\xc9\xe1\x1e\xb0\xf8\x59\xa4\x52\xb6\x32\x89\x49\xda\x8b\x98\xbe\xbe\x96\x61\xea\x81\xc6\x41\xae\xed\xec\xa8\x16\xf9\x9b\x4f\x6a\xa4\xec\xb7\xce\xfa\x7b\xcf\x28\xfd\x7c\x07\x53\x25\x6f\xa3\xcd\xa1\xfc\x87\x26\xef\x7f\xff\xf6\xd1\x86\x5f\x4d\x12\xfd\x12\x88\xb6\x0d\xd8\x89\xb7\xce\xa1\xd7\xf1\x78\xe3\x60\xf5\xf4\x33\x51\xbc\xf0\x66\x7c\xb8\x8d\xf3\x1d\x77\x31\x1c\x0f\x41\x5e\xe9\x8e\x3a\xc6\xa3\x6d\xb7\xe3\x58\x43\x7a\xf8\xb1\xb6\xe9\xc0\xe7\x0b\xa4\xc0\xa6\x26\xd9\x8d\x1e\xf2\x66\x0f\x3d\xc5\x43\xa1\x78\xa9\x07\xde\xb8\x02\x8c\x5b\xb7\x61\xf9\x62\xea\xc1\x53\xbc\xdc\xe8\x20\x7f\xdc\xc1\xbf\xff\xf5\xcf\xdf\xcf\x7f\x32\xdf\xff\xb6\xd7\x4f\x1d\xca\xc5\xe2\x3a\x39\x78\x72\xde\x9d\xb1\x76\xc4\x75\xd8\xef\xa2\xbb\x92\xa4\x61\xd7\x8b\x97\xc5\xd6\x55\x0f\x73\xb9\xd2\x1f\x66\xe1\xcc\xc5\xfa\x84\xd2\xfa\xbb\x07\xec\x13\xd0\x80\xc5\xf9\xaf\xb4\xc0\x4c\x4d\x30\x71\xe3\xf2\x32\x9a\xa9\x09\xce\x12\x27\xc4\xa9\xcf\x36\x9b\x40\xd5\xaf\x0e\x93\x8b\x1e\x07\xa5\xa9\x4b\xf3\xd3\x5e\x54\xff\xfe\x55\xe5\x1f\xaf\x8f\x6f\x79\xd3\x43\x1e\x70\x63\xe9\x81\x77\xf8\x91\x8a\xf8\x91\x9a\xdc\x03\x35\xed\xb8\x78\x98\x13\xd8\x5e\x4c\xac\x25\x7d\x45\x82\x2d\x63\x1f\xaf\x00\xd4\xa5\xd1\x0c\x20\x52\x0b\x62\xc2\x03\xf6\xbe\x87\xda\x6c\xb1\x0b\xc6\xc8\x06\xcb\x18\x87\xfc\x2e\x55\x2e\xcf\xdc\xa3\x28\x3f\xe1\x7e\x28\x04\x0d\x60\xce\xa1\xa0\x56\x51\xee\x42\x9f\x6f\x19\x6a\x61\x4e\x45\x52\xa3\x10\x11\x00\xe8\x58\xde\x4c\x4e\xd6\x83\x34\x5a\xbc\x91\x8b\xfe\x24\x35\x27\x97\xe5\x6f\x1a\x79\xf9\xdd\xa8\x3d\xc0\x27\x5e\xce\x9f\x79\xb9\x85\x9e\x18\xdf\x9e\xe5\xda\xf5\xb6\xff\xc4\xdb\xfb\x09\xee\xf5\xfc\xfd\x07\xd0\x26\xeb\x5e\x81\xc2\x2b\x81\x92\x45\x9e\x34\x99\xe6\xe4\xad\x1f\x15\x27\x75\x44\x57\xdd\x27\x55\xed\x4a\xaa\x72\x12\xb1\xda\x44\xda\xd0\x8b\xb4\x5d\x72\x55\xa9\xf1\x0f\x91\xf6\xe3\x14\xb6\x53\xa6\xa5\x47\xe4\x4b\xb8\x8a\x97\xad\x78\x30\x77\xa4\x4b\x82\x50\xb3\x0f\x08\x52\xe6\x49\x92\x72\x58\x88\x52\xfe\x58\x94\xda\x3f\x64\xda\xef\x24\xd3\xce\xdf\x1f\x3e\xc6\x63\xd8\x0d\x43\x07\x2f\x4f\x01\x21\xc1\xf4\x09\xde\x87\x57\xe4\x2b\x93\xb3\x11\x8e\x2d\x3e\x06\x0a\x31\x0d\x9e\xb8\xea\x0e\xaf\x50\x09\x54\x70\x91\x24\x3f\x94\x9c\xdb\x67\x47\xb5\xae\x43\x50\x0f\x91\x92\x77\xed\x69\x27\x2f\xef\x40\x36\xd7\x27\xc4\x9d\x1c\xf4\x89\x37\xca\xc0\xaf\xc2\x77\x65\x00\xea\x9d\x75\x14\xab\x64\x46\xc8\x9a\x94\xf9\xa9\x2f\x8d\x81\x85\x10\x5f\x9a\x9f\xf8\x6a\xdb\xae\xbb\xb4\x95\x87\xe3\x75\xdb\x6e\x57\x49\x9c\x6f\xba\x5f\xc3\x4e\x13\xfe\xd7\xb0\xc1\x48\xba\x07\x66\x62\x8e\x14\x12\xe2\x2b\xc1\x59\xd0\x5b\x84\x43\xac\xae\x61\x0e\x61\xa7\xfd\x88\x0b\xfb\x7d\x3b\xa1\x0f\x9c\x53\xef\x63\x0e\x7d\x48\x5e\x8f\x6d\xc4\x45\xf3\xf1\x1a\x1e\xe9\xc9\x51\x48\x03\x1e\xe3\xba\x82\xce\xe0\x46\x94\xc9\x55\x72\x09\xe1\x05\x13\xb6\x42\x21\x33\x85\xe2\x65\xf7\x39\x30\x71\x70\xed\x53\xf1\x7e\x4d\x55\xb8\x53\x69\xcf\xe9\x3a\x50\x06\xbd\x94\x27\x5c\x6f\xe3\xd1\x28\xc4\x1e\x97\x3f\x49\x36\x04\x39\x74\xd6\x3f\xf5\x25\x01\xdb\xa8\xf8\x97\x2d\x3b\x5f\x6b\x01\x10\x7c\x89\x37\xcf\x0a\x36\x8e\x03\xdc\x78\x54\xb0\x7e\x4b\xa3\xea\x1f\x2a\xc5\x8b\xa1\xca\xb9\x1d\xa8\xb8\x54\x70\x95\x2c\x03\x80\xa3\x03\xff\xfe\x66\x0a\x86\x63\x73\xc7\xbe\xde\xc8\x6f\x59\x70\x35\x7b\xa2\x7e\xdb\x7f\x3d\x0f\x88\xf7\x30\x56\xef\x90\xcb\xdf\xce\xdf\x8f\x7f\xda\x0b\x6b\xe6\xbc\x93\xbd\x5e\x8f\x4a\xa3\x66\xab\xf1\xec\x11\x3a\x57\x56\xba\xf4\x82\x23\xf9\xb5\x71\x66\xa0\xe4\x1c\x32\x62\xda\x42\x07\x88\x3d\x69\x63\x67\x33\xd3\xd7\x42\x96\xbf\x99\x12\x46\xd6\x32\x72\x84\xda\x29\x54\x16\x80\x14\x93\x95\xe6\xcc\x0a\x55\x38\x39\x6c\x1b\x44\xdc\x66\xe0\x70\x97\x81\x43\x6f\xbb\xd2\xb0\xc7\xfb\xcb\x94\xda\xbc\x35\xb6\xae\x60\x46\x6f\x8d\xed\xe8\x01\xbb\x16\x14\x9d\xc2\x5d\xca\x4b\x20\xe0\x8a\x95\x8d\xf9\x0b\xd7\x58\x77\xa9\x8b\x7e\x38\x05\x18\xbc\x1f\xeb\x4e\x43\xda\x19\xbf\xda\xb4\xb3\xde\x32\x3f\x07\x02\x9a\x6e\x58\xce\x57\xd8\x98\x2e\x0d\xb4\xb5\x31\x5b\xdb\x58\xe1\xf5\x86\x9d\x95\x5f\x4f\x8f\x5f\x03\x35\xc0\x31\xe0\xb4\x46\x4a\xe6\x71\x05\x32\x7e\xa1\x62\xa3\x6d\xbb\x66\xe6\x97\x3d\x61\xf1\x6e\xc3\x30\x4c\x2e\x98\x5b\x8e\x53\x5f\x81\x01\xbf\x70\xd4\x15\x16\x99\xbb\xe9\x9a\x7c\xe7\x9c\xfe\x1a\x5d\x40\x59\x83\xe2\x13\x54\xb6\x30\xad\xb2\x8d\x34\x79\xc3\x00\x94\x9f\x9a\xee\x39\xb9\x75\xa8\x11\x66\x01\x6e\xe7\x3c\x65\xfa\xb6\x5d\xce\x71\x59\xa7\xec\x7b\x22\x1e\xbb\x81\x29\x31\xc8\x1f\x12\xff\xed\x38\xc9\x7c\xd3\xd9\x1c\x8e\x0c\xf1\xf1\xd0\xb7\x33\x77\x40\xe8\x1d\xc7\x06\x61\x38\xf6\x75\xfa\x7a\xd9\x34\xb2\xa5\x78\x0b\x1a\xe4\xb4\x5a\x8c\x98\x7d\x0b\xd6\x77\xa3\xa8\xa7\x65\xdd\xaa\x22\x8b\x2a\xb4\xd3\x01\x19\xa3\xfc\x7a\xfa\x76\x4f\x73\xfd\x68\xac\x6b\x47\xcf\xa3\x43\xb1\xad\x83\x1f\xe3\x0c\x7f\x9e\x9c\xc3\x0d\x72\xb6\x3f\x40\xce\xe1\x77\x22\xe7\xaf\xce\x93\x2b\xb2\x84\x6e\x43\x52\x0d\x7d\x78\x91\x0d\x38\x2a\xbe\x01\x47\x15\xb2\x91\x47\x67\x4c\xb9\x13\x8e\x6a\x36\xbd\x0f\xb3\x52\x1a\xdc\x87\x98\xbd\x5f\x03\xd6\xeb\xdb\xa0\x06\x1f\xcf\x2e\x58\xa9\x23\x67\x8a\xf7\xa9\xff\x26\x23\x6d\x58\xa1\xdb\x1f\x62\xa4\x3c\xf2\x91\x46\x46\x0c\x94\xcb\x90\x6e\x20\x8e\x6d\x78\xc2\x4c\x53\xcc\x86\xb7\xa7\x98\x42\xd6\x49\xae\xd9\xf0\xc3\x70\x63\x3a\xbf\x3f\xfd\xfc\x7a\xcf\xaa\xf3\x41\x8c\x6e\xd1\x5c\x9a\xb9\x74\x9b\x77\x5c\x7f\xb5\xef\x32\xef\xf5\xfd\x6b\xbd\x42\x79\xb3\xe8\xf1\x0d\xca\x9b\x4d\xea\x21\x17\x30\xc1\xee\x4b\x3b\x2b\x03\xf4\xb6\x2a\x64\x6e\x20\x17\xff\xd3\x61\xe8\x91\xa2\x1f\x45\x85\x2a\x14\xea\xf5\x2b\x3e\xe0\x15\xf9\x5d\xdf\xd5\x73\x39\xca\xf1\x4b\x22\x3f\x43\x1b\x1a\x66\x5f\xdd\xab\x08\x77\x57\x0b\xe5\x28\xfb\xea\xe0\x06\x47\xd6\x07\xec\x71\x21\x4d\x34\x18\x40\x8b\xa1\x7e\xdd\x34\x1c\xfb\xb4\x40\x21\x61\xdb\xed\x9f\x64\x4b\x65\x35\x1a\x75\x43\xc4\x6b\x96\x2f\x0e\xe1\x6e\x52\x12\xcd\xaf\x1a\x18\x14\xcc\x9f\xef\x6f\x56\x76\xb2\xf1\xd5\x38\xca\xd6\x0d\x92\x99\x93\x5a\x1c\x99\x44\xb5\xc2\x5e\xcb\x77\x82\x4b\x1b\x95\x48\x9b\xb5\x12\x5d\x01\xfb\xfc\x8c\x46\xb1\x36\x8a\xc3\xb8\xbf\x73\x6e\xb2\x41\xda\x4f\x4c\xbf\x31\xc0\xb8\xbf\x89\xf7\xfe\x15\x6e\xdf\x3f\x08\xf7\x2e\x5d\x2f\xc7\x76\x98\x34\xb2\x16\xec\x83\x9e\xe6\x3f\x5a\x10\x58\xc1\x39\x1b\xe5\x78\x6c\xbe\x71\xa3\x55\x6a\x24\x87\x9b\xfb\x04\xc3\xca\x68\x88\x6b\x20\x2f\xdb\x01\x2f\xbb\x06\x0e\x86\xa2\xf7\x5f\x3c\x95\x08\x20\x3e\x57\x70\x2a\x83\xa0\x40\x11\xd8\x7c\xa7\xf8\x4a\x45\x9b\x9b\x42\x44\x06\x47\x2e\x51\x71\xb0\xa7\xe4\x14\xc9\xcb\x5f\x90\xd2\x28\xfa\xf0\xb4\x6c\x82\xb6\x4b\x48\x82\x1d\x1c\xf3\x9d\x53\x31\xd3\x22\x54\x05\x72\x5e\x76\x9d\x29\xa6\x57\xb2\x1e\x4d\x4c\xc4\x40\x5b\xcb\xb2\x87\x87\x69\x1c\x93\x77\xde\x90\x2b\x4c\xb9\x18\x0a\x11\x67\x91\x19\x26\xba\x5e\x9a\x18\x80\x0e\x49\x35\x7a\xc4\x9f\x40\xa2\xa4\x91\x67\x72\xa9\x52\x70\x59\xb1\x50\x13\xdc\x6e\x9f\xfa\x76\x94\x01\x47\x2c\x3f\x4a\x43\x3b\x2c\x33\x6f\xad\x39\xbf\x97\xb0\x08\x03\x8f\x48\x32\x96\x83\x09\xa7\xd9\xb7\x01\xee\xa9\x1b\xb7\xbe\x5c\x8e\x73\x30\x19\x91\xf7\xf2\x77\x28\x4f\x0b\x8c\x19\xa1\x88\x72\xb3\x08\x11\x95\xe5\xb6\xa8\x7c\xf3\x66\x8f\xbc\x7d\xe4\x24\xa0\x9f\x91\xc7\x8e\x90\x7e\x90\xe5\xde\x3c\x71\x3b\x27\x7a\x82\x80\xc2\xc3\x02\xfb\x2c\xb9\x30\xd4\x13\xa2\x98\x2d\x93\x84\x6b\x92\xbc\xf2\x4a\xd1\x15\x0a\x25\x50\xc5\x69\x93\x0d\xa5\x7d\xaa\x9c\xd7\xc3\x0b\x94\x89\x12\x0c\x01\x06\x58\x79\xc0\x19\x2a\x0c\x90\x52\x87\x5d\x23\x00\x76\x03\xf0\x46\xbc\x7c\x3a\x41\x7d\x7b\x95\xac\x40\x2d\x28\xd9\xe1\xb0\x0a\x19\x24\x27\xf9\xe4\xc9\x7b\x87\xc2\x28\xba\xa4\x1f\x4a\xef\xdc\xd1\xea\x2f\xc2\x47\x38\x7e\x0f\xde\x53\x95\x9a\x2a\x67\x15\x6f\xf1\x63\xf1\xf6\xb5\x88\x96\x75\x43\x46\x3e\x3a\xeb\x6f\x3f\xfd\xf5\xef\x77\xb0\x31\x3e\x52\xfc\xc2\xad\x60\x0e\xe1\x07\x82\x39\x7c\xa4\xf8\x35\xf5\x7d\xa9\x60\xf3\x55\xbf\x2e\xbd\xc2\xcf\x22\x8e\x56\x1a\xff\xd5\x9e\x62\xb9\x72\x36\xcd\x9e\x13\x14\xf5\xe5\xca\x69\xcd\xb6\xd6\x7f\x2d\x0b\x77\x5a\xf9\x16\x60\xfa\xa7\x02\x10\xcc\x26\xe8\x61\xcd\x5c\xa3\x6f\xc5\x8f\x37\x57\x6f\x5e\x44\xd6\xcd\x20\x1f\x1f\x4e\xd2\xa8\x87\x2f\x95\xe4\xe9\xdc\x5d\x09\x61\x9e\x72\x63\x0b\x3c\x8d\x6c\xaf\xba\x5b\x73\xd5\xdd\xcd\x4a\x79\xb7\x6e\x4b\x77\x9f\x15\x36\x5e\x58\xe6\x4d\x5c\xfb\xcd\x69\xda\x19\x17\x11\xd3\xf4\xb7\xf3\x67\xd8\xe8\x8f\xed\x31\x30\xe0\x5b\xbc\xc5\xad\xa3\x72\x77\xe9\x71\x99\xe1\x36\xb9\x61\x44\x76\x32\xee\xd2\x5f\x9c\xab\x9d\xd8\x69\x59\xc4\x8f\x84\xea\xbb\xce\xf1\x1f\x7b\xe4\x4f\xec\x91\x61\x3c\x5b\xfa\x88\xab\x2c\x4c\x79\xe2\x8b\xe1\xf5\x0c\xf3\x89\x37\x66\x98\xb7\x84\xf1\x4b\x3d\x19\xfe\xd4\x04\xff\xcf\x1f\x1c\xfc\x19\x0e\x4e\x5b\xde\xc1\x2d\xf4\x18\x62\x59\xd5\x70\x66\xca\xce\xf0\xe2\x10\x4c\x8f\x3c\x34\x80\x99\xb3\xf8\xc8\xc8\x37\xf4\xf9\xcc\x35\xa3\x68\x8e\x0e\x47\x2b\xb7\x73\x1a\xcd\x99\xa9\x06\x29\xd2\x6c\xd4\xad\x26\x98\xfb\x70\x3d\x1a\x89\xfc\x21\x00\x3e\x21\x00\x58\x48\xa4\x87\xe5\x6f\x07\x61\x48\x9b\x1e\x86\x17\xb9\xe6\x44\x22\x0c\x90\x44\x66\x5c\x5f\x59\x1f\xac\x69\x4e\xaf\xc1\x72\x41\x26\xab\xac\x73\x32\x39\x4f\x75\x9a\x8d\xda\x7f\x94\x4c\xfe\x50\x05\x3e\x25\x48\xda\xf9\xda\x0d\x55\x40\x96\x8f\xa5\xba\xef\xc2\x0f\xa9\xfb\xba\xd5\x4f\x07\xae\x9b\xab\xc5\x57\x8e\xc3\x3a\xf6\xef\xd0\xc1\xe2\x0e\xab\x0c\x8b\x2b\xba\xdd\x84\xf2\x87\x38\xf9\x9c\x38\xc1\xce\x2b\xaf\x0c\x21\xad\x90\xc9\x2e\xb2\xbc\xd2\x49\x8f\xc6\x0a\x8a\x93\xc7\x81\xb7\x15\x47\x34\x20\xc3\x5e\xb4\x0b\x76\x17\x03\x3c\x76\x1b\x32\x1b\xb7\xa7\x6a\x30\x9e\xb2\x2b\x4b\x3b\x55\xcd\x8c\xf9\xb3\xdc\x9e\x6d\x67\x4f\xd1\xed\x42\x98\xbe\x7c\xfb\xf9\xa7\x3f\xff\xf4\x6d\xa7\x3d\x87\xec\x59\x6f\xc7\xeb\x69\x30\x9b\x9b\xb7\x15\x3b\xe2\xf5\x44\xaa\xd9\xc4\xdb\x17\x16\x1f\xf8\x7b\x15\x91\xd3\xc9\xf7\xfb\xc5\x00\x30\x84\xb3\x46\xd8\x29\xd1\xbf\x92\xcb\x0a\x86\x10\x6b\x26\xef\xe1\xb0\xed\x4b\x3e\x33\x85\x2a\xf4\xe5\x56\x1b\x4e\x8b\x58\x37\x36\x87\xb3\x24\x0f\xc8\xf8\x4a\x36\x26\xf2\x3e\xe3\x38\x36\xc9\xe7\x92\xa5\xac\xb3\x54\x32\xa0\xba\xae\x20\x3b\x04\x75\x91\xbe\x66\x10\x0a\x80\xaf\x6f\x18\xe3\xd2\x8c\xa5\x98\x6b\x55\x5d\x31\xe6\xda\x20\x8d\x37\xd2\x5a\xdd\xed\x7a\x5b\xbf\xe0\x17\xd8\xba\xde\x17\xd4\x86\x46\x33\xa0\x59\x5b\x85\x98\xb1\x94\x50\x1d\x5a\xf5\xd4\x8f\x0f\xbb\x3c\x70\xa6\x82\x46\xb3\xe6\x5c\x95\xe4\x4b\x31\xad\x67\x25\x7a\xb3\x39\x40\x68\xd1\x79\x96\xbe\x2c\xe4\x5a\xc6\xac\x9e\x8d\xc9\xd2\x11\x3a\x5f\x5b\xdc\x97\xd3\x7a\x95\xcf\xd7\x9e\xbf\xbf\x21\xc6\x80\x2e\xf5\xab\x03\x84\xc4\x09\xf8\xba\xa8\xc9\xd6\x7e\x20\x99\x62\x4c\x94\x42\x9a\xcd\x47\x77\xce\x10\x28\xd9\x34\x24\x0a\x51\x47\x09\x53\xbb\x9a\x11\x4a\xb8\xb8\x8b\x31\x62\x98\x1c\xc8\xa4\x0f\x21\x6c\x07\x34\xe8\x3c\x65\xf0\x08\xe4\x4c\x21\x79\x8a\xd1\x51\xad\x71\x2a\x27\x9d\xa7\xca\xdc\x2b\x71\xa2\x1a\x22\x55\x61\x14\x98\x90\x97\xa0\xcf\x70\xa5\xfe\x57\x8a\x89\x2c\x8c\x3f\x6d\x55\x24\xe2\x6b\xf7\xae\xa4\xd4\x9b\xc3\x61\x84\xae\xe3\xe9\x5e\xa5\x39\x00\x4b\x45\x24\x02\x69\x98\x96\x83\x3e\xde\x9e\x1b\xb4\xc9\x68\x9b\x24\x79\x73\x96\xa5\x2d\xa6\x75\xaf\x20\xcf\x9a\x58\xda\xb4\xe9\x38\x1a\x1d\xc7\x8d\xd1\x36\xe3\x68\x8f\x14\xb5\xe2\x81\x79\x8b\x66\x5c\xb0\x49\x03\x66\x24\x82\x71\x18\x1e\x05\xec\x9a\xc4\xf2\x3e\xe4\xf6\x86\x77\xf5\x63\x36\x02\x8a\x80\xd7\x63\x29\x8d\x97\xc8\x35\x53\xfd\xd8\x48\xe0\x03\x27\xcd\x60\xdd\xc8\x51\xcb\xa8\x46\x5c\xa5\x09\x94\xaa\x8c\xf8\x2b\x71\x0c\x0a\x28\xe3\x88\x4b\xa0\x28\xba\x16\xc7\x33\x95\x14\x61\xf1\xd7\x83\x10\xb8\x18\x30\x43\xe1\x2c\xc9\x54\x12\x2e\xb1\x98\xb8\x64\x62\x1b\xc9\xa7\x20\x05\x50\xe4\x72\x96\x1a\x28\xd5\xae\x0c\x0b\x13\xe7\x7c\x36\x2d\x19\xe1\xf1\xa4\x1d\x06\x2d\xf0\xde\x4c\x05\x98\x56\x47\x5c\x87\x63\xb9\xb6\xc3\x4c\x6d\xed\x01\x6a\xb4\x33\x42\x88\xe8\x6d\x3f\x16\x66\x1c\x0c\x35\xeb\x95\x0c\x1b\x25\x98\x56\x44\x49\xd1\x6c\x8c\x88\x36\xc5\x8c\x4d\xe1\x90\x90\x75\x55\x92\xe3\x88\xe2\xb4\xdb\x66\x63\x58\xb4\x39\xe7\x29\x79\x59\xc2\x58\x40\x39\x8f\x75\x6c\xce\x4d\x6b\xc8\xb5\xb5\x5d\x29\xad\x43\xf1\xdc\xba\xec\xdf\xdf\x1c\x79\xc5\x6d\xdb\x88\x15\x14\xa2\x6f\xe3\xd3\xf8\x73\xd1\x75\x26\x0e\x14\xf2\x9d\x29\xe0\xd1\xc2\x13\x90\x1a\x37\x26\x53\x8a\x80\x1d\x32\x63\x70\xdc\xba\xf3\x40\xb3\x88\xfe\xdc\x52\x5f\xc9\x05\x4f\xde\x57\x0a\x36\x02\x31\x7b\x2c\x61\x24\xca\xf8\x4a\xb6\x54\x8a\x2e\x52\xa4\x0a\x60\xa6\x6b\x43\xc6\xc6\x2a\x2a\xb1\xcd\x54\x10\x71\x0d\x12\x5d\xfb\x33\xf6\x77\xd9\x0a\x69\x43\x50\xde\x31\x1b\xc3\x21\x6f\x1b\x7d\xfd\xc6\xe8\xa3\x7a\x8c\x49\xb8\x39\x8b\x52\x80\xd1\xae\x40\xde\xad\xc7\x42\xa7\x45\x87\x6a\x83\x8e\xcc\xb5\x04\x73\xad\x64\x6b\x5e\xcc\x38\x2f\xb7\x48\xfb\xda\xa3\x89\x43\x1e\x96\xaa\x3f\xfd\xe9\xdb\xf7\x87\xe1\x50\x36\x90\x46\xf1\x21\xdc\x80\x43\x49\x1a\x9a\x8a\x7d\x39\x2b\x24\x90\x27\xef\xdc\x17\xe7\x10\x7b\x20\x52\x62\x2f\x55\x27\x58\x8d\x84\x21\x53\xb5\xe5\x52\x44\xfc\x20\x94\x55\x28\x05\x81\x0b\xa0\x1f\x02\x3e\xb0\x60\x9b\xe1\xc3\x33\x23\x2c\x96\xcd\x45\x8a\x5f\xc5\x79\xd2\xcb\x13\x67\x81\x5b\xf2\xd4\x8b\x3d\x00\xa7\xc2\x95\xe1\xfd\x8d\x45\xe9\x76\x30\x90\x65\xeb\xc9\x86\x4c\xce\xb2\xb4\x95\x5c\xca\xe7\x40\x15\x70\x7a\x2e\x11\x84\x3e\x2f\x20\x29\x02\x3b\x43\x5c\x5f\xa4\xdd\x79\x19\xc3\xaa\x25\x9d\x0d\x89\xfe\x6d\x35\x8c\x7d\x90\xd5\xb2\x16\x3e\x92\x0f\x51\xfe\x5a\x66\x76\x95\x5c\xd6\xe8\xfc\x46\x9b\xf3\x39\x20\x96\x6d\xbb\x6c\xbe\x0f\xc0\xfa\x98\xeb\x84\x12\xd4\xa3\x48\x27\xf1\x06\xd2\x09\x10\xe7\xd7\x60\xe7\x80\x2d\xa0\xc2\xe5\xec\xc9\x72\x31\x8e\x6c\xfd\xc2\x81\x4a\xf0\x83\x27\x2f\xfb\x1f\x38\x3d\x64\xf9\x3f\x50\xad\x7c\x91\x89\x2b\x1a\x18\xcd\x81\x93\xa2\xa8\x85\x49\x3e\x56\xec\x97\x2c\xfb\x67\xe6\xa1\x52\xf5\x0e\x65\x77\xd5\x16\x6c\x6d\x3d\x9c\xef\xd7\x18\xe8\x76\xf2\x23\xf8\xca\x3c\x48\x45\x64\x53\x26\xeb\x85\xea\x81\xff\xc5\x49\x5a\x1b\x00\xd4\xea\x93\x7f\x89\x14\xf2\xd9\xcc\x7e\x79\x22\x67\xc3\x64\xe8\x24\xa5\xbc\x7f\xad\xb8\x7c\xbc\x15\x51\xab\x47\x08\xbd\xba\x3f\x6c\x1a\x7a\xdf\x02\x1a\x7d\xd0\xfb\x41\x67\xfc\xfb\x9f\xff\xfc\xf8\x51\x9d\x13\x65\x8d\x37\x60\x4c\xc7\xc3\x6c\xaa\x61\x08\x27\xe1\xa0\xce\x1d\x49\x65\xd0\x65\xc3\x89\x49\xbf\x59\x25\x73\x26\x97\x59\xdd\xb9\x02\xa2\x2d\x02\x6d\x0b\xf8\x52\x3e\x9c\x03\x15\x0e\x03\x9e\x4b\x93\xfc\xf1\xe4\x7b\x6a\x1f\x6e\xd7\xd4\x38\x2c\x3d\x07\x0a\x38\x15\xfa\xdd\x98\xf0\x22\x65\x7e\x7c\xb4\x04\xe8\xe1\xb0\x75\x17\x9b\x6f\xe2\x35\x5f\x3c\x45\x0e\x47\x26\x2c\xaf\xcd\x95\xcc\xc1\xbd\x52\x38\x43\xe4\x73\x70\x08\x67\x93\x84\xb5\x82\xc8\x2d\xb7\x08\x9a\x13\xd8\x11\x57\x48\xe7\xa8\x64\x2e\x79\x22\x31\x70\x0c\x7d\x24\xf6\x5e\x5e\xf0\xf2\xd7\x56\x40\x5b\x13\xc2\xe0\xce\x89\x0f\x76\x59\xde\xc9\x2e\xcb\x65\x35\xac\xaa\x4e\xb6\x0a\x01\xff\x33\xc5\xe0\x20\x51\x0b\x1c\xcd\x42\x69\xc1\x6b\x44\xa3\x82\xab\x45\xc9\x5e\xa1\xe5\x64\x11\xa8\x54\x4a\x79\x59\xaf\x4b\xed\xfe\x3c\x1c\x64\xb0\x76\x9d\x02\x4d\x54\xfd\x09\x8b\x81\xbb\x54\x7d\x96\x95\x8c\xb2\xaf\xdb\x68\x2c\xb7\x3c\xac\x20\x0a\x57\x5b\xc4\x5a\x85\x62\xce\x8e\xaa\x2c\x8e\xb5\x47\xb3\x5f\xd1\xf1\x5b\x26\xe7\x86\x2a\x4b\xa7\x17\x32\x0e\xb4\xc2\x49\x79\x58\x8e\x10\xef\x20\xda\x4c\xa9\x94\x8d\xd3\xe1\x43\x59\xe3\x48\xe3\x54\x33\x7b\xd1\xfb\x62\x40\xf4\xc1\xd0\xac\x40\x29\xa8\x8a\x9c\x71\x95\x31\x88\x2c\x95\xe6\x6e\x00\xda\x8b\xf4\x7f\x55\x05\xab\x89\x7d\x73\x15\xfb\x66\x14\xfb\x64\x45\x49\xb1\xee\x48\x36\x44\xe0\xd2\x35\xc2\xcd\x42\xd3\xf9\x65\xbd\x3e\x59\xac\x07\xfe\x20\xfd\xc9\xbb\x08\xeb\xfb\xf9\xef\x6f\x9f\x80\x85\x8d\xd2\xc0\xdc\x85\xc8\x44\x48\x73\x2e\xf0\x1e\xf2\x00\xec\xcf\xcb\x33\x58\xe9\xa8\x2c\x2b\xa1\x34\xfc\xf7\x65\x80\x4d\x21\xb8\xb0\x0d\xda\x76\x72\x54\x5c\x78\xa5\x80\x03\x39\x2a\xb9\x10\x67\x56\xd7\x41\x0a\xb2\x96\x79\x9c\xb4\x4a\x95\x0b\x65\xa8\x35\xe9\x05\xcd\x85\x32\x13\x62\x40\x3c\xec\x2f\x6c\x89\x93\x43\xb4\xec\x3c\xa8\xf5\xb3\xc7\x07\xc9\x1b\x2e\x70\xb9\xc6\x1a\x1d\x7d\x82\xfb\x1f\x20\x82\x5c\x36\x8e\x6a\xd4\x09\x47\x4f\x0d\xaa\x7d\x9a\x55\x1b\x29\xca\x96\x23\xa9\xa6\xd7\x21\x97\xa9\x65\x25\xdc\xc4\xbe\x00\xcf\xaa\x00\x36\xb6\x84\x41\x11\x33\x87\xa2\x9d\x5d\xf4\x83\xb3\x33\x64\x53\x3d\x4f\xf5\x3d\xb4\x48\xea\xac\x3f\x1c\x71\x78\x08\xc4\xf5\x19\x81\x48\x86\x44\x2e\x87\xe5\xce\x81\x0d\x65\x46\x14\x93\x03\x53\xbc\xf8\x93\x23\x6f\xf3\x2b\xb9\x08\x4c\xbd\x68\x65\x60\xeb\x98\x47\x83\x5d\x33\x15\x5b\x5f\xa4\xdc\xf7\x37\x43\x01\xa1\xad\xa2\x0d\xcb\x90\xb3\x5c\x65\x96\xf8\x52\x28\x96\xbe\x4a\x8d\xc6\x8f\x6d\xd3\x33\x8e\xe2\x07\xe6\x83\x24\x7f\xc1\x52\xa3\x60\x6e\x04\x56\xad\xea\x01\x46\xf1\x0b\xac\x79\x13\xa2\x26\x6b\x51\x42\x60\x21\x2b\x1d\x89\x38\xf7\x7c\xdb\x46\xea\xe3\x01\xbe\x0f\xe8\xbe\xc3\x5b\x0c\xd4\x0a\x41\x11\x11\xeb\xbb\x78\x51\x2b\x27\xda\x33\x13\xed\x81\xe4\xd3\x8c\xf6\x58\x69\xaf\x6c\x90\x9e\x65\x1d\x81\xc6\x62\x35\xa5\x65\xb8\x5e\x3c\x56\xb4\xc7\x80\x16\xb6\xd0\x17\x1b\x53\xbf\x32\x31\x8e\x1f\x2d\xa0\x95\x6b\x0c\x88\x43\x76\x6d\xda\x8c\xdb\x6a\x63\xc0\xe5\xaa\xed\x9c\xfc\xa6\x2c\xb6\x04\xb8\xd3\x24\x9e\x31\xd6\xfa\x1a\x07\x10\xc8\x6b\x19\x32\x83\xc7\x0b\x0b\x98\x3e\x6e\xbf\xb7\xbe\x75\x83\x22\x22\x44\xf6\xb1\x55\x85\xc8\x07\xdc\x35\xbf\x72\x11\x6d\x2e\x53\x4d\x1d\x50\x84\x05\x74\xab\x2d\x4f\x81\x98\x01\x17\xc1\x6a\x54\x2d\x0a\x9b\xfa\x26\x30\xb1\x8d\x06\x27\x06\x8e\x38\x1b\xd5\x0c\x5d\x57\xd6\xac\x28\xd9\x95\xe6\x41\x9f\xb6\x79\xe8\x3b\x25\x10\xd9\xe6\xe3\x42\xae\x36\x73\x88\x8a\x30\x7e\x3f\xb0\x0a\xdc\x87\xd9\xdf\x71\xc3\x4d\x99\xd7\x67\x08\x15\xbc\x7c\x65\xcb\x78\xe5\xca\x38\x28\x03\x0e\x16\x86\xf1\x17\x65\x49\xb0\x69\x63\xda\x06\x11\x32\xe7\xca\x01\x5c\xd9\xc5\xa2\x86\xd9\x88\xab\x2f\xd2\x84\xf7\xaf\x33\xc9\xf4\x3c\x8a\xab\x4b\xa6\xe4\x9a\xcc\xaa\x94\xdd\xfa\xf0\x2d\xb3\x06\x65\x82\xd0\x32\x1b\x52\xcb\x8c\x62\x0b\xd9\x76\x90\x06\x7c\xe9\x45\x81\xb2\xbc\x40\x95\xb1\x94\xa5\x79\xfe\x95\x42\x0d\x14\x12\xb2\xc9\x72\x1f\xda\xa7\x6c\xf9\x17\xd3\xdc\xf1\x5d\x30\xd7\x5f\xe7\x98\x75\x28\x5e\x46\xab\x0c\x9e\x8a\x4b\xed\xa9\xa6\xaf\x83\x2a\xa8\x56\x5d\x01\x64\x6b\x91\xb0\x0d\xf0\xf0\x32\xa9\xbb\x9c\x5d\x47\xe5\x60\xe7\xdd\x63\xa1\x8c\x50\x0b\x1b\x46\x20\x03\xa2\x00\xd4\xf1\x3f\x3b\x42\xbc\xc6\xb4\x69\xb5\x31\x54\x8a\xac\x8f\x76\x98\x25\x6a\xe1\xb6\xd9\xc6\x07\xb7\x8e\x36\xc8\x5e\xbb\xd8\x30\x5f\xe6\xcb\xb8\xcc\x97\x6e\x99\xe7\x7f\xe2\x75\xfe\x4d\x4f\x16\xa5\x19\x9b\xea\xd6\x6c\x1d\xf8\x27\xd3\xb6\xfe\x95\x64\xa8\xdb\x1b\xcb\x97\x1c\x9c\xd1\xb8\x2c\x71\xc9\xa8\x62\x29\x66\xef\xbe\x30\xee\x32\x85\x4e\x33\xdc\x70\xe0\x3d\x94\x92\x7e\x2c\xbf\x18\xca\x22\x72\x65\xac\x1d\x0a\x0b\x94\x96\x85\xcd\xcb\x92\x1d\x87\x53\x21\xe9\xd1\xa2\xe6\xc4\x96\x20\x28\x1c\xd6\x52\xc4\x61\x30\x41\xb2\x28\x74\xb8\x89\x54\x78\x07\x9b\xe1\x48\x69\x70\x94\x4a\xfa\x67\x50\xd8\x7e\x7f\x15\x75\xcf\x29\x48\xb6\x10\xfd\x4b\x6c\xd0\x31\xe2\x59\x79\xea\x44\x36\xab\xc8\x1e\x26\x91\x3d\xcc\x44\xf6\x00\x91\xfd\x34\xb7\xcf\xc0\x12\x52\x29\x63\x09\x31\x6d\x0d\x31\xd3\x1a\x62\x66\x6b\x88\x99\xd6\x10\xfd\x75\x69\xf3\x62\xe1\x66\xb6\xcf\x06\xae\xd1\xf8\x67\xec\x69\xff\x10\xc8\xff\x2f\x08\x64\xe7\x6e\xdb\x11\x8d\xc6\xbc\xee\xec\x64\xc1\x77\xf7\x8d\x79\x7d\xf3\x93\xbe\x95\x73\x61\xcc\xeb\x34\xa7\x71\xdd\x4d\xf9\x2c\x63\x85\x5c\x0b\xe7\x9b\xf9\xf6\x79\x4f\x4f\x94\xfc\xb0\xba\xfb\x87\xcc\x5b\xc9\xbc\x78\xdb\xca\xe1\x99\x83\xcc\x4d\xd9\x32\xed\x5d\xd2\x8c\x1f\x6a\xb3\xff\xbe\x6b\xd8\xfb\xcc\x2c\x24\x53\xce\xdb\x76\xbd\xb3\x7c\x7e\x48\x6a\xa1\x7e\x23\xdb\x3e\x82\xf9\xef\xe3\xc3\x1e\xad\x8a\x6d\xb6\x82\x42\x0b\xb8\x2a\x58\x61\x0b\x35\x28\x34\x77\x03\xc1\x1c\x56\xae\x1b\xa1\xab\x1b\x82\xb9\xc6\x8f\x56\xdf\x43\x4f\x6b\xd4\xf0\x3e\x06\x6c\x78\xf1\x04\xa0\xf9\x21\x5d\xe2\x81\xf9\x62\x34\x62\xe7\x1b\x62\x7d\x4f\xc1\x5e\xb7\x6e\x0b\x0e\x89\xe2\x0b\xa7\x93\x09\x70\x61\xb4\x14\x4f\xe5\x85\xd3\xa1\x20\x20\xd5\x5b\xa5\x38\x58\xe0\xd8\xdf\xbe\xd6\xc3\xdb\x9a\x3d\x98\x74\x31\xf1\x64\xea\x25\x9e\xea\xfb\x1b\x2c\x24\x5f\xc2\x04\x6a\xbe\x75\xdb\xc8\x99\xd0\x85\xf7\xaf\xb8\x57\x8b\x2f\xe5\x50\xa4\x3b\xa7\xf2\xc8\x91\x0d\x26\xf8\xb1\x13\x31\x3d\x0a\x5f\x1d\x9c\x7b\x8d\x23\xf8\x10\x8c\xf9\xfa\xb5\x16\xee\x18\xe7\xe2\xd8\xe1\x0e\xee\xf6\x29\xf9\x4b\x3c\xf9\x17\xcc\xa3\xf1\x43\xb8\xf8\x43\xbe\x18\x2f\x5c\x2f\x13\x3b\x82\x6e\x6f\x1d\xa3\x1f\x82\x4c\x2a\x9f\x8c\x7f\xff\x9a\x44\x7a\xc7\x53\x78\x61\x3e\xa4\x0b\x4a\x8b\x6d\x52\xdd\x66\x0c\x44\xbc\xa7\x19\xbd\x09\x08\x52\x9d\x2e\xfe\x94\x64\x3a\xa5\x5c\x7f\xe3\xce\x50\xe3\x1e\xc4\x93\x7f\xff\xca\x00\xe3\x79\x89\x87\x24\xcd\x3f\x3d\x74\xf8\xf6\xdf\xc7\xbf\xee\x35\x97\x2d\xed\xce\x9e\xbb\x76\xd5\x1c\xe5\xef\x4c\xae\x54\xca\xae\xf3\x55\xa2\x18\xf3\xd9\xb4\xb4\x25\xd8\xf5\xf4\x62\x46\x4c\x87\xb2\x04\xbc\x8a\xb1\x0c\x16\x69\x5d\x12\x5e\x44\xb5\x5a\xae\xe9\x0a\x96\x8d\x81\x54\x4a\x0e\x49\x7d\x14\xc1\x9c\xc6\x77\xb5\xe8\x25\x70\x77\xab\xd6\x8c\x6d\x2a\xb2\x58\xb0\xbb\xdb\xef\xa0\xce\xd7\x35\xad\x7b\xfe\x9c\x88\x65\xa9\x29\xcb\xf0\x88\xd3\xbb\x78\xcd\x48\x09\x1b\x7d\x47\x62\x97\xb6\xe8\x7c\x00\xc4\x9e\x5d\x1a\x19\x8f\xbd\x87\x17\xf7\xb2\x51\x8b\xee\x8f\xa5\x6f\xf5\xff\xf9\xda\xe7\x8f\x37\x34\x9c\xc9\xaa\x85\x88\xcd\x4b\x04\x00\x4f\xd1\xc7\xc1\x3e\x3b\xe2\x54\x06\x2e\x64\x1d\x2f\x72\x48\x06\x88\x23\x1f\xcf\xcc\xe4\xd9\x1b\xfd\x6f\x91\x4b\x0b\x4a\xef\x6f\xc6\x35\xb3\x24\x9b\xa6\xc0\x1c\x2c\x6c\x39\xc8\x13\x7d\x8a\x15\x61\xd0\x11\x9c\x28\x70\x30\x63\x72\xac\x9a\x08\x7b\xf5\x02\xc5\x28\xb8\xf3\xec\x65\x53\x28\x25\x37\xe0\x79\x9c\x22\x7d\xcc\x0a\x39\x23\x09\xd9\x6e\x07\xb7\x9d\xef\xd2\xd9\x96\x81\xd3\x46\xc0\x46\x2f\x2b\xbb\xf7\xc1\x50\xcc\x8b\xa9\xf5\xd5\x1b\xf2\x35\x9e\x29\x62\x4b\xed\x7d\x87\xe0\xe6\x33\x78\x22\xc2\xdb\x6b\x99\x2a\x6f\x07\xf9\x43\xd9\x5e\xf2\xf4\x9a\x85\xcf\xd0\x00\xd6\xa9\xd6\x4c\x2f\x9b\xcd\xc2\x11\xf7\x2e\x2b\x63\x6c\x35\x0d\x05\xa0\xed\x41\x6b\x40\xdf\x76\xd9\xec\x43\x00\xed\x04\xef\xb3\xc5\x13\x17\x7f\xa4\x38\x52\x18\xa5\x48\x29\x9e\x11\xee\x0b\xe6\x38\x2d\x45\xd8\xcf\x67\x3e\x9b\x96\xe2\xae\xef\x8c\xaf\x54\xe0\x1e\xd4\x6b\x69\xd2\x45\x27\xc3\x5b\x0b\xf9\xba\x7c\x43\x2a\x42\x61\xce\xe0\x8a\x76\xaa\x06\x08\x23\x67\xed\xfd\xbc\x01\xd6\x5c\xdf\xaa\x85\x17\x05\xb2\x69\x35\x49\x12\x0a\xdd\xc1\x64\x4a\xaa\x81\xd8\x86\xe3\xe8\x94\x6e\x64\x87\x23\xec\x4a\xc5\x2a\xdc\x71\x71\x53\xa2\xa6\xe1\x79\xce\x94\x73\x31\x78\x1e\xaf\x1e\xed\x48\xc3\x85\x43\x4e\x45\xb9\xea\x3a\x16\xd9\x16\x61\xe8\xb3\xa1\x52\x82\xfc\x19\x44\x19\x90\x07\x95\xe2\xf1\x33\x80\x8a\x11\xe3\x94\xf9\x8c\x14\xc9\x12\xa9\x78\xa0\x2c\xfa\x30\x96\xc7\x7c\x7d\xfb\x8c\x14\xcd\xb5\xcf\x42\x42\x08\x92\xc9\xf1\x62\xd8\xab\x53\x2d\x95\xa2\x9b\x4f\x95\x4b\x4e\xf6\xf1\xee\x2c\xbf\x37\x15\x76\xea\x53\xc5\xf4\x46\xc7\xc3\x22\x41\xde\xf2\x78\x49\x6a\xa9\x8b\x12\x85\x90\xaa\x83\xe2\xdc\xa5\xc8\xf6\x13\xaf\xf9\x33\x1a\x21\x65\x72\x99\x4f\x72\xe5\xaa\x1c\xa3\x2d\x99\x25\xea\xbb\x46\x5f\x46\xd1\xc8\xf5\xfe\x95\x1d\x15\x7f\x8b\xc8\x5d\xf5\x94\xfd\x16\x91\x6b\xca\x06\x91\x67\xcf\x48\x5d\x13\x79\xf6\x08\xf7\xb4\x41\xe4\x4e\x88\x3c\xfb\x35\x91\xbb\x8a\x18\x8a\xdb\x44\x9e\x3d\x2f\x0a\x9c\x11\x79\xf6\x28\x74\x9f\x34\xf8\xf5\x75\x67\xdc\x78\x76\x14\xfb\x90\xb4\xd7\x10\xcb\xaa\x8a\xbb\x12\x48\xb6\x06\x21\x88\x88\xa7\x94\xcf\x8e\x54\x21\x5f\x1c\xfd\x25\x8d\x70\xf8\x8c\x22\xd9\x91\xf5\xe9\xa5\x8c\x48\x3e\x1f\x6c\x6c\x43\x52\xab\xe9\xd2\x1b\x2e\x5a\x62\x51\xe5\x4f\x1e\x2b\xca\xca\xd4\xd2\x26\x7d\xed\x4c\x09\x58\x59\x29\xc5\xa7\x0c\x43\x36\x7d\x22\x9b\x1d\xd8\x1d\xfb\x5f\x71\x27\x01\x63\x87\x2c\xec\x79\x7d\xbd\x6b\x80\xa7\xe2\x07\x17\x4e\x66\xab\x05\x80\xd5\x52\x8f\xb4\x82\x42\xb2\xd9\x6e\x43\xd8\x6a\x02\x5a\x60\xb4\x05\xd7\x77\x81\xc9\xe9\x14\x76\x84\xcf\x14\x98\x01\xf3\xd4\x5f\x1e\xb1\x22\x62\x5b\x97\xda\xd8\xac\x93\x71\x07\x96\x50\x84\x41\x11\xd2\xac\x54\x06\x7d\x36\xff\x36\x67\x8f\x30\xeb\xc7\xa3\x59\x9f\x87\x2c\xb4\x5b\x61\xec\x85\x11\x8e\xad\x98\x61\xb3\x18\xcb\x6e\x08\xc7\xfe\x47\x2d\x87\x72\xbd\x36\xa0\xbf\x5b\x97\xd9\xcd\xcd\x54\x6b\xd5\x05\xbe\xf6\x50\xbd\x55\xd9\x1d\x9b\x3b\x99\xaa\x2c\x1e\x77\x78\xe3\x0f\xb2\xba\xde\x0d\x4e\xb7\x87\x65\x76\xad\xa0\x15\x37\x87\x6b\x7e\x79\x29\x7a\x82\xe6\x9d\x27\x67\x33\x25\xa6\x28\x5b\x28\x16\x89\xd8\xc5\x8c\x68\xb6\xd0\xc1\x85\xe7\x8a\x31\x7b\x49\xbb\x38\x25\xe8\x29\x23\x55\xef\x56\x11\xf1\x0b\xf6\x49\xbe\x96\x57\x26\x44\x5a\x73\xb0\x21\x77\xf0\x2a\x74\x59\xdf\x92\xfd\x85\xac\x67\x96\xf9\x29\x52\x28\xb0\x19\x2a\x13\xad\xc7\xa1\x1c\xfb\x9f\x11\x22\x33\x0d\x81\x6c\xdb\x83\x8c\xef\x2f\x1b\x50\xc9\x0d\x9c\x0e\x89\x0a\xa2\x64\xce\x93\x0c\x1a\x60\xb4\x01\x28\xc1\x6c\xb7\x00\xc2\x08\xf7\x22\xc9\x26\x4a\xa5\x18\x4f\x16\xce\x4a\xb9\x24\xa3\x2d\xb8\xbe\x2e\x64\x51\xe1\x40\xca\x36\x9d\x89\xe1\xd3\xb9\xdc\x25\x06\x4f\x29\x04\x1d\x96\x2e\x05\x68\x66\x41\x5e\x2b\xb2\x23\x5c\xb5\x05\xd1\x5c\xe2\xab\xec\x61\x02\x8e\x32\x02\x27\x43\x1c\xa4\xee\x50\xa1\xa5\xbd\xbf\x79\x18\x9e\x59\xaa\xb2\x56\x32\x6c\xa1\xfa\x82\xac\x02\xea\x2f\xca\x99\x8a\x81\xae\x27\x2d\x37\x2b\xab\xaf\xe0\xcd\x66\xdb\x25\xc9\x49\xca\x3b\x30\x93\x1a\xee\x2c\xee\xa8\x46\x74\x31\x53\x3e\xc1\x08\xdf\xfe\xeb\xf4\xfd\xfb\x0e\x80\x56\x60\xed\x49\x9b\x52\xe7\x1c\x9b\xc8\x02\x91\x2a\xe6\xb0\xb8\x0d\xf3\x2c\x52\xc5\x95\x61\xee\x72\xcd\xd6\x64\xf2\x36\x8b\xa6\x13\x13\xec\x80\x75\xf0\x72\x7e\x92\x49\xc6\xa5\x04\xfb\x76\xc4\x6e\x79\xe0\x78\x88\x73\x6c\xa1\x13\x82\xb2\x36\x6d\x8c\x29\x39\x9c\x95\xe7\xb3\x87\x93\x57\x22\x1b\x3b\x1d\x5d\xe5\xa2\x8f\x40\x0a\xcb\x83\x3e\x27\xc3\xe6\x1e\x42\xda\x91\x47\x30\x97\xda\xfc\x81\x22\x59\x51\x8d\xbc\x27\x2b\x4a\x81\x8f\x41\x3e\x1c\x78\xc2\x3b\x62\x6b\x16\x6d\x62\xb4\x69\x68\x6d\x0a\x85\xd1\xb9\x85\xe3\x3a\x33\xe5\xa1\x50\x9d\xdf\x4c\x23\xe6\x2c\x53\x88\x6e\x98\x8f\x2e\x74\x36\xcf\xa2\xf7\xd5\xce\x81\xcb\x67\x69\x97\x8c\x60\x89\x51\x3a\xbe\x02\x2f\xe7\x12\x06\x8e\xe4\x73\x7f\xe5\xe9\x2a\x58\xc0\x3d\x2d\x67\xa6\x52\xaa\x03\x50\x99\x4f\x99\x42\x0c\x4f\xd3\x30\xd7\x81\xeb\xac\x93\x6c\xad\x09\x07\xae\x57\x95\x9a\x15\xc6\x90\xdc\x32\x12\xdb\x78\x58\xb4\xec\x13\xa3\xb5\x49\xb8\xde\xed\xba\xf8\x1c\x69\x74\x97\xb8\x4e\x64\xbd\x13\x95\xdf\xeb\x8d\xab\xf5\x95\x4a\x40\x40\x3e\xd8\xbb\x17\x84\xc2\x29\xc5\xe1\xea\x13\x3b\x3c\x27\x5b\x97\x81\x45\xfd\x9b\x9f\x0a\x28\x11\x33\x88\xf8\xc9\x93\x2f\x71\xd0\xa7\x85\x3f\x79\x05\x05\x1d\xe5\x27\xb5\xbe\xf7\xe3\x3a\xe8\x4b\x52\x73\x7c\x18\x3f\x05\xbc\xc3\x84\x10\x8e\xd6\x0a\x85\x07\x8b\x7b\x08\x1b\x83\x6c\xe3\x6b\xe8\xbd\xa3\x18\x31\x86\x83\x8c\xb9\xcd\xab\x95\x9e\xe1\xfa\x98\xe3\x59\x88\xb5\x02\x3a\xbf\x73\x22\x77\x01\x47\x1c\x2d\x5c\x47\x6d\x4f\xd5\x2f\xd5\x7c\x38\x36\xe3\xcd\x39\xa0\x77\xf5\x88\x37\xd9\x69\x1e\xb2\xb8\x88\xca\x13\xaa\xd0\xb9\x4d\xab\x55\x5b\x3d\x0a\xb2\x93\xf6\x70\xac\x83\xee\x93\xbb\x61\xe1\x40\x11\xd7\x46\x75\xe8\x53\x34\xd8\x87\x27\x37\x9e\x10\xf6\x0c\x21\xb3\xe5\xdb\x53\xf7\x68\x1e\xd6\xac\xc5\xad\xd3\x64\x7b\x06\xd0\xdb\x58\x4a\xc7\x30\x01\x31\x77\x22\x20\x75\x39\xca\xb0\xad\x38\x06\x60\x60\x96\x82\xab\xdd\x72\x3f\x72\x4c\xdf\x78\xeb\x64\x8d\x1b\x22\xd9\xec\x5f\x99\x92\xda\xdc\x57\x99\x1f\x06\xf8\xa0\xc7\x6a\x98\xbc\x3b\x05\x0a\x4e\x03\xfa\x7a\x1b\x28\x56\xd5\xa9\x61\xae\xbb\x35\xcd\x40\x82\x3c\x21\xdc\xf7\xab\xa1\x20\xa4\x6a\x28\x67\x47\x2c\xdd\x1b\x28\x1e\x60\xd1\xb0\xc5\x6c\xdd\x98\x30\xc8\x3d\x0d\x57\x06\xe8\x12\x93\xf7\xd8\xd5\xf2\x2e\x5e\xfc\xe9\xcf\x3f\xed\xdc\x6a\x50\xe5\x34\x54\xf2\x7c\x64\x05\xcb\x9c\xac\xe4\x10\x83\x0f\xf7\x8b\xf3\x23\xba\x0a\x27\x5d\xc5\xa2\xcd\xe3\x53\x27\x55\x28\xcb\xcd\xf3\xb3\x55\x6b\x03\xc9\xff\xde\xe1\xa6\xe3\xae\x97\x4a\x0e\x47\x85\x8d\xd2\x67\xd3\x78\xd8\xf5\xd5\x62\xb2\x22\x76\xcb\x8a\x23\x36\x4d\x7b\x24\x38\xa5\x2c\x73\xe3\x7c\x4f\x37\x9d\x60\x30\xd1\xf4\x5a\x90\xae\x2b\xf2\x9f\x0d\x54\xf3\xe2\x84\x10\x66\xfc\xce\x79\xf8\x6f\x0c\x63\xd7\x58\x14\xb6\x45\xbf\x90\x75\xd0\xac\x1b\xc5\x1a\xaa\x2d\x7e\x70\x9d\xc7\x0f\x86\x70\x9e\xbe\x1b\x77\xe0\x7d\x1b\x47\x99\xcc\x7d\xd6\x24\x14\x82\x07\x3e\x43\x39\x56\xaa\xf0\x3c\xa8\x6a\xdd\x82\x51\xe5\xd5\x40\xb5\xd9\x4c\x03\x0e\x61\xf2\xf8\xdf\x34\xb2\xb5\xdc\x98\xcf\x8e\x2b\x3d\x15\xf6\x83\xec\x91\xa2\xec\x07\x8a\x8c\x60\x6c\xc4\x5b\x28\x20\x86\xcb\xc6\x7c\xca\x2b\xb6\x8c\x4f\xad\xd5\x92\x0f\xeb\xec\x98\x50\xbf\xac\xb4\x40\x50\x03\x99\xb1\x43\x75\xd4\xa5\x23\x2d\xe7\x36\xc1\x1b\xc1\xb9\x61\x89\x2e\x13\x29\xda\xf5\xec\xa6\xd2\xa6\x77\xa3\x64\xd1\x01\xad\x06\x24\x74\xdd\xfc\x8a\x84\x98\x4d\x70\xd9\x3d\xbf\xbb\x3c\x95\x74\x8e\x37\x30\x91\x9a\xab\xb8\xb3\x14\x71\x03\xb7\x7d\xa9\x7a\x36\x89\x38\x47\x3c\xc3\x22\xf8\x0a\x1b\x8a\x06\xe1\x9e\x3a\x6a\x4e\x64\x97\x12\xe0\x36\x93\x04\x52\x62\xca\x6a\xac\x6b\xb3\x3e\xc1\xde\xa1\x0e\xed\x3f\xab\x88\x40\x0e\xe7\x77\x6c\xe3\xa2\xe4\x91\xcb\x9f\x84\xbf\x03\xcc\x04\xb3\xbe\xa3\xd0\xbe\x95\x62\x7c\x8e\x94\xf3\x90\xa8\x78\x08\xac\x80\x88\xed\x6e\x8c\x21\x23\x7a\x56\x90\x55\xb9\x2c\xa6\x73\x29\xb5\x42\x1a\xff\xb3\x0a\x54\x09\x27\xbd\x50\xdc\x33\x06\xd7\x91\x2b\x1b\xd8\x50\x5f\x11\xe9\x59\xf7\x0c\xba\x65\xf0\xa2\xc8\xca\xca\xc1\x41\x44\x5f\x67\x50\x03\x8f\x0e\xd1\x9b\x3b\x41\x29\x9c\x18\xa0\x70\xcb\xf6\x6c\xd1\xfd\x51\x56\x3e\x75\xa2\xd8\x6a\xd5\x40\xa1\x77\xb9\x08\x57\xc7\x65\xc0\x9b\xea\x82\xa1\xb5\x78\xe4\x40\x3e\xc2\x31\x75\xb9\xd0\x4e\x12\x52\xa7\xa5\x8c\xff\x8d\x63\x68\x65\xb8\x6a\x5d\x32\x50\x74\x46\xea\xf9\x8d\x05\xdb\x2e\x67\xa6\x8f\x08\x7f\x3c\xdd\xba\x49\xf8\x9e\x62\x2c\x78\x8a\xea\x18\xea\x44\x57\x46\x61\xb2\xd9\xb9\x9e\xd3\x3d\xe5\x14\x57\xb4\xdf\x84\x88\xef\x20\xaa\x60\xb7\x52\x9f\x13\x71\x2d\x43\x26\x97\x5e\x25\x6f\xd6\x3b\xea\x54\x28\xc1\x5e\x1f\x1a\xa6\x4b\xcb\xc0\xa7\x93\x2c\x7c\xea\x64\x21\xb6\x35\x83\x70\xe0\xb3\xa7\xc8\x1e\x16\x80\x1e\x82\x3d\x0c\xfa\x6c\xca\x94\x45\xa8\x08\x1b\x37\x69\x3e\xbd\x52\xb2\x11\x40\xe6\xa8\x5d\x52\x70\xee\x00\xe3\x7c\x5f\xf2\x7d\xaa\x2f\x83\x6e\xb8\x83\x03\x46\xb2\xcf\x64\x71\x6a\xe0\x22\xd9\xb2\x18\x6e\xe2\x0a\x8a\xaf\xba\x8a\x94\xf1\x3f\x65\xdf\x0a\xeb\xb5\xc4\x1d\xc5\x7b\x5d\x4d\x9e\xba\xe5\xca\xa2\xda\xf7\xaf\x95\x72\x55\xd7\xeb\x65\x30\xfb\x1a\x2b\xac\xe3\x56\x63\xc6\x9e\xdc\x90\xc9\x77\x26\x46\xd3\x0a\x32\x74\xab\x13\x2c\xd3\xab\x57\x74\x82\x79\xd3\x42\xf4\x86\x6a\x2c\xdd\x92\xf3\x1b\x89\xfc\x9f\xbf\xfd\xf5\xde\x61\xf0\xfd\xfb\x92\xd8\xa2\x4d\xa4\xa1\xc5\x4d\x4b\x43\x82\x75\x46\x24\x0e\x98\xe4\x9a\xc8\x55\xb8\x72\xd4\x70\xcc\x94\x52\x1e\xf4\xa9\x57\x02\x25\x52\x2e\x67\x59\x3d\xd1\xfc\x45\xbf\x59\xf6\xfc\xcf\x0e\x67\x38\x45\xf6\x21\x4f\x4c\x51\xdd\xdb\xf0\xb6\x6c\xad\xcb\xe0\xe0\x21\x1a\xda\xe2\x50\xab\x81\x09\x1f\x93\x2d\x59\x86\xee\x9c\xa8\x86\x62\x12\x75\x87\x24\x25\x14\xa9\x41\xaa\x2e\x5a\xbd\xd0\x13\x27\xe2\x28\xbb\xcd\xf8\x4a\xec\xab\xec\xb8\xc8\x07\x38\x9c\xc7\x92\xd4\xa6\xad\x66\x62\xdc\xda\x06\xaf\xa6\xab\x94\x2b\x8c\x58\xa7\x51\x48\x26\xc1\x46\xc4\x47\x03\xb7\x6b\xa1\x2b\x67\xc8\x02\x3b\x26\x54\x9c\x71\xd9\x2c\x62\xce\x90\xf5\x81\x6c\x78\x35\xe4\x93\xa3\x20\x6f\xe4\x5c\x00\x37\xc4\xe4\xd8\x83\x9b\x82\xa1\x10\x12\x05\x59\xee\xab\x8f\xca\xa6\x01\xe8\x10\x00\xdb\x0f\xc5\x93\x07\x2c\x42\x8e\x94\x92\xbc\x9a\x19\x1f\x28\x64\x6c\x04\xaa\x97\x71\x01\x3c\x80\x2b\x22\x3f\xfd\x59\xb6\x0a\x49\x1e\x40\x1e\xf3\x78\xb8\xa3\xec\x92\xb0\xff\x73\x75\x92\xb5\x68\x4a\xd1\x1e\x65\xf2\x6a\xd0\xec\x2a\x25\x48\xa0\x2c\x7b\x2f\xa9\x2a\x52\x09\xa2\x6f\x0a\xd7\x91\xc7\x66\xcc\x07\x0a\x40\x38\xf7\x41\x6f\xd4\x21\x76\x02\xeb\x4d\x8d\x3b\x43\x41\xb5\xde\x01\x4a\x87\x9c\xad\x32\x0e\xf2\x82\xf5\x10\x5a\x06\x47\x69\x8c\xfd\x97\x7c\x7c\x7f\xf3\xe4\x43\xa1\xe0\xdd\x91\x6a\x71\xe3\x51\xb9\x15\x51\x06\x90\xf4\x57\xb8\x22\xb2\xd0\x9f\x70\x0e\x59\xc6\xd5\x89\x3f\x52\xad\xc2\x5e\xdc\x76\x3e\x01\x06\xda\x45\xc4\x89\x93\x17\x32\x8e\xfb\x8a\x21\xa7\xb0\xeb\xb6\x18\xf2\x2e\x7f\xe1\x2c\x93\x0f\xd4\x77\x59\x37\x83\xa8\x02\x83\xfa\x38\x3f\x65\x02\xc8\x73\x13\x12\xed\x74\xb7\x44\x62\x6c\x98\x52\xf4\xe3\x8a\xe7\x81\xfc\xc5\x25\xc0\x72\x52\x3a\xc0\xc9\x53\x80\xbc\x2b\x38\x42\x29\x1c\x8e\x1e\xe4\xac\x4f\x25\x6f\x57\xf3\x20\xcf\x74\x4e\x94\x4c\x22\xe9\x1e\xfb\x42\x36\xca\x3e\x11\x07\x9a\x41\xea\x4b\x8e\x62\x86\x42\x85\xfb\xe7\x3c\xd6\xeb\x8a\x7c\x5a\xb4\xd3\x79\x6d\xa8\x01\x57\x90\x85\x6d\x43\xc2\x10\x58\xd9\xd5\xb1\x0c\x9b\xda\xfb\xca\x5a\x04\xe4\x7a\x21\x4a\x0f\x2a\x60\x1b\x8e\xa2\xd2\xcb\x5f\x1b\x48\x19\x46\x9b\xa8\xe4\x3a\x9e\x19\xe0\xbe\xaa\xc0\xc5\xb9\x96\x0a\x7a\x68\x97\xd7\x81\x5c\x72\x32\xe2\x25\xcb\x9f\xd0\x13\x65\xa1\x18\xe1\x26\x05\x7f\x70\x89\xac\x07\x37\x14\x0a\xc1\x19\xca\xc9\x53\x65\x85\xc2\x67\xe9\x5e\x14\xb6\x76\xf0\x95\xa4\xe2\x1d\x15\x50\x08\x22\x8d\xe0\xe4\x81\x7c\xad\x30\x4a\x49\x59\xd6\x39\xc9\x24\x6b\xcb\x91\xbc\x6c\xa5\x27\xb2\x76\xc2\x07\x56\x2f\x1d\x27\xb0\x56\x9c\xec\x8c\xf1\x2e\xc8\x56\xcd\x27\xa3\xc5\x31\x2b\xa0\xbf\xd7\x32\x5d\x11\xf5\xc7\x90\x17\xe5\x1e\x36\x43\xaa\x31\xf9\x46\xda\x14\x84\x17\x82\x2d\xa2\x8a\x8a\x16\x23\x4d\x6f\x88\xfe\x67\xb2\xd2\x3e\xeb\xfc\x2b\x05\xe1\x5f\x2f\xac\x63\x28\x01\x42\x8b\xa5\x61\xb5\xdc\x41\x2c\xf9\x50\x98\x3f\x1c\x97\xb3\x66\xa1\xdc\x68\xd3\x91\xb1\x81\x1a\xda\x7f\x8d\x67\x6a\x86\xd0\x78\x0a\x64\x5d\x18\xf4\x09\x79\x47\x01\xd8\xef\x2e\xc0\x80\xcb\x93\xad\x51\xc1\x6a\x6a\x85\x25\x70\x84\x20\xe5\x42\xcc\x89\xbc\xf0\x42\x75\x14\x5d\xbe\x90\xb5\x6e\x2d\xf4\x43\x39\x23\xd0\x3e\x62\x53\x33\x1f\xa9\x64\x96\x3f\x3d\xe8\x18\x54\xfa\x94\x84\xbf\x76\xc6\xe5\x64\x5f\xf7\x9c\xa9\xd4\x76\x84\xb0\x94\xf5\x42\xdf\x91\x5f\x89\x33\x0c\x4a\xe1\x7d\x5f\x29\xba\x0a\x74\x32\x91\xf0\xd6\x53\xce\x01\x4a\x93\x9a\x42\x73\x2d\xab\x8e\x36\x27\x6a\x74\x54\x84\x06\xc6\xc3\x19\xf2\x42\x13\x10\xa7\x90\xd1\xce\x16\x58\x16\x06\x5f\x28\xb2\xd0\xb9\x34\x26\x07\x61\x23\xf2\x41\x24\x52\xce\x94\xaa\x46\xda\x29\x54\x45\x7c\xfa\x18\xc8\x09\x71\x17\x47\x91\xd5\xfa\xa3\xe2\x13\xd0\x1d\x71\x9a\x03\x96\xc4\x5b\x50\x3a\xbc\x7f\xae\xa2\xf1\x0f\x51\x58\xf8\x88\xfb\xa4\x41\x9f\x4d\x73\x00\x39\x5a\xac\x46\x51\xa4\xac\xa8\x5c\x25\x22\x9c\x0c\x83\x1f\xb3\x08\x5c\x9c\x8a\x53\x76\x59\xe3\x3f\xd9\x90\xc8\x45\x91\x85\x3e\xcb\x18\x19\x0a\x70\xc8\x44\x3f\x60\x1f\xe4\x65\x90\x9d\xad\x32\x4d\x88\xb1\x19\xeb\xd1\x91\xcf\x03\x1e\xed\x96\xd0\x47\x03\x69\x7d\xd6\x31\x52\x03\xd3\x58\x59\xde\x49\xe5\x98\xa8\x14\xec\x9e\xca\xb8\xef\xb3\x22\x84\xf5\x1c\x23\x67\x7d\x34\x5e\x4d\xb2\x9a\xa4\xf0\x84\xa1\xd7\x09\x18\xda\x05\x61\xc8\x70\xe6\x72\x03\xb7\xe3\x74\x37\x90\xcd\x49\xf1\xed\x6c\x08\x94\x02\x8e\xe5\x4b\xf6\xe4\x92\x88\x2f\x07\x0b\x05\xbd\xa4\x0f\x14\x84\xde\x3c\x10\x51\x5a\x2b\xd8\x53\x72\x91\xaa\x93\x8c\x6e\x6c\x42\x00\xd6\x98\x08\xaf\xa4\xd3\x14\x43\x06\xd8\x82\x2c\x95\x22\x41\xc8\xcb\x26\x49\xc1\xea\x28\x8a\xcc\xac\x31\x53\x71\xc7\x48\x55\xa1\x2a\xc7\x9d\x21\x65\x21\x67\x27\x8b\x3e\xd7\x8c\x39\x70\x2e\xc3\x3c\x4a\x3f\x20\xfc\x2d\x4e\x14\xf0\x5f\x6a\xea\x11\x4c\x95\xd5\x03\x51\x98\x02\xd0\x85\xed\xea\xa3\x69\x31\xe1\x95\x2c\x3a\x22\x0a\x30\x16\xd6\x90\xb4\x4c\x27\x3a\x24\x17\x4f\x51\x83\x88\x50\x91\xa6\x66\xd9\x17\x88\xe8\xf1\xb6\x10\xb0\xe8\x7c\xa1\x22\x9b\xab\x48\x0e\x80\x66\x45\x41\xf9\x62\x8a\xe8\x63\x71\xb2\x92\x62\x74\x46\x43\x07\x19\x1c\x08\x30\xe1\x33\x35\xe8\xa2\x04\xe1\xea\x45\x72\xb3\xfc\xe9\xaf\x21\x89\x36\x9c\x5e\x85\xc7\x9d\xf7\xe4\x9c\x46\xad\x4f\x8e\x4a\x06\x94\x90\x88\x06\xd1\x61\x4a\x10\x3e\x45\x54\x12\x27\x03\xb8\x9c\x75\x73\xfd\x01\x96\xc4\x9e\xd5\x94\xd8\x31\x0e\x0e\x40\x2a\x20\x9a\x63\xa2\x9a\xea\xa0\xcf\x51\xec\x0b\x29\x66\x7e\x44\xba\xde\x71\x32\x59\xb8\x1c\x22\x5a\x51\x59\x81\x5a\x34\xe3\x6f\xa7\xee\x02\xc8\xd3\x03\x54\xcf\x31\x5d\x34\x17\xbb\xb3\x91\xa1\xef\x8c\xd8\x15\xb4\x62\x98\x4a\x84\x4f\xc3\xcd\x7c\xa3\xd9\x79\x73\x92\xc0\x54\xca\xe3\xfd\xc3\x0e\xdf\x5f\x49\xda\x0d\x58\x2e\xa2\xa5\xdc\xea\x70\x81\xb1\x3b\x72\xc8\x96\xf6\x56\x77\x53\xb3\x9d\xf7\xd2\x09\x7f\xb3\xb3\x45\x6d\xf1\x6f\xe6\xd2\x3a\xab\x5a\xf6\x4b\x06\x14\xf8\x71\x47\x3f\x0c\x5b\xb7\x82\xb4\xcd\xdb\xae\x28\xd3\x28\x6f\x35\x71\xe1\x56\x30\x4e\xdb\x56\x97\xed\xc2\xaf\xa0\x51\x02\xaa\x1c\x4a\xb7\x3b\x5e\x93\xd6\xb5\xdf\x8f\x40\x30\xb6\xd0\x56\x5f\xf0\xbf\x6c\x85\x7c\x7b\x8e\x31\xaf\x18\x41\xaf\x9c\x9e\xb8\x49\x82\x7e\x96\x94\x8c\x45\x7b\xfa\xde\x3e\xe0\x3d\x4d\x6a\x65\xe0\xe0\x06\x8e\x46\x40\xc8\xae\xe3\xe5\xa5\x85\xc2\x31\xcc\x7f\x84\xaf\x6d\xb9\x87\xbc\x74\x7f\x7f\xfb\x3f\x1f\x07\x91\x5b\xc1\x62\x86\x6d\x87\x91\x46\x55\xae\x9d\x51\xdc\x9a\xd8\x46\xa2\x66\x23\xdf\x62\x5a\x95\xe2\x51\x99\x70\xed\x8d\x49\x55\xf6\x41\xa5\xa6\x2f\x6c\xef\x94\xd2\xe7\x23\xd4\x61\x6e\x1c\xb5\xef\x69\x36\x37\xee\x37\x98\x9b\x4f\x04\x67\x6b\x04\xf9\x65\x4e\xa3\x57\xca\x6d\xf4\xf6\x9f\x1d\xa1\xea\x87\xf6\xb5\x23\xda\x25\xa5\xe2\xff\xf7\xaf\xe0\xbc\x9e\xe3\xc7\x80\x13\x77\xd8\x6e\x11\x4c\xe0\x1f\x2d\x19\x46\x97\xf4\x47\x56\xba\xcf\xc7\x68\x2b\x03\xb9\xb8\x24\x3a\xab\x1e\xf6\x4b\xa2\xb3\xc8\xf8\xfe\xe6\xb4\xaf\x8b\x0b\xf5\xd9\xe8\x4d\xcc\x77\xdf\xc1\xef\xca\x7c\xab\x7c\xdb\xcc\xa7\x51\x22\x3e\x62\xbe\xe6\xd9\xf7\xd8\x58\xfe\xe9\xa7\xe3\xdb\xf7\xdd\x0e\x20\xf1\x8e\x9f\xe3\x44\x42\x1f\xfa\x39\xba\x3b\x7e\x8e\xdb\x24\x54\x14\xf0\xea\xc3\xc5\xe5\x23\x37\xc7\x0f\x16\x97\x52\x10\x12\xd4\xc6\x74\x86\xa7\xa8\x91\xe7\x1a\xed\xb7\xd4\xc1\x6a\x86\x61\x2b\x83\x1d\x3c\x95\x52\xcf\xe6\x9a\x85\xd7\x28\xb9\x28\xc4\x5c\xab\xe9\xb3\xe0\x82\xa1\xbe\xbf\x55\x72\xde\x99\x4c\xcc\xac\xd9\x5d\x2b\x71\x8d\xe6\x9a\x53\x39\x5f\x73\xac\xad\x2a\x73\x2a\x63\xc3\xcd\x56\x0e\xab\x76\xe0\xcb\x56\xad\x00\x4a\x50\xca\xe3\x52\x75\x24\xb8\x7d\x4b\x9e\x15\x82\xeb\x23\xa5\x2c\x97\xbc\x8f\x62\xe4\x94\xc9\x43\xf2\x7e\x84\x9c\xc6\x75\x52\x59\xaf\x23\xaf\xb9\x6e\x33\x88\xce\xee\x25\x0f\xda\x49\xe0\xe7\x44\x01\x76\x7f\x1d\x48\x37\x7b\xe2\xe2\x06\x7b\x8e\x94\x22\xa0\x17\x62\x3e\xf6\x68\x95\x5e\x21\xc3\xae\x59\x52\x6f\xb8\xd8\x4a\x79\x96\xea\x2a\xc5\x1e\xc4\x5e\xc1\x91\x8b\x7b\x7f\x4b\xb8\xda\x93\xfd\x2f\x0e\xfd\x78\xc8\x4b\x84\x6c\xdb\xa0\xb7\xaf\x75\x95\x25\x46\x1b\x2e\x97\x90\xaa\xed\x59\xbc\xdb\xc6\x4d\xed\x82\xa9\xf0\x86\x92\xfd\x1b\x90\xd3\x67\x56\x69\x4f\x15\xc8\x74\xa5\x84\x25\x13\x82\x07\x67\x8c\xba\xc5\xee\x76\x64\xf7\x9b\xdc\x6e\xe7\x12\x63\x8b\xd7\xb5\x9e\x3a\xe7\xbb\xf7\xaf\xe5\x5e\x18\xa9\x8f\xe5\xdd\x87\x22\xd9\xee\x16\xc9\xbc\x5f\x24\x7f\x66\x55\x5f\xcc\xe4\x63\xcb\x7a\xa5\x28\xec\xb4\x8a\x78\x00\x77\x0a\x70\x82\x07\xe3\xad\x22\x10\x28\x33\xdd\x64\x37\xbb\x60\x48\xb3\x95\xa3\x31\xd3\x73\xa5\x98\xaa\xb4\xe1\xfd\x6b\xbc\x1d\xe5\xe9\x8e\x18\xd9\xd0\x2b\xfe\x11\x12\xee\x33\x33\x77\xfa\xf6\x3f\xc7\xbf\x7c\xdf\x01\xdd\xf6\x2f\xa0\x43\x58\x8a\x51\x6d\x23\xd7\x50\xf2\x05\x34\x94\xdb\x8d\x78\xee\xc1\xb7\xd5\x9b\x85\x39\x5d\x32\xe5\x35\xa2\x3b\x93\xb7\x15\x20\xb8\xee\x6c\xa6\x42\xd6\x4e\x1d\x5a\x0b\x72\x98\x8d\x6a\x10\x50\x37\x4a\xae\x17\xa9\xac\x2f\x00\xb5\x18\xad\x65\x2c\x22\x55\xd1\x80\x2d\xee\x86\x5d\x2e\x6b\x95\xc0\xf3\x58\xe3\x80\xec\x1d\xda\x98\x47\xb7\xb2\x76\x4b\x4f\xe1\x45\xb7\x8d\xb8\x26\x8f\x1a\x9b\x23\xc5\xf3\xf5\xfd\x95\xe6\x82\x0a\xa6\x1e\xbd\x92\x6f\xc7\x92\xb1\x46\x5c\xd4\xc8\xff\x52\x48\x68\x7d\xea\xb1\xca\xa6\xf4\xd9\xb8\x3c\xbe\xe6\x8c\xf4\xfe\x2f\xac\xc2\x24\x2a\x3e\x90\xef\x15\x17\x47\xde\xab\x9c\x84\x8d\x08\x97\xde\xd3\x03\x3b\xfb\x48\xc1\xa7\x4b\x24\x76\xa5\xd7\x59\x98\x2c\x40\x98\xaa\x0b\xa2\xdb\x8c\xa5\xac\x7d\x32\xb4\x1e\x64\x31\x5b\x15\x91\xc6\x22\x4e\xe1\x05\xb5\x75\x05\xa0\x1a\xc0\x2c\x86\xe7\xb1\x2b\xef\x6f\x88\x9d\x22\x64\x53\x3a\xcf\xd6\xac\x8e\xaf\x53\x7b\x16\xf0\x74\x6e\xd1\x9f\x85\x3b\x6e\x62\x4a\xc1\x5d\x47\x83\x97\x6e\x1c\x28\x75\xea\x01\xf7\xef\x1a\x79\xb9\x35\x7f\xe9\x68\xdb\xd2\x66\xdd\xbf\x73\x66\xbc\x97\x9a\x3f\xa7\x41\x85\xc0\x5b\x52\xcf\x2e\x05\xd2\x86\xc8\x6a\xf2\x43\x24\x0e\x6f\x09\x3e\x3b\x25\xbb\xf3\xad\x22\xe6\xa2\xd5\x6c\xa4\xcf\x84\xda\x96\xd0\xb3\x66\x2e\xf5\xcc\x4c\xec\x7d\x65\x9c\x80\x6d\xaa\x61\xf2\xe0\x7f\xbc\x8a\x75\x6f\xc5\xfa\xdc\xf2\xfd\x29\xc5\x8b\x53\x5a\x89\x03\xbb\xe4\xd3\x2d\x81\x60\xef\x89\x03\x3b\x97\x06\xb7\x84\x81\x9d\xcb\x1c\xb3\x95\x61\xc6\xec\x5b\xc2\xc0\x9a\xb9\x34\x18\x7b\xf2\x2f\xa4\xbe\xfd\xf2\xff\xfd\xfd\xf8\xf3\xa3\xa0\xd6\x81\x8a\x4d\xc3\xe8\x6c\xa6\x97\x5d\xde\x26\x8a\x25\xea\xa7\x01\xcf\x0b\x23\x7a\x9b\x2c\xfe\x59\x14\x1d\xd8\xda\x4c\xa9\xfa\x3c\xb5\x3c\x92\x43\x7d\x59\x6c\x32\x14\x41\x01\x1e\x83\xe0\x6d\x7a\x41\x85\xaf\xb6\xc1\x73\x44\x4c\xdc\x94\xaa\xcf\x03\xf2\xbc\x7f\x75\x40\x4e\x4b\x4f\x0e\x6d\xd4\xa7\x5a\x7b\xe2\x7b\xab\x6f\x95\xec\xda\x7b\x97\x1b\xe9\x5c\x89\x6b\x18\x9c\x3b\x6c\x17\xef\x06\xcd\xf1\xd2\x9a\xf1\x2f\x77\x3e\xdb\x08\xea\x31\x51\xe2\x89\x81\xe0\x17\x8f\x94\x7c\x95\xbf\xb6\xea\xb5\x6f\x17\xa0\xc8\xc0\x57\x35\x7a\x72\x25\x8d\x09\xf2\x77\x6a\x10\x33\xf3\x37\xe5\x03\xde\x7e\xf1\xc4\x61\xa3\x54\x3c\x0e\x92\xf8\xfe\x15\x6e\x3d\xbe\x7e\x61\x58\x7e\x96\xf1\xa9\xbf\x0e\xac\xe5\x7f\xe1\xa0\xf0\x98\x03\x6c\xed\x90\x23\x6a\x16\x6d\xdd\x93\x6b\x9d\x60\xad\x87\x45\xf9\x4f\xf0\xff\x93\x6a\xd6\xc9\x83\x66\x40\x0b\xdf\xdf\xbc\x0a\x82\xb8\x92\xfb\x57\xc9\xb3\x71\xe5\xc2\xf3\x65\xe9\x1f\x78\x1d\xf4\x1b\x50\xca\x27\x54\x8f\x7f\x12\x1e\x17\xf6\xe9\x79\x7c\xfb\xc2\xfc\x83\x3b\xe4\x89\x7f\x3f\xb8\x45\x5e\x08\x84\xfe\x3e\x75\xf3\x4e\x7f\x6a\xe2\xe7\xa7\xea\x41\x1b\xae\x7f\x06\xde\x0a\x1a\x45\xc3\x96\xb9\x0a\x3f\xdd\xb4\x4c\x37\xfd\x5b\x3a\xda\xfa\xa6\xff\x66\x2e\xd3\x5f\x0b\xf5\x07\x0a\x1b\x46\x08\x51\x6f\x77\x1f\x9b\x9f\xf7\xe3\xdf\x1e\xd7\xdd\x3d\x4c\xde\x6d\x5a\x3a\x71\x07\x9f\x29\x57\x3e\x1b\xaa\x2c\x4d\x0c\xb6\x0e\x85\x42\xa1\xba\xf4\xa9\x08\x55\x03\xdd\x89\x06\x63\xe1\x77\x21\xdb\xc0\x1e\x3a\x88\x8b\x2c\xd6\xf9\x2c\x85\x19\x14\x66\xa4\x30\xd3\x95\x66\x80\xcf\xaa\xc5\x69\x69\xa6\x2f\x8d\x4a\x81\x3d\x6e\x78\xff\x1a\xe0\xa7\x24\xbb\x8f\x58\xce\x99\x4a\xa2\xb2\x5c\xee\x28\x25\x2a\x51\xfa\x90\x22\x1c\x03\x92\x1f\x32\xa5\x6a\x2a\x39\xeb\x8c\xbc\xe2\x4c\xff\x92\xa1\x94\x0c\x5e\xa3\x14\x03\x2c\xc2\xbc\x91\xb7\x60\x57\x76\x1b\xf9\xe9\x83\xe9\x79\x54\xb3\xf6\x39\x92\x5d\x8a\x5c\x0a\xc0\xf6\x01\x32\x4f\x1d\x02\xdc\x07\xe0\xb3\x4f\xd5\x76\x19\x31\x37\x3e\xc9\xae\xc6\x55\x5d\xe6\xfb\x88\xc6\xf0\x07\x4d\xc1\x9f\xa5\x34\x83\xd2\x0c\x4a\x33\x7d\x71\x46\x21\xc5\x9c\x4f\xcf\x85\x42\xae\xe4\xe2\x92\x66\x4a\x4d\x30\x3d\x7c\x7f\x83\xf7\x94\xd0\x8b\xaf\xe7\x00\xf7\xe2\xc2\xcb\xbc\x09\x27\x62\x08\x59\x59\x84\x61\x83\xc7\x0c\x05\xa9\x9c\xe1\x0a\x5c\x39\x9b\x65\x5c\x27\x4c\x0e\xcb\x94\x95\x72\x96\xf7\x8c\x83\x1d\x21\xde\x1b\xe4\xbd\x87\xc0\x0c\x65\x7a\x7e\xcf\x18\x58\x38\x37\xae\x43\x14\xc2\x0a\x94\xad\xec\x79\xd2\x12\xba\x2b\xc0\x58\x5f\xc8\xbe\xf1\x98\x81\x8f\x87\x70\x4a\x77\xd9\xe2\xb9\x80\x93\x02\x25\x2b\x63\x15\x19\x66\x9f\x88\xc1\x17\xd3\x76\x10\xac\x33\xbc\xd4\xb3\x3e\x25\x87\x97\xbf\xa6\x02\x69\x94\xd0\x18\xa6\x08\x43\xdc\xd0\x53\xea\x00\x97\x83\xe7\x8c\x68\x77\x95\xac\x85\xa9\x54\x63\xb9\x34\x72\xdc\x9a\xe1\xdc\x82\xe1\x3c\x6c\x2c\x3d\xc5\xba\x07\x35\xcd\x53\xce\x03\x53\x89\xa9\x1b\xcb\x49\x84\x18\x47\x31\x23\x60\x74\x5c\x76\x96\xa3\x53\x30\x8b\x92\x61\x2a\x1a\x0d\xb6\x86\x8e\x7c\x27\xa0\x85\x53\x1c\xfb\x33\x65\x9b\x60\xcc\xeb\xb1\xd3\xaf\x19\x06\xe8\xf3\xbc\x30\xd7\x47\xbc\xe1\x33\xbc\x60\x23\x82\xef\x26\x44\x3b\x5f\x9a\x07\xa3\x7e\x46\xfd\xd2\x3e\xd3\xb5\x4f\x6d\x94\x7d\x13\x6d\x26\x91\x4f\x46\x28\x61\x8f\x1b\xcc\x48\x9e\xfb\x10\x5e\x28\xe7\x4c\xa5\x2e\x16\xb8\x89\x5b\x9f\x13\x05\x34\x3e\x2e\xd1\xdb\xe0\x5d\x44\xb5\xf2\x99\x38\x46\x03\xff\x47\xe2\xb4\x11\x56\x2d\x88\x20\x91\xb5\x2d\xe7\x22\xd5\xec\x3a\x13\x2f\x39\x0c\xcc\x54\x7d\x84\xd3\x63\x14\xa2\x28\x7d\xf8\x79\x6f\xab\x21\xe0\x16\x46\xe1\x68\xe1\xee\x08\xbf\x14\xaa\x7d\xe4\x79\x40\x20\x38\x2f\x7a\x70\x0d\x09\xa6\xbc\x37\xfc\xb3\xae\x2c\xf0\xa1\xf3\x9b\xa3\x12\x10\x97\x32\x44\xd9\xfd\x73\x55\x5b\xa2\xf4\xec\x89\x2b\x0b\x65\x20\xdc\x5c\x70\x8e\xca\x5a\x92\xb1\x17\x3e\xf1\x65\x60\x7f\x66\xe9\xb0\x71\xc4\x00\xc4\x4f\x9c\xf1\xdc\x17\x02\xc3\x41\x90\xe5\x85\xbf\x11\x50\x10\x12\x82\x68\x9e\x47\x8f\x9e\x64\xc8\x3b\x47\x3e\xe5\xad\x79\x84\x35\x2e\x76\xe0\xa5\xa3\xc1\x26\xc0\xcf\x40\xe5\x46\xf4\xdb\x5d\x91\xaf\xde\xbf\x7f\x7f\x33\x3f\xed\xbd\xe3\xb1\x94\x57\xb1\xf3\xf5\xe3\x0b\x2b\xca\x6d\x7f\x18\xae\xa8\xa6\x97\x3e\xa9\xa1\x13\x49\xda\x21\x2f\x91\x8b\xb0\xf1\x88\x07\xb6\x2f\x7d\x42\xc3\x49\xdd\x45\x99\x39\x0e\xee\x08\xf4\x94\x32\xd2\xb8\xc8\x66\x80\x8d\x84\x10\xcf\xc0\x7b\x1d\xe4\x19\x6f\x48\x56\xa4\xe1\x99\x9e\xe6\x05\x69\xe0\x92\x38\xb8\xf7\xaf\x5e\x4f\xa3\x73\x3c\x4a\x53\x87\x3c\x62\x87\xc0\x64\xdf\x0e\xf3\x1f\xa5\xcb\xf8\xf5\xd1\x03\xdd\x71\xa2\x76\x09\x0b\x54\x1a\x36\x66\x29\x51\x3c\xf1\xe6\x34\x95\x4b\xff\xfb\x88\x20\x75\x08\xfd\x0b\x98\xa0\x11\x99\x78\x26\x8f\x58\xeb\xdd\x03\xae\xe6\xe2\xc0\x9d\xb1\x9f\xa7\x12\xe1\x82\xcf\x49\x94\x6b\xc4\x9d\x15\x1e\xbc\x31\x3f\x48\xc3\xd3\x3f\x2d\x0d\x04\xb5\xf4\xf7\xaf\x8e\x74\xf8\x3b\x60\x1b\x40\x32\x77\x5e\xf0\xa6\x7e\x7a\x6e\xbe\xff\xfd\xd7\x7d\x5c\xa4\xcd\xb3\xbd\x21\x46\x3c\xad\xec\x2b\xe2\xc9\xe4\x8f\x07\xd3\x35\x1a\x5c\x50\x3b\x2b\x9d\x43\x21\x09\xa0\xf6\x08\x6a\x4f\xb7\xa4\x24\x12\x95\xe8\x97\xe4\xce\xad\xfc\xf7\x37\xf9\xc5\x64\xb5\xb0\x9b\x91\xbb\xb4\x3e\xb4\xa1\x9e\xc8\x5d\xda\x1f\x1e\xb7\xd2\x9c\x46\x74\x27\x7e\xe8\x4a\x2c\xb5\x21\x8d\x1b\x43\xba\x47\x80\x28\xdd\x2c\xe8\x93\x95\x32\x07\x90\x29\xe8\x13\x01\x4b\xd9\xdf\x5e\x77\x12\x7b\x25\xd3\x25\x81\xb2\x16\xff\xae\x94\x20\x2b\xd7\x12\xe3\xc8\x0e\x95\xe2\x92\x40\xad\x15\x0a\xdd\x37\x9a\xff\xfe\xcb\xe5\x2f\xff\xf1\x6f\xc3\xf0\x7f\xfe\xfd\xbf\xbe\xff\xe9\x7f\xff\xe3\xdf\xfe\xcf\xbf\x9f\x7e\x7d\x3b\xff\xc7\xbf\xfd\xff\x01\x00\x00\xff\xff\xc3\x65\xf7\x4a\xf5\xbc\x0b\x00") func uiDistIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -1226,8 +1225,8 @@ func uiDistIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/index.html", size: 769344, mode: os.FileMode(0644), modTime: time.Unix(1680804356, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x31, 0xc0, 0xa2, 0x2c, 0x67, 0xf9, 0xf2, 0xff, 0xc, 0x5b, 0xa7, 0x96, 0x80, 0x93, 0x5b, 0x78, 0x98, 0xc, 0xd4, 0x2d, 0x19, 0xdc, 0xff, 0x4b, 0xb0, 0xe8, 0x62, 0x65, 0xb0, 0x48, 0xfa}} + info := bindataFileInfo{name: "ui/dist/index.html", size: 769269, mode: os.FileMode(0644), modTime: time.Unix(1676568144, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xbf, 0x5f, 0xac, 0x74, 0xae, 0xa1, 0xcb, 0x1f, 0xf4, 0x9a, 0x65, 0x5a, 0x63, 0x85, 0x3, 0x7, 0xbe, 0xb3, 0x98, 0xb4, 0xa3, 0xdd, 0xe, 0x45, 0x4, 0x23, 0x4b, 0x96, 0x16, 0x73, 0x46}} return a, nil } @@ -1246,7 +1245,7 @@ func uiDistManifestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/manifest.json", size: 1264, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/manifest.json", size: 1264, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x40, 0x3e, 0x7d, 0x7, 0x86, 0x8f, 0xaa, 0x5a, 0xad, 0x4b, 0x17, 0x2d, 0xf3, 0xbf, 0xb2, 0xe, 0xf3, 0x2, 0x40, 0xa2, 0x5f, 0x17, 0xb, 0xbb, 0xd9, 0xe0, 0xc4, 0xc3, 0x5c, 0x31, 0x1, 0x1c}} return a, nil } @@ -1266,7 +1265,7 @@ func uiDistManifestWebapp() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/manifest.webapp", size: 299, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/manifest.webapp", size: 299, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcf, 0xab, 0xb4, 0xfc, 0x16, 0x99, 0xd1, 0xbc, 0x9b, 0xb1, 0x39, 0xca, 0x36, 0x7c, 0xbb, 0x5f, 0xf7, 0x95, 0x73, 0xb7, 0xbe, 0xb5, 0xf9, 0x28, 0x3, 0x2a, 0x60, 0x9f, 0x7b, 0xf5, 0x87, 0x38}} return a, nil } @@ -1286,7 +1285,7 @@ func uiDistMstile144x144Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/mstile-144x144.png", size: 12260, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/mstile-144x144.png", size: 12260, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x36, 0x48, 0xba, 0x82, 0x25, 0xc9, 0xac, 0x15, 0x4e, 0xc3, 0x80, 0x3, 0x2a, 0x96, 0xdd, 0x1, 0x8a, 0xcc, 0x8c, 0xec, 0xdb, 0xfe, 0x6, 0x80, 0x74, 0xfa, 0xe1, 0xb9, 0xf0, 0xd8, 0x59}} return a, nil } @@ -1306,7 +1305,7 @@ func uiDistMstile150x150Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/mstile-150x150.png", size: 13938, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/mstile-150x150.png", size: 13938, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0xbe, 0x2e, 0xc1, 0xee, 0x2e, 0x30, 0x9f, 0xd3, 0xba, 0xb3, 0x75, 0xb6, 0x48, 0xda, 0xce, 0xb9, 0x4c, 0x76, 0x5f, 0x41, 0x16, 0x9, 0xa7, 0xa8, 0xc0, 0x7a, 0xb0, 0x79, 0x40, 0x6f, 0x8c}} return a, nil } @@ -1326,7 +1325,7 @@ func uiDistMstile310x150Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/mstile-310x150.png", size: 14293, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/mstile-310x150.png", size: 14293, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6f, 0xa1, 0x19, 0x43, 0x94, 0x9f, 0x19, 0x40, 0xd4, 0x75, 0x4e, 0x36, 0xed, 0xfa, 0xf1, 0xb, 0xaf, 0x84, 0x44, 0xa7, 0xe7, 0x31, 0xee, 0x3a, 0x6b, 0xf9, 0x6, 0x44, 0x8e, 0x4f, 0xac, 0x39}} return a, nil } @@ -1346,7 +1345,7 @@ func uiDistMstile310x310Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/mstile-310x310.png", size: 43007, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/mstile-310x310.png", size: 43007, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0xd6, 0x5f, 0xe9, 0x10, 0x87, 0x84, 0x4b, 0xab, 0x93, 0xc1, 0x49, 0x7c, 0xb8, 0x1, 0x27, 0x92, 0x98, 0x71, 0x10, 0x5b, 0xf6, 0x69, 0xd9, 0x9e, 0x47, 0xa1, 0x61, 0xc8, 0xa2, 0x38, 0x58}} return a, nil } @@ -1366,7 +1365,7 @@ func uiDistMstile70x70Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/mstile-70x70.png", size: 4497, mode: os.FileMode(0644), modTime: time.Unix(1680804306, 0)} + info := bindataFileInfo{name: "ui/dist/mstile-70x70.png", size: 4497, mode: os.FileMode(0644), modTime: time.Unix(1676568091, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0xe3, 0xbd, 0x26, 0x86, 0x4c, 0xd, 0x10, 0x11, 0x92, 0xab, 0xef, 0xb0, 0x13, 0xe7, 0x59, 0x43, 0x1e, 0x34, 0x87, 0x72, 0x24, 0x70, 0xad, 0x5c, 0xf9, 0xe, 0x4f, 0xeb, 0x23, 0xa, 0x9f}} return a, nil } @@ -1386,7 +1385,7 @@ func uiDistRobotsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/dist/robots.txt", size: 53, mode: os.FileMode(0644), modTime: time.Unix(1680804266, 0)} + info := bindataFileInfo{name: "ui/dist/robots.txt", size: 53, mode: os.FileMode(0644), modTime: time.Unix(1676567978, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x56, 0xd6, 0x40, 0x24, 0x39, 0x9e, 0x5e, 0xd1, 0x28, 0xc8, 0x9, 0x57, 0x6a, 0x5c, 0xf9, 0x72, 0x77, 0xee, 0x3a, 0xdb, 0x75, 0xa8, 0xab, 0x93, 0x65, 0x5a, 0x2b, 0xf7, 0x7e, 0x5, 0x8b, 0x46}} return a, nil } @@ -1507,8 +1506,8 @@ var _bindata = map[string]func() (*asset, error){ "ui/dist/apple-touch-icon-76x76.png": uiDistAppleTouchIcon76x76Png, "ui/dist/apple-touch-icon-precomposed.png": uiDistAppleTouchIconPrecomposedPng, "ui/dist/apple-touch-icon.png": uiDistAppleTouchIconPng, - "ui/dist/assets/chunk.143.399ac03cf32e920eeb6f.js": uiDistAssetsChunk143399ac03cf32e920eeb6fJs, - "ui/dist/assets/chunk.178.412575959b4acd89e192.js": uiDistAssetsChunk178412575959b4acd89e192Js, + "ui/dist/assets/chunk.143.7ea05e17b3d79e3f7777.js": uiDistAssetsChunk1437ea05e17b3d79e3f7777Js, + "ui/dist/assets/chunk.178.a0678c725f03d32449a2.js": uiDistAssetsChunk178A0678c725f03d32449a2Js, "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js": uiDistAssetsChunk773080e27e51c6dc8852e23Js, "ui/dist/assets/chunk.773.080e27e51c6dc8852e23.js.LICENSE.txt": uiDistAssetsChunk773080e27e51c6dc8852e23JsLicenseTxt, "ui/dist/assets/chunk.881.ab3fcf50025d53687447.js": uiDistAssetsChunk881Ab3fcf50025d53687447Js, @@ -1516,7 +1515,7 @@ var _bindata = map[string]func() (*asset, error){ "ui/dist/assets/vendor-2ce96bdcbadb262cf4ea8a43db367ae4.js": uiDistAssetsVendor2ce96bdcbadb262cf4ea8a43db367ae4Js, "ui/dist/assets/vendor-e916acdafcac64f547bcedba455db8e5.css": uiDistAssetsVendorE916acdafcac64f547bcedba455db8e5Css, "ui/dist/assets/waypoint-446ef0d58a3680f5a4b6223a6a1704c3.css": uiDistAssetsWaypoint446ef0d58a3680f5a4b6223a6a1704c3Css, - "ui/dist/assets/waypoint-5ac90becd719f340ed6169530ada3a50.js": uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50Js, + "ui/dist/assets/waypoint-ebcdd627a87606ce0388e3f25a70b64d.js": uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJs, "ui/dist/browserconfig.xml": uiDistBrowserconfigXml, "ui/dist/favicon-16x16.png": uiDistFavicon16x16Png, "ui/dist/favicon-32x32.png": uiDistFavicon32x32Png, @@ -1629,8 +1628,8 @@ var _bintree = &bintree{nil, map[string]*bintree{ "apple-touch-icon-precomposed.png": {uiDistAppleTouchIconPrecomposedPng, map[string]*bintree{}}, "apple-touch-icon.png": {uiDistAppleTouchIconPng, map[string]*bintree{}}, "assets": {nil, map[string]*bintree{ - "chunk.143.399ac03cf32e920eeb6f.js": {uiDistAssetsChunk143399ac03cf32e920eeb6fJs, map[string]*bintree{}}, - "chunk.178.412575959b4acd89e192.js": {uiDistAssetsChunk178412575959b4acd89e192Js, map[string]*bintree{}}, + "chunk.143.7ea05e17b3d79e3f7777.js": {uiDistAssetsChunk1437ea05e17b3d79e3f7777Js, map[string]*bintree{}}, + "chunk.178.a0678c725f03d32449a2.js": {uiDistAssetsChunk178A0678c725f03d32449a2Js, map[string]*bintree{}}, "chunk.773.080e27e51c6dc8852e23.js": {uiDistAssetsChunk773080e27e51c6dc8852e23Js, map[string]*bintree{}}, "chunk.773.080e27e51c6dc8852e23.js.LICENSE.txt": {uiDistAssetsChunk773080e27e51c6dc8852e23JsLicenseTxt, map[string]*bintree{}}, "chunk.881.ab3fcf50025d53687447.js": {uiDistAssetsChunk881Ab3fcf50025d53687447Js, map[string]*bintree{}}, @@ -1638,7 +1637,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "vendor-2ce96bdcbadb262cf4ea8a43db367ae4.js": {uiDistAssetsVendor2ce96bdcbadb262cf4ea8a43db367ae4Js, map[string]*bintree{}}, "vendor-e916acdafcac64f547bcedba455db8e5.css": {uiDistAssetsVendorE916acdafcac64f547bcedba455db8e5Css, map[string]*bintree{}}, "waypoint-446ef0d58a3680f5a4b6223a6a1704c3.css": {uiDistAssetsWaypoint446ef0d58a3680f5a4b6223a6a1704c3Css, map[string]*bintree{}}, - "waypoint-5ac90becd719f340ed6169530ada3a50.js": {uiDistAssetsWaypoint5ac90becd719f340ed6169530ada3a50Js, map[string]*bintree{}}, + "waypoint-ebcdd627a87606ce0388e3f25a70b64d.js": {uiDistAssetsWaypointEbcdd627a87606ce0388e3f25a70b64dJs, map[string]*bintree{}}, }}, "browserconfig.xml": {uiDistBrowserconfigXml, map[string]*bintree{}}, "favicon-16x16.png": {uiDistFavicon16x16Png, map[string]*bintree{}}, @@ -1690,7 +1689,7 @@ func RestoreAsset(dir, name string) error { if err != nil { return err } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + err = os.WriteFile(_filePath(dir, name), data, info.Mode()) if err != nil { return err } diff --git a/pkg/server/gen/mocks/is_pagination_cursor__cursor__value.go b/pkg/server/gen/mocks/is_pagination_cursor__cursor__value.go deleted file mode 100644 index aaf5d55ce7b..00000000000 --- a/pkg/server/gen/mocks/is_pagination_cursor__cursor__value.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. - -package mocks - -import mock "github.com/stretchr/testify/mock" - -// isPaginationCursor_Cursor_Value is an autogenerated mock type for the isPaginationCursor_Cursor_Value type -type isPaginationCursor_Cursor_Value struct { - mock.Mock -} - -// isPaginationCursor_Cursor_Value provides a mock function with given fields: -func (_m *isPaginationCursor_Cursor_Value) isPaginationCursor_Cursor_Value() { - _m.Called() -} - -type mockConstructorTestingTnewIsPaginationCursor_Cursor_Value interface { - mock.TestingT - Cleanup(func()) -} - -// newIsPaginationCursor_Cursor_Value creates a new instance of isPaginationCursor_Cursor_Value. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func newIsPaginationCursor_Cursor_Value(t mockConstructorTestingTnewIsPaginationCursor_Cursor_Value) *isPaginationCursor_Cursor_Value { - mock := &isPaginationCursor_Cursor_Value{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/pkg/server/gen/mocks/is_ref__project_template__ref.go b/pkg/server/gen/mocks/is_ref__project_template__ref.go deleted file mode 100644 index 2ff0a55614c..00000000000 --- a/pkg/server/gen/mocks/is_ref__project_template__ref.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. - -package mocks - -import mock "github.com/stretchr/testify/mock" - -// isRef_ProjectTemplate_Ref is an autogenerated mock type for the isRef_ProjectTemplate_Ref type -type isRef_ProjectTemplate_Ref struct { - mock.Mock -} - -// isRef_ProjectTemplate_Ref provides a mock function with given fields: -func (_m *isRef_ProjectTemplate_Ref) isRef_ProjectTemplate_Ref() { - _m.Called() -} - -type mockConstructorTestingTnewIsRef_ProjectTemplate_Ref interface { - mock.TestingT - Cleanup(func()) -} - -// newIsRef_ProjectTemplate_Ref creates a new instance of isRef_ProjectTemplate_Ref. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func newIsRef_ProjectTemplate_Ref(t mockConstructorTestingTnewIsRef_ProjectTemplate_Ref) *isRef_ProjectTemplate_Ref { - mock := &isRef_ProjectTemplate_Ref{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/pkg/server/gen/mocks/is_ui__event_bundle__event.go b/pkg/server/gen/mocks/is_ui__event_bundle__event.go deleted file mode 100644 index 91621f1afef..00000000000 --- a/pkg/server/gen/mocks/is_ui__event_bundle__event.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by mockery v2.15.0. DO NOT EDIT. - -package mocks - -import mock "github.com/stretchr/testify/mock" - -// isUI_EventBundle_Event is an autogenerated mock type for the isUI_EventBundle_Event type -type isUI_EventBundle_Event struct { - mock.Mock -} - -// isUI_EventBundle_Event provides a mock function with given fields: -func (_m *isUI_EventBundle_Event) isUI_EventBundle_Event() { - _m.Called() -} - -type mockConstructorTestingTnewIsUI_EventBundle_Event interface { - mock.TestingT - Cleanup(func()) -} - -// newIsUI_EventBundle_Event creates a new instance of isUI_EventBundle_Event. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func newIsUI_EventBundle_Event(t mockConstructorTestingTnewIsUI_EventBundle_Event) *isUI_EventBundle_Event { - mock := &isUI_EventBundle_Event{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/pkg/server/gen/mocks/waypoint_client.go b/pkg/server/gen/mocks/waypoint_client.go index d7d9747becb..1f26d91a0a3 100644 --- a/pkg/server/gen/mocks/waypoint_client.go +++ b/pkg/server/gen/mocks/waypoint_client.go @@ -228,66 +228,6 @@ func (_m *WaypointClient) ConvertInviteToken(ctx context.Context, in *gen.Conver return r0, r1 } -// CreateAddOn provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) CreateAddOn(ctx context.Context, in *gen.CreateAddOnRequest, opts ...grpc.CallOption) (*gen.CreateAddOnResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.CreateAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateAddOnRequest, ...grpc.CallOption) *gen.CreateAddOnResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateAddOnRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// CreateAddOnDefinition provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) CreateAddOnDefinition(ctx context.Context, in *gen.CreateAddOnDefinitionRequest, opts ...grpc.CallOption) (*gen.CreateAddOnDefinitionResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.CreateAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateAddOnDefinitionRequest, ...grpc.CallOption) *gen.CreateAddOnDefinitionResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateAddOnDefinitionRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // CreateHostname provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) CreateHostname(ctx context.Context, in *gen.CreateHostnameRequest, opts ...grpc.CallOption) (*gen.CreateHostnameResponse, error) { _va := make([]interface{}, len(opts)) @@ -318,66 +258,6 @@ func (_m *WaypointClient) CreateHostname(ctx context.Context, in *gen.CreateHost return r0, r1 } -// CreateProjectFromTemplate provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) CreateProjectFromTemplate(ctx context.Context, in *gen.CreateProjectFromTemplateRequest, opts ...grpc.CallOption) (*gen.CreateProjectFromTemplateResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.CreateProjectFromTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateProjectFromTemplateRequest, ...grpc.CallOption) *gen.CreateProjectFromTemplateResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateProjectFromTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateProjectFromTemplateRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// CreateProjectTemplate provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) CreateProjectTemplate(ctx context.Context, in *gen.CreateProjectTemplateRequest, opts ...grpc.CallOption) (*gen.CreateProjectTemplateResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.CreateProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateProjectTemplateRequest, ...grpc.CallOption) *gen.CreateProjectTemplateResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateProjectTemplateRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // CreateSnapshot provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) CreateSnapshot(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (gen.Waypoint_CreateSnapshotClient, error) { _va := make([]interface{}, len(opts)) @@ -438,36 +318,6 @@ func (_m *WaypointClient) DecodeToken(ctx context.Context, in *gen.DecodeTokenRe return r0, r1 } -// DeleteAddOnDefinition provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) DeleteAddOnDefinition(ctx context.Context, in *gen.DeleteAddOnDefinitionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DeleteAddOnDefinitionRequest, ...grpc.CallOption) *emptypb.Empty); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DeleteAddOnDefinitionRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DeleteAuthMethod provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) DeleteAuthMethod(ctx context.Context, in *gen.DeleteAuthMethodRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { _va := make([]interface{}, len(opts)) @@ -618,36 +468,6 @@ func (_m *WaypointClient) DeleteOnDemandRunnerConfig(ctx context.Context, in *ge return r0, r1 } -// DeleteProjectTemplate provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) DeleteProjectTemplate(ctx context.Context, in *gen.DeleteProjectTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DeleteProjectTemplateRequest, ...grpc.CallOption) *emptypb.Empty); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DeleteProjectTemplateRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DeleteTrigger provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) DeleteTrigger(ctx context.Context, in *gen.DeleteTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { _va := make([]interface{}, len(opts)) @@ -708,36 +528,6 @@ func (_m *WaypointClient) DeleteUser(ctx context.Context, in *gen.DeleteUserRequ return r0, r1 } -// DestroyAddOn provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) DestroyAddOn(ctx context.Context, in *gen.DestroyAddOnRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DestroyAddOnRequest, ...grpc.CallOption) *emptypb.Empty); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DestroyAddOnRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DestroyProject provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) DestroyProject(ctx context.Context, in *gen.DestroyProjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { _va := make([]interface{}, len(opts)) @@ -1008,66 +798,6 @@ func (_m *WaypointClient) GenerateRunnerToken(ctx context.Context, in *gen.Gener return r0, r1 } -// GetAddOn provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetAddOn(ctx context.Context, in *gen.GetAddOnRequest, opts ...grpc.CallOption) (*gen.GetAddOnResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetAddOnRequest, ...grpc.CallOption) *gen.GetAddOnResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetAddOnRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetAddOnDefinition provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetAddOnDefinition(ctx context.Context, in *gen.GetAddOnDefinitionRequest, opts ...grpc.CallOption) (*gen.GetAddOnDefinitionResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetAddOnDefinitionRequest, ...grpc.CallOption) *gen.GetAddOnDefinitionResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetAddOnDefinitionRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetApplication provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) GetApplication(ctx context.Context, in *gen.GetApplicationRequest, opts ...grpc.CallOption) (*gen.GetApplicationResponse, error) { _va := make([]interface{}, len(opts)) @@ -1368,36 +1098,6 @@ func (_m *WaypointClient) GetLatestBuild(ctx context.Context, in *gen.GetLatestB return r0, r1 } -// GetLatestDeployment provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetLatestDeployment(ctx context.Context, in *gen.GetLatestDeploymentRequest, opts ...grpc.CallOption) (*gen.GetDeploymentResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetDeploymentResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetLatestDeploymentRequest, ...grpc.CallOption) *gen.GetDeploymentResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetDeploymentResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetLatestDeploymentRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetLatestPipelineRun provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) GetLatestPipelineRun(ctx context.Context, in *gen.GetPipelineRequest, opts ...grpc.CallOption) (*gen.GetPipelineRunResponse, error) { _va := make([]interface{}, len(opts)) @@ -1698,36 +1398,6 @@ func (_m *WaypointClient) GetProject(ctx context.Context, in *gen.GetProjectRequ return r0, r1 } -// GetProjectTemplate provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetProjectTemplate(ctx context.Context, in *gen.GetProjectTemplateRequest, opts ...grpc.CallOption) (*gen.GetProjectTemplateResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetProjectTemplateRequest, ...grpc.CallOption) *gen.GetProjectTemplateResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetProjectTemplateRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetPushedArtifact provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) GetPushedArtifact(ctx context.Context, in *gen.GetPushedArtifactRequest, opts ...grpc.CallOption) (*gen.PushedArtifact, error) { _va := make([]interface{}, len(opts)) @@ -1819,157 +1489,7 @@ func (_m *WaypointClient) GetRunner(ctx context.Context, in *gen.GetRunnerReques } // GetServerConfig provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetServerConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*gen.GetServerConfigResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetServerConfigResponse - if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) *gen.GetServerConfigResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetServerConfigResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetStatusReport provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetStatusReport(ctx context.Context, in *gen.GetStatusReportRequest, opts ...grpc.CallOption) (*gen.StatusReport, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.StatusReport - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetStatusReportRequest, ...grpc.CallOption) *gen.StatusReport); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.StatusReport) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetStatusReportRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetTFCRunStatus provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetTFCRunStatus(ctx context.Context, in *gen.GetTFCRunStatusRequest, opts ...grpc.CallOption) (*gen.GetTFCRunStatusResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetTFCRunStatusResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTFCRunStatusRequest, ...grpc.CallOption) *gen.GetTFCRunStatusResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTFCRunStatusResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTFCRunStatusRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetTFRunStatus provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetTFRunStatus(ctx context.Context, in *gen.GetTFRunStatusRequest, opts ...grpc.CallOption) (*gen.GetTFRunStatusResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetTFRunStatusResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTFRunStatusRequest, ...grpc.CallOption) *gen.GetTFRunStatusResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTFRunStatusResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTFRunStatusRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetTask provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetTask(ctx context.Context, in *gen.GetTaskRequest, opts ...grpc.CallOption) (*gen.GetTaskResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.GetTaskResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTaskRequest, ...grpc.CallOption) *gen.GetTaskResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTaskResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTaskRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetTrigger provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetTrigger(ctx context.Context, in *gen.GetTriggerRequest, opts ...grpc.CallOption) (*gen.GetTriggerResponse, error) { +func (_m *WaypointClient) GetServerConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*gen.GetServerConfigResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -1979,17 +1499,17 @@ func (_m *WaypointClient) GetTrigger(ctx context.Context, in *gen.GetTriggerRequ _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.GetTriggerResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTriggerRequest, ...grpc.CallOption) *gen.GetTriggerResponse); ok { + var r0 *gen.GetServerConfigResponse + if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) *gen.GetServerConfigResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTriggerResponse) + r0 = ret.Get(0).(*gen.GetServerConfigResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTriggerRequest, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -1998,8 +1518,8 @@ func (_m *WaypointClient) GetTrigger(ctx context.Context, in *gen.GetTriggerRequ return r0, r1 } -// GetUser provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetUser(ctx context.Context, in *gen.GetUserRequest, opts ...grpc.CallOption) (*gen.GetUserResponse, error) { +// GetStatusReport provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetStatusReport(ctx context.Context, in *gen.GetStatusReportRequest, opts ...grpc.CallOption) (*gen.StatusReport, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2009,17 +1529,17 @@ func (_m *WaypointClient) GetUser(ctx context.Context, in *gen.GetUserRequest, o _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.GetUserResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetUserRequest, ...grpc.CallOption) *gen.GetUserResponse); ok { + var r0 *gen.StatusReport + if rf, ok := ret.Get(0).(func(context.Context, *gen.GetStatusReportRequest, ...grpc.CallOption) *gen.StatusReport); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetUserResponse) + r0 = ret.Get(0).(*gen.StatusReport) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetUserRequest, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *gen.GetStatusReportRequest, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2028,8 +1548,8 @@ func (_m *WaypointClient) GetUser(ctx context.Context, in *gen.GetUserRequest, o return r0, r1 } -// GetVersionInfo provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*gen.GetVersionInfoResponse, error) { +// GetTask provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetTask(ctx context.Context, in *gen.GetTaskRequest, opts ...grpc.CallOption) (*gen.GetTaskResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2039,17 +1559,17 @@ func (_m *WaypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.GetVersionInfoResponse - if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) *gen.GetVersionInfoResponse); ok { + var r0 *gen.GetTaskResponse + if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTaskRequest, ...grpc.CallOption) *gen.GetTaskResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetVersionInfoResponse) + r0 = ret.Get(0).(*gen.GetTaskResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTaskRequest, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2058,8 +1578,8 @@ func (_m *WaypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, return r0, r1 } -// GetWorkspace provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) GetWorkspace(ctx context.Context, in *gen.GetWorkspaceRequest, opts ...grpc.CallOption) (*gen.GetWorkspaceResponse, error) { +// GetTrigger provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetTrigger(ctx context.Context, in *gen.GetTriggerRequest, opts ...grpc.CallOption) (*gen.GetTriggerResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2069,17 +1589,17 @@ func (_m *WaypointClient) GetWorkspace(ctx context.Context, in *gen.GetWorkspace _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.GetWorkspaceResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetWorkspaceRequest, ...grpc.CallOption) *gen.GetWorkspaceResponse); ok { + var r0 *gen.GetTriggerResponse + if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTriggerRequest, ...grpc.CallOption) *gen.GetTriggerResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetWorkspaceResponse) + r0 = ret.Get(0).(*gen.GetTriggerResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetWorkspaceRequest, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTriggerRequest, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2088,8 +1608,8 @@ func (_m *WaypointClient) GetWorkspace(ctx context.Context, in *gen.GetWorkspace return r0, r1 } -// INTERNAL_AdditionalMessages provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) INTERNAL_AdditionalMessages(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*gen.UI_ListEventSchemasResponse, error) { +// GetUser provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetUser(ctx context.Context, in *gen.GetUserRequest, opts ...grpc.CallOption) (*gen.GetUserResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2099,17 +1619,17 @@ func (_m *WaypointClient) INTERNAL_AdditionalMessages(ctx context.Context, in *e _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.UI_ListEventSchemasResponse - if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) *gen.UI_ListEventSchemasResponse); ok { + var r0 *gen.GetUserResponse + if rf, ok := ret.Get(0).(func(context.Context, *gen.GetUserRequest, ...grpc.CallOption) *gen.GetUserResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListEventSchemasResponse) + r0 = ret.Get(0).(*gen.GetUserResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *gen.GetUserRequest, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2118,8 +1638,8 @@ func (_m *WaypointClient) INTERNAL_AdditionalMessages(ctx context.Context, in *e return r0, r1 } -// ListAddOnDefinitions provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) ListAddOnDefinitions(ctx context.Context, in *gen.ListAddOnDefinitionsRequest, opts ...grpc.CallOption) (*gen.ListAddOnDefinitionsResponse, error) { +// GetVersionInfo provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*gen.GetVersionInfoResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2129,17 +1649,17 @@ func (_m *WaypointClient) ListAddOnDefinitions(ctx context.Context, in *gen.List _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.ListAddOnDefinitionsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListAddOnDefinitionsRequest, ...grpc.CallOption) *gen.ListAddOnDefinitionsResponse); ok { + var r0 *gen.GetVersionInfoResponse + if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) *gen.GetVersionInfoResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListAddOnDefinitionsResponse) + r0 = ret.Get(0).(*gen.GetVersionInfoResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListAddOnDefinitionsRequest, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2148,8 +1668,8 @@ func (_m *WaypointClient) ListAddOnDefinitions(ctx context.Context, in *gen.List return r0, r1 } -// ListAddOns provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) ListAddOns(ctx context.Context, in *gen.ListAddOnsRequest, opts ...grpc.CallOption) (*gen.ListAddOnsResponse, error) { +// GetWorkspace provides a mock function with given fields: ctx, in, opts +func (_m *WaypointClient) GetWorkspace(ctx context.Context, in *gen.GetWorkspaceRequest, opts ...grpc.CallOption) (*gen.GetWorkspaceResponse, error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -2159,17 +1679,17 @@ func (_m *WaypointClient) ListAddOns(ctx context.Context, in *gen.ListAddOnsRequ _ca = append(_ca, _va...) ret := _m.Called(_ca...) - var r0 *gen.ListAddOnsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListAddOnsRequest, ...grpc.CallOption) *gen.ListAddOnsResponse); ok { + var r0 *gen.GetWorkspaceResponse + if rf, ok := ret.Get(0).(func(context.Context, *gen.GetWorkspaceRequest, ...grpc.CallOption) *gen.GetWorkspaceResponse); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListAddOnsResponse) + r0 = ret.Get(0).(*gen.GetWorkspaceResponse) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListAddOnsRequest, ...grpc.CallOption) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *gen.GetWorkspaceRequest, ...grpc.CallOption) error); ok { r1 = rf(ctx, in, opts...) } else { r1 = ret.Error(1) @@ -2478,36 +1998,6 @@ func (_m *WaypointClient) ListPipelines(ctx context.Context, in *gen.ListPipelin return r0, r1 } -// ListProjectTemplates provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) ListProjectTemplates(ctx context.Context, in *gen.ListProjectTemplatesRequest, opts ...grpc.CallOption) (*gen.ListProjectTemplatesResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.ListProjectTemplatesResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListProjectTemplatesRequest, ...grpc.CallOption) *gen.ListProjectTemplatesResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListProjectTemplatesResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListProjectTemplatesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // ListProjects provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) ListProjects(ctx context.Context, in *gen.ListProjectsRequest, opts ...grpc.CallOption) (*gen.ListProjectsResponse, error) { _va := make([]interface{}, len(opts)) @@ -3198,36 +2688,6 @@ func (_m *WaypointClient) UI_GetDeployment(ctx context.Context, in *gen.UI_GetDe return r0, r1 } -// UI_GetPipelineRun provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UI_GetPipelineRun(ctx context.Context, in *gen.UI_GetPipelineRunRequest, opts ...grpc.CallOption) (*gen.UI_GetPipelineRunResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UI_GetPipelineRunResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_GetPipelineRunRequest, ...grpc.CallOption) *gen.UI_GetPipelineRunResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_GetPipelineRunResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_GetPipelineRunRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UI_GetProject provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) UI_GetProject(ctx context.Context, in *gen.UI_GetProjectRequest, opts ...grpc.CallOption) (*gen.UI_GetProjectResponse, error) { _va := make([]interface{}, len(opts)) @@ -3288,96 +2748,6 @@ func (_m *WaypointClient) UI_ListDeployments(ctx context.Context, in *gen.UI_Lis return r0, r1 } -// UI_ListEvents provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UI_ListEvents(ctx context.Context, in *gen.UI_ListEventsRequest, opts ...grpc.CallOption) (*gen.UI_ListEventsResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UI_ListEventsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListEventsRequest, ...grpc.CallOption) *gen.UI_ListEventsResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListEventsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListEventsRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UI_ListPipelineRuns provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UI_ListPipelineRuns(ctx context.Context, in *gen.UI_ListPipelineRunsRequest, opts ...grpc.CallOption) (*gen.UI_ListPipelineRunsResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UI_ListPipelineRunsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListPipelineRunsRequest, ...grpc.CallOption) *gen.UI_ListPipelineRunsResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListPipelineRunsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListPipelineRunsRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UI_ListPipelines provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UI_ListPipelines(ctx context.Context, in *gen.UI_ListPipelinesRequest, opts ...grpc.CallOption) (*gen.UI_ListPipelinesResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UI_ListPipelinesResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListPipelinesRequest, ...grpc.CallOption) *gen.UI_ListPipelinesResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListPipelinesResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListPipelinesRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UI_ListProjects provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) UI_ListProjects(ctx context.Context, in *gen.UI_ListProjectsRequest, opts ...grpc.CallOption) (*gen.UI_ListProjectsResponse, error) { _va := make([]interface{}, len(opts)) @@ -3438,96 +2808,6 @@ func (_m *WaypointClient) UI_ListReleases(ctx context.Context, in *gen.UI_ListRe return r0, r1 } -// UpdateAddOn provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UpdateAddOn(ctx context.Context, in *gen.UpdateAddOnRequest, opts ...grpc.CallOption) (*gen.UpdateAddOnResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UpdateAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateAddOnRequest, ...grpc.CallOption) *gen.UpdateAddOnResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateAddOnRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UpdateAddOnDefinition provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UpdateAddOnDefinition(ctx context.Context, in *gen.UpdateAddOnDefinitionRequest, opts ...grpc.CallOption) (*gen.UpdateAddOnDefinitionResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UpdateAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateAddOnDefinitionRequest, ...grpc.CallOption) *gen.UpdateAddOnDefinitionResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateAddOnDefinitionRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UpdateProjectTemplate provides a mock function with given fields: ctx, in, opts -func (_m *WaypointClient) UpdateProjectTemplate(ctx context.Context, in *gen.UpdateProjectTemplateRequest, opts ...grpc.CallOption) (*gen.UpdateProjectTemplateResponse, error) { - _va := make([]interface{}, len(opts)) - for _i := range opts { - _va[_i] = opts[_i] - } - var _ca []interface{} - _ca = append(_ca, ctx, in) - _ca = append(_ca, _va...) - ret := _m.Called(_ca...) - - var r0 *gen.UpdateProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateProjectTemplateRequest, ...grpc.CallOption) *gen.UpdateProjectTemplateResponse); ok { - r0 = rf(ctx, in, opts...) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateProjectTemplateRequest, ...grpc.CallOption) error); ok { - r1 = rf(ctx, in, opts...) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UpdateUser provides a mock function with given fields: ctx, in, opts func (_m *WaypointClient) UpdateUser(ctx context.Context, in *gen.UpdateUserRequest, opts ...grpc.CallOption) (*gen.UpdateUserResponse, error) { _va := make([]interface{}, len(opts)) diff --git a/pkg/server/gen/mocks/waypoint_server.go b/pkg/server/gen/mocks/waypoint_server.go index 1c47bfbc646..a550520d221 100644 --- a/pkg/server/gen/mocks/waypoint_server.go +++ b/pkg/server/gen/mocks/waypoint_server.go @@ -177,52 +177,6 @@ func (_m *WaypointServer) ConvertInviteToken(_a0 context.Context, _a1 *gen.Conve return r0, r1 } -// CreateAddOn provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) CreateAddOn(_a0 context.Context, _a1 *gen.CreateAddOnRequest) (*gen.CreateAddOnResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.CreateAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateAddOnRequest) *gen.CreateAddOnResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateAddOnRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// CreateAddOnDefinition provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) CreateAddOnDefinition(_a0 context.Context, _a1 *gen.CreateAddOnDefinitionRequest) (*gen.CreateAddOnDefinitionResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.CreateAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateAddOnDefinitionRequest) *gen.CreateAddOnDefinitionResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateAddOnDefinitionRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // CreateHostname provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) CreateHostname(_a0 context.Context, _a1 *gen.CreateHostnameRequest) (*gen.CreateHostnameResponse, error) { ret := _m.Called(_a0, _a1) @@ -246,52 +200,6 @@ func (_m *WaypointServer) CreateHostname(_a0 context.Context, _a1 *gen.CreateHos return r0, r1 } -// CreateProjectFromTemplate provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) CreateProjectFromTemplate(_a0 context.Context, _a1 *gen.CreateProjectFromTemplateRequest) (*gen.CreateProjectFromTemplateResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.CreateProjectFromTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateProjectFromTemplateRequest) *gen.CreateProjectFromTemplateResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateProjectFromTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateProjectFromTemplateRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// CreateProjectTemplate provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) CreateProjectTemplate(_a0 context.Context, _a1 *gen.CreateProjectTemplateRequest) (*gen.CreateProjectTemplateResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.CreateProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.CreateProjectTemplateRequest) *gen.CreateProjectTemplateResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.CreateProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.CreateProjectTemplateRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // CreateSnapshot provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) CreateSnapshot(_a0 *emptypb.Empty, _a1 gen.Waypoint_CreateSnapshotServer) error { ret := _m.Called(_a0, _a1) @@ -329,29 +237,6 @@ func (_m *WaypointServer) DecodeToken(_a0 context.Context, _a1 *gen.DecodeTokenR return r0, r1 } -// DeleteAddOnDefinition provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) DeleteAddOnDefinition(_a0 context.Context, _a1 *gen.DeleteAddOnDefinitionRequest) (*emptypb.Empty, error) { - ret := _m.Called(_a0, _a1) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DeleteAddOnDefinitionRequest) *emptypb.Empty); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DeleteAddOnDefinitionRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DeleteAuthMethod provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) DeleteAuthMethod(_a0 context.Context, _a1 *gen.DeleteAuthMethodRequest) (*emptypb.Empty, error) { ret := _m.Called(_a0, _a1) @@ -467,29 +352,6 @@ func (_m *WaypointServer) DeleteOnDemandRunnerConfig(_a0 context.Context, _a1 *g return r0, r1 } -// DeleteProjectTemplate provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) DeleteProjectTemplate(_a0 context.Context, _a1 *gen.DeleteProjectTemplateRequest) (*emptypb.Empty, error) { - ret := _m.Called(_a0, _a1) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DeleteProjectTemplateRequest) *emptypb.Empty); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DeleteProjectTemplateRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DeleteTrigger provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) DeleteTrigger(_a0 context.Context, _a1 *gen.DeleteTriggerRequest) (*emptypb.Empty, error) { ret := _m.Called(_a0, _a1) @@ -536,29 +398,6 @@ func (_m *WaypointServer) DeleteUser(_a0 context.Context, _a1 *gen.DeleteUserReq return r0, r1 } -// DestroyAddOn provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) DestroyAddOn(_a0 context.Context, _a1 *gen.DestroyAddOnRequest) (*emptypb.Empty, error) { - ret := _m.Called(_a0, _a1) - - var r0 *emptypb.Empty - if rf, ok := ret.Get(0).(func(context.Context, *gen.DestroyAddOnRequest) *emptypb.Empty); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*emptypb.Empty) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.DestroyAddOnRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // DestroyProject provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) DestroyProject(_a0 context.Context, _a1 *gen.DestroyProjectRequest) (*emptypb.Empty, error) { ret := _m.Called(_a0, _a1) @@ -739,52 +578,6 @@ func (_m *WaypointServer) GenerateRunnerToken(_a0 context.Context, _a1 *gen.Gene return r0, r1 } -// GetAddOn provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetAddOn(_a0 context.Context, _a1 *gen.GetAddOnRequest) (*gen.GetAddOnResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetAddOnRequest) *gen.GetAddOnResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetAddOnRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetAddOnDefinition provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetAddOnDefinition(_a0 context.Context, _a1 *gen.GetAddOnDefinitionRequest) (*gen.GetAddOnDefinitionResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetAddOnDefinitionRequest) *gen.GetAddOnDefinitionResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetAddOnDefinitionRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetApplication provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) GetApplication(_a0 context.Context, _a1 *gen.GetApplicationRequest) (*gen.GetApplicationResponse, error) { ret := _m.Called(_a0, _a1) @@ -1006,29 +799,6 @@ func (_m *WaypointServer) GetLatestBuild(_a0 context.Context, _a1 *gen.GetLatest return r0, r1 } -// GetLatestDeployment provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetLatestDeployment(_a0 context.Context, _a1 *gen.GetLatestDeploymentRequest) (*gen.GetDeploymentResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetDeploymentResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetLatestDeploymentRequest) *gen.GetDeploymentResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetDeploymentResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetLatestDeploymentRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetLatestPipelineRun provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) GetLatestPipelineRun(_a0 context.Context, _a1 *gen.GetPipelineRequest) (*gen.GetPipelineRunResponse, error) { ret := _m.Called(_a0, _a1) @@ -1250,29 +1020,6 @@ func (_m *WaypointServer) GetProject(_a0 context.Context, _a1 *gen.GetProjectReq return r0, r1 } -// GetProjectTemplate provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetProjectTemplate(_a0 context.Context, _a1 *gen.GetProjectTemplateRequest) (*gen.GetProjectTemplateResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetProjectTemplateRequest) *gen.GetProjectTemplateResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetProjectTemplateRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetPushedArtifact provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) GetPushedArtifact(_a0 context.Context, _a1 *gen.GetPushedArtifactRequest) (*gen.PushedArtifact, error) { ret := _m.Called(_a0, _a1) @@ -1388,52 +1135,6 @@ func (_m *WaypointServer) GetStatusReport(_a0 context.Context, _a1 *gen.GetStatu return r0, r1 } -// GetTFCRunStatus provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetTFCRunStatus(_a0 context.Context, _a1 *gen.GetTFCRunStatusRequest) (*gen.GetTFCRunStatusResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetTFCRunStatusResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTFCRunStatusRequest) *gen.GetTFCRunStatusResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTFCRunStatusResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTFCRunStatusRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// GetTFRunStatus provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) GetTFRunStatus(_a0 context.Context, _a1 *gen.GetTFRunStatusRequest) (*gen.GetTFRunStatusResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.GetTFRunStatusResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.GetTFRunStatusRequest) *gen.GetTFRunStatusResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.GetTFRunStatusResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.GetTFRunStatusRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // GetTask provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) GetTask(_a0 context.Context, _a1 *gen.GetTaskRequest) (*gen.GetTaskResponse, error) { ret := _m.Called(_a0, _a1) @@ -1549,75 +1250,6 @@ func (_m *WaypointServer) GetWorkspace(_a0 context.Context, _a1 *gen.GetWorkspac return r0, r1 } -// INTERNAL_AdditionalMessages provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) INTERNAL_AdditionalMessages(_a0 context.Context, _a1 *emptypb.Empty) (*gen.UI_ListEventSchemasResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UI_ListEventSchemasResponse - if rf, ok := ret.Get(0).(func(context.Context, *emptypb.Empty) *gen.UI_ListEventSchemasResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListEventSchemasResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *emptypb.Empty) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// ListAddOnDefinitions provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) ListAddOnDefinitions(_a0 context.Context, _a1 *gen.ListAddOnDefinitionsRequest) (*gen.ListAddOnDefinitionsResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.ListAddOnDefinitionsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListAddOnDefinitionsRequest) *gen.ListAddOnDefinitionsResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListAddOnDefinitionsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListAddOnDefinitionsRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// ListAddOns provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) ListAddOns(_a0 context.Context, _a1 *gen.ListAddOnsRequest) (*gen.ListAddOnsResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.ListAddOnsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListAddOnsRequest) *gen.ListAddOnsResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListAddOnsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListAddOnsRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // ListAuthMethods provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) ListAuthMethods(_a0 context.Context, _a1 *emptypb.Empty) (*gen.ListAuthMethodsResponse, error) { ret := _m.Called(_a0, _a1) @@ -1848,29 +1480,6 @@ func (_m *WaypointServer) ListPipelines(_a0 context.Context, _a1 *gen.ListPipeli return r0, r1 } -// ListProjectTemplates provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) ListProjectTemplates(_a0 context.Context, _a1 *gen.ListProjectTemplatesRequest) (*gen.ListProjectTemplatesResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.ListProjectTemplatesResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.ListProjectTemplatesRequest) *gen.ListProjectTemplatesResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.ListProjectTemplatesResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.ListProjectTemplatesRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // ListProjects provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) ListProjects(_a0 context.Context, _a1 *gen.ListProjectsRequest) (*gen.ListProjectsResponse, error) { ret := _m.Called(_a0, _a1) @@ -2364,29 +1973,6 @@ func (_m *WaypointServer) UI_GetDeployment(_a0 context.Context, _a1 *gen.UI_GetD return r0, r1 } -// UI_GetPipelineRun provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UI_GetPipelineRun(_a0 context.Context, _a1 *gen.UI_GetPipelineRunRequest) (*gen.UI_GetPipelineRunResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UI_GetPipelineRunResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_GetPipelineRunRequest) *gen.UI_GetPipelineRunResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_GetPipelineRunResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_GetPipelineRunRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UI_GetProject provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) UI_GetProject(_a0 context.Context, _a1 *gen.UI_GetProjectRequest) (*gen.UI_GetProjectResponse, error) { ret := _m.Called(_a0, _a1) @@ -2433,75 +2019,6 @@ func (_m *WaypointServer) UI_ListDeployments(_a0 context.Context, _a1 *gen.UI_Li return r0, r1 } -// UI_ListEvents provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UI_ListEvents(_a0 context.Context, _a1 *gen.UI_ListEventsRequest) (*gen.UI_ListEventsResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UI_ListEventsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListEventsRequest) *gen.UI_ListEventsResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListEventsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListEventsRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UI_ListPipelineRuns provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UI_ListPipelineRuns(_a0 context.Context, _a1 *gen.UI_ListPipelineRunsRequest) (*gen.UI_ListPipelineRunsResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UI_ListPipelineRunsResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListPipelineRunsRequest) *gen.UI_ListPipelineRunsResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListPipelineRunsResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListPipelineRunsRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UI_ListPipelines provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UI_ListPipelines(_a0 context.Context, _a1 *gen.UI_ListPipelinesRequest) (*gen.UI_ListPipelinesResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UI_ListPipelinesResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UI_ListPipelinesRequest) *gen.UI_ListPipelinesResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UI_ListPipelinesResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UI_ListPipelinesRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UI_ListProjects provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) UI_ListProjects(_a0 context.Context, _a1 *gen.UI_ListProjectsRequest) (*gen.UI_ListProjectsResponse, error) { ret := _m.Called(_a0, _a1) @@ -2548,75 +2065,6 @@ func (_m *WaypointServer) UI_ListReleases(_a0 context.Context, _a1 *gen.UI_ListR return r0, r1 } -// UpdateAddOn provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UpdateAddOn(_a0 context.Context, _a1 *gen.UpdateAddOnRequest) (*gen.UpdateAddOnResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UpdateAddOnResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateAddOnRequest) *gen.UpdateAddOnResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateAddOnResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateAddOnRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UpdateAddOnDefinition provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UpdateAddOnDefinition(_a0 context.Context, _a1 *gen.UpdateAddOnDefinitionRequest) (*gen.UpdateAddOnDefinitionResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UpdateAddOnDefinitionResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateAddOnDefinitionRequest) *gen.UpdateAddOnDefinitionResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateAddOnDefinitionResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateAddOnDefinitionRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// UpdateProjectTemplate provides a mock function with given fields: _a0, _a1 -func (_m *WaypointServer) UpdateProjectTemplate(_a0 context.Context, _a1 *gen.UpdateProjectTemplateRequest) (*gen.UpdateProjectTemplateResponse, error) { - ret := _m.Called(_a0, _a1) - - var r0 *gen.UpdateProjectTemplateResponse - if rf, ok := ret.Get(0).(func(context.Context, *gen.UpdateProjectTemplateRequest) *gen.UpdateProjectTemplateResponse); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*gen.UpdateProjectTemplateResponse) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *gen.UpdateProjectTemplateRequest) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - // UpdateUser provides a mock function with given fields: _a0, _a1 func (_m *WaypointServer) UpdateUser(_a0 context.Context, _a1 *gen.UpdateUserRequest) (*gen.UpdateUserResponse, error) { ret := _m.Called(_a0, _a1) diff --git a/pkg/server/gen/server.pb.go b/pkg/server/gen/server.pb.go index 0f921e655e0..ec1e2d9ca2b 100644 --- a/pkg/server/gen/server.pb.go +++ b/pkg/server/gen/server.pb.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 @@ -94,215 +91,6 @@ func (ResourceCategoryDisplayHint) EnumDescriptor() ([]byte, []int) { return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0} } -type UI_PipelineRunTreeNode_State int32 - -const ( - UI_PipelineRunTreeNode_UNKNOWN UI_PipelineRunTreeNode_State = 0 - UI_PipelineRunTreeNode_QUEUED UI_PipelineRunTreeNode_State = 1 - UI_PipelineRunTreeNode_RUNNING UI_PipelineRunTreeNode_State = 2 - UI_PipelineRunTreeNode_ERROR UI_PipelineRunTreeNode_State = 3 - UI_PipelineRunTreeNode_CANCELLED UI_PipelineRunTreeNode_State = 4 - UI_PipelineRunTreeNode_SUCCESS UI_PipelineRunTreeNode_State = 5 -) - -// Enum value maps for UI_PipelineRunTreeNode_State. -var ( - UI_PipelineRunTreeNode_State_name = map[int32]string{ - 0: "UNKNOWN", - 1: "QUEUED", - 2: "RUNNING", - 3: "ERROR", - 4: "CANCELLED", - 5: "SUCCESS", - } - UI_PipelineRunTreeNode_State_value = map[string]int32{ - "UNKNOWN": 0, - "QUEUED": 1, - "RUNNING": 2, - "ERROR": 3, - "CANCELLED": 4, - "SUCCESS": 5, - } -) - -func (x UI_PipelineRunTreeNode_State) Enum() *UI_PipelineRunTreeNode_State { - p := new(UI_PipelineRunTreeNode_State) - *p = x - return p -} - -func (x UI_PipelineRunTreeNode_State) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UI_PipelineRunTreeNode_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[1].Descriptor() -} - -func (UI_PipelineRunTreeNode_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[1] -} - -func (x UI_PipelineRunTreeNode_State) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UI_PipelineRunTreeNode_State.Descriptor instead. -func (UI_PipelineRunTreeNode_State) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 13, 0} -} - -type UI_PipelineRunTreeNode_Children_Mode int32 - -const ( - UI_PipelineRunTreeNode_Children_SERIAL UI_PipelineRunTreeNode_Children_Mode = 0 - UI_PipelineRunTreeNode_Children_PARALLEL UI_PipelineRunTreeNode_Children_Mode = 1 -) - -// Enum value maps for UI_PipelineRunTreeNode_Children_Mode. -var ( - UI_PipelineRunTreeNode_Children_Mode_name = map[int32]string{ - 0: "SERIAL", - 1: "PARALLEL", - } - UI_PipelineRunTreeNode_Children_Mode_value = map[string]int32{ - "SERIAL": 0, - "PARALLEL": 1, - } -) - -func (x UI_PipelineRunTreeNode_Children_Mode) Enum() *UI_PipelineRunTreeNode_Children_Mode { - p := new(UI_PipelineRunTreeNode_Children_Mode) - *p = x - return p -} - -func (x UI_PipelineRunTreeNode_Children_Mode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UI_PipelineRunTreeNode_Children_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[2].Descriptor() -} - -func (UI_PipelineRunTreeNode_Children_Mode) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[2] -} - -func (x UI_PipelineRunTreeNode_Children_Mode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UI_PipelineRunTreeNode_Children_Mode.Descriptor instead. -func (UI_PipelineRunTreeNode_Children_Mode) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 13, 0, 0} -} - -// Supported EventTypes -type UI_EventBundle_EventType int32 - -const ( - UI_EventBundle_BUILD UI_EventBundle_EventType = 0 - UI_EventBundle_DEPLOYMENT UI_EventBundle_EventType = 1 - UI_EventBundle_RELEASE UI_EventBundle_EventType = 2 - UI_EventBundle_ADDON_CREATED UI_EventBundle_EventType = 3 - UI_EventBundle_ADDON_DESTROYED UI_EventBundle_EventType = 4 -) - -// Enum value maps for UI_EventBundle_EventType. -var ( - UI_EventBundle_EventType_name = map[int32]string{ - 0: "BUILD", - 1: "DEPLOYMENT", - 2: "RELEASE", - 3: "ADDON_CREATED", - 4: "ADDON_DESTROYED", - } - UI_EventBundle_EventType_value = map[string]int32{ - "BUILD": 0, - "DEPLOYMENT": 1, - "RELEASE": 2, - "ADDON_CREATED": 3, - "ADDON_DESTROYED": 4, - } -) - -func (x UI_EventBundle_EventType) Enum() *UI_EventBundle_EventType { - p := new(UI_EventBundle_EventType) - *p = x - return p -} - -func (x UI_EventBundle_EventType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UI_EventBundle_EventType) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[3].Descriptor() -} - -func (UI_EventBundle_EventType) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[3] -} - -func (x UI_EventBundle_EventType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UI_EventBundle_EventType.Descriptor instead. -func (UI_EventBundle_EventType) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 24, 0} -} - -type UI_EventAddOnOperation int32 - -const ( - UI_EventAddOn_CREATED UI_EventAddOnOperation = 0 - UI_EventAddOn_DESTROYED UI_EventAddOnOperation = 1 - UI_EventAddOn_MODIFIED UI_EventAddOnOperation = 2 -) - -// Enum value maps for UI_EventAddOnOperation. -var ( - UI_EventAddOnOperation_name = map[int32]string{ - 0: "CREATED", - 1: "DESTROYED", - 2: "MODIFIED", - } - UI_EventAddOnOperation_value = map[string]int32{ - "CREATED": 0, - "DESTROYED": 1, - "MODIFIED": 2, - } -) - -func (x UI_EventAddOnOperation) Enum() *UI_EventAddOnOperation { - p := new(UI_EventAddOnOperation) - *p = x - return p -} - -func (x UI_EventAddOnOperation) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UI_EventAddOnOperation) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[4].Descriptor() -} - -func (UI_EventAddOnOperation) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[4] -} - -func (x UI_EventAddOnOperation) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UI_EventAddOnOperation.Descriptor instead. -func (UI_EventAddOnOperation) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 28, 0} -} - type ServerFeaturesFeature int32 const ( @@ -334,11 +122,11 @@ func (x ServerFeaturesFeature) String() string { } func (ServerFeaturesFeature) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[5].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[1].Descriptor() } func (ServerFeaturesFeature) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[5] + return &file_pkg_server_proto_server_proto_enumTypes[1] } func (x ServerFeaturesFeature) Number() protoreflect.EnumNumber { @@ -400,11 +188,11 @@ func (x Variable_FinalValue_Source) String() string { } func (Variable_FinalValue_Source) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[6].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[2].Descriptor() } func (Variable_FinalValue_Source) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[6] + return &file_pkg_server_proto_server_proto_enumTypes[2] } func (x Variable_FinalValue_Source) Number() protoreflect.EnumNumber { @@ -448,11 +236,11 @@ func (x Project_ProjectState) String() string { } func (Project_ProjectState) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[7].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[3].Descriptor() } func (Project_ProjectState) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[7] + return &file_pkg_server_proto_server_proto_enumTypes[3] } func (x Project_ProjectState) Number() protoreflect.EnumNumber { @@ -506,11 +294,11 @@ func (x Component_Type) String() string { } func (Component_Type) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[8].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[4].Descriptor() } func (Component_Type) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[8] + return &file_pkg_server_proto_server_proto_enumTypes[4] } func (x Component_Type) Number() protoreflect.EnumNumber { @@ -558,11 +346,11 @@ func (x Status_State) String() string { } func (Status_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[9].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[5].Descriptor() } func (Status_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[9] + return &file_pkg_server_proto_server_proto_enumTypes[5] } func (x Status_State) Number() protoreflect.EnumNumber { @@ -613,11 +401,11 @@ func (x Operation_PhysicalState) String() string { } func (Operation_PhysicalState) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[10].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[6].Descriptor() } func (Operation_PhysicalState) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[10] + return &file_pkg_server_proto_server_proto_enumTypes[6] } func (x Operation_PhysicalState) Number() protoreflect.EnumNumber { @@ -662,11 +450,11 @@ func (x OperationOrder_Order) String() string { } func (OperationOrder_Order) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[11].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[7].Descriptor() } func (OperationOrder_Order) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[11] + return &file_pkg_server_proto_server_proto_enumTypes[7] } func (x OperationOrder_Order) Number() protoreflect.EnumNumber { @@ -729,11 +517,11 @@ func (x Task_State) String() string { } func (Task_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[12].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[8].Descriptor() } func (Task_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[12] + return &file_pkg_server_proto_server_proto_enumTypes[8] } func (x Task_State) Number() protoreflect.EnumNumber { @@ -778,11 +566,11 @@ func (x OIDCAuthMethod_Kind) String() string { } func (OIDCAuthMethod_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[13].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[9].Descriptor() } func (OIDCAuthMethod_Kind) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[13] + return &file_pkg_server_proto_server_proto_enumTypes[9] } func (x OIDCAuthMethod_Kind) Number() protoreflect.EnumNumber { @@ -836,11 +624,11 @@ func (x Job_State) String() string { } func (Job_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[14].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[10].Descriptor() } func (Job_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[14] + return &file_pkg_server_proto_server_proto_enumTypes[10] } func (x Job_State) Number() protoreflect.EnumNumber { @@ -896,11 +684,11 @@ func (x Job_Config_Source) String() string { } func (Job_Config_Source) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[15].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[11].Descriptor() } func (Job_Config_Source) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[15] + return &file_pkg_server_proto_server_proto_enumTypes[11] } func (x Job_Config_Source) Number() protoreflect.EnumNumber { @@ -969,11 +757,11 @@ func (x Runner_AdoptionState) String() string { } func (Runner_AdoptionState) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[16].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[12].Descriptor() } func (Runner_AdoptionState) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[16] + return &file_pkg_server_proto_server_proto_enumTypes[12] } func (x Runner_AdoptionState) Number() protoreflect.EnumNumber { @@ -1018,11 +806,11 @@ func (x UpsertDeploymentRequest_Tristate) String() string { } func (UpsertDeploymentRequest_Tristate) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[17].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[13].Descriptor() } func (UpsertDeploymentRequest_Tristate) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[17] + return &file_pkg_server_proto_server_proto_enumTypes[13] } func (x UpsertDeploymentRequest_Tristate) Number() protoreflect.EnumNumber { @@ -1031,7 +819,7 @@ func (x UpsertDeploymentRequest_Tristate) Number() protoreflect.EnumNumber { // Deprecated: Use UpsertDeploymentRequest_Tristate.Descriptor instead. func (UpsertDeploymentRequest_Tristate) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{127, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{125, 0} } type Deployment_LoadDetails int32 @@ -1067,11 +855,11 @@ func (x Deployment_LoadDetails) String() string { } func (Deployment_LoadDetails) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[18].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[14].Descriptor() } func (Deployment_LoadDetails) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[18] + return &file_pkg_server_proto_server_proto_enumTypes[14] } func (x Deployment_LoadDetails) Number() protoreflect.EnumNumber { @@ -1080,7 +868,7 @@ func (x Deployment_LoadDetails) Number() protoreflect.EnumNumber { // Deprecated: Use Deployment_LoadDetails.Descriptor instead. func (Deployment_LoadDetails) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{131, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{129, 0} } // Instances are one of a these types. @@ -1124,11 +912,11 @@ func (x Instance_Type) String() string { } func (Instance_Type) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[19].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[15].Descriptor() } func (Instance_Type) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[19] + return &file_pkg_server_proto_server_proto_enumTypes[15] } func (x Instance_Type) Number() protoreflect.EnumNumber { @@ -1137,7 +925,7 @@ func (x Instance_Type) Number() protoreflect.EnumNumber { // Deprecated: Use Instance_Type.Descriptor instead. func (Instance_Type) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{135, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{133, 0} } type Release_LoadDetails int32 @@ -1176,11 +964,11 @@ func (x Release_LoadDetails) String() string { } func (Release_LoadDetails) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[20].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[16].Descriptor() } func (Release_LoadDetails) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[20] + return &file_pkg_server_proto_server_proto_enumTypes[16] } func (x Release_LoadDetails) Number() protoreflect.EnumNumber { @@ -1189,7 +977,7 @@ func (x Release_LoadDetails) Number() protoreflect.EnumNumber { // Deprecated: Use Release_LoadDetails.Descriptor instead. func (Release_LoadDetails) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{142, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{140, 0} } // the state of overall health of a deployed application @@ -1235,11 +1023,11 @@ func (x StatusReport_Resource_Health) String() string { } func (StatusReport_Resource_Health) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[21].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[17].Descriptor() } func (StatusReport_Resource_Health) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[21] + return &file_pkg_server_proto_server_proto_enumTypes[17] } func (x StatusReport_Resource_Health) Number() protoreflect.EnumNumber { @@ -1248,7 +1036,7 @@ func (x StatusReport_Resource_Health) Number() protoreflect.EnumNumber { // Deprecated: Use StatusReport_Resource_Health.Descriptor instead. func (StatusReport_Resource_Health) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162, 0, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{160, 0, 0} } type LogBatch_Entry_Source int32 @@ -1284,11 +1072,11 @@ func (x LogBatch_Entry_Source) String() string { } func (LogBatch_Entry_Source) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[22].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[18].Descriptor() } func (LogBatch_Entry_Source) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[22] + return &file_pkg_server_proto_server_proto_enumTypes[18] } func (x LogBatch_Entry_Source) Number() protoreflect.EnumNumber { @@ -1297,7 +1085,7 @@ func (x LogBatch_Entry_Source) Number() protoreflect.EnumNumber { // Deprecated: Use LogBatch_Entry_Source.Descriptor instead. func (LogBatch_Entry_Source) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{164, 0, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162, 0, 0} } type ExecStreamResponse_Output_Channel int32 @@ -1333,11 +1121,11 @@ func (x ExecStreamResponse_Output_Channel) String() string { } func (ExecStreamResponse_Output_Channel) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[23].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[19].Descriptor() } func (ExecStreamResponse_Output_Channel) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[23] + return &file_pkg_server_proto_server_proto_enumTypes[19] } func (x ExecStreamResponse_Output_Channel) Number() protoreflect.EnumNumber { @@ -1346,7 +1134,7 @@ func (x ExecStreamResponse_Output_Channel) Number() protoreflect.EnumNumber { // Deprecated: Use ExecStreamResponse_Output_Channel.Descriptor instead. func (ExecStreamResponse_Output_Channel) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178, 2, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176, 2, 0} } type EntrypointExecRequest_Output_Channel int32 @@ -1382,11 +1170,11 @@ func (x EntrypointExecRequest_Output_Channel) String() string { } func (EntrypointExecRequest_Output_Channel) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[24].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[20].Descriptor() } func (EntrypointExecRequest_Output_Channel) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[24] + return &file_pkg_server_proto_server_proto_enumTypes[20] } func (x EntrypointExecRequest_Output_Channel) Number() protoreflect.EnumNumber { @@ -1395,7 +1183,7 @@ func (x EntrypointExecRequest_Output_Channel) Number() protoreflect.EnumNumber { // Deprecated: Use EntrypointExecRequest_Output_Channel.Descriptor instead. func (EntrypointExecRequest_Output_Channel) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 2, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 2, 0} } type PipelineRun_State int32 @@ -1443,11 +1231,11 @@ func (x PipelineRun_State) String() string { } func (PipelineRun_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[25].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[21].Descriptor() } func (PipelineRun_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[25] + return &file_pkg_server_proto_server_proto_enumTypes[21] } func (x PipelineRun_State) Number() protoreflect.EnumNumber { @@ -1456,7 +1244,7 @@ func (x PipelineRun_State) Number() protoreflect.EnumNumber { // Deprecated: Use PipelineRun_State.Descriptor instead. func (PipelineRun_State) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{186, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{184, 0} } type GetPipelineResponse_Graph_Format int32 @@ -1489,11 +1277,11 @@ func (x GetPipelineResponse_Graph_Format) String() string { } func (GetPipelineResponse_Graph_Format) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[26].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[22].Descriptor() } func (GetPipelineResponse_Graph_Format) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[26] + return &file_pkg_server_proto_server_proto_enumTypes[22] } func (x GetPipelineResponse_Graph_Format) Number() protoreflect.EnumNumber { @@ -1502,111 +1290,7 @@ func (x GetPipelineResponse_Graph_Format) Number() protoreflect.EnumNumber { // Deprecated: Use GetPipelineResponse_Graph_Format.Descriptor instead. func (GetPipelineResponse_Graph_Format) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{190, 0, 0} -} - -type GetTFRunStatusResponse_State int32 - -const ( - GetTFRunStatusResponse_UNKNOWN GetTFRunStatusResponse_State = 0 - GetTFRunStatusResponse_RUNNING GetTFRunStatusResponse_State = 1 - GetTFRunStatusResponse_SUCCESS GetTFRunStatusResponse_State = 2 - GetTFRunStatusResponse_ERROR GetTFRunStatusResponse_State = 3 -) - -// Enum value maps for GetTFRunStatusResponse_State. -var ( - GetTFRunStatusResponse_State_name = map[int32]string{ - 0: "UNKNOWN", - 1: "RUNNING", - 2: "SUCCESS", - 3: "ERROR", - } - GetTFRunStatusResponse_State_value = map[string]int32{ - "UNKNOWN": 0, - "RUNNING": 1, - "SUCCESS": 2, - "ERROR": 3, - } -) - -func (x GetTFRunStatusResponse_State) Enum() *GetTFRunStatusResponse_State { - p := new(GetTFRunStatusResponse_State) - *p = x - return p -} - -func (x GetTFRunStatusResponse_State) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GetTFRunStatusResponse_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[27].Descriptor() -} - -func (GetTFRunStatusResponse_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[27] -} - -func (x GetTFRunStatusResponse_State) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GetTFRunStatusResponse_State.Descriptor instead. -func (GetTFRunStatusResponse_State) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{232, 0} -} - -type GetTFCRunStatusResponse_State int32 - -const ( - GetTFCRunStatusResponse_UNKNOWN GetTFCRunStatusResponse_State = 0 - GetTFCRunStatusResponse_RUNNING GetTFCRunStatusResponse_State = 1 - GetTFCRunStatusResponse_SUCCESS GetTFCRunStatusResponse_State = 2 - GetTFCRunStatusResponse_ERROR GetTFCRunStatusResponse_State = 3 -) - -// Enum value maps for GetTFCRunStatusResponse_State. -var ( - GetTFCRunStatusResponse_State_name = map[int32]string{ - 0: "UNKNOWN", - 1: "RUNNING", - 2: "SUCCESS", - 3: "ERROR", - } - GetTFCRunStatusResponse_State_value = map[string]int32{ - "UNKNOWN": 0, - "RUNNING": 1, - "SUCCESS": 2, - "ERROR": 3, - } -) - -func (x GetTFCRunStatusResponse_State) Enum() *GetTFCRunStatusResponse_State { - p := new(GetTFCRunStatusResponse_State) - *p = x - return p -} - -func (x GetTFCRunStatusResponse_State) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GetTFCRunStatusResponse_State) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[28].Descriptor() -} - -func (GetTFCRunStatusResponse_State) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[28] -} - -func (x GetTFCRunStatusResponse_State) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GetTFCRunStatusResponse_State.Descriptor instead. -func (GetTFCRunStatusResponse_State) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{236, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{188, 0, 0} } type Snapshot_Header_Format int32 @@ -1639,11 +1323,11 @@ func (x Snapshot_Header_Format) String() string { } func (Snapshot_Header_Format) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[29].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[23].Descriptor() } func (Snapshot_Header_Format) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[29] + return &file_pkg_server_proto_server_proto_enumTypes[23] } func (x Snapshot_Header_Format) Number() protoreflect.EnumNumber { @@ -1652,7 +1336,7 @@ func (x Snapshot_Header_Format) Number() protoreflect.EnumNumber { // Deprecated: Use Snapshot_Header_Format.Descriptor instead. func (Snapshot_Header_Format) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{251, 0, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 0, 0} } // HCL files can be in either HCL or JSON syntax. We need to know ahead of @@ -1688,11 +1372,11 @@ func (x Hcl_Format) String() string { } func (Hcl_Format) Descriptor() protoreflect.EnumDescriptor { - return file_pkg_server_proto_server_proto_enumTypes[30].Descriptor() + return file_pkg_server_proto_server_proto_enumTypes[24].Descriptor() } func (Hcl_Format) Type() protoreflect.EnumType { - return &file_pkg_server_proto_server_proto_enumTypes[30] + return &file_pkg_server_proto_server_proto_enumTypes[24] } func (x Hcl_Format) Number() protoreflect.EnumNumber { @@ -1701,7 +1385,7 @@ func (x Hcl_Format) Number() protoreflect.EnumNumber { // Deprecated: Use Hcl_Format.Descriptor instead. func (Hcl_Format) EnumDescriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{252, 0} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{212, 0} } // ******************************************************************* @@ -2288,12 +1972,6 @@ type Project struct { // poll operations and their success/failure by using the ListJobs API. StatusReportPoll *Project_AppStatusPoll `protobuf:"bytes,10,opt,name=status_report_poll,json=statusReportPoll,proto3" json:"status_report_poll,omitempty"` State Project_ProjectState `protobuf:"varint,11,opt,name=state,proto3,enum=hashicorp.waypoint.Project_ProjectState" json:"state,omitempty"` - // readme_markdown is markdown formatted instructions on how to operate the project. - // This may be populated from a project template. - ReadmeMarkdown []byte `protobuf:"bytes,13,opt,name=readme_markdown,json=readmeMarkdown,proto3" json:"readme_markdown,omitempty"` - // project_template is a reference to the template that this project was - // created from, if any. - ProjectTemplate *Ref_ProjectTemplate `protobuf:"bytes,12,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` } func (x *Project) Reset() { @@ -2405,20 +2083,6 @@ func (x *Project) GetState() Project_ProjectState { return Project_ACTIVE } -func (x *Project) GetReadmeMarkdown() []byte { - if x != nil { - return x.ReadmeMarkdown - } - return nil -} - -func (x *Project) GetProjectTemplate() *Ref_ProjectTemplate { - if x != nil { - return x.ProjectTemplate - } - return nil -} - type Workspace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10455,120 +10119,6 @@ func (x *PushedArtifact) GetPreload() *PushedArtifact_Preload { return nil } -type GetLatestDeploymentRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // application that this belongs to - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // workspace for the artifact, any workspace if empty - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` - // Load additional details about the deployment. These will become available - // in the Preload section. - LoadDetails Deployment_LoadDetails `protobuf:"varint,3,opt,name=load_details,json=loadDetails,proto3,enum=hashicorp.waypoint.Deployment_LoadDetails" json:"load_details,omitempty"` -} - -func (x *GetLatestDeploymentRequest) Reset() { - *x = GetLatestDeploymentRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLatestDeploymentRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLatestDeploymentRequest) ProtoMessage() {} - -func (x *GetLatestDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLatestDeploymentRequest.ProtoReflect.Descriptor instead. -func (*GetLatestDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{124} -} - -func (x *GetLatestDeploymentRequest) GetApplication() *Ref_Application { - if x != nil { - return x.Application - } - return nil -} - -func (x *GetLatestDeploymentRequest) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -func (x *GetLatestDeploymentRequest) GetLoadDetails() Deployment_LoadDetails { - if x != nil { - return x.LoadDetails - } - return Deployment_NONE -} - -type GetDeploymentResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` -} - -func (x *GetDeploymentResponse) Reset() { - *x = GetDeploymentResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetDeploymentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetDeploymentResponse) ProtoMessage() {} - -func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetDeploymentResponse.ProtoReflect.Descriptor instead. -func (*GetDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{125} -} - -func (x *GetDeploymentResponse) GetDeployment() *Deployment { - if x != nil { - return x.Deployment - } - return nil -} - type GetDeploymentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10583,7 +10133,7 @@ type GetDeploymentRequest struct { func (x *GetDeploymentRequest) Reset() { *x = GetDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[126] + mi := &file_pkg_server_proto_server_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10596,7 +10146,7 @@ func (x *GetDeploymentRequest) String() string { func (*GetDeploymentRequest) ProtoMessage() {} func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[126] + mi := &file_pkg_server_proto_server_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10609,7 +10159,7 @@ func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{126} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{124} } func (x *GetDeploymentRequest) GetRef() *Ref_Operation { @@ -10647,7 +10197,7 @@ type UpsertDeploymentRequest struct { func (x *UpsertDeploymentRequest) Reset() { *x = UpsertDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[127] + mi := &file_pkg_server_proto_server_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10660,7 +10210,7 @@ func (x *UpsertDeploymentRequest) String() string { func (*UpsertDeploymentRequest) ProtoMessage() {} func (x *UpsertDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[127] + mi := &file_pkg_server_proto_server_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10673,7 +10223,7 @@ func (x *UpsertDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertDeploymentRequest.ProtoReflect.Descriptor instead. func (*UpsertDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{127} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{125} } func (x *UpsertDeploymentRequest) GetDeployment() *Deployment { @@ -10704,7 +10254,7 @@ type UpsertDeploymentResponse struct { func (x *UpsertDeploymentResponse) Reset() { *x = UpsertDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[128] + mi := &file_pkg_server_proto_server_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10717,7 +10267,7 @@ func (x *UpsertDeploymentResponse) String() string { func (*UpsertDeploymentResponse) ProtoMessage() {} func (x *UpsertDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[128] + mi := &file_pkg_server_proto_server_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10730,7 +10280,7 @@ func (x *UpsertDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertDeploymentResponse.ProtoReflect.Descriptor instead. func (*UpsertDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{128} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{126} } func (x *UpsertDeploymentResponse) GetDeployment() *Deployment { @@ -10767,7 +10317,7 @@ type ListDeploymentsRequest struct { func (x *ListDeploymentsRequest) Reset() { *x = ListDeploymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[129] + mi := &file_pkg_server_proto_server_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10780,7 +10330,7 @@ func (x *ListDeploymentsRequest) String() string { func (*ListDeploymentsRequest) ProtoMessage() {} func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[129] + mi := &file_pkg_server_proto_server_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10793,7 +10343,7 @@ func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{129} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{127} } func (x *ListDeploymentsRequest) GetApplication() *Ref_Application { @@ -10850,7 +10400,7 @@ type ListDeploymentsResponse struct { func (x *ListDeploymentsResponse) Reset() { *x = ListDeploymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[130] + mi := &file_pkg_server_proto_server_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10863,7 +10413,7 @@ func (x *ListDeploymentsResponse) String() string { func (*ListDeploymentsResponse) ProtoMessage() {} func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[130] + mi := &file_pkg_server_proto_server_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10876,7 +10426,7 @@ func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{130} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{128} } func (x *ListDeploymentsResponse) GetDeployments() []*Deployment { @@ -10954,7 +10504,7 @@ type Deployment struct { func (x *Deployment) Reset() { *x = Deployment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[131] + mi := &file_pkg_server_proto_server_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10967,7 +10517,7 @@ func (x *Deployment) String() string { func (*Deployment) ProtoMessage() {} func (x *Deployment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[131] + mi := &file_pkg_server_proto_server_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10980,7 +10530,7 @@ func (x *Deployment) ProtoReflect() protoreflect.Message { // Deprecated: Use Deployment.ProtoReflect.Descriptor instead. func (*Deployment) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{131} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{129} } func (x *Deployment) GetApplication() *Ref_Application { @@ -11145,7 +10695,7 @@ type DeploymentExpanded struct { func (x *DeploymentExpanded) Reset() { *x = DeploymentExpanded{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[132] + mi := &file_pkg_server_proto_server_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11158,7 +10708,7 @@ func (x *DeploymentExpanded) String() string { func (*DeploymentExpanded) ProtoMessage() {} func (x *DeploymentExpanded) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[132] + mi := &file_pkg_server_proto_server_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11171,7 +10721,7 @@ func (x *DeploymentExpanded) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentExpanded.ProtoReflect.Descriptor instead. func (*DeploymentExpanded) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{132} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{130} } func (x *DeploymentExpanded) GetDeployment() *Deployment { @@ -11205,7 +10755,7 @@ type ListInstancesRequest struct { func (x *ListInstancesRequest) Reset() { *x = ListInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[133] + mi := &file_pkg_server_proto_server_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11218,7 +10768,7 @@ func (x *ListInstancesRequest) String() string { func (*ListInstancesRequest) ProtoMessage() {} func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[133] + mi := &file_pkg_server_proto_server_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11231,7 +10781,7 @@ func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstancesRequest.ProtoReflect.Descriptor instead. func (*ListInstancesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{133} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{131} } func (m *ListInstancesRequest) GetScope() isListInstancesRequest_Scope { @@ -11291,7 +10841,7 @@ type ListInstancesResponse struct { func (x *ListInstancesResponse) Reset() { *x = ListInstancesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[134] + mi := &file_pkg_server_proto_server_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11304,7 +10854,7 @@ func (x *ListInstancesResponse) String() string { func (*ListInstancesResponse) ProtoMessage() {} func (x *ListInstancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[134] + mi := &file_pkg_server_proto_server_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11317,7 +10867,7 @@ func (x *ListInstancesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstancesResponse.ProtoReflect.Descriptor instead. func (*ListInstancesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{134} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{132} } func (x *ListInstancesResponse) GetInstances() []*Instance { @@ -11352,7 +10902,7 @@ type Instance struct { func (x *Instance) Reset() { *x = Instance{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[135] + mi := &file_pkg_server_proto_server_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11365,7 +10915,7 @@ func (x *Instance) String() string { func (*Instance) ProtoMessage() {} func (x *Instance) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[135] + mi := &file_pkg_server_proto_server_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11378,7 +10928,7 @@ func (x *Instance) ProtoReflect() protoreflect.Message { // Deprecated: Use Instance.ProtoReflect.Descriptor instead. func (*Instance) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{135} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{133} } func (x *Instance) GetId() string { @@ -11430,7 +10980,7 @@ type UpsertReleaseRequest struct { func (x *UpsertReleaseRequest) Reset() { *x = UpsertReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[136] + mi := &file_pkg_server_proto_server_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11443,7 +10993,7 @@ func (x *UpsertReleaseRequest) String() string { func (*UpsertReleaseRequest) ProtoMessage() {} func (x *UpsertReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[136] + mi := &file_pkg_server_proto_server_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11456,7 +11006,7 @@ func (x *UpsertReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertReleaseRequest.ProtoReflect.Descriptor instead. func (*UpsertReleaseRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{136} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{134} } func (x *UpsertReleaseRequest) GetRelease() *Release { @@ -11480,7 +11030,7 @@ type UpsertReleaseResponse struct { func (x *UpsertReleaseResponse) Reset() { *x = UpsertReleaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[137] + mi := &file_pkg_server_proto_server_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11493,7 +11043,7 @@ func (x *UpsertReleaseResponse) String() string { func (*UpsertReleaseResponse) ProtoMessage() {} func (x *UpsertReleaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[137] + mi := &file_pkg_server_proto_server_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11506,7 +11056,7 @@ func (x *UpsertReleaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertReleaseResponse.ProtoReflect.Descriptor instead. func (*UpsertReleaseResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{137} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{135} } func (x *UpsertReleaseResponse) GetRelease() *Release { @@ -11533,7 +11083,7 @@ type GetLatestReleaseRequest struct { func (x *GetLatestReleaseRequest) Reset() { *x = GetLatestReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[138] + mi := &file_pkg_server_proto_server_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11546,7 +11096,7 @@ func (x *GetLatestReleaseRequest) String() string { func (*GetLatestReleaseRequest) ProtoMessage() {} func (x *GetLatestReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[138] + mi := &file_pkg_server_proto_server_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11559,7 +11109,7 @@ func (x *GetLatestReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLatestReleaseRequest.ProtoReflect.Descriptor instead. func (*GetLatestReleaseRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{138} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{136} } func (x *GetLatestReleaseRequest) GetApplication() *Ref_Application { @@ -11610,7 +11160,7 @@ type ListReleasesRequest struct { func (x *ListReleasesRequest) Reset() { *x = ListReleasesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[139] + mi := &file_pkg_server_proto_server_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11623,7 +11173,7 @@ func (x *ListReleasesRequest) String() string { func (*ListReleasesRequest) ProtoMessage() {} func (x *ListReleasesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[139] + mi := &file_pkg_server_proto_server_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11636,7 +11186,7 @@ func (x *ListReleasesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReleasesRequest.ProtoReflect.Descriptor instead. func (*ListReleasesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{139} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{137} } func (x *ListReleasesRequest) GetApplication() *Ref_Application { @@ -11692,7 +11242,7 @@ type ListReleasesResponse struct { func (x *ListReleasesResponse) Reset() { *x = ListReleasesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[140] + mi := &file_pkg_server_proto_server_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11705,7 +11255,7 @@ func (x *ListReleasesResponse) String() string { func (*ListReleasesResponse) ProtoMessage() {} func (x *ListReleasesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[140] + mi := &file_pkg_server_proto_server_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11718,7 +11268,7 @@ func (x *ListReleasesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReleasesResponse.ProtoReflect.Descriptor instead. func (*ListReleasesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{140} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{138} } func (x *ListReleasesResponse) GetReleases() []*Release { @@ -11742,7 +11292,7 @@ type GetReleaseRequest struct { func (x *GetReleaseRequest) Reset() { *x = GetReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[141] + mi := &file_pkg_server_proto_server_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11755,7 +11305,7 @@ func (x *GetReleaseRequest) String() string { func (*GetReleaseRequest) ProtoMessage() {} func (x *GetReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[141] + mi := &file_pkg_server_proto_server_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11768,7 +11318,7 @@ func (x *GetReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReleaseRequest.ProtoReflect.Descriptor instead. func (*GetReleaseRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{141} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{139} } func (x *GetReleaseRequest) GetRef() *Ref_Operation { @@ -11840,7 +11390,7 @@ type Release struct { func (x *Release) Reset() { *x = Release{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[142] + mi := &file_pkg_server_proto_server_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11853,7 +11403,7 @@ func (x *Release) String() string { func (*Release) ProtoMessage() {} func (x *Release) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[142] + mi := &file_pkg_server_proto_server_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11866,7 +11416,7 @@ func (x *Release) ProtoReflect() protoreflect.Message { // Deprecated: Use Release.ProtoReflect.Descriptor instead. func (*Release) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{142} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{140} } func (x *Release) GetApplication() *Ref_Application { @@ -12010,7 +11560,7 @@ type ReleaseExpanded struct { func (x *ReleaseExpanded) Reset() { *x = ReleaseExpanded{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[143] + mi := &file_pkg_server_proto_server_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12023,7 +11573,7 @@ func (x *ReleaseExpanded) String() string { func (*ReleaseExpanded) ProtoMessage() {} func (x *ReleaseExpanded) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[143] + mi := &file_pkg_server_proto_server_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12036,7 +11586,7 @@ func (x *ReleaseExpanded) ProtoReflect() protoreflect.Message { // Deprecated: Use ReleaseExpanded.ProtoReflect.Descriptor instead. func (*ReleaseExpanded) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{143} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{141} } func (x *ReleaseExpanded) GetRelease() *Release { @@ -12105,7 +11655,7 @@ type Trigger struct { func (x *Trigger) Reset() { *x = Trigger{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[144] + mi := &file_pkg_server_proto_server_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12118,7 +11668,7 @@ func (x *Trigger) String() string { func (*Trigger) ProtoMessage() {} func (x *Trigger) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[144] + mi := &file_pkg_server_proto_server_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12131,7 +11681,7 @@ func (x *Trigger) ProtoReflect() protoreflect.Message { // Deprecated: Use Trigger.ProtoReflect.Descriptor instead. func (*Trigger) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{144} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{142} } func (x *Trigger) GetId() string { @@ -12326,7 +11876,7 @@ type UpsertTriggerRequest struct { func (x *UpsertTriggerRequest) Reset() { *x = UpsertTriggerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[145] + mi := &file_pkg_server_proto_server_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12339,7 +11889,7 @@ func (x *UpsertTriggerRequest) String() string { func (*UpsertTriggerRequest) ProtoMessage() {} func (x *UpsertTriggerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[145] + mi := &file_pkg_server_proto_server_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12352,7 +11902,7 @@ func (x *UpsertTriggerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertTriggerRequest.ProtoReflect.Descriptor instead. func (*UpsertTriggerRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{145} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{143} } func (x *UpsertTriggerRequest) GetTrigger() *Trigger { @@ -12374,7 +11924,7 @@ type UpsertTriggerResponse struct { func (x *UpsertTriggerResponse) Reset() { *x = UpsertTriggerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[146] + mi := &file_pkg_server_proto_server_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12387,7 +11937,7 @@ func (x *UpsertTriggerResponse) String() string { func (*UpsertTriggerResponse) ProtoMessage() {} func (x *UpsertTriggerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[146] + mi := &file_pkg_server_proto_server_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12400,7 +11950,7 @@ func (x *UpsertTriggerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertTriggerResponse.ProtoReflect.Descriptor instead. func (*UpsertTriggerResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{146} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{144} } func (x *UpsertTriggerResponse) GetTrigger() *Trigger { @@ -12421,7 +11971,7 @@ type GetTriggerRequest struct { func (x *GetTriggerRequest) Reset() { *x = GetTriggerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[147] + mi := &file_pkg_server_proto_server_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12434,7 +11984,7 @@ func (x *GetTriggerRequest) String() string { func (*GetTriggerRequest) ProtoMessage() {} func (x *GetTriggerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[147] + mi := &file_pkg_server_proto_server_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12447,7 +11997,7 @@ func (x *GetTriggerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTriggerRequest.ProtoReflect.Descriptor instead. func (*GetTriggerRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{147} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{145} } func (x *GetTriggerRequest) GetRef() *Ref_Trigger { @@ -12468,7 +12018,7 @@ type GetTriggerResponse struct { func (x *GetTriggerResponse) Reset() { *x = GetTriggerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[148] + mi := &file_pkg_server_proto_server_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12481,7 +12031,7 @@ func (x *GetTriggerResponse) String() string { func (*GetTriggerResponse) ProtoMessage() {} func (x *GetTriggerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[148] + mi := &file_pkg_server_proto_server_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12494,7 +12044,7 @@ func (x *GetTriggerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTriggerResponse.ProtoReflect.Descriptor instead. func (*GetTriggerResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{148} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{146} } func (x *GetTriggerResponse) GetTrigger() *Trigger { @@ -12515,7 +12065,7 @@ type DeleteTriggerRequest struct { func (x *DeleteTriggerRequest) Reset() { *x = DeleteTriggerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[149] + mi := &file_pkg_server_proto_server_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12528,7 +12078,7 @@ func (x *DeleteTriggerRequest) String() string { func (*DeleteTriggerRequest) ProtoMessage() {} func (x *DeleteTriggerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[149] + mi := &file_pkg_server_proto_server_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12541,7 +12091,7 @@ func (x *DeleteTriggerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTriggerRequest.ProtoReflect.Descriptor instead. func (*DeleteTriggerRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{149} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{147} } func (x *DeleteTriggerRequest) GetRef() *Ref_Trigger { @@ -12567,7 +12117,7 @@ type RunTriggerRequest struct { func (x *RunTriggerRequest) Reset() { *x = RunTriggerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[150] + mi := &file_pkg_server_proto_server_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12580,7 +12130,7 @@ func (x *RunTriggerRequest) String() string { func (*RunTriggerRequest) ProtoMessage() {} func (x *RunTriggerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[150] + mi := &file_pkg_server_proto_server_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12593,7 +12143,7 @@ func (x *RunTriggerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunTriggerRequest.ProtoReflect.Descriptor instead. func (*RunTriggerRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{150} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{148} } func (x *RunTriggerRequest) GetRef() *Ref_Trigger { @@ -12623,7 +12173,7 @@ type RunTriggerResponse struct { func (x *RunTriggerResponse) Reset() { *x = RunTriggerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[151] + mi := &file_pkg_server_proto_server_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12636,7 +12186,7 @@ func (x *RunTriggerResponse) String() string { func (*RunTriggerResponse) ProtoMessage() {} func (x *RunTriggerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[151] + mi := &file_pkg_server_proto_server_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12649,7 +12199,7 @@ func (x *RunTriggerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RunTriggerResponse.ProtoReflect.Descriptor instead. func (*RunTriggerResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{151} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{149} } func (x *RunTriggerResponse) GetJobIds() []string { @@ -12680,7 +12230,7 @@ type ListTriggerRequest struct { func (x *ListTriggerRequest) Reset() { *x = ListTriggerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[152] + mi := &file_pkg_server_proto_server_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12693,7 +12243,7 @@ func (x *ListTriggerRequest) String() string { func (*ListTriggerRequest) ProtoMessage() {} func (x *ListTriggerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[152] + mi := &file_pkg_server_proto_server_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12706,7 +12256,7 @@ func (x *ListTriggerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTriggerRequest.ProtoReflect.Descriptor instead. func (*ListTriggerRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{152} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{150} } func (x *ListTriggerRequest) GetWorkspace() *Ref_Workspace { @@ -12748,7 +12298,7 @@ type ListTriggerResponse struct { func (x *ListTriggerResponse) Reset() { *x = ListTriggerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[153] + mi := &file_pkg_server_proto_server_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12761,7 +12311,7 @@ func (x *ListTriggerResponse) String() string { func (*ListTriggerResponse) ProtoMessage() {} func (x *ListTriggerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[153] + mi := &file_pkg_server_proto_server_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12774,7 +12324,7 @@ func (x *ListTriggerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTriggerResponse.ProtoReflect.Descriptor instead. func (*ListTriggerResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{153} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{151} } func (x *ListTriggerResponse) GetTriggers() []*Trigger { @@ -12798,7 +12348,7 @@ type UpsertStatusReportRequest struct { func (x *UpsertStatusReportRequest) Reset() { *x = UpsertStatusReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[154] + mi := &file_pkg_server_proto_server_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12811,7 +12361,7 @@ func (x *UpsertStatusReportRequest) String() string { func (*UpsertStatusReportRequest) ProtoMessage() {} func (x *UpsertStatusReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[154] + mi := &file_pkg_server_proto_server_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12824,7 +12374,7 @@ func (x *UpsertStatusReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertStatusReportRequest.ProtoReflect.Descriptor instead. func (*UpsertStatusReportRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{154} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{152} } func (x *UpsertStatusReportRequest) GetStatusReport() *StatusReport { @@ -12848,7 +12398,7 @@ type UpsertStatusReportResponse struct { func (x *UpsertStatusReportResponse) Reset() { *x = UpsertStatusReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[155] + mi := &file_pkg_server_proto_server_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12861,7 +12411,7 @@ func (x *UpsertStatusReportResponse) String() string { func (*UpsertStatusReportResponse) ProtoMessage() {} func (x *UpsertStatusReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[155] + mi := &file_pkg_server_proto_server_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12874,7 +12424,7 @@ func (x *UpsertStatusReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertStatusReportResponse.ProtoReflect.Descriptor instead. func (*UpsertStatusReportResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{155} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{153} } func (x *UpsertStatusReportResponse) GetStatusReport() *StatusReport { @@ -12908,7 +12458,7 @@ type GetLatestStatusReportRequest struct { func (x *GetLatestStatusReportRequest) Reset() { *x = GetLatestStatusReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[156] + mi := &file_pkg_server_proto_server_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12921,7 +12471,7 @@ func (x *GetLatestStatusReportRequest) String() string { func (*GetLatestStatusReportRequest) ProtoMessage() {} func (x *GetLatestStatusReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[156] + mi := &file_pkg_server_proto_server_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12934,7 +12484,7 @@ func (x *GetLatestStatusReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLatestStatusReportRequest.ProtoReflect.Descriptor instead. func (*GetLatestStatusReportRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{156} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{154} } func (x *GetLatestStatusReportRequest) GetApplication() *Ref_Application { @@ -13057,7 +12607,7 @@ type ListStatusReportsRequest struct { func (x *ListStatusReportsRequest) Reset() { *x = ListStatusReportsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[157] + mi := &file_pkg_server_proto_server_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13070,7 +12620,7 @@ func (x *ListStatusReportsRequest) String() string { func (*ListStatusReportsRequest) ProtoMessage() {} func (x *ListStatusReportsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[157] + mi := &file_pkg_server_proto_server_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13083,7 +12633,7 @@ func (x *ListStatusReportsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListStatusReportsRequest.ProtoReflect.Descriptor instead. func (*ListStatusReportsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{157} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{155} } func (x *ListStatusReportsRequest) GetStatus() []*StatusFilter { @@ -13164,7 +12714,7 @@ type ListStatusReportsResponse struct { func (x *ListStatusReportsResponse) Reset() { *x = ListStatusReportsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[158] + mi := &file_pkg_server_proto_server_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13177,7 +12727,7 @@ func (x *ListStatusReportsResponse) String() string { func (*ListStatusReportsResponse) ProtoMessage() {} func (x *ListStatusReportsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[158] + mi := &file_pkg_server_proto_server_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13190,7 +12740,7 @@ func (x *ListStatusReportsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListStatusReportsResponse.ProtoReflect.Descriptor instead. func (*ListStatusReportsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{158} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{156} } func (x *ListStatusReportsResponse) GetStatusReports() []*StatusReport { @@ -13211,7 +12761,7 @@ type GetStatusReportRequest struct { func (x *GetStatusReportRequest) Reset() { *x = GetStatusReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[159] + mi := &file_pkg_server_proto_server_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13224,7 +12774,7 @@ func (x *GetStatusReportRequest) String() string { func (*GetStatusReportRequest) ProtoMessage() {} func (x *GetStatusReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[159] + mi := &file_pkg_server_proto_server_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13237,7 +12787,7 @@ func (x *GetStatusReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusReportRequest.ProtoReflect.Descriptor instead. func (*GetStatusReportRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{159} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{157} } func (x *GetStatusReportRequest) GetRef() *Ref_Operation { @@ -13266,7 +12816,7 @@ type ExpediteStatusReportRequest struct { func (x *ExpediteStatusReportRequest) Reset() { *x = ExpediteStatusReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[160] + mi := &file_pkg_server_proto_server_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13279,7 +12829,7 @@ func (x *ExpediteStatusReportRequest) String() string { func (*ExpediteStatusReportRequest) ProtoMessage() {} func (x *ExpediteStatusReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[160] + mi := &file_pkg_server_proto_server_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13292,7 +12842,7 @@ func (x *ExpediteStatusReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpediteStatusReportRequest.ProtoReflect.Descriptor instead. func (*ExpediteStatusReportRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{160} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{158} } func (x *ExpediteStatusReportRequest) GetWorkspace() *Ref_Workspace { @@ -13353,7 +12903,7 @@ type ExpediteStatusReportResponse struct { func (x *ExpediteStatusReportResponse) Reset() { *x = ExpediteStatusReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[161] + mi := &file_pkg_server_proto_server_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13366,7 +12916,7 @@ func (x *ExpediteStatusReportResponse) String() string { func (*ExpediteStatusReportResponse) ProtoMessage() {} func (x *ExpediteStatusReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[161] + mi := &file_pkg_server_proto_server_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13379,7 +12929,7 @@ func (x *ExpediteStatusReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpediteStatusReportResponse.ProtoReflect.Descriptor instead. func (*ExpediteStatusReportResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{161} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{159} } func (x *ExpediteStatusReportResponse) GetJobId() string { @@ -13446,7 +12996,7 @@ type StatusReport struct { func (x *StatusReport) Reset() { *x = StatusReport{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[162] + mi := &file_pkg_server_proto_server_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13459,7 +13009,7 @@ func (x *StatusReport) String() string { func (*StatusReport) ProtoMessage() {} func (x *StatusReport) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[162] + mi := &file_pkg_server_proto_server_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13472,7 +13022,7 @@ func (x *StatusReport) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusReport.ProtoReflect.Descriptor instead. func (*StatusReport) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{160} } func (x *StatusReport) GetApplication() *Ref_Application { @@ -13622,7 +13172,7 @@ type GetLogStreamRequest struct { func (x *GetLogStreamRequest) Reset() { *x = GetLogStreamRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[163] + mi := &file_pkg_server_proto_server_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13635,7 +13185,7 @@ func (x *GetLogStreamRequest) String() string { func (*GetLogStreamRequest) ProtoMessage() {} func (x *GetLogStreamRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[163] + mi := &file_pkg_server_proto_server_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13648,7 +13198,7 @@ func (x *GetLogStreamRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLogStreamRequest.ProtoReflect.Descriptor instead. func (*GetLogStreamRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{163} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{161} } func (m *GetLogStreamRequest) GetScope() isGetLogStreamRequest_Scope { @@ -13710,7 +13260,7 @@ type LogBatch struct { func (x *LogBatch) Reset() { *x = LogBatch{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[164] + mi := &file_pkg_server_proto_server_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13723,7 +13273,7 @@ func (x *LogBatch) String() string { func (*LogBatch) ProtoMessage() {} func (x *LogBatch) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[164] + mi := &file_pkg_server_proto_server_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13736,7 +13286,7 @@ func (x *LogBatch) ProtoReflect() protoreflect.Message { // Deprecated: Use LogBatch.ProtoReflect.Descriptor instead. func (*LogBatch) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{164} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162} } func (x *LogBatch) GetDeploymentId() string { @@ -13821,7 +13371,7 @@ type ConfigVar struct { func (x *ConfigVar) Reset() { *x = ConfigVar{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[165] + mi := &file_pkg_server_proto_server_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13834,7 +13384,7 @@ func (x *ConfigVar) String() string { func (*ConfigVar) ProtoMessage() {} func (x *ConfigVar) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[165] + mi := &file_pkg_server_proto_server_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13847,7 +13397,7 @@ func (x *ConfigVar) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigVar.ProtoReflect.Descriptor instead. func (*ConfigVar) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{165} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{163} } func (x *ConfigVar) GetTarget() *ConfigVar_Target { @@ -14003,7 +13553,7 @@ type ConfigSetRequest struct { func (x *ConfigSetRequest) Reset() { *x = ConfigSetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[166] + mi := &file_pkg_server_proto_server_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14016,7 +13566,7 @@ func (x *ConfigSetRequest) String() string { func (*ConfigSetRequest) ProtoMessage() {} func (x *ConfigSetRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[166] + mi := &file_pkg_server_proto_server_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14029,7 +13579,7 @@ func (x *ConfigSetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSetRequest.ProtoReflect.Descriptor instead. func (*ConfigSetRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{166} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{164} } func (x *ConfigSetRequest) GetVariables() []*ConfigVar { @@ -14048,7 +13598,7 @@ type ConfigSetResponse struct { func (x *ConfigSetResponse) Reset() { *x = ConfigSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[167] + mi := &file_pkg_server_proto_server_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14061,7 +13611,7 @@ func (x *ConfigSetResponse) String() string { func (*ConfigSetResponse) ProtoMessage() {} func (x *ConfigSetResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[167] + mi := &file_pkg_server_proto_server_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14074,7 +13624,7 @@ func (x *ConfigSetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSetResponse.ProtoReflect.Descriptor instead. func (*ConfigSetResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{167} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{165} } type ConfigDeleteRequest struct { @@ -14088,7 +13638,7 @@ type ConfigDeleteRequest struct { func (x *ConfigDeleteRequest) Reset() { *x = ConfigDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[168] + mi := &file_pkg_server_proto_server_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14101,7 +13651,7 @@ func (x *ConfigDeleteRequest) String() string { func (*ConfigDeleteRequest) ProtoMessage() {} func (x *ConfigDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[168] + mi := &file_pkg_server_proto_server_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14114,7 +13664,7 @@ func (x *ConfigDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigDeleteRequest.ProtoReflect.Descriptor instead. func (*ConfigDeleteRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{168} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{166} } func (x *ConfigDeleteRequest) GetVariables() []*ConfigVar { @@ -14133,7 +13683,7 @@ type ConfigDeleteResponse struct { func (x *ConfigDeleteResponse) Reset() { *x = ConfigDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[169] + mi := &file_pkg_server_proto_server_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14146,7 +13696,7 @@ func (x *ConfigDeleteResponse) String() string { func (*ConfigDeleteResponse) ProtoMessage() {} func (x *ConfigDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[169] + mi := &file_pkg_server_proto_server_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14159,7 +13709,7 @@ func (x *ConfigDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigDeleteResponse.ProtoReflect.Descriptor instead. func (*ConfigDeleteResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{169} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{167} } type ConfigGetRequest struct { @@ -14195,7 +13745,7 @@ type ConfigGetRequest struct { func (x *ConfigGetRequest) Reset() { *x = ConfigGetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[170] + mi := &file_pkg_server_proto_server_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14208,7 +13758,7 @@ func (x *ConfigGetRequest) String() string { func (*ConfigGetRequest) ProtoMessage() {} func (x *ConfigGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[170] + mi := &file_pkg_server_proto_server_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14221,7 +13771,7 @@ func (x *ConfigGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigGetRequest.ProtoReflect.Descriptor instead. func (*ConfigGetRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{170} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{168} } func (m *ConfigGetRequest) GetScope() isConfigGetRequest_Scope { @@ -14303,7 +13853,7 @@ type ConfigGetResponse struct { func (x *ConfigGetResponse) Reset() { *x = ConfigGetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[171] + mi := &file_pkg_server_proto_server_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14316,7 +13866,7 @@ func (x *ConfigGetResponse) String() string { func (*ConfigGetResponse) ProtoMessage() {} func (x *ConfigGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[171] + mi := &file_pkg_server_proto_server_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14329,7 +13879,7 @@ func (x *ConfigGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigGetResponse.ProtoReflect.Descriptor instead. func (*ConfigGetResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{171} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{169} } func (x *ConfigGetResponse) GetVariables() []*ConfigVar { @@ -14383,7 +13933,7 @@ type ConfigSource struct { func (x *ConfigSource) Reset() { *x = ConfigSource{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[172] + mi := &file_pkg_server_proto_server_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14396,7 +13946,7 @@ func (x *ConfigSource) String() string { func (*ConfigSource) ProtoMessage() {} func (x *ConfigSource) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[172] + mi := &file_pkg_server_proto_server_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14409,7 +13959,7 @@ func (x *ConfigSource) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead. func (*ConfigSource) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{172} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{170} } func (x *ConfigSource) GetDelete() bool { @@ -14508,7 +14058,7 @@ type SetConfigSourceRequest struct { func (x *SetConfigSourceRequest) Reset() { *x = SetConfigSourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[173] + mi := &file_pkg_server_proto_server_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14521,7 +14071,7 @@ func (x *SetConfigSourceRequest) String() string { func (*SetConfigSourceRequest) ProtoMessage() {} func (x *SetConfigSourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[173] + mi := &file_pkg_server_proto_server_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14534,7 +14084,7 @@ func (x *SetConfigSourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetConfigSourceRequest.ProtoReflect.Descriptor instead. func (*SetConfigSourceRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{173} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{171} } func (x *SetConfigSourceRequest) GetConfigSource() *ConfigSource { @@ -14555,7 +14105,7 @@ type DeleteConfigSourceRequest struct { func (x *DeleteConfigSourceRequest) Reset() { *x = DeleteConfigSourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[174] + mi := &file_pkg_server_proto_server_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14568,7 +14118,7 @@ func (x *DeleteConfigSourceRequest) String() string { func (*DeleteConfigSourceRequest) ProtoMessage() {} func (x *DeleteConfigSourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[174] + mi := &file_pkg_server_proto_server_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14581,7 +14131,7 @@ func (x *DeleteConfigSourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteConfigSourceRequest.ProtoReflect.Descriptor instead. func (*DeleteConfigSourceRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{174} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{172} } func (x *DeleteConfigSourceRequest) GetConfigSource() *ConfigSource { @@ -14619,7 +14169,7 @@ type GetConfigSourceRequest struct { func (x *GetConfigSourceRequest) Reset() { *x = GetConfigSourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[175] + mi := &file_pkg_server_proto_server_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14632,7 +14182,7 @@ func (x *GetConfigSourceRequest) String() string { func (*GetConfigSourceRequest) ProtoMessage() {} func (x *GetConfigSourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[175] + mi := &file_pkg_server_proto_server_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14645,7 +14195,7 @@ func (x *GetConfigSourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConfigSourceRequest.ProtoReflect.Descriptor instead. func (*GetConfigSourceRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{173} } func (m *GetConfigSourceRequest) GetScope() isGetConfigSourceRequest_Scope { @@ -14736,7 +14286,7 @@ type GetConfigSourceResponse struct { func (x *GetConfigSourceResponse) Reset() { *x = GetConfigSourceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[176] + mi := &file_pkg_server_proto_server_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14749,7 +14299,7 @@ func (x *GetConfigSourceResponse) String() string { func (*GetConfigSourceResponse) ProtoMessage() {} func (x *GetConfigSourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[176] + mi := &file_pkg_server_proto_server_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14762,7 +14312,7 @@ func (x *GetConfigSourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConfigSourceResponse.ProtoReflect.Descriptor instead. func (*GetConfigSourceResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{174} } func (x *GetConfigSourceResponse) GetConfigSources() []*ConfigSource { @@ -14789,7 +14339,7 @@ type ExecStreamRequest struct { func (x *ExecStreamRequest) Reset() { *x = ExecStreamRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[177] + mi := &file_pkg_server_proto_server_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14802,7 +14352,7 @@ func (x *ExecStreamRequest) String() string { func (*ExecStreamRequest) ProtoMessage() {} func (x *ExecStreamRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[177] + mi := &file_pkg_server_proto_server_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14815,7 +14365,7 @@ func (x *ExecStreamRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecStreamRequest.ProtoReflect.Descriptor instead. func (*ExecStreamRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175} } func (m *ExecStreamRequest) GetEvent() isExecStreamRequest_Event { @@ -14901,7 +14451,7 @@ type ExecStreamResponse struct { func (x *ExecStreamResponse) Reset() { *x = ExecStreamResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[178] + mi := &file_pkg_server_proto_server_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14914,7 +14464,7 @@ func (x *ExecStreamResponse) String() string { func (*ExecStreamResponse) ProtoMessage() {} func (x *ExecStreamResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[178] + mi := &file_pkg_server_proto_server_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14927,7 +14477,7 @@ func (x *ExecStreamResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecStreamResponse.ProtoReflect.Descriptor instead. func (*ExecStreamResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176} } func (m *ExecStreamResponse) GetEvent() isExecStreamResponse_Event { @@ -15005,7 +14555,7 @@ type EntrypointConfigRequest struct { func (x *EntrypointConfigRequest) Reset() { *x = EntrypointConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[179] + mi := &file_pkg_server_proto_server_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15018,7 +14568,7 @@ func (x *EntrypointConfigRequest) String() string { func (*EntrypointConfigRequest) ProtoMessage() {} func (x *EntrypointConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[179] + mi := &file_pkg_server_proto_server_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15031,7 +14581,7 @@ func (x *EntrypointConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointConfigRequest.ProtoReflect.Descriptor instead. func (*EntrypointConfigRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{179} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177} } func (x *EntrypointConfigRequest) GetDeploymentId() string { @@ -15073,7 +14623,7 @@ type EntrypointConfigResponse struct { func (x *EntrypointConfigResponse) Reset() { *x = EntrypointConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[180] + mi := &file_pkg_server_proto_server_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15086,7 +14636,7 @@ func (x *EntrypointConfigResponse) String() string { func (*EntrypointConfigResponse) ProtoMessage() {} func (x *EntrypointConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[180] + mi := &file_pkg_server_proto_server_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15099,7 +14649,7 @@ func (x *EntrypointConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointConfigResponse.ProtoReflect.Descriptor instead. func (*EntrypointConfigResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{180} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178} } func (x *EntrypointConfigResponse) GetConfig() *EntrypointConfig { @@ -15136,7 +14686,7 @@ type EntrypointConfig struct { func (x *EntrypointConfig) Reset() { *x = EntrypointConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[181] + mi := &file_pkg_server_proto_server_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15149,7 +14699,7 @@ func (x *EntrypointConfig) String() string { func (*EntrypointConfig) ProtoMessage() {} func (x *EntrypointConfig) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[181] + mi := &file_pkg_server_proto_server_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15162,7 +14712,7 @@ func (x *EntrypointConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointConfig.ProtoReflect.Descriptor instead. func (*EntrypointConfig) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{179} } func (x *EntrypointConfig) GetExec() []*EntrypointConfig_Exec { @@ -15223,7 +14773,7 @@ type EntrypointLogBatch struct { func (x *EntrypointLogBatch) Reset() { *x = EntrypointLogBatch{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[182] + mi := &file_pkg_server_proto_server_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15236,7 +14786,7 @@ func (x *EntrypointLogBatch) String() string { func (*EntrypointLogBatch) ProtoMessage() {} func (x *EntrypointLogBatch) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[182] + mi := &file_pkg_server_proto_server_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15249,7 +14799,7 @@ func (x *EntrypointLogBatch) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointLogBatch.ProtoReflect.Descriptor instead. func (*EntrypointLogBatch) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{182} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{180} } func (x *EntrypointLogBatch) GetInstanceId() string { @@ -15283,7 +14833,7 @@ type EntrypointExecRequest struct { func (x *EntrypointExecRequest) Reset() { *x = EntrypointExecRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[183] + mi := &file_pkg_server_proto_server_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15296,7 +14846,7 @@ func (x *EntrypointExecRequest) String() string { func (*EntrypointExecRequest) ProtoMessage() {} func (x *EntrypointExecRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[183] + mi := &file_pkg_server_proto_server_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15309,7 +14859,7 @@ func (x *EntrypointExecRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointExecRequest.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181} } func (m *EntrypointExecRequest) GetEvent() isEntrypointExecRequest_Event { @@ -15398,7 +14948,7 @@ type EntrypointExecResponse struct { func (x *EntrypointExecResponse) Reset() { *x = EntrypointExecResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[184] + mi := &file_pkg_server_proto_server_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15411,7 +14961,7 @@ func (x *EntrypointExecResponse) String() string { func (*EntrypointExecResponse) ProtoMessage() {} func (x *EntrypointExecResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[184] + mi := &file_pkg_server_proto_server_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15424,7 +14974,7 @@ func (x *EntrypointExecResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrypointExecResponse.ProtoReflect.Descriptor instead. func (*EntrypointExecResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{184} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{182} } func (m *EntrypointExecResponse) GetEvent() isEntrypointExecResponse_Event { @@ -15542,7 +15092,7 @@ type Pipeline struct { func (x *Pipeline) Reset() { *x = Pipeline{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[185] + mi := &file_pkg_server_proto_server_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15555,7 +15105,7 @@ func (x *Pipeline) String() string { func (*Pipeline) ProtoMessage() {} func (x *Pipeline) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[185] + mi := &file_pkg_server_proto_server_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15568,7 +15118,7 @@ func (x *Pipeline) ProtoReflect() protoreflect.Message { // Deprecated: Use Pipeline.ProtoReflect.Descriptor instead. func (*Pipeline) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183} } func (x *Pipeline) GetId() string { @@ -15636,7 +15186,7 @@ type PipelineRun struct { func (x *PipelineRun) Reset() { *x = PipelineRun{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[186] + mi := &file_pkg_server_proto_server_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15649,7 +15199,7 @@ func (x *PipelineRun) String() string { func (*PipelineRun) ProtoMessage() {} func (x *PipelineRun) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[186] + mi := &file_pkg_server_proto_server_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15662,7 +15212,7 @@ func (x *PipelineRun) ProtoReflect() protoreflect.Message { // Deprecated: Use PipelineRun.ProtoReflect.Descriptor instead. func (*PipelineRun) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{186} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{184} } func (x *PipelineRun) GetId() string { @@ -15711,7 +15261,7 @@ type UpsertPipelineRequest struct { func (x *UpsertPipelineRequest) Reset() { *x = UpsertPipelineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[187] + mi := &file_pkg_server_proto_server_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15724,7 +15274,7 @@ func (x *UpsertPipelineRequest) String() string { func (*UpsertPipelineRequest) ProtoMessage() {} func (x *UpsertPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[187] + mi := &file_pkg_server_proto_server_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15737,7 +15287,7 @@ func (x *UpsertPipelineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertPipelineRequest.ProtoReflect.Descriptor instead. func (*UpsertPipelineRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{187} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185} } func (x *UpsertPipelineRequest) GetPipeline() *Pipeline { @@ -15760,7 +15310,7 @@ type UpsertPipelineResponse struct { func (x *UpsertPipelineResponse) Reset() { *x = UpsertPipelineResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[188] + mi := &file_pkg_server_proto_server_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15773,7 +15323,7 @@ func (x *UpsertPipelineResponse) String() string { func (*UpsertPipelineResponse) ProtoMessage() {} func (x *UpsertPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[188] + mi := &file_pkg_server_proto_server_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15786,7 +15336,7 @@ func (x *UpsertPipelineResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertPipelineResponse.ProtoReflect.Descriptor instead. func (*UpsertPipelineResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{188} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{186} } func (x *UpsertPipelineResponse) GetPipeline() *Pipeline { @@ -15807,7 +15357,7 @@ type GetPipelineRequest struct { func (x *GetPipelineRequest) Reset() { *x = GetPipelineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[189] + mi := &file_pkg_server_proto_server_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15820,7 +15370,7 @@ func (x *GetPipelineRequest) String() string { func (*GetPipelineRequest) ProtoMessage() {} func (x *GetPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[189] + mi := &file_pkg_server_proto_server_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15833,7 +15383,7 @@ func (x *GetPipelineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipelineRequest.ProtoReflect.Descriptor instead. func (*GetPipelineRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{189} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{187} } func (x *GetPipelineRequest) GetPipeline() *Ref_Pipeline { @@ -15862,7 +15412,7 @@ type GetPipelineResponse struct { func (x *GetPipelineResponse) Reset() { *x = GetPipelineResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[190] + mi := &file_pkg_server_proto_server_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15875,7 +15425,7 @@ func (x *GetPipelineResponse) String() string { func (*GetPipelineResponse) ProtoMessage() {} func (x *GetPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[190] + mi := &file_pkg_server_proto_server_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15888,7 +15438,7 @@ func (x *GetPipelineResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipelineResponse.ProtoReflect.Descriptor instead. func (*GetPipelineResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{190} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{188} } func (x *GetPipelineResponse) GetPipeline() *Pipeline { @@ -15927,7 +15477,7 @@ type RunPipelineRequest struct { func (x *RunPipelineRequest) Reset() { *x = RunPipelineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[191] + mi := &file_pkg_server_proto_server_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15940,7 +15490,7 @@ func (x *RunPipelineRequest) String() string { func (*RunPipelineRequest) ProtoMessage() {} func (x *RunPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[191] + mi := &file_pkg_server_proto_server_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15953,7 +15503,7 @@ func (x *RunPipelineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunPipelineRequest.ProtoReflect.Descriptor instead. func (*RunPipelineRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{191} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{189} } func (x *RunPipelineRequest) GetPipeline() *Ref_Pipeline { @@ -15995,7 +15545,7 @@ type RunPipelineResponse struct { func (x *RunPipelineResponse) Reset() { *x = RunPipelineResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[192] + mi := &file_pkg_server_proto_server_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16008,7 +15558,7 @@ func (x *RunPipelineResponse) String() string { func (*RunPipelineResponse) ProtoMessage() {} func (x *RunPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[192] + mi := &file_pkg_server_proto_server_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16021,7 +15571,7 @@ func (x *RunPipelineResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RunPipelineResponse.ProtoReflect.Descriptor instead. func (*RunPipelineResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{192} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{190} } func (x *RunPipelineResponse) GetJobId() string { @@ -16064,7 +15614,7 @@ type ListPipelinesRequest struct { func (x *ListPipelinesRequest) Reset() { *x = ListPipelinesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[193] + mi := &file_pkg_server_proto_server_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16077,7 +15627,7 @@ func (x *ListPipelinesRequest) String() string { func (*ListPipelinesRequest) ProtoMessage() {} func (x *ListPipelinesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[193] + mi := &file_pkg_server_proto_server_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16090,7 +15640,7 @@ func (x *ListPipelinesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipelinesRequest.ProtoReflect.Descriptor instead. func (*ListPipelinesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{193} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{191} } func (x *ListPipelinesRequest) GetProject() *Ref_Project { @@ -16112,7 +15662,7 @@ type ListPipelinesResponse struct { func (x *ListPipelinesResponse) Reset() { *x = ListPipelinesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[194] + mi := &file_pkg_server_proto_server_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16125,7 +15675,7 @@ func (x *ListPipelinesResponse) String() string { func (*ListPipelinesResponse) ProtoMessage() {} func (x *ListPipelinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[194] + mi := &file_pkg_server_proto_server_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16138,7 +15688,7 @@ func (x *ListPipelinesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipelinesResponse.ProtoReflect.Descriptor instead. func (*ListPipelinesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{194} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{192} } func (x *ListPipelinesResponse) GetPipelines() []*Pipeline { @@ -16161,7 +15711,7 @@ type ListPipelineRunsRequest struct { func (x *ListPipelineRunsRequest) Reset() { *x = ListPipelineRunsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[195] + mi := &file_pkg_server_proto_server_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16174,7 +15724,7 @@ func (x *ListPipelineRunsRequest) String() string { func (*ListPipelineRunsRequest) ProtoMessage() {} func (x *ListPipelineRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[195] + mi := &file_pkg_server_proto_server_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16187,7 +15737,7 @@ func (x *ListPipelineRunsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipelineRunsRequest.ProtoReflect.Descriptor instead. func (*ListPipelineRunsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{195} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{193} } func (x *ListPipelineRunsRequest) GetPipeline() *Ref_Pipeline { @@ -16209,7 +15759,7 @@ type ListPipelineRunsResponse struct { func (x *ListPipelineRunsResponse) Reset() { *x = ListPipelineRunsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[196] + mi := &file_pkg_server_proto_server_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16222,7 +15772,7 @@ func (x *ListPipelineRunsResponse) String() string { func (*ListPipelineRunsResponse) ProtoMessage() {} func (x *ListPipelineRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[196] + mi := &file_pkg_server_proto_server_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16235,7 +15785,7 @@ func (x *ListPipelineRunsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipelineRunsResponse.ProtoReflect.Descriptor instead. func (*ListPipelineRunsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{196} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{194} } func (x *ListPipelineRunsResponse) GetPipelineRuns() []*PipelineRun { @@ -16257,7 +15807,7 @@ type GetPipelineRunRequest struct { func (x *GetPipelineRunRequest) Reset() { *x = GetPipelineRunRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[197] + mi := &file_pkg_server_proto_server_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16270,7 +15820,7 @@ func (x *GetPipelineRunRequest) String() string { func (*GetPipelineRunRequest) ProtoMessage() {} func (x *GetPipelineRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[197] + mi := &file_pkg_server_proto_server_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16283,7 +15833,7 @@ func (x *GetPipelineRunRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipelineRunRequest.ProtoReflect.Descriptor instead. func (*GetPipelineRunRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{197} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{195} } func (x *GetPipelineRunRequest) GetPipeline() *Ref_Pipeline { @@ -16312,7 +15862,7 @@ type GetPipelineRunResponse struct { func (x *GetPipelineRunResponse) Reset() { *x = GetPipelineRunResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[198] + mi := &file_pkg_server_proto_server_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16325,7 +15875,7 @@ func (x *GetPipelineRunResponse) String() string { func (*GetPipelineRunResponse) ProtoMessage() {} func (x *GetPipelineRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[198] + mi := &file_pkg_server_proto_server_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16338,7 +15888,7 @@ func (x *GetPipelineRunResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipelineRunResponse.ProtoReflect.Descriptor instead. func (*GetPipelineRunResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{198} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{196} } func (x *GetPipelineRunResponse) GetPipelineRun() *PipelineRun { @@ -16360,7 +15910,7 @@ type ConfigSyncPipelineRequest struct { func (x *ConfigSyncPipelineRequest) Reset() { *x = ConfigSyncPipelineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[199] + mi := &file_pkg_server_proto_server_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16373,7 +15923,7 @@ func (x *ConfigSyncPipelineRequest) String() string { func (*ConfigSyncPipelineRequest) ProtoMessage() {} func (x *ConfigSyncPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[199] + mi := &file_pkg_server_proto_server_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16386,7 +15936,7 @@ func (x *ConfigSyncPipelineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSyncPipelineRequest.ProtoReflect.Descriptor instead. func (*ConfigSyncPipelineRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{199} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{197} } func (x *ConfigSyncPipelineRequest) GetProject() *Ref_Project { @@ -16409,7 +15959,7 @@ type ConfigSyncPipelineResponse struct { func (x *ConfigSyncPipelineResponse) Reset() { *x = ConfigSyncPipelineResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[200] + mi := &file_pkg_server_proto_server_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16422,7 +15972,7 @@ func (x *ConfigSyncPipelineResponse) String() string { func (*ConfigSyncPipelineResponse) ProtoMessage() {} func (x *ConfigSyncPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[200] + mi := &file_pkg_server_proto_server_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16435,7 +15985,7 @@ func (x *ConfigSyncPipelineResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSyncPipelineResponse.ProtoReflect.Descriptor instead. func (*ConfigSyncPipelineResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200} + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{198} } func (x *ConfigSyncPipelineResponse) GetSyncedPipelines() map[string]*Ref_Pipeline { @@ -16445,31 +15995,51 @@ func (x *ConfigSyncPipelineResponse) GetSyncedPipelines() map[string]*Ref_Pipeli return nil } -type GetProjectTemplateRequest struct { +// The outer structure of the token that is directly Marshaled and +// ASCII armored. +type TokenTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectTemplate *Ref_ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + // A Marshaled token, stored as bytes because we need to to validate + // it with the given signature. + Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` + // The signature of body for validation. + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + // The key used to generate the signature. + KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` + // Any configuration style metadata that can be passed along with the token + // without invalidating the token body itself. + Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The external creds are stored outside of the authenticated token body + // because we want clients that see the creds in the transport to use + // them BUT then strip them out before transmitting the token, so that + // the creds aren't be transfer constantly. + // + // Types that are assignable to ExternalCreds: + // + // *TokenTransport_OauthCreds + ExternalCreds isTokenTransport_ExternalCreds `protobuf_oneof:"external_creds"` } -func (x *GetProjectTemplateRequest) Reset() { - *x = GetProjectTemplateRequest{} +func (x *TokenTransport) Reset() { + *x = TokenTransport{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[201] + mi := &file_pkg_server_proto_server_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetProjectTemplateRequest) String() string { +func (x *TokenTransport) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetProjectTemplateRequest) ProtoMessage() {} +func (*TokenTransport) ProtoMessage() {} -func (x *GetProjectTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[201] +func (x *TokenTransport) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16480,91 +16050,117 @@ func (x *GetProjectTemplateRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetProjectTemplateRequest.ProtoReflect.Descriptor instead. -func (*GetProjectTemplateRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{201} +// Deprecated: Use TokenTransport.ProtoReflect.Descriptor instead. +func (*TokenTransport) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{199} } -func (x *GetProjectTemplateRequest) GetProjectTemplate() *Ref_ProjectTemplate { +func (x *TokenTransport) GetBody() []byte { if x != nil { - return x.ProjectTemplate + return x.Body } return nil } -type GetProjectTemplateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A single projecttemplate - ProjectTemplate *ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` +func (x *TokenTransport) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil } -func (x *GetProjectTemplateResponse) Reset() { - *x = GetProjectTemplateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[202] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *TokenTransport) GetKeyId() string { + if x != nil { + return x.KeyId } + return "" } -func (x *GetProjectTemplateResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *TokenTransport) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil } -func (*GetProjectTemplateResponse) ProtoMessage() {} +func (m *TokenTransport) GetExternalCreds() isTokenTransport_ExternalCreds { + if m != nil { + return m.ExternalCreds + } + return nil +} -func (x *GetProjectTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[202] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *TokenTransport) GetOauthCreds() *TokenTransport_OAuthCredentials { + if x, ok := x.GetExternalCreds().(*TokenTransport_OauthCreds); ok { + return x.OauthCreds } - return mi.MessageOf(x) + return nil } -// Deprecated: Use GetProjectTemplateResponse.ProtoReflect.Descriptor instead. -func (*GetProjectTemplateResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{202} +type isTokenTransport_ExternalCreds interface { + isTokenTransport_ExternalCreds() } -func (x *GetProjectTemplateResponse) GetProjectTemplate() *ProjectTemplate { - if x != nil { - return x.ProjectTemplate - } - return nil +type TokenTransport_OauthCreds struct { + // A client that sees this populated will use the details to fetch a token + // via oauth instead of submitting this token directly. + OauthCreds *TokenTransport_OAuthCredentials `protobuf:"bytes,12,opt,name=oauth_creds,json=oauthCreds,proto3,oneof"` } -type ListProjectTemplatesRequest struct { +func (*TokenTransport_OauthCreds) isTokenTransport_ExternalCreds() {} + +// The authenticated Token information. This is used to authenticate requests. +type Token struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` + // Non-secret ID that is used in logs to represent this token. Internally, + // this is also used as a nonce when signing. This ID is randomly generated + // when created. + AccessorId []byte `protobuf:"bytes,2,opt,name=accessor_id,json=accessorId,proto3" json:"accessor_id,omitempty"` + // When the token is valid until. After the given date, the token will be + // rejected. When this is not set, the token is valid forever. + ValidUntil *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=valid_until,json=validUntil,proto3" json:"valid_until,omitempty"` + // When the token was issued. This may be used for revocation using a + // "no earlier than" rule. + IssuedTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=issued_time,json=issuedTime,proto3" json:"issued_time,omitempty"` + // The kind of token this is. + // + // Types that are assignable to Kind: + // + // *Token_Login_ + // *Token_Runner_ + // *Token_Invite_ + // *Token_Trigger_ + Kind isToken_Kind `protobuf_oneof:"kind"` + // The user that the token is for. This must be "waypoint" for + // backwards compat reasons. + UnusedUser string `protobuf:"bytes,1,opt,name=unused_user,json=unusedUser,proto3" json:"unused_user,omitempty"` + // Old way to determine what kind of token this is. + UnusedLogin bool `protobuf:"varint,4,opt,name=unused_login,json=unusedLogin,proto3" json:"unused_login,omitempty"` + UnusedInvite bool `protobuf:"varint,5,opt,name=unused_invite,json=unusedInvite,proto3" json:"unused_invite,omitempty"` + // Same as Login.entrypoint, we just moved it. + UnusedEntrypoint *Token_Entrypoint `protobuf:"bytes,6,opt,name=unused_entrypoint,json=unusedEntrypoint,proto3" json:"unused_entrypoint,omitempty"` } -func (x *ListProjectTemplatesRequest) Reset() { - *x = ListProjectTemplatesRequest{} +func (x *Token) Reset() { + *x = Token{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[203] + mi := &file_pkg_server_proto_server_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListProjectTemplatesRequest) String() string { +func (x *Token) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListProjectTemplatesRequest) ProtoMessage() {} +func (*Token) ProtoMessage() {} -func (x *ListProjectTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[203] +func (x *Token) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16575,154 +16171,159 @@ func (x *ListProjectTemplatesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListProjectTemplatesRequest.ProtoReflect.Descriptor instead. -func (*ListProjectTemplatesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{203} +// Deprecated: Use Token.ProtoReflect.Descriptor instead. +func (*Token) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200} } -func (x *ListProjectTemplatesRequest) GetPagination() *PaginationRequest { +func (x *Token) GetAccessorId() []byte { if x != nil { - return x.Pagination + return x.AccessorId } return nil } -type ListProjectTemplatesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The full list of projecttemplates - ProjectTemplates []*ProjectTemplate `protobuf:"bytes,1,rep,name=project_templates,json=projectTemplates,proto3" json:"project_templates,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` - TotalCount uint64 `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` +func (x *Token) GetValidUntil() *timestamppb.Timestamp { + if x != nil { + return x.ValidUntil + } + return nil } -func (x *ListProjectTemplatesResponse) Reset() { - *x = ListProjectTemplatesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[204] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Token) GetIssuedTime() *timestamppb.Timestamp { + if x != nil { + return x.IssuedTime } + return nil } -func (x *ListProjectTemplatesResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *Token) GetKind() isToken_Kind { + if m != nil { + return m.Kind + } + return nil } -func (*ListProjectTemplatesResponse) ProtoMessage() {} - -func (x *ListProjectTemplatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[204] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Token) GetLogin() *Token_Login { + if x, ok := x.GetKind().(*Token_Login_); ok { + return x.Login } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ListProjectTemplatesResponse.ProtoReflect.Descriptor instead. -func (*ListProjectTemplatesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{204} +func (x *Token) GetRunner() *Token_Runner { + if x, ok := x.GetKind().(*Token_Runner_); ok { + return x.Runner + } + return nil } -func (x *ListProjectTemplatesResponse) GetProjectTemplates() []*ProjectTemplate { - if x != nil { - return x.ProjectTemplates +func (x *Token) GetInvite() *Token_Invite { + if x, ok := x.GetKind().(*Token_Invite_); ok { + return x.Invite } return nil } -func (x *ListProjectTemplatesResponse) GetPagination() *PaginationResponse { - if x != nil { - return x.Pagination +func (x *Token) GetTrigger() *Token_Trigger { + if x, ok := x.GetKind().(*Token_Trigger_); ok { + return x.Trigger } return nil } -func (x *ListProjectTemplatesResponse) GetTotalCount() uint64 { +func (x *Token) GetUnusedUser() string { if x != nil { - return x.TotalCount + return x.UnusedUser } - return 0 + return "" } -type CreateProjectTemplateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *Token) GetUnusedLogin() bool { + if x != nil { + return x.UnusedLogin + } + return false +} - ProjectTemplate *ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` +func (x *Token) GetUnusedInvite() bool { + if x != nil { + return x.UnusedInvite + } + return false } -func (x *CreateProjectTemplateRequest) Reset() { - *x = CreateProjectTemplateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[205] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Token) GetUnusedEntrypoint() *Token_Entrypoint { + if x != nil { + return x.UnusedEntrypoint } + return nil } -func (x *CreateProjectTemplateRequest) String() string { - return protoimpl.X.MessageStringOf(x) +type isToken_Kind interface { + isToken_Kind() } -func (*CreateProjectTemplateRequest) ProtoMessage() {} +type Token_Login_ struct { + // login tokens can be used for API requests + Login *Token_Login `protobuf:"bytes,8,opt,name=login,proto3,oneof"` +} -func (x *CreateProjectTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[205] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +type Token_Runner_ struct { + // Runner tokens can be used to request work on behalf of a runner. + // They have full API access as well since the workloads that runners + // run currently reuse this token. + Runner *Token_Runner `protobuf:"bytes,11,opt,name=runner,proto3,oneof"` } -// Deprecated: Use CreateProjectTemplateRequest.ProtoReflect.Descriptor instead. -func (*CreateProjectTemplateRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{205} +type Token_Invite_ struct { + // invite tokens can be exhanged for login tokens and also optionally + // sign a new user up. + Invite *Token_Invite `protobuf:"bytes,9,opt,name=invite,proto3,oneof"` } -func (x *CreateProjectTemplateRequest) GetProjectTemplate() *ProjectTemplate { - if x != nil { - return x.ProjectTemplate - } - return nil +type Token_Trigger_ struct { + // trigger tokens can be used to trigger lifecycle actions via HTTP + Trigger *Token_Trigger `protobuf:"bytes,10,opt,name=trigger,proto3,oneof"` } -type CreateProjectTemplateResponse struct { +func (*Token_Login_) isToken_Kind() {} + +func (*Token_Runner_) isToken_Kind() {} + +func (*Token_Invite_) isToken_Kind() {} + +func (*Token_Trigger_) isToken_Kind() {} + +// Represents a key used to sign tokens using HMAC +type HMACKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectTemplate *ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + // The identifier of the key. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // A randomly generated key used to sign tokens with + Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } -func (x *CreateProjectTemplateResponse) Reset() { - *x = CreateProjectTemplateResponse{} +func (x *HMACKey) Reset() { + *x = HMACKey{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[206] + mi := &file_pkg_server_proto_server_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateProjectTemplateResponse) String() string { +func (x *HMACKey) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateProjectTemplateResponse) ProtoMessage() {} +func (*HMACKey) ProtoMessage() {} -func (x *CreateProjectTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[206] +func (x *HMACKey) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16733,43 +16334,51 @@ func (x *CreateProjectTemplateResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateProjectTemplateResponse.ProtoReflect.Descriptor instead. -func (*CreateProjectTemplateResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{206} +// Deprecated: Use HMACKey.ProtoReflect.Descriptor instead. +func (*HMACKey) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{201} +} + +func (x *HMACKey) GetId() string { + if x != nil { + return x.Id + } + return "" } -func (x *CreateProjectTemplateResponse) GetProjectTemplate() *ProjectTemplate { +func (x *HMACKey) GetKey() []byte { if x != nil { - return x.ProjectTemplate + return x.Key } return nil } -type UpdateProjectTemplateRequest struct { +type DecodeTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectTemplate *ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + // The token to decode. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } -func (x *UpdateProjectTemplateRequest) Reset() { - *x = UpdateProjectTemplateRequest{} +func (x *DecodeTokenRequest) Reset() { + *x = DecodeTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[207] + mi := &file_pkg_server_proto_server_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateProjectTemplateRequest) String() string { +func (x *DecodeTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateProjectTemplateRequest) ProtoMessage() {} +func (*DecodeTokenRequest) ProtoMessage() {} -func (x *UpdateProjectTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[207] +func (x *DecodeTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16780,43 +16389,47 @@ func (x *UpdateProjectTemplateRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateProjectTemplateRequest.ProtoReflect.Descriptor instead. -func (*UpdateProjectTemplateRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{207} +// Deprecated: Use DecodeTokenRequest.ProtoReflect.Descriptor instead. +func (*DecodeTokenRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{202} } -func (x *UpdateProjectTemplateRequest) GetProjectTemplate() *ProjectTemplate { +func (x *DecodeTokenRequest) GetToken() string { if x != nil { - return x.ProjectTemplate + return x.Token } - return nil + return "" } -type UpdateProjectTemplateResponse struct { +type DecodeTokenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectTemplate *ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + // The decoded token. + Token *Token `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Transport is the wrapper around the token. This may be useful + // to look into the metadata around the token. + Transport *TokenTransport `protobuf:"bytes,2,opt,name=transport,proto3" json:"transport,omitempty"` } -func (x *UpdateProjectTemplateResponse) Reset() { - *x = UpdateProjectTemplateResponse{} +func (x *DecodeTokenResponse) Reset() { + *x = DecodeTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[208] + mi := &file_pkg_server_proto_server_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateProjectTemplateResponse) String() string { +func (x *DecodeTokenResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateProjectTemplateResponse) ProtoMessage() {} +func (*DecodeTokenResponse) ProtoMessage() {} -func (x *UpdateProjectTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[208] +func (x *DecodeTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16827,43 +16440,59 @@ func (x *UpdateProjectTemplateResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateProjectTemplateResponse.ProtoReflect.Descriptor instead. -func (*UpdateProjectTemplateResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{208} +// Deprecated: Use DecodeTokenResponse.ProtoReflect.Descriptor instead. +func (*DecodeTokenResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{203} +} + +func (x *DecodeTokenResponse) GetToken() *Token { + if x != nil { + return x.Token + } + return nil } -func (x *UpdateProjectTemplateResponse) GetProjectTemplate() *ProjectTemplate { +func (x *DecodeTokenResponse) GetTransport() *TokenTransport { if x != nil { - return x.ProjectTemplate + return x.Transport } return nil } -type DeleteProjectTemplateRequest struct { +type LoginTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectTemplate *Ref_ProjectTemplate `protobuf:"bytes,1,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + // How long the token should be valid from the time the request + // is made. If this is empty then the login token never expires on its own. + Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` + // The user to create the login token for. If this is nil, the currently + // logged in user is used. The calling user must have permission to create + // a token for the target user if this is set. + User *Ref_User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + // The token generated will only be used for Trigger URL actions. The token + // will not be authorized to make any other requests to any other endpoints + Trigger bool `protobuf:"varint,3,opt,name=trigger,proto3" json:"trigger,omitempty"` } -func (x *DeleteProjectTemplateRequest) Reset() { - *x = DeleteProjectTemplateRequest{} +func (x *LoginTokenRequest) Reset() { + *x = LoginTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[209] + mi := &file_pkg_server_proto_server_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteProjectTemplateRequest) String() string { +func (x *LoginTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteProjectTemplateRequest) ProtoMessage() {} +func (*LoginTokenRequest) ProtoMessage() {} -func (x *DeleteProjectTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[209] +func (x *LoginTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16874,41 +16503,66 @@ func (x *DeleteProjectTemplateRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteProjectTemplateRequest.ProtoReflect.Descriptor instead. -func (*DeleteProjectTemplateRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{209} +// Deprecated: Use LoginTokenRequest.ProtoReflect.Descriptor instead. +func (*LoginTokenRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{204} +} + +func (x *LoginTokenRequest) GetDuration() string { + if x != nil { + return x.Duration + } + return "" } -func (x *DeleteProjectTemplateRequest) GetProjectTemplate() *Ref_ProjectTemplate { +func (x *LoginTokenRequest) GetUser() *Ref_User { if x != nil { - return x.ProjectTemplate + return x.User } return nil } -type DeleteProjectTemplateResponse struct { +func (x *LoginTokenRequest) GetTrigger() bool { + if x != nil { + return x.Trigger + } + return false +} + +type GenerateRunnerTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // How long the token should be valid from the time the request + // is made. If this is empty then the runner token never expires on its own. + Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` + // ID to restrict this token to work with. This can be empty to allow it + // for all runner IDs. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // The set of labels to restrict this runner token to work for. The runner + // labels must match this label set exactly. If this is not set, then runners + // with any labels may use the resulting token. + Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *DeleteProjectTemplateResponse) Reset() { - *x = DeleteProjectTemplateResponse{} +func (x *GenerateRunnerTokenRequest) Reset() { + *x = GenerateRunnerTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[210] + mi := &file_pkg_server_proto_server_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteProjectTemplateResponse) String() string { +func (x *GenerateRunnerTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteProjectTemplateResponse) ProtoMessage() {} +func (*GenerateRunnerTokenRequest) ProtoMessage() {} -func (x *DeleteProjectTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[210] +func (x *GenerateRunnerTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16919,61 +16573,74 @@ func (x *DeleteProjectTemplateResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteProjectTemplateResponse.ProtoReflect.Descriptor instead. -func (*DeleteProjectTemplateResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{210} +// Deprecated: Use GenerateRunnerTokenRequest.ProtoReflect.Descriptor instead. +func (*GenerateRunnerTokenRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{205} +} + +func (x *GenerateRunnerTokenRequest) GetDuration() string { + if x != nil { + return x.Duration + } + return "" +} + +func (x *GenerateRunnerTokenRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GenerateRunnerTokenRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil } -type ProjectTemplate struct { +// Passed with GenerateInviteToken with the params on how the invite token should +// be generate. +type InviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Unique ID of the ProjectTemplate - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Unique name of the ProjectTemplate - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // A brief summary for use by platform engineers to distinguish between - // multiple templates - Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` - // A long summary of what the ProjectTemplate is to be used for. This summary - // is shared between platform engineers and application developers. - ExpandedSummary string `protobuf:"bytes,4,opt,name=expanded_summary,json=expandedSummary,proto3" json:"expanded_summary,omitempty"` - // A markdown text template which is rendered when a Project is created from a - // ProjectTemplate to be shown to application developers. - // Accepted tokens: - // "{{ .ProjectName }}", representing the application developer chosen project name - // "{{ .TfcOrgName }}", representing the Terraform Cloud organization name in which - // - // the no-code module was reified - ReadmeMarkdownTemplate []byte `protobuf:"bytes,5,opt,name=readme_markdown_template,json=readmeMarkdownTemplate,proto3" json:"readme_markdown_template,omitempty"` - // Settings for the Waypoint project that should be set when a project is - // created from a ProjectTemplate. - WaypointProject *ProjectTemplate_WaypointProject `protobuf:"bytes,6,opt,name=waypoint_project,json=waypointProject,proto3" json:"waypoint_project,omitempty"` - // The Terraform No-Code Module which should be used to provision - // infrastructure that is used by the project created from a ProjectTemplate. - TerraformNocodeModule *ProjectTemplate_TerraformNocodeModule `protobuf:"bytes,7,opt,name=terraform_nocode_module,json=terraformNocodeModule,proto3" json:"terraform_nocode_module,omitempty"` - // A list of descriptive strings that can be applied to the ProjectTemplate. - Tags []string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"` + // How long the token should be valid until. The resulting token has a timestamp + // encoded within it by adding the current time to this duration. + Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` + // login is the login information you want this token exchange for. All fields + // can be set (including logging in as another user as long as the requesting + // user has permission). If this is a signup invite token, the "user_id" + // will be ignored. + Login *Token_Login `protobuf:"bytes,4,opt,name=login,proto3" json:"login,omitempty"` + // signup, if non-nil, will exchange this invite token for new user accounts. + // The signup structure can be used to hint for the username. This must be + // non-nil for this to be a signup token for new accounts. + Signup *Token_Invite_Signup `protobuf:"bytes,3,opt,name=signup,proto3" json:"signup,omitempty"` + // Old field, used only for backwards compatibility. If this is set, + // the old behavior will be followed. If you don't know what that is, + // then do not use this field. + UnusedEntrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=unused_entrypoint,json=unusedEntrypoint,proto3" json:"unused_entrypoint,omitempty"` } -func (x *ProjectTemplate) Reset() { - *x = ProjectTemplate{} +func (x *InviteTokenRequest) Reset() { + *x = InviteTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[211] + mi := &file_pkg_server_proto_server_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ProjectTemplate) String() string { +func (x *InviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ProjectTemplate) ProtoMessage() {} +func (*InviteTokenRequest) ProtoMessage() {} -func (x *ProjectTemplate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[211] +func (x *InviteTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16984,96 +16651,66 @@ func (x *ProjectTemplate) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ProjectTemplate.ProtoReflect.Descriptor instead. -func (*ProjectTemplate) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211} -} - -func (x *ProjectTemplate) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ProjectTemplate) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use InviteTokenRequest.ProtoReflect.Descriptor instead. +func (*InviteTokenRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{206} } -func (x *ProjectTemplate) GetSummary() string { +func (x *InviteTokenRequest) GetDuration() string { if x != nil { - return x.Summary + return x.Duration } return "" } -func (x *ProjectTemplate) GetExpandedSummary() string { +func (x *InviteTokenRequest) GetLogin() *Token_Login { if x != nil { - return x.ExpandedSummary + return x.Login } - return "" + return nil } -func (x *ProjectTemplate) GetReadmeMarkdownTemplate() []byte { +func (x *InviteTokenRequest) GetSignup() *Token_Invite_Signup { if x != nil { - return x.ReadmeMarkdownTemplate + return x.Signup } return nil } -func (x *ProjectTemplate) GetWaypointProject() *ProjectTemplate_WaypointProject { +func (x *InviteTokenRequest) GetUnusedEntrypoint() *Token_Entrypoint { if x != nil { - return x.WaypointProject + return x.UnusedEntrypoint } return nil } -func (x *ProjectTemplate) GetTerraformNocodeModule() *ProjectTemplate_TerraformNocodeModule { - if x != nil { - return x.TerraformNocodeModule - } - return nil -} - -func (x *ProjectTemplate) GetTags() []string { - if x != nil { - return x.Tags - } - return nil -} - -type TerraformNocodeModule struct { +// Returned by any action that creates a token. +type NewTokenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The source of the Terraform no-code module. - // https://developer.hashicorp.com/terraform/language/modules/sources - Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // The version of the Terraform no-code module. - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // The new token which can be presented to whichever API expects it. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } -func (x *TerraformNocodeModule) Reset() { - *x = TerraformNocodeModule{} +func (x *NewTokenResponse) Reset() { + *x = NewTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[212] + mi := &file_pkg_server_proto_server_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TerraformNocodeModule) String() string { +func (x *NewTokenResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TerraformNocodeModule) ProtoMessage() {} +func (*NewTokenResponse) ProtoMessage() {} -func (x *TerraformNocodeModule) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[212] +func (x *NewTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17084,52 +16721,45 @@ func (x *TerraformNocodeModule) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TerraformNocodeModule.ProtoReflect.Descriptor instead. -func (*TerraformNocodeModule) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{212} -} - -func (x *TerraformNocodeModule) GetSource() string { - if x != nil { - return x.Source - } - return "" +// Deprecated: Use NewTokenResponse.ProtoReflect.Descriptor instead. +func (*NewTokenResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{207} } -func (x *TerraformNocodeModule) GetVersion() string { +func (x *NewTokenResponse) GetToken() string { if x != nil { - return x.Version + return x.Token } return "" } -// GetAddOnDefinitionRequest is the request used for getting an existing Add-on -// definition -type GetAddOnDefinitionRequest struct { +// Passed to ConvertInviteToken to create a new token that can be used to authenticate RPCs. +type ConvertInviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOnDefinition *Ref_AddOnDefinition `protobuf:"bytes,1,opt,name=add_on_definition,json=addOnDefinition,proto3" json:"add_on_definition,omitempty"` + // A token previous returned by GenerateInviteToken. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } -func (x *GetAddOnDefinitionRequest) Reset() { - *x = GetAddOnDefinitionRequest{} +func (x *ConvertInviteTokenRequest) Reset() { + *x = ConvertInviteTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[213] + mi := &file_pkg_server_proto_server_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAddOnDefinitionRequest) String() string { +func (x *ConvertInviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAddOnDefinitionRequest) ProtoMessage() {} +func (*ConvertInviteTokenRequest) ProtoMessage() {} -func (x *GetAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[213] +func (x *ConvertInviteTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17140,45 +16770,47 @@ func (x *GetAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAddOnDefinitionRequest.ProtoReflect.Descriptor instead. -func (*GetAddOnDefinitionRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{213} +// Deprecated: Use ConvertInviteTokenRequest.ProtoReflect.Descriptor instead. +func (*ConvertInviteTokenRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{208} } -func (x *GetAddOnDefinitionRequest) GetAddOnDefinition() *Ref_AddOnDefinition { +func (x *ConvertInviteTokenRequest) GetToken() string { if x != nil { - return x.AddOnDefinition + return x.Token } - return nil + return "" } -// GetAddOnDefinitionResponse is the response used to return an existing Add-on -// Definition -type GetAddOnDefinitionResponse struct { +type CreateSnapshotResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOnDefinition *AddOnDefinition `protobuf:"bytes,1,opt,name=add_on_definition,json=addOnDefinition,proto3" json:"add_on_definition,omitempty"` + // Types that are assignable to Event: + // + // *CreateSnapshotResponse_Open_ + // *CreateSnapshotResponse_Chunk + Event isCreateSnapshotResponse_Event `protobuf_oneof:"event"` } -func (x *GetAddOnDefinitionResponse) Reset() { - *x = GetAddOnDefinitionResponse{} +func (x *CreateSnapshotResponse) Reset() { + *x = CreateSnapshotResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[214] + mi := &file_pkg_server_proto_server_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAddOnDefinitionResponse) String() string { +func (x *CreateSnapshotResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAddOnDefinitionResponse) ProtoMessage() {} +func (*CreateSnapshotResponse) ProtoMessage() {} -func (x *GetAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[214] +func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17189,95 +16821,81 @@ func (x *GetAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAddOnDefinitionResponse.ProtoReflect.Descriptor instead. -func (*GetAddOnDefinitionResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{214} +// Deprecated: Use CreateSnapshotResponse.ProtoReflect.Descriptor instead. +func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{209} } -func (x *GetAddOnDefinitionResponse) GetAddOnDefinition() *AddOnDefinition { - if x != nil { - return x.AddOnDefinition +func (m *CreateSnapshotResponse) GetEvent() isCreateSnapshotResponse_Event { + if m != nil { + return m.Event } return nil } -// ListAddOnDefinitionsRequest is the request used to get all Add-on -// definitions -type ListAddOnDefinitionsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +func (x *CreateSnapshotResponse) GetOpen() *CreateSnapshotResponse_Open { + if x, ok := x.GetEvent().(*CreateSnapshotResponse_Open_); ok { + return x.Open + } + return nil } -func (x *ListAddOnDefinitionsRequest) Reset() { - *x = ListAddOnDefinitionsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[215] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CreateSnapshotResponse) GetChunk() []byte { + if x, ok := x.GetEvent().(*CreateSnapshotResponse_Chunk); ok { + return x.Chunk } + return nil } -func (x *ListAddOnDefinitionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +type isCreateSnapshotResponse_Event interface { + isCreateSnapshotResponse_Event() } -func (*ListAddOnDefinitionsRequest) ProtoMessage() {} - -func (x *ListAddOnDefinitionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[215] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +type CreateSnapshotResponse_Open_ struct { + // Open is sent as the opening message with information about the + // snapshot. This is always sent first (before any data). + Open *CreateSnapshotResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } -// Deprecated: Use ListAddOnDefinitionsRequest.ProtoReflect.Descriptor instead. -func (*ListAddOnDefinitionsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{215} +type CreateSnapshotResponse_Chunk struct { + // Chunk is a next chunk of data. You should continue to expect + // data until an EOF is received on the stream. + Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } -func (x *ListAddOnDefinitionsRequest) GetPagination() *PaginationRequest { - if x != nil { - return x.Pagination - } - return nil -} +func (*CreateSnapshotResponse_Open_) isCreateSnapshotResponse_Event() {} + +func (*CreateSnapshotResponse_Chunk) isCreateSnapshotResponse_Event() {} -// ListAddOnDefinitionsResponse is the response used to return all Add-on -// definitions -type ListAddOnDefinitionsResponse struct { +type RestoreSnapshotRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOnDefinitions []*AddOnDefinition `protobuf:"bytes,1,rep,name=add_on_definitions,json=addOnDefinitions,proto3" json:"add_on_definitions,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // Types that are assignable to Event: + // + // *RestoreSnapshotRequest_Open_ + // *RestoreSnapshotRequest_Chunk + Event isRestoreSnapshotRequest_Event `protobuf_oneof:"event"` } -func (x *ListAddOnDefinitionsResponse) Reset() { - *x = ListAddOnDefinitionsResponse{} +func (x *RestoreSnapshotRequest) Reset() { + *x = RestoreSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[216] + mi := &file_pkg_server_proto_server_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListAddOnDefinitionsResponse) String() string { +func (x *RestoreSnapshotRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAddOnDefinitionsResponse) ProtoMessage() {} +func (*RestoreSnapshotRequest) ProtoMessage() {} -func (x *ListAddOnDefinitionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[216] +func (x *RestoreSnapshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17288,156 +16906,88 @@ func (x *ListAddOnDefinitionsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAddOnDefinitionsResponse.ProtoReflect.Descriptor instead. -func (*ListAddOnDefinitionsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{216} +// Deprecated: Use RestoreSnapshotRequest.ProtoReflect.Descriptor instead. +func (*RestoreSnapshotRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{210} } -func (x *ListAddOnDefinitionsResponse) GetAddOnDefinitions() []*AddOnDefinition { - if x != nil { - return x.AddOnDefinitions +func (m *RestoreSnapshotRequest) GetEvent() isRestoreSnapshotRequest_Event { + if m != nil { + return m.Event } return nil } -func (x *ListAddOnDefinitionsResponse) GetPagination() *PaginationResponse { - if x != nil { - return x.Pagination +func (x *RestoreSnapshotRequest) GetOpen() *RestoreSnapshotRequest_Open { + if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Open_); ok { + return x.Open } return nil } -// CreateAddOnDefinitionRequest is the request used to create an Add-on -// definition -type CreateAddOnDefinitionRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Name of the Add-on definition - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule *TerraformNocodeModule `protobuf:"bytes,2,opt,name=terraform_nocode_module,json=terraformNocodeModule,proto3" json:"terraform_nocode_module,omitempty"` - // Short description of the Add-on - ShortSummary string `protobuf:"bytes,3,opt,name=short_summary,json=shortSummary,proto3" json:"short_summary,omitempty"` - // Longer description of the Add-on - LongSummary string `protobuf:"bytes,4,opt,name=long_summary,json=longSummary,proto3" json:"long_summary,omitempty"` - // A templated README describing the Add-on - ReadmeMarkdownTemplate []byte `protobuf:"bytes,5,opt,name=readme_markdown_template,json=readmeMarkdownTemplate,proto3" json:"readme_markdown_template,omitempty"` - // A list of descriptive tags for an Add-on - Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` - // The TF variable set to apply to the Add-on's No Code workspace - TfVariableSetIds []string `protobuf:"bytes,7,rep,name=tf_variable_set_ids,json=tfVariableSetIds,proto3" json:"tf_variable_set_ids,omitempty"` -} - -func (x *CreateAddOnDefinitionRequest) Reset() { - *x = CreateAddOnDefinitionRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[217] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateAddOnDefinitionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateAddOnDefinitionRequest) ProtoMessage() {} - -func (x *CreateAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[217] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateAddOnDefinitionRequest.ProtoReflect.Descriptor instead. -func (*CreateAddOnDefinitionRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{217} -} - -func (x *CreateAddOnDefinitionRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *CreateAddOnDefinitionRequest) GetTerraformNocodeModule() *TerraformNocodeModule { - if x != nil { - return x.TerraformNocodeModule +func (x *RestoreSnapshotRequest) GetChunk() []byte { + if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Chunk); ok { + return x.Chunk } return nil } -func (x *CreateAddOnDefinitionRequest) GetShortSummary() string { - if x != nil { - return x.ShortSummary - } - return "" +type isRestoreSnapshotRequest_Event interface { + isRestoreSnapshotRequest_Event() } -func (x *CreateAddOnDefinitionRequest) GetLongSummary() string { - if x != nil { - return x.LongSummary - } - return "" +type RestoreSnapshotRequest_Open_ struct { + // Open MUST be sent as the first message and sent exactly once. + // This sets the settings for the restore. + Open *RestoreSnapshotRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } -func (x *CreateAddOnDefinitionRequest) GetReadmeMarkdownTemplate() []byte { - if x != nil { - return x.ReadmeMarkdownTemplate - } - return nil +type RestoreSnapshotRequest_Chunk struct { + // Chunk is a chunk of restore data. The restore snapshot API will + // continue reading data until an EOF is received (the write end is + // closed). + Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } -func (x *CreateAddOnDefinitionRequest) GetTags() []string { - if x != nil { - return x.Tags - } - return nil -} +func (*RestoreSnapshotRequest_Open_) isRestoreSnapshotRequest_Event() {} -func (x *CreateAddOnDefinitionRequest) GetTfVariableSetIds() []string { - if x != nil { - return x.TfVariableSetIds - } - return nil -} +func (*RestoreSnapshotRequest_Chunk) isRestoreSnapshotRequest_Event() {} -// CreateAddOnDefinitionResponse is the response containing the just-created -// Add-on definition -type CreateAddOnDefinitionResponse struct { +// Snapshot is the encoding of the snapshot for all snapshot APIs. +// The encoding is proto.Message delimited data. This is also the encoding +// expected if the waypoint-restore.db file is copied manually from the +// snapshot data. +// +// For snapshots, the Header message is always guaranteed first. After that, +// it is NOT guaranteed that only data chunks are sent. It is only guaranteed +// that the data chunks are over at EOF. Unknown messages can probably be +// ignored. +// +// It is HIGHLY RECOMMENDED you do not modify snapshots, but these messages +// are publicly exported so that you can try to inspect snapshots. +type Snapshot struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AddOnDefinition *AddOnDefinition `protobuf:"bytes,1,opt,name=add_on_definition,json=addOnDefinition,proto3" json:"add_on_definition,omitempty"` } -func (x *CreateAddOnDefinitionResponse) Reset() { - *x = CreateAddOnDefinitionResponse{} +func (x *Snapshot) Reset() { + *x = Snapshot{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[218] + mi := &file_pkg_server_proto_server_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateAddOnDefinitionResponse) String() string { +func (x *Snapshot) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAddOnDefinitionResponse) ProtoMessage() {} +func (*Snapshot) ProtoMessage() {} -func (x *CreateAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[218] +func (x *Snapshot) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17448,60 +16998,43 @@ func (x *CreateAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAddOnDefinitionResponse.ProtoReflect.Descriptor instead. -func (*CreateAddOnDefinitionResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{218} -} - -func (x *CreateAddOnDefinitionResponse) GetAddOnDefinition() *AddOnDefinition { - if x != nil { - return x.AddOnDefinition - } - return nil +// Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. +func (*Snapshot) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211} } -// UpdateAddOnDefinitionRequest is the request used to update an existing -// Add-on definition -type UpdateAddOnDefinitionRequest struct { +// Hcl is a message used to encapsulate the contents of an HCL +// file. Note that this was introduced later so there are some message types +// that reproduce this functionality without actually using this in order +// to maintain backwards compatibility. +type Hcl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Reference to an existing Add-on - Definition *Ref_AddOnDefinition `protobuf:"bytes,1,opt,name=definition,proto3" json:"definition,omitempty"` - // Name of the Add-on definition - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule *TerraformNocodeModule `protobuf:"bytes,3,opt,name=terraform_nocode_module,json=terraformNocodeModule,proto3" json:"terraform_nocode_module,omitempty"` - // Short description of the Add-on - ShortSummary string `protobuf:"bytes,4,opt,name=short_summary,json=shortSummary,proto3" json:"short_summary,omitempty"` - // Longer description of the Add-on - LongSummary string `protobuf:"bytes,5,opt,name=long_summary,json=longSummary,proto3" json:"long_summary,omitempty"` - // A templated README describing the Add-on - ReadmeMarkdownTemplate []byte `protobuf:"bytes,6,opt,name=readme_markdown_template,json=readmeMarkdownTemplate,proto3" json:"readme_markdown_template,omitempty"` - // A list of descriptive tags for an Add-on - Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` - // The TF variable set to apply to the Add-on's No Code workspace - TfVariableSetIds []string `protobuf:"bytes,8,rep,name=tf_variable_set_ids,json=tfVariableSetIds,proto3" json:"tf_variable_set_ids,omitempty"` -} - -func (x *UpdateAddOnDefinitionRequest) Reset() { - *x = UpdateAddOnDefinitionRequest{} + // Raw contents of the HCL file. + Contents []byte `protobuf:"bytes,1,opt,name=contents,proto3" json:"contents,omitempty"` + // Format of HCL contents + Format Hcl_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.Hcl_Format" json:"format,omitempty"` +} + +func (x *Hcl) Reset() { + *x = Hcl{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[219] + mi := &file_pkg_server_proto_server_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateAddOnDefinitionRequest) String() string { +func (x *Hcl) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAddOnDefinitionRequest) ProtoMessage() {} +func (*Hcl) ProtoMessage() {} -func (x *UpdateAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[219] +func (x *Hcl) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17512,94 +17045,97 @@ func (x *UpdateAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAddOnDefinitionRequest.ProtoReflect.Descriptor instead. -func (*UpdateAddOnDefinitionRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{219} +// Deprecated: Use Hcl.ProtoReflect.Descriptor instead. +func (*Hcl) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{212} } -func (x *UpdateAddOnDefinitionRequest) GetDefinition() *Ref_AddOnDefinition { +func (x *Hcl) GetContents() []byte { if x != nil { - return x.Definition + return x.Contents } return nil } -func (x *UpdateAddOnDefinitionRequest) GetName() string { +func (x *Hcl) GetFormat() Hcl_Format { if x != nil { - return x.Name + return x.Format } - return "" + return Hcl_HCL } -func (x *UpdateAddOnDefinitionRequest) GetTerraformNocodeModule() *TerraformNocodeModule { - if x != nil { - return x.TerraformNocodeModule - } - return nil +type WaypointHclFmtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WaypointHcl []byte `protobuf:"bytes,1,opt,name=waypoint_hcl,json=waypointHcl,proto3" json:"waypoint_hcl,omitempty"` } -func (x *UpdateAddOnDefinitionRequest) GetShortSummary() string { - if x != nil { - return x.ShortSummary +func (x *WaypointHclFmtRequest) Reset() { + *x = WaypointHclFmtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *UpdateAddOnDefinitionRequest) GetLongSummary() string { - if x != nil { - return x.LongSummary - } - return "" +func (x *WaypointHclFmtRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *UpdateAddOnDefinitionRequest) GetReadmeMarkdownTemplate() []byte { - if x != nil { - return x.ReadmeMarkdownTemplate +func (*WaypointHclFmtRequest) ProtoMessage() {} + +func (x *WaypointHclFmtRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[213] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *UpdateAddOnDefinitionRequest) GetTags() []string { - if x != nil { - return x.Tags - } - return nil +// Deprecated: Use WaypointHclFmtRequest.ProtoReflect.Descriptor instead. +func (*WaypointHclFmtRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{213} } -func (x *UpdateAddOnDefinitionRequest) GetTfVariableSetIds() []string { +func (x *WaypointHclFmtRequest) GetWaypointHcl() []byte { if x != nil { - return x.TfVariableSetIds + return x.WaypointHcl } return nil } -// UpdateAddOnDefinitionResponse is the response containing the just-updated -// Add-on definition -type UpdateAddOnDefinitionResponse struct { +type WaypointHclFmtResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOnDefinition *AddOnDefinition `protobuf:"bytes,1,opt,name=add_on_definition,json=addOnDefinition,proto3" json:"add_on_definition,omitempty"` + WaypointHcl []byte `protobuf:"bytes,1,opt,name=waypoint_hcl,json=waypointHcl,proto3" json:"waypoint_hcl,omitempty"` } -func (x *UpdateAddOnDefinitionResponse) Reset() { - *x = UpdateAddOnDefinitionResponse{} +func (x *WaypointHclFmtResponse) Reset() { + *x = WaypointHclFmtResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[220] + mi := &file_pkg_server_proto_server_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateAddOnDefinitionResponse) String() string { +func (x *WaypointHclFmtResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAddOnDefinitionResponse) ProtoMessage() {} +func (*WaypointHclFmtResponse) ProtoMessage() {} -func (x *UpdateAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[220] +func (x *WaypointHclFmtResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17610,45 +17146,51 @@ func (x *UpdateAddOnDefinitionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAddOnDefinitionResponse.ProtoReflect.Descriptor instead. -func (*UpdateAddOnDefinitionResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{220} +// Deprecated: Use WaypointHclFmtResponse.ProtoReflect.Descriptor instead. +func (*WaypointHclFmtResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{214} } -func (x *UpdateAddOnDefinitionResponse) GetAddOnDefinition() *AddOnDefinition { +func (x *WaypointHclFmtResponse) GetWaypointHcl() []byte { if x != nil { - return x.AddOnDefinition + return x.WaypointHcl } return nil } -// DeleteAddOnDefinitionRequest is the request used to delete an existing Add -// On definition -type DeleteAddOnDefinitionRequest struct { +// InlineKeepalive is a message intended to be sent down existing grpc streams +// to induce traffic and prevent them from being idle terminated by load +// balancers that do not respect http2 pings. They will be sent on streams +// that do not have this message as part of their protobuf contract. Client and +// server grpc interceptors intercept these messages and prevent them from being +// exposed to the rpc handlers. +type InlineKeepalive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOnDefinition *Ref_AddOnDefinition `protobuf:"bytes,1,opt,name=add_on_definition,json=addOnDefinition,proto3" json:"add_on_definition,omitempty"` + // WARNING: NO OTHER MESSAGE MAY USE THIS FIELD NUMBER. Doing so will cause + // that message to be confused with an inline keepalive + Signature string `protobuf:"bytes,100000000,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *DeleteAddOnDefinitionRequest) Reset() { - *x = DeleteAddOnDefinitionRequest{} +func (x *InlineKeepalive) Reset() { + *x = InlineKeepalive{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[221] + mi := &file_pkg_server_proto_server_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteAddOnDefinitionRequest) String() string { +func (x *InlineKeepalive) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteAddOnDefinitionRequest) ProtoMessage() {} +func (*InlineKeepalive) ProtoMessage() {} -func (x *DeleteAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[221] +func (x *InlineKeepalive) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17659,49 +17201,57 @@ func (x *DeleteAddOnDefinitionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteAddOnDefinitionRequest.ProtoReflect.Descriptor instead. -func (*DeleteAddOnDefinitionRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{221} +// Deprecated: Use InlineKeepalive.ProtoReflect.Descriptor instead. +func (*InlineKeepalive) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{215} } -func (x *DeleteAddOnDefinitionRequest) GetAddOnDefinition() *Ref_AddOnDefinition { +func (x *InlineKeepalive) GetSignature() string { if x != nil { - return x.AddOnDefinition + return x.Signature } - return nil + return "" } -// CreateAddOnRequest is the request used to add an Add-on to a project -type CreateAddOnRequest struct { +// https://github.com/hashicorp/cloud-api/blob/master/hashicorp/cloud/common/pagination.proto +// PaginationRequest are the parameters for a paginated list request. +type PaginationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The project for which the Add-on is to be created - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // The Add-on definition from which this Add-on is to be created - Definition *Ref_AddOnDefinition `protobuf:"bytes,2,opt,name=definition,proto3" json:"definition,omitempty"` - // name is the name of the Add-on - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // The max number of results per page that should be returned. If the number + // of available results is larger than `page_size`, a `next_page_token` is + // returned which can be used to get the next page of results in subsequent + // requests. A value of zero will cause `page_size` to be defaulted. + PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"` + // Specifies a page token to use to retrieve the next page. Set this to the + // `next_page_token` returned by previous list requests to get the next page of + // results. If set, `previous_page_token` must not be set. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,proto3" json:"next_page_token,omitempty"` + // Specifies a page token to use to retrieve the previous page. Set this to + // the `previous_page_token` returned by previous list requests to get the + // previous page of results. If set, `next_page_token` must not be set. + PreviousPageToken string `protobuf:"bytes,3,opt,name=previous_page_token,proto3" json:"previous_page_token,omitempty"` } -func (x *CreateAddOnRequest) Reset() { - *x = CreateAddOnRequest{} +func (x *PaginationRequest) Reset() { + *x = PaginationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[222] + mi := &file_pkg_server_proto_server_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateAddOnRequest) String() string { +func (x *PaginationRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAddOnRequest) ProtoMessage() {} +func (*PaginationRequest) ProtoMessage() {} -func (x *CreateAddOnRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[222] +func (x *PaginationRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17712,58 +17262,69 @@ func (x *CreateAddOnRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAddOnRequest.ProtoReflect.Descriptor instead. -func (*CreateAddOnRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{222} +// Deprecated: Use PaginationRequest.ProtoReflect.Descriptor instead. +func (*PaginationRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{216} } -func (x *CreateAddOnRequest) GetProject() *Ref_Project { +func (x *PaginationRequest) GetPageSize() uint32 { if x != nil { - return x.Project + return x.PageSize } - return nil + return 0 } -func (x *CreateAddOnRequest) GetDefinition() *Ref_AddOnDefinition { +func (x *PaginationRequest) GetNextPageToken() string { if x != nil { - return x.Definition + return x.NextPageToken } - return nil + return "" } -func (x *CreateAddOnRequest) GetName() string { +func (x *PaginationRequest) GetPreviousPageToken() string { if x != nil { - return x.Name + return x.PreviousPageToken } return "" } -// CreateAddOnResponse is the response containing the just-added Add-on -type CreateAddOnResponse struct { +// PaginationResponse is the response holding the page tokens for a paginated +// list response. +type PaginationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOn *AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` + // This token allows you to get the next page of results for list requests. + // If the number of results is larger than `page_size`, use the + // `next_page_token` as a value for the query parameter `next_page_token` in + // the next request. The value will become empty when there are no more pages. + NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,proto3" json:"next_page_token,omitempty"` + // This token allows you to get the previous page of results for list + // requests. If the number of results is larger than `page_size`, use the + // `previous_page_token` as a value for the query parameter + // `previous_page_token` in the next request. The value will become empty when + // there are no more pages. + PreviousPageToken string `protobuf:"bytes,2,opt,name=previous_page_token,proto3" json:"previous_page_token,omitempty"` } -func (x *CreateAddOnResponse) Reset() { - *x = CreateAddOnResponse{} +func (x *PaginationResponse) Reset() { + *x = PaginationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[223] + mi := &file_pkg_server_proto_server_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateAddOnResponse) String() string { +func (x *PaginationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAddOnResponse) ProtoMessage() {} +func (*PaginationResponse) ProtoMessage() {} -func (x *CreateAddOnResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[223] +func (x *PaginationResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17774,44 +17335,50 @@ func (x *CreateAddOnResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAddOnResponse.ProtoReflect.Descriptor instead. -func (*CreateAddOnResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{223} +// Deprecated: Use PaginationResponse.ProtoReflect.Descriptor instead. +func (*PaginationResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{217} } -func (x *CreateAddOnResponse) GetAddOn() *AddOn { +func (x *PaginationResponse) GetNextPageToken() string { if x != nil { - return x.AddOn + return x.NextPageToken } - return nil + return "" +} + +func (x *PaginationResponse) GetPreviousPageToken() string { + if x != nil { + return x.PreviousPageToken + } + return "" } -// DestroyAddOnRequest is the request used to destroy an existing Add-on -type DestroyAddOnRequest struct { +type UI_ListProjectsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOn *Ref_AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` + Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *DestroyAddOnRequest) Reset() { - *x = DestroyAddOnRequest{} +func (x *UI_ListProjectsRequest) Reset() { + *x = UI_ListProjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[224] + mi := &file_pkg_server_proto_server_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DestroyAddOnRequest) String() string { +func (x *UI_ListProjectsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DestroyAddOnRequest) ProtoMessage() {} +func (*UI_ListProjectsRequest) ProtoMessage() {} -func (x *DestroyAddOnRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[224] +func (x *UI_ListProjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17822,44 +17389,45 @@ func (x *DestroyAddOnRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DestroyAddOnRequest.ProtoReflect.Descriptor instead. -func (*DestroyAddOnRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{224} +// Deprecated: Use UI_ListProjectsRequest.ProtoReflect.Descriptor instead. +func (*UI_ListProjectsRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 0} } -func (x *DestroyAddOnRequest) GetAddOn() *Ref_AddOn { +func (x *UI_ListProjectsRequest) GetPagination() *PaginationRequest { if x != nil { - return x.AddOn + return x.Pagination } return nil } -// GetAddOnRequest is the request used to get an existing Add-on -type GetAddOnRequest struct { +type UI_ListProjectsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOn *Ref_AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` + ProjectBundles []*UI_ProjectBundle `protobuf:"bytes,1,rep,name=project_bundles,json=projectBundles,proto3" json:"project_bundles,omitempty"` + Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + TotalCount uint64 `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` } -func (x *GetAddOnRequest) Reset() { - *x = GetAddOnRequest{} +func (x *UI_ListProjectsResponse) Reset() { + *x = UI_ListProjectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[225] + mi := &file_pkg_server_proto_server_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAddOnRequest) String() string { +func (x *UI_ListProjectsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAddOnRequest) ProtoMessage() {} +func (*UI_ListProjectsResponse) ProtoMessage() {} -func (x *GetAddOnRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[225] +func (x *UI_ListProjectsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17870,44 +17438,57 @@ func (x *GetAddOnRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAddOnRequest.ProtoReflect.Descriptor instead. -func (*GetAddOnRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{225} +// Deprecated: Use UI_ListProjectsResponse.ProtoReflect.Descriptor instead. +func (*UI_ListProjectsResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *UI_ListProjectsResponse) GetProjectBundles() []*UI_ProjectBundle { + if x != nil { + return x.ProjectBundles + } + return nil } -func (x *GetAddOnRequest) GetAddOn() *Ref_AddOn { +func (x *UI_ListProjectsResponse) GetPagination() *PaginationResponse { if x != nil { - return x.AddOn + return x.Pagination } return nil } -// GetAddOnResponse is the response containing the just-requested existing Add-on -type GetAddOnResponse struct { +func (x *UI_ListProjectsResponse) GetTotalCount() uint64 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type UI_ProjectBundle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOn *AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` + Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } -func (x *GetAddOnResponse) Reset() { - *x = GetAddOnResponse{} +func (x *UI_ProjectBundle) Reset() { + *x = UI_ProjectBundle{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[226] + mi := &file_pkg_server_proto_server_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAddOnResponse) String() string { +func (x *UI_ProjectBundle) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAddOnResponse) ProtoMessage() {} +func (*UI_ProjectBundle) ProtoMessage() {} -func (x *GetAddOnResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[226] +func (x *UI_ProjectBundle) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17918,47 +17499,43 @@ func (x *GetAddOnResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAddOnResponse.ProtoReflect.Descriptor instead. -func (*GetAddOnResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{226} -} +// Deprecated: Use UI_ProjectBundle.ProtoReflect.Descriptor instead. +func (*UI_ProjectBundle) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 2} +} -func (x *GetAddOnResponse) GetAddOn() *AddOn { +func (x *UI_ProjectBundle) GetProject() *Project { if x != nil { - return x.AddOn + return x.Project } return nil } -// UpdateAddOnRequest is the request used to update an existing Add-on. -type UpdateAddOnRequest struct { +type UI_GetProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The add-on to be updated. - AddOn *Ref_AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` - // The new name of the Add-on. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } -func (x *UpdateAddOnRequest) Reset() { - *x = UpdateAddOnRequest{} +func (x *UI_GetProjectRequest) Reset() { + *x = UI_GetProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[227] + mi := &file_pkg_server_proto_server_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateAddOnRequest) String() string { +func (x *UI_GetProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAddOnRequest) ProtoMessage() {} +func (*UI_GetProjectRequest) ProtoMessage() {} -func (x *UpdateAddOnRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[227] +func (x *UI_GetProjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17969,52 +17546,44 @@ func (x *UpdateAddOnRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAddOnRequest.ProtoReflect.Descriptor instead. -func (*UpdateAddOnRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{227} +// Deprecated: Use UI_GetProjectRequest.ProtoReflect.Descriptor instead. +func (*UI_GetProjectRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 3} } -func (x *UpdateAddOnRequest) GetAddOn() *Ref_AddOn { +func (x *UI_GetProjectRequest) GetProject() *Ref_Project { if x != nil { - return x.AddOn + return x.Project } return nil } -func (x *UpdateAddOnRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// UpdateAddOnResponse is the response containing the just-updated Add-on. -type UpdateAddOnResponse struct { +type UI_GetProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The newly updated Add-on. - AddOn *AddOn `protobuf:"bytes,1,opt,name=add_on,json=addOn,proto3" json:"add_on,omitempty"` + Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + LatestInitJob *Job `protobuf:"bytes,2,opt,name=latest_init_job,json=latestInitJob,proto3" json:"latest_init_job,omitempty"` } -func (x *UpdateAddOnResponse) Reset() { - *x = UpdateAddOnResponse{} +func (x *UI_GetProjectResponse) Reset() { + *x = UI_GetProjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[228] + mi := &file_pkg_server_proto_server_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateAddOnResponse) String() string { +func (x *UI_GetProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAddOnResponse) ProtoMessage() {} +func (*UI_GetProjectResponse) ProtoMessage() {} -func (x *UpdateAddOnResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[228] +func (x *UI_GetProjectResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18025,45 +17594,61 @@ func (x *UpdateAddOnResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAddOnResponse.ProtoReflect.Descriptor instead. -func (*UpdateAddOnResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{228} +// Deprecated: Use UI_GetProjectResponse.ProtoReflect.Descriptor instead. +func (*UI_GetProjectResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *UI_GetProjectResponse) GetProject() *Project { + if x != nil { + return x.Project + } + return nil } -func (x *UpdateAddOnResponse) GetAddOn() *AddOn { +func (x *UI_GetProjectResponse) GetLatestInitJob() *Job { if x != nil { - return x.AddOn + return x.LatestInitJob } return nil } -// ListAddOnsRequest is the request used to get all existing Add-ons -type ListAddOnsRequest struct { +type UI_ListDeploymentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - Pagination *PaginationRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // Application that the deployments belong to. + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // Workspace that the deployments belong to. + // If undefined, deployments from all workspaces will be listed. + Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` + Order *OperationOrder `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"` + // The filters to apply to this request. These are ORed, so you should + // specify multiple filters in the StatusFilter for AND behavior. + Status []*StatusFilter `protobuf:"bytes,4,rep,name=status,proto3" json:"status,omitempty"` + // The physical state to filter for. If this is zero or unset then no + // filtering on physical state will be done. + PhysicalState Operation_PhysicalState `protobuf:"varint,5,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.waypoint.Operation_PhysicalState" json:"physical_state,omitempty"` } -func (x *ListAddOnsRequest) Reset() { - *x = ListAddOnsRequest{} +func (x *UI_ListDeploymentsRequest) Reset() { + *x = UI_ListDeploymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[229] + mi := &file_pkg_server_proto_server_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListAddOnsRequest) String() string { +func (x *UI_ListDeploymentsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAddOnsRequest) ProtoMessage() {} +func (*UI_ListDeploymentsRequest) ProtoMessage() {} -func (x *ListAddOnsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[229] +func (x *UI_ListDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18074,52 +17659,72 @@ func (x *ListAddOnsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAddOnsRequest.ProtoReflect.Descriptor instead. -func (*ListAddOnsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{229} +// Deprecated: Use UI_ListDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*UI_ListDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 5} } -func (x *ListAddOnsRequest) GetProject() *Ref_Project { +func (x *UI_ListDeploymentsRequest) GetApplication() *Ref_Application { if x != nil { - return x.Project + return x.Application + } + return nil +} + +func (x *UI_ListDeploymentsRequest) GetWorkspace() *Ref_Workspace { + if x != nil { + return x.Workspace } return nil } -func (x *ListAddOnsRequest) GetPagination() *PaginationRequest { +func (x *UI_ListDeploymentsRequest) GetOrder() *OperationOrder { if x != nil { - return x.Pagination + return x.Order + } + return nil +} + +func (x *UI_ListDeploymentsRequest) GetStatus() []*StatusFilter { + if x != nil { + return x.Status } return nil } -// ListAddOnsResponse is the response containing all existing Add-ons -type ListAddOnsResponse struct { +func (x *UI_ListDeploymentsRequest) GetPhysicalState() Operation_PhysicalState { + if x != nil { + return x.PhysicalState + } + return Operation_UNKNOWN +} + +type UI_ListDeploymentsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddOns []*AddOn `protobuf:"bytes,1,rep,name=add_ons,json=addOns,proto3" json:"add_ons,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // The list of deployments with related messages prefetched. + Deployments []*UI_DeploymentBundle `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` } -func (x *ListAddOnsResponse) Reset() { - *x = ListAddOnsResponse{} +func (x *UI_ListDeploymentsResponse) Reset() { + *x = UI_ListDeploymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[230] + mi := &file_pkg_server_proto_server_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListAddOnsResponse) String() string { +func (x *UI_ListDeploymentsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAddOnsResponse) ProtoMessage() {} +func (*UI_ListDeploymentsResponse) ProtoMessage() {} -func (x *ListAddOnsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[230] +func (x *UI_ListDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18130,52 +17735,46 @@ func (x *ListAddOnsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAddOnsResponse.ProtoReflect.Descriptor instead. -func (*ListAddOnsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{230} -} - -func (x *ListAddOnsResponse) GetAddOns() []*AddOn { - if x != nil { - return x.AddOns - } - return nil +// Deprecated: Use UI_ListDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*UI_ListDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 6} } -func (x *ListAddOnsResponse) GetPagination() *PaginationResponse { +func (x *UI_ListDeploymentsResponse) GetDeployments() []*UI_DeploymentBundle { if x != nil { - return x.Pagination + return x.Deployments } return nil } -// GetTFRunStatusRequest is the request used to get the status of the latest -// run of a Terraform workspace -type GetTFRunStatusRequest struct { +type UI_GetDeploymentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkspaceName string `protobuf:"bytes,1,opt,name=workspace_name,json=workspaceName,proto3" json:"workspace_name,omitempty"` + Ref *Ref_Operation `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` + // Indicate if the fetched deployments should include additional information + // about each deployment. + LoadDetails Deployment_LoadDetails `protobuf:"varint,2,opt,name=load_details,json=loadDetails,proto3,enum=hashicorp.waypoint.Deployment_LoadDetails" json:"load_details,omitempty"` } -func (x *GetTFRunStatusRequest) Reset() { - *x = GetTFRunStatusRequest{} +func (x *UI_GetDeploymentRequest) Reset() { + *x = UI_GetDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[231] + mi := &file_pkg_server_proto_server_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTFRunStatusRequest) String() string { +func (x *UI_GetDeploymentRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTFRunStatusRequest) ProtoMessage() {} +func (*UI_GetDeploymentRequest) ProtoMessage() {} -func (x *GetTFRunStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[231] +func (x *UI_GetDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18186,48 +17785,51 @@ func (x *GetTFRunStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTFRunStatusRequest.ProtoReflect.Descriptor instead. -func (*GetTFRunStatusRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{231} +// Deprecated: Use UI_GetDeploymentRequest.ProtoReflect.Descriptor instead. +func (*UI_GetDeploymentRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *UI_GetDeploymentRequest) GetRef() *Ref_Operation { + if x != nil { + return x.Ref + } + return nil } -func (x *GetTFRunStatusRequest) GetWorkspaceName() string { +func (x *UI_GetDeploymentRequest) GetLoadDetails() Deployment_LoadDetails { if x != nil { - return x.WorkspaceName + return x.LoadDetails } - return "" + return Deployment_NONE } -// GetTFRunStatusResponse is the response containing the status of the latest -// run of a Terraform workspace -type GetTFRunStatusResponse struct { +type UI_GetDeploymentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the URL of the TF run - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - // the state of the TF run - State GetTFRunStatusResponse_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.waypoint.GetTFRunStatusResponse_State" json:"state,omitempty"` + // The deployment with related messages prefetched. + Deployment *UI_DeploymentBundle `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` } -func (x *GetTFRunStatusResponse) Reset() { - *x = GetTFRunStatusResponse{} +func (x *UI_GetDeploymentResponse) Reset() { + *x = UI_GetDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[232] + mi := &file_pkg_server_proto_server_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTFRunStatusResponse) String() string { +func (x *UI_GetDeploymentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTFRunStatusResponse) ProtoMessage() {} +func (*UI_GetDeploymentResponse) ProtoMessage() {} -func (x *GetTFRunStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[232] +func (x *UI_GetDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18238,72 +17840,67 @@ func (x *GetTFRunStatusResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTFRunStatusResponse.ProtoReflect.Descriptor instead. -func (*GetTFRunStatusResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{232} -} - -func (x *GetTFRunStatusResponse) GetUrl() string { - if x != nil { - return x.Url - } - return "" +// Deprecated: Use UI_GetDeploymentResponse.ProtoReflect.Descriptor instead. +func (*UI_GetDeploymentResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 8} } -func (x *GetTFRunStatusResponse) GetState() GetTFRunStatusResponse_State { +func (x *UI_GetDeploymentResponse) GetDeployment() *UI_DeploymentBundle { if x != nil { - return x.State + return x.Deployment } - return GetTFRunStatusResponse_UNKNOWN + return nil } -// AddOn is an add-on definition rendered for a project -type AddOn struct { +// A deployment packaged alongside prefetched related messages. +type UI_DeploymentBundle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Unique identifier of the Add-on - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Name of the Add-on - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // The project for which the Add-on was created - Project *Ref_Project `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` - // The Add-on definition from which this Add-on was created - Definition *Ref_AddOnDefinition `protobuf:"bytes,4,opt,name=definition,proto3" json:"definition,omitempty"` - // Rendered README markdown template for Add-on - ReadmeMarkdown []byte `protobuf:"bytes,5,opt,name=readme_markdown,json=readmeMarkdown,proto3" json:"readme_markdown,omitempty"` - // A list of descriptive tags for an Add-on - Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule *TerraformNocodeModule `protobuf:"bytes,7,opt,name=terraform_nocode_module,json=terraformNocodeModule,proto3" json:"terraform_nocode_module,omitempty"` - // Short description of the Add-on - ShortSummary string `protobuf:"bytes,8,opt,name=short_summary,json=shortSummary,proto3" json:"short_summary,omitempty"` - // Longer description of the Add-on - LongSummary string `protobuf:"bytes,9,opt,name=long_summary,json=longSummary,proto3" json:"long_summary,omitempty"` - // created_by indicates what created the Add-on - CreatedBy string `protobuf:"bytes,10,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` - // The time at which the add-on was created - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` -} - -func (x *AddOn) Reset() { - *x = AddOn{} + // The deployment in question. + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Populated when a Deployment is read with LoadDetails set + // to ARTIFACT or BUILD + Artifact *PushedArtifact `protobuf:"bytes,3,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Populated when a Deployment is read with LoadDetails set to BUILD + Build *Build `protobuf:"bytes,4,opt,name=build,proto3" json:"build,omitempty"` + // The deployment-specific URL from the URL service. This is set on + // all deployment API calls. This will be empty if the URL service + // is not enabled or there was an error loading this information. + DeployUrl string `protobuf:"bytes,5,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` + // The ref that was used in the job to run this operation. This is + // also accessible by querying the job via the job_id and should always + // match. + // + // This may be null under multiple circumstances: (1) the job was + // manually triggered with local data (no datasource) or (2) the job + // was run in earlier versions of Waypoint before we tracked this or + // (3) the job hasn't yet loaded the data. + // + // This is always pre-populated if it is exists. + JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,6,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` + // The most recent status report generated for this deployment. + LatestStatusReport *StatusReport `protobuf:"bytes,2,opt,name=latest_status_report,json=latestStatusReport,proto3" json:"latest_status_report,omitempty"` +} + +func (x *UI_DeploymentBundle) Reset() { + *x = UI_DeploymentBundle{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[233] + mi := &file_pkg_server_proto_server_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AddOn) String() string { +func (x *UI_DeploymentBundle) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddOn) ProtoMessage() {} +func (*UI_DeploymentBundle) ProtoMessage() {} -func (x *AddOn) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[233] +func (x *UI_DeploymentBundle) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18314,129 +17911,89 @@ func (x *AddOn) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddOn.ProtoReflect.Descriptor instead. -func (*AddOn) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{233} -} - -func (x *AddOn) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *AddOn) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AddOn) GetProject() *Ref_Project { - if x != nil { - return x.Project - } - return nil -} - -func (x *AddOn) GetDefinition() *Ref_AddOnDefinition { - if x != nil { - return x.Definition - } - return nil +// Deprecated: Use UI_DeploymentBundle.ProtoReflect.Descriptor instead. +func (*UI_DeploymentBundle) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 9} } -func (x *AddOn) GetReadmeMarkdown() []byte { +func (x *UI_DeploymentBundle) GetDeployment() *Deployment { if x != nil { - return x.ReadmeMarkdown + return x.Deployment } return nil } -func (x *AddOn) GetTags() []string { +func (x *UI_DeploymentBundle) GetArtifact() *PushedArtifact { if x != nil { - return x.Tags + return x.Artifact } return nil } -func (x *AddOn) GetTerraformNocodeModule() *TerraformNocodeModule { +func (x *UI_DeploymentBundle) GetBuild() *Build { if x != nil { - return x.TerraformNocodeModule + return x.Build } return nil } -func (x *AddOn) GetShortSummary() string { - if x != nil { - return x.ShortSummary - } - return "" -} - -func (x *AddOn) GetLongSummary() string { +func (x *UI_DeploymentBundle) GetDeployUrl() string { if x != nil { - return x.LongSummary + return x.DeployUrl } return "" } -func (x *AddOn) GetCreatedBy() string { +func (x *UI_DeploymentBundle) GetJobDataSourceRef() *Job_DataSource_Ref { if x != nil { - return x.CreatedBy + return x.JobDataSourceRef } - return "" + return nil } -func (x *AddOn) GetCreatedAt() *timestamppb.Timestamp { +func (x *UI_DeploymentBundle) GetLatestStatusReport() *StatusReport { if x != nil { - return x.CreatedAt + return x.LatestStatusReport } return nil } -// AddOnDefinition is the template for an add-on -type AddOnDefinition struct { +type UI_ListReleasesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Unique identifer of the Add-on definition - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Name of the Add-on definition - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule *TerraformNocodeModule `protobuf:"bytes,3,opt,name=terraform_nocode_module,json=terraformNocodeModule,proto3" json:"terraform_nocode_module,omitempty"` - // Short description of the Add-on - ShortSummary string `protobuf:"bytes,4,opt,name=short_summary,json=shortSummary,proto3" json:"short_summary,omitempty"` - // Longer description of the Add-on - LongSummary string `protobuf:"bytes,5,opt,name=long_summary,json=longSummary,proto3" json:"long_summary,omitempty"` - // A templated README describing the Add-on - ReadmeMarkdownTemplate []byte `protobuf:"bytes,6,opt,name=readme_markdown_template,json=readmeMarkdownTemplate,proto3" json:"readme_markdown_template,omitempty"` - // A list of descriptive tags for an Add-on - Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` - // The TF variable set to apply to the Add-on's No Code workspace - TfVariableSetIds []string `protobuf:"bytes,8,rep,name=tf_variable_set_ids,json=tfVariableSetIds,proto3" json:"tf_variable_set_ids,omitempty"` -} - -func (x *AddOnDefinition) Reset() { - *x = AddOnDefinition{} + // Application that the releases belong to. + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // Workspace that the releases belong to. + // If undefined, releases from all workspaces will be listed. + Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` + Order *OperationOrder `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"` + // The filters to apply to this request. These are ORed, so you should + // specify multiple filters in the StatusFilter for AND behavior. + Status []*StatusFilter `protobuf:"bytes,4,rep,name=status,proto3" json:"status,omitempty"` + // The physical state to filter for. If this is zero or unset then no + // filtering on physical state will be done. + PhysicalState Operation_PhysicalState `protobuf:"varint,5,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.waypoint.Operation_PhysicalState" json:"physical_state,omitempty"` +} + +func (x *UI_ListReleasesRequest) Reset() { + *x = UI_ListReleasesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[234] + mi := &file_pkg_server_proto_server_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AddOnDefinition) String() string { +func (x *UI_ListReleasesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddOnDefinition) ProtoMessage() {} +func (*UI_ListReleasesRequest) ProtoMessage() {} -func (x *AddOnDefinition) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[234] +func (x *UI_ListReleasesRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18447,96 +18004,123 @@ func (x *AddOnDefinition) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddOnDefinition.ProtoReflect.Descriptor instead. -func (*AddOnDefinition) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{234} +// Deprecated: Use UI_ListReleasesRequest.ProtoReflect.Descriptor instead. +func (*UI_ListReleasesRequest) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 10} } -func (x *AddOnDefinition) GetId() string { +func (x *UI_ListReleasesRequest) GetApplication() *Ref_Application { if x != nil { - return x.Id + return x.Application } - return "" + return nil } -func (x *AddOnDefinition) GetName() string { +func (x *UI_ListReleasesRequest) GetWorkspace() *Ref_Workspace { if x != nil { - return x.Name + return x.Workspace } - return "" + return nil } -func (x *AddOnDefinition) GetTerraformNocodeModule() *TerraformNocodeModule { +func (x *UI_ListReleasesRequest) GetOrder() *OperationOrder { if x != nil { - return x.TerraformNocodeModule + return x.Order } return nil } -func (x *AddOnDefinition) GetShortSummary() string { +func (x *UI_ListReleasesRequest) GetStatus() []*StatusFilter { if x != nil { - return x.ShortSummary + return x.Status } - return "" + return nil } -func (x *AddOnDefinition) GetLongSummary() string { +func (x *UI_ListReleasesRequest) GetPhysicalState() Operation_PhysicalState { if x != nil { - return x.LongSummary + return x.PhysicalState } - return "" + return Operation_UNKNOWN } -func (x *AddOnDefinition) GetReadmeMarkdownTemplate() []byte { - if x != nil { - return x.ReadmeMarkdownTemplate +type UI_ListReleasesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of releases with related messages prefetched. + Releases []*UI_ReleaseBundle `protobuf:"bytes,1,rep,name=releases,proto3" json:"releases,omitempty"` +} + +func (x *UI_ListReleasesResponse) Reset() { + *x = UI_ListReleasesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *AddOnDefinition) GetTags() []string { - if x != nil { - return x.Tags +func (x *UI_ListReleasesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UI_ListReleasesResponse) ProtoMessage() {} + +func (x *UI_ListReleasesResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[229] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) +} + +// Deprecated: Use UI_ListReleasesResponse.ProtoReflect.Descriptor instead. +func (*UI_ListReleasesResponse) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 11} } -func (x *AddOnDefinition) GetTfVariableSetIds() []string { +func (x *UI_ListReleasesResponse) GetReleases() []*UI_ReleaseBundle { if x != nil { - return x.TfVariableSetIds + return x.Releases } return nil } -// GetTFCRunStatusRequest is a message intended for use in requests to get the -// status of a TFC run which was ran during rendering a project template. -type GetTFCRunStatusRequest struct { +// A release packaged alongside prefetched related messages. +type UI_ReleaseBundle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the Waypoint project for which we want the status of the - // latest run in the corresponding TFC workspace - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // The release in question. + Release *Release `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` + // The most recent status report generated for this release. + LatestStatusReport *StatusReport `protobuf:"bytes,2,opt,name=latest_status_report,json=latestStatusReport,proto3" json:"latest_status_report,omitempty"` } -func (x *GetTFCRunStatusRequest) Reset() { - *x = GetTFCRunStatusRequest{} +func (x *UI_ReleaseBundle) Reset() { + *x = UI_ReleaseBundle{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[235] + mi := &file_pkg_server_proto_server_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTFCRunStatusRequest) String() string { +func (x *UI_ReleaseBundle) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTFCRunStatusRequest) ProtoMessage() {} +func (*UI_ReleaseBundle) ProtoMessage() {} -func (x *GetTFCRunStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[235] +func (x *UI_ReleaseBundle) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18547,48 +18131,51 @@ func (x *GetTFCRunStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTFCRunStatusRequest.ProtoReflect.Descriptor instead. -func (*GetTFCRunStatusRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{235} +// Deprecated: Use UI_ReleaseBundle.ProtoReflect.Descriptor instead. +func (*UI_ReleaseBundle) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 12} } -func (x *GetTFCRunStatusRequest) GetProject() *Ref_Project { +func (x *UI_ReleaseBundle) GetRelease() *Release { if x != nil { - return x.Project + return x.Release + } + return nil +} + +func (x *UI_ReleaseBundle) GetLatestStatusReport() *StatusReport { + if x != nil { + return x.LatestStatusReport } return nil } -// GetTFCRunStatusResponse is a message intended for use in responses to requests -// for the status of a TFC run which was ran during rendering a project template. -type GetTFCRunStatusResponse struct { +type VersionInfo_ProtocolVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the URL of the TFC run - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - // the state of the TFC run - State GetTFCRunStatusResponse_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.waypoint.GetTFCRunStatusResponse_State" json:"state,omitempty"` + Current uint32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` + Minimum uint32 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"` } -func (x *GetTFCRunStatusResponse) Reset() { - *x = GetTFCRunStatusResponse{} +func (x *VersionInfo_ProtocolVersion) Reset() { + *x = VersionInfo_ProtocolVersion{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[236] + mi := &file_pkg_server_proto_server_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTFCRunStatusResponse) String() string { +func (x *VersionInfo_ProtocolVersion) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTFCRunStatusResponse) ProtoMessage() {} +func (*VersionInfo_ProtocolVersion) ProtoMessage() {} -func (x *GetTFCRunStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[236] +func (x *VersionInfo_ProtocolVersion) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18599,53 +18186,51 @@ func (x *GetTFCRunStatusResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTFCRunStatusResponse.ProtoReflect.Descriptor instead. -func (*GetTFCRunStatusResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{236} +// Deprecated: Use VersionInfo_ProtocolVersion.ProtoReflect.Descriptor instead. +func (*VersionInfo_ProtocolVersion) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{3, 0} } -func (x *GetTFCRunStatusResponse) GetUrl() string { +func (x *VersionInfo_ProtocolVersion) GetCurrent() uint32 { if x != nil { - return x.Url + return x.Current } - return "" + return 0 } -func (x *GetTFCRunStatusResponse) GetState() GetTFCRunStatusResponse_State { +func (x *VersionInfo_ProtocolVersion) GetMinimum() uint32 { if x != nil { - return x.State + return x.Minimum } - return GetTFCRunStatusResponse_UNKNOWN + return 0 } -// CreateProjectFromTemplateRequest is a message intended for use in requests -// to render project templates. -type CreateProjectFromTemplateRequest struct { +type Variable_File struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` - ProjectTemplate *Ref_ProjectTemplate `protobuf:"bytes,2,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName,omitempty"` + HclRange *Variable_HclRange `protobuf:"bytes,2,opt,name=hcl_range,json=hclRange,proto3" json:"hcl_range,omitempty"` } -func (x *CreateProjectFromTemplateRequest) Reset() { - *x = CreateProjectFromTemplateRequest{} +func (x *Variable_File) Reset() { + *x = Variable_File{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[237] + mi := &file_pkg_server_proto_server_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateProjectFromTemplateRequest) String() string { +func (x *Variable_File) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateProjectFromTemplateRequest) ProtoMessage() {} +func (*Variable_File) ProtoMessage() {} -func (x *CreateProjectFromTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[237] +func (x *Variable_File) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18656,52 +18241,51 @@ func (x *CreateProjectFromTemplateRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateProjectFromTemplateRequest.ProtoReflect.Descriptor instead. -func (*CreateProjectFromTemplateRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{237} +// Deprecated: Use Variable_File.ProtoReflect.Descriptor instead. +func (*Variable_File) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 0} } -func (x *CreateProjectFromTemplateRequest) GetProjectName() string { +func (x *Variable_File) GetFileName() string { if x != nil { - return x.ProjectName + return x.FileName } return "" } -func (x *CreateProjectFromTemplateRequest) GetProjectTemplate() *Ref_ProjectTemplate { +func (x *Variable_File) GetHclRange() *Variable_HclRange { if x != nil { - return x.ProjectTemplate + return x.HclRange } return nil } -// GetTFCRunStatusResponse is a message intended for use in responses to requests -// for rendering project templates. -type CreateProjectFromTemplateResponse struct { +type Variable_VCS struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName,omitempty"` + HclRange *Variable_HclRange `protobuf:"bytes,2,opt,name=hcl_range,json=hclRange,proto3" json:"hcl_range,omitempty"` } -func (x *CreateProjectFromTemplateResponse) Reset() { - *x = CreateProjectFromTemplateResponse{} +func (x *Variable_VCS) Reset() { + *x = Variable_VCS{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[238] + mi := &file_pkg_server_proto_server_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateProjectFromTemplateResponse) String() string { +func (x *Variable_VCS) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateProjectFromTemplateResponse) ProtoMessage() {} +func (*Variable_VCS) ProtoMessage() {} -func (x *CreateProjectFromTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[238] +func (x *Variable_VCS) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18712,63 +18296,53 @@ func (x *CreateProjectFromTemplateResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use CreateProjectFromTemplateResponse.ProtoReflect.Descriptor instead. -func (*CreateProjectFromTemplateResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{238} +// Deprecated: Use Variable_VCS.ProtoReflect.Descriptor instead. +func (*Variable_VCS) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 1} } -func (x *CreateProjectFromTemplateResponse) GetProject() *Project { +func (x *Variable_VCS) GetFileName() string { if x != nil { - return x.Project + return x.FileName + } + return "" +} + +func (x *Variable_VCS) GetHclRange() *Variable_HclRange { + if x != nil { + return x.HclRange } return nil } -// The outer structure of the token that is directly Marshaled and -// ASCII armored. -type TokenTransport struct { +// Types mapped from https://pkg.go.dev/github.com/hashicorp/hcl/v2#Pos +type Variable_HclPos struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A Marshaled token, stored as bytes because we need to to validate - // it with the given signature. - Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` - // The signature of body for validation. - Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` - // The key used to generate the signature. - KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` - // Any configuration style metadata that can be passed along with the token - // without invalidating the token body itself. - Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // The external creds are stored outside of the authenticated token body - // because we want clients that see the creds in the transport to use - // them BUT then strip them out before transmitting the token, so that - // the creds aren't be transfer constantly. - // - // Types that are assignable to ExternalCreds: - // - // *TokenTransport_OauthCreds - ExternalCreds isTokenTransport_ExternalCreds `protobuf_oneof:"external_creds"` + Line int32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"` + Column int32 `protobuf:"varint,2,opt,name=column,proto3" json:"column,omitempty"` + Byte int32 `protobuf:"varint,3,opt,name=byte,proto3" json:"byte,omitempty"` } -func (x *TokenTransport) Reset() { - *x = TokenTransport{} +func (x *Variable_HclPos) Reset() { + *x = Variable_HclPos{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[239] + mi := &file_pkg_server_proto_server_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TokenTransport) String() string { +func (x *Variable_HclPos) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TokenTransport) ProtoMessage() {} +func (*Variable_HclPos) ProtoMessage() {} -func (x *TokenTransport) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[239] +func (x *Variable_HclPos) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18779,117 +18353,59 @@ func (x *TokenTransport) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TokenTransport.ProtoReflect.Descriptor instead. -func (*TokenTransport) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{239} +// Deprecated: Use Variable_HclPos.ProtoReflect.Descriptor instead. +func (*Variable_HclPos) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 2} } -func (x *TokenTransport) GetBody() []byte { +func (x *Variable_HclPos) GetLine() int32 { if x != nil { - return x.Body + return x.Line } - return nil + return 0 } -func (x *TokenTransport) GetSignature() []byte { +func (x *Variable_HclPos) GetColumn() int32 { if x != nil { - return x.Signature + return x.Column } - return nil -} - -func (x *TokenTransport) GetKeyId() string { - if x != nil { - return x.KeyId - } - return "" + return 0 } -func (x *TokenTransport) GetMetadata() map[string]string { +func (x *Variable_HclPos) GetByte() int32 { if x != nil { - return x.Metadata - } - return nil -} - -func (m *TokenTransport) GetExternalCreds() isTokenTransport_ExternalCreds { - if m != nil { - return m.ExternalCreds - } - return nil -} - -func (x *TokenTransport) GetOauthCreds() *TokenTransport_OAuthCredentials { - if x, ok := x.GetExternalCreds().(*TokenTransport_OauthCreds); ok { - return x.OauthCreds + return x.Byte } - return nil -} - -type isTokenTransport_ExternalCreds interface { - isTokenTransport_ExternalCreds() -} - -type TokenTransport_OauthCreds struct { - // A client that sees this populated will use the details to fetch a token - // via oauth instead of submitting this token directly. - OauthCreds *TokenTransport_OAuthCredentials `protobuf:"bytes,12,opt,name=oauth_creds,json=oauthCreds,proto3,oneof"` + return 0 } -func (*TokenTransport_OauthCreds) isTokenTransport_ExternalCreds() {} - -// The authenticated Token information. This is used to authenticate requests. -type Token struct { +type Variable_HclRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Non-secret ID that is used in logs to represent this token. Internally, - // this is also used as a nonce when signing. This ID is randomly generated - // when created. - AccessorId []byte `protobuf:"bytes,2,opt,name=accessor_id,json=accessorId,proto3" json:"accessor_id,omitempty"` - // When the token is valid until. After the given date, the token will be - // rejected. When this is not set, the token is valid forever. - ValidUntil *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=valid_until,json=validUntil,proto3" json:"valid_until,omitempty"` - // When the token was issued. This may be used for revocation using a - // "no earlier than" rule. - IssuedTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=issued_time,json=issuedTime,proto3" json:"issued_time,omitempty"` - // The kind of token this is. - // - // Types that are assignable to Kind: - // - // *Token_Login_ - // *Token_Runner_ - // *Token_Invite_ - // *Token_Trigger_ - Kind isToken_Kind `protobuf_oneof:"kind"` - // The user that the token is for. This must be "waypoint" for - // backwards compat reasons. - UnusedUser string `protobuf:"bytes,1,opt,name=unused_user,json=unusedUser,proto3" json:"unused_user,omitempty"` - // Old way to determine what kind of token this is. - UnusedLogin bool `protobuf:"varint,4,opt,name=unused_login,json=unusedLogin,proto3" json:"unused_login,omitempty"` - UnusedInvite bool `protobuf:"varint,5,opt,name=unused_invite,json=unusedInvite,proto3" json:"unused_invite,omitempty"` - // Same as Login.entrypoint, we just moved it. - UnusedEntrypoint *Token_Entrypoint `protobuf:"bytes,6,opt,name=unused_entrypoint,json=unusedEntrypoint,proto3" json:"unused_entrypoint,omitempty"` + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` + Start *Variable_HclPos `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` + End *Variable_HclPos `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` } -func (x *Token) Reset() { - *x = Token{} +func (x *Variable_HclRange) Reset() { + *x = Variable_HclRange{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[240] + mi := &file_pkg_server_proto_server_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Token) String() string { +func (x *Variable_HclRange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Token) ProtoMessage() {} +func (*Variable_HclRange) ProtoMessage() {} -func (x *Token) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[240] +func (x *Variable_HclRange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18900,159 +18416,199 @@ func (x *Token) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Token.ProtoReflect.Descriptor instead. -func (*Token) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240} +// Deprecated: Use Variable_HclRange.ProtoReflect.Descriptor instead. +func (*Variable_HclRange) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 3} } -func (x *Token) GetAccessorId() []byte { +func (x *Variable_HclRange) GetFilename() string { if x != nil { - return x.AccessorId + return x.Filename } - return nil + return "" } -func (x *Token) GetValidUntil() *timestamppb.Timestamp { +func (x *Variable_HclRange) GetStart() *Variable_HclPos { if x != nil { - return x.ValidUntil + return x.Start } return nil } -func (x *Token) GetIssuedTime() *timestamppb.Timestamp { +func (x *Variable_HclRange) GetEnd() *Variable_HclPos { if x != nil { - return x.IssuedTime + return x.End } return nil } -func (m *Token) GetKind() isToken_Kind { - if m != nil { - return m.Kind - } - return nil +type Variable_FinalValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // value stores one of three simple types (string, number, bool) as their + // matching protobuf format, or any complex hcl type as a raw string. + // + // Types that are assignable to Value: + // + // *Variable_FinalValue_Sensitive + // *Variable_FinalValue_Str + // *Variable_FinalValue_Bool + // *Variable_FinalValue_Num + // *Variable_FinalValue_Hcl + Value isVariable_FinalValue_Value `protobuf_oneof:"value"` + Source Variable_FinalValue_Source `protobuf:"varint,6,opt,name=source,proto3,enum=hashicorp.waypoint.Variable_FinalValue_Source" json:"source,omitempty"` } -func (x *Token) GetLogin() *Token_Login { - if x, ok := x.GetKind().(*Token_Login_); ok { - return x.Login +func (x *Variable_FinalValue) Reset() { + *x = Variable_FinalValue{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Token) GetRunner() *Token_Runner { - if x, ok := x.GetKind().(*Token_Runner_); ok { - return x.Runner +func (x *Variable_FinalValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Variable_FinalValue) ProtoMessage() {} + +func (x *Variable_FinalValue) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[236] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Token) GetInvite() *Token_Invite { - if x, ok := x.GetKind().(*Token_Invite_); ok { - return x.Invite +// Deprecated: Use Variable_FinalValue.ProtoReflect.Descriptor instead. +func (*Variable_FinalValue) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 4} +} + +func (m *Variable_FinalValue) GetValue() isVariable_FinalValue_Value { + if m != nil { + return m.Value } return nil } -func (x *Token) GetTrigger() *Token_Trigger { - if x, ok := x.GetKind().(*Token_Trigger_); ok { - return x.Trigger +func (x *Variable_FinalValue) GetSensitive() string { + if x, ok := x.GetValue().(*Variable_FinalValue_Sensitive); ok { + return x.Sensitive } - return nil + return "" } -func (x *Token) GetUnusedUser() string { - if x != nil { - return x.UnusedUser +func (x *Variable_FinalValue) GetStr() string { + if x, ok := x.GetValue().(*Variable_FinalValue_Str); ok { + return x.Str } return "" } -func (x *Token) GetUnusedLogin() bool { - if x != nil { - return x.UnusedLogin +func (x *Variable_FinalValue) GetBool() bool { + if x, ok := x.GetValue().(*Variable_FinalValue_Bool); ok { + return x.Bool } return false } -func (x *Token) GetUnusedInvite() bool { - if x != nil { - return x.UnusedInvite +func (x *Variable_FinalValue) GetNum() int64 { + if x, ok := x.GetValue().(*Variable_FinalValue_Num); ok { + return x.Num } - return false + return 0 } -func (x *Token) GetUnusedEntrypoint() *Token_Entrypoint { +func (x *Variable_FinalValue) GetHcl() string { + if x, ok := x.GetValue().(*Variable_FinalValue_Hcl); ok { + return x.Hcl + } + return "" +} + +func (x *Variable_FinalValue) GetSource() Variable_FinalValue_Source { if x != nil { - return x.UnusedEntrypoint + return x.Source } - return nil + return Variable_FinalValue_UNKNOWN } -type isToken_Kind interface { - isToken_Kind() +type isVariable_FinalValue_Value interface { + isVariable_FinalValue_Value() } -type Token_Login_ struct { - // login tokens can be used for API requests - Login *Token_Login `protobuf:"bytes,8,opt,name=login,proto3,oneof"` +type Variable_FinalValue_Sensitive struct { + // 'sensitive' values are hashed as SHA256 values for + // the purposes of output and logging + Sensitive string `protobuf:"bytes,1,opt,name=sensitive,proto3,oneof"` } -type Token_Runner_ struct { - // Runner tokens can be used to request work on behalf of a runner. - // They have full API access as well since the workloads that runners - // run currently reuse this token. - Runner *Token_Runner `protobuf:"bytes,11,opt,name=runner,proto3,oneof"` +type Variable_FinalValue_Str struct { + Str string `protobuf:"bytes,2,opt,name=str,proto3,oneof"` } -type Token_Invite_ struct { - // invite tokens can be exhanged for login tokens and also optionally - // sign a new user up. - Invite *Token_Invite `protobuf:"bytes,9,opt,name=invite,proto3,oneof"` +type Variable_FinalValue_Bool struct { + Bool bool `protobuf:"varint,3,opt,name=bool,proto3,oneof"` } -type Token_Trigger_ struct { - // trigger tokens can be used to trigger lifecycle actions via HTTP - Trigger *Token_Trigger `protobuf:"bytes,10,opt,name=trigger,proto3,oneof"` +type Variable_FinalValue_Num struct { + Num int64 `protobuf:"varint,4,opt,name=num,proto3,oneof"` } -func (*Token_Login_) isToken_Kind() {} +type Variable_FinalValue_Hcl struct { + // hcl stores values of any complex type in a raw string format + Hcl string `protobuf:"bytes,5,opt,name=hcl,proto3,oneof"` +} -func (*Token_Runner_) isToken_Kind() {} +func (*Variable_FinalValue_Sensitive) isVariable_FinalValue_Value() {} -func (*Token_Invite_) isToken_Kind() {} +func (*Variable_FinalValue_Str) isVariable_FinalValue_Value() {} -func (*Token_Trigger_) isToken_Kind() {} +func (*Variable_FinalValue_Bool) isVariable_FinalValue_Value() {} -// Represents a key used to sign tokens using HMAC -type HMACKey struct { +func (*Variable_FinalValue_Num) isVariable_FinalValue_Value() {} + +func (*Variable_FinalValue_Hcl) isVariable_FinalValue_Value() {} + +type Project_Poll struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The identifier of the key. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // A randomly generated key used to sign tokens with - Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // enabled must be set to true to enable polling. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // interval is a duration string of how often to poll, such as "5s". + // The server may enforce minimum values, in which case a value lower + // than the minimum will be ignored. + Interval string `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` } -func (x *HMACKey) Reset() { - *x = HMACKey{} +func (x *Project_Poll) Reset() { + *x = Project_Poll{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[241] + mi := &file_pkg_server_proto_server_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *HMACKey) String() string { +func (x *Project_Poll) String() string { return protoimpl.X.MessageStringOf(x) } -func (*HMACKey) ProtoMessage() {} +func (*Project_Poll) ProtoMessage() {} -func (x *HMACKey) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[241] +func (x *Project_Poll) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19063,51 +18619,55 @@ func (x *HMACKey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use HMACKey.ProtoReflect.Descriptor instead. -func (*HMACKey) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{241} +// Deprecated: Use Project_Poll.ProtoReflect.Descriptor instead. +func (*Project_Poll) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{6, 0} } -func (x *HMACKey) GetId() string { +func (x *Project_Poll) GetEnabled() bool { if x != nil { - return x.Id + return x.Enabled } - return "" + return false } -func (x *HMACKey) GetKey() []byte { +func (x *Project_Poll) GetInterval() string { if x != nil { - return x.Key + return x.Interval } - return nil + return "" } -type DecodeTokenRequest struct { +type Project_AppStatusPoll struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The token to decode. - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // enabled must be set to true to enable application polling for the project + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // interval is a duration string of how often to poll, such as "5s". + // The server may enforce minimum values, in which case a value lower + // than the minimum will be ignored. + Interval string `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` } -func (x *DecodeTokenRequest) Reset() { - *x = DecodeTokenRequest{} +func (x *Project_AppStatusPoll) Reset() { + *x = Project_AppStatusPoll{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[242] + mi := &file_pkg_server_proto_server_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeTokenRequest) String() string { +func (x *Project_AppStatusPoll) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeTokenRequest) ProtoMessage() {} +func (*Project_AppStatusPoll) ProtoMessage() {} -func (x *DecodeTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[242] +func (x *Project_AppStatusPoll) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19118,47 +18678,65 @@ func (x *DecodeTokenRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeTokenRequest.ProtoReflect.Descriptor instead. -func (*DecodeTokenRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{242} +// Deprecated: Use Project_AppStatusPoll.ProtoReflect.Descriptor instead. +func (*Project_AppStatusPoll) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{6, 1} } -func (x *DecodeTokenRequest) GetToken() string { +func (x *Project_AppStatusPoll) GetEnabled() bool { if x != nil { - return x.Token + return x.Enabled + } + return false +} + +func (x *Project_AppStatusPoll) GetInterval() string { + if x != nil { + return x.Interval } return "" } -type DecodeTokenResponse struct { +type Workspace_Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The decoded token. - Token *Token `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - // Transport is the wrapper around the token. This may be useful - // to look into the metadata around the token. - Transport *TokenTransport `protobuf:"bytes,2,opt,name=transport,proto3" json:"transport,omitempty"` + // Project that this is referencing. + Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // Workspace that this project is part of. This will only be set + // when using the GetProject API. This will ALWAYS BE NIL on workspace + // list and get APIs. + Workspace *Ref_Workspace `protobuf:"bytes,5,opt,name=workspace,proto3" json:"workspace,omitempty"` + // The last non-local ref that was used for any operation. + DataSourceRef *Job_DataSource_Ref `protobuf:"bytes,2,opt,name=data_source_ref,json=dataSourceRef,proto3" json:"data_source_ref,omitempty"` + // active_time is the last time that this project had activity in + // this workspace. + ActiveTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=active_time,json=activeTime,proto3" json:"active_time,omitempty"` + // The list of applications that have executed at least one operation + // within the context of this workspace. To determine which operations + // you must call the respect list API for that operation, such as + // ListDeployments. + Applications []*Workspace_Application `protobuf:"bytes,4,rep,name=applications,proto3" json:"applications,omitempty"` } -func (x *DecodeTokenResponse) Reset() { - *x = DecodeTokenResponse{} +func (x *Workspace_Project) Reset() { + *x = Workspace_Project{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[243] + mi := &file_pkg_server_proto_server_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeTokenResponse) String() string { +func (x *Workspace_Project) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeTokenResponse) ProtoMessage() {} +func (*Workspace_Project) ProtoMessage() {} -func (x *DecodeTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[243] +func (x *Workspace_Project) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19169,59 +18747,74 @@ func (x *DecodeTokenResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeTokenResponse.ProtoReflect.Descriptor instead. -func (*DecodeTokenResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{243} +// Deprecated: Use Workspace_Project.ProtoReflect.Descriptor instead. +func (*Workspace_Project) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{7, 0} } -func (x *DecodeTokenResponse) GetToken() *Token { +func (x *Workspace_Project) GetProject() *Ref_Project { if x != nil { - return x.Token + return x.Project } return nil } -func (x *DecodeTokenResponse) GetTransport() *TokenTransport { +func (x *Workspace_Project) GetWorkspace() *Ref_Workspace { if x != nil { - return x.Transport + return x.Workspace } return nil } -type LoginTokenRequest struct { +func (x *Workspace_Project) GetDataSourceRef() *Job_DataSource_Ref { + if x != nil { + return x.DataSourceRef + } + return nil +} + +func (x *Workspace_Project) GetActiveTime() *timestamppb.Timestamp { + if x != nil { + return x.ActiveTime + } + return nil +} + +func (x *Workspace_Project) GetApplications() []*Workspace_Application { + if x != nil { + return x.Applications + } + return nil +} + +type Workspace_Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // How long the token should be valid from the time the request - // is made. If this is empty then the login token never expires on its own. - Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` - // The user to create the login token for. If this is nil, the currently - // logged in user is used. The calling user must have permission to create - // a token for the target user if this is set. - User *Ref_User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` - // The token generated will only be used for Trigger URL actions. The token - // will not be authorized to make any other requests to any other endpoints - Trigger bool `protobuf:"varint,3,opt,name=trigger,proto3" json:"trigger,omitempty"` + // Application that this is referencing. + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // active_time is the last time that this application was active + ActiveTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=active_time,json=activeTime,proto3" json:"active_time,omitempty"` } -func (x *LoginTokenRequest) Reset() { - *x = LoginTokenRequest{} +func (x *Workspace_Application) Reset() { + *x = Workspace_Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[244] + mi := &file_pkg_server_proto_server_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LoginTokenRequest) String() string { +func (x *Workspace_Application) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LoginTokenRequest) ProtoMessage() {} +func (*Workspace_Application) ProtoMessage() {} -func (x *LoginTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[244] +func (x *Workspace_Application) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19232,66 +18825,57 @@ func (x *LoginTokenRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LoginTokenRequest.ProtoReflect.Descriptor instead. -func (*LoginTokenRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{244} -} - -func (x *LoginTokenRequest) GetDuration() string { - if x != nil { - return x.Duration - } - return "" +// Deprecated: Use Workspace_Application.ProtoReflect.Descriptor instead. +func (*Workspace_Application) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{7, 1} } -func (x *LoginTokenRequest) GetUser() *Ref_User { +func (x *Workspace_Application) GetApplication() *Ref_Application { if x != nil { - return x.User + return x.Application } return nil } -func (x *LoginTokenRequest) GetTrigger() bool { +func (x *Workspace_Application) GetActiveTime() *timestamppb.Timestamp { if x != nil { - return x.Trigger + return x.ActiveTime } - return false + return nil } -type GenerateRunnerTokenRequest struct { +// Link is a connection between an authentication provider and +// the user identity. This is used to lookup a unique user account +// within Waypoint from multiple auth sources (i.e. GitHub auth, +// user/pass, etc.). +type User_Link struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // How long the token should be valid from the time the request - // is made. If this is empty then the runner token never expires on its own. - Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` - // ID to restrict this token to work with. This can be empty to allow it - // for all runner IDs. - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - // The set of labels to restrict this runner token to work for. The runner - // labels must match this label set exactly. If this is not set, then runners - // with any labels may use the resulting token. - Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Types that are assignable to Method: + // + // *User_Link_Oidc + Method isUser_Link_Method `protobuf_oneof:"method"` } -func (x *GenerateRunnerTokenRequest) Reset() { - *x = GenerateRunnerTokenRequest{} +func (x *User_Link) Reset() { + *x = User_Link{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[245] + mi := &file_pkg_server_proto_server_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GenerateRunnerTokenRequest) String() string { +func (x *User_Link) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GenerateRunnerTokenRequest) ProtoMessage() {} +func (*User_Link) ProtoMessage() {} -func (x *GenerateRunnerTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[245] +func (x *User_Link) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19302,74 +18886,62 @@ func (x *GenerateRunnerTokenRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GenerateRunnerTokenRequest.ProtoReflect.Descriptor instead. -func (*GenerateRunnerTokenRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{245} +// Deprecated: Use User_Link.ProtoReflect.Descriptor instead. +func (*User_Link) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{8, 0} } -func (x *GenerateRunnerTokenRequest) GetDuration() string { - if x != nil { - return x.Duration +func (m *User_Link) GetMethod() isUser_Link_Method { + if m != nil { + return m.Method } - return "" + return nil } -func (x *GenerateRunnerTokenRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *GenerateRunnerTokenRequest) GetLabels() map[string]string { - if x != nil { - return x.Labels +func (x *User_Link) GetOidc() *User_Link_OIDC { + if x, ok := x.GetMethod().(*User_Link_Oidc); ok { + return x.Oidc } return nil } -// Passed with GenerateInviteToken with the params on how the invite token should -// be generate. -type InviteTokenRequest struct { +type isUser_Link_Method interface { + isUser_Link_Method() +} + +type User_Link_Oidc struct { + Oidc *User_Link_OIDC `protobuf:"bytes,1,opt,name=oidc,proto3,oneof"` +} + +func (*User_Link_Oidc) isUser_Link_Method() {} + +type User_Link_OIDC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // How long the token should be valid until. The resulting token has a timestamp - // encoded within it by adding the current time to this duration. - Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` - // login is the login information you want this token exchange for. All fields - // can be set (including logging in as another user as long as the requesting - // user has permission). If this is a signup invite token, the "user_id" - // will be ignored. - Login *Token_Login `protobuf:"bytes,4,opt,name=login,proto3" json:"login,omitempty"` - // signup, if non-nil, will exchange this invite token for new user accounts. - // The signup structure can be used to hint for the username. This must be - // non-nil for this to be a signup token for new accounts. - Signup *Token_Invite_Signup `protobuf:"bytes,3,opt,name=signup,proto3" json:"signup,omitempty"` - // Old field, used only for backwards compatibility. If this is set, - // the old behavior will be followed. If you don't know what that is, - // then do not use this field. - UnusedEntrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=unused_entrypoint,json=unusedEntrypoint,proto3" json:"unused_entrypoint,omitempty"` + // issuer and sub claims can be used to uniquely identify a user + Iss string `protobuf:"bytes,1,opt,name=iss,proto3" json:"iss,omitempty"` + Sub string `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"` } -func (x *InviteTokenRequest) Reset() { - *x = InviteTokenRequest{} +func (x *User_Link_OIDC) Reset() { + *x = User_Link_OIDC{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[246] + mi := &file_pkg_server_proto_server_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InviteTokenRequest) String() string { +func (x *User_Link_OIDC) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InviteTokenRequest) ProtoMessage() {} +func (*User_Link_OIDC) ProtoMessage() {} -func (x *InviteTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[246] +func (x *User_Link_OIDC) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19380,66 +18952,50 @@ func (x *InviteTokenRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InviteTokenRequest.ProtoReflect.Descriptor instead. -func (*InviteTokenRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{246} +// Deprecated: Use User_Link_OIDC.ProtoReflect.Descriptor instead. +func (*User_Link_OIDC) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{8, 0, 0} } -func (x *InviteTokenRequest) GetDuration() string { +func (x *User_Link_OIDC) GetIss() string { if x != nil { - return x.Duration + return x.Iss } return "" } -func (x *InviteTokenRequest) GetLogin() *Token_Login { - if x != nil { - return x.Login - } - return nil -} - -func (x *InviteTokenRequest) GetSignup() *Token_Invite_Signup { - if x != nil { - return x.Signup - } - return nil -} - -func (x *InviteTokenRequest) GetUnusedEntrypoint() *Token_Entrypoint { +func (x *User_Link_OIDC) GetSub() string { if x != nil { - return x.UnusedEntrypoint + return x.Sub } - return nil + return "" } -// Returned by any action that creates a token. -type NewTokenResponse struct { +// Global references the entire server. This is used in some APIs +// as a way to read/write values that are server-global. +type Ref_Global struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The new token which can be presented to whichever API expects it. - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } -func (x *NewTokenResponse) Reset() { - *x = NewTokenResponse{} +func (x *Ref_Global) Reset() { + *x = Ref_Global{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[247] + mi := &file_pkg_server_proto_server_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NewTokenResponse) String() string { +func (x *Ref_Global) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewTokenResponse) ProtoMessage() {} +func (*Ref_Global) ProtoMessage() {} -func (x *NewTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[247] +func (x *Ref_Global) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19450,45 +19006,39 @@ func (x *NewTokenResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewTokenResponse.ProtoReflect.Descriptor instead. -func (*NewTokenResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{247} -} - -func (x *NewTokenResponse) GetToken() string { - if x != nil { - return x.Token - } - return "" +// Deprecated: Use Ref_Global.ProtoReflect.Descriptor instead. +func (*Ref_Global) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 0} } -// Passed to ConvertInviteToken to create a new token that can be used to authenticate RPCs. -type ConvertInviteTokenRequest struct { +// Application references an application. To uniquely identify an +// application, this must encapsulate the full hierarchy to the application. +type Ref_Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A token previous returned by GenerateInviteToken. - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Application string `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` } -func (x *ConvertInviteTokenRequest) Reset() { - *x = ConvertInviteTokenRequest{} +func (x *Ref_Application) Reset() { + *x = Ref_Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[248] + mi := &file_pkg_server_proto_server_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConvertInviteTokenRequest) String() string { +func (x *Ref_Application) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConvertInviteTokenRequest) ProtoMessage() {} +func (*Ref_Application) ProtoMessage() {} -func (x *ConvertInviteTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[248] +func (x *Ref_Application) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19499,47 +19049,51 @@ func (x *ConvertInviteTokenRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConvertInviteTokenRequest.ProtoReflect.Descriptor instead. -func (*ConvertInviteTokenRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{248} +// Deprecated: Use Ref_Application.ProtoReflect.Descriptor instead. +func (*Ref_Application) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 1} } -func (x *ConvertInviteTokenRequest) GetToken() string { +func (x *Ref_Application) GetApplication() string { if x != nil { - return x.Token + return x.Application } return "" } -type CreateSnapshotResponse struct { +func (x *Ref_Application) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +// Project references a project. +type Ref_Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Event: - // - // *CreateSnapshotResponse_Open_ - // *CreateSnapshotResponse_Chunk - Event isCreateSnapshotResponse_Event `protobuf_oneof:"event"` + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } -func (x *CreateSnapshotResponse) Reset() { - *x = CreateSnapshotResponse{} +func (x *Ref_Project) Reset() { + *x = Ref_Project{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[249] + mi := &file_pkg_server_proto_server_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSnapshotResponse) String() string { +func (x *Ref_Project) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSnapshotResponse) ProtoMessage() {} +func (*Ref_Project) ProtoMessage() {} -func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[249] +func (x *Ref_Project) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19550,81 +19104,97 @@ func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSnapshotResponse.ProtoReflect.Descriptor instead. -func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{249} +// Deprecated: Use Ref_Project.ProtoReflect.Descriptor instead. +func (*Ref_Project) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 2} } -func (m *CreateSnapshotResponse) GetEvent() isCreateSnapshotResponse_Event { - if m != nil { - return m.Event +func (x *Ref_Project) GetProject() string { + if x != nil { + return x.Project } - return nil + return "" } -func (x *CreateSnapshotResponse) GetOpen() *CreateSnapshotResponse_Open { - if x, ok := x.GetEvent().(*CreateSnapshotResponse_Open_); ok { - return x.Open - } - return nil +// Workspace references a workspace. +type Ref_Workspace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspace string `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` } -func (x *CreateSnapshotResponse) GetChunk() []byte { - if x, ok := x.GetEvent().(*CreateSnapshotResponse_Chunk); ok { - return x.Chunk +func (x *Ref_Workspace) Reset() { + *x = Ref_Workspace{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -type isCreateSnapshotResponse_Event interface { - isCreateSnapshotResponse_Event() +func (x *Ref_Workspace) String() string { + return protoimpl.X.MessageStringOf(x) } -type CreateSnapshotResponse_Open_ struct { - // Open is sent as the opening message with information about the - // snapshot. This is always sent first (before any data). - Open *CreateSnapshotResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` -} +func (*Ref_Workspace) ProtoMessage() {} -type CreateSnapshotResponse_Chunk struct { - // Chunk is a next chunk of data. You should continue to expect - // data until an EOF is received on the stream. - Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` +func (x *Ref_Workspace) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[246] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*CreateSnapshotResponse_Open_) isCreateSnapshotResponse_Event() {} +// Deprecated: Use Ref_Workspace.ProtoReflect.Descriptor instead. +func (*Ref_Workspace) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 3} +} -func (*CreateSnapshotResponse_Chunk) isCreateSnapshotResponse_Event() {} +func (x *Ref_Workspace) GetWorkspace() string { + if x != nil { + return x.Workspace + } + return "" +} -type RestoreSnapshotRequest struct { +type Ref_Deployment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Event: + // Either reference the latest deployment, or a specific deployment id // - // *RestoreSnapshotRequest_Open_ - // *RestoreSnapshotRequest_Chunk - Event isRestoreSnapshotRequest_Event `protobuf_oneof:"event"` + // Types that are assignable to Ref: + // + // *Ref_Deployment_Latest + // *Ref_Deployment_Sequence + Ref isRef_Deployment_Ref `protobuf_oneof:"ref"` } -func (x *RestoreSnapshotRequest) Reset() { - *x = RestoreSnapshotRequest{} +func (x *Ref_Deployment) Reset() { + *x = Ref_Deployment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[250] + mi := &file_pkg_server_proto_server_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RestoreSnapshotRequest) String() string { +func (x *Ref_Deployment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RestoreSnapshotRequest) ProtoMessage() {} +func (*Ref_Deployment) ProtoMessage() {} -func (x *RestoreSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[250] +func (x *Ref_Deployment) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19635,88 +19205,79 @@ func (x *RestoreSnapshotRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RestoreSnapshotRequest.ProtoReflect.Descriptor instead. -func (*RestoreSnapshotRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{250} +// Deprecated: Use Ref_Deployment.ProtoReflect.Descriptor instead. +func (*Ref_Deployment) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 4} } -func (m *RestoreSnapshotRequest) GetEvent() isRestoreSnapshotRequest_Event { +func (m *Ref_Deployment) GetRef() isRef_Deployment_Ref { if m != nil { - return m.Event + return m.Ref } return nil } -func (x *RestoreSnapshotRequest) GetOpen() *RestoreSnapshotRequest_Open { - if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Open_); ok { - return x.Open +func (x *Ref_Deployment) GetLatest() bool { + if x, ok := x.GetRef().(*Ref_Deployment_Latest); ok { + return x.Latest } - return nil + return false } -func (x *RestoreSnapshotRequest) GetChunk() []byte { - if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Chunk); ok { - return x.Chunk +func (x *Ref_Deployment) GetSequence() uint64 { + if x, ok := x.GetRef().(*Ref_Deployment_Sequence); ok { + return x.Sequence } - return nil + return 0 } -type isRestoreSnapshotRequest_Event interface { - isRestoreSnapshotRequest_Event() +type isRef_Deployment_Ref interface { + isRef_Deployment_Ref() } -type RestoreSnapshotRequest_Open_ struct { - // Open MUST be sent as the first message and sent exactly once. - // This sets the settings for the restore. - Open *RestoreSnapshotRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` +type Ref_Deployment_Latest struct { + Latest bool `protobuf:"varint,1,opt,name=latest,proto3,oneof"` } -type RestoreSnapshotRequest_Chunk struct { - // Chunk is a chunk of restore data. The restore snapshot API will - // continue reading data until an EOF is received (the write end is - // closed). - Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` +type Ref_Deployment_Sequence struct { + Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3,oneof"` } -func (*RestoreSnapshotRequest_Open_) isRestoreSnapshotRequest_Event() {} +func (*Ref_Deployment_Latest) isRef_Deployment_Ref() {} -func (*RestoreSnapshotRequest_Chunk) isRestoreSnapshotRequest_Event() {} +func (*Ref_Deployment_Sequence) isRef_Deployment_Ref() {} -// Snapshot is the encoding of the snapshot for all snapshot APIs. -// The encoding is proto.Message delimited data. This is also the encoding -// expected if the waypoint-restore.db file is copied manually from the -// snapshot data. -// -// For snapshots, the Header message is always guaranteed first. After that, -// it is NOT guaranteed that only data chunks are sent. It is only guaranteed -// that the data chunks are over at EOF. Unknown messages can probably be -// ignored. -// -// It is HIGHLY RECOMMENDED you do not modify snapshots, but these messages -// are publicly exported so that you can try to inspect snapshots. -type Snapshot struct { +type Ref_Artifact struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Either reference the latest artifact, or a specific artifact id + // + // Types that are assignable to Ref: + // + // *Ref_Artifact_Latest + // *Ref_Artifact_Sequence + Ref isRef_Artifact_Ref `protobuf_oneof:"ref"` } -func (x *Snapshot) Reset() { - *x = Snapshot{} +func (x *Ref_Artifact) Reset() { + *x = Ref_Artifact{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[251] + mi := &file_pkg_server_proto_server_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Snapshot) String() string { +func (x *Ref_Artifact) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Snapshot) ProtoMessage() {} +func (*Ref_Artifact) ProtoMessage() {} -func (x *Snapshot) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[251] +func (x *Ref_Artifact) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19727,97 +19288,75 @@ func (x *Snapshot) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. -func (*Snapshot) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{251} -} - -// Hcl is a message used to encapsulate the contents of an HCL -// file. Note that this was introduced later so there are some message types -// that reproduce this functionality without actually using this in order -// to maintain backwards compatibility. -type Hcl struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Raw contents of the HCL file. - Contents []byte `protobuf:"bytes,1,opt,name=contents,proto3" json:"contents,omitempty"` - // Format of HCL contents - Format Hcl_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.Hcl_Format" json:"format,omitempty"` +// Deprecated: Use Ref_Artifact.ProtoReflect.Descriptor instead. +func (*Ref_Artifact) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 5} } -func (x *Hcl) Reset() { - *x = Hcl{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[252] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (m *Ref_Artifact) GetRef() isRef_Artifact_Ref { + if m != nil { + return m.Ref } + return nil } -func (x *Hcl) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Ref_Artifact) GetLatest() bool { + if x, ok := x.GetRef().(*Ref_Artifact_Latest); ok { + return x.Latest + } + return false } -func (*Hcl) ProtoMessage() {} - -func (x *Hcl) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[252] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Ref_Artifact) GetSequence() uint64 { + if x, ok := x.GetRef().(*Ref_Artifact_Sequence); ok { + return x.Sequence } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use Hcl.ProtoReflect.Descriptor instead. -func (*Hcl) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{252} +type isRef_Artifact_Ref interface { + isRef_Artifact_Ref() } -func (x *Hcl) GetContents() []byte { - if x != nil { - return x.Contents - } - return nil +type Ref_Artifact_Latest struct { + Latest bool `protobuf:"varint,1,opt,name=latest,proto3,oneof"` } -func (x *Hcl) GetFormat() Hcl_Format { - if x != nil { - return x.Format - } - return Hcl_HCL +type Ref_Artifact_Sequence struct { + Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3,oneof"` } -type WaypointHclFmtRequest struct { +func (*Ref_Artifact_Latest) isRef_Artifact_Ref() {} + +func (*Ref_Artifact_Sequence) isRef_Artifact_Ref() {} + +// Component references a component. +type Ref_Component struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WaypointHcl []byte `protobuf:"bytes,1,opt,name=waypoint_hcl,json=waypointHcl,proto3" json:"waypoint_hcl,omitempty"` + Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.waypoint.Component_Type" json:"type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *WaypointHclFmtRequest) Reset() { - *x = WaypointHclFmtRequest{} +func (x *Ref_Component) Reset() { + *x = Ref_Component{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[253] + mi := &file_pkg_server_proto_server_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaypointHclFmtRequest) String() string { +func (x *Ref_Component) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaypointHclFmtRequest) ProtoMessage() {} +func (*Ref_Component) ProtoMessage() {} -func (x *WaypointHclFmtRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[253] +func (x *Ref_Component) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19828,43 +19367,56 @@ func (x *WaypointHclFmtRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaypointHclFmtRequest.ProtoReflect.Descriptor instead. -func (*WaypointHclFmtRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{253} +// Deprecated: Use Ref_Component.ProtoReflect.Descriptor instead. +func (*Ref_Component) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 6} } -func (x *WaypointHclFmtRequest) GetWaypointHcl() []byte { +func (x *Ref_Component) GetType() Component_Type { if x != nil { - return x.WaypointHcl + return x.Type } - return nil + return Component_UNKNOWN } -type WaypointHclFmtResponse struct { +func (x *Ref_Component) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Operation references an operation (build, deploy, etc.). This can reference +// an operation in multiple ways so you must use the oneof to choose. +type Ref_Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WaypointHcl []byte `protobuf:"bytes,1,opt,name=waypoint_hcl,json=waypointHcl,proto3" json:"waypoint_hcl,omitempty"` + // Types that are assignable to Target: + // + // *Ref_Operation_Id + // *Ref_Operation_Sequence + Target isRef_Operation_Target `protobuf_oneof:"target"` } -func (x *WaypointHclFmtResponse) Reset() { - *x = WaypointHclFmtResponse{} +func (x *Ref_Operation) Reset() { + *x = Ref_Operation{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[254] + mi := &file_pkg_server_proto_server_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaypointHclFmtResponse) String() string { +func (x *Ref_Operation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaypointHclFmtResponse) ProtoMessage() {} +func (*Ref_Operation) ProtoMessage() {} -func (x *WaypointHclFmtResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[254] +func (x *Ref_Operation) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19875,51 +19427,75 @@ func (x *WaypointHclFmtResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaypointHclFmtResponse.ProtoReflect.Descriptor instead. -func (*WaypointHclFmtResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{254} +// Deprecated: Use Ref_Operation.ProtoReflect.Descriptor instead. +func (*Ref_Operation) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 7} } -func (x *WaypointHclFmtResponse) GetWaypointHcl() []byte { - if x != nil { - return x.WaypointHcl +func (m *Ref_Operation) GetTarget() isRef_Operation_Target { + if m != nil { + return m.Target } return nil } -// InlineKeepalive is a message intended to be sent down existing grpc streams -// to induce traffic and prevent them from being idle terminated by load -// balancers that do not respect http2 pings. They will be sent on streams -// that do not have this message as part of their protobuf contract. Client and -// server grpc interceptors intercept these messages and prevent them from being -// exposed to the rpc handlers. -type InlineKeepalive struct { +func (x *Ref_Operation) GetId() string { + if x, ok := x.GetTarget().(*Ref_Operation_Id); ok { + return x.Id + } + return "" +} + +func (x *Ref_Operation) GetSequence() *Ref_OperationSeq { + if x, ok := x.GetTarget().(*Ref_Operation_Sequence); ok { + return x.Sequence + } + return nil +} + +type isRef_Operation_Target interface { + isRef_Operation_Target() +} + +type Ref_Operation_Id struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` +} + +type Ref_Operation_Sequence struct { + Sequence *Ref_OperationSeq `protobuf:"bytes,2,opt,name=sequence,proto3,oneof"` +} + +func (*Ref_Operation_Id) isRef_Operation_Target() {} + +func (*Ref_Operation_Sequence) isRef_Operation_Target() {} + +// OperationSeq references an operation by sequence number. +type Ref_OperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // WARNING: NO OTHER MESSAGE MAY USE THIS FIELD NUMBER. Doing so will cause - // that message to be confused with an inline keepalive - Signature string `protobuf:"bytes,100000000,opt,name=signature,proto3" json:"signature,omitempty"` + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } -func (x *InlineKeepalive) Reset() { - *x = InlineKeepalive{} +func (x *Ref_OperationSeq) Reset() { + *x = Ref_OperationSeq{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[255] + mi := &file_pkg_server_proto_server_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InlineKeepalive) String() string { +func (x *Ref_OperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InlineKeepalive) ProtoMessage() {} +func (*Ref_OperationSeq) ProtoMessage() {} -func (x *InlineKeepalive) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[255] +func (x *Ref_OperationSeq) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19930,57 +19506,59 @@ func (x *InlineKeepalive) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InlineKeepalive.ProtoReflect.Descriptor instead. -func (*InlineKeepalive) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{255} +// Deprecated: Use Ref_OperationSeq.ProtoReflect.Descriptor instead. +func (*Ref_OperationSeq) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 8} } -func (x *InlineKeepalive) GetSignature() string { +func (x *Ref_OperationSeq) GetApplication() *Ref_Application { if x != nil { - return x.Signature + return x.Application } - return "" + return nil } -// https://github.com/hashicorp/cloud-api/blob/master/hashicorp/cloud/common/pagination.proto -// PaginationRequest are the parameters for a paginated list request. -type PaginationRequest struct { +func (x *Ref_OperationSeq) GetNumber() uint64 { + if x != nil { + return x.Number + } + return 0 +} + +// Runner references a runner process which executes operations. This +// can reference a runner by any of the more specific types, such as +// by ID. If you want to constrain which runners can be targeted, +// a different ref type should be used. +type Ref_Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The max number of results per page that should be returned. If the number - // of available results is larger than `page_size`, a `next_page_token` is - // returned which can be used to get the next page of results in subsequent - // requests. A value of zero will cause `page_size` to be defaulted. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"` - // Specifies a page token to use to retrieve the next page. Set this to the - // `next_page_token` returned by previous list requests to get the next page of - // results. If set, `previous_page_token` must not be set. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,proto3" json:"next_page_token,omitempty"` - // Specifies a page token to use to retrieve the previous page. Set this to - // the `previous_page_token` returned by previous list requests to get the - // previous page of results. If set, `next_page_token` must not be set. - PreviousPageToken string `protobuf:"bytes,3,opt,name=previous_page_token,proto3" json:"previous_page_token,omitempty"` + // Types that are assignable to Target: + // + // *Ref_Runner_Any + // *Ref_Runner_Id + // *Ref_Runner_Labels + Target isRef_Runner_Target `protobuf_oneof:"target"` } -func (x *PaginationRequest) Reset() { - *x = PaginationRequest{} +func (x *Ref_Runner) Reset() { + *x = Ref_Runner{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[256] + mi := &file_pkg_server_proto_server_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PaginationRequest) String() string { +func (x *Ref_Runner) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PaginationRequest) ProtoMessage() {} +func (*Ref_Runner) ProtoMessage() {} -func (x *PaginationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[256] +func (x *Ref_Runner) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19991,69 +19569,85 @@ func (x *PaginationRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PaginationRequest.ProtoReflect.Descriptor instead. -func (*PaginationRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{256} +// Deprecated: Use Ref_Runner.ProtoReflect.Descriptor instead. +func (*Ref_Runner) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 9} } -func (x *PaginationRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize +func (m *Ref_Runner) GetTarget() isRef_Runner_Target { + if m != nil { + return m.Target } - return 0 + return nil } -func (x *PaginationRequest) GetNextPageToken() string { - if x != nil { - return x.NextPageToken +func (x *Ref_Runner) GetAny() *Ref_RunnerAny { + if x, ok := x.GetTarget().(*Ref_Runner_Any); ok { + return x.Any } - return "" + return nil } -func (x *PaginationRequest) GetPreviousPageToken() string { - if x != nil { - return x.PreviousPageToken +func (x *Ref_Runner) GetId() *Ref_RunnerId { + if x, ok := x.GetTarget().(*Ref_Runner_Id); ok { + return x.Id } - return "" + return nil } -// PaginationResponse is the response holding the page tokens for a paginated -// list response. -type PaginationResponse struct { +func (x *Ref_Runner) GetLabels() *Ref_RunnerLabels { + if x, ok := x.GetTarget().(*Ref_Runner_Labels); ok { + return x.Labels + } + return nil +} + +type isRef_Runner_Target interface { + isRef_Runner_Target() +} + +type Ref_Runner_Any struct { + Any *Ref_RunnerAny `protobuf:"bytes,1,opt,name=any,proto3,oneof"` +} + +type Ref_Runner_Id struct { + Id *Ref_RunnerId `protobuf:"bytes,2,opt,name=id,proto3,oneof"` +} + +type Ref_Runner_Labels struct { + Labels *Ref_RunnerLabels `protobuf:"bytes,3,opt,name=labels,proto3,oneof"` +} + +func (*Ref_Runner_Any) isRef_Runner_Target() {} + +func (*Ref_Runner_Id) isRef_Runner_Target() {} + +func (*Ref_Runner_Labels) isRef_Runner_Target() {} + +// RunnerAny will reference any runner. +type Ref_RunnerAny struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // This token allows you to get the next page of results for list requests. - // If the number of results is larger than `page_size`, use the - // `next_page_token` as a value for the query parameter `next_page_token` in - // the next request. The value will become empty when there are no more pages. - NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,proto3" json:"next_page_token,omitempty"` - // This token allows you to get the previous page of results for list - // requests. If the number of results is larger than `page_size`, use the - // `previous_page_token` as a value for the query parameter - // `previous_page_token` in the next request. The value will become empty when - // there are no more pages. - PreviousPageToken string `protobuf:"bytes,2,opt,name=previous_page_token,proto3" json:"previous_page_token,omitempty"` } -func (x *PaginationResponse) Reset() { - *x = PaginationResponse{} +func (x *Ref_RunnerAny) Reset() { + *x = Ref_RunnerAny{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[257] + mi := &file_pkg_server_proto_server_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PaginationResponse) String() string { +func (x *Ref_RunnerAny) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PaginationResponse) ProtoMessage() {} +func (*Ref_RunnerAny) ProtoMessage() {} -func (x *PaginationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[257] +func (x *Ref_RunnerAny) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20064,61 +19658,37 @@ func (x *PaginationResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PaginationResponse.ProtoReflect.Descriptor instead. -func (*PaginationResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{257} -} - -func (x *PaginationResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -func (x *PaginationResponse) GetPreviousPageToken() string { - if x != nil { - return x.PreviousPageToken - } - return "" +// Deprecated: Use Ref_RunnerAny.ProtoReflect.Descriptor instead. +func (*Ref_RunnerAny) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 10} } -// SortingRequest are the parameters for a sorted list request. -type SortingRequest struct { +// RunnerId references a runner by ID. +type Ref_RunnerId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Specifies the list of per field ordering that should be used for sorting. - // The order matters as rows are sorted in order by fields and when the field - // matches, the next field is used to tie break the ordering. - // The per field default ordering is ascending. - // - // The fields should be immutable, unique, and orderable. If the field is - // not unique, more than one sort fields should be passed. - // - // Example: order_by=name,age desc,created_at asc - // In that case, 'name' will get the default 'ascending' order. - OrderBy []string `protobuf:"bytes,1,rep,name=order_by,proto3" json:"order_by,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *SortingRequest) Reset() { - *x = SortingRequest{} +func (x *Ref_RunnerId) Reset() { + *x = Ref_RunnerId{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[258] + mi := &file_pkg_server_proto_server_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SortingRequest) String() string { +func (x *Ref_RunnerId) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SortingRequest) ProtoMessage() {} +func (*Ref_RunnerId) ProtoMessage() {} -func (x *SortingRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[258] +func (x *Ref_RunnerId) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[254] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20129,43 +19699,45 @@ func (x *SortingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SortingRequest.ProtoReflect.Descriptor instead. -func (*SortingRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{258} +// Deprecated: Use Ref_RunnerId.ProtoReflect.Descriptor instead. +func (*Ref_RunnerId) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 11} } -func (x *SortingRequest) GetOrderBy() []string { +func (x *Ref_RunnerId) GetId() string { if x != nil { - return x.OrderBy + return x.Id } - return nil + return "" } -type UI_ListProjectsRequest struct { +// RunnerLabels references a runner by labels. +// The labels can be a subset match or an exact match. +type Ref_RunnerLabels struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *UI_ListProjectsRequest) Reset() { - *x = UI_ListProjectsRequest{} +func (x *Ref_RunnerLabels) Reset() { + *x = Ref_RunnerLabels{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[259] + mi := &file_pkg_server_proto_server_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListProjectsRequest) String() string { +func (x *Ref_RunnerLabels) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListProjectsRequest) ProtoMessage() {} +func (*Ref_RunnerLabels) ProtoMessage() {} -func (x *UI_ListProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[259] +func (x *Ref_RunnerLabels) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[255] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20176,45 +19748,50 @@ func (x *UI_ListProjectsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListProjectsRequest.ProtoReflect.Descriptor instead. -func (*UI_ListProjectsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 0} +// Deprecated: Use Ref_RunnerLabels.ProtoReflect.Descriptor instead. +func (*Ref_RunnerLabels) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 12} } -func (x *UI_ListProjectsRequest) GetPagination() *PaginationRequest { +func (x *Ref_RunnerLabels) GetLabels() map[string]string { if x != nil { - return x.Pagination + return x.Labels } return nil } -type UI_ListProjectsResponse struct { +// User references a user by either ID or username, it is up to the caller. +// This generic form makes it easy for APIs to accept multiple values, whatever +// is easiest for the caller. +type Ref_User struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectBundles []*UI_ProjectBundle `protobuf:"bytes,1,rep,name=project_bundles,json=projectBundles,proto3" json:"project_bundles,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` - TotalCount uint64 `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + // Types that are assignable to Ref: + // + // *Ref_User_Id + // *Ref_User_Username + Ref isRef_User_Ref `protobuf_oneof:"ref"` } -func (x *UI_ListProjectsResponse) Reset() { - *x = UI_ListProjectsResponse{} +func (x *Ref_User) Reset() { + *x = Ref_User{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[260] + mi := &file_pkg_server_proto_server_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListProjectsResponse) String() string { +func (x *Ref_User) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListProjectsResponse) ProtoMessage() {} +func (*Ref_User) ProtoMessage() {} -func (x *UI_ListProjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[260] +func (x *Ref_User) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20225,57 +19802,74 @@ func (x *UI_ListProjectsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListProjectsResponse.ProtoReflect.Descriptor instead. -func (*UI_ListProjectsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 1} +// Deprecated: Use Ref_User.ProtoReflect.Descriptor instead. +func (*Ref_User) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 13} } -func (x *UI_ListProjectsResponse) GetProjectBundles() []*UI_ProjectBundle { - if x != nil { - return x.ProjectBundles +func (m *Ref_User) GetRef() isRef_User_Ref { + if m != nil { + return m.Ref } return nil } -func (x *UI_ListProjectsResponse) GetPagination() *PaginationResponse { - if x != nil { - return x.Pagination +func (x *Ref_User) GetId() *Ref_UserId { + if x, ok := x.GetRef().(*Ref_User_Id); ok { + return x.Id } return nil } -func (x *UI_ListProjectsResponse) GetTotalCount() uint64 { - if x != nil { - return x.TotalCount +func (x *Ref_User) GetUsername() *Ref_UserUsername { + if x, ok := x.GetRef().(*Ref_User_Username); ok { + return x.Username } - return 0 + return nil } -type UI_ProjectBundle struct { +type isRef_User_Ref interface { + isRef_User_Ref() +} + +type Ref_User_Id struct { + Id *Ref_UserId `protobuf:"bytes,1,opt,name=id,proto3,oneof"` +} + +type Ref_User_Username struct { + Username *Ref_UserUsername `protobuf:"bytes,2,opt,name=username,proto3,oneof"` +} + +func (*Ref_User_Id) isRef_User_Ref() {} + +func (*Ref_User_Username) isRef_User_Ref() {} + +// UserId references a user by their ID (ULID-formatted). +type Ref_UserId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *UI_ProjectBundle) Reset() { - *x = UI_ProjectBundle{} +func (x *Ref_UserId) Reset() { + *x = Ref_UserId{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[261] + mi := &file_pkg_server_proto_server_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ProjectBundle) String() string { +func (x *Ref_UserId) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ProjectBundle) ProtoMessage() {} +func (*Ref_UserId) ProtoMessage() {} -func (x *UI_ProjectBundle) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[261] +func (x *Ref_UserId) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20286,43 +19880,46 @@ func (x *UI_ProjectBundle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ProjectBundle.ProtoReflect.Descriptor instead. -func (*UI_ProjectBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 2} +// Deprecated: Use Ref_UserId.ProtoReflect.Descriptor instead. +func (*Ref_UserId) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 14} } -func (x *UI_ProjectBundle) GetProject() *Project { +func (x *Ref_UserId) GetId() string { if x != nil { - return x.Project + return x.Id } - return nil + return "" } -type UI_GetProjectRequest struct { +// UserUsername references a user by their username. Note that usernames +// are unique but can be changed at anytime, so for long-living refs +// the ID should be used. +type Ref_UserUsername struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` } -func (x *UI_GetProjectRequest) Reset() { - *x = UI_GetProjectRequest{} +func (x *Ref_UserUsername) Reset() { + *x = Ref_UserUsername{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[262] + mi := &file_pkg_server_proto_server_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetProjectRequest) String() string { +func (x *Ref_UserUsername) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetProjectRequest) ProtoMessage() {} +func (*Ref_UserUsername) ProtoMessage() {} -func (x *UI_GetProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[262] +func (x *Ref_UserUsername) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20333,45 +19930,44 @@ func (x *UI_GetProjectRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetProjectRequest.ProtoReflect.Descriptor instead. -func (*UI_GetProjectRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 3} +// Deprecated: Use Ref_UserUsername.ProtoReflect.Descriptor instead. +func (*Ref_UserUsername) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 15} } -func (x *UI_GetProjectRequest) GetProject() *Ref_Project { +func (x *Ref_UserUsername) GetUsername() string { if x != nil { - return x.Project + return x.Username } - return nil + return "" } -type UI_GetProjectResponse struct { +// AuthMethod references an auth method. +type Ref_AuthMethod struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - LatestInitJob *Job `protobuf:"bytes,2,opt,name=latest_init_job,json=latestInitJob,proto3" json:"latest_init_job,omitempty"` - ProjectTemplate *ProjectTemplate `protobuf:"bytes,3,opt,name=project_template,json=projectTemplate,proto3" json:"project_template,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UI_GetProjectResponse) Reset() { - *x = UI_GetProjectResponse{} +func (x *Ref_AuthMethod) Reset() { + *x = Ref_AuthMethod{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[263] + mi := &file_pkg_server_proto_server_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetProjectResponse) String() string { +func (x *Ref_AuthMethod) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetProjectResponse) ProtoMessage() {} +func (*Ref_AuthMethod) ProtoMessage() {} -func (x *UI_GetProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[263] +func (x *Ref_AuthMethod) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[259] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20382,58 +19978,44 @@ func (x *UI_GetProjectResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetProjectResponse.ProtoReflect.Descriptor instead. -func (*UI_GetProjectResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 4} -} - -func (x *UI_GetProjectResponse) GetProject() *Project { - if x != nil { - return x.Project - } - return nil -} - -func (x *UI_GetProjectResponse) GetLatestInitJob() *Job { - if x != nil { - return x.LatestInitJob - } - return nil +// Deprecated: Use Ref_AuthMethod.ProtoReflect.Descriptor instead. +func (*Ref_AuthMethod) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 16} } -func (x *UI_GetProjectResponse) GetProjectTemplate() *ProjectTemplate { +func (x *Ref_AuthMethod) GetName() string { if x != nil { - return x.ProjectTemplate + return x.Name } - return nil + return "" } -type UI_ListPipelinesRequest struct { +// DeclaredResource references a declared resource. +type Ref_DeclaredResource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - Pagination *PaginationRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` // TODO: SortingRequest sorting = 3; + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UI_ListPipelinesRequest) Reset() { - *x = UI_ListPipelinesRequest{} +func (x *Ref_DeclaredResource) Reset() { + *x = Ref_DeclaredResource{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[264] + mi := &file_pkg_server_proto_server_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListPipelinesRequest) String() string { +func (x *Ref_DeclaredResource) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListPipelinesRequest) ProtoMessage() {} +func (*Ref_DeclaredResource) ProtoMessage() {} -func (x *UI_ListPipelinesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[264] +func (x *Ref_DeclaredResource) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20444,51 +20026,46 @@ func (x *UI_ListPipelinesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListPipelinesRequest.ProtoReflect.Descriptor instead. -func (*UI_ListPipelinesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 5} -} - -func (x *UI_ListPipelinesRequest) GetProject() *Ref_Project { - if x != nil { - return x.Project - } - return nil +// Deprecated: Use Ref_DeclaredResource.ProtoReflect.Descriptor instead. +func (*Ref_DeclaredResource) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 17} } -func (x *UI_ListPipelinesRequest) GetPagination() *PaginationRequest { +func (x *Ref_DeclaredResource) GetName() string { if x != nil { - return x.Pagination + return x.Name } - return nil + return "" } -type UI_ListPipelinesResponse struct { +// OnDemandRunnerConfig references an OnDemandRunnerConfig value to be used for contextual +// operation. The reference can by via id or name, with id taking priority if both are set. +type Ref_OnDemandRunnerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pipelines []*UI_PipelineBundle `protobuf:"bytes,1,rep,name=pipelines,proto3" json:"pipelines,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UI_ListPipelinesResponse) Reset() { - *x = UI_ListPipelinesResponse{} +func (x *Ref_OnDemandRunnerConfig) Reset() { + *x = Ref_OnDemandRunnerConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[265] + mi := &file_pkg_server_proto_server_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListPipelinesResponse) String() string { +func (x *Ref_OnDemandRunnerConfig) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListPipelinesResponse) ProtoMessage() {} +func (*Ref_OnDemandRunnerConfig) ProtoMessage() {} -func (x *UI_ListPipelinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[265] +func (x *Ref_OnDemandRunnerConfig) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20499,51 +20076,52 @@ func (x *UI_ListPipelinesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListPipelinesResponse.ProtoReflect.Descriptor instead. -func (*UI_ListPipelinesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 6} +// Deprecated: Use Ref_OnDemandRunnerConfig.ProtoReflect.Descriptor instead. +func (*Ref_OnDemandRunnerConfig) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 18} } -func (x *UI_ListPipelinesResponse) GetPipelines() []*UI_PipelineBundle { +func (x *Ref_OnDemandRunnerConfig) GetId() string { if x != nil { - return x.Pipelines + return x.Id } - return nil + return "" } -func (x *UI_ListPipelinesResponse) GetPagination() *PaginationResponse { +func (x *Ref_OnDemandRunnerConfig) GetName() string { if x != nil { - return x.Pagination + return x.Name } - return nil + return "" } -type UI_ListPipelineRunsRequest struct { +// Trigger references a Trigger message value to be used for a given operation. +// It can be looked up by id. +type Ref_Trigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pipeline *Ref_Pipeline `protobuf:"bytes,1,opt,name=pipeline,proto3" json:"pipeline,omitempty"` - Pagination *PaginationRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` // TODO: SortingRequest sorting = 3; + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *UI_ListPipelineRunsRequest) Reset() { - *x = UI_ListPipelineRunsRequest{} +func (x *Ref_Trigger) Reset() { + *x = Ref_Trigger{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[266] + mi := &file_pkg_server_proto_server_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListPipelineRunsRequest) String() string { +func (x *Ref_Trigger) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListPipelineRunsRequest) ProtoMessage() {} +func (*Ref_Trigger) ProtoMessage() {} -func (x *UI_ListPipelineRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[266] +func (x *Ref_Trigger) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20554,51 +20132,44 @@ func (x *UI_ListPipelineRunsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListPipelineRunsRequest.ProtoReflect.Descriptor instead. -func (*UI_ListPipelineRunsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 7} -} - -func (x *UI_ListPipelineRunsRequest) GetPipeline() *Ref_Pipeline { - if x != nil { - return x.Pipeline - } - return nil +// Deprecated: Use Ref_Trigger.ProtoReflect.Descriptor instead. +func (*Ref_Trigger) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 19} } -func (x *UI_ListPipelineRunsRequest) GetPagination() *PaginationRequest { +func (x *Ref_Trigger) GetId() string { if x != nil { - return x.Pagination + return x.Id } - return nil + return "" } -type UI_ListPipelineRunsResponse struct { +// Job references a Job message value by job id. +type Ref_Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PipelineRunBundles []*UI_PipelineRunBundle `protobuf:"bytes,1,rep,name=pipeline_run_bundles,json=pipelineRunBundles,proto3" json:"pipeline_run_bundles,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *UI_ListPipelineRunsResponse) Reset() { - *x = UI_ListPipelineRunsResponse{} +func (x *Ref_Job) Reset() { + *x = Ref_Job{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[267] + mi := &file_pkg_server_proto_server_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListPipelineRunsResponse) String() string { +func (x *Ref_Job) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListPipelineRunsResponse) ProtoMessage() {} +func (*Ref_Job) ProtoMessage() {} -func (x *UI_ListPipelineRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[267] +func (x *Ref_Job) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20609,51 +20180,48 @@ func (x *UI_ListPipelineRunsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListPipelineRunsResponse.ProtoReflect.Descriptor instead. -func (*UI_ListPipelineRunsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 8} -} - -func (x *UI_ListPipelineRunsResponse) GetPipelineRunBundles() []*UI_PipelineRunBundle { - if x != nil { - return x.PipelineRunBundles - } - return nil +// Deprecated: Use Ref_Job.ProtoReflect.Descriptor instead. +func (*Ref_Job) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 20} } -func (x *UI_ListPipelineRunsResponse) GetPagination() *PaginationResponse { +func (x *Ref_Job) GetId() string { if x != nil { - return x.Pagination + return x.Id } - return nil + return "" } -type UI_GetPipelineRunRequest struct { +// Task references a Task message by its id or the main run job id it queued +type Ref_Task struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pipeline *Ref_Pipeline `protobuf:"bytes,1,opt,name=pipeline,proto3" json:"pipeline,omitempty"` - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` + // Types that are assignable to Ref: + // + // *Ref_Task_Id + // *Ref_Task_JobId + Ref isRef_Task_Ref `protobuf_oneof:"ref"` } -func (x *UI_GetPipelineRunRequest) Reset() { - *x = UI_GetPipelineRunRequest{} +func (x *Ref_Task) Reset() { + *x = Ref_Task{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[268] + mi := &file_pkg_server_proto_server_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetPipelineRunRequest) String() string { +func (x *Ref_Task) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetPipelineRunRequest) ProtoMessage() {} +func (*Ref_Task) ProtoMessage() {} -func (x *UI_GetPipelineRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[268] +func (x *Ref_Task) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20664,53 +20232,80 @@ func (x *UI_GetPipelineRunRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetPipelineRunRequest.ProtoReflect.Descriptor instead. -func (*UI_GetPipelineRunRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 9} +// Deprecated: Use Ref_Task.ProtoReflect.Descriptor instead. +func (*Ref_Task) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 21} } -func (x *UI_GetPipelineRunRequest) GetPipeline() *Ref_Pipeline { - if x != nil { - return x.Pipeline +func (m *Ref_Task) GetRef() isRef_Task_Ref { + if m != nil { + return m.Ref } return nil } -func (x *UI_GetPipelineRunRequest) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (x *Ref_Task) GetId() string { + if x, ok := x.GetRef().(*Ref_Task_Id); ok { + return x.Id } - return 0 + return "" +} + +func (x *Ref_Task) GetJobId() string { + if x, ok := x.GetRef().(*Ref_Task_JobId); ok { + return x.JobId + } + return "" +} + +type isRef_Task_Ref interface { + isRef_Task_Ref() +} + +type Ref_Task_Id struct { + // the id of the tracktask record + Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` +} + +type Ref_Task_JobId struct { + // The main "run" job ID that the task initiated + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3,oneof"` } -type UI_GetPipelineRunResponse struct { +func (*Ref_Task_Id) isRef_Task_Ref() {} + +func (*Ref_Task_JobId) isRef_Task_Ref() {} + +// Pipeline references a pipeline using one or more lookup types. +type Ref_Pipeline struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // deprecated in favor of pipeline_run_bundle. - PipelineRun *PipelineRun `protobuf:"bytes,1,opt,name=pipeline_run,json=pipelineRun,proto3" json:"pipeline_run,omitempty"` - RootTreeNode *UI_PipelineRunTreeNode `protobuf:"bytes,2,opt,name=root_tree_node,json=rootTreeNode,proto3" json:"root_tree_node,omitempty"` - PipelineRunBundle *UI_PipelineRunBundle `protobuf:"bytes,3,opt,name=pipeline_run_bundle,json=pipelineRunBundle,proto3" json:"pipeline_run_bundle,omitempty"` + // Types that are assignable to Ref: + // + // *Ref_Pipeline_Id + // *Ref_Pipeline_Owner + Ref isRef_Pipeline_Ref `protobuf_oneof:"ref"` } -func (x *UI_GetPipelineRunResponse) Reset() { - *x = UI_GetPipelineRunResponse{} +func (x *Ref_Pipeline) Reset() { + *x = Ref_Pipeline{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[269] + mi := &file_pkg_server_proto_server_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetPipelineRunResponse) String() string { +func (x *Ref_Pipeline) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetPipelineRunResponse) ProtoMessage() {} +func (*Ref_Pipeline) ProtoMessage() {} -func (x *UI_GetPipelineRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[269] +func (x *Ref_Pipeline) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20721,58 +20316,80 @@ func (x *UI_GetPipelineRunResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetPipelineRunResponse.ProtoReflect.Descriptor instead. -func (*UI_GetPipelineRunResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 10} +// Deprecated: Use Ref_Pipeline.ProtoReflect.Descriptor instead. +func (*Ref_Pipeline) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 22} } -func (x *UI_GetPipelineRunResponse) GetPipelineRun() *PipelineRun { - if x != nil { - return x.PipelineRun +func (m *Ref_Pipeline) GetRef() isRef_Pipeline_Ref { + if m != nil { + return m.Ref } return nil } -func (x *UI_GetPipelineRunResponse) GetRootTreeNode() *UI_PipelineRunTreeNode { - if x != nil { - return x.RootTreeNode +func (x *Ref_Pipeline) GetId() string { + if x, ok := x.GetRef().(*Ref_Pipeline_Id); ok { + return x.Id } - return nil + return "" } -func (x *UI_GetPipelineRunResponse) GetPipelineRunBundle() *UI_PipelineRunBundle { - if x != nil { - return x.PipelineRunBundle +func (x *Ref_Pipeline) GetOwner() *Ref_PipelineOwner { + if x, ok := x.GetRef().(*Ref_Pipeline_Owner); ok { + return x.Owner } return nil } -type UI_PipelineBundle struct { +type isRef_Pipeline_Ref interface { + isRef_Pipeline_Ref() +} + +type Ref_Pipeline_Id struct { + // Reference a single pipeline by ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` +} + +type Ref_Pipeline_Owner struct { + // Reference an existing pipeline by Project name and Pipeline name + // Format: "project-name/pipeline-name" + // This assumes that a project cannot have two pipelines with the same name. + Owner *Ref_PipelineOwner `protobuf:"bytes,2,opt,name=owner,proto3,oneof"` +} + +func (*Ref_Pipeline_Id) isRef_Pipeline_Ref() {} + +func (*Ref_Pipeline_Owner) isRef_Pipeline_Ref() {} + +type Ref_PipelineOwner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pipeline *Pipeline `protobuf:"bytes,1,opt,name=pipeline,proto3" json:"pipeline,omitempty"` - LastRun *UI_PipelineRunBundle `protobuf:"bytes,2,opt,name=last_run,json=lastRun,proto3" json:"last_run,omitempty"` + // the project this pipeline is associated with + Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // the name of the defined pipeline config + PipelineName string `protobuf:"bytes,2,opt,name=pipeline_name,json=pipelineName,proto3" json:"pipeline_name,omitempty"` } -func (x *UI_PipelineBundle) Reset() { - *x = UI_PipelineBundle{} +func (x *Ref_PipelineOwner) Reset() { + *x = Ref_PipelineOwner{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[270] + mi := &file_pkg_server_proto_server_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_PipelineBundle) String() string { +func (x *Ref_PipelineOwner) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_PipelineBundle) ProtoMessage() {} +func (*Ref_PipelineOwner) ProtoMessage() {} -func (x *UI_PipelineBundle) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[270] +func (x *Ref_PipelineOwner) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20783,53 +20400,57 @@ func (x *UI_PipelineBundle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_PipelineBundle.ProtoReflect.Descriptor instead. -func (*UI_PipelineBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 11} +// Deprecated: Use Ref_PipelineOwner.ProtoReflect.Descriptor instead. +func (*Ref_PipelineOwner) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 23} } -func (x *UI_PipelineBundle) GetPipeline() *Pipeline { +func (x *Ref_PipelineOwner) GetProject() *Ref_Project { if x != nil { - return x.Pipeline + return x.Project } return nil } -func (x *UI_PipelineBundle) GetLastRun() *UI_PipelineRunBundle { +func (x *Ref_PipelineOwner) GetPipelineName() string { if x != nil { - return x.LastRun + return x.PipelineName } - return nil + return "" } -type UI_PipelineRunBundle struct { +type Ref_PipelineStep struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PipelineRun *PipelineRun `protobuf:"bytes,1,opt,name=pipeline_run,json=pipelineRun,proto3" json:"pipeline_run,omitempty"` - QueueTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=queue_time,json=queueTime,proto3" json:"queue_time,omitempty"` - Application *Ref_Application `protobuf:"bytes,3,opt,name=application,proto3" json:"application,omitempty"` - DataSourceRef *Job_DataSource_Ref `protobuf:"bytes,4,opt,name=data_source_ref,json=dataSourceRef,proto3" json:"data_source_ref,omitempty"` + // ID of the pipeline + PipelineId string `protobuf:"bytes,1,opt,name=pipeline_id,json=pipelineId,proto3" json:"pipeline_id,omitempty"` + // Name of the pipeline + PipelineName string `protobuf:"bytes,2,opt,name=pipeline_name,json=pipelineName,proto3" json:"pipeline_name,omitempty"` + // Step name within the pipeline. + Step string `protobuf:"bytes,3,opt,name=step,proto3" json:"step,omitempty"` + // Pipeline run sequence + RunSequence uint64 `protobuf:"varint,4,opt,name=run_sequence,json=runSequence,proto3" json:"run_sequence,omitempty"` } -func (x *UI_PipelineRunBundle) Reset() { - *x = UI_PipelineRunBundle{} +func (x *Ref_PipelineStep) Reset() { + *x = Ref_PipelineStep{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[271] + mi := &file_pkg_server_proto_server_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_PipelineRunBundle) String() string { +func (x *Ref_PipelineStep) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_PipelineRunBundle) ProtoMessage() {} +func (*Ref_PipelineStep) ProtoMessage() {} -func (x *UI_PipelineRunBundle) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[271] +func (x *Ref_PipelineStep) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20840,75 +20461,67 @@ func (x *UI_PipelineRunBundle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_PipelineRunBundle.ProtoReflect.Descriptor instead. -func (*UI_PipelineRunBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 12} +// Deprecated: Use Ref_PipelineStep.ProtoReflect.Descriptor instead. +func (*Ref_PipelineStep) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 24} } -func (x *UI_PipelineRunBundle) GetPipelineRun() *PipelineRun { +func (x *Ref_PipelineStep) GetPipelineId() string { if x != nil { - return x.PipelineRun + return x.PipelineId } - return nil + return "" } -func (x *UI_PipelineRunBundle) GetQueueTime() *timestamppb.Timestamp { +func (x *Ref_PipelineStep) GetPipelineName() string { if x != nil { - return x.QueueTime + return x.PipelineName } - return nil + return "" } -func (x *UI_PipelineRunBundle) GetApplication() *Ref_Application { +func (x *Ref_PipelineStep) GetStep() string { if x != nil { - return x.Application + return x.Step } - return nil + return "" } -func (x *UI_PipelineRunBundle) GetDataSourceRef() *Job_DataSource_Ref { +func (x *Ref_PipelineStep) GetRunSequence() uint64 { if x != nil { - return x.DataSourceRef + return x.RunSequence } - return nil + return 0 } -type UI_PipelineRunTreeNode struct { +type StatusFilter_Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // If step is absent then the node is “virtual” — it represents a set of - // concurrent steps/jobs. - Step *Pipeline_Step `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"` - State UI_PipelineRunTreeNode_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.waypoint.UI_PipelineRunTreeNode_State" json:"state,omitempty"` - StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - CompleteTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` - Application *Ref_Application `protobuf:"bytes,5,opt,name=application,proto3" json:"application,omitempty"` - Workspace *Ref_Workspace `protobuf:"bytes,6,opt,name=workspace,proto3" json:"workspace,omitempty"` - Job *Ref_Job `protobuf:"bytes,7,opt,name=job,proto3" json:"job,omitempty"` - Result *Job_Result `protobuf:"bytes,8,opt,name=result,proto3" json:"result,omitempty"` - LatestStatusReport *StatusReport `protobuf:"bytes,11,opt,name=latest_status_report,json=latestStatusReport,proto3" json:"latest_status_report,omitempty"` - Children *UI_PipelineRunTreeNode_Children `protobuf:"bytes,12,opt,name=children,proto3" json:"children,omitempty"` + // Types that are assignable to Filter: + // + // *StatusFilter_Filter_State + Filter isStatusFilter_Filter_Filter `protobuf_oneof:"filter"` } -func (x *UI_PipelineRunTreeNode) Reset() { - *x = UI_PipelineRunTreeNode{} +func (x *StatusFilter_Filter) Reset() { + *x = StatusFilter_Filter{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[272] + mi := &file_pkg_server_proto_server_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_PipelineRunTreeNode) String() string { +func (x *StatusFilter_Filter) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_PipelineRunTreeNode) ProtoMessage() {} +func (*StatusFilter_Filter) ProtoMessage() {} -func (x *UI_PipelineRunTreeNode) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[272] +func (x *StatusFilter_Filter) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20919,117 +20532,92 @@ func (x *UI_PipelineRunTreeNode) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_PipelineRunTreeNode.ProtoReflect.Descriptor instead. -func (*UI_PipelineRunTreeNode) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 13} +// Deprecated: Use StatusFilter_Filter.ProtoReflect.Descriptor instead. +func (*StatusFilter_Filter) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{12, 0} } -func (x *UI_PipelineRunTreeNode) GetStep() *Pipeline_Step { - if x != nil { - return x.Step +func (m *StatusFilter_Filter) GetFilter() isStatusFilter_Filter_Filter { + if m != nil { + return m.Filter } return nil } -func (x *UI_PipelineRunTreeNode) GetState() UI_PipelineRunTreeNode_State { - if x != nil { +func (x *StatusFilter_Filter) GetState() Status_State { + if x, ok := x.GetFilter().(*StatusFilter_Filter_State); ok { return x.State } - return UI_PipelineRunTreeNode_UNKNOWN -} - -func (x *UI_PipelineRunTreeNode) GetStartTime() *timestamppb.Timestamp { - if x != nil { - return x.StartTime - } - return nil -} - -func (x *UI_PipelineRunTreeNode) GetCompleteTime() *timestamppb.Timestamp { - if x != nil { - return x.CompleteTime - } - return nil -} - -func (x *UI_PipelineRunTreeNode) GetApplication() *Ref_Application { - if x != nil { - return x.Application - } - return nil -} - -func (x *UI_PipelineRunTreeNode) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -func (x *UI_PipelineRunTreeNode) GetJob() *Ref_Job { - if x != nil { - return x.Job - } - return nil + return Status_UNKNOWN } -func (x *UI_PipelineRunTreeNode) GetResult() *Job_Result { - if x != nil { - return x.Result - } - return nil +type isStatusFilter_Filter_Filter interface { + isStatusFilter_Filter_Filter() } -func (x *UI_PipelineRunTreeNode) GetLatestStatusReport() *StatusReport { - if x != nil { - return x.LatestStatusReport - } - return nil +type StatusFilter_Filter_State struct { + // state will match any status that has the given state. + State Status_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.waypoint.Status_State,oneof"` } -func (x *UI_PipelineRunTreeNode) GetChildren() *UI_PipelineRunTreeNode_Children { - if x != nil { - return x.Children - } - return nil -} +func (*StatusFilter_Filter_State) isStatusFilter_Filter_Filter() {} -type UI_ListDeploymentsRequest struct { +type AuthMethod_OIDC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Application that the deployments belong to. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // Workspace that the deployments belong to. - // If undefined, deployments from all workspaces will be listed. - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` - Order *OperationOrder `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"` - // The filters to apply to this request. These are ORed, so you should - // specify multiple filters in the StatusFilter for AND behavior. - Status []*StatusFilter `protobuf:"bytes,4,rep,name=status,proto3" json:"status,omitempty"` - // The physical state to filter for. If this is zero or unset then no - // filtering on physical state will be done. - PhysicalState Operation_PhysicalState `protobuf:"varint,5,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.waypoint.Operation_PhysicalState" json:"physical_state,omitempty"` + // client ID and secret provided by OIDC provider. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // scopes is a list of scopes to request from the provider + Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + // List of valid audience values to accept login. This can be + // used to restrict only certain folks in a shared OIDC domain. + Auds []string `protobuf:"bytes,4,rep,name=auds,proto3" json:"auds,omitempty"` + // List of allowed redirect URIs, since our redirect URIs + // are somewhat dynamic (UI for web UI, localhost server for + // CLI, etc.). This protects against attack since this is not + // generally recommended. + AllowedRedirectUris []string `protobuf:"bytes,5,rep,name=allowed_redirect_uris,json=allowedRedirectUris,proto3" json:"allowed_redirect_uris,omitempty"` + // The signing algorithms supported by the OIDC connect server. + // If this isn't specified, this will default to RS256 since that + // should be supported according to the RFC. The string values here + // should be valid OIDC signing algorithms. + SigningAlgs []string `protobuf:"bytes,11,rep,name=signing_algs,json=signingAlgs,proto3" json:"signing_algs,omitempty"` + // Discovery URL endpoint to get other information. + // Required by OIDC. + DiscoveryUrl string `protobuf:"bytes,6,opt,name=discovery_url,json=discoveryUrl,proto3" json:"discovery_url,omitempty"` + // Optional CA certificate chain to validate the discovery URL. + // Multiple CA certificates can be specified to support easier + // rotation. + DiscoveryCaPem []string `protobuf:"bytes,7,rep,name=discovery_ca_pem,json=discoveryCaPem,proto3" json:"discovery_ca_pem,omitempty"` + // Mapping claims to keys for usage in selectors such as the + // "access_selector" on the root auth method. + // + // claim mappings are available as "value." and list + // mappings are available as "list.". + ClaimMappings map[string]string `protobuf:"bytes,8,rep,name=claim_mappings,json=claimMappings,proto3" json:"claim_mappings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ListClaimMappings map[string]string `protobuf:"bytes,9,rep,name=list_claim_mappings,json=listClaimMappings,proto3" json:"list_claim_mappings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *UI_ListDeploymentsRequest) Reset() { - *x = UI_ListDeploymentsRequest{} +func (x *AuthMethod_OIDC) Reset() { + *x = AuthMethod_OIDC{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[273] + mi := &file_pkg_server_proto_server_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListDeploymentsRequest) String() string { +func (x *AuthMethod_OIDC) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListDeploymentsRequest) ProtoMessage() {} +func (*AuthMethod_OIDC) ProtoMessage() {} -func (x *UI_ListDeploymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[273] +func (x *AuthMethod_OIDC) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[271] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21040,122 +20628,113 @@ func (x *UI_ListDeploymentsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListDeploymentsRequest.ProtoReflect.Descriptor instead. -func (*UI_ListDeploymentsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 14} +// Deprecated: Use AuthMethod_OIDC.ProtoReflect.Descriptor instead. +func (*AuthMethod_OIDC) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{35, 0} } -func (x *UI_ListDeploymentsRequest) GetApplication() *Ref_Application { +func (x *AuthMethod_OIDC) GetClientId() string { if x != nil { - return x.Application + return x.ClientId } - return nil + return "" } -func (x *UI_ListDeploymentsRequest) GetWorkspace() *Ref_Workspace { +func (x *AuthMethod_OIDC) GetClientSecret() string { if x != nil { - return x.Workspace + return x.ClientSecret } - return nil + return "" } -func (x *UI_ListDeploymentsRequest) GetOrder() *OperationOrder { +func (x *AuthMethod_OIDC) GetScopes() []string { if x != nil { - return x.Order + return x.Scopes } return nil } -func (x *UI_ListDeploymentsRequest) GetStatus() []*StatusFilter { +func (x *AuthMethod_OIDC) GetAuds() []string { if x != nil { - return x.Status + return x.Auds } return nil } -func (x *UI_ListDeploymentsRequest) GetPhysicalState() Operation_PhysicalState { +func (x *AuthMethod_OIDC) GetAllowedRedirectUris() []string { if x != nil { - return x.PhysicalState + return x.AllowedRedirectUris } - return Operation_UNKNOWN -} - -type UI_ListDeploymentsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of deployments with related messages prefetched. - Deployments []*UI_DeploymentBundle `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` + return nil } -func (x *UI_ListDeploymentsResponse) Reset() { - *x = UI_ListDeploymentsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[274] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *AuthMethod_OIDC) GetSigningAlgs() []string { + if x != nil { + return x.SigningAlgs } + return nil } -func (x *UI_ListDeploymentsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *AuthMethod_OIDC) GetDiscoveryUrl() string { + if x != nil { + return x.DiscoveryUrl + } + return "" } -func (*UI_ListDeploymentsResponse) ProtoMessage() {} - -func (x *UI_ListDeploymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[274] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *AuthMethod_OIDC) GetDiscoveryCaPem() []string { + if x != nil { + return x.DiscoveryCaPem } - return mi.MessageOf(x) + return nil } -// Deprecated: Use UI_ListDeploymentsResponse.ProtoReflect.Descriptor instead. -func (*UI_ListDeploymentsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 15} +func (x *AuthMethod_OIDC) GetClaimMappings() map[string]string { + if x != nil { + return x.ClaimMappings + } + return nil } -func (x *UI_ListDeploymentsResponse) GetDeployments() []*UI_DeploymentBundle { +func (x *AuthMethod_OIDC) GetListClaimMappings() map[string]string { if x != nil { - return x.Deployments + return x.ListClaimMappings } return nil } -type UI_GetDeploymentRequest struct { +type Job_TaskOverride struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ref *Ref_Operation `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` - // Indicate if the fetched deployments should include additional information - // about each deployment. - LoadDetails Deployment_LoadDetails `protobuf:"varint,2,opt,name=load_details,json=loadDetails,proto3,enum=hashicorp.waypoint.Deployment_LoadDetails" json:"load_details,omitempty"` + // Launch info for the task. The environment variables will be merged + // with the defaults. If no OCI URL is specified, the ODR profile + // settings are used. + LaunchInfo *TaskLaunchInfo `protobuf:"bytes,1,opt,name=launch_info,json=launchInfo,proto3" json:"launch_info,omitempty"` + // If true, the operation will not be queued. This only works with + // Noop operations out of safety. This is primarliy for tasks that + // are NOT runners. + SkipOperation bool `protobuf:"varint,2,opt,name=skip_operation,json=skipOperation,proto3" json:"skip_operation,omitempty"` } -func (x *UI_GetDeploymentRequest) Reset() { - *x = UI_GetDeploymentRequest{} +func (x *Job_TaskOverride) Reset() { + *x = Job_TaskOverride{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[275] + mi := &file_pkg_server_proto_server_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetDeploymentRequest) String() string { +func (x *Job_TaskOverride) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetDeploymentRequest) ProtoMessage() {} +func (*Job_TaskOverride) ProtoMessage() {} -func (x *UI_GetDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[275] +func (x *Job_TaskOverride) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[274] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21166,51 +20745,67 @@ func (x *UI_GetDeploymentRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetDeploymentRequest.ProtoReflect.Descriptor instead. -func (*UI_GetDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 16} +// Deprecated: Use Job_TaskOverride.ProtoReflect.Descriptor instead. +func (*Job_TaskOverride) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 0} } -func (x *UI_GetDeploymentRequest) GetRef() *Ref_Operation { +func (x *Job_TaskOverride) GetLaunchInfo() *TaskLaunchInfo { if x != nil { - return x.Ref + return x.LaunchInfo } return nil } -func (x *UI_GetDeploymentRequest) GetLoadDetails() Deployment_LoadDetails { +func (x *Job_TaskOverride) GetSkipOperation() bool { if x != nil { - return x.LoadDetails + return x.SkipOperation } - return Deployment_NONE + return false } -type UI_GetDeploymentResponse struct { +type Job_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The deployment with related messages prefetched. - Deployment *UI_DeploymentBundle `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + Build *Job_BuildResult `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` + Push *Job_PushResult `protobuf:"bytes,2,opt,name=push,proto3" json:"push,omitempty"` + Deploy *Job_DeployResult `protobuf:"bytes,3,opt,name=deploy,proto3" json:"deploy,omitempty"` + Release *Job_ReleaseResult `protobuf:"bytes,4,opt,name=release,proto3" json:"release,omitempty"` + Validate *Job_ValidateResult `protobuf:"bytes,5,opt,name=validate,proto3" json:"validate,omitempty"` + Auth *Job_AuthResult `protobuf:"bytes,6,opt,name=auth,proto3" json:"auth,omitempty"` + Docs *Job_DocsResult `protobuf:"bytes,7,opt,name=docs,proto3" json:"docs,omitempty"` + ConfigSync *Job_ConfigSyncResult `protobuf:"bytes,8,opt,name=config_sync,json=configSync,proto3" json:"config_sync,omitempty"` + Up *Job_UpResult `protobuf:"bytes,9,opt,name=up,proto3" json:"up,omitempty"` + QueueProject *Job_QueueProjectResult `protobuf:"bytes,10,opt,name=queue_project,json=queueProject,proto3" json:"queue_project,omitempty"` + Poll *Job_PollResult `protobuf:"bytes,11,opt,name=poll,proto3" json:"poll,omitempty"` + StatusReport *Job_StatusReportResult `protobuf:"bytes,12,opt,name=status_report,json=statusReport,proto3" json:"status_report,omitempty"` + StartTask *Job_StartTaskResult `protobuf:"bytes,13,opt,name=start_task,json=startTask,proto3" json:"start_task,omitempty"` + Init *Job_InitResult `protobuf:"bytes,14,opt,name=init,proto3" json:"init,omitempty"` + WatchTask *Job_WatchTaskResult `protobuf:"bytes,15,opt,name=watch_task,json=watchTask,proto3" json:"watch_task,omitempty"` + PipelineStep *Job_PipelineStepResult `protobuf:"bytes,16,opt,name=pipeline_step,json=pipelineStep,proto3" json:"pipeline_step,omitempty"` + PipelineConfigSync *Job_PipelineConfigSyncResult `protobuf:"bytes,17,opt,name=pipeline_config_sync,json=pipelineConfigSync,proto3" json:"pipeline_config_sync,omitempty"` + ProjectDestroy *Job_ProjectDestroyResult `protobuf:"bytes,18,opt,name=project_destroy,json=projectDestroy,proto3" json:"project_destroy,omitempty"` } -func (x *UI_GetDeploymentResponse) Reset() { - *x = UI_GetDeploymentResponse{} +func (x *Job_Result) Reset() { + *x = Job_Result{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[276] + mi := &file_pkg_server_proto_server_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_GetDeploymentResponse) String() string { +func (x *Job_Result) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_GetDeploymentResponse) ProtoMessage() {} +func (*Job_Result) ProtoMessage() {} -func (x *UI_GetDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[276] +func (x *Job_Result) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[278] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21221,221 +20816,148 @@ func (x *UI_GetDeploymentResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_GetDeploymentResponse.ProtoReflect.Descriptor instead. -func (*UI_GetDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 17} +// Deprecated: Use Job_Result.ProtoReflect.Descriptor instead. +func (*Job_Result) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 4} } -func (x *UI_GetDeploymentResponse) GetDeployment() *UI_DeploymentBundle { +func (x *Job_Result) GetBuild() *Job_BuildResult { if x != nil { - return x.Deployment + return x.Build } return nil } -// A deployment packaged alongside prefetched related messages. -type UI_DeploymentBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The deployment in question. - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - // Populated when a Deployment is read with LoadDetails set - // to ARTIFACT or BUILD - Artifact *PushedArtifact `protobuf:"bytes,3,opt,name=artifact,proto3" json:"artifact,omitempty"` - // Populated when a Deployment is read with LoadDetails set to BUILD - Build *Build `protobuf:"bytes,4,opt,name=build,proto3" json:"build,omitempty"` - // The deployment-specific URL from the URL service. This is set on - // all deployment API calls. This will be empty if the URL service - // is not enabled or there was an error loading this information. - DeployUrl string `protobuf:"bytes,5,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` - // The ref that was used in the job to run this operation. This is - // also accessible by querying the job via the job_id and should always - // match. - // - // This may be null under multiple circumstances: (1) the job was - // manually triggered with local data (no datasource) or (2) the job - // was run in earlier versions of Waypoint before we tracked this or - // (3) the job hasn't yet loaded the data. - // - // This is always pre-populated if it is exists. - JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,6,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` - // The most recent status report generated for this deployment. - LatestStatusReport *StatusReport `protobuf:"bytes,2,opt,name=latest_status_report,json=latestStatusReport,proto3" json:"latest_status_report,omitempty"` -} - -func (x *UI_DeploymentBundle) Reset() { - *x = UI_DeploymentBundle{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[277] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Job_Result) GetPush() *Job_PushResult { + if x != nil { + return x.Push } + return nil } -func (x *UI_DeploymentBundle) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UI_DeploymentBundle) ProtoMessage() {} - -func (x *UI_DeploymentBundle) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[277] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Job_Result) GetDeploy() *Job_DeployResult { + if x != nil { + return x.Deploy } - return mi.MessageOf(x) -} - -// Deprecated: Use UI_DeploymentBundle.ProtoReflect.Descriptor instead. -func (*UI_DeploymentBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 18} + return nil } -func (x *UI_DeploymentBundle) GetDeployment() *Deployment { +func (x *Job_Result) GetRelease() *Job_ReleaseResult { if x != nil { - return x.Deployment + return x.Release } return nil } -func (x *UI_DeploymentBundle) GetArtifact() *PushedArtifact { +func (x *Job_Result) GetValidate() *Job_ValidateResult { if x != nil { - return x.Artifact + return x.Validate } return nil } -func (x *UI_DeploymentBundle) GetBuild() *Build { +func (x *Job_Result) GetAuth() *Job_AuthResult { if x != nil { - return x.Build + return x.Auth } return nil } -func (x *UI_DeploymentBundle) GetDeployUrl() string { +func (x *Job_Result) GetDocs() *Job_DocsResult { if x != nil { - return x.DeployUrl + return x.Docs } - return "" + return nil } -func (x *UI_DeploymentBundle) GetJobDataSourceRef() *Job_DataSource_Ref { +func (x *Job_Result) GetConfigSync() *Job_ConfigSyncResult { if x != nil { - return x.JobDataSourceRef + return x.ConfigSync } return nil } -func (x *UI_DeploymentBundle) GetLatestStatusReport() *StatusReport { +func (x *Job_Result) GetUp() *Job_UpResult { if x != nil { - return x.LatestStatusReport + return x.Up } return nil } -type UI_ListReleasesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Application that the releases belong to. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // Workspace that the releases belong to. - // If undefined, releases from all workspaces will be listed. - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` - Order *OperationOrder `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"` - // The filters to apply to this request. These are ORed, so you should - // specify multiple filters in the StatusFilter for AND behavior. - Status []*StatusFilter `protobuf:"bytes,4,rep,name=status,proto3" json:"status,omitempty"` - // The physical state to filter for. If this is zero or unset then no - // filtering on physical state will be done. - PhysicalState Operation_PhysicalState `protobuf:"varint,5,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.waypoint.Operation_PhysicalState" json:"physical_state,omitempty"` -} - -func (x *UI_ListReleasesRequest) Reset() { - *x = UI_ListReleasesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[278] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Job_Result) GetQueueProject() *Job_QueueProjectResult { + if x != nil { + return x.QueueProject } + return nil } -func (x *UI_ListReleasesRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Job_Result) GetPoll() *Job_PollResult { + if x != nil { + return x.Poll + } + return nil } -func (*UI_ListReleasesRequest) ProtoMessage() {} - -func (x *UI_ListReleasesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[278] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Job_Result) GetStatusReport() *Job_StatusReportResult { + if x != nil { + return x.StatusReport } - return mi.MessageOf(x) + return nil } -// Deprecated: Use UI_ListReleasesRequest.ProtoReflect.Descriptor instead. -func (*UI_ListReleasesRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 19} +func (x *Job_Result) GetStartTask() *Job_StartTaskResult { + if x != nil { + return x.StartTask + } + return nil } -func (x *UI_ListReleasesRequest) GetApplication() *Ref_Application { +func (x *Job_Result) GetInit() *Job_InitResult { if x != nil { - return x.Application + return x.Init } return nil } -func (x *UI_ListReleasesRequest) GetWorkspace() *Ref_Workspace { +func (x *Job_Result) GetWatchTask() *Job_WatchTaskResult { if x != nil { - return x.Workspace + return x.WatchTask } return nil } -func (x *UI_ListReleasesRequest) GetOrder() *OperationOrder { +func (x *Job_Result) GetPipelineStep() *Job_PipelineStepResult { if x != nil { - return x.Order + return x.PipelineStep } return nil } -func (x *UI_ListReleasesRequest) GetStatus() []*StatusFilter { +func (x *Job_Result) GetPipelineConfigSync() *Job_PipelineConfigSyncResult { if x != nil { - return x.Status + return x.PipelineConfigSync } return nil } -func (x *UI_ListReleasesRequest) GetPhysicalState() Operation_PhysicalState { +func (x *Job_Result) GetProjectDestroy() *Job_ProjectDestroyResult { if x != nil { - return x.PhysicalState + return x.ProjectDestroy } - return Operation_UNKNOWN + return nil } -type UI_ListReleasesResponse struct { +type Job_Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The list of releases with related messages prefetched. - Releases []*UI_ReleaseBundle `protobuf:"bytes,1,rep,name=releases,proto3" json:"releases,omitempty"` + // Source is the location where the configuration was loaded from. + Source Job_Config_Source `protobuf:"varint,1,opt,name=source,proto3,enum=hashicorp.waypoint.Job_Config_Source" json:"source,omitempty"` } -func (x *UI_ListReleasesResponse) Reset() { - *x = UI_ListReleasesResponse{} +func (x *Job_Config) Reset() { + *x = Job_Config{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21443,13 +20965,13 @@ func (x *UI_ListReleasesResponse) Reset() { } } -func (x *UI_ListReleasesResponse) String() string { +func (x *Job_Config) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListReleasesResponse) ProtoMessage() {} +func (*Job_Config) ProtoMessage() {} -func (x *UI_ListReleasesResponse) ProtoReflect() protoreflect.Message { +func (x *Job_Config) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[279] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21461,32 +20983,33 @@ func (x *UI_ListReleasesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListReleasesResponse.ProtoReflect.Descriptor instead. -func (*UI_ListReleasesResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 20} +// Deprecated: Use Job_Config.ProtoReflect.Descriptor instead. +func (*Job_Config) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 5} } -func (x *UI_ListReleasesResponse) GetReleases() []*UI_ReleaseBundle { +func (x *Job_Config) GetSource() Job_Config_Source { if x != nil { - return x.Releases + return x.Source } - return nil + return Job_Config_UNKNOWN } -// A release packaged alongside prefetched related messages. -type UI_ReleaseBundle struct { +type Job_DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The release in question. - Release *Release `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` - // The most recent status report generated for this release. - LatestStatusReport *StatusReport `protobuf:"bytes,2,opt,name=latest_status_report,json=latestStatusReport,proto3" json:"latest_status_report,omitempty"` + // Types that are assignable to Source: + // + // *Job_DataSource_Local + // *Job_DataSource_Git + // *Job_DataSource_Remote + Source isJob_DataSource_Source `protobuf_oneof:"source"` } -func (x *UI_ReleaseBundle) Reset() { - *x = UI_ReleaseBundle{} +func (x *Job_DataSource) Reset() { + *x = Job_DataSource{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21494,13 +21017,13 @@ func (x *UI_ReleaseBundle) Reset() { } } -func (x *UI_ReleaseBundle) String() string { +func (x *Job_DataSource) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ReleaseBundle) ProtoMessage() {} +func (*Job_DataSource) ProtoMessage() {} -func (x *UI_ReleaseBundle) ProtoReflect() protoreflect.Message { +func (x *Job_DataSource) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[280] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21512,135 +21035,91 @@ func (x *UI_ReleaseBundle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ReleaseBundle.ProtoReflect.Descriptor instead. -func (*UI_ReleaseBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 21} +// Deprecated: Use Job_DataSource.ProtoReflect.Descriptor instead. +func (*Job_DataSource) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 6} } -func (x *UI_ReleaseBundle) GetRelease() *Release { - if x != nil { - return x.Release +func (m *Job_DataSource) GetSource() isJob_DataSource_Source { + if m != nil { + return m.Source } return nil } -func (x *UI_ReleaseBundle) GetLatestStatusReport() *StatusReport { - if x != nil { - return x.LatestStatusReport +func (x *Job_DataSource) GetLocal() *Job_Local { + if x, ok := x.GetSource().(*Job_DataSource_Local); ok { + return x.Local } return nil } -type UI_ListEventsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Application that the events belong to. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // Workspace that the events belong to. - // If undefined, events from all workspaces will be listed. - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` - Pagination *PaginationRequest `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"` - Sorting *SortingRequest `protobuf:"bytes,4,opt,name=sorting,proto3" json:"sorting,omitempty"` - // Project that the events belong to - Project *Ref_Project `protobuf:"bytes,5,opt,name=project,proto3" json:"project,omitempty"` -} - -func (x *UI_ListEventsRequest) Reset() { - *x = UI_ListEventsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[281] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Job_DataSource) GetGit() *Job_Git { + if x, ok := x.GetSource().(*Job_DataSource_Git); ok { + return x.Git } + return nil } -func (x *UI_ListEventsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UI_ListEventsRequest) ProtoMessage() {} - -func (x *UI_ListEventsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[281] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Job_DataSource) GetRemote() *Job_Remote { + if x, ok := x.GetSource().(*Job_DataSource_Remote); ok { + return x.Remote } - return mi.MessageOf(x) + return nil } -// Deprecated: Use UI_ListEventsRequest.ProtoReflect.Descriptor instead. -func (*UI_ListEventsRequest) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 22} +type isJob_DataSource_Source interface { + isJob_DataSource_Source() } -func (x *UI_ListEventsRequest) GetApplication() *Ref_Application { - if x != nil { - return x.Application - } - return nil +type Job_DataSource_Local struct { + // local means the runner has access to the data locally and will + // know what to do. This is primarily only useful if the target_runner + // is a specific runner and should not be used by any runner unless your + // runners are configured to have access to the proper data. + Local *Job_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } -func (x *UI_ListEventsRequest) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil +type Job_DataSource_Git struct { + // git will check out the data from a Git repository. + Git *Job_Git `protobuf:"bytes,2,opt,name=git,proto3,oneof"` } -func (x *UI_ListEventsRequest) GetPagination() *PaginationRequest { - if x != nil { - return x.Pagination - } - return nil +type Job_DataSource_Remote struct { + // remote means that the Waypoint server has special logic for how to + // fetch the data. + Remote *Job_Remote `protobuf:"bytes,3,opt,name=remote,proto3,oneof"` } -func (x *UI_ListEventsRequest) GetSorting() *SortingRequest { - if x != nil { - return x.Sorting - } - return nil -} +func (*Job_DataSource_Local) isJob_DataSource_Source() {} -func (x *UI_ListEventsRequest) GetProject() *Ref_Project { - if x != nil { - return x.Project - } - return nil -} +func (*Job_DataSource_Git) isJob_DataSource_Source() {} + +func (*Job_DataSource_Remote) isJob_DataSource_Source() {} -type UI_ListEventsResponse struct { +type Job_Local struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The list of events with related messages prefetched. - Events []*UI_EventBundle `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` - Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *UI_ListEventsResponse) Reset() { - *x = UI_ListEventsResponse{} +func (x *Job_Local) Reset() { + *x = Job_Local{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[282] + mi := &file_pkg_server_proto_server_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_ListEventsResponse) String() string { +func (x *Job_Local) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListEventsResponse) ProtoMessage() {} +func (*Job_Local) ProtoMessage() {} -func (x *UI_ListEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[282] +func (x *Job_Local) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[281] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21651,54 +21130,44 @@ func (x *UI_ListEventsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListEventsResponse.ProtoReflect.Descriptor instead. -func (*UI_ListEventsResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 23} -} - -func (x *UI_ListEventsResponse) GetEvents() []*UI_EventBundle { - if x != nil { - return x.Events - } - return nil -} - -func (x *UI_ListEventsResponse) GetPagination() *PaginationResponse { - if x != nil { - return x.Pagination - } - return nil +// Deprecated: Use Job_Local.ProtoReflect.Descriptor instead. +func (*Job_Local) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 7} } -// An event packaged alongside prefetched related messages. -type UI_EventBundle struct { +type Job_Remote struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - EventType UI_EventBundle_EventType `protobuf:"varint,2,opt,name=event_type,json=eventType,proto3,enum=hashicorp.waypoint.UI_EventBundle_EventType" json:"event_type,omitempty"` - EventData []byte `protobuf:"bytes,3,opt,name=event_data,json=eventData,proto3" json:"event_data,omitempty"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` // external ID for this event + // Description is information about how the Waypoint server + // acquires the data. + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + // If remote refers to a git repo, git_remote will be partially populate + // with information about which information within the git repo to use. + GitRemote *Job_Git `protobuf:"bytes,2,opt,name=git_remote,json=gitRemote,proto3" json:"git_remote,omitempty"` + // This corresponds with the implicit behavior associated with data source + // polling, whereby if the polling is successful, we perform an Up operation. + DeployOnChange bool `protobuf:"varint,3,opt,name=deploy_on_change,json=deployOnChange,proto3" json:"deploy_on_change,omitempty"` } -func (x *UI_EventBundle) Reset() { - *x = UI_EventBundle{} +func (x *Job_Remote) Reset() { + *x = Job_Remote{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[283] + mi := &file_pkg_server_proto_server_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_EventBundle) String() string { +func (x *Job_Remote) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_EventBundle) ProtoMessage() {} +func (*Job_Remote) ProtoMessage() {} -func (x *UI_EventBundle) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[283] +func (x *Job_Remote) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[282] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21709,70 +21178,87 @@ func (x *UI_EventBundle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_EventBundle.ProtoReflect.Descriptor instead. -func (*UI_EventBundle) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 24} -} - -func (x *UI_EventBundle) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp - } - return nil +// Deprecated: Use Job_Remote.ProtoReflect.Descriptor instead. +func (*Job_Remote) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 8} } -func (x *UI_EventBundle) GetEventType() UI_EventBundle_EventType { +func (x *Job_Remote) GetDescription() string { if x != nil { - return x.EventType + return x.Description } - return UI_EventBundle_BUILD + return "" } -func (x *UI_EventBundle) GetEventData() []byte { +func (x *Job_Remote) GetGitRemote() *Job_Git { if x != nil { - return x.EventData + return x.GitRemote } return nil } -func (x *UI_EventBundle) GetId() string { +func (x *Job_Remote) GetDeployOnChange() bool { if x != nil { - return x.Id + return x.DeployOnChange } - return "" + return false } -type UI_EventBuild struct { +type Job_Git struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BuildId string `protobuf:"bytes,1,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` - Component *Component `protobuf:"bytes,3,opt,name=component,proto3" json:"component,omitempty"` //aka platform - Workspace *Ref_Workspace `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` - Status *Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - // commit is the full commit hash - Commit string `protobuf:"bytes,6,opt,name=commit,proto3" json:"commit,omitempty"` + // url of the repository to clone. Local paths are not allowed. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // a ref to checkout. If this isn't specified, then the default + // ref that is cloned from the URL above will be used. + Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + // path is a subdirectory within the checked out repository to + // go into for the project's configuration. This must be a relative path + // and may not contain ".." + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // This setting only takes effect if both "path" is true AND the + // Git polling is enabled. Under those conditions, if this option + // is true, then only changes in Git commits within the "path" will + // trigger a deploy. Changes outside the "path" will be ignored. + IgnoreChangesOutsidePath bool `protobuf:"varint,10,opt,name=ignore_changes_outside_path,json=ignoreChangesOutsidePath,proto3" json:"ignore_changes_outside_path,omitempty"` + // The max depth for recursively cloning submodules. 0 disables submodule + // cloning. + RecurseSubmodules uint32 `protobuf:"varint,11,opt,name=recurse_submodules,json=recurseSubmodules,proto3" json:"recurse_submodules,omitempty"` + // auth is the auth mechanism to use for this data source. This is optional. + // If this isn't set, then the data source will attempt to clone + // without setting any explicit auth. This usually picks up machine + // settings like ssh config files and so on if they exist. + // + // Note that any auth settings set here are stored in the server and + // may NOT be encrypted. If you want increased security, we recommend + // using auth baked into the machine running Waypoint. + // + // Types that are assignable to Auth: + // + // *Job_Git_Basic_ + // *Job_Git_Ssh + Auth isJob_Git_Auth `protobuf_oneof:"auth"` } -func (x *UI_EventBuild) Reset() { - *x = UI_EventBuild{} +func (x *Job_Git) Reset() { + *x = Job_Git{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[284] + mi := &file_pkg_server_proto_server_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_EventBuild) String() string { +func (x *Job_Git) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_EventBuild) ProtoMessage() {} +func (*Job_Git) ProtoMessage() {} -func (x *UI_EventBuild) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[284] +func (x *Job_Git) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21783,83 +21269,110 @@ func (x *UI_EventBuild) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_EventBuild.ProtoReflect.Descriptor instead. -func (*UI_EventBuild) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 25} +// Deprecated: Use Job_Git.ProtoReflect.Descriptor instead. +func (*Job_Git) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9} } -func (x *UI_EventBuild) GetBuildId() string { +func (x *Job_Git) GetUrl() string { if x != nil { - return x.BuildId + return x.Url } return "" } -func (x *UI_EventBuild) GetSequence() uint64 { +func (x *Job_Git) GetRef() string { if x != nil { - return x.Sequence + return x.Ref } - return 0 + return "" } -func (x *UI_EventBuild) GetComponent() *Component { +func (x *Job_Git) GetPath() string { if x != nil { - return x.Component + return x.Path } - return nil + return "" } -func (x *UI_EventBuild) GetWorkspace() *Ref_Workspace { +func (x *Job_Git) GetIgnoreChangesOutsidePath() bool { if x != nil { - return x.Workspace + return x.IgnoreChangesOutsidePath } - return nil + return false } -func (x *UI_EventBuild) GetStatus() *Status { +func (x *Job_Git) GetRecurseSubmodules() uint32 { if x != nil { - return x.Status + return x.RecurseSubmodules + } + return 0 +} + +func (m *Job_Git) GetAuth() isJob_Git_Auth { + if m != nil { + return m.Auth } return nil } -func (x *UI_EventBuild) GetCommit() string { - if x != nil { - return x.Commit +func (x *Job_Git) GetBasic() *Job_Git_Basic { + if x, ok := x.GetAuth().(*Job_Git_Basic_); ok { + return x.Basic } - return "" + return nil +} + +func (x *Job_Git) GetSsh() *Job_Git_SSH { + if x, ok := x.GetAuth().(*Job_Git_Ssh); ok { + return x.Ssh + } + return nil +} + +type isJob_Git_Auth interface { + isJob_Git_Auth() +} + +type Job_Git_Basic_ struct { + Basic *Job_Git_Basic `protobuf:"bytes,4,opt,name=basic,proto3,oneof"` +} + +type Job_Git_Ssh struct { + Ssh *Job_Git_SSH `protobuf:"bytes,5,opt,name=ssh,proto3,oneof"` } -type UI_EventDeployment struct { +func (*Job_Git_Basic_) isJob_Git_Auth() {} + +func (*Job_Git_Ssh) isJob_Git_Auth() {} + +// Noop operations do nothing. This is primarily used for testing. +// This operation will still download the data from the data source. +// A noop may be useful outside of testing to verify a runner is +// executing properly or can access data properly. +type Job_Noop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` - Component *Component `protobuf:"bytes,3,opt,name=component,proto3" json:"component,omitempty"` //aka platform - Workspace *Ref_Workspace `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` - Status *Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - BuildSequence uint64 `protobuf:"varint,6,opt,name=build_sequence,json=buildSequence,proto3" json:"build_sequence,omitempty"` } -func (x *UI_EventDeployment) Reset() { - *x = UI_EventDeployment{} +func (x *Job_Noop) Reset() { + *x = Job_Noop{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[285] + mi := &file_pkg_server_proto_server_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UI_EventDeployment) String() string { +func (x *Job_Noop) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_EventDeployment) ProtoMessage() {} +func (*Job_Noop) ProtoMessage() {} -func (x *UI_EventDeployment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[285] +func (x *Job_Noop) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21870,68 +21383,96 @@ func (x *UI_EventDeployment) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_EventDeployment.ProtoReflect.Descriptor instead. -func (*UI_EventDeployment) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 26} +// Deprecated: Use Job_Noop.ProtoReflect.Descriptor instead. +func (*Job_Noop) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 10} } -func (x *UI_EventDeployment) GetDeploymentId() string { - if x != nil { - return x.DeploymentId - } - return "" +// UpOp runs the "waypoint up" logic: it does a build (with push), +// deploy, and release all in one. The results for each child operation +// will be set directly on the Release message (i.e. "build" will be +// populated in addition to "up"). +type Job_UpOp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Options for the release stage. The "deployment" field in this will + // be ignored since we'll always use the deployment from the deploy + // step in Up. + Release *Job_ReleaseOp `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` } -func (x *UI_EventDeployment) GetSequence() uint64 { - if x != nil { - return x.Sequence +func (x *Job_UpOp) Reset() { + *x = Job_UpOp{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[285] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *UI_EventDeployment) GetComponent() *Component { - if x != nil { - return x.Component - } - return nil +func (x *Job_UpOp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *UI_EventDeployment) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace +func (*Job_UpOp) ProtoMessage() {} + +func (x *Job_UpOp) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[285] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *UI_EventDeployment) GetStatus() *Status { - if x != nil { - return x.Status - } - return nil +// Deprecated: Use Job_UpOp.ProtoReflect.Descriptor instead. +func (*Job_UpOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 11} } -func (x *UI_EventDeployment) GetBuildSequence() uint64 { +func (x *Job_UpOp) GetRelease() *Job_ReleaseOp { if x != nil { - return x.BuildSequence + return x.Release } - return 0 + return nil } -type UI_EventRelease struct { +// UpResult is the result of an UpOp. Because "up" calls other operations, +// the Result message will set the build, deploy, push, and release results. +type Job_UpResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ReleaseId string `protobuf:"bytes,1,opt,name=release_id,json=releaseId,proto3" json:"release_id,omitempty"` - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` - Component *Component `protobuf:"bytes,3,opt,name=component,proto3" json:"component,omitempty"` //aka platform - Workspace *Ref_Workspace `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` - Status *Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - DeploymentSequence uint64 `protobuf:"varint,6,opt,name=deployment_sequence,json=deploymentSequence,proto3" json:"deployment_sequence,omitempty"` + // release_url is the equivalent of Release.Url. This is the URL that + // the release plugin generates directly from the platform. For example, + // on AWS this might be an ALB addr, on K8S this might be a load balancer + // addr, etc. + // + // This can be empty if the release plugin does not support getting a URL. + ReleaseUrl string `protobuf:"bytes,1,opt,name=release_url,json=releaseUrl,proto3" json:"release_url,omitempty"` + // app_url is the HashiCorp URL service URL for the entire application. + // Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple + // hostnames registered for the application, this always picks the first one. + // + // This can be blank if the URL service is disabled or errored. + AppUrl string `protobuf:"bytes,2,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // deploy_url is the HashiCorp URL service URL for this specific deploy. + // Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, + // if there are multiple registered hostnames for the application, this + // always picks the first one. + // + // This can be blank if the URL service is disabled or errored. + DeployUrl string `protobuf:"bytes,3,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` } -func (x *UI_EventRelease) Reset() { - *x = UI_EventRelease{} +func (x *Job_UpResult) Reset() { + *x = Job_UpResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21939,13 +21480,13 @@ func (x *UI_EventRelease) Reset() { } } -func (x *UI_EventRelease) String() string { +func (x *Job_UpResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_EventRelease) ProtoMessage() {} +func (*Job_UpResult) ProtoMessage() {} -func (x *UI_EventRelease) ProtoReflect() protoreflect.Message { +func (x *Job_UpResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[286] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21957,65 +21498,41 @@ func (x *UI_EventRelease) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_EventRelease.ProtoReflect.Descriptor instead. -func (*UI_EventRelease) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 27} +// Deprecated: Use Job_UpResult.ProtoReflect.Descriptor instead. +func (*Job_UpResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 12} } -func (x *UI_EventRelease) GetReleaseId() string { +func (x *Job_UpResult) GetReleaseUrl() string { if x != nil { - return x.ReleaseId + return x.ReleaseUrl } return "" } -func (x *UI_EventRelease) GetSequence() uint64 { - if x != nil { - return x.Sequence - } - return 0 -} - -func (x *UI_EventRelease) GetComponent() *Component { - if x != nil { - return x.Component - } - return nil -} - -func (x *UI_EventRelease) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -func (x *UI_EventRelease) GetStatus() *Status { +func (x *Job_UpResult) GetAppUrl() string { if x != nil { - return x.Status + return x.AppUrl } - return nil + return "" } -func (x *UI_EventRelease) GetDeploymentSequence() uint64 { +func (x *Job_UpResult) GetDeployUrl() string { if x != nil { - return x.DeploymentSequence + return x.DeployUrl } - return 0 + return "" } -type UI_EventAddOn struct { +// ValidateOp validates various aspects of a configuration. +type Job_ValidateOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AddOnId string `protobuf:"bytes,1,opt,name=add_on_id,json=addOnId,proto3" json:"add_on_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - AddOnOperation UI_EventAddOnOperation `protobuf:"varint,3,opt,name=add_on_operation,json=addOnOperation,proto3,enum=hashicorp.waypoint.UI_EventAddOnOperation" json:"add_on_operation,omitempty"` } -func (x *UI_EventAddOn) Reset() { - *x = UI_EventAddOn{} +func (x *Job_ValidateOp) Reset() { + *x = Job_ValidateOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22023,13 +21540,13 @@ func (x *UI_EventAddOn) Reset() { } } -func (x *UI_EventAddOn) String() string { +func (x *Job_ValidateOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_EventAddOn) ProtoMessage() {} +func (*Job_ValidateOp) ProtoMessage() {} -func (x *UI_EventAddOn) ProtoReflect() protoreflect.Message { +func (x *Job_ValidateOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[287] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22041,52 +21558,19 @@ func (x *UI_EventAddOn) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_EventAddOn.ProtoReflect.Descriptor instead. -func (*UI_EventAddOn) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 28} -} - -func (x *UI_EventAddOn) GetAddOnId() string { - if x != nil { - return x.AddOnId - } - return "" -} - -func (x *UI_EventAddOn) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UI_EventAddOn) GetAddOnOperation() UI_EventAddOnOperation { - if x != nil { - return x.AddOnOperation - } - return UI_EventAddOn_CREATED +// Deprecated: Use Job_ValidateOp.ProtoReflect.Descriptor instead. +func (*Job_ValidateOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 13} } -// NOTE(Cassie): This should be implemented once pipeline_runs are app scoped -// message EventPipelineRun { -// string pipelineRun_id = 1; -// uint64 sequence = 2; -// // Component component = 3; //aka platform -// // Ref.Workspace workspace = 4; -// } -type UI_ListEventSchemasResponse struct { +type Job_ValidateResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - EventBuildSchema *UI_EventBuild `protobuf:"bytes,1,opt,name=event_build_schema,json=eventBuildSchema,proto3" json:"event_build_schema,omitempty"` - EventDeploymentSchema *UI_EventDeployment `protobuf:"bytes,2,opt,name=event_deployment_schema,json=eventDeploymentSchema,proto3" json:"event_deployment_schema,omitempty"` - EventReleaseSchema *UI_EventRelease `protobuf:"bytes,3,opt,name=event_release_schema,json=eventReleaseSchema,proto3" json:"event_release_schema,omitempty"` - EventAddOnSchema *UI_EventAddOn `protobuf:"bytes,4,opt,name=event_add_on_schema,json=eventAddOnSchema,proto3" json:"event_add_on_schema,omitempty"` //UI.EventPipelineRun event_pipeline_run_schema = 4; } -func (x *UI_ListEventSchemasResponse) Reset() { - *x = UI_ListEventSchemasResponse{} +func (x *Job_ValidateResult) Reset() { + *x = Job_ValidateResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22094,13 +21578,13 @@ func (x *UI_ListEventSchemasResponse) Reset() { } } -func (x *UI_ListEventSchemasResponse) String() string { +func (x *Job_ValidateResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_ListEventSchemasResponse) ProtoMessage() {} +func (*Job_ValidateResult) ProtoMessage() {} -func (x *UI_ListEventSchemasResponse) ProtoReflect() protoreflect.Message { +func (x *Job_ValidateResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[288] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22112,50 +21596,28 @@ func (x *UI_ListEventSchemasResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_ListEventSchemasResponse.ProtoReflect.Descriptor instead. -func (*UI_ListEventSchemasResponse) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 29} -} - -func (x *UI_ListEventSchemasResponse) GetEventBuildSchema() *UI_EventBuild { - if x != nil { - return x.EventBuildSchema - } - return nil -} - -func (x *UI_ListEventSchemasResponse) GetEventDeploymentSchema() *UI_EventDeployment { - if x != nil { - return x.EventDeploymentSchema - } - return nil -} - -func (x *UI_ListEventSchemasResponse) GetEventReleaseSchema() *UI_EventRelease { - if x != nil { - return x.EventReleaseSchema - } - return nil -} - -func (x *UI_ListEventSchemasResponse) GetEventAddOnSchema() *UI_EventAddOn { - if x != nil { - return x.EventAddOnSchema - } - return nil +// Deprecated: Use Job_ValidateResult.ProtoReflect.Descriptor instead. +func (*Job_ValidateResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 14} } -type UI_PipelineRunTreeNode_Children struct { +// AuthOp is the configuration to authenticate any plugins. +type Job_AuthOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Mode UI_PipelineRunTreeNode_Children_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=hashicorp.waypoint.UI_PipelineRunTreeNode_Children_Mode" json:"mode,omitempty"` - Nodes []*UI_PipelineRunTreeNode `protobuf:"bytes,2,rep,name=nodes,proto3" json:"nodes,omitempty"` + // if true, auth will only be checked but not attempted. Currently + // this must ALWAYS be true. Only authentication checking is supported. + CheckOnly bool `protobuf:"varint,1,opt,name=check_only,json=checkOnly,proto3" json:"check_only,omitempty"` + // if set, only the component matching this reference will be authed. + // If this component doesn't exist, an error will be returned. If this is + // unset, all components wll be authed. + Component *Ref_Component `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` } -func (x *UI_PipelineRunTreeNode_Children) Reset() { - *x = UI_PipelineRunTreeNode_Children{} +func (x *Job_AuthOp) Reset() { + *x = Job_AuthOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22163,13 +21625,13 @@ func (x *UI_PipelineRunTreeNode_Children) Reset() { } } -func (x *UI_PipelineRunTreeNode_Children) String() string { +func (x *Job_AuthOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UI_PipelineRunTreeNode_Children) ProtoMessage() {} +func (*Job_AuthOp) ProtoMessage() {} -func (x *UI_PipelineRunTreeNode_Children) ProtoReflect() protoreflect.Message { +func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[289] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22181,36 +21643,36 @@ func (x *UI_PipelineRunTreeNode_Children) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UI_PipelineRunTreeNode_Children.ProtoReflect.Descriptor instead. -func (*UI_PipelineRunTreeNode_Children) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{0, 13, 0} +// Deprecated: Use Job_AuthOp.ProtoReflect.Descriptor instead. +func (*Job_AuthOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 15} } -func (x *UI_PipelineRunTreeNode_Children) GetMode() UI_PipelineRunTreeNode_Children_Mode { +func (x *Job_AuthOp) GetCheckOnly() bool { if x != nil { - return x.Mode + return x.CheckOnly } - return UI_PipelineRunTreeNode_Children_SERIAL + return false } -func (x *UI_PipelineRunTreeNode_Children) GetNodes() []*UI_PipelineRunTreeNode { +func (x *Job_AuthOp) GetComponent() *Ref_Component { if x != nil { - return x.Nodes + return x.Component } return nil } -type VersionInfo_ProtocolVersion struct { +type Job_AuthResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Current uint32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` - Minimum uint32 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"` + // results are the list of components that were checked + Results []*Job_AuthResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } -func (x *VersionInfo_ProtocolVersion) Reset() { - *x = VersionInfo_ProtocolVersion{} +func (x *Job_AuthResult) Reset() { + *x = Job_AuthResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22218,13 +21680,13 @@ func (x *VersionInfo_ProtocolVersion) Reset() { } } -func (x *VersionInfo_ProtocolVersion) String() string { +func (x *Job_AuthResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VersionInfo_ProtocolVersion) ProtoMessage() {} +func (*Job_AuthResult) ProtoMessage() {} -func (x *VersionInfo_ProtocolVersion) ProtoReflect() protoreflect.Message { +func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[290] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22236,36 +21698,29 @@ func (x *VersionInfo_ProtocolVersion) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VersionInfo_ProtocolVersion.ProtoReflect.Descriptor instead. -func (*VersionInfo_ProtocolVersion) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{3, 0} -} - -func (x *VersionInfo_ProtocolVersion) GetCurrent() uint32 { - if x != nil { - return x.Current - } - return 0 +// Deprecated: Use Job_AuthResult.ProtoReflect.Descriptor instead. +func (*Job_AuthResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 16} } -func (x *VersionInfo_ProtocolVersion) GetMinimum() uint32 { +func (x *Job_AuthResult) GetResults() []*Job_AuthResult_Result { if x != nil { - return x.Minimum + return x.Results } - return 0 + return nil } -type Variable_File struct { +type Job_BuildOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName,omitempty"` - HclRange *Variable_HclRange `protobuf:"bytes,2,opt,name=hcl_range,json=hclRange,proto3" json:"hcl_range,omitempty"` + // Don't push the build to any configured registry. + DisablePush bool `protobuf:"varint,1,opt,name=disable_push,json=disablePush,proto3" json:"disable_push,omitempty"` } -func (x *Variable_File) Reset() { - *x = Variable_File{} +func (x *Job_BuildOp) Reset() { + *x = Job_BuildOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22273,13 +21728,13 @@ func (x *Variable_File) Reset() { } } -func (x *Variable_File) String() string { +func (x *Job_BuildOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Variable_File) ProtoMessage() {} +func (*Job_BuildOp) ProtoMessage() {} -func (x *Variable_File) ProtoReflect() protoreflect.Message { +func (x *Job_BuildOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[291] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22291,36 +21746,31 @@ func (x *Variable_File) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Variable_File.ProtoReflect.Descriptor instead. -func (*Variable_File) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 0} -} - -func (x *Variable_File) GetFileName() string { - if x != nil { - return x.FileName - } - return "" +// Deprecated: Use Job_BuildOp.ProtoReflect.Descriptor instead. +func (*Job_BuildOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 17} } -func (x *Variable_File) GetHclRange() *Variable_HclRange { +func (x *Job_BuildOp) GetDisablePush() bool { if x != nil { - return x.HclRange + return x.DisablePush } - return nil + return false } -type Variable_VCS struct { +type Job_BuildResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName,omitempty"` - HclRange *Variable_HclRange `protobuf:"bytes,2,opt,name=hcl_range,json=hclRange,proto3" json:"hcl_range,omitempty"` + // The resulting build + Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` + // The artifact that was pushed. This will be nil if DisablePush was set. + Push *PushedArtifact `protobuf:"bytes,2,opt,name=push,proto3" json:"push,omitempty"` } -func (x *Variable_VCS) Reset() { - *x = Variable_VCS{} +func (x *Job_BuildResult) Reset() { + *x = Job_BuildResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22328,13 +21778,13 @@ func (x *Variable_VCS) Reset() { } } -func (x *Variable_VCS) String() string { +func (x *Job_BuildResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Variable_VCS) ProtoMessage() {} +func (*Job_BuildResult) ProtoMessage() {} -func (x *Variable_VCS) ProtoReflect() protoreflect.Message { +func (x *Job_BuildResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[292] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22346,38 +21796,36 @@ func (x *Variable_VCS) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Variable_VCS.ProtoReflect.Descriptor instead. -func (*Variable_VCS) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 1} +// Deprecated: Use Job_BuildResult.ProtoReflect.Descriptor instead. +func (*Job_BuildResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 18} } -func (x *Variable_VCS) GetFileName() string { +func (x *Job_BuildResult) GetBuild() *Build { if x != nil { - return x.FileName + return x.Build } - return "" + return nil } -func (x *Variable_VCS) GetHclRange() *Variable_HclRange { +func (x *Job_BuildResult) GetPush() *PushedArtifact { if x != nil { - return x.HclRange + return x.Push } return nil } -// Types mapped from https://pkg.go.dev/github.com/hashicorp/hcl/v2#Pos -type Variable_HclPos struct { +type Job_PushOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Line int32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"` - Column int32 `protobuf:"varint,2,opt,name=column,proto3" json:"column,omitempty"` - Byte int32 `protobuf:"varint,3,opt,name=byte,proto3" json:"byte,omitempty"` + // Build to push + Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` } -func (x *Variable_HclPos) Reset() { - *x = Variable_HclPos{} +func (x *Job_PushOp) Reset() { + *x = Job_PushOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22385,13 +21833,13 @@ func (x *Variable_HclPos) Reset() { } } -func (x *Variable_HclPos) String() string { +func (x *Job_PushOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Variable_HclPos) ProtoMessage() {} +func (*Job_PushOp) ProtoMessage() {} -func (x *Variable_HclPos) ProtoReflect() protoreflect.Message { +func (x *Job_PushOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[293] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22403,44 +21851,28 @@ func (x *Variable_HclPos) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Variable_HclPos.ProtoReflect.Descriptor instead. -func (*Variable_HclPos) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 2} -} - -func (x *Variable_HclPos) GetLine() int32 { - if x != nil { - return x.Line - } - return 0 -} - -func (x *Variable_HclPos) GetColumn() int32 { - if x != nil { - return x.Column - } - return 0 +// Deprecated: Use Job_PushOp.ProtoReflect.Descriptor instead. +func (*Job_PushOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 19} } -func (x *Variable_HclPos) GetByte() int32 { +func (x *Job_PushOp) GetBuild() *Build { if x != nil { - return x.Byte + return x.Build } - return 0 + return nil } -type Variable_HclRange struct { +type Job_PushResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` - Start *Variable_HclPos `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` - End *Variable_HclPos `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` + Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` } -func (x *Variable_HclRange) Reset() { - *x = Variable_HclRange{} +func (x *Job_PushResult) Reset() { + *x = Job_PushResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22448,13 +21880,13 @@ func (x *Variable_HclRange) Reset() { } } -func (x *Variable_HclRange) String() string { +func (x *Job_PushResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Variable_HclRange) ProtoMessage() {} +func (*Job_PushResult) ProtoMessage() {} -func (x *Variable_HclRange) ProtoReflect() protoreflect.Message { +func (x *Job_PushResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[294] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22466,53 +21898,29 @@ func (x *Variable_HclRange) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Variable_HclRange.ProtoReflect.Descriptor instead. -func (*Variable_HclRange) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 3} -} - -func (x *Variable_HclRange) GetFilename() string { - if x != nil { - return x.Filename - } - return "" -} - -func (x *Variable_HclRange) GetStart() *Variable_HclPos { - if x != nil { - return x.Start - } - return nil +// Deprecated: Use Job_PushResult.ProtoReflect.Descriptor instead. +func (*Job_PushResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 20} } -func (x *Variable_HclRange) GetEnd() *Variable_HclPos { +func (x *Job_PushResult) GetArtifact() *PushedArtifact { if x != nil { - return x.End + return x.Artifact } return nil } -type Variable_FinalValue struct { +type Job_DeployOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // value stores one of three simple types (string, number, bool) as their - // matching protobuf format, or any complex hcl type as a raw string. - // - // Types that are assignable to Value: - // - // *Variable_FinalValue_Sensitive - // *Variable_FinalValue_Str - // *Variable_FinalValue_Bool - // *Variable_FinalValue_Num - // *Variable_FinalValue_Hcl - Value isVariable_FinalValue_Value `protobuf_oneof:"value"` - Source Variable_FinalValue_Source `protobuf:"varint,6,opt,name=source,proto3,enum=hashicorp.waypoint.Variable_FinalValue_Source" json:"source,omitempty"` + // Artifact to deploy + Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` } -func (x *Variable_FinalValue) Reset() { - *x = Variable_FinalValue{} +func (x *Job_DeployOp) Reset() { + *x = Job_DeployOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22520,13 +21928,13 @@ func (x *Variable_FinalValue) Reset() { } } -func (x *Variable_FinalValue) String() string { +func (x *Job_DeployOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Variable_FinalValue) ProtoMessage() {} +func (*Job_DeployOp) ProtoMessage() {} -func (x *Variable_FinalValue) ProtoReflect() protoreflect.Message { +func (x *Job_DeployOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[295] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22538,112 +21946,28 @@ func (x *Variable_FinalValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Variable_FinalValue.ProtoReflect.Descriptor instead. -func (*Variable_FinalValue) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{5, 4} -} - -func (m *Variable_FinalValue) GetValue() isVariable_FinalValue_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *Variable_FinalValue) GetSensitive() string { - if x, ok := x.GetValue().(*Variable_FinalValue_Sensitive); ok { - return x.Sensitive - } - return "" -} - -func (x *Variable_FinalValue) GetStr() string { - if x, ok := x.GetValue().(*Variable_FinalValue_Str); ok { - return x.Str - } - return "" -} - -func (x *Variable_FinalValue) GetBool() bool { - if x, ok := x.GetValue().(*Variable_FinalValue_Bool); ok { - return x.Bool - } - return false -} - -func (x *Variable_FinalValue) GetNum() int64 { - if x, ok := x.GetValue().(*Variable_FinalValue_Num); ok { - return x.Num - } - return 0 -} - -func (x *Variable_FinalValue) GetHcl() string { - if x, ok := x.GetValue().(*Variable_FinalValue_Hcl); ok { - return x.Hcl - } - return "" +// Deprecated: Use Job_DeployOp.ProtoReflect.Descriptor instead. +func (*Job_DeployOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 21} } -func (x *Variable_FinalValue) GetSource() Variable_FinalValue_Source { +func (x *Job_DeployOp) GetArtifact() *PushedArtifact { if x != nil { - return x.Source + return x.Artifact } - return Variable_FinalValue_UNKNOWN -} - -type isVariable_FinalValue_Value interface { - isVariable_FinalValue_Value() -} - -type Variable_FinalValue_Sensitive struct { - // 'sensitive' values are hashed as SHA256 values for - // the purposes of output and logging - Sensitive string `protobuf:"bytes,1,opt,name=sensitive,proto3,oneof"` -} - -type Variable_FinalValue_Str struct { - Str string `protobuf:"bytes,2,opt,name=str,proto3,oneof"` -} - -type Variable_FinalValue_Bool struct { - Bool bool `protobuf:"varint,3,opt,name=bool,proto3,oneof"` -} - -type Variable_FinalValue_Num struct { - Num int64 `protobuf:"varint,4,opt,name=num,proto3,oneof"` -} - -type Variable_FinalValue_Hcl struct { - // hcl stores values of any complex type in a raw string format - Hcl string `protobuf:"bytes,5,opt,name=hcl,proto3,oneof"` + return nil } -func (*Variable_FinalValue_Sensitive) isVariable_FinalValue_Value() {} - -func (*Variable_FinalValue_Str) isVariable_FinalValue_Value() {} - -func (*Variable_FinalValue_Bool) isVariable_FinalValue_Value() {} - -func (*Variable_FinalValue_Num) isVariable_FinalValue_Value() {} - -func (*Variable_FinalValue_Hcl) isVariable_FinalValue_Value() {} - -type Project_Poll struct { +type Job_DeployResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // enabled must be set to true to enable polling. - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - // interval is a duration string of how often to poll, such as "5s". - // The server may enforce minimum values, in which case a value lower - // than the minimum will be ignored. - Interval string `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` } -func (x *Project_Poll) Reset() { - *x = Project_Poll{} +func (x *Job_DeployResult) Reset() { + *x = Job_DeployResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22651,13 +21975,13 @@ func (x *Project_Poll) Reset() { } } -func (x *Project_Poll) String() string { +func (x *Job_DeployResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Project_Poll) ProtoMessage() {} +func (*Job_DeployResult) ProtoMessage() {} -func (x *Project_Poll) ProtoReflect() protoreflect.Message { +func (x *Job_DeployResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[296] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22669,40 +21993,35 @@ func (x *Project_Poll) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Project_Poll.ProtoReflect.Descriptor instead. -func (*Project_Poll) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{6, 0} +// Deprecated: Use Job_DeployResult.ProtoReflect.Descriptor instead. +func (*Job_DeployResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 22} } -func (x *Project_Poll) GetEnabled() bool { +func (x *Job_DeployResult) GetDeployment() *Deployment { if x != nil { - return x.Enabled - } - return false -} - -func (x *Project_Poll) GetInterval() string { - if x != nil { - return x.Interval + return x.Deployment } - return "" + return nil } -type Project_AppStatusPoll struct { +// Used to start a platform's exec function within a runner. This is only used +// there are no long running instances for a deployment and can fail if the +// platform plugin does not provide an exec function. +type Job_ExecOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // enabled must be set to true to enable application polling for the project - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - // interval is a duration string of how often to poll, such as "5s". - // The server may enforce minimum values, in which case a value lower - // than the minimum will be ignored. - Interval string `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` + // Id to assign the virtual instance created + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // The deployment to create the exec session context. Ie, what + // application code will be available within the exec session. + Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` } -func (x *Project_AppStatusPoll) Reset() { - *x = Project_AppStatusPoll{} +func (x *Job_ExecOp) Reset() { + *x = Job_ExecOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22710,13 +22029,13 @@ func (x *Project_AppStatusPoll) Reset() { } } -func (x *Project_AppStatusPoll) String() string { +func (x *Job_ExecOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Project_AppStatusPoll) ProtoMessage() {} +func (*Job_ExecOp) ProtoMessage() {} -func (x *Project_AppStatusPoll) ProtoReflect() protoreflect.Message { +func (x *Job_ExecOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[297] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22728,50 +22047,33 @@ func (x *Project_AppStatusPoll) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Project_AppStatusPoll.ProtoReflect.Descriptor instead. -func (*Project_AppStatusPoll) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{6, 1} +// Deprecated: Use Job_ExecOp.ProtoReflect.Descriptor instead. +func (*Job_ExecOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 23} } -func (x *Project_AppStatusPoll) GetEnabled() bool { +func (x *Job_ExecOp) GetInstanceId() string { if x != nil { - return x.Enabled + return x.InstanceId } - return false + return "" } -func (x *Project_AppStatusPoll) GetInterval() string { +func (x *Job_ExecOp) GetDeployment() *Deployment { if x != nil { - return x.Interval + return x.Deployment } - return "" + return nil } -type Workspace_Project struct { +type Job_ExecResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Project that this is referencing. - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Workspace that this project is part of. This will only be set - // when using the GetProject API. This will ALWAYS BE NIL on workspace - // list and get APIs. - Workspace *Ref_Workspace `protobuf:"bytes,5,opt,name=workspace,proto3" json:"workspace,omitempty"` - // The last non-local ref that was used for any operation. - DataSourceRef *Job_DataSource_Ref `protobuf:"bytes,2,opt,name=data_source_ref,json=dataSourceRef,proto3" json:"data_source_ref,omitempty"` - // active_time is the last time that this project had activity in - // this workspace. - ActiveTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=active_time,json=activeTime,proto3" json:"active_time,omitempty"` - // The list of applications that have executed at least one operation - // within the context of this workspace. To determine which operations - // you must call the respect list API for that operation, such as - // ListDeployments. - Applications []*Workspace_Application `protobuf:"bytes,4,rep,name=applications,proto3" json:"applications,omitempty"` } -func (x *Workspace_Project) Reset() { - *x = Workspace_Project{} +func (x *Job_ExecResult) Reset() { + *x = Job_ExecResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22779,13 +22081,13 @@ func (x *Workspace_Project) Reset() { } } -func (x *Workspace_Project) String() string { +func (x *Job_ExecResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Workspace_Project) ProtoMessage() {} +func (*Job_ExecResult) ProtoMessage() {} -func (x *Workspace_Project) ProtoReflect() protoreflect.Message { +func (x *Job_ExecResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[298] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22797,59 +22099,33 @@ func (x *Workspace_Project) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Workspace_Project.ProtoReflect.Descriptor instead. -func (*Workspace_Project) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{7, 0} -} - -func (x *Workspace_Project) GetProject() *Ref_Project { - if x != nil { - return x.Project - } - return nil -} - -func (x *Workspace_Project) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -func (x *Workspace_Project) GetDataSourceRef() *Job_DataSource_Ref { - if x != nil { - return x.DataSourceRef - } - return nil -} - -func (x *Workspace_Project) GetActiveTime() *timestamppb.Timestamp { - if x != nil { - return x.ActiveTime - } - return nil -} - -func (x *Workspace_Project) GetApplications() []*Workspace_Application { - if x != nil { - return x.Applications - } - return nil +// Deprecated: Use Job_ExecResult.ProtoReflect.Descriptor instead. +func (*Job_ExecResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 24} } -type Workspace_Application struct { +// Used to start a platform's log function within a runner. API users +// interested in viewing logs should use the GetLogStream API. This +// is only meant for implementing custom log handling by plugins. +type Job_LogsOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Application that this is referencing. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // active_time is the last time that this application was active - ActiveTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=active_time,json=activeTime,proto3" json:"active_time,omitempty"` + // Id to assign the virtual instance created + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // The deployment to create the exec session context. Ie, what + // application code will be available within the exec session. + Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Indicates the time horizon that log entries must be beyond for them + // to be emitted. + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The maximum of log entries to be output. + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *Workspace_Application) Reset() { - *x = Workspace_Application{} +func (x *Job_LogsOp) Reset() { + *x = Job_LogsOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22857,13 +22133,13 @@ func (x *Workspace_Application) Reset() { } } -func (x *Workspace_Application) String() string { +func (x *Job_LogsOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Workspace_Application) ProtoMessage() {} +func (*Job_LogsOp) ProtoMessage() {} -func (x *Workspace_Application) ProtoReflect() protoreflect.Message { +func (x *Job_LogsOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[299] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22875,42 +22151,55 @@ func (x *Workspace_Application) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Workspace_Application.ProtoReflect.Descriptor instead. -func (*Workspace_Application) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{7, 1} +// Deprecated: Use Job_LogsOp.ProtoReflect.Descriptor instead. +func (*Job_LogsOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 25} } -func (x *Workspace_Application) GetApplication() *Ref_Application { +func (x *Job_LogsOp) GetInstanceId() string { if x != nil { - return x.Application + return x.InstanceId + } + return "" +} + +func (x *Job_LogsOp) GetDeployment() *Deployment { + if x != nil { + return x.Deployment } return nil } -func (x *Workspace_Application) GetActiveTime() *timestamppb.Timestamp { +func (x *Job_LogsOp) GetStartTime() *timestamppb.Timestamp { if x != nil { - return x.ActiveTime + return x.StartTime } return nil } -// Link is a connection between an authentication provider and -// the user identity. This is used to lookup a unique user account -// within Waypoint from multiple auth sources (i.e. GitHub auth, -// user/pass, etc.). -type User_Link struct { +func (x *Job_LogsOp) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type Job_DestroyOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Method: + // target is what to destroy in this operation. // - // *User_Link_Oidc - Method isUser_Link_Method `protobuf_oneof:"method"` + // Types that are assignable to Target: + // + // *Job_DestroyOp_Workspace + // *Job_DestroyOp_Deployment + Target isJob_DestroyOp_Target `protobuf_oneof:"target"` } -func (x *User_Link) Reset() { - *x = User_Link{} +func (x *Job_DestroyOp) Reset() { + *x = Job_DestroyOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22918,13 +22207,13 @@ func (x *User_Link) Reset() { } } -func (x *User_Link) String() string { +func (x *Job_DestroyOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*User_Link) ProtoMessage() {} +func (*Job_DestroyOp) ProtoMessage() {} -func (x *User_Link) ProtoReflect() protoreflect.Message { +func (x *Job_DestroyOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[300] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22936,47 +22225,67 @@ func (x *User_Link) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use User_Link.ProtoReflect.Descriptor instead. -func (*User_Link) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{8, 0} +// Deprecated: Use Job_DestroyOp.ProtoReflect.Descriptor instead. +func (*Job_DestroyOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 26} } -func (m *User_Link) GetMethod() isUser_Link_Method { +func (m *Job_DestroyOp) GetTarget() isJob_DestroyOp_Target { if m != nil { - return m.Method + return m.Target } return nil } -func (x *User_Link) GetOidc() *User_Link_OIDC { - if x, ok := x.GetMethod().(*User_Link_Oidc); ok { - return x.Oidc +func (x *Job_DestroyOp) GetWorkspace() *emptypb.Empty { + if x, ok := x.GetTarget().(*Job_DestroyOp_Workspace); ok { + return x.Workspace } return nil } -type isUser_Link_Method interface { - isUser_Link_Method() +func (x *Job_DestroyOp) GetDeployment() *Deployment { + if x, ok := x.GetTarget().(*Job_DestroyOp_Deployment); ok { + return x.Deployment + } + return nil } -type User_Link_Oidc struct { - Oidc *User_Link_OIDC `protobuf:"bytes,1,opt,name=oidc,proto3,oneof"` +type isJob_DestroyOp_Target interface { + isJob_DestroyOp_Target() } -func (*User_Link_Oidc) isUser_Link_Method() {} +type Job_DestroyOp_Workspace struct { + // workspace will delete the app in the workspace that the job + // is targeting. + Workspace *emptypb.Empty `protobuf:"bytes,1,opt,name=workspace,proto3,oneof"` +} -type User_Link_OIDC struct { +type Job_DestroyOp_Deployment struct { + Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3,oneof"` +} + +func (*Job_DestroyOp_Workspace) isJob_DestroyOp_Target() {} + +func (*Job_DestroyOp_Deployment) isJob_DestroyOp_Target() {} + +type Job_ReleaseOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // issuer and sub claims can be used to uniquely identify a user - Iss string `protobuf:"bytes,1,opt,name=iss,proto3" json:"iss,omitempty"` - Sub string `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"` + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Prune settings. This will prune the deployments that aren't released. + Prune bool `protobuf:"varint,2,opt,name=prune,proto3" json:"prune,omitempty"` + // This sets the number of unreleased deployments to retain when pruning. + // This only has an effect if "prune_retain_override" is true. If that + // is false, then pruning uses the default behavior (retain 2). + PruneRetain int32 `protobuf:"varint,3,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` + PruneRetainOverride bool `protobuf:"varint,4,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` } -func (x *User_Link_OIDC) Reset() { - *x = User_Link_OIDC{} +func (x *Job_ReleaseOp) Reset() { + *x = Job_ReleaseOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22984,13 +22293,13 @@ func (x *User_Link_OIDC) Reset() { } } -func (x *User_Link_OIDC) String() string { +func (x *Job_ReleaseOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*User_Link_OIDC) ProtoMessage() {} +func (*Job_ReleaseOp) ProtoMessage() {} -func (x *User_Link_OIDC) ProtoReflect() protoreflect.Message { +func (x *Job_ReleaseOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[301] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23002,35 +22311,54 @@ func (x *User_Link_OIDC) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use User_Link_OIDC.ProtoReflect.Descriptor instead. -func (*User_Link_OIDC) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{8, 0, 0} +// Deprecated: Use Job_ReleaseOp.ProtoReflect.Descriptor instead. +func (*Job_ReleaseOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 27} } -func (x *User_Link_OIDC) GetIss() string { +func (x *Job_ReleaseOp) GetDeployment() *Deployment { if x != nil { - return x.Iss + return x.Deployment } - return "" + return nil } -func (x *User_Link_OIDC) GetSub() string { +func (x *Job_ReleaseOp) GetPrune() bool { if x != nil { - return x.Sub + return x.Prune } - return "" + return false } -// Global references the entire server. This is used in some APIs -// as a way to read/write values that are server-global. -type Ref_Global struct { +func (x *Job_ReleaseOp) GetPruneRetain() int32 { + if x != nil { + return x.PruneRetain + } + return 0 +} + +func (x *Job_ReleaseOp) GetPruneRetainOverride() bool { + if x != nil { + return x.PruneRetainOverride + } + return false +} + +type Job_ReleaseResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The release that was just created. If the release operation was a noop, + // for example if the target deployment shares a generation with the + // previously released deployment, then this may be an existing release. + // Callers can verify by checking if the target deployment changed + // or not. + Release *Release `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` } -func (x *Ref_Global) Reset() { - *x = Ref_Global{} +func (x *Job_ReleaseResult) Reset() { + *x = Job_ReleaseResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23038,13 +22366,13 @@ func (x *Ref_Global) Reset() { } } -func (x *Ref_Global) String() string { +func (x *Job_ReleaseResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Global) ProtoMessage() {} +func (*Job_ReleaseResult) ProtoMessage() {} -func (x *Ref_Global) ProtoReflect() protoreflect.Message { +func (x *Job_ReleaseResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[302] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23056,24 +22384,36 @@ func (x *Ref_Global) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Global.ProtoReflect.Descriptor instead. -func (*Ref_Global) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 0} +// Deprecated: Use Job_ReleaseResult.ProtoReflect.Descriptor instead. +func (*Job_ReleaseResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 28} } -// Application references an application. To uniquely identify an -// application, this must encapsulate the full hierarchy to the application. -type Ref_Application struct { +func (x *Job_ReleaseResult) GetRelease() *Release { + if x != nil { + return x.Release + } + return nil +} + +// TaskPluginParams contains the information about a specific task plugin +// that is used by both StartTask and StopTask +type Job_TaskPluginParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Application string `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` + // The plugin type to invoke for the task plugin. + PluginType string `protobuf:"bytes,2,opt,name=plugin_type,json=pluginType,proto3" json:"plugin_type,omitempty"` + // The configuration information for the task. This is HCL that is + // decoded to figure out the task plugin and then provide that + // task plugin with configuration + HclConfig []byte `protobuf:"bytes,3,opt,name=hcl_config,json=hclConfig,proto3" json:"hcl_config,omitempty"` + HclFormat Hcl_Format `protobuf:"varint,4,opt,name=hcl_format,json=hclFormat,proto3,enum=hashicorp.waypoint.Hcl_Format" json:"hcl_format,omitempty"` } -func (x *Ref_Application) Reset() { - *x = Ref_Application{} +func (x *Job_TaskPluginParams) Reset() { + *x = Job_TaskPluginParams{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23081,13 +22421,13 @@ func (x *Ref_Application) Reset() { } } -func (x *Ref_Application) String() string { +func (x *Job_TaskPluginParams) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Application) ProtoMessage() {} +func (*Job_TaskPluginParams) ProtoMessage() {} -func (x *Ref_Application) ProtoReflect() protoreflect.Message { +func (x *Job_TaskPluginParams) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[303] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23099,36 +22439,45 @@ func (x *Ref_Application) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Application.ProtoReflect.Descriptor instead. -func (*Ref_Application) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 1} +// Deprecated: Use Job_TaskPluginParams.ProtoReflect.Descriptor instead. +func (*Job_TaskPluginParams) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 29} } -func (x *Ref_Application) GetApplication() string { +func (x *Job_TaskPluginParams) GetPluginType() string { if x != nil { - return x.Application + return x.PluginType } return "" } -func (x *Ref_Application) GetProject() string { +func (x *Job_TaskPluginParams) GetHclConfig() []byte { if x != nil { - return x.Project + return x.HclConfig } - return "" + return nil } -// Project references a project. -type Ref_Project struct { +func (x *Job_TaskPluginParams) GetHclFormat() Hcl_Format { + if x != nil { + return x.HclFormat + } + return Hcl_HCL +} + +type Job_StartTaskLaunchOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + // The info to use to create the task + Info *TaskLaunchInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` + // Params is needed to spawn the plugin so we can send it the start. + Params *Job_TaskPluginParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` } -func (x *Ref_Project) Reset() { - *x = Ref_Project{} +func (x *Job_StartTaskLaunchOp) Reset() { + *x = Job_StartTaskLaunchOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23136,13 +22485,13 @@ func (x *Ref_Project) Reset() { } } -func (x *Ref_Project) String() string { +func (x *Job_StartTaskLaunchOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Project) ProtoMessage() {} +func (*Job_StartTaskLaunchOp) ProtoMessage() {} -func (x *Ref_Project) ProtoReflect() protoreflect.Message { +func (x *Job_StartTaskLaunchOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[304] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23154,29 +22503,36 @@ func (x *Ref_Project) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Project.ProtoReflect.Descriptor instead. -func (*Ref_Project) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 2} +// Deprecated: Use Job_StartTaskLaunchOp.ProtoReflect.Descriptor instead. +func (*Job_StartTaskLaunchOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 30} } -func (x *Ref_Project) GetProject() string { +func (x *Job_StartTaskLaunchOp) GetInfo() *TaskLaunchInfo { if x != nil { - return x.Project + return x.Info } - return "" + return nil } -// Workspace references a workspace. -type Ref_Workspace struct { +func (x *Job_StartTaskLaunchOp) GetParams() *Job_TaskPluginParams { + if x != nil { + return x.Params + } + return nil +} + +type Job_StartTaskResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Workspace string `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + // The state of the create task, used to identify it later. + State *opaqueany.Any `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } -func (x *Ref_Workspace) Reset() { - *x = Ref_Workspace{} +func (x *Job_StartTaskResult) Reset() { + *x = Job_StartTaskResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23184,13 +22540,13 @@ func (x *Ref_Workspace) Reset() { } } -func (x *Ref_Workspace) String() string { +func (x *Job_StartTaskResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Workspace) ProtoMessage() {} +func (*Job_StartTaskResult) ProtoMessage() {} -func (x *Ref_Workspace) ProtoReflect() protoreflect.Message { +func (x *Job_StartTaskResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[305] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23202,34 +22558,36 @@ func (x *Ref_Workspace) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Workspace.ProtoReflect.Descriptor instead. -func (*Ref_Workspace) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 3} +// Deprecated: Use Job_StartTaskResult.ProtoReflect.Descriptor instead. +func (*Job_StartTaskResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 31} } -func (x *Ref_Workspace) GetWorkspace() string { +func (x *Job_StartTaskResult) GetState() *opaqueany.Any { if x != nil { - return x.Workspace + return x.State } - return "" + return nil } -type Ref_Deployment struct { +type Job_StopTaskLaunchOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Either reference the latest deployment, or a specific deployment id + // Params is needed to spawn the plugin so we can send it the stop. + Params *Job_TaskPluginParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` + // The state of the start task. This can come in multiple ways. // - // Types that are assignable to Ref: + // Types that are assignable to State: // - // *Ref_Deployment_Latest - // *Ref_Deployment_Sequence - Ref isRef_Deployment_Ref `protobuf_oneof:"ref"` + // *Job_StopTaskLaunchOp_Direct + // *Job_StopTaskLaunchOp_StartJobId + State isJob_StopTaskLaunchOp_State `protobuf_oneof:"state"` } -func (x *Ref_Deployment) Reset() { - *x = Ref_Deployment{} +func (x *Job_StopTaskLaunchOp) Reset() { + *x = Job_StopTaskLaunchOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23237,13 +22595,13 @@ func (x *Ref_Deployment) Reset() { } } -func (x *Ref_Deployment) String() string { +func (x *Job_StopTaskLaunchOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Deployment) ProtoMessage() {} +func (*Job_StopTaskLaunchOp) ProtoMessage() {} -func (x *Ref_Deployment) ProtoReflect() protoreflect.Message { +func (x *Job_StopTaskLaunchOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[306] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23255,64 +22613,69 @@ func (x *Ref_Deployment) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Deployment.ProtoReflect.Descriptor instead. -func (*Ref_Deployment) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 4} +// Deprecated: Use Job_StopTaskLaunchOp.ProtoReflect.Descriptor instead. +func (*Job_StopTaskLaunchOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 32} } -func (m *Ref_Deployment) GetRef() isRef_Deployment_Ref { - if m != nil { - return m.Ref +func (x *Job_StopTaskLaunchOp) GetParams() *Job_TaskPluginParams { + if x != nil { + return x.Params } return nil } -func (x *Ref_Deployment) GetLatest() bool { - if x, ok := x.GetRef().(*Ref_Deployment_Latest); ok { - return x.Latest +func (m *Job_StopTaskLaunchOp) GetState() isJob_StopTaskLaunchOp_State { + if m != nil { + return m.State } - return false + return nil } -func (x *Ref_Deployment) GetSequence() uint64 { - if x, ok := x.GetRef().(*Ref_Deployment_Sequence); ok { - return x.Sequence +func (x *Job_StopTaskLaunchOp) GetDirect() *opaqueany.Any { + if x, ok := x.GetState().(*Job_StopTaskLaunchOp_Direct); ok { + return x.Direct } - return 0 + return nil } -type isRef_Deployment_Ref interface { - isRef_Deployment_Ref() +func (x *Job_StopTaskLaunchOp) GetStartJobId() string { + if x, ok := x.GetState().(*Job_StopTaskLaunchOp_StartJobId); ok { + return x.StartJobId + } + return "" } -type Ref_Deployment_Latest struct { - Latest bool `protobuf:"varint,1,opt,name=latest,proto3,oneof"` +type isJob_StopTaskLaunchOp_State interface { + isJob_StopTaskLaunchOp_State() } -type Ref_Deployment_Sequence struct { - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3,oneof"` +type Job_StopTaskLaunchOp_Direct struct { + // The state can be directly provided. + Direct *opaqueany.Any `protobuf:"bytes,1,opt,name=direct,proto3,oneof"` } -func (*Ref_Deployment_Latest) isRef_Deployment_Ref() {} +type Job_StopTaskLaunchOp_StartJobId struct { + // The state can be looked up from the result of a StartTask job. + StartJobId string `protobuf:"bytes,3,opt,name=start_job_id,json=startJobId,proto3,oneof"` +} -func (*Ref_Deployment_Sequence) isRef_Deployment_Ref() {} +func (*Job_StopTaskLaunchOp_Direct) isJob_StopTaskLaunchOp_State() {} -type Ref_Artifact struct { +func (*Job_StopTaskLaunchOp_StartJobId) isJob_StopTaskLaunchOp_State() {} + +type Job_WatchTaskOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Either reference the latest artifact, or a specific artifact id - // - // Types that are assignable to Ref: - // - // *Ref_Artifact_Latest - // *Ref_Artifact_Sequence - Ref isRef_Artifact_Ref `protobuf_oneof:"ref"` + // The job that started the task (should match up to a StartTaskLaunchOp). + // This is used to lookup the state to pass to the task. + StartJob *Ref_Job `protobuf:"bytes,1,opt,name=start_job,json=startJob,proto3" json:"start_job,omitempty"` } -func (x *Ref_Artifact) Reset() { - *x = Ref_Artifact{} +func (x *Job_WatchTaskOp) Reset() { + *x = Job_WatchTaskOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23320,13 +22683,13 @@ func (x *Ref_Artifact) Reset() { } } -func (x *Ref_Artifact) String() string { +func (x *Job_WatchTaskOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Artifact) ProtoMessage() {} +func (*Job_WatchTaskOp) ProtoMessage() {} -func (x *Ref_Artifact) ProtoReflect() protoreflect.Message { +func (x *Job_WatchTaskOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[307] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23338,60 +22701,28 @@ func (x *Ref_Artifact) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Artifact.ProtoReflect.Descriptor instead. -func (*Ref_Artifact) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 5} +// Deprecated: Use Job_WatchTaskOp.ProtoReflect.Descriptor instead. +func (*Job_WatchTaskOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 33} } -func (m *Ref_Artifact) GetRef() isRef_Artifact_Ref { - if m != nil { - return m.Ref +func (x *Job_WatchTaskOp) GetStartJob() *Ref_Job { + if x != nil { + return x.StartJob } return nil } -func (x *Ref_Artifact) GetLatest() bool { - if x, ok := x.GetRef().(*Ref_Artifact_Latest); ok { - return x.Latest - } - return false -} - -func (x *Ref_Artifact) GetSequence() uint64 { - if x, ok := x.GetRef().(*Ref_Artifact_Sequence); ok { - return x.Sequence - } - return 0 -} - -type isRef_Artifact_Ref interface { - isRef_Artifact_Ref() -} - -type Ref_Artifact_Latest struct { - Latest bool `protobuf:"varint,1,opt,name=latest,proto3,oneof"` -} - -type Ref_Artifact_Sequence struct { - Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3,oneof"` -} - -func (*Ref_Artifact_Latest) isRef_Artifact_Ref() {} - -func (*Ref_Artifact_Sequence) isRef_Artifact_Ref() {} - -// Component references a component. -type Ref_Component struct { +type Job_WatchTaskResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.waypoint.Component_Type" json:"type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` } -func (x *Ref_Component) Reset() { - *x = Ref_Component{} +func (x *Job_WatchTaskResult) Reset() { + *x = Job_WatchTaskResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23399,13 +22730,13 @@ func (x *Ref_Component) Reset() { } } -func (x *Ref_Component) String() string { +func (x *Job_WatchTaskResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Component) ProtoMessage() {} +func (*Job_WatchTaskResult) ProtoMessage() {} -func (x *Ref_Component) ProtoReflect() protoreflect.Message { +func (x *Job_WatchTaskResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[308] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23417,41 +22748,32 @@ func (x *Ref_Component) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Component.ProtoReflect.Descriptor instead. -func (*Ref_Component) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 6} -} - -func (x *Ref_Component) GetType() Component_Type { - if x != nil { - return x.Type - } - return Component_UNKNOWN +// Deprecated: Use Job_WatchTaskResult.ProtoReflect.Descriptor instead. +func (*Job_WatchTaskResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 34} } -func (x *Ref_Component) GetName() string { +func (x *Job_WatchTaskResult) GetExitCode() int32 { if x != nil { - return x.Name + return x.ExitCode } - return "" + return 0 } -// Operation references an operation (build, deploy, etc.). This can reference -// an operation in multiple ways so you must use the oneof to choose. -type Ref_Operation struct { +type Job_StatusReportOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Target: // - // *Ref_Operation_Id - // *Ref_Operation_Sequence - Target isRef_Operation_Target `protobuf_oneof:"target"` + // *Job_StatusReportOp_Deployment + // *Job_StatusReportOp_Release + Target isJob_StatusReportOp_Target `protobuf_oneof:"target"` } -func (x *Ref_Operation) Reset() { - *x = Ref_Operation{} +func (x *Job_StatusReportOp) Reset() { + *x = Job_StatusReportOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23459,13 +22781,13 @@ func (x *Ref_Operation) Reset() { } } -func (x *Ref_Operation) String() string { +func (x *Job_StatusReportOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Operation) ProtoMessage() {} +func (*Job_StatusReportOp) ProtoMessage() {} -func (x *Ref_Operation) ProtoReflect() protoreflect.Message { +func (x *Job_StatusReportOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[309] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23477,60 +22799,63 @@ func (x *Ref_Operation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Operation.ProtoReflect.Descriptor instead. -func (*Ref_Operation) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 7} +// Deprecated: Use Job_StatusReportOp.ProtoReflect.Descriptor instead. +func (*Job_StatusReportOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 35} } -func (m *Ref_Operation) GetTarget() isRef_Operation_Target { +func (m *Job_StatusReportOp) GetTarget() isJob_StatusReportOp_Target { if m != nil { return m.Target } return nil } -func (x *Ref_Operation) GetId() string { - if x, ok := x.GetTarget().(*Ref_Operation_Id); ok { - return x.Id +func (x *Job_StatusReportOp) GetDeployment() *Deployment { + if x, ok := x.GetTarget().(*Job_StatusReportOp_Deployment); ok { + return x.Deployment } - return "" + return nil } -func (x *Ref_Operation) GetSequence() *Ref_OperationSeq { - if x, ok := x.GetTarget().(*Ref_Operation_Sequence); ok { - return x.Sequence +func (x *Job_StatusReportOp) GetRelease() *Release { + if x, ok := x.GetTarget().(*Job_StatusReportOp_Release); ok { + return x.Release } return nil } -type isRef_Operation_Target interface { - isRef_Operation_Target() +type isJob_StatusReportOp_Target interface { + isJob_StatusReportOp_Target() } -type Ref_Operation_Id struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` +type Job_StatusReportOp_Deployment struct { + // The deployment that should be associated with this status report + // operation + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3,oneof"` } -type Ref_Operation_Sequence struct { - Sequence *Ref_OperationSeq `protobuf:"bytes,2,opt,name=sequence,proto3,oneof"` +type Job_StatusReportOp_Release struct { + // The release that should be associated with this status report + // operation + Release *Release `protobuf:"bytes,2,opt,name=release,proto3,oneof"` } -func (*Ref_Operation_Id) isRef_Operation_Target() {} +func (*Job_StatusReportOp_Deployment) isJob_StatusReportOp_Target() {} -func (*Ref_Operation_Sequence) isRef_Operation_Target() {} +func (*Job_StatusReportOp_Release) isJob_StatusReportOp_Target() {} -// OperationSeq references an operation by sequence number. -type Ref_OperationSeq struct { +type Job_StatusReportResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + // The status report that was just created + StatusReport *StatusReport `protobuf:"bytes,1,opt,name=status_report,json=statusReport,proto3" json:"status_report,omitempty"` } -func (x *Ref_OperationSeq) Reset() { - *x = Ref_OperationSeq{} +func (x *Job_StatusReportResult) Reset() { + *x = Job_StatusReportResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23538,13 +22863,13 @@ func (x *Ref_OperationSeq) Reset() { } } -func (x *Ref_OperationSeq) String() string { +func (x *Job_StatusReportResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_OperationSeq) ProtoMessage() {} +func (*Job_StatusReportResult) ProtoMessage() {} -func (x *Ref_OperationSeq) ProtoReflect() protoreflect.Message { +func (x *Job_StatusReportResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[310] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23556,44 +22881,26 @@ func (x *Ref_OperationSeq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_OperationSeq.ProtoReflect.Descriptor instead. -func (*Ref_OperationSeq) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 8} +// Deprecated: Use Job_StatusReportResult.ProtoReflect.Descriptor instead. +func (*Job_StatusReportResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 36} } -func (x *Ref_OperationSeq) GetApplication() *Ref_Application { +func (x *Job_StatusReportResult) GetStatusReport() *StatusReport { if x != nil { - return x.Application + return x.StatusReport } return nil } -func (x *Ref_OperationSeq) GetNumber() uint64 { - if x != nil { - return x.Number - } - return 0 -} - -// Runner references a runner process which executes operations. This -// can reference a runner by any of the more specific types, such as -// by ID. If you want to constrain which runners can be targeted, -// a different ref type should be used. -type Ref_Runner struct { +type Job_DocsOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Types that are assignable to Target: - // - // *Ref_Runner_Any - // *Ref_Runner_Id - // *Ref_Runner_Labels - Target isRef_Runner_Target `protobuf_oneof:"target"` } -func (x *Ref_Runner) Reset() { - *x = Ref_Runner{} +func (x *Job_DocsOp) Reset() { + *x = Job_DocsOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23601,13 +22908,13 @@ func (x *Ref_Runner) Reset() { } } -func (x *Ref_Runner) String() string { +func (x *Job_DocsOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Runner) ProtoMessage() {} +func (*Job_DocsOp) ProtoMessage() {} -func (x *Ref_Runner) ProtoReflect() protoreflect.Message { +func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[311] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23619,70 +22926,22 @@ func (x *Ref_Runner) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Runner.ProtoReflect.Descriptor instead. -func (*Ref_Runner) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 9} -} - -func (m *Ref_Runner) GetTarget() isRef_Runner_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *Ref_Runner) GetAny() *Ref_RunnerAny { - if x, ok := x.GetTarget().(*Ref_Runner_Any); ok { - return x.Any - } - return nil -} - -func (x *Ref_Runner) GetId() *Ref_RunnerId { - if x, ok := x.GetTarget().(*Ref_Runner_Id); ok { - return x.Id - } - return nil -} - -func (x *Ref_Runner) GetLabels() *Ref_RunnerLabels { - if x, ok := x.GetTarget().(*Ref_Runner_Labels); ok { - return x.Labels - } - return nil -} - -type isRef_Runner_Target interface { - isRef_Runner_Target() -} - -type Ref_Runner_Any struct { - Any *Ref_RunnerAny `protobuf:"bytes,1,opt,name=any,proto3,oneof"` -} - -type Ref_Runner_Id struct { - Id *Ref_RunnerId `protobuf:"bytes,2,opt,name=id,proto3,oneof"` -} - -type Ref_Runner_Labels struct { - Labels *Ref_RunnerLabels `protobuf:"bytes,3,opt,name=labels,proto3,oneof"` +// Deprecated: Use Job_DocsOp.ProtoReflect.Descriptor instead. +func (*Job_DocsOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 37} } -func (*Ref_Runner_Any) isRef_Runner_Target() {} - -func (*Ref_Runner_Id) isRef_Runner_Target() {} - -func (*Ref_Runner_Labels) isRef_Runner_Target() {} - -// RunnerAny will reference any runner. -type Ref_RunnerAny struct { +type Job_DocsResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // results are the list of components that were checked + Results []*Job_DocsResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } -func (x *Ref_RunnerAny) Reset() { - *x = Ref_RunnerAny{} +func (x *Job_DocsResult) Reset() { + *x = Job_DocsResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23690,13 +22949,13 @@ func (x *Ref_RunnerAny) Reset() { } } -func (x *Ref_RunnerAny) String() string { +func (x *Job_DocsResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_RunnerAny) ProtoMessage() {} +func (*Job_DocsResult) ProtoMessage() {} -func (x *Ref_RunnerAny) ProtoReflect() protoreflect.Message { +func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[312] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23708,22 +22967,26 @@ func (x *Ref_RunnerAny) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_RunnerAny.ProtoReflect.Descriptor instead. -func (*Ref_RunnerAny) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 10} +// Deprecated: Use Job_DocsResult.ProtoReflect.Descriptor instead. +func (*Job_DocsResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 38} } -// RunnerId references a runner by ID. -type Ref_RunnerId struct { +func (x *Job_DocsResult) GetResults() []*Job_DocsResult_Result { + if x != nil { + return x.Results + } + return nil +} + +type Job_ConfigSyncOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *Ref_RunnerId) Reset() { - *x = Ref_RunnerId{} +func (x *Job_ConfigSyncOp) Reset() { + *x = Job_ConfigSyncOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23731,13 +22994,13 @@ func (x *Ref_RunnerId) Reset() { } } -func (x *Ref_RunnerId) String() string { +func (x *Job_ConfigSyncOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_RunnerId) ProtoMessage() {} +func (*Job_ConfigSyncOp) ProtoMessage() {} -func (x *Ref_RunnerId) ProtoReflect() protoreflect.Message { +func (x *Job_ConfigSyncOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[313] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23749,30 +23012,19 @@ func (x *Ref_RunnerId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_RunnerId.ProtoReflect.Descriptor instead. -func (*Ref_RunnerId) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 11} -} - -func (x *Ref_RunnerId) GetId() string { - if x != nil { - return x.Id - } - return "" +// Deprecated: Use Job_ConfigSyncOp.ProtoReflect.Descriptor instead. +func (*Job_ConfigSyncOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 39} } -// RunnerLabels references a runner by labels. -// The labels can be a subset match or an exact match. -type Ref_RunnerLabels struct { +type Job_ConfigSyncResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Ref_RunnerLabels) Reset() { - *x = Ref_RunnerLabels{} +func (x *Job_ConfigSyncResult) Reset() { + *x = Job_ConfigSyncResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23780,13 +23032,13 @@ func (x *Ref_RunnerLabels) Reset() { } } -func (x *Ref_RunnerLabels) String() string { +func (x *Job_ConfigSyncResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_RunnerLabels) ProtoMessage() {} +func (*Job_ConfigSyncResult) ProtoMessage() {} -func (x *Ref_RunnerLabels) ProtoReflect() protoreflect.Message { +func (x *Job_ConfigSyncResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[314] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23798,35 +23050,23 @@ func (x *Ref_RunnerLabels) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_RunnerLabels.ProtoReflect.Descriptor instead. -func (*Ref_RunnerLabels) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 12} -} - -func (x *Ref_RunnerLabels) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil +// Deprecated: Use Job_ConfigSyncResult.ProtoReflect.Descriptor instead. +func (*Job_ConfigSyncResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 40} } -// User references a user by either ID or username, it is up to the caller. -// This generic form makes it easy for APIs to accept multiple values, whatever -// is easiest for the caller. -type Ref_User struct { +type Job_PipelineConfigSyncResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Ref: - // - // *Ref_User_Id - // *Ref_User_Username - Ref isRef_User_Ref `protobuf_oneof:"ref"` + // synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for + // each pipeline that was synced in the config sync request. + SyncedPipelines map[string]*Ref_Pipeline `protobuf:"bytes,1,rep,name=synced_pipelines,json=syncedPipelines,proto3" json:"synced_pipelines,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Ref_User) Reset() { - *x = Ref_User{} +func (x *Job_PipelineConfigSyncResult) Reset() { + *x = Job_PipelineConfigSyncResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23834,13 +23074,13 @@ func (x *Ref_User) Reset() { } } -func (x *Ref_User) String() string { +func (x *Job_PipelineConfigSyncResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_User) ProtoMessage() {} +func (*Job_PipelineConfigSyncResult) ProtoMessage() {} -func (x *Ref_User) ProtoReflect() protoreflect.Message { +func (x *Job_PipelineConfigSyncResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[315] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23852,59 +23092,28 @@ func (x *Ref_User) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_User.ProtoReflect.Descriptor instead. -func (*Ref_User) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 13} -} - -func (m *Ref_User) GetRef() isRef_User_Ref { - if m != nil { - return m.Ref - } - return nil -} - -func (x *Ref_User) GetId() *Ref_UserId { - if x, ok := x.GetRef().(*Ref_User_Id); ok { - return x.Id - } - return nil +// Deprecated: Use Job_PipelineConfigSyncResult.ProtoReflect.Descriptor instead. +func (*Job_PipelineConfigSyncResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 41} } -func (x *Ref_User) GetUsername() *Ref_UserUsername { - if x, ok := x.GetRef().(*Ref_User_Username); ok { - return x.Username +func (x *Job_PipelineConfigSyncResult) GetSyncedPipelines() map[string]*Ref_Pipeline { + if x != nil { + return x.SyncedPipelines } return nil } -type isRef_User_Ref interface { - isRef_User_Ref() -} - -type Ref_User_Id struct { - Id *Ref_UserId `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_User_Username struct { - Username *Ref_UserUsername `protobuf:"bytes,2,opt,name=username,proto3,oneof"` -} - -func (*Ref_User_Id) isRef_User_Ref() {} - -func (*Ref_User_Username) isRef_User_Ref() {} - -// UserId references a user by their ID (ULID-formatted). -type Ref_UserId struct { +type Job_ProjectDestroyResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } -func (x *Ref_UserId) Reset() { - *x = Ref_UserId{} +func (x *Job_ProjectDestroyResult) Reset() { + *x = Job_ProjectDestroyResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23912,13 +23121,13 @@ func (x *Ref_UserId) Reset() { } } -func (x *Ref_UserId) String() string { +func (x *Job_ProjectDestroyResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_UserId) ProtoMessage() {} +func (*Job_ProjectDestroyResult) ProtoMessage() {} -func (x *Ref_UserId) ProtoReflect() protoreflect.Message { +func (x *Job_ProjectDestroyResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[316] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23930,31 +23139,32 @@ func (x *Ref_UserId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_UserId.ProtoReflect.Descriptor instead. -func (*Ref_UserId) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 14} +// Deprecated: Use Job_ProjectDestroyResult.ProtoReflect.Descriptor instead. +func (*Job_ProjectDestroyResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 42} } -func (x *Ref_UserId) GetId() string { +func (x *Job_ProjectDestroyResult) GetJobId() string { if x != nil { - return x.Id + return x.JobId } return "" } -// UserUsername references a user by their username. Note that usernames -// are unique but can be changed at anytime, so for long-living refs -// the ID should be used. -type Ref_UserUsername struct { +// PollOp triggers a poll action for a project. The job will fail if there +// is no data source configured for the project. +// +// A poll operation can be queued even if a project has polling disabled. +// If a project has polling enabled, a manually queued poll operation will +// have no effect on the poll timer or intervals. +type Job_PollOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` } -func (x *Ref_UserUsername) Reset() { - *x = Ref_UserUsername{} +func (x *Job_PollOp) Reset() { + *x = Job_PollOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23962,13 +23172,13 @@ func (x *Ref_UserUsername) Reset() { } } -func (x *Ref_UserUsername) String() string { +func (x *Job_PollOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_UserUsername) ProtoMessage() {} +func (*Job_PollOp) ProtoMessage() {} -func (x *Ref_UserUsername) ProtoReflect() protoreflect.Message { +func (x *Job_PollOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[317] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23980,43 +23190,43 @@ func (x *Ref_UserUsername) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_UserUsername.ProtoReflect.Descriptor instead. -func (*Ref_UserUsername) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 15} -} - -func (x *Ref_UserUsername) GetUsername() string { - if x != nil { - return x.Username - } - return "" +// Deprecated: Use Job_PollOp.ProtoReflect.Descriptor instead. +func (*Job_PollOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 43} } -// AuthMethod references an auth method. -type Ref_AuthMethod struct { +type Job_PollResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *Ref_AuthMethod) Reset() { - *x = Ref_AuthMethod{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[318] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + // This field will be non-empty if and only if polling resulted in + // new data that needs to be deployed. This will be the ID of the job + // that queues the "up" operation. + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // If the poll resulted in new data, old_ref and new_ref will contain + // the two refs that were currently in use. These are nil if the polling + // didn't find new data. + OldRef *Job_DataSource_Ref `protobuf:"bytes,2,opt,name=old_ref,json=oldRef,proto3" json:"old_ref,omitempty"` + NewRef *Job_DataSource_Ref `protobuf:"bytes,3,opt,name=new_ref,json=newRef,proto3" json:"new_ref,omitempty"` +} + +func (x *Job_PollResult) Reset() { + *x = Job_PollResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[318] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } } -func (x *Ref_AuthMethod) String() string { +func (x *Job_PollResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_AuthMethod) ProtoMessage() {} +func (*Job_PollResult) ProtoMessage() {} -func (x *Ref_AuthMethod) ProtoReflect() protoreflect.Message { +func (x *Job_PollResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[318] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24028,29 +23238,43 @@ func (x *Ref_AuthMethod) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_AuthMethod.ProtoReflect.Descriptor instead. -func (*Ref_AuthMethod) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 16} +// Deprecated: Use Job_PollResult.ProtoReflect.Descriptor instead. +func (*Job_PollResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 44} } -func (x *Ref_AuthMethod) GetName() string { +func (x *Job_PollResult) GetJobId() string { if x != nil { - return x.Name + return x.JobId } return "" } -// DeclaredResource references a declared resource. -type Ref_DeclaredResource struct { +func (x *Job_PollResult) GetOldRef() *Job_DataSource_Ref { + if x != nil { + return x.OldRef + } + return nil +} + +func (x *Job_PollResult) GetNewRef() *Job_DataSource_Ref { + if x != nil { + return x.NewRef + } + return nil +} + +// InitOp triggers an init action for a project (the equivalent of `waypoint +// init`). The job will fail if there is no data source configured for the +// project. As with `waypoint init`, this operation is idempotent. +type Job_InitOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *Ref_DeclaredResource) Reset() { - *x = Ref_DeclaredResource{} +func (x *Job_InitOp) Reset() { + *x = Job_InitOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24058,13 +23282,13 @@ func (x *Ref_DeclaredResource) Reset() { } } -func (x *Ref_DeclaredResource) String() string { +func (x *Job_InitOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_DeclaredResource) ProtoMessage() {} +func (*Job_InitOp) ProtoMessage() {} -func (x *Ref_DeclaredResource) ProtoReflect() protoreflect.Message { +func (x *Job_InitOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[319] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24076,31 +23300,19 @@ func (x *Ref_DeclaredResource) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_DeclaredResource.ProtoReflect.Descriptor instead. -func (*Ref_DeclaredResource) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 17} -} - -func (x *Ref_DeclaredResource) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use Job_InitOp.ProtoReflect.Descriptor instead. +func (*Job_InitOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 45} } -// OnDemandRunnerConfig references an OnDemandRunnerConfig value to be used for contextual -// operation. The reference can by via id or name, with id taking priority if both are set. -type Ref_OnDemandRunnerConfig struct { +type Job_InitResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *Ref_OnDemandRunnerConfig) Reset() { - *x = Ref_OnDemandRunnerConfig{} +func (x *Job_InitResult) Reset() { + *x = Job_InitResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24108,13 +23320,13 @@ func (x *Ref_OnDemandRunnerConfig) Reset() { } } -func (x *Ref_OnDemandRunnerConfig) String() string { +func (x *Job_InitResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_OnDemandRunnerConfig) ProtoMessage() {} +func (*Job_InitResult) ProtoMessage() {} -func (x *Ref_OnDemandRunnerConfig) ProtoReflect() protoreflect.Message { +func (x *Job_InitResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[320] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24126,37 +23338,23 @@ func (x *Ref_OnDemandRunnerConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_OnDemandRunnerConfig.ProtoReflect.Descriptor instead. -func (*Ref_OnDemandRunnerConfig) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 18} -} - -func (x *Ref_OnDemandRunnerConfig) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Ref_OnDemandRunnerConfig) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use Job_InitResult.ProtoReflect.Descriptor instead. +func (*Job_InitResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 46} } -// Trigger references a Trigger message value to be used for a given operation. -// It can be looked up by id. -type Ref_Trigger struct { +// PipelineStepOp triggers the execution of a pipeline step. +type Job_PipelineStepOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The step to execute. + Step *Pipeline_Step `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"` } -func (x *Ref_Trigger) Reset() { - *x = Ref_Trigger{} +func (x *Job_PipelineStepOp) Reset() { + *x = Job_PipelineStepOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24164,13 +23362,13 @@ func (x *Ref_Trigger) Reset() { } } -func (x *Ref_Trigger) String() string { +func (x *Job_PipelineStepOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Trigger) ProtoMessage() {} +func (*Job_PipelineStepOp) ProtoMessage() {} -func (x *Ref_Trigger) ProtoReflect() protoreflect.Message { +func (x *Job_PipelineStepOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[321] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24182,29 +23380,32 @@ func (x *Ref_Trigger) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Trigger.ProtoReflect.Descriptor instead. -func (*Ref_Trigger) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 19} +// Deprecated: Use Job_PipelineStepOp.ProtoReflect.Descriptor instead. +func (*Job_PipelineStepOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 47} } -func (x *Ref_Trigger) GetId() string { +func (x *Job_PipelineStepOp) GetStep() *Pipeline_Step { if x != nil { - return x.Id + return x.Step } - return "" + return nil } -// Job references a Job message value by job id. -type Ref_Job struct { +// DestroyProjectOp triggers the deletion of a project from the database +// as well as (optionally) the destruction of all resources created within +// a project +type Job_DestroyProjectOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + SkipDestroyResources bool `protobuf:"varint,2,opt,name=skip_destroy_resources,json=skipDestroyResources,proto3" json:"skip_destroy_resources,omitempty"` } -func (x *Ref_Job) Reset() { - *x = Ref_Job{} +func (x *Job_DestroyProjectOp) Reset() { + *x = Job_DestroyProjectOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24212,13 +23413,13 @@ func (x *Ref_Job) Reset() { } } -func (x *Ref_Job) String() string { +func (x *Job_DestroyProjectOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Job) ProtoMessage() {} +func (*Job_DestroyProjectOp) ProtoMessage() {} -func (x *Ref_Job) ProtoReflect() protoreflect.Message { +func (x *Job_DestroyProjectOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[322] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24230,33 +23431,39 @@ func (x *Ref_Job) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Job.ProtoReflect.Descriptor instead. -func (*Ref_Job) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 20} +// Deprecated: Use Job_DestroyProjectOp.ProtoReflect.Descriptor instead. +func (*Job_DestroyProjectOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 48} } -func (x *Ref_Job) GetId() string { +func (x *Job_DestroyProjectOp) GetProject() *Ref_Project { if x != nil { - return x.Id + return x.Project } - return "" + return nil } -// Task references a Task message by its id or the main run job id it queued -type Ref_Task struct { +func (x *Job_DestroyProjectOp) GetSkipDestroyResources() bool { + if x != nil { + return x.SkipDestroyResources + } + return false +} + +// Note that since we run pipeline steps as jobs, the output of the pipeline +// execution is in the job log. +type Job_PipelineStepResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Ref: - // - // *Ref_Task_Id - // *Ref_Task_JobId - Ref isRef_Task_Ref `protobuf_oneof:"ref"` + // The resulting status from the pipeline step execution. This will + // always be non-nil. On success the code will be OK. + Result *status.Status `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` } -func (x *Ref_Task) Reset() { - *x = Ref_Task{} +func (x *Job_PipelineStepResult) Reset() { + *x = Job_PipelineStepResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24264,13 +23471,13 @@ func (x *Ref_Task) Reset() { } } -func (x *Ref_Task) String() string { +func (x *Job_PipelineStepResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Task) ProtoMessage() {} +func (*Job_PipelineStepResult) ProtoMessage() {} -func (x *Ref_Task) ProtoReflect() protoreflect.Message { +func (x *Job_PipelineStepResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[323] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24282,65 +23489,35 @@ func (x *Ref_Task) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Task.ProtoReflect.Descriptor instead. -func (*Ref_Task) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 21} +// Deprecated: Use Job_PipelineStepResult.ProtoReflect.Descriptor instead. +func (*Job_PipelineStepResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 49} } -func (m *Ref_Task) GetRef() isRef_Task_Ref { - if m != nil { - return m.Ref +func (x *Job_PipelineStepResult) GetResult() *status.Status { + if x != nil { + return x.Result } return nil } -func (x *Ref_Task) GetId() string { - if x, ok := x.GetRef().(*Ref_Task_Id); ok { - return x.Id - } - return "" -} - -func (x *Ref_Task) GetJobId() string { - if x, ok := x.GetRef().(*Ref_Task_JobId); ok { - return x.JobId - } - return "" -} - -type isRef_Task_Ref interface { - isRef_Task_Ref() -} - -type Ref_Task_Id struct { - // the id of the tracktask record - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_Task_JobId struct { - // The main "run" job ID that the task initiated - JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3,oneof"` -} - -func (*Ref_Task_Id) isRef_Task_Ref() {} - -func (*Ref_Task_JobId) isRef_Task_Ref() {} - -// Pipeline references a pipeline using one or more lookup types. -type Ref_Pipeline struct { +// QueueProjectOp queues a job for all applications in a project. The +// applications queued may not directly align with what can be found in +// ListProjects because the application list will be based on the config +// and not the database. +type Job_QueueProjectOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Ref: - // - // *Ref_Pipeline_Id - // *Ref_Pipeline_Owner - Ref isRef_Pipeline_Ref `protobuf_oneof:"ref"` + // The template for the job to queue for each application. The "application" + // field will be overwritten for each application. All other fields are + // untouched. + JobTemplate *Job `protobuf:"bytes,1,opt,name=job_template,json=jobTemplate,proto3" json:"job_template,omitempty"` } -func (x *Ref_Pipeline) Reset() { - *x = Ref_Pipeline{} +func (x *Job_QueueProjectOp) Reset() { + *x = Job_QueueProjectOp{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24348,13 +23525,13 @@ func (x *Ref_Pipeline) Reset() { } } -func (x *Ref_Pipeline) String() string { +func (x *Job_QueueProjectOp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_Pipeline) ProtoMessage() {} +func (*Job_QueueProjectOp) ProtoMessage() {} -func (x *Ref_Pipeline) ProtoReflect() protoreflect.Message { +func (x *Job_QueueProjectOp) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[324] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24366,65 +23543,31 @@ func (x *Ref_Pipeline) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_Pipeline.ProtoReflect.Descriptor instead. -func (*Ref_Pipeline) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 22} -} - -func (m *Ref_Pipeline) GetRef() isRef_Pipeline_Ref { - if m != nil { - return m.Ref - } - return nil -} - -func (x *Ref_Pipeline) GetId() string { - if x, ok := x.GetRef().(*Ref_Pipeline_Id); ok { - return x.Id - } - return "" +// Deprecated: Use Job_QueueProjectOp.ProtoReflect.Descriptor instead. +func (*Job_QueueProjectOp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 50} } -func (x *Ref_Pipeline) GetOwner() *Ref_PipelineOwner { - if x, ok := x.GetRef().(*Ref_Pipeline_Owner); ok { - return x.Owner +func (x *Job_QueueProjectOp) GetJobTemplate() *Job { + if x != nil { + return x.JobTemplate } return nil } -type isRef_Pipeline_Ref interface { - isRef_Pipeline_Ref() -} - -type Ref_Pipeline_Id struct { - // Reference a single pipeline by ID. - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_Pipeline_Owner struct { - // Reference an existing pipeline by Project name and Pipeline name - // Format: "project-name/pipeline-name" - // This assumes that a project cannot have two pipelines with the same name. - Owner *Ref_PipelineOwner `protobuf:"bytes,2,opt,name=owner,proto3,oneof"` -} - -func (*Ref_Pipeline_Id) isRef_Pipeline_Ref() {} - -func (*Ref_Pipeline_Owner) isRef_Pipeline_Ref() {} - -type Ref_PipelineOwner struct { +type Job_QueueProjectResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the project this pipeline is associated with - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // the name of the defined pipeline config - PipelineName string `protobuf:"bytes,2,opt,name=pipeline_name,json=pipelineName,proto3" json:"pipeline_name,omitempty"` + // All applications that had jobs queued. This may be empty even if the + // job was a success. If this is empty, it means that no applications were + // found to have jobs queued. + Applications []*Job_QueueProjectResult_Application `protobuf:"bytes,1,rep,name=applications,proto3" json:"applications,omitempty"` } -func (x *Ref_PipelineOwner) Reset() { - *x = Ref_PipelineOwner{} +func (x *Job_QueueProjectResult) Reset() { + *x = Job_QueueProjectResult{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24432,13 +23575,13 @@ func (x *Ref_PipelineOwner) Reset() { } } -func (x *Ref_PipelineOwner) String() string { +func (x *Job_QueueProjectResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_PipelineOwner) ProtoMessage() {} +func (*Job_QueueProjectResult) ProtoMessage() {} -func (x *Ref_PipelineOwner) ProtoReflect() protoreflect.Message { +func (x *Job_QueueProjectResult) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[325] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24450,46 +23593,33 @@ func (x *Ref_PipelineOwner) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_PipelineOwner.ProtoReflect.Descriptor instead. -func (*Ref_PipelineOwner) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 23} +// Deprecated: Use Job_QueueProjectResult.ProtoReflect.Descriptor instead. +func (*Job_QueueProjectResult) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 51} } -func (x *Ref_PipelineOwner) GetProject() *Ref_Project { +func (x *Job_QueueProjectResult) GetApplications() []*Job_QueueProjectResult_Application { if x != nil { - return x.Project + return x.Applications } return nil } -func (x *Ref_PipelineOwner) GetPipelineName() string { - if x != nil { - return x.PipelineName - } - return "" -} - -type Ref_PipelineStep struct { +// Ref is a reference to the exact set of data used by a data source. +type Job_DataSource_Ref struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // ID of the current pipeline (the one containing the current step) - PipelineId string `protobuf:"bytes,1,opt,name=pipeline_id,json=pipelineId,proto3" json:"pipeline_id,omitempty"` - // Name of the current pipeline - PipelineName string `protobuf:"bytes,2,opt,name=pipeline_name,json=pipelineName,proto3" json:"pipeline_name,omitempty"` - // Step name within the current pipeline - Step string `protobuf:"bytes,3,opt,name=step,proto3" json:"step,omitempty"` - // Run sequence for the root pipeline - RunSequence uint64 `protobuf:"varint,4,opt,name=run_sequence,json=runSequence,proto3" json:"run_sequence,omitempty"` - // Name of the root pipeline (the one invoked in `waypoint pipeline run `) - RootPipelineId string `protobuf:"bytes,5,opt,name=root_pipeline_id,json=rootPipelineId,proto3" json:"root_pipeline_id,omitempty"` - // Name of the root pipeline - RootPipelineName string `protobuf:"bytes,6,opt,name=root_pipeline_name,json=rootPipelineName,proto3" json:"root_pipeline_name,omitempty"` + // Types that are assignable to Ref: + // + // *Job_DataSource_Ref_Unknown + // *Job_DataSource_Ref_Git + Ref isJob_DataSource_Ref_Ref `protobuf_oneof:"ref"` } -func (x *Ref_PipelineStep) Reset() { - *x = Ref_PipelineStep{} +func (x *Job_DataSource_Ref) Reset() { + *x = Job_DataSource_Ref{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24497,13 +23627,13 @@ func (x *Ref_PipelineStep) Reset() { } } -func (x *Ref_PipelineStep) String() string { +func (x *Job_DataSource_Ref) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_PipelineStep) ProtoMessage() {} +func (*Job_DataSource_Ref) ProtoMessage() {} -func (x *Ref_PipelineStep) ProtoReflect() protoreflect.Message { +func (x *Job_DataSource_Ref) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[326] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24515,67 +23645,67 @@ func (x *Ref_PipelineStep) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_PipelineStep.ProtoReflect.Descriptor instead. -func (*Ref_PipelineStep) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 24} +// Deprecated: Use Job_DataSource_Ref.ProtoReflect.Descriptor instead. +func (*Job_DataSource_Ref) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 6, 0} } -func (x *Ref_PipelineStep) GetPipelineId() string { - if x != nil { - return x.PipelineId +func (m *Job_DataSource_Ref) GetRef() isJob_DataSource_Ref_Ref { + if m != nil { + return m.Ref } - return "" + return nil } -func (x *Ref_PipelineStep) GetPipelineName() string { - if x != nil { - return x.PipelineName +func (x *Job_DataSource_Ref) GetUnknown() *emptypb.Empty { + if x, ok := x.GetRef().(*Job_DataSource_Ref_Unknown); ok { + return x.Unknown } - return "" + return nil } -func (x *Ref_PipelineStep) GetStep() string { - if x != nil { - return x.Step +func (x *Job_DataSource_Ref) GetGit() *Job_Git_Ref { + if x, ok := x.GetRef().(*Job_DataSource_Ref_Git); ok { + return x.Git } - return "" + return nil } -func (x *Ref_PipelineStep) GetRunSequence() uint64 { - if x != nil { - return x.RunSequence - } - return 0 +type isJob_DataSource_Ref_Ref interface { + isJob_DataSource_Ref_Ref() } -func (x *Ref_PipelineStep) GetRootPipelineId() string { - if x != nil { - return x.RootPipelineId - } - return "" +type Job_DataSource_Ref_Unknown struct { + // unknown is set if the ref is not known or not supported, such + // as for local data sources where we have no way to uniquely identify. + Unknown *emptypb.Empty `protobuf:"bytes,1,opt,name=unknown,proto3,oneof"` } -func (x *Ref_PipelineStep) GetRootPipelineName() string { - if x != nil { - return x.RootPipelineName - } - return "" +type Job_DataSource_Ref_Git struct { + // git commit + Git *Job_Git_Ref `protobuf:"bytes,2,opt,name=git,proto3,oneof"` } -type Ref_ProjectTemplate struct { +func (*Job_DataSource_Ref_Unknown) isJob_DataSource_Ref_Ref() {} + +func (*Job_DataSource_Ref_Git) isJob_DataSource_Ref_Ref() {} + +// Basic auth +type Job_Git_Basic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Ref: - // - // *Ref_ProjectTemplate_Id - // *Ref_ProjectTemplate_Name - Ref isRef_ProjectTemplate_Ref `protobuf_oneof:"ref"` + // username for authentication. If using access token based auth + // for something like GitHub, this can be any non-empty string. + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // password for authentication. If using access token based auth + // for GitHub, this should be the access token. + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } -func (x *Ref_ProjectTemplate) Reset() { - *x = Ref_ProjectTemplate{} +func (x *Job_Git_Basic) Reset() { + *x = Job_Git_Basic{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24583,13 +23713,13 @@ func (x *Ref_ProjectTemplate) Reset() { } } -func (x *Ref_ProjectTemplate) String() string { +func (x *Job_Git_Basic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_ProjectTemplate) ProtoMessage() {} +func (*Job_Git_Basic) ProtoMessage() {} -func (x *Ref_ProjectTemplate) ProtoReflect() protoreflect.Message { +func (x *Job_Git_Basic) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[327] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24601,64 +23731,42 @@ func (x *Ref_ProjectTemplate) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_ProjectTemplate.ProtoReflect.Descriptor instead. -func (*Ref_ProjectTemplate) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 25} -} - -func (m *Ref_ProjectTemplate) GetRef() isRef_ProjectTemplate_Ref { - if m != nil { - return m.Ref - } - return nil +// Deprecated: Use Job_Git_Basic.ProtoReflect.Descriptor instead. +func (*Job_Git_Basic) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 0} } -func (x *Ref_ProjectTemplate) GetId() string { - if x, ok := x.GetRef().(*Ref_ProjectTemplate_Id); ok { - return x.Id +func (x *Job_Git_Basic) GetUsername() string { + if x != nil { + return x.Username } return "" } -func (x *Ref_ProjectTemplate) GetName() string { - if x, ok := x.GetRef().(*Ref_ProjectTemplate_Name); ok { - return x.Name +func (x *Job_Git_Basic) GetPassword() string { + if x != nil { + return x.Password } return "" } -type isRef_ProjectTemplate_Ref interface { - isRef_ProjectTemplate_Ref() -} - -type Ref_ProjectTemplate_Id struct { - // ID of the ProjectTemplate - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_ProjectTemplate_Name struct { - // Name of the ProjectTemplate - Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` -} - -func (*Ref_ProjectTemplate_Id) isRef_ProjectTemplate_Ref() {} - -func (*Ref_ProjectTemplate_Name) isRef_ProjectTemplate_Ref() {} - -type Ref_AddOnDefinition struct { +// SSH private key auth +type Job_Git_SSH struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Identifier: - // - // *Ref_AddOnDefinition_Id - // *Ref_AddOnDefinition_Name - Identifier isRef_AddOnDefinition_Identifier `protobuf_oneof:"identifier"` + // private_key_pem is a PEM-encoded private key. + PrivateKeyPem []byte `protobuf:"bytes,1,opt,name=private_key_pem,json=privateKeyPem,proto3" json:"private_key_pem,omitempty"` + // password is an optional password for decoding the private key. + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // user is the SSH user to use when cloning. This will default to + // "git" if not specified. + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` } -func (x *Ref_AddOnDefinition) Reset() { - *x = Ref_AddOnDefinition{} +func (x *Job_Git_SSH) Reset() { + *x = Job_Git_SSH{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24666,13 +23774,13 @@ func (x *Ref_AddOnDefinition) Reset() { } } -func (x *Ref_AddOnDefinition) String() string { +func (x *Job_Git_SSH) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_AddOnDefinition) ProtoMessage() {} +func (*Job_Git_SSH) ProtoMessage() {} -func (x *Ref_AddOnDefinition) ProtoReflect() protoreflect.Message { +func (x *Job_Git_SSH) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[328] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24684,62 +23792,48 @@ func (x *Ref_AddOnDefinition) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_AddOnDefinition.ProtoReflect.Descriptor instead. -func (*Ref_AddOnDefinition) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 26} +// Deprecated: Use Job_Git_SSH.ProtoReflect.Descriptor instead. +func (*Job_Git_SSH) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 1} } -func (m *Ref_AddOnDefinition) GetIdentifier() isRef_AddOnDefinition_Identifier { - if m != nil { - return m.Identifier +func (x *Job_Git_SSH) GetPrivateKeyPem() []byte { + if x != nil { + return x.PrivateKeyPem } return nil } -func (x *Ref_AddOnDefinition) GetId() string { - if x, ok := x.GetIdentifier().(*Ref_AddOnDefinition_Id); ok { - return x.Id +func (x *Job_Git_SSH) GetPassword() string { + if x != nil { + return x.Password } return "" } -func (x *Ref_AddOnDefinition) GetName() string { - if x, ok := x.GetIdentifier().(*Ref_AddOnDefinition_Name); ok { - return x.Name +func (x *Job_Git_SSH) GetUser() string { + if x != nil { + return x.User } return "" } -type isRef_AddOnDefinition_Identifier interface { - isRef_AddOnDefinition_Identifier() -} +// Ref is used to populate DataSource.Ref +type Job_Git_Ref struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -type Ref_AddOnDefinition_Id struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_AddOnDefinition_Name struct { - Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` -} - -func (*Ref_AddOnDefinition_Id) isRef_AddOnDefinition_Identifier() {} - -func (*Ref_AddOnDefinition_Name) isRef_AddOnDefinition_Identifier() {} - -type Ref_AddOn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Identifier: - // - // *Ref_AddOn_Id - // *Ref_AddOn_Name - Identifier isRef_AddOn_Identifier `protobuf_oneof:"identifier"` + // commit is the full commit hash + Commit string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"` + // timestamp is the timestamp of the commit + Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // commit_message is the commit message, contains arbitrary text + CommitMessage string `protobuf:"bytes,3,opt,name=commit_message,json=commitMessage,proto3" json:"commit_message,omitempty"` } -func (x *Ref_AddOn) Reset() { - *x = Ref_AddOn{} +func (x *Job_Git_Ref) Reset() { + *x = Job_Git_Ref{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24747,13 +23841,13 @@ func (x *Ref_AddOn) Reset() { } } -func (x *Ref_AddOn) String() string { +func (x *Job_Git_Ref) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Ref_AddOn) ProtoMessage() {} +func (*Job_Git_Ref) ProtoMessage() {} -func (x *Ref_AddOn) ProtoReflect() protoreflect.Message { +func (x *Job_Git_Ref) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[329] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24765,76 +23859,75 @@ func (x *Ref_AddOn) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ref_AddOn.ProtoReflect.Descriptor instead. -func (*Ref_AddOn) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{9, 27} +// Deprecated: Use Job_Git_Ref.ProtoReflect.Descriptor instead. +func (*Job_Git_Ref) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 2} } -func (m *Ref_AddOn) GetIdentifier() isRef_AddOn_Identifier { - if m != nil { - return m.Identifier +func (x *Job_Git_Ref) GetCommit() string { + if x != nil { + return x.Commit } - return nil + return "" } -func (x *Ref_AddOn) GetId() string { - if x, ok := x.GetIdentifier().(*Ref_AddOn_Id); ok { - return x.Id +func (x *Job_Git_Ref) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp } - return "" + return nil } -func (x *Ref_AddOn) GetName() string { - if x, ok := x.GetIdentifier().(*Ref_AddOn_Name); ok { - return x.Name +func (x *Job_Git_Ref) GetCommitMessage() string { + if x != nil { + return x.CommitMessage } return "" } -type isRef_AddOn_Identifier interface { - isRef_AddOn_Identifier() -} - -type Ref_AddOn_Id struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` -} - -type Ref_AddOn_Name struct { - Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` -} - -func (*Ref_AddOn_Id) isRef_AddOn_Identifier() {} - -func (*Ref_AddOn_Name) isRef_AddOn_Identifier() {} - -type StatusFilter_Filter struct { +type Job_AuthResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Filter: - // - // *StatusFilter_Filter_State - Filter isStatusFilter_Filter_Filter `protobuf_oneof:"filter"` + // component that was checked + Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` + // result of the auth check. If the component didn't implement the + // auth interface this will be set to true. You can check for interface + // implementation using auth_supported. If auth is attempted, the auth + // operation will recheck the status and this value will reflect the + // check post-auth attempt. You can use this to verify if the auth + // succeeded. + CheckResult bool `protobuf:"varint,2,opt,name=check_result,json=checkResult,proto3" json:"check_result,omitempty"` + CheckError *status.Status `protobuf:"bytes,3,opt,name=check_error,json=checkError,proto3" json:"check_error,omitempty"` + // this is true if the component was authenticated using the Auth + // callback. If false, then no attempt was made to authenticate. This + // can be on purpose for example if "check_only" is set to true on + // the op. + AuthCompleted bool `protobuf:"varint,4,opt,name=auth_completed,json=authCompleted,proto3" json:"auth_completed,omitempty"` + AuthError *status.Status `protobuf:"bytes,5,opt,name=auth_error,json=authError,proto3" json:"auth_error,omitempty"` + // auth supported is true if this component implemented the auth + // interface. + AuthSupported bool `protobuf:"varint,6,opt,name=auth_supported,json=authSupported,proto3" json:"auth_supported,omitempty"` } -func (x *StatusFilter_Filter) Reset() { - *x = StatusFilter_Filter{} +func (x *Job_AuthResult_Result) Reset() { + *x = Job_AuthResult_Result{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[331] + mi := &file_pkg_server_proto_server_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StatusFilter_Filter) String() string { +func (x *Job_AuthResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatusFilter_Filter) ProtoMessage() {} +func (*Job_AuthResult_Result) ProtoMessage() {} -func (x *StatusFilter_Filter) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[331] +func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[330] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24845,92 +23938,80 @@ func (x *StatusFilter_Filter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatusFilter_Filter.ProtoReflect.Descriptor instead. -func (*StatusFilter_Filter) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{12, 0} +// Deprecated: Use Job_AuthResult_Result.ProtoReflect.Descriptor instead. +func (*Job_AuthResult_Result) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 16, 0} } -func (m *StatusFilter_Filter) GetFilter() isStatusFilter_Filter_Filter { - if m != nil { - return m.Filter +func (x *Job_AuthResult_Result) GetComponent() *Component { + if x != nil { + return x.Component } return nil } -func (x *StatusFilter_Filter) GetState() Status_State { - if x, ok := x.GetFilter().(*StatusFilter_Filter_State); ok { - return x.State +func (x *Job_AuthResult_Result) GetCheckResult() bool { + if x != nil { + return x.CheckResult } - return Status_UNKNOWN + return false } -type isStatusFilter_Filter_Filter interface { - isStatusFilter_Filter_Filter() +func (x *Job_AuthResult_Result) GetCheckError() *status.Status { + if x != nil { + return x.CheckError + } + return nil } -type StatusFilter_Filter_State struct { - // state will match any status that has the given state. - State Status_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.waypoint.Status_State,oneof"` +func (x *Job_AuthResult_Result) GetAuthCompleted() bool { + if x != nil { + return x.AuthCompleted + } + return false } -func (*StatusFilter_Filter_State) isStatusFilter_Filter_Filter() {} +func (x *Job_AuthResult_Result) GetAuthError() *status.Status { + if x != nil { + return x.AuthError + } + return nil +} -type AuthMethod_OIDC struct { +func (x *Job_AuthResult_Result) GetAuthSupported() bool { + if x != nil { + return x.AuthSupported + } + return false +} + +type Job_DocsResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // client ID and secret provided by OIDC provider. - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - // scopes is a list of scopes to request from the provider - Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` - // List of valid audience values to accept login. This can be - // used to restrict only certain folks in a shared OIDC domain. - Auds []string `protobuf:"bytes,4,rep,name=auds,proto3" json:"auds,omitempty"` - // List of allowed redirect URIs, since our redirect URIs - // are somewhat dynamic (UI for web UI, localhost server for - // CLI, etc.). This protects against attack since this is not - // generally recommended. - AllowedRedirectUris []string `protobuf:"bytes,5,rep,name=allowed_redirect_uris,json=allowedRedirectUris,proto3" json:"allowed_redirect_uris,omitempty"` - // The signing algorithms supported by the OIDC connect server. - // If this isn't specified, this will default to RS256 since that - // should be supported according to the RFC. The string values here - // should be valid OIDC signing algorithms. - SigningAlgs []string `protobuf:"bytes,11,rep,name=signing_algs,json=signingAlgs,proto3" json:"signing_algs,omitempty"` - // Discovery URL endpoint to get other information. - // Required by OIDC. - DiscoveryUrl string `protobuf:"bytes,6,opt,name=discovery_url,json=discoveryUrl,proto3" json:"discovery_url,omitempty"` - // Optional CA certificate chain to validate the discovery URL. - // Multiple CA certificates can be specified to support easier - // rotation. - DiscoveryCaPem []string `protobuf:"bytes,7,rep,name=discovery_ca_pem,json=discoveryCaPem,proto3" json:"discovery_ca_pem,omitempty"` - // Mapping claims to keys for usage in selectors such as the - // "access_selector" on the root auth method. - // - // claim mappings are available as "value." and list - // mappings are available as "list.". - ClaimMappings map[string]string `protobuf:"bytes,8,rep,name=claim_mappings,json=claimMappings,proto3" json:"claim_mappings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - ListClaimMappings map[string]string `protobuf:"bytes,9,rep,name=list_claim_mappings,json=listClaimMappings,proto3" json:"list_claim_mappings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // component that the docs are for + Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` + Docs *Documentation `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` } -func (x *AuthMethod_OIDC) Reset() { - *x = AuthMethod_OIDC{} +func (x *Job_DocsResult_Result) Reset() { + *x = Job_DocsResult_Result{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[333] + mi := &file_pkg_server_proto_server_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AuthMethod_OIDC) String() string { +func (x *Job_DocsResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AuthMethod_OIDC) ProtoMessage() {} +func (*Job_DocsResult_Result) ProtoMessage() {} -func (x *AuthMethod_OIDC) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[333] +func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[331] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24941,113 +24022,53 @@ func (x *AuthMethod_OIDC) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AuthMethod_OIDC.ProtoReflect.Descriptor instead. -func (*AuthMethod_OIDC) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{35, 0} -} - -func (x *AuthMethod_OIDC) GetClientId() string { - if x != nil { - return x.ClientId - } - return "" -} - -func (x *AuthMethod_OIDC) GetClientSecret() string { - if x != nil { - return x.ClientSecret - } - return "" -} - -func (x *AuthMethod_OIDC) GetScopes() []string { - if x != nil { - return x.Scopes - } - return nil -} - -func (x *AuthMethod_OIDC) GetAuds() []string { - if x != nil { - return x.Auds - } - return nil -} - -func (x *AuthMethod_OIDC) GetAllowedRedirectUris() []string { - if x != nil { - return x.AllowedRedirectUris - } - return nil -} - -func (x *AuthMethod_OIDC) GetSigningAlgs() []string { - if x != nil { - return x.SigningAlgs - } - return nil -} - -func (x *AuthMethod_OIDC) GetDiscoveryUrl() string { - if x != nil { - return x.DiscoveryUrl - } - return "" -} - -func (x *AuthMethod_OIDC) GetDiscoveryCaPem() []string { - if x != nil { - return x.DiscoveryCaPem - } - return nil +// Deprecated: Use Job_DocsResult_Result.ProtoReflect.Descriptor instead. +func (*Job_DocsResult_Result) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 38, 0} } -func (x *AuthMethod_OIDC) GetClaimMappings() map[string]string { +func (x *Job_DocsResult_Result) GetComponent() *Component { if x != nil { - return x.ClaimMappings + return x.Component } return nil } -func (x *AuthMethod_OIDC) GetListClaimMappings() map[string]string { +func (x *Job_DocsResult_Result) GetDocs() *Documentation { if x != nil { - return x.ListClaimMappings + return x.Docs } return nil } -type Job_TaskOverride struct { +type Job_QueueProjectResult_Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Launch info for the task. The environment variables will be merged - // with the defaults. If no OCI URL is specified, the ODR profile - // settings are used. - LaunchInfo *TaskLaunchInfo `protobuf:"bytes,1,opt,name=launch_info,json=launchInfo,proto3" json:"launch_info,omitempty"` - // If true, the operation will not be queued. This only works with - // Noop operations out of safety. This is primarliy for tasks that - // are NOT runners. - SkipOperation bool `protobuf:"varint,2,opt,name=skip_operation,json=skipOperation,proto3" json:"skip_operation,omitempty"` + // Application that was queued. + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // ID of the job that was queued. + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } -func (x *Job_TaskOverride) Reset() { - *x = Job_TaskOverride{} +func (x *Job_QueueProjectResult_Application) Reset() { + *x = Job_QueueProjectResult_Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[336] + mi := &file_pkg_server_proto_server_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_TaskOverride) String() string { +func (x *Job_QueueProjectResult_Application) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_TaskOverride) ProtoMessage() {} +func (*Job_QueueProjectResult_Application) ProtoMessage() {} -func (x *Job_TaskOverride) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[336] +func (x *Job_QueueProjectResult_Application) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[333] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25058,67 +24079,56 @@ func (x *Job_TaskOverride) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_TaskOverride.ProtoReflect.Descriptor instead. -func (*Job_TaskOverride) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 0} +// Deprecated: Use Job_QueueProjectResult_Application.ProtoReflect.Descriptor instead. +func (*Job_QueueProjectResult_Application) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 51, 0} } -func (x *Job_TaskOverride) GetLaunchInfo() *TaskLaunchInfo { +func (x *Job_QueueProjectResult_Application) GetApplication() *Ref_Application { if x != nil { - return x.LaunchInfo + return x.Application } return nil } -func (x *Job_TaskOverride) GetSkipOperation() bool { +func (x *Job_QueueProjectResult_Application) GetJobId() string { if x != nil { - return x.SkipOperation + return x.JobId } - return false + return "" } -type Job_Result struct { +type Documentation_Field struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Build *Job_BuildResult `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` - Push *Job_PushResult `protobuf:"bytes,2,opt,name=push,proto3" json:"push,omitempty"` - Deploy *Job_DeployResult `protobuf:"bytes,3,opt,name=deploy,proto3" json:"deploy,omitempty"` - Release *Job_ReleaseResult `protobuf:"bytes,4,opt,name=release,proto3" json:"release,omitempty"` - Validate *Job_ValidateResult `protobuf:"bytes,5,opt,name=validate,proto3" json:"validate,omitempty"` - Auth *Job_AuthResult `protobuf:"bytes,6,opt,name=auth,proto3" json:"auth,omitempty"` - Docs *Job_DocsResult `protobuf:"bytes,7,opt,name=docs,proto3" json:"docs,omitempty"` - ConfigSync *Job_ConfigSyncResult `protobuf:"bytes,8,opt,name=config_sync,json=configSync,proto3" json:"config_sync,omitempty"` - Up *Job_UpResult `protobuf:"bytes,9,opt,name=up,proto3" json:"up,omitempty"` - QueueProject *Job_QueueProjectResult `protobuf:"bytes,10,opt,name=queue_project,json=queueProject,proto3" json:"queue_project,omitempty"` - Poll *Job_PollResult `protobuf:"bytes,11,opt,name=poll,proto3" json:"poll,omitempty"` - StatusReport *Job_StatusReportResult `protobuf:"bytes,12,opt,name=status_report,json=statusReport,proto3" json:"status_report,omitempty"` - StartTask *Job_StartTaskResult `protobuf:"bytes,13,opt,name=start_task,json=startTask,proto3" json:"start_task,omitempty"` - Init *Job_InitResult `protobuf:"bytes,14,opt,name=init,proto3" json:"init,omitempty"` - WatchTask *Job_WatchTaskResult `protobuf:"bytes,15,opt,name=watch_task,json=watchTask,proto3" json:"watch_task,omitempty"` - PipelineStep *Job_PipelineStepResult `protobuf:"bytes,16,opt,name=pipeline_step,json=pipelineStep,proto3" json:"pipeline_step,omitempty"` - PipelineConfigSync *Job_PipelineConfigSyncResult `protobuf:"bytes,17,opt,name=pipeline_config_sync,json=pipelineConfigSync,proto3" json:"pipeline_config_sync,omitempty"` - ProjectDestroy *Job_ProjectDestroyResult `protobuf:"bytes,18,opt,name=project_destroy,json=projectDestroy,proto3" json:"project_destroy,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Synopsis string `protobuf:"bytes,2,opt,name=synopsis,proto3" json:"synopsis,omitempty"` + Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` + Optional bool `protobuf:"varint,4,opt,name=optional,proto3" json:"optional,omitempty"` + EnvVar string `protobuf:"bytes,5,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` + Default string `protobuf:"bytes,7,opt,name=default,proto3" json:"default,omitempty"` } -func (x *Job_Result) Reset() { - *x = Job_Result{} +func (x *Documentation_Field) Reset() { + *x = Documentation_Field{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[340] + mi := &file_pkg_server_proto_server_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Result) String() string { +func (x *Documentation_Field) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Result) ProtoMessage() {} +func (*Documentation_Field) ProtoMessage() {} -func (x *Job_Result) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[340] +func (x *Documentation_Field) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[335] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25129,163 +24139,146 @@ func (x *Job_Result) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Result.ProtoReflect.Descriptor instead. -func (*Job_Result) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 4} -} - -func (x *Job_Result) GetBuild() *Job_BuildResult { - if x != nil { - return x.Build - } - return nil +// Deprecated: Use Documentation_Field.ProtoReflect.Descriptor instead. +func (*Documentation_Field) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{54, 1} } -func (x *Job_Result) GetPush() *Job_PushResult { +func (x *Documentation_Field) GetName() string { if x != nil { - return x.Push + return x.Name } - return nil + return "" } -func (x *Job_Result) GetDeploy() *Job_DeployResult { +func (x *Documentation_Field) GetSynopsis() string { if x != nil { - return x.Deploy + return x.Synopsis } - return nil + return "" } -func (x *Job_Result) GetRelease() *Job_ReleaseResult { +func (x *Documentation_Field) GetSummary() string { if x != nil { - return x.Release + return x.Summary } - return nil + return "" } -func (x *Job_Result) GetValidate() *Job_ValidateResult { +func (x *Documentation_Field) GetOptional() bool { if x != nil { - return x.Validate + return x.Optional } - return nil + return false } -func (x *Job_Result) GetAuth() *Job_AuthResult { +func (x *Documentation_Field) GetEnvVar() string { if x != nil { - return x.Auth + return x.EnvVar } - return nil + return "" } -func (x *Job_Result) GetDocs() *Job_DocsResult { +func (x *Documentation_Field) GetType() string { if x != nil { - return x.Docs + return x.Type } - return nil + return "" } -func (x *Job_Result) GetConfigSync() *Job_ConfigSyncResult { +func (x *Documentation_Field) GetDefault() string { if x != nil { - return x.ConfigSync + return x.Default } - return nil + return "" } -func (x *Job_Result) GetUp() *Job_UpResult { - if x != nil { - return x.Up - } - return nil -} +type Documentation_Mapper struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Job_Result) GetQueueProject() *Job_QueueProjectResult { - if x != nil { - return x.QueueProject - } - return nil + Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` } -func (x *Job_Result) GetPoll() *Job_PollResult { - if x != nil { - return x.Poll +func (x *Documentation_Mapper) Reset() { + *x = Documentation_Mapper{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[336] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Job_Result) GetStatusReport() *Job_StatusReportResult { - if x != nil { - return x.StatusReport - } - return nil +func (x *Documentation_Mapper) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Job_Result) GetStartTask() *Job_StartTaskResult { - if x != nil { - return x.StartTask - } - return nil -} +func (*Documentation_Mapper) ProtoMessage() {} -func (x *Job_Result) GetInit() *Job_InitResult { - if x != nil { - return x.Init +func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[336] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Job_Result) GetWatchTask() *Job_WatchTaskResult { - if x != nil { - return x.WatchTask - } - return nil +// Deprecated: Use Documentation_Mapper.ProtoReflect.Descriptor instead. +func (*Documentation_Mapper) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{54, 2} } -func (x *Job_Result) GetPipelineStep() *Job_PipelineStepResult { +func (x *Documentation_Mapper) GetInput() string { if x != nil { - return x.PipelineStep + return x.Input } - return nil + return "" } -func (x *Job_Result) GetPipelineConfigSync() *Job_PipelineConfigSyncResult { +func (x *Documentation_Mapper) GetOutput() string { if x != nil { - return x.PipelineConfigSync + return x.Output } - return nil + return "" } -func (x *Job_Result) GetProjectDestroy() *Job_ProjectDestroyResult { +func (x *Documentation_Mapper) GetDescription() string { if x != nil { - return x.ProjectDestroy + return x.Description } - return nil + return "" } -type Job_Config struct { +type GetJobStreamResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Source is the location where the configuration was loaded from. - Source Job_Config_Source `protobuf:"varint,1,opt,name=source,proto3,enum=hashicorp.waypoint.Job_Config_Source" json:"source,omitempty"` } -func (x *Job_Config) Reset() { - *x = Job_Config{} +func (x *GetJobStreamResponse_Open) Reset() { + *x = GetJobStreamResponse_Open{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[341] + mi := &file_pkg_server_proto_server_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Config) String() string { +func (x *GetJobStreamResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Config) ProtoMessage() {} +func (*GetJobStreamResponse_Open) ProtoMessage() {} -func (x *Job_Config) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[341] +func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[337] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25296,48 +24289,44 @@ func (x *Job_Config) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Config.ProtoReflect.Descriptor instead. -func (*Job_Config) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 5} -} - -func (x *Job_Config) GetSource() Job_Config_Source { - if x != nil { - return x.Source - } - return Job_Config_UNKNOWN +// Deprecated: Use GetJobStreamResponse_Open.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 0} } -type Job_DataSource struct { +type GetJobStreamResponse_State struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Source: - // - // *Job_DataSource_Local - // *Job_DataSource_Git - // *Job_DataSource_Remote - Source isJob_DataSource_Source `protobuf_oneof:"source"` + // previous and current are the previous and current states, respectively. + Previous Job_State `protobuf:"varint,1,opt,name=previous,proto3,enum=hashicorp.waypoint.Job_State" json:"previous,omitempty"` + Current Job_State `protobuf:"varint,2,opt,name=current,proto3,enum=hashicorp.waypoint.Job_State" json:"current,omitempty"` + // The full updated job is also sent because additional fields may be + // set depending on the state (such as the assigned runner, assignment + // times, etc.) + Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"` + // canceling is true if the job was requested to be canceled. + Canceling bool `protobuf:"varint,4,opt,name=canceling,proto3" json:"canceling,omitempty"` } -func (x *Job_DataSource) Reset() { - *x = Job_DataSource{} +func (x *GetJobStreamResponse_State) Reset() { + *x = GetJobStreamResponse_State{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[342] + mi := &file_pkg_server_proto_server_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DataSource) String() string { +func (x *GetJobStreamResponse_State) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DataSource) ProtoMessage() {} +func (*GetJobStreamResponse_State) ProtoMessage() {} -func (x *Job_DataSource) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[342] +func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[338] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25348,91 +24337,65 @@ func (x *Job_DataSource) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DataSource.ProtoReflect.Descriptor instead. -func (*Job_DataSource) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 6} +// Deprecated: Use GetJobStreamResponse_State.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_State) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 1} } -func (m *Job_DataSource) GetSource() isJob_DataSource_Source { - if m != nil { - return m.Source +func (x *GetJobStreamResponse_State) GetPrevious() Job_State { + if x != nil { + return x.Previous } - return nil + return Job_UNKNOWN } -func (x *Job_DataSource) GetLocal() *Job_Local { - if x, ok := x.GetSource().(*Job_DataSource_Local); ok { - return x.Local +func (x *GetJobStreamResponse_State) GetCurrent() Job_State { + if x != nil { + return x.Current } - return nil + return Job_UNKNOWN } -func (x *Job_DataSource) GetGit() *Job_Git { - if x, ok := x.GetSource().(*Job_DataSource_Git); ok { - return x.Git +func (x *GetJobStreamResponse_State) GetJob() *Job { + if x != nil { + return x.Job } return nil } -func (x *Job_DataSource) GetRemote() *Job_Remote { - if x, ok := x.GetSource().(*Job_DataSource_Remote); ok { - return x.Remote +func (x *GetJobStreamResponse_State) GetCanceling() bool { + if x != nil { + return x.Canceling } - return nil -} - -type isJob_DataSource_Source interface { - isJob_DataSource_Source() -} - -type Job_DataSource_Local struct { - // local means the runner has access to the data locally and will - // know what to do. This is primarily only useful if the target_runner - // is a specific runner and should not be used by any runner unless your - // runners are configured to have access to the proper data. - Local *Job_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` -} - -type Job_DataSource_Git struct { - // git will check out the data from a Git repository. - Git *Job_Git `protobuf:"bytes,2,opt,name=git,proto3,oneof"` -} - -type Job_DataSource_Remote struct { - // remote means that the Waypoint server has special logic for how to - // fetch the data. - Remote *Job_Remote `protobuf:"bytes,3,opt,name=remote,proto3,oneof"` + return false } -func (*Job_DataSource_Local) isJob_DataSource_Source() {} - -func (*Job_DataSource_Git) isJob_DataSource_Source() {} - -func (*Job_DataSource_Remote) isJob_DataSource_Source() {} - -type Job_Local struct { +type GetJobStreamResponse_JobChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The full updated job. + Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } -func (x *Job_Local) Reset() { - *x = Job_Local{} +func (x *GetJobStreamResponse_JobChange) Reset() { + *x = GetJobStreamResponse_JobChange{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[343] + mi := &file_pkg_server_proto_server_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Local) String() string { +func (x *GetJobStreamResponse_JobChange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Local) ProtoMessage() {} +func (*GetJobStreamResponse_JobChange) ProtoMessage() {} -func (x *Job_Local) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[343] +func (x *GetJobStreamResponse_JobChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[339] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25443,44 +24406,46 @@ func (x *Job_Local) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Local.ProtoReflect.Descriptor instead. -func (*Job_Local) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 7} +// Deprecated: Use GetJobStreamResponse_JobChange.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_JobChange) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 2} } -type Job_Remote struct { +func (x *GetJobStreamResponse_JobChange) GetJob() *Job { + if x != nil { + return x.Job + } + return nil +} + +type GetJobStreamResponse_Download struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Description is information about how the Waypoint server - // acquires the data. - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - // If remote refers to a git repo, git_remote will be partially populate - // with information about which information within the git repo to use. - GitRemote *Job_Git `protobuf:"bytes,2,opt,name=git_remote,json=gitRemote,proto3" json:"git_remote,omitempty"` - // This corresponds with the implicit behavior associated with data source - // polling, whereby if the polling is successful, we perform an Up operation. - DeployOnChange bool `protobuf:"varint,3,opt,name=deploy_on_change,json=deployOnChange,proto3" json:"deploy_on_change,omitempty"` + // The ref for the data that was downloaded. This can be nil if no + // data was downloaded (though it'd be more reasonable to just not + // send a download event in that case). + DataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=data_source_ref,json=dataSourceRef,proto3" json:"data_source_ref,omitempty"` } -func (x *Job_Remote) Reset() { - *x = Job_Remote{} +func (x *GetJobStreamResponse_Download) Reset() { + *x = GetJobStreamResponse_Download{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[344] + mi := &file_pkg_server_proto_server_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Remote) String() string { +func (x *GetJobStreamResponse_Download) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Remote) ProtoMessage() {} +func (*GetJobStreamResponse_Download) ProtoMessage() {} -func (x *Job_Remote) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[344] +func (x *GetJobStreamResponse_Download) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[340] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25491,87 +24456,48 @@ func (x *Job_Remote) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Remote.ProtoReflect.Descriptor instead. -func (*Job_Remote) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 8} -} - -func (x *Job_Remote) GetDescription() string { - if x != nil { - return x.Description - } - return "" +// Deprecated: Use GetJobStreamResponse_Download.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Download) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 3} } -func (x *Job_Remote) GetGitRemote() *Job_Git { +func (x *GetJobStreamResponse_Download) GetDataSourceRef() *Job_DataSource_Ref { if x != nil { - return x.GitRemote + return x.DataSourceRef } return nil } -func (x *Job_Remote) GetDeployOnChange() bool { - if x != nil { - return x.DeployOnChange - } - return false -} - -type Job_Git struct { +type GetJobStreamResponse_Terminal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // url of the repository to clone. Local paths are not allowed. - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - // a ref to checkout. If this isn't specified, then the default - // ref that is cloned from the URL above will be used. - Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` - // path is a subdirectory within the checked out repository to - // go into for the project's configuration. This must be a relative path - // and may not contain ".." - Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` - // This setting only takes effect if both "path" is true AND the - // Git polling is enabled. Under those conditions, if this option - // is true, then only changes in Git commits within the "path" will - // trigger a deploy. Changes outside the "path" will be ignored. - IgnoreChangesOutsidePath bool `protobuf:"varint,10,opt,name=ignore_changes_outside_path,json=ignoreChangesOutsidePath,proto3" json:"ignore_changes_outside_path,omitempty"` - // The max depth for recursively cloning submodules. 0 disables submodule - // cloning. - RecurseSubmodules uint32 `protobuf:"varint,11,opt,name=recurse_submodules,json=recurseSubmodules,proto3" json:"recurse_submodules,omitempty"` - // auth is the auth mechanism to use for this data source. This is optional. - // If this isn't set, then the data source will attempt to clone - // without setting any explicit auth. This usually picks up machine - // settings like ssh config files and so on if they exist. - // - // Note that any auth settings set here are stored in the server and - // may NOT be encrypted. If you want increased security, we recommend - // using auth baked into the machine running Waypoint. - // - // Types that are assignable to Auth: - // - // *Job_Git_Basic_ - // *Job_Git_Ssh - Auth isJob_Git_Auth `protobuf_oneof:"auth"` + Events []*GetJobStreamResponse_Terminal_Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + // buffered if true signifies that the data being sent is from the + // server buffer and is historical vs real-time since the stream was + // opened. If this is true, all lines are buffered. We will never mix + // buffered and non-buffered lines. + Buffered bool `protobuf:"varint,2,opt,name=buffered,proto3" json:"buffered,omitempty"` } -func (x *Job_Git) Reset() { - *x = Job_Git{} +func (x *GetJobStreamResponse_Terminal) Reset() { + *x = GetJobStreamResponse_Terminal{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[345] + mi := &file_pkg_server_proto_server_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Git) String() string { +func (x *GetJobStreamResponse_Terminal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Git) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal) ProtoMessage() {} -func (x *Job_Git) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[345] +func (x *GetJobStreamResponse_Terminal) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[341] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25582,110 +24508,50 @@ func (x *Job_Git) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Git.ProtoReflect.Descriptor instead. -func (*Job_Git) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9} -} - -func (x *Job_Git) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *Job_Git) GetRef() string { - if x != nil { - return x.Ref - } - return "" +// Deprecated: Use GetJobStreamResponse_Terminal.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4} } -func (x *Job_Git) GetPath() string { +func (x *GetJobStreamResponse_Terminal) GetEvents() []*GetJobStreamResponse_Terminal_Event { if x != nil { - return x.Path + return x.Events } - return "" + return nil } -func (x *Job_Git) GetIgnoreChangesOutsidePath() bool { +func (x *GetJobStreamResponse_Terminal) GetBuffered() bool { if x != nil { - return x.IgnoreChangesOutsidePath + return x.Buffered } return false } -func (x *Job_Git) GetRecurseSubmodules() uint32 { - if x != nil { - return x.RecurseSubmodules - } - return 0 -} - -func (m *Job_Git) GetAuth() isJob_Git_Auth { - if m != nil { - return m.Auth - } - return nil -} - -func (x *Job_Git) GetBasic() *Job_Git_Basic { - if x, ok := x.GetAuth().(*Job_Git_Basic_); ok { - return x.Basic - } - return nil -} - -func (x *Job_Git) GetSsh() *Job_Git_SSH { - if x, ok := x.GetAuth().(*Job_Git_Ssh); ok { - return x.Ssh - } - return nil -} - -type isJob_Git_Auth interface { - isJob_Git_Auth() -} - -type Job_Git_Basic_ struct { - Basic *Job_Git_Basic `protobuf:"bytes,4,opt,name=basic,proto3,oneof"` -} - -type Job_Git_Ssh struct { - Ssh *Job_Git_SSH `protobuf:"bytes,5,opt,name=ssh,proto3,oneof"` -} - -func (*Job_Git_Basic_) isJob_Git_Auth() {} - -func (*Job_Git_Ssh) isJob_Git_Auth() {} - -// Noop operations do nothing. This is primarily used for testing. -// This operation will still download the data from the data source. -// A noop may be useful outside of testing to verify a runner is -// executing properly or can access data properly. -type Job_Noop struct { +type GetJobStreamResponse_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } -func (x *Job_Noop) Reset() { - *x = Job_Noop{} +func (x *GetJobStreamResponse_Error) Reset() { + *x = GetJobStreamResponse_Error{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[346] + mi := &file_pkg_server_proto_server_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Noop) String() string { +func (x *GetJobStreamResponse_Error) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Noop) ProtoMessage() {} +func (*GetJobStreamResponse_Error) ProtoMessage() {} -func (x *Job_Noop) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[346] +func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[342] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25696,43 +24562,48 @@ func (x *Job_Noop) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Noop.ProtoReflect.Descriptor instead. -func (*Job_Noop) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 10} +// Deprecated: Use GetJobStreamResponse_Error.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Error) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 5} } -// UpOp runs the "waypoint up" logic: it does a build (with push), -// deploy, and release all in one. The results for each child operation -// will be set directly on the Release message (i.e. "build" will be -// populated in addition to "up"). -type Job_UpOp struct { +func (x *GetJobStreamResponse_Error) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +type GetJobStreamResponse_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Options for the release stage. The "deployment" field in this will - // be ignored since we'll always use the deployment from the deploy - // step in Up. - Release *Job_ReleaseOp `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` + // error, if set, is an error that occurred as part of the job execution + // and resulted in job termination. This is different than the "error" + // event which is an error in the stream itself. + Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + // Result will be set to the final result of the job execution, if any. + Result *Job_Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` } -func (x *Job_UpOp) Reset() { - *x = Job_UpOp{} +func (x *GetJobStreamResponse_Complete) Reset() { + *x = GetJobStreamResponse_Complete{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[347] + mi := &file_pkg_server_proto_server_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_UpOp) String() string { +func (x *GetJobStreamResponse_Complete) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_UpOp) ProtoMessage() {} +func (*GetJobStreamResponse_Complete) ProtoMessage() {} -func (x *Job_UpOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[347] +func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[343] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25743,64 +24614,63 @@ func (x *Job_UpOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_UpOp.ProtoReflect.Descriptor instead. -func (*Job_UpOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 11} +// Deprecated: Use GetJobStreamResponse_Complete.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Complete) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 6} } -func (x *Job_UpOp) GetRelease() *Job_ReleaseOp { +func (x *GetJobStreamResponse_Complete) GetError() *status.Status { if x != nil { - return x.Release + return x.Error } return nil } -// UpResult is the result of an UpOp. Because "up" calls other operations, -// the Result message will set the build, deploy, push, and release results. -type Job_UpResult struct { +func (x *GetJobStreamResponse_Complete) GetResult() *Job_Result { + if x != nil { + return x.Result + } + return nil +} + +type GetJobStreamResponse_Terminal_Event struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // release_url is the equivalent of Release.Url. This is the URL that - // the release plugin generates directly from the platform. For example, - // on AWS this might be an ALB addr, on K8S this might be a load balancer - // addr, etc. - // - // This can be empty if the release plugin does not support getting a URL. - ReleaseUrl string `protobuf:"bytes,1,opt,name=release_url,json=releaseUrl,proto3" json:"release_url,omitempty"` - // app_url is the HashiCorp URL service URL for the entire application. - // Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple - // hostnames registered for the application, this always picks the first one. - // - // This can be blank if the URL service is disabled or errored. - AppUrl string `protobuf:"bytes,2,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` - // deploy_url is the HashiCorp URL service URL for this specific deploy. - // Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, - // if there are multiple registered hostnames for the application, this - // always picks the first one. + // timestamp of the event as seen by the runner. This might be + // skewed from the server or the client but relative to all other + // line output, it will be accurate. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // Types that are assignable to Event: // - // This can be blank if the URL service is disabled or errored. - DeployUrl string `protobuf:"bytes,3,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` + // *GetJobStreamResponse_Terminal_Event_Line_ + // *GetJobStreamResponse_Terminal_Event_Status_ + // *GetJobStreamResponse_Terminal_Event_NamedValues_ + // *GetJobStreamResponse_Terminal_Event_Raw_ + // *GetJobStreamResponse_Terminal_Event_Table_ + // *GetJobStreamResponse_Terminal_Event_StepGroup_ + // *GetJobStreamResponse_Terminal_Event_Step_ + Event isGetJobStreamResponse_Terminal_Event_Event `protobuf_oneof:"event"` } -func (x *Job_UpResult) Reset() { - *x = Job_UpResult{} +func (x *GetJobStreamResponse_Terminal_Event) Reset() { + *x = GetJobStreamResponse_Terminal_Event{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[348] + mi := &file_pkg_server_proto_server_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_UpResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_UpResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event) ProtoMessage() {} -func (x *Job_UpResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[348] +func (x *GetJobStreamResponse_Terminal_Event) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[344] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25811,94 +24681,149 @@ func (x *Job_UpResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_UpResult.ProtoReflect.Descriptor instead. -func (*Job_UpResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 12} +// Deprecated: Use GetJobStreamResponse_Terminal_Event.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0} } -func (x *Job_UpResult) GetReleaseUrl() string { +func (x *GetJobStreamResponse_Terminal_Event) GetTimestamp() *timestamppb.Timestamp { if x != nil { - return x.ReleaseUrl + return x.Timestamp } - return "" + return nil } -func (x *Job_UpResult) GetAppUrl() string { - if x != nil { - return x.AppUrl +func (m *GetJobStreamResponse_Terminal_Event) GetEvent() isGetJobStreamResponse_Terminal_Event_Event { + if m != nil { + return m.Event } - return "" + return nil } -func (x *Job_UpResult) GetDeployUrl() string { - if x != nil { - return x.DeployUrl +func (x *GetJobStreamResponse_Terminal_Event) GetLine() *GetJobStreamResponse_Terminal_Event_Line { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Line_); ok { + return x.Line } - return "" + return nil } -// ValidateOp validates various aspects of a configuration. -type Job_ValidateOp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *GetJobStreamResponse_Terminal_Event) GetStatus() *GetJobStreamResponse_Terminal_Event_Status { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Status_); ok { + return x.Status + } + return nil } -func (x *Job_ValidateOp) Reset() { - *x = Job_ValidateOp{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[349] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *GetJobStreamResponse_Terminal_Event) GetNamedValues() *GetJobStreamResponse_Terminal_Event_NamedValues { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_NamedValues_); ok { + return x.NamedValues } + return nil } -func (x *Job_ValidateOp) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *GetJobStreamResponse_Terminal_Event) GetRaw() *GetJobStreamResponse_Terminal_Event_Raw { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Raw_); ok { + return x.Raw + } + return nil } -func (*Job_ValidateOp) ProtoMessage() {} - -func (x *Job_ValidateOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[349] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *GetJobStreamResponse_Terminal_Event) GetTable() *GetJobStreamResponse_Terminal_Event_Table { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Table_); ok { + return x.Table } - return mi.MessageOf(x) + return nil } -// Deprecated: Use Job_ValidateOp.ProtoReflect.Descriptor instead. -func (*Job_ValidateOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 13} +func (x *GetJobStreamResponse_Terminal_Event) GetStepGroup() *GetJobStreamResponse_Terminal_Event_StepGroup { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_StepGroup_); ok { + return x.StepGroup + } + return nil } -type Job_ValidateResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +func (x *GetJobStreamResponse_Terminal_Event) GetStep() *GetJobStreamResponse_Terminal_Event_Step { + if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Step_); ok { + return x.Step + } + return nil +} + +type isGetJobStreamResponse_Terminal_Event_Event interface { + isGetJobStreamResponse_Terminal_Event_Event() +} + +type GetJobStreamResponse_Terminal_Event_Line_ struct { + Line *GetJobStreamResponse_Terminal_Event_Line `protobuf:"bytes,2,opt,name=line,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_Status_ struct { + Status *GetJobStreamResponse_Terminal_Event_Status `protobuf:"bytes,3,opt,name=status,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_NamedValues_ struct { + NamedValues *GetJobStreamResponse_Terminal_Event_NamedValues `protobuf:"bytes,4,opt,name=named_values,json=namedValues,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_Raw_ struct { + Raw *GetJobStreamResponse_Terminal_Event_Raw `protobuf:"bytes,5,opt,name=raw,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_Table_ struct { + Table *GetJobStreamResponse_Terminal_Event_Table `protobuf:"bytes,6,opt,name=table,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_StepGroup_ struct { + StepGroup *GetJobStreamResponse_Terminal_Event_StepGroup `protobuf:"bytes,7,opt,name=step_group,json=stepGroup,proto3,oneof"` +} + +type GetJobStreamResponse_Terminal_Event_Step_ struct { + Step *GetJobStreamResponse_Terminal_Event_Step `protobuf:"bytes,8,opt,name=step,proto3,oneof"` +} + +func (*GetJobStreamResponse_Terminal_Event_Line_) isGetJobStreamResponse_Terminal_Event_Event() {} + +func (*GetJobStreamResponse_Terminal_Event_Status_) isGetJobStreamResponse_Terminal_Event_Event() {} + +func (*GetJobStreamResponse_Terminal_Event_NamedValues_) isGetJobStreamResponse_Terminal_Event_Event() { +} + +func (*GetJobStreamResponse_Terminal_Event_Raw_) isGetJobStreamResponse_Terminal_Event_Event() {} + +func (*GetJobStreamResponse_Terminal_Event_Table_) isGetJobStreamResponse_Terminal_Event_Event() {} + +func (*GetJobStreamResponse_Terminal_Event_StepGroup_) isGetJobStreamResponse_Terminal_Event_Event() { +} + +func (*GetJobStreamResponse_Terminal_Event_Step_) isGetJobStreamResponse_Terminal_Event_Event() {} + +type GetJobStreamResponse_Terminal_Event_Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Step bool `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` } -func (x *Job_ValidateResult) Reset() { - *x = Job_ValidateResult{} +func (x *GetJobStreamResponse_Terminal_Event_Status) Reset() { + *x = GetJobStreamResponse_Terminal_Event_Status{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[350] + mi := &file_pkg_server_proto_server_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ValidateResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event_Status) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ValidateResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_Status) ProtoMessage() {} -func (x *Job_ValidateResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[350] +func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[345] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25909,43 +24834,58 @@ func (x *Job_ValidateResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ValidateResult.ProtoReflect.Descriptor instead. -func (*Job_ValidateResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 14} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_Status.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_Status) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 0} } -// AuthOp is the configuration to authenticate any plugins. -type Job_AuthOp struct { +func (x *GetJobStreamResponse_Terminal_Event_Status) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetJobStreamResponse_Terminal_Event_Status) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetJobStreamResponse_Terminal_Event_Status) GetStep() bool { + if x != nil { + return x.Step + } + return false +} + +type GetJobStreamResponse_Terminal_Event_Line struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // if true, auth will only be checked but not attempted. Currently - // this must ALWAYS be true. Only authentication checking is supported. - CheckOnly bool `protobuf:"varint,1,opt,name=check_only,json=checkOnly,proto3" json:"check_only,omitempty"` - // if set, only the component matching this reference will be authed. - // If this component doesn't exist, an error will be returned. If this is - // unset, all components wll be authed. - Component *Ref_Component `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"` } -func (x *Job_AuthOp) Reset() { - *x = Job_AuthOp{} +func (x *GetJobStreamResponse_Terminal_Event_Line) Reset() { + *x = GetJobStreamResponse_Terminal_Event_Line{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[351] + mi := &file_pkg_server_proto_server_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_AuthOp) String() string { +func (x *GetJobStreamResponse_Terminal_Event_Line) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_AuthOp) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_Line) ProtoMessage() {} -func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[351] +func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[346] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25956,51 +24896,51 @@ func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_AuthOp.ProtoReflect.Descriptor instead. -func (*Job_AuthOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 15} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_Line.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_Line) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 1} } -func (x *Job_AuthOp) GetCheckOnly() bool { +func (x *GetJobStreamResponse_Terminal_Event_Line) GetMsg() string { if x != nil { - return x.CheckOnly + return x.Msg } - return false + return "" } -func (x *Job_AuthOp) GetComponent() *Ref_Component { +func (x *GetJobStreamResponse_Terminal_Event_Line) GetStyle() string { if x != nil { - return x.Component + return x.Style } - return nil + return "" } -type Job_AuthResult struct { +type GetJobStreamResponse_Terminal_Event_Raw struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // results are the list of components that were checked - Results []*Job_AuthResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + Stderr bool `protobuf:"varint,2,opt,name=stderr,proto3" json:"stderr,omitempty"` } -func (x *Job_AuthResult) Reset() { - *x = Job_AuthResult{} +func (x *GetJobStreamResponse_Terminal_Event_Raw) Reset() { + *x = GetJobStreamResponse_Terminal_Event_Raw{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[352] + mi := &file_pkg_server_proto_server_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_AuthResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event_Raw) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_AuthResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_Raw) ProtoMessage() {} -func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[352] +func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[347] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26011,44 +24951,51 @@ func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_AuthResult.ProtoReflect.Descriptor instead. -func (*Job_AuthResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 16} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_Raw.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_Raw) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 2} } -func (x *Job_AuthResult) GetResults() []*Job_AuthResult_Result { +func (x *GetJobStreamResponse_Terminal_Event_Raw) GetData() []byte { if x != nil { - return x.Results + return x.Data } return nil } -type Job_BuildOp struct { +func (x *GetJobStreamResponse_Terminal_Event_Raw) GetStderr() bool { + if x != nil { + return x.Stderr + } + return false +} + +type GetJobStreamResponse_Terminal_Event_NamedValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Don't push the build to any configured registry. - DisablePush bool `protobuf:"varint,1,opt,name=disable_push,json=disablePush,proto3" json:"disable_push,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (x *Job_BuildOp) Reset() { - *x = Job_BuildOp{} +func (x *GetJobStreamResponse_Terminal_Event_NamedValue) Reset() { + *x = GetJobStreamResponse_Terminal_Event_NamedValue{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[353] + mi := &file_pkg_server_proto_server_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_BuildOp) String() string { +func (x *GetJobStreamResponse_Terminal_Event_NamedValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_BuildOp) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_NamedValue) ProtoMessage() {} -func (x *Job_BuildOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[353] +func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[348] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26059,46 +25006,50 @@ func (x *Job_BuildOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_BuildOp.ProtoReflect.Descriptor instead. -func (*Job_BuildOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 17} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_NamedValue.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_NamedValue) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 3} } -func (x *Job_BuildOp) GetDisablePush() bool { +func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetName() string { if x != nil { - return x.DisablePush + return x.Name } - return false + return "" } -type Job_BuildResult struct { +func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type GetJobStreamResponse_Terminal_Event_NamedValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The resulting build - Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` - // The artifact that was pushed. This will be nil if DisablePush was set. - Push *PushedArtifact `protobuf:"bytes,2,opt,name=push,proto3" json:"push,omitempty"` + Values []*GetJobStreamResponse_Terminal_Event_NamedValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` } -func (x *Job_BuildResult) Reset() { - *x = Job_BuildResult{} +func (x *GetJobStreamResponse_Terminal_Event_NamedValues) Reset() { + *x = GetJobStreamResponse_Terminal_Event_NamedValues{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[354] + mi := &file_pkg_server_proto_server_proto_msgTypes[349] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_BuildResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event_NamedValues) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_BuildResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_NamedValues) ProtoMessage() {} -func (x *Job_BuildResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[354] +func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[349] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26109,51 +25060,44 @@ func (x *Job_BuildResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_BuildResult.ProtoReflect.Descriptor instead. -func (*Job_BuildResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 18} -} - -func (x *Job_BuildResult) GetBuild() *Build { - if x != nil { - return x.Build - } - return nil +// Deprecated: Use GetJobStreamResponse_Terminal_Event_NamedValues.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_NamedValues) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 4} } -func (x *Job_BuildResult) GetPush() *PushedArtifact { +func (x *GetJobStreamResponse_Terminal_Event_NamedValues) GetValues() []*GetJobStreamResponse_Terminal_Event_NamedValue { if x != nil { - return x.Push + return x.Values } return nil } -type Job_PushOp struct { +type GetJobStreamResponse_Terminal_Event_TableEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Build to push - Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` } -func (x *Job_PushOp) Reset() { - *x = Job_PushOp{} +func (x *GetJobStreamResponse_Terminal_Event_TableEntry) Reset() { + *x = GetJobStreamResponse_Terminal_Event_TableEntry{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[355] + mi := &file_pkg_server_proto_server_proto_msgTypes[350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PushOp) String() string { +func (x *GetJobStreamResponse_Terminal_Event_TableEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PushOp) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_TableEntry) ProtoMessage() {} -func (x *Job_PushOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[355] +func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[350] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26164,43 +25108,50 @@ func (x *Job_PushOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PushOp.ProtoReflect.Descriptor instead. -func (*Job_PushOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 19} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_TableEntry.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_TableEntry) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 5} } -func (x *Job_PushOp) GetBuild() *Build { +func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetValue() string { if x != nil { - return x.Build + return x.Value } - return nil + return "" } -type Job_PushResult struct { +func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetColor() string { + if x != nil { + return x.Color + } + return "" +} + +type GetJobStreamResponse_Terminal_Event_TableRow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + Entries []*GetJobStreamResponse_Terminal_Event_TableEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } -func (x *Job_PushResult) Reset() { - *x = Job_PushResult{} +func (x *GetJobStreamResponse_Terminal_Event_TableRow) Reset() { + *x = GetJobStreamResponse_Terminal_Event_TableRow{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[356] + mi := &file_pkg_server_proto_server_proto_msgTypes[351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PushResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event_TableRow) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PushResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_TableRow) ProtoMessage() {} -func (x *Job_PushResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[356] +func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[351] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26211,44 +25162,44 @@ func (x *Job_PushResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PushResult.ProtoReflect.Descriptor instead. -func (*Job_PushResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 20} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_TableRow.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_TableRow) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 6} } -func (x *Job_PushResult) GetArtifact() *PushedArtifact { +func (x *GetJobStreamResponse_Terminal_Event_TableRow) GetEntries() []*GetJobStreamResponse_Terminal_Event_TableEntry { if x != nil { - return x.Artifact + return x.Entries } return nil } -type Job_DeployOp struct { +type GetJobStreamResponse_Terminal_Event_Table struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Artifact to deploy - Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` + Rows []*GetJobStreamResponse_Terminal_Event_TableRow `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` } -func (x *Job_DeployOp) Reset() { - *x = Job_DeployOp{} +func (x *GetJobStreamResponse_Terminal_Event_Table) Reset() { + *x = GetJobStreamResponse_Terminal_Event_Table{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[357] + mi := &file_pkg_server_proto_server_proto_msgTypes[352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DeployOp) String() string { +func (x *GetJobStreamResponse_Terminal_Event_Table) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DeployOp) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_Table) ProtoMessage() {} -func (x *Job_DeployOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[357] +func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[352] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26259,43 +25210,50 @@ func (x *Job_DeployOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DeployOp.ProtoReflect.Descriptor instead. -func (*Job_DeployOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 21} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_Table.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_Table) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 7} } -func (x *Job_DeployOp) GetArtifact() *PushedArtifact { +func (x *GetJobStreamResponse_Terminal_Event_Table) GetHeaders() []string { if x != nil { - return x.Artifact + return x.Headers } return nil } -type Job_DeployResult struct { +func (x *GetJobStreamResponse_Terminal_Event_Table) GetRows() []*GetJobStreamResponse_Terminal_Event_TableRow { + if x != nil { + return x.Rows + } + return nil +} + +type GetJobStreamResponse_Terminal_Event_StepGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + Close bool `protobuf:"varint,1,opt,name=close,proto3" json:"close,omitempty"` } -func (x *Job_DeployResult) Reset() { - *x = Job_DeployResult{} +func (x *GetJobStreamResponse_Terminal_Event_StepGroup) Reset() { + *x = GetJobStreamResponse_Terminal_Event_StepGroup{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[358] + mi := &file_pkg_server_proto_server_proto_msgTypes[353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DeployResult) String() string { +func (x *GetJobStreamResponse_Terminal_Event_StepGroup) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DeployResult) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_StepGroup) ProtoMessage() {} -func (x *Job_DeployResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[358] +func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[353] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26306,50 +25264,47 @@ func (x *Job_DeployResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DeployResult.ProtoReflect.Descriptor instead. -func (*Job_DeployResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 22} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_StepGroup.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_StepGroup) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 8} } -func (x *Job_DeployResult) GetDeployment() *Deployment { +func (x *GetJobStreamResponse_Terminal_Event_StepGroup) GetClose() bool { if x != nil { - return x.Deployment + return x.Close } - return nil + return false } -// Used to start a platform's exec function within a runner. This is only used -// there are no long running instances for a deployment and can fail if the -// platform plugin does not provide an exec function. -type Job_ExecOp struct { +type GetJobStreamResponse_Terminal_Event_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Id to assign the virtual instance created - InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - // The deployment to create the exec session context. Ie, what - // application code will be available within the exec session. - Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Close bool `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Output []byte `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"` } -func (x *Job_ExecOp) Reset() { - *x = Job_ExecOp{} +func (x *GetJobStreamResponse_Terminal_Event_Step) Reset() { + *x = GetJobStreamResponse_Terminal_Event_Step{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[359] + mi := &file_pkg_server_proto_server_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ExecOp) String() string { +func (x *GetJobStreamResponse_Terminal_Event_Step) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ExecOp) ProtoMessage() {} +func (*GetJobStreamResponse_Terminal_Event_Step) ProtoMessage() {} -func (x *Job_ExecOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[359] +func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[354] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26360,48 +25315,71 @@ func (x *Job_ExecOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ExecOp.ProtoReflect.Descriptor instead. -func (*Job_ExecOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 23} +// Deprecated: Use GetJobStreamResponse_Terminal_Event_Step.ProtoReflect.Descriptor instead. +func (*GetJobStreamResponse_Terminal_Event_Step) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 9} } -func (x *Job_ExecOp) GetInstanceId() string { +func (x *GetJobStreamResponse_Terminal_Event_Step) GetId() int32 { if x != nil { - return x.InstanceId + return x.Id + } + return 0 +} + +func (x *GetJobStreamResponse_Terminal_Event_Step) GetClose() bool { + if x != nil { + return x.Close + } + return false +} + +func (x *GetJobStreamResponse_Terminal_Event_Step) GetMsg() string { + if x != nil { + return x.Msg } return "" } -func (x *Job_ExecOp) GetDeployment() *Deployment { +func (x *GetJobStreamResponse_Terminal_Event_Step) GetStatus() string { if x != nil { - return x.Deployment + return x.Status + } + return "" +} + +func (x *GetJobStreamResponse_Terminal_Event_Step) GetOutput() []byte { + if x != nil { + return x.Output } return nil } -type Job_ExecResult struct { +type Runner_ODR struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + ProfileId string `protobuf:"bytes,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"` } -func (x *Job_ExecResult) Reset() { - *x = Job_ExecResult{} +func (x *Runner_ODR) Reset() { + *x = Runner_ODR{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[360] + mi := &file_pkg_server_proto_server_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ExecResult) String() string { +func (x *Runner_ODR) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ExecResult) ProtoMessage() {} +func (*Runner_ODR) ProtoMessage() {} -func (x *Job_ExecResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[360] +func (x *Runner_ODR) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[356] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26412,48 +25390,41 @@ func (x *Job_ExecResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ExecResult.ProtoReflect.Descriptor instead. -func (*Job_ExecResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 24} +// Deprecated: Use Runner_ODR.ProtoReflect.Descriptor instead. +func (*Runner_ODR) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 1} } -// Used to start a platform's log function within a runner. API users -// interested in viewing logs should use the GetLogStream API. This -// is only meant for implementing custom log handling by plugins. -type Job_LogsOp struct { +func (x *Runner_ODR) GetProfileId() string { + if x != nil { + return x.ProfileId + } + return "" +} + +type Runner_Local struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Id to assign the virtual instance created - InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - // The deployment to create the exec session context. Ie, what - // application code will be available within the exec session. - Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` - // Indicates the time horizon that log entries must be beyond for them - // to be emitted. - StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - // The maximum of log entries to be output. - Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *Job_LogsOp) Reset() { - *x = Job_LogsOp{} +func (x *Runner_Local) Reset() { + *x = Runner_Local{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[361] + mi := &file_pkg_server_proto_server_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_LogsOp) String() string { +func (x *Runner_Local) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_LogsOp) ProtoMessage() {} +func (*Runner_Local) ProtoMessage() {} -func (x *Job_LogsOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[361] +func (x *Runner_Local) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[357] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26464,70 +25435,77 @@ func (x *Job_LogsOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_LogsOp.ProtoReflect.Descriptor instead. -func (*Job_LogsOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 25} +// Deprecated: Use Runner_Local.ProtoReflect.Descriptor instead. +func (*Runner_Local) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 2} } -func (x *Job_LogsOp) GetInstanceId() string { - if x != nil { - return x.InstanceId - } - return "" +type Runner_Remote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (x *Job_LogsOp) GetDeployment() *Deployment { - if x != nil { - return x.Deployment +func (x *Runner_Remote) Reset() { + *x = Runner_Remote{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[358] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Job_LogsOp) GetStartTime() *timestamppb.Timestamp { - if x != nil { - return x.StartTime - } - return nil +func (x *Runner_Remote) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Job_LogsOp) GetLimit() int32 { - if x != nil { - return x.Limit +func (*Runner_Remote) ProtoMessage() {} + +func (x *Runner_Remote) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[358] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -type Job_DestroyOp struct { +// Deprecated: Use Runner_Remote.ProtoReflect.Descriptor instead. +func (*Runner_Remote) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 3} +} + +type RunnerConfigRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // target is what to destroy in this operation. - // - // Types that are assignable to Target: - // - // *Job_DestroyOp_Workspace - // *Job_DestroyOp_Deployment - Target isJob_DestroyOp_Target `protobuf_oneof:"target"` + // Runner to register. See Runner for what fields can be set. This + // should match RunnerTokenRequest. This accepts a full runner (rather + // than just an ID) for legacy compatbility reasons. + Runner *Runner `protobuf:"bytes,1,opt,name=runner,proto3" json:"runner,omitempty"` } -func (x *Job_DestroyOp) Reset() { - *x = Job_DestroyOp{} +func (x *RunnerConfigRequest_Open) Reset() { + *x = RunnerConfigRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[362] + mi := &file_pkg_server_proto_server_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DestroyOp) String() string { +func (x *RunnerConfigRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DestroyOp) ProtoMessage() {} +func (*RunnerConfigRequest_Open) ProtoMessage() {} -func (x *Job_DestroyOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[362] +func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[359] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26538,82 +25516,52 @@ func (x *Job_DestroyOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DestroyOp.ProtoReflect.Descriptor instead. -func (*Job_DestroyOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 26} -} - -func (m *Job_DestroyOp) GetTarget() isJob_DestroyOp_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *Job_DestroyOp) GetWorkspace() *emptypb.Empty { - if x, ok := x.GetTarget().(*Job_DestroyOp_Workspace); ok { - return x.Workspace - } - return nil +// Deprecated: Use RunnerConfigRequest_Open.ProtoReflect.Descriptor instead. +func (*RunnerConfigRequest_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{63, 0} } -func (x *Job_DestroyOp) GetDeployment() *Deployment { - if x, ok := x.GetTarget().(*Job_DestroyOp_Deployment); ok { - return x.Deployment +func (x *RunnerConfigRequest_Open) GetRunner() *Runner { + if x != nil { + return x.Runner } return nil } -type isJob_DestroyOp_Target interface { - isJob_DestroyOp_Target() -} - -type Job_DestroyOp_Workspace struct { - // workspace will delete the app in the workspace that the job - // is targeting. - Workspace *emptypb.Empty `protobuf:"bytes,1,opt,name=workspace,proto3,oneof"` -} - -type Job_DestroyOp_Deployment struct { - Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3,oneof"` -} - -func (*Job_DestroyOp_Workspace) isJob_DestroyOp_Target() {} - -func (*Job_DestroyOp_Deployment) isJob_DestroyOp_Target() {} - -type Job_ReleaseOp struct { +type RunnerJobStreamRequest_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - // Prune settings. This will prune the deployments that aren't released. - Prune bool `protobuf:"varint,2,opt,name=prune,proto3" json:"prune,omitempty"` - // This sets the number of unreleased deployments to retain when pruning. - // This only has an effect if "prune_retain_override" is true. If that - // is false, then pruning uses the default behavior (retain 2). - PruneRetain int32 `protobuf:"varint,3,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` - PruneRetainOverride bool `protobuf:"varint,4,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` + // The ID of the runner opening the job stream. This ID must match + // the ID of the runner token in use. + RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` + // If the runner is reconnecting to a dropped connection, it can specify + // the job ID it is continuing. This can only be specified when the runner + // is reconnecting to a dropped connection due to network issues or + // the server process disappearing. This can't currently be safely used + // for reconnecting after a runner crash, because that case hasn't been + // thought of yet. + ReattachJobId string `protobuf:"bytes,2,opt,name=reattach_job_id,json=reattachJobId,proto3" json:"reattach_job_id,omitempty"` } -func (x *Job_ReleaseOp) Reset() { - *x = Job_ReleaseOp{} +func (x *RunnerJobStreamRequest_Request) Reset() { + *x = RunnerJobStreamRequest_Request{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[363] + mi := &file_pkg_server_proto_server_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ReleaseOp) String() string { +func (x *RunnerJobStreamRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ReleaseOp) ProtoMessage() {} +func (*RunnerJobStreamRequest_Request) ProtoMessage() {} -func (x *Job_ReleaseOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[363] +func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[360] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26624,69 +25572,48 @@ func (x *Job_ReleaseOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ReleaseOp.ProtoReflect.Descriptor instead. -func (*Job_ReleaseOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 27} -} - -func (x *Job_ReleaseOp) GetDeployment() *Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *Job_ReleaseOp) GetPrune() bool { - if x != nil { - return x.Prune - } - return false +// Deprecated: Use RunnerJobStreamRequest_Request.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_Request) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 0} } -func (x *Job_ReleaseOp) GetPruneRetain() int32 { +func (x *RunnerJobStreamRequest_Request) GetRunnerId() string { if x != nil { - return x.PruneRetain + return x.RunnerId } - return 0 + return "" } -func (x *Job_ReleaseOp) GetPruneRetainOverride() bool { +func (x *RunnerJobStreamRequest_Request) GetReattachJobId() string { if x != nil { - return x.PruneRetainOverride + return x.ReattachJobId } - return false + return "" } -type Job_ReleaseResult struct { +type RunnerJobStreamRequest_Ack struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The release that was just created. If the release operation was a noop, - // for example if the target deployment shares a generation with the - // previously released deployment, then this may be an existing release. - // Callers can verify by checking if the target deployment changed - // or not. - Release *Release `protobuf:"bytes,1,opt,name=release,proto3" json:"release,omitempty"` } -func (x *Job_ReleaseResult) Reset() { - *x = Job_ReleaseResult{} +func (x *RunnerJobStreamRequest_Ack) Reset() { + *x = RunnerJobStreamRequest_Ack{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[364] + mi := &file_pkg_server_proto_server_proto_msgTypes[361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ReleaseResult) String() string { +func (x *RunnerJobStreamRequest_Ack) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ReleaseResult) ProtoMessage() {} +func (*RunnerJobStreamRequest_Ack) ProtoMessage() {} -func (x *Job_ReleaseResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[364] +func (x *RunnerJobStreamRequest_Ack) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[361] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26697,51 +25624,36 @@ func (x *Job_ReleaseResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ReleaseResult.ProtoReflect.Descriptor instead. -func (*Job_ReleaseResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 28} -} - -func (x *Job_ReleaseResult) GetRelease() *Release { - if x != nil { - return x.Release - } - return nil +// Deprecated: Use RunnerJobStreamRequest_Ack.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_Ack) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 1} } -// TaskPluginParams contains the information about a specific task plugin -// that is used by both StartTask and StopTask -type Job_TaskPluginParams struct { +type RunnerJobStreamRequest_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The plugin type to invoke for the task plugin. - PluginType string `protobuf:"bytes,2,opt,name=plugin_type,json=pluginType,proto3" json:"plugin_type,omitempty"` - // The configuration information for the task. This is HCL that is - // decoded to figure out the task plugin and then provide that - // task plugin with configuration - HclConfig []byte `protobuf:"bytes,3,opt,name=hcl_config,json=hclConfig,proto3" json:"hcl_config,omitempty"` - HclFormat Hcl_Format `protobuf:"varint,4,opt,name=hcl_format,json=hclFormat,proto3,enum=hashicorp.waypoint.Hcl_Format" json:"hcl_format,omitempty"` + Result *Job_Result `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` } -func (x *Job_TaskPluginParams) Reset() { - *x = Job_TaskPluginParams{} +func (x *RunnerJobStreamRequest_Complete) Reset() { + *x = RunnerJobStreamRequest_Complete{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[365] + mi := &file_pkg_server_proto_server_proto_msgTypes[362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_TaskPluginParams) String() string { +func (x *RunnerJobStreamRequest_Complete) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_TaskPluginParams) ProtoMessage() {} +func (*RunnerJobStreamRequest_Complete) ProtoMessage() {} -func (x *Job_TaskPluginParams) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[365] +func (x *RunnerJobStreamRequest_Complete) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[362] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26752,60 +25664,43 @@ func (x *Job_TaskPluginParams) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_TaskPluginParams.ProtoReflect.Descriptor instead. -func (*Job_TaskPluginParams) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 29} -} - -func (x *Job_TaskPluginParams) GetPluginType() string { - if x != nil { - return x.PluginType - } - return "" +// Deprecated: Use RunnerJobStreamRequest_Complete.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_Complete) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 2} } -func (x *Job_TaskPluginParams) GetHclConfig() []byte { +func (x *RunnerJobStreamRequest_Complete) GetResult() *Job_Result { if x != nil { - return x.HclConfig + return x.Result } return nil } -func (x *Job_TaskPluginParams) GetHclFormat() Hcl_Format { - if x != nil { - return x.HclFormat - } - return Hcl_HCL -} - -type Job_StartTaskLaunchOp struct { +type RunnerJobStreamRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The info to use to create the task - Info *TaskLaunchInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` - // Params is needed to spawn the plugin so we can send it the start. - Params *Job_TaskPluginParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` + Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } -func (x *Job_StartTaskLaunchOp) Reset() { - *x = Job_StartTaskLaunchOp{} +func (x *RunnerJobStreamRequest_Error) Reset() { + *x = RunnerJobStreamRequest_Error{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[366] + mi := &file_pkg_server_proto_server_proto_msgTypes[363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_StartTaskLaunchOp) String() string { +func (x *RunnerJobStreamRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_StartTaskLaunchOp) ProtoMessage() {} +func (*RunnerJobStreamRequest_Error) ProtoMessage() {} -func (x *Job_StartTaskLaunchOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[366] +func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[363] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26816,51 +25711,41 @@ func (x *Job_StartTaskLaunchOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_StartTaskLaunchOp.ProtoReflect.Descriptor instead. -func (*Job_StartTaskLaunchOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 30} -} - -func (x *Job_StartTaskLaunchOp) GetInfo() *TaskLaunchInfo { - if x != nil { - return x.Info - } - return nil +// Deprecated: Use RunnerJobStreamRequest_Error.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_Error) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 3} } -func (x *Job_StartTaskLaunchOp) GetParams() *Job_TaskPluginParams { +func (x *RunnerJobStreamRequest_Error) GetError() *status.Status { if x != nil { - return x.Params + return x.Error } return nil } -type Job_StartTaskResult struct { +type RunnerJobStreamRequest_Heartbeat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The state of the create task, used to identify it later. - State *opaqueany.Any `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` } -func (x *Job_StartTaskResult) Reset() { - *x = Job_StartTaskResult{} +func (x *RunnerJobStreamRequest_Heartbeat) Reset() { + *x = RunnerJobStreamRequest_Heartbeat{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[367] + mi := &file_pkg_server_proto_server_proto_msgTypes[364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_StartTaskResult) String() string { +func (x *RunnerJobStreamRequest_Heartbeat) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_StartTaskResult) ProtoMessage() {} +func (*RunnerJobStreamRequest_Heartbeat) ProtoMessage() {} -func (x *Job_StartTaskResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[367] +func (x *RunnerJobStreamRequest_Heartbeat) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[364] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26871,51 +25756,37 @@ func (x *Job_StartTaskResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_StartTaskResult.ProtoReflect.Descriptor instead. -func (*Job_StartTaskResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 31} -} - -func (x *Job_StartTaskResult) GetState() *opaqueany.Any { - if x != nil { - return x.State - } - return nil +// Deprecated: Use RunnerJobStreamRequest_Heartbeat.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_Heartbeat) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 4} } -type Job_StopTaskLaunchOp struct { +type RunnerJobStreamRequest_ConfigLoad struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Params is needed to spawn the plugin so we can send it the stop. - Params *Job_TaskPluginParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` - // The state of the start task. This can come in multiple ways. - // - // Types that are assignable to State: - // - // *Job_StopTaskLaunchOp_Direct - // *Job_StopTaskLaunchOp_StartJobId - State isJob_StopTaskLaunchOp_State `protobuf_oneof:"state"` + // Config is the configuration information for the loaded config. + Config *Job_Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } -func (x *Job_StopTaskLaunchOp) Reset() { - *x = Job_StopTaskLaunchOp{} +func (x *RunnerJobStreamRequest_ConfigLoad) Reset() { + *x = RunnerJobStreamRequest_ConfigLoad{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[368] + mi := &file_pkg_server_proto_server_proto_msgTypes[365] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_StopTaskLaunchOp) String() string { +func (x *RunnerJobStreamRequest_ConfigLoad) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_StopTaskLaunchOp) ProtoMessage() {} +func (*RunnerJobStreamRequest_ConfigLoad) ProtoMessage() {} -func (x *Job_StopTaskLaunchOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[368] +func (x *RunnerJobStreamRequest_ConfigLoad) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[365] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26926,84 +25797,43 @@ func (x *Job_StopTaskLaunchOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_StopTaskLaunchOp.ProtoReflect.Descriptor instead. -func (*Job_StopTaskLaunchOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 32} +// Deprecated: Use RunnerJobStreamRequest_ConfigLoad.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_ConfigLoad) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 5} } -func (x *Job_StopTaskLaunchOp) GetParams() *Job_TaskPluginParams { +func (x *RunnerJobStreamRequest_ConfigLoad) GetConfig() *Job_Config { if x != nil { - return x.Params - } - return nil -} - -func (m *Job_StopTaskLaunchOp) GetState() isJob_StopTaskLaunchOp_State { - if m != nil { - return m.State - } - return nil -} - -func (x *Job_StopTaskLaunchOp) GetDirect() *opaqueany.Any { - if x, ok := x.GetState().(*Job_StopTaskLaunchOp_Direct); ok { - return x.Direct + return x.Config } return nil } -func (x *Job_StopTaskLaunchOp) GetStartJobId() string { - if x, ok := x.GetState().(*Job_StopTaskLaunchOp_StartJobId); ok { - return x.StartJobId - } - return "" -} - -type isJob_StopTaskLaunchOp_State interface { - isJob_StopTaskLaunchOp_State() -} - -type Job_StopTaskLaunchOp_Direct struct { - // The state can be directly provided. - Direct *opaqueany.Any `protobuf:"bytes,1,opt,name=direct,proto3,oneof"` -} - -type Job_StopTaskLaunchOp_StartJobId struct { - // The state can be looked up from the result of a StartTask job. - StartJobId string `protobuf:"bytes,3,opt,name=start_job_id,json=startJobId,proto3,oneof"` -} - -func (*Job_StopTaskLaunchOp_Direct) isJob_StopTaskLaunchOp_State() {} - -func (*Job_StopTaskLaunchOp_StartJobId) isJob_StopTaskLaunchOp_State() {} - -type Job_WatchTaskOp struct { +type RunnerJobStreamRequest_VariableValuesSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The job that started the task (should match up to a StartTaskLaunchOp). - // This is used to lookup the state to pass to the task. - StartJob *Ref_Job `protobuf:"bytes,1,opt,name=start_job,json=startJob,proto3" json:"start_job,omitempty"` + FinalValues map[string]*Variable_FinalValue `protobuf:"bytes,1,rep,name=final_values,json=finalValues,proto3" json:"final_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Job_WatchTaskOp) Reset() { - *x = Job_WatchTaskOp{} +func (x *RunnerJobStreamRequest_VariableValuesSet) Reset() { + *x = RunnerJobStreamRequest_VariableValuesSet{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[369] + mi := &file_pkg_server_proto_server_proto_msgTypes[366] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_WatchTaskOp) String() string { +func (x *RunnerJobStreamRequest_VariableValuesSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_WatchTaskOp) ProtoMessage() {} +func (*RunnerJobStreamRequest_VariableValuesSet) ProtoMessage() {} -func (x *Job_WatchTaskOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[369] +func (x *RunnerJobStreamRequest_VariableValuesSet) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[366] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27014,43 +25844,46 @@ func (x *Job_WatchTaskOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_WatchTaskOp.ProtoReflect.Descriptor instead. -func (*Job_WatchTaskOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 33} +// Deprecated: Use RunnerJobStreamRequest_VariableValuesSet.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamRequest_VariableValuesSet) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 6} } -func (x *Job_WatchTaskOp) GetStartJob() *Ref_Job { +func (x *RunnerJobStreamRequest_VariableValuesSet) GetFinalValues() map[string]*Variable_FinalValue { if x != nil { - return x.StartJob + return x.FinalValues } return nil } -type Job_WatchTaskResult struct { +type RunnerJobStreamResponse_JobAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` + // The job to assign + Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` + // A list of plugin configs + ConfigSources []*ConfigSource `protobuf:"bytes,2,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"` } -func (x *Job_WatchTaskResult) Reset() { - *x = Job_WatchTaskResult{} +func (x *RunnerJobStreamResponse_JobAssignment) Reset() { + *x = RunnerJobStreamResponse_JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[370] + mi := &file_pkg_server_proto_server_proto_msgTypes[368] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_WatchTaskResult) String() string { +func (x *RunnerJobStreamResponse_JobAssignment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_WatchTaskResult) ProtoMessage() {} +func (*RunnerJobStreamResponse_JobAssignment) ProtoMessage() {} -func (x *Job_WatchTaskResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[370] +func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[368] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27061,47 +25894,50 @@ func (x *Job_WatchTaskResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_WatchTaskResult.ProtoReflect.Descriptor instead. -func (*Job_WatchTaskResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 34} +// Deprecated: Use RunnerJobStreamResponse_JobAssignment.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamResponse_JobAssignment) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{67, 0} } -func (x *Job_WatchTaskResult) GetExitCode() int32 { +func (x *RunnerJobStreamResponse_JobAssignment) GetJob() *Job { if x != nil { - return x.ExitCode + return x.Job } - return 0 + return nil } -type Job_StatusReportOp struct { +func (x *RunnerJobStreamResponse_JobAssignment) GetConfigSources() []*ConfigSource { + if x != nil { + return x.ConfigSources + } + return nil +} + +type RunnerJobStreamResponse_JobCancel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Types that are assignable to Target: - // - // *Job_StatusReportOp_Deployment - // *Job_StatusReportOp_Release - Target isJob_StatusReportOp_Target `protobuf_oneof:"target"` + Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` } -func (x *Job_StatusReportOp) Reset() { - *x = Job_StatusReportOp{} +func (x *RunnerJobStreamResponse_JobCancel) Reset() { + *x = RunnerJobStreamResponse_JobCancel{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[371] + mi := &file_pkg_server_proto_server_proto_msgTypes[369] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_StatusReportOp) String() string { +func (x *RunnerJobStreamResponse_JobCancel) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_StatusReportOp) ProtoMessage() {} +func (*RunnerJobStreamResponse_JobCancel) ProtoMessage() {} -func (x *Job_StatusReportOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[371] +func (x *RunnerJobStreamResponse_JobCancel) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[369] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27112,78 +25948,45 @@ func (x *Job_StatusReportOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_StatusReportOp.ProtoReflect.Descriptor instead. -func (*Job_StatusReportOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 35} -} - -func (m *Job_StatusReportOp) GetTarget() isJob_StatusReportOp_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *Job_StatusReportOp) GetDeployment() *Deployment { - if x, ok := x.GetTarget().(*Job_StatusReportOp_Deployment); ok { - return x.Deployment - } - return nil +// Deprecated: Use RunnerJobStreamResponse_JobCancel.ProtoReflect.Descriptor instead. +func (*RunnerJobStreamResponse_JobCancel) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{67, 1} } -func (x *Job_StatusReportOp) GetRelease() *Release { - if x, ok := x.GetTarget().(*Job_StatusReportOp_Release); ok { - return x.Release +func (x *RunnerJobStreamResponse_JobCancel) GetForce() bool { + if x != nil { + return x.Force } - return nil -} - -type isJob_StatusReportOp_Target interface { - isJob_StatusReportOp_Target() -} - -type Job_StatusReportOp_Deployment struct { - // The deployment that should be associated with this status report - // operation - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3,oneof"` -} - -type Job_StatusReportOp_Release struct { - // The release that should be associated with this status report - // operation - Release *Release `protobuf:"bytes,2,opt,name=release,proto3,oneof"` + return false } -func (*Job_StatusReportOp_Deployment) isJob_StatusReportOp_Target() {} - -func (*Job_StatusReportOp_Release) isJob_StatusReportOp_Target() {} - -type Job_StatusReportResult struct { +type ServerConfig_AdvertiseAddr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The status report that was just created - StatusReport *StatusReport `protobuf:"bytes,1,opt,name=status_report,json=statusReport,proto3" json:"status_report,omitempty"` + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Tls bool `protobuf:"varint,2,opt,name=tls,proto3" json:"tls,omitempty"` + TlsSkipVerify bool `protobuf:"varint,3,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"` } -func (x *Job_StatusReportResult) Reset() { - *x = Job_StatusReportResult{} +func (x *ServerConfig_AdvertiseAddr) Reset() { + *x = ServerConfig_AdvertiseAddr{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[372] + mi := &file_pkg_server_proto_server_proto_msgTypes[370] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_StatusReportResult) String() string { +func (x *ServerConfig_AdvertiseAddr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_StatusReportResult) ProtoMessage() {} +func (*ServerConfig_AdvertiseAddr) ProtoMessage() {} -func (x *Job_StatusReportResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[372] +func (x *ServerConfig_AdvertiseAddr) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[370] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27194,41 +25997,60 @@ func (x *Job_StatusReportResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_StatusReportResult.ProtoReflect.Descriptor instead. -func (*Job_StatusReportResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 36} +// Deprecated: Use ServerConfig_AdvertiseAddr.ProtoReflect.Descriptor instead. +func (*ServerConfig_AdvertiseAddr) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{77, 0} } -func (x *Job_StatusReportResult) GetStatusReport() *StatusReport { +func (x *ServerConfig_AdvertiseAddr) GetAddr() string { if x != nil { - return x.StatusReport + return x.Addr } - return nil + return "" } -type Job_DocsOp struct { +func (x *ServerConfig_AdvertiseAddr) GetTls() bool { + if x != nil { + return x.Tls + } + return false +} + +func (x *ServerConfig_AdvertiseAddr) GetTlsSkipVerify() bool { + if x != nil { + return x.TlsSkipVerify + } + return false +} + +type Hostname_Target struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Types that are assignable to Target: + // + // *Hostname_Target_Application + Target isHostname_Target_Target `protobuf_oneof:"target"` } -func (x *Job_DocsOp) Reset() { - *x = Job_DocsOp{} +func (x *Hostname_Target) Reset() { + *x = Hostname_Target{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[373] + mi := &file_pkg_server_proto_server_proto_msgTypes[372] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DocsOp) String() string { +func (x *Hostname_Target) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DocsOp) ProtoMessage() {} +func (*Hostname_Target) ProtoMessage() {} -func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[373] +func (x *Hostname_Target) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[372] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27239,37 +26061,64 @@ func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DocsOp.ProtoReflect.Descriptor instead. -func (*Job_DocsOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 37} +// Deprecated: Use Hostname_Target.ProtoReflect.Descriptor instead. +func (*Hostname_Target) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{83, 1} } -type Job_DocsResult struct { +func (m *Hostname_Target) GetTarget() isHostname_Target_Target { + if m != nil { + return m.Target + } + return nil +} + +func (x *Hostname_Target) GetApplication() *Hostname_TargetApp { + if x, ok := x.GetTarget().(*Hostname_Target_Application); ok { + return x.Application + } + return nil +} + +type isHostname_Target_Target interface { + isHostname_Target_Target() +} + +type Hostname_Target_Application struct { + Application *Hostname_TargetApp `protobuf:"bytes,20,opt,name=application,proto3,oneof"` +} + +func (*Hostname_Target_Application) isHostname_Target_Target() {} + +// TargetApp targets an application in a specific workspace. With +// this target type, you can still target specific deployments by +// appending `--` to the hostname after registration. +type Hostname_TargetApp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // results are the list of components that were checked - Results []*Job_DocsResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` } -func (x *Job_DocsResult) Reset() { - *x = Job_DocsResult{} +func (x *Hostname_TargetApp) Reset() { + *x = Hostname_TargetApp{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[374] + mi := &file_pkg_server_proto_server_proto_msgTypes[373] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DocsResult) String() string { +func (x *Hostname_TargetApp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DocsResult) ProtoMessage() {} +func (*Hostname_TargetApp) ProtoMessage() {} -func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[374] +func (x *Hostname_TargetApp) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[373] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27280,26 +26129,45 @@ func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DocsResult.ProtoReflect.Descriptor instead. -func (*Job_DocsResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 38} +// Deprecated: Use Hostname_TargetApp.ProtoReflect.Descriptor instead. +func (*Hostname_TargetApp) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{83, 2} } -func (x *Job_DocsResult) GetResults() []*Job_DocsResult_Result { +func (x *Hostname_TargetApp) GetApplication() *Ref_Application { if x != nil { - return x.Results + return x.Application } return nil } -type Job_ConfigSyncOp struct { +func (x *Hostname_TargetApp) GetWorkspace() *Ref_Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type Build_Preload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The ref that was used in the job to run this operation. This is + // also accessible by querying the job via the job_id and should always + // match. + // + // This may be null under multiple circumstances: (1) the job was + // manually triggered with local data (no datasource) or (2) the job + // was run in earlier versions of Waypoint before we tracked this or + // (3) the job hasn't yet loaded the data. + // + // This is always pre-populated if it is exists. + JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` } -func (x *Job_ConfigSyncOp) Reset() { - *x = Job_ConfigSyncOp{} +func (x *Build_Preload) Reset() { + *x = Build_Preload{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[375] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -27307,13 +26175,13 @@ func (x *Job_ConfigSyncOp) Reset() { } } -func (x *Job_ConfigSyncOp) String() string { +func (x *Build_Preload) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ConfigSyncOp) ProtoMessage() {} +func (*Build_Preload) ProtoMessage() {} -func (x *Job_ConfigSyncOp) ProtoReflect() protoreflect.Message { +func (x *Build_Preload) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[375] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -27325,34 +26193,53 @@ func (x *Job_ConfigSyncOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ConfigSyncOp.ProtoReflect.Descriptor instead. -func (*Job_ConfigSyncOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 39} +// Deprecated: Use Build_Preload.ProtoReflect.Descriptor instead. +func (*Build_Preload) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{107, 1} } -type Job_ConfigSyncResult struct { +func (x *Build_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { + if x != nil { + return x.JobDataSourceRef + } + return nil +} + +type PushedArtifact_Preload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The ref that was used in the job to run this operation. This is + // also accessible by querying the job via the job_id and should always + // match. + // + // This may be null under multiple circumstances: (1) the job was + // manually triggered with local data (no datasource) or (2) the job + // was run in earlier versions of Waypoint before we tracked this or + // (3) the job hasn't yet loaded the data. + // + // This is always pre-populated if it is exists. + JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` } -func (x *Job_ConfigSyncResult) Reset() { - *x = Job_ConfigSyncResult{} +func (x *PushedArtifact_Preload) Reset() { + *x = PushedArtifact_Preload{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[376] + mi := &file_pkg_server_proto_server_proto_msgTypes[378] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ConfigSyncResult) String() string { +func (x *PushedArtifact_Preload) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ConfigSyncResult) ProtoMessage() {} +func (*PushedArtifact_Preload) ProtoMessage() {} -func (x *Job_ConfigSyncResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[376] +func (x *PushedArtifact_Preload) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[378] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27363,38 +26250,62 @@ func (x *Job_ConfigSyncResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ConfigSyncResult.ProtoReflect.Descriptor instead. -func (*Job_ConfigSyncResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 40} +// Deprecated: Use PushedArtifact_Preload.ProtoReflect.Descriptor instead. +func (*PushedArtifact_Preload) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{123, 1} } -type Job_PipelineConfigSyncResult struct { +func (x *PushedArtifact_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { + if x != nil { + return x.JobDataSourceRef + } + return nil +} + +type Deployment_Preload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for - // each pipeline that was synced in the config sync request. - SyncedPipelines map[string]*Ref_Pipeline `protobuf:"bytes,1,rep,name=synced_pipelines,json=syncedPipelines,proto3" json:"synced_pipelines,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Populated when a Deployment is read with LoadDetails set + // to ARTIFACT or BUILD + Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Populated when a Deployment is read with LoadDetails set to BUILD + Build *Build `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"` + // The deployment-specific URL from the URL service. This is set on + // all deployment API calls. This will be empty if the URL service + // is not enabled or there was an error loading this information. + DeployUrl string `protobuf:"bytes,3,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` + // The ref that was used in the job to run this operation. This is + // also accessible by querying the job via the job_id and should always + // match. + // + // This may be null under multiple circumstances: (1) the job was + // manually triggered with local data (no datasource) or (2) the job + // was run in earlier versions of Waypoint before we tracked this or + // (3) the job hasn't yet loaded the data. + // + // This is always pre-populated if it is exists. + JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,4,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` } -func (x *Job_PipelineConfigSyncResult) Reset() { - *x = Job_PipelineConfigSyncResult{} +func (x *Deployment_Preload) Reset() { + *x = Deployment_Preload{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[377] + mi := &file_pkg_server_proto_server_proto_msgTypes[380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PipelineConfigSyncResult) String() string { +func (x *Deployment_Preload) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PipelineConfigSyncResult) ProtoMessage() {} +func (*Deployment_Preload) ProtoMessage() {} -func (x *Job_PipelineConfigSyncResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[377] +func (x *Deployment_Preload) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[380] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27405,43 +26316,68 @@ func (x *Job_PipelineConfigSyncResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PipelineConfigSyncResult.ProtoReflect.Descriptor instead. -func (*Job_PipelineConfigSyncResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 41} +// Deprecated: Use Deployment_Preload.ProtoReflect.Descriptor instead. +func (*Deployment_Preload) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{129, 1} } -func (x *Job_PipelineConfigSyncResult) GetSyncedPipelines() map[string]*Ref_Pipeline { +func (x *Deployment_Preload) GetArtifact() *PushedArtifact { if x != nil { - return x.SyncedPipelines + return x.Artifact } return nil } -type Job_ProjectDestroyResult struct { +func (x *Deployment_Preload) GetBuild() *Build { + if x != nil { + return x.Build + } + return nil +} + +func (x *Deployment_Preload) GetDeployUrl() string { + if x != nil { + return x.DeployUrl + } + return "" +} + +func (x *Deployment_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { + if x != nil { + return x.JobDataSourceRef + } + return nil +} + +type ListInstancesRequest_Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Application to query. This must have both a project/app set. + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // Workspace to filter by. If this isn't set, then all workspaces for + // the app are returned. + Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` } -func (x *Job_ProjectDestroyResult) Reset() { - *x = Job_ProjectDestroyResult{} +func (x *ListInstancesRequest_Application) Reset() { + *x = ListInstancesRequest_Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[378] + mi := &file_pkg_server_proto_server_proto_msgTypes[381] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_ProjectDestroyResult) String() string { +func (x *ListInstancesRequest_Application) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_ProjectDestroyResult) ProtoMessage() {} +func (*ListInstancesRequest_Application) ProtoMessage() {} -func (x *Job_ProjectDestroyResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[378] +func (x *ListInstancesRequest_Application) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[381] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27452,47 +26388,66 @@ func (x *Job_ProjectDestroyResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_ProjectDestroyResult.ProtoReflect.Descriptor instead. -func (*Job_ProjectDestroyResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 42} +// Deprecated: Use ListInstancesRequest_Application.ProtoReflect.Descriptor instead. +func (*ListInstancesRequest_Application) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{131, 0} } -func (x *Job_ProjectDestroyResult) GetJobId() string { +func (x *ListInstancesRequest_Application) GetApplication() *Ref_Application { if x != nil { - return x.JobId + return x.Application } - return "" + return nil } -// PollOp triggers a poll action for a project. The job will fail if there -// is no data source configured for the project. -// -// A poll operation can be queued even if a project has polling disabled. -// If a project has polling enabled, a manually queued poll operation will -// have no effect on the poll timer or intervals. -type Job_PollOp struct { +func (x *ListInstancesRequest_Application) GetWorkspace() *Ref_Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type Release_Preload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Populated when LoadDetails is set. + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Populated when LoadDetails is set. + Artifact *PushedArtifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Populated when LoadDetails is set. + Build *Build `protobuf:"bytes,3,opt,name=build,proto3" json:"build,omitempty"` + // The ref that was used in the job to run this operation. This is + // also accessible by querying the job via the job_id and should always + // match. + // + // This may be null under multiple circumstances: (1) the job was + // manually triggered with local data (no datasource) or (2) the job + // was run in earlier versions of Waypoint before we tracked this or + // (3) the job hasn't yet loaded the data. + // + // This is always pre-populated if it is exists. + JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,4,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` } -func (x *Job_PollOp) Reset() { - *x = Job_PollOp{} +func (x *Release_Preload) Reset() { + *x = Release_Preload{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[379] + mi := &file_pkg_server_proto_server_proto_msgTypes[383] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PollOp) String() string { +func (x *Release_Preload) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PollOp) ProtoMessage() {} +func (*Release_Preload) ProtoMessage() {} -func (x *Job_PollOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[379] +func (x *Release_Preload) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[383] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27503,44 +26458,90 @@ func (x *Job_PollOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PollOp.ProtoReflect.Descriptor instead. -func (*Job_PollOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 43} +// Deprecated: Use Release_Preload.ProtoReflect.Descriptor instead. +func (*Release_Preload) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{140, 1} } -type Job_PollResult struct { +func (x *Release_Preload) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *Release_Preload) GetArtifact() *PushedArtifact { + if x != nil { + return x.Artifact + } + return nil +} + +func (x *Release_Preload) GetBuild() *Build { + if x != nil { + return x.Build + } + return nil +} + +func (x *Release_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { + if x != nil { + return x.JobDataSourceRef + } + return nil +} + +// A resource as observed in a platform +type StatusReport_Resource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // This field will be non-empty if and only if polling resulted in - // new data that needs to be deployed. This will be the ID of the job - // that queues the "up" operation. - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` - // If the poll resulted in new data, old_ref and new_ref will contain - // the two refs that were currently in use. These are nil if the polling - // didn't find new data. - OldRef *Job_DataSource_Ref `protobuf:"bytes,2,opt,name=old_ref,json=oldRef,proto3" json:"old_ref,omitempty"` - NewRef *Job_DataSource_Ref `protobuf:"bytes,3,opt,name=new_ref,json=newRef,proto3" json:"new_ref,omitempty"` + // The id of the resource, according to the platform. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // declared resource that this directly references. + DeclaredResource *Ref_DeclaredResource `protobuf:"bytes,2,opt,name=declared_resource,json=declaredResource,proto3" json:"declared_resource,omitempty"` + // Resources that created this resource. + ParentResourceId string `protobuf:"bytes,3,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` + // Friendly name of the resource, if applicable + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // The platform on which the resource exists. + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + // platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` + // A link directly to the resource in the platform, if applicable. + PlatformUrl string `protobuf:"bytes,7,opt,name=platform_url,json=platformUrl,proto3" json:"platform_url,omitempty"` + // The high level category of the resource, used as a hint to the UI on how to display the resource. + CategoryDisplayHint ResourceCategoryDisplayHint `protobuf:"varint,8,opt,name=category_display_hint,json=categoryDisplayHint,proto3,enum=hashicorp.waypoint.ResourceCategoryDisplayHint" json:"category_display_hint,omitempty"` + // platform-reported time of resource creation + CreatedTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` + // any additional metadata about the resource, encoded as JSON + StateJson string `protobuf:"bytes,10,opt,name=state_json,json=stateJson,proto3" json:"state_json,omitempty"` + // the current health state for a single resource + Health StatusReport_Resource_Health `protobuf:"varint,13,opt,name=health,proto3,enum=hashicorp.waypoint.StatusReport_Resource_Health" json:"health,omitempty"` + // a simple human readable message detailing the Health state + HealthMessage string `protobuf:"bytes,12,opt,name=health_message,json=healthMessage,proto3" json:"health_message,omitempty"` + // deprecated in favor of the Health enum and message to match the plugin protos. Was never used. + DeprecatedHealth *StatusReport_Health `protobuf:"bytes,11,opt,name=deprecated_health,json=deprecatedHealth,proto3" json:"deprecated_health,omitempty"` } -func (x *Job_PollResult) Reset() { - *x = Job_PollResult{} +func (x *StatusReport_Resource) Reset() { + *x = StatusReport_Resource{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[380] + mi := &file_pkg_server_proto_server_proto_msgTypes[384] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PollResult) String() string { +func (x *StatusReport_Resource) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PollResult) ProtoMessage() {} +func (*StatusReport_Resource) ProtoMessage() {} -func (x *Job_PollResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[380] +func (x *StatusReport_Resource) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[384] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27551,138 +26552,132 @@ func (x *Job_PollResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PollResult.ProtoReflect.Descriptor instead. -func (*Job_PollResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 44} +// Deprecated: Use StatusReport_Resource.ProtoReflect.Descriptor instead. +func (*StatusReport_Resource) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{160, 0} } -func (x *Job_PollResult) GetJobId() string { +func (x *StatusReport_Resource) GetId() string { if x != nil { - return x.JobId + return x.Id } return "" } -func (x *Job_PollResult) GetOldRef() *Job_DataSource_Ref { +func (x *StatusReport_Resource) GetDeclaredResource() *Ref_DeclaredResource { if x != nil { - return x.OldRef + return x.DeclaredResource } return nil } -func (x *Job_PollResult) GetNewRef() *Job_DataSource_Ref { +func (x *StatusReport_Resource) GetParentResourceId() string { if x != nil { - return x.NewRef + return x.ParentResourceId } - return nil + return "" } -// InitOp triggers an init action for a project (the equivalent of `waypoint -// init`). The job will fail if there is no data source configured for the -// project. As with `waypoint init`, this operation is idempotent. -type Job_InitOp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *StatusReport_Resource) GetName() string { + if x != nil { + return x.Name + } + return "" } -func (x *Job_InitOp) Reset() { - *x = Job_InitOp{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[381] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *StatusReport_Resource) GetPlatform() string { + if x != nil { + return x.Platform } + return "" } -func (x *Job_InitOp) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *StatusReport_Resource) GetType() string { + if x != nil { + return x.Type + } + return "" } -func (*Job_InitOp) ProtoMessage() {} - -func (x *Job_InitOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[381] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *StatusReport_Resource) GetPlatformUrl() string { + if x != nil { + return x.PlatformUrl } - return mi.MessageOf(x) + return "" } -// Deprecated: Use Job_InitOp.ProtoReflect.Descriptor instead. -func (*Job_InitOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 45} +func (x *StatusReport_Resource) GetCategoryDisplayHint() ResourceCategoryDisplayHint { + if x != nil { + return x.CategoryDisplayHint + } + return ResourceCategoryDisplayHint_UNKNOWN } -type Job_InitResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *StatusReport_Resource) GetCreatedTime() *timestamppb.Timestamp { + if x != nil { + return x.CreatedTime + } + return nil } -func (x *Job_InitResult) Reset() { - *x = Job_InitResult{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[382] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *StatusReport_Resource) GetStateJson() string { + if x != nil { + return x.StateJson } + return "" } -func (x *Job_InitResult) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *StatusReport_Resource) GetHealth() StatusReport_Resource_Health { + if x != nil { + return x.Health + } + return StatusReport_Resource_UNKNOWN } -func (*Job_InitResult) ProtoMessage() {} - -func (x *Job_InitResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[382] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *StatusReport_Resource) GetHealthMessage() string { + if x != nil { + return x.HealthMessage } - return mi.MessageOf(x) + return "" } -// Deprecated: Use Job_InitResult.ProtoReflect.Descriptor instead. -func (*Job_InitResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 46} +func (x *StatusReport_Resource) GetDeprecatedHealth() *StatusReport_Health { + if x != nil { + return x.DeprecatedHealth + } + return nil } -// PipelineStepOp triggers the execution of a pipeline step. -type Job_PipelineStepOp struct { +type StatusReport_Health struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The step to execute. - Step *Pipeline_Step `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"` + // the overall health of the report for a resource + HealthStatus string `protobuf:"bytes,1,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"` + // the overall health message of the report for a resource + HealthMessage string `protobuf:"bytes,2,opt,name=health_message,json=healthMessage,proto3" json:"health_message,omitempty"` + DeprecatedName string `protobuf:"bytes,3,opt,name=deprecated_name,json=deprecatedName,proto3" json:"deprecated_name,omitempty"` + DeprecatedId string `protobuf:"bytes,4,opt,name=deprecated_id,json=deprecatedId,proto3" json:"deprecated_id,omitempty"` } -func (x *Job_PipelineStepOp) Reset() { - *x = Job_PipelineStepOp{} +func (x *StatusReport_Health) Reset() { + *x = StatusReport_Health{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[383] + mi := &file_pkg_server_proto_server_proto_msgTypes[385] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PipelineStepOp) String() string { +func (x *StatusReport_Health) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PipelineStepOp) ProtoMessage() {} +func (*StatusReport_Health) ProtoMessage() {} -func (x *Job_PipelineStepOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[383] +func (x *StatusReport_Health) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[385] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27693,47 +26688,65 @@ func (x *Job_PipelineStepOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PipelineStepOp.ProtoReflect.Descriptor instead. -func (*Job_PipelineStepOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 47} +// Deprecated: Use StatusReport_Health.ProtoReflect.Descriptor instead. +func (*StatusReport_Health) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{160, 1} } -func (x *Job_PipelineStepOp) GetStep() *Pipeline_Step { +func (x *StatusReport_Health) GetHealthStatus() string { if x != nil { - return x.Step + return x.HealthStatus } - return nil + return "" } -// DestroyProjectOp triggers the deletion of a project from the database -// as well as (optionally) the destruction of all resources created within -// a project -type Job_DestroyProjectOp struct { +func (x *StatusReport_Health) GetHealthMessage() string { + if x != nil { + return x.HealthMessage + } + return "" +} + +func (x *StatusReport_Health) GetDeprecatedName() string { + if x != nil { + return x.DeprecatedName + } + return "" +} + +func (x *StatusReport_Health) GetDeprecatedId() string { + if x != nil { + return x.DeprecatedId + } + return "" +} + +type GetLogStreamRequest_Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Project *Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - SkipDestroyResources bool `protobuf:"varint,2,opt,name=skip_destroy_resources,json=skipDestroyResources,proto3" json:"skip_destroy_resources,omitempty"` + Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` } -func (x *Job_DestroyProjectOp) Reset() { - *x = Job_DestroyProjectOp{} +func (x *GetLogStreamRequest_Application) Reset() { + *x = GetLogStreamRequest_Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[384] + mi := &file_pkg_server_proto_server_proto_msgTypes[386] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DestroyProjectOp) String() string { +func (x *GetLogStreamRequest_Application) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DestroyProjectOp) ProtoMessage() {} +func (*GetLogStreamRequest_Application) ProtoMessage() {} -func (x *Job_DestroyProjectOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[384] +func (x *GetLogStreamRequest_Application) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[386] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27744,54 +26757,52 @@ func (x *Job_DestroyProjectOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DestroyProjectOp.ProtoReflect.Descriptor instead. -func (*Job_DestroyProjectOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 48} +// Deprecated: Use GetLogStreamRequest_Application.ProtoReflect.Descriptor instead. +func (*GetLogStreamRequest_Application) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{161, 0} } -func (x *Job_DestroyProjectOp) GetProject() *Ref_Project { +func (x *GetLogStreamRequest_Application) GetApplication() *Ref_Application { if x != nil { - return x.Project + return x.Application } return nil } -func (x *Job_DestroyProjectOp) GetSkipDestroyResources() bool { +func (x *GetLogStreamRequest_Application) GetWorkspace() *Ref_Workspace { if x != nil { - return x.SkipDestroyResources + return x.Workspace } - return false + return nil } -// Note that since we run pipeline steps as jobs, the output of the pipeline -// execution is in the job log. -type Job_PipelineStepResult struct { +type LogBatch_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The resulting status from the pipeline step execution. This will - // always be non-nil. On success the code will be OK. - Result *status.Status `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + Source LogBatch_Entry_Source `protobuf:"varint,3,opt,name=source,proto3,enum=hashicorp.waypoint.LogBatch_Entry_Source" json:"source,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Line string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"` } -func (x *Job_PipelineStepResult) Reset() { - *x = Job_PipelineStepResult{} +func (x *LogBatch_Entry) Reset() { + *x = LogBatch_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[385] + mi := &file_pkg_server_proto_server_proto_msgTypes[387] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_PipelineStepResult) String() string { +func (x *LogBatch_Entry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_PipelineStepResult) ProtoMessage() {} +func (*LogBatch_Entry) ProtoMessage() {} -func (x *Job_PipelineStepResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[385] +func (x *LogBatch_Entry) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[387] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27802,50 +26813,63 @@ func (x *Job_PipelineStepResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_PipelineStepResult.ProtoReflect.Descriptor instead. -func (*Job_PipelineStepResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 49} +// Deprecated: Use LogBatch_Entry.ProtoReflect.Descriptor instead. +func (*LogBatch_Entry) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162, 0} } -func (x *Job_PipelineStepResult) GetResult() *status.Status { +func (x *LogBatch_Entry) GetSource() LogBatch_Entry_Source { if x != nil { - return x.Result + return x.Source + } + return LogBatch_Entry_APP +} + +func (x *LogBatch_Entry) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp } return nil } -// QueueProjectOp queues a job for all applications in a project. The -// applications queued may not directly align with what can be found in -// ListProjects because the application list will be based on the config -// and not the database. -type Job_QueueProjectOp struct { +func (x *LogBatch_Entry) GetLine() string { + if x != nil { + return x.Line + } + return "" +} + +// DynamicVal is the configuration for dynamic values for configuration. +type ConfigVar_DynamicVal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The template for the job to queue for each application. The "application" - // field will be overwritten for each application. All other fields are - // untouched. - JobTemplate *Job `protobuf:"bytes,1,opt,name=job_template,json=jobTemplate,proto3" json:"job_template,omitempty"` + // from is the config source plugin to use + From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` + // config is the configuration for the config source plugin that + // defines how the value is read. For example, for a "Vault" config + // source this may contain the path in the KV store to read the value. + Config map[string]string `protobuf:"bytes,2,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Job_QueueProjectOp) Reset() { - *x = Job_QueueProjectOp{} +func (x *ConfigVar_DynamicVal) Reset() { + *x = ConfigVar_DynamicVal{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[386] + mi := &file_pkg_server_proto_server_proto_msgTypes[388] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_QueueProjectOp) String() string { +func (x *ConfigVar_DynamicVal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_QueueProjectOp) ProtoMessage() {} +func (*ConfigVar_DynamicVal) ProtoMessage() {} -func (x *Job_QueueProjectOp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[386] +func (x *ConfigVar_DynamicVal) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[388] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27856,46 +26880,84 @@ func (x *Job_QueueProjectOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_QueueProjectOp.ProtoReflect.Descriptor instead. -func (*Job_QueueProjectOp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 50} +// Deprecated: Use ConfigVar_DynamicVal.ProtoReflect.Descriptor instead. +func (*ConfigVar_DynamicVal) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{163, 0} } -func (x *Job_QueueProjectOp) GetJobTemplate() *Job { +func (x *ConfigVar_DynamicVal) GetFrom() string { if x != nil { - return x.JobTemplate + return x.From + } + return "" +} + +func (x *ConfigVar_DynamicVal) GetConfig() map[string]string { + if x != nil { + return x.Config } return nil } -type Job_QueueProjectResult struct { +// Target sets the target where this configuration variable will be set. +// +// This has multiple dimensions that filtering can be based on (app scope, +// runner, workspace, label selectors, etc.). Each of these is optional. If +// you specify any, they must ALL match. +// +// The simplest type of targeting is just for a project. For example, setting +// an environment variable that is present for all apps in a project, regardless +// of what workspace it may be in. For this, you'd just set `app_scope` to +// `project` and leave everything else empty. +type ConfigVar_Target struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // All applications that had jobs queued. This may be empty even if the - // job was a success. If this is empty, it means that no applications were - // found to have jobs queued. - Applications []*Job_QueueProjectResult_Application `protobuf:"bytes,1,rep,name=applications,proto3" json:"applications,omitempty"` + // app_scope is the project/app scope that this config variable will be set. + // If this is not set, global is assumed. + // + // Types that are assignable to AppScope: + // + // *ConfigVar_Target_Global + // *ConfigVar_Target_Project + // *ConfigVar_Target_Application + AppScope isConfigVar_Target_AppScope `protobuf_oneof:"app_scope"` + // workspace, if set, will limit this config variable to a specific + // workspace. This is in addition to the app scoping above. For example, + // if you specify project scoping above, and set this too, then only + // matching projects in the matching workspace will have this config var + // set. + Workspace *Ref_Workspace `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` + // Label selector specifies an additional filtering mechanism. If this is + // set, then the labels of the current environment must match for this + // config variable to be set. Labels are determined by the operation: the + // labels of the deploy, for example. + LabelSelector string `protobuf:"bytes,5,opt,name=label_selector,json=labelSelector,proto3" json:"label_selector,omitempty"` + // If this is set, then this configuration value will be set on runners + // instead of deployed applications. This determines the runners that + // will get this config var. If this config var is for an application, + // leave this unset (null). + Runner *Ref_Runner `protobuf:"bytes,6,opt,name=runner,proto3" json:"runner,omitempty"` } -func (x *Job_QueueProjectResult) Reset() { - *x = Job_QueueProjectResult{} +func (x *ConfigVar_Target) Reset() { + *x = ConfigVar_Target{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[387] + mi := &file_pkg_server_proto_server_proto_msgTypes[389] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_QueueProjectResult) String() string { +func (x *ConfigVar_Target) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_QueueProjectResult) ProtoMessage() {} +func (*ConfigVar_Target) ProtoMessage() {} -func (x *Job_QueueProjectResult) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[387] +func (x *ConfigVar_Target) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[389] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27906,134 +26968,115 @@ func (x *Job_QueueProjectResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_QueueProjectResult.ProtoReflect.Descriptor instead. -func (*Job_QueueProjectResult) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 51} +// Deprecated: Use ConfigVar_Target.ProtoReflect.Descriptor instead. +func (*ConfigVar_Target) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{163, 1} } -func (x *Job_QueueProjectResult) GetApplications() []*Job_QueueProjectResult_Application { - if x != nil { - return x.Applications +func (m *ConfigVar_Target) GetAppScope() isConfigVar_Target_AppScope { + if m != nil { + return m.AppScope } return nil } -// Ref is a reference to the exact set of data used by a data source. -type Job_DataSource_Ref struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Ref: - // - // *Job_DataSource_Ref_Unknown - // *Job_DataSource_Ref_Git - Ref isJob_DataSource_Ref_Ref `protobuf_oneof:"ref"` -} - -func (x *Job_DataSource_Ref) Reset() { - *x = Job_DataSource_Ref{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[388] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ConfigVar_Target) GetGlobal() *Ref_Global { + if x, ok := x.GetAppScope().(*ConfigVar_Target_Global); ok { + return x.Global } + return nil } -func (x *Job_DataSource_Ref) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Job_DataSource_Ref) ProtoMessage() {} - -func (x *Job_DataSource_Ref) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[388] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ConfigVar_Target) GetProject() *Ref_Project { + if x, ok := x.GetAppScope().(*ConfigVar_Target_Project); ok { + return x.Project } - return mi.MessageOf(x) + return nil } -// Deprecated: Use Job_DataSource_Ref.ProtoReflect.Descriptor instead. -func (*Job_DataSource_Ref) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 6, 0} +func (x *ConfigVar_Target) GetApplication() *Ref_Application { + if x, ok := x.GetAppScope().(*ConfigVar_Target_Application); ok { + return x.Application + } + return nil } -func (m *Job_DataSource_Ref) GetRef() isJob_DataSource_Ref_Ref { - if m != nil { - return m.Ref +func (x *ConfigVar_Target) GetWorkspace() *Ref_Workspace { + if x != nil { + return x.Workspace } return nil } -func (x *Job_DataSource_Ref) GetUnknown() *emptypb.Empty { - if x, ok := x.GetRef().(*Job_DataSource_Ref_Unknown); ok { - return x.Unknown +func (x *ConfigVar_Target) GetLabelSelector() string { + if x != nil { + return x.LabelSelector } - return nil + return "" } -func (x *Job_DataSource_Ref) GetGit() *Job_Git_Ref { - if x, ok := x.GetRef().(*Job_DataSource_Ref_Git); ok { - return x.Git +func (x *ConfigVar_Target) GetRunner() *Ref_Runner { + if x != nil { + return x.Runner } return nil } -type isJob_DataSource_Ref_Ref interface { - isJob_DataSource_Ref_Ref() +type isConfigVar_Target_AppScope interface { + isConfigVar_Target_AppScope() } -type Job_DataSource_Ref_Unknown struct { - // unknown is set if the ref is not known or not supported, such - // as for local data sources where we have no way to uniquely identify. - Unknown *emptypb.Empty `protobuf:"bytes,1,opt,name=unknown,proto3,oneof"` +type ConfigVar_Target_Global struct { + Global *Ref_Global `protobuf:"bytes,1,opt,name=global,proto3,oneof"` } -type Job_DataSource_Ref_Git struct { - // git commit - Git *Job_Git_Ref `protobuf:"bytes,2,opt,name=git,proto3,oneof"` +type ConfigVar_Target_Project struct { + Project *Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } -func (*Job_DataSource_Ref_Unknown) isJob_DataSource_Ref_Ref() {} +type ConfigVar_Target_Application struct { + Application *Ref_Application `protobuf:"bytes,3,opt,name=application,proto3,oneof"` +} -func (*Job_DataSource_Ref_Git) isJob_DataSource_Ref_Ref() {} +func (*ConfigVar_Target_Global) isConfigVar_Target_AppScope() {} -// Basic auth -type Job_Git_Basic struct { +func (*ConfigVar_Target_Project) isConfigVar_Target_AppScope() {} + +func (*ConfigVar_Target_Application) isConfigVar_Target_AppScope() {} + +type ExecStreamRequest_Start struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // username for authentication. If using access token based auth - // for something like GitHub, this can be any non-empty string. - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - // password for authentication. If using access token based auth - // for GitHub, this should be the access token. - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // Types that are assignable to Target: + // + // *ExecStreamRequest_Start_DeploymentId + // *ExecStreamRequest_Start_InstanceId + Target isExecStreamRequest_Start_Target `protobuf_oneof:"target"` + // Args including the command at args[0] to execute. + Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + // Pty is set if we should allocate a PTY for this exec stream. + Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } -func (x *Job_Git_Basic) Reset() { - *x = Job_Git_Basic{} +func (x *ExecStreamRequest_Start) Reset() { + *x = ExecStreamRequest_Start{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[389] + mi := &file_pkg_server_proto_server_proto_msgTypes[393] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Git_Basic) String() string { +func (x *ExecStreamRequest_Start) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Git_Basic) ProtoMessage() {} +func (*ExecStreamRequest_Start) ProtoMessage() {} -func (x *Job_Git_Basic) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[389] +func (x *ExecStreamRequest_Start) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[393] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28044,57 +27087,92 @@ func (x *Job_Git_Basic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Git_Basic.ProtoReflect.Descriptor instead. -func (*Job_Git_Basic) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 0} +// Deprecated: Use ExecStreamRequest_Start.ProtoReflect.Descriptor instead. +func (*ExecStreamRequest_Start) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175, 0} } -func (x *Job_Git_Basic) GetUsername() string { - if x != nil { - return x.Username +func (m *ExecStreamRequest_Start) GetTarget() isExecStreamRequest_Start_Target { + if m != nil { + return m.Target + } + return nil +} + +func (x *ExecStreamRequest_Start) GetDeploymentId() string { + if x, ok := x.GetTarget().(*ExecStreamRequest_Start_DeploymentId); ok { + return x.DeploymentId } return "" } -func (x *Job_Git_Basic) GetPassword() string { - if x != nil { - return x.Password +func (x *ExecStreamRequest_Start) GetInstanceId() string { + if x, ok := x.GetTarget().(*ExecStreamRequest_Start_InstanceId); ok { + return x.InstanceId } return "" } -// SSH private key auth -type Job_Git_SSH struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +func (x *ExecStreamRequest_Start) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ExecStreamRequest_Start) GetPty() *ExecStreamRequest_PTY { + if x != nil { + return x.Pty + } + return nil +} + +type isExecStreamRequest_Start_Target interface { + isExecStreamRequest_Start_Target() +} + +type ExecStreamRequest_Start_DeploymentId struct { + // Deployment to exec into + DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3,oneof"` +} + +type ExecStreamRequest_Start_InstanceId struct { + // Instance to send the exec request to. This is indicates that + // the client wants an exec session to this specific instance, + // rather than one the server picks. Targeted instances can be + // any instance type, where as untargeted have to be LONG_RUNNING. + InstanceId string `protobuf:"bytes,4,opt,name=instance_id,json=instanceId,proto3,oneof"` +} + +func (*ExecStreamRequest_Start_DeploymentId) isExecStreamRequest_Start_Target() {} + +func (*ExecStreamRequest_Start_InstanceId) isExecStreamRequest_Start_Target() {} + +type ExecStreamRequest_Input struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // private_key_pem is a PEM-encoded private key. - PrivateKeyPem []byte `protobuf:"bytes,1,opt,name=private_key_pem,json=privateKeyPem,proto3" json:"private_key_pem,omitempty"` - // password is an optional password for decoding the private key. - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` - // user is the SSH user to use when cloning. This will default to - // "git" if not specified. - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } -func (x *Job_Git_SSH) Reset() { - *x = Job_Git_SSH{} +func (x *ExecStreamRequest_Input) Reset() { + *x = ExecStreamRequest_Input{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[390] + mi := &file_pkg_server_proto_server_proto_msgTypes[394] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Git_SSH) String() string { +func (x *ExecStreamRequest_Input) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Git_SSH) ProtoMessage() {} +func (*ExecStreamRequest_Input) ProtoMessage() {} -func (x *Job_Git_SSH) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[390] +func (x *ExecStreamRequest_Input) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[394] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28105,63 +27183,47 @@ func (x *Job_Git_SSH) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Git_SSH.ProtoReflect.Descriptor instead. -func (*Job_Git_SSH) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 1} +// Deprecated: Use ExecStreamRequest_Input.ProtoReflect.Descriptor instead. +func (*ExecStreamRequest_Input) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175, 1} } -func (x *Job_Git_SSH) GetPrivateKeyPem() []byte { +func (x *ExecStreamRequest_Input) GetData() []byte { if x != nil { - return x.PrivateKeyPem + return x.Data } return nil } -func (x *Job_Git_SSH) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -func (x *Job_Git_SSH) GetUser() string { - if x != nil { - return x.User - } - return "" -} - -// Ref is used to populate DataSource.Ref -type Job_Git_Ref struct { +type ExecStreamRequest_PTY struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // commit is the full commit hash - Commit string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"` - // timestamp is the timestamp of the commit - Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // commit_message is the commit message, contains arbitrary text - CommitMessage string `protobuf:"bytes,3,opt,name=commit_message,json=commitMessage,proto3" json:"commit_message,omitempty"` + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // term is the TERM value to request on the remote side. This should be set. + Term string `protobuf:"bytes,2,opt,name=term,proto3" json:"term,omitempty"` + // window_size is the initial window size + WindowSize *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=window_size,json=windowSize,proto3" json:"window_size,omitempty"` } -func (x *Job_Git_Ref) Reset() { - *x = Job_Git_Ref{} +func (x *ExecStreamRequest_PTY) Reset() { + *x = ExecStreamRequest_PTY{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[391] + mi := &file_pkg_server_proto_server_proto_msgTypes[395] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_Git_Ref) String() string { +func (x *ExecStreamRequest_PTY) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_Git_Ref) ProtoMessage() {} +func (*ExecStreamRequest_PTY) ProtoMessage() {} -func (x *Job_Git_Ref) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[391] +func (x *ExecStreamRequest_PTY) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[395] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28172,75 +27234,60 @@ func (x *Job_Git_Ref) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_Git_Ref.ProtoReflect.Descriptor instead. -func (*Job_Git_Ref) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 9, 2} +// Deprecated: Use ExecStreamRequest_PTY.ProtoReflect.Descriptor instead. +func (*ExecStreamRequest_PTY) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175, 2} } -func (x *Job_Git_Ref) GetCommit() string { +func (x *ExecStreamRequest_PTY) GetEnable() bool { if x != nil { - return x.Commit + return x.Enable } - return "" + return false } -func (x *Job_Git_Ref) GetTimestamp() *timestamppb.Timestamp { +func (x *ExecStreamRequest_PTY) GetTerm() string { if x != nil { - return x.Timestamp + return x.Term } - return nil + return "" } -func (x *Job_Git_Ref) GetCommitMessage() string { +func (x *ExecStreamRequest_PTY) GetWindowSize() *ExecStreamRequest_WindowSize { if x != nil { - return x.CommitMessage + return x.WindowSize } - return "" + return nil } -type Job_AuthResult_Result struct { +type ExecStreamRequest_WindowSize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // component that was checked - Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` - // result of the auth check. If the component didn't implement the - // auth interface this will be set to true. You can check for interface - // implementation using auth_supported. If auth is attempted, the auth - // operation will recheck the status and this value will reflect the - // check post-auth attempt. You can use this to verify if the auth - // succeeded. - CheckResult bool `protobuf:"varint,2,opt,name=check_result,json=checkResult,proto3" json:"check_result,omitempty"` - CheckError *status.Status `protobuf:"bytes,3,opt,name=check_error,json=checkError,proto3" json:"check_error,omitempty"` - // this is true if the component was authenticated using the Auth - // callback. If false, then no attempt was made to authenticate. This - // can be on purpose for example if "check_only" is set to true on - // the op. - AuthCompleted bool `protobuf:"varint,4,opt,name=auth_completed,json=authCompleted,proto3" json:"auth_completed,omitempty"` - AuthError *status.Status `protobuf:"bytes,5,opt,name=auth_error,json=authError,proto3" json:"auth_error,omitempty"` - // auth supported is true if this component implemented the auth - // interface. - AuthSupported bool `protobuf:"varint,6,opt,name=auth_supported,json=authSupported,proto3" json:"auth_supported,omitempty"` + Rows int32 `protobuf:"varint,1,opt,name=rows,proto3" json:"rows,omitempty"` + Cols int32 `protobuf:"varint,2,opt,name=cols,proto3" json:"cols,omitempty"` + Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` + Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } -func (x *Job_AuthResult_Result) Reset() { - *x = Job_AuthResult_Result{} +func (x *ExecStreamRequest_WindowSize) Reset() { + *x = ExecStreamRequest_WindowSize{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[392] + mi := &file_pkg_server_proto_server_proto_msgTypes[396] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_AuthResult_Result) String() string { +func (x *ExecStreamRequest_WindowSize) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_AuthResult_Result) ProtoMessage() {} +func (*ExecStreamRequest_WindowSize) ProtoMessage() {} -func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[392] +func (x *ExecStreamRequest_WindowSize) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[396] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28251,80 +27298,102 @@ func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_AuthResult_Result.ProtoReflect.Descriptor instead. -func (*Job_AuthResult_Result) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 16, 0} +// Deprecated: Use ExecStreamRequest_WindowSize.ProtoReflect.Descriptor instead. +func (*ExecStreamRequest_WindowSize) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{175, 3} } -func (x *Job_AuthResult_Result) GetComponent() *Component { +func (x *ExecStreamRequest_WindowSize) GetRows() int32 { if x != nil { - return x.Component + return x.Rows } - return nil + return 0 } -func (x *Job_AuthResult_Result) GetCheckResult() bool { +func (x *ExecStreamRequest_WindowSize) GetCols() int32 { if x != nil { - return x.CheckResult + return x.Cols } - return false + return 0 } -func (x *Job_AuthResult_Result) GetCheckError() *status.Status { +func (x *ExecStreamRequest_WindowSize) GetWidth() int32 { if x != nil { - return x.CheckError + return x.Width } - return nil + return 0 } -func (x *Job_AuthResult_Result) GetAuthCompleted() bool { +func (x *ExecStreamRequest_WindowSize) GetHeight() int32 { if x != nil { - return x.AuthCompleted + return x.Height } - return false + return 0 } -func (x *Job_AuthResult_Result) GetAuthError() *status.Status { - if x != nil { - return x.AuthError +type ExecStreamResponse_Open struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExecStreamResponse_Open) Reset() { + *x = ExecStreamResponse_Open{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_server_proto_server_proto_msgTypes[397] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Job_AuthResult_Result) GetAuthSupported() bool { - if x != nil { - return x.AuthSupported +func (x *ExecStreamResponse_Open) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecStreamResponse_Open) ProtoMessage() {} + +func (x *ExecStreamResponse_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[397] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -type Job_DocsResult_Result struct { +// Deprecated: Use ExecStreamResponse_Open.ProtoReflect.Descriptor instead. +func (*ExecStreamResponse_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176, 0} +} + +type ExecStreamResponse_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // component that the docs are for - Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` - Docs *Documentation `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } -func (x *Job_DocsResult_Result) Reset() { - *x = Job_DocsResult_Result{} +func (x *ExecStreamResponse_Exit) Reset() { + *x = ExecStreamResponse_Exit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[393] + mi := &file_pkg_server_proto_server_proto_msgTypes[398] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_DocsResult_Result) String() string { +func (x *ExecStreamResponse_Exit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_DocsResult_Result) ProtoMessage() {} +func (*ExecStreamResponse_Exit) ProtoMessage() {} -func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[393] +func (x *ExecStreamResponse_Exit) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[398] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28335,53 +27404,44 @@ func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Job_DocsResult_Result.ProtoReflect.Descriptor instead. -func (*Job_DocsResult_Result) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 38, 0} -} - -func (x *Job_DocsResult_Result) GetComponent() *Component { - if x != nil { - return x.Component - } - return nil +// Deprecated: Use ExecStreamResponse_Exit.ProtoReflect.Descriptor instead. +func (*ExecStreamResponse_Exit) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176, 1} } -func (x *Job_DocsResult_Result) GetDocs() *Documentation { +func (x *ExecStreamResponse_Exit) GetCode() int32 { if x != nil { - return x.Docs + return x.Code } - return nil + return 0 } -type Job_QueueProjectResult_Application struct { +type ExecStreamResponse_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Application that was queued. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // ID of the job that was queued. - JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + Channel ExecStreamResponse_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.waypoint.ExecStreamResponse_Output_Channel" json:"channel,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } -func (x *Job_QueueProjectResult_Application) Reset() { - *x = Job_QueueProjectResult_Application{} +func (x *ExecStreamResponse_Output) Reset() { + *x = ExecStreamResponse_Output{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[395] + mi := &file_pkg_server_proto_server_proto_msgTypes[399] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Job_QueueProjectResult_Application) String() string { +func (x *ExecStreamResponse_Output) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Job_QueueProjectResult_Application) ProtoMessage() {} +func (*ExecStreamResponse_Output) ProtoMessage() {} -func (x *Job_QueueProjectResult_Application) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[395] +func (x *ExecStreamResponse_Output) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[399] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28392,56 +27452,52 @@ func (x *Job_QueueProjectResult_Application) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use Job_QueueProjectResult_Application.ProtoReflect.Descriptor instead. -func (*Job_QueueProjectResult_Application) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{53, 51, 0} +// Deprecated: Use ExecStreamResponse_Output.ProtoReflect.Descriptor instead. +func (*ExecStreamResponse_Output) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{176, 2} } -func (x *Job_QueueProjectResult_Application) GetApplication() *Ref_Application { +func (x *ExecStreamResponse_Output) GetChannel() ExecStreamResponse_Output_Channel { if x != nil { - return x.Application + return x.Channel } - return nil + return ExecStreamResponse_Output_UNKNOWN } -func (x *Job_QueueProjectResult_Application) GetJobId() string { +func (x *ExecStreamResponse_Output) GetData() []byte { if x != nil { - return x.JobId + return x.Data } - return "" + return nil } -type Documentation_Field struct { +type EntrypointConfig_Exec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Synopsis string `protobuf:"bytes,2,opt,name=synopsis,proto3" json:"synopsis,omitempty"` - Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` - Optional bool `protobuf:"varint,4,opt,name=optional,proto3" json:"optional,omitempty"` - EnvVar string `protobuf:"bytes,5,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"` - Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` - Default string `protobuf:"bytes,7,opt,name=default,proto3" json:"default,omitempty"` + Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } -func (x *Documentation_Field) Reset() { - *x = Documentation_Field{} +func (x *EntrypointConfig_Exec) Reset() { + *x = EntrypointConfig_Exec{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[397] + mi := &file_pkg_server_proto_server_proto_msgTypes[400] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Documentation_Field) String() string { +func (x *EntrypointConfig_Exec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Documentation_Field) ProtoMessage() {} +func (*EntrypointConfig_Exec) ProtoMessage() {} -func (x *Documentation_Field) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[397] +func (x *EntrypointConfig_Exec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[400] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28452,87 +27508,61 @@ func (x *Documentation_Field) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Documentation_Field.ProtoReflect.Descriptor instead. -func (*Documentation_Field) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{54, 1} -} - -func (x *Documentation_Field) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Documentation_Field) GetSynopsis() string { - if x != nil { - return x.Synopsis - } - return "" -} - -func (x *Documentation_Field) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *Documentation_Field) GetOptional() bool { - if x != nil { - return x.Optional - } - return false +// Deprecated: Use EntrypointConfig_Exec.ProtoReflect.Descriptor instead. +func (*EntrypointConfig_Exec) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{179, 0} } -func (x *Documentation_Field) GetEnvVar() string { +func (x *EntrypointConfig_Exec) GetIndex() int64 { if x != nil { - return x.EnvVar + return x.Index } - return "" + return 0 } -func (x *Documentation_Field) GetType() string { +func (x *EntrypointConfig_Exec) GetArgs() []string { if x != nil { - return x.Type + return x.Args } - return "" + return nil } -func (x *Documentation_Field) GetDefault() string { +func (x *EntrypointConfig_Exec) GetPty() *ExecStreamRequest_PTY { if x != nil { - return x.Default + return x.Pty } - return "" + return nil } -type Documentation_Mapper struct { +type EntrypointConfig_URLService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` - Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // address to the control server and the token for auth + ControlAddr string `protobuf:"bytes,1,opt,name=control_addr,json=controlAddr,proto3" json:"control_addr,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + // labels to register this instance under + Labels string `protobuf:"bytes,3,opt,name=labels,proto3" json:"labels,omitempty"` } -func (x *Documentation_Mapper) Reset() { - *x = Documentation_Mapper{} +func (x *EntrypointConfig_URLService) Reset() { + *x = EntrypointConfig_URLService{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[398] + mi := &file_pkg_server_proto_server_proto_msgTypes[401] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Documentation_Mapper) String() string { +func (x *EntrypointConfig_URLService) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Documentation_Mapper) ProtoMessage() {} +func (*EntrypointConfig_URLService) ProtoMessage() {} -func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[398] +func (x *EntrypointConfig_URLService) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[401] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28543,55 +27573,60 @@ func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Documentation_Mapper.ProtoReflect.Descriptor instead. -func (*Documentation_Mapper) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{54, 2} +// Deprecated: Use EntrypointConfig_URLService.ProtoReflect.Descriptor instead. +func (*EntrypointConfig_URLService) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{179, 1} } -func (x *Documentation_Mapper) GetInput() string { +func (x *EntrypointConfig_URLService) GetControlAddr() string { if x != nil { - return x.Input + return x.ControlAddr } return "" } -func (x *Documentation_Mapper) GetOutput() string { +func (x *EntrypointConfig_URLService) GetToken() string { if x != nil { - return x.Output + return x.Token } return "" } -func (x *Documentation_Mapper) GetDescription() string { +func (x *EntrypointConfig_URLService) GetLabels() string { if x != nil { - return x.Description + return x.Labels } return "" } -type GetJobStreamResponse_Open struct { +type EntrypointConfig_DeploymentInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // component is the deployment plugin information that launched this instance. + Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` + // labels are the set of labels that are present on the deployment. + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *GetJobStreamResponse_Open) Reset() { - *x = GetJobStreamResponse_Open{} +func (x *EntrypointConfig_DeploymentInfo) Reset() { + *x = EntrypointConfig_DeploymentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[399] + mi := &file_pkg_server_proto_server_proto_msgTypes[402] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Open) String() string { +func (x *EntrypointConfig_DeploymentInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Open) ProtoMessage() {} +func (*EntrypointConfig_DeploymentInfo) ProtoMessage() {} -func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[399] +func (x *EntrypointConfig_DeploymentInfo) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[402] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28602,44 +27637,51 @@ func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Open.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 0} +// Deprecated: Use EntrypointConfig_DeploymentInfo.ProtoReflect.Descriptor instead. +func (*EntrypointConfig_DeploymentInfo) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{179, 2} } -type GetJobStreamResponse_State struct { +func (x *EntrypointConfig_DeploymentInfo) GetComponent() *Component { + if x != nil { + return x.Component + } + return nil +} + +func (x *EntrypointConfig_DeploymentInfo) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type EntrypointExecRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // previous and current are the previous and current states, respectively. - Previous Job_State `protobuf:"varint,1,opt,name=previous,proto3,enum=hashicorp.waypoint.Job_State" json:"previous,omitempty"` - Current Job_State `protobuf:"varint,2,opt,name=current,proto3,enum=hashicorp.waypoint.Job_State" json:"current,omitempty"` - // The full updated job is also sent because additional fields may be - // set depending on the state (such as the assigned runner, assignment - // times, etc.) - Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"` - // canceling is true if the job was requested to be canceled. - Canceling bool `protobuf:"varint,4,opt,name=canceling,proto3" json:"canceling,omitempty"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` } -func (x *GetJobStreamResponse_State) Reset() { - *x = GetJobStreamResponse_State{} +func (x *EntrypointExecRequest_Open) Reset() { + *x = EntrypointExecRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[400] + mi := &file_pkg_server_proto_server_proto_msgTypes[404] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_State) String() string { +func (x *EntrypointExecRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_State) ProtoMessage() {} +func (*EntrypointExecRequest_Open) ProtoMessage() {} -func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[400] +func (x *EntrypointExecRequest_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[404] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28650,65 +27692,50 @@ func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_State.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_State) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 1} +// Deprecated: Use EntrypointExecRequest_Open.ProtoReflect.Descriptor instead. +func (*EntrypointExecRequest_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 0} } -func (x *GetJobStreamResponse_State) GetPrevious() Job_State { +func (x *EntrypointExecRequest_Open) GetInstanceId() string { if x != nil { - return x.Previous + return x.InstanceId } - return Job_UNKNOWN + return "" } -func (x *GetJobStreamResponse_State) GetCurrent() Job_State { +func (x *EntrypointExecRequest_Open) GetIndex() int64 { if x != nil { - return x.Current + return x.Index } - return Job_UNKNOWN + return 0 } -func (x *GetJobStreamResponse_State) GetJob() *Job { - if x != nil { - return x.Job - } - return nil -} - -func (x *GetJobStreamResponse_State) GetCanceling() bool { - if x != nil { - return x.Canceling - } - return false -} - -type GetJobStreamResponse_JobChange struct { +type EntrypointExecRequest_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The full updated job. - Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } -func (x *GetJobStreamResponse_JobChange) Reset() { - *x = GetJobStreamResponse_JobChange{} +func (x *EntrypointExecRequest_Exit) Reset() { + *x = EntrypointExecRequest_Exit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[401] + mi := &file_pkg_server_proto_server_proto_msgTypes[405] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_JobChange) String() string { +func (x *EntrypointExecRequest_Exit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_JobChange) ProtoMessage() {} +func (*EntrypointExecRequest_Exit) ProtoMessage() {} -func (x *GetJobStreamResponse_JobChange) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[401] +func (x *EntrypointExecRequest_Exit) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[405] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28719,46 +27746,44 @@ func (x *GetJobStreamResponse_JobChange) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_JobChange.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_JobChange) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 2} +// Deprecated: Use EntrypointExecRequest_Exit.ProtoReflect.Descriptor instead. +func (*EntrypointExecRequest_Exit) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 1} } -func (x *GetJobStreamResponse_JobChange) GetJob() *Job { +func (x *EntrypointExecRequest_Exit) GetCode() int32 { if x != nil { - return x.Job + return x.Code } - return nil + return 0 } -type GetJobStreamResponse_Download struct { +type EntrypointExecRequest_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The ref for the data that was downloaded. This can be nil if no - // data was downloaded (though it'd be more reasonable to just not - // send a download event in that case). - DataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=data_source_ref,json=dataSourceRef,proto3" json:"data_source_ref,omitempty"` + Channel EntrypointExecRequest_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.waypoint.EntrypointExecRequest_Output_Channel" json:"channel,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } -func (x *GetJobStreamResponse_Download) Reset() { - *x = GetJobStreamResponse_Download{} +func (x *EntrypointExecRequest_Output) Reset() { + *x = EntrypointExecRequest_Output{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[402] + mi := &file_pkg_server_proto_server_proto_msgTypes[406] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Download) String() string { +func (x *EntrypointExecRequest_Output) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Download) ProtoMessage() {} +func (*EntrypointExecRequest_Output) ProtoMessage() {} -func (x *GetJobStreamResponse_Download) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[402] +func (x *EntrypointExecRequest_Output) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[406] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28769,78 +27794,26 @@ func (x *GetJobStreamResponse_Download) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Download.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Download) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 3} +// Deprecated: Use EntrypointExecRequest_Output.ProtoReflect.Descriptor instead. +func (*EntrypointExecRequest_Output) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 2} } -func (x *GetJobStreamResponse_Download) GetDataSourceRef() *Job_DataSource_Ref { +func (x *EntrypointExecRequest_Output) GetChannel() EntrypointExecRequest_Output_Channel { if x != nil { - return x.DataSourceRef - } - return nil -} - -type GetJobStreamResponse_Terminal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Events []*GetJobStreamResponse_Terminal_Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` - // buffered if true signifies that the data being sent is from the - // server buffer and is historical vs real-time since the stream was - // opened. If this is true, all lines are buffered. We will never mix - // buffered and non-buffered lines. - Buffered bool `protobuf:"varint,2,opt,name=buffered,proto3" json:"buffered,omitempty"` -} - -func (x *GetJobStreamResponse_Terminal) Reset() { - *x = GetJobStreamResponse_Terminal{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[403] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJobStreamResponse_Terminal) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJobStreamResponse_Terminal) ProtoMessage() {} - -func (x *GetJobStreamResponse_Terminal) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[403] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.Channel } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJobStreamResponse_Terminal.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4} + return EntrypointExecRequest_Output_UNKNOWN } -func (x *GetJobStreamResponse_Terminal) GetEvents() []*GetJobStreamResponse_Terminal_Event { +func (x *EntrypointExecRequest_Output) GetData() []byte { if x != nil { - return x.Events + return x.Data } return nil } -func (x *GetJobStreamResponse_Terminal) GetBuffered() bool { - if x != nil { - return x.Buffered - } - return false -} - -type GetJobStreamResponse_Error struct { +type EntrypointExecRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -28848,23 +27821,23 @@ type GetJobStreamResponse_Error struct { Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } -func (x *GetJobStreamResponse_Error) Reset() { - *x = GetJobStreamResponse_Error{} +func (x *EntrypointExecRequest_Error) Reset() { + *x = EntrypointExecRequest_Error{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[404] + mi := &file_pkg_server_proto_server_proto_msgTypes[407] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Error) String() string { +func (x *EntrypointExecRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Error) ProtoMessage() {} +func (*EntrypointExecRequest_Error) ProtoMessage() {} -func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[404] +func (x *EntrypointExecRequest_Error) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[407] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28875,48 +27848,69 @@ func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Error.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Error) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 5} +// Deprecated: Use EntrypointExecRequest_Error.ProtoReflect.Descriptor instead. +func (*EntrypointExecRequest_Error) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 3} } -func (x *GetJobStreamResponse_Error) GetError() *status.Status { +func (x *EntrypointExecRequest_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } -type GetJobStreamResponse_Complete struct { +// A single step within the pipeline. +type Pipeline_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // error, if set, is an error that occurred as part of the job execution - // and resulted in job termination. This is different than the "error" - // event which is an error in the stream itself. - Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - // Result will be set to the final result of the job execution, if any. - Result *Job_Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + // Name of the step. This is unique within a pipeline. In the "steps" + // map, this must match the map key. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The steps that must come before this step. If this is empty, + // this is considered a "root" step. Only one step may be root. + // See "steps" on the Pipeline message for details. + DependsOn []string `protobuf:"bytes,2,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` + // The kind of step this is. IMPORTANT: the string values stored + // by the kind messages may contain HCL that needs further parsing. + // They are "partially" evaluated (similar to ConfigVars) using + // internal/pkg/partial. + // + // Types that are assignable to Kind: + // + // *Pipeline_Step_Exec_ + // *Pipeline_Step_Build_ + // *Pipeline_Step_Deploy_ + // *Pipeline_Step_Release_ + // *Pipeline_Step_Up_ + // *Pipeline_Step_Pipeline_ + Kind isPipeline_Step_Kind `protobuf_oneof:"kind"` + // Docker image to execute. This should be a fully qualified image URL. + Image string `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` + // Workspace to use in step execution. If undefined, will default to the + // Workspace used when running the pipeline, otherwise 'default' + Workspace *Ref_Workspace `protobuf:"bytes,10,opt,name=workspace,proto3" json:"workspace,omitempty"` } -func (x *GetJobStreamResponse_Complete) Reset() { - *x = GetJobStreamResponse_Complete{} +func (x *Pipeline_Step) Reset() { + *x = Pipeline_Step{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[405] + mi := &file_pkg_server_proto_server_proto_msgTypes[409] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Complete) String() string { +func (x *Pipeline_Step) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Complete) ProtoMessage() {} +func (*Pipeline_Step) ProtoMessage() {} -func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[405] +func (x *Pipeline_Step) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[409] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28927,216 +27921,165 @@ func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Complete.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Complete) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 6} +// Deprecated: Use Pipeline_Step.ProtoReflect.Descriptor instead. +func (*Pipeline_Step) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1} } -func (x *GetJobStreamResponse_Complete) GetError() *status.Status { +func (x *Pipeline_Step) GetName() string { if x != nil { - return x.Error + return x.Name } - return nil + return "" } -func (x *GetJobStreamResponse_Complete) GetResult() *Job_Result { +func (x *Pipeline_Step) GetDependsOn() []string { if x != nil { - return x.Result + return x.DependsOn } return nil } -type GetJobStreamResponse_Terminal_Event struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // timestamp of the event as seen by the runner. This might be - // skewed from the server or the client but relative to all other - // line output, it will be accurate. - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // Types that are assignable to Event: - // - // *GetJobStreamResponse_Terminal_Event_Line_ - // *GetJobStreamResponse_Terminal_Event_Status_ - // *GetJobStreamResponse_Terminal_Event_NamedValues_ - // *GetJobStreamResponse_Terminal_Event_Raw_ - // *GetJobStreamResponse_Terminal_Event_Table_ - // *GetJobStreamResponse_Terminal_Event_StepGroup_ - // *GetJobStreamResponse_Terminal_Event_Step_ - Event isGetJobStreamResponse_Terminal_Event_Event `protobuf_oneof:"event"` -} - -func (x *GetJobStreamResponse_Terminal_Event) Reset() { - *x = GetJobStreamResponse_Terminal_Event{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[406] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJobStreamResponse_Terminal_Event) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJobStreamResponse_Terminal_Event) ProtoMessage() {} - -func (x *GetJobStreamResponse_Terminal_Event) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[406] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJobStreamResponse_Terminal_Event.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0} -} - -func (x *GetJobStreamResponse_Terminal_Event) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp +func (m *Pipeline_Step) GetKind() isPipeline_Step_Kind { + if m != nil { + return m.Kind } return nil } -func (m *GetJobStreamResponse_Terminal_Event) GetEvent() isGetJobStreamResponse_Terminal_Event_Event { - if m != nil { - return m.Event +func (x *Pipeline_Step) GetExec() *Pipeline_Step_Exec { + if x, ok := x.GetKind().(*Pipeline_Step_Exec_); ok { + return x.Exec } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetLine() *GetJobStreamResponse_Terminal_Event_Line { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Line_); ok { - return x.Line +func (x *Pipeline_Step) GetBuild() *Pipeline_Step_Build { + if x, ok := x.GetKind().(*Pipeline_Step_Build_); ok { + return x.Build } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetStatus() *GetJobStreamResponse_Terminal_Event_Status { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Status_); ok { - return x.Status +func (x *Pipeline_Step) GetDeploy() *Pipeline_Step_Deploy { + if x, ok := x.GetKind().(*Pipeline_Step_Deploy_); ok { + return x.Deploy } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetNamedValues() *GetJobStreamResponse_Terminal_Event_NamedValues { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_NamedValues_); ok { - return x.NamedValues +func (x *Pipeline_Step) GetRelease() *Pipeline_Step_Release { + if x, ok := x.GetKind().(*Pipeline_Step_Release_); ok { + return x.Release } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetRaw() *GetJobStreamResponse_Terminal_Event_Raw { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Raw_); ok { - return x.Raw +func (x *Pipeline_Step) GetUp() *Pipeline_Step_Up { + if x, ok := x.GetKind().(*Pipeline_Step_Up_); ok { + return x.Up } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetTable() *GetJobStreamResponse_Terminal_Event_Table { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Table_); ok { - return x.Table +func (x *Pipeline_Step) GetPipeline() *Pipeline_Step_Pipeline { + if x, ok := x.GetKind().(*Pipeline_Step_Pipeline_); ok { + return x.Pipeline } return nil } -func (x *GetJobStreamResponse_Terminal_Event) GetStepGroup() *GetJobStreamResponse_Terminal_Event_StepGroup { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_StepGroup_); ok { - return x.StepGroup +func (x *Pipeline_Step) GetImage() string { + if x != nil { + return x.Image } - return nil + return "" } -func (x *GetJobStreamResponse_Terminal_Event) GetStep() *GetJobStreamResponse_Terminal_Event_Step { - if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Step_); ok { - return x.Step +func (x *Pipeline_Step) GetWorkspace() *Ref_Workspace { + if x != nil { + return x.Workspace } return nil } -type isGetJobStreamResponse_Terminal_Event_Event interface { - isGetJobStreamResponse_Terminal_Event_Event() -} - -type GetJobStreamResponse_Terminal_Event_Line_ struct { - Line *GetJobStreamResponse_Terminal_Event_Line `protobuf:"bytes,2,opt,name=line,proto3,oneof"` +type isPipeline_Step_Kind interface { + isPipeline_Step_Kind() } -type GetJobStreamResponse_Terminal_Event_Status_ struct { - Status *GetJobStreamResponse_Terminal_Event_Status `protobuf:"bytes,3,opt,name=status,proto3,oneof"` +type Pipeline_Step_Exec_ struct { + // Docker execute. + Exec *Pipeline_Step_Exec `protobuf:"bytes,3,opt,name=exec,proto3,oneof"` } -type GetJobStreamResponse_Terminal_Event_NamedValues_ struct { - NamedValues *GetJobStreamResponse_Terminal_Event_NamedValues `protobuf:"bytes,4,opt,name=named_values,json=namedValues,proto3,oneof"` +type Pipeline_Step_Build_ struct { + // Built-in build operation + Build *Pipeline_Step_Build `protobuf:"bytes,4,opt,name=build,proto3,oneof"` } -type GetJobStreamResponse_Terminal_Event_Raw_ struct { - Raw *GetJobStreamResponse_Terminal_Event_Raw `protobuf:"bytes,5,opt,name=raw,proto3,oneof"` +type Pipeline_Step_Deploy_ struct { + // Built-in deploy operation + Deploy *Pipeline_Step_Deploy `protobuf:"bytes,6,opt,name=deploy,proto3,oneof"` } -type GetJobStreamResponse_Terminal_Event_Table_ struct { - Table *GetJobStreamResponse_Terminal_Event_Table `protobuf:"bytes,6,opt,name=table,proto3,oneof"` +type Pipeline_Step_Release_ struct { + // Built-in release operation + Release *Pipeline_Step_Release `protobuf:"bytes,7,opt,name=release,proto3,oneof"` } -type GetJobStreamResponse_Terminal_Event_StepGroup_ struct { - StepGroup *GetJobStreamResponse_Terminal_Event_StepGroup `protobuf:"bytes,7,opt,name=step_group,json=stepGroup,proto3,oneof"` +type Pipeline_Step_Up_ struct { + // Built-in up operation + Up *Pipeline_Step_Up `protobuf:"bytes,8,opt,name=up,proto3,oneof"` } -type GetJobStreamResponse_Terminal_Event_Step_ struct { - Step *GetJobStreamResponse_Terminal_Event_Step `protobuf:"bytes,8,opt,name=step,proto3,oneof"` +type Pipeline_Step_Pipeline_ struct { + // A reference to a different pipeline + Pipeline *Pipeline_Step_Pipeline `protobuf:"bytes,9,opt,name=pipeline,proto3,oneof"` } -func (*GetJobStreamResponse_Terminal_Event_Line_) isGetJobStreamResponse_Terminal_Event_Event() {} - -func (*GetJobStreamResponse_Terminal_Event_Status_) isGetJobStreamResponse_Terminal_Event_Event() {} +func (*Pipeline_Step_Exec_) isPipeline_Step_Kind() {} -func (*GetJobStreamResponse_Terminal_Event_NamedValues_) isGetJobStreamResponse_Terminal_Event_Event() { -} +func (*Pipeline_Step_Build_) isPipeline_Step_Kind() {} -func (*GetJobStreamResponse_Terminal_Event_Raw_) isGetJobStreamResponse_Terminal_Event_Event() {} +func (*Pipeline_Step_Deploy_) isPipeline_Step_Kind() {} -func (*GetJobStreamResponse_Terminal_Event_Table_) isGetJobStreamResponse_Terminal_Event_Event() {} +func (*Pipeline_Step_Release_) isPipeline_Step_Kind() {} -func (*GetJobStreamResponse_Terminal_Event_StepGroup_) isGetJobStreamResponse_Terminal_Event_Event() { -} +func (*Pipeline_Step_Up_) isPipeline_Step_Kind() {} -func (*GetJobStreamResponse_Terminal_Event_Step_) isGetJobStreamResponse_Terminal_Event_Event() {} +func (*Pipeline_Step_Pipeline_) isPipeline_Step_Kind() {} -type GetJobStreamResponse_Terminal_Event_Status struct { +type Pipeline_Step_Exec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` - Step bool `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` + // TODO(briancain): update this to use the Step exec instead of the plugin + // Docker image to execute. This should be a fully qualified image URL. + Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` + // Command to execute within the image. If blank, the default command + // will be executed. + Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_Status) Reset() { - *x = GetJobStreamResponse_Terminal_Event_Status{} +func (x *Pipeline_Step_Exec) Reset() { + *x = Pipeline_Step_Exec{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[407] + mi := &file_pkg_server_proto_server_proto_msgTypes[410] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_Status) String() string { +func (x *Pipeline_Step_Exec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_Status) ProtoMessage() {} +func (*Pipeline_Step_Exec) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[407] +func (x *Pipeline_Step_Exec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[410] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29147,58 +28090,60 @@ func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_Status.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_Status) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 0} +// Deprecated: Use Pipeline_Step_Exec.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Exec) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 0} } -func (x *GetJobStreamResponse_Terminal_Event_Status) GetStatus() string { +func (x *Pipeline_Step_Exec) GetImage() string { if x != nil { - return x.Status + return x.Image } return "" } -func (x *GetJobStreamResponse_Terminal_Event_Status) GetMsg() string { +func (x *Pipeline_Step_Exec) GetCommand() string { if x != nil { - return x.Msg + return x.Command } return "" } -func (x *GetJobStreamResponse_Terminal_Event_Status) GetStep() bool { +func (x *Pipeline_Step_Exec) GetArgs() []string { if x != nil { - return x.Step + return x.Args } - return false + return nil } -type GetJobStreamResponse_Terminal_Event_Line struct { +type Pipeline_Step_Build struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"` + // Whether or not to push the built artifact to a remote container registry + // TODO(briancain): ensure default to false because this will be inside + // an ODR container + DisablePush bool `protobuf:"varint,2,opt,name=disable_push,json=disablePush,proto3" json:"disable_push,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_Line) Reset() { - *x = GetJobStreamResponse_Terminal_Event_Line{} +func (x *Pipeline_Step_Build) Reset() { + *x = Pipeline_Step_Build{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[408] + mi := &file_pkg_server_proto_server_proto_msgTypes[411] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_Line) String() string { +func (x *Pipeline_Step_Build) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_Line) ProtoMessage() {} +func (*Pipeline_Step_Build) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[408] +func (x *Pipeline_Step_Build) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[411] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29209,51 +28154,46 @@ func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_Line.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_Line) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 1} -} - -func (x *GetJobStreamResponse_Terminal_Event_Line) GetMsg() string { - if x != nil { - return x.Msg - } - return "" +// Deprecated: Use Pipeline_Step_Build.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Build) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 1} } -func (x *GetJobStreamResponse_Terminal_Event_Line) GetStyle() string { +func (x *Pipeline_Step_Build) GetDisablePush() bool { if x != nil { - return x.Style + return x.DisablePush } - return "" + return false } -type GetJobStreamResponse_Terminal_Event_Raw struct { +type Pipeline_Step_Deploy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - Stderr bool `protobuf:"varint,2,opt,name=stderr,proto3" json:"stderr,omitempty"` + // Whether or not to run a release immediately after the deploy. Defaults + // to false. Users would probably write a Release step to opt into a release + // but lets support the option here just like the CLI does. + Release bool `protobuf:"varint,1,opt,name=release,proto3" json:"release,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_Raw) Reset() { - *x = GetJobStreamResponse_Terminal_Event_Raw{} +func (x *Pipeline_Step_Deploy) Reset() { + *x = Pipeline_Step_Deploy{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[409] + mi := &file_pkg_server_proto_server_proto_msgTypes[412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_Raw) String() string { +func (x *Pipeline_Step_Deploy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_Raw) ProtoMessage() {} +func (*Pipeline_Step_Deploy) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[409] +func (x *Pipeline_Step_Deploy) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[412] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29264,51 +28204,49 @@ func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_Raw.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_Raw) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 2} -} - -func (x *GetJobStreamResponse_Terminal_Event_Raw) GetData() []byte { - if x != nil { - return x.Data - } - return nil +// Deprecated: Use Pipeline_Step_Deploy.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Deploy) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 2} } -func (x *GetJobStreamResponse_Terminal_Event_Raw) GetStderr() bool { +func (x *Pipeline_Step_Deploy) GetRelease() bool { if x != nil { - return x.Stderr + return x.Release } return false } -type GetJobStreamResponse_Terminal_Event_NamedValue struct { +type Pipeline_Step_Release struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *GetJobStreamResponse_Terminal_Event_NamedValue) Reset() { - *x = GetJobStreamResponse_Terminal_Event_NamedValue{} + Deployment *Ref_Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + Prune bool `protobuf:"varint,2,opt,name=prune,proto3" json:"prune,omitempty"` + // This sets the number of unreleased deployments to retain when pruning. + // This only has an effect if "prune_retain_override" is true. If that + // is false, then pruning uses the default behavior (retain 2). + PruneRetain int32 `protobuf:"varint,3,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` + PruneRetainOverride bool `protobuf:"varint,4,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` +} + +func (x *Pipeline_Step_Release) Reset() { + *x = Pipeline_Step_Release{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[410] + mi := &file_pkg_server_proto_server_proto_msgTypes[413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_NamedValue) String() string { +func (x *Pipeline_Step_Release) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_NamedValue) ProtoMessage() {} +func (*Pipeline_Step_Release) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[410] +func (x *Pipeline_Step_Release) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[413] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29319,50 +28257,69 @@ func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_NamedValue.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_NamedValue) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 3} +// Deprecated: Use Pipeline_Step_Release.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Release) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 3} } -func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetName() string { +func (x *Pipeline_Step_Release) GetDeployment() *Ref_Deployment { if x != nil { - return x.Name + return x.Deployment } - return "" + return nil } -func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetValue() string { +func (x *Pipeline_Step_Release) GetPrune() bool { if x != nil { - return x.Value + return x.Prune } - return "" + return false } -type GetJobStreamResponse_Terminal_Event_NamedValues struct { +func (x *Pipeline_Step_Release) GetPruneRetain() int32 { + if x != nil { + return x.PruneRetain + } + return 0 +} + +func (x *Pipeline_Step_Release) GetPruneRetainOverride() bool { + if x != nil { + return x.PruneRetainOverride + } + return false +} + +type Pipeline_Step_Up struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Values []*GetJobStreamResponse_Terminal_Event_NamedValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + Prune bool `protobuf:"varint,1,opt,name=prune,proto3" json:"prune,omitempty"` + // This sets the number of unreleased deployments to retain when pruning. + // This only has an effect if "prune_retain_override" is true. If that + // is false, then pruning uses the default behavior (retain 2). + PruneRetain int32 `protobuf:"varint,2,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` + PruneRetainOverride bool `protobuf:"varint,3,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_NamedValues) Reset() { - *x = GetJobStreamResponse_Terminal_Event_NamedValues{} +func (x *Pipeline_Step_Up) Reset() { + *x = Pipeline_Step_Up{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[411] + mi := &file_pkg_server_proto_server_proto_msgTypes[414] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_NamedValues) String() string { +func (x *Pipeline_Step_Up) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_NamedValues) ProtoMessage() {} +func (*Pipeline_Step_Up) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[411] +func (x *Pipeline_Step_Up) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[414] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29373,44 +28330,57 @@ func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_NamedValues.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_NamedValues) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 4} +// Deprecated: Use Pipeline_Step_Up.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Up) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 4} } -func (x *GetJobStreamResponse_Terminal_Event_NamedValues) GetValues() []*GetJobStreamResponse_Terminal_Event_NamedValue { +func (x *Pipeline_Step_Up) GetPrune() bool { if x != nil { - return x.Values + return x.Prune } - return nil + return false } -type GetJobStreamResponse_Terminal_Event_TableEntry struct { +func (x *Pipeline_Step_Up) GetPruneRetain() int32 { + if x != nil { + return x.PruneRetain + } + return 0 +} + +func (x *Pipeline_Step_Up) GetPruneRetainOverride() bool { + if x != nil { + return x.PruneRetainOverride + } + return false +} + +type Pipeline_Step_Pipeline struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` + Ref *Ref_Pipeline `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_TableEntry) Reset() { - *x = GetJobStreamResponse_Terminal_Event_TableEntry{} +func (x *Pipeline_Step_Pipeline) Reset() { + *x = Pipeline_Step_Pipeline{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[412] + mi := &file_pkg_server_proto_server_proto_msgTypes[415] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_TableEntry) String() string { +func (x *Pipeline_Step_Pipeline) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_TableEntry) ProtoMessage() {} +func (*Pipeline_Step_Pipeline) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[412] +func (x *Pipeline_Step_Pipeline) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[415] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29421,50 +28391,46 @@ func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_TableEntry.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_TableEntry) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 5} -} - -func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetValue() string { - if x != nil { - return x.Value - } - return "" +// Deprecated: Use Pipeline_Step_Pipeline.ProtoReflect.Descriptor instead. +func (*Pipeline_Step_Pipeline) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1, 5} } -func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetColor() string { +func (x *Pipeline_Step_Pipeline) GetRef() *Ref_Pipeline { if x != nil { - return x.Color + return x.Ref } - return "" + return nil } -type GetJobStreamResponse_Terminal_Event_TableRow struct { +// Graph represents the execution graph for the pipeline steps. This +// may support multiple formats. +type GetPipelineResponse_Graph struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entries []*GetJobStreamResponse_Terminal_Event_TableEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + Format GetPipelineResponse_Graph_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.GetPipelineResponse_Graph_Format" json:"format,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_TableRow) Reset() { - *x = GetJobStreamResponse_Terminal_Event_TableRow{} +func (x *GetPipelineResponse_Graph) Reset() { + *x = GetPipelineResponse_Graph{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[413] + mi := &file_pkg_server_proto_server_proto_msgTypes[416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_TableRow) String() string { +func (x *GetPipelineResponse_Graph) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_TableRow) ProtoMessage() {} +func (*GetPipelineResponse_Graph) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[413] +func (x *GetPipelineResponse_Graph) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[416] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29475,44 +28441,58 @@ func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_TableRow.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_TableRow) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 6} +// Deprecated: Use GetPipelineResponse_Graph.ProtoReflect.Descriptor instead. +func (*GetPipelineResponse_Graph) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{188, 0} } -func (x *GetJobStreamResponse_Terminal_Event_TableRow) GetEntries() []*GetJobStreamResponse_Terminal_Event_TableEntry { +func (x *GetPipelineResponse_Graph) GetContent() []byte { if x != nil { - return x.Entries + return x.Content } return nil } -type GetJobStreamResponse_Terminal_Event_Table struct { +func (x *GetPipelineResponse_Graph) GetFormat() GetPipelineResponse_Graph_Format { + if x != nil { + return x.Format + } + return GetPipelineResponse_Graph_INVALID +} + +// The OAuth message contains information that the client should use +// to generate on OAuth token for authenticating with the server rather +// than just submitting the waypoint token directly. +type TokenTransport_OAuthCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` - Rows []*GetJobStreamResponse_Terminal_Event_TableRow `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` + // The url for the oauth2 provider + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The OAuth client id to submit + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The OAuth client secret that goes along with the client_id + ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_Table) Reset() { - *x = GetJobStreamResponse_Terminal_Event_Table{} +func (x *TokenTransport_OAuthCredentials) Reset() { + *x = TokenTransport_OAuthCredentials{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[414] + mi := &file_pkg_server_proto_server_proto_msgTypes[420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_Table) String() string { +func (x *TokenTransport_OAuthCredentials) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_Table) ProtoMessage() {} +func (*TokenTransport_OAuthCredentials) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[414] +func (x *TokenTransport_OAuthCredentials) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[420] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29523,50 +28503,64 @@ func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_Table.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_Table) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 7} +// Deprecated: Use TokenTransport_OAuthCredentials.ProtoReflect.Descriptor instead. +func (*TokenTransport_OAuthCredentials) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{199, 1} } -func (x *GetJobStreamResponse_Terminal_Event_Table) GetHeaders() []string { +func (x *TokenTransport_OAuthCredentials) GetUrl() string { if x != nil { - return x.Headers + return x.Url } - return nil + return "" } -func (x *GetJobStreamResponse_Terminal_Event_Table) GetRows() []*GetJobStreamResponse_Terminal_Event_TableRow { +func (x *TokenTransport_OAuthCredentials) GetClientId() string { if x != nil { - return x.Rows + return x.ClientId } - return nil + return "" } -type GetJobStreamResponse_Terminal_Event_StepGroup struct { +func (x *TokenTransport_OAuthCredentials) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +type Token_Login struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Close bool `protobuf:"varint,1,opt,name=close,proto3" json:"close,omitempty"` + // User that this token represents. This is the internal user ID (ULID), + // not the username/email/etc. The special value of "waypoint" means the + // superuser (default user) that is setup on bootstrap. This is for + // historical reasons only and is the only valid non-ULID value. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // If set, this login token can only be used for entrypoint-related + // APIs against the configured deployment. + Entrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_StepGroup) Reset() { - *x = GetJobStreamResponse_Terminal_Event_StepGroup{} +func (x *Token_Login) Reset() { + *x = Token_Login{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[415] + mi := &file_pkg_server_proto_server_proto_msgTypes[421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_StepGroup) String() string { +func (x *Token_Login) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_StepGroup) ProtoMessage() {} +func (*Token_Login) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[415] +func (x *Token_Login) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[421] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29577,47 +28571,57 @@ func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_StepGroup.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_StepGroup) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 8} +// Deprecated: Use Token_Login.ProtoReflect.Descriptor instead. +func (*Token_Login) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 0} } -func (x *GetJobStreamResponse_Terminal_Event_StepGroup) GetClose() bool { +func (x *Token_Login) GetUserId() string { if x != nil { - return x.Close + return x.UserId } - return false + return "" } -type GetJobStreamResponse_Terminal_Event_Step struct { +func (x *Token_Login) GetEntrypoint() *Token_Entrypoint { + if x != nil { + return x.Entrypoint + } + return nil +} + +type Token_Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Close bool `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"` - Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - Output []byte `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"` + // Id is the exact ID to match for this token. If a runner with another + // ID attempts to use this token, it will reject it. This can be blank + // to allow any ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // If non-zero, the label set of the runner must hash to the same value + // for this token to be active. This prevents runners changing their + // labels after adoption (i.e. to go from targeting dev to prod). + LabelHash uint64 `protobuf:"varint,2,opt,name=label_hash,json=labelHash,proto3" json:"label_hash,omitempty"` } -func (x *GetJobStreamResponse_Terminal_Event_Step) Reset() { - *x = GetJobStreamResponse_Terminal_Event_Step{} +func (x *Token_Runner) Reset() { + *x = Token_Runner{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[416] + mi := &file_pkg_server_proto_server_proto_msgTypes[422] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetJobStreamResponse_Terminal_Event_Step) String() string { +func (x *Token_Runner) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetJobStreamResponse_Terminal_Event_Step) ProtoMessage() {} +func (*Token_Runner) ProtoMessage() {} -func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[416] +func (x *Token_Runner) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[422] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29628,71 +28632,60 @@ func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use GetJobStreamResponse_Terminal_Event_Step.ProtoReflect.Descriptor instead. -func (*GetJobStreamResponse_Terminal_Event_Step) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{59, 4, 0, 9} +// Deprecated: Use Token_Runner.ProtoReflect.Descriptor instead. +func (*Token_Runner) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 1} } -func (x *GetJobStreamResponse_Terminal_Event_Step) GetId() int32 { +func (x *Token_Runner) GetId() string { if x != nil { return x.Id } - return 0 -} - -func (x *GetJobStreamResponse_Terminal_Event_Step) GetClose() bool { - if x != nil { - return x.Close - } - return false -} - -func (x *GetJobStreamResponse_Terminal_Event_Step) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - -func (x *GetJobStreamResponse_Terminal_Event_Step) GetStatus() string { - if x != nil { - return x.Status - } return "" } -func (x *GetJobStreamResponse_Terminal_Event_Step) GetOutput() []byte { +func (x *Token_Runner) GetLabelHash() uint64 { if x != nil { - return x.Output + return x.LabelHash } - return nil + return 0 } -type Runner_ODR struct { +type Token_Invite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProfileId string `protobuf:"bytes,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"` + // The user that initiated the invite + FromUserId string `protobuf:"bytes,1,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"` + // The login token we'd like to create. This can be used to setup + // all the policy attachments and other restrictions. If this is a + // signup-only invite token, then "user_id" in this login field will + // be ignored and set to the newly created user ID. + Login *Token_Login `protobuf:"bytes,2,opt,name=login,proto3" json:"login,omitempty"` + // Signup, if non-nil, makes this invite a signup-only invite token. This + // means that this token can only be used to create a new account, not + // to exchange for a token for an existing account. + Signup *Token_Invite_Signup `protobuf:"bytes,3,opt,name=signup,proto3" json:"signup,omitempty"` } -func (x *Runner_ODR) Reset() { - *x = Runner_ODR{} +func (x *Token_Invite) Reset() { + *x = Token_Invite{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[418] + mi := &file_pkg_server_proto_server_proto_msgTypes[423] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Runner_ODR) String() string { +func (x *Token_Invite) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Runner_ODR) ProtoMessage() {} +func (*Token_Invite) ProtoMessage() {} -func (x *Runner_ODR) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[418] +func (x *Token_Invite) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[423] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29703,41 +28696,58 @@ func (x *Runner_ODR) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Runner_ODR.ProtoReflect.Descriptor instead. -func (*Runner_ODR) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 1} +// Deprecated: Use Token_Invite.ProtoReflect.Descriptor instead. +func (*Token_Invite) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 2} } -func (x *Runner_ODR) GetProfileId() string { +func (x *Token_Invite) GetFromUserId() string { if x != nil { - return x.ProfileId + return x.FromUserId } return "" } -type Runner_Local struct { +func (x *Token_Invite) GetLogin() *Token_Login { + if x != nil { + return x.Login + } + return nil +} + +func (x *Token_Invite) GetSignup() *Token_Invite_Signup { + if x != nil { + return x.Signup + } + return nil +} + +type Token_Entrypoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // deployment id is the deployment to restrict this token to. + DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` } -func (x *Runner_Local) Reset() { - *x = Runner_Local{} +func (x *Token_Entrypoint) Reset() { + *x = Token_Entrypoint{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[419] + mi := &file_pkg_server_proto_server_proto_msgTypes[424] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Runner_Local) String() string { +func (x *Token_Entrypoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Runner_Local) ProtoMessage() {} +func (*Token_Entrypoint) ProtoMessage() {} -func (x *Runner_Local) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[419] +func (x *Token_Entrypoint) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[424] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29748,34 +28758,47 @@ func (x *Runner_Local) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Runner_Local.ProtoReflect.Descriptor instead. -func (*Runner_Local) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 2} +// Deprecated: Use Token_Entrypoint.ProtoReflect.Descriptor instead. +func (*Token_Entrypoint) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 3} } -type Runner_Remote struct { +func (x *Token_Entrypoint) GetDeploymentId() string { + if x != nil { + return x.DeploymentId + } + return "" +} + +// The Trigger message is a kind of token type that is only used for +// authenticated trigger URL requests. It should not have any other +// authorized access to make requests in any other API endpoint. +type Token_Trigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The user that initiated the trigger token generation + FromUserId string `protobuf:"bytes,1,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"` } -func (x *Runner_Remote) Reset() { - *x = Runner_Remote{} +func (x *Token_Trigger) Reset() { + *x = Token_Trigger{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[420] + mi := &file_pkg_server_proto_server_proto_msgTypes[425] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Runner_Remote) String() string { +func (x *Token_Trigger) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Runner_Remote) ProtoMessage() {} +func (*Token_Trigger) ProtoMessage() {} -func (x *Runner_Remote) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[420] +func (x *Token_Trigger) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[425] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29786,39 +28809,46 @@ func (x *Runner_Remote) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Runner_Remote.ProtoReflect.Descriptor instead. -func (*Runner_Remote) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{60, 3} +// Deprecated: Use Token_Trigger.ProtoReflect.Descriptor instead. +func (*Token_Trigger) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 4} } -type RunnerConfigRequest_Open struct { +func (x *Token_Trigger) GetFromUserId() string { + if x != nil { + return x.FromUserId + } + return "" +} + +type Token_Invite_Signup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Runner to register. See Runner for what fields can be set. This - // should match RunnerTokenRequest. This accepts a full runner (rather - // than just an ID) for legacy compatbility reasons. - Runner *Runner `protobuf:"bytes,1,opt,name=runner,proto3" json:"runner,omitempty"` + // The initial username that the new user should be given. If this + // username is taken, a random number will be appended. If this is + // empty, a totally random username will be given to the new user. + InitialUsername string `protobuf:"bytes,1,opt,name=initial_username,json=initialUsername,proto3" json:"initial_username,omitempty"` } -func (x *RunnerConfigRequest_Open) Reset() { - *x = RunnerConfigRequest_Open{} +func (x *Token_Invite_Signup) Reset() { + *x = Token_Invite_Signup{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[421] + mi := &file_pkg_server_proto_server_proto_msgTypes[426] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RunnerConfigRequest_Open) String() string { +func (x *Token_Invite_Signup) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RunnerConfigRequest_Open) ProtoMessage() {} +func (*Token_Invite_Signup) ProtoMessage() {} -func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[421] +func (x *Token_Invite_Signup) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[426] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29829,52 +28859,42 @@ func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RunnerConfigRequest_Open.ProtoReflect.Descriptor instead. -func (*RunnerConfigRequest_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{63, 0} +// Deprecated: Use Token_Invite_Signup.ProtoReflect.Descriptor instead. +func (*Token_Invite_Signup) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{200, 2, 0} } -func (x *RunnerConfigRequest_Open) GetRunner() *Runner { +func (x *Token_Invite_Signup) GetInitialUsername() string { if x != nil { - return x.Runner + return x.InitialUsername } - return nil + return "" } -type RunnerJobStreamRequest_Request struct { +// One day we may add information here. For now we are reserving this. +type CreateSnapshotResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The ID of the runner opening the job stream. This ID must match - // the ID of the runner token in use. - RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` - // If the runner is reconnecting to a dropped connection, it can specify - // the job ID it is continuing. This can only be specified when the runner - // is reconnecting to a dropped connection due to network issues or - // the server process disappearing. This can't currently be safely used - // for reconnecting after a runner crash, because that case hasn't been - // thought of yet. - ReattachJobId string `protobuf:"bytes,2,opt,name=reattach_job_id,json=reattachJobId,proto3" json:"reattach_job_id,omitempty"` } -func (x *RunnerJobStreamRequest_Request) Reset() { - *x = RunnerJobStreamRequest_Request{} +func (x *CreateSnapshotResponse_Open) Reset() { + *x = CreateSnapshotResponse_Open{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[422] + mi := &file_pkg_server_proto_server_proto_msgTypes[428] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RunnerJobStreamRequest_Request) String() string { +func (x *CreateSnapshotResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RunnerJobStreamRequest_Request) ProtoMessage() {} +func (*CreateSnapshotResponse_Open) ProtoMessage() {} -func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[422] +func (x *CreateSnapshotResponse_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[428] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29885,135 +28905,41 @@ func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RunnerJobStreamRequest_Request.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_Request) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 0} +// Deprecated: Use CreateSnapshotResponse_Open.ProtoReflect.Descriptor instead. +func (*CreateSnapshotResponse_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{209, 0} } -func (x *RunnerJobStreamRequest_Request) GetRunnerId() string { - if x != nil { - return x.RunnerId - } - return "" -} - -func (x *RunnerJobStreamRequest_Request) GetReattachJobId() string { - if x != nil { - return x.ReattachJobId - } - return "" -} - -type RunnerJobStreamRequest_Ack struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RunnerJobStreamRequest_Ack) Reset() { - *x = RunnerJobStreamRequest_Ack{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[423] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RunnerJobStreamRequest_Ack) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunnerJobStreamRequest_Ack) ProtoMessage() {} - -func (x *RunnerJobStreamRequest_Ack) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[423] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RunnerJobStreamRequest_Ack.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_Ack) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 1} -} - -type RunnerJobStreamRequest_Complete struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Result *Job_Result `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` -} - -func (x *RunnerJobStreamRequest_Complete) Reset() { - *x = RunnerJobStreamRequest_Complete{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[424] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RunnerJobStreamRequest_Complete) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunnerJobStreamRequest_Complete) ProtoMessage() {} - -func (x *RunnerJobStreamRequest_Complete) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[424] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RunnerJobStreamRequest_Complete.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_Complete) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 2} -} - -func (x *RunnerJobStreamRequest_Complete) GetResult() *Job_Result { - if x != nil { - return x.Result - } - return nil -} - -type RunnerJobStreamRequest_Error struct { +type RestoreSnapshotRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + // If true, the server will exit after the restore is staged. This will + // SHUT DOWN the server and some external process you created is expected + // to bring it back. The Waypoint server on its own WILL NOT automatically + // restart. You should only set this if you have some operation to + // automate restart such as running in Nomad or Kubernetes. + Exit bool `protobuf:"varint,1,opt,name=exit,proto3" json:"exit,omitempty"` } -func (x *RunnerJobStreamRequest_Error) Reset() { - *x = RunnerJobStreamRequest_Error{} +func (x *RestoreSnapshotRequest_Open) Reset() { + *x = RestoreSnapshotRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[425] + mi := &file_pkg_server_proto_server_proto_msgTypes[429] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RunnerJobStreamRequest_Error) String() string { +func (x *RestoreSnapshotRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RunnerJobStreamRequest_Error) ProtoMessage() {} +func (*RestoreSnapshotRequest_Open) ProtoMessage() {} -func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[425] +func (x *RestoreSnapshotRequest_Open) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[429] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30024,82 +28950,49 @@ func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RunnerJobStreamRequest_Error.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_Error) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 3} +// Deprecated: Use RestoreSnapshotRequest_Open.ProtoReflect.Descriptor instead. +func (*RestoreSnapshotRequest_Open) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{210, 0} } -func (x *RunnerJobStreamRequest_Error) GetError() *status.Status { +func (x *RestoreSnapshotRequest_Open) GetExit() bool { if x != nil { - return x.Error - } - return nil -} - -type RunnerJobStreamRequest_Heartbeat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RunnerJobStreamRequest_Heartbeat) Reset() { - *x = RunnerJobStreamRequest_Heartbeat{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[426] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RunnerJobStreamRequest_Heartbeat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunnerJobStreamRequest_Heartbeat) ProtoMessage() {} - -func (x *RunnerJobStreamRequest_Heartbeat) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[426] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.Exit } - return mi.MessageOf(x) -} - -// Deprecated: Use RunnerJobStreamRequest_Heartbeat.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_Heartbeat) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 4} + return false } -type RunnerJobStreamRequest_ConfigLoad struct { +// Header is _always_ the first message encoded into a snapshot. If +// this isn't present, the entire snapshot can be considered corrupt. +type Snapshot_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Config is the configuration information for the loaded config. - Config *Job_Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + // version is the version of Waypoint that generated this snapshot. + Version *VersionInfo `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // format is the format of the remaining messages. This can be used + // to determine what messages to expect following the header. + Format Snapshot_Header_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.Snapshot_Header_Format" json:"format,omitempty"` } -func (x *RunnerJobStreamRequest_ConfigLoad) Reset() { - *x = RunnerJobStreamRequest_ConfigLoad{} +func (x *Snapshot_Header) Reset() { + *x = Snapshot_Header{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[427] + mi := &file_pkg_server_proto_server_proto_msgTypes[430] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RunnerJobStreamRequest_ConfigLoad) String() string { +func (x *Snapshot_Header) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RunnerJobStreamRequest_ConfigLoad) ProtoMessage() {} +func (*Snapshot_Header) ProtoMessage() {} -func (x *RunnerJobStreamRequest_ConfigLoad) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[427] +func (x *Snapshot_Header) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[430] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30110,93 +29003,58 @@ func (x *RunnerJobStreamRequest_ConfigLoad) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use RunnerJobStreamRequest_ConfigLoad.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_ConfigLoad) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 5} +// Deprecated: Use Snapshot_Header.ProtoReflect.Descriptor instead. +func (*Snapshot_Header) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 0} } -func (x *RunnerJobStreamRequest_ConfigLoad) GetConfig() *Job_Config { +func (x *Snapshot_Header) GetVersion() *VersionInfo { if x != nil { - return x.Config + return x.Version } return nil } -type RunnerJobStreamRequest_VariableValuesSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FinalValues map[string]*Variable_FinalValue `protobuf:"bytes,1,rep,name=final_values,json=finalValues,proto3" json:"final_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *RunnerJobStreamRequest_VariableValuesSet) Reset() { - *x = RunnerJobStreamRequest_VariableValuesSet{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[428] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RunnerJobStreamRequest_VariableValuesSet) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunnerJobStreamRequest_VariableValuesSet) ProtoMessage() {} - -func (x *RunnerJobStreamRequest_VariableValuesSet) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[428] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RunnerJobStreamRequest_VariableValuesSet.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamRequest_VariableValuesSet) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{66, 6} -} - -func (x *RunnerJobStreamRequest_VariableValuesSet) GetFinalValues() map[string]*Variable_FinalValue { +func (x *Snapshot_Header) GetFormat() Snapshot_Header_Format { if x != nil { - return x.FinalValues + return x.Format } - return nil + return Snapshot_Header_UNKNOWN } -type RunnerJobStreamResponse_JobAssignment struct { +// Trailer is sent as the final message encoded into a snapshot. Detecting +// when the trailer is is dependent on the format. +type Snapshot_Trailer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The job to assign - Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` - // A list of plugin configs - ConfigSources []*ConfigSource `protobuf:"bytes,2,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"` + // checksum is the checksum of all the bytes up to but not including + // this proto message. The checksum is for the raw uncompressed bytes. + // + // Types that are assignable to Checksum: + // + // *Snapshot_Trailer_Sha256 + Checksum isSnapshot_Trailer_Checksum `protobuf_oneof:"checksum"` } -func (x *RunnerJobStreamResponse_JobAssignment) Reset() { - *x = RunnerJobStreamResponse_JobAssignment{} +func (x *Snapshot_Trailer) Reset() { + *x = Snapshot_Trailer{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[430] + mi := &file_pkg_server_proto_server_proto_msgTypes[431] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RunnerJobStreamResponse_JobAssignment) String() string { +func (x *Snapshot_Trailer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RunnerJobStreamResponse_JobAssignment) ProtoMessage() {} +func (*Snapshot_Trailer) ProtoMessage() {} -func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[430] +func (x *Snapshot_Trailer) ProtoReflect() protoreflect.Message { + mi := &file_pkg_server_proto_server_proto_msgTypes[431] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30207,84 +29065,58 @@ func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use RunnerJobStreamResponse_JobAssignment.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamResponse_JobAssignment) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{67, 0} -} - -func (x *RunnerJobStreamResponse_JobAssignment) GetJob() *Job { - if x != nil { - return x.Job - } - return nil +// Deprecated: Use Snapshot_Trailer.ProtoReflect.Descriptor instead. +func (*Snapshot_Trailer) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 1} } -func (x *RunnerJobStreamResponse_JobAssignment) GetConfigSources() []*ConfigSource { - if x != nil { - return x.ConfigSources +func (m *Snapshot_Trailer) GetChecksum() isSnapshot_Trailer_Checksum { + if m != nil { + return m.Checksum } return nil } -type RunnerJobStreamResponse_JobCancel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` -} - -func (x *RunnerJobStreamResponse_JobCancel) Reset() { - *x = RunnerJobStreamResponse_JobCancel{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[431] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Snapshot_Trailer) GetSha256() string { + if x, ok := x.GetChecksum().(*Snapshot_Trailer_Sha256); ok { + return x.Sha256 } + return "" } -func (x *RunnerJobStreamResponse_JobCancel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunnerJobStreamResponse_JobCancel) ProtoMessage() {} - -func (x *RunnerJobStreamResponse_JobCancel) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[431] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +type isSnapshot_Trailer_Checksum interface { + isSnapshot_Trailer_Checksum() } -// Deprecated: Use RunnerJobStreamResponse_JobCancel.ProtoReflect.Descriptor instead. -func (*RunnerJobStreamResponse_JobCancel) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{67, 1} +type Snapshot_Trailer_Sha256 struct { + Sha256 string `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"` // SHA-256 checksum } -func (x *RunnerJobStreamResponse_JobCancel) GetForce() bool { - if x != nil { - return x.Force - } - return false -} +func (*Snapshot_Trailer_Sha256) isSnapshot_Trailer_Checksum() {} -type ServerConfig_AdvertiseAddr struct { +// BoltChunk is a single chunk of data for BoltDB if the snapshot format +// is BOLT. A chunk will always contain items designated for a single bucket, +// but a bucket may be repeated multiple time across chunks if there are +// too many items in the bucket. +// +// The final BoltChunk will have trailer set to true. Immediaetly following +// that chunk will be the Trailer message. +type Snapshot_BoltChunk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - Tls bool `protobuf:"varint,2,opt,name=tls,proto3" json:"tls,omitempty"` - TlsSkipVerify bool `protobuf:"varint,3,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"` + // bucket is the name of the bucket. This may be empty. If this is empty, + // then this chunk should be ignored. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // items is a id/value mapping of all this chunk of items in this bucket + Items map[string][]byte `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // final is true if this is the last bolt chunk being written. + Final bool `protobuf:"varint,3,opt,name=final,proto3" json:"final,omitempty"` } -func (x *ServerConfig_AdvertiseAddr) Reset() { - *x = ServerConfig_AdvertiseAddr{} +func (x *Snapshot_BoltChunk) Reset() { + *x = Snapshot_BoltChunk{} if protoimpl.UnsafeEnabled { mi := &file_pkg_server_proto_server_proto_msgTypes[432] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30292,13 +29124,13 @@ func (x *ServerConfig_AdvertiseAddr) Reset() { } } -func (x *ServerConfig_AdvertiseAddr) String() string { +func (x *Snapshot_BoltChunk) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerConfig_AdvertiseAddr) ProtoMessage() {} +func (*Snapshot_BoltChunk) ProtoMessage() {} -func (x *ServerConfig_AdvertiseAddr) ProtoReflect() protoreflect.Message { +func (x *Snapshot_BoltChunk) ProtoReflect() protoreflect.Message { mi := &file_pkg_server_proto_server_proto_msgTypes[432] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30310,11187 +29142,6111 @@ func (x *ServerConfig_AdvertiseAddr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ServerConfig_AdvertiseAddr.ProtoReflect.Descriptor instead. -func (*ServerConfig_AdvertiseAddr) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{77, 0} +// Deprecated: Use Snapshot_BoltChunk.ProtoReflect.Descriptor instead. +func (*Snapshot_BoltChunk) Descriptor() ([]byte, []int) { + return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 2} } -func (x *ServerConfig_AdvertiseAddr) GetAddr() string { +func (x *Snapshot_BoltChunk) GetBucket() string { if x != nil { - return x.Addr + return x.Bucket } return "" } -func (x *ServerConfig_AdvertiseAddr) GetTls() bool { - if x != nil { - return x.Tls - } - return false -} - -func (x *ServerConfig_AdvertiseAddr) GetTlsSkipVerify() bool { +func (x *Snapshot_BoltChunk) GetItems() map[string][]byte { if x != nil { - return x.TlsSkipVerify - } - return false -} - -type Hostname_Target struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Target: - // - // *Hostname_Target_Application - Target isHostname_Target_Target `protobuf_oneof:"target"` -} - -func (x *Hostname_Target) Reset() { - *x = Hostname_Target{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[434] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Hostname_Target) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Hostname_Target) ProtoMessage() {} - -func (x *Hostname_Target) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[434] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Hostname_Target.ProtoReflect.Descriptor instead. -func (*Hostname_Target) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{83, 1} -} - -func (m *Hostname_Target) GetTarget() isHostname_Target_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *Hostname_Target) GetApplication() *Hostname_TargetApp { - if x, ok := x.GetTarget().(*Hostname_Target_Application); ok { - return x.Application + return x.Items } return nil } -type isHostname_Target_Target interface { - isHostname_Target_Target() -} - -type Hostname_Target_Application struct { - Application *Hostname_TargetApp `protobuf:"bytes,20,opt,name=application,proto3,oneof"` -} - -func (*Hostname_Target_Application) isHostname_Target_Target() {} - -// TargetApp targets an application in a specific workspace. With -// this target type, you can still target specific deployments by -// appending `--` to the hostname after registration. -type Hostname_TargetApp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` -} - -func (x *Hostname_TargetApp) Reset() { - *x = Hostname_TargetApp{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[435] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Hostname_TargetApp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Hostname_TargetApp) ProtoMessage() {} - -func (x *Hostname_TargetApp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[435] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Hostname_TargetApp.ProtoReflect.Descriptor instead. -func (*Hostname_TargetApp) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{83, 2} -} - -func (x *Hostname_TargetApp) GetApplication() *Ref_Application { +func (x *Snapshot_BoltChunk) GetFinal() bool { if x != nil { - return x.Application + return x.Final } - return nil + return false } -func (x *Hostname_TargetApp) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} +var File_pkg_server_proto_server_proto protoreflect.FileDescriptor -type Build_Preload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ref that was used in the job to run this operation. This is - // also accessible by querying the job via the job_id and should always - // match. - // - // This may be null under multiple circumstances: (1) the job was - // manually triggered with local data (no datasource) or (2) the job - // was run in earlier versions of Waypoint before we tracked this or - // (3) the job hasn't yet loaded the data. - // - // This is always pre-populated if it is exists. - JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` -} - -func (x *Build_Preload) Reset() { - *x = Build_Preload{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[437] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Build_Preload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Build_Preload) ProtoMessage() {} - -func (x *Build_Preload) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[437] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Build_Preload.ProtoReflect.Descriptor instead. -func (*Build_Preload) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{107, 1} -} - -func (x *Build_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { - if x != nil { - return x.JobDataSourceRef - } - return nil -} - -type PushedArtifact_Preload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ref that was used in the job to run this operation. This is - // also accessible by querying the job via the job_id and should always - // match. - // - // This may be null under multiple circumstances: (1) the job was - // manually triggered with local data (no datasource) or (2) the job - // was run in earlier versions of Waypoint before we tracked this or - // (3) the job hasn't yet loaded the data. - // - // This is always pre-populated if it is exists. - JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,1,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` -} - -func (x *PushedArtifact_Preload) Reset() { - *x = PushedArtifact_Preload{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[440] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PushedArtifact_Preload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PushedArtifact_Preload) ProtoMessage() {} - -func (x *PushedArtifact_Preload) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[440] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PushedArtifact_Preload.ProtoReflect.Descriptor instead. -func (*PushedArtifact_Preload) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{123, 1} -} - -func (x *PushedArtifact_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { - if x != nil { - return x.JobDataSourceRef - } - return nil -} - -type Deployment_Preload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Populated when a Deployment is read with LoadDetails set - // to ARTIFACT or BUILD - Artifact *PushedArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` - // Populated when a Deployment is read with LoadDetails set to BUILD - Build *Build `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"` - // The deployment-specific URL from the URL service. This is set on - // all deployment API calls. This will be empty if the URL service - // is not enabled or there was an error loading this information. - DeployUrl string `protobuf:"bytes,3,opt,name=deploy_url,json=deployUrl,proto3" json:"deploy_url,omitempty"` - // The ref that was used in the job to run this operation. This is - // also accessible by querying the job via the job_id and should always - // match. - // - // This may be null under multiple circumstances: (1) the job was - // manually triggered with local data (no datasource) or (2) the job - // was run in earlier versions of Waypoint before we tracked this or - // (3) the job hasn't yet loaded the data. - // - // This is always pre-populated if it is exists. - JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,4,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` -} - -func (x *Deployment_Preload) Reset() { - *x = Deployment_Preload{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[442] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Deployment_Preload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Deployment_Preload) ProtoMessage() {} - -func (x *Deployment_Preload) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[442] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Deployment_Preload.ProtoReflect.Descriptor instead. -func (*Deployment_Preload) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{131, 1} -} - -func (x *Deployment_Preload) GetArtifact() *PushedArtifact { - if x != nil { - return x.Artifact - } - return nil -} - -func (x *Deployment_Preload) GetBuild() *Build { - if x != nil { - return x.Build - } - return nil -} - -func (x *Deployment_Preload) GetDeployUrl() string { - if x != nil { - return x.DeployUrl - } - return "" -} - -func (x *Deployment_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { - if x != nil { - return x.JobDataSourceRef - } - return nil -} - -type ListInstancesRequest_Application struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Application to query. This must have both a project/app set. - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - // Workspace to filter by. If this isn't set, then all workspaces for - // the app are returned. - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` -} - -func (x *ListInstancesRequest_Application) Reset() { - *x = ListInstancesRequest_Application{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[443] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListInstancesRequest_Application) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListInstancesRequest_Application) ProtoMessage() {} - -func (x *ListInstancesRequest_Application) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[443] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListInstancesRequest_Application.ProtoReflect.Descriptor instead. -func (*ListInstancesRequest_Application) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{133, 0} -} - -func (x *ListInstancesRequest_Application) GetApplication() *Ref_Application { - if x != nil { - return x.Application - } - return nil -} - -func (x *ListInstancesRequest_Application) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type Release_Preload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Populated when LoadDetails is set. - Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - // Populated when LoadDetails is set. - Artifact *PushedArtifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"` - // Populated when LoadDetails is set. - Build *Build `protobuf:"bytes,3,opt,name=build,proto3" json:"build,omitempty"` - // The ref that was used in the job to run this operation. This is - // also accessible by querying the job via the job_id and should always - // match. - // - // This may be null under multiple circumstances: (1) the job was - // manually triggered with local data (no datasource) or (2) the job - // was run in earlier versions of Waypoint before we tracked this or - // (3) the job hasn't yet loaded the data. - // - // This is always pre-populated if it is exists. - JobDataSourceRef *Job_DataSource_Ref `protobuf:"bytes,4,opt,name=job_data_source_ref,json=jobDataSourceRef,proto3" json:"job_data_source_ref,omitempty"` -} - -func (x *Release_Preload) Reset() { - *x = Release_Preload{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[445] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Release_Preload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Release_Preload) ProtoMessage() {} - -func (x *Release_Preload) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[445] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Release_Preload.ProtoReflect.Descriptor instead. -func (*Release_Preload) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{142, 1} -} - -func (x *Release_Preload) GetDeployment() *Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *Release_Preload) GetArtifact() *PushedArtifact { - if x != nil { - return x.Artifact - } - return nil -} - -func (x *Release_Preload) GetBuild() *Build { - if x != nil { - return x.Build - } - return nil -} - -func (x *Release_Preload) GetJobDataSourceRef() *Job_DataSource_Ref { - if x != nil { - return x.JobDataSourceRef - } - return nil -} - -// A resource as observed in a platform -type StatusReport_Resource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The id of the resource, according to the platform. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // declared resource that this directly references. - DeclaredResource *Ref_DeclaredResource `protobuf:"bytes,2,opt,name=declared_resource,json=declaredResource,proto3" json:"declared_resource,omitempty"` - // Resources that created this resource. - ParentResourceId string `protobuf:"bytes,3,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` - // Friendly name of the resource, if applicable - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - // The platform on which the resource exists. - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` - // platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc - Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` - // A link directly to the resource in the platform, if applicable. - PlatformUrl string `protobuf:"bytes,7,opt,name=platform_url,json=platformUrl,proto3" json:"platform_url,omitempty"` - // The high level category of the resource, used as a hint to the UI on how to display the resource. - CategoryDisplayHint ResourceCategoryDisplayHint `protobuf:"varint,8,opt,name=category_display_hint,json=categoryDisplayHint,proto3,enum=hashicorp.waypoint.ResourceCategoryDisplayHint" json:"category_display_hint,omitempty"` - // platform-reported time of resource creation - CreatedTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` - // any additional metadata about the resource, encoded as JSON - StateJson string `protobuf:"bytes,10,opt,name=state_json,json=stateJson,proto3" json:"state_json,omitempty"` - // the current health state for a single resource - Health StatusReport_Resource_Health `protobuf:"varint,13,opt,name=health,proto3,enum=hashicorp.waypoint.StatusReport_Resource_Health" json:"health,omitempty"` - // a simple human readable message detailing the Health state - HealthMessage string `protobuf:"bytes,12,opt,name=health_message,json=healthMessage,proto3" json:"health_message,omitempty"` - // deprecated in favor of the Health enum and message to match the plugin protos. Was never used. - DeprecatedHealth *StatusReport_Health `protobuf:"bytes,11,opt,name=deprecated_health,json=deprecatedHealth,proto3" json:"deprecated_health,omitempty"` -} - -func (x *StatusReport_Resource) Reset() { - *x = StatusReport_Resource{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[446] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatusReport_Resource) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatusReport_Resource) ProtoMessage() {} - -func (x *StatusReport_Resource) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[446] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatusReport_Resource.ProtoReflect.Descriptor instead. -func (*StatusReport_Resource) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162, 0} -} - -func (x *StatusReport_Resource) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *StatusReport_Resource) GetDeclaredResource() *Ref_DeclaredResource { - if x != nil { - return x.DeclaredResource - } - return nil -} - -func (x *StatusReport_Resource) GetParentResourceId() string { - if x != nil { - return x.ParentResourceId - } - return "" -} - -func (x *StatusReport_Resource) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StatusReport_Resource) GetPlatform() string { - if x != nil { - return x.Platform - } - return "" -} - -func (x *StatusReport_Resource) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *StatusReport_Resource) GetPlatformUrl() string { - if x != nil { - return x.PlatformUrl - } - return "" -} - -func (x *StatusReport_Resource) GetCategoryDisplayHint() ResourceCategoryDisplayHint { - if x != nil { - return x.CategoryDisplayHint - } - return ResourceCategoryDisplayHint_UNKNOWN -} - -func (x *StatusReport_Resource) GetCreatedTime() *timestamppb.Timestamp { - if x != nil { - return x.CreatedTime - } - return nil -} - -func (x *StatusReport_Resource) GetStateJson() string { - if x != nil { - return x.StateJson - } - return "" -} - -func (x *StatusReport_Resource) GetHealth() StatusReport_Resource_Health { - if x != nil { - return x.Health - } - return StatusReport_Resource_UNKNOWN -} - -func (x *StatusReport_Resource) GetHealthMessage() string { - if x != nil { - return x.HealthMessage - } - return "" -} - -func (x *StatusReport_Resource) GetDeprecatedHealth() *StatusReport_Health { - if x != nil { - return x.DeprecatedHealth - } - return nil -} - -type StatusReport_Health struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // the overall health of the report for a resource - HealthStatus string `protobuf:"bytes,1,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"` - // the overall health message of the report for a resource - HealthMessage string `protobuf:"bytes,2,opt,name=health_message,json=healthMessage,proto3" json:"health_message,omitempty"` - DeprecatedName string `protobuf:"bytes,3,opt,name=deprecated_name,json=deprecatedName,proto3" json:"deprecated_name,omitempty"` - DeprecatedId string `protobuf:"bytes,4,opt,name=deprecated_id,json=deprecatedId,proto3" json:"deprecated_id,omitempty"` -} - -func (x *StatusReport_Health) Reset() { - *x = StatusReport_Health{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[447] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatusReport_Health) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatusReport_Health) ProtoMessage() {} - -func (x *StatusReport_Health) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[447] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatusReport_Health.ProtoReflect.Descriptor instead. -func (*StatusReport_Health) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{162, 1} -} - -func (x *StatusReport_Health) GetHealthStatus() string { - if x != nil { - return x.HealthStatus - } - return "" -} - -func (x *StatusReport_Health) GetHealthMessage() string { - if x != nil { - return x.HealthMessage - } - return "" -} - -func (x *StatusReport_Health) GetDeprecatedName() string { - if x != nil { - return x.DeprecatedName - } - return "" -} - -func (x *StatusReport_Health) GetDeprecatedId() string { - if x != nil { - return x.DeprecatedId - } - return "" -} - -type GetLogStreamRequest_Application struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Application *Ref_Application `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` - Workspace *Ref_Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` -} - -func (x *GetLogStreamRequest_Application) Reset() { - *x = GetLogStreamRequest_Application{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[448] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLogStreamRequest_Application) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLogStreamRequest_Application) ProtoMessage() {} - -func (x *GetLogStreamRequest_Application) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[448] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLogStreamRequest_Application.ProtoReflect.Descriptor instead. -func (*GetLogStreamRequest_Application) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{163, 0} -} - -func (x *GetLogStreamRequest_Application) GetApplication() *Ref_Application { - if x != nil { - return x.Application - } - return nil -} - -func (x *GetLogStreamRequest_Application) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type LogBatch_Entry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Source LogBatch_Entry_Source `protobuf:"varint,3,opt,name=source,proto3,enum=hashicorp.waypoint.LogBatch_Entry_Source" json:"source,omitempty"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Line string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"` -} - -func (x *LogBatch_Entry) Reset() { - *x = LogBatch_Entry{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[449] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LogBatch_Entry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LogBatch_Entry) ProtoMessage() {} - -func (x *LogBatch_Entry) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[449] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LogBatch_Entry.ProtoReflect.Descriptor instead. -func (*LogBatch_Entry) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{164, 0} -} - -func (x *LogBatch_Entry) GetSource() LogBatch_Entry_Source { - if x != nil { - return x.Source - } - return LogBatch_Entry_APP -} - -func (x *LogBatch_Entry) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp - } - return nil -} - -func (x *LogBatch_Entry) GetLine() string { - if x != nil { - return x.Line - } - return "" -} - -// DynamicVal is the configuration for dynamic values for configuration. -type ConfigVar_DynamicVal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // from is the config source plugin to use - From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` - // config is the configuration for the config source plugin that - // defines how the value is read. For example, for a "Vault" config - // source this may contain the path in the KV store to read the value. - Config map[string]string `protobuf:"bytes,2,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *ConfigVar_DynamicVal) Reset() { - *x = ConfigVar_DynamicVal{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[450] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConfigVar_DynamicVal) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConfigVar_DynamicVal) ProtoMessage() {} - -func (x *ConfigVar_DynamicVal) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[450] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConfigVar_DynamicVal.ProtoReflect.Descriptor instead. -func (*ConfigVar_DynamicVal) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{165, 0} -} - -func (x *ConfigVar_DynamicVal) GetFrom() string { - if x != nil { - return x.From - } - return "" -} - -func (x *ConfigVar_DynamicVal) GetConfig() map[string]string { - if x != nil { - return x.Config - } - return nil -} - -// Target sets the target where this configuration variable will be set. -// -// This has multiple dimensions that filtering can be based on (app scope, -// runner, workspace, label selectors, etc.). Each of these is optional. If -// you specify any, they must ALL match. -// -// The simplest type of targeting is just for a project. For example, setting -// an environment variable that is present for all apps in a project, regardless -// of what workspace it may be in. For this, you'd just set `app_scope` to -// `project` and leave everything else empty. -type ConfigVar_Target struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // app_scope is the project/app scope that this config variable will be set. - // If this is not set, global is assumed. - // - // Types that are assignable to AppScope: - // - // *ConfigVar_Target_Global - // *ConfigVar_Target_Project - // *ConfigVar_Target_Application - AppScope isConfigVar_Target_AppScope `protobuf_oneof:"app_scope"` - // workspace, if set, will limit this config variable to a specific - // workspace. This is in addition to the app scoping above. For example, - // if you specify project scoping above, and set this too, then only - // matching projects in the matching workspace will have this config var - // set. - Workspace *Ref_Workspace `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` - // Label selector specifies an additional filtering mechanism. If this is - // set, then the labels of the current environment must match for this - // config variable to be set. Labels are determined by the operation: the - // labels of the deploy, for example. - LabelSelector string `protobuf:"bytes,5,opt,name=label_selector,json=labelSelector,proto3" json:"label_selector,omitempty"` - // If this is set, then this configuration value will be set on runners - // instead of deployed applications. This determines the runners that - // will get this config var. If this config var is for an application, - // leave this unset (null). - Runner *Ref_Runner `protobuf:"bytes,6,opt,name=runner,proto3" json:"runner,omitempty"` -} - -func (x *ConfigVar_Target) Reset() { - *x = ConfigVar_Target{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[451] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConfigVar_Target) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConfigVar_Target) ProtoMessage() {} - -func (x *ConfigVar_Target) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[451] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConfigVar_Target.ProtoReflect.Descriptor instead. -func (*ConfigVar_Target) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{165, 1} -} - -func (m *ConfigVar_Target) GetAppScope() isConfigVar_Target_AppScope { - if m != nil { - return m.AppScope - } - return nil -} - -func (x *ConfigVar_Target) GetGlobal() *Ref_Global { - if x, ok := x.GetAppScope().(*ConfigVar_Target_Global); ok { - return x.Global - } - return nil -} - -func (x *ConfigVar_Target) GetProject() *Ref_Project { - if x, ok := x.GetAppScope().(*ConfigVar_Target_Project); ok { - return x.Project - } - return nil -} - -func (x *ConfigVar_Target) GetApplication() *Ref_Application { - if x, ok := x.GetAppScope().(*ConfigVar_Target_Application); ok { - return x.Application - } - return nil -} - -func (x *ConfigVar_Target) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -func (x *ConfigVar_Target) GetLabelSelector() string { - if x != nil { - return x.LabelSelector - } - return "" -} - -func (x *ConfigVar_Target) GetRunner() *Ref_Runner { - if x != nil { - return x.Runner - } - return nil -} - -type isConfigVar_Target_AppScope interface { - isConfigVar_Target_AppScope() -} - -type ConfigVar_Target_Global struct { - Global *Ref_Global `protobuf:"bytes,1,opt,name=global,proto3,oneof"` -} - -type ConfigVar_Target_Project struct { - Project *Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` -} - -type ConfigVar_Target_Application struct { - Application *Ref_Application `protobuf:"bytes,3,opt,name=application,proto3,oneof"` -} - -func (*ConfigVar_Target_Global) isConfigVar_Target_AppScope() {} - -func (*ConfigVar_Target_Project) isConfigVar_Target_AppScope() {} - -func (*ConfigVar_Target_Application) isConfigVar_Target_AppScope() {} - -type ExecStreamRequest_Start struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Target: - // - // *ExecStreamRequest_Start_DeploymentId - // *ExecStreamRequest_Start_InstanceId - Target isExecStreamRequest_Start_Target `protobuf_oneof:"target"` - // Args including the command at args[0] to execute. - Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - // Pty is set if we should allocate a PTY for this exec stream. - Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` -} - -func (x *ExecStreamRequest_Start) Reset() { - *x = ExecStreamRequest_Start{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[455] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamRequest_Start) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamRequest_Start) ProtoMessage() {} - -func (x *ExecStreamRequest_Start) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[455] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamRequest_Start.ProtoReflect.Descriptor instead. -func (*ExecStreamRequest_Start) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177, 0} -} - -func (m *ExecStreamRequest_Start) GetTarget() isExecStreamRequest_Start_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *ExecStreamRequest_Start) GetDeploymentId() string { - if x, ok := x.GetTarget().(*ExecStreamRequest_Start_DeploymentId); ok { - return x.DeploymentId - } - return "" -} - -func (x *ExecStreamRequest_Start) GetInstanceId() string { - if x, ok := x.GetTarget().(*ExecStreamRequest_Start_InstanceId); ok { - return x.InstanceId - } - return "" -} - -func (x *ExecStreamRequest_Start) GetArgs() []string { - if x != nil { - return x.Args - } - return nil -} - -func (x *ExecStreamRequest_Start) GetPty() *ExecStreamRequest_PTY { - if x != nil { - return x.Pty - } - return nil -} - -type isExecStreamRequest_Start_Target interface { - isExecStreamRequest_Start_Target() -} - -type ExecStreamRequest_Start_DeploymentId struct { - // Deployment to exec into - DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3,oneof"` -} - -type ExecStreamRequest_Start_InstanceId struct { - // Instance to send the exec request to. This is indicates that - // the client wants an exec session to this specific instance, - // rather than one the server picks. Targeted instances can be - // any instance type, where as untargeted have to be LONG_RUNNING. - InstanceId string `protobuf:"bytes,4,opt,name=instance_id,json=instanceId,proto3,oneof"` -} - -func (*ExecStreamRequest_Start_DeploymentId) isExecStreamRequest_Start_Target() {} - -func (*ExecStreamRequest_Start_InstanceId) isExecStreamRequest_Start_Target() {} - -type ExecStreamRequest_Input struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *ExecStreamRequest_Input) Reset() { - *x = ExecStreamRequest_Input{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[456] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamRequest_Input) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamRequest_Input) ProtoMessage() {} - -func (x *ExecStreamRequest_Input) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[456] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamRequest_Input.ProtoReflect.Descriptor instead. -func (*ExecStreamRequest_Input) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177, 1} -} - -func (x *ExecStreamRequest_Input) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type ExecStreamRequest_PTY struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` - // term is the TERM value to request on the remote side. This should be set. - Term string `protobuf:"bytes,2,opt,name=term,proto3" json:"term,omitempty"` - // window_size is the initial window size - WindowSize *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=window_size,json=windowSize,proto3" json:"window_size,omitempty"` -} - -func (x *ExecStreamRequest_PTY) Reset() { - *x = ExecStreamRequest_PTY{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[457] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamRequest_PTY) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamRequest_PTY) ProtoMessage() {} - -func (x *ExecStreamRequest_PTY) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[457] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamRequest_PTY.ProtoReflect.Descriptor instead. -func (*ExecStreamRequest_PTY) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177, 2} -} - -func (x *ExecStreamRequest_PTY) GetEnable() bool { - if x != nil { - return x.Enable - } - return false -} - -func (x *ExecStreamRequest_PTY) GetTerm() string { - if x != nil { - return x.Term - } - return "" -} - -func (x *ExecStreamRequest_PTY) GetWindowSize() *ExecStreamRequest_WindowSize { - if x != nil { - return x.WindowSize - } - return nil -} - -type ExecStreamRequest_WindowSize struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rows int32 `protobuf:"varint,1,opt,name=rows,proto3" json:"rows,omitempty"` - Cols int32 `protobuf:"varint,2,opt,name=cols,proto3" json:"cols,omitempty"` - Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` - Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` -} - -func (x *ExecStreamRequest_WindowSize) Reset() { - *x = ExecStreamRequest_WindowSize{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[458] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamRequest_WindowSize) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamRequest_WindowSize) ProtoMessage() {} - -func (x *ExecStreamRequest_WindowSize) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[458] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamRequest_WindowSize.ProtoReflect.Descriptor instead. -func (*ExecStreamRequest_WindowSize) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{177, 3} -} - -func (x *ExecStreamRequest_WindowSize) GetRows() int32 { - if x != nil { - return x.Rows - } - return 0 -} - -func (x *ExecStreamRequest_WindowSize) GetCols() int32 { - if x != nil { - return x.Cols - } - return 0 -} - -func (x *ExecStreamRequest_WindowSize) GetWidth() int32 { - if x != nil { - return x.Width - } - return 0 -} - -func (x *ExecStreamRequest_WindowSize) GetHeight() int32 { - if x != nil { - return x.Height - } - return 0 -} - -type ExecStreamResponse_Open struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ExecStreamResponse_Open) Reset() { - *x = ExecStreamResponse_Open{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[459] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamResponse_Open) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamResponse_Open) ProtoMessage() {} - -func (x *ExecStreamResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[459] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamResponse_Open.ProtoReflect.Descriptor instead. -func (*ExecStreamResponse_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178, 0} -} - -type ExecStreamResponse_Exit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` -} - -func (x *ExecStreamResponse_Exit) Reset() { - *x = ExecStreamResponse_Exit{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[460] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamResponse_Exit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamResponse_Exit) ProtoMessage() {} - -func (x *ExecStreamResponse_Exit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[460] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamResponse_Exit.ProtoReflect.Descriptor instead. -func (*ExecStreamResponse_Exit) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178, 1} -} - -func (x *ExecStreamResponse_Exit) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -type ExecStreamResponse_Output struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Channel ExecStreamResponse_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.waypoint.ExecStreamResponse_Output_Channel" json:"channel,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *ExecStreamResponse_Output) Reset() { - *x = ExecStreamResponse_Output{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[461] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStreamResponse_Output) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStreamResponse_Output) ProtoMessage() {} - -func (x *ExecStreamResponse_Output) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[461] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStreamResponse_Output.ProtoReflect.Descriptor instead. -func (*ExecStreamResponse_Output) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{178, 2} -} - -func (x *ExecStreamResponse_Output) GetChannel() ExecStreamResponse_Output_Channel { - if x != nil { - return x.Channel - } - return ExecStreamResponse_Output_UNKNOWN -} - -func (x *ExecStreamResponse_Output) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type EntrypointConfig_Exec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` -} - -func (x *EntrypointConfig_Exec) Reset() { - *x = EntrypointConfig_Exec{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[462] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointConfig_Exec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointConfig_Exec) ProtoMessage() {} - -func (x *EntrypointConfig_Exec) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[462] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointConfig_Exec.ProtoReflect.Descriptor instead. -func (*EntrypointConfig_Exec) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 0} -} - -func (x *EntrypointConfig_Exec) GetIndex() int64 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *EntrypointConfig_Exec) GetArgs() []string { - if x != nil { - return x.Args - } - return nil -} - -func (x *EntrypointConfig_Exec) GetPty() *ExecStreamRequest_PTY { - if x != nil { - return x.Pty - } - return nil -} - -type EntrypointConfig_URLService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // address to the control server and the token for auth - ControlAddr string `protobuf:"bytes,1,opt,name=control_addr,json=controlAddr,proto3" json:"control_addr,omitempty"` - Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` - // labels to register this instance under - Labels string `protobuf:"bytes,3,opt,name=labels,proto3" json:"labels,omitempty"` -} - -func (x *EntrypointConfig_URLService) Reset() { - *x = EntrypointConfig_URLService{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[463] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointConfig_URLService) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointConfig_URLService) ProtoMessage() {} - -func (x *EntrypointConfig_URLService) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[463] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointConfig_URLService.ProtoReflect.Descriptor instead. -func (*EntrypointConfig_URLService) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 1} -} - -func (x *EntrypointConfig_URLService) GetControlAddr() string { - if x != nil { - return x.ControlAddr - } - return "" -} - -func (x *EntrypointConfig_URLService) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -func (x *EntrypointConfig_URLService) GetLabels() string { - if x != nil { - return x.Labels - } - return "" -} - -type EntrypointConfig_DeploymentInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // component is the deployment plugin information that launched this instance. - Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` - // labels are the set of labels that are present on the deployment. - Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *EntrypointConfig_DeploymentInfo) Reset() { - *x = EntrypointConfig_DeploymentInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[464] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointConfig_DeploymentInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointConfig_DeploymentInfo) ProtoMessage() {} - -func (x *EntrypointConfig_DeploymentInfo) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[464] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointConfig_DeploymentInfo.ProtoReflect.Descriptor instead. -func (*EntrypointConfig_DeploymentInfo) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{181, 2} -} - -func (x *EntrypointConfig_DeploymentInfo) GetComponent() *Component { - if x != nil { - return x.Component - } - return nil -} - -func (x *EntrypointConfig_DeploymentInfo) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil -} - -type EntrypointExecRequest_Open struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` -} - -func (x *EntrypointExecRequest_Open) Reset() { - *x = EntrypointExecRequest_Open{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[466] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointExecRequest_Open) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointExecRequest_Open) ProtoMessage() {} - -func (x *EntrypointExecRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[466] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointExecRequest_Open.ProtoReflect.Descriptor instead. -func (*EntrypointExecRequest_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 0} -} - -func (x *EntrypointExecRequest_Open) GetInstanceId() string { - if x != nil { - return x.InstanceId - } - return "" -} - -func (x *EntrypointExecRequest_Open) GetIndex() int64 { - if x != nil { - return x.Index - } - return 0 -} - -type EntrypointExecRequest_Exit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` -} - -func (x *EntrypointExecRequest_Exit) Reset() { - *x = EntrypointExecRequest_Exit{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[467] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointExecRequest_Exit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointExecRequest_Exit) ProtoMessage() {} - -func (x *EntrypointExecRequest_Exit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[467] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointExecRequest_Exit.ProtoReflect.Descriptor instead. -func (*EntrypointExecRequest_Exit) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 1} -} - -func (x *EntrypointExecRequest_Exit) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -type EntrypointExecRequest_Output struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Channel EntrypointExecRequest_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.waypoint.EntrypointExecRequest_Output_Channel" json:"channel,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *EntrypointExecRequest_Output) Reset() { - *x = EntrypointExecRequest_Output{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[468] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointExecRequest_Output) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointExecRequest_Output) ProtoMessage() {} - -func (x *EntrypointExecRequest_Output) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[468] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointExecRequest_Output.ProtoReflect.Descriptor instead. -func (*EntrypointExecRequest_Output) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 2} -} - -func (x *EntrypointExecRequest_Output) GetChannel() EntrypointExecRequest_Output_Channel { - if x != nil { - return x.Channel - } - return EntrypointExecRequest_Output_UNKNOWN -} - -func (x *EntrypointExecRequest_Output) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type EntrypointExecRequest_Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` -} - -func (x *EntrypointExecRequest_Error) Reset() { - *x = EntrypointExecRequest_Error{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[469] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EntrypointExecRequest_Error) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EntrypointExecRequest_Error) ProtoMessage() {} - -func (x *EntrypointExecRequest_Error) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[469] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EntrypointExecRequest_Error.ProtoReflect.Descriptor instead. -func (*EntrypointExecRequest_Error) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{183, 3} -} - -func (x *EntrypointExecRequest_Error) GetError() *status.Status { - if x != nil { - return x.Error - } - return nil -} - -// A single step within the pipeline. -type Pipeline_Step struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Name of the step. This is unique within a pipeline. In the "steps" - // map, this must match the map key. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // The steps that must come before this step. If this is empty, - // this is considered a "root" step. Only one step may be root. - // See "steps" on the Pipeline message for details. - DependsOn []string `protobuf:"bytes,2,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` - // The kind of step this is. IMPORTANT: the string values stored - // by the kind messages may contain HCL that needs further parsing. - // They are "partially" evaluated (similar to ConfigVars) using - // internal/pkg/partial. - // - // Types that are assignable to Kind: - // - // *Pipeline_Step_Exec_ - // *Pipeline_Step_Build_ - // *Pipeline_Step_Deploy_ - // *Pipeline_Step_Release_ - // *Pipeline_Step_Up_ - // *Pipeline_Step_Pipeline_ - Kind isPipeline_Step_Kind `protobuf_oneof:"kind"` - // Docker image to execute. This should be a fully qualified image URL. - Image string `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` - // Workspace to use in step execution. If undefined, will default to the - // Workspace used when running the pipeline, otherwise 'default' - Workspace *Ref_Workspace `protobuf:"bytes,10,opt,name=workspace,proto3" json:"workspace,omitempty"` -} - -func (x *Pipeline_Step) Reset() { - *x = Pipeline_Step{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[471] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step) ProtoMessage() {} - -func (x *Pipeline_Step) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[471] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step.ProtoReflect.Descriptor instead. -func (*Pipeline_Step) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1} -} - -func (x *Pipeline_Step) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Pipeline_Step) GetDependsOn() []string { - if x != nil { - return x.DependsOn - } - return nil -} - -func (m *Pipeline_Step) GetKind() isPipeline_Step_Kind { - if m != nil { - return m.Kind - } - return nil -} - -func (x *Pipeline_Step) GetExec() *Pipeline_Step_Exec { - if x, ok := x.GetKind().(*Pipeline_Step_Exec_); ok { - return x.Exec - } - return nil -} - -func (x *Pipeline_Step) GetBuild() *Pipeline_Step_Build { - if x, ok := x.GetKind().(*Pipeline_Step_Build_); ok { - return x.Build - } - return nil -} - -func (x *Pipeline_Step) GetDeploy() *Pipeline_Step_Deploy { - if x, ok := x.GetKind().(*Pipeline_Step_Deploy_); ok { - return x.Deploy - } - return nil -} - -func (x *Pipeline_Step) GetRelease() *Pipeline_Step_Release { - if x, ok := x.GetKind().(*Pipeline_Step_Release_); ok { - return x.Release - } - return nil -} - -func (x *Pipeline_Step) GetUp() *Pipeline_Step_Up { - if x, ok := x.GetKind().(*Pipeline_Step_Up_); ok { - return x.Up - } - return nil -} - -func (x *Pipeline_Step) GetPipeline() *Pipeline_Step_Pipeline { - if x, ok := x.GetKind().(*Pipeline_Step_Pipeline_); ok { - return x.Pipeline - } - return nil -} - -func (x *Pipeline_Step) GetImage() string { - if x != nil { - return x.Image - } - return "" -} - -func (x *Pipeline_Step) GetWorkspace() *Ref_Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type isPipeline_Step_Kind interface { - isPipeline_Step_Kind() -} - -type Pipeline_Step_Exec_ struct { - // Docker execute. - Exec *Pipeline_Step_Exec `protobuf:"bytes,3,opt,name=exec,proto3,oneof"` -} - -type Pipeline_Step_Build_ struct { - // Built-in build operation - Build *Pipeline_Step_Build `protobuf:"bytes,4,opt,name=build,proto3,oneof"` -} - -type Pipeline_Step_Deploy_ struct { - // Built-in deploy operation - Deploy *Pipeline_Step_Deploy `protobuf:"bytes,6,opt,name=deploy,proto3,oneof"` -} - -type Pipeline_Step_Release_ struct { - // Built-in release operation - Release *Pipeline_Step_Release `protobuf:"bytes,7,opt,name=release,proto3,oneof"` -} - -type Pipeline_Step_Up_ struct { - // Built-in up operation - Up *Pipeline_Step_Up `protobuf:"bytes,8,opt,name=up,proto3,oneof"` -} - -type Pipeline_Step_Pipeline_ struct { - // A reference to a different pipeline - Pipeline *Pipeline_Step_Pipeline `protobuf:"bytes,9,opt,name=pipeline,proto3,oneof"` -} - -func (*Pipeline_Step_Exec_) isPipeline_Step_Kind() {} - -func (*Pipeline_Step_Build_) isPipeline_Step_Kind() {} - -func (*Pipeline_Step_Deploy_) isPipeline_Step_Kind() {} - -func (*Pipeline_Step_Release_) isPipeline_Step_Kind() {} - -func (*Pipeline_Step_Up_) isPipeline_Step_Kind() {} - -func (*Pipeline_Step_Pipeline_) isPipeline_Step_Kind() {} - -type Pipeline_Step_Exec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // TODO(briancain): update this to use the Step exec instead of the plugin - // Docker image to execute. This should be a fully qualified image URL. - Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` - // Command to execute within the image. If blank, the default command - // will be executed. - Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"` - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` -} - -func (x *Pipeline_Step_Exec) Reset() { - *x = Pipeline_Step_Exec{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[472] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Exec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Exec) ProtoMessage() {} - -func (x *Pipeline_Step_Exec) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[472] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Exec.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Exec) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 0} -} - -func (x *Pipeline_Step_Exec) GetImage() string { - if x != nil { - return x.Image - } - return "" -} - -func (x *Pipeline_Step_Exec) GetCommand() string { - if x != nil { - return x.Command - } - return "" -} - -func (x *Pipeline_Step_Exec) GetArgs() []string { - if x != nil { - return x.Args - } - return nil -} - -type Pipeline_Step_Build struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether or not to push the built artifact to a remote container registry - // TODO(briancain): ensure default to false because this will be inside - // an ODR container - DisablePush bool `protobuf:"varint,2,opt,name=disable_push,json=disablePush,proto3" json:"disable_push,omitempty"` -} - -func (x *Pipeline_Step_Build) Reset() { - *x = Pipeline_Step_Build{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[473] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Build) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Build) ProtoMessage() {} - -func (x *Pipeline_Step_Build) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[473] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Build.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Build) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 1} -} - -func (x *Pipeline_Step_Build) GetDisablePush() bool { - if x != nil { - return x.DisablePush - } - return false -} - -type Pipeline_Step_Deploy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether or not to run a release immediately after the deploy. Defaults - // to false. Users would probably write a Release step to opt into a release - // but lets support the option here just like the CLI does. - Release bool `protobuf:"varint,1,opt,name=release,proto3" json:"release,omitempty"` -} - -func (x *Pipeline_Step_Deploy) Reset() { - *x = Pipeline_Step_Deploy{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[474] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Deploy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Deploy) ProtoMessage() {} - -func (x *Pipeline_Step_Deploy) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[474] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Deploy.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Deploy) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 2} -} - -func (x *Pipeline_Step_Deploy) GetRelease() bool { - if x != nil { - return x.Release - } - return false -} - -type Pipeline_Step_Release struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Deployment *Ref_Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` - Prune bool `protobuf:"varint,2,opt,name=prune,proto3" json:"prune,omitempty"` - // This sets the number of unreleased deployments to retain when pruning. - // This only has an effect if "prune_retain_override" is true. If that - // is false, then pruning uses the default behavior (retain 2). - PruneRetain int32 `protobuf:"varint,3,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` - PruneRetainOverride bool `protobuf:"varint,4,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` -} - -func (x *Pipeline_Step_Release) Reset() { - *x = Pipeline_Step_Release{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[475] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Release) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Release) ProtoMessage() {} - -func (x *Pipeline_Step_Release) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[475] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Release.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Release) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 3} -} - -func (x *Pipeline_Step_Release) GetDeployment() *Ref_Deployment { - if x != nil { - return x.Deployment - } - return nil -} - -func (x *Pipeline_Step_Release) GetPrune() bool { - if x != nil { - return x.Prune - } - return false -} - -func (x *Pipeline_Step_Release) GetPruneRetain() int32 { - if x != nil { - return x.PruneRetain - } - return 0 -} - -func (x *Pipeline_Step_Release) GetPruneRetainOverride() bool { - if x != nil { - return x.PruneRetainOverride - } - return false -} - -type Pipeline_Step_Up struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prune bool `protobuf:"varint,1,opt,name=prune,proto3" json:"prune,omitempty"` - // This sets the number of unreleased deployments to retain when pruning. - // This only has an effect if "prune_retain_override" is true. If that - // is false, then pruning uses the default behavior (retain 2). - PruneRetain int32 `protobuf:"varint,2,opt,name=prune_retain,json=pruneRetain,proto3" json:"prune_retain,omitempty"` - PruneRetainOverride bool `protobuf:"varint,3,opt,name=prune_retain_override,json=pruneRetainOverride,proto3" json:"prune_retain_override,omitempty"` -} - -func (x *Pipeline_Step_Up) Reset() { - *x = Pipeline_Step_Up{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[476] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Up) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Up) ProtoMessage() {} - -func (x *Pipeline_Step_Up) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[476] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Up.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Up) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 4} -} - -func (x *Pipeline_Step_Up) GetPrune() bool { - if x != nil { - return x.Prune - } - return false -} - -func (x *Pipeline_Step_Up) GetPruneRetain() int32 { - if x != nil { - return x.PruneRetain - } - return 0 -} - -func (x *Pipeline_Step_Up) GetPruneRetainOverride() bool { - if x != nil { - return x.PruneRetainOverride - } - return false -} - -type Pipeline_Step_Pipeline struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ref *Ref_Pipeline `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` -} - -func (x *Pipeline_Step_Pipeline) Reset() { - *x = Pipeline_Step_Pipeline{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[477] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pipeline_Step_Pipeline) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pipeline_Step_Pipeline) ProtoMessage() {} - -func (x *Pipeline_Step_Pipeline) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[477] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pipeline_Step_Pipeline.ProtoReflect.Descriptor instead. -func (*Pipeline_Step_Pipeline) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{185, 1, 5} -} - -func (x *Pipeline_Step_Pipeline) GetRef() *Ref_Pipeline { - if x != nil { - return x.Ref - } - return nil -} - -// Graph represents the execution graph for the pipeline steps. This -// may support multiple formats. -type GetPipelineResponse_Graph struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - Format GetPipelineResponse_Graph_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.GetPipelineResponse_Graph_Format" json:"format,omitempty"` -} - -func (x *GetPipelineResponse_Graph) Reset() { - *x = GetPipelineResponse_Graph{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[478] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetPipelineResponse_Graph) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPipelineResponse_Graph) ProtoMessage() {} - -func (x *GetPipelineResponse_Graph) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[478] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPipelineResponse_Graph.ProtoReflect.Descriptor instead. -func (*GetPipelineResponse_Graph) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{190, 0} -} - -func (x *GetPipelineResponse_Graph) GetContent() []byte { - if x != nil { - return x.Content - } - return nil -} - -func (x *GetPipelineResponse_Graph) GetFormat() GetPipelineResponse_Graph_Format { - if x != nil { - return x.Format - } - return GetPipelineResponse_Graph_INVALID -} - -// WaypointProject governs the properties that will be set on the final -// waypoint Project that we create. Future fields will likely include status -// report and datasource polling settings. -type ProjectTemplate_WaypointProject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // waypoint.hcl text template file stored as HCL. - // Accepted tokens: - // "{{ .ProjectName }}", representing the application developer chosen project name - // "{{ .TfcOrgName }}", representing the Terraform Cloud organization name in which - // - // the no-code module was reified - WaypointHclTemplate []byte `protobuf:"bytes,1,opt,name=waypoint_hcl_template,json=waypointHclTemplate,proto3" json:"waypoint_hcl_template,omitempty"` -} - -func (x *ProjectTemplate_WaypointProject) Reset() { - *x = ProjectTemplate_WaypointProject{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[481] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectTemplate_WaypointProject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectTemplate_WaypointProject) ProtoMessage() {} - -func (x *ProjectTemplate_WaypointProject) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[481] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectTemplate_WaypointProject.ProtoReflect.Descriptor instead. -func (*ProjectTemplate_WaypointProject) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 0} -} - -func (x *ProjectTemplate_WaypointProject) GetWaypointHclTemplate() []byte { - if x != nil { - return x.WaypointHclTemplate - } - return nil -} - -// Deprecated in favor of TerraformNocodeModule, declared outside of the ProjectTemplate message -type ProjectTemplate_TerraformNocodeModule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The module name for the Terraform no-code module. - Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // The version of the Terraform no-code module. - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *ProjectTemplate_TerraformNocodeModule) Reset() { - *x = ProjectTemplate_TerraformNocodeModule{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[482] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectTemplate_TerraformNocodeModule) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectTemplate_TerraformNocodeModule) ProtoMessage() {} - -func (x *ProjectTemplate_TerraformNocodeModule) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[482] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectTemplate_TerraformNocodeModule.ProtoReflect.Descriptor instead. -func (*ProjectTemplate_TerraformNocodeModule) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{211, 1} -} - -func (x *ProjectTemplate_TerraformNocodeModule) GetSource() string { - if x != nil { - return x.Source - } - return "" -} - -func (x *ProjectTemplate_TerraformNocodeModule) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -// The OAuth message contains information that the client should use -// to generate on OAuth token for authenticating with the server rather -// than just submitting the waypoint token directly. -type TokenTransport_OAuthCredentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The url for the oauth2 provider - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - // The OAuth client id to submit - ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - // The OAuth client secret that goes along with the client_id - ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` -} - -func (x *TokenTransport_OAuthCredentials) Reset() { - *x = TokenTransport_OAuthCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[484] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokenTransport_OAuthCredentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenTransport_OAuthCredentials) ProtoMessage() {} - -func (x *TokenTransport_OAuthCredentials) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[484] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokenTransport_OAuthCredentials.ProtoReflect.Descriptor instead. -func (*TokenTransport_OAuthCredentials) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{239, 1} -} - -func (x *TokenTransport_OAuthCredentials) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *TokenTransport_OAuthCredentials) GetClientId() string { - if x != nil { - return x.ClientId - } - return "" -} - -func (x *TokenTransport_OAuthCredentials) GetClientSecret() string { - if x != nil { - return x.ClientSecret - } - return "" -} - -type Token_Login struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // User that this token represents. This is the internal user ID (ULID), - // not the username/email/etc. The special value of "waypoint" means the - // superuser (default user) that is setup on bootstrap. This is for - // historical reasons only and is the only valid non-ULID value. - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - // If set, this login token can only be used for entrypoint-related - // APIs against the configured deployment. - Entrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` -} - -func (x *Token_Login) Reset() { - *x = Token_Login{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[485] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Login) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Login) ProtoMessage() {} - -func (x *Token_Login) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[485] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Login.ProtoReflect.Descriptor instead. -func (*Token_Login) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 0} -} - -func (x *Token_Login) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *Token_Login) GetEntrypoint() *Token_Entrypoint { - if x != nil { - return x.Entrypoint - } - return nil -} - -type Token_Runner struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Id is the exact ID to match for this token. If a runner with another - // ID attempts to use this token, it will reject it. This can be blank - // to allow any ID. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // If non-zero, the label set of the runner must hash to the same value - // for this token to be active. This prevents runners changing their - // labels after adoption (i.e. to go from targeting dev to prod). - LabelHash uint64 `protobuf:"varint,2,opt,name=label_hash,json=labelHash,proto3" json:"label_hash,omitempty"` -} - -func (x *Token_Runner) Reset() { - *x = Token_Runner{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[486] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Runner) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Runner) ProtoMessage() {} - -func (x *Token_Runner) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[486] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Runner.ProtoReflect.Descriptor instead. -func (*Token_Runner) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 1} -} - -func (x *Token_Runner) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Token_Runner) GetLabelHash() uint64 { - if x != nil { - return x.LabelHash - } - return 0 -} - -type Token_Invite struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The user that initiated the invite - FromUserId string `protobuf:"bytes,1,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"` - // The login token we'd like to create. This can be used to setup - // all the policy attachments and other restrictions. If this is a - // signup-only invite token, then "user_id" in this login field will - // be ignored and set to the newly created user ID. - Login *Token_Login `protobuf:"bytes,2,opt,name=login,proto3" json:"login,omitempty"` - // Signup, if non-nil, makes this invite a signup-only invite token. This - // means that this token can only be used to create a new account, not - // to exchange for a token for an existing account. - Signup *Token_Invite_Signup `protobuf:"bytes,3,opt,name=signup,proto3" json:"signup,omitempty"` -} - -func (x *Token_Invite) Reset() { - *x = Token_Invite{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[487] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Invite) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Invite) ProtoMessage() {} - -func (x *Token_Invite) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[487] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Invite.ProtoReflect.Descriptor instead. -func (*Token_Invite) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 2} -} - -func (x *Token_Invite) GetFromUserId() string { - if x != nil { - return x.FromUserId - } - return "" -} - -func (x *Token_Invite) GetLogin() *Token_Login { - if x != nil { - return x.Login - } - return nil -} - -func (x *Token_Invite) GetSignup() *Token_Invite_Signup { - if x != nil { - return x.Signup - } - return nil -} - -type Token_Entrypoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // deployment id is the deployment to restrict this token to. - DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` -} - -func (x *Token_Entrypoint) Reset() { - *x = Token_Entrypoint{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[488] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Entrypoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Entrypoint) ProtoMessage() {} - -func (x *Token_Entrypoint) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[488] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Entrypoint.ProtoReflect.Descriptor instead. -func (*Token_Entrypoint) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 3} -} - -func (x *Token_Entrypoint) GetDeploymentId() string { - if x != nil { - return x.DeploymentId - } - return "" -} - -// The Trigger message is a kind of token type that is only used for -// authenticated trigger URL requests. It should not have any other -// authorized access to make requests in any other API endpoint. -type Token_Trigger struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The user that initiated the trigger token generation - FromUserId string `protobuf:"bytes,1,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"` -} - -func (x *Token_Trigger) Reset() { - *x = Token_Trigger{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[489] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Trigger) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Trigger) ProtoMessage() {} - -func (x *Token_Trigger) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[489] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Trigger.ProtoReflect.Descriptor instead. -func (*Token_Trigger) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 4} -} - -func (x *Token_Trigger) GetFromUserId() string { - if x != nil { - return x.FromUserId - } - return "" -} - -type Token_Invite_Signup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The initial username that the new user should be given. If this - // username is taken, a random number will be appended. If this is - // empty, a totally random username will be given to the new user. - InitialUsername string `protobuf:"bytes,1,opt,name=initial_username,json=initialUsername,proto3" json:"initial_username,omitempty"` -} - -func (x *Token_Invite_Signup) Reset() { - *x = Token_Invite_Signup{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[490] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Token_Invite_Signup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Token_Invite_Signup) ProtoMessage() {} - -func (x *Token_Invite_Signup) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[490] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Token_Invite_Signup.ProtoReflect.Descriptor instead. -func (*Token_Invite_Signup) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{240, 2, 0} -} - -func (x *Token_Invite_Signup) GetInitialUsername() string { - if x != nil { - return x.InitialUsername - } - return "" -} - -// One day we may add information here. For now we are reserving this. -type CreateSnapshotResponse_Open struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CreateSnapshotResponse_Open) Reset() { - *x = CreateSnapshotResponse_Open{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[492] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateSnapshotResponse_Open) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateSnapshotResponse_Open) ProtoMessage() {} - -func (x *CreateSnapshotResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[492] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateSnapshotResponse_Open.ProtoReflect.Descriptor instead. -func (*CreateSnapshotResponse_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{249, 0} -} - -type RestoreSnapshotRequest_Open struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If true, the server will exit after the restore is staged. This will - // SHUT DOWN the server and some external process you created is expected - // to bring it back. The Waypoint server on its own WILL NOT automatically - // restart. You should only set this if you have some operation to - // automate restart such as running in Nomad or Kubernetes. - Exit bool `protobuf:"varint,1,opt,name=exit,proto3" json:"exit,omitempty"` -} - -func (x *RestoreSnapshotRequest_Open) Reset() { - *x = RestoreSnapshotRequest_Open{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[493] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RestoreSnapshotRequest_Open) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RestoreSnapshotRequest_Open) ProtoMessage() {} - -func (x *RestoreSnapshotRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[493] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RestoreSnapshotRequest_Open.ProtoReflect.Descriptor instead. -func (*RestoreSnapshotRequest_Open) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{250, 0} -} - -func (x *RestoreSnapshotRequest_Open) GetExit() bool { - if x != nil { - return x.Exit - } - return false -} - -// Header is _always_ the first message encoded into a snapshot. If -// this isn't present, the entire snapshot can be considered corrupt. -type Snapshot_Header struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // version is the version of Waypoint that generated this snapshot. - Version *VersionInfo `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - // format is the format of the remaining messages. This can be used - // to determine what messages to expect following the header. - Format Snapshot_Header_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.waypoint.Snapshot_Header_Format" json:"format,omitempty"` -} - -func (x *Snapshot_Header) Reset() { - *x = Snapshot_Header{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[494] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Snapshot_Header) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Snapshot_Header) ProtoMessage() {} - -func (x *Snapshot_Header) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[494] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Snapshot_Header.ProtoReflect.Descriptor instead. -func (*Snapshot_Header) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{251, 0} -} - -func (x *Snapshot_Header) GetVersion() *VersionInfo { - if x != nil { - return x.Version - } - return nil -} - -func (x *Snapshot_Header) GetFormat() Snapshot_Header_Format { - if x != nil { - return x.Format - } - return Snapshot_Header_UNKNOWN -} - -// Trailer is sent as the final message encoded into a snapshot. Detecting -// when the trailer is is dependent on the format. -type Snapshot_Trailer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // checksum is the checksum of all the bytes up to but not including - // this proto message. The checksum is for the raw uncompressed bytes. - // - // Types that are assignable to Checksum: - // - // *Snapshot_Trailer_Sha256 - Checksum isSnapshot_Trailer_Checksum `protobuf_oneof:"checksum"` -} - -func (x *Snapshot_Trailer) Reset() { - *x = Snapshot_Trailer{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[495] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Snapshot_Trailer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Snapshot_Trailer) ProtoMessage() {} - -func (x *Snapshot_Trailer) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[495] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Snapshot_Trailer.ProtoReflect.Descriptor instead. -func (*Snapshot_Trailer) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{251, 1} -} - -func (m *Snapshot_Trailer) GetChecksum() isSnapshot_Trailer_Checksum { - if m != nil { - return m.Checksum - } - return nil -} - -func (x *Snapshot_Trailer) GetSha256() string { - if x, ok := x.GetChecksum().(*Snapshot_Trailer_Sha256); ok { - return x.Sha256 - } - return "" -} - -type isSnapshot_Trailer_Checksum interface { - isSnapshot_Trailer_Checksum() -} - -type Snapshot_Trailer_Sha256 struct { - Sha256 string `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"` // SHA-256 checksum -} - -func (*Snapshot_Trailer_Sha256) isSnapshot_Trailer_Checksum() {} - -// BoltChunk is a single chunk of data for BoltDB if the snapshot format -// is BOLT. A chunk will always contain items designated for a single bucket, -// but a bucket may be repeated multiple time across chunks if there are -// too many items in the bucket. -// -// The final BoltChunk will have trailer set to true. Immediaetly following -// that chunk will be the Trailer message. -type Snapshot_BoltChunk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // bucket is the name of the bucket. This may be empty. If this is empty, - // then this chunk should be ignored. - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - // items is a id/value mapping of all this chunk of items in this bucket - Items map[string][]byte `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // final is true if this is the last bolt chunk being written. - Final bool `protobuf:"varint,3,opt,name=final,proto3" json:"final,omitempty"` -} - -func (x *Snapshot_BoltChunk) Reset() { - *x = Snapshot_BoltChunk{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_server_proto_server_proto_msgTypes[496] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Snapshot_BoltChunk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Snapshot_BoltChunk) ProtoMessage() {} - -func (x *Snapshot_BoltChunk) ProtoReflect() protoreflect.Message { - mi := &file_pkg_server_proto_server_proto_msgTypes[496] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Snapshot_BoltChunk.ProtoReflect.Descriptor instead. -func (*Snapshot_BoltChunk) Descriptor() ([]byte, []int) { - return file_pkg_server_proto_server_proto_rawDescGZIP(), []int{251, 2} -} - -func (x *Snapshot_BoltChunk) GetBucket() string { - if x != nil { - return x.Bucket - } - return "" -} - -func (x *Snapshot_BoltChunk) GetItems() map[string][]byte { - if x != nil { - return x.Items - } - return nil -} - -func (x *Snapshot_BoltChunk) GetFinal() bool { - if x != nil { - return x.Final - } - return false -} - -var File_pkg_server_proto_server_proto protoreflect.FileDescriptor - -var file_pkg_server_proto_server_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x12, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x09, 0x61, 0x6e, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x37, 0x0a, 0x02, 0x55, 0x49, 0x1a, 0x5c, 0x0a, 0x13, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 0x14, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x46, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x1a, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x1a, 0xdc, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, - 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x4a, - 0x6f, 0x62, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x1a, 0x98, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa4, 0x01, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x45, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbe, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x14, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, - 0x75, 0x6e, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x12, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x46, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x71, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x88, 0x02, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x0b, 0x70, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, - 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x6f, - 0x6f, 0x74, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x11, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0x8f, 0x01, 0x0a, 0x0e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x07, 0x6c, - 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x1a, 0xa9, 0x02, 0x0a, 0x11, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0c, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x75, 0x6e, 0x52, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, - 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x66, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x66, 0x1a, 0xb9, 0x07, 0x0a, 0x13, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x75, 0x6e, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x74, - 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, - 0x70, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2d, 0x0a, - 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x36, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4f, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x72, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, - 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x1a, 0xbc, 0x01, 0x0a, 0x08, 0x43, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, - 0x52, 0x41, 0x4c, 0x4c, 0x45, 0x4c, 0x10, 0x01, 0x22, 0x54, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, - 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, - 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x1a, 0xe8, - 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, - 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, - 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x64, 0x0a, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x49, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, - 0x9a, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4d, 0x0a, - 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x60, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x49, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x8d, - 0x03, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, - 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x55, 0x72, 0x6c, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x52, 0x0a, 0x14, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0xe5, - 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, - 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, - 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, - 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x58, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x14, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0xdb, 0x02, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x98, 0x01, 0x0a, 0x12, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa0, 0x02, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5b, 0x0a, 0x09, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x55, 0x49, - 0x4c, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, - 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, - 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x44, 0x44, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x44, 0x44, 0x4f, 0x4e, 0x5f, 0x44, 0x45, - 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x04, 0x1a, 0x8d, 0x02, 0x0a, 0x0a, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0xab, 0x02, 0x0a, 0x0f, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3b, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x12, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0xca, 0x01, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x4f, 0x6e, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x64, - 0x64, 0x4f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x09, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, - 0x59, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x02, 0x1a, 0xf4, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4f, 0x0a, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x5e, 0x0a, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x55, 0x0a, 0x14, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x52, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x50, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x4f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x22, 0x41, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, - 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, - 0x45, 0x5f, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, 0x49, - 0x56, 0x45, 0x53, 0x10, 0x01, 0x22, 0x82, 0x02, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x4f, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x1a, 0x45, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x80, 0x0a, 0x0a, 0x08, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x04, - 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, - 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x00, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x03, 0x68, 0x63, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x68, 0x63, 0x6c, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x6c, - 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, - 0x01, 0x52, 0x03, 0x63, 0x6c, 0x69, 0x12, 0x37, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x01, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x2a, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x34, 0x0a, 0x03, 0x76, - 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x56, 0x43, 0x53, 0x48, 0x01, 0x52, 0x03, 0x76, 0x63, - 0x73, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x06, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x07, - 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x48, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x1a, - 0x66, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x68, 0x63, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x68, - 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x65, 0x0a, 0x03, 0x56, 0x43, 0x53, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x68, 0x63, - 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x68, 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x48, - 0x0a, 0x06, 0x48, 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x1a, 0x98, 0x01, 0x0a, 0x08, 0x48, 0x63, 0x6c, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, - 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x03, - 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x52, 0x03, - 0x65, 0x6e, 0x64, 0x1a, 0xb1, 0x02, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x03, - 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x75, 0x6d, - 0x12, 0x12, 0x0a, 0x03, 0x68, 0x63, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x03, 0x68, 0x63, 0x6c, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x60, 0x0a, 0x06, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4c, - 0x49, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e, 0x56, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, - 0x56, 0x43, 0x53, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, - 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x07, 0x42, 0x07, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xbe, 0x07, 0x0a, 0x07, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x12, 0x4e, 0x0a, 0x13, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, - 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x11, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x70, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x10, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x3e, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x4d, 0x61, - 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x52, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x3c, 0x0a, 0x04, 0x50, 0x6f, - 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x45, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, - 0x2a, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, - 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x22, 0xab, 0x05, 0x0a, 0x09, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xe1, 0x02, - 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0c, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x33, - 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x1a, 0x76, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x0a, 0x04, 0x6f, - 0x69, 0x64, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x48, 0x00, 0x52, - 0x04, 0x6f, 0x69, 0x64, 0x63, 0x1a, 0x2a, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x12, 0x10, 0x0a, - 0x03, 0x69, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x73, 0x73, 0x12, - 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, - 0x62, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xb9, 0x10, 0x0a, 0x03, - 0x52, 0x65, 0x66, 0x1a, 0x08, 0x0a, 0x06, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x1a, 0x49, 0x0a, - 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x23, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x29, 0x0a, - 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x05, - 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, 0x49, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x12, 0x18, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, - 0x1a, 0x57, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x6b, 0x0a, 0x09, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, - 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x6d, 0x0a, 0x0c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0xbd, 0x01, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x12, 0x35, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, - 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x32, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x0b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, - 0x6e, 0x79, 0x1a, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x93, - 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, - 0x48, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x83, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x30, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x42, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, 0x18, 0x0a, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x1a, 0x2a, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x1a, 0x20, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x1a, 0x26, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x14, 0x4f, 0x6e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x19, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x1a, 0x15, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x38, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, - 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x72, - 0x65, 0x66, 0x1a, 0x62, 0x0a, 0x08, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x10, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x3d, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, - 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, 0x6f, 0x0a, 0x0d, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xe3, 0x01, 0x0a, 0x0c, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, - 0x65, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, 0x6f, - 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, - 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, - 0x47, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x05, 0x41, 0x64, 0x64, 0x4f, - 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x50, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x03, 0x12, - 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x10, 0x04, 0x22, 0xbb, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x22, 0x9f, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x45, 0x0a, 0x0d, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, - 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x04, 0x22, 0xb1, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, - 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x09, 0x0a, - 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, - 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x47, 0x0a, 0x0a, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, - 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x15, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, - 0x6e, 0x74, 0x52, 0x13, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xa3, 0x02, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x63, 0x69, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x63, 0x69, 0x55, - 0x72, 0x6c, 0x12, 0x71, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x04, 0x0a, - 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x38, 0x0a, - 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, - 0x62, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, - 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, - 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x22, 0x7e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, - 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, - 0x50, 0x45, 0x44, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x08, - 0x22, 0x41, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, - 0x61, 0x73, 0x6b, 0x22, 0x42, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x73, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x40, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x93, 0x02, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, - 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x62, 0x12, - 0x34, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x34, 0x0a, 0x09, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x22, - 0x43, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x03, 0x72, 0x65, 0x66, 0x22, 0x4f, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x61, 0x73, - 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x74, - 0x61, 0x73, 0x6b, 0x73, 0x22, 0x43, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x35, 0x0a, 0x0b, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x42, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x22, 0x3f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x41, 0x0a, 0x11, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x42, 0x0a, - 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x22, 0x45, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc3, 0x06, 0x0a, 0x0a, 0x41, 0x75, 0x74, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x04, 0x6f, 0x69, 0x64, - 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x48, 0x00, 0x52, 0x04, - 0x6f, 0x69, 0x64, 0x63, 0x1a, 0xed, 0x04, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x75, 0x64, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x75, 0x72, 0x69, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, - 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x73, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, - 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x61, 0x50, 0x65, - 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x2e, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x6a, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x6d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x4f, 0x49, - 0x44, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, - 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xb1, - 0x01, 0x0a, 0x0e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x49, 0x44, 0x43, - 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, - 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, - 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, - 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x5b, - 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x75, - 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, - 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x5b, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, - 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x58, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, - 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x22, 0x5e, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, - 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x22, 0x5c, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, - 0x22, 0x64, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x45, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, - 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x49, - 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x2a, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, - 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xae, - 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, - 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, - 0x24, 0x0a, 0x0e, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x22, - 0x5b, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0x29, 0x0a, 0x10, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, - 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x66, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, - 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3d, - 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xc6, 0x4f, - 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x73, 0x4f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, - 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, - 0x0f, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x14, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x73, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x12, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x64, - 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x13, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x48, 0x63, 0x6c, 0x52, 0x0b, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, - 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, - 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, - 0x12, 0x37, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, - 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x75, 0x73, - 0x68, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, - 0x3a, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4f, - 0x70, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x64, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x48, 0x00, - 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x61, - 0x75, 0x74, 0x68, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x61, 0x75, 0x74, - 0x68, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, - 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, - 0x12, 0x34, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x70, 0x48, 0x00, - 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x2e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x3d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x55, 0x70, 0x4f, 0x70, - 0x48, 0x00, 0x52, 0x02, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x3e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, - 0x67, 0x73, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x0d, - 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x3f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x70, - 0x6f, 0x6c, 0x6c, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6c, - 0x6c, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x4a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x42, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x47, 0x0a, 0x09, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, - 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x6f, - 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x44, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, - 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, - 0x73, 0x6b, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x4d, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x70, - 0x48, 0x00, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, - 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x65, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, - 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x61, 0x63, 0x6b, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x64, 0x0a, 0x15, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x71, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x6a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x30, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, - 0x6b, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x75, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x1a, 0x7a, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, - 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x18, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0xd9, 0x09, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, - 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x75, 0x73, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x70, 0x75, 0x73, - 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, - 0x3f, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x12, 0x42, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x04, - 0x64, 0x6f, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, - 0x64, 0x6f, 0x63, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, - 0x79, 0x6e, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, - 0x30, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x55, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x02, 0x75, - 0x70, 0x12, 0x4f, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x4f, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x73, 0x74, 0x65, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x53, 0x74, 0x65, 0x70, 0x12, 0x62, 0x0a, 0x14, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x12, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x55, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x1a, - 0x7d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x34, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4a, 0x4f, 0x42, 0x10, 0x03, 0x1a, 0xaf, - 0x02, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, - 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, - 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x1a, - 0x75, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x67, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x47, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, - 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x52, 0x09, 0x67, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6f, 0x6e, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xc3, 0x04, 0x0a, - 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x1b, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x6f, - 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x12, 0x72, - 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, - 0x53, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x62, 0x61, - 0x73, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x48, 0x00, 0x52, 0x05, - 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x33, 0x0a, 0x03, 0x73, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x2e, - 0x53, 0x53, 0x48, 0x48, 0x00, 0x52, 0x03, 0x73, 0x73, 0x68, 0x1a, 0x3f, 0x0a, 0x05, 0x42, 0x61, - 0x73, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x5d, 0x0a, 0x03, 0x53, - 0x53, 0x48, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x7e, 0x0a, 0x03, 0x52, 0x65, - 0x66, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x61, 0x75, - 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, 0x43, 0x0a, 0x04, 0x55, 0x70, - 0x4f, 0x70, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x1a, - 0x63, 0x0a, 0x08, 0x55, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x07, - 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x55, 0x72, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x68, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3f, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x1a, 0xf2, - 0x02, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x1a, 0x9e, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, - 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x75, 0x74, - 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, - 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x1a, 0x2c, 0x0a, 0x07, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x12, 0x21, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x73, - 0x68, 0x1a, 0x76, 0x0a, 0x0b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x1a, 0x39, 0x0a, 0x06, 0x50, 0x75, 0x73, - 0x68, 0x4f, 0x70, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x1a, 0x4c, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x1a, 0x4a, 0x0a, 0x08, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x70, 0x12, 0x3e, - 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0x4e, - 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, - 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x69, - 0x0a, 0x06, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x0c, 0x0a, 0x0a, 0x45, 0x78, 0x65, - 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xba, 0x01, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x73, - 0x4f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x8f, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x4f, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0xb8, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x4f, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, - 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x0a, - 0x15, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, - 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x1a, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x91, 0x01, 0x0a, 0x10, 0x54, 0x61, - 0x73, 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x68, 0x63, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x63, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, - 0x0a, 0x0a, 0x68, 0x63, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x52, 0x09, 0x68, 0x63, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x8d, 0x01, - 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x4f, 0x70, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x37, 0x0a, - 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xab, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x54, - 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x12, 0x40, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, - 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, - 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x1a, 0x47, 0x0a, 0x0b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, - 0x6b, 0x4f, 0x70, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x2e, 0x0a, - 0x0f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x95, 0x01, - 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, - 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x5b, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x1a, 0xcf, 0x01, 0x0a, - 0x0a, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x1a, 0x7c, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x1a, 0x0e, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x1a, 0x12, - 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x18, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x70, 0x0a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, - 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2d, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, - 0x1a, 0xa5, 0x01, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, - 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, - 0x06, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x12, 0x3f, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x72, - 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, - 0x52, 0x06, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x66, 0x1a, 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, - 0x4f, 0x70, 0x1a, 0x0c, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x1a, 0x47, 0x0a, 0x0e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, - 0x4f, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, - 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x83, 0x01, 0x0a, 0x10, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x39, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x44, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, - 0x40, 0x0a, 0x12, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x1a, 0x4c, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4f, 0x70, 0x12, 0x3a, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, - 0xdd, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x6b, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, - 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4a, 0x04, 0x08, 0x48, 0x10, 0x64, 0x22, 0xf9, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, - 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x1a, 0x62, 0x0a, - 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x58, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xdc, 0x03, 0x0a, 0x0f, 0x4c, - 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, - 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x08, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x4c, 0x69, - 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, - 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, - 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, - 0x64, 0x22, 0xf0, 0x14, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x6f, 0x70, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, - 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, - 0x6f, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, - 0x4f, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, - 0x12, 0x4f, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, - 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, - 0x65, 0x6e, 0x1a, 0xc4, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x08, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x36, 0x0a, 0x09, 0x4a, 0x6f, 0x62, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, - 0x62, 0x1a, 0x5a, 0x0a, 0x08, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, - 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0d, - 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x1a, 0xba, 0x0c, - 0x0a, 0x08, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x1a, 0xc0, 0x0b, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x52, 0x0a, 0x04, 0x6c, - 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x58, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, - 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x43, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, - 0x03, 0x72, 0x61, 0x77, 0x12, 0x55, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x73, - 0x74, 0x65, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x52, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x04, 0x73, - 0x74, 0x65, 0x70, 0x1a, 0x46, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x2e, 0x0a, 0x04, 0x4c, - 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x1a, 0x31, 0x0a, 0x03, 0x52, - 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x1a, 0x36, - 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x69, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x68, 0x0a, 0x08, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x12, 0x5c, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x77, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x21, - 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x1a, 0x6e, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x6c, 0x0a, - 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x06, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1c, 0x0a, 0x0a, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x79, 0x49, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, - 0x03, 0x6f, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x4f, 0x44, 0x52, 0x48, 0x00, 0x52, 0x03, 0x6f, 0x64, - 0x72, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x06, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, - 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x73, 0x5f, 0x6f, 0x64, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x49, 0x73, 0x4f, 0x64, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x39, 0x0a, - 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, - 0x6e, 0x12, 0x4f, 0x0a, 0x0e, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x0d, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x24, 0x0a, - 0x03, 0x4f, 0x44, 0x52, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x49, 0x64, 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x08, 0x0a, 0x06, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x47, 0x0a, 0x0d, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x45, 0x41, 0x44, 0x4f, 0x50, 0x54, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x44, 0x4f, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, - 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x48, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x22, 0x2b, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, - 0x01, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, - 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x1a, 0x3a, 0x0a, 0x04, 0x4f, 0x70, - 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, - 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x50, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0x97, 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, - 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xa6, 0x0a, 0x0a, 0x16, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6b, 0x12, 0x51, 0x0a, 0x08, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x48, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, - 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x4c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, - 0x6f, 0x61, 0x64, 0x12, 0x6e, 0x0a, 0x13, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x53, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, - 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x1a, 0x4e, 0x0a, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x6a, 0x6f, - 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x63, 0x6b, - 0x1a, 0x42, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x1a, 0x44, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x6f, - 0x61, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xee, 0x01, 0x0a, 0x11, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, - 0x12, 0x70, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x53, 0x65, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x1a, 0x67, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0xf9, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, - 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x83, - 0x01, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x47, 0x0a, 0x0e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x1a, 0x21, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x22, 0x22, 0x0a, 0x20, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x21, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, - 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, - 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, - 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x73, 0x22, 0x47, 0x0a, 0x12, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x22, 0x32, 0x0a, 0x13, - 0x46, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x52, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x22, 0x53, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0f, 0x61, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, - 0x64, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x1a, 0x5d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x26, - 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x70, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x52, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x68, 0x6f, - 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x33, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc6, 0x03, 0x0a, 0x08, - 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x12, 0x53, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3f, 0x0a, - 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5e, - 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x93, - 0x01, 0x0a, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x70, 0x70, 0x12, 0x45, 0x0a, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, - 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, - 0x57, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0x53, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x55, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x17, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x4e, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x15, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x22, 0x5e, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x45, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x46, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, - 0xd5, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, - 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x47, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, - 0x06, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, - 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xbb, 0x05, 0x0a, 0x05, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x3b, - 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, 0x5b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, - 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xff, 0x03, 0x0a, 0x14, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x63, 0x69, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x63, 0x69, 0x55, 0x72, 0x6c, - 0x12, 0x77, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x43, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x2e, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x47, - 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x21, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, - 0x0a, 0x22, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, - 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x63, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, - 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, - 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x67, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x6e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, - 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, - 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x5e, - 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, - 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0xa8, - 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, - 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xbd, 0x02, 0x0a, 0x1a, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x5f, 0x0a, 0x1b, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0xa2, 0x06, 0x0a, 0x0e, - 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x45, - 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, - 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x44, 0x0a, - 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, - 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, - 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, - 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, - 0x22, 0xf3, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, - 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x57, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, - 0x9a, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4d, 0x0a, - 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xe0, 0x01, 0x0a, - 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, - 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x69, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x08, 0x54, 0x72, 0x69, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, - 0x55, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x22, - 0x5a, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xb7, 0x03, 0x0a, 0x16, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, - 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, - 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, - 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x05, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x22, 0x93, 0x0b, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x0a, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, - 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, - 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x45, 0x78, 0x65, 0x63, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4c, - 0x6f, 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x65, 0x63, - 0x6c, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, - 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x63, - 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x56, - 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0xf0, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, - 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x72, 0x6c, 0x12, - 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, 0x30, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, - 0x05, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x02, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, - 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x52, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x22, 0xdb, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x1a, 0x95, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, - 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, - 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x22, 0x4d, 0x0a, - 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x15, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xed, 0x01, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xb1, 0x03, 0x0a, - 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, - 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, - 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x22, 0x4f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x73, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4a, 0x0a, 0x0c, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, - 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x95, 0x0a, 0x0a, 0x07, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, - 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x07, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0d, 0x75, 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x50, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x91, 0x02, 0x0a, 0x07, 0x50, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, - 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, - 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, 0x40, - 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x08, 0x0a, - 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x4c, 0x4f, - 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x54, 0x49, 0x46, - 0x41, 0x43, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x03, - 0x22, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x14, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, - 0xfa, 0x06, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, - 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x18, 0x35, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x36, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x12, 0x2e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x55, 0x70, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x02, 0x75, - 0x70, 0x12, 0x34, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, - 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x3a, 0x10, 0x64, 0x22, 0x4d, 0x0a, 0x14, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x15, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x46, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x03, - 0x72, 0x65, 0x66, 0x22, 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x22, 0x49, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x93, 0x01, 0x0a, 0x11, - 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x03, 0x72, 0x65, 0x66, 0x12, 0x4b, 0x0a, 0x12, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x22, 0x2d, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, - 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x4e, - 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x62, - 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x22, 0x63, 0x0a, 0x1a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xa0, 0x03, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x2a, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x3f, 0x0a, 0x0e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x79, 0x12, 0x25, 0x0a, - 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, - 0x61, 0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x6e, 0x79, 0x12, - 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, - 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xa4, 0x03, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x22, 0x64, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, - 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x4d, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xec, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x65, 0x64, - 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x07, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x1c, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x96, 0x0d, 0x0a, - 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, - 0x1b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x19, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, - 0xe1, 0x05, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x55, 0x0a, 0x11, - 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x10, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x63, 0x0a, 0x15, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x69, 0x6e, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x13, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, - 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x06, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x11, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x52, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x22, 0x4f, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, - 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, - 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, - 0x4c, 0x10, 0x04, 0x1a, 0xa2, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdb, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, - 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, - 0x6f, 0x67, 0x1a, 0x95, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x1a, 0xbb, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x21, 0x0a, 0x06, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x50, 0x50, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x22, 0xa8, - 0x08, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x3c, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, - 0x0a, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, 0x18, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, - 0x6d, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x56, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x1a, - 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xa9, 0x01, 0x0a, - 0x0a, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, - 0x4c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x2e, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, - 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf5, 0x02, 0x0a, 0x06, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, - 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x72, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, - 0x6e, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x75, 0x6e, 0x75, - 0x73, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x10, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x52, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x03, 0x0a, 0x10, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xd9, 0x03, 0x0a, 0x0c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x45, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x62, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xca, 0x02, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, - 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, - 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x35, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xde, 0x05, 0x0a, 0x11, - 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x05, 0x77, - 0x69, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, - 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x65, - 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6f, 0x66, 0x1a, 0xac, 0x01, 0x0a, - 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, - 0x79, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x84, 0x01, 0x0a, 0x03, 0x50, 0x54, 0x59, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x51, 0x0a, 0x0b, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, - 0x69, 0x7a, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x1a, - 0x62, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x77, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x03, 0x0a, - 0x12, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, - 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x47, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, - 0x41, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, - 0x69, 0x74, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, - 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9d, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, - 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0xb9, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x65, 0x63, 0x22, 0x58, 0x0a, 0x18, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdb, 0x06, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x04, 0x65, 0x78, - 0x65, 0x63, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x38, 0x0a, 0x08, 0x65, 0x6e, 0x76, - 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x56, - 0x61, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x72, - 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0a, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x1a, 0x6d, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, - 0x1a, 0x5d, 0x0a, 0x0a, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, - 0xe1, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, - 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x69, - 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, - 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x22, 0xf2, 0x04, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, - 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, - 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, - 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, - 0x3d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x1a, - 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0xa0, 0x01, 0x0a, 0x06, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x1a, 0x31, 0x0a, - 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x09, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x65, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x45, 0x6f, 0x66, 0x12, 0x48, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, - 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x22, 0xc3, 0x0a, 0x0a, 0x08, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, - 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x5b, 0x0a, - 0x0a, 0x53, 0x74, 0x65, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb0, 0x08, 0x0a, 0x04, 0x53, - 0x74, 0x65, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, 0x3c, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x48, 0x00, 0x52, 0x04, - 0x65, 0x78, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x05, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x42, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x48, - 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, - 0x55, 0x70, 0x48, 0x00, 0x52, 0x02, 0x75, 0x70, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x4a, 0x0a, 0x04, 0x45, 0x78, 0x65, - 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x2a, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x73, - 0x68, 0x1a, 0x22, 0x0a, 0x06, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x1a, 0xba, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x32, - 0x0a, 0x15, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, - 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x1a, 0x71, 0x0a, 0x02, 0x55, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x75, 0x6e, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, - 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x3e, 0x0a, 0x08, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x03, 0x72, 0x65, 0x66, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0xca, 0x02, 0x0a, 0x0b, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x12, 0x2f, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, - 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, - 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x63, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, - 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, - 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x10, 0x06, 0x22, 0x51, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc7, - 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x65, 0x70, 0x12, 0x43, 0x0a, - 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x05, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x1a, 0x93, 0x01, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x22, 0x22, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, - 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, - 0x45, 0x52, 0x4d, 0x41, 0x49, 0x44, 0x10, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, - 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x6a, 0x6f, - 0x62, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x52, 0x75, - 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, - 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x6c, 0x6c, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, - 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x1a, 0x5f, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x17, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x60, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x22, 0x71, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x0b, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x22, 0x56, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0xf2, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, - 0x0a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, - 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x64, - 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, - 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x52, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x22, 0x64, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x01, 0x0a, 0x1c, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6e, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6f, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6e, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x72, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x04, 0x0a, - 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x29, - 0x0a, 0x10, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x65, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x61, - 0x64, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, 0x61, - 0x64, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x10, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x0f, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x71, 0x0a, 0x17, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, - 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, - 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, - 0x15, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x45, 0x0a, 0x0f, 0x57, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, - 0x15, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x1a, 0x49, 0x0a, 0x15, 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, - 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x15, - 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x6f, - 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, - 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x51, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x10, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x02, 0x0a, 0x1c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x61, 0x0a, 0x17, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x6f, 0x63, - 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, - 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x15, 0x74, 0x65, 0x72, - 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, - 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, - 0x6f, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, - 0x61, 0x64, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, - 0x61, 0x64, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x66, 0x5f, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x66, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, - 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x03, 0x0a, 0x1c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x65, - 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x15, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, - 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, - 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, - 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x66, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, - 0x66, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, - 0x70, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0f, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x73, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x53, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, - 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x22, 0x4b, - 0x0a, 0x13, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, - 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x22, 0x47, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, - 0x0a, 0x06, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x05, 0x61, - 0x64, 0x64, 0x4f, 0x6e, 0x22, 0x44, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x5f, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, - 0x64, 0x4f, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x22, 0x5e, 0x0a, 0x12, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x34, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, - 0x05, 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x05, 0x61, 0x64, - 0x64, 0x4f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x12, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x06, - 0x61, 0x64, 0x64, 0x4f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x46, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xad, - 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x46, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x46, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x46, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, - 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xf1, - 0x03, 0x0a, 0x05, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, - 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x6d, - 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x61, 0x0a, - 0x17, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x64, - 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, - 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x15, 0x74, 0x65, 0x72, 0x72, 0x61, - 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, - 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0xdd, 0x02, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x74, 0x65, - 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x54, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x15, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, - 0x6d, 0x4e, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x4d, - 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x66, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x10, 0x74, 0x66, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x22, 0x53, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x46, 0x43, 0x52, 0x75, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, - 0x46, 0x43, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x46, 0x43, - 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x39, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, - 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0x99, 0x01, 0x0a, 0x20, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x52, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x5a, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0xb6, 0x03, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x4c, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x0b, 0x6f, - 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x43, 0x72, - 0x65, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x66, 0x0a, 0x10, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x73, 0x22, 0xb1, 0x08, 0x0a, 0x05, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, - 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, - 0x69, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x37, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x48, - 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x3d, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, - 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x6e, 0x75, 0x73, - 0x65, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x11, 0x75, 0x6e, 0x75, 0x73, - 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x75, 0x6e, 0x75, 0x73, 0x65, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x66, 0x0a, 0x05, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, - 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x1a, 0x37, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x1a, 0xd7, 0x01, 0x0a, - 0x06, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, - 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, - 0x70, 0x1a, 0x33, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x55, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x31, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x07, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2b, - 0x0a, 0x07, 0x48, 0x4d, 0x41, 0x43, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2a, 0x0a, 0x12, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2f, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x40, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x72, 0x74, 0x22, 0x7b, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, - 0xd7, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfb, 0x01, 0x0a, 0x12, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, - 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, - 0x67, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x52, 0x06, 0x73, 0x69, - 0x67, 0x6e, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x11, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, - 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, - 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x9c, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, - 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x65, 0x78, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa5, - 0x03, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa8, 0x01, 0x0a, 0x06, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x42, 0x4f, 0x4c, 0x54, 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, - 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0xbc, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x47, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, - 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x76, 0x0a, 0x03, 0x48, 0x63, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, - 0x63, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x22, 0x1b, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x07, 0x0a, 0x03, 0x48, - 0x43, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x22, 0x3a, - 0x0a, 0x15, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x22, 0x3b, 0x0a, 0x16, 0x57, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x22, 0x32, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x80, 0xc2, 0xd7, 0x2f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x11, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, - 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x70, 0x0a, 0x12, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, - 0x0e, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x2a, 0x98, 0x01, 0x0a, 0x1b, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, - 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x52, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x05, 0x12, - 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x46, - 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, - 0x52, 0x41, 0x47, 0x45, 0x10, 0x08, 0x32, 0xef, 0x68, 0x0a, 0x08, 0x57, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, - 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, - 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, - 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x61, 0x0a, 0x10, 0x4e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6d, - 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, - 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x63, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x67, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x76, 0x0a, 0x13, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, - 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, - 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, - 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x71, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, - 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x6a, 0x0a, - 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x61, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2b, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6b, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x70, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x57, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, - 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0f, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, - 0x58, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5b, 0x0a, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x64, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x49, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x24, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x06, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x12, 0x55, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x4f, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x00, 0x12, - 0x5e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4d, 0x0a, 0x0b, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4f, - 0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x27, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x56, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, - 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 0x01, 0x12, - 0x4e, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, - 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5e, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x63, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, - 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5e, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6e, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, - 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x57, 0x0a, 0x13, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 0x01, 0x12, 0x71, 0x0a, 0x14, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, - 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x67, - 0x0a, 0x0e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, - 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, - 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, - 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, - 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x1e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, - 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, - 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x35, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, - 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, - 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, - 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x28, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, - 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, - 0x0b, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, - 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, - 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2d, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x15, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x15, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2d, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, - 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x79, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x19, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x46, 0x43, - 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x46, 0x43, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x46, - 0x43, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, - 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, - 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, - 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x5e, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x55, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x23, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x0a, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x46, 0x52, - 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x46, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x46, 0x52, 0x75, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6a, 0x0a, 0x0f, 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x55, - 0x49, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, - 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x76, 0x0a, 0x13, 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x49, 0x5f, 0x47, - 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x2c, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x55, 0x49, - 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6d, 0x0a, 0x10, 0x55, 0x49, 0x5f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, - 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, - 0x0a, 0x0f, 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x73, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x49, - 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x66, 0x0a, 0x1b, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x10, 0x5a, 0x0e, 0x70, 0x6b, 0x67, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x67, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_pkg_server_proto_server_proto_rawDescOnce sync.Once - file_pkg_server_proto_server_proto_rawDescData = file_pkg_server_proto_server_proto_rawDesc -) - -func file_pkg_server_proto_server_proto_rawDescGZIP() []byte { - file_pkg_server_proto_server_proto_rawDescOnce.Do(func() { - file_pkg_server_proto_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_server_proto_server_proto_rawDescData) - }) - return file_pkg_server_proto_server_proto_rawDescData -} - -var file_pkg_server_proto_server_proto_enumTypes = make([]protoimpl.EnumInfo, 31) -var file_pkg_server_proto_server_proto_msgTypes = make([]protoimpl.MessageInfo, 498) -var file_pkg_server_proto_server_proto_goTypes = []interface{}{ - (ResourceCategoryDisplayHint)(0), // 0: hashicorp.waypoint.ResourceCategoryDisplayHint - (UI_PipelineRunTreeNode_State)(0), // 1: hashicorp.waypoint.UI.PipelineRunTreeNode.State - (UI_PipelineRunTreeNode_Children_Mode)(0), // 2: hashicorp.waypoint.UI.PipelineRunTreeNode.Children.Mode - (UI_EventBundle_EventType)(0), // 3: hashicorp.waypoint.UI.EventBundle.EventType - (UI_EventAddOnOperation)(0), // 4: hashicorp.waypoint.UI.EventAddOn.operation - (ServerFeaturesFeature)(0), // 5: hashicorp.waypoint.ServerFeatures.feature - (Variable_FinalValue_Source)(0), // 6: hashicorp.waypoint.Variable.FinalValue.Source - (Project_ProjectState)(0), // 7: hashicorp.waypoint.Project.ProjectState - (Component_Type)(0), // 8: hashicorp.waypoint.Component.Type - (Status_State)(0), // 9: hashicorp.waypoint.Status.State - (Operation_PhysicalState)(0), // 10: hashicorp.waypoint.Operation.PhysicalState - (OperationOrder_Order)(0), // 11: hashicorp.waypoint.OperationOrder.Order - (Task_State)(0), // 12: hashicorp.waypoint.Task.State - (OIDCAuthMethod_Kind)(0), // 13: hashicorp.waypoint.OIDCAuthMethod.Kind - (Job_State)(0), // 14: hashicorp.waypoint.Job.State - (Job_Config_Source)(0), // 15: hashicorp.waypoint.Job.Config.Source - (Runner_AdoptionState)(0), // 16: hashicorp.waypoint.Runner.AdoptionState - (UpsertDeploymentRequest_Tristate)(0), // 17: hashicorp.waypoint.UpsertDeploymentRequest.Tristate - (Deployment_LoadDetails)(0), // 18: hashicorp.waypoint.Deployment.LoadDetails - (Instance_Type)(0), // 19: hashicorp.waypoint.Instance.Type - (Release_LoadDetails)(0), // 20: hashicorp.waypoint.Release.LoadDetails - (StatusReport_Resource_Health)(0), // 21: hashicorp.waypoint.StatusReport.Resource.Health - (LogBatch_Entry_Source)(0), // 22: hashicorp.waypoint.LogBatch.Entry.Source - (ExecStreamResponse_Output_Channel)(0), // 23: hashicorp.waypoint.ExecStreamResponse.Output.Channel - (EntrypointExecRequest_Output_Channel)(0), // 24: hashicorp.waypoint.EntrypointExecRequest.Output.Channel - (PipelineRun_State)(0), // 25: hashicorp.waypoint.PipelineRun.State - (GetPipelineResponse_Graph_Format)(0), // 26: hashicorp.waypoint.GetPipelineResponse.Graph.Format - (GetTFRunStatusResponse_State)(0), // 27: hashicorp.waypoint.GetTFRunStatusResponse.State - (GetTFCRunStatusResponse_State)(0), // 28: hashicorp.waypoint.GetTFCRunStatusResponse.State - (Snapshot_Header_Format)(0), // 29: hashicorp.waypoint.Snapshot.Header.Format - (Hcl_Format)(0), // 30: hashicorp.waypoint.Hcl.Format - (*UI)(nil), // 31: hashicorp.waypoint.UI - (*GetVersionInfoResponse)(nil), // 32: hashicorp.waypoint.GetVersionInfoResponse - (*ServerFeatures)(nil), // 33: hashicorp.waypoint.ServerFeatures - (*VersionInfo)(nil), // 34: hashicorp.waypoint.VersionInfo - (*Application)(nil), // 35: hashicorp.waypoint.Application - (*Variable)(nil), // 36: hashicorp.waypoint.Variable - (*Project)(nil), // 37: hashicorp.waypoint.Project - (*Workspace)(nil), // 38: hashicorp.waypoint.Workspace - (*User)(nil), // 39: hashicorp.waypoint.User - (*Ref)(nil), // 40: hashicorp.waypoint.Ref - (*Component)(nil), // 41: hashicorp.waypoint.Component - (*Status)(nil), // 42: hashicorp.waypoint.Status - (*StatusFilter)(nil), // 43: hashicorp.waypoint.StatusFilter - (*Operation)(nil), // 44: hashicorp.waypoint.Operation - (*OperationOrder)(nil), // 45: hashicorp.waypoint.OperationOrder - (*Generation)(nil), // 46: hashicorp.waypoint.Generation - (*DeclaredResource)(nil), // 47: hashicorp.waypoint.DeclaredResource - (*DestroyedResource)(nil), // 48: hashicorp.waypoint.DestroyedResource - (*TaskLaunchInfo)(nil), // 49: hashicorp.waypoint.TaskLaunchInfo - (*Task)(nil), // 50: hashicorp.waypoint.Task - (*UpsertTaskRequest)(nil), // 51: hashicorp.waypoint.UpsertTaskRequest - (*UpsertTaskResponse)(nil), // 52: hashicorp.waypoint.UpsertTaskResponse - (*GetTaskRequest)(nil), // 53: hashicorp.waypoint.GetTaskRequest - (*GetTaskResponse)(nil), // 54: hashicorp.waypoint.GetTaskResponse - (*DeleteTaskRequest)(nil), // 55: hashicorp.waypoint.DeleteTaskRequest - (*ListTaskRequest)(nil), // 56: hashicorp.waypoint.ListTaskRequest - (*ListTaskResponse)(nil), // 57: hashicorp.waypoint.ListTaskResponse - (*CancelTaskRequest)(nil), // 58: hashicorp.waypoint.CancelTaskRequest - (*ErrorDetail)(nil), // 59: hashicorp.waypoint.ErrorDetail - (*GetUserRequest)(nil), // 60: hashicorp.waypoint.GetUserRequest - (*GetUserResponse)(nil), // 61: hashicorp.waypoint.GetUserResponse - (*ListUsersResponse)(nil), // 62: hashicorp.waypoint.ListUsersResponse - (*UpdateUserRequest)(nil), // 63: hashicorp.waypoint.UpdateUserRequest - (*UpdateUserResponse)(nil), // 64: hashicorp.waypoint.UpdateUserResponse - (*DeleteUserRequest)(nil), // 65: hashicorp.waypoint.DeleteUserRequest - (*AuthMethod)(nil), // 66: hashicorp.waypoint.AuthMethod - (*OIDCAuthMethod)(nil), // 67: hashicorp.waypoint.OIDCAuthMethod - (*UpsertAuthMethodRequest)(nil), // 68: hashicorp.waypoint.UpsertAuthMethodRequest - (*UpsertAuthMethodResponse)(nil), // 69: hashicorp.waypoint.UpsertAuthMethodResponse - (*GetAuthMethodRequest)(nil), // 70: hashicorp.waypoint.GetAuthMethodRequest - (*GetAuthMethodResponse)(nil), // 71: hashicorp.waypoint.GetAuthMethodResponse - (*DeleteAuthMethodRequest)(nil), // 72: hashicorp.waypoint.DeleteAuthMethodRequest - (*ListAuthMethodsResponse)(nil), // 73: hashicorp.waypoint.ListAuthMethodsResponse - (*ListOIDCAuthMethodsResponse)(nil), // 74: hashicorp.waypoint.ListOIDCAuthMethodsResponse - (*GetOIDCAuthURLRequest)(nil), // 75: hashicorp.waypoint.GetOIDCAuthURLRequest - (*GetOIDCAuthURLResponse)(nil), // 76: hashicorp.waypoint.GetOIDCAuthURLResponse - (*CompleteOIDCAuthRequest)(nil), // 77: hashicorp.waypoint.CompleteOIDCAuthRequest - (*CompleteOIDCAuthResponse)(nil), // 78: hashicorp.waypoint.CompleteOIDCAuthResponse - (*QueueJobRequest)(nil), // 79: hashicorp.waypoint.QueueJobRequest - (*QueueJobResponse)(nil), // 80: hashicorp.waypoint.QueueJobResponse - (*CancelJobRequest)(nil), // 81: hashicorp.waypoint.CancelJobRequest - (*ValidateJobRequest)(nil), // 82: hashicorp.waypoint.ValidateJobRequest - (*ValidateJobResponse)(nil), // 83: hashicorp.waypoint.ValidateJobResponse - (*Job)(nil), // 84: hashicorp.waypoint.Job - (*Documentation)(nil), // 85: hashicorp.waypoint.Documentation - (*GetJobRequest)(nil), // 86: hashicorp.waypoint.GetJobRequest - (*ListJobsRequest)(nil), // 87: hashicorp.waypoint.ListJobsRequest - (*ListJobsResponse)(nil), // 88: hashicorp.waypoint.ListJobsResponse - (*GetJobStreamRequest)(nil), // 89: hashicorp.waypoint.GetJobStreamRequest - (*GetJobStreamResponse)(nil), // 90: hashicorp.waypoint.GetJobStreamResponse - (*Runner)(nil), // 91: hashicorp.waypoint.Runner - (*RunnerTokenRequest)(nil), // 92: hashicorp.waypoint.RunnerTokenRequest - (*RunnerTokenResponse)(nil), // 93: hashicorp.waypoint.RunnerTokenResponse - (*RunnerConfigRequest)(nil), // 94: hashicorp.waypoint.RunnerConfigRequest - (*RunnerConfigResponse)(nil), // 95: hashicorp.waypoint.RunnerConfigResponse - (*RunnerConfig)(nil), // 96: hashicorp.waypoint.RunnerConfig - (*RunnerJobStreamRequest)(nil), // 97: hashicorp.waypoint.RunnerJobStreamRequest - (*RunnerJobStreamResponse)(nil), // 98: hashicorp.waypoint.RunnerJobStreamResponse - (*RunnerGetDeploymentConfigRequest)(nil), // 99: hashicorp.waypoint.RunnerGetDeploymentConfigRequest - (*RunnerGetDeploymentConfigResponse)(nil), // 100: hashicorp.waypoint.RunnerGetDeploymentConfigResponse - (*GetRunnerRequest)(nil), // 101: hashicorp.waypoint.GetRunnerRequest - (*ListRunnersRequest)(nil), // 102: hashicorp.waypoint.ListRunnersRequest - (*ListRunnersResponse)(nil), // 103: hashicorp.waypoint.ListRunnersResponse - (*AdoptRunnerRequest)(nil), // 104: hashicorp.waypoint.AdoptRunnerRequest - (*ForgetRunnerRequest)(nil), // 105: hashicorp.waypoint.ForgetRunnerRequest - (*SetServerConfigRequest)(nil), // 106: hashicorp.waypoint.SetServerConfigRequest - (*GetServerConfigResponse)(nil), // 107: hashicorp.waypoint.GetServerConfigResponse - (*ServerConfig)(nil), // 108: hashicorp.waypoint.ServerConfig - (*CreateHostnameRequest)(nil), // 109: hashicorp.waypoint.CreateHostnameRequest - (*CreateHostnameResponse)(nil), // 110: hashicorp.waypoint.CreateHostnameResponse - (*ListHostnamesRequest)(nil), // 111: hashicorp.waypoint.ListHostnamesRequest - (*ListHostnamesResponse)(nil), // 112: hashicorp.waypoint.ListHostnamesResponse - (*DeleteHostnameRequest)(nil), // 113: hashicorp.waypoint.DeleteHostnameRequest - (*Hostname)(nil), // 114: hashicorp.waypoint.Hostname - (*ListWorkspacesRequest)(nil), // 115: hashicorp.waypoint.ListWorkspacesRequest - (*ListWorkspacesResponse)(nil), // 116: hashicorp.waypoint.ListWorkspacesResponse - (*GetWorkspaceRequest)(nil), // 117: hashicorp.waypoint.GetWorkspaceRequest - (*GetWorkspaceResponse)(nil), // 118: hashicorp.waypoint.GetWorkspaceResponse - (*UpsertWorkspaceRequest)(nil), // 119: hashicorp.waypoint.UpsertWorkspaceRequest - (*UpsertWorkspaceResponse)(nil), // 120: hashicorp.waypoint.UpsertWorkspaceResponse - (*UpsertProjectRequest)(nil), // 121: hashicorp.waypoint.UpsertProjectRequest - (*UpsertProjectResponse)(nil), // 122: hashicorp.waypoint.UpsertProjectResponse - (*GetProjectRequest)(nil), // 123: hashicorp.waypoint.GetProjectRequest - (*GetProjectResponse)(nil), // 124: hashicorp.waypoint.GetProjectResponse - (*ListProjectsRequest)(nil), // 125: hashicorp.waypoint.ListProjectsRequest - (*ListProjectsResponse)(nil), // 126: hashicorp.waypoint.ListProjectsResponse - (*DestroyProjectRequest)(nil), // 127: hashicorp.waypoint.DestroyProjectRequest - (*GetApplicationRequest)(nil), // 128: hashicorp.waypoint.GetApplicationRequest - (*GetApplicationResponse)(nil), // 129: hashicorp.waypoint.GetApplicationResponse - (*UpsertApplicationRequest)(nil), // 130: hashicorp.waypoint.UpsertApplicationRequest - (*UpsertApplicationResponse)(nil), // 131: hashicorp.waypoint.UpsertApplicationResponse - (*UpsertBuildRequest)(nil), // 132: hashicorp.waypoint.UpsertBuildRequest - (*UpsertBuildResponse)(nil), // 133: hashicorp.waypoint.UpsertBuildResponse - (*ListBuildsRequest)(nil), // 134: hashicorp.waypoint.ListBuildsRequest - (*ListBuildsResponse)(nil), // 135: hashicorp.waypoint.ListBuildsResponse - (*GetLatestBuildRequest)(nil), // 136: hashicorp.waypoint.GetLatestBuildRequest - (*GetBuildRequest)(nil), // 137: hashicorp.waypoint.GetBuildRequest - (*Build)(nil), // 138: hashicorp.waypoint.Build - (*Artifact)(nil), // 139: hashicorp.waypoint.Artifact - (*OnDemandRunnerConfig)(nil), // 140: hashicorp.waypoint.OnDemandRunnerConfig - (*UpsertOnDemandRunnerConfigRequest)(nil), // 141: hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest - (*UpsertOnDemandRunnerConfigResponse)(nil), // 142: hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse - (*GetOnDemandRunnerConfigRequest)(nil), // 143: hashicorp.waypoint.GetOnDemandRunnerConfigRequest - (*GetOnDemandRunnerConfigResponse)(nil), // 144: hashicorp.waypoint.GetOnDemandRunnerConfigResponse - (*DeleteOnDemandRunnerConfigRequest)(nil), // 145: hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest - (*DeleteOnDemandRunnerConfigResponse)(nil), // 146: hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse - (*ListOnDemandRunnerConfigsResponse)(nil), // 147: hashicorp.waypoint.ListOnDemandRunnerConfigsResponse - (*UpsertPushedArtifactRequest)(nil), // 148: hashicorp.waypoint.UpsertPushedArtifactRequest - (*UpsertPushedArtifactResponse)(nil), // 149: hashicorp.waypoint.UpsertPushedArtifactResponse - (*GetLatestPushedArtifactRequest)(nil), // 150: hashicorp.waypoint.GetLatestPushedArtifactRequest - (*GetPushedArtifactRequest)(nil), // 151: hashicorp.waypoint.GetPushedArtifactRequest - (*ListPushedArtifactsRequest)(nil), // 152: hashicorp.waypoint.ListPushedArtifactsRequest - (*ListPushedArtifactsResponse)(nil), // 153: hashicorp.waypoint.ListPushedArtifactsResponse - (*PushedArtifact)(nil), // 154: hashicorp.waypoint.PushedArtifact - (*GetLatestDeploymentRequest)(nil), // 155: hashicorp.waypoint.GetLatestDeploymentRequest - (*GetDeploymentResponse)(nil), // 156: hashicorp.waypoint.GetDeploymentResponse - (*GetDeploymentRequest)(nil), // 157: hashicorp.waypoint.GetDeploymentRequest - (*UpsertDeploymentRequest)(nil), // 158: hashicorp.waypoint.UpsertDeploymentRequest - (*UpsertDeploymentResponse)(nil), // 159: hashicorp.waypoint.UpsertDeploymentResponse - (*ListDeploymentsRequest)(nil), // 160: hashicorp.waypoint.ListDeploymentsRequest - (*ListDeploymentsResponse)(nil), // 161: hashicorp.waypoint.ListDeploymentsResponse - (*Deployment)(nil), // 162: hashicorp.waypoint.Deployment - (*DeploymentExpanded)(nil), // 163: hashicorp.waypoint.DeploymentExpanded - (*ListInstancesRequest)(nil), // 164: hashicorp.waypoint.ListInstancesRequest - (*ListInstancesResponse)(nil), // 165: hashicorp.waypoint.ListInstancesResponse - (*Instance)(nil), // 166: hashicorp.waypoint.Instance - (*UpsertReleaseRequest)(nil), // 167: hashicorp.waypoint.UpsertReleaseRequest - (*UpsertReleaseResponse)(nil), // 168: hashicorp.waypoint.UpsertReleaseResponse - (*GetLatestReleaseRequest)(nil), // 169: hashicorp.waypoint.GetLatestReleaseRequest - (*ListReleasesRequest)(nil), // 170: hashicorp.waypoint.ListReleasesRequest - (*ListReleasesResponse)(nil), // 171: hashicorp.waypoint.ListReleasesResponse - (*GetReleaseRequest)(nil), // 172: hashicorp.waypoint.GetReleaseRequest - (*Release)(nil), // 173: hashicorp.waypoint.Release - (*ReleaseExpanded)(nil), // 174: hashicorp.waypoint.ReleaseExpanded - (*Trigger)(nil), // 175: hashicorp.waypoint.Trigger - (*UpsertTriggerRequest)(nil), // 176: hashicorp.waypoint.UpsertTriggerRequest - (*UpsertTriggerResponse)(nil), // 177: hashicorp.waypoint.UpsertTriggerResponse - (*GetTriggerRequest)(nil), // 178: hashicorp.waypoint.GetTriggerRequest - (*GetTriggerResponse)(nil), // 179: hashicorp.waypoint.GetTriggerResponse - (*DeleteTriggerRequest)(nil), // 180: hashicorp.waypoint.DeleteTriggerRequest - (*RunTriggerRequest)(nil), // 181: hashicorp.waypoint.RunTriggerRequest - (*RunTriggerResponse)(nil), // 182: hashicorp.waypoint.RunTriggerResponse - (*ListTriggerRequest)(nil), // 183: hashicorp.waypoint.ListTriggerRequest - (*ListTriggerResponse)(nil), // 184: hashicorp.waypoint.ListTriggerResponse - (*UpsertStatusReportRequest)(nil), // 185: hashicorp.waypoint.UpsertStatusReportRequest - (*UpsertStatusReportResponse)(nil), // 186: hashicorp.waypoint.UpsertStatusReportResponse - (*GetLatestStatusReportRequest)(nil), // 187: hashicorp.waypoint.GetLatestStatusReportRequest - (*ListStatusReportsRequest)(nil), // 188: hashicorp.waypoint.ListStatusReportsRequest - (*ListStatusReportsResponse)(nil), // 189: hashicorp.waypoint.ListStatusReportsResponse - (*GetStatusReportRequest)(nil), // 190: hashicorp.waypoint.GetStatusReportRequest - (*ExpediteStatusReportRequest)(nil), // 191: hashicorp.waypoint.ExpediteStatusReportRequest - (*ExpediteStatusReportResponse)(nil), // 192: hashicorp.waypoint.ExpediteStatusReportResponse - (*StatusReport)(nil), // 193: hashicorp.waypoint.StatusReport - (*GetLogStreamRequest)(nil), // 194: hashicorp.waypoint.GetLogStreamRequest - (*LogBatch)(nil), // 195: hashicorp.waypoint.LogBatch - (*ConfigVar)(nil), // 196: hashicorp.waypoint.ConfigVar - (*ConfigSetRequest)(nil), // 197: hashicorp.waypoint.ConfigSetRequest - (*ConfigSetResponse)(nil), // 198: hashicorp.waypoint.ConfigSetResponse - (*ConfigDeleteRequest)(nil), // 199: hashicorp.waypoint.ConfigDeleteRequest - (*ConfigDeleteResponse)(nil), // 200: hashicorp.waypoint.ConfigDeleteResponse - (*ConfigGetRequest)(nil), // 201: hashicorp.waypoint.ConfigGetRequest - (*ConfigGetResponse)(nil), // 202: hashicorp.waypoint.ConfigGetResponse - (*ConfigSource)(nil), // 203: hashicorp.waypoint.ConfigSource - (*SetConfigSourceRequest)(nil), // 204: hashicorp.waypoint.SetConfigSourceRequest - (*DeleteConfigSourceRequest)(nil), // 205: hashicorp.waypoint.DeleteConfigSourceRequest - (*GetConfigSourceRequest)(nil), // 206: hashicorp.waypoint.GetConfigSourceRequest - (*GetConfigSourceResponse)(nil), // 207: hashicorp.waypoint.GetConfigSourceResponse - (*ExecStreamRequest)(nil), // 208: hashicorp.waypoint.ExecStreamRequest - (*ExecStreamResponse)(nil), // 209: hashicorp.waypoint.ExecStreamResponse - (*EntrypointConfigRequest)(nil), // 210: hashicorp.waypoint.EntrypointConfigRequest - (*EntrypointConfigResponse)(nil), // 211: hashicorp.waypoint.EntrypointConfigResponse - (*EntrypointConfig)(nil), // 212: hashicorp.waypoint.EntrypointConfig - (*EntrypointLogBatch)(nil), // 213: hashicorp.waypoint.EntrypointLogBatch - (*EntrypointExecRequest)(nil), // 214: hashicorp.waypoint.EntrypointExecRequest - (*EntrypointExecResponse)(nil), // 215: hashicorp.waypoint.EntrypointExecResponse - (*Pipeline)(nil), // 216: hashicorp.waypoint.Pipeline - (*PipelineRun)(nil), // 217: hashicorp.waypoint.PipelineRun - (*UpsertPipelineRequest)(nil), // 218: hashicorp.waypoint.UpsertPipelineRequest - (*UpsertPipelineResponse)(nil), // 219: hashicorp.waypoint.UpsertPipelineResponse - (*GetPipelineRequest)(nil), // 220: hashicorp.waypoint.GetPipelineRequest - (*GetPipelineResponse)(nil), // 221: hashicorp.waypoint.GetPipelineResponse - (*RunPipelineRequest)(nil), // 222: hashicorp.waypoint.RunPipelineRequest - (*RunPipelineResponse)(nil), // 223: hashicorp.waypoint.RunPipelineResponse - (*ListPipelinesRequest)(nil), // 224: hashicorp.waypoint.ListPipelinesRequest - (*ListPipelinesResponse)(nil), // 225: hashicorp.waypoint.ListPipelinesResponse - (*ListPipelineRunsRequest)(nil), // 226: hashicorp.waypoint.ListPipelineRunsRequest - (*ListPipelineRunsResponse)(nil), // 227: hashicorp.waypoint.ListPipelineRunsResponse - (*GetPipelineRunRequest)(nil), // 228: hashicorp.waypoint.GetPipelineRunRequest - (*GetPipelineRunResponse)(nil), // 229: hashicorp.waypoint.GetPipelineRunResponse - (*ConfigSyncPipelineRequest)(nil), // 230: hashicorp.waypoint.ConfigSyncPipelineRequest - (*ConfigSyncPipelineResponse)(nil), // 231: hashicorp.waypoint.ConfigSyncPipelineResponse - (*GetProjectTemplateRequest)(nil), // 232: hashicorp.waypoint.GetProjectTemplateRequest - (*GetProjectTemplateResponse)(nil), // 233: hashicorp.waypoint.GetProjectTemplateResponse - (*ListProjectTemplatesRequest)(nil), // 234: hashicorp.waypoint.ListProjectTemplatesRequest - (*ListProjectTemplatesResponse)(nil), // 235: hashicorp.waypoint.ListProjectTemplatesResponse - (*CreateProjectTemplateRequest)(nil), // 236: hashicorp.waypoint.CreateProjectTemplateRequest - (*CreateProjectTemplateResponse)(nil), // 237: hashicorp.waypoint.CreateProjectTemplateResponse - (*UpdateProjectTemplateRequest)(nil), // 238: hashicorp.waypoint.UpdateProjectTemplateRequest - (*UpdateProjectTemplateResponse)(nil), // 239: hashicorp.waypoint.UpdateProjectTemplateResponse - (*DeleteProjectTemplateRequest)(nil), // 240: hashicorp.waypoint.DeleteProjectTemplateRequest - (*DeleteProjectTemplateResponse)(nil), // 241: hashicorp.waypoint.DeleteProjectTemplateResponse - (*ProjectTemplate)(nil), // 242: hashicorp.waypoint.ProjectTemplate - (*TerraformNocodeModule)(nil), // 243: hashicorp.waypoint.TerraformNocodeModule - (*GetAddOnDefinitionRequest)(nil), // 244: hashicorp.waypoint.GetAddOnDefinitionRequest - (*GetAddOnDefinitionResponse)(nil), // 245: hashicorp.waypoint.GetAddOnDefinitionResponse - (*ListAddOnDefinitionsRequest)(nil), // 246: hashicorp.waypoint.ListAddOnDefinitionsRequest - (*ListAddOnDefinitionsResponse)(nil), // 247: hashicorp.waypoint.ListAddOnDefinitionsResponse - (*CreateAddOnDefinitionRequest)(nil), // 248: hashicorp.waypoint.CreateAddOnDefinitionRequest - (*CreateAddOnDefinitionResponse)(nil), // 249: hashicorp.waypoint.CreateAddOnDefinitionResponse - (*UpdateAddOnDefinitionRequest)(nil), // 250: hashicorp.waypoint.UpdateAddOnDefinitionRequest - (*UpdateAddOnDefinitionResponse)(nil), // 251: hashicorp.waypoint.UpdateAddOnDefinitionResponse - (*DeleteAddOnDefinitionRequest)(nil), // 252: hashicorp.waypoint.DeleteAddOnDefinitionRequest - (*CreateAddOnRequest)(nil), // 253: hashicorp.waypoint.CreateAddOnRequest - (*CreateAddOnResponse)(nil), // 254: hashicorp.waypoint.CreateAddOnResponse - (*DestroyAddOnRequest)(nil), // 255: hashicorp.waypoint.DestroyAddOnRequest - (*GetAddOnRequest)(nil), // 256: hashicorp.waypoint.GetAddOnRequest - (*GetAddOnResponse)(nil), // 257: hashicorp.waypoint.GetAddOnResponse - (*UpdateAddOnRequest)(nil), // 258: hashicorp.waypoint.UpdateAddOnRequest - (*UpdateAddOnResponse)(nil), // 259: hashicorp.waypoint.UpdateAddOnResponse - (*ListAddOnsRequest)(nil), // 260: hashicorp.waypoint.ListAddOnsRequest - (*ListAddOnsResponse)(nil), // 261: hashicorp.waypoint.ListAddOnsResponse - (*GetTFRunStatusRequest)(nil), // 262: hashicorp.waypoint.GetTFRunStatusRequest - (*GetTFRunStatusResponse)(nil), // 263: hashicorp.waypoint.GetTFRunStatusResponse - (*AddOn)(nil), // 264: hashicorp.waypoint.AddOn - (*AddOnDefinition)(nil), // 265: hashicorp.waypoint.AddOnDefinition - (*GetTFCRunStatusRequest)(nil), // 266: hashicorp.waypoint.GetTFCRunStatusRequest - (*GetTFCRunStatusResponse)(nil), // 267: hashicorp.waypoint.GetTFCRunStatusResponse - (*CreateProjectFromTemplateRequest)(nil), // 268: hashicorp.waypoint.CreateProjectFromTemplateRequest - (*CreateProjectFromTemplateResponse)(nil), // 269: hashicorp.waypoint.CreateProjectFromTemplateResponse - (*TokenTransport)(nil), // 270: hashicorp.waypoint.TokenTransport - (*Token)(nil), // 271: hashicorp.waypoint.Token - (*HMACKey)(nil), // 272: hashicorp.waypoint.HMACKey - (*DecodeTokenRequest)(nil), // 273: hashicorp.waypoint.DecodeTokenRequest - (*DecodeTokenResponse)(nil), // 274: hashicorp.waypoint.DecodeTokenResponse - (*LoginTokenRequest)(nil), // 275: hashicorp.waypoint.LoginTokenRequest - (*GenerateRunnerTokenRequest)(nil), // 276: hashicorp.waypoint.GenerateRunnerTokenRequest - (*InviteTokenRequest)(nil), // 277: hashicorp.waypoint.InviteTokenRequest - (*NewTokenResponse)(nil), // 278: hashicorp.waypoint.NewTokenResponse - (*ConvertInviteTokenRequest)(nil), // 279: hashicorp.waypoint.ConvertInviteTokenRequest - (*CreateSnapshotResponse)(nil), // 280: hashicorp.waypoint.CreateSnapshotResponse - (*RestoreSnapshotRequest)(nil), // 281: hashicorp.waypoint.RestoreSnapshotRequest - (*Snapshot)(nil), // 282: hashicorp.waypoint.Snapshot - (*Hcl)(nil), // 283: hashicorp.waypoint.Hcl - (*WaypointHclFmtRequest)(nil), // 284: hashicorp.waypoint.WaypointHclFmtRequest - (*WaypointHclFmtResponse)(nil), // 285: hashicorp.waypoint.WaypointHclFmtResponse - (*InlineKeepalive)(nil), // 286: hashicorp.waypoint.InlineKeepalive - (*PaginationRequest)(nil), // 287: hashicorp.waypoint.PaginationRequest - (*PaginationResponse)(nil), // 288: hashicorp.waypoint.PaginationResponse - (*SortingRequest)(nil), // 289: hashicorp.waypoint.SortingRequest - (*UI_ListProjectsRequest)(nil), // 290: hashicorp.waypoint.UI.ListProjectsRequest - (*UI_ListProjectsResponse)(nil), // 291: hashicorp.waypoint.UI.ListProjectsResponse - (*UI_ProjectBundle)(nil), // 292: hashicorp.waypoint.UI.ProjectBundle - (*UI_GetProjectRequest)(nil), // 293: hashicorp.waypoint.UI.GetProjectRequest - (*UI_GetProjectResponse)(nil), // 294: hashicorp.waypoint.UI.GetProjectResponse - (*UI_ListPipelinesRequest)(nil), // 295: hashicorp.waypoint.UI.ListPipelinesRequest - (*UI_ListPipelinesResponse)(nil), // 296: hashicorp.waypoint.UI.ListPipelinesResponse - (*UI_ListPipelineRunsRequest)(nil), // 297: hashicorp.waypoint.UI.ListPipelineRunsRequest - (*UI_ListPipelineRunsResponse)(nil), // 298: hashicorp.waypoint.UI.ListPipelineRunsResponse - (*UI_GetPipelineRunRequest)(nil), // 299: hashicorp.waypoint.UI.GetPipelineRunRequest - (*UI_GetPipelineRunResponse)(nil), // 300: hashicorp.waypoint.UI.GetPipelineRunResponse - (*UI_PipelineBundle)(nil), // 301: hashicorp.waypoint.UI.PipelineBundle - (*UI_PipelineRunBundle)(nil), // 302: hashicorp.waypoint.UI.PipelineRunBundle - (*UI_PipelineRunTreeNode)(nil), // 303: hashicorp.waypoint.UI.PipelineRunTreeNode - (*UI_ListDeploymentsRequest)(nil), // 304: hashicorp.waypoint.UI.ListDeploymentsRequest - (*UI_ListDeploymentsResponse)(nil), // 305: hashicorp.waypoint.UI.ListDeploymentsResponse - (*UI_GetDeploymentRequest)(nil), // 306: hashicorp.waypoint.UI.GetDeploymentRequest - (*UI_GetDeploymentResponse)(nil), // 307: hashicorp.waypoint.UI.GetDeploymentResponse - (*UI_DeploymentBundle)(nil), // 308: hashicorp.waypoint.UI.DeploymentBundle - (*UI_ListReleasesRequest)(nil), // 309: hashicorp.waypoint.UI.ListReleasesRequest - (*UI_ListReleasesResponse)(nil), // 310: hashicorp.waypoint.UI.ListReleasesResponse - (*UI_ReleaseBundle)(nil), // 311: hashicorp.waypoint.UI.ReleaseBundle - (*UI_ListEventsRequest)(nil), // 312: hashicorp.waypoint.UI.ListEventsRequest - (*UI_ListEventsResponse)(nil), // 313: hashicorp.waypoint.UI.ListEventsResponse - (*UI_EventBundle)(nil), // 314: hashicorp.waypoint.UI.EventBundle - (*UI_EventBuild)(nil), // 315: hashicorp.waypoint.UI.EventBuild - (*UI_EventDeployment)(nil), // 316: hashicorp.waypoint.UI.EventDeployment - (*UI_EventRelease)(nil), // 317: hashicorp.waypoint.UI.EventRelease - (*UI_EventAddOn)(nil), // 318: hashicorp.waypoint.UI.EventAddOn - (*UI_ListEventSchemasResponse)(nil), // 319: hashicorp.waypoint.UI.ListEventSchemasResponse - (*UI_PipelineRunTreeNode_Children)(nil), // 320: hashicorp.waypoint.UI.PipelineRunTreeNode.Children - (*VersionInfo_ProtocolVersion)(nil), // 321: hashicorp.waypoint.VersionInfo.ProtocolVersion - (*Variable_File)(nil), // 322: hashicorp.waypoint.Variable.File - (*Variable_VCS)(nil), // 323: hashicorp.waypoint.Variable.VCS - (*Variable_HclPos)(nil), // 324: hashicorp.waypoint.Variable.HclPos - (*Variable_HclRange)(nil), // 325: hashicorp.waypoint.Variable.HclRange - (*Variable_FinalValue)(nil), // 326: hashicorp.waypoint.Variable.FinalValue - (*Project_Poll)(nil), // 327: hashicorp.waypoint.Project.Poll - (*Project_AppStatusPoll)(nil), // 328: hashicorp.waypoint.Project.AppStatusPoll - (*Workspace_Project)(nil), // 329: hashicorp.waypoint.Workspace.Project - (*Workspace_Application)(nil), // 330: hashicorp.waypoint.Workspace.Application - (*User_Link)(nil), // 331: hashicorp.waypoint.User.Link - (*User_Link_OIDC)(nil), // 332: hashicorp.waypoint.User.Link.OIDC - (*Ref_Global)(nil), // 333: hashicorp.waypoint.Ref.Global - (*Ref_Application)(nil), // 334: hashicorp.waypoint.Ref.Application - (*Ref_Project)(nil), // 335: hashicorp.waypoint.Ref.Project - (*Ref_Workspace)(nil), // 336: hashicorp.waypoint.Ref.Workspace - (*Ref_Deployment)(nil), // 337: hashicorp.waypoint.Ref.Deployment - (*Ref_Artifact)(nil), // 338: hashicorp.waypoint.Ref.Artifact - (*Ref_Component)(nil), // 339: hashicorp.waypoint.Ref.Component - (*Ref_Operation)(nil), // 340: hashicorp.waypoint.Ref.Operation - (*Ref_OperationSeq)(nil), // 341: hashicorp.waypoint.Ref.OperationSeq - (*Ref_Runner)(nil), // 342: hashicorp.waypoint.Ref.Runner - (*Ref_RunnerAny)(nil), // 343: hashicorp.waypoint.Ref.RunnerAny - (*Ref_RunnerId)(nil), // 344: hashicorp.waypoint.Ref.RunnerId - (*Ref_RunnerLabels)(nil), // 345: hashicorp.waypoint.Ref.RunnerLabels - (*Ref_User)(nil), // 346: hashicorp.waypoint.Ref.User - (*Ref_UserId)(nil), // 347: hashicorp.waypoint.Ref.UserId - (*Ref_UserUsername)(nil), // 348: hashicorp.waypoint.Ref.UserUsername - (*Ref_AuthMethod)(nil), // 349: hashicorp.waypoint.Ref.AuthMethod - (*Ref_DeclaredResource)(nil), // 350: hashicorp.waypoint.Ref.DeclaredResource - (*Ref_OnDemandRunnerConfig)(nil), // 351: hashicorp.waypoint.Ref.OnDemandRunnerConfig - (*Ref_Trigger)(nil), // 352: hashicorp.waypoint.Ref.Trigger - (*Ref_Job)(nil), // 353: hashicorp.waypoint.Ref.Job - (*Ref_Task)(nil), // 354: hashicorp.waypoint.Ref.Task - (*Ref_Pipeline)(nil), // 355: hashicorp.waypoint.Ref.Pipeline - (*Ref_PipelineOwner)(nil), // 356: hashicorp.waypoint.Ref.PipelineOwner - (*Ref_PipelineStep)(nil), // 357: hashicorp.waypoint.Ref.PipelineStep - (*Ref_ProjectTemplate)(nil), // 358: hashicorp.waypoint.Ref.ProjectTemplate - (*Ref_AddOnDefinition)(nil), // 359: hashicorp.waypoint.Ref.AddOnDefinition - (*Ref_AddOn)(nil), // 360: hashicorp.waypoint.Ref.AddOn - nil, // 361: hashicorp.waypoint.Ref.RunnerLabels.LabelsEntry - (*StatusFilter_Filter)(nil), // 362: hashicorp.waypoint.StatusFilter.Filter - nil, // 363: hashicorp.waypoint.TaskLaunchInfo.EnvironmentVariablesEntry - (*AuthMethod_OIDC)(nil), // 364: hashicorp.waypoint.AuthMethod.OIDC - nil, // 365: hashicorp.waypoint.AuthMethod.OIDC.ClaimMappingsEntry - nil, // 366: hashicorp.waypoint.AuthMethod.OIDC.ListClaimMappingsEntry - (*Job_TaskOverride)(nil), // 367: hashicorp.waypoint.Job.TaskOverride - nil, // 368: hashicorp.waypoint.Job.LabelsEntry - nil, // 369: hashicorp.waypoint.Job.DataSourceOverridesEntry - nil, // 370: hashicorp.waypoint.Job.VariableFinalValuesEntry - (*Job_Result)(nil), // 371: hashicorp.waypoint.Job.Result - (*Job_Config)(nil), // 372: hashicorp.waypoint.Job.Config - (*Job_DataSource)(nil), // 373: hashicorp.waypoint.Job.DataSource - (*Job_Local)(nil), // 374: hashicorp.waypoint.Job.Local - (*Job_Remote)(nil), // 375: hashicorp.waypoint.Job.Remote - (*Job_Git)(nil), // 376: hashicorp.waypoint.Job.Git - (*Job_Noop)(nil), // 377: hashicorp.waypoint.Job.Noop - (*Job_UpOp)(nil), // 378: hashicorp.waypoint.Job.UpOp - (*Job_UpResult)(nil), // 379: hashicorp.waypoint.Job.UpResult - (*Job_ValidateOp)(nil), // 380: hashicorp.waypoint.Job.ValidateOp - (*Job_ValidateResult)(nil), // 381: hashicorp.waypoint.Job.ValidateResult - (*Job_AuthOp)(nil), // 382: hashicorp.waypoint.Job.AuthOp - (*Job_AuthResult)(nil), // 383: hashicorp.waypoint.Job.AuthResult - (*Job_BuildOp)(nil), // 384: hashicorp.waypoint.Job.BuildOp - (*Job_BuildResult)(nil), // 385: hashicorp.waypoint.Job.BuildResult - (*Job_PushOp)(nil), // 386: hashicorp.waypoint.Job.PushOp - (*Job_PushResult)(nil), // 387: hashicorp.waypoint.Job.PushResult - (*Job_DeployOp)(nil), // 388: hashicorp.waypoint.Job.DeployOp - (*Job_DeployResult)(nil), // 389: hashicorp.waypoint.Job.DeployResult - (*Job_ExecOp)(nil), // 390: hashicorp.waypoint.Job.ExecOp - (*Job_ExecResult)(nil), // 391: hashicorp.waypoint.Job.ExecResult - (*Job_LogsOp)(nil), // 392: hashicorp.waypoint.Job.LogsOp - (*Job_DestroyOp)(nil), // 393: hashicorp.waypoint.Job.DestroyOp - (*Job_ReleaseOp)(nil), // 394: hashicorp.waypoint.Job.ReleaseOp - (*Job_ReleaseResult)(nil), // 395: hashicorp.waypoint.Job.ReleaseResult - (*Job_TaskPluginParams)(nil), // 396: hashicorp.waypoint.Job.TaskPluginParams - (*Job_StartTaskLaunchOp)(nil), // 397: hashicorp.waypoint.Job.StartTaskLaunchOp - (*Job_StartTaskResult)(nil), // 398: hashicorp.waypoint.Job.StartTaskResult - (*Job_StopTaskLaunchOp)(nil), // 399: hashicorp.waypoint.Job.StopTaskLaunchOp - (*Job_WatchTaskOp)(nil), // 400: hashicorp.waypoint.Job.WatchTaskOp - (*Job_WatchTaskResult)(nil), // 401: hashicorp.waypoint.Job.WatchTaskResult - (*Job_StatusReportOp)(nil), // 402: hashicorp.waypoint.Job.StatusReportOp - (*Job_StatusReportResult)(nil), // 403: hashicorp.waypoint.Job.StatusReportResult - (*Job_DocsOp)(nil), // 404: hashicorp.waypoint.Job.DocsOp - (*Job_DocsResult)(nil), // 405: hashicorp.waypoint.Job.DocsResult - (*Job_ConfigSyncOp)(nil), // 406: hashicorp.waypoint.Job.ConfigSyncOp - (*Job_ConfigSyncResult)(nil), // 407: hashicorp.waypoint.Job.ConfigSyncResult - (*Job_PipelineConfigSyncResult)(nil), // 408: hashicorp.waypoint.Job.PipelineConfigSyncResult - (*Job_ProjectDestroyResult)(nil), // 409: hashicorp.waypoint.Job.ProjectDestroyResult - (*Job_PollOp)(nil), // 410: hashicorp.waypoint.Job.PollOp - (*Job_PollResult)(nil), // 411: hashicorp.waypoint.Job.PollResult - (*Job_InitOp)(nil), // 412: hashicorp.waypoint.Job.InitOp - (*Job_InitResult)(nil), // 413: hashicorp.waypoint.Job.InitResult - (*Job_PipelineStepOp)(nil), // 414: hashicorp.waypoint.Job.PipelineStepOp - (*Job_DestroyProjectOp)(nil), // 415: hashicorp.waypoint.Job.DestroyProjectOp - (*Job_PipelineStepResult)(nil), // 416: hashicorp.waypoint.Job.PipelineStepResult - (*Job_QueueProjectOp)(nil), // 417: hashicorp.waypoint.Job.QueueProjectOp - (*Job_QueueProjectResult)(nil), // 418: hashicorp.waypoint.Job.QueueProjectResult - (*Job_DataSource_Ref)(nil), // 419: hashicorp.waypoint.Job.DataSource.Ref - (*Job_Git_Basic)(nil), // 420: hashicorp.waypoint.Job.Git.Basic - (*Job_Git_SSH)(nil), // 421: hashicorp.waypoint.Job.Git.SSH - (*Job_Git_Ref)(nil), // 422: hashicorp.waypoint.Job.Git.Ref - (*Job_AuthResult_Result)(nil), // 423: hashicorp.waypoint.Job.AuthResult.Result - (*Job_DocsResult_Result)(nil), // 424: hashicorp.waypoint.Job.DocsResult.Result - nil, // 425: hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry - (*Job_QueueProjectResult_Application)(nil), // 426: hashicorp.waypoint.Job.QueueProjectResult.Application - nil, // 427: hashicorp.waypoint.Documentation.FieldsEntry - (*Documentation_Field)(nil), // 428: hashicorp.waypoint.Documentation.Field - (*Documentation_Mapper)(nil), // 429: hashicorp.waypoint.Documentation.Mapper - (*GetJobStreamResponse_Open)(nil), // 430: hashicorp.waypoint.GetJobStreamResponse.Open - (*GetJobStreamResponse_State)(nil), // 431: hashicorp.waypoint.GetJobStreamResponse.State - (*GetJobStreamResponse_JobChange)(nil), // 432: hashicorp.waypoint.GetJobStreamResponse.JobChange - (*GetJobStreamResponse_Download)(nil), // 433: hashicorp.waypoint.GetJobStreamResponse.Download - (*GetJobStreamResponse_Terminal)(nil), // 434: hashicorp.waypoint.GetJobStreamResponse.Terminal - (*GetJobStreamResponse_Error)(nil), // 435: hashicorp.waypoint.GetJobStreamResponse.Error - (*GetJobStreamResponse_Complete)(nil), // 436: hashicorp.waypoint.GetJobStreamResponse.Complete - (*GetJobStreamResponse_Terminal_Event)(nil), // 437: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event - (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 438: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Status - (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 439: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Line - (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 440: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Raw - (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 441: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValue - (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 442: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues - (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 443: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableEntry - (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 444: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow - (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 445: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table - (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 446: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.StepGroup - (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 447: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Step - nil, // 448: hashicorp.waypoint.Runner.LabelsEntry - (*Runner_ODR)(nil), // 449: hashicorp.waypoint.Runner.ODR - (*Runner_Local)(nil), // 450: hashicorp.waypoint.Runner.Local - (*Runner_Remote)(nil), // 451: hashicorp.waypoint.Runner.Remote - (*RunnerConfigRequest_Open)(nil), // 452: hashicorp.waypoint.RunnerConfigRequest.Open - (*RunnerJobStreamRequest_Request)(nil), // 453: hashicorp.waypoint.RunnerJobStreamRequest.Request - (*RunnerJobStreamRequest_Ack)(nil), // 454: hashicorp.waypoint.RunnerJobStreamRequest.Ack - (*RunnerJobStreamRequest_Complete)(nil), // 455: hashicorp.waypoint.RunnerJobStreamRequest.Complete - (*RunnerJobStreamRequest_Error)(nil), // 456: hashicorp.waypoint.RunnerJobStreamRequest.Error - (*RunnerJobStreamRequest_Heartbeat)(nil), // 457: hashicorp.waypoint.RunnerJobStreamRequest.Heartbeat - (*RunnerJobStreamRequest_ConfigLoad)(nil), // 458: hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad - (*RunnerJobStreamRequest_VariableValuesSet)(nil), // 459: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet - nil, // 460: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry - (*RunnerJobStreamResponse_JobAssignment)(nil), // 461: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment - (*RunnerJobStreamResponse_JobCancel)(nil), // 462: hashicorp.waypoint.RunnerJobStreamResponse.JobCancel - (*ServerConfig_AdvertiseAddr)(nil), // 463: hashicorp.waypoint.ServerConfig.AdvertiseAddr - nil, // 464: hashicorp.waypoint.Hostname.TargetLabelsEntry - (*Hostname_Target)(nil), // 465: hashicorp.waypoint.Hostname.Target - (*Hostname_TargetApp)(nil), // 466: hashicorp.waypoint.Hostname.TargetApp - nil, // 467: hashicorp.waypoint.Build.LabelsEntry - (*Build_Preload)(nil), // 468: hashicorp.waypoint.Build.Preload - nil, // 469: hashicorp.waypoint.OnDemandRunnerConfig.EnvironmentVariablesEntry - nil, // 470: hashicorp.waypoint.PushedArtifact.LabelsEntry - (*PushedArtifact_Preload)(nil), // 471: hashicorp.waypoint.PushedArtifact.Preload - nil, // 472: hashicorp.waypoint.Deployment.LabelsEntry - (*Deployment_Preload)(nil), // 473: hashicorp.waypoint.Deployment.Preload - (*ListInstancesRequest_Application)(nil), // 474: hashicorp.waypoint.ListInstancesRequest.Application - nil, // 475: hashicorp.waypoint.Release.LabelsEntry - (*Release_Preload)(nil), // 476: hashicorp.waypoint.Release.Preload - (*StatusReport_Resource)(nil), // 477: hashicorp.waypoint.StatusReport.Resource - (*StatusReport_Health)(nil), // 478: hashicorp.waypoint.StatusReport.Health - (*GetLogStreamRequest_Application)(nil), // 479: hashicorp.waypoint.GetLogStreamRequest.Application - (*LogBatch_Entry)(nil), // 480: hashicorp.waypoint.LogBatch.Entry - (*ConfigVar_DynamicVal)(nil), // 481: hashicorp.waypoint.ConfigVar.DynamicVal - (*ConfigVar_Target)(nil), // 482: hashicorp.waypoint.ConfigVar.Target - nil, // 483: hashicorp.waypoint.ConfigVar.DynamicVal.ConfigEntry - nil, // 484: hashicorp.waypoint.ConfigGetRequest.LabelsEntry - nil, // 485: hashicorp.waypoint.ConfigSource.ConfigEntry - (*ExecStreamRequest_Start)(nil), // 486: hashicorp.waypoint.ExecStreamRequest.Start - (*ExecStreamRequest_Input)(nil), // 487: hashicorp.waypoint.ExecStreamRequest.Input - (*ExecStreamRequest_PTY)(nil), // 488: hashicorp.waypoint.ExecStreamRequest.PTY - (*ExecStreamRequest_WindowSize)(nil), // 489: hashicorp.waypoint.ExecStreamRequest.WindowSize - (*ExecStreamResponse_Open)(nil), // 490: hashicorp.waypoint.ExecStreamResponse.Open - (*ExecStreamResponse_Exit)(nil), // 491: hashicorp.waypoint.ExecStreamResponse.Exit - (*ExecStreamResponse_Output)(nil), // 492: hashicorp.waypoint.ExecStreamResponse.Output - (*EntrypointConfig_Exec)(nil), // 493: hashicorp.waypoint.EntrypointConfig.Exec - (*EntrypointConfig_URLService)(nil), // 494: hashicorp.waypoint.EntrypointConfig.URLService - (*EntrypointConfig_DeploymentInfo)(nil), // 495: hashicorp.waypoint.EntrypointConfig.DeploymentInfo - nil, // 496: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.LabelsEntry - (*EntrypointExecRequest_Open)(nil), // 497: hashicorp.waypoint.EntrypointExecRequest.Open - (*EntrypointExecRequest_Exit)(nil), // 498: hashicorp.waypoint.EntrypointExecRequest.Exit - (*EntrypointExecRequest_Output)(nil), // 499: hashicorp.waypoint.EntrypointExecRequest.Output - (*EntrypointExecRequest_Error)(nil), // 500: hashicorp.waypoint.EntrypointExecRequest.Error - nil, // 501: hashicorp.waypoint.Pipeline.StepsEntry - (*Pipeline_Step)(nil), // 502: hashicorp.waypoint.Pipeline.Step - (*Pipeline_Step_Exec)(nil), // 503: hashicorp.waypoint.Pipeline.Step.Exec - (*Pipeline_Step_Build)(nil), // 504: hashicorp.waypoint.Pipeline.Step.Build - (*Pipeline_Step_Deploy)(nil), // 505: hashicorp.waypoint.Pipeline.Step.Deploy - (*Pipeline_Step_Release)(nil), // 506: hashicorp.waypoint.Pipeline.Step.Release - (*Pipeline_Step_Up)(nil), // 507: hashicorp.waypoint.Pipeline.Step.Up - (*Pipeline_Step_Pipeline)(nil), // 508: hashicorp.waypoint.Pipeline.Step.Pipeline - (*GetPipelineResponse_Graph)(nil), // 509: hashicorp.waypoint.GetPipelineResponse.Graph - nil, // 510: hashicorp.waypoint.RunPipelineResponse.JobMapEntry - nil, // 511: hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry - (*ProjectTemplate_WaypointProject)(nil), // 512: hashicorp.waypoint.ProjectTemplate.WaypointProject - (*ProjectTemplate_TerraformNocodeModule)(nil), // 513: hashicorp.waypoint.ProjectTemplate.TerraformNocodeModule - nil, // 514: hashicorp.waypoint.TokenTransport.MetadataEntry - (*TokenTransport_OAuthCredentials)(nil), // 515: hashicorp.waypoint.TokenTransport.OAuthCredentials - (*Token_Login)(nil), // 516: hashicorp.waypoint.Token.Login - (*Token_Runner)(nil), // 517: hashicorp.waypoint.Token.Runner - (*Token_Invite)(nil), // 518: hashicorp.waypoint.Token.Invite - (*Token_Entrypoint)(nil), // 519: hashicorp.waypoint.Token.Entrypoint - (*Token_Trigger)(nil), // 520: hashicorp.waypoint.Token.Trigger - (*Token_Invite_Signup)(nil), // 521: hashicorp.waypoint.Token.Invite.Signup - nil, // 522: hashicorp.waypoint.GenerateRunnerTokenRequest.LabelsEntry - (*CreateSnapshotResponse_Open)(nil), // 523: hashicorp.waypoint.CreateSnapshotResponse.Open - (*RestoreSnapshotRequest_Open)(nil), // 524: hashicorp.waypoint.RestoreSnapshotRequest.Open - (*Snapshot_Header)(nil), // 525: hashicorp.waypoint.Snapshot.Header - (*Snapshot_Trailer)(nil), // 526: hashicorp.waypoint.Snapshot.Trailer - (*Snapshot_BoltChunk)(nil), // 527: hashicorp.waypoint.Snapshot.BoltChunk - nil, // 528: hashicorp.waypoint.Snapshot.BoltChunk.ItemsEntry - (*emptypb.Empty)(nil), // 529: google.protobuf.Empty - (*timestamppb.Timestamp)(nil), // 530: google.protobuf.Timestamp - (*status.Status)(nil), // 531: google.rpc.Status - (*opaqueany.Any)(nil), // 532: opaqueany.Any -} -var file_pkg_server_proto_server_proto_depIdxs = []int32{ - 34, // 0: hashicorp.waypoint.GetVersionInfoResponse.info:type_name -> hashicorp.waypoint.VersionInfo - 33, // 1: hashicorp.waypoint.GetVersionInfoResponse.server_features:type_name -> hashicorp.waypoint.ServerFeatures - 5, // 2: hashicorp.waypoint.ServerFeatures.features:type_name -> hashicorp.waypoint.ServerFeatures.feature - 321, // 3: hashicorp.waypoint.VersionInfo.api:type_name -> hashicorp.waypoint.VersionInfo.ProtocolVersion - 321, // 4: hashicorp.waypoint.VersionInfo.entrypoint:type_name -> hashicorp.waypoint.VersionInfo.ProtocolVersion - 335, // 5: hashicorp.waypoint.Application.project:type_name -> hashicorp.waypoint.Ref.Project - 529, // 6: hashicorp.waypoint.Variable.cli:type_name -> google.protobuf.Empty - 322, // 7: hashicorp.waypoint.Variable.file:type_name -> hashicorp.waypoint.Variable.File - 529, // 8: hashicorp.waypoint.Variable.env:type_name -> google.protobuf.Empty - 323, // 9: hashicorp.waypoint.Variable.vcs:type_name -> hashicorp.waypoint.Variable.VCS - 529, // 10: hashicorp.waypoint.Variable.server:type_name -> google.protobuf.Empty - 529, // 11: hashicorp.waypoint.Variable.dynamic:type_name -> google.protobuf.Empty - 326, // 12: hashicorp.waypoint.Variable.final_value:type_name -> hashicorp.waypoint.Variable.FinalValue - 35, // 13: hashicorp.waypoint.Project.applications:type_name -> hashicorp.waypoint.Application - 373, // 14: hashicorp.waypoint.Project.data_source:type_name -> hashicorp.waypoint.Job.DataSource - 327, // 15: hashicorp.waypoint.Project.data_source_poll:type_name -> hashicorp.waypoint.Project.Poll - 30, // 16: hashicorp.waypoint.Project.waypoint_hcl_format:type_name -> hashicorp.waypoint.Hcl.Format - 36, // 17: hashicorp.waypoint.Project.variables:type_name -> hashicorp.waypoint.Variable - 328, // 18: hashicorp.waypoint.Project.status_report_poll:type_name -> hashicorp.waypoint.Project.AppStatusPoll - 7, // 19: hashicorp.waypoint.Project.state:type_name -> hashicorp.waypoint.Project.ProjectState - 358, // 20: hashicorp.waypoint.Project.project_template:type_name -> hashicorp.waypoint.Ref.ProjectTemplate - 329, // 21: hashicorp.waypoint.Workspace.projects:type_name -> hashicorp.waypoint.Workspace.Project - 530, // 22: hashicorp.waypoint.Workspace.active_time:type_name -> google.protobuf.Timestamp - 331, // 23: hashicorp.waypoint.User.links:type_name -> hashicorp.waypoint.User.Link - 8, // 24: hashicorp.waypoint.Component.type:type_name -> hashicorp.waypoint.Component.Type - 9, // 25: hashicorp.waypoint.Status.state:type_name -> hashicorp.waypoint.Status.State - 531, // 26: hashicorp.waypoint.Status.error:type_name -> google.rpc.Status - 530, // 27: hashicorp.waypoint.Status.start_time:type_name -> google.protobuf.Timestamp - 530, // 28: hashicorp.waypoint.Status.complete_time:type_name -> google.protobuf.Timestamp - 362, // 29: hashicorp.waypoint.StatusFilter.filters:type_name -> hashicorp.waypoint.StatusFilter.Filter - 11, // 30: hashicorp.waypoint.OperationOrder.order:type_name -> hashicorp.waypoint.OperationOrder.Order - 532, // 31: hashicorp.waypoint.DeclaredResource.state:type_name -> opaqueany.Any - 0, // 32: hashicorp.waypoint.DeclaredResource.category_display_hint:type_name -> hashicorp.waypoint.ResourceCategoryDisplayHint - 532, // 33: hashicorp.waypoint.DestroyedResource.state:type_name -> opaqueany.Any - 363, // 34: hashicorp.waypoint.TaskLaunchInfo.environment_variables:type_name -> hashicorp.waypoint.TaskLaunchInfo.EnvironmentVariablesEntry - 353, // 35: hashicorp.waypoint.Task.task_job:type_name -> hashicorp.waypoint.Ref.Job - 353, // 36: hashicorp.waypoint.Task.watch_job:type_name -> hashicorp.waypoint.Ref.Job - 353, // 37: hashicorp.waypoint.Task.start_job:type_name -> hashicorp.waypoint.Ref.Job - 353, // 38: hashicorp.waypoint.Task.stop_job:type_name -> hashicorp.waypoint.Ref.Job - 532, // 39: hashicorp.waypoint.Task.state:type_name -> opaqueany.Any - 12, // 40: hashicorp.waypoint.Task.job_state:type_name -> hashicorp.waypoint.Task.State - 50, // 41: hashicorp.waypoint.UpsertTaskRequest.task:type_name -> hashicorp.waypoint.Task - 50, // 42: hashicorp.waypoint.UpsertTaskResponse.task:type_name -> hashicorp.waypoint.Task - 354, // 43: hashicorp.waypoint.GetTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task - 50, // 44: hashicorp.waypoint.GetTaskResponse.task:type_name -> hashicorp.waypoint.Task - 84, // 45: hashicorp.waypoint.GetTaskResponse.task_job:type_name -> hashicorp.waypoint.Job - 84, // 46: hashicorp.waypoint.GetTaskResponse.start_job:type_name -> hashicorp.waypoint.Job - 84, // 47: hashicorp.waypoint.GetTaskResponse.stop_job:type_name -> hashicorp.waypoint.Job - 84, // 48: hashicorp.waypoint.GetTaskResponse.watch_job:type_name -> hashicorp.waypoint.Job - 354, // 49: hashicorp.waypoint.DeleteTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task - 12, // 50: hashicorp.waypoint.ListTaskRequest.taskState:type_name -> hashicorp.waypoint.Task.State - 54, // 51: hashicorp.waypoint.ListTaskResponse.tasks:type_name -> hashicorp.waypoint.GetTaskResponse - 354, // 52: hashicorp.waypoint.CancelTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task - 346, // 53: hashicorp.waypoint.GetUserRequest.user:type_name -> hashicorp.waypoint.Ref.User - 39, // 54: hashicorp.waypoint.GetUserResponse.user:type_name -> hashicorp.waypoint.User - 39, // 55: hashicorp.waypoint.ListUsersResponse.users:type_name -> hashicorp.waypoint.User - 39, // 56: hashicorp.waypoint.UpdateUserRequest.user:type_name -> hashicorp.waypoint.User - 39, // 57: hashicorp.waypoint.UpdateUserResponse.user:type_name -> hashicorp.waypoint.User - 346, // 58: hashicorp.waypoint.DeleteUserRequest.user:type_name -> hashicorp.waypoint.Ref.User - 364, // 59: hashicorp.waypoint.AuthMethod.oidc:type_name -> hashicorp.waypoint.AuthMethod.OIDC - 13, // 60: hashicorp.waypoint.OIDCAuthMethod.kind:type_name -> hashicorp.waypoint.OIDCAuthMethod.Kind - 66, // 61: hashicorp.waypoint.UpsertAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.AuthMethod - 66, // 62: hashicorp.waypoint.UpsertAuthMethodResponse.auth_method:type_name -> hashicorp.waypoint.AuthMethod - 349, // 63: hashicorp.waypoint.GetAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod - 66, // 64: hashicorp.waypoint.GetAuthMethodResponse.auth_method:type_name -> hashicorp.waypoint.AuthMethod - 349, // 65: hashicorp.waypoint.DeleteAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod - 66, // 66: hashicorp.waypoint.ListAuthMethodsResponse.auth_methods:type_name -> hashicorp.waypoint.AuthMethod - 67, // 67: hashicorp.waypoint.ListOIDCAuthMethodsResponse.auth_methods:type_name -> hashicorp.waypoint.OIDCAuthMethod - 349, // 68: hashicorp.waypoint.GetOIDCAuthURLRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod - 349, // 69: hashicorp.waypoint.CompleteOIDCAuthRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod - 39, // 70: hashicorp.waypoint.CompleteOIDCAuthResponse.user:type_name -> hashicorp.waypoint.User - 84, // 71: hashicorp.waypoint.QueueJobRequest.job:type_name -> hashicorp.waypoint.Job - 84, // 72: hashicorp.waypoint.ValidateJobRequest.job:type_name -> hashicorp.waypoint.Job - 531, // 73: hashicorp.waypoint.ValidateJobResponse.validation_error:type_name -> google.rpc.Status - 334, // 74: hashicorp.waypoint.Job.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 75: hashicorp.waypoint.Job.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 342, // 76: hashicorp.waypoint.Job.target_runner:type_name -> hashicorp.waypoint.Ref.Runner - 351, // 77: hashicorp.waypoint.Job.ondemand_runner:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig - 367, // 78: hashicorp.waypoint.Job.ondemand_runner_task:type_name -> hashicorp.waypoint.Job.TaskOverride - 368, // 79: hashicorp.waypoint.Job.labels:type_name -> hashicorp.waypoint.Job.LabelsEntry - 373, // 80: hashicorp.waypoint.Job.data_source:type_name -> hashicorp.waypoint.Job.DataSource - 369, // 81: hashicorp.waypoint.Job.data_source_overrides:type_name -> hashicorp.waypoint.Job.DataSourceOverridesEntry - 283, // 82: hashicorp.waypoint.Job.waypoint_hcl:type_name -> hashicorp.waypoint.Hcl - 36, // 83: hashicorp.waypoint.Job.variables:type_name -> hashicorp.waypoint.Variable - 377, // 84: hashicorp.waypoint.Job.noop:type_name -> hashicorp.waypoint.Job.Noop - 384, // 85: hashicorp.waypoint.Job.build:type_name -> hashicorp.waypoint.Job.BuildOp - 386, // 86: hashicorp.waypoint.Job.push:type_name -> hashicorp.waypoint.Job.PushOp - 388, // 87: hashicorp.waypoint.Job.deploy:type_name -> hashicorp.waypoint.Job.DeployOp - 393, // 88: hashicorp.waypoint.Job.destroy:type_name -> hashicorp.waypoint.Job.DestroyOp - 394, // 89: hashicorp.waypoint.Job.release:type_name -> hashicorp.waypoint.Job.ReleaseOp - 380, // 90: hashicorp.waypoint.Job.validate:type_name -> hashicorp.waypoint.Job.ValidateOp - 382, // 91: hashicorp.waypoint.Job.auth:type_name -> hashicorp.waypoint.Job.AuthOp - 404, // 92: hashicorp.waypoint.Job.docs:type_name -> hashicorp.waypoint.Job.DocsOp - 406, // 93: hashicorp.waypoint.Job.config_sync:type_name -> hashicorp.waypoint.Job.ConfigSyncOp - 390, // 94: hashicorp.waypoint.Job.exec:type_name -> hashicorp.waypoint.Job.ExecOp - 378, // 95: hashicorp.waypoint.Job.up:type_name -> hashicorp.waypoint.Job.UpOp - 392, // 96: hashicorp.waypoint.Job.logs:type_name -> hashicorp.waypoint.Job.LogsOp - 417, // 97: hashicorp.waypoint.Job.queue_project:type_name -> hashicorp.waypoint.Job.QueueProjectOp - 410, // 98: hashicorp.waypoint.Job.poll:type_name -> hashicorp.waypoint.Job.PollOp - 402, // 99: hashicorp.waypoint.Job.status_report:type_name -> hashicorp.waypoint.Job.StatusReportOp - 397, // 100: hashicorp.waypoint.Job.start_task:type_name -> hashicorp.waypoint.Job.StartTaskLaunchOp - 399, // 101: hashicorp.waypoint.Job.stop_task:type_name -> hashicorp.waypoint.Job.StopTaskLaunchOp - 412, // 102: hashicorp.waypoint.Job.init:type_name -> hashicorp.waypoint.Job.InitOp - 400, // 103: hashicorp.waypoint.Job.watch_task:type_name -> hashicorp.waypoint.Job.WatchTaskOp - 414, // 104: hashicorp.waypoint.Job.pipeline_step:type_name -> hashicorp.waypoint.Job.PipelineStepOp - 415, // 105: hashicorp.waypoint.Job.destroy_project:type_name -> hashicorp.waypoint.Job.DestroyProjectOp - 14, // 106: hashicorp.waypoint.Job.state:type_name -> hashicorp.waypoint.Job.State - 344, // 107: hashicorp.waypoint.Job.assigned_runner:type_name -> hashicorp.waypoint.Ref.RunnerId - 530, // 108: hashicorp.waypoint.Job.queue_time:type_name -> google.protobuf.Timestamp - 530, // 109: hashicorp.waypoint.Job.assign_time:type_name -> google.protobuf.Timestamp - 530, // 110: hashicorp.waypoint.Job.ack_time:type_name -> google.protobuf.Timestamp - 530, // 111: hashicorp.waypoint.Job.complete_time:type_name -> google.protobuf.Timestamp - 419, // 112: hashicorp.waypoint.Job.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 370, // 113: hashicorp.waypoint.Job.variable_final_values:type_name -> hashicorp.waypoint.Job.VariableFinalValuesEntry - 372, // 114: hashicorp.waypoint.Job.config:type_name -> hashicorp.waypoint.Job.Config - 531, // 115: hashicorp.waypoint.Job.error:type_name -> google.rpc.Status - 371, // 116: hashicorp.waypoint.Job.result:type_name -> hashicorp.waypoint.Job.Result - 530, // 117: hashicorp.waypoint.Job.cancel_time:type_name -> google.protobuf.Timestamp - 530, // 118: hashicorp.waypoint.Job.expire_time:type_name -> google.protobuf.Timestamp - 354, // 119: hashicorp.waypoint.Job.task:type_name -> hashicorp.waypoint.Ref.Task - 357, // 120: hashicorp.waypoint.Job.pipeline:type_name -> hashicorp.waypoint.Ref.PipelineStep - 427, // 121: hashicorp.waypoint.Documentation.fields:type_name -> hashicorp.waypoint.Documentation.FieldsEntry - 429, // 122: hashicorp.waypoint.Documentation.mappers:type_name -> hashicorp.waypoint.Documentation.Mapper - 336, // 123: hashicorp.waypoint.ListJobsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 335, // 124: hashicorp.waypoint.ListJobsRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 125: hashicorp.waypoint.ListJobsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 342, // 126: hashicorp.waypoint.ListJobsRequest.targetRunner:type_name -> hashicorp.waypoint.Ref.Runner - 357, // 127: hashicorp.waypoint.ListJobsRequest.pipeline:type_name -> hashicorp.waypoint.Ref.PipelineStep - 14, // 128: hashicorp.waypoint.ListJobsRequest.jobState:type_name -> hashicorp.waypoint.Job.State - 287, // 129: hashicorp.waypoint.ListJobsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 84, // 130: hashicorp.waypoint.ListJobsResponse.jobs:type_name -> hashicorp.waypoint.Job - 288, // 131: hashicorp.waypoint.ListJobsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 430, // 132: hashicorp.waypoint.GetJobStreamResponse.open:type_name -> hashicorp.waypoint.GetJobStreamResponse.Open - 431, // 133: hashicorp.waypoint.GetJobStreamResponse.state:type_name -> hashicorp.waypoint.GetJobStreamResponse.State - 432, // 134: hashicorp.waypoint.GetJobStreamResponse.job:type_name -> hashicorp.waypoint.GetJobStreamResponse.JobChange - 434, // 135: hashicorp.waypoint.GetJobStreamResponse.terminal:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal - 433, // 136: hashicorp.waypoint.GetJobStreamResponse.download:type_name -> hashicorp.waypoint.GetJobStreamResponse.Download - 435, // 137: hashicorp.waypoint.GetJobStreamResponse.error:type_name -> hashicorp.waypoint.GetJobStreamResponse.Error - 436, // 138: hashicorp.waypoint.GetJobStreamResponse.complete:type_name -> hashicorp.waypoint.GetJobStreamResponse.Complete - 449, // 139: hashicorp.waypoint.Runner.odr:type_name -> hashicorp.waypoint.Runner.ODR - 450, // 140: hashicorp.waypoint.Runner.local:type_name -> hashicorp.waypoint.Runner.Local - 451, // 141: hashicorp.waypoint.Runner.remote:type_name -> hashicorp.waypoint.Runner.Remote - 41, // 142: hashicorp.waypoint.Runner.components:type_name -> hashicorp.waypoint.Component - 448, // 143: hashicorp.waypoint.Runner.labels:type_name -> hashicorp.waypoint.Runner.LabelsEntry - 530, // 144: hashicorp.waypoint.Runner.first_seen:type_name -> google.protobuf.Timestamp - 530, // 145: hashicorp.waypoint.Runner.last_seen:type_name -> google.protobuf.Timestamp - 16, // 146: hashicorp.waypoint.Runner.adoption_state:type_name -> hashicorp.waypoint.Runner.AdoptionState - 91, // 147: hashicorp.waypoint.RunnerTokenRequest.runner:type_name -> hashicorp.waypoint.Runner - 452, // 148: hashicorp.waypoint.RunnerConfigRequest.open:type_name -> hashicorp.waypoint.RunnerConfigRequest.Open - 96, // 149: hashicorp.waypoint.RunnerConfigResponse.config:type_name -> hashicorp.waypoint.RunnerConfig - 196, // 150: hashicorp.waypoint.RunnerConfig.config_vars:type_name -> hashicorp.waypoint.ConfigVar - 203, // 151: hashicorp.waypoint.RunnerConfig.config_sources:type_name -> hashicorp.waypoint.ConfigSource - 453, // 152: hashicorp.waypoint.RunnerJobStreamRequest.request:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Request - 454, // 153: hashicorp.waypoint.RunnerJobStreamRequest.ack:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Ack - 455, // 154: hashicorp.waypoint.RunnerJobStreamRequest.complete:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Complete - 456, // 155: hashicorp.waypoint.RunnerJobStreamRequest.error:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Error - 434, // 156: hashicorp.waypoint.RunnerJobStreamRequest.terminal:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal - 433, // 157: hashicorp.waypoint.RunnerJobStreamRequest.download:type_name -> hashicorp.waypoint.GetJobStreamResponse.Download - 458, // 158: hashicorp.waypoint.RunnerJobStreamRequest.config_load:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad - 459, // 159: hashicorp.waypoint.RunnerJobStreamRequest.variable_values_set:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet - 457, // 160: hashicorp.waypoint.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Heartbeat - 461, // 161: hashicorp.waypoint.RunnerJobStreamResponse.assignment:type_name -> hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment - 462, // 162: hashicorp.waypoint.RunnerJobStreamResponse.cancel:type_name -> hashicorp.waypoint.RunnerJobStreamResponse.JobCancel - 91, // 163: hashicorp.waypoint.ListRunnersResponse.runners:type_name -> hashicorp.waypoint.Runner - 108, // 164: hashicorp.waypoint.SetServerConfigRequest.config:type_name -> hashicorp.waypoint.ServerConfig - 108, // 165: hashicorp.waypoint.GetServerConfigResponse.config:type_name -> hashicorp.waypoint.ServerConfig - 463, // 166: hashicorp.waypoint.ServerConfig.advertise_addrs:type_name -> hashicorp.waypoint.ServerConfig.AdvertiseAddr - 465, // 167: hashicorp.waypoint.CreateHostnameRequest.target:type_name -> hashicorp.waypoint.Hostname.Target - 114, // 168: hashicorp.waypoint.CreateHostnameResponse.hostname:type_name -> hashicorp.waypoint.Hostname - 465, // 169: hashicorp.waypoint.ListHostnamesRequest.target:type_name -> hashicorp.waypoint.Hostname.Target - 114, // 170: hashicorp.waypoint.ListHostnamesResponse.hostnames:type_name -> hashicorp.waypoint.Hostname - 464, // 171: hashicorp.waypoint.Hostname.target_labels:type_name -> hashicorp.waypoint.Hostname.TargetLabelsEntry - 529, // 172: hashicorp.waypoint.ListWorkspacesRequest.global:type_name -> google.protobuf.Empty - 335, // 173: hashicorp.waypoint.ListWorkspacesRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 174: hashicorp.waypoint.ListWorkspacesRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 38, // 175: hashicorp.waypoint.ListWorkspacesResponse.workspaces:type_name -> hashicorp.waypoint.Workspace - 336, // 176: hashicorp.waypoint.GetWorkspaceRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 38, // 177: hashicorp.waypoint.GetWorkspaceResponse.workspace:type_name -> hashicorp.waypoint.Workspace - 38, // 178: hashicorp.waypoint.UpsertWorkspaceRequest.workspace:type_name -> hashicorp.waypoint.Workspace - 38, // 179: hashicorp.waypoint.UpsertWorkspaceResponse.workspace:type_name -> hashicorp.waypoint.Workspace - 37, // 180: hashicorp.waypoint.UpsertProjectRequest.project:type_name -> hashicorp.waypoint.Project - 37, // 181: hashicorp.waypoint.UpsertProjectResponse.project:type_name -> hashicorp.waypoint.Project - 335, // 182: hashicorp.waypoint.GetProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 37, // 183: hashicorp.waypoint.GetProjectResponse.project:type_name -> hashicorp.waypoint.Project - 329, // 184: hashicorp.waypoint.GetProjectResponse.workspaces:type_name -> hashicorp.waypoint.Workspace.Project - 287, // 185: hashicorp.waypoint.ListProjectsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 335, // 186: hashicorp.waypoint.ListProjectsResponse.projects:type_name -> hashicorp.waypoint.Ref.Project - 288, // 187: hashicorp.waypoint.ListProjectsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 335, // 188: hashicorp.waypoint.DestroyProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 189: hashicorp.waypoint.GetApplicationRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 35, // 190: hashicorp.waypoint.GetApplicationResponse.application:type_name -> hashicorp.waypoint.Application - 335, // 191: hashicorp.waypoint.UpsertApplicationRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 35, // 192: hashicorp.waypoint.UpsertApplicationResponse.application:type_name -> hashicorp.waypoint.Application - 138, // 193: hashicorp.waypoint.UpsertBuildRequest.build:type_name -> hashicorp.waypoint.Build - 138, // 194: hashicorp.waypoint.UpsertBuildResponse.build:type_name -> hashicorp.waypoint.Build - 334, // 195: hashicorp.waypoint.ListBuildsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 196: hashicorp.waypoint.ListBuildsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 45, // 197: hashicorp.waypoint.ListBuildsRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 138, // 198: hashicorp.waypoint.ListBuildsResponse.builds:type_name -> hashicorp.waypoint.Build - 334, // 199: hashicorp.waypoint.GetLatestBuildRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 200: hashicorp.waypoint.GetLatestBuildRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 340, // 201: hashicorp.waypoint.GetBuildRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 334, // 202: hashicorp.waypoint.Build.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 203: hashicorp.waypoint.Build.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 204: hashicorp.waypoint.Build.status:type_name -> hashicorp.waypoint.Status - 41, // 205: hashicorp.waypoint.Build.component:type_name -> hashicorp.waypoint.Component - 139, // 206: hashicorp.waypoint.Build.artifact:type_name -> hashicorp.waypoint.Artifact - 467, // 207: hashicorp.waypoint.Build.labels:type_name -> hashicorp.waypoint.Build.LabelsEntry - 468, // 208: hashicorp.waypoint.Build.preload:type_name -> hashicorp.waypoint.Build.Preload - 532, // 209: hashicorp.waypoint.Artifact.artifact:type_name -> opaqueany.Any - 342, // 210: hashicorp.waypoint.OnDemandRunnerConfig.target_runner:type_name -> hashicorp.waypoint.Ref.Runner - 469, // 211: hashicorp.waypoint.OnDemandRunnerConfig.environment_variables:type_name -> hashicorp.waypoint.OnDemandRunnerConfig.EnvironmentVariablesEntry - 30, // 212: hashicorp.waypoint.OnDemandRunnerConfig.config_format:type_name -> hashicorp.waypoint.Hcl.Format - 140, // 213: hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig - 140, // 214: hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig - 351, // 215: hashicorp.waypoint.GetOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig - 140, // 216: hashicorp.waypoint.GetOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig - 351, // 217: hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig - 140, // 218: hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig - 140, // 219: hashicorp.waypoint.ListOnDemandRunnerConfigsResponse.configs:type_name -> hashicorp.waypoint.OnDemandRunnerConfig - 154, // 220: hashicorp.waypoint.UpsertPushedArtifactRequest.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 154, // 221: hashicorp.waypoint.UpsertPushedArtifactResponse.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 334, // 222: hashicorp.waypoint.GetLatestPushedArtifactRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 223: hashicorp.waypoint.GetLatestPushedArtifactRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 340, // 224: hashicorp.waypoint.GetPushedArtifactRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 334, // 225: hashicorp.waypoint.ListPushedArtifactsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 226: hashicorp.waypoint.ListPushedArtifactsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 43, // 227: hashicorp.waypoint.ListPushedArtifactsRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 45, // 228: hashicorp.waypoint.ListPushedArtifactsRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 154, // 229: hashicorp.waypoint.ListPushedArtifactsResponse.artifacts:type_name -> hashicorp.waypoint.PushedArtifact - 334, // 230: hashicorp.waypoint.PushedArtifact.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 231: hashicorp.waypoint.PushedArtifact.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 232: hashicorp.waypoint.PushedArtifact.status:type_name -> hashicorp.waypoint.Status - 41, // 233: hashicorp.waypoint.PushedArtifact.component:type_name -> hashicorp.waypoint.Component - 139, // 234: hashicorp.waypoint.PushedArtifact.artifact:type_name -> hashicorp.waypoint.Artifact - 470, // 235: hashicorp.waypoint.PushedArtifact.labels:type_name -> hashicorp.waypoint.PushedArtifact.LabelsEntry - 138, // 236: hashicorp.waypoint.PushedArtifact.build:type_name -> hashicorp.waypoint.Build - 471, // 237: hashicorp.waypoint.PushedArtifact.preload:type_name -> hashicorp.waypoint.PushedArtifact.Preload - 334, // 238: hashicorp.waypoint.GetLatestDeploymentRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 239: hashicorp.waypoint.GetLatestDeploymentRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 18, // 240: hashicorp.waypoint.GetLatestDeploymentRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails - 162, // 241: hashicorp.waypoint.GetDeploymentResponse.deployment:type_name -> hashicorp.waypoint.Deployment - 340, // 242: hashicorp.waypoint.GetDeploymentRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 18, // 243: hashicorp.waypoint.GetDeploymentRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails - 162, // 244: hashicorp.waypoint.UpsertDeploymentRequest.deployment:type_name -> hashicorp.waypoint.Deployment - 17, // 245: hashicorp.waypoint.UpsertDeploymentRequest.auto_hostname:type_name -> hashicorp.waypoint.UpsertDeploymentRequest.Tristate - 162, // 246: hashicorp.waypoint.UpsertDeploymentResponse.deployment:type_name -> hashicorp.waypoint.Deployment - 334, // 247: hashicorp.waypoint.ListDeploymentsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 248: hashicorp.waypoint.ListDeploymentsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 43, // 249: hashicorp.waypoint.ListDeploymentsRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 10, // 250: hashicorp.waypoint.ListDeploymentsRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 45, // 251: hashicorp.waypoint.ListDeploymentsRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 18, // 252: hashicorp.waypoint.ListDeploymentsRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails - 162, // 253: hashicorp.waypoint.ListDeploymentsResponse.deployments:type_name -> hashicorp.waypoint.Deployment - 334, // 254: hashicorp.waypoint.Deployment.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 255: hashicorp.waypoint.Deployment.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 46, // 256: hashicorp.waypoint.Deployment.generation:type_name -> hashicorp.waypoint.Generation - 10, // 257: hashicorp.waypoint.Deployment.state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 42, // 258: hashicorp.waypoint.Deployment.status:type_name -> hashicorp.waypoint.Status - 41, // 259: hashicorp.waypoint.Deployment.component:type_name -> hashicorp.waypoint.Component - 532, // 260: hashicorp.waypoint.Deployment.deployment:type_name -> opaqueany.Any - 472, // 261: hashicorp.waypoint.Deployment.labels:type_name -> hashicorp.waypoint.Deployment.LabelsEntry - 47, // 262: hashicorp.waypoint.Deployment.declared_resources:type_name -> hashicorp.waypoint.DeclaredResource - 48, // 263: hashicorp.waypoint.Deployment.destroyed_resources:type_name -> hashicorp.waypoint.DestroyedResource - 473, // 264: hashicorp.waypoint.Deployment.preload:type_name -> hashicorp.waypoint.Deployment.Preload - 162, // 265: hashicorp.waypoint.DeploymentExpanded.deployment:type_name -> hashicorp.waypoint.Deployment - 193, // 266: hashicorp.waypoint.DeploymentExpanded.latest_status_report:type_name -> hashicorp.waypoint.StatusReport - 474, // 267: hashicorp.waypoint.ListInstancesRequest.application:type_name -> hashicorp.waypoint.ListInstancesRequest.Application - 166, // 268: hashicorp.waypoint.ListInstancesResponse.instances:type_name -> hashicorp.waypoint.Instance - 334, // 269: hashicorp.waypoint.Instance.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 270: hashicorp.waypoint.Instance.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 19, // 271: hashicorp.waypoint.Instance.type:type_name -> hashicorp.waypoint.Instance.Type - 173, // 272: hashicorp.waypoint.UpsertReleaseRequest.release:type_name -> hashicorp.waypoint.Release - 173, // 273: hashicorp.waypoint.UpsertReleaseResponse.release:type_name -> hashicorp.waypoint.Release - 334, // 274: hashicorp.waypoint.GetLatestReleaseRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 275: hashicorp.waypoint.GetLatestReleaseRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 20, // 276: hashicorp.waypoint.GetLatestReleaseRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails - 334, // 277: hashicorp.waypoint.ListReleasesRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 278: hashicorp.waypoint.ListReleasesRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 43, // 279: hashicorp.waypoint.ListReleasesRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 10, // 280: hashicorp.waypoint.ListReleasesRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 45, // 281: hashicorp.waypoint.ListReleasesRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 20, // 282: hashicorp.waypoint.ListReleasesRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails - 173, // 283: hashicorp.waypoint.ListReleasesResponse.releases:type_name -> hashicorp.waypoint.Release - 340, // 284: hashicorp.waypoint.GetReleaseRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 20, // 285: hashicorp.waypoint.GetReleaseRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails - 334, // 286: hashicorp.waypoint.Release.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 287: hashicorp.waypoint.Release.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 288: hashicorp.waypoint.Release.status:type_name -> hashicorp.waypoint.Status - 10, // 289: hashicorp.waypoint.Release.state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 41, // 290: hashicorp.waypoint.Release.component:type_name -> hashicorp.waypoint.Component - 532, // 291: hashicorp.waypoint.Release.release:type_name -> opaqueany.Any - 475, // 292: hashicorp.waypoint.Release.labels:type_name -> hashicorp.waypoint.Release.LabelsEntry - 47, // 293: hashicorp.waypoint.Release.declared_resources:type_name -> hashicorp.waypoint.DeclaredResource - 48, // 294: hashicorp.waypoint.Release.destroyed_resources:type_name -> hashicorp.waypoint.DestroyedResource - 476, // 295: hashicorp.waypoint.Release.preload:type_name -> hashicorp.waypoint.Release.Preload - 173, // 296: hashicorp.waypoint.ReleaseExpanded.release:type_name -> hashicorp.waypoint.Release - 193, // 297: hashicorp.waypoint.ReleaseExpanded.latest_status_report:type_name -> hashicorp.waypoint.StatusReport - 530, // 298: hashicorp.waypoint.Trigger.active_time:type_name -> google.protobuf.Timestamp - 384, // 299: hashicorp.waypoint.Trigger.build:type_name -> hashicorp.waypoint.Job.BuildOp - 386, // 300: hashicorp.waypoint.Trigger.push:type_name -> hashicorp.waypoint.Job.PushOp - 388, // 301: hashicorp.waypoint.Trigger.deploy:type_name -> hashicorp.waypoint.Job.DeployOp - 393, // 302: hashicorp.waypoint.Trigger.destroy:type_name -> hashicorp.waypoint.Job.DestroyOp - 394, // 303: hashicorp.waypoint.Trigger.release:type_name -> hashicorp.waypoint.Job.ReleaseOp - 378, // 304: hashicorp.waypoint.Trigger.up:type_name -> hashicorp.waypoint.Job.UpOp - 412, // 305: hashicorp.waypoint.Trigger.init:type_name -> hashicorp.waypoint.Job.InitOp - 402, // 306: hashicorp.waypoint.Trigger.status_report:type_name -> hashicorp.waypoint.Job.StatusReportOp - 336, // 307: hashicorp.waypoint.Trigger.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 335, // 308: hashicorp.waypoint.Trigger.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 309: hashicorp.waypoint.Trigger.application:type_name -> hashicorp.waypoint.Ref.Application - 175, // 310: hashicorp.waypoint.UpsertTriggerRequest.trigger:type_name -> hashicorp.waypoint.Trigger - 175, // 311: hashicorp.waypoint.UpsertTriggerResponse.trigger:type_name -> hashicorp.waypoint.Trigger - 352, // 312: hashicorp.waypoint.GetTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger - 175, // 313: hashicorp.waypoint.GetTriggerResponse.trigger:type_name -> hashicorp.waypoint.Trigger - 352, // 314: hashicorp.waypoint.DeleteTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger - 352, // 315: hashicorp.waypoint.RunTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger - 36, // 316: hashicorp.waypoint.RunTriggerRequest.variable_overrides:type_name -> hashicorp.waypoint.Variable - 336, // 317: hashicorp.waypoint.ListTriggerRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 335, // 318: hashicorp.waypoint.ListTriggerRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 319: hashicorp.waypoint.ListTriggerRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 175, // 320: hashicorp.waypoint.ListTriggerResponse.triggers:type_name -> hashicorp.waypoint.Trigger - 193, // 321: hashicorp.waypoint.UpsertStatusReportRequest.status_report:type_name -> hashicorp.waypoint.StatusReport - 193, // 322: hashicorp.waypoint.UpsertStatusReportResponse.status_report:type_name -> hashicorp.waypoint.StatusReport - 334, // 323: hashicorp.waypoint.GetLatestStatusReportRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 324: hashicorp.waypoint.GetLatestStatusReportRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 529, // 325: hashicorp.waypoint.GetLatestStatusReportRequest.any:type_name -> google.protobuf.Empty - 529, // 326: hashicorp.waypoint.GetLatestStatusReportRequest.deployment_any:type_name -> google.protobuf.Empty - 529, // 327: hashicorp.waypoint.GetLatestStatusReportRequest.release_any:type_name -> google.protobuf.Empty - 43, // 328: hashicorp.waypoint.ListStatusReportsRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 45, // 329: hashicorp.waypoint.ListStatusReportsRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 334, // 330: hashicorp.waypoint.ListStatusReportsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 331: hashicorp.waypoint.ListStatusReportsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 340, // 332: hashicorp.waypoint.ListStatusReportsRequest.deployment:type_name -> hashicorp.waypoint.Ref.Operation - 340, // 333: hashicorp.waypoint.ListStatusReportsRequest.release:type_name -> hashicorp.waypoint.Ref.Operation - 193, // 334: hashicorp.waypoint.ListStatusReportsResponse.status_reports:type_name -> hashicorp.waypoint.StatusReport - 340, // 335: hashicorp.waypoint.GetStatusReportRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 336, // 336: hashicorp.waypoint.ExpediteStatusReportRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 340, // 337: hashicorp.waypoint.ExpediteStatusReportRequest.deployment:type_name -> hashicorp.waypoint.Ref.Operation - 340, // 338: hashicorp.waypoint.ExpediteStatusReportRequest.release:type_name -> hashicorp.waypoint.Ref.Operation - 334, // 339: hashicorp.waypoint.StatusReport.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 340: hashicorp.waypoint.StatusReport.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 341: hashicorp.waypoint.StatusReport.status:type_name -> hashicorp.waypoint.Status - 532, // 342: hashicorp.waypoint.StatusReport.status_report:type_name -> opaqueany.Any - 478, // 343: hashicorp.waypoint.StatusReport.health:type_name -> hashicorp.waypoint.StatusReport.Health - 530, // 344: hashicorp.waypoint.StatusReport.generated_time:type_name -> google.protobuf.Timestamp - 477, // 345: hashicorp.waypoint.StatusReport.resources:type_name -> hashicorp.waypoint.StatusReport.Resource - 478, // 346: hashicorp.waypoint.StatusReport.deprecated_resources_health:type_name -> hashicorp.waypoint.StatusReport.Health - 479, // 347: hashicorp.waypoint.GetLogStreamRequest.application:type_name -> hashicorp.waypoint.GetLogStreamRequest.Application - 480, // 348: hashicorp.waypoint.LogBatch.lines:type_name -> hashicorp.waypoint.LogBatch.Entry - 482, // 349: hashicorp.waypoint.ConfigVar.target:type_name -> hashicorp.waypoint.ConfigVar.Target - 529, // 350: hashicorp.waypoint.ConfigVar.unset:type_name -> google.protobuf.Empty - 481, // 351: hashicorp.waypoint.ConfigVar.dynamic:type_name -> hashicorp.waypoint.ConfigVar.DynamicVal - 334, // 352: hashicorp.waypoint.ConfigVar.application:type_name -> hashicorp.waypoint.Ref.Application - 335, // 353: hashicorp.waypoint.ConfigVar.project:type_name -> hashicorp.waypoint.Ref.Project - 342, // 354: hashicorp.waypoint.ConfigVar.runner:type_name -> hashicorp.waypoint.Ref.Runner - 196, // 355: hashicorp.waypoint.ConfigSetRequest.variables:type_name -> hashicorp.waypoint.ConfigVar - 196, // 356: hashicorp.waypoint.ConfigDeleteRequest.variables:type_name -> hashicorp.waypoint.ConfigVar - 334, // 357: hashicorp.waypoint.ConfigGetRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 335, // 358: hashicorp.waypoint.ConfigGetRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 344, // 359: hashicorp.waypoint.ConfigGetRequest.runner:type_name -> hashicorp.waypoint.Ref.RunnerId - 336, // 360: hashicorp.waypoint.ConfigGetRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 484, // 361: hashicorp.waypoint.ConfigGetRequest.labels:type_name -> hashicorp.waypoint.ConfigGetRequest.LabelsEntry - 196, // 362: hashicorp.waypoint.ConfigGetResponse.variables:type_name -> hashicorp.waypoint.ConfigVar - 333, // 363: hashicorp.waypoint.ConfigSource.global:type_name -> hashicorp.waypoint.Ref.Global - 335, // 364: hashicorp.waypoint.ConfigSource.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 365: hashicorp.waypoint.ConfigSource.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 366: hashicorp.waypoint.ConfigSource.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 485, // 367: hashicorp.waypoint.ConfigSource.config:type_name -> hashicorp.waypoint.ConfigSource.ConfigEntry - 203, // 368: hashicorp.waypoint.SetConfigSourceRequest.config_source:type_name -> hashicorp.waypoint.ConfigSource - 203, // 369: hashicorp.waypoint.DeleteConfigSourceRequest.config_source:type_name -> hashicorp.waypoint.ConfigSource - 333, // 370: hashicorp.waypoint.GetConfigSourceRequest.global:type_name -> hashicorp.waypoint.Ref.Global - 335, // 371: hashicorp.waypoint.GetConfigSourceRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 372: hashicorp.waypoint.GetConfigSourceRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 373: hashicorp.waypoint.GetConfigSourceRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 203, // 374: hashicorp.waypoint.GetConfigSourceResponse.config_sources:type_name -> hashicorp.waypoint.ConfigSource - 486, // 375: hashicorp.waypoint.ExecStreamRequest.start:type_name -> hashicorp.waypoint.ExecStreamRequest.Start - 487, // 376: hashicorp.waypoint.ExecStreamRequest.input:type_name -> hashicorp.waypoint.ExecStreamRequest.Input - 489, // 377: hashicorp.waypoint.ExecStreamRequest.winch:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize - 529, // 378: hashicorp.waypoint.ExecStreamRequest.input_eof:type_name -> google.protobuf.Empty - 490, // 379: hashicorp.waypoint.ExecStreamResponse.open:type_name -> hashicorp.waypoint.ExecStreamResponse.Open - 492, // 380: hashicorp.waypoint.ExecStreamResponse.output:type_name -> hashicorp.waypoint.ExecStreamResponse.Output - 491, // 381: hashicorp.waypoint.ExecStreamResponse.exit:type_name -> hashicorp.waypoint.ExecStreamResponse.Exit - 19, // 382: hashicorp.waypoint.EntrypointConfigRequest.type:type_name -> hashicorp.waypoint.Instance.Type - 212, // 383: hashicorp.waypoint.EntrypointConfigResponse.config:type_name -> hashicorp.waypoint.EntrypointConfig - 493, // 384: hashicorp.waypoint.EntrypointConfig.exec:type_name -> hashicorp.waypoint.EntrypointConfig.Exec - 196, // 385: hashicorp.waypoint.EntrypointConfig.env_vars:type_name -> hashicorp.waypoint.ConfigVar - 203, // 386: hashicorp.waypoint.EntrypointConfig.config_sources:type_name -> hashicorp.waypoint.ConfigSource - 494, // 387: hashicorp.waypoint.EntrypointConfig.url_service:type_name -> hashicorp.waypoint.EntrypointConfig.URLService - 495, // 388: hashicorp.waypoint.EntrypointConfig.deployment:type_name -> hashicorp.waypoint.EntrypointConfig.DeploymentInfo - 480, // 389: hashicorp.waypoint.EntrypointLogBatch.lines:type_name -> hashicorp.waypoint.LogBatch.Entry - 497, // 390: hashicorp.waypoint.EntrypointExecRequest.open:type_name -> hashicorp.waypoint.EntrypointExecRequest.Open - 498, // 391: hashicorp.waypoint.EntrypointExecRequest.exit:type_name -> hashicorp.waypoint.EntrypointExecRequest.Exit - 499, // 392: hashicorp.waypoint.EntrypointExecRequest.output:type_name -> hashicorp.waypoint.EntrypointExecRequest.Output - 500, // 393: hashicorp.waypoint.EntrypointExecRequest.error:type_name -> hashicorp.waypoint.EntrypointExecRequest.Error - 529, // 394: hashicorp.waypoint.EntrypointExecResponse.input_eof:type_name -> google.protobuf.Empty - 489, // 395: hashicorp.waypoint.EntrypointExecResponse.winch:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize - 335, // 396: hashicorp.waypoint.Pipeline.project:type_name -> hashicorp.waypoint.Ref.Project - 501, // 397: hashicorp.waypoint.Pipeline.steps:type_name -> hashicorp.waypoint.Pipeline.StepsEntry - 355, // 398: hashicorp.waypoint.PipelineRun.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 353, // 399: hashicorp.waypoint.PipelineRun.jobs:type_name -> hashicorp.waypoint.Ref.Job - 25, // 400: hashicorp.waypoint.PipelineRun.state:type_name -> hashicorp.waypoint.PipelineRun.State - 216, // 401: hashicorp.waypoint.UpsertPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Pipeline - 216, // 402: hashicorp.waypoint.UpsertPipelineResponse.pipeline:type_name -> hashicorp.waypoint.Pipeline - 355, // 403: hashicorp.waypoint.GetPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 216, // 404: hashicorp.waypoint.GetPipelineResponse.pipeline:type_name -> hashicorp.waypoint.Pipeline - 509, // 405: hashicorp.waypoint.GetPipelineResponse.graph:type_name -> hashicorp.waypoint.GetPipelineResponse.Graph - 355, // 406: hashicorp.waypoint.RunPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 84, // 407: hashicorp.waypoint.RunPipelineRequest.job_template:type_name -> hashicorp.waypoint.Job - 510, // 408: hashicorp.waypoint.RunPipelineResponse.job_map:type_name -> hashicorp.waypoint.RunPipelineResponse.JobMapEntry - 335, // 409: hashicorp.waypoint.ListPipelinesRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 216, // 410: hashicorp.waypoint.ListPipelinesResponse.pipelines:type_name -> hashicorp.waypoint.Pipeline - 355, // 411: hashicorp.waypoint.ListPipelineRunsRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 217, // 412: hashicorp.waypoint.ListPipelineRunsResponse.pipeline_runs:type_name -> hashicorp.waypoint.PipelineRun - 355, // 413: hashicorp.waypoint.GetPipelineRunRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 217, // 414: hashicorp.waypoint.GetPipelineRunResponse.pipeline_run:type_name -> hashicorp.waypoint.PipelineRun - 335, // 415: hashicorp.waypoint.ConfigSyncPipelineRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 511, // 416: hashicorp.waypoint.ConfigSyncPipelineResponse.synced_pipelines:type_name -> hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry - 358, // 417: hashicorp.waypoint.GetProjectTemplateRequest.project_template:type_name -> hashicorp.waypoint.Ref.ProjectTemplate - 242, // 418: hashicorp.waypoint.GetProjectTemplateResponse.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 287, // 419: hashicorp.waypoint.ListProjectTemplatesRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 242, // 420: hashicorp.waypoint.ListProjectTemplatesResponse.project_templates:type_name -> hashicorp.waypoint.ProjectTemplate - 288, // 421: hashicorp.waypoint.ListProjectTemplatesResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 242, // 422: hashicorp.waypoint.CreateProjectTemplateRequest.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 242, // 423: hashicorp.waypoint.CreateProjectTemplateResponse.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 242, // 424: hashicorp.waypoint.UpdateProjectTemplateRequest.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 242, // 425: hashicorp.waypoint.UpdateProjectTemplateResponse.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 358, // 426: hashicorp.waypoint.DeleteProjectTemplateRequest.project_template:type_name -> hashicorp.waypoint.Ref.ProjectTemplate - 512, // 427: hashicorp.waypoint.ProjectTemplate.waypoint_project:type_name -> hashicorp.waypoint.ProjectTemplate.WaypointProject - 513, // 428: hashicorp.waypoint.ProjectTemplate.terraform_nocode_module:type_name -> hashicorp.waypoint.ProjectTemplate.TerraformNocodeModule - 359, // 429: hashicorp.waypoint.GetAddOnDefinitionRequest.add_on_definition:type_name -> hashicorp.waypoint.Ref.AddOnDefinition - 265, // 430: hashicorp.waypoint.GetAddOnDefinitionResponse.add_on_definition:type_name -> hashicorp.waypoint.AddOnDefinition - 287, // 431: hashicorp.waypoint.ListAddOnDefinitionsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 265, // 432: hashicorp.waypoint.ListAddOnDefinitionsResponse.add_on_definitions:type_name -> hashicorp.waypoint.AddOnDefinition - 288, // 433: hashicorp.waypoint.ListAddOnDefinitionsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 243, // 434: hashicorp.waypoint.CreateAddOnDefinitionRequest.terraform_nocode_module:type_name -> hashicorp.waypoint.TerraformNocodeModule - 265, // 435: hashicorp.waypoint.CreateAddOnDefinitionResponse.add_on_definition:type_name -> hashicorp.waypoint.AddOnDefinition - 359, // 436: hashicorp.waypoint.UpdateAddOnDefinitionRequest.definition:type_name -> hashicorp.waypoint.Ref.AddOnDefinition - 243, // 437: hashicorp.waypoint.UpdateAddOnDefinitionRequest.terraform_nocode_module:type_name -> hashicorp.waypoint.TerraformNocodeModule - 265, // 438: hashicorp.waypoint.UpdateAddOnDefinitionResponse.add_on_definition:type_name -> hashicorp.waypoint.AddOnDefinition - 359, // 439: hashicorp.waypoint.DeleteAddOnDefinitionRequest.add_on_definition:type_name -> hashicorp.waypoint.Ref.AddOnDefinition - 335, // 440: hashicorp.waypoint.CreateAddOnRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 359, // 441: hashicorp.waypoint.CreateAddOnRequest.definition:type_name -> hashicorp.waypoint.Ref.AddOnDefinition - 264, // 442: hashicorp.waypoint.CreateAddOnResponse.add_on:type_name -> hashicorp.waypoint.AddOn - 360, // 443: hashicorp.waypoint.DestroyAddOnRequest.add_on:type_name -> hashicorp.waypoint.Ref.AddOn - 360, // 444: hashicorp.waypoint.GetAddOnRequest.add_on:type_name -> hashicorp.waypoint.Ref.AddOn - 264, // 445: hashicorp.waypoint.GetAddOnResponse.add_on:type_name -> hashicorp.waypoint.AddOn - 360, // 446: hashicorp.waypoint.UpdateAddOnRequest.add_on:type_name -> hashicorp.waypoint.Ref.AddOn - 264, // 447: hashicorp.waypoint.UpdateAddOnResponse.add_on:type_name -> hashicorp.waypoint.AddOn - 335, // 448: hashicorp.waypoint.ListAddOnsRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 287, // 449: hashicorp.waypoint.ListAddOnsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 264, // 450: hashicorp.waypoint.ListAddOnsResponse.add_ons:type_name -> hashicorp.waypoint.AddOn - 288, // 451: hashicorp.waypoint.ListAddOnsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 27, // 452: hashicorp.waypoint.GetTFRunStatusResponse.state:type_name -> hashicorp.waypoint.GetTFRunStatusResponse.State - 335, // 453: hashicorp.waypoint.AddOn.project:type_name -> hashicorp.waypoint.Ref.Project - 359, // 454: hashicorp.waypoint.AddOn.definition:type_name -> hashicorp.waypoint.Ref.AddOnDefinition - 243, // 455: hashicorp.waypoint.AddOn.terraform_nocode_module:type_name -> hashicorp.waypoint.TerraformNocodeModule - 530, // 456: hashicorp.waypoint.AddOn.created_at:type_name -> google.protobuf.Timestamp - 243, // 457: hashicorp.waypoint.AddOnDefinition.terraform_nocode_module:type_name -> hashicorp.waypoint.TerraformNocodeModule - 335, // 458: hashicorp.waypoint.GetTFCRunStatusRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 28, // 459: hashicorp.waypoint.GetTFCRunStatusResponse.state:type_name -> hashicorp.waypoint.GetTFCRunStatusResponse.State - 358, // 460: hashicorp.waypoint.CreateProjectFromTemplateRequest.project_template:type_name -> hashicorp.waypoint.Ref.ProjectTemplate - 37, // 461: hashicorp.waypoint.CreateProjectFromTemplateResponse.project:type_name -> hashicorp.waypoint.Project - 514, // 462: hashicorp.waypoint.TokenTransport.metadata:type_name -> hashicorp.waypoint.TokenTransport.MetadataEntry - 515, // 463: hashicorp.waypoint.TokenTransport.oauth_creds:type_name -> hashicorp.waypoint.TokenTransport.OAuthCredentials - 530, // 464: hashicorp.waypoint.Token.valid_until:type_name -> google.protobuf.Timestamp - 530, // 465: hashicorp.waypoint.Token.issued_time:type_name -> google.protobuf.Timestamp - 516, // 466: hashicorp.waypoint.Token.login:type_name -> hashicorp.waypoint.Token.Login - 517, // 467: hashicorp.waypoint.Token.runner:type_name -> hashicorp.waypoint.Token.Runner - 518, // 468: hashicorp.waypoint.Token.invite:type_name -> hashicorp.waypoint.Token.Invite - 520, // 469: hashicorp.waypoint.Token.trigger:type_name -> hashicorp.waypoint.Token.Trigger - 519, // 470: hashicorp.waypoint.Token.unused_entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint - 271, // 471: hashicorp.waypoint.DecodeTokenResponse.token:type_name -> hashicorp.waypoint.Token - 270, // 472: hashicorp.waypoint.DecodeTokenResponse.transport:type_name -> hashicorp.waypoint.TokenTransport - 346, // 473: hashicorp.waypoint.LoginTokenRequest.user:type_name -> hashicorp.waypoint.Ref.User - 522, // 474: hashicorp.waypoint.GenerateRunnerTokenRequest.labels:type_name -> hashicorp.waypoint.GenerateRunnerTokenRequest.LabelsEntry - 516, // 475: hashicorp.waypoint.InviteTokenRequest.login:type_name -> hashicorp.waypoint.Token.Login - 521, // 476: hashicorp.waypoint.InviteTokenRequest.signup:type_name -> hashicorp.waypoint.Token.Invite.Signup - 519, // 477: hashicorp.waypoint.InviteTokenRequest.unused_entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint - 523, // 478: hashicorp.waypoint.CreateSnapshotResponse.open:type_name -> hashicorp.waypoint.CreateSnapshotResponse.Open - 524, // 479: hashicorp.waypoint.RestoreSnapshotRequest.open:type_name -> hashicorp.waypoint.RestoreSnapshotRequest.Open - 30, // 480: hashicorp.waypoint.Hcl.format:type_name -> hashicorp.waypoint.Hcl.Format - 287, // 481: hashicorp.waypoint.UI.ListProjectsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 292, // 482: hashicorp.waypoint.UI.ListProjectsResponse.project_bundles:type_name -> hashicorp.waypoint.UI.ProjectBundle - 288, // 483: hashicorp.waypoint.UI.ListProjectsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 37, // 484: hashicorp.waypoint.UI.ProjectBundle.project:type_name -> hashicorp.waypoint.Project - 335, // 485: hashicorp.waypoint.UI.GetProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 37, // 486: hashicorp.waypoint.UI.GetProjectResponse.project:type_name -> hashicorp.waypoint.Project - 84, // 487: hashicorp.waypoint.UI.GetProjectResponse.latest_init_job:type_name -> hashicorp.waypoint.Job - 242, // 488: hashicorp.waypoint.UI.GetProjectResponse.project_template:type_name -> hashicorp.waypoint.ProjectTemplate - 335, // 489: hashicorp.waypoint.UI.ListPipelinesRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 287, // 490: hashicorp.waypoint.UI.ListPipelinesRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 301, // 491: hashicorp.waypoint.UI.ListPipelinesResponse.pipelines:type_name -> hashicorp.waypoint.UI.PipelineBundle - 288, // 492: hashicorp.waypoint.UI.ListPipelinesResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 355, // 493: hashicorp.waypoint.UI.ListPipelineRunsRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 287, // 494: hashicorp.waypoint.UI.ListPipelineRunsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 302, // 495: hashicorp.waypoint.UI.ListPipelineRunsResponse.pipeline_run_bundles:type_name -> hashicorp.waypoint.UI.PipelineRunBundle - 288, // 496: hashicorp.waypoint.UI.ListPipelineRunsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 355, // 497: hashicorp.waypoint.UI.GetPipelineRunRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline - 217, // 498: hashicorp.waypoint.UI.GetPipelineRunResponse.pipeline_run:type_name -> hashicorp.waypoint.PipelineRun - 303, // 499: hashicorp.waypoint.UI.GetPipelineRunResponse.root_tree_node:type_name -> hashicorp.waypoint.UI.PipelineRunTreeNode - 302, // 500: hashicorp.waypoint.UI.GetPipelineRunResponse.pipeline_run_bundle:type_name -> hashicorp.waypoint.UI.PipelineRunBundle - 216, // 501: hashicorp.waypoint.UI.PipelineBundle.pipeline:type_name -> hashicorp.waypoint.Pipeline - 302, // 502: hashicorp.waypoint.UI.PipelineBundle.last_run:type_name -> hashicorp.waypoint.UI.PipelineRunBundle - 217, // 503: hashicorp.waypoint.UI.PipelineRunBundle.pipeline_run:type_name -> hashicorp.waypoint.PipelineRun - 530, // 504: hashicorp.waypoint.UI.PipelineRunBundle.queue_time:type_name -> google.protobuf.Timestamp - 334, // 505: hashicorp.waypoint.UI.PipelineRunBundle.application:type_name -> hashicorp.waypoint.Ref.Application - 419, // 506: hashicorp.waypoint.UI.PipelineRunBundle.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 502, // 507: hashicorp.waypoint.UI.PipelineRunTreeNode.step:type_name -> hashicorp.waypoint.Pipeline.Step - 1, // 508: hashicorp.waypoint.UI.PipelineRunTreeNode.state:type_name -> hashicorp.waypoint.UI.PipelineRunTreeNode.State - 530, // 509: hashicorp.waypoint.UI.PipelineRunTreeNode.start_time:type_name -> google.protobuf.Timestamp - 530, // 510: hashicorp.waypoint.UI.PipelineRunTreeNode.complete_time:type_name -> google.protobuf.Timestamp - 334, // 511: hashicorp.waypoint.UI.PipelineRunTreeNode.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 512: hashicorp.waypoint.UI.PipelineRunTreeNode.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 353, // 513: hashicorp.waypoint.UI.PipelineRunTreeNode.job:type_name -> hashicorp.waypoint.Ref.Job - 371, // 514: hashicorp.waypoint.UI.PipelineRunTreeNode.result:type_name -> hashicorp.waypoint.Job.Result - 193, // 515: hashicorp.waypoint.UI.PipelineRunTreeNode.latest_status_report:type_name -> hashicorp.waypoint.StatusReport - 320, // 516: hashicorp.waypoint.UI.PipelineRunTreeNode.children:type_name -> hashicorp.waypoint.UI.PipelineRunTreeNode.Children - 334, // 517: hashicorp.waypoint.UI.ListDeploymentsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 518: hashicorp.waypoint.UI.ListDeploymentsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 45, // 519: hashicorp.waypoint.UI.ListDeploymentsRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 43, // 520: hashicorp.waypoint.UI.ListDeploymentsRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 10, // 521: hashicorp.waypoint.UI.ListDeploymentsRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 308, // 522: hashicorp.waypoint.UI.ListDeploymentsResponse.deployments:type_name -> hashicorp.waypoint.UI.DeploymentBundle - 340, // 523: hashicorp.waypoint.UI.GetDeploymentRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation - 18, // 524: hashicorp.waypoint.UI.GetDeploymentRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails - 308, // 525: hashicorp.waypoint.UI.GetDeploymentResponse.deployment:type_name -> hashicorp.waypoint.UI.DeploymentBundle - 162, // 526: hashicorp.waypoint.UI.DeploymentBundle.deployment:type_name -> hashicorp.waypoint.Deployment - 154, // 527: hashicorp.waypoint.UI.DeploymentBundle.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 138, // 528: hashicorp.waypoint.UI.DeploymentBundle.build:type_name -> hashicorp.waypoint.Build - 419, // 529: hashicorp.waypoint.UI.DeploymentBundle.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 193, // 530: hashicorp.waypoint.UI.DeploymentBundle.latest_status_report:type_name -> hashicorp.waypoint.StatusReport - 334, // 531: hashicorp.waypoint.UI.ListReleasesRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 532: hashicorp.waypoint.UI.ListReleasesRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 45, // 533: hashicorp.waypoint.UI.ListReleasesRequest.order:type_name -> hashicorp.waypoint.OperationOrder - 43, // 534: hashicorp.waypoint.UI.ListReleasesRequest.status:type_name -> hashicorp.waypoint.StatusFilter - 10, // 535: hashicorp.waypoint.UI.ListReleasesRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState - 311, // 536: hashicorp.waypoint.UI.ListReleasesResponse.releases:type_name -> hashicorp.waypoint.UI.ReleaseBundle - 173, // 537: hashicorp.waypoint.UI.ReleaseBundle.release:type_name -> hashicorp.waypoint.Release - 193, // 538: hashicorp.waypoint.UI.ReleaseBundle.latest_status_report:type_name -> hashicorp.waypoint.StatusReport - 334, // 539: hashicorp.waypoint.UI.ListEventsRequest.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 540: hashicorp.waypoint.UI.ListEventsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 287, // 541: hashicorp.waypoint.UI.ListEventsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest - 289, // 542: hashicorp.waypoint.UI.ListEventsRequest.sorting:type_name -> hashicorp.waypoint.SortingRequest - 335, // 543: hashicorp.waypoint.UI.ListEventsRequest.project:type_name -> hashicorp.waypoint.Ref.Project - 314, // 544: hashicorp.waypoint.UI.ListEventsResponse.events:type_name -> hashicorp.waypoint.UI.EventBundle - 288, // 545: hashicorp.waypoint.UI.ListEventsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse - 530, // 546: hashicorp.waypoint.UI.EventBundle.timestamp:type_name -> google.protobuf.Timestamp - 3, // 547: hashicorp.waypoint.UI.EventBundle.event_type:type_name -> hashicorp.waypoint.UI.EventBundle.EventType - 41, // 548: hashicorp.waypoint.UI.EventBuild.component:type_name -> hashicorp.waypoint.Component - 336, // 549: hashicorp.waypoint.UI.EventBuild.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 550: hashicorp.waypoint.UI.EventBuild.status:type_name -> hashicorp.waypoint.Status - 41, // 551: hashicorp.waypoint.UI.EventDeployment.component:type_name -> hashicorp.waypoint.Component - 336, // 552: hashicorp.waypoint.UI.EventDeployment.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 553: hashicorp.waypoint.UI.EventDeployment.status:type_name -> hashicorp.waypoint.Status - 41, // 554: hashicorp.waypoint.UI.EventRelease.component:type_name -> hashicorp.waypoint.Component - 336, // 555: hashicorp.waypoint.UI.EventRelease.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 42, // 556: hashicorp.waypoint.UI.EventRelease.status:type_name -> hashicorp.waypoint.Status - 4, // 557: hashicorp.waypoint.UI.EventAddOn.add_on_operation:type_name -> hashicorp.waypoint.UI.EventAddOn.operation - 315, // 558: hashicorp.waypoint.UI.ListEventSchemasResponse.event_build_schema:type_name -> hashicorp.waypoint.UI.EventBuild - 316, // 559: hashicorp.waypoint.UI.ListEventSchemasResponse.event_deployment_schema:type_name -> hashicorp.waypoint.UI.EventDeployment - 317, // 560: hashicorp.waypoint.UI.ListEventSchemasResponse.event_release_schema:type_name -> hashicorp.waypoint.UI.EventRelease - 318, // 561: hashicorp.waypoint.UI.ListEventSchemasResponse.event_add_on_schema:type_name -> hashicorp.waypoint.UI.EventAddOn - 2, // 562: hashicorp.waypoint.UI.PipelineRunTreeNode.Children.mode:type_name -> hashicorp.waypoint.UI.PipelineRunTreeNode.Children.Mode - 303, // 563: hashicorp.waypoint.UI.PipelineRunTreeNode.Children.nodes:type_name -> hashicorp.waypoint.UI.PipelineRunTreeNode - 325, // 564: hashicorp.waypoint.Variable.File.hcl_range:type_name -> hashicorp.waypoint.Variable.HclRange - 325, // 565: hashicorp.waypoint.Variable.VCS.hcl_range:type_name -> hashicorp.waypoint.Variable.HclRange - 324, // 566: hashicorp.waypoint.Variable.HclRange.start:type_name -> hashicorp.waypoint.Variable.HclPos - 324, // 567: hashicorp.waypoint.Variable.HclRange.end:type_name -> hashicorp.waypoint.Variable.HclPos - 6, // 568: hashicorp.waypoint.Variable.FinalValue.source:type_name -> hashicorp.waypoint.Variable.FinalValue.Source - 335, // 569: hashicorp.waypoint.Workspace.Project.project:type_name -> hashicorp.waypoint.Ref.Project - 336, // 570: hashicorp.waypoint.Workspace.Project.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 419, // 571: hashicorp.waypoint.Workspace.Project.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 530, // 572: hashicorp.waypoint.Workspace.Project.active_time:type_name -> google.protobuf.Timestamp - 330, // 573: hashicorp.waypoint.Workspace.Project.applications:type_name -> hashicorp.waypoint.Workspace.Application - 334, // 574: hashicorp.waypoint.Workspace.Application.application:type_name -> hashicorp.waypoint.Ref.Application - 530, // 575: hashicorp.waypoint.Workspace.Application.active_time:type_name -> google.protobuf.Timestamp - 332, // 576: hashicorp.waypoint.User.Link.oidc:type_name -> hashicorp.waypoint.User.Link.OIDC - 8, // 577: hashicorp.waypoint.Ref.Component.type:type_name -> hashicorp.waypoint.Component.Type - 341, // 578: hashicorp.waypoint.Ref.Operation.sequence:type_name -> hashicorp.waypoint.Ref.OperationSeq - 334, // 579: hashicorp.waypoint.Ref.OperationSeq.application:type_name -> hashicorp.waypoint.Ref.Application - 343, // 580: hashicorp.waypoint.Ref.Runner.any:type_name -> hashicorp.waypoint.Ref.RunnerAny - 344, // 581: hashicorp.waypoint.Ref.Runner.id:type_name -> hashicorp.waypoint.Ref.RunnerId - 345, // 582: hashicorp.waypoint.Ref.Runner.labels:type_name -> hashicorp.waypoint.Ref.RunnerLabels - 361, // 583: hashicorp.waypoint.Ref.RunnerLabels.labels:type_name -> hashicorp.waypoint.Ref.RunnerLabels.LabelsEntry - 347, // 584: hashicorp.waypoint.Ref.User.id:type_name -> hashicorp.waypoint.Ref.UserId - 348, // 585: hashicorp.waypoint.Ref.User.username:type_name -> hashicorp.waypoint.Ref.UserUsername - 356, // 586: hashicorp.waypoint.Ref.Pipeline.owner:type_name -> hashicorp.waypoint.Ref.PipelineOwner - 335, // 587: hashicorp.waypoint.Ref.PipelineOwner.project:type_name -> hashicorp.waypoint.Ref.Project - 9, // 588: hashicorp.waypoint.StatusFilter.Filter.state:type_name -> hashicorp.waypoint.Status.State - 365, // 589: hashicorp.waypoint.AuthMethod.OIDC.claim_mappings:type_name -> hashicorp.waypoint.AuthMethod.OIDC.ClaimMappingsEntry - 366, // 590: hashicorp.waypoint.AuthMethod.OIDC.list_claim_mappings:type_name -> hashicorp.waypoint.AuthMethod.OIDC.ListClaimMappingsEntry - 49, // 591: hashicorp.waypoint.Job.TaskOverride.launch_info:type_name -> hashicorp.waypoint.TaskLaunchInfo - 326, // 592: hashicorp.waypoint.Job.VariableFinalValuesEntry.value:type_name -> hashicorp.waypoint.Variable.FinalValue - 385, // 593: hashicorp.waypoint.Job.Result.build:type_name -> hashicorp.waypoint.Job.BuildResult - 387, // 594: hashicorp.waypoint.Job.Result.push:type_name -> hashicorp.waypoint.Job.PushResult - 389, // 595: hashicorp.waypoint.Job.Result.deploy:type_name -> hashicorp.waypoint.Job.DeployResult - 395, // 596: hashicorp.waypoint.Job.Result.release:type_name -> hashicorp.waypoint.Job.ReleaseResult - 381, // 597: hashicorp.waypoint.Job.Result.validate:type_name -> hashicorp.waypoint.Job.ValidateResult - 383, // 598: hashicorp.waypoint.Job.Result.auth:type_name -> hashicorp.waypoint.Job.AuthResult - 405, // 599: hashicorp.waypoint.Job.Result.docs:type_name -> hashicorp.waypoint.Job.DocsResult - 407, // 600: hashicorp.waypoint.Job.Result.config_sync:type_name -> hashicorp.waypoint.Job.ConfigSyncResult - 379, // 601: hashicorp.waypoint.Job.Result.up:type_name -> hashicorp.waypoint.Job.UpResult - 418, // 602: hashicorp.waypoint.Job.Result.queue_project:type_name -> hashicorp.waypoint.Job.QueueProjectResult - 411, // 603: hashicorp.waypoint.Job.Result.poll:type_name -> hashicorp.waypoint.Job.PollResult - 403, // 604: hashicorp.waypoint.Job.Result.status_report:type_name -> hashicorp.waypoint.Job.StatusReportResult - 398, // 605: hashicorp.waypoint.Job.Result.start_task:type_name -> hashicorp.waypoint.Job.StartTaskResult - 413, // 606: hashicorp.waypoint.Job.Result.init:type_name -> hashicorp.waypoint.Job.InitResult - 401, // 607: hashicorp.waypoint.Job.Result.watch_task:type_name -> hashicorp.waypoint.Job.WatchTaskResult - 416, // 608: hashicorp.waypoint.Job.Result.pipeline_step:type_name -> hashicorp.waypoint.Job.PipelineStepResult - 408, // 609: hashicorp.waypoint.Job.Result.pipeline_config_sync:type_name -> hashicorp.waypoint.Job.PipelineConfigSyncResult - 409, // 610: hashicorp.waypoint.Job.Result.project_destroy:type_name -> hashicorp.waypoint.Job.ProjectDestroyResult - 15, // 611: hashicorp.waypoint.Job.Config.source:type_name -> hashicorp.waypoint.Job.Config.Source - 374, // 612: hashicorp.waypoint.Job.DataSource.local:type_name -> hashicorp.waypoint.Job.Local - 376, // 613: hashicorp.waypoint.Job.DataSource.git:type_name -> hashicorp.waypoint.Job.Git - 375, // 614: hashicorp.waypoint.Job.DataSource.remote:type_name -> hashicorp.waypoint.Job.Remote - 376, // 615: hashicorp.waypoint.Job.Remote.git_remote:type_name -> hashicorp.waypoint.Job.Git - 420, // 616: hashicorp.waypoint.Job.Git.basic:type_name -> hashicorp.waypoint.Job.Git.Basic - 421, // 617: hashicorp.waypoint.Job.Git.ssh:type_name -> hashicorp.waypoint.Job.Git.SSH - 394, // 618: hashicorp.waypoint.Job.UpOp.release:type_name -> hashicorp.waypoint.Job.ReleaseOp - 339, // 619: hashicorp.waypoint.Job.AuthOp.component:type_name -> hashicorp.waypoint.Ref.Component - 423, // 620: hashicorp.waypoint.Job.AuthResult.results:type_name -> hashicorp.waypoint.Job.AuthResult.Result - 138, // 621: hashicorp.waypoint.Job.BuildResult.build:type_name -> hashicorp.waypoint.Build - 154, // 622: hashicorp.waypoint.Job.BuildResult.push:type_name -> hashicorp.waypoint.PushedArtifact - 138, // 623: hashicorp.waypoint.Job.PushOp.build:type_name -> hashicorp.waypoint.Build - 154, // 624: hashicorp.waypoint.Job.PushResult.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 154, // 625: hashicorp.waypoint.Job.DeployOp.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 162, // 626: hashicorp.waypoint.Job.DeployResult.deployment:type_name -> hashicorp.waypoint.Deployment - 162, // 627: hashicorp.waypoint.Job.ExecOp.deployment:type_name -> hashicorp.waypoint.Deployment - 162, // 628: hashicorp.waypoint.Job.LogsOp.deployment:type_name -> hashicorp.waypoint.Deployment - 530, // 629: hashicorp.waypoint.Job.LogsOp.start_time:type_name -> google.protobuf.Timestamp - 529, // 630: hashicorp.waypoint.Job.DestroyOp.workspace:type_name -> google.protobuf.Empty - 162, // 631: hashicorp.waypoint.Job.DestroyOp.deployment:type_name -> hashicorp.waypoint.Deployment - 162, // 632: hashicorp.waypoint.Job.ReleaseOp.deployment:type_name -> hashicorp.waypoint.Deployment - 173, // 633: hashicorp.waypoint.Job.ReleaseResult.release:type_name -> hashicorp.waypoint.Release - 30, // 634: hashicorp.waypoint.Job.TaskPluginParams.hcl_format:type_name -> hashicorp.waypoint.Hcl.Format - 49, // 635: hashicorp.waypoint.Job.StartTaskLaunchOp.info:type_name -> hashicorp.waypoint.TaskLaunchInfo - 396, // 636: hashicorp.waypoint.Job.StartTaskLaunchOp.params:type_name -> hashicorp.waypoint.Job.TaskPluginParams - 532, // 637: hashicorp.waypoint.Job.StartTaskResult.state:type_name -> opaqueany.Any - 396, // 638: hashicorp.waypoint.Job.StopTaskLaunchOp.params:type_name -> hashicorp.waypoint.Job.TaskPluginParams - 532, // 639: hashicorp.waypoint.Job.StopTaskLaunchOp.direct:type_name -> opaqueany.Any - 353, // 640: hashicorp.waypoint.Job.WatchTaskOp.start_job:type_name -> hashicorp.waypoint.Ref.Job - 162, // 641: hashicorp.waypoint.Job.StatusReportOp.deployment:type_name -> hashicorp.waypoint.Deployment - 173, // 642: hashicorp.waypoint.Job.StatusReportOp.release:type_name -> hashicorp.waypoint.Release - 193, // 643: hashicorp.waypoint.Job.StatusReportResult.status_report:type_name -> hashicorp.waypoint.StatusReport - 424, // 644: hashicorp.waypoint.Job.DocsResult.results:type_name -> hashicorp.waypoint.Job.DocsResult.Result - 425, // 645: hashicorp.waypoint.Job.PipelineConfigSyncResult.synced_pipelines:type_name -> hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry - 419, // 646: hashicorp.waypoint.Job.PollResult.old_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 419, // 647: hashicorp.waypoint.Job.PollResult.new_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 502, // 648: hashicorp.waypoint.Job.PipelineStepOp.step:type_name -> hashicorp.waypoint.Pipeline.Step - 335, // 649: hashicorp.waypoint.Job.DestroyProjectOp.project:type_name -> hashicorp.waypoint.Ref.Project - 531, // 650: hashicorp.waypoint.Job.PipelineStepResult.result:type_name -> google.rpc.Status - 84, // 651: hashicorp.waypoint.Job.QueueProjectOp.job_template:type_name -> hashicorp.waypoint.Job - 426, // 652: hashicorp.waypoint.Job.QueueProjectResult.applications:type_name -> hashicorp.waypoint.Job.QueueProjectResult.Application - 529, // 653: hashicorp.waypoint.Job.DataSource.Ref.unknown:type_name -> google.protobuf.Empty - 422, // 654: hashicorp.waypoint.Job.DataSource.Ref.git:type_name -> hashicorp.waypoint.Job.Git.Ref - 530, // 655: hashicorp.waypoint.Job.Git.Ref.timestamp:type_name -> google.protobuf.Timestamp - 41, // 656: hashicorp.waypoint.Job.AuthResult.Result.component:type_name -> hashicorp.waypoint.Component - 531, // 657: hashicorp.waypoint.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status - 531, // 658: hashicorp.waypoint.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status - 41, // 659: hashicorp.waypoint.Job.DocsResult.Result.component:type_name -> hashicorp.waypoint.Component - 85, // 660: hashicorp.waypoint.Job.DocsResult.Result.docs:type_name -> hashicorp.waypoint.Documentation - 355, // 661: hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry.value:type_name -> hashicorp.waypoint.Ref.Pipeline - 334, // 662: hashicorp.waypoint.Job.QueueProjectResult.Application.application:type_name -> hashicorp.waypoint.Ref.Application - 428, // 663: hashicorp.waypoint.Documentation.FieldsEntry.value:type_name -> hashicorp.waypoint.Documentation.Field - 14, // 664: hashicorp.waypoint.GetJobStreamResponse.State.previous:type_name -> hashicorp.waypoint.Job.State - 14, // 665: hashicorp.waypoint.GetJobStreamResponse.State.current:type_name -> hashicorp.waypoint.Job.State - 84, // 666: hashicorp.waypoint.GetJobStreamResponse.State.job:type_name -> hashicorp.waypoint.Job - 84, // 667: hashicorp.waypoint.GetJobStreamResponse.JobChange.job:type_name -> hashicorp.waypoint.Job - 419, // 668: hashicorp.waypoint.GetJobStreamResponse.Download.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 437, // 669: hashicorp.waypoint.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event - 531, // 670: hashicorp.waypoint.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status - 531, // 671: hashicorp.waypoint.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status - 371, // 672: hashicorp.waypoint.GetJobStreamResponse.Complete.result:type_name -> hashicorp.waypoint.Job.Result - 530, // 673: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp - 439, // 674: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Line - 438, // 675: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Status - 442, // 676: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues - 440, // 677: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Raw - 445, // 678: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table - 446, // 679: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.StepGroup - 447, // 680: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Step - 441, // 681: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValue - 443, // 682: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableEntry - 444, // 683: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow - 91, // 684: hashicorp.waypoint.RunnerConfigRequest.Open.runner:type_name -> hashicorp.waypoint.Runner - 371, // 685: hashicorp.waypoint.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.waypoint.Job.Result - 531, // 686: hashicorp.waypoint.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status - 372, // 687: hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad.config:type_name -> hashicorp.waypoint.Job.Config - 460, // 688: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.final_values:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry - 326, // 689: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry.value:type_name -> hashicorp.waypoint.Variable.FinalValue - 84, // 690: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.waypoint.Job - 203, // 691: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment.config_sources:type_name -> hashicorp.waypoint.ConfigSource - 466, // 692: hashicorp.waypoint.Hostname.Target.application:type_name -> hashicorp.waypoint.Hostname.TargetApp - 334, // 693: hashicorp.waypoint.Hostname.TargetApp.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 694: hashicorp.waypoint.Hostname.TargetApp.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 419, // 695: hashicorp.waypoint.Build.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 419, // 696: hashicorp.waypoint.PushedArtifact.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 154, // 697: hashicorp.waypoint.Deployment.Preload.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 138, // 698: hashicorp.waypoint.Deployment.Preload.build:type_name -> hashicorp.waypoint.Build - 419, // 699: hashicorp.waypoint.Deployment.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 334, // 700: hashicorp.waypoint.ListInstancesRequest.Application.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 701: hashicorp.waypoint.ListInstancesRequest.Application.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 162, // 702: hashicorp.waypoint.Release.Preload.deployment:type_name -> hashicorp.waypoint.Deployment - 154, // 703: hashicorp.waypoint.Release.Preload.artifact:type_name -> hashicorp.waypoint.PushedArtifact - 138, // 704: hashicorp.waypoint.Release.Preload.build:type_name -> hashicorp.waypoint.Build - 419, // 705: hashicorp.waypoint.Release.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref - 350, // 706: hashicorp.waypoint.StatusReport.Resource.declared_resource:type_name -> hashicorp.waypoint.Ref.DeclaredResource - 0, // 707: hashicorp.waypoint.StatusReport.Resource.category_display_hint:type_name -> hashicorp.waypoint.ResourceCategoryDisplayHint - 530, // 708: hashicorp.waypoint.StatusReport.Resource.created_time:type_name -> google.protobuf.Timestamp - 21, // 709: hashicorp.waypoint.StatusReport.Resource.health:type_name -> hashicorp.waypoint.StatusReport.Resource.Health - 478, // 710: hashicorp.waypoint.StatusReport.Resource.deprecated_health:type_name -> hashicorp.waypoint.StatusReport.Health - 334, // 711: hashicorp.waypoint.GetLogStreamRequest.Application.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 712: hashicorp.waypoint.GetLogStreamRequest.Application.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 22, // 713: hashicorp.waypoint.LogBatch.Entry.source:type_name -> hashicorp.waypoint.LogBatch.Entry.Source - 530, // 714: hashicorp.waypoint.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp - 483, // 715: hashicorp.waypoint.ConfigVar.DynamicVal.config:type_name -> hashicorp.waypoint.ConfigVar.DynamicVal.ConfigEntry - 333, // 716: hashicorp.waypoint.ConfigVar.Target.global:type_name -> hashicorp.waypoint.Ref.Global - 335, // 717: hashicorp.waypoint.ConfigVar.Target.project:type_name -> hashicorp.waypoint.Ref.Project - 334, // 718: hashicorp.waypoint.ConfigVar.Target.application:type_name -> hashicorp.waypoint.Ref.Application - 336, // 719: hashicorp.waypoint.ConfigVar.Target.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 342, // 720: hashicorp.waypoint.ConfigVar.Target.runner:type_name -> hashicorp.waypoint.Ref.Runner - 488, // 721: hashicorp.waypoint.ExecStreamRequest.Start.pty:type_name -> hashicorp.waypoint.ExecStreamRequest.PTY - 489, // 722: hashicorp.waypoint.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize - 23, // 723: hashicorp.waypoint.ExecStreamResponse.Output.channel:type_name -> hashicorp.waypoint.ExecStreamResponse.Output.Channel - 488, // 724: hashicorp.waypoint.EntrypointConfig.Exec.pty:type_name -> hashicorp.waypoint.ExecStreamRequest.PTY - 41, // 725: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.component:type_name -> hashicorp.waypoint.Component - 496, // 726: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.labels:type_name -> hashicorp.waypoint.EntrypointConfig.DeploymentInfo.LabelsEntry - 24, // 727: hashicorp.waypoint.EntrypointExecRequest.Output.channel:type_name -> hashicorp.waypoint.EntrypointExecRequest.Output.Channel - 531, // 728: hashicorp.waypoint.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status - 502, // 729: hashicorp.waypoint.Pipeline.StepsEntry.value:type_name -> hashicorp.waypoint.Pipeline.Step - 503, // 730: hashicorp.waypoint.Pipeline.Step.exec:type_name -> hashicorp.waypoint.Pipeline.Step.Exec - 504, // 731: hashicorp.waypoint.Pipeline.Step.build:type_name -> hashicorp.waypoint.Pipeline.Step.Build - 505, // 732: hashicorp.waypoint.Pipeline.Step.deploy:type_name -> hashicorp.waypoint.Pipeline.Step.Deploy - 506, // 733: hashicorp.waypoint.Pipeline.Step.release:type_name -> hashicorp.waypoint.Pipeline.Step.Release - 507, // 734: hashicorp.waypoint.Pipeline.Step.up:type_name -> hashicorp.waypoint.Pipeline.Step.Up - 508, // 735: hashicorp.waypoint.Pipeline.Step.pipeline:type_name -> hashicorp.waypoint.Pipeline.Step.Pipeline - 336, // 736: hashicorp.waypoint.Pipeline.Step.workspace:type_name -> hashicorp.waypoint.Ref.Workspace - 337, // 737: hashicorp.waypoint.Pipeline.Step.Release.deployment:type_name -> hashicorp.waypoint.Ref.Deployment - 355, // 738: hashicorp.waypoint.Pipeline.Step.Pipeline.ref:type_name -> hashicorp.waypoint.Ref.Pipeline - 26, // 739: hashicorp.waypoint.GetPipelineResponse.Graph.format:type_name -> hashicorp.waypoint.GetPipelineResponse.Graph.Format - 357, // 740: hashicorp.waypoint.RunPipelineResponse.JobMapEntry.value:type_name -> hashicorp.waypoint.Ref.PipelineStep - 355, // 741: hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry.value:type_name -> hashicorp.waypoint.Ref.Pipeline - 519, // 742: hashicorp.waypoint.Token.Login.entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint - 516, // 743: hashicorp.waypoint.Token.Invite.login:type_name -> hashicorp.waypoint.Token.Login - 521, // 744: hashicorp.waypoint.Token.Invite.signup:type_name -> hashicorp.waypoint.Token.Invite.Signup - 34, // 745: hashicorp.waypoint.Snapshot.Header.version:type_name -> hashicorp.waypoint.VersionInfo - 29, // 746: hashicorp.waypoint.Snapshot.Header.format:type_name -> hashicorp.waypoint.Snapshot.Header.Format - 528, // 747: hashicorp.waypoint.Snapshot.BoltChunk.items:type_name -> hashicorp.waypoint.Snapshot.BoltChunk.ItemsEntry - 529, // 748: hashicorp.waypoint.Waypoint.GetVersionInfo:input_type -> google.protobuf.Empty - 529, // 749: hashicorp.waypoint.Waypoint.ListOIDCAuthMethods:input_type -> google.protobuf.Empty - 75, // 750: hashicorp.waypoint.Waypoint.GetOIDCAuthURL:input_type -> hashicorp.waypoint.GetOIDCAuthURLRequest - 77, // 751: hashicorp.waypoint.Waypoint.CompleteOIDCAuth:input_type -> hashicorp.waypoint.CompleteOIDCAuthRequest - 181, // 752: hashicorp.waypoint.Waypoint.NoAuthRunTrigger:input_type -> hashicorp.waypoint.RunTriggerRequest - 60, // 753: hashicorp.waypoint.Waypoint.GetUser:input_type -> hashicorp.waypoint.GetUserRequest - 529, // 754: hashicorp.waypoint.Waypoint.ListUsers:input_type -> google.protobuf.Empty - 63, // 755: hashicorp.waypoint.Waypoint.UpdateUser:input_type -> hashicorp.waypoint.UpdateUserRequest - 65, // 756: hashicorp.waypoint.Waypoint.DeleteUser:input_type -> hashicorp.waypoint.DeleteUserRequest - 68, // 757: hashicorp.waypoint.Waypoint.UpsertAuthMethod:input_type -> hashicorp.waypoint.UpsertAuthMethodRequest - 70, // 758: hashicorp.waypoint.Waypoint.GetAuthMethod:input_type -> hashicorp.waypoint.GetAuthMethodRequest - 529, // 759: hashicorp.waypoint.Waypoint.ListAuthMethods:input_type -> google.protobuf.Empty - 72, // 760: hashicorp.waypoint.Waypoint.DeleteAuthMethod:input_type -> hashicorp.waypoint.DeleteAuthMethodRequest - 115, // 761: hashicorp.waypoint.Waypoint.ListWorkspaces:input_type -> hashicorp.waypoint.ListWorkspacesRequest - 117, // 762: hashicorp.waypoint.Waypoint.GetWorkspace:input_type -> hashicorp.waypoint.GetWorkspaceRequest - 119, // 763: hashicorp.waypoint.Waypoint.UpsertWorkspace:input_type -> hashicorp.waypoint.UpsertWorkspaceRequest - 121, // 764: hashicorp.waypoint.Waypoint.UpsertProject:input_type -> hashicorp.waypoint.UpsertProjectRequest - 123, // 765: hashicorp.waypoint.Waypoint.GetProject:input_type -> hashicorp.waypoint.GetProjectRequest - 125, // 766: hashicorp.waypoint.Waypoint.ListProjects:input_type -> hashicorp.waypoint.ListProjectsRequest - 127, // 767: hashicorp.waypoint.Waypoint.DestroyProject:input_type -> hashicorp.waypoint.DestroyProjectRequest - 128, // 768: hashicorp.waypoint.Waypoint.GetApplication:input_type -> hashicorp.waypoint.GetApplicationRequest - 130, // 769: hashicorp.waypoint.Waypoint.UpsertApplication:input_type -> hashicorp.waypoint.UpsertApplicationRequest - 134, // 770: hashicorp.waypoint.Waypoint.ListBuilds:input_type -> hashicorp.waypoint.ListBuildsRequest - 137, // 771: hashicorp.waypoint.Waypoint.GetBuild:input_type -> hashicorp.waypoint.GetBuildRequest - 136, // 772: hashicorp.waypoint.Waypoint.GetLatestBuild:input_type -> hashicorp.waypoint.GetLatestBuildRequest - 152, // 773: hashicorp.waypoint.Waypoint.ListPushedArtifacts:input_type -> hashicorp.waypoint.ListPushedArtifactsRequest - 151, // 774: hashicorp.waypoint.Waypoint.GetPushedArtifact:input_type -> hashicorp.waypoint.GetPushedArtifactRequest - 150, // 775: hashicorp.waypoint.Waypoint.GetLatestPushedArtifact:input_type -> hashicorp.waypoint.GetLatestPushedArtifactRequest - 160, // 776: hashicorp.waypoint.Waypoint.ListDeployments:input_type -> hashicorp.waypoint.ListDeploymentsRequest - 157, // 777: hashicorp.waypoint.Waypoint.GetDeployment:input_type -> hashicorp.waypoint.GetDeploymentRequest - 155, // 778: hashicorp.waypoint.Waypoint.GetLatestDeployment:input_type -> hashicorp.waypoint.GetLatestDeploymentRequest - 164, // 779: hashicorp.waypoint.Waypoint.ListInstances:input_type -> hashicorp.waypoint.ListInstancesRequest - 170, // 780: hashicorp.waypoint.Waypoint.ListReleases:input_type -> hashicorp.waypoint.ListReleasesRequest - 172, // 781: hashicorp.waypoint.Waypoint.GetRelease:input_type -> hashicorp.waypoint.GetReleaseRequest - 169, // 782: hashicorp.waypoint.Waypoint.GetLatestRelease:input_type -> hashicorp.waypoint.GetLatestReleaseRequest - 190, // 783: hashicorp.waypoint.Waypoint.GetStatusReport:input_type -> hashicorp.waypoint.GetStatusReportRequest - 187, // 784: hashicorp.waypoint.Waypoint.GetLatestStatusReport:input_type -> hashicorp.waypoint.GetLatestStatusReportRequest - 188, // 785: hashicorp.waypoint.Waypoint.ListStatusReports:input_type -> hashicorp.waypoint.ListStatusReportsRequest - 191, // 786: hashicorp.waypoint.Waypoint.ExpediteStatusReport:input_type -> hashicorp.waypoint.ExpediteStatusReportRequest - 194, // 787: hashicorp.waypoint.Waypoint.GetLogStream:input_type -> hashicorp.waypoint.GetLogStreamRequest - 208, // 788: hashicorp.waypoint.Waypoint.StartExecStream:input_type -> hashicorp.waypoint.ExecStreamRequest - 197, // 789: hashicorp.waypoint.Waypoint.SetConfig:input_type -> hashicorp.waypoint.ConfigSetRequest - 199, // 790: hashicorp.waypoint.Waypoint.DeleteConfig:input_type -> hashicorp.waypoint.ConfigDeleteRequest - 201, // 791: hashicorp.waypoint.Waypoint.GetConfig:input_type -> hashicorp.waypoint.ConfigGetRequest - 204, // 792: hashicorp.waypoint.Waypoint.SetConfigSource:input_type -> hashicorp.waypoint.SetConfigSourceRequest - 205, // 793: hashicorp.waypoint.Waypoint.DeleteConfigSource:input_type -> hashicorp.waypoint.DeleteConfigSourceRequest - 206, // 794: hashicorp.waypoint.Waypoint.GetConfigSource:input_type -> hashicorp.waypoint.GetConfigSourceRequest - 109, // 795: hashicorp.waypoint.Waypoint.CreateHostname:input_type -> hashicorp.waypoint.CreateHostnameRequest - 113, // 796: hashicorp.waypoint.Waypoint.DeleteHostname:input_type -> hashicorp.waypoint.DeleteHostnameRequest - 111, // 797: hashicorp.waypoint.Waypoint.ListHostnames:input_type -> hashicorp.waypoint.ListHostnamesRequest - 79, // 798: hashicorp.waypoint.Waypoint.QueueJob:input_type -> hashicorp.waypoint.QueueJobRequest - 81, // 799: hashicorp.waypoint.Waypoint.CancelJob:input_type -> hashicorp.waypoint.CancelJobRequest - 86, // 800: hashicorp.waypoint.Waypoint.GetJob:input_type -> hashicorp.waypoint.GetJobRequest - 87, // 801: hashicorp.waypoint.Waypoint.ListJobs:input_type -> hashicorp.waypoint.ListJobsRequest - 82, // 802: hashicorp.waypoint.Waypoint.ValidateJob:input_type -> hashicorp.waypoint.ValidateJobRequest - 89, // 803: hashicorp.waypoint.Waypoint.GetJobStream:input_type -> hashicorp.waypoint.GetJobStreamRequest - 101, // 804: hashicorp.waypoint.Waypoint.GetRunner:input_type -> hashicorp.waypoint.GetRunnerRequest - 102, // 805: hashicorp.waypoint.Waypoint.ListRunners:input_type -> hashicorp.waypoint.ListRunnersRequest - 104, // 806: hashicorp.waypoint.Waypoint.AdoptRunner:input_type -> hashicorp.waypoint.AdoptRunnerRequest - 105, // 807: hashicorp.waypoint.Waypoint.ForgetRunner:input_type -> hashicorp.waypoint.ForgetRunnerRequest - 529, // 808: hashicorp.waypoint.Waypoint.GetServerConfig:input_type -> google.protobuf.Empty - 106, // 809: hashicorp.waypoint.Waypoint.SetServerConfig:input_type -> hashicorp.waypoint.SetServerConfigRequest - 529, // 810: hashicorp.waypoint.Waypoint.CreateSnapshot:input_type -> google.protobuf.Empty - 281, // 811: hashicorp.waypoint.Waypoint.RestoreSnapshot:input_type -> hashicorp.waypoint.RestoreSnapshotRequest - 529, // 812: hashicorp.waypoint.Waypoint.BootstrapToken:input_type -> google.protobuf.Empty - 273, // 813: hashicorp.waypoint.Waypoint.DecodeToken:input_type -> hashicorp.waypoint.DecodeTokenRequest - 277, // 814: hashicorp.waypoint.Waypoint.GenerateInviteToken:input_type -> hashicorp.waypoint.InviteTokenRequest - 275, // 815: hashicorp.waypoint.Waypoint.GenerateLoginToken:input_type -> hashicorp.waypoint.LoginTokenRequest - 276, // 816: hashicorp.waypoint.Waypoint.GenerateRunnerToken:input_type -> hashicorp.waypoint.GenerateRunnerTokenRequest - 279, // 817: hashicorp.waypoint.Waypoint.ConvertInviteToken:input_type -> hashicorp.waypoint.ConvertInviteTokenRequest - 92, // 818: hashicorp.waypoint.Waypoint.RunnerToken:input_type -> hashicorp.waypoint.RunnerTokenRequest - 94, // 819: hashicorp.waypoint.Waypoint.RunnerConfig:input_type -> hashicorp.waypoint.RunnerConfigRequest - 97, // 820: hashicorp.waypoint.Waypoint.RunnerJobStream:input_type -> hashicorp.waypoint.RunnerJobStreamRequest - 99, // 821: hashicorp.waypoint.Waypoint.RunnerGetDeploymentConfig:input_type -> hashicorp.waypoint.RunnerGetDeploymentConfigRequest - 210, // 822: hashicorp.waypoint.Waypoint.EntrypointConfig:input_type -> hashicorp.waypoint.EntrypointConfigRequest - 213, // 823: hashicorp.waypoint.Waypoint.EntrypointLogStream:input_type -> hashicorp.waypoint.EntrypointLogBatch - 214, // 824: hashicorp.waypoint.Waypoint.EntrypointExecStream:input_type -> hashicorp.waypoint.EntrypointExecRequest - 284, // 825: hashicorp.waypoint.Waypoint.WaypointHclFmt:input_type -> hashicorp.waypoint.WaypointHclFmtRequest - 141, // 826: hashicorp.waypoint.Waypoint.UpsertOnDemandRunnerConfig:input_type -> hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest - 143, // 827: hashicorp.waypoint.Waypoint.GetOnDemandRunnerConfig:input_type -> hashicorp.waypoint.GetOnDemandRunnerConfigRequest - 529, // 828: hashicorp.waypoint.Waypoint.GetDefaultOnDemandRunnerConfig:input_type -> google.protobuf.Empty - 145, // 829: hashicorp.waypoint.Waypoint.DeleteOnDemandRunnerConfig:input_type -> hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest - 529, // 830: hashicorp.waypoint.Waypoint.ListOnDemandRunnerConfigs:input_type -> google.protobuf.Empty - 132, // 831: hashicorp.waypoint.Waypoint.UpsertBuild:input_type -> hashicorp.waypoint.UpsertBuildRequest - 148, // 832: hashicorp.waypoint.Waypoint.UpsertPushedArtifact:input_type -> hashicorp.waypoint.UpsertPushedArtifactRequest - 158, // 833: hashicorp.waypoint.Waypoint.UpsertDeployment:input_type -> hashicorp.waypoint.UpsertDeploymentRequest - 167, // 834: hashicorp.waypoint.Waypoint.UpsertRelease:input_type -> hashicorp.waypoint.UpsertReleaseRequest - 185, // 835: hashicorp.waypoint.Waypoint.UpsertStatusReport:input_type -> hashicorp.waypoint.UpsertStatusReportRequest - 53, // 836: hashicorp.waypoint.Waypoint.GetTask:input_type -> hashicorp.waypoint.GetTaskRequest - 56, // 837: hashicorp.waypoint.Waypoint.ListTask:input_type -> hashicorp.waypoint.ListTaskRequest - 58, // 838: hashicorp.waypoint.Waypoint.CancelTask:input_type -> hashicorp.waypoint.CancelTaskRequest - 176, // 839: hashicorp.waypoint.Waypoint.UpsertTrigger:input_type -> hashicorp.waypoint.UpsertTriggerRequest - 178, // 840: hashicorp.waypoint.Waypoint.GetTrigger:input_type -> hashicorp.waypoint.GetTriggerRequest - 180, // 841: hashicorp.waypoint.Waypoint.DeleteTrigger:input_type -> hashicorp.waypoint.DeleteTriggerRequest - 183, // 842: hashicorp.waypoint.Waypoint.ListTriggers:input_type -> hashicorp.waypoint.ListTriggerRequest - 181, // 843: hashicorp.waypoint.Waypoint.RunTrigger:input_type -> hashicorp.waypoint.RunTriggerRequest - 218, // 844: hashicorp.waypoint.Waypoint.UpsertPipeline:input_type -> hashicorp.waypoint.UpsertPipelineRequest - 222, // 845: hashicorp.waypoint.Waypoint.RunPipeline:input_type -> hashicorp.waypoint.RunPipelineRequest - 220, // 846: hashicorp.waypoint.Waypoint.GetPipeline:input_type -> hashicorp.waypoint.GetPipelineRequest - 228, // 847: hashicorp.waypoint.Waypoint.GetPipelineRun:input_type -> hashicorp.waypoint.GetPipelineRunRequest - 220, // 848: hashicorp.waypoint.Waypoint.GetLatestPipelineRun:input_type -> hashicorp.waypoint.GetPipelineRequest - 224, // 849: hashicorp.waypoint.Waypoint.ListPipelines:input_type -> hashicorp.waypoint.ListPipelinesRequest - 226, // 850: hashicorp.waypoint.Waypoint.ListPipelineRuns:input_type -> hashicorp.waypoint.ListPipelineRunsRequest - 230, // 851: hashicorp.waypoint.Waypoint.ConfigSyncPipeline:input_type -> hashicorp.waypoint.ConfigSyncPipelineRequest - 236, // 852: hashicorp.waypoint.Waypoint.CreateProjectTemplate:input_type -> hashicorp.waypoint.CreateProjectTemplateRequest - 238, // 853: hashicorp.waypoint.Waypoint.UpdateProjectTemplate:input_type -> hashicorp.waypoint.UpdateProjectTemplateRequest - 232, // 854: hashicorp.waypoint.Waypoint.GetProjectTemplate:input_type -> hashicorp.waypoint.GetProjectTemplateRequest - 240, // 855: hashicorp.waypoint.Waypoint.DeleteProjectTemplate:input_type -> hashicorp.waypoint.DeleteProjectTemplateRequest - 234, // 856: hashicorp.waypoint.Waypoint.ListProjectTemplates:input_type -> hashicorp.waypoint.ListProjectTemplatesRequest - 268, // 857: hashicorp.waypoint.Waypoint.CreateProjectFromTemplate:input_type -> hashicorp.waypoint.CreateProjectFromTemplateRequest - 266, // 858: hashicorp.waypoint.Waypoint.GetTFCRunStatus:input_type -> hashicorp.waypoint.GetTFCRunStatusRequest - 248, // 859: hashicorp.waypoint.Waypoint.CreateAddOnDefinition:input_type -> hashicorp.waypoint.CreateAddOnDefinitionRequest - 244, // 860: hashicorp.waypoint.Waypoint.GetAddOnDefinition:input_type -> hashicorp.waypoint.GetAddOnDefinitionRequest - 246, // 861: hashicorp.waypoint.Waypoint.ListAddOnDefinitions:input_type -> hashicorp.waypoint.ListAddOnDefinitionsRequest - 250, // 862: hashicorp.waypoint.Waypoint.UpdateAddOnDefinition:input_type -> hashicorp.waypoint.UpdateAddOnDefinitionRequest - 252, // 863: hashicorp.waypoint.Waypoint.DeleteAddOnDefinition:input_type -> hashicorp.waypoint.DeleteAddOnDefinitionRequest - 253, // 864: hashicorp.waypoint.Waypoint.CreateAddOn:input_type -> hashicorp.waypoint.CreateAddOnRequest - 256, // 865: hashicorp.waypoint.Waypoint.GetAddOn:input_type -> hashicorp.waypoint.GetAddOnRequest - 258, // 866: hashicorp.waypoint.Waypoint.UpdateAddOn:input_type -> hashicorp.waypoint.UpdateAddOnRequest - 255, // 867: hashicorp.waypoint.Waypoint.DestroyAddOn:input_type -> hashicorp.waypoint.DestroyAddOnRequest - 260, // 868: hashicorp.waypoint.Waypoint.ListAddOns:input_type -> hashicorp.waypoint.ListAddOnsRequest - 262, // 869: hashicorp.waypoint.Waypoint.GetTFRunStatus:input_type -> hashicorp.waypoint.GetTFRunStatusRequest - 290, // 870: hashicorp.waypoint.Waypoint.UI_ListProjects:input_type -> hashicorp.waypoint.UI.ListProjectsRequest - 293, // 871: hashicorp.waypoint.Waypoint.UI_GetProject:input_type -> hashicorp.waypoint.UI.GetProjectRequest - 295, // 872: hashicorp.waypoint.Waypoint.UI_ListPipelines:input_type -> hashicorp.waypoint.UI.ListPipelinesRequest - 297, // 873: hashicorp.waypoint.Waypoint.UI_ListPipelineRuns:input_type -> hashicorp.waypoint.UI.ListPipelineRunsRequest - 299, // 874: hashicorp.waypoint.Waypoint.UI_GetPipelineRun:input_type -> hashicorp.waypoint.UI.GetPipelineRunRequest - 304, // 875: hashicorp.waypoint.Waypoint.UI_ListDeployments:input_type -> hashicorp.waypoint.UI.ListDeploymentsRequest - 306, // 876: hashicorp.waypoint.Waypoint.UI_GetDeployment:input_type -> hashicorp.waypoint.UI.GetDeploymentRequest - 309, // 877: hashicorp.waypoint.Waypoint.UI_ListReleases:input_type -> hashicorp.waypoint.UI.ListReleasesRequest - 312, // 878: hashicorp.waypoint.Waypoint.UI_ListEvents:input_type -> hashicorp.waypoint.UI.ListEventsRequest - 529, // 879: hashicorp.waypoint.Waypoint.INTERNAL_AdditionalMessages:input_type -> google.protobuf.Empty - 32, // 880: hashicorp.waypoint.Waypoint.GetVersionInfo:output_type -> hashicorp.waypoint.GetVersionInfoResponse - 74, // 881: hashicorp.waypoint.Waypoint.ListOIDCAuthMethods:output_type -> hashicorp.waypoint.ListOIDCAuthMethodsResponse - 76, // 882: hashicorp.waypoint.Waypoint.GetOIDCAuthURL:output_type -> hashicorp.waypoint.GetOIDCAuthURLResponse - 78, // 883: hashicorp.waypoint.Waypoint.CompleteOIDCAuth:output_type -> hashicorp.waypoint.CompleteOIDCAuthResponse - 182, // 884: hashicorp.waypoint.Waypoint.NoAuthRunTrigger:output_type -> hashicorp.waypoint.RunTriggerResponse - 61, // 885: hashicorp.waypoint.Waypoint.GetUser:output_type -> hashicorp.waypoint.GetUserResponse - 62, // 886: hashicorp.waypoint.Waypoint.ListUsers:output_type -> hashicorp.waypoint.ListUsersResponse - 64, // 887: hashicorp.waypoint.Waypoint.UpdateUser:output_type -> hashicorp.waypoint.UpdateUserResponse - 529, // 888: hashicorp.waypoint.Waypoint.DeleteUser:output_type -> google.protobuf.Empty - 69, // 889: hashicorp.waypoint.Waypoint.UpsertAuthMethod:output_type -> hashicorp.waypoint.UpsertAuthMethodResponse - 71, // 890: hashicorp.waypoint.Waypoint.GetAuthMethod:output_type -> hashicorp.waypoint.GetAuthMethodResponse - 73, // 891: hashicorp.waypoint.Waypoint.ListAuthMethods:output_type -> hashicorp.waypoint.ListAuthMethodsResponse - 529, // 892: hashicorp.waypoint.Waypoint.DeleteAuthMethod:output_type -> google.protobuf.Empty - 116, // 893: hashicorp.waypoint.Waypoint.ListWorkspaces:output_type -> hashicorp.waypoint.ListWorkspacesResponse - 118, // 894: hashicorp.waypoint.Waypoint.GetWorkspace:output_type -> hashicorp.waypoint.GetWorkspaceResponse - 120, // 895: hashicorp.waypoint.Waypoint.UpsertWorkspace:output_type -> hashicorp.waypoint.UpsertWorkspaceResponse - 122, // 896: hashicorp.waypoint.Waypoint.UpsertProject:output_type -> hashicorp.waypoint.UpsertProjectResponse - 124, // 897: hashicorp.waypoint.Waypoint.GetProject:output_type -> hashicorp.waypoint.GetProjectResponse - 126, // 898: hashicorp.waypoint.Waypoint.ListProjects:output_type -> hashicorp.waypoint.ListProjectsResponse - 529, // 899: hashicorp.waypoint.Waypoint.DestroyProject:output_type -> google.protobuf.Empty - 129, // 900: hashicorp.waypoint.Waypoint.GetApplication:output_type -> hashicorp.waypoint.GetApplicationResponse - 131, // 901: hashicorp.waypoint.Waypoint.UpsertApplication:output_type -> hashicorp.waypoint.UpsertApplicationResponse - 135, // 902: hashicorp.waypoint.Waypoint.ListBuilds:output_type -> hashicorp.waypoint.ListBuildsResponse - 138, // 903: hashicorp.waypoint.Waypoint.GetBuild:output_type -> hashicorp.waypoint.Build - 138, // 904: hashicorp.waypoint.Waypoint.GetLatestBuild:output_type -> hashicorp.waypoint.Build - 153, // 905: hashicorp.waypoint.Waypoint.ListPushedArtifacts:output_type -> hashicorp.waypoint.ListPushedArtifactsResponse - 154, // 906: hashicorp.waypoint.Waypoint.GetPushedArtifact:output_type -> hashicorp.waypoint.PushedArtifact - 154, // 907: hashicorp.waypoint.Waypoint.GetLatestPushedArtifact:output_type -> hashicorp.waypoint.PushedArtifact - 161, // 908: hashicorp.waypoint.Waypoint.ListDeployments:output_type -> hashicorp.waypoint.ListDeploymentsResponse - 162, // 909: hashicorp.waypoint.Waypoint.GetDeployment:output_type -> hashicorp.waypoint.Deployment - 156, // 910: hashicorp.waypoint.Waypoint.GetLatestDeployment:output_type -> hashicorp.waypoint.GetDeploymentResponse - 165, // 911: hashicorp.waypoint.Waypoint.ListInstances:output_type -> hashicorp.waypoint.ListInstancesResponse - 171, // 912: hashicorp.waypoint.Waypoint.ListReleases:output_type -> hashicorp.waypoint.ListReleasesResponse - 173, // 913: hashicorp.waypoint.Waypoint.GetRelease:output_type -> hashicorp.waypoint.Release - 173, // 914: hashicorp.waypoint.Waypoint.GetLatestRelease:output_type -> hashicorp.waypoint.Release - 193, // 915: hashicorp.waypoint.Waypoint.GetStatusReport:output_type -> hashicorp.waypoint.StatusReport - 193, // 916: hashicorp.waypoint.Waypoint.GetLatestStatusReport:output_type -> hashicorp.waypoint.StatusReport - 189, // 917: hashicorp.waypoint.Waypoint.ListStatusReports:output_type -> hashicorp.waypoint.ListStatusReportsResponse - 192, // 918: hashicorp.waypoint.Waypoint.ExpediteStatusReport:output_type -> hashicorp.waypoint.ExpediteStatusReportResponse - 195, // 919: hashicorp.waypoint.Waypoint.GetLogStream:output_type -> hashicorp.waypoint.LogBatch - 209, // 920: hashicorp.waypoint.Waypoint.StartExecStream:output_type -> hashicorp.waypoint.ExecStreamResponse - 198, // 921: hashicorp.waypoint.Waypoint.SetConfig:output_type -> hashicorp.waypoint.ConfigSetResponse - 200, // 922: hashicorp.waypoint.Waypoint.DeleteConfig:output_type -> hashicorp.waypoint.ConfigDeleteResponse - 202, // 923: hashicorp.waypoint.Waypoint.GetConfig:output_type -> hashicorp.waypoint.ConfigGetResponse - 529, // 924: hashicorp.waypoint.Waypoint.SetConfigSource:output_type -> google.protobuf.Empty - 529, // 925: hashicorp.waypoint.Waypoint.DeleteConfigSource:output_type -> google.protobuf.Empty - 207, // 926: hashicorp.waypoint.Waypoint.GetConfigSource:output_type -> hashicorp.waypoint.GetConfigSourceResponse - 110, // 927: hashicorp.waypoint.Waypoint.CreateHostname:output_type -> hashicorp.waypoint.CreateHostnameResponse - 529, // 928: hashicorp.waypoint.Waypoint.DeleteHostname:output_type -> google.protobuf.Empty - 112, // 929: hashicorp.waypoint.Waypoint.ListHostnames:output_type -> hashicorp.waypoint.ListHostnamesResponse - 80, // 930: hashicorp.waypoint.Waypoint.QueueJob:output_type -> hashicorp.waypoint.QueueJobResponse - 529, // 931: hashicorp.waypoint.Waypoint.CancelJob:output_type -> google.protobuf.Empty - 84, // 932: hashicorp.waypoint.Waypoint.GetJob:output_type -> hashicorp.waypoint.Job - 88, // 933: hashicorp.waypoint.Waypoint.ListJobs:output_type -> hashicorp.waypoint.ListJobsResponse - 83, // 934: hashicorp.waypoint.Waypoint.ValidateJob:output_type -> hashicorp.waypoint.ValidateJobResponse - 90, // 935: hashicorp.waypoint.Waypoint.GetJobStream:output_type -> hashicorp.waypoint.GetJobStreamResponse - 91, // 936: hashicorp.waypoint.Waypoint.GetRunner:output_type -> hashicorp.waypoint.Runner - 103, // 937: hashicorp.waypoint.Waypoint.ListRunners:output_type -> hashicorp.waypoint.ListRunnersResponse - 529, // 938: hashicorp.waypoint.Waypoint.AdoptRunner:output_type -> google.protobuf.Empty - 529, // 939: hashicorp.waypoint.Waypoint.ForgetRunner:output_type -> google.protobuf.Empty - 107, // 940: hashicorp.waypoint.Waypoint.GetServerConfig:output_type -> hashicorp.waypoint.GetServerConfigResponse - 529, // 941: hashicorp.waypoint.Waypoint.SetServerConfig:output_type -> google.protobuf.Empty - 280, // 942: hashicorp.waypoint.Waypoint.CreateSnapshot:output_type -> hashicorp.waypoint.CreateSnapshotResponse - 529, // 943: hashicorp.waypoint.Waypoint.RestoreSnapshot:output_type -> google.protobuf.Empty - 278, // 944: hashicorp.waypoint.Waypoint.BootstrapToken:output_type -> hashicorp.waypoint.NewTokenResponse - 274, // 945: hashicorp.waypoint.Waypoint.DecodeToken:output_type -> hashicorp.waypoint.DecodeTokenResponse - 278, // 946: hashicorp.waypoint.Waypoint.GenerateInviteToken:output_type -> hashicorp.waypoint.NewTokenResponse - 278, // 947: hashicorp.waypoint.Waypoint.GenerateLoginToken:output_type -> hashicorp.waypoint.NewTokenResponse - 278, // 948: hashicorp.waypoint.Waypoint.GenerateRunnerToken:output_type -> hashicorp.waypoint.NewTokenResponse - 278, // 949: hashicorp.waypoint.Waypoint.ConvertInviteToken:output_type -> hashicorp.waypoint.NewTokenResponse - 93, // 950: hashicorp.waypoint.Waypoint.RunnerToken:output_type -> hashicorp.waypoint.RunnerTokenResponse - 95, // 951: hashicorp.waypoint.Waypoint.RunnerConfig:output_type -> hashicorp.waypoint.RunnerConfigResponse - 98, // 952: hashicorp.waypoint.Waypoint.RunnerJobStream:output_type -> hashicorp.waypoint.RunnerJobStreamResponse - 100, // 953: hashicorp.waypoint.Waypoint.RunnerGetDeploymentConfig:output_type -> hashicorp.waypoint.RunnerGetDeploymentConfigResponse - 211, // 954: hashicorp.waypoint.Waypoint.EntrypointConfig:output_type -> hashicorp.waypoint.EntrypointConfigResponse - 529, // 955: hashicorp.waypoint.Waypoint.EntrypointLogStream:output_type -> google.protobuf.Empty - 215, // 956: hashicorp.waypoint.Waypoint.EntrypointExecStream:output_type -> hashicorp.waypoint.EntrypointExecResponse - 285, // 957: hashicorp.waypoint.Waypoint.WaypointHclFmt:output_type -> hashicorp.waypoint.WaypointHclFmtResponse - 142, // 958: hashicorp.waypoint.Waypoint.UpsertOnDemandRunnerConfig:output_type -> hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse - 144, // 959: hashicorp.waypoint.Waypoint.GetOnDemandRunnerConfig:output_type -> hashicorp.waypoint.GetOnDemandRunnerConfigResponse - 144, // 960: hashicorp.waypoint.Waypoint.GetDefaultOnDemandRunnerConfig:output_type -> hashicorp.waypoint.GetOnDemandRunnerConfigResponse - 146, // 961: hashicorp.waypoint.Waypoint.DeleteOnDemandRunnerConfig:output_type -> hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse - 147, // 962: hashicorp.waypoint.Waypoint.ListOnDemandRunnerConfigs:output_type -> hashicorp.waypoint.ListOnDemandRunnerConfigsResponse - 133, // 963: hashicorp.waypoint.Waypoint.UpsertBuild:output_type -> hashicorp.waypoint.UpsertBuildResponse - 149, // 964: hashicorp.waypoint.Waypoint.UpsertPushedArtifact:output_type -> hashicorp.waypoint.UpsertPushedArtifactResponse - 159, // 965: hashicorp.waypoint.Waypoint.UpsertDeployment:output_type -> hashicorp.waypoint.UpsertDeploymentResponse - 168, // 966: hashicorp.waypoint.Waypoint.UpsertRelease:output_type -> hashicorp.waypoint.UpsertReleaseResponse - 186, // 967: hashicorp.waypoint.Waypoint.UpsertStatusReport:output_type -> hashicorp.waypoint.UpsertStatusReportResponse - 54, // 968: hashicorp.waypoint.Waypoint.GetTask:output_type -> hashicorp.waypoint.GetTaskResponse - 57, // 969: hashicorp.waypoint.Waypoint.ListTask:output_type -> hashicorp.waypoint.ListTaskResponse - 529, // 970: hashicorp.waypoint.Waypoint.CancelTask:output_type -> google.protobuf.Empty - 177, // 971: hashicorp.waypoint.Waypoint.UpsertTrigger:output_type -> hashicorp.waypoint.UpsertTriggerResponse - 179, // 972: hashicorp.waypoint.Waypoint.GetTrigger:output_type -> hashicorp.waypoint.GetTriggerResponse - 529, // 973: hashicorp.waypoint.Waypoint.DeleteTrigger:output_type -> google.protobuf.Empty - 184, // 974: hashicorp.waypoint.Waypoint.ListTriggers:output_type -> hashicorp.waypoint.ListTriggerResponse - 182, // 975: hashicorp.waypoint.Waypoint.RunTrigger:output_type -> hashicorp.waypoint.RunTriggerResponse - 219, // 976: hashicorp.waypoint.Waypoint.UpsertPipeline:output_type -> hashicorp.waypoint.UpsertPipelineResponse - 223, // 977: hashicorp.waypoint.Waypoint.RunPipeline:output_type -> hashicorp.waypoint.RunPipelineResponse - 221, // 978: hashicorp.waypoint.Waypoint.GetPipeline:output_type -> hashicorp.waypoint.GetPipelineResponse - 229, // 979: hashicorp.waypoint.Waypoint.GetPipelineRun:output_type -> hashicorp.waypoint.GetPipelineRunResponse - 229, // 980: hashicorp.waypoint.Waypoint.GetLatestPipelineRun:output_type -> hashicorp.waypoint.GetPipelineRunResponse - 225, // 981: hashicorp.waypoint.Waypoint.ListPipelines:output_type -> hashicorp.waypoint.ListPipelinesResponse - 227, // 982: hashicorp.waypoint.Waypoint.ListPipelineRuns:output_type -> hashicorp.waypoint.ListPipelineRunsResponse - 231, // 983: hashicorp.waypoint.Waypoint.ConfigSyncPipeline:output_type -> hashicorp.waypoint.ConfigSyncPipelineResponse - 237, // 984: hashicorp.waypoint.Waypoint.CreateProjectTemplate:output_type -> hashicorp.waypoint.CreateProjectTemplateResponse - 239, // 985: hashicorp.waypoint.Waypoint.UpdateProjectTemplate:output_type -> hashicorp.waypoint.UpdateProjectTemplateResponse - 233, // 986: hashicorp.waypoint.Waypoint.GetProjectTemplate:output_type -> hashicorp.waypoint.GetProjectTemplateResponse - 529, // 987: hashicorp.waypoint.Waypoint.DeleteProjectTemplate:output_type -> google.protobuf.Empty - 235, // 988: hashicorp.waypoint.Waypoint.ListProjectTemplates:output_type -> hashicorp.waypoint.ListProjectTemplatesResponse - 269, // 989: hashicorp.waypoint.Waypoint.CreateProjectFromTemplate:output_type -> hashicorp.waypoint.CreateProjectFromTemplateResponse - 267, // 990: hashicorp.waypoint.Waypoint.GetTFCRunStatus:output_type -> hashicorp.waypoint.GetTFCRunStatusResponse - 249, // 991: hashicorp.waypoint.Waypoint.CreateAddOnDefinition:output_type -> hashicorp.waypoint.CreateAddOnDefinitionResponse - 245, // 992: hashicorp.waypoint.Waypoint.GetAddOnDefinition:output_type -> hashicorp.waypoint.GetAddOnDefinitionResponse - 247, // 993: hashicorp.waypoint.Waypoint.ListAddOnDefinitions:output_type -> hashicorp.waypoint.ListAddOnDefinitionsResponse - 251, // 994: hashicorp.waypoint.Waypoint.UpdateAddOnDefinition:output_type -> hashicorp.waypoint.UpdateAddOnDefinitionResponse - 529, // 995: hashicorp.waypoint.Waypoint.DeleteAddOnDefinition:output_type -> google.protobuf.Empty - 254, // 996: hashicorp.waypoint.Waypoint.CreateAddOn:output_type -> hashicorp.waypoint.CreateAddOnResponse - 257, // 997: hashicorp.waypoint.Waypoint.GetAddOn:output_type -> hashicorp.waypoint.GetAddOnResponse - 259, // 998: hashicorp.waypoint.Waypoint.UpdateAddOn:output_type -> hashicorp.waypoint.UpdateAddOnResponse - 529, // 999: hashicorp.waypoint.Waypoint.DestroyAddOn:output_type -> google.protobuf.Empty - 261, // 1000: hashicorp.waypoint.Waypoint.ListAddOns:output_type -> hashicorp.waypoint.ListAddOnsResponse - 263, // 1001: hashicorp.waypoint.Waypoint.GetTFRunStatus:output_type -> hashicorp.waypoint.GetTFRunStatusResponse - 291, // 1002: hashicorp.waypoint.Waypoint.UI_ListProjects:output_type -> hashicorp.waypoint.UI.ListProjectsResponse - 294, // 1003: hashicorp.waypoint.Waypoint.UI_GetProject:output_type -> hashicorp.waypoint.UI.GetProjectResponse - 296, // 1004: hashicorp.waypoint.Waypoint.UI_ListPipelines:output_type -> hashicorp.waypoint.UI.ListPipelinesResponse - 298, // 1005: hashicorp.waypoint.Waypoint.UI_ListPipelineRuns:output_type -> hashicorp.waypoint.UI.ListPipelineRunsResponse - 300, // 1006: hashicorp.waypoint.Waypoint.UI_GetPipelineRun:output_type -> hashicorp.waypoint.UI.GetPipelineRunResponse - 305, // 1007: hashicorp.waypoint.Waypoint.UI_ListDeployments:output_type -> hashicorp.waypoint.UI.ListDeploymentsResponse - 307, // 1008: hashicorp.waypoint.Waypoint.UI_GetDeployment:output_type -> hashicorp.waypoint.UI.GetDeploymentResponse - 310, // 1009: hashicorp.waypoint.Waypoint.UI_ListReleases:output_type -> hashicorp.waypoint.UI.ListReleasesResponse - 313, // 1010: hashicorp.waypoint.Waypoint.UI_ListEvents:output_type -> hashicorp.waypoint.UI.ListEventsResponse - 319, // 1011: hashicorp.waypoint.Waypoint.INTERNAL_AdditionalMessages:output_type -> hashicorp.waypoint.UI.ListEventSchemasResponse - 880, // [880:1012] is the sub-list for method output_type - 748, // [748:880] is the sub-list for method input_type - 748, // [748:748] is the sub-list for extension type_name - 748, // [748:748] is the sub-list for extension extendee - 0, // [0:748] is the sub-list for field type_name -} - -func init() { file_pkg_server_proto_server_proto_init() } -func file_pkg_server_proto_server_proto_init() { - if File_pkg_server_proto_server_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_pkg_server_proto_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerFeatures); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Application); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Variable); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Project); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Workspace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ref); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Component); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Status); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Operation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperationOrder); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Generation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeclaredResource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyedResource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskLaunchInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Task); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertTaskResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTaskResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTaskResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorDetail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUsersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthMethod); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OIDCAuthMethod); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAuthMethodRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAuthMethodResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAuthMethodRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAuthMethodResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAuthMethodRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAuthMethodsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListOIDCAuthMethodsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOIDCAuthURLRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOIDCAuthURLResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompleteOIDCAuthRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompleteOIDCAuthResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueJobRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueJobResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelJobRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateJobRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateJobResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Documentation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListJobsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListJobsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse); i { +var file_pkg_server_proto_server_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x12, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x09, 0x61, 0x6e, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x12, 0x0a, 0x02, 0x55, 0x49, 0x1a, 0x5c, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 0x14, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x46, 0x0a, 0x0d, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x1a, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x1a, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x4a, + 0x6f, 0x62, 0x1a, 0xe8, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, + 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, + 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x64, 0x0a, + 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, + 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, + 0x66, 0x12, 0x4d, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x1a, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x1a, 0x8d, 0x03, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, + 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, + 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x52, + 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x1a, 0xe5, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, + 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x58, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x52, 0x0a, + 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x9b, + 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x12, 0x46, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x07, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, + 0x19, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, + 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x53, 0x10, 0x01, 0x22, 0x82, 0x02, 0x0a, + 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x03, + 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, + 0x4f, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x45, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, + 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x80, + 0x0a, 0x0a, 0x08, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, + 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x03, 0x6e, 0x75, 0x6d, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, + 0x03, 0x68, 0x63, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x68, 0x63, + 0x6c, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x6c, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x03, 0x63, 0x6c, 0x69, 0x12, 0x37, 0x0a, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x01, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x03, 0x65, + 0x6e, 0x76, 0x12, 0x34, 0x0a, 0x03, 0x76, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x56, 0x43, + 0x53, 0x48, 0x01, 0x52, 0x03, 0x76, 0x63, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x01, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x48, + 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x66, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x68, 0x63, + 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x68, 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x65, + 0x0a, 0x03, 0x56, 0x43, 0x53, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x42, 0x0a, 0x09, 0x68, 0x63, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x68, 0x63, 0x6c, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x48, 0x0a, 0x06, 0x48, 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x1a, + 0x98, 0x01, 0x0a, 0x08, 0x48, 0x63, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x48, + 0x63, 0x6c, 0x50, 0x6f, 0x73, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, 0xb1, 0x02, 0x0a, 0x0a, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x73, 0x65, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, + 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, + 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x03, 0x68, 0x63, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x68, 0x63, 0x6c, 0x12, 0x46, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x60, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, + 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, + 0x02, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4c, 0x49, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e, + 0x56, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x43, 0x53, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, + 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, + 0x4d, 0x49, 0x43, 0x10, 0x07, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xc1, 0x06, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x0e, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x21, + 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, + 0x6c, 0x12, 0x4e, 0x0a, 0x13, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, + 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x11, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, + 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x12, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, + 0x6c, 0x6c, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x1a, 0x3c, 0x0a, 0x04, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x1a, 0x45, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, + 0x6f, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0c, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, + 0x49, 0x4e, 0x47, 0x10, 0x01, 0x22, 0xab, 0x05, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xe1, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, + 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x4e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, + 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, + 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0c, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x0b, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4a, + 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x33, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x76, 0x0a, + 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x0a, 0x04, 0x6f, 0x69, 0x64, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x69, + 0x6e, 0x6b, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x69, 0x64, 0x63, 0x1a, + 0x2a, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x42, 0x08, 0x0a, 0x06, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x97, 0x0e, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x1a, 0x08, 0x0a, + 0x06, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x1a, 0x49, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x1a, 0x23, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x29, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x1a, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x18, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, + 0x49, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, 0x57, 0x0a, 0x09, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x1a, 0x6b, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x1a, 0x6d, 0x0a, 0x0c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, + 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, + 0xbd, 0x01, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x03, 0x61, 0x6e, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, + 0x79, 0x12, 0x32, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, + 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, + 0x0b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x1a, 0x1a, 0x0a, 0x08, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x93, 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x83, + 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, + 0x03, 0x72, 0x65, 0x66, 0x1a, 0x18, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x2a, + 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x20, 0x0a, 0x0a, 0x41, 0x75, + 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x26, 0x0a, 0x10, + 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x14, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x1a, 0x19, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x15, 0x0a, 0x03, 0x4a, + 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x1a, 0x38, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x1a, 0x62, 0x0a, 0x08, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, + 0x1a, 0x6f, 0x0a, 0x0d, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x1a, 0x8b, 0x01, 0x0a, 0x0c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, + 0xa9, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, + 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4c, 0x41, + 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4c, 0x45, 0x41, + 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x04, 0x22, 0xbb, 0x02, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, + 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, + 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0x9f, 0x01, 0x0a, 0x0c, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4c, 0x0a, + 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x09, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x0d, 0x50, 0x68, 0x79, 0x73, + 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x04, 0x22, + 0xb1, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x05, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, + 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0x02, 0x22, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, + 0x10, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, + 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x15, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x68, + 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x13, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x22, + 0x9c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xa3, + 0x02, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x63, 0x69, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x63, 0x69, 0x55, 0x72, 0x6c, 0x12, 0x71, 0x0a, 0x15, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x47, 0x0a, 0x19, 0x45, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x04, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, + 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x74, 0x61, + 0x73, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x38, 0x0a, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6a, + 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x12, + 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, + 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x74, 0x6f, + 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, + 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, + 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x41, + 0x52, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, + 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x06, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x07, 0x12, 0x09, 0x0a, + 0x05, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x08, 0x22, 0x41, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, + 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x42, 0x0a, 0x12, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, + 0x40, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x72, 0x65, + 0x66, 0x22, 0x93, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, + 0x61, 0x73, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, + 0x74, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, + 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, + 0x62, 0x12, 0x34, 0x0a, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x22, 0x43, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, + 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4f, 0x0a, 0x0f, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4d, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x43, 0x0a, 0x11, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x72, 0x65, + 0x66, 0x22, 0x35, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x42, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x3f, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x43, 0x0a, + 0x11, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x22, 0x41, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x45, 0x0a, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x22, 0xc3, 0x06, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x39, 0x0a, 0x04, 0x6f, 0x69, 0x64, 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, + 0x4f, 0x49, 0x44, 0x43, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x69, 0x64, 0x63, 0x1a, 0xed, 0x04, 0x0a, + 0x04, 0x4f, 0x49, 0x44, 0x43, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x61, 0x75, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, + 0x75, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, + 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x55, 0x72, 0x6c, 0x12, + 0x28, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x5f, + 0x70, 0x65, 0x6d, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x43, 0x61, 0x50, 0x65, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6a, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x0e, 0x4f, 0x49, 0x44, 0x43, 0x41, + 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x3b, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2b, 0x0a, + 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x12, 0x0a, + 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x17, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x5b, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x22, 0x5b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x22, 0x58, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x75, 0x74, + 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, + 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x5e, 0x0a, 0x17, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, + 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x5c, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x61, 0x75, 0x74, + 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x64, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x95, + 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, + 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, + 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, + 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, + 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, + 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x64, 0x5f, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x69, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x28, 0x0a, + 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, + 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x49, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, + 0x3f, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x22, 0x66, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, + 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xc6, 0x4f, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, + 0x37, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x15, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0f, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6f, 0x6e, + 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x14, + 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, + 0x74, 0x61, 0x73, 0x6b, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x52, 0x12, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0c, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x52, 0x0b, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, + 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x37, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x70, 0x48, + 0x00, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x18, 0x36, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x37, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x12, 0x40, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x38, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x39, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, + 0x70, 0x48, 0x00, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x6f, 0x63, + 0x73, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, + 0x47, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x3b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x34, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, + 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x2e, + 0x0a, 0x02, 0x75, 0x70, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x55, 0x70, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x02, 0x75, 0x70, 0x12, 0x34, + 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, + 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x40, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x4f, + 0x70, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x12, 0x47, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, + 0x70, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x34, 0x0a, + 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x69, + 0x6e, 0x69, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x09, + 0x77, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4d, 0x0a, 0x0d, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x64, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0e, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, + 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, + 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, + 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0d, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x64, 0x0a, + 0x15, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x71, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x6f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, + 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, + 0x70, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x7a, 0x0a, 0x0c, 0x54, + 0x61, 0x73, 0x6b, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x18, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xd9, 0x09, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x3f, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x04, + 0x61, 0x75, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, + 0x61, 0x75, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x49, 0x0a, 0x0b, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x30, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x55, 0x70, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x02, 0x75, 0x70, 0x12, 0x4f, 0x0a, 0x0d, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x6f, + 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x70, 0x6f, + 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x36, 0x0a, 0x04, 0x69, + 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x69, + 0x6e, 0x69, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4f, 0x0a, 0x0d, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x62, 0x0a, 0x14, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x12, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, + 0x12, 0x55, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x1a, 0x7d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x34, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x07, 0x0a, + 0x03, 0x4a, 0x4f, 0x42, 0x10, 0x03, 0x1a, 0xaf, 0x02, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x03, + 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x38, 0x0a, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x1a, 0x75, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x12, 0x32, + 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x42, 0x08, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x1a, 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, + 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x52, + 0x09, 0x67, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x6e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xc3, 0x04, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, + 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x73, + 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x2e, 0x42, + 0x61, 0x73, 0x69, 0x63, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x33, 0x0a, + 0x03, 0x73, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x2e, 0x53, 0x53, 0x48, 0x48, 0x00, 0x52, 0x03, 0x73, + 0x73, 0x68, 0x1a, 0x3f, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x1a, 0x5d, 0x0a, 0x03, 0x53, 0x53, 0x48, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, + 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x1a, 0x7e, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, + 0x6f, 0x70, 0x1a, 0x43, 0x0a, 0x04, 0x55, 0x70, 0x4f, 0x70, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x52, 0x07, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x63, 0x0a, 0x08, 0x55, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x72, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x68, 0x0a, 0x06, + 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3f, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x1a, 0xf2, 0x02, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9e, 0x02, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, + 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, + 0x74, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x2c, 0x0a, 0x07, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x73, 0x68, 0x1a, 0x76, 0x0a, 0x0b, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x75, 0x73, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, + 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x70, 0x75, 0x73, + 0x68, 0x1a, 0x39, 0x0a, 0x06, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x70, 0x12, 0x2f, 0x0a, 0x05, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x1a, 0x4c, 0x0a, 0x0a, + 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0x4a, 0x0a, 0x08, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x4f, 0x70, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, + 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0x4e, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x69, 0x0a, 0x06, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x70, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x0c, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, + 0xba, 0x01, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x73, 0x4f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x8f, 0x01, 0x0a, + 0x09, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4f, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0xb8, + 0x01, 0x0a, 0x09, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x12, 0x3e, 0x0a, 0x0a, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x75, + 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x1a, 0x91, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x63, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x63, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0a, 0x68, 0x63, 0x6c, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x48, 0x63, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x09, 0x68, 0x63, 0x6c, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x8d, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x70, 0x12, 0x36, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x37, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xab, + 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x4f, 0x70, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, + 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, + 0x62, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x47, 0x0a, 0x0b, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x12, 0x38, 0x0a, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x2e, 0x0a, 0x0f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x95, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x5b, 0x0a, + 0x12, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x44, 0x6f, + 0x63, 0x73, 0x4f, 0x70, 0x1a, 0xcf, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, + 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x7c, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, + 0x35, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x1a, 0x0e, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x1a, 0x12, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x18, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, + 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x70, 0x0a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x65, + 0x64, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x45, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x53, 0x79, 0x6e, + 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x2d, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x1a, 0x08, + 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, 0x1a, 0xa5, 0x01, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x3f, + 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x12, + 0x3f, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x66, + 0x1a, 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0x0c, 0x0a, 0x0a, 0x49, 0x6e, + 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x47, 0x0a, 0x0e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x74, + 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x1a, 0x83, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x4c, 0x0a, 0x0e, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x3a, 0x0a, 0x0c, 0x6a, + 0x6f, 0x62, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0xdd, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, + 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6b, 0x0a, 0x0b, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x48, 0x10, 0x64, 0x22, 0xf9, + 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x73, 0x1a, 0x62, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x05, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, + 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, + 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x76, + 0x5f, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x56, + 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x1a, 0x58, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, + 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, + 0x49, 0x64, 0x22, 0xdc, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, + 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x40, 0x0a, + 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x39, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, + 0x6f, 0x62, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xf0, 0x14, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, + 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x46, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x48, 0x00, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x4f, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, + 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0xc4, 0x01, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, + 0x37, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, + 0x6a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x1a, 0x36, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, + 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x1a, 0x5a, 0x0a, 0x08, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x66, 0x1a, 0xba, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x1a, + 0xc0, 0x0b, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x52, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x48, + 0x00, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, + 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x03, 0x72, + 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x55, 0x0a, 0x05, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, + 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x52, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, + 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x46, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x1a, 0x2e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x1a, 0x31, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x1a, 0x36, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x69, + 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x5a, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x1a, 0x68, 0x0a, 0x08, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x12, + 0x5c, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x77, 0x0a, + 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x54, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, + 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x6e, 0x0a, 0x04, 0x53, 0x74, 0x65, + 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x6c, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x06, 0x0a, + 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x62, 0x79, 0x5f, 0x69, 0x64, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x79, 0x49, + 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x03, 0x6f, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x4f, + 0x44, 0x52, 0x48, 0x00, 0x52, 0x03, 0x6f, 0x64, 0x72, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, + 0x73, 0x5f, 0x6f, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x64, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x73, 0x4f, 0x64, 0x72, 0x12, 0x3d, + 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, + 0x65, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, + 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x4f, 0x0a, 0x0e, 0x61, 0x64, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x64, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x61, 0x64, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x24, 0x0a, 0x03, 0x4f, 0x44, 0x52, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x1a, 0x07, 0x0a, 0x05, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x47, + 0x0a, 0x0d, 0x41, 0x64, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x50, 0x52, 0x45, 0x41, 0x44, 0x4f, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x41, 0x44, 0x4f, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, + 0x48, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x13, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, + 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, + 0x65, 0x6e, 0x1a, 0x3a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x72, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, + 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x97, 0x01, 0x0a, 0x0c, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x22, 0xa6, 0x0a, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, + 0x0a, 0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, + 0x63, 0x6b, 0x12, 0x51, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x4f, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x12, 0x4f, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x6e, 0x0a, 0x13, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x09, 0x68, + 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x1a, 0x4e, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x49, + 0x64, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x1a, 0x42, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x31, 0x0a, 0x05, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, + 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x1a, 0x44, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x1a, 0xee, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x70, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x65, 0x74, 0x2e, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x67, 0x0a, 0x10, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xf9, 0x02, 0x0a, + 0x17, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x83, 0x01, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, + 0x6a, 0x6f, 0x62, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x21, 0x0a, 0x09, + 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x20, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x01, 0x0a, + 0x21, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, + 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, + 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x53, 0x6b, 0x69, + 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x47, 0x0a, 0x12, 0x41, + 0x64, 0x6f, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, + 0x64, 0x6f, 0x70, 0x74, 0x22, 0x32, 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x53, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x52, 0x0e, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x1a, + 0x5d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, + 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x74, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x70, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x22, 0x52, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x33, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xc6, 0x03, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x71, 0x64, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, + 0x12, 0x53, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, + 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x4a, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, + 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x57, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x53, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x55, 0x0a, + 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x14, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4e, 0x0a, 0x15, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4e, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x22, 0x5c, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, + 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, + 0x15, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x5b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, + 0x01, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x5e, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, + 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, + 0x46, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, + 0x47, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x52, 0x06, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, + 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, + 0x65, 0x66, 0x22, 0xbb, 0x05, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, + 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, + 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, + 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x22, 0x5b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x08, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xff, 0x03, + 0x0a, 0x14, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, + 0x17, 0x0a, 0x07, 0x6f, 0x63, 0x69, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x63, 0x69, 0x55, 0x72, 0x6c, 0x12, 0x77, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, + 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x65, 0x6e, 0x76, + 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x65, 0x0a, 0x21, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x22, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, + 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x63, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, + 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, + 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x21, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x67, + 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, + 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, + 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0xa8, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x4f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, + 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, + 0x65, 0x66, 0x22, 0xbd, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, + 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, + 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x22, 0x5f, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x40, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x73, 0x22, 0xa2, 0x06, 0x0a, 0x0e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, + 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, + 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, + 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, + 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4d, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, + 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x59, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, + 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x08, + 0x54, 0x72, 0x69, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xb7, 0x03, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x4d, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x93, 0x0b, 0x0a, 0x0a, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x12, 0x3e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, + 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x42, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x32, + 0x0a, 0x15, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, + 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, + 0x45, 0x78, 0x65, 0x63, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, + 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x15, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x40, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf0, 0x01, 0x0a, + 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, + 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, + 0x30, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x08, + 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x54, 0x49, + 0x46, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, + 0x02, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xdb, 0x02, 0x0a, + 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x61, + 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x95, 0x01, 0x0a, 0x0b, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0xb4, 0x02, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x34, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x4e, 0x47, + 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, + 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, + 0x54, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x22, 0x4d, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, + 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, + 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x61, + 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xb1, 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x52, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4a, 0x0a, + 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, + 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0x95, 0x0a, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x45, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, + 0x6e, 0x79, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4a, 0x73, + 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, + 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x12, + 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, + 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x72, 0x65, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x07, 0x70, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x91, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x3e, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, + 0x2f, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x12, 0x55, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x22, 0x40, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x10, 0x02, 0x12, 0x09, + 0x0a, 0x05, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x03, 0x22, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x35, 0x0a, + 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xfa, 0x06, 0x0a, 0x07, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3b, + 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x37, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, + 0x70, 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x75, + 0x73, 0x68, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, + 0x12, 0x3a, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x4f, 0x70, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4f, 0x70, + 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x48, + 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x02, 0x75, 0x70, + 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, + 0x55, 0x70, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x02, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x04, 0x69, 0x6e, + 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, + 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x48, + 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x04, 0x08, 0x3a, 0x10, 0x64, 0x22, 0x4d, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, + 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x22, 0x46, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x4b, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x49, 0x0a, 0x14, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x03, 0x72, 0x65, 0x66, 0x22, 0x93, 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4b, 0x0a, + 0x12, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x12, 0x52, 0x75, + 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x4e, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x08, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x62, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x63, 0x0a, 0x1a, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x22, 0xa0, 0x03, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x61, 0x6e, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x3f, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, + 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x22, 0xa4, 0x03, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0a, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x19, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x22, 0x4d, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, + 0xec, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x35, + 0x0a, 0x1c, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, + 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x96, 0x0d, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, + 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x61, 0x6e, 0x79, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x41, + 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x47, 0x0a, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x52, 0x19, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, + 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xe1, 0x05, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x55, 0x0a, 0x11, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x64, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x72, + 0x6c, 0x12, 0x63, 0x0a, 0x15, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, + 0x74, 0x52, 0x13, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6a, + 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x25, + 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x4f, 0x0a, 0x06, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, + 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, + 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x1a, 0xa2, 0x01, 0x0a, + 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdb, + 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x57, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x1a, 0x95, 0x01, 0x0a, 0x0b, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xc8, 0x02, 0x0a, + 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x38, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x05, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x21, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x50, 0x50, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x22, 0xa8, 0x08, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x3c, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x56, 0x61, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, + 0x72, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, + 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x49, + 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x48, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xa9, 0x01, 0x0a, 0x0a, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x56, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x4c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, + 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0xf5, 0x02, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x06, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, + 0x61, 0x70, 0x70, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, + 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x16, 0x0a, 0x14, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x22, 0x50, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x22, 0xd9, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x5f, + 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x62, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0xca, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x00, + 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x61, + 0x6c, 0x6c, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x22, 0xde, 0x05, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x43, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x35, + 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x65, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x45, 0x6f, 0x66, 0x1a, 0xac, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x25, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3b, 0x0a, + 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x84, 0x01, 0x0a, 0x03, 0x50, 0x54, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x51, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x0a, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x62, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x07, 0x0a, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x04, + 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, + 0x47, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, + 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x1a, 0x06, 0x0a, 0x04, 0x4f, + 0x70, 0x65, 0x6e, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, + 0x9d, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, + 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x42, + 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x45, 0x78, 0x65, 0x63, 0x22, 0x58, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdb, + 0x06, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x04, 0x65, 0x78, + 0x65, 0x63, 0x12, 0x38, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x56, 0x61, 0x72, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, + 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x6d, 0x0a, 0x04, 0x45, 0x78, + 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x03, + 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x5d, 0x0a, 0x0a, 0x55, 0x52, 0x4c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0xe1, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x09, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x12, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xf2, 0x04, + 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x44, 0x0a, + 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, + 0x78, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, + 0x47, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, + 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, + 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x1a, 0xa0, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x52, + 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, + 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, + 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x65, + 0x6f, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6f, 0x66, 0x12, 0x48, 0x0a, 0x05, + 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, + 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xc3, 0x0a, 0x0a, 0x08, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x5b, 0x0a, 0x0a, 0x53, 0x74, 0x65, 0x70, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0xb0, 0x08, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, + 0x3c, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x3f, 0x0a, + 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x42, + 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, + 0x70, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x02, 0x75, 0x70, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x55, 0x70, 0x48, 0x00, 0x52, 0x02, 0x75, + 0x70, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x48, + 0x00, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x1a, 0x4a, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x2a, + 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x73, 0x68, 0x1a, 0x22, 0x0a, 0x06, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x1a, 0xba, + 0x01, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, + 0x72, 0x75, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x75, 0x6e, + 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x75, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x71, 0x0a, 0x02, 0x55, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x75, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, + 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, + 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x75, 0x6e, 0x65, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x3e, + 0x0a, 0x08, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x42, 0x06, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, + 0xca, 0x02, 0x0a, 0x0b, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x6a, 0x6f, 0x62, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, + 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x63, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, + 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x06, 0x22, 0x51, 0x0a, 0x15, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, + 0x52, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x38, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, + 0x74, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, + 0x6f, 0x74, 0x53, 0x74, 0x65, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x52, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x1a, 0x93, 0x01, 0x0a, 0x05, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x4c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x22, 0x0a, + 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x45, 0x52, 0x4d, 0x41, 0x49, 0x44, 0x10, + 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x62, 0x49, 0x64, + 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x5f, 0x0a, 0x0b, 0x4a, + 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x65, + 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x60, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, + 0x6e, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x22, + 0x71, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x75, 0x6e, 0x52, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, + 0x22, 0x56, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xf2, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x65, + 0x64, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x43, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, + 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x65, + 0x64, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x03, + 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, + 0x5f, 0x63, 0x72, 0x65, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x73, 0x1a, + 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x10, + 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x63, 0x72, 0x65, 0x64, 0x73, 0x22, 0xb1, 0x08, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, + 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x12, 0x3b, + 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x07, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, + 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, + 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, + 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x11, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x66, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, + 0x37, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x1a, 0xd7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x06, + 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x75, 0x70, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x1a, 0x33, 0x0a, + 0x06, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x1a, 0x31, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x07, 0x48, 0x4d, + 0x41, 0x43, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2a, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x7b, + 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x30, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0xd7, 0x01, 0x0a, 0x1a, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfb, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, + 0x3f, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, + 0x12, 0x51, 0x0a, 0x11, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x10, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x31, 0x0a, + 0x19, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x88, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x6f, + 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, + 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, + 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x16, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, + 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, + 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x78, 0x69, + 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa5, 0x03, 0x0a, 0x08, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa8, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x54, + 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, + 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x1a, 0xbc, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, + 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x76, 0x0a, 0x03, 0x48, 0x63, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x63, 0x6c, 0x2e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1b, 0x0a, + 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x43, 0x4c, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x22, 0x3a, 0x0a, 0x15, 0x57, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x68, 0x63, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x22, 0x3b, 0x0a, 0x16, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x63, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x48, 0x63, 0x6c, 0x22, 0x32, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4b, 0x65, 0x65, + 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x80, 0xc2, 0xd7, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x70, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2a, 0x98, 0x01, 0x0a, 0x1b, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, + 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, + 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, + 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x4e, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, + 0x47, 0x45, 0x10, 0x08, 0x32, 0x91, 0x54, 0x0a, 0x08, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4f, 0x49, + 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, + 0x43, 0x41, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6d, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, + 0x41, 0x75, 0x74, 0x68, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x61, 0x0a, 0x10, 0x4e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6d, 0x0a, 0x10, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2b, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x67, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, + 0x0a, 0x0f, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x63, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, + 0x65, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, + 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, + 0x00, 0x12, 0x56, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x76, 0x0a, 0x13, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x12, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x65, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x71, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x12, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x73, + 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x6a, 0x0a, 0x0f, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x25, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x5c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x6b, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x70, 0x0a, + 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x79, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x63, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x09, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x55, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2d, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x67, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x64, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, + 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, + 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x12, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x55, 0x0a, 0x08, + 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x4f, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x41, 0x64, 0x6f, + 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, + 0x6f, 0x70, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x67, + 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x46, 0x6f, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x57, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 0x01, 0x12, 0x4e, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, + 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, + 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, + 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, + 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0c, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x6e, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, + 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x88, 0x01, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x13, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x28, 0x01, 0x12, 0x71, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x0e, 0x57, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x48, 0x63, 0x6c, 0x46, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, + 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, + 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, + 0x65, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x82, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, + 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x33, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, + 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, + 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, + 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x26, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, + 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, + 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x25, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x28, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x5f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, + 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, + 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, + 0x0a, 0x0e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, + 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x28, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x73, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0f, 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, + 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x55, 0x49, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x55, 0x49, 0x5f, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, + 0x10, 0x55, 0x49, 0x5f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, + 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0f, + 0x55, 0x49, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, + 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, + 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x55, 0x49, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x10, 0x5a, 0x0e, 0x70, 0x6b, 0x67, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x67, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pkg_server_proto_server_proto_rawDescOnce sync.Once + file_pkg_server_proto_server_proto_rawDescData = file_pkg_server_proto_server_proto_rawDesc +) + +func file_pkg_server_proto_server_proto_rawDescGZIP() []byte { + file_pkg_server_proto_server_proto_rawDescOnce.Do(func() { + file_pkg_server_proto_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_server_proto_server_proto_rawDescData) + }) + return file_pkg_server_proto_server_proto_rawDescData +} + +var file_pkg_server_proto_server_proto_enumTypes = make([]protoimpl.EnumInfo, 25) +var file_pkg_server_proto_server_proto_msgTypes = make([]protoimpl.MessageInfo, 434) +var file_pkg_server_proto_server_proto_goTypes = []interface{}{ + (ResourceCategoryDisplayHint)(0), // 0: hashicorp.waypoint.ResourceCategoryDisplayHint + (ServerFeaturesFeature)(0), // 1: hashicorp.waypoint.ServerFeatures.feature + (Variable_FinalValue_Source)(0), // 2: hashicorp.waypoint.Variable.FinalValue.Source + (Project_ProjectState)(0), // 3: hashicorp.waypoint.Project.ProjectState + (Component_Type)(0), // 4: hashicorp.waypoint.Component.Type + (Status_State)(0), // 5: hashicorp.waypoint.Status.State + (Operation_PhysicalState)(0), // 6: hashicorp.waypoint.Operation.PhysicalState + (OperationOrder_Order)(0), // 7: hashicorp.waypoint.OperationOrder.Order + (Task_State)(0), // 8: hashicorp.waypoint.Task.State + (OIDCAuthMethod_Kind)(0), // 9: hashicorp.waypoint.OIDCAuthMethod.Kind + (Job_State)(0), // 10: hashicorp.waypoint.Job.State + (Job_Config_Source)(0), // 11: hashicorp.waypoint.Job.Config.Source + (Runner_AdoptionState)(0), // 12: hashicorp.waypoint.Runner.AdoptionState + (UpsertDeploymentRequest_Tristate)(0), // 13: hashicorp.waypoint.UpsertDeploymentRequest.Tristate + (Deployment_LoadDetails)(0), // 14: hashicorp.waypoint.Deployment.LoadDetails + (Instance_Type)(0), // 15: hashicorp.waypoint.Instance.Type + (Release_LoadDetails)(0), // 16: hashicorp.waypoint.Release.LoadDetails + (StatusReport_Resource_Health)(0), // 17: hashicorp.waypoint.StatusReport.Resource.Health + (LogBatch_Entry_Source)(0), // 18: hashicorp.waypoint.LogBatch.Entry.Source + (ExecStreamResponse_Output_Channel)(0), // 19: hashicorp.waypoint.ExecStreamResponse.Output.Channel + (EntrypointExecRequest_Output_Channel)(0), // 20: hashicorp.waypoint.EntrypointExecRequest.Output.Channel + (PipelineRun_State)(0), // 21: hashicorp.waypoint.PipelineRun.State + (GetPipelineResponse_Graph_Format)(0), // 22: hashicorp.waypoint.GetPipelineResponse.Graph.Format + (Snapshot_Header_Format)(0), // 23: hashicorp.waypoint.Snapshot.Header.Format + (Hcl_Format)(0), // 24: hashicorp.waypoint.Hcl.Format + (*UI)(nil), // 25: hashicorp.waypoint.UI + (*GetVersionInfoResponse)(nil), // 26: hashicorp.waypoint.GetVersionInfoResponse + (*ServerFeatures)(nil), // 27: hashicorp.waypoint.ServerFeatures + (*VersionInfo)(nil), // 28: hashicorp.waypoint.VersionInfo + (*Application)(nil), // 29: hashicorp.waypoint.Application + (*Variable)(nil), // 30: hashicorp.waypoint.Variable + (*Project)(nil), // 31: hashicorp.waypoint.Project + (*Workspace)(nil), // 32: hashicorp.waypoint.Workspace + (*User)(nil), // 33: hashicorp.waypoint.User + (*Ref)(nil), // 34: hashicorp.waypoint.Ref + (*Component)(nil), // 35: hashicorp.waypoint.Component + (*Status)(nil), // 36: hashicorp.waypoint.Status + (*StatusFilter)(nil), // 37: hashicorp.waypoint.StatusFilter + (*Operation)(nil), // 38: hashicorp.waypoint.Operation + (*OperationOrder)(nil), // 39: hashicorp.waypoint.OperationOrder + (*Generation)(nil), // 40: hashicorp.waypoint.Generation + (*DeclaredResource)(nil), // 41: hashicorp.waypoint.DeclaredResource + (*DestroyedResource)(nil), // 42: hashicorp.waypoint.DestroyedResource + (*TaskLaunchInfo)(nil), // 43: hashicorp.waypoint.TaskLaunchInfo + (*Task)(nil), // 44: hashicorp.waypoint.Task + (*UpsertTaskRequest)(nil), // 45: hashicorp.waypoint.UpsertTaskRequest + (*UpsertTaskResponse)(nil), // 46: hashicorp.waypoint.UpsertTaskResponse + (*GetTaskRequest)(nil), // 47: hashicorp.waypoint.GetTaskRequest + (*GetTaskResponse)(nil), // 48: hashicorp.waypoint.GetTaskResponse + (*DeleteTaskRequest)(nil), // 49: hashicorp.waypoint.DeleteTaskRequest + (*ListTaskRequest)(nil), // 50: hashicorp.waypoint.ListTaskRequest + (*ListTaskResponse)(nil), // 51: hashicorp.waypoint.ListTaskResponse + (*CancelTaskRequest)(nil), // 52: hashicorp.waypoint.CancelTaskRequest + (*ErrorDetail)(nil), // 53: hashicorp.waypoint.ErrorDetail + (*GetUserRequest)(nil), // 54: hashicorp.waypoint.GetUserRequest + (*GetUserResponse)(nil), // 55: hashicorp.waypoint.GetUserResponse + (*ListUsersResponse)(nil), // 56: hashicorp.waypoint.ListUsersResponse + (*UpdateUserRequest)(nil), // 57: hashicorp.waypoint.UpdateUserRequest + (*UpdateUserResponse)(nil), // 58: hashicorp.waypoint.UpdateUserResponse + (*DeleteUserRequest)(nil), // 59: hashicorp.waypoint.DeleteUserRequest + (*AuthMethod)(nil), // 60: hashicorp.waypoint.AuthMethod + (*OIDCAuthMethod)(nil), // 61: hashicorp.waypoint.OIDCAuthMethod + (*UpsertAuthMethodRequest)(nil), // 62: hashicorp.waypoint.UpsertAuthMethodRequest + (*UpsertAuthMethodResponse)(nil), // 63: hashicorp.waypoint.UpsertAuthMethodResponse + (*GetAuthMethodRequest)(nil), // 64: hashicorp.waypoint.GetAuthMethodRequest + (*GetAuthMethodResponse)(nil), // 65: hashicorp.waypoint.GetAuthMethodResponse + (*DeleteAuthMethodRequest)(nil), // 66: hashicorp.waypoint.DeleteAuthMethodRequest + (*ListAuthMethodsResponse)(nil), // 67: hashicorp.waypoint.ListAuthMethodsResponse + (*ListOIDCAuthMethodsResponse)(nil), // 68: hashicorp.waypoint.ListOIDCAuthMethodsResponse + (*GetOIDCAuthURLRequest)(nil), // 69: hashicorp.waypoint.GetOIDCAuthURLRequest + (*GetOIDCAuthURLResponse)(nil), // 70: hashicorp.waypoint.GetOIDCAuthURLResponse + (*CompleteOIDCAuthRequest)(nil), // 71: hashicorp.waypoint.CompleteOIDCAuthRequest + (*CompleteOIDCAuthResponse)(nil), // 72: hashicorp.waypoint.CompleteOIDCAuthResponse + (*QueueJobRequest)(nil), // 73: hashicorp.waypoint.QueueJobRequest + (*QueueJobResponse)(nil), // 74: hashicorp.waypoint.QueueJobResponse + (*CancelJobRequest)(nil), // 75: hashicorp.waypoint.CancelJobRequest + (*ValidateJobRequest)(nil), // 76: hashicorp.waypoint.ValidateJobRequest + (*ValidateJobResponse)(nil), // 77: hashicorp.waypoint.ValidateJobResponse + (*Job)(nil), // 78: hashicorp.waypoint.Job + (*Documentation)(nil), // 79: hashicorp.waypoint.Documentation + (*GetJobRequest)(nil), // 80: hashicorp.waypoint.GetJobRequest + (*ListJobsRequest)(nil), // 81: hashicorp.waypoint.ListJobsRequest + (*ListJobsResponse)(nil), // 82: hashicorp.waypoint.ListJobsResponse + (*GetJobStreamRequest)(nil), // 83: hashicorp.waypoint.GetJobStreamRequest + (*GetJobStreamResponse)(nil), // 84: hashicorp.waypoint.GetJobStreamResponse + (*Runner)(nil), // 85: hashicorp.waypoint.Runner + (*RunnerTokenRequest)(nil), // 86: hashicorp.waypoint.RunnerTokenRequest + (*RunnerTokenResponse)(nil), // 87: hashicorp.waypoint.RunnerTokenResponse + (*RunnerConfigRequest)(nil), // 88: hashicorp.waypoint.RunnerConfigRequest + (*RunnerConfigResponse)(nil), // 89: hashicorp.waypoint.RunnerConfigResponse + (*RunnerConfig)(nil), // 90: hashicorp.waypoint.RunnerConfig + (*RunnerJobStreamRequest)(nil), // 91: hashicorp.waypoint.RunnerJobStreamRequest + (*RunnerJobStreamResponse)(nil), // 92: hashicorp.waypoint.RunnerJobStreamResponse + (*RunnerGetDeploymentConfigRequest)(nil), // 93: hashicorp.waypoint.RunnerGetDeploymentConfigRequest + (*RunnerGetDeploymentConfigResponse)(nil), // 94: hashicorp.waypoint.RunnerGetDeploymentConfigResponse + (*GetRunnerRequest)(nil), // 95: hashicorp.waypoint.GetRunnerRequest + (*ListRunnersRequest)(nil), // 96: hashicorp.waypoint.ListRunnersRequest + (*ListRunnersResponse)(nil), // 97: hashicorp.waypoint.ListRunnersResponse + (*AdoptRunnerRequest)(nil), // 98: hashicorp.waypoint.AdoptRunnerRequest + (*ForgetRunnerRequest)(nil), // 99: hashicorp.waypoint.ForgetRunnerRequest + (*SetServerConfigRequest)(nil), // 100: hashicorp.waypoint.SetServerConfigRequest + (*GetServerConfigResponse)(nil), // 101: hashicorp.waypoint.GetServerConfigResponse + (*ServerConfig)(nil), // 102: hashicorp.waypoint.ServerConfig + (*CreateHostnameRequest)(nil), // 103: hashicorp.waypoint.CreateHostnameRequest + (*CreateHostnameResponse)(nil), // 104: hashicorp.waypoint.CreateHostnameResponse + (*ListHostnamesRequest)(nil), // 105: hashicorp.waypoint.ListHostnamesRequest + (*ListHostnamesResponse)(nil), // 106: hashicorp.waypoint.ListHostnamesResponse + (*DeleteHostnameRequest)(nil), // 107: hashicorp.waypoint.DeleteHostnameRequest + (*Hostname)(nil), // 108: hashicorp.waypoint.Hostname + (*ListWorkspacesRequest)(nil), // 109: hashicorp.waypoint.ListWorkspacesRequest + (*ListWorkspacesResponse)(nil), // 110: hashicorp.waypoint.ListWorkspacesResponse + (*GetWorkspaceRequest)(nil), // 111: hashicorp.waypoint.GetWorkspaceRequest + (*GetWorkspaceResponse)(nil), // 112: hashicorp.waypoint.GetWorkspaceResponse + (*UpsertWorkspaceRequest)(nil), // 113: hashicorp.waypoint.UpsertWorkspaceRequest + (*UpsertWorkspaceResponse)(nil), // 114: hashicorp.waypoint.UpsertWorkspaceResponse + (*UpsertProjectRequest)(nil), // 115: hashicorp.waypoint.UpsertProjectRequest + (*UpsertProjectResponse)(nil), // 116: hashicorp.waypoint.UpsertProjectResponse + (*GetProjectRequest)(nil), // 117: hashicorp.waypoint.GetProjectRequest + (*GetProjectResponse)(nil), // 118: hashicorp.waypoint.GetProjectResponse + (*ListProjectsRequest)(nil), // 119: hashicorp.waypoint.ListProjectsRequest + (*ListProjectsResponse)(nil), // 120: hashicorp.waypoint.ListProjectsResponse + (*DestroyProjectRequest)(nil), // 121: hashicorp.waypoint.DestroyProjectRequest + (*GetApplicationRequest)(nil), // 122: hashicorp.waypoint.GetApplicationRequest + (*GetApplicationResponse)(nil), // 123: hashicorp.waypoint.GetApplicationResponse + (*UpsertApplicationRequest)(nil), // 124: hashicorp.waypoint.UpsertApplicationRequest + (*UpsertApplicationResponse)(nil), // 125: hashicorp.waypoint.UpsertApplicationResponse + (*UpsertBuildRequest)(nil), // 126: hashicorp.waypoint.UpsertBuildRequest + (*UpsertBuildResponse)(nil), // 127: hashicorp.waypoint.UpsertBuildResponse + (*ListBuildsRequest)(nil), // 128: hashicorp.waypoint.ListBuildsRequest + (*ListBuildsResponse)(nil), // 129: hashicorp.waypoint.ListBuildsResponse + (*GetLatestBuildRequest)(nil), // 130: hashicorp.waypoint.GetLatestBuildRequest + (*GetBuildRequest)(nil), // 131: hashicorp.waypoint.GetBuildRequest + (*Build)(nil), // 132: hashicorp.waypoint.Build + (*Artifact)(nil), // 133: hashicorp.waypoint.Artifact + (*OnDemandRunnerConfig)(nil), // 134: hashicorp.waypoint.OnDemandRunnerConfig + (*UpsertOnDemandRunnerConfigRequest)(nil), // 135: hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest + (*UpsertOnDemandRunnerConfigResponse)(nil), // 136: hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse + (*GetOnDemandRunnerConfigRequest)(nil), // 137: hashicorp.waypoint.GetOnDemandRunnerConfigRequest + (*GetOnDemandRunnerConfigResponse)(nil), // 138: hashicorp.waypoint.GetOnDemandRunnerConfigResponse + (*DeleteOnDemandRunnerConfigRequest)(nil), // 139: hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest + (*DeleteOnDemandRunnerConfigResponse)(nil), // 140: hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse + (*ListOnDemandRunnerConfigsResponse)(nil), // 141: hashicorp.waypoint.ListOnDemandRunnerConfigsResponse + (*UpsertPushedArtifactRequest)(nil), // 142: hashicorp.waypoint.UpsertPushedArtifactRequest + (*UpsertPushedArtifactResponse)(nil), // 143: hashicorp.waypoint.UpsertPushedArtifactResponse + (*GetLatestPushedArtifactRequest)(nil), // 144: hashicorp.waypoint.GetLatestPushedArtifactRequest + (*GetPushedArtifactRequest)(nil), // 145: hashicorp.waypoint.GetPushedArtifactRequest + (*ListPushedArtifactsRequest)(nil), // 146: hashicorp.waypoint.ListPushedArtifactsRequest + (*ListPushedArtifactsResponse)(nil), // 147: hashicorp.waypoint.ListPushedArtifactsResponse + (*PushedArtifact)(nil), // 148: hashicorp.waypoint.PushedArtifact + (*GetDeploymentRequest)(nil), // 149: hashicorp.waypoint.GetDeploymentRequest + (*UpsertDeploymentRequest)(nil), // 150: hashicorp.waypoint.UpsertDeploymentRequest + (*UpsertDeploymentResponse)(nil), // 151: hashicorp.waypoint.UpsertDeploymentResponse + (*ListDeploymentsRequest)(nil), // 152: hashicorp.waypoint.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 153: hashicorp.waypoint.ListDeploymentsResponse + (*Deployment)(nil), // 154: hashicorp.waypoint.Deployment + (*DeploymentExpanded)(nil), // 155: hashicorp.waypoint.DeploymentExpanded + (*ListInstancesRequest)(nil), // 156: hashicorp.waypoint.ListInstancesRequest + (*ListInstancesResponse)(nil), // 157: hashicorp.waypoint.ListInstancesResponse + (*Instance)(nil), // 158: hashicorp.waypoint.Instance + (*UpsertReleaseRequest)(nil), // 159: hashicorp.waypoint.UpsertReleaseRequest + (*UpsertReleaseResponse)(nil), // 160: hashicorp.waypoint.UpsertReleaseResponse + (*GetLatestReleaseRequest)(nil), // 161: hashicorp.waypoint.GetLatestReleaseRequest + (*ListReleasesRequest)(nil), // 162: hashicorp.waypoint.ListReleasesRequest + (*ListReleasesResponse)(nil), // 163: hashicorp.waypoint.ListReleasesResponse + (*GetReleaseRequest)(nil), // 164: hashicorp.waypoint.GetReleaseRequest + (*Release)(nil), // 165: hashicorp.waypoint.Release + (*ReleaseExpanded)(nil), // 166: hashicorp.waypoint.ReleaseExpanded + (*Trigger)(nil), // 167: hashicorp.waypoint.Trigger + (*UpsertTriggerRequest)(nil), // 168: hashicorp.waypoint.UpsertTriggerRequest + (*UpsertTriggerResponse)(nil), // 169: hashicorp.waypoint.UpsertTriggerResponse + (*GetTriggerRequest)(nil), // 170: hashicorp.waypoint.GetTriggerRequest + (*GetTriggerResponse)(nil), // 171: hashicorp.waypoint.GetTriggerResponse + (*DeleteTriggerRequest)(nil), // 172: hashicorp.waypoint.DeleteTriggerRequest + (*RunTriggerRequest)(nil), // 173: hashicorp.waypoint.RunTriggerRequest + (*RunTriggerResponse)(nil), // 174: hashicorp.waypoint.RunTriggerResponse + (*ListTriggerRequest)(nil), // 175: hashicorp.waypoint.ListTriggerRequest + (*ListTriggerResponse)(nil), // 176: hashicorp.waypoint.ListTriggerResponse + (*UpsertStatusReportRequest)(nil), // 177: hashicorp.waypoint.UpsertStatusReportRequest + (*UpsertStatusReportResponse)(nil), // 178: hashicorp.waypoint.UpsertStatusReportResponse + (*GetLatestStatusReportRequest)(nil), // 179: hashicorp.waypoint.GetLatestStatusReportRequest + (*ListStatusReportsRequest)(nil), // 180: hashicorp.waypoint.ListStatusReportsRequest + (*ListStatusReportsResponse)(nil), // 181: hashicorp.waypoint.ListStatusReportsResponse + (*GetStatusReportRequest)(nil), // 182: hashicorp.waypoint.GetStatusReportRequest + (*ExpediteStatusReportRequest)(nil), // 183: hashicorp.waypoint.ExpediteStatusReportRequest + (*ExpediteStatusReportResponse)(nil), // 184: hashicorp.waypoint.ExpediteStatusReportResponse + (*StatusReport)(nil), // 185: hashicorp.waypoint.StatusReport + (*GetLogStreamRequest)(nil), // 186: hashicorp.waypoint.GetLogStreamRequest + (*LogBatch)(nil), // 187: hashicorp.waypoint.LogBatch + (*ConfigVar)(nil), // 188: hashicorp.waypoint.ConfigVar + (*ConfigSetRequest)(nil), // 189: hashicorp.waypoint.ConfigSetRequest + (*ConfigSetResponse)(nil), // 190: hashicorp.waypoint.ConfigSetResponse + (*ConfigDeleteRequest)(nil), // 191: hashicorp.waypoint.ConfigDeleteRequest + (*ConfigDeleteResponse)(nil), // 192: hashicorp.waypoint.ConfigDeleteResponse + (*ConfigGetRequest)(nil), // 193: hashicorp.waypoint.ConfigGetRequest + (*ConfigGetResponse)(nil), // 194: hashicorp.waypoint.ConfigGetResponse + (*ConfigSource)(nil), // 195: hashicorp.waypoint.ConfigSource + (*SetConfigSourceRequest)(nil), // 196: hashicorp.waypoint.SetConfigSourceRequest + (*DeleteConfigSourceRequest)(nil), // 197: hashicorp.waypoint.DeleteConfigSourceRequest + (*GetConfigSourceRequest)(nil), // 198: hashicorp.waypoint.GetConfigSourceRequest + (*GetConfigSourceResponse)(nil), // 199: hashicorp.waypoint.GetConfigSourceResponse + (*ExecStreamRequest)(nil), // 200: hashicorp.waypoint.ExecStreamRequest + (*ExecStreamResponse)(nil), // 201: hashicorp.waypoint.ExecStreamResponse + (*EntrypointConfigRequest)(nil), // 202: hashicorp.waypoint.EntrypointConfigRequest + (*EntrypointConfigResponse)(nil), // 203: hashicorp.waypoint.EntrypointConfigResponse + (*EntrypointConfig)(nil), // 204: hashicorp.waypoint.EntrypointConfig + (*EntrypointLogBatch)(nil), // 205: hashicorp.waypoint.EntrypointLogBatch + (*EntrypointExecRequest)(nil), // 206: hashicorp.waypoint.EntrypointExecRequest + (*EntrypointExecResponse)(nil), // 207: hashicorp.waypoint.EntrypointExecResponse + (*Pipeline)(nil), // 208: hashicorp.waypoint.Pipeline + (*PipelineRun)(nil), // 209: hashicorp.waypoint.PipelineRun + (*UpsertPipelineRequest)(nil), // 210: hashicorp.waypoint.UpsertPipelineRequest + (*UpsertPipelineResponse)(nil), // 211: hashicorp.waypoint.UpsertPipelineResponse + (*GetPipelineRequest)(nil), // 212: hashicorp.waypoint.GetPipelineRequest + (*GetPipelineResponse)(nil), // 213: hashicorp.waypoint.GetPipelineResponse + (*RunPipelineRequest)(nil), // 214: hashicorp.waypoint.RunPipelineRequest + (*RunPipelineResponse)(nil), // 215: hashicorp.waypoint.RunPipelineResponse + (*ListPipelinesRequest)(nil), // 216: hashicorp.waypoint.ListPipelinesRequest + (*ListPipelinesResponse)(nil), // 217: hashicorp.waypoint.ListPipelinesResponse + (*ListPipelineRunsRequest)(nil), // 218: hashicorp.waypoint.ListPipelineRunsRequest + (*ListPipelineRunsResponse)(nil), // 219: hashicorp.waypoint.ListPipelineRunsResponse + (*GetPipelineRunRequest)(nil), // 220: hashicorp.waypoint.GetPipelineRunRequest + (*GetPipelineRunResponse)(nil), // 221: hashicorp.waypoint.GetPipelineRunResponse + (*ConfigSyncPipelineRequest)(nil), // 222: hashicorp.waypoint.ConfigSyncPipelineRequest + (*ConfigSyncPipelineResponse)(nil), // 223: hashicorp.waypoint.ConfigSyncPipelineResponse + (*TokenTransport)(nil), // 224: hashicorp.waypoint.TokenTransport + (*Token)(nil), // 225: hashicorp.waypoint.Token + (*HMACKey)(nil), // 226: hashicorp.waypoint.HMACKey + (*DecodeTokenRequest)(nil), // 227: hashicorp.waypoint.DecodeTokenRequest + (*DecodeTokenResponse)(nil), // 228: hashicorp.waypoint.DecodeTokenResponse + (*LoginTokenRequest)(nil), // 229: hashicorp.waypoint.LoginTokenRequest + (*GenerateRunnerTokenRequest)(nil), // 230: hashicorp.waypoint.GenerateRunnerTokenRequest + (*InviteTokenRequest)(nil), // 231: hashicorp.waypoint.InviteTokenRequest + (*NewTokenResponse)(nil), // 232: hashicorp.waypoint.NewTokenResponse + (*ConvertInviteTokenRequest)(nil), // 233: hashicorp.waypoint.ConvertInviteTokenRequest + (*CreateSnapshotResponse)(nil), // 234: hashicorp.waypoint.CreateSnapshotResponse + (*RestoreSnapshotRequest)(nil), // 235: hashicorp.waypoint.RestoreSnapshotRequest + (*Snapshot)(nil), // 236: hashicorp.waypoint.Snapshot + (*Hcl)(nil), // 237: hashicorp.waypoint.Hcl + (*WaypointHclFmtRequest)(nil), // 238: hashicorp.waypoint.WaypointHclFmtRequest + (*WaypointHclFmtResponse)(nil), // 239: hashicorp.waypoint.WaypointHclFmtResponse + (*InlineKeepalive)(nil), // 240: hashicorp.waypoint.InlineKeepalive + (*PaginationRequest)(nil), // 241: hashicorp.waypoint.PaginationRequest + (*PaginationResponse)(nil), // 242: hashicorp.waypoint.PaginationResponse + (*UI_ListProjectsRequest)(nil), // 243: hashicorp.waypoint.UI.ListProjectsRequest + (*UI_ListProjectsResponse)(nil), // 244: hashicorp.waypoint.UI.ListProjectsResponse + (*UI_ProjectBundle)(nil), // 245: hashicorp.waypoint.UI.ProjectBundle + (*UI_GetProjectRequest)(nil), // 246: hashicorp.waypoint.UI.GetProjectRequest + (*UI_GetProjectResponse)(nil), // 247: hashicorp.waypoint.UI.GetProjectResponse + (*UI_ListDeploymentsRequest)(nil), // 248: hashicorp.waypoint.UI.ListDeploymentsRequest + (*UI_ListDeploymentsResponse)(nil), // 249: hashicorp.waypoint.UI.ListDeploymentsResponse + (*UI_GetDeploymentRequest)(nil), // 250: hashicorp.waypoint.UI.GetDeploymentRequest + (*UI_GetDeploymentResponse)(nil), // 251: hashicorp.waypoint.UI.GetDeploymentResponse + (*UI_DeploymentBundle)(nil), // 252: hashicorp.waypoint.UI.DeploymentBundle + (*UI_ListReleasesRequest)(nil), // 253: hashicorp.waypoint.UI.ListReleasesRequest + (*UI_ListReleasesResponse)(nil), // 254: hashicorp.waypoint.UI.ListReleasesResponse + (*UI_ReleaseBundle)(nil), // 255: hashicorp.waypoint.UI.ReleaseBundle + (*VersionInfo_ProtocolVersion)(nil), // 256: hashicorp.waypoint.VersionInfo.ProtocolVersion + (*Variable_File)(nil), // 257: hashicorp.waypoint.Variable.File + (*Variable_VCS)(nil), // 258: hashicorp.waypoint.Variable.VCS + (*Variable_HclPos)(nil), // 259: hashicorp.waypoint.Variable.HclPos + (*Variable_HclRange)(nil), // 260: hashicorp.waypoint.Variable.HclRange + (*Variable_FinalValue)(nil), // 261: hashicorp.waypoint.Variable.FinalValue + (*Project_Poll)(nil), // 262: hashicorp.waypoint.Project.Poll + (*Project_AppStatusPoll)(nil), // 263: hashicorp.waypoint.Project.AppStatusPoll + (*Workspace_Project)(nil), // 264: hashicorp.waypoint.Workspace.Project + (*Workspace_Application)(nil), // 265: hashicorp.waypoint.Workspace.Application + (*User_Link)(nil), // 266: hashicorp.waypoint.User.Link + (*User_Link_OIDC)(nil), // 267: hashicorp.waypoint.User.Link.OIDC + (*Ref_Global)(nil), // 268: hashicorp.waypoint.Ref.Global + (*Ref_Application)(nil), // 269: hashicorp.waypoint.Ref.Application + (*Ref_Project)(nil), // 270: hashicorp.waypoint.Ref.Project + (*Ref_Workspace)(nil), // 271: hashicorp.waypoint.Ref.Workspace + (*Ref_Deployment)(nil), // 272: hashicorp.waypoint.Ref.Deployment + (*Ref_Artifact)(nil), // 273: hashicorp.waypoint.Ref.Artifact + (*Ref_Component)(nil), // 274: hashicorp.waypoint.Ref.Component + (*Ref_Operation)(nil), // 275: hashicorp.waypoint.Ref.Operation + (*Ref_OperationSeq)(nil), // 276: hashicorp.waypoint.Ref.OperationSeq + (*Ref_Runner)(nil), // 277: hashicorp.waypoint.Ref.Runner + (*Ref_RunnerAny)(nil), // 278: hashicorp.waypoint.Ref.RunnerAny + (*Ref_RunnerId)(nil), // 279: hashicorp.waypoint.Ref.RunnerId + (*Ref_RunnerLabels)(nil), // 280: hashicorp.waypoint.Ref.RunnerLabels + (*Ref_User)(nil), // 281: hashicorp.waypoint.Ref.User + (*Ref_UserId)(nil), // 282: hashicorp.waypoint.Ref.UserId + (*Ref_UserUsername)(nil), // 283: hashicorp.waypoint.Ref.UserUsername + (*Ref_AuthMethod)(nil), // 284: hashicorp.waypoint.Ref.AuthMethod + (*Ref_DeclaredResource)(nil), // 285: hashicorp.waypoint.Ref.DeclaredResource + (*Ref_OnDemandRunnerConfig)(nil), // 286: hashicorp.waypoint.Ref.OnDemandRunnerConfig + (*Ref_Trigger)(nil), // 287: hashicorp.waypoint.Ref.Trigger + (*Ref_Job)(nil), // 288: hashicorp.waypoint.Ref.Job + (*Ref_Task)(nil), // 289: hashicorp.waypoint.Ref.Task + (*Ref_Pipeline)(nil), // 290: hashicorp.waypoint.Ref.Pipeline + (*Ref_PipelineOwner)(nil), // 291: hashicorp.waypoint.Ref.PipelineOwner + (*Ref_PipelineStep)(nil), // 292: hashicorp.waypoint.Ref.PipelineStep + nil, // 293: hashicorp.waypoint.Ref.RunnerLabels.LabelsEntry + (*StatusFilter_Filter)(nil), // 294: hashicorp.waypoint.StatusFilter.Filter + nil, // 295: hashicorp.waypoint.TaskLaunchInfo.EnvironmentVariablesEntry + (*AuthMethod_OIDC)(nil), // 296: hashicorp.waypoint.AuthMethod.OIDC + nil, // 297: hashicorp.waypoint.AuthMethod.OIDC.ClaimMappingsEntry + nil, // 298: hashicorp.waypoint.AuthMethod.OIDC.ListClaimMappingsEntry + (*Job_TaskOverride)(nil), // 299: hashicorp.waypoint.Job.TaskOverride + nil, // 300: hashicorp.waypoint.Job.LabelsEntry + nil, // 301: hashicorp.waypoint.Job.DataSourceOverridesEntry + nil, // 302: hashicorp.waypoint.Job.VariableFinalValuesEntry + (*Job_Result)(nil), // 303: hashicorp.waypoint.Job.Result + (*Job_Config)(nil), // 304: hashicorp.waypoint.Job.Config + (*Job_DataSource)(nil), // 305: hashicorp.waypoint.Job.DataSource + (*Job_Local)(nil), // 306: hashicorp.waypoint.Job.Local + (*Job_Remote)(nil), // 307: hashicorp.waypoint.Job.Remote + (*Job_Git)(nil), // 308: hashicorp.waypoint.Job.Git + (*Job_Noop)(nil), // 309: hashicorp.waypoint.Job.Noop + (*Job_UpOp)(nil), // 310: hashicorp.waypoint.Job.UpOp + (*Job_UpResult)(nil), // 311: hashicorp.waypoint.Job.UpResult + (*Job_ValidateOp)(nil), // 312: hashicorp.waypoint.Job.ValidateOp + (*Job_ValidateResult)(nil), // 313: hashicorp.waypoint.Job.ValidateResult + (*Job_AuthOp)(nil), // 314: hashicorp.waypoint.Job.AuthOp + (*Job_AuthResult)(nil), // 315: hashicorp.waypoint.Job.AuthResult + (*Job_BuildOp)(nil), // 316: hashicorp.waypoint.Job.BuildOp + (*Job_BuildResult)(nil), // 317: hashicorp.waypoint.Job.BuildResult + (*Job_PushOp)(nil), // 318: hashicorp.waypoint.Job.PushOp + (*Job_PushResult)(nil), // 319: hashicorp.waypoint.Job.PushResult + (*Job_DeployOp)(nil), // 320: hashicorp.waypoint.Job.DeployOp + (*Job_DeployResult)(nil), // 321: hashicorp.waypoint.Job.DeployResult + (*Job_ExecOp)(nil), // 322: hashicorp.waypoint.Job.ExecOp + (*Job_ExecResult)(nil), // 323: hashicorp.waypoint.Job.ExecResult + (*Job_LogsOp)(nil), // 324: hashicorp.waypoint.Job.LogsOp + (*Job_DestroyOp)(nil), // 325: hashicorp.waypoint.Job.DestroyOp + (*Job_ReleaseOp)(nil), // 326: hashicorp.waypoint.Job.ReleaseOp + (*Job_ReleaseResult)(nil), // 327: hashicorp.waypoint.Job.ReleaseResult + (*Job_TaskPluginParams)(nil), // 328: hashicorp.waypoint.Job.TaskPluginParams + (*Job_StartTaskLaunchOp)(nil), // 329: hashicorp.waypoint.Job.StartTaskLaunchOp + (*Job_StartTaskResult)(nil), // 330: hashicorp.waypoint.Job.StartTaskResult + (*Job_StopTaskLaunchOp)(nil), // 331: hashicorp.waypoint.Job.StopTaskLaunchOp + (*Job_WatchTaskOp)(nil), // 332: hashicorp.waypoint.Job.WatchTaskOp + (*Job_WatchTaskResult)(nil), // 333: hashicorp.waypoint.Job.WatchTaskResult + (*Job_StatusReportOp)(nil), // 334: hashicorp.waypoint.Job.StatusReportOp + (*Job_StatusReportResult)(nil), // 335: hashicorp.waypoint.Job.StatusReportResult + (*Job_DocsOp)(nil), // 336: hashicorp.waypoint.Job.DocsOp + (*Job_DocsResult)(nil), // 337: hashicorp.waypoint.Job.DocsResult + (*Job_ConfigSyncOp)(nil), // 338: hashicorp.waypoint.Job.ConfigSyncOp + (*Job_ConfigSyncResult)(nil), // 339: hashicorp.waypoint.Job.ConfigSyncResult + (*Job_PipelineConfigSyncResult)(nil), // 340: hashicorp.waypoint.Job.PipelineConfigSyncResult + (*Job_ProjectDestroyResult)(nil), // 341: hashicorp.waypoint.Job.ProjectDestroyResult + (*Job_PollOp)(nil), // 342: hashicorp.waypoint.Job.PollOp + (*Job_PollResult)(nil), // 343: hashicorp.waypoint.Job.PollResult + (*Job_InitOp)(nil), // 344: hashicorp.waypoint.Job.InitOp + (*Job_InitResult)(nil), // 345: hashicorp.waypoint.Job.InitResult + (*Job_PipelineStepOp)(nil), // 346: hashicorp.waypoint.Job.PipelineStepOp + (*Job_DestroyProjectOp)(nil), // 347: hashicorp.waypoint.Job.DestroyProjectOp + (*Job_PipelineStepResult)(nil), // 348: hashicorp.waypoint.Job.PipelineStepResult + (*Job_QueueProjectOp)(nil), // 349: hashicorp.waypoint.Job.QueueProjectOp + (*Job_QueueProjectResult)(nil), // 350: hashicorp.waypoint.Job.QueueProjectResult + (*Job_DataSource_Ref)(nil), // 351: hashicorp.waypoint.Job.DataSource.Ref + (*Job_Git_Basic)(nil), // 352: hashicorp.waypoint.Job.Git.Basic + (*Job_Git_SSH)(nil), // 353: hashicorp.waypoint.Job.Git.SSH + (*Job_Git_Ref)(nil), // 354: hashicorp.waypoint.Job.Git.Ref + (*Job_AuthResult_Result)(nil), // 355: hashicorp.waypoint.Job.AuthResult.Result + (*Job_DocsResult_Result)(nil), // 356: hashicorp.waypoint.Job.DocsResult.Result + nil, // 357: hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry + (*Job_QueueProjectResult_Application)(nil), // 358: hashicorp.waypoint.Job.QueueProjectResult.Application + nil, // 359: hashicorp.waypoint.Documentation.FieldsEntry + (*Documentation_Field)(nil), // 360: hashicorp.waypoint.Documentation.Field + (*Documentation_Mapper)(nil), // 361: hashicorp.waypoint.Documentation.Mapper + (*GetJobStreamResponse_Open)(nil), // 362: hashicorp.waypoint.GetJobStreamResponse.Open + (*GetJobStreamResponse_State)(nil), // 363: hashicorp.waypoint.GetJobStreamResponse.State + (*GetJobStreamResponse_JobChange)(nil), // 364: hashicorp.waypoint.GetJobStreamResponse.JobChange + (*GetJobStreamResponse_Download)(nil), // 365: hashicorp.waypoint.GetJobStreamResponse.Download + (*GetJobStreamResponse_Terminal)(nil), // 366: hashicorp.waypoint.GetJobStreamResponse.Terminal + (*GetJobStreamResponse_Error)(nil), // 367: hashicorp.waypoint.GetJobStreamResponse.Error + (*GetJobStreamResponse_Complete)(nil), // 368: hashicorp.waypoint.GetJobStreamResponse.Complete + (*GetJobStreamResponse_Terminal_Event)(nil), // 369: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event + (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 370: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Status + (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 371: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Line + (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 372: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Raw + (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 373: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValue + (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 374: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues + (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 375: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableEntry + (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 376: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow + (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 377: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table + (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 378: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.StepGroup + (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 379: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Step + nil, // 380: hashicorp.waypoint.Runner.LabelsEntry + (*Runner_ODR)(nil), // 381: hashicorp.waypoint.Runner.ODR + (*Runner_Local)(nil), // 382: hashicorp.waypoint.Runner.Local + (*Runner_Remote)(nil), // 383: hashicorp.waypoint.Runner.Remote + (*RunnerConfigRequest_Open)(nil), // 384: hashicorp.waypoint.RunnerConfigRequest.Open + (*RunnerJobStreamRequest_Request)(nil), // 385: hashicorp.waypoint.RunnerJobStreamRequest.Request + (*RunnerJobStreamRequest_Ack)(nil), // 386: hashicorp.waypoint.RunnerJobStreamRequest.Ack + (*RunnerJobStreamRequest_Complete)(nil), // 387: hashicorp.waypoint.RunnerJobStreamRequest.Complete + (*RunnerJobStreamRequest_Error)(nil), // 388: hashicorp.waypoint.RunnerJobStreamRequest.Error + (*RunnerJobStreamRequest_Heartbeat)(nil), // 389: hashicorp.waypoint.RunnerJobStreamRequest.Heartbeat + (*RunnerJobStreamRequest_ConfigLoad)(nil), // 390: hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad + (*RunnerJobStreamRequest_VariableValuesSet)(nil), // 391: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet + nil, // 392: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry + (*RunnerJobStreamResponse_JobAssignment)(nil), // 393: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment + (*RunnerJobStreamResponse_JobCancel)(nil), // 394: hashicorp.waypoint.RunnerJobStreamResponse.JobCancel + (*ServerConfig_AdvertiseAddr)(nil), // 395: hashicorp.waypoint.ServerConfig.AdvertiseAddr + nil, // 396: hashicorp.waypoint.Hostname.TargetLabelsEntry + (*Hostname_Target)(nil), // 397: hashicorp.waypoint.Hostname.Target + (*Hostname_TargetApp)(nil), // 398: hashicorp.waypoint.Hostname.TargetApp + nil, // 399: hashicorp.waypoint.Build.LabelsEntry + (*Build_Preload)(nil), // 400: hashicorp.waypoint.Build.Preload + nil, // 401: hashicorp.waypoint.OnDemandRunnerConfig.EnvironmentVariablesEntry + nil, // 402: hashicorp.waypoint.PushedArtifact.LabelsEntry + (*PushedArtifact_Preload)(nil), // 403: hashicorp.waypoint.PushedArtifact.Preload + nil, // 404: hashicorp.waypoint.Deployment.LabelsEntry + (*Deployment_Preload)(nil), // 405: hashicorp.waypoint.Deployment.Preload + (*ListInstancesRequest_Application)(nil), // 406: hashicorp.waypoint.ListInstancesRequest.Application + nil, // 407: hashicorp.waypoint.Release.LabelsEntry + (*Release_Preload)(nil), // 408: hashicorp.waypoint.Release.Preload + (*StatusReport_Resource)(nil), // 409: hashicorp.waypoint.StatusReport.Resource + (*StatusReport_Health)(nil), // 410: hashicorp.waypoint.StatusReport.Health + (*GetLogStreamRequest_Application)(nil), // 411: hashicorp.waypoint.GetLogStreamRequest.Application + (*LogBatch_Entry)(nil), // 412: hashicorp.waypoint.LogBatch.Entry + (*ConfigVar_DynamicVal)(nil), // 413: hashicorp.waypoint.ConfigVar.DynamicVal + (*ConfigVar_Target)(nil), // 414: hashicorp.waypoint.ConfigVar.Target + nil, // 415: hashicorp.waypoint.ConfigVar.DynamicVal.ConfigEntry + nil, // 416: hashicorp.waypoint.ConfigGetRequest.LabelsEntry + nil, // 417: hashicorp.waypoint.ConfigSource.ConfigEntry + (*ExecStreamRequest_Start)(nil), // 418: hashicorp.waypoint.ExecStreamRequest.Start + (*ExecStreamRequest_Input)(nil), // 419: hashicorp.waypoint.ExecStreamRequest.Input + (*ExecStreamRequest_PTY)(nil), // 420: hashicorp.waypoint.ExecStreamRequest.PTY + (*ExecStreamRequest_WindowSize)(nil), // 421: hashicorp.waypoint.ExecStreamRequest.WindowSize + (*ExecStreamResponse_Open)(nil), // 422: hashicorp.waypoint.ExecStreamResponse.Open + (*ExecStreamResponse_Exit)(nil), // 423: hashicorp.waypoint.ExecStreamResponse.Exit + (*ExecStreamResponse_Output)(nil), // 424: hashicorp.waypoint.ExecStreamResponse.Output + (*EntrypointConfig_Exec)(nil), // 425: hashicorp.waypoint.EntrypointConfig.Exec + (*EntrypointConfig_URLService)(nil), // 426: hashicorp.waypoint.EntrypointConfig.URLService + (*EntrypointConfig_DeploymentInfo)(nil), // 427: hashicorp.waypoint.EntrypointConfig.DeploymentInfo + nil, // 428: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.LabelsEntry + (*EntrypointExecRequest_Open)(nil), // 429: hashicorp.waypoint.EntrypointExecRequest.Open + (*EntrypointExecRequest_Exit)(nil), // 430: hashicorp.waypoint.EntrypointExecRequest.Exit + (*EntrypointExecRequest_Output)(nil), // 431: hashicorp.waypoint.EntrypointExecRequest.Output + (*EntrypointExecRequest_Error)(nil), // 432: hashicorp.waypoint.EntrypointExecRequest.Error + nil, // 433: hashicorp.waypoint.Pipeline.StepsEntry + (*Pipeline_Step)(nil), // 434: hashicorp.waypoint.Pipeline.Step + (*Pipeline_Step_Exec)(nil), // 435: hashicorp.waypoint.Pipeline.Step.Exec + (*Pipeline_Step_Build)(nil), // 436: hashicorp.waypoint.Pipeline.Step.Build + (*Pipeline_Step_Deploy)(nil), // 437: hashicorp.waypoint.Pipeline.Step.Deploy + (*Pipeline_Step_Release)(nil), // 438: hashicorp.waypoint.Pipeline.Step.Release + (*Pipeline_Step_Up)(nil), // 439: hashicorp.waypoint.Pipeline.Step.Up + (*Pipeline_Step_Pipeline)(nil), // 440: hashicorp.waypoint.Pipeline.Step.Pipeline + (*GetPipelineResponse_Graph)(nil), // 441: hashicorp.waypoint.GetPipelineResponse.Graph + nil, // 442: hashicorp.waypoint.RunPipelineResponse.JobMapEntry + nil, // 443: hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry + nil, // 444: hashicorp.waypoint.TokenTransport.MetadataEntry + (*TokenTransport_OAuthCredentials)(nil), // 445: hashicorp.waypoint.TokenTransport.OAuthCredentials + (*Token_Login)(nil), // 446: hashicorp.waypoint.Token.Login + (*Token_Runner)(nil), // 447: hashicorp.waypoint.Token.Runner + (*Token_Invite)(nil), // 448: hashicorp.waypoint.Token.Invite + (*Token_Entrypoint)(nil), // 449: hashicorp.waypoint.Token.Entrypoint + (*Token_Trigger)(nil), // 450: hashicorp.waypoint.Token.Trigger + (*Token_Invite_Signup)(nil), // 451: hashicorp.waypoint.Token.Invite.Signup + nil, // 452: hashicorp.waypoint.GenerateRunnerTokenRequest.LabelsEntry + (*CreateSnapshotResponse_Open)(nil), // 453: hashicorp.waypoint.CreateSnapshotResponse.Open + (*RestoreSnapshotRequest_Open)(nil), // 454: hashicorp.waypoint.RestoreSnapshotRequest.Open + (*Snapshot_Header)(nil), // 455: hashicorp.waypoint.Snapshot.Header + (*Snapshot_Trailer)(nil), // 456: hashicorp.waypoint.Snapshot.Trailer + (*Snapshot_BoltChunk)(nil), // 457: hashicorp.waypoint.Snapshot.BoltChunk + nil, // 458: hashicorp.waypoint.Snapshot.BoltChunk.ItemsEntry + (*emptypb.Empty)(nil), // 459: google.protobuf.Empty + (*timestamppb.Timestamp)(nil), // 460: google.protobuf.Timestamp + (*status.Status)(nil), // 461: google.rpc.Status + (*opaqueany.Any)(nil), // 462: opaqueany.Any +} +var file_pkg_server_proto_server_proto_depIdxs = []int32{ + 28, // 0: hashicorp.waypoint.GetVersionInfoResponse.info:type_name -> hashicorp.waypoint.VersionInfo + 27, // 1: hashicorp.waypoint.GetVersionInfoResponse.server_features:type_name -> hashicorp.waypoint.ServerFeatures + 1, // 2: hashicorp.waypoint.ServerFeatures.features:type_name -> hashicorp.waypoint.ServerFeatures.feature + 256, // 3: hashicorp.waypoint.VersionInfo.api:type_name -> hashicorp.waypoint.VersionInfo.ProtocolVersion + 256, // 4: hashicorp.waypoint.VersionInfo.entrypoint:type_name -> hashicorp.waypoint.VersionInfo.ProtocolVersion + 270, // 5: hashicorp.waypoint.Application.project:type_name -> hashicorp.waypoint.Ref.Project + 459, // 6: hashicorp.waypoint.Variable.cli:type_name -> google.protobuf.Empty + 257, // 7: hashicorp.waypoint.Variable.file:type_name -> hashicorp.waypoint.Variable.File + 459, // 8: hashicorp.waypoint.Variable.env:type_name -> google.protobuf.Empty + 258, // 9: hashicorp.waypoint.Variable.vcs:type_name -> hashicorp.waypoint.Variable.VCS + 459, // 10: hashicorp.waypoint.Variable.server:type_name -> google.protobuf.Empty + 459, // 11: hashicorp.waypoint.Variable.dynamic:type_name -> google.protobuf.Empty + 261, // 12: hashicorp.waypoint.Variable.final_value:type_name -> hashicorp.waypoint.Variable.FinalValue + 29, // 13: hashicorp.waypoint.Project.applications:type_name -> hashicorp.waypoint.Application + 305, // 14: hashicorp.waypoint.Project.data_source:type_name -> hashicorp.waypoint.Job.DataSource + 262, // 15: hashicorp.waypoint.Project.data_source_poll:type_name -> hashicorp.waypoint.Project.Poll + 24, // 16: hashicorp.waypoint.Project.waypoint_hcl_format:type_name -> hashicorp.waypoint.Hcl.Format + 30, // 17: hashicorp.waypoint.Project.variables:type_name -> hashicorp.waypoint.Variable + 263, // 18: hashicorp.waypoint.Project.status_report_poll:type_name -> hashicorp.waypoint.Project.AppStatusPoll + 3, // 19: hashicorp.waypoint.Project.state:type_name -> hashicorp.waypoint.Project.ProjectState + 264, // 20: hashicorp.waypoint.Workspace.projects:type_name -> hashicorp.waypoint.Workspace.Project + 460, // 21: hashicorp.waypoint.Workspace.active_time:type_name -> google.protobuf.Timestamp + 266, // 22: hashicorp.waypoint.User.links:type_name -> hashicorp.waypoint.User.Link + 4, // 23: hashicorp.waypoint.Component.type:type_name -> hashicorp.waypoint.Component.Type + 5, // 24: hashicorp.waypoint.Status.state:type_name -> hashicorp.waypoint.Status.State + 461, // 25: hashicorp.waypoint.Status.error:type_name -> google.rpc.Status + 460, // 26: hashicorp.waypoint.Status.start_time:type_name -> google.protobuf.Timestamp + 460, // 27: hashicorp.waypoint.Status.complete_time:type_name -> google.protobuf.Timestamp + 294, // 28: hashicorp.waypoint.StatusFilter.filters:type_name -> hashicorp.waypoint.StatusFilter.Filter + 7, // 29: hashicorp.waypoint.OperationOrder.order:type_name -> hashicorp.waypoint.OperationOrder.Order + 462, // 30: hashicorp.waypoint.DeclaredResource.state:type_name -> opaqueany.Any + 0, // 31: hashicorp.waypoint.DeclaredResource.category_display_hint:type_name -> hashicorp.waypoint.ResourceCategoryDisplayHint + 462, // 32: hashicorp.waypoint.DestroyedResource.state:type_name -> opaqueany.Any + 295, // 33: hashicorp.waypoint.TaskLaunchInfo.environment_variables:type_name -> hashicorp.waypoint.TaskLaunchInfo.EnvironmentVariablesEntry + 288, // 34: hashicorp.waypoint.Task.task_job:type_name -> hashicorp.waypoint.Ref.Job + 288, // 35: hashicorp.waypoint.Task.watch_job:type_name -> hashicorp.waypoint.Ref.Job + 288, // 36: hashicorp.waypoint.Task.start_job:type_name -> hashicorp.waypoint.Ref.Job + 288, // 37: hashicorp.waypoint.Task.stop_job:type_name -> hashicorp.waypoint.Ref.Job + 462, // 38: hashicorp.waypoint.Task.state:type_name -> opaqueany.Any + 8, // 39: hashicorp.waypoint.Task.job_state:type_name -> hashicorp.waypoint.Task.State + 44, // 40: hashicorp.waypoint.UpsertTaskRequest.task:type_name -> hashicorp.waypoint.Task + 44, // 41: hashicorp.waypoint.UpsertTaskResponse.task:type_name -> hashicorp.waypoint.Task + 289, // 42: hashicorp.waypoint.GetTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task + 44, // 43: hashicorp.waypoint.GetTaskResponse.task:type_name -> hashicorp.waypoint.Task + 78, // 44: hashicorp.waypoint.GetTaskResponse.task_job:type_name -> hashicorp.waypoint.Job + 78, // 45: hashicorp.waypoint.GetTaskResponse.start_job:type_name -> hashicorp.waypoint.Job + 78, // 46: hashicorp.waypoint.GetTaskResponse.stop_job:type_name -> hashicorp.waypoint.Job + 78, // 47: hashicorp.waypoint.GetTaskResponse.watch_job:type_name -> hashicorp.waypoint.Job + 289, // 48: hashicorp.waypoint.DeleteTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task + 8, // 49: hashicorp.waypoint.ListTaskRequest.taskState:type_name -> hashicorp.waypoint.Task.State + 48, // 50: hashicorp.waypoint.ListTaskResponse.tasks:type_name -> hashicorp.waypoint.GetTaskResponse + 289, // 51: hashicorp.waypoint.CancelTaskRequest.ref:type_name -> hashicorp.waypoint.Ref.Task + 281, // 52: hashicorp.waypoint.GetUserRequest.user:type_name -> hashicorp.waypoint.Ref.User + 33, // 53: hashicorp.waypoint.GetUserResponse.user:type_name -> hashicorp.waypoint.User + 33, // 54: hashicorp.waypoint.ListUsersResponse.users:type_name -> hashicorp.waypoint.User + 33, // 55: hashicorp.waypoint.UpdateUserRequest.user:type_name -> hashicorp.waypoint.User + 33, // 56: hashicorp.waypoint.UpdateUserResponse.user:type_name -> hashicorp.waypoint.User + 281, // 57: hashicorp.waypoint.DeleteUserRequest.user:type_name -> hashicorp.waypoint.Ref.User + 296, // 58: hashicorp.waypoint.AuthMethod.oidc:type_name -> hashicorp.waypoint.AuthMethod.OIDC + 9, // 59: hashicorp.waypoint.OIDCAuthMethod.kind:type_name -> hashicorp.waypoint.OIDCAuthMethod.Kind + 60, // 60: hashicorp.waypoint.UpsertAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.AuthMethod + 60, // 61: hashicorp.waypoint.UpsertAuthMethodResponse.auth_method:type_name -> hashicorp.waypoint.AuthMethod + 284, // 62: hashicorp.waypoint.GetAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod + 60, // 63: hashicorp.waypoint.GetAuthMethodResponse.auth_method:type_name -> hashicorp.waypoint.AuthMethod + 284, // 64: hashicorp.waypoint.DeleteAuthMethodRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod + 60, // 65: hashicorp.waypoint.ListAuthMethodsResponse.auth_methods:type_name -> hashicorp.waypoint.AuthMethod + 61, // 66: hashicorp.waypoint.ListOIDCAuthMethodsResponse.auth_methods:type_name -> hashicorp.waypoint.OIDCAuthMethod + 284, // 67: hashicorp.waypoint.GetOIDCAuthURLRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod + 284, // 68: hashicorp.waypoint.CompleteOIDCAuthRequest.auth_method:type_name -> hashicorp.waypoint.Ref.AuthMethod + 33, // 69: hashicorp.waypoint.CompleteOIDCAuthResponse.user:type_name -> hashicorp.waypoint.User + 78, // 70: hashicorp.waypoint.QueueJobRequest.job:type_name -> hashicorp.waypoint.Job + 78, // 71: hashicorp.waypoint.ValidateJobRequest.job:type_name -> hashicorp.waypoint.Job + 461, // 72: hashicorp.waypoint.ValidateJobResponse.validation_error:type_name -> google.rpc.Status + 269, // 73: hashicorp.waypoint.Job.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 74: hashicorp.waypoint.Job.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 277, // 75: hashicorp.waypoint.Job.target_runner:type_name -> hashicorp.waypoint.Ref.Runner + 286, // 76: hashicorp.waypoint.Job.ondemand_runner:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig + 299, // 77: hashicorp.waypoint.Job.ondemand_runner_task:type_name -> hashicorp.waypoint.Job.TaskOverride + 300, // 78: hashicorp.waypoint.Job.labels:type_name -> hashicorp.waypoint.Job.LabelsEntry + 305, // 79: hashicorp.waypoint.Job.data_source:type_name -> hashicorp.waypoint.Job.DataSource + 301, // 80: hashicorp.waypoint.Job.data_source_overrides:type_name -> hashicorp.waypoint.Job.DataSourceOverridesEntry + 237, // 81: hashicorp.waypoint.Job.waypoint_hcl:type_name -> hashicorp.waypoint.Hcl + 30, // 82: hashicorp.waypoint.Job.variables:type_name -> hashicorp.waypoint.Variable + 309, // 83: hashicorp.waypoint.Job.noop:type_name -> hashicorp.waypoint.Job.Noop + 316, // 84: hashicorp.waypoint.Job.build:type_name -> hashicorp.waypoint.Job.BuildOp + 318, // 85: hashicorp.waypoint.Job.push:type_name -> hashicorp.waypoint.Job.PushOp + 320, // 86: hashicorp.waypoint.Job.deploy:type_name -> hashicorp.waypoint.Job.DeployOp + 325, // 87: hashicorp.waypoint.Job.destroy:type_name -> hashicorp.waypoint.Job.DestroyOp + 326, // 88: hashicorp.waypoint.Job.release:type_name -> hashicorp.waypoint.Job.ReleaseOp + 312, // 89: hashicorp.waypoint.Job.validate:type_name -> hashicorp.waypoint.Job.ValidateOp + 314, // 90: hashicorp.waypoint.Job.auth:type_name -> hashicorp.waypoint.Job.AuthOp + 336, // 91: hashicorp.waypoint.Job.docs:type_name -> hashicorp.waypoint.Job.DocsOp + 338, // 92: hashicorp.waypoint.Job.config_sync:type_name -> hashicorp.waypoint.Job.ConfigSyncOp + 322, // 93: hashicorp.waypoint.Job.exec:type_name -> hashicorp.waypoint.Job.ExecOp + 310, // 94: hashicorp.waypoint.Job.up:type_name -> hashicorp.waypoint.Job.UpOp + 324, // 95: hashicorp.waypoint.Job.logs:type_name -> hashicorp.waypoint.Job.LogsOp + 349, // 96: hashicorp.waypoint.Job.queue_project:type_name -> hashicorp.waypoint.Job.QueueProjectOp + 342, // 97: hashicorp.waypoint.Job.poll:type_name -> hashicorp.waypoint.Job.PollOp + 334, // 98: hashicorp.waypoint.Job.status_report:type_name -> hashicorp.waypoint.Job.StatusReportOp + 329, // 99: hashicorp.waypoint.Job.start_task:type_name -> hashicorp.waypoint.Job.StartTaskLaunchOp + 331, // 100: hashicorp.waypoint.Job.stop_task:type_name -> hashicorp.waypoint.Job.StopTaskLaunchOp + 344, // 101: hashicorp.waypoint.Job.init:type_name -> hashicorp.waypoint.Job.InitOp + 332, // 102: hashicorp.waypoint.Job.watch_task:type_name -> hashicorp.waypoint.Job.WatchTaskOp + 346, // 103: hashicorp.waypoint.Job.pipeline_step:type_name -> hashicorp.waypoint.Job.PipelineStepOp + 347, // 104: hashicorp.waypoint.Job.destroy_project:type_name -> hashicorp.waypoint.Job.DestroyProjectOp + 10, // 105: hashicorp.waypoint.Job.state:type_name -> hashicorp.waypoint.Job.State + 279, // 106: hashicorp.waypoint.Job.assigned_runner:type_name -> hashicorp.waypoint.Ref.RunnerId + 460, // 107: hashicorp.waypoint.Job.queue_time:type_name -> google.protobuf.Timestamp + 460, // 108: hashicorp.waypoint.Job.assign_time:type_name -> google.protobuf.Timestamp + 460, // 109: hashicorp.waypoint.Job.ack_time:type_name -> google.protobuf.Timestamp + 460, // 110: hashicorp.waypoint.Job.complete_time:type_name -> google.protobuf.Timestamp + 351, // 111: hashicorp.waypoint.Job.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 302, // 112: hashicorp.waypoint.Job.variable_final_values:type_name -> hashicorp.waypoint.Job.VariableFinalValuesEntry + 304, // 113: hashicorp.waypoint.Job.config:type_name -> hashicorp.waypoint.Job.Config + 461, // 114: hashicorp.waypoint.Job.error:type_name -> google.rpc.Status + 303, // 115: hashicorp.waypoint.Job.result:type_name -> hashicorp.waypoint.Job.Result + 460, // 116: hashicorp.waypoint.Job.cancel_time:type_name -> google.protobuf.Timestamp + 460, // 117: hashicorp.waypoint.Job.expire_time:type_name -> google.protobuf.Timestamp + 289, // 118: hashicorp.waypoint.Job.task:type_name -> hashicorp.waypoint.Ref.Task + 292, // 119: hashicorp.waypoint.Job.pipeline:type_name -> hashicorp.waypoint.Ref.PipelineStep + 359, // 120: hashicorp.waypoint.Documentation.fields:type_name -> hashicorp.waypoint.Documentation.FieldsEntry + 361, // 121: hashicorp.waypoint.Documentation.mappers:type_name -> hashicorp.waypoint.Documentation.Mapper + 271, // 122: hashicorp.waypoint.ListJobsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 270, // 123: hashicorp.waypoint.ListJobsRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 124: hashicorp.waypoint.ListJobsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 277, // 125: hashicorp.waypoint.ListJobsRequest.targetRunner:type_name -> hashicorp.waypoint.Ref.Runner + 292, // 126: hashicorp.waypoint.ListJobsRequest.pipeline:type_name -> hashicorp.waypoint.Ref.PipelineStep + 10, // 127: hashicorp.waypoint.ListJobsRequest.jobState:type_name -> hashicorp.waypoint.Job.State + 241, // 128: hashicorp.waypoint.ListJobsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest + 78, // 129: hashicorp.waypoint.ListJobsResponse.jobs:type_name -> hashicorp.waypoint.Job + 242, // 130: hashicorp.waypoint.ListJobsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse + 362, // 131: hashicorp.waypoint.GetJobStreamResponse.open:type_name -> hashicorp.waypoint.GetJobStreamResponse.Open + 363, // 132: hashicorp.waypoint.GetJobStreamResponse.state:type_name -> hashicorp.waypoint.GetJobStreamResponse.State + 364, // 133: hashicorp.waypoint.GetJobStreamResponse.job:type_name -> hashicorp.waypoint.GetJobStreamResponse.JobChange + 366, // 134: hashicorp.waypoint.GetJobStreamResponse.terminal:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal + 365, // 135: hashicorp.waypoint.GetJobStreamResponse.download:type_name -> hashicorp.waypoint.GetJobStreamResponse.Download + 367, // 136: hashicorp.waypoint.GetJobStreamResponse.error:type_name -> hashicorp.waypoint.GetJobStreamResponse.Error + 368, // 137: hashicorp.waypoint.GetJobStreamResponse.complete:type_name -> hashicorp.waypoint.GetJobStreamResponse.Complete + 381, // 138: hashicorp.waypoint.Runner.odr:type_name -> hashicorp.waypoint.Runner.ODR + 382, // 139: hashicorp.waypoint.Runner.local:type_name -> hashicorp.waypoint.Runner.Local + 383, // 140: hashicorp.waypoint.Runner.remote:type_name -> hashicorp.waypoint.Runner.Remote + 35, // 141: hashicorp.waypoint.Runner.components:type_name -> hashicorp.waypoint.Component + 380, // 142: hashicorp.waypoint.Runner.labels:type_name -> hashicorp.waypoint.Runner.LabelsEntry + 460, // 143: hashicorp.waypoint.Runner.first_seen:type_name -> google.protobuf.Timestamp + 460, // 144: hashicorp.waypoint.Runner.last_seen:type_name -> google.protobuf.Timestamp + 12, // 145: hashicorp.waypoint.Runner.adoption_state:type_name -> hashicorp.waypoint.Runner.AdoptionState + 85, // 146: hashicorp.waypoint.RunnerTokenRequest.runner:type_name -> hashicorp.waypoint.Runner + 384, // 147: hashicorp.waypoint.RunnerConfigRequest.open:type_name -> hashicorp.waypoint.RunnerConfigRequest.Open + 90, // 148: hashicorp.waypoint.RunnerConfigResponse.config:type_name -> hashicorp.waypoint.RunnerConfig + 188, // 149: hashicorp.waypoint.RunnerConfig.config_vars:type_name -> hashicorp.waypoint.ConfigVar + 195, // 150: hashicorp.waypoint.RunnerConfig.config_sources:type_name -> hashicorp.waypoint.ConfigSource + 385, // 151: hashicorp.waypoint.RunnerJobStreamRequest.request:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Request + 386, // 152: hashicorp.waypoint.RunnerJobStreamRequest.ack:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Ack + 387, // 153: hashicorp.waypoint.RunnerJobStreamRequest.complete:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Complete + 388, // 154: hashicorp.waypoint.RunnerJobStreamRequest.error:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Error + 366, // 155: hashicorp.waypoint.RunnerJobStreamRequest.terminal:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal + 365, // 156: hashicorp.waypoint.RunnerJobStreamRequest.download:type_name -> hashicorp.waypoint.GetJobStreamResponse.Download + 390, // 157: hashicorp.waypoint.RunnerJobStreamRequest.config_load:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad + 391, // 158: hashicorp.waypoint.RunnerJobStreamRequest.variable_values_set:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet + 389, // 159: hashicorp.waypoint.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.Heartbeat + 393, // 160: hashicorp.waypoint.RunnerJobStreamResponse.assignment:type_name -> hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment + 394, // 161: hashicorp.waypoint.RunnerJobStreamResponse.cancel:type_name -> hashicorp.waypoint.RunnerJobStreamResponse.JobCancel + 85, // 162: hashicorp.waypoint.ListRunnersResponse.runners:type_name -> hashicorp.waypoint.Runner + 102, // 163: hashicorp.waypoint.SetServerConfigRequest.config:type_name -> hashicorp.waypoint.ServerConfig + 102, // 164: hashicorp.waypoint.GetServerConfigResponse.config:type_name -> hashicorp.waypoint.ServerConfig + 395, // 165: hashicorp.waypoint.ServerConfig.advertise_addrs:type_name -> hashicorp.waypoint.ServerConfig.AdvertiseAddr + 397, // 166: hashicorp.waypoint.CreateHostnameRequest.target:type_name -> hashicorp.waypoint.Hostname.Target + 108, // 167: hashicorp.waypoint.CreateHostnameResponse.hostname:type_name -> hashicorp.waypoint.Hostname + 397, // 168: hashicorp.waypoint.ListHostnamesRequest.target:type_name -> hashicorp.waypoint.Hostname.Target + 108, // 169: hashicorp.waypoint.ListHostnamesResponse.hostnames:type_name -> hashicorp.waypoint.Hostname + 396, // 170: hashicorp.waypoint.Hostname.target_labels:type_name -> hashicorp.waypoint.Hostname.TargetLabelsEntry + 459, // 171: hashicorp.waypoint.ListWorkspacesRequest.global:type_name -> google.protobuf.Empty + 270, // 172: hashicorp.waypoint.ListWorkspacesRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 173: hashicorp.waypoint.ListWorkspacesRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 32, // 174: hashicorp.waypoint.ListWorkspacesResponse.workspaces:type_name -> hashicorp.waypoint.Workspace + 271, // 175: hashicorp.waypoint.GetWorkspaceRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 32, // 176: hashicorp.waypoint.GetWorkspaceResponse.workspace:type_name -> hashicorp.waypoint.Workspace + 32, // 177: hashicorp.waypoint.UpsertWorkspaceRequest.workspace:type_name -> hashicorp.waypoint.Workspace + 32, // 178: hashicorp.waypoint.UpsertWorkspaceResponse.workspace:type_name -> hashicorp.waypoint.Workspace + 31, // 179: hashicorp.waypoint.UpsertProjectRequest.project:type_name -> hashicorp.waypoint.Project + 31, // 180: hashicorp.waypoint.UpsertProjectResponse.project:type_name -> hashicorp.waypoint.Project + 270, // 181: hashicorp.waypoint.GetProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 31, // 182: hashicorp.waypoint.GetProjectResponse.project:type_name -> hashicorp.waypoint.Project + 264, // 183: hashicorp.waypoint.GetProjectResponse.workspaces:type_name -> hashicorp.waypoint.Workspace.Project + 241, // 184: hashicorp.waypoint.ListProjectsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest + 270, // 185: hashicorp.waypoint.ListProjectsResponse.projects:type_name -> hashicorp.waypoint.Ref.Project + 242, // 186: hashicorp.waypoint.ListProjectsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse + 270, // 187: hashicorp.waypoint.DestroyProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 188: hashicorp.waypoint.GetApplicationRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 29, // 189: hashicorp.waypoint.GetApplicationResponse.application:type_name -> hashicorp.waypoint.Application + 270, // 190: hashicorp.waypoint.UpsertApplicationRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 29, // 191: hashicorp.waypoint.UpsertApplicationResponse.application:type_name -> hashicorp.waypoint.Application + 132, // 192: hashicorp.waypoint.UpsertBuildRequest.build:type_name -> hashicorp.waypoint.Build + 132, // 193: hashicorp.waypoint.UpsertBuildResponse.build:type_name -> hashicorp.waypoint.Build + 269, // 194: hashicorp.waypoint.ListBuildsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 195: hashicorp.waypoint.ListBuildsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 39, // 196: hashicorp.waypoint.ListBuildsRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 132, // 197: hashicorp.waypoint.ListBuildsResponse.builds:type_name -> hashicorp.waypoint.Build + 269, // 198: hashicorp.waypoint.GetLatestBuildRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 199: hashicorp.waypoint.GetLatestBuildRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 275, // 200: hashicorp.waypoint.GetBuildRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 269, // 201: hashicorp.waypoint.Build.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 202: hashicorp.waypoint.Build.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 36, // 203: hashicorp.waypoint.Build.status:type_name -> hashicorp.waypoint.Status + 35, // 204: hashicorp.waypoint.Build.component:type_name -> hashicorp.waypoint.Component + 133, // 205: hashicorp.waypoint.Build.artifact:type_name -> hashicorp.waypoint.Artifact + 399, // 206: hashicorp.waypoint.Build.labels:type_name -> hashicorp.waypoint.Build.LabelsEntry + 400, // 207: hashicorp.waypoint.Build.preload:type_name -> hashicorp.waypoint.Build.Preload + 462, // 208: hashicorp.waypoint.Artifact.artifact:type_name -> opaqueany.Any + 277, // 209: hashicorp.waypoint.OnDemandRunnerConfig.target_runner:type_name -> hashicorp.waypoint.Ref.Runner + 401, // 210: hashicorp.waypoint.OnDemandRunnerConfig.environment_variables:type_name -> hashicorp.waypoint.OnDemandRunnerConfig.EnvironmentVariablesEntry + 24, // 211: hashicorp.waypoint.OnDemandRunnerConfig.config_format:type_name -> hashicorp.waypoint.Hcl.Format + 134, // 212: hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig + 134, // 213: hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig + 286, // 214: hashicorp.waypoint.GetOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig + 134, // 215: hashicorp.waypoint.GetOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig + 286, // 216: hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest.config:type_name -> hashicorp.waypoint.Ref.OnDemandRunnerConfig + 134, // 217: hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse.config:type_name -> hashicorp.waypoint.OnDemandRunnerConfig + 134, // 218: hashicorp.waypoint.ListOnDemandRunnerConfigsResponse.configs:type_name -> hashicorp.waypoint.OnDemandRunnerConfig + 148, // 219: hashicorp.waypoint.UpsertPushedArtifactRequest.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 148, // 220: hashicorp.waypoint.UpsertPushedArtifactResponse.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 269, // 221: hashicorp.waypoint.GetLatestPushedArtifactRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 222: hashicorp.waypoint.GetLatestPushedArtifactRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 275, // 223: hashicorp.waypoint.GetPushedArtifactRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 269, // 224: hashicorp.waypoint.ListPushedArtifactsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 225: hashicorp.waypoint.ListPushedArtifactsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 37, // 226: hashicorp.waypoint.ListPushedArtifactsRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 39, // 227: hashicorp.waypoint.ListPushedArtifactsRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 148, // 228: hashicorp.waypoint.ListPushedArtifactsResponse.artifacts:type_name -> hashicorp.waypoint.PushedArtifact + 269, // 229: hashicorp.waypoint.PushedArtifact.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 230: hashicorp.waypoint.PushedArtifact.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 36, // 231: hashicorp.waypoint.PushedArtifact.status:type_name -> hashicorp.waypoint.Status + 35, // 232: hashicorp.waypoint.PushedArtifact.component:type_name -> hashicorp.waypoint.Component + 133, // 233: hashicorp.waypoint.PushedArtifact.artifact:type_name -> hashicorp.waypoint.Artifact + 402, // 234: hashicorp.waypoint.PushedArtifact.labels:type_name -> hashicorp.waypoint.PushedArtifact.LabelsEntry + 132, // 235: hashicorp.waypoint.PushedArtifact.build:type_name -> hashicorp.waypoint.Build + 403, // 236: hashicorp.waypoint.PushedArtifact.preload:type_name -> hashicorp.waypoint.PushedArtifact.Preload + 275, // 237: hashicorp.waypoint.GetDeploymentRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 14, // 238: hashicorp.waypoint.GetDeploymentRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails + 154, // 239: hashicorp.waypoint.UpsertDeploymentRequest.deployment:type_name -> hashicorp.waypoint.Deployment + 13, // 240: hashicorp.waypoint.UpsertDeploymentRequest.auto_hostname:type_name -> hashicorp.waypoint.UpsertDeploymentRequest.Tristate + 154, // 241: hashicorp.waypoint.UpsertDeploymentResponse.deployment:type_name -> hashicorp.waypoint.Deployment + 269, // 242: hashicorp.waypoint.ListDeploymentsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 243: hashicorp.waypoint.ListDeploymentsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 37, // 244: hashicorp.waypoint.ListDeploymentsRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 6, // 245: hashicorp.waypoint.ListDeploymentsRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 39, // 246: hashicorp.waypoint.ListDeploymentsRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 14, // 247: hashicorp.waypoint.ListDeploymentsRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails + 154, // 248: hashicorp.waypoint.ListDeploymentsResponse.deployments:type_name -> hashicorp.waypoint.Deployment + 269, // 249: hashicorp.waypoint.Deployment.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 250: hashicorp.waypoint.Deployment.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 40, // 251: hashicorp.waypoint.Deployment.generation:type_name -> hashicorp.waypoint.Generation + 6, // 252: hashicorp.waypoint.Deployment.state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 36, // 253: hashicorp.waypoint.Deployment.status:type_name -> hashicorp.waypoint.Status + 35, // 254: hashicorp.waypoint.Deployment.component:type_name -> hashicorp.waypoint.Component + 462, // 255: hashicorp.waypoint.Deployment.deployment:type_name -> opaqueany.Any + 404, // 256: hashicorp.waypoint.Deployment.labels:type_name -> hashicorp.waypoint.Deployment.LabelsEntry + 41, // 257: hashicorp.waypoint.Deployment.declared_resources:type_name -> hashicorp.waypoint.DeclaredResource + 42, // 258: hashicorp.waypoint.Deployment.destroyed_resources:type_name -> hashicorp.waypoint.DestroyedResource + 405, // 259: hashicorp.waypoint.Deployment.preload:type_name -> hashicorp.waypoint.Deployment.Preload + 154, // 260: hashicorp.waypoint.DeploymentExpanded.deployment:type_name -> hashicorp.waypoint.Deployment + 185, // 261: hashicorp.waypoint.DeploymentExpanded.latest_status_report:type_name -> hashicorp.waypoint.StatusReport + 406, // 262: hashicorp.waypoint.ListInstancesRequest.application:type_name -> hashicorp.waypoint.ListInstancesRequest.Application + 158, // 263: hashicorp.waypoint.ListInstancesResponse.instances:type_name -> hashicorp.waypoint.Instance + 269, // 264: hashicorp.waypoint.Instance.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 265: hashicorp.waypoint.Instance.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 15, // 266: hashicorp.waypoint.Instance.type:type_name -> hashicorp.waypoint.Instance.Type + 165, // 267: hashicorp.waypoint.UpsertReleaseRequest.release:type_name -> hashicorp.waypoint.Release + 165, // 268: hashicorp.waypoint.UpsertReleaseResponse.release:type_name -> hashicorp.waypoint.Release + 269, // 269: hashicorp.waypoint.GetLatestReleaseRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 270: hashicorp.waypoint.GetLatestReleaseRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 16, // 271: hashicorp.waypoint.GetLatestReleaseRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails + 269, // 272: hashicorp.waypoint.ListReleasesRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 273: hashicorp.waypoint.ListReleasesRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 37, // 274: hashicorp.waypoint.ListReleasesRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 6, // 275: hashicorp.waypoint.ListReleasesRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 39, // 276: hashicorp.waypoint.ListReleasesRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 16, // 277: hashicorp.waypoint.ListReleasesRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails + 165, // 278: hashicorp.waypoint.ListReleasesResponse.releases:type_name -> hashicorp.waypoint.Release + 275, // 279: hashicorp.waypoint.GetReleaseRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 16, // 280: hashicorp.waypoint.GetReleaseRequest.load_details:type_name -> hashicorp.waypoint.Release.LoadDetails + 269, // 281: hashicorp.waypoint.Release.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 282: hashicorp.waypoint.Release.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 36, // 283: hashicorp.waypoint.Release.status:type_name -> hashicorp.waypoint.Status + 6, // 284: hashicorp.waypoint.Release.state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 35, // 285: hashicorp.waypoint.Release.component:type_name -> hashicorp.waypoint.Component + 462, // 286: hashicorp.waypoint.Release.release:type_name -> opaqueany.Any + 407, // 287: hashicorp.waypoint.Release.labels:type_name -> hashicorp.waypoint.Release.LabelsEntry + 41, // 288: hashicorp.waypoint.Release.declared_resources:type_name -> hashicorp.waypoint.DeclaredResource + 42, // 289: hashicorp.waypoint.Release.destroyed_resources:type_name -> hashicorp.waypoint.DestroyedResource + 408, // 290: hashicorp.waypoint.Release.preload:type_name -> hashicorp.waypoint.Release.Preload + 165, // 291: hashicorp.waypoint.ReleaseExpanded.release:type_name -> hashicorp.waypoint.Release + 185, // 292: hashicorp.waypoint.ReleaseExpanded.latest_status_report:type_name -> hashicorp.waypoint.StatusReport + 460, // 293: hashicorp.waypoint.Trigger.active_time:type_name -> google.protobuf.Timestamp + 316, // 294: hashicorp.waypoint.Trigger.build:type_name -> hashicorp.waypoint.Job.BuildOp + 318, // 295: hashicorp.waypoint.Trigger.push:type_name -> hashicorp.waypoint.Job.PushOp + 320, // 296: hashicorp.waypoint.Trigger.deploy:type_name -> hashicorp.waypoint.Job.DeployOp + 325, // 297: hashicorp.waypoint.Trigger.destroy:type_name -> hashicorp.waypoint.Job.DestroyOp + 326, // 298: hashicorp.waypoint.Trigger.release:type_name -> hashicorp.waypoint.Job.ReleaseOp + 310, // 299: hashicorp.waypoint.Trigger.up:type_name -> hashicorp.waypoint.Job.UpOp + 344, // 300: hashicorp.waypoint.Trigger.init:type_name -> hashicorp.waypoint.Job.InitOp + 334, // 301: hashicorp.waypoint.Trigger.status_report:type_name -> hashicorp.waypoint.Job.StatusReportOp + 271, // 302: hashicorp.waypoint.Trigger.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 270, // 303: hashicorp.waypoint.Trigger.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 304: hashicorp.waypoint.Trigger.application:type_name -> hashicorp.waypoint.Ref.Application + 167, // 305: hashicorp.waypoint.UpsertTriggerRequest.trigger:type_name -> hashicorp.waypoint.Trigger + 167, // 306: hashicorp.waypoint.UpsertTriggerResponse.trigger:type_name -> hashicorp.waypoint.Trigger + 287, // 307: hashicorp.waypoint.GetTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger + 167, // 308: hashicorp.waypoint.GetTriggerResponse.trigger:type_name -> hashicorp.waypoint.Trigger + 287, // 309: hashicorp.waypoint.DeleteTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger + 287, // 310: hashicorp.waypoint.RunTriggerRequest.ref:type_name -> hashicorp.waypoint.Ref.Trigger + 30, // 311: hashicorp.waypoint.RunTriggerRequest.variable_overrides:type_name -> hashicorp.waypoint.Variable + 271, // 312: hashicorp.waypoint.ListTriggerRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 270, // 313: hashicorp.waypoint.ListTriggerRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 314: hashicorp.waypoint.ListTriggerRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 167, // 315: hashicorp.waypoint.ListTriggerResponse.triggers:type_name -> hashicorp.waypoint.Trigger + 185, // 316: hashicorp.waypoint.UpsertStatusReportRequest.status_report:type_name -> hashicorp.waypoint.StatusReport + 185, // 317: hashicorp.waypoint.UpsertStatusReportResponse.status_report:type_name -> hashicorp.waypoint.StatusReport + 269, // 318: hashicorp.waypoint.GetLatestStatusReportRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 319: hashicorp.waypoint.GetLatestStatusReportRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 459, // 320: hashicorp.waypoint.GetLatestStatusReportRequest.any:type_name -> google.protobuf.Empty + 459, // 321: hashicorp.waypoint.GetLatestStatusReportRequest.deployment_any:type_name -> google.protobuf.Empty + 459, // 322: hashicorp.waypoint.GetLatestStatusReportRequest.release_any:type_name -> google.protobuf.Empty + 37, // 323: hashicorp.waypoint.ListStatusReportsRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 39, // 324: hashicorp.waypoint.ListStatusReportsRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 269, // 325: hashicorp.waypoint.ListStatusReportsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 326: hashicorp.waypoint.ListStatusReportsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 275, // 327: hashicorp.waypoint.ListStatusReportsRequest.deployment:type_name -> hashicorp.waypoint.Ref.Operation + 275, // 328: hashicorp.waypoint.ListStatusReportsRequest.release:type_name -> hashicorp.waypoint.Ref.Operation + 185, // 329: hashicorp.waypoint.ListStatusReportsResponse.status_reports:type_name -> hashicorp.waypoint.StatusReport + 275, // 330: hashicorp.waypoint.GetStatusReportRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 271, // 331: hashicorp.waypoint.ExpediteStatusReportRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 275, // 332: hashicorp.waypoint.ExpediteStatusReportRequest.deployment:type_name -> hashicorp.waypoint.Ref.Operation + 275, // 333: hashicorp.waypoint.ExpediteStatusReportRequest.release:type_name -> hashicorp.waypoint.Ref.Operation + 269, // 334: hashicorp.waypoint.StatusReport.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 335: hashicorp.waypoint.StatusReport.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 36, // 336: hashicorp.waypoint.StatusReport.status:type_name -> hashicorp.waypoint.Status + 462, // 337: hashicorp.waypoint.StatusReport.status_report:type_name -> opaqueany.Any + 410, // 338: hashicorp.waypoint.StatusReport.health:type_name -> hashicorp.waypoint.StatusReport.Health + 460, // 339: hashicorp.waypoint.StatusReport.generated_time:type_name -> google.protobuf.Timestamp + 409, // 340: hashicorp.waypoint.StatusReport.resources:type_name -> hashicorp.waypoint.StatusReport.Resource + 410, // 341: hashicorp.waypoint.StatusReport.deprecated_resources_health:type_name -> hashicorp.waypoint.StatusReport.Health + 411, // 342: hashicorp.waypoint.GetLogStreamRequest.application:type_name -> hashicorp.waypoint.GetLogStreamRequest.Application + 412, // 343: hashicorp.waypoint.LogBatch.lines:type_name -> hashicorp.waypoint.LogBatch.Entry + 414, // 344: hashicorp.waypoint.ConfigVar.target:type_name -> hashicorp.waypoint.ConfigVar.Target + 459, // 345: hashicorp.waypoint.ConfigVar.unset:type_name -> google.protobuf.Empty + 413, // 346: hashicorp.waypoint.ConfigVar.dynamic:type_name -> hashicorp.waypoint.ConfigVar.DynamicVal + 269, // 347: hashicorp.waypoint.ConfigVar.application:type_name -> hashicorp.waypoint.Ref.Application + 270, // 348: hashicorp.waypoint.ConfigVar.project:type_name -> hashicorp.waypoint.Ref.Project + 277, // 349: hashicorp.waypoint.ConfigVar.runner:type_name -> hashicorp.waypoint.Ref.Runner + 188, // 350: hashicorp.waypoint.ConfigSetRequest.variables:type_name -> hashicorp.waypoint.ConfigVar + 188, // 351: hashicorp.waypoint.ConfigDeleteRequest.variables:type_name -> hashicorp.waypoint.ConfigVar + 269, // 352: hashicorp.waypoint.ConfigGetRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 270, // 353: hashicorp.waypoint.ConfigGetRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 279, // 354: hashicorp.waypoint.ConfigGetRequest.runner:type_name -> hashicorp.waypoint.Ref.RunnerId + 271, // 355: hashicorp.waypoint.ConfigGetRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 416, // 356: hashicorp.waypoint.ConfigGetRequest.labels:type_name -> hashicorp.waypoint.ConfigGetRequest.LabelsEntry + 188, // 357: hashicorp.waypoint.ConfigGetResponse.variables:type_name -> hashicorp.waypoint.ConfigVar + 268, // 358: hashicorp.waypoint.ConfigSource.global:type_name -> hashicorp.waypoint.Ref.Global + 270, // 359: hashicorp.waypoint.ConfigSource.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 360: hashicorp.waypoint.ConfigSource.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 361: hashicorp.waypoint.ConfigSource.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 417, // 362: hashicorp.waypoint.ConfigSource.config:type_name -> hashicorp.waypoint.ConfigSource.ConfigEntry + 195, // 363: hashicorp.waypoint.SetConfigSourceRequest.config_source:type_name -> hashicorp.waypoint.ConfigSource + 195, // 364: hashicorp.waypoint.DeleteConfigSourceRequest.config_source:type_name -> hashicorp.waypoint.ConfigSource + 268, // 365: hashicorp.waypoint.GetConfigSourceRequest.global:type_name -> hashicorp.waypoint.Ref.Global + 270, // 366: hashicorp.waypoint.GetConfigSourceRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 367: hashicorp.waypoint.GetConfigSourceRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 368: hashicorp.waypoint.GetConfigSourceRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 195, // 369: hashicorp.waypoint.GetConfigSourceResponse.config_sources:type_name -> hashicorp.waypoint.ConfigSource + 418, // 370: hashicorp.waypoint.ExecStreamRequest.start:type_name -> hashicorp.waypoint.ExecStreamRequest.Start + 419, // 371: hashicorp.waypoint.ExecStreamRequest.input:type_name -> hashicorp.waypoint.ExecStreamRequest.Input + 421, // 372: hashicorp.waypoint.ExecStreamRequest.winch:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize + 459, // 373: hashicorp.waypoint.ExecStreamRequest.input_eof:type_name -> google.protobuf.Empty + 422, // 374: hashicorp.waypoint.ExecStreamResponse.open:type_name -> hashicorp.waypoint.ExecStreamResponse.Open + 424, // 375: hashicorp.waypoint.ExecStreamResponse.output:type_name -> hashicorp.waypoint.ExecStreamResponse.Output + 423, // 376: hashicorp.waypoint.ExecStreamResponse.exit:type_name -> hashicorp.waypoint.ExecStreamResponse.Exit + 15, // 377: hashicorp.waypoint.EntrypointConfigRequest.type:type_name -> hashicorp.waypoint.Instance.Type + 204, // 378: hashicorp.waypoint.EntrypointConfigResponse.config:type_name -> hashicorp.waypoint.EntrypointConfig + 425, // 379: hashicorp.waypoint.EntrypointConfig.exec:type_name -> hashicorp.waypoint.EntrypointConfig.Exec + 188, // 380: hashicorp.waypoint.EntrypointConfig.env_vars:type_name -> hashicorp.waypoint.ConfigVar + 195, // 381: hashicorp.waypoint.EntrypointConfig.config_sources:type_name -> hashicorp.waypoint.ConfigSource + 426, // 382: hashicorp.waypoint.EntrypointConfig.url_service:type_name -> hashicorp.waypoint.EntrypointConfig.URLService + 427, // 383: hashicorp.waypoint.EntrypointConfig.deployment:type_name -> hashicorp.waypoint.EntrypointConfig.DeploymentInfo + 412, // 384: hashicorp.waypoint.EntrypointLogBatch.lines:type_name -> hashicorp.waypoint.LogBatch.Entry + 429, // 385: hashicorp.waypoint.EntrypointExecRequest.open:type_name -> hashicorp.waypoint.EntrypointExecRequest.Open + 430, // 386: hashicorp.waypoint.EntrypointExecRequest.exit:type_name -> hashicorp.waypoint.EntrypointExecRequest.Exit + 431, // 387: hashicorp.waypoint.EntrypointExecRequest.output:type_name -> hashicorp.waypoint.EntrypointExecRequest.Output + 432, // 388: hashicorp.waypoint.EntrypointExecRequest.error:type_name -> hashicorp.waypoint.EntrypointExecRequest.Error + 459, // 389: hashicorp.waypoint.EntrypointExecResponse.input_eof:type_name -> google.protobuf.Empty + 421, // 390: hashicorp.waypoint.EntrypointExecResponse.winch:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize + 270, // 391: hashicorp.waypoint.Pipeline.project:type_name -> hashicorp.waypoint.Ref.Project + 433, // 392: hashicorp.waypoint.Pipeline.steps:type_name -> hashicorp.waypoint.Pipeline.StepsEntry + 290, // 393: hashicorp.waypoint.PipelineRun.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline + 288, // 394: hashicorp.waypoint.PipelineRun.jobs:type_name -> hashicorp.waypoint.Ref.Job + 21, // 395: hashicorp.waypoint.PipelineRun.state:type_name -> hashicorp.waypoint.PipelineRun.State + 208, // 396: hashicorp.waypoint.UpsertPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Pipeline + 208, // 397: hashicorp.waypoint.UpsertPipelineResponse.pipeline:type_name -> hashicorp.waypoint.Pipeline + 290, // 398: hashicorp.waypoint.GetPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline + 208, // 399: hashicorp.waypoint.GetPipelineResponse.pipeline:type_name -> hashicorp.waypoint.Pipeline + 441, // 400: hashicorp.waypoint.GetPipelineResponse.graph:type_name -> hashicorp.waypoint.GetPipelineResponse.Graph + 290, // 401: hashicorp.waypoint.RunPipelineRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline + 78, // 402: hashicorp.waypoint.RunPipelineRequest.job_template:type_name -> hashicorp.waypoint.Job + 442, // 403: hashicorp.waypoint.RunPipelineResponse.job_map:type_name -> hashicorp.waypoint.RunPipelineResponse.JobMapEntry + 270, // 404: hashicorp.waypoint.ListPipelinesRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 208, // 405: hashicorp.waypoint.ListPipelinesResponse.pipelines:type_name -> hashicorp.waypoint.Pipeline + 290, // 406: hashicorp.waypoint.ListPipelineRunsRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline + 209, // 407: hashicorp.waypoint.ListPipelineRunsResponse.pipeline_runs:type_name -> hashicorp.waypoint.PipelineRun + 290, // 408: hashicorp.waypoint.GetPipelineRunRequest.pipeline:type_name -> hashicorp.waypoint.Ref.Pipeline + 209, // 409: hashicorp.waypoint.GetPipelineRunResponse.pipeline_run:type_name -> hashicorp.waypoint.PipelineRun + 270, // 410: hashicorp.waypoint.ConfigSyncPipelineRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 443, // 411: hashicorp.waypoint.ConfigSyncPipelineResponse.synced_pipelines:type_name -> hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry + 444, // 412: hashicorp.waypoint.TokenTransport.metadata:type_name -> hashicorp.waypoint.TokenTransport.MetadataEntry + 445, // 413: hashicorp.waypoint.TokenTransport.oauth_creds:type_name -> hashicorp.waypoint.TokenTransport.OAuthCredentials + 460, // 414: hashicorp.waypoint.Token.valid_until:type_name -> google.protobuf.Timestamp + 460, // 415: hashicorp.waypoint.Token.issued_time:type_name -> google.protobuf.Timestamp + 446, // 416: hashicorp.waypoint.Token.login:type_name -> hashicorp.waypoint.Token.Login + 447, // 417: hashicorp.waypoint.Token.runner:type_name -> hashicorp.waypoint.Token.Runner + 448, // 418: hashicorp.waypoint.Token.invite:type_name -> hashicorp.waypoint.Token.Invite + 450, // 419: hashicorp.waypoint.Token.trigger:type_name -> hashicorp.waypoint.Token.Trigger + 449, // 420: hashicorp.waypoint.Token.unused_entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint + 225, // 421: hashicorp.waypoint.DecodeTokenResponse.token:type_name -> hashicorp.waypoint.Token + 224, // 422: hashicorp.waypoint.DecodeTokenResponse.transport:type_name -> hashicorp.waypoint.TokenTransport + 281, // 423: hashicorp.waypoint.LoginTokenRequest.user:type_name -> hashicorp.waypoint.Ref.User + 452, // 424: hashicorp.waypoint.GenerateRunnerTokenRequest.labels:type_name -> hashicorp.waypoint.GenerateRunnerTokenRequest.LabelsEntry + 446, // 425: hashicorp.waypoint.InviteTokenRequest.login:type_name -> hashicorp.waypoint.Token.Login + 451, // 426: hashicorp.waypoint.InviteTokenRequest.signup:type_name -> hashicorp.waypoint.Token.Invite.Signup + 449, // 427: hashicorp.waypoint.InviteTokenRequest.unused_entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint + 453, // 428: hashicorp.waypoint.CreateSnapshotResponse.open:type_name -> hashicorp.waypoint.CreateSnapshotResponse.Open + 454, // 429: hashicorp.waypoint.RestoreSnapshotRequest.open:type_name -> hashicorp.waypoint.RestoreSnapshotRequest.Open + 24, // 430: hashicorp.waypoint.Hcl.format:type_name -> hashicorp.waypoint.Hcl.Format + 241, // 431: hashicorp.waypoint.UI.ListProjectsRequest.pagination:type_name -> hashicorp.waypoint.PaginationRequest + 245, // 432: hashicorp.waypoint.UI.ListProjectsResponse.project_bundles:type_name -> hashicorp.waypoint.UI.ProjectBundle + 242, // 433: hashicorp.waypoint.UI.ListProjectsResponse.pagination:type_name -> hashicorp.waypoint.PaginationResponse + 31, // 434: hashicorp.waypoint.UI.ProjectBundle.project:type_name -> hashicorp.waypoint.Project + 270, // 435: hashicorp.waypoint.UI.GetProjectRequest.project:type_name -> hashicorp.waypoint.Ref.Project + 31, // 436: hashicorp.waypoint.UI.GetProjectResponse.project:type_name -> hashicorp.waypoint.Project + 78, // 437: hashicorp.waypoint.UI.GetProjectResponse.latest_init_job:type_name -> hashicorp.waypoint.Job + 269, // 438: hashicorp.waypoint.UI.ListDeploymentsRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 439: hashicorp.waypoint.UI.ListDeploymentsRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 39, // 440: hashicorp.waypoint.UI.ListDeploymentsRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 37, // 441: hashicorp.waypoint.UI.ListDeploymentsRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 6, // 442: hashicorp.waypoint.UI.ListDeploymentsRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 252, // 443: hashicorp.waypoint.UI.ListDeploymentsResponse.deployments:type_name -> hashicorp.waypoint.UI.DeploymentBundle + 275, // 444: hashicorp.waypoint.UI.GetDeploymentRequest.ref:type_name -> hashicorp.waypoint.Ref.Operation + 14, // 445: hashicorp.waypoint.UI.GetDeploymentRequest.load_details:type_name -> hashicorp.waypoint.Deployment.LoadDetails + 252, // 446: hashicorp.waypoint.UI.GetDeploymentResponse.deployment:type_name -> hashicorp.waypoint.UI.DeploymentBundle + 154, // 447: hashicorp.waypoint.UI.DeploymentBundle.deployment:type_name -> hashicorp.waypoint.Deployment + 148, // 448: hashicorp.waypoint.UI.DeploymentBundle.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 132, // 449: hashicorp.waypoint.UI.DeploymentBundle.build:type_name -> hashicorp.waypoint.Build + 351, // 450: hashicorp.waypoint.UI.DeploymentBundle.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 185, // 451: hashicorp.waypoint.UI.DeploymentBundle.latest_status_report:type_name -> hashicorp.waypoint.StatusReport + 269, // 452: hashicorp.waypoint.UI.ListReleasesRequest.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 453: hashicorp.waypoint.UI.ListReleasesRequest.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 39, // 454: hashicorp.waypoint.UI.ListReleasesRequest.order:type_name -> hashicorp.waypoint.OperationOrder + 37, // 455: hashicorp.waypoint.UI.ListReleasesRequest.status:type_name -> hashicorp.waypoint.StatusFilter + 6, // 456: hashicorp.waypoint.UI.ListReleasesRequest.physical_state:type_name -> hashicorp.waypoint.Operation.PhysicalState + 255, // 457: hashicorp.waypoint.UI.ListReleasesResponse.releases:type_name -> hashicorp.waypoint.UI.ReleaseBundle + 165, // 458: hashicorp.waypoint.UI.ReleaseBundle.release:type_name -> hashicorp.waypoint.Release + 185, // 459: hashicorp.waypoint.UI.ReleaseBundle.latest_status_report:type_name -> hashicorp.waypoint.StatusReport + 260, // 460: hashicorp.waypoint.Variable.File.hcl_range:type_name -> hashicorp.waypoint.Variable.HclRange + 260, // 461: hashicorp.waypoint.Variable.VCS.hcl_range:type_name -> hashicorp.waypoint.Variable.HclRange + 259, // 462: hashicorp.waypoint.Variable.HclRange.start:type_name -> hashicorp.waypoint.Variable.HclPos + 259, // 463: hashicorp.waypoint.Variable.HclRange.end:type_name -> hashicorp.waypoint.Variable.HclPos + 2, // 464: hashicorp.waypoint.Variable.FinalValue.source:type_name -> hashicorp.waypoint.Variable.FinalValue.Source + 270, // 465: hashicorp.waypoint.Workspace.Project.project:type_name -> hashicorp.waypoint.Ref.Project + 271, // 466: hashicorp.waypoint.Workspace.Project.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 351, // 467: hashicorp.waypoint.Workspace.Project.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 460, // 468: hashicorp.waypoint.Workspace.Project.active_time:type_name -> google.protobuf.Timestamp + 265, // 469: hashicorp.waypoint.Workspace.Project.applications:type_name -> hashicorp.waypoint.Workspace.Application + 269, // 470: hashicorp.waypoint.Workspace.Application.application:type_name -> hashicorp.waypoint.Ref.Application + 460, // 471: hashicorp.waypoint.Workspace.Application.active_time:type_name -> google.protobuf.Timestamp + 267, // 472: hashicorp.waypoint.User.Link.oidc:type_name -> hashicorp.waypoint.User.Link.OIDC + 4, // 473: hashicorp.waypoint.Ref.Component.type:type_name -> hashicorp.waypoint.Component.Type + 276, // 474: hashicorp.waypoint.Ref.Operation.sequence:type_name -> hashicorp.waypoint.Ref.OperationSeq + 269, // 475: hashicorp.waypoint.Ref.OperationSeq.application:type_name -> hashicorp.waypoint.Ref.Application + 278, // 476: hashicorp.waypoint.Ref.Runner.any:type_name -> hashicorp.waypoint.Ref.RunnerAny + 279, // 477: hashicorp.waypoint.Ref.Runner.id:type_name -> hashicorp.waypoint.Ref.RunnerId + 280, // 478: hashicorp.waypoint.Ref.Runner.labels:type_name -> hashicorp.waypoint.Ref.RunnerLabels + 293, // 479: hashicorp.waypoint.Ref.RunnerLabels.labels:type_name -> hashicorp.waypoint.Ref.RunnerLabels.LabelsEntry + 282, // 480: hashicorp.waypoint.Ref.User.id:type_name -> hashicorp.waypoint.Ref.UserId + 283, // 481: hashicorp.waypoint.Ref.User.username:type_name -> hashicorp.waypoint.Ref.UserUsername + 291, // 482: hashicorp.waypoint.Ref.Pipeline.owner:type_name -> hashicorp.waypoint.Ref.PipelineOwner + 270, // 483: hashicorp.waypoint.Ref.PipelineOwner.project:type_name -> hashicorp.waypoint.Ref.Project + 5, // 484: hashicorp.waypoint.StatusFilter.Filter.state:type_name -> hashicorp.waypoint.Status.State + 297, // 485: hashicorp.waypoint.AuthMethod.OIDC.claim_mappings:type_name -> hashicorp.waypoint.AuthMethod.OIDC.ClaimMappingsEntry + 298, // 486: hashicorp.waypoint.AuthMethod.OIDC.list_claim_mappings:type_name -> hashicorp.waypoint.AuthMethod.OIDC.ListClaimMappingsEntry + 43, // 487: hashicorp.waypoint.Job.TaskOverride.launch_info:type_name -> hashicorp.waypoint.TaskLaunchInfo + 261, // 488: hashicorp.waypoint.Job.VariableFinalValuesEntry.value:type_name -> hashicorp.waypoint.Variable.FinalValue + 317, // 489: hashicorp.waypoint.Job.Result.build:type_name -> hashicorp.waypoint.Job.BuildResult + 319, // 490: hashicorp.waypoint.Job.Result.push:type_name -> hashicorp.waypoint.Job.PushResult + 321, // 491: hashicorp.waypoint.Job.Result.deploy:type_name -> hashicorp.waypoint.Job.DeployResult + 327, // 492: hashicorp.waypoint.Job.Result.release:type_name -> hashicorp.waypoint.Job.ReleaseResult + 313, // 493: hashicorp.waypoint.Job.Result.validate:type_name -> hashicorp.waypoint.Job.ValidateResult + 315, // 494: hashicorp.waypoint.Job.Result.auth:type_name -> hashicorp.waypoint.Job.AuthResult + 337, // 495: hashicorp.waypoint.Job.Result.docs:type_name -> hashicorp.waypoint.Job.DocsResult + 339, // 496: hashicorp.waypoint.Job.Result.config_sync:type_name -> hashicorp.waypoint.Job.ConfigSyncResult + 311, // 497: hashicorp.waypoint.Job.Result.up:type_name -> hashicorp.waypoint.Job.UpResult + 350, // 498: hashicorp.waypoint.Job.Result.queue_project:type_name -> hashicorp.waypoint.Job.QueueProjectResult + 343, // 499: hashicorp.waypoint.Job.Result.poll:type_name -> hashicorp.waypoint.Job.PollResult + 335, // 500: hashicorp.waypoint.Job.Result.status_report:type_name -> hashicorp.waypoint.Job.StatusReportResult + 330, // 501: hashicorp.waypoint.Job.Result.start_task:type_name -> hashicorp.waypoint.Job.StartTaskResult + 345, // 502: hashicorp.waypoint.Job.Result.init:type_name -> hashicorp.waypoint.Job.InitResult + 333, // 503: hashicorp.waypoint.Job.Result.watch_task:type_name -> hashicorp.waypoint.Job.WatchTaskResult + 348, // 504: hashicorp.waypoint.Job.Result.pipeline_step:type_name -> hashicorp.waypoint.Job.PipelineStepResult + 340, // 505: hashicorp.waypoint.Job.Result.pipeline_config_sync:type_name -> hashicorp.waypoint.Job.PipelineConfigSyncResult + 341, // 506: hashicorp.waypoint.Job.Result.project_destroy:type_name -> hashicorp.waypoint.Job.ProjectDestroyResult + 11, // 507: hashicorp.waypoint.Job.Config.source:type_name -> hashicorp.waypoint.Job.Config.Source + 306, // 508: hashicorp.waypoint.Job.DataSource.local:type_name -> hashicorp.waypoint.Job.Local + 308, // 509: hashicorp.waypoint.Job.DataSource.git:type_name -> hashicorp.waypoint.Job.Git + 307, // 510: hashicorp.waypoint.Job.DataSource.remote:type_name -> hashicorp.waypoint.Job.Remote + 308, // 511: hashicorp.waypoint.Job.Remote.git_remote:type_name -> hashicorp.waypoint.Job.Git + 352, // 512: hashicorp.waypoint.Job.Git.basic:type_name -> hashicorp.waypoint.Job.Git.Basic + 353, // 513: hashicorp.waypoint.Job.Git.ssh:type_name -> hashicorp.waypoint.Job.Git.SSH + 326, // 514: hashicorp.waypoint.Job.UpOp.release:type_name -> hashicorp.waypoint.Job.ReleaseOp + 274, // 515: hashicorp.waypoint.Job.AuthOp.component:type_name -> hashicorp.waypoint.Ref.Component + 355, // 516: hashicorp.waypoint.Job.AuthResult.results:type_name -> hashicorp.waypoint.Job.AuthResult.Result + 132, // 517: hashicorp.waypoint.Job.BuildResult.build:type_name -> hashicorp.waypoint.Build + 148, // 518: hashicorp.waypoint.Job.BuildResult.push:type_name -> hashicorp.waypoint.PushedArtifact + 132, // 519: hashicorp.waypoint.Job.PushOp.build:type_name -> hashicorp.waypoint.Build + 148, // 520: hashicorp.waypoint.Job.PushResult.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 148, // 521: hashicorp.waypoint.Job.DeployOp.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 154, // 522: hashicorp.waypoint.Job.DeployResult.deployment:type_name -> hashicorp.waypoint.Deployment + 154, // 523: hashicorp.waypoint.Job.ExecOp.deployment:type_name -> hashicorp.waypoint.Deployment + 154, // 524: hashicorp.waypoint.Job.LogsOp.deployment:type_name -> hashicorp.waypoint.Deployment + 460, // 525: hashicorp.waypoint.Job.LogsOp.start_time:type_name -> google.protobuf.Timestamp + 459, // 526: hashicorp.waypoint.Job.DestroyOp.workspace:type_name -> google.protobuf.Empty + 154, // 527: hashicorp.waypoint.Job.DestroyOp.deployment:type_name -> hashicorp.waypoint.Deployment + 154, // 528: hashicorp.waypoint.Job.ReleaseOp.deployment:type_name -> hashicorp.waypoint.Deployment + 165, // 529: hashicorp.waypoint.Job.ReleaseResult.release:type_name -> hashicorp.waypoint.Release + 24, // 530: hashicorp.waypoint.Job.TaskPluginParams.hcl_format:type_name -> hashicorp.waypoint.Hcl.Format + 43, // 531: hashicorp.waypoint.Job.StartTaskLaunchOp.info:type_name -> hashicorp.waypoint.TaskLaunchInfo + 328, // 532: hashicorp.waypoint.Job.StartTaskLaunchOp.params:type_name -> hashicorp.waypoint.Job.TaskPluginParams + 462, // 533: hashicorp.waypoint.Job.StartTaskResult.state:type_name -> opaqueany.Any + 328, // 534: hashicorp.waypoint.Job.StopTaskLaunchOp.params:type_name -> hashicorp.waypoint.Job.TaskPluginParams + 462, // 535: hashicorp.waypoint.Job.StopTaskLaunchOp.direct:type_name -> opaqueany.Any + 288, // 536: hashicorp.waypoint.Job.WatchTaskOp.start_job:type_name -> hashicorp.waypoint.Ref.Job + 154, // 537: hashicorp.waypoint.Job.StatusReportOp.deployment:type_name -> hashicorp.waypoint.Deployment + 165, // 538: hashicorp.waypoint.Job.StatusReportOp.release:type_name -> hashicorp.waypoint.Release + 185, // 539: hashicorp.waypoint.Job.StatusReportResult.status_report:type_name -> hashicorp.waypoint.StatusReport + 356, // 540: hashicorp.waypoint.Job.DocsResult.results:type_name -> hashicorp.waypoint.Job.DocsResult.Result + 357, // 541: hashicorp.waypoint.Job.PipelineConfigSyncResult.synced_pipelines:type_name -> hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry + 351, // 542: hashicorp.waypoint.Job.PollResult.old_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 351, // 543: hashicorp.waypoint.Job.PollResult.new_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 434, // 544: hashicorp.waypoint.Job.PipelineStepOp.step:type_name -> hashicorp.waypoint.Pipeline.Step + 270, // 545: hashicorp.waypoint.Job.DestroyProjectOp.project:type_name -> hashicorp.waypoint.Ref.Project + 461, // 546: hashicorp.waypoint.Job.PipelineStepResult.result:type_name -> google.rpc.Status + 78, // 547: hashicorp.waypoint.Job.QueueProjectOp.job_template:type_name -> hashicorp.waypoint.Job + 358, // 548: hashicorp.waypoint.Job.QueueProjectResult.applications:type_name -> hashicorp.waypoint.Job.QueueProjectResult.Application + 459, // 549: hashicorp.waypoint.Job.DataSource.Ref.unknown:type_name -> google.protobuf.Empty + 354, // 550: hashicorp.waypoint.Job.DataSource.Ref.git:type_name -> hashicorp.waypoint.Job.Git.Ref + 460, // 551: hashicorp.waypoint.Job.Git.Ref.timestamp:type_name -> google.protobuf.Timestamp + 35, // 552: hashicorp.waypoint.Job.AuthResult.Result.component:type_name -> hashicorp.waypoint.Component + 461, // 553: hashicorp.waypoint.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status + 461, // 554: hashicorp.waypoint.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status + 35, // 555: hashicorp.waypoint.Job.DocsResult.Result.component:type_name -> hashicorp.waypoint.Component + 79, // 556: hashicorp.waypoint.Job.DocsResult.Result.docs:type_name -> hashicorp.waypoint.Documentation + 290, // 557: hashicorp.waypoint.Job.PipelineConfigSyncResult.SyncedPipelinesEntry.value:type_name -> hashicorp.waypoint.Ref.Pipeline + 269, // 558: hashicorp.waypoint.Job.QueueProjectResult.Application.application:type_name -> hashicorp.waypoint.Ref.Application + 360, // 559: hashicorp.waypoint.Documentation.FieldsEntry.value:type_name -> hashicorp.waypoint.Documentation.Field + 10, // 560: hashicorp.waypoint.GetJobStreamResponse.State.previous:type_name -> hashicorp.waypoint.Job.State + 10, // 561: hashicorp.waypoint.GetJobStreamResponse.State.current:type_name -> hashicorp.waypoint.Job.State + 78, // 562: hashicorp.waypoint.GetJobStreamResponse.State.job:type_name -> hashicorp.waypoint.Job + 78, // 563: hashicorp.waypoint.GetJobStreamResponse.JobChange.job:type_name -> hashicorp.waypoint.Job + 351, // 564: hashicorp.waypoint.GetJobStreamResponse.Download.data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 369, // 565: hashicorp.waypoint.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event + 461, // 566: hashicorp.waypoint.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status + 461, // 567: hashicorp.waypoint.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status + 303, // 568: hashicorp.waypoint.GetJobStreamResponse.Complete.result:type_name -> hashicorp.waypoint.Job.Result + 460, // 569: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp + 371, // 570: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Line + 370, // 571: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Status + 374, // 572: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues + 372, // 573: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Raw + 377, // 574: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table + 378, // 575: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.StepGroup + 379, // 576: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Step + 373, // 577: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.NamedValue + 375, // 578: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableEntry + 376, // 579: hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.waypoint.GetJobStreamResponse.Terminal.Event.TableRow + 85, // 580: hashicorp.waypoint.RunnerConfigRequest.Open.runner:type_name -> hashicorp.waypoint.Runner + 303, // 581: hashicorp.waypoint.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.waypoint.Job.Result + 461, // 582: hashicorp.waypoint.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status + 304, // 583: hashicorp.waypoint.RunnerJobStreamRequest.ConfigLoad.config:type_name -> hashicorp.waypoint.Job.Config + 392, // 584: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.final_values:type_name -> hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry + 261, // 585: hashicorp.waypoint.RunnerJobStreamRequest.VariableValuesSet.FinalValuesEntry.value:type_name -> hashicorp.waypoint.Variable.FinalValue + 78, // 586: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.waypoint.Job + 195, // 587: hashicorp.waypoint.RunnerJobStreamResponse.JobAssignment.config_sources:type_name -> hashicorp.waypoint.ConfigSource + 398, // 588: hashicorp.waypoint.Hostname.Target.application:type_name -> hashicorp.waypoint.Hostname.TargetApp + 269, // 589: hashicorp.waypoint.Hostname.TargetApp.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 590: hashicorp.waypoint.Hostname.TargetApp.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 351, // 591: hashicorp.waypoint.Build.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 351, // 592: hashicorp.waypoint.PushedArtifact.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 148, // 593: hashicorp.waypoint.Deployment.Preload.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 132, // 594: hashicorp.waypoint.Deployment.Preload.build:type_name -> hashicorp.waypoint.Build + 351, // 595: hashicorp.waypoint.Deployment.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 269, // 596: hashicorp.waypoint.ListInstancesRequest.Application.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 597: hashicorp.waypoint.ListInstancesRequest.Application.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 154, // 598: hashicorp.waypoint.Release.Preload.deployment:type_name -> hashicorp.waypoint.Deployment + 148, // 599: hashicorp.waypoint.Release.Preload.artifact:type_name -> hashicorp.waypoint.PushedArtifact + 132, // 600: hashicorp.waypoint.Release.Preload.build:type_name -> hashicorp.waypoint.Build + 351, // 601: hashicorp.waypoint.Release.Preload.job_data_source_ref:type_name -> hashicorp.waypoint.Job.DataSource.Ref + 285, // 602: hashicorp.waypoint.StatusReport.Resource.declared_resource:type_name -> hashicorp.waypoint.Ref.DeclaredResource + 0, // 603: hashicorp.waypoint.StatusReport.Resource.category_display_hint:type_name -> hashicorp.waypoint.ResourceCategoryDisplayHint + 460, // 604: hashicorp.waypoint.StatusReport.Resource.created_time:type_name -> google.protobuf.Timestamp + 17, // 605: hashicorp.waypoint.StatusReport.Resource.health:type_name -> hashicorp.waypoint.StatusReport.Resource.Health + 410, // 606: hashicorp.waypoint.StatusReport.Resource.deprecated_health:type_name -> hashicorp.waypoint.StatusReport.Health + 269, // 607: hashicorp.waypoint.GetLogStreamRequest.Application.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 608: hashicorp.waypoint.GetLogStreamRequest.Application.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 18, // 609: hashicorp.waypoint.LogBatch.Entry.source:type_name -> hashicorp.waypoint.LogBatch.Entry.Source + 460, // 610: hashicorp.waypoint.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp + 415, // 611: hashicorp.waypoint.ConfigVar.DynamicVal.config:type_name -> hashicorp.waypoint.ConfigVar.DynamicVal.ConfigEntry + 268, // 612: hashicorp.waypoint.ConfigVar.Target.global:type_name -> hashicorp.waypoint.Ref.Global + 270, // 613: hashicorp.waypoint.ConfigVar.Target.project:type_name -> hashicorp.waypoint.Ref.Project + 269, // 614: hashicorp.waypoint.ConfigVar.Target.application:type_name -> hashicorp.waypoint.Ref.Application + 271, // 615: hashicorp.waypoint.ConfigVar.Target.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 277, // 616: hashicorp.waypoint.ConfigVar.Target.runner:type_name -> hashicorp.waypoint.Ref.Runner + 420, // 617: hashicorp.waypoint.ExecStreamRequest.Start.pty:type_name -> hashicorp.waypoint.ExecStreamRequest.PTY + 421, // 618: hashicorp.waypoint.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.waypoint.ExecStreamRequest.WindowSize + 19, // 619: hashicorp.waypoint.ExecStreamResponse.Output.channel:type_name -> hashicorp.waypoint.ExecStreamResponse.Output.Channel + 420, // 620: hashicorp.waypoint.EntrypointConfig.Exec.pty:type_name -> hashicorp.waypoint.ExecStreamRequest.PTY + 35, // 621: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.component:type_name -> hashicorp.waypoint.Component + 428, // 622: hashicorp.waypoint.EntrypointConfig.DeploymentInfo.labels:type_name -> hashicorp.waypoint.EntrypointConfig.DeploymentInfo.LabelsEntry + 20, // 623: hashicorp.waypoint.EntrypointExecRequest.Output.channel:type_name -> hashicorp.waypoint.EntrypointExecRequest.Output.Channel + 461, // 624: hashicorp.waypoint.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status + 434, // 625: hashicorp.waypoint.Pipeline.StepsEntry.value:type_name -> hashicorp.waypoint.Pipeline.Step + 435, // 626: hashicorp.waypoint.Pipeline.Step.exec:type_name -> hashicorp.waypoint.Pipeline.Step.Exec + 436, // 627: hashicorp.waypoint.Pipeline.Step.build:type_name -> hashicorp.waypoint.Pipeline.Step.Build + 437, // 628: hashicorp.waypoint.Pipeline.Step.deploy:type_name -> hashicorp.waypoint.Pipeline.Step.Deploy + 438, // 629: hashicorp.waypoint.Pipeline.Step.release:type_name -> hashicorp.waypoint.Pipeline.Step.Release + 439, // 630: hashicorp.waypoint.Pipeline.Step.up:type_name -> hashicorp.waypoint.Pipeline.Step.Up + 440, // 631: hashicorp.waypoint.Pipeline.Step.pipeline:type_name -> hashicorp.waypoint.Pipeline.Step.Pipeline + 271, // 632: hashicorp.waypoint.Pipeline.Step.workspace:type_name -> hashicorp.waypoint.Ref.Workspace + 272, // 633: hashicorp.waypoint.Pipeline.Step.Release.deployment:type_name -> hashicorp.waypoint.Ref.Deployment + 290, // 634: hashicorp.waypoint.Pipeline.Step.Pipeline.ref:type_name -> hashicorp.waypoint.Ref.Pipeline + 22, // 635: hashicorp.waypoint.GetPipelineResponse.Graph.format:type_name -> hashicorp.waypoint.GetPipelineResponse.Graph.Format + 292, // 636: hashicorp.waypoint.RunPipelineResponse.JobMapEntry.value:type_name -> hashicorp.waypoint.Ref.PipelineStep + 290, // 637: hashicorp.waypoint.ConfigSyncPipelineResponse.SyncedPipelinesEntry.value:type_name -> hashicorp.waypoint.Ref.Pipeline + 449, // 638: hashicorp.waypoint.Token.Login.entrypoint:type_name -> hashicorp.waypoint.Token.Entrypoint + 446, // 639: hashicorp.waypoint.Token.Invite.login:type_name -> hashicorp.waypoint.Token.Login + 451, // 640: hashicorp.waypoint.Token.Invite.signup:type_name -> hashicorp.waypoint.Token.Invite.Signup + 28, // 641: hashicorp.waypoint.Snapshot.Header.version:type_name -> hashicorp.waypoint.VersionInfo + 23, // 642: hashicorp.waypoint.Snapshot.Header.format:type_name -> hashicorp.waypoint.Snapshot.Header.Format + 458, // 643: hashicorp.waypoint.Snapshot.BoltChunk.items:type_name -> hashicorp.waypoint.Snapshot.BoltChunk.ItemsEntry + 459, // 644: hashicorp.waypoint.Waypoint.GetVersionInfo:input_type -> google.protobuf.Empty + 459, // 645: hashicorp.waypoint.Waypoint.ListOIDCAuthMethods:input_type -> google.protobuf.Empty + 69, // 646: hashicorp.waypoint.Waypoint.GetOIDCAuthURL:input_type -> hashicorp.waypoint.GetOIDCAuthURLRequest + 71, // 647: hashicorp.waypoint.Waypoint.CompleteOIDCAuth:input_type -> hashicorp.waypoint.CompleteOIDCAuthRequest + 173, // 648: hashicorp.waypoint.Waypoint.NoAuthRunTrigger:input_type -> hashicorp.waypoint.RunTriggerRequest + 54, // 649: hashicorp.waypoint.Waypoint.GetUser:input_type -> hashicorp.waypoint.GetUserRequest + 459, // 650: hashicorp.waypoint.Waypoint.ListUsers:input_type -> google.protobuf.Empty + 57, // 651: hashicorp.waypoint.Waypoint.UpdateUser:input_type -> hashicorp.waypoint.UpdateUserRequest + 59, // 652: hashicorp.waypoint.Waypoint.DeleteUser:input_type -> hashicorp.waypoint.DeleteUserRequest + 62, // 653: hashicorp.waypoint.Waypoint.UpsertAuthMethod:input_type -> hashicorp.waypoint.UpsertAuthMethodRequest + 64, // 654: hashicorp.waypoint.Waypoint.GetAuthMethod:input_type -> hashicorp.waypoint.GetAuthMethodRequest + 459, // 655: hashicorp.waypoint.Waypoint.ListAuthMethods:input_type -> google.protobuf.Empty + 66, // 656: hashicorp.waypoint.Waypoint.DeleteAuthMethod:input_type -> hashicorp.waypoint.DeleteAuthMethodRequest + 109, // 657: hashicorp.waypoint.Waypoint.ListWorkspaces:input_type -> hashicorp.waypoint.ListWorkspacesRequest + 111, // 658: hashicorp.waypoint.Waypoint.GetWorkspace:input_type -> hashicorp.waypoint.GetWorkspaceRequest + 113, // 659: hashicorp.waypoint.Waypoint.UpsertWorkspace:input_type -> hashicorp.waypoint.UpsertWorkspaceRequest + 115, // 660: hashicorp.waypoint.Waypoint.UpsertProject:input_type -> hashicorp.waypoint.UpsertProjectRequest + 117, // 661: hashicorp.waypoint.Waypoint.GetProject:input_type -> hashicorp.waypoint.GetProjectRequest + 119, // 662: hashicorp.waypoint.Waypoint.ListProjects:input_type -> hashicorp.waypoint.ListProjectsRequest + 121, // 663: hashicorp.waypoint.Waypoint.DestroyProject:input_type -> hashicorp.waypoint.DestroyProjectRequest + 122, // 664: hashicorp.waypoint.Waypoint.GetApplication:input_type -> hashicorp.waypoint.GetApplicationRequest + 124, // 665: hashicorp.waypoint.Waypoint.UpsertApplication:input_type -> hashicorp.waypoint.UpsertApplicationRequest + 128, // 666: hashicorp.waypoint.Waypoint.ListBuilds:input_type -> hashicorp.waypoint.ListBuildsRequest + 131, // 667: hashicorp.waypoint.Waypoint.GetBuild:input_type -> hashicorp.waypoint.GetBuildRequest + 130, // 668: hashicorp.waypoint.Waypoint.GetLatestBuild:input_type -> hashicorp.waypoint.GetLatestBuildRequest + 146, // 669: hashicorp.waypoint.Waypoint.ListPushedArtifacts:input_type -> hashicorp.waypoint.ListPushedArtifactsRequest + 145, // 670: hashicorp.waypoint.Waypoint.GetPushedArtifact:input_type -> hashicorp.waypoint.GetPushedArtifactRequest + 144, // 671: hashicorp.waypoint.Waypoint.GetLatestPushedArtifact:input_type -> hashicorp.waypoint.GetLatestPushedArtifactRequest + 152, // 672: hashicorp.waypoint.Waypoint.ListDeployments:input_type -> hashicorp.waypoint.ListDeploymentsRequest + 149, // 673: hashicorp.waypoint.Waypoint.GetDeployment:input_type -> hashicorp.waypoint.GetDeploymentRequest + 156, // 674: hashicorp.waypoint.Waypoint.ListInstances:input_type -> hashicorp.waypoint.ListInstancesRequest + 162, // 675: hashicorp.waypoint.Waypoint.ListReleases:input_type -> hashicorp.waypoint.ListReleasesRequest + 164, // 676: hashicorp.waypoint.Waypoint.GetRelease:input_type -> hashicorp.waypoint.GetReleaseRequest + 161, // 677: hashicorp.waypoint.Waypoint.GetLatestRelease:input_type -> hashicorp.waypoint.GetLatestReleaseRequest + 182, // 678: hashicorp.waypoint.Waypoint.GetStatusReport:input_type -> hashicorp.waypoint.GetStatusReportRequest + 179, // 679: hashicorp.waypoint.Waypoint.GetLatestStatusReport:input_type -> hashicorp.waypoint.GetLatestStatusReportRequest + 180, // 680: hashicorp.waypoint.Waypoint.ListStatusReports:input_type -> hashicorp.waypoint.ListStatusReportsRequest + 183, // 681: hashicorp.waypoint.Waypoint.ExpediteStatusReport:input_type -> hashicorp.waypoint.ExpediteStatusReportRequest + 186, // 682: hashicorp.waypoint.Waypoint.GetLogStream:input_type -> hashicorp.waypoint.GetLogStreamRequest + 200, // 683: hashicorp.waypoint.Waypoint.StartExecStream:input_type -> hashicorp.waypoint.ExecStreamRequest + 189, // 684: hashicorp.waypoint.Waypoint.SetConfig:input_type -> hashicorp.waypoint.ConfigSetRequest + 191, // 685: hashicorp.waypoint.Waypoint.DeleteConfig:input_type -> hashicorp.waypoint.ConfigDeleteRequest + 193, // 686: hashicorp.waypoint.Waypoint.GetConfig:input_type -> hashicorp.waypoint.ConfigGetRequest + 196, // 687: hashicorp.waypoint.Waypoint.SetConfigSource:input_type -> hashicorp.waypoint.SetConfigSourceRequest + 197, // 688: hashicorp.waypoint.Waypoint.DeleteConfigSource:input_type -> hashicorp.waypoint.DeleteConfigSourceRequest + 198, // 689: hashicorp.waypoint.Waypoint.GetConfigSource:input_type -> hashicorp.waypoint.GetConfigSourceRequest + 103, // 690: hashicorp.waypoint.Waypoint.CreateHostname:input_type -> hashicorp.waypoint.CreateHostnameRequest + 107, // 691: hashicorp.waypoint.Waypoint.DeleteHostname:input_type -> hashicorp.waypoint.DeleteHostnameRequest + 105, // 692: hashicorp.waypoint.Waypoint.ListHostnames:input_type -> hashicorp.waypoint.ListHostnamesRequest + 73, // 693: hashicorp.waypoint.Waypoint.QueueJob:input_type -> hashicorp.waypoint.QueueJobRequest + 75, // 694: hashicorp.waypoint.Waypoint.CancelJob:input_type -> hashicorp.waypoint.CancelJobRequest + 80, // 695: hashicorp.waypoint.Waypoint.GetJob:input_type -> hashicorp.waypoint.GetJobRequest + 81, // 696: hashicorp.waypoint.Waypoint.ListJobs:input_type -> hashicorp.waypoint.ListJobsRequest + 76, // 697: hashicorp.waypoint.Waypoint.ValidateJob:input_type -> hashicorp.waypoint.ValidateJobRequest + 83, // 698: hashicorp.waypoint.Waypoint.GetJobStream:input_type -> hashicorp.waypoint.GetJobStreamRequest + 95, // 699: hashicorp.waypoint.Waypoint.GetRunner:input_type -> hashicorp.waypoint.GetRunnerRequest + 96, // 700: hashicorp.waypoint.Waypoint.ListRunners:input_type -> hashicorp.waypoint.ListRunnersRequest + 98, // 701: hashicorp.waypoint.Waypoint.AdoptRunner:input_type -> hashicorp.waypoint.AdoptRunnerRequest + 99, // 702: hashicorp.waypoint.Waypoint.ForgetRunner:input_type -> hashicorp.waypoint.ForgetRunnerRequest + 459, // 703: hashicorp.waypoint.Waypoint.GetServerConfig:input_type -> google.protobuf.Empty + 100, // 704: hashicorp.waypoint.Waypoint.SetServerConfig:input_type -> hashicorp.waypoint.SetServerConfigRequest + 459, // 705: hashicorp.waypoint.Waypoint.CreateSnapshot:input_type -> google.protobuf.Empty + 235, // 706: hashicorp.waypoint.Waypoint.RestoreSnapshot:input_type -> hashicorp.waypoint.RestoreSnapshotRequest + 459, // 707: hashicorp.waypoint.Waypoint.BootstrapToken:input_type -> google.protobuf.Empty + 227, // 708: hashicorp.waypoint.Waypoint.DecodeToken:input_type -> hashicorp.waypoint.DecodeTokenRequest + 231, // 709: hashicorp.waypoint.Waypoint.GenerateInviteToken:input_type -> hashicorp.waypoint.InviteTokenRequest + 229, // 710: hashicorp.waypoint.Waypoint.GenerateLoginToken:input_type -> hashicorp.waypoint.LoginTokenRequest + 230, // 711: hashicorp.waypoint.Waypoint.GenerateRunnerToken:input_type -> hashicorp.waypoint.GenerateRunnerTokenRequest + 233, // 712: hashicorp.waypoint.Waypoint.ConvertInviteToken:input_type -> hashicorp.waypoint.ConvertInviteTokenRequest + 86, // 713: hashicorp.waypoint.Waypoint.RunnerToken:input_type -> hashicorp.waypoint.RunnerTokenRequest + 88, // 714: hashicorp.waypoint.Waypoint.RunnerConfig:input_type -> hashicorp.waypoint.RunnerConfigRequest + 91, // 715: hashicorp.waypoint.Waypoint.RunnerJobStream:input_type -> hashicorp.waypoint.RunnerJobStreamRequest + 93, // 716: hashicorp.waypoint.Waypoint.RunnerGetDeploymentConfig:input_type -> hashicorp.waypoint.RunnerGetDeploymentConfigRequest + 202, // 717: hashicorp.waypoint.Waypoint.EntrypointConfig:input_type -> hashicorp.waypoint.EntrypointConfigRequest + 205, // 718: hashicorp.waypoint.Waypoint.EntrypointLogStream:input_type -> hashicorp.waypoint.EntrypointLogBatch + 206, // 719: hashicorp.waypoint.Waypoint.EntrypointExecStream:input_type -> hashicorp.waypoint.EntrypointExecRequest + 238, // 720: hashicorp.waypoint.Waypoint.WaypointHclFmt:input_type -> hashicorp.waypoint.WaypointHclFmtRequest + 135, // 721: hashicorp.waypoint.Waypoint.UpsertOnDemandRunnerConfig:input_type -> hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest + 137, // 722: hashicorp.waypoint.Waypoint.GetOnDemandRunnerConfig:input_type -> hashicorp.waypoint.GetOnDemandRunnerConfigRequest + 459, // 723: hashicorp.waypoint.Waypoint.GetDefaultOnDemandRunnerConfig:input_type -> google.protobuf.Empty + 139, // 724: hashicorp.waypoint.Waypoint.DeleteOnDemandRunnerConfig:input_type -> hashicorp.waypoint.DeleteOnDemandRunnerConfigRequest + 459, // 725: hashicorp.waypoint.Waypoint.ListOnDemandRunnerConfigs:input_type -> google.protobuf.Empty + 126, // 726: hashicorp.waypoint.Waypoint.UpsertBuild:input_type -> hashicorp.waypoint.UpsertBuildRequest + 142, // 727: hashicorp.waypoint.Waypoint.UpsertPushedArtifact:input_type -> hashicorp.waypoint.UpsertPushedArtifactRequest + 150, // 728: hashicorp.waypoint.Waypoint.UpsertDeployment:input_type -> hashicorp.waypoint.UpsertDeploymentRequest + 159, // 729: hashicorp.waypoint.Waypoint.UpsertRelease:input_type -> hashicorp.waypoint.UpsertReleaseRequest + 177, // 730: hashicorp.waypoint.Waypoint.UpsertStatusReport:input_type -> hashicorp.waypoint.UpsertStatusReportRequest + 47, // 731: hashicorp.waypoint.Waypoint.GetTask:input_type -> hashicorp.waypoint.GetTaskRequest + 50, // 732: hashicorp.waypoint.Waypoint.ListTask:input_type -> hashicorp.waypoint.ListTaskRequest + 52, // 733: hashicorp.waypoint.Waypoint.CancelTask:input_type -> hashicorp.waypoint.CancelTaskRequest + 168, // 734: hashicorp.waypoint.Waypoint.UpsertTrigger:input_type -> hashicorp.waypoint.UpsertTriggerRequest + 170, // 735: hashicorp.waypoint.Waypoint.GetTrigger:input_type -> hashicorp.waypoint.GetTriggerRequest + 172, // 736: hashicorp.waypoint.Waypoint.DeleteTrigger:input_type -> hashicorp.waypoint.DeleteTriggerRequest + 175, // 737: hashicorp.waypoint.Waypoint.ListTriggers:input_type -> hashicorp.waypoint.ListTriggerRequest + 173, // 738: hashicorp.waypoint.Waypoint.RunTrigger:input_type -> hashicorp.waypoint.RunTriggerRequest + 210, // 739: hashicorp.waypoint.Waypoint.UpsertPipeline:input_type -> hashicorp.waypoint.UpsertPipelineRequest + 214, // 740: hashicorp.waypoint.Waypoint.RunPipeline:input_type -> hashicorp.waypoint.RunPipelineRequest + 212, // 741: hashicorp.waypoint.Waypoint.GetPipeline:input_type -> hashicorp.waypoint.GetPipelineRequest + 220, // 742: hashicorp.waypoint.Waypoint.GetPipelineRun:input_type -> hashicorp.waypoint.GetPipelineRunRequest + 212, // 743: hashicorp.waypoint.Waypoint.GetLatestPipelineRun:input_type -> hashicorp.waypoint.GetPipelineRequest + 216, // 744: hashicorp.waypoint.Waypoint.ListPipelines:input_type -> hashicorp.waypoint.ListPipelinesRequest + 218, // 745: hashicorp.waypoint.Waypoint.ListPipelineRuns:input_type -> hashicorp.waypoint.ListPipelineRunsRequest + 222, // 746: hashicorp.waypoint.Waypoint.ConfigSyncPipeline:input_type -> hashicorp.waypoint.ConfigSyncPipelineRequest + 243, // 747: hashicorp.waypoint.Waypoint.UI_ListProjects:input_type -> hashicorp.waypoint.UI.ListProjectsRequest + 246, // 748: hashicorp.waypoint.Waypoint.UI_GetProject:input_type -> hashicorp.waypoint.UI.GetProjectRequest + 248, // 749: hashicorp.waypoint.Waypoint.UI_ListDeployments:input_type -> hashicorp.waypoint.UI.ListDeploymentsRequest + 250, // 750: hashicorp.waypoint.Waypoint.UI_GetDeployment:input_type -> hashicorp.waypoint.UI.GetDeploymentRequest + 253, // 751: hashicorp.waypoint.Waypoint.UI_ListReleases:input_type -> hashicorp.waypoint.UI.ListReleasesRequest + 26, // 752: hashicorp.waypoint.Waypoint.GetVersionInfo:output_type -> hashicorp.waypoint.GetVersionInfoResponse + 68, // 753: hashicorp.waypoint.Waypoint.ListOIDCAuthMethods:output_type -> hashicorp.waypoint.ListOIDCAuthMethodsResponse + 70, // 754: hashicorp.waypoint.Waypoint.GetOIDCAuthURL:output_type -> hashicorp.waypoint.GetOIDCAuthURLResponse + 72, // 755: hashicorp.waypoint.Waypoint.CompleteOIDCAuth:output_type -> hashicorp.waypoint.CompleteOIDCAuthResponse + 174, // 756: hashicorp.waypoint.Waypoint.NoAuthRunTrigger:output_type -> hashicorp.waypoint.RunTriggerResponse + 55, // 757: hashicorp.waypoint.Waypoint.GetUser:output_type -> hashicorp.waypoint.GetUserResponse + 56, // 758: hashicorp.waypoint.Waypoint.ListUsers:output_type -> hashicorp.waypoint.ListUsersResponse + 58, // 759: hashicorp.waypoint.Waypoint.UpdateUser:output_type -> hashicorp.waypoint.UpdateUserResponse + 459, // 760: hashicorp.waypoint.Waypoint.DeleteUser:output_type -> google.protobuf.Empty + 63, // 761: hashicorp.waypoint.Waypoint.UpsertAuthMethod:output_type -> hashicorp.waypoint.UpsertAuthMethodResponse + 65, // 762: hashicorp.waypoint.Waypoint.GetAuthMethod:output_type -> hashicorp.waypoint.GetAuthMethodResponse + 67, // 763: hashicorp.waypoint.Waypoint.ListAuthMethods:output_type -> hashicorp.waypoint.ListAuthMethodsResponse + 459, // 764: hashicorp.waypoint.Waypoint.DeleteAuthMethod:output_type -> google.protobuf.Empty + 110, // 765: hashicorp.waypoint.Waypoint.ListWorkspaces:output_type -> hashicorp.waypoint.ListWorkspacesResponse + 112, // 766: hashicorp.waypoint.Waypoint.GetWorkspace:output_type -> hashicorp.waypoint.GetWorkspaceResponse + 114, // 767: hashicorp.waypoint.Waypoint.UpsertWorkspace:output_type -> hashicorp.waypoint.UpsertWorkspaceResponse + 116, // 768: hashicorp.waypoint.Waypoint.UpsertProject:output_type -> hashicorp.waypoint.UpsertProjectResponse + 118, // 769: hashicorp.waypoint.Waypoint.GetProject:output_type -> hashicorp.waypoint.GetProjectResponse + 120, // 770: hashicorp.waypoint.Waypoint.ListProjects:output_type -> hashicorp.waypoint.ListProjectsResponse + 459, // 771: hashicorp.waypoint.Waypoint.DestroyProject:output_type -> google.protobuf.Empty + 123, // 772: hashicorp.waypoint.Waypoint.GetApplication:output_type -> hashicorp.waypoint.GetApplicationResponse + 125, // 773: hashicorp.waypoint.Waypoint.UpsertApplication:output_type -> hashicorp.waypoint.UpsertApplicationResponse + 129, // 774: hashicorp.waypoint.Waypoint.ListBuilds:output_type -> hashicorp.waypoint.ListBuildsResponse + 132, // 775: hashicorp.waypoint.Waypoint.GetBuild:output_type -> hashicorp.waypoint.Build + 132, // 776: hashicorp.waypoint.Waypoint.GetLatestBuild:output_type -> hashicorp.waypoint.Build + 147, // 777: hashicorp.waypoint.Waypoint.ListPushedArtifacts:output_type -> hashicorp.waypoint.ListPushedArtifactsResponse + 148, // 778: hashicorp.waypoint.Waypoint.GetPushedArtifact:output_type -> hashicorp.waypoint.PushedArtifact + 148, // 779: hashicorp.waypoint.Waypoint.GetLatestPushedArtifact:output_type -> hashicorp.waypoint.PushedArtifact + 153, // 780: hashicorp.waypoint.Waypoint.ListDeployments:output_type -> hashicorp.waypoint.ListDeploymentsResponse + 154, // 781: hashicorp.waypoint.Waypoint.GetDeployment:output_type -> hashicorp.waypoint.Deployment + 157, // 782: hashicorp.waypoint.Waypoint.ListInstances:output_type -> hashicorp.waypoint.ListInstancesResponse + 163, // 783: hashicorp.waypoint.Waypoint.ListReleases:output_type -> hashicorp.waypoint.ListReleasesResponse + 165, // 784: hashicorp.waypoint.Waypoint.GetRelease:output_type -> hashicorp.waypoint.Release + 165, // 785: hashicorp.waypoint.Waypoint.GetLatestRelease:output_type -> hashicorp.waypoint.Release + 185, // 786: hashicorp.waypoint.Waypoint.GetStatusReport:output_type -> hashicorp.waypoint.StatusReport + 185, // 787: hashicorp.waypoint.Waypoint.GetLatestStatusReport:output_type -> hashicorp.waypoint.StatusReport + 181, // 788: hashicorp.waypoint.Waypoint.ListStatusReports:output_type -> hashicorp.waypoint.ListStatusReportsResponse + 184, // 789: hashicorp.waypoint.Waypoint.ExpediteStatusReport:output_type -> hashicorp.waypoint.ExpediteStatusReportResponse + 187, // 790: hashicorp.waypoint.Waypoint.GetLogStream:output_type -> hashicorp.waypoint.LogBatch + 201, // 791: hashicorp.waypoint.Waypoint.StartExecStream:output_type -> hashicorp.waypoint.ExecStreamResponse + 190, // 792: hashicorp.waypoint.Waypoint.SetConfig:output_type -> hashicorp.waypoint.ConfigSetResponse + 192, // 793: hashicorp.waypoint.Waypoint.DeleteConfig:output_type -> hashicorp.waypoint.ConfigDeleteResponse + 194, // 794: hashicorp.waypoint.Waypoint.GetConfig:output_type -> hashicorp.waypoint.ConfigGetResponse + 459, // 795: hashicorp.waypoint.Waypoint.SetConfigSource:output_type -> google.protobuf.Empty + 459, // 796: hashicorp.waypoint.Waypoint.DeleteConfigSource:output_type -> google.protobuf.Empty + 199, // 797: hashicorp.waypoint.Waypoint.GetConfigSource:output_type -> hashicorp.waypoint.GetConfigSourceResponse + 104, // 798: hashicorp.waypoint.Waypoint.CreateHostname:output_type -> hashicorp.waypoint.CreateHostnameResponse + 459, // 799: hashicorp.waypoint.Waypoint.DeleteHostname:output_type -> google.protobuf.Empty + 106, // 800: hashicorp.waypoint.Waypoint.ListHostnames:output_type -> hashicorp.waypoint.ListHostnamesResponse + 74, // 801: hashicorp.waypoint.Waypoint.QueueJob:output_type -> hashicorp.waypoint.QueueJobResponse + 459, // 802: hashicorp.waypoint.Waypoint.CancelJob:output_type -> google.protobuf.Empty + 78, // 803: hashicorp.waypoint.Waypoint.GetJob:output_type -> hashicorp.waypoint.Job + 82, // 804: hashicorp.waypoint.Waypoint.ListJobs:output_type -> hashicorp.waypoint.ListJobsResponse + 77, // 805: hashicorp.waypoint.Waypoint.ValidateJob:output_type -> hashicorp.waypoint.ValidateJobResponse + 84, // 806: hashicorp.waypoint.Waypoint.GetJobStream:output_type -> hashicorp.waypoint.GetJobStreamResponse + 85, // 807: hashicorp.waypoint.Waypoint.GetRunner:output_type -> hashicorp.waypoint.Runner + 97, // 808: hashicorp.waypoint.Waypoint.ListRunners:output_type -> hashicorp.waypoint.ListRunnersResponse + 459, // 809: hashicorp.waypoint.Waypoint.AdoptRunner:output_type -> google.protobuf.Empty + 459, // 810: hashicorp.waypoint.Waypoint.ForgetRunner:output_type -> google.protobuf.Empty + 101, // 811: hashicorp.waypoint.Waypoint.GetServerConfig:output_type -> hashicorp.waypoint.GetServerConfigResponse + 459, // 812: hashicorp.waypoint.Waypoint.SetServerConfig:output_type -> google.protobuf.Empty + 234, // 813: hashicorp.waypoint.Waypoint.CreateSnapshot:output_type -> hashicorp.waypoint.CreateSnapshotResponse + 459, // 814: hashicorp.waypoint.Waypoint.RestoreSnapshot:output_type -> google.protobuf.Empty + 232, // 815: hashicorp.waypoint.Waypoint.BootstrapToken:output_type -> hashicorp.waypoint.NewTokenResponse + 228, // 816: hashicorp.waypoint.Waypoint.DecodeToken:output_type -> hashicorp.waypoint.DecodeTokenResponse + 232, // 817: hashicorp.waypoint.Waypoint.GenerateInviteToken:output_type -> hashicorp.waypoint.NewTokenResponse + 232, // 818: hashicorp.waypoint.Waypoint.GenerateLoginToken:output_type -> hashicorp.waypoint.NewTokenResponse + 232, // 819: hashicorp.waypoint.Waypoint.GenerateRunnerToken:output_type -> hashicorp.waypoint.NewTokenResponse + 232, // 820: hashicorp.waypoint.Waypoint.ConvertInviteToken:output_type -> hashicorp.waypoint.NewTokenResponse + 87, // 821: hashicorp.waypoint.Waypoint.RunnerToken:output_type -> hashicorp.waypoint.RunnerTokenResponse + 89, // 822: hashicorp.waypoint.Waypoint.RunnerConfig:output_type -> hashicorp.waypoint.RunnerConfigResponse + 92, // 823: hashicorp.waypoint.Waypoint.RunnerJobStream:output_type -> hashicorp.waypoint.RunnerJobStreamResponse + 94, // 824: hashicorp.waypoint.Waypoint.RunnerGetDeploymentConfig:output_type -> hashicorp.waypoint.RunnerGetDeploymentConfigResponse + 203, // 825: hashicorp.waypoint.Waypoint.EntrypointConfig:output_type -> hashicorp.waypoint.EntrypointConfigResponse + 459, // 826: hashicorp.waypoint.Waypoint.EntrypointLogStream:output_type -> google.protobuf.Empty + 207, // 827: hashicorp.waypoint.Waypoint.EntrypointExecStream:output_type -> hashicorp.waypoint.EntrypointExecResponse + 239, // 828: hashicorp.waypoint.Waypoint.WaypointHclFmt:output_type -> hashicorp.waypoint.WaypointHclFmtResponse + 136, // 829: hashicorp.waypoint.Waypoint.UpsertOnDemandRunnerConfig:output_type -> hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse + 138, // 830: hashicorp.waypoint.Waypoint.GetOnDemandRunnerConfig:output_type -> hashicorp.waypoint.GetOnDemandRunnerConfigResponse + 138, // 831: hashicorp.waypoint.Waypoint.GetDefaultOnDemandRunnerConfig:output_type -> hashicorp.waypoint.GetOnDemandRunnerConfigResponse + 140, // 832: hashicorp.waypoint.Waypoint.DeleteOnDemandRunnerConfig:output_type -> hashicorp.waypoint.DeleteOnDemandRunnerConfigResponse + 141, // 833: hashicorp.waypoint.Waypoint.ListOnDemandRunnerConfigs:output_type -> hashicorp.waypoint.ListOnDemandRunnerConfigsResponse + 127, // 834: hashicorp.waypoint.Waypoint.UpsertBuild:output_type -> hashicorp.waypoint.UpsertBuildResponse + 143, // 835: hashicorp.waypoint.Waypoint.UpsertPushedArtifact:output_type -> hashicorp.waypoint.UpsertPushedArtifactResponse + 151, // 836: hashicorp.waypoint.Waypoint.UpsertDeployment:output_type -> hashicorp.waypoint.UpsertDeploymentResponse + 160, // 837: hashicorp.waypoint.Waypoint.UpsertRelease:output_type -> hashicorp.waypoint.UpsertReleaseResponse + 178, // 838: hashicorp.waypoint.Waypoint.UpsertStatusReport:output_type -> hashicorp.waypoint.UpsertStatusReportResponse + 48, // 839: hashicorp.waypoint.Waypoint.GetTask:output_type -> hashicorp.waypoint.GetTaskResponse + 51, // 840: hashicorp.waypoint.Waypoint.ListTask:output_type -> hashicorp.waypoint.ListTaskResponse + 459, // 841: hashicorp.waypoint.Waypoint.CancelTask:output_type -> google.protobuf.Empty + 169, // 842: hashicorp.waypoint.Waypoint.UpsertTrigger:output_type -> hashicorp.waypoint.UpsertTriggerResponse + 171, // 843: hashicorp.waypoint.Waypoint.GetTrigger:output_type -> hashicorp.waypoint.GetTriggerResponse + 459, // 844: hashicorp.waypoint.Waypoint.DeleteTrigger:output_type -> google.protobuf.Empty + 176, // 845: hashicorp.waypoint.Waypoint.ListTriggers:output_type -> hashicorp.waypoint.ListTriggerResponse + 174, // 846: hashicorp.waypoint.Waypoint.RunTrigger:output_type -> hashicorp.waypoint.RunTriggerResponse + 211, // 847: hashicorp.waypoint.Waypoint.UpsertPipeline:output_type -> hashicorp.waypoint.UpsertPipelineResponse + 215, // 848: hashicorp.waypoint.Waypoint.RunPipeline:output_type -> hashicorp.waypoint.RunPipelineResponse + 213, // 849: hashicorp.waypoint.Waypoint.GetPipeline:output_type -> hashicorp.waypoint.GetPipelineResponse + 221, // 850: hashicorp.waypoint.Waypoint.GetPipelineRun:output_type -> hashicorp.waypoint.GetPipelineRunResponse + 221, // 851: hashicorp.waypoint.Waypoint.GetLatestPipelineRun:output_type -> hashicorp.waypoint.GetPipelineRunResponse + 217, // 852: hashicorp.waypoint.Waypoint.ListPipelines:output_type -> hashicorp.waypoint.ListPipelinesResponse + 219, // 853: hashicorp.waypoint.Waypoint.ListPipelineRuns:output_type -> hashicorp.waypoint.ListPipelineRunsResponse + 223, // 854: hashicorp.waypoint.Waypoint.ConfigSyncPipeline:output_type -> hashicorp.waypoint.ConfigSyncPipelineResponse + 244, // 855: hashicorp.waypoint.Waypoint.UI_ListProjects:output_type -> hashicorp.waypoint.UI.ListProjectsResponse + 247, // 856: hashicorp.waypoint.Waypoint.UI_GetProject:output_type -> hashicorp.waypoint.UI.GetProjectResponse + 249, // 857: hashicorp.waypoint.Waypoint.UI_ListDeployments:output_type -> hashicorp.waypoint.UI.ListDeploymentsResponse + 251, // 858: hashicorp.waypoint.Waypoint.UI_GetDeployment:output_type -> hashicorp.waypoint.UI.GetDeploymentResponse + 254, // 859: hashicorp.waypoint.Waypoint.UI_ListReleases:output_type -> hashicorp.waypoint.UI.ListReleasesResponse + 752, // [752:860] is the sub-list for method output_type + 644, // [644:752] is the sub-list for method input_type + 644, // [644:644] is the sub-list for extension type_name + 644, // [644:644] is the sub-list for extension extendee + 0, // [0:644] is the sub-list for field type_name +} + +func init() { file_pkg_server_proto_server_proto_init() } +func file_pkg_server_proto_server_proto_init() { + if File_pkg_server_proto_server_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_server_proto_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI); i { case 0: return &v.state case 1: @@ -41501,8 +35257,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Runner); i { + file_pkg_server_proto_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionInfoResponse); i { case 0: return &v.state case 1: @@ -41513,8 +35269,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerTokenRequest); i { + file_pkg_server_proto_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServerFeatures); i { case 0: return &v.state case 1: @@ -41525,8 +35281,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerTokenResponse); i { + file_pkg_server_proto_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionInfo); i { case 0: return &v.state case 1: @@ -41537,8 +35293,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Application); i { case 0: return &v.state case 1: @@ -41549,8 +35305,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Variable); i { case 0: return &v.state case 1: @@ -41561,8 +35317,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerConfig); i { + file_pkg_server_proto_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Project); i { case 0: return &v.state case 1: @@ -41573,8 +35329,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest); i { + file_pkg_server_proto_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Workspace); i { case 0: return &v.state case 1: @@ -41585,8 +35341,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamResponse); i { + file_pkg_server_proto_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -41597,8 +35353,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerGetDeploymentConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ref); i { case 0: return &v.state case 1: @@ -41609,8 +35365,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerGetDeploymentConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Component); i { case 0: return &v.state case 1: @@ -41621,8 +35377,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRunnerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { case 0: return &v.state case 1: @@ -41633,8 +35389,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRunnersRequest); i { + file_pkg_server_proto_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusFilter); i { case 0: return &v.state case 1: @@ -41645,8 +35401,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRunnersResponse); i { + file_pkg_server_proto_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Operation); i { case 0: return &v.state case 1: @@ -41657,8 +35413,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdoptRunnerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationOrder); i { case 0: return &v.state case 1: @@ -41669,8 +35425,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForgetRunnerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Generation); i { case 0: return &v.state case 1: @@ -41681,8 +35437,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetServerConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeclaredResource); i { case 0: return &v.state case 1: @@ -41693,8 +35449,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServerConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestroyedResource); i { case 0: return &v.state case 1: @@ -41705,8 +35461,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerConfig); i { + file_pkg_server_proto_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskLaunchInfo); i { case 0: return &v.state case 1: @@ -41717,8 +35473,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateHostnameRequest); i { + file_pkg_server_proto_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Task); i { case 0: return &v.state case 1: @@ -41729,8 +35485,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateHostnameResponse); i { + file_pkg_server_proto_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertTaskRequest); i { case 0: return &v.state case 1: @@ -41741,8 +35497,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListHostnamesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertTaskResponse); i { case 0: return &v.state case 1: @@ -41753,8 +35509,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListHostnamesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTaskRequest); i { case 0: return &v.state case 1: @@ -41765,8 +35521,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteHostnameRequest); i { + file_pkg_server_proto_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTaskResponse); i { case 0: return &v.state case 1: @@ -41777,8 +35533,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hostname); i { + file_pkg_server_proto_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTaskRequest); i { case 0: return &v.state case 1: @@ -41789,8 +35545,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkspacesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTaskRequest); i { case 0: return &v.state case 1: @@ -41801,8 +35557,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkspacesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTaskResponse); i { case 0: return &v.state case 1: @@ -41813,8 +35569,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkspaceRequest); i { + file_pkg_server_proto_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelTaskRequest); i { case 0: return &v.state case 1: @@ -41825,8 +35581,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkspaceResponse); i { + file_pkg_server_proto_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorDetail); i { case 0: return &v.state case 1: @@ -41837,8 +35593,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertWorkspaceRequest); i { + file_pkg_server_proto_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRequest); i { case 0: return &v.state case 1: @@ -41849,8 +35605,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertWorkspaceResponse); i { + file_pkg_server_proto_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { case 0: return &v.state case 1: @@ -41861,8 +35617,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertProjectRequest); i { + file_pkg_server_proto_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsersResponse); i { case 0: return &v.state case 1: @@ -41873,8 +35629,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertProjectResponse); i { + file_pkg_server_proto_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateUserRequest); i { case 0: return &v.state case 1: @@ -41885,8 +35641,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectRequest); i { + file_pkg_server_proto_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateUserResponse); i { case 0: return &v.state case 1: @@ -41897,8 +35653,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectResponse); i { + file_pkg_server_proto_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteUserRequest); i { case 0: return &v.state case 1: @@ -41909,8 +35665,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthMethod); i { case 0: return &v.state case 1: @@ -41921,8 +35677,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OIDCAuthMethod); i { case 0: return &v.state case 1: @@ -41933,8 +35689,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyProjectRequest); i { + file_pkg_server_proto_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertAuthMethodRequest); i { case 0: return &v.state case 1: @@ -41945,8 +35701,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationRequest); i { + file_pkg_server_proto_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertAuthMethodResponse); i { case 0: return &v.state case 1: @@ -41957,8 +35713,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationResponse); i { + file_pkg_server_proto_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAuthMethodRequest); i { case 0: return &v.state case 1: @@ -41969,8 +35725,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertApplicationRequest); i { + file_pkg_server_proto_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAuthMethodResponse); i { case 0: return &v.state case 1: @@ -41981,8 +35737,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertApplicationResponse); i { + file_pkg_server_proto_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAuthMethodRequest); i { case 0: return &v.state case 1: @@ -41993,8 +35749,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertBuildRequest); i { + file_pkg_server_proto_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAuthMethodsResponse); i { case 0: return &v.state case 1: @@ -42005,8 +35761,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertBuildResponse); i { + file_pkg_server_proto_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOIDCAuthMethodsResponse); i { case 0: return &v.state case 1: @@ -42017,8 +35773,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListBuildsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOIDCAuthURLRequest); i { case 0: return &v.state case 1: @@ -42029,8 +35785,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListBuildsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOIDCAuthURLResponse); i { case 0: return &v.state case 1: @@ -42041,8 +35797,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestBuildRequest); i { + file_pkg_server_proto_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompleteOIDCAuthRequest); i { case 0: return &v.state case 1: @@ -42053,8 +35809,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuildRequest); i { + file_pkg_server_proto_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompleteOIDCAuthResponse); i { case 0: return &v.state case 1: @@ -42065,8 +35821,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Build); i { + file_pkg_server_proto_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueueJobRequest); i { case 0: return &v.state case 1: @@ -42077,8 +35833,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Artifact); i { + file_pkg_server_proto_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueueJobResponse); i { case 0: return &v.state case 1: @@ -42089,8 +35845,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnDemandRunnerConfig); i { + file_pkg_server_proto_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelJobRequest); i { case 0: return &v.state case 1: @@ -42101,8 +35857,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertOnDemandRunnerConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidateJobRequest); i { case 0: return &v.state case 1: @@ -42113,8 +35869,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertOnDemandRunnerConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidateJobResponse); i { case 0: return &v.state case 1: @@ -42125,8 +35881,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOnDemandRunnerConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -42137,8 +35893,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOnDemandRunnerConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Documentation); i { case 0: return &v.state case 1: @@ -42149,8 +35905,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteOnDemandRunnerConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJobRequest); i { case 0: return &v.state case 1: @@ -42161,8 +35917,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteOnDemandRunnerConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListJobsRequest); i { case 0: return &v.state case 1: @@ -42173,8 +35929,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListOnDemandRunnerConfigsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListJobsResponse); i { case 0: return &v.state case 1: @@ -42185,8 +35941,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPushedArtifactRequest); i { + file_pkg_server_proto_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJobStreamRequest); i { case 0: return &v.state case 1: @@ -42197,8 +35953,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPushedArtifactResponse); i { + file_pkg_server_proto_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJobStreamResponse); i { case 0: return &v.state case 1: @@ -42209,8 +35965,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestPushedArtifactRequest); i { + file_pkg_server_proto_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Runner); i { case 0: return &v.state case 1: @@ -42221,8 +35977,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPushedArtifactRequest); i { + file_pkg_server_proto_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerTokenRequest); i { case 0: return &v.state case 1: @@ -42233,8 +35989,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPushedArtifactsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerTokenResponse); i { case 0: return &v.state case 1: @@ -42245,8 +36001,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPushedArtifactsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerConfigRequest); i { case 0: return &v.state case 1: @@ -42257,8 +36013,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PushedArtifact); i { + file_pkg_server_proto_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerConfigResponse); i { case 0: return &v.state case 1: @@ -42269,8 +36025,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestDeploymentRequest); i { + file_pkg_server_proto_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerConfig); i { case 0: return &v.state case 1: @@ -42281,8 +36037,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentResponse); i { + file_pkg_server_proto_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerJobStreamRequest); i { case 0: return &v.state case 1: @@ -42293,8 +36049,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentRequest); i { + file_pkg_server_proto_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerJobStreamResponse); i { case 0: return &v.state case 1: @@ -42305,8 +36061,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertDeploymentRequest); i { + file_pkg_server_proto_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerGetDeploymentConfigRequest); i { case 0: return &v.state case 1: @@ -42317,8 +36073,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertDeploymentResponse); i { + file_pkg_server_proto_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunnerGetDeploymentConfigResponse); i { case 0: return &v.state case 1: @@ -42329,8 +36085,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRunnerRequest); i { case 0: return &v.state case 1: @@ -42341,8 +36097,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRunnersRequest); i { case 0: return &v.state case 1: @@ -42353,8 +36109,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Deployment); i { + file_pkg_server_proto_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRunnersResponse); i { case 0: return &v.state case 1: @@ -42365,8 +36121,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeploymentExpanded); i { + file_pkg_server_proto_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AdoptRunnerRequest); i { case 0: return &v.state case 1: @@ -42377,8 +36133,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListInstancesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForgetRunnerRequest); i { case 0: return &v.state case 1: @@ -42389,8 +36145,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListInstancesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetServerConfigRequest); i { case 0: return &v.state case 1: @@ -42401,8 +36157,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Instance); i { + file_pkg_server_proto_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServerConfigResponse); i { case 0: return &v.state case 1: @@ -42413,8 +36169,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertReleaseRequest); i { + file_pkg_server_proto_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServerConfig); i { case 0: return &v.state case 1: @@ -42425,8 +36181,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertReleaseResponse); i { + file_pkg_server_proto_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateHostnameRequest); i { case 0: return &v.state case 1: @@ -42437,8 +36193,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestReleaseRequest); i { + file_pkg_server_proto_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateHostnameResponse); i { case 0: return &v.state case 1: @@ -42449,8 +36205,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListReleasesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHostnamesRequest); i { case 0: return &v.state case 1: @@ -42461,8 +36217,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListReleasesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHostnamesResponse); i { case 0: return &v.state case 1: @@ -42473,8 +36229,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetReleaseRequest); i { + file_pkg_server_proto_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteHostnameRequest); i { case 0: return &v.state case 1: @@ -42485,8 +36241,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Release); i { + file_pkg_server_proto_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hostname); i { case 0: return &v.state case 1: @@ -42497,8 +36253,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReleaseExpanded); i { + file_pkg_server_proto_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkspacesRequest); i { case 0: return &v.state case 1: @@ -42509,8 +36265,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Trigger); i { + file_pkg_server_proto_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkspacesResponse); i { case 0: return &v.state case 1: @@ -42521,8 +36277,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertTriggerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkspaceRequest); i { case 0: return &v.state case 1: @@ -42533,8 +36289,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertTriggerResponse); i { + file_pkg_server_proto_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkspaceResponse); i { case 0: return &v.state case 1: @@ -42545,8 +36301,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTriggerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertWorkspaceRequest); i { case 0: return &v.state case 1: @@ -42557,8 +36313,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTriggerResponse); i { + file_pkg_server_proto_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertWorkspaceResponse); i { case 0: return &v.state case 1: @@ -42569,8 +36325,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTriggerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertProjectRequest); i { case 0: return &v.state case 1: @@ -42581,8 +36337,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunTriggerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertProjectResponse); i { case 0: return &v.state case 1: @@ -42593,8 +36349,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunTriggerResponse); i { + file_pkg_server_proto_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectRequest); i { case 0: return &v.state case 1: @@ -42605,8 +36361,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTriggerRequest); i { + file_pkg_server_proto_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectResponse); i { case 0: return &v.state case 1: @@ -42617,8 +36373,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTriggerResponse); i { + file_pkg_server_proto_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsRequest); i { case 0: return &v.state case 1: @@ -42629,8 +36385,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertStatusReportRequest); i { + file_pkg_server_proto_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsResponse); i { case 0: return &v.state case 1: @@ -42641,8 +36397,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertStatusReportResponse); i { + file_pkg_server_proto_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestroyProjectRequest); i { case 0: return &v.state case 1: @@ -42653,8 +36409,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestStatusReportRequest); i { + file_pkg_server_proto_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetApplicationRequest); i { case 0: return &v.state case 1: @@ -42665,8 +36421,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListStatusReportsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetApplicationResponse); i { case 0: return &v.state case 1: @@ -42677,8 +36433,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListStatusReportsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertApplicationRequest); i { case 0: return &v.state case 1: @@ -42689,8 +36445,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStatusReportRequest); i { + file_pkg_server_proto_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertApplicationResponse); i { case 0: return &v.state case 1: @@ -42701,8 +36457,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExpediteStatusReportRequest); i { + file_pkg_server_proto_server_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertBuildRequest); i { case 0: return &v.state case 1: @@ -42713,8 +36469,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExpediteStatusReportResponse); i { + file_pkg_server_proto_server_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertBuildResponse); i { case 0: return &v.state case 1: @@ -42725,8 +36481,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusReport); i { + file_pkg_server_proto_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBuildsRequest); i { case 0: return &v.state case 1: @@ -42737,8 +36493,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLogStreamRequest); i { + file_pkg_server_proto_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBuildsResponse); i { case 0: return &v.state case 1: @@ -42749,8 +36505,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogBatch); i { + file_pkg_server_proto_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestBuildRequest); i { case 0: return &v.state case 1: @@ -42761,8 +36517,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigVar); i { + file_pkg_server_proto_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuildRequest); i { case 0: return &v.state case 1: @@ -42773,8 +36529,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigSetRequest); i { + file_pkg_server_proto_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Build); i { case 0: return &v.state case 1: @@ -42785,8 +36541,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigSetResponse); i { + file_pkg_server_proto_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Artifact); i { case 0: return &v.state case 1: @@ -42797,8 +36553,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigDeleteRequest); i { + file_pkg_server_proto_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnDemandRunnerConfig); i { case 0: return &v.state case 1: @@ -42809,8 +36565,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigDeleteResponse); i { + file_pkg_server_proto_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertOnDemandRunnerConfigRequest); i { case 0: return &v.state case 1: @@ -42821,8 +36577,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigGetRequest); i { + file_pkg_server_proto_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertOnDemandRunnerConfigResponse); i { case 0: return &v.state case 1: @@ -42833,8 +36589,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigGetResponse); i { + file_pkg_server_proto_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOnDemandRunnerConfigRequest); i { case 0: return &v.state case 1: @@ -42845,8 +36601,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigSource); i { + file_pkg_server_proto_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOnDemandRunnerConfigResponse); i { case 0: return &v.state case 1: @@ -42857,8 +36613,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetConfigSourceRequest); i { + file_pkg_server_proto_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOnDemandRunnerConfigRequest); i { case 0: return &v.state case 1: @@ -42869,8 +36625,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteConfigSourceRequest); i { + file_pkg_server_proto_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOnDemandRunnerConfigResponse); i { case 0: return &v.state case 1: @@ -42881,8 +36637,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigSourceRequest); i { + file_pkg_server_proto_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOnDemandRunnerConfigsResponse); i { case 0: return &v.state case 1: @@ -42893,8 +36649,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigSourceResponse); i { + file_pkg_server_proto_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertPushedArtifactRequest); i { case 0: return &v.state case 1: @@ -42905,8 +36661,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamRequest); i { + file_pkg_server_proto_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertPushedArtifactResponse); i { case 0: return &v.state case 1: @@ -42917,8 +36673,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamResponse); i { + file_pkg_server_proto_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestPushedArtifactRequest); i { case 0: return &v.state case 1: @@ -42929,8 +36685,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointConfigRequest); i { + file_pkg_server_proto_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPushedArtifactRequest); i { case 0: return &v.state case 1: @@ -42941,8 +36697,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointConfigResponse); i { + file_pkg_server_proto_server_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPushedArtifactsRequest); i { case 0: return &v.state case 1: @@ -42953,8 +36709,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointConfig); i { + file_pkg_server_proto_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPushedArtifactsResponse); i { case 0: return &v.state case 1: @@ -42965,8 +36721,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointLogBatch); i { + file_pkg_server_proto_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PushedArtifact); i { case 0: return &v.state case 1: @@ -42977,8 +36733,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecRequest); i { + file_pkg_server_proto_server_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDeploymentRequest); i { case 0: return &v.state case 1: @@ -42989,8 +36745,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecResponse); i { + file_pkg_server_proto_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertDeploymentRequest); i { case 0: return &v.state case 1: @@ -43001,8 +36757,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pipeline); i { + file_pkg_server_proto_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertDeploymentResponse); i { case 0: return &v.state case 1: @@ -43013,8 +36769,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PipelineRun); i { + file_pkg_server_proto_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsRequest); i { case 0: return &v.state case 1: @@ -43025,8 +36781,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPipelineRequest); i { + file_pkg_server_proto_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsResponse); i { case 0: return &v.state case 1: @@ -43037,8 +36793,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPipelineResponse); i { + file_pkg_server_proto_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Deployment); i { case 0: return &v.state case 1: @@ -43049,8 +36805,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipelineRequest); i { + file_pkg_server_proto_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentExpanded); i { case 0: return &v.state case 1: @@ -43061,8 +36817,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipelineResponse); i { + file_pkg_server_proto_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListInstancesRequest); i { case 0: return &v.state case 1: @@ -43073,8 +36829,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunPipelineRequest); i { + file_pkg_server_proto_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListInstancesResponse); i { case 0: return &v.state case 1: @@ -43085,8 +36841,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunPipelineResponse); i { + file_pkg_server_proto_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Instance); i { case 0: return &v.state case 1: @@ -43097,8 +36853,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipelinesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertReleaseRequest); i { case 0: return &v.state case 1: @@ -43109,8 +36865,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipelinesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertReleaseResponse); i { case 0: return &v.state case 1: @@ -43121,8 +36877,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipelineRunsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestReleaseRequest); i { case 0: return &v.state case 1: @@ -43133,8 +36889,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipelineRunsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListReleasesRequest); i { case 0: return &v.state case 1: @@ -43145,8 +36901,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipelineRunRequest); i { + file_pkg_server_proto_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListReleasesResponse); i { case 0: return &v.state case 1: @@ -43157,8 +36913,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipelineRunResponse); i { + file_pkg_server_proto_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetReleaseRequest); i { case 0: return &v.state case 1: @@ -43169,8 +36925,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigSyncPipelineRequest); i { + file_pkg_server_proto_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Release); i { case 0: return &v.state case 1: @@ -43181,8 +36937,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigSyncPipelineResponse); i { + file_pkg_server_proto_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReleaseExpanded); i { case 0: return &v.state case 1: @@ -43193,8 +36949,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectTemplateRequest); i { + file_pkg_server_proto_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Trigger); i { case 0: return &v.state case 1: @@ -43205,8 +36961,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectTemplateResponse); i { + file_pkg_server_proto_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertTriggerRequest); i { case 0: return &v.state case 1: @@ -43217,8 +36973,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectTemplatesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertTriggerResponse); i { case 0: return &v.state case 1: @@ -43229,8 +36985,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectTemplatesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTriggerRequest); i { case 0: return &v.state case 1: @@ -43241,8 +36997,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProjectTemplateRequest); i { + file_pkg_server_proto_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTriggerResponse); i { case 0: return &v.state case 1: @@ -43253,8 +37009,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProjectTemplateResponse); i { + file_pkg_server_proto_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTriggerRequest); i { case 0: return &v.state case 1: @@ -43265,8 +37021,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectTemplateRequest); i { + file_pkg_server_proto_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunTriggerRequest); i { case 0: return &v.state case 1: @@ -43277,8 +37033,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectTemplateResponse); i { + file_pkg_server_proto_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunTriggerResponse); i { case 0: return &v.state case 1: @@ -43289,8 +37045,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectTemplateRequest); i { + file_pkg_server_proto_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTriggerRequest); i { case 0: return &v.state case 1: @@ -43301,8 +37057,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectTemplateResponse); i { + file_pkg_server_proto_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTriggerResponse); i { case 0: return &v.state case 1: @@ -43313,8 +37069,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectTemplate); i { + file_pkg_server_proto_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertStatusReportRequest); i { case 0: return &v.state case 1: @@ -43325,8 +37081,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TerraformNocodeModule); i { + file_pkg_server_proto_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertStatusReportResponse); i { case 0: return &v.state case 1: @@ -43337,8 +37093,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddOnDefinitionRequest); i { + file_pkg_server_proto_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestStatusReportRequest); i { case 0: return &v.state case 1: @@ -43349,8 +37105,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddOnDefinitionResponse); i { + file_pkg_server_proto_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStatusReportsRequest); i { case 0: return &v.state case 1: @@ -43361,8 +37117,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAddOnDefinitionsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStatusReportsResponse); i { case 0: return &v.state case 1: @@ -43373,8 +37129,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAddOnDefinitionsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStatusReportRequest); i { case 0: return &v.state case 1: @@ -43385,8 +37141,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAddOnDefinitionRequest); i { + file_pkg_server_proto_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpediteStatusReportRequest); i { case 0: return &v.state case 1: @@ -43397,8 +37153,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAddOnDefinitionResponse); i { + file_pkg_server_proto_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpediteStatusReportResponse); i { case 0: return &v.state case 1: @@ -43409,8 +37165,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAddOnDefinitionRequest); i { + file_pkg_server_proto_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusReport); i { case 0: return &v.state case 1: @@ -43421,8 +37177,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAddOnDefinitionResponse); i { + file_pkg_server_proto_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLogStreamRequest); i { case 0: return &v.state case 1: @@ -43433,8 +37189,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAddOnDefinitionRequest); i { + file_pkg_server_proto_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LogBatch); i { case 0: return &v.state case 1: @@ -43445,8 +37201,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAddOnRequest); i { + file_pkg_server_proto_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigVar); i { case 0: return &v.state case 1: @@ -43457,8 +37213,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAddOnResponse); i { + file_pkg_server_proto_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSetRequest); i { case 0: return &v.state case 1: @@ -43469,8 +37225,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyAddOnRequest); i { + file_pkg_server_proto_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSetResponse); i { case 0: return &v.state case 1: @@ -43481,8 +37237,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddOnRequest); i { + file_pkg_server_proto_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigDeleteRequest); i { case 0: return &v.state case 1: @@ -43493,8 +37249,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddOnResponse); i { + file_pkg_server_proto_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigDeleteResponse); i { case 0: return &v.state case 1: @@ -43505,8 +37261,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAddOnRequest); i { + file_pkg_server_proto_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigGetRequest); i { case 0: return &v.state case 1: @@ -43517,8 +37273,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAddOnResponse); i { + file_pkg_server_proto_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigGetResponse); i { case 0: return &v.state case 1: @@ -43529,8 +37285,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAddOnsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSource); i { case 0: return &v.state case 1: @@ -43541,8 +37297,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAddOnsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetConfigSourceRequest); i { case 0: return &v.state case 1: @@ -43553,8 +37309,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTFRunStatusRequest); i { + file_pkg_server_proto_server_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteConfigSourceRequest); i { case 0: return &v.state case 1: @@ -43565,8 +37321,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTFRunStatusResponse); i { + file_pkg_server_proto_server_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetConfigSourceRequest); i { case 0: return &v.state case 1: @@ -43577,8 +37333,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOn); i { + file_pkg_server_proto_server_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetConfigSourceResponse); i { case 0: return &v.state case 1: @@ -43589,8 +37345,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOnDefinition); i { + file_pkg_server_proto_server_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecStreamRequest); i { case 0: return &v.state case 1: @@ -43601,8 +37357,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTFCRunStatusRequest); i { + file_pkg_server_proto_server_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecStreamResponse); i { case 0: return &v.state case 1: @@ -43613,8 +37369,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTFCRunStatusResponse); i { + file_pkg_server_proto_server_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointConfigRequest); i { case 0: return &v.state case 1: @@ -43625,8 +37381,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProjectFromTemplateRequest); i { + file_pkg_server_proto_server_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointConfigResponse); i { case 0: return &v.state case 1: @@ -43637,8 +37393,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProjectFromTemplateResponse); i { + file_pkg_server_proto_server_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointConfig); i { case 0: return &v.state case 1: @@ -43649,8 +37405,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenTransport); i { + file_pkg_server_proto_server_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointLogBatch); i { case 0: return &v.state case 1: @@ -43661,8 +37417,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Token); i { + file_pkg_server_proto_server_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointExecRequest); i { case 0: return &v.state case 1: @@ -43673,8 +37429,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HMACKey); i { + file_pkg_server_proto_server_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointExecResponse); i { case 0: return &v.state case 1: @@ -43685,8 +37441,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeTokenRequest); i { + file_pkg_server_proto_server_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pipeline); i { case 0: return &v.state case 1: @@ -43697,8 +37453,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeTokenResponse); i { + file_pkg_server_proto_server_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineRun); i { case 0: return &v.state case 1: @@ -43708,9 +37464,9 @@ func file_pkg_server_proto_server_proto_init() { default: return nil } - } - file_pkg_server_proto_server_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginTokenRequest); i { + } + file_pkg_server_proto_server_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertPipelineRequest); i { case 0: return &v.state case 1: @@ -43721,8 +37477,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateRunnerTokenRequest); i { + file_pkg_server_proto_server_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertPipelineResponse); i { case 0: return &v.state case 1: @@ -43733,8 +37489,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InviteTokenRequest); i { + file_pkg_server_proto_server_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPipelineRequest); i { case 0: return &v.state case 1: @@ -43745,8 +37501,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewTokenResponse); i { + file_pkg_server_proto_server_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPipelineResponse); i { case 0: return &v.state case 1: @@ -43757,8 +37513,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConvertInviteTokenRequest); i { + file_pkg_server_proto_server_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunPipelineRequest); i { case 0: return &v.state case 1: @@ -43769,8 +37525,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotResponse); i { + file_pkg_server_proto_server_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunPipelineResponse); i { case 0: return &v.state case 1: @@ -43781,8 +37537,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreSnapshotRequest); i { + file_pkg_server_proto_server_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelinesRequest); i { case 0: return &v.state case 1: @@ -43793,8 +37549,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot); i { + file_pkg_server_proto_server_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelinesResponse); i { case 0: return &v.state case 1: @@ -43805,8 +37561,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hcl); i { + file_pkg_server_proto_server_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelineRunsRequest); i { case 0: return &v.state case 1: @@ -43817,8 +37573,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaypointHclFmtRequest); i { + file_pkg_server_proto_server_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelineRunsResponse); i { case 0: return &v.state case 1: @@ -43829,8 +37585,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaypointHclFmtResponse); i { + file_pkg_server_proto_server_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPipelineRunRequest); i { case 0: return &v.state case 1: @@ -43841,8 +37597,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InlineKeepalive); i { + file_pkg_server_proto_server_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPipelineRunResponse); i { case 0: return &v.state case 1: @@ -43853,8 +37609,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaginationRequest); i { + file_pkg_server_proto_server_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSyncPipelineRequest); i { case 0: return &v.state case 1: @@ -43865,8 +37621,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaginationResponse); i { + file_pkg_server_proto_server_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSyncPipelineResponse); i { case 0: return &v.state case 1: @@ -43877,8 +37633,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortingRequest); i { + file_pkg_server_proto_server_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenTransport); i { case 0: return &v.state case 1: @@ -43889,8 +37645,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListProjectsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Token); i { case 0: return &v.state case 1: @@ -43901,8 +37657,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListProjectsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HMACKey); i { case 0: return &v.state case 1: @@ -43913,8 +37669,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ProjectBundle); i { + file_pkg_server_proto_server_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeTokenRequest); i { case 0: return &v.state case 1: @@ -43925,8 +37681,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetProjectRequest); i { + file_pkg_server_proto_server_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeTokenResponse); i { case 0: return &v.state case 1: @@ -43937,8 +37693,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetProjectResponse); i { + file_pkg_server_proto_server_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginTokenRequest); i { case 0: return &v.state case 1: @@ -43949,8 +37705,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListPipelinesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateRunnerTokenRequest); i { case 0: return &v.state case 1: @@ -43961,8 +37717,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListPipelinesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InviteTokenRequest); i { case 0: return &v.state case 1: @@ -43973,8 +37729,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListPipelineRunsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewTokenResponse); i { case 0: return &v.state case 1: @@ -43985,8 +37741,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListPipelineRunsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConvertInviteTokenRequest); i { case 0: return &v.state case 1: @@ -43997,8 +37753,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetPipelineRunRequest); i { + file_pkg_server_proto_server_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSnapshotResponse); i { case 0: return &v.state case 1: @@ -44009,8 +37765,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetPipelineRunResponse); i { + file_pkg_server_proto_server_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreSnapshotRequest); i { case 0: return &v.state case 1: @@ -44021,8 +37777,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_PipelineBundle); i { + file_pkg_server_proto_server_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Snapshot); i { case 0: return &v.state case 1: @@ -44033,8 +37789,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_PipelineRunBundle); i { + file_pkg_server_proto_server_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hcl); i { case 0: return &v.state case 1: @@ -44045,8 +37801,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_PipelineRunTreeNode); i { + file_pkg_server_proto_server_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaypointHclFmtRequest); i { case 0: return &v.state case 1: @@ -44057,8 +37813,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListDeploymentsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaypointHclFmtResponse); i { case 0: return &v.state case 1: @@ -44069,8 +37825,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListDeploymentsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InlineKeepalive); i { case 0: return &v.state case 1: @@ -44081,8 +37837,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetDeploymentRequest); i { + file_pkg_server_proto_server_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PaginationRequest); i { case 0: return &v.state case 1: @@ -44093,8 +37849,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_GetDeploymentResponse); i { + file_pkg_server_proto_server_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PaginationResponse); i { case 0: return &v.state case 1: @@ -44105,8 +37861,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_DeploymentBundle); i { + file_pkg_server_proto_server_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListProjectsRequest); i { case 0: return &v.state case 1: @@ -44117,8 +37873,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListReleasesRequest); i { + file_pkg_server_proto_server_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListProjectsResponse); i { case 0: return &v.state case 1: @@ -44129,8 +37885,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListReleasesResponse); i { + file_pkg_server_proto_server_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ProjectBundle); i { case 0: return &v.state case 1: @@ -44141,8 +37897,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ReleaseBundle); i { + file_pkg_server_proto_server_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_GetProjectRequest); i { case 0: return &v.state case 1: @@ -44153,8 +37909,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListEventsRequest); i { + file_pkg_server_proto_server_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_GetProjectResponse); i { case 0: return &v.state case 1: @@ -44165,8 +37921,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListEventsResponse); i { + file_pkg_server_proto_server_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListDeploymentsRequest); i { case 0: return &v.state case 1: @@ -44177,8 +37933,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_EventBundle); i { + file_pkg_server_proto_server_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListDeploymentsResponse); i { case 0: return &v.state case 1: @@ -44189,8 +37945,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_EventBuild); i { + file_pkg_server_proto_server_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_GetDeploymentRequest); i { case 0: return &v.state case 1: @@ -44201,8 +37957,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_EventDeployment); i { + file_pkg_server_proto_server_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_GetDeploymentResponse); i { case 0: return &v.state case 1: @@ -44213,8 +37969,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_EventRelease); i { + file_pkg_server_proto_server_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_DeploymentBundle); i { case 0: return &v.state case 1: @@ -44225,8 +37981,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_EventAddOn); i { + file_pkg_server_proto_server_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListReleasesRequest); i { case 0: return &v.state case 1: @@ -44237,8 +37993,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_ListEventSchemasResponse); i { + file_pkg_server_proto_server_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ListReleasesResponse); i { case 0: return &v.state case 1: @@ -44249,8 +38005,8 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UI_PipelineRunTreeNode_Children); i { + file_pkg_server_proto_server_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UI_ReleaseBundle); i { case 0: return &v.state case 1: @@ -44261,7 +38017,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionInfo_ProtocolVersion); i { case 0: return &v.state @@ -44273,7 +38029,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Variable_File); i { case 0: return &v.state @@ -44285,7 +38041,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Variable_VCS); i { case 0: return &v.state @@ -44297,7 +38053,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Variable_HclPos); i { case 0: return &v.state @@ -44309,7 +38065,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Variable_HclRange); i { case 0: return &v.state @@ -44321,7 +38077,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Variable_FinalValue); i { case 0: return &v.state @@ -44333,7 +38089,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project_Poll); i { case 0: return &v.state @@ -44345,7 +38101,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project_AppStatusPoll); i { case 0: return &v.state @@ -44357,7 +38113,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workspace_Project); i { case 0: return &v.state @@ -44369,7 +38125,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workspace_Application); i { case 0: return &v.state @@ -44381,7 +38137,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User_Link); i { case 0: return &v.state @@ -44393,7 +38149,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User_Link_OIDC); i { case 0: return &v.state @@ -44405,7 +38161,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Global); i { case 0: return &v.state @@ -44417,7 +38173,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Application); i { case 0: return &v.state @@ -44429,7 +38185,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Project); i { case 0: return &v.state @@ -44441,7 +38197,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Workspace); i { case 0: return &v.state @@ -44453,7 +38209,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Deployment); i { case 0: return &v.state @@ -44465,7 +38221,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Artifact); i { case 0: return &v.state @@ -44477,7 +38233,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Component); i { case 0: return &v.state @@ -44489,7 +38245,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Operation); i { case 0: return &v.state @@ -44501,7 +38257,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_OperationSeq); i { case 0: return &v.state @@ -44513,7 +38269,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Runner); i { case 0: return &v.state @@ -44525,7 +38281,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerAny); i { case 0: return &v.state @@ -44537,7 +38293,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerId); i { case 0: return &v.state @@ -44549,7 +38305,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerLabels); i { case 0: return &v.state @@ -44561,7 +38317,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_User); i { case 0: return &v.state @@ -44573,7 +38329,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_UserId); i { case 0: return &v.state @@ -44585,7 +38341,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_UserUsername); i { case 0: return &v.state @@ -44597,7 +38353,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_AuthMethod); i { case 0: return &v.state @@ -44609,7 +38365,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_DeclaredResource); i { case 0: return &v.state @@ -44621,7 +38377,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_OnDemandRunnerConfig); i { case 0: return &v.state @@ -44633,7 +38389,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Trigger); i { case 0: return &v.state @@ -44645,7 +38401,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Job); i { case 0: return &v.state @@ -44657,7 +38413,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Task); i { case 0: return &v.state @@ -44669,7 +38425,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Pipeline); i { case 0: return &v.state @@ -44681,7 +38437,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_PipelineOwner); i { case 0: return &v.state @@ -44693,7 +38449,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_PipelineStep); i { case 0: return &v.state @@ -44705,43 +38461,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ref_ProjectTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ref_AddOnDefinition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ref_AddOn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusFilter_Filter); i { case 0: return &v.state @@ -44753,7 +38473,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthMethod_OIDC); i { case 0: return &v.state @@ -44765,7 +38485,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_TaskOverride); i { case 0: return &v.state @@ -44777,7 +38497,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Result); i { case 0: return &v.state @@ -44789,7 +38509,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Config); i { case 0: return &v.state @@ -44801,7 +38521,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DataSource); i { case 0: return &v.state @@ -44813,7 +38533,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Local); i { case 0: return &v.state @@ -44825,7 +38545,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Remote); i { case 0: return &v.state @@ -44837,7 +38557,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Git); i { case 0: return &v.state @@ -44849,7 +38569,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Noop); i { case 0: return &v.state @@ -44861,7 +38581,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_UpOp); i { case 0: return &v.state @@ -44873,7 +38593,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_UpResult); i { case 0: return &v.state @@ -44885,7 +38605,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ValidateOp); i { case 0: return &v.state @@ -44897,7 +38617,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ValidateResult); i { case 0: return &v.state @@ -44909,7 +38629,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthOp); i { case 0: return &v.state @@ -44921,7 +38641,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthResult); i { case 0: return &v.state @@ -44933,7 +38653,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_BuildOp); i { case 0: return &v.state @@ -44945,7 +38665,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_BuildResult); i { case 0: return &v.state @@ -44957,7 +38677,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PushOp); i { case 0: return &v.state @@ -44969,7 +38689,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PushResult); i { case 0: return &v.state @@ -44981,7 +38701,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DeployOp); i { case 0: return &v.state @@ -44993,7 +38713,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DeployResult); i { case 0: return &v.state @@ -45005,7 +38725,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ExecOp); i { case 0: return &v.state @@ -45017,7 +38737,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ExecResult); i { case 0: return &v.state @@ -45029,7 +38749,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_LogsOp); i { case 0: return &v.state @@ -45041,7 +38761,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DestroyOp); i { case 0: return &v.state @@ -45053,7 +38773,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ReleaseOp); i { case 0: return &v.state @@ -45065,7 +38785,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ReleaseResult); i { case 0: return &v.state @@ -45077,7 +38797,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_TaskPluginParams); i { case 0: return &v.state @@ -45089,7 +38809,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_StartTaskLaunchOp); i { case 0: return &v.state @@ -45101,7 +38821,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_StartTaskResult); i { case 0: return &v.state @@ -45113,7 +38833,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_StopTaskLaunchOp); i { case 0: return &v.state @@ -45125,7 +38845,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_WatchTaskOp); i { case 0: return &v.state @@ -45137,7 +38857,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_WatchTaskResult); i { case 0: return &v.state @@ -45149,7 +38869,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_StatusReportOp); i { case 0: return &v.state @@ -45161,7 +38881,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_StatusReportResult); i { case 0: return &v.state @@ -45173,7 +38893,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsOp); i { case 0: return &v.state @@ -45185,7 +38905,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsResult); i { case 0: return &v.state @@ -45197,7 +38917,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ConfigSyncOp); i { case 0: return &v.state @@ -45209,7 +38929,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ConfigSyncResult); i { case 0: return &v.state @@ -45221,7 +38941,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PipelineConfigSyncResult); i { case 0: return &v.state @@ -45233,7 +38953,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ProjectDestroyResult); i { case 0: return &v.state @@ -45245,7 +38965,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PollOp); i { case 0: return &v.state @@ -45257,7 +38977,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PollResult); i { case 0: return &v.state @@ -45269,7 +38989,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitOp); i { case 0: return &v.state @@ -45281,7 +39001,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitResult); i { case 0: return &v.state @@ -45293,7 +39013,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PipelineStepOp); i { case 0: return &v.state @@ -45305,7 +39025,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DestroyProjectOp); i { case 0: return &v.state @@ -45317,7 +39037,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_PipelineStepResult); i { case 0: return &v.state @@ -45329,7 +39049,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_QueueProjectOp); i { case 0: return &v.state @@ -45341,7 +39061,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_QueueProjectResult); i { case 0: return &v.state @@ -45353,7 +39073,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DataSource_Ref); i { case 0: return &v.state @@ -45365,7 +39085,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Git_Basic); i { case 0: return &v.state @@ -45377,7 +39097,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Git_SSH); i { case 0: return &v.state @@ -45389,7 +39109,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Git_Ref); i { case 0: return &v.state @@ -45401,7 +39121,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthResult_Result); i { case 0: return &v.state @@ -45413,7 +39133,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsResult_Result); i { case 0: return &v.state @@ -45425,7 +39145,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_QueueProjectResult_Application); i { case 0: return &v.state @@ -45437,7 +39157,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation_Field); i { case 0: return &v.state @@ -45449,7 +39169,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation_Mapper); i { case 0: return &v.state @@ -45461,7 +39181,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Open); i { case 0: return &v.state @@ -45473,7 +39193,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_State); i { case 0: return &v.state @@ -45485,7 +39205,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_JobChange); i { case 0: return &v.state @@ -45497,7 +39217,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Download); i { case 0: return &v.state @@ -45509,7 +39229,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal); i { case 0: return &v.state @@ -45521,7 +39241,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Error); i { case 0: return &v.state @@ -45533,7 +39253,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Complete); i { case 0: return &v.state @@ -45545,7 +39265,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event); i { case 0: return &v.state @@ -45557,7 +39277,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Status); i { case 0: return &v.state @@ -45569,7 +39289,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Line); i { case 0: return &v.state @@ -45581,7 +39301,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Raw); i { case 0: return &v.state @@ -45593,7 +39313,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValue); i { case 0: return &v.state @@ -45605,7 +39325,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValues); i { case 0: return &v.state @@ -45617,7 +39337,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_TableEntry); i { case 0: return &v.state @@ -45629,7 +39349,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_TableRow); i { case 0: return &v.state @@ -45641,7 +39361,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Table); i { case 0: return &v.state @@ -45653,7 +39373,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_StepGroup); i { case 0: return &v.state @@ -45665,7 +39385,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Step); i { case 0: return &v.state @@ -45677,7 +39397,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runner_ODR); i { case 0: return &v.state @@ -45689,7 +39409,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runner_Local); i { case 0: return &v.state @@ -45701,7 +39421,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runner_Remote); i { case 0: return &v.state @@ -45713,7 +39433,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigRequest_Open); i { case 0: return &v.state @@ -45725,7 +39445,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Request); i { case 0: return &v.state @@ -45737,7 +39457,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Ack); i { case 0: return &v.state @@ -45749,7 +39469,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Complete); i { case 0: return &v.state @@ -45761,7 +39481,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Error); i { case 0: return &v.state @@ -45773,7 +39493,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Heartbeat); i { case 0: return &v.state @@ -45785,7 +39505,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_ConfigLoad); i { case 0: return &v.state @@ -45797,7 +39517,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_VariableValuesSet); i { case 0: return &v.state @@ -45809,7 +39529,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse_JobAssignment); i { case 0: return &v.state @@ -45821,7 +39541,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse_JobCancel); i { case 0: return &v.state @@ -45833,7 +39553,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerConfig_AdvertiseAddr); i { case 0: return &v.state @@ -45845,7 +39565,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hostname_Target); i { case 0: return &v.state @@ -45857,7 +39577,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hostname_TargetApp); i { case 0: return &v.state @@ -45869,7 +39589,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Build_Preload); i { case 0: return &v.state @@ -45881,7 +39601,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushedArtifact_Preload); i { case 0: return &v.state @@ -45893,7 +39613,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Deployment_Preload); i { case 0: return &v.state @@ -45905,7 +39625,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstancesRequest_Application); i { case 0: return &v.state @@ -45917,7 +39637,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Release_Preload); i { case 0: return &v.state @@ -45929,7 +39649,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusReport_Resource); i { case 0: return &v.state @@ -45941,7 +39661,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusReport_Health); i { case 0: return &v.state @@ -45953,7 +39673,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLogStreamRequest_Application); i { case 0: return &v.state @@ -45965,7 +39685,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogBatch_Entry); i { case 0: return &v.state @@ -45977,7 +39697,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigVar_DynamicVal); i { case 0: return &v.state @@ -45989,7 +39709,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigVar_Target); i { case 0: return &v.state @@ -46001,7 +39721,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_Start); i { case 0: return &v.state @@ -46013,7 +39733,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_Input); i { case 0: return &v.state @@ -46025,7 +39745,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[457].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_PTY); i { case 0: return &v.state @@ -46037,7 +39757,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[458].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_WindowSize); i { case 0: return &v.state @@ -46049,7 +39769,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[459].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Open); i { case 0: return &v.state @@ -46061,7 +39781,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[460].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Exit); i { case 0: return &v.state @@ -46073,7 +39793,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[461].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Output); i { case 0: return &v.state @@ -46085,7 +39805,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[462].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig_Exec); i { case 0: return &v.state @@ -46097,7 +39817,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[463].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig_URLService); i { case 0: return &v.state @@ -46109,7 +39829,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[464].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig_DeploymentInfo); i { case 0: return &v.state @@ -46121,7 +39841,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[466].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Open); i { case 0: return &v.state @@ -46133,7 +39853,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[467].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Exit); i { case 0: return &v.state @@ -46145,7 +39865,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[468].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Output); i { case 0: return &v.state @@ -46157,7 +39877,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[469].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Error); i { case 0: return &v.state @@ -46169,7 +39889,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[471].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step); i { case 0: return &v.state @@ -46181,7 +39901,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[472].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Exec); i { case 0: return &v.state @@ -46193,7 +39913,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[473].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Build); i { case 0: return &v.state @@ -46205,7 +39925,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[474].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Deploy); i { case 0: return &v.state @@ -46217,7 +39937,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[475].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Release); i { case 0: return &v.state @@ -46229,7 +39949,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[476].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Up); i { case 0: return &v.state @@ -46241,7 +39961,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[477].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipeline_Step_Pipeline); i { case 0: return &v.state @@ -46253,7 +39973,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[478].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPipelineResponse_Graph); i { case 0: return &v.state @@ -46265,31 +39985,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[481].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectTemplate_WaypointProject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[482].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectTemplate_TerraformNocodeModule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_server_proto_server_proto_msgTypes[484].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenTransport_OAuthCredentials); i { case 0: return &v.state @@ -46301,7 +39997,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[485].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Login); i { case 0: return &v.state @@ -46313,7 +40009,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[486].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Runner); i { case 0: return &v.state @@ -46325,7 +40021,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[487].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Invite); i { case 0: return &v.state @@ -46337,7 +40033,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[488].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Entrypoint); i { case 0: return &v.state @@ -46349,7 +40045,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[489].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Trigger); i { case 0: return &v.state @@ -46361,7 +40057,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[490].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Invite_Signup); i { case 0: return &v.state @@ -46373,7 +40069,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[492].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSnapshotResponse_Open); i { case 0: return &v.state @@ -46385,7 +40081,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[493].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreSnapshotRequest_Open); i { case 0: return &v.state @@ -46397,7 +40093,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[494].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_Header); i { case 0: return &v.state @@ -46409,7 +40105,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[495].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_Trailer); i { case 0: return &v.state @@ -46421,7 +40117,7 @@ func file_pkg_server_proto_server_proto_init() { return nil } } - file_pkg_server_proto_server_proto_msgTypes[496].Exporter = func(v interface{}, i int) interface{} { + file_pkg_server_proto_server_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_BoltChunk); i { case 0: return &v.state @@ -46511,11 +40207,11 @@ func file_pkg_server_proto_server_proto_init() { (*ListWorkspacesRequest_Project)(nil), (*ListWorkspacesRequest_Application)(nil), } - file_pkg_server_proto_server_proto_msgTypes[133].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[131].OneofWrappers = []interface{}{ (*ListInstancesRequest_DeploymentId)(nil), (*ListInstancesRequest_Application_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[144].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[142].OneofWrappers = []interface{}{ (*Trigger_Build)(nil), (*Trigger_Push)(nil), (*Trigger_Deploy)(nil), @@ -46525,30 +40221,30 @@ func file_pkg_server_proto_server_proto_init() { (*Trigger_Init)(nil), (*Trigger_StatusReport)(nil), } - file_pkg_server_proto_server_proto_msgTypes[156].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[154].OneofWrappers = []interface{}{ (*GetLatestStatusReportRequest_Any)(nil), (*GetLatestStatusReportRequest_DeploymentAny)(nil), (*GetLatestStatusReportRequest_DeploymentId)(nil), (*GetLatestStatusReportRequest_ReleaseAny)(nil), (*GetLatestStatusReportRequest_ReleaseId)(nil), } - file_pkg_server_proto_server_proto_msgTypes[157].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[155].OneofWrappers = []interface{}{ (*ListStatusReportsRequest_Deployment)(nil), (*ListStatusReportsRequest_Release)(nil), } - file_pkg_server_proto_server_proto_msgTypes[160].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[158].OneofWrappers = []interface{}{ (*ExpediteStatusReportRequest_Deployment)(nil), (*ExpediteStatusReportRequest_Release)(nil), } - file_pkg_server_proto_server_proto_msgTypes[162].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[160].OneofWrappers = []interface{}{ (*StatusReport_DeploymentId)(nil), (*StatusReport_ReleaseId)(nil), } - file_pkg_server_proto_server_proto_msgTypes[163].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[161].OneofWrappers = []interface{}{ (*GetLogStreamRequest_DeploymentId)(nil), (*GetLogStreamRequest_Application_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[165].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[163].OneofWrappers = []interface{}{ (*ConfigVar_Unset)(nil), (*ConfigVar_Static)(nil), (*ConfigVar_Dynamic)(nil), @@ -46556,144 +40252,132 @@ func file_pkg_server_proto_server_proto_init() { (*ConfigVar_Project)(nil), (*ConfigVar_Runner)(nil), } - file_pkg_server_proto_server_proto_msgTypes[170].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[168].OneofWrappers = []interface{}{ (*ConfigGetRequest_Application)(nil), (*ConfigGetRequest_Project)(nil), } - file_pkg_server_proto_server_proto_msgTypes[172].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[170].OneofWrappers = []interface{}{ (*ConfigSource_Global)(nil), (*ConfigSource_Project)(nil), (*ConfigSource_Application)(nil), } - file_pkg_server_proto_server_proto_msgTypes[175].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[173].OneofWrappers = []interface{}{ (*GetConfigSourceRequest_Global)(nil), (*GetConfigSourceRequest_Project)(nil), (*GetConfigSourceRequest_Application)(nil), (*GetConfigSourceRequest_All)(nil), } - file_pkg_server_proto_server_proto_msgTypes[177].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[175].OneofWrappers = []interface{}{ (*ExecStreamRequest_Start_)(nil), (*ExecStreamRequest_Input_)(nil), (*ExecStreamRequest_Winch)(nil), (*ExecStreamRequest_InputEof)(nil), } - file_pkg_server_proto_server_proto_msgTypes[178].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[176].OneofWrappers = []interface{}{ (*ExecStreamResponse_Open_)(nil), (*ExecStreamResponse_Output_)(nil), (*ExecStreamResponse_Exit_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[183].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[181].OneofWrappers = []interface{}{ (*EntrypointExecRequest_Open_)(nil), (*EntrypointExecRequest_Exit_)(nil), (*EntrypointExecRequest_Output_)(nil), (*EntrypointExecRequest_Error_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[184].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[182].OneofWrappers = []interface{}{ (*EntrypointExecResponse_Input)(nil), (*EntrypointExecResponse_InputEof)(nil), (*EntrypointExecResponse_Winch)(nil), (*EntrypointExecResponse_Opened)(nil), } - file_pkg_server_proto_server_proto_msgTypes[185].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[183].OneofWrappers = []interface{}{ (*Pipeline_Project)(nil), } - file_pkg_server_proto_server_proto_msgTypes[239].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[199].OneofWrappers = []interface{}{ (*TokenTransport_OauthCreds)(nil), } - file_pkg_server_proto_server_proto_msgTypes[240].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[200].OneofWrappers = []interface{}{ (*Token_Login_)(nil), (*Token_Runner_)(nil), (*Token_Invite_)(nil), (*Token_Trigger_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[249].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[209].OneofWrappers = []interface{}{ (*CreateSnapshotResponse_Open_)(nil), (*CreateSnapshotResponse_Chunk)(nil), } - file_pkg_server_proto_server_proto_msgTypes[250].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[210].OneofWrappers = []interface{}{ (*RestoreSnapshotRequest_Open_)(nil), (*RestoreSnapshotRequest_Chunk)(nil), } - file_pkg_server_proto_server_proto_msgTypes[295].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[236].OneofWrappers = []interface{}{ (*Variable_FinalValue_Sensitive)(nil), (*Variable_FinalValue_Str)(nil), (*Variable_FinalValue_Bool)(nil), (*Variable_FinalValue_Num)(nil), (*Variable_FinalValue_Hcl)(nil), } - file_pkg_server_proto_server_proto_msgTypes[300].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[241].OneofWrappers = []interface{}{ (*User_Link_Oidc)(nil), } - file_pkg_server_proto_server_proto_msgTypes[306].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[247].OneofWrappers = []interface{}{ (*Ref_Deployment_Latest)(nil), (*Ref_Deployment_Sequence)(nil), } - file_pkg_server_proto_server_proto_msgTypes[307].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[248].OneofWrappers = []interface{}{ (*Ref_Artifact_Latest)(nil), (*Ref_Artifact_Sequence)(nil), } - file_pkg_server_proto_server_proto_msgTypes[309].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[250].OneofWrappers = []interface{}{ (*Ref_Operation_Id)(nil), (*Ref_Operation_Sequence)(nil), } - file_pkg_server_proto_server_proto_msgTypes[311].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[252].OneofWrappers = []interface{}{ (*Ref_Runner_Any)(nil), (*Ref_Runner_Id)(nil), (*Ref_Runner_Labels)(nil), } - file_pkg_server_proto_server_proto_msgTypes[315].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[256].OneofWrappers = []interface{}{ (*Ref_User_Id)(nil), (*Ref_User_Username)(nil), } - file_pkg_server_proto_server_proto_msgTypes[323].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[264].OneofWrappers = []interface{}{ (*Ref_Task_Id)(nil), (*Ref_Task_JobId)(nil), } - file_pkg_server_proto_server_proto_msgTypes[324].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[265].OneofWrappers = []interface{}{ (*Ref_Pipeline_Id)(nil), (*Ref_Pipeline_Owner)(nil), } - file_pkg_server_proto_server_proto_msgTypes[327].OneofWrappers = []interface{}{ - (*Ref_ProjectTemplate_Id)(nil), - (*Ref_ProjectTemplate_Name)(nil), - } - file_pkg_server_proto_server_proto_msgTypes[328].OneofWrappers = []interface{}{ - (*Ref_AddOnDefinition_Id)(nil), - (*Ref_AddOnDefinition_Name)(nil), - } - file_pkg_server_proto_server_proto_msgTypes[329].OneofWrappers = []interface{}{ - (*Ref_AddOn_Id)(nil), - (*Ref_AddOn_Name)(nil), - } - file_pkg_server_proto_server_proto_msgTypes[331].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[269].OneofWrappers = []interface{}{ (*StatusFilter_Filter_State)(nil), } - file_pkg_server_proto_server_proto_msgTypes[342].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[280].OneofWrappers = []interface{}{ (*Job_DataSource_Local)(nil), (*Job_DataSource_Git)(nil), (*Job_DataSource_Remote)(nil), } - file_pkg_server_proto_server_proto_msgTypes[345].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[283].OneofWrappers = []interface{}{ (*Job_Git_Basic_)(nil), (*Job_Git_Ssh)(nil), } - file_pkg_server_proto_server_proto_msgTypes[362].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[300].OneofWrappers = []interface{}{ (*Job_DestroyOp_Workspace)(nil), (*Job_DestroyOp_Deployment)(nil), } - file_pkg_server_proto_server_proto_msgTypes[368].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[306].OneofWrappers = []interface{}{ (*Job_StopTaskLaunchOp_Direct)(nil), (*Job_StopTaskLaunchOp_StartJobId)(nil), } - file_pkg_server_proto_server_proto_msgTypes[371].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[309].OneofWrappers = []interface{}{ (*Job_StatusReportOp_Deployment)(nil), (*Job_StatusReportOp_Release)(nil), } - file_pkg_server_proto_server_proto_msgTypes[388].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[326].OneofWrappers = []interface{}{ (*Job_DataSource_Ref_Unknown)(nil), (*Job_DataSource_Ref_Git)(nil), } - file_pkg_server_proto_server_proto_msgTypes[406].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[344].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Terminal_Event_Line_)(nil), (*GetJobStreamResponse_Terminal_Event_Status_)(nil), (*GetJobStreamResponse_Terminal_Event_NamedValues_)(nil), @@ -46702,19 +40386,19 @@ func file_pkg_server_proto_server_proto_init() { (*GetJobStreamResponse_Terminal_Event_StepGroup_)(nil), (*GetJobStreamResponse_Terminal_Event_Step_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[434].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[372].OneofWrappers = []interface{}{ (*Hostname_Target_Application)(nil), } - file_pkg_server_proto_server_proto_msgTypes[451].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[389].OneofWrappers = []interface{}{ (*ConfigVar_Target_Global)(nil), (*ConfigVar_Target_Project)(nil), (*ConfigVar_Target_Application)(nil), } - file_pkg_server_proto_server_proto_msgTypes[455].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[393].OneofWrappers = []interface{}{ (*ExecStreamRequest_Start_DeploymentId)(nil), (*ExecStreamRequest_Start_InstanceId)(nil), } - file_pkg_server_proto_server_proto_msgTypes[471].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[409].OneofWrappers = []interface{}{ (*Pipeline_Step_Exec_)(nil), (*Pipeline_Step_Build_)(nil), (*Pipeline_Step_Deploy_)(nil), @@ -46722,7 +40406,7 @@ func file_pkg_server_proto_server_proto_init() { (*Pipeline_Step_Up_)(nil), (*Pipeline_Step_Pipeline_)(nil), } - file_pkg_server_proto_server_proto_msgTypes[495].OneofWrappers = []interface{}{ + file_pkg_server_proto_server_proto_msgTypes[431].OneofWrappers = []interface{}{ (*Snapshot_Trailer_Sha256)(nil), } type x struct{} @@ -46730,8 +40414,8 @@ func file_pkg_server_proto_server_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_server_proto_server_proto_rawDesc, - NumEnums: 31, - NumMessages: 498, + NumEnums: 25, + NumMessages: 434, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/server/gen/server.pb.gw.go b/pkg/server/gen/server.pb.gw.go index 0a81aef6e07..a4ca1c19d03 100644 --- a/pkg/server/gen/server.pb.gw.go +++ b/pkg/server/gen/server.pb.gw.go @@ -3038,206 +3038,6 @@ func local_request_Waypoint_GetDeployment_1(ctx context.Context, marshaler runti } -var ( - filter_Waypoint_GetLatestDeployment_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} -) - -func request_Waypoint_GetLatestDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLatestDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetLatestDeployment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetLatestDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetLatestDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLatestDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetLatestDeployment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetLatestDeployment(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_GetLatestDeployment_1 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1, "workspace": 2}, Base: []int{1, 4, 1, 5, 0, 3, 0, 5, 0}, Check: []int{0, 1, 2, 1, 3, 2, 6, 4, 8}} -) - -func request_Waypoint_GetLatestDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLatestDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - val, ok = pathParams["workspace.workspace"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace.workspace") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "workspace.workspace", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace.workspace", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetLatestDeployment_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetLatestDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetLatestDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLatestDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - val, ok = pathParams["workspace.workspace"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace.workspace") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "workspace.workspace", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace.workspace", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetLatestDeployment_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetLatestDeployment(ctx, &protoReq) - return msg, metadata, err - -} - var ( filter_Waypoint_ListInstances_0 = &utilities.DoubleArray{Encoding: map[string]int{"deployment_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -9086,51 +8886,49 @@ func local_request_Waypoint_ConfigSyncPipeline_0(ctx context.Context, marshaler } -func request_Waypoint_CreateProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateProjectTemplateRequest +var ( + filter_Waypoint_UI_ListProjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Waypoint_UI_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListProjectsRequest var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListProjects_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateProjectTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.UI_ListProjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Waypoint_CreateProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateProjectTemplateRequest +func local_request_Waypoint_UI_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListProjectsRequest var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListProjects_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.CreateProjectTemplate(ctx, &protoReq) + msg, err := server.UI_ListProjects(ctx, &protoReq) return msg, metadata, err } -func request_Waypoint_UpdateProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateProjectTemplateRequest - var metadata runtime.ServerMetadata +var ( + filter_Waypoint_UI_GetProject_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 2, 2, 0}, Check: []int{0, 1, 2, 3}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_Waypoint_UI_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_GetProjectRequest + var metadata runtime.ServerMetadata var ( val string @@ -9139,33 +8937,32 @@ func request_Waypoint_UpdateProjectTemplate_0(ctx context.Context, marshaler run _ = err ) - val, ok = pathParams["project_template.id"] + val, ok = pathParams["project.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) + err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) } - msg, err := client.UpdateProjectTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetProject_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UI_GetProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Waypoint_UpdateProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateProjectTemplateRequest +func local_request_Waypoint_UI_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_GetProjectRequest var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - var ( val string ok bool @@ -9173,167 +8970,34 @@ func local_request_Waypoint_UpdateProjectTemplate_0(ctx context.Context, marshal _ = err ) - val, ok = pathParams["project_template.id"] + val, ok = pathParams["project.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) + err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetProject_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.UpdateProjectTemplate(ctx, &protoReq) + msg, err := server.UI_GetProject(ctx, &protoReq) return msg, metadata, err } var ( - filter_Waypoint_GetProjectTemplate_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_template": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} + filter_Waypoint_UI_ListDeployments_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} ) -func request_Waypoint_GetProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetProjectTemplateRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project_template.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetProjectTemplate_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetProjectTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetProjectTemplateRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project_template.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetProjectTemplate_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetProjectTemplate(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_GetProjectTemplate_1 = &utilities.DoubleArray{Encoding: map[string]int{"project_template": 0, "name": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_GetProjectTemplate_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetProjectTemplateRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project_template.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetProjectTemplate_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetProjectTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetProjectTemplate_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetProjectTemplateRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project_template.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetProjectTemplate_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetProjectTemplate(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_DeleteProjectTemplate_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_template": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_DeleteProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteProjectTemplateRequest +func request_Waypoint_UI_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListDeploymentsRequest var metadata runtime.ServerMetadata var ( @@ -9343,137 +9007,40 @@ func request_Waypoint_DeleteProjectTemplate_0(ctx context.Context, marshaler run _ = err ) - val, ok = pathParams["project_template.id"] + val, ok = pathParams["application.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) + err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteProjectTemplate_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) } - msg, err := client.DeleteProjectTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_DeleteProjectTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteProjectTemplateRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project_template.id"] + val, ok = pathParams["application.application"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_template.id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") } - err = runtime.PopulateFieldFromPath(&protoReq, "project_template.id", val) + err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_template.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteProjectTemplate_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteProjectTemplate(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_ListProjectTemplates_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Waypoint_ListProjectTemplates_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListProjectTemplatesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListProjectTemplates_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) } - msg, err := client.ListProjectTemplates(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_ListProjectTemplates_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListProjectTemplatesRequest - var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListProjectTemplates_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListProjectTemplates(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_CreateProjectFromTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateProjectFromTemplateRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateProjectFromTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_CreateProjectFromTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateProjectFromTemplateRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListDeployments_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.CreateProjectFromTemplate(ctx, &protoReq) + msg, err := client.UI_ListDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -var ( - filter_Waypoint_GetTFCRunStatus_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 2, 2, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_GetTFCRunStatus_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTFCRunStatusRequest +func local_request_Waypoint_UI_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListDeploymentsRequest var metadata runtime.ServerMetadata var ( @@ -9483,3368 +9050,147 @@ func request_Waypoint_GetTFCRunStatus_0(ctx context.Context, marshaler runtime.M _ = err ) - val, ok = pathParams["project.project"] + val, ok = pathParams["application.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetTFCRunStatus_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) } - msg, err := client.GetTFCRunStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetTFCRunStatus_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTFCRunStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project.project"] + val, ok = pathParams["application.application"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") } - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetTFCRunStatus_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetTFCRunStatus(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_CreateAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_CreateAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_GetAddOnDefinition_0 = &utilities.DoubleArray{Encoding: map[string]int{"add_on_definition": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_GetAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOnDefinition_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOnDefinition_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_GetAddOnDefinition_1 = &utilities.DoubleArray{Encoding: map[string]int{"add_on_definition": 0, "name": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_GetAddOnDefinition_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOnDefinition_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetAddOnDefinition_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOnDefinition_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_ListAddOnDefinitions_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Waypoint_ListAddOnDefinitions_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListAddOnDefinitionsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListAddOnDefinitions_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListAddOnDefinitions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_ListAddOnDefinitions_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListAddOnDefinitionsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListAddOnDefinitions_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListAddOnDefinitions(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_UpdateAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UpdateAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UpdateAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UpdateAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_DeleteAddOnDefinition_0 = &utilities.DoubleArray{Encoding: map[string]int{"add_on_definition": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_DeleteAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteAddOnDefinition_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DeleteAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_DeleteAddOnDefinition_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteAddOnDefinition_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_DeleteAddOnDefinition_1 = &utilities.DoubleArray{Encoding: map[string]int{"add_on_definition": 0, "name": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_DeleteAddOnDefinition_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteAddOnDefinition_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DeleteAddOnDefinition(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_DeleteAddOnDefinition_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteAddOnDefinitionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on_definition.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on_definition.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on_definition.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on_definition.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DeleteAddOnDefinition_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteAddOnDefinition(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_CreateAddOn_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateAddOnRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateAddOn(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_CreateAddOn_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateAddOnRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateAddOn(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_GetAddOn_0 = &utilities.DoubleArray{Encoding: map[string]int{"add_on": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_GetAddOn_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOn_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetAddOn(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetAddOn_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAddOnRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_GetAddOn_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetAddOn(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_UpdateAddOn_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateAddOnRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UpdateAddOn(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UpdateAddOn_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateAddOnRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UpdateAddOn(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_DestroyAddOn_0 = &utilities.DoubleArray{Encoding: map[string]int{"add_on": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_DestroyAddOn_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DestroyAddOnRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DestroyAddOn_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DestroyAddOn(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_DestroyAddOn_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DestroyAddOnRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["add_on.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "add_on.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "add_on.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "add_on.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_DestroyAddOn_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DestroyAddOn(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_ListAddOns_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Waypoint_ListAddOns_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListAddOnsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListAddOns_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListAddOns(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_ListAddOns_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListAddOnsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_ListAddOns_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListAddOns(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_GetTFRunStatus_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTFRunStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["workspace_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_name") - } - - protoReq.WorkspaceName, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_name", err) - } - - msg, err := client.GetTFRunStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_GetTFRunStatus_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTFRunStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["workspace_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_name") - } - - protoReq.WorkspaceName, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_name", err) - } - - msg, err := server.GetTFRunStatus(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListProjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Waypoint_UI_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListProjectsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListProjects_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListProjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListProjectsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListProjects_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListProjects(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_GetProject_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 2, 2, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_UI_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetProjectRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetProject_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_GetProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetProjectRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetProject_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_GetProject(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListPipelines_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 2, 2, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_UI_ListPipelines_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListPipelinesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListPipelines_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListPipelines(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListPipelines_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListPipelinesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project.project", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListPipelines_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListPipelines(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListPipelineRuns_0 = &utilities.DoubleArray{Encoding: map[string]int{"pipeline": 0, "owner": 1, "project": 2, "pipeline_name": 3}, Base: []int{1, 5, 1, 2, 1, 0, 4, 4, 0}, Check: []int{0, 1, 2, 3, 4, 5, 2, 7, 8}} -) - -func request_Waypoint_UI_ListPipelineRuns_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListPipelineRunsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.owner.project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.project.project", err) - } - - val, ok = pathParams["pipeline.owner.pipeline_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.pipeline_name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.pipeline_name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.pipeline_name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListPipelineRuns_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListPipelineRuns(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListPipelineRuns_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListPipelineRunsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.owner.project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.project.project", err) - } - - val, ok = pathParams["pipeline.owner.pipeline_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.pipeline_name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.pipeline_name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.pipeline_name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListPipelineRuns_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListPipelineRuns(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_GetPipelineRun_0 = &utilities.DoubleArray{Encoding: map[string]int{"pipeline": 0, "id": 1, "sequence": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 1, 3, 4}} -) - -func request_Waypoint_UI_GetPipelineRun_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetPipelineRunRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.id", err) - } - - val, ok = pathParams["sequence"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sequence") - } - - protoReq.Sequence, err = runtime.Uint64(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sequence", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetPipelineRun_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_GetPipelineRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_GetPipelineRun_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetPipelineRunRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.id", err) - } - - val, ok = pathParams["sequence"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sequence") - } - - protoReq.Sequence, err = runtime.Uint64(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sequence", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetPipelineRun_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_GetPipelineRun(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_GetPipelineRun_1 = &utilities.DoubleArray{Encoding: map[string]int{"pipeline": 0, "owner": 1, "project": 2, "pipeline_name": 3, "sequence": 4}, Base: []int{1, 6, 1, 2, 1, 5, 0, 5, 4, 0, 0}, Check: []int{0, 1, 2, 3, 4, 1, 5, 2, 8, 9, 6}} -) - -func request_Waypoint_UI_GetPipelineRun_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetPipelineRunRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.owner.project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.project.project", err) - } - - val, ok = pathParams["pipeline.owner.pipeline_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.pipeline_name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.pipeline_name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.pipeline_name", err) - } - - val, ok = pathParams["sequence"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sequence") - } - - protoReq.Sequence, err = runtime.Uint64(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sequence", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetPipelineRun_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_GetPipelineRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_GetPipelineRun_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetPipelineRunRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pipeline.owner.project.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.project.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.project.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.project.project", err) - } - - val, ok = pathParams["pipeline.owner.pipeline_name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pipeline.owner.pipeline_name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "pipeline.owner.pipeline_name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pipeline.owner.pipeline_name", err) - } - - val, ok = pathParams["sequence"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sequence") - } - - protoReq.Sequence, err = runtime.Uint64(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sequence", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetPipelineRun_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_GetPipelineRun(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListDeployments_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} -) - -func request_Waypoint_UI_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListDeploymentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListDeployments_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListDeploymentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListDeployments_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListDeployments(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_GetDeployment_0 = &utilities.DoubleArray{Encoding: map[string]int{"ref": 0, "id": 1}, Base: []int{1, 1, 1, 0}, Check: []int{0, 1, 2, 3}} -) - -func request_Waypoint_UI_GetDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["ref.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetDeployment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_GetDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_GetDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["ref.id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetDeployment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_GetDeployment(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_GetDeployment_1 = &utilities.DoubleArray{Encoding: map[string]int{"ref": 0, "sequence": 1, "application": 2, "project": 3, "number": 4}, Base: []int{1, 9, 1, 2, 1, 5, 0, 5, 4, 0, 7, 7, 0}, Check: []int{0, 1, 2, 3, 4, 2, 5, 6, 8, 9, 2, 11, 12}} -) - -func request_Waypoint_UI_GetDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["ref.sequence.application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.application.project", err) - } - - val, ok = pathParams["ref.sequence.application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.application.application", err) - } - - val, ok = pathParams["ref.sequence.number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.number") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.number", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.number", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetDeployment_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_GetDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_GetDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_GetDeploymentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["ref.sequence.application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.application.project", err) - } - - val, ok = pathParams["ref.sequence.application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.application.application", err) - } - - val, ok = pathParams["ref.sequence.number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ref.sequence.number") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "ref.sequence.number", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ref.sequence.number", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_GetDeployment_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_GetDeployment(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListReleases_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} -) - -func request_Waypoint_UI_ListReleases_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListReleasesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListReleases_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListReleases(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListReleases_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListReleasesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListReleases_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListReleases(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListEvents_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} -) - -func request_Waypoint_UI_ListEvents_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListEventsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListEvents_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListEvents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListEvents_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListEventsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListEvents_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListEvents(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Waypoint_UI_ListEvents_1 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1, "workspace": 2}, Base: []int{1, 4, 1, 5, 0, 3, 0, 5, 0}, Check: []int{0, 1, 2, 1, 3, 2, 6, 4, 8}} -) - -func request_Waypoint_UI_ListEvents_1(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListEventsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - val, ok = pathParams["workspace.workspace"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace.workspace") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "workspace.workspace", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace.workspace", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListEvents_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UI_ListEvents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_UI_ListEvents_1(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UI_ListEventsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["application.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) - } - - val, ok = pathParams["application.application"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) - } - - val, ok = pathParams["workspace.workspace"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace.workspace") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "workspace.workspace", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace.workspace", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListEvents_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UI_ListEvents(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Waypoint_INTERNAL_AdditionalMessages_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.INTERNAL_AdditionalMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Waypoint_INTERNAL_AdditionalMessages_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.INTERNAL_AdditionalMessages(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterWaypointHandlerServer registers the http handlers for service Waypoint to "mux". -// UnaryRPC :call WaypointServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWaypointHandlerFromEndpoint instead. -func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WaypointServer) error { - - mux.Handle("GET", pattern_Waypoint_GetVersionInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetVersionInfo", runtime.WithHTTPPathPattern("/version")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetVersionInfo_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetVersionInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListOIDCAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", runtime.WithHTTPPathPattern("/oidc/methods")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListOIDCAuthMethods_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListOIDCAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_GetOIDCAuthURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/url")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetOIDCAuthURL_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetOIDCAuthURL_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_CompleteOIDCAuth_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/complete")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_CompleteOIDCAuth_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_CompleteOIDCAuth_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_NoAuthRunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", runtime.WithHTTPPathPattern("/triggers/no-auth/{ref.id}/run")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_NoAuthRunTrigger_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_NoAuthRunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetUser_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetUser_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListUsers", runtime.WithHTTPPathPattern("/users")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListUsers_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Waypoint_UpdateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateUser", runtime.WithHTTPPathPattern("/user/{user.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_UpdateUser_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_UpdateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Waypoint_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_DeleteUser_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Waypoint_DeleteUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_DeleteUser_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_DeleteUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_UpsertAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", runtime.WithHTTPPathPattern("/auth-method")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_UpsertAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_UpsertAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAuthMethods", runtime.WithHTTPPathPattern("/auth-methods")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListAuthMethods_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Waypoint_DeleteAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_DeleteAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_DeleteAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/workspaces")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListWorkspaces_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListWorkspaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{project.project}/workspaces")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListWorkspaces_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListWorkspaces_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspaces")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListWorkspaces_2(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListWorkspaces_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetWorkspace", runtime.WithHTTPPathPattern("/workspace/{workspace.workspace}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetWorkspace_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_UpsertWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertWorkspace", runtime.WithHTTPPathPattern("/workspace")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_UpsertWorkspace_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_UpsertWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_UpsertProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertProject", runtime.WithHTTPPathPattern("/project")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_UpsertProject_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_UpsertProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProject", runtime.WithHTTPPathPattern("/project/{project.project}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetProject_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjects", runtime.WithHTTPPathPattern("/projects")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListProjects_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Waypoint_DestroyProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyProject", runtime.WithHTTPPathPattern("/project/{project.project}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_DestroyProject_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_DestroyProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetApplication", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetApplication_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Waypoint_UpsertApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertApplication", runtime.WithHTTPPathPattern("/project/{project.project}/application")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_UpsertApplication_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_UpsertApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListBuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/builds")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListBuilds_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListBuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListBuilds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListBuilds_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListBuilds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/build/{ref.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetBuild_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetBuild_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/build/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestBuild_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestBuild_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifacts")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListPushedArtifacts_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListPushedArtifacts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListPushedArtifacts_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListPushedArtifacts_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/artifact/{ref.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetPushedArtifact_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetPushedArtifact_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifact/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestPushedArtifact_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestPushedArtifact_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployments")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListDeployments_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListDeployments_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListDeployments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/deployment/{ref.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetDeployment_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetDeployment_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestDeployment", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployment/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestDeployment_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestDeployment", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployment/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestDeployment_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListInstances_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/instances/{deployment_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListInstances_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListInstances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListInstances_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/instances")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListInstances_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListInstances_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListInstances_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListInstances_2(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListInstances_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/releases")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListReleases_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListReleases_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListReleases_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListReleases_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/release/{ref.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetRelease_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetRelease_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/release/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestRelease_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestRelease_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetStatusReport", runtime.WithHTTPPathPattern("/release/by-id/{ref.id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-report/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_GetLatestStatusReport_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_GetLatestStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListStatusReports_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-reports")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListStatusReports_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListStatusReports_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Waypoint_ListStatusReports_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ListStatusReports_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ListStatusReports_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/deployment/{deployment.id}/status-report")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ExpediteStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Waypoint_ExpediteStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/release/{release.id}/status-report")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ExpediteStatusReport_1(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListDeployments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } - forward_Waypoint_ExpediteStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + msg, err := server.UI_ListDeployments(ctx, &protoReq) + return msg, metadata, err - }) +} - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ExpediteStatusReport_2(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } +var ( + filter_Waypoint_UI_ListReleases_0 = &utilities.DoubleArray{Encoding: map[string]int{"application": 0, "project": 1}, Base: []int{1, 3, 1, 0, 3, 0}, Check: []int{0, 1, 2, 3, 2, 5}} +) - forward_Waypoint_ExpediteStatusReport_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) +func request_Waypoint_UI_ListReleases_0(ctx context.Context, marshaler runtime.Marshaler, client WaypointClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListReleasesRequest + var metadata runtime.ServerMetadata - }) + var ( + val string + ok bool + err error + _ = err + ) - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_ExpediteStatusReport_3(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } + val, ok = pathParams["application.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") + } - forward_Waypoint_ExpediteStatusReport_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) + } - }) + val, ok = pathParams["application.application"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") + } - mux.Handle("POST", pattern_Waypoint_GetLogStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - }) + err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) + } - mux.Handle("POST", pattern_Waypoint_GetLogStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - }) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListReleases_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } - mux.Handle("POST", pattern_Waypoint_GetLogStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - }) + msg, err := client.UI_ListReleases(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - mux.Handle("POST", pattern_Waypoint_StartExecStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - }) +} - mux.Handle("PUT", pattern_Waypoint_SetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfig", runtime.WithHTTPPathPattern("/project/config")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_SetConfig_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } +func local_request_Waypoint_UI_ListReleases_0(ctx context.Context, marshaler runtime.Marshaler, server WaypointServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UI_ListReleasesRequest + var metadata runtime.ServerMetadata - forward_Waypoint_SetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + var ( + val string + ok bool + err error + _ = err + ) - }) + val, ok = pathParams["application.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.project") + } - mux.Handle("PUT", pattern_Waypoint_DeleteConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfig", runtime.WithHTTPPathPattern("/project/config/delete")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Waypoint_DeleteConfig_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } + err = runtime.PopulateFieldFromPath(&protoReq, "application.project", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.project", err) + } - forward_Waypoint_DeleteConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + val, ok = pathParams["application.application"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application.application") + } - }) + err = runtime.PopulateFieldFromPath(&protoReq, "application.application", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application.application", err) + } - mux.Handle("GET", pattern_Waypoint_GetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Waypoint_UI_ListReleases_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UI_ListReleases(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterWaypointHandlerServer registers the http handlers for service Waypoint to "mux". +// UnaryRPC :call WaypointServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWaypointHandlerFromEndpoint instead. +func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WaypointServer) error { + + mux.Handle("GET", pattern_Waypoint_GetVersionInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/config")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetVersionInfo", runtime.WithHTTPPathPattern("/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetConfig_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetVersionInfo_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12852,23 +9198,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetVersionInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListOIDCAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{project.project}/config")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", runtime.WithHTTPPathPattern("/oidc/methods")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetConfig_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListOIDCAuthMethods_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12876,23 +9222,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListOIDCAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfig_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetOIDCAuthURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/{application.application}/config")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/url")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetConfig_2(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetOIDCAuthURL_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12900,23 +9246,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetConfig_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOIDCAuthURL_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_SetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CompleteOIDCAuth_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfigSource", runtime.WithHTTPPathPattern("/config-source")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/complete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_SetConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_CompleteOIDCAuth_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12924,23 +9270,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_SetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CompleteOIDCAuth_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_DeleteConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_NoAuthRunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfigSource", runtime.WithHTTPPathPattern("/config-source/delete")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", runtime.WithHTTPPathPattern("/triggers/no-auth/{ref.id}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DeleteConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_NoAuthRunTrigger_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12948,23 +9294,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DeleteConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_NoAuthRunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfigSource", runtime.WithHTTPPathPattern("/config-source")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetUser_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12972,23 +9318,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostname")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateHostname_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetUser_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -12996,23 +9342,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateHostname_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListUsers", runtime.WithHTTPPathPattern("/users")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateHostname_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListUsers_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13020,23 +9366,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateHostname_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_UpdateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteHostname", runtime.WithHTTPPathPattern("/hostname/{hostname}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateUser", runtime.WithHTTPPathPattern("/user/{user.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DeleteHostname_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpdateUser_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13044,23 +9390,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DeleteHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpdateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListHostnames_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostnames")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListHostnames_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteUser_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13068,23 +9414,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListHostnames_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListHostnames_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListHostnames_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteUser_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13092,23 +9438,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListHostnames_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_QueueJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/QueueJob", runtime.WithHTTPPathPattern("/jobs/queue")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", runtime.WithHTTPPathPattern("/auth-method")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_QueueJob_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13116,23 +9462,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_QueueJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelJob", runtime.WithHTTPPathPattern("/jobs/cancel/{job_id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CancelJob_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13140,23 +9486,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CancelJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJob", runtime.WithHTTPPathPattern("/jobs/{job_id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAuthMethods", runtime.WithHTTPPathPattern("/auth-methods")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetJob_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListAuthMethods_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13164,23 +9510,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListJobs_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteAuthMethod_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13188,23 +9534,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListJobs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}/state/{jobState}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListJobs_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListWorkspaces_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13212,23 +9558,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListJobs_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/project/{project.project}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{project.project}/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListJobs_2(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListWorkspaces_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13236,23 +9582,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListJobs_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/state/{jobState}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListJobs_3(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListWorkspaces_2(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13260,23 +9606,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListJobs_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/runner/by-id/{targetRunner.id.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetWorkspace", runtime.WithHTTPPathPattern("/workspace/{workspace.workspace}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListJobs_4(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetWorkspace_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13284,23 +9630,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListJobs_4(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ValidateJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ValidateJob", runtime.WithHTTPPathPattern("/jobs/validateJob")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertWorkspace", runtime.WithHTTPPathPattern("/workspace")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ValidateJob_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertWorkspace_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13308,30 +9654,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ValidateJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) + forward_Waypoint_UpsertWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - mux.Handle("GET", pattern_Waypoint_GetJobStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return }) - mux.Handle("GET", pattern_Waypoint_GetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertProject", runtime.WithHTTPPathPattern("/project")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetRunner_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertProject_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13339,23 +9678,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListRunners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListRunners", runtime.WithHTTPPathPattern("/runners")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProject", runtime.WithHTTPPathPattern("/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListRunners_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetProject_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13363,23 +9702,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListRunners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_AdoptRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/AdoptRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/adopt")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjects", runtime.WithHTTPPathPattern("/projects")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_AdoptRunner_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListProjects_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13387,23 +9726,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_AdoptRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ForgetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DestroyProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ForgetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/forget")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyProject", runtime.WithHTTPPathPattern("/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ForgetRunner_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DestroyProject_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13411,23 +9750,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ForgetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DestroyProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetServerConfig", runtime.WithHTTPPathPattern("/server/config")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetApplication", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetServerConfig_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetApplication_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13435,23 +9774,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_SetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetServerConfig", runtime.WithHTTPPathPattern("/server/config")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertApplication", runtime.WithHTTPPathPattern("/project/{project.project}/application")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_SetServerConfig_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertApplication_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13459,23 +9798,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_SetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_DecodeToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListBuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DecodeToken", runtime.WithHTTPPathPattern("/token/decode")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/builds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DecodeToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListBuilds_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13483,23 +9822,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DecodeToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListBuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListBuilds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateInviteToken", runtime.WithHTTPPathPattern("/token/invite")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GenerateInviteToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListBuilds_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13507,23 +9846,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GenerateInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListBuilds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateLoginToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateLoginToken", runtime.WithHTTPPathPattern("/token/login")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/build/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GenerateLoginToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetBuild_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13531,23 +9870,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GenerateLoginToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateRunnerToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", runtime.WithHTTPPathPattern("/token/runner")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GenerateRunnerToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetBuild_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13555,23 +9894,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GenerateRunnerToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ConvertInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConvertInviteToken", runtime.WithHTTPPathPattern("/token/exchange")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/build/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ConvertInviteToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestBuild_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13579,23 +9918,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ConvertInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_WaypointHclFmt_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/WaypointHclFmt", runtime.WithHTTPPathPattern("/hcl/format")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_WaypointHclFmt_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestBuild_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13603,23 +9942,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_WaypointHclFmt_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/runner/on-demand")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListPushedArtifacts_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13627,23 +9966,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPushedArtifacts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-id/{config.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetOnDemandRunnerConfig_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListPushedArtifacts_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13651,23 +9990,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPushedArtifacts_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-name/{config.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/artifact/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetOnDemandRunnerConfig_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetPushedArtifact_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13675,23 +10014,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetOnDemandRunnerConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListOnDemandRunnerConfigs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", runtime.WithHTTPPathPattern("/on-demand-runners")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListOnDemandRunnerConfigs_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetPushedArtifact_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13699,23 +10038,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListOnDemandRunnerConfigs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifact/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTask_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestPushedArtifact_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13723,23 +10062,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTask_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestPushedArtifact_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13747,23 +10086,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTask", runtime.WithHTTPPathPattern("/tasks")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListTask_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListDeployments_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13771,23 +10110,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/{ref.id}/cancel")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CancelTask_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListDeployments_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13795,23 +10134,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CancelTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListDeployments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}/cancel")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/deployment/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CancelTask_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetDeployment_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13819,23 +10158,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CancelTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertTrigger", runtime.WithHTTPPathPattern("/triggers")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UpsertTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetDeployment_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13843,23 +10182,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UpsertTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/instances/{deployment_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListInstances_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13867,23 +10206,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_GetTrigger_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/instances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTrigger_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListInstances_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13891,23 +10230,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTrigger_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/triggers")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListTriggers_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListInstances_2(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13915,23 +10254,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListTriggers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{project.project}/triggers")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListTriggers_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListReleases_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13939,23 +10278,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListTriggers_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListReleases_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/triggers")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListTriggers_2(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListReleases_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13963,23 +10302,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListTriggers_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListReleases_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/release/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListTriggers_3(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetRelease_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -13987,23 +10326,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListTriggers_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_RunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_RunTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetRelease_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14011,23 +10350,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_RunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_RunPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/release/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_RunPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestRelease_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14035,23 +10374,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_RunPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_RunPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_RunPipeline_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestRelease_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14059,23 +10398,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_RunPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetStatusReport", runtime.WithHTTPPathPattern("/release/by-id/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14083,23 +10422,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-report/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetPipeline_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14107,23 +10446,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetPipelineRun_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestStatusReport_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14131,23 +10470,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListStatusReports_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run/{sequence}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-reports")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetPipelineRun_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListStatusReports_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14155,23 +10494,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListStatusReports_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListStatusReports_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetLatestPipelineRun_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListStatusReports_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14179,23 +10518,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetLatestPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListStatusReports_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/latest-run")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/deployment/{deployment.id}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetLatestPipelineRun_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ExpediteStatusReport_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14203,23 +10542,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetLatestPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelines", runtime.WithHTTPPathPattern("/project/{project.project}/pipelines")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/release/{release.id}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListPipelines_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ExpediteStatusReport_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14227,23 +10566,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListPipelineRuns_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ExpediteStatusReport_2(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14251,23 +10590,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/runs")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListPipelineRuns_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ExpediteStatusReport_3(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14275,23 +10614,51 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListPipelineRuns_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ConfigSyncPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetLogStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_Waypoint_GetLogStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_Waypoint_GetLogStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_Waypoint_StartExecStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("PUT", pattern_Waypoint_SetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", runtime.WithHTTPPathPattern("/project/{project.project}/config-sync-pipeline")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfig", runtime.WithHTTPPathPattern("/project/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ConfigSyncPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_SetConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14299,23 +10666,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ConfigSyncPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_DeleteConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateProjectTemplate", runtime.WithHTTPPathPattern("/project-template")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfig", runtime.WithHTTPPathPattern("/project/config/delete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateProjectTemplate_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14323,23 +10690,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UpdateProjectTemplate_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14347,23 +10714,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UpdateProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{project.project}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetProjectTemplate_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetConfig_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14371,23 +10738,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetProjectTemplate_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProjectTemplate", runtime.WithHTTPPathPattern("/project-template/by-name/{project_template.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/{application.application}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetProjectTemplate_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetConfig_2(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14395,23 +10762,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetProjectTemplate_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_SetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfigSource", runtime.WithHTTPPathPattern("/config-source")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DeleteProjectTemplate_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_SetConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14419,23 +10786,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DeleteProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListProjectTemplates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_DeleteConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjectTemplates", runtime.WithHTTPPathPattern("/project-templates")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfigSource", runtime.WithHTTPPathPattern("/config-source/delete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListProjectTemplates_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14443,23 +10810,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListProjectTemplates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateProjectFromTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateProjectFromTemplate", runtime.WithHTTPPathPattern("/project/from-template")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfigSource", runtime.WithHTTPPathPattern("/config-source")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateProjectFromTemplate_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetConfigSource_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14467,23 +10834,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateProjectFromTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTFCRunStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CreateHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTFCRunStatus", runtime.WithHTTPPathPattern("/project/{project.project}/tfc-run-status")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostname")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTFCRunStatus_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_CreateHostname_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14491,23 +10858,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTFCRunStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CreateHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CreateHostname_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateAddOnDefinition_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_CreateHostname_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14515,23 +10882,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CreateHostname_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-id/{add_on_definition.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteHostname", runtime.WithHTTPPathPattern("/hostname/{hostname}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetAddOnDefinition_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DeleteHostname_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14539,23 +10906,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOnDefinition_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListHostnames_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-name/{add_on_definition.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostnames")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetAddOnDefinition_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListHostnames_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14563,23 +10930,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetAddOnDefinition_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListHostnames_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListAddOnDefinitions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListHostnames_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAddOnDefinitions", runtime.WithHTTPPathPattern("/add-on-definitions")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListAddOnDefinitions_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListHostnames_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14587,23 +10954,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListAddOnDefinitions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListHostnames_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_QueueJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/QueueJob", runtime.WithHTTPPathPattern("/jobs/queue")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UpdateAddOnDefinition_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_QueueJob_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14611,23 +10978,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UpdateAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_QueueJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-id/{add_on_definition.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelJob", runtime.WithHTTPPathPattern("/jobs/cancel/{job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DeleteAddOnDefinition_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_CancelJob_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14635,23 +11002,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DeleteAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteAddOnDefinition_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-name/{add_on_definition.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJob", runtime.WithHTTPPathPattern("/jobs/{job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DeleteAddOnDefinition_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetJob_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14659,23 +11026,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DeleteAddOnDefinition_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateAddOn", runtime.WithHTTPPathPattern("/add-on")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_CreateAddOn_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListJobs_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14683,23 +11050,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_CreateAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOn", runtime.WithHTTPPathPattern("/add-on/{add_on.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}/state/{jobState}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetAddOn_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListJobs_1(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14707,23 +11074,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateAddOn", runtime.WithHTTPPathPattern("/add-on")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UpdateAddOn_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListJobs_2(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14731,23 +11098,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UpdateAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DestroyAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyAddOn", runtime.WithHTTPPathPattern("/add-on/{add_on.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/state/{jobState}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_DestroyAddOn_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListJobs_3(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14755,23 +11122,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_DestroyAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListAddOns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAddOns", runtime.WithHTTPPathPattern("/add-ons")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/runner/by-id/{targetRunner.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_ListAddOns_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListJobs_4(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14779,23 +11146,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_ListAddOns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_4(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTFRunStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ValidateJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTFRunStatus", runtime.WithHTTPPathPattern("/tf-run-status/{workspace_name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ValidateJob", runtime.WithHTTPPathPattern("/jobs/validateJob")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_GetTFRunStatus_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ValidateJob_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14803,23 +11170,30 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_GetTFRunStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ValidateJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetJobStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("GET", pattern_Waypoint_GetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListProjects", runtime.WithHTTPPathPattern("/ui/projects")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListProjects_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetRunner_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14827,23 +11201,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListRunners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetProject", runtime.WithHTTPPathPattern("/ui/project/{project.project}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListRunners", runtime.WithHTTPPathPattern("/runners")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_GetProject_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ListRunners_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14851,23 +11225,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListRunners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_AdoptRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListPipelines", runtime.WithHTTPPathPattern("/ui/project/{project.project}/pipelines")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/AdoptRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/adopt")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListPipelines_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_AdoptRunner_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14875,23 +11249,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_AdoptRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ForgetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListPipelineRuns", runtime.WithHTTPPathPattern("/ui/project/{pipeline.owner.project.project}/pipelines/{pipeline.owner.pipeline_name}/runs")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ForgetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/forget")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListPipelineRuns_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ForgetRunner_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14899,23 +11273,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ForgetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetPipelineRun", runtime.WithHTTPPathPattern("/ui/pipeline/{pipeline.id}/run/{sequence}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetServerConfig", runtime.WithHTTPPathPattern("/server/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_GetPipelineRun_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GetServerConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14923,23 +11297,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_SetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetPipelineRun", runtime.WithHTTPPathPattern("/ui/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetServerConfig", runtime.WithHTTPPathPattern("/server/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_GetPipelineRun_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_SetServerConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14947,23 +11321,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_DecodeToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListDeployments", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/deployments")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DecodeToken", runtime.WithHTTPPathPattern("/token/decode")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListDeployments_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_DecodeToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14971,23 +11345,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DecodeToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetDeployment", runtime.WithHTTPPathPattern("/ui/deployment/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateInviteToken", runtime.WithHTTPPathPattern("/token/invite")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_GetDeployment_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GenerateInviteToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -14995,23 +11369,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateLoginToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetDeployment", runtime.WithHTTPPathPattern("/ui/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateLoginToken", runtime.WithHTTPPathPattern("/token/login")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_GetDeployment_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GenerateLoginToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -15019,23 +11393,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateLoginToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateRunnerToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListReleases", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/releases")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", runtime.WithHTTPPathPattern("/token/runner")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListReleases_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_GenerateRunnerToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -15043,23 +11417,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateRunnerToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ConvertInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListEvents", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/events")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConvertInviteToken", runtime.WithHTTPPathPattern("/token/exchange")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListEvents_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_ConvertInviteToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -15067,23 +11441,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListEvents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ConvertInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListEvents_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_WaypointHclFmt_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListEvents", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/events")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/WaypointHclFmt", runtime.WithHTTPPathPattern("/hcl/format")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_UI_ListEvents_1(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_WaypointHclFmt_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -15091,23 +11465,23 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_UI_ListEvents_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_WaypointHclFmt_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_INTERNAL_AdditionalMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/INTERNAL_AdditionalMessages", runtime.WithHTTPPathPattern("/ui/events/INTERNAL_AdditionalMessages")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/runner/on-demand")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Waypoint_INTERNAL_AdditionalMessages_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -15115,3492 +11489,3588 @@ func RegisterWaypointHandlerServer(ctx context.Context, mux *runtime.ServeMux, s return } - forward_Waypoint_INTERNAL_AdditionalMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - return nil -} - -// RegisterWaypointHandlerFromEndpoint is same as RegisterWaypointHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterWaypointHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterWaypointHandler(ctx, mux, conn) -} - -// RegisterWaypointHandler registers the http handlers for service Waypoint to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterWaypointHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterWaypointHandlerClient(ctx, mux, NewWaypointClient(conn)) -} - -// RegisterWaypointHandlerClient registers the http handlers for service Waypoint -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WaypointClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WaypointClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "WaypointClient" to call the correct interceptors. -func RegisterWaypointHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WaypointClient) error { - - mux.Handle("GET", pattern_Waypoint_GetVersionInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetVersionInfo", runtime.WithHTTPPathPattern("/version")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-id/{config.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetVersionInfo_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetOnDemandRunnerConfig_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetVersionInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListOIDCAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", runtime.WithHTTPPathPattern("/oidc/methods")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-name/{config.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListOIDCAuthMethods_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetOnDemandRunnerConfig_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListOIDCAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOnDemandRunnerConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GetOIDCAuthURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListOnDemandRunnerConfigs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/url")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", runtime.WithHTTPPathPattern("/on-demand-runners")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetOIDCAuthURL_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListOnDemandRunnerConfigs_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetOIDCAuthURL_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListOnDemandRunnerConfigs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CompleteOIDCAuth_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/complete")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CompleteOIDCAuth_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetTask_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CompleteOIDCAuth_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_NoAuthRunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", runtime.WithHTTPPathPattern("/triggers/no-auth/{ref.id}/run")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_NoAuthRunTrigger_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetTask_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_NoAuthRunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTask", runtime.WithHTTPPathPattern("/tasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetUser_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListTask_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/{ref.id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetUser_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_CancelTask_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListUsers", runtime.WithHTTPPathPattern("/users")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListUsers_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_CancelTask_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateUser", runtime.WithHTTPPathPattern("/user/{user.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertTrigger", runtime.WithHTTPPathPattern("/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpdateUser_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_UpsertTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpdateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteUser_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_GetTrigger_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteUser_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetTrigger_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTrigger_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", runtime.WithHTTPPathPattern("/auth-method")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListTriggers_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{project.project}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListTriggers_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAuthMethods", runtime.WithHTTPPathPattern("/auth-methods")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListAuthMethods_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListTriggers_2(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListTriggers_3(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_RunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/workspaces")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListWorkspaces_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_RunTrigger_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListWorkspaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_RunPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{project.project}/workspaces")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListWorkspaces_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_RunPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListWorkspaces_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListWorkspaces_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_RunPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspaces")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListWorkspaces_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_RunPipeline_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListWorkspaces_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetWorkspace", runtime.WithHTTPPathPattern("/workspace/{workspace.workspace}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetWorkspace_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertWorkspace", runtime.WithHTTPPathPattern("/workspace")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertWorkspace_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetPipeline_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertProject", runtime.WithHTTPPathPattern("/project")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertProject_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetPipelineRun_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProject", runtime.WithHTTPPathPattern("/project/{project.project}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run/{sequence}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetProject_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetPipelineRun_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjects", runtime.WithHTTPPathPattern("/projects")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListProjects_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestPipelineRun_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DestroyProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyProject", runtime.WithHTTPPathPattern("/project/{project.project}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/latest-run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DestroyProject_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_GetLatestPipelineRun_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DestroyProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetApplication", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelines", runtime.WithHTTPPathPattern("/project/{project.project}/pipelines")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetApplication_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListPipelines_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertApplication", runtime.WithHTTPPathPattern("/project/{project.project}/application")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertApplication_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListPipelineRuns_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListBuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/builds")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/runs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListBuilds_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ListPipelineRuns_1(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListBuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelineRuns_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListBuilds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ConfigSyncPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", runtime.WithHTTPPathPattern("/project/{project.project}/config-sync-pipeline")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListBuilds_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_ConfigSyncPipeline_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListBuilds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ConfigSyncPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/build/{ref.id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListProjects", runtime.WithHTTPPathPattern("/v1/ui/projects")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetBuild_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_UI_ListProjects_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetProject", runtime.WithHTTPPathPattern("/ui/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetBuild_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_UI_GetProject_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/build/latest")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListDeployments", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestBuild_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_UI_ListDeployments_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListReleases", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestBuild_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Waypoint_UI_ListReleases_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Waypoint_UI_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterWaypointHandlerFromEndpoint is same as RegisterWaypointHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterWaypointHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } return } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() - forward_Waypoint_GetLatestBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + return RegisterWaypointHandler(ctx, mux, conn) +} - }) +// RegisterWaypointHandler registers the http handlers for service Waypoint to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterWaypointHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterWaypointHandlerClient(ctx, mux, NewWaypointClient(conn)) +} - mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { +// RegisterWaypointHandlerClient registers the http handlers for service Waypoint +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WaypointClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WaypointClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "WaypointClient" to call the correct interceptors. +func RegisterWaypointHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WaypointClient) error { + + mux.Handle("GET", pattern_Waypoint_GetVersionInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetVersionInfo", runtime.WithHTTPPathPattern("/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListPushedArtifacts_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetVersionInfo_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListPushedArtifacts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetVersionInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListOIDCAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", runtime.WithHTTPPathPattern("/oidc/methods")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListPushedArtifacts_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListOIDCAuthMethods_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListPushedArtifacts_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListOIDCAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetOIDCAuthURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/artifact/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/url")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPushedArtifact_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetOIDCAuthURL_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOIDCAuthURL_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CompleteOIDCAuth_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", runtime.WithHTTPPathPattern("/oidc/{auth_method.name}/complete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPushedArtifact_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CompleteOIDCAuth_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CompleteOIDCAuth_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_NoAuthRunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifact/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", runtime.WithHTTPPathPattern("/triggers/no-auth/{ref.id}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestPushedArtifact_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_NoAuthRunTrigger_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_NoAuthRunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestPushedArtifact_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetUser_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployments")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListDeployments_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetUser_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListUsers", runtime.WithHTTPPathPattern("/users")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListDeployments_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListUsers_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListDeployments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_UpdateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/deployment/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateUser", runtime.WithHTTPPathPattern("/user/{user.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetDeployment_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpdateUser_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpdateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-id/{user.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetDeployment_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteUser_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteUser_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestDeployment", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployment/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteUser", runtime.WithHTTPPathPattern("/user/by-username/{user.username.username}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestDeployment_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteUser_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteUser_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestDeployment", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployment/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", runtime.WithHTTPPathPattern("/auth-method")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestDeployment_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListInstances_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/instances/{deployment_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListInstances_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListInstances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListInstances_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListAuthMethods_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/instances")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAuthMethods", runtime.WithHTTPPathPattern("/auth-methods")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListInstances_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListAuthMethods_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListInstances_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListAuthMethods_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListInstances_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteAuthMethod_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", runtime.WithHTTPPathPattern("/auth-method/{auth_method.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListInstances_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteAuthMethod_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListInstances_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteAuthMethod_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/releases")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListReleases_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListWorkspaces_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListReleases_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{project.project}/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListReleases_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListWorkspaces_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListReleases_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListWorkspaces_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/release/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListWorkspaces", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetRelease_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListWorkspaces_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListWorkspaces_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetWorkspace", runtime.WithHTTPPathPattern("/workspace/{workspace.workspace}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetRelease_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetWorkspace_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/release/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertWorkspace", runtime.WithHTTPPathPattern("/workspace")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestRelease_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertWorkspace_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertWorkspace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertProject", runtime.WithHTTPPathPattern("/project")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestRelease_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertProject_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetStatusReport", runtime.WithHTTPPathPattern("/release/by-id/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProject", runtime.WithHTTPPathPattern("/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetProject_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-report/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjects", runtime.WithHTTPPathPattern("/projects")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListProjects_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DestroyProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyProject", runtime.WithHTTPPathPattern("/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestStatusReport_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DestroyProject_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DestroyProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListStatusReports_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-reports")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetApplication", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListStatusReports_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetApplication_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListStatusReports_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListStatusReports_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertApplication", runtime.WithHTTPPathPattern("/project/{project.project}/application")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListStatusReports_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertApplication_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListStatusReports_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListBuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/deployment/{deployment.id}/status-report")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/builds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ExpediteStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListBuilds_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ExpediteStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListBuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListBuilds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/release/{release.id}/status-report")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListBuilds", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ExpediteStatusReport_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListBuilds_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ExpediteStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListBuilds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/build/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ExpediteStatusReport_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetBuild_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ExpediteStatusReport_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetBuild", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ExpediteStatusReport_3(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetBuild_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ExpediteStatusReport_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GetLogStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestBuild_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/deployment/{deployment_id}/logs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/build/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLogStream_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestBuild_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLogStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestBuild_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GetLogStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestBuild_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/logs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestBuild", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLogStream_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestBuild_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLogStream_1(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestBuild_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GetLogStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/logs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLogStream_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListPushedArtifacts_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLogStream_2(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPushedArtifacts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_StartExecStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPushedArtifacts_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/StartExecStream", runtime.WithHTTPPathPattern("/exec")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_StartExecStream_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListPushedArtifacts_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_StartExecStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPushedArtifacts_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_SetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfig", runtime.WithHTTPPathPattern("/project/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/artifact/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_SetConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPushedArtifact_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_SetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_DeleteConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfig", runtime.WithHTTPPathPattern("/project/config/delete")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPushedArtifact_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/artifact/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestPushedArtifact_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPushedArtifact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPushedArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{project.project}/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetConfig_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestPushedArtifact_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPushedArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfig_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/{application.application}/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetConfig_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListDeployments_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetConfig_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_SetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfigSource", runtime.WithHTTPPathPattern("/config-source")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListDeployments", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_SetConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListDeployments_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_SetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListDeployments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_DeleteConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfigSource", runtime.WithHTTPPathPattern("/config-source/delete")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/deployment/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetDeployment_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfigSource", runtime.WithHTTPPathPattern("/config-source")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetDeployment", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetDeployment_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostname")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/instances/{deployment_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateHostname_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListInstances_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateHostname_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/instances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateHostname_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListInstances_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateHostname_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListInstances_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteHostname", runtime.WithHTTPPathPattern("/hostname/{hostname}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListInstances", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteHostname_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListInstances_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListInstances_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListHostnames_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostnames")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListHostnames_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListReleases_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListHostnames_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListHostnames_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListReleases_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListReleases", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListHostnames_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListReleases_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListHostnames_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListReleases_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_QueueJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/QueueJob", runtime.WithHTTPPathPattern("/jobs/queue")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/release/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_QueueJob_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetRelease_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_QueueJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelJob", runtime.WithHTTPPathPattern("/jobs/cancel/{job_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRelease", runtime.WithHTTPPathPattern("/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CancelJob_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetRelease_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CancelJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestRelease_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJob", runtime.WithHTTPPathPattern("/jobs/{job_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/release/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetJob_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestRelease_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestRelease_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestRelease_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestRelease", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListJobs_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestRelease_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListJobs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestRelease_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}/state/{jobState}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetStatusReport", runtime.WithHTTPPathPattern("/release/by-id/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListJobs_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListJobs_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/project/{project.project}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-report/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListJobs_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListJobs_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/state/{jobState}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListJobs_3(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestStatusReport_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListJobs_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListJobs_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListStatusReports_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/runner/by-id/{targetRunner.id.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/status-reports")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListJobs_4(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListStatusReports_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListJobs_4(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListStatusReports_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ValidateJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListStatusReports_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ValidateJob", runtime.WithHTTPPathPattern("/jobs/validateJob")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListStatusReports", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ValidateJob_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListStatusReports_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ValidateJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListStatusReports_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetJobStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJobStream", runtime.WithHTTPPathPattern("/jobs/stream/{job_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/deployment/{deployment.id}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetJobStream_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ExpediteStatusReport_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetJobStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/release/{release.id}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetRunner_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ExpediteStatusReport_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListRunners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListRunners", runtime.WithHTTPPathPattern("/runners")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListRunners_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ExpediteStatusReport_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListRunners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_AdoptRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_ExpediteStatusReport_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/AdoptRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/adopt")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", runtime.WithHTTPPathPattern("/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_AdoptRunner_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ExpediteStatusReport_3(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_AdoptRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ExpediteStatusReport_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ForgetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetLogStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ForgetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/forget")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/deployment/{deployment_id}/logs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ForgetRunner_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLogStream_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ForgetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLogStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetLogStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetServerConfig", runtime.WithHTTPPathPattern("/server/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/logs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetServerConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLogStream_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLogStream_1(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_SetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GetLogStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetServerConfig", runtime.WithHTTPPathPattern("/server/config")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLogStream", runtime.WithHTTPPathPattern("/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/logs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_SetServerConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLogStream_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_SetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLogStream_2(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_DecodeToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_StartExecStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DecodeToken", runtime.WithHTTPPathPattern("/token/decode")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/StartExecStream", runtime.WithHTTPPathPattern("/exec")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DecodeToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_StartExecStream_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DecodeToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_StartExecStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_SetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateInviteToken", runtime.WithHTTPPathPattern("/token/invite")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfig", runtime.WithHTTPPathPattern("/project/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GenerateInviteToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_SetConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GenerateInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateLoginToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_DeleteConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateLoginToken", runtime.WithHTTPPathPattern("/token/login")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfig", runtime.WithHTTPPathPattern("/project/config/delete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GenerateLoginToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GenerateLoginToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_GenerateRunnerToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", runtime.WithHTTPPathPattern("/token/runner")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GenerateRunnerToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GenerateRunnerToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ConvertInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConvertInviteToken", runtime.WithHTTPPathPattern("/token/exchange")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{project.project}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ConvertInviteToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetConfig_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ConvertInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_WaypointHclFmt_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfig_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/WaypointHclFmt", runtime.WithHTTPPathPattern("/hcl/format")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfig", runtime.WithHTTPPathPattern("/project/{application.project}/{application.application}/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_WaypointHclFmt_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetConfig_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_WaypointHclFmt_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfig_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_SetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/runner/on-demand")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetConfigSource", runtime.WithHTTPPathPattern("/config-source")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_SetConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_DeleteConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-id/{config.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteConfigSource", runtime.WithHTTPPathPattern("/config-source/delete")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetOnDemandRunnerConfig_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetConfigSource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-name/{config.name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetConfigSource", runtime.WithHTTPPathPattern("/config-source")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetOnDemandRunnerConfig_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetConfigSource_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetOnDemandRunnerConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetConfigSource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListOnDemandRunnerConfigs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CreateHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", runtime.WithHTTPPathPattern("/on-demand-runners")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostname")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListOnDemandRunnerConfigs_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CreateHostname_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListOnDemandRunnerConfigs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CreateHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_CreateHostname_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateHostname", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTask_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CreateHostname_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CreateHostname_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_DeleteHostname_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteHostname", runtime.WithHTTPPathPattern("/hostname/{hostname}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTask_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DeleteHostname_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DeleteHostname_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListHostnames_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTask", runtime.WithHTTPPathPattern("/tasks")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/hostnames")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListTask_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListHostnames_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListHostnames_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListHostnames_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/{ref.id}/cancel")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListHostnames", runtime.WithHTTPPathPattern("/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CancelTask_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListHostnames_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CancelTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListHostnames_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_CancelTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_QueueJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}/cancel")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/QueueJob", runtime.WithHTTPPathPattern("/jobs/queue")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CancelTask_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_QueueJob_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CancelTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_QueueJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_UpsertTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertTrigger", runtime.WithHTTPPathPattern("/triggers")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelJob", runtime.WithHTTPPathPattern("/jobs/cancel/{job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpsertTrigger_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CancelJob_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpsertTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJob", runtime.WithHTTPPathPattern("/jobs/{job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTrigger_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetJob_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_GetTrigger_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTrigger_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListJobs_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTrigger_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/triggers")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/workspace/{workspace.workspace}/state/{jobState}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListTriggers_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListJobs_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListTriggers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{project.project}/triggers")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListTriggers_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListJobs_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListTriggers_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/triggers")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/state/{jobState}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListTriggers_2(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListJobs_3(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListTriggers_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListTriggers_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListJobs_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListJobs", runtime.WithHTTPPathPattern("/jobs/runner/by-id/{targetRunner.id.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListTriggers_3(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListJobs_4(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListTriggers_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListJobs_4(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_RunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ValidateJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ValidateJob", runtime.WithHTTPPathPattern("/jobs/validateJob")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_RunTrigger_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ValidateJob_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_RunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ValidateJob_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_RunPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetJobStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetJobStream", runtime.WithHTTPPathPattern("/jobs/stream/{job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_RunPipeline_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetJobStream_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_RunPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetJobStream_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_RunPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_RunPipeline_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetRunner_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_RunPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListRunners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListRunners", runtime.WithHTTPPathPattern("/runners")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPipeline_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListRunners_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListRunners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_AdoptRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/AdoptRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/adopt")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPipeline_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_AdoptRunner_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_AdoptRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ForgetRunner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ForgetRunner", runtime.WithHTTPPathPattern("/runner/{runner_id}/forget")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPipelineRun_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ForgetRunner_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ForgetRunner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run/{sequence}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetServerConfig", runtime.WithHTTPPathPattern("/server/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetPipelineRun_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetServerConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_SetServerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/SetServerConfig", runtime.WithHTTPPathPattern("/server/config")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestPipelineRun_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_SetServerConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_SetServerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_DecodeToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/latest-run")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DecodeToken", runtime.WithHTTPPathPattern("/token/decode")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetLatestPipelineRun_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_DecodeToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetLatestPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_DecodeToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelines", runtime.WithHTTPPathPattern("/project/{project.project}/pipelines")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateInviteToken", runtime.WithHTTPPathPattern("/token/invite")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListPipelines_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GenerateInviteToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateLoginToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateLoginToken", runtime.WithHTTPPathPattern("/token/login")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListPipelineRuns_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GenerateLoginToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateLoginToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_GenerateRunnerToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/runs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", runtime.WithHTTPPathPattern("/token/runner")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListPipelineRuns_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GenerateRunnerToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListPipelineRuns_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GenerateRunnerToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_ConfigSyncPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ConvertInviteToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", runtime.WithHTTPPathPattern("/project/{project.project}/config-sync-pipeline")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConvertInviteToken", runtime.WithHTTPPathPattern("/token/exchange")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ConfigSyncPipeline_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ConvertInviteToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ConfigSyncPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ConvertInviteToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_WaypointHclFmt_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateProjectTemplate", runtime.WithHTTPPathPattern("/project-template")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/WaypointHclFmt", runtime.WithHTTPPathPattern("/hcl/format")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateProjectTemplate_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_WaypointHclFmt_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_WaypointHclFmt_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/runner/on-demand")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpdateProjectTemplate_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpdateProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-id/{config.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetProjectTemplate_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetOnDemandRunnerConfig_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOnDemandRunnerConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetProjectTemplate_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetOnDemandRunnerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetProjectTemplate", runtime.WithHTTPPathPattern("/project-template/by-name/{project_template.name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", runtime.WithHTTPPathPattern("/on-demand-runner/by-name/{config.name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetProjectTemplate_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetOnDemandRunnerConfig_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetProjectTemplate_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetOnDemandRunnerConfig_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteProjectTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListOnDemandRunnerConfigs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteProjectTemplate", runtime.WithHTTPPathPattern("/project-template/{project_template.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", runtime.WithHTTPPathPattern("/on-demand-runners")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteProjectTemplate_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListOnDemandRunnerConfigs_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteProjectTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListOnDemandRunnerConfigs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListProjectTemplates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListProjectTemplates", runtime.WithHTTPPathPattern("/project-templates")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListProjectTemplates_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetTask_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListProjectTemplates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateProjectFromTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateProjectFromTemplate", runtime.WithHTTPPathPattern("/project/from-template")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateProjectFromTemplate_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetTask_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateProjectFromTemplate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTFCRunStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTFCRunStatus", runtime.WithHTTPPathPattern("/project/{project.project}/tfc-run-status")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTask", runtime.WithHTTPPathPattern("/tasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTFCRunStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListTask_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTFCRunStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/{ref.id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateAddOnDefinition_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CancelTask_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_CancelTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-id/{add_on_definition.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CancelTask", runtime.WithHTTPPathPattern("/task/by-job/{ref.job_id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetAddOnDefinition_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_CancelTask_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_CancelTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOnDefinition_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_UpsertTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-name/{add_on_definition.name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpsertTrigger", runtime.WithHTTPPathPattern("/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetAddOnDefinition_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UpsertTrigger_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetAddOnDefinition_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UpsertTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListAddOnDefinitions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAddOnDefinitions", runtime.WithHTTPPathPattern("/add-on-definitions")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListAddOnDefinitions_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetTrigger_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListAddOnDefinitions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_Waypoint_GetTrigger_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpdateAddOnDefinition_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetTrigger_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpdateAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetTrigger_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteAddOnDefinition_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-id/{add_on_definition.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteAddOnDefinition_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListTriggers_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteAddOnDefinition_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DeleteAddOnDefinition_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DeleteAddOnDefinition", runtime.WithHTTPPathPattern("/add-on-definition/by-name/{add_on_definition.name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{project.project}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DeleteAddOnDefinition_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListTriggers_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DeleteAddOnDefinition_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Waypoint_CreateAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/CreateAddOn", runtime.WithHTTPPathPattern("/add-on")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_CreateAddOn_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListTriggers_2(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_CreateAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListTriggers_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetAddOn", runtime.WithHTTPPathPattern("/add-on/{add_on.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListTriggers", runtime.WithHTTPPathPattern("/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetAddOn_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListTriggers_3(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListTriggers_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Waypoint_UpdateAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Waypoint_RunTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UpdateAddOn", runtime.WithHTTPPathPattern("/add-on")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunTrigger", runtime.WithHTTPPathPattern("/trigger/{ref.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UpdateAddOn_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_RunTrigger_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UpdateAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunTrigger_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_Waypoint_DestroyAddOn_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_RunPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/DestroyAddOn", runtime.WithHTTPPathPattern("/add-on/{add_on.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_DestroyAddOn_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_RunPipeline_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_DestroyAddOn_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_ListAddOns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_RunPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListAddOns", runtime.WithHTTPPathPattern("/add-ons")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/RunPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_ListAddOns_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_RunPipeline_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_ListAddOns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_RunPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_GetTFRunStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetTFRunStatus", runtime.WithHTTPPathPattern("/tf-run-status/{workspace_name}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_GetTFRunStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPipeline_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_GetTFRunStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipeline_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListProjects", runtime.WithHTTPPathPattern("/ui/projects")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipeline", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListProjects_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPipeline_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipeline_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetProject", runtime.WithHTTPPathPattern("/ui/project/{project.project}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_GetProject_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPipelineRun_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListPipelines", runtime.WithHTTPPathPattern("/ui/project/{project.project}/pipelines")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/run/{sequence}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListPipelines_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetPipelineRun_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListPipelineRuns", runtime.WithHTTPPathPattern("/ui/project/{pipeline.owner.project.project}/pipelines/{pipeline.owner.pipeline_name}/runs")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListPipelineRuns_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestPipelineRun_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetPipelineRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_GetLatestPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetPipelineRun", runtime.WithHTTPPathPattern("/ui/pipeline/{pipeline.id}/run/{sequence}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/latest-run")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_GetPipelineRun_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_GetLatestPipelineRun_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_GetPipelineRun_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_GetLatestPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetPipelineRun_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetPipelineRun", runtime.WithHTTPPathPattern("/ui/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelines", runtime.WithHTTPPathPattern("/project/{project.project}/pipelines")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_GetPipelineRun_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListPipelines_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_GetPipelineRun_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelines_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListDeployments", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/deployments")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListDeployments_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListPipelineRuns_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelineRuns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_ListPipelineRuns_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetDeployment", runtime.WithHTTPPathPattern("/ui/deployment/{ref.id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", runtime.WithHTTPPathPattern("/pipeline/{pipeline.id}/runs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_GetDeployment_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ListPipelineRuns_1(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_GetDeployment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ListPipelineRuns_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_GetDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Waypoint_ConfigSyncPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetDeployment", runtime.WithHTTPPathPattern("/ui/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", runtime.WithHTTPPathPattern("/project/{project.project}/config-sync-pipeline")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_GetDeployment_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_ConfigSyncPipeline_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_GetDeployment_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_ConfigSyncPipeline_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListReleases", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/releases")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListProjects", runtime.WithHTTPPathPattern("/v1/ui/projects")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListReleases_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UI_ListProjects_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListEvents", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/events")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_GetProject", runtime.WithHTTPPathPattern("/ui/project/{project.project}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListEvents_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UI_GetProject_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListEvents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_GetProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_UI_ListEvents_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListEvents", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/events")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListDeployments", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/deployments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_UI_ListEvents_1(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UI_ListDeployments_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_UI_ListEvents_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_ListDeployments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Waypoint_INTERNAL_AdditionalMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Waypoint_UI_ListReleases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/INTERNAL_AdditionalMessages", runtime.WithHTTPPathPattern("/ui/events/INTERNAL_AdditionalMessages")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/hashicorp.waypoint.Waypoint/UI_ListReleases", runtime.WithHTTPPathPattern("/ui/project/{application.project}/application/{application.application}/releases")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Waypoint_INTERNAL_AdditionalMessages_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Waypoint_UI_ListReleases_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Waypoint_INTERNAL_AdditionalMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Waypoint_UI_ListReleases_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -18692,10 +15162,6 @@ var ( pattern_Waypoint_GetDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"project", "ref.sequence.application.project", "application", "ref.sequence.application.application", "deployment", "ref.sequence.number"}, "")) - pattern_Waypoint_GetLatestDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"project", "application.project", "application", "application.application", "deployment", "latest"}, "")) - - pattern_Waypoint_GetLatestDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 2, 7}, []string{"project", "application.project", "application", "application.application", "workspace", "workspace.workspace", "deployment", "latest"}, "")) - pattern_Waypoint_ListInstances_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"instances", "deployment_id"}, "")) pattern_Waypoint_ListInstances_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"project", "application.application.project", "application", "application.application.application", "instances"}, "")) @@ -18868,73 +15334,13 @@ var ( pattern_Waypoint_ConfigSyncPipeline_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"project", "project.project", "config-sync-pipeline"}, "")) - pattern_Waypoint_CreateProjectTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"project-template"}, "")) - - pattern_Waypoint_UpdateProjectTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"project-template", "project_template.id"}, "")) - - pattern_Waypoint_GetProjectTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"project-template", "project_template.id"}, "")) - - pattern_Waypoint_GetProjectTemplate_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"project-template", "by-name", "project_template.name"}, "")) - - pattern_Waypoint_DeleteProjectTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"project-template", "project_template.id"}, "")) - - pattern_Waypoint_ListProjectTemplates_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"project-templates"}, "")) - - pattern_Waypoint_CreateProjectFromTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"project", "from-template"}, "")) - - pattern_Waypoint_GetTFCRunStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"project", "project.project", "tfc-run-status"}, "")) - - pattern_Waypoint_CreateAddOnDefinition_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-on-definition"}, "")) - - pattern_Waypoint_GetAddOnDefinition_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"add-on-definition", "by-id", "add_on_definition.id"}, "")) - - pattern_Waypoint_GetAddOnDefinition_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"add-on-definition", "by-name", "add_on_definition.name"}, "")) - - pattern_Waypoint_ListAddOnDefinitions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-on-definitions"}, "")) - - pattern_Waypoint_UpdateAddOnDefinition_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-on-definition"}, "")) - - pattern_Waypoint_DeleteAddOnDefinition_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"add-on-definition", "by-id", "add_on_definition.id"}, "")) - - pattern_Waypoint_DeleteAddOnDefinition_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"add-on-definition", "by-name", "add_on_definition.name"}, "")) - - pattern_Waypoint_CreateAddOn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-on"}, "")) - - pattern_Waypoint_GetAddOn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"add-on", "add_on.id"}, "")) - - pattern_Waypoint_UpdateAddOn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-on"}, "")) - - pattern_Waypoint_DestroyAddOn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"add-on", "add_on.id"}, "")) - - pattern_Waypoint_ListAddOns_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"add-ons"}, "")) - - pattern_Waypoint_GetTFRunStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"tf-run-status", "workspace_name"}, "")) - - pattern_Waypoint_UI_ListProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"ui", "projects"}, "")) + pattern_Waypoint_UI_ListProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "ui", "projects"}, "")) pattern_Waypoint_UI_GetProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"ui", "project", "project.project"}, "")) - pattern_Waypoint_UI_ListPipelines_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"ui", "project", "project.project", "pipelines"}, "")) - - pattern_Waypoint_UI_ListPipelineRuns_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"ui", "project", "pipeline.owner.project.project", "pipelines", "pipeline.owner.pipeline_name", "runs"}, "")) - - pattern_Waypoint_UI_GetPipelineRun_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"ui", "pipeline", "pipeline.id", "run", "sequence"}, "")) - - pattern_Waypoint_UI_GetPipelineRun_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6}, []string{"ui", "project", "pipeline.owner.project.project", "pipeline", "pipeline.owner.pipeline_name", "run", "sequence"}, "")) - pattern_Waypoint_UI_ListDeployments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"ui", "project", "application.project", "application", "application.application", "deployments"}, "")) - pattern_Waypoint_UI_GetDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"ui", "deployment", "ref.id"}, "")) - - pattern_Waypoint_UI_GetDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6}, []string{"ui", "project", "ref.sequence.application.project", "application", "ref.sequence.application.application", "deployment", "ref.sequence.number"}, "")) - pattern_Waypoint_UI_ListReleases_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"ui", "project", "application.project", "application", "application.application", "releases"}, "")) - - pattern_Waypoint_UI_ListEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"ui", "project", "application.project", "application", "application.application", "events"}, "")) - - pattern_Waypoint_UI_ListEvents_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"ui", "project", "application.project", "application", "application.application", "workspace", "workspace.workspace", "events"}, "")) - - pattern_Waypoint_INTERNAL_AdditionalMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"ui", "events", "INTERNAL_AdditionalMessages"}, "")) ) var ( @@ -19022,10 +15428,6 @@ var ( forward_Waypoint_GetDeployment_1 = runtime.ForwardResponseMessage - forward_Waypoint_GetLatestDeployment_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetLatestDeployment_1 = runtime.ForwardResponseMessage - forward_Waypoint_ListInstances_0 = runtime.ForwardResponseMessage forward_Waypoint_ListInstances_1 = runtime.ForwardResponseMessage @@ -19198,71 +15600,11 @@ var ( forward_Waypoint_ConfigSyncPipeline_0 = runtime.ForwardResponseMessage - forward_Waypoint_CreateProjectTemplate_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UpdateProjectTemplate_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetProjectTemplate_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetProjectTemplate_1 = runtime.ForwardResponseMessage - - forward_Waypoint_DeleteProjectTemplate_0 = runtime.ForwardResponseMessage - - forward_Waypoint_ListProjectTemplates_0 = runtime.ForwardResponseMessage - - forward_Waypoint_CreateProjectFromTemplate_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetTFCRunStatus_0 = runtime.ForwardResponseMessage - - forward_Waypoint_CreateAddOnDefinition_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetAddOnDefinition_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetAddOnDefinition_1 = runtime.ForwardResponseMessage - - forward_Waypoint_ListAddOnDefinitions_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UpdateAddOnDefinition_0 = runtime.ForwardResponseMessage - - forward_Waypoint_DeleteAddOnDefinition_0 = runtime.ForwardResponseMessage - - forward_Waypoint_DeleteAddOnDefinition_1 = runtime.ForwardResponseMessage - - forward_Waypoint_CreateAddOn_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetAddOn_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UpdateAddOn_0 = runtime.ForwardResponseMessage - - forward_Waypoint_DestroyAddOn_0 = runtime.ForwardResponseMessage - - forward_Waypoint_ListAddOns_0 = runtime.ForwardResponseMessage - - forward_Waypoint_GetTFRunStatus_0 = runtime.ForwardResponseMessage - forward_Waypoint_UI_ListProjects_0 = runtime.ForwardResponseMessage forward_Waypoint_UI_GetProject_0 = runtime.ForwardResponseMessage - forward_Waypoint_UI_ListPipelines_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_ListPipelineRuns_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_GetPipelineRun_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_GetPipelineRun_1 = runtime.ForwardResponseMessage - forward_Waypoint_UI_ListDeployments_0 = runtime.ForwardResponseMessage - forward_Waypoint_UI_GetDeployment_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_GetDeployment_1 = runtime.ForwardResponseMessage - forward_Waypoint_UI_ListReleases_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_ListEvents_0 = runtime.ForwardResponseMessage - - forward_Waypoint_UI_ListEvents_1 = runtime.ForwardResponseMessage - - forward_Waypoint_INTERNAL_AdditionalMessages_0 = runtime.ForwardResponseMessage ) diff --git a/pkg/server/gen/server.pb.json.go b/pkg/server/gen/server.pb.json.go index d03f2e58d8e..054028806f1 100644 --- a/pkg/server/gen/server.pb.json.go +++ b/pkg/server/gen/server.pb.json.go @@ -104,7 +104,7 @@ func (msg *UI_GetProjectResponse) UnmarshalJSON(b []byte) error { } // MarshalJSON implements json.Marshaler -func (msg *UI_ListPipelinesRequest) MarshalJSON() ([]byte, error) { +func (msg *UI_ListDeploymentsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -113,14 +113,14 @@ func (msg *UI_ListPipelinesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListPipelinesRequest) UnmarshalJSON(b []byte) error { +func (msg *UI_ListDeploymentsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListPipelinesResponse) MarshalJSON() ([]byte, error) { +func (msg *UI_ListDeploymentsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -129,14 +129,14 @@ func (msg *UI_ListPipelinesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListPipelinesResponse) UnmarshalJSON(b []byte) error { +func (msg *UI_ListDeploymentsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListPipelineRunsRequest) MarshalJSON() ([]byte, error) { +func (msg *UI_GetDeploymentRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -145,14 +145,14 @@ func (msg *UI_ListPipelineRunsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListPipelineRunsRequest) UnmarshalJSON(b []byte) error { +func (msg *UI_GetDeploymentRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListPipelineRunsResponse) MarshalJSON() ([]byte, error) { +func (msg *UI_GetDeploymentResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -161,14 +161,14 @@ func (msg *UI_ListPipelineRunsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListPipelineRunsResponse) UnmarshalJSON(b []byte) error { +func (msg *UI_GetDeploymentResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_GetPipelineRunRequest) MarshalJSON() ([]byte, error) { +func (msg *UI_DeploymentBundle) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -177,14 +177,14 @@ func (msg *UI_GetPipelineRunRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_GetPipelineRunRequest) UnmarshalJSON(b []byte) error { +func (msg *UI_DeploymentBundle) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_GetPipelineRunResponse) MarshalJSON() ([]byte, error) { +func (msg *UI_ListReleasesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -193,14 +193,14 @@ func (msg *UI_GetPipelineRunResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_GetPipelineRunResponse) UnmarshalJSON(b []byte) error { +func (msg *UI_ListReleasesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_PipelineBundle) MarshalJSON() ([]byte, error) { +func (msg *UI_ListReleasesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -209,14 +209,14 @@ func (msg *UI_PipelineBundle) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_PipelineBundle) UnmarshalJSON(b []byte) error { +func (msg *UI_ListReleasesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_PipelineRunBundle) MarshalJSON() ([]byte, error) { +func (msg *UI_ReleaseBundle) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -225,14 +225,14 @@ func (msg *UI_PipelineRunBundle) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_PipelineRunBundle) UnmarshalJSON(b []byte) error { +func (msg *UI_ReleaseBundle) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_PipelineRunTreeNode) MarshalJSON() ([]byte, error) { +func (msg *GetVersionInfoResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -241,14 +241,14 @@ func (msg *UI_PipelineRunTreeNode) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_PipelineRunTreeNode) UnmarshalJSON(b []byte) error { +func (msg *GetVersionInfoResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_PipelineRunTreeNode_Children) MarshalJSON() ([]byte, error) { +func (msg *ServerFeatures) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -257,14 +257,14 @@ func (msg *UI_PipelineRunTreeNode_Children) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_PipelineRunTreeNode_Children) UnmarshalJSON(b []byte) error { +func (msg *ServerFeatures) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListDeploymentsRequest) MarshalJSON() ([]byte, error) { +func (msg *VersionInfo) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -273,14 +273,14 @@ func (msg *UI_ListDeploymentsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListDeploymentsRequest) UnmarshalJSON(b []byte) error { +func (msg *VersionInfo) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListDeploymentsResponse) MarshalJSON() ([]byte, error) { +func (msg *VersionInfo_ProtocolVersion) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -289,14 +289,14 @@ func (msg *UI_ListDeploymentsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListDeploymentsResponse) UnmarshalJSON(b []byte) error { +func (msg *VersionInfo_ProtocolVersion) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_GetDeploymentRequest) MarshalJSON() ([]byte, error) { +func (msg *Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -305,14 +305,14 @@ func (msg *UI_GetDeploymentRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_GetDeploymentRequest) UnmarshalJSON(b []byte) error { +func (msg *Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_GetDeploymentResponse) MarshalJSON() ([]byte, error) { +func (msg *Variable) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -321,14 +321,14 @@ func (msg *UI_GetDeploymentResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_GetDeploymentResponse) UnmarshalJSON(b []byte) error { +func (msg *Variable) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_DeploymentBundle) MarshalJSON() ([]byte, error) { +func (msg *Variable_File) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -337,14 +337,14 @@ func (msg *UI_DeploymentBundle) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_DeploymentBundle) UnmarshalJSON(b []byte) error { +func (msg *Variable_File) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListReleasesRequest) MarshalJSON() ([]byte, error) { +func (msg *Variable_VCS) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -353,14 +353,14 @@ func (msg *UI_ListReleasesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListReleasesRequest) UnmarshalJSON(b []byte) error { +func (msg *Variable_VCS) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListReleasesResponse) MarshalJSON() ([]byte, error) { +func (msg *Variable_HclPos) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -369,14 +369,14 @@ func (msg *UI_ListReleasesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListReleasesResponse) UnmarshalJSON(b []byte) error { +func (msg *Variable_HclPos) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ReleaseBundle) MarshalJSON() ([]byte, error) { +func (msg *Variable_HclRange) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -385,14 +385,14 @@ func (msg *UI_ReleaseBundle) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ReleaseBundle) UnmarshalJSON(b []byte) error { +func (msg *Variable_HclRange) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListEventsRequest) MarshalJSON() ([]byte, error) { +func (msg *Variable_FinalValue) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -401,14 +401,14 @@ func (msg *UI_ListEventsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListEventsRequest) UnmarshalJSON(b []byte) error { +func (msg *Variable_FinalValue) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListEventsResponse) MarshalJSON() ([]byte, error) { +func (msg *Project) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -417,14 +417,14 @@ func (msg *UI_ListEventsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListEventsResponse) UnmarshalJSON(b []byte) error { +func (msg *Project) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_EventBundle) MarshalJSON() ([]byte, error) { +func (msg *Project_Poll) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -433,14 +433,14 @@ func (msg *UI_EventBundle) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_EventBundle) UnmarshalJSON(b []byte) error { +func (msg *Project_Poll) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_EventBuild) MarshalJSON() ([]byte, error) { +func (msg *Project_AppStatusPoll) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -449,14 +449,14 @@ func (msg *UI_EventBuild) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_EventBuild) UnmarshalJSON(b []byte) error { +func (msg *Project_AppStatusPoll) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_EventDeployment) MarshalJSON() ([]byte, error) { +func (msg *Workspace) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -465,14 +465,14 @@ func (msg *UI_EventDeployment) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_EventDeployment) UnmarshalJSON(b []byte) error { +func (msg *Workspace) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_EventRelease) MarshalJSON() ([]byte, error) { +func (msg *Workspace_Project) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -481,14 +481,14 @@ func (msg *UI_EventRelease) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_EventRelease) UnmarshalJSON(b []byte) error { +func (msg *Workspace_Project) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_EventAddOn) MarshalJSON() ([]byte, error) { +func (msg *Workspace_Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -497,14 +497,14 @@ func (msg *UI_EventAddOn) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_EventAddOn) UnmarshalJSON(b []byte) error { +func (msg *Workspace_Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UI_ListEventSchemasResponse) MarshalJSON() ([]byte, error) { +func (msg *User) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -513,14 +513,14 @@ func (msg *UI_ListEventSchemasResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UI_ListEventSchemasResponse) UnmarshalJSON(b []byte) error { +func (msg *User) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetVersionInfoResponse) MarshalJSON() ([]byte, error) { +func (msg *User_Link) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -529,14 +529,14 @@ func (msg *GetVersionInfoResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetVersionInfoResponse) UnmarshalJSON(b []byte) error { +func (msg *User_Link) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ServerFeatures) MarshalJSON() ([]byte, error) { +func (msg *User_Link_OIDC) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -545,14 +545,14 @@ func (msg *ServerFeatures) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ServerFeatures) UnmarshalJSON(b []byte) error { +func (msg *User_Link_OIDC) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *VersionInfo) MarshalJSON() ([]byte, error) { +func (msg *Ref) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -561,14 +561,14 @@ func (msg *VersionInfo) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *VersionInfo) UnmarshalJSON(b []byte) error { +func (msg *Ref) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *VersionInfo_ProtocolVersion) MarshalJSON() ([]byte, error) { +func (msg *Ref_Global) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -577,14 +577,14 @@ func (msg *VersionInfo_ProtocolVersion) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *VersionInfo_ProtocolVersion) UnmarshalJSON(b []byte) error { +func (msg *Ref_Global) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Application) MarshalJSON() ([]byte, error) { +func (msg *Ref_Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -593,14 +593,14 @@ func (msg *Application) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Application) UnmarshalJSON(b []byte) error { +func (msg *Ref_Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable) MarshalJSON() ([]byte, error) { +func (msg *Ref_Project) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -609,14 +609,14 @@ func (msg *Variable) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable) UnmarshalJSON(b []byte) error { +func (msg *Ref_Project) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable_File) MarshalJSON() ([]byte, error) { +func (msg *Ref_Workspace) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -625,14 +625,14 @@ func (msg *Variable_File) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable_File) UnmarshalJSON(b []byte) error { +func (msg *Ref_Workspace) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable_VCS) MarshalJSON() ([]byte, error) { +func (msg *Ref_Deployment) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -641,14 +641,14 @@ func (msg *Variable_VCS) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable_VCS) UnmarshalJSON(b []byte) error { +func (msg *Ref_Deployment) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable_HclPos) MarshalJSON() ([]byte, error) { +func (msg *Ref_Artifact) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -657,14 +657,14 @@ func (msg *Variable_HclPos) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable_HclPos) UnmarshalJSON(b []byte) error { +func (msg *Ref_Artifact) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable_HclRange) MarshalJSON() ([]byte, error) { +func (msg *Ref_Component) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -673,14 +673,14 @@ func (msg *Variable_HclRange) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable_HclRange) UnmarshalJSON(b []byte) error { +func (msg *Ref_Component) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Variable_FinalValue) MarshalJSON() ([]byte, error) { +func (msg *Ref_Operation) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -689,14 +689,14 @@ func (msg *Variable_FinalValue) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Variable_FinalValue) UnmarshalJSON(b []byte) error { +func (msg *Ref_Operation) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Project) MarshalJSON() ([]byte, error) { +func (msg *Ref_OperationSeq) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -705,14 +705,14 @@ func (msg *Project) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Project) UnmarshalJSON(b []byte) error { +func (msg *Ref_OperationSeq) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Project_Poll) MarshalJSON() ([]byte, error) { +func (msg *Ref_Runner) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -721,14 +721,14 @@ func (msg *Project_Poll) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Project_Poll) UnmarshalJSON(b []byte) error { +func (msg *Ref_Runner) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Project_AppStatusPoll) MarshalJSON() ([]byte, error) { +func (msg *Ref_RunnerAny) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -737,14 +737,14 @@ func (msg *Project_AppStatusPoll) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Project_AppStatusPoll) UnmarshalJSON(b []byte) error { +func (msg *Ref_RunnerAny) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Workspace) MarshalJSON() ([]byte, error) { +func (msg *Ref_RunnerId) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -753,14 +753,14 @@ func (msg *Workspace) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Workspace) UnmarshalJSON(b []byte) error { +func (msg *Ref_RunnerId) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Workspace_Project) MarshalJSON() ([]byte, error) { +func (msg *Ref_RunnerLabels) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -769,14 +769,14 @@ func (msg *Workspace_Project) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Workspace_Project) UnmarshalJSON(b []byte) error { +func (msg *Ref_RunnerLabels) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Workspace_Application) MarshalJSON() ([]byte, error) { +func (msg *Ref_User) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -785,14 +785,14 @@ func (msg *Workspace_Application) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Workspace_Application) UnmarshalJSON(b []byte) error { +func (msg *Ref_User) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *User) MarshalJSON() ([]byte, error) { +func (msg *Ref_UserId) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -801,14 +801,14 @@ func (msg *User) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *User) UnmarshalJSON(b []byte) error { +func (msg *Ref_UserId) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *User_Link) MarshalJSON() ([]byte, error) { +func (msg *Ref_UserUsername) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -817,14 +817,14 @@ func (msg *User_Link) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *User_Link) UnmarshalJSON(b []byte) error { +func (msg *Ref_UserUsername) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *User_Link_OIDC) MarshalJSON() ([]byte, error) { +func (msg *Ref_AuthMethod) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -833,14 +833,14 @@ func (msg *User_Link_OIDC) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *User_Link_OIDC) UnmarshalJSON(b []byte) error { +func (msg *Ref_AuthMethod) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref) MarshalJSON() ([]byte, error) { +func (msg *Ref_DeclaredResource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -849,14 +849,14 @@ func (msg *Ref) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref) UnmarshalJSON(b []byte) error { +func (msg *Ref_DeclaredResource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Global) MarshalJSON() ([]byte, error) { +func (msg *Ref_OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -865,14 +865,14 @@ func (msg *Ref_Global) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Global) UnmarshalJSON(b []byte) error { +func (msg *Ref_OnDemandRunnerConfig) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Application) MarshalJSON() ([]byte, error) { +func (msg *Ref_Trigger) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -881,14 +881,14 @@ func (msg *Ref_Application) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Application) UnmarshalJSON(b []byte) error { +func (msg *Ref_Trigger) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Project) MarshalJSON() ([]byte, error) { +func (msg *Ref_Job) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -897,14 +897,14 @@ func (msg *Ref_Project) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Project) UnmarshalJSON(b []byte) error { +func (msg *Ref_Job) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Workspace) MarshalJSON() ([]byte, error) { +func (msg *Ref_Task) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -913,14 +913,14 @@ func (msg *Ref_Workspace) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Workspace) UnmarshalJSON(b []byte) error { +func (msg *Ref_Task) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Deployment) MarshalJSON() ([]byte, error) { +func (msg *Ref_Pipeline) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -929,14 +929,14 @@ func (msg *Ref_Deployment) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Deployment) UnmarshalJSON(b []byte) error { +func (msg *Ref_Pipeline) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Artifact) MarshalJSON() ([]byte, error) { +func (msg *Ref_PipelineOwner) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -945,14 +945,14 @@ func (msg *Ref_Artifact) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Artifact) UnmarshalJSON(b []byte) error { +func (msg *Ref_PipelineOwner) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Component) MarshalJSON() ([]byte, error) { +func (msg *Ref_PipelineStep) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -961,14 +961,14 @@ func (msg *Ref_Component) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Component) UnmarshalJSON(b []byte) error { +func (msg *Ref_PipelineStep) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Operation) MarshalJSON() ([]byte, error) { +func (msg *Component) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -977,14 +977,14 @@ func (msg *Ref_Operation) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Operation) UnmarshalJSON(b []byte) error { +func (msg *Component) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_OperationSeq) MarshalJSON() ([]byte, error) { +func (msg *Status) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -993,14 +993,14 @@ func (msg *Ref_OperationSeq) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_OperationSeq) UnmarshalJSON(b []byte) error { +func (msg *Status) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Runner) MarshalJSON() ([]byte, error) { +func (msg *StatusFilter) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1009,14 +1009,14 @@ func (msg *Ref_Runner) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Runner) UnmarshalJSON(b []byte) error { +func (msg *StatusFilter) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_RunnerAny) MarshalJSON() ([]byte, error) { +func (msg *StatusFilter_Filter) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1025,14 +1025,14 @@ func (msg *Ref_RunnerAny) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_RunnerAny) UnmarshalJSON(b []byte) error { +func (msg *StatusFilter_Filter) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_RunnerId) MarshalJSON() ([]byte, error) { +func (msg *Operation) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1041,14 +1041,14 @@ func (msg *Ref_RunnerId) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_RunnerId) UnmarshalJSON(b []byte) error { +func (msg *Operation) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_RunnerLabels) MarshalJSON() ([]byte, error) { +func (msg *OperationOrder) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1057,14 +1057,14 @@ func (msg *Ref_RunnerLabels) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_RunnerLabels) UnmarshalJSON(b []byte) error { +func (msg *OperationOrder) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_User) MarshalJSON() ([]byte, error) { +func (msg *Generation) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1073,14 +1073,14 @@ func (msg *Ref_User) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_User) UnmarshalJSON(b []byte) error { +func (msg *Generation) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_UserId) MarshalJSON() ([]byte, error) { +func (msg *DeclaredResource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1089,14 +1089,14 @@ func (msg *Ref_UserId) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_UserId) UnmarshalJSON(b []byte) error { +func (msg *DeclaredResource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_UserUsername) MarshalJSON() ([]byte, error) { +func (msg *DestroyedResource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1105,14 +1105,14 @@ func (msg *Ref_UserUsername) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_UserUsername) UnmarshalJSON(b []byte) error { +func (msg *DestroyedResource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_AuthMethod) MarshalJSON() ([]byte, error) { +func (msg *TaskLaunchInfo) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1121,14 +1121,14 @@ func (msg *Ref_AuthMethod) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_AuthMethod) UnmarshalJSON(b []byte) error { +func (msg *TaskLaunchInfo) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_DeclaredResource) MarshalJSON() ([]byte, error) { +func (msg *Task) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1137,14 +1137,14 @@ func (msg *Ref_DeclaredResource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_DeclaredResource) UnmarshalJSON(b []byte) error { +func (msg *Task) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { +func (msg *UpsertTaskRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1153,14 +1153,14 @@ func (msg *Ref_OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_OnDemandRunnerConfig) UnmarshalJSON(b []byte) error { +func (msg *UpsertTaskRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Trigger) MarshalJSON() ([]byte, error) { +func (msg *UpsertTaskResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1169,14 +1169,14 @@ func (msg *Ref_Trigger) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Trigger) UnmarshalJSON(b []byte) error { +func (msg *UpsertTaskResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Job) MarshalJSON() ([]byte, error) { +func (msg *GetTaskRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1185,14 +1185,14 @@ func (msg *Ref_Job) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Job) UnmarshalJSON(b []byte) error { +func (msg *GetTaskRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Task) MarshalJSON() ([]byte, error) { +func (msg *GetTaskResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1201,14 +1201,14 @@ func (msg *Ref_Task) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Task) UnmarshalJSON(b []byte) error { +func (msg *GetTaskResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_Pipeline) MarshalJSON() ([]byte, error) { +func (msg *DeleteTaskRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1217,14 +1217,14 @@ func (msg *Ref_Pipeline) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_Pipeline) UnmarshalJSON(b []byte) error { +func (msg *DeleteTaskRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_PipelineOwner) MarshalJSON() ([]byte, error) { +func (msg *ListTaskRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1233,14 +1233,14 @@ func (msg *Ref_PipelineOwner) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_PipelineOwner) UnmarshalJSON(b []byte) error { +func (msg *ListTaskRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_PipelineStep) MarshalJSON() ([]byte, error) { +func (msg *ListTaskResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1249,14 +1249,14 @@ func (msg *Ref_PipelineStep) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_PipelineStep) UnmarshalJSON(b []byte) error { +func (msg *ListTaskResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_ProjectTemplate) MarshalJSON() ([]byte, error) { +func (msg *CancelTaskRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1265,14 +1265,14 @@ func (msg *Ref_ProjectTemplate) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_ProjectTemplate) UnmarshalJSON(b []byte) error { +func (msg *CancelTaskRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_AddOnDefinition) MarshalJSON() ([]byte, error) { +func (msg *ErrorDetail) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1281,14 +1281,14 @@ func (msg *Ref_AddOnDefinition) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_AddOnDefinition) UnmarshalJSON(b []byte) error { +func (msg *ErrorDetail) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Ref_AddOn) MarshalJSON() ([]byte, error) { +func (msg *GetUserRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1297,14 +1297,14 @@ func (msg *Ref_AddOn) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Ref_AddOn) UnmarshalJSON(b []byte) error { +func (msg *GetUserRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Component) MarshalJSON() ([]byte, error) { +func (msg *GetUserResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1313,14 +1313,14 @@ func (msg *Component) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Component) UnmarshalJSON(b []byte) error { +func (msg *GetUserResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Status) MarshalJSON() ([]byte, error) { +func (msg *ListUsersResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1329,14 +1329,14 @@ func (msg *Status) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Status) UnmarshalJSON(b []byte) error { +func (msg *ListUsersResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *StatusFilter) MarshalJSON() ([]byte, error) { +func (msg *UpdateUserRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1345,14 +1345,14 @@ func (msg *StatusFilter) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *StatusFilter) UnmarshalJSON(b []byte) error { +func (msg *UpdateUserRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *StatusFilter_Filter) MarshalJSON() ([]byte, error) { +func (msg *UpdateUserResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1361,14 +1361,14 @@ func (msg *StatusFilter_Filter) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *StatusFilter_Filter) UnmarshalJSON(b []byte) error { +func (msg *UpdateUserResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Operation) MarshalJSON() ([]byte, error) { +func (msg *DeleteUserRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1377,14 +1377,14 @@ func (msg *Operation) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Operation) UnmarshalJSON(b []byte) error { +func (msg *DeleteUserRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *OperationOrder) MarshalJSON() ([]byte, error) { +func (msg *AuthMethod) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1393,14 +1393,14 @@ func (msg *OperationOrder) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *OperationOrder) UnmarshalJSON(b []byte) error { +func (msg *AuthMethod) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Generation) MarshalJSON() ([]byte, error) { +func (msg *AuthMethod_OIDC) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1409,14 +1409,14 @@ func (msg *Generation) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Generation) UnmarshalJSON(b []byte) error { +func (msg *AuthMethod_OIDC) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeclaredResource) MarshalJSON() ([]byte, error) { +func (msg *OIDCAuthMethod) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1425,14 +1425,14 @@ func (msg *DeclaredResource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeclaredResource) UnmarshalJSON(b []byte) error { +func (msg *OIDCAuthMethod) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DestroyedResource) MarshalJSON() ([]byte, error) { +func (msg *UpsertAuthMethodRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1441,14 +1441,14 @@ func (msg *DestroyedResource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DestroyedResource) UnmarshalJSON(b []byte) error { +func (msg *UpsertAuthMethodRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *TaskLaunchInfo) MarshalJSON() ([]byte, error) { +func (msg *UpsertAuthMethodResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1457,14 +1457,14 @@ func (msg *TaskLaunchInfo) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *TaskLaunchInfo) UnmarshalJSON(b []byte) error { +func (msg *UpsertAuthMethodResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Task) MarshalJSON() ([]byte, error) { +func (msg *GetAuthMethodRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1473,14 +1473,14 @@ func (msg *Task) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Task) UnmarshalJSON(b []byte) error { +func (msg *GetAuthMethodRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertTaskRequest) MarshalJSON() ([]byte, error) { +func (msg *GetAuthMethodResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1489,14 +1489,14 @@ func (msg *UpsertTaskRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertTaskRequest) UnmarshalJSON(b []byte) error { +func (msg *GetAuthMethodResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertTaskResponse) MarshalJSON() ([]byte, error) { +func (msg *DeleteAuthMethodRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1505,14 +1505,14 @@ func (msg *UpsertTaskResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertTaskResponse) UnmarshalJSON(b []byte) error { +func (msg *DeleteAuthMethodRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTaskRequest) MarshalJSON() ([]byte, error) { +func (msg *ListAuthMethodsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1521,14 +1521,14 @@ func (msg *GetTaskRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTaskRequest) UnmarshalJSON(b []byte) error { +func (msg *ListAuthMethodsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTaskResponse) MarshalJSON() ([]byte, error) { +func (msg *ListOIDCAuthMethodsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1537,14 +1537,14 @@ func (msg *GetTaskResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTaskResponse) UnmarshalJSON(b []byte) error { +func (msg *ListOIDCAuthMethodsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteTaskRequest) MarshalJSON() ([]byte, error) { +func (msg *GetOIDCAuthURLRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1553,14 +1553,14 @@ func (msg *DeleteTaskRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteTaskRequest) UnmarshalJSON(b []byte) error { +func (msg *GetOIDCAuthURLRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListTaskRequest) MarshalJSON() ([]byte, error) { +func (msg *GetOIDCAuthURLResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1569,14 +1569,14 @@ func (msg *ListTaskRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListTaskRequest) UnmarshalJSON(b []byte) error { +func (msg *GetOIDCAuthURLResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListTaskResponse) MarshalJSON() ([]byte, error) { +func (msg *CompleteOIDCAuthRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1585,14 +1585,14 @@ func (msg *ListTaskResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListTaskResponse) UnmarshalJSON(b []byte) error { +func (msg *CompleteOIDCAuthRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CancelTaskRequest) MarshalJSON() ([]byte, error) { +func (msg *CompleteOIDCAuthResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1601,14 +1601,14 @@ func (msg *CancelTaskRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CancelTaskRequest) UnmarshalJSON(b []byte) error { +func (msg *CompleteOIDCAuthResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ErrorDetail) MarshalJSON() ([]byte, error) { +func (msg *QueueJobRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1617,14 +1617,14 @@ func (msg *ErrorDetail) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ErrorDetail) UnmarshalJSON(b []byte) error { +func (msg *QueueJobRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetUserRequest) MarshalJSON() ([]byte, error) { +func (msg *QueueJobResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1633,14 +1633,14 @@ func (msg *GetUserRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetUserRequest) UnmarshalJSON(b []byte) error { +func (msg *QueueJobResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetUserResponse) MarshalJSON() ([]byte, error) { +func (msg *CancelJobRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1649,14 +1649,14 @@ func (msg *GetUserResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetUserResponse) UnmarshalJSON(b []byte) error { +func (msg *CancelJobRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListUsersResponse) MarshalJSON() ([]byte, error) { +func (msg *ValidateJobRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1665,14 +1665,14 @@ func (msg *ListUsersResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListUsersResponse) UnmarshalJSON(b []byte) error { +func (msg *ValidateJobRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateUserRequest) MarshalJSON() ([]byte, error) { +func (msg *ValidateJobResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1681,14 +1681,14 @@ func (msg *UpdateUserRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateUserRequest) UnmarshalJSON(b []byte) error { +func (msg *ValidateJobResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateUserResponse) MarshalJSON() ([]byte, error) { +func (msg *Job) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1697,14 +1697,14 @@ func (msg *UpdateUserResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateUserResponse) UnmarshalJSON(b []byte) error { +func (msg *Job) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteUserRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_TaskOverride) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1713,14 +1713,14 @@ func (msg *DeleteUserRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteUserRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_TaskOverride) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *AuthMethod) MarshalJSON() ([]byte, error) { +func (msg *Job_Result) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1729,14 +1729,14 @@ func (msg *AuthMethod) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AuthMethod) UnmarshalJSON(b []byte) error { +func (msg *Job_Result) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *AuthMethod_OIDC) MarshalJSON() ([]byte, error) { +func (msg *Job_Config) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1745,14 +1745,14 @@ func (msg *AuthMethod_OIDC) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AuthMethod_OIDC) UnmarshalJSON(b []byte) error { +func (msg *Job_Config) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *OIDCAuthMethod) MarshalJSON() ([]byte, error) { +func (msg *Job_DataSource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1761,14 +1761,14 @@ func (msg *OIDCAuthMethod) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *OIDCAuthMethod) UnmarshalJSON(b []byte) error { +func (msg *Job_DataSource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertAuthMethodRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_DataSource_Ref) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1777,14 +1777,14 @@ func (msg *UpsertAuthMethodRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertAuthMethodRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_DataSource_Ref) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertAuthMethodResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_Local) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1793,14 +1793,14 @@ func (msg *UpsertAuthMethodResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertAuthMethodResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_Local) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAuthMethodRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_Remote) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1809,14 +1809,14 @@ func (msg *GetAuthMethodRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAuthMethodRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_Remote) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAuthMethodResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_Git) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1825,14 +1825,14 @@ func (msg *GetAuthMethodResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAuthMethodResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_Git) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteAuthMethodRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_Git_Basic) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1841,14 +1841,14 @@ func (msg *DeleteAuthMethodRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteAuthMethodRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_Git_Basic) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListAuthMethodsResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_Git_SSH) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1857,14 +1857,14 @@ func (msg *ListAuthMethodsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListAuthMethodsResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_Git_SSH) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListOIDCAuthMethodsResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_Git_Ref) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1873,14 +1873,14 @@ func (msg *ListOIDCAuthMethodsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListOIDCAuthMethodsResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_Git_Ref) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetOIDCAuthURLRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_Noop) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1889,14 +1889,14 @@ func (msg *GetOIDCAuthURLRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetOIDCAuthURLRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_Noop) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetOIDCAuthURLResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_UpOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1905,14 +1905,14 @@ func (msg *GetOIDCAuthURLResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetOIDCAuthURLResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_UpOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CompleteOIDCAuthRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_UpResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1921,14 +1921,14 @@ func (msg *CompleteOIDCAuthRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CompleteOIDCAuthRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_UpResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CompleteOIDCAuthResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_ValidateOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1937,14 +1937,14 @@ func (msg *CompleteOIDCAuthResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CompleteOIDCAuthResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_ValidateOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *QueueJobRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_ValidateResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1953,14 +1953,14 @@ func (msg *QueueJobRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *QueueJobRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_ValidateResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *QueueJobResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_AuthOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1969,14 +1969,14 @@ func (msg *QueueJobResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *QueueJobResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_AuthOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CancelJobRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_AuthResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -1985,14 +1985,14 @@ func (msg *CancelJobRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CancelJobRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_AuthResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ValidateJobRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_AuthResult_Result) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2001,14 +2001,14 @@ func (msg *ValidateJobRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ValidateJobRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_AuthResult_Result) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ValidateJobResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_BuildOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2017,14 +2017,14 @@ func (msg *ValidateJobResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ValidateJobResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_BuildOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job) MarshalJSON() ([]byte, error) { +func (msg *Job_BuildResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2033,14 +2033,14 @@ func (msg *Job) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job) UnmarshalJSON(b []byte) error { +func (msg *Job_BuildResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_TaskOverride) MarshalJSON() ([]byte, error) { +func (msg *Job_PushOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2049,14 +2049,14 @@ func (msg *Job_TaskOverride) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_TaskOverride) UnmarshalJSON(b []byte) error { +func (msg *Job_PushOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Result) MarshalJSON() ([]byte, error) { +func (msg *Job_PushResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2065,14 +2065,14 @@ func (msg *Job_Result) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Result) UnmarshalJSON(b []byte) error { +func (msg *Job_PushResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Config) MarshalJSON() ([]byte, error) { +func (msg *Job_DeployOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2081,14 +2081,14 @@ func (msg *Job_Config) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Config) UnmarshalJSON(b []byte) error { +func (msg *Job_DeployOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_DataSource) MarshalJSON() ([]byte, error) { +func (msg *Job_DeployResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2097,14 +2097,14 @@ func (msg *Job_DataSource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DataSource) UnmarshalJSON(b []byte) error { +func (msg *Job_DeployResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_DataSource_Ref) MarshalJSON() ([]byte, error) { +func (msg *Job_ExecOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2113,14 +2113,14 @@ func (msg *Job_DataSource_Ref) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DataSource_Ref) UnmarshalJSON(b []byte) error { +func (msg *Job_ExecOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Local) MarshalJSON() ([]byte, error) { +func (msg *Job_ExecResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2129,14 +2129,14 @@ func (msg *Job_Local) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Local) UnmarshalJSON(b []byte) error { +func (msg *Job_ExecResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Remote) MarshalJSON() ([]byte, error) { +func (msg *Job_LogsOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2145,14 +2145,14 @@ func (msg *Job_Remote) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Remote) UnmarshalJSON(b []byte) error { +func (msg *Job_LogsOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Git) MarshalJSON() ([]byte, error) { +func (msg *Job_DestroyOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2161,14 +2161,14 @@ func (msg *Job_Git) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Git) UnmarshalJSON(b []byte) error { +func (msg *Job_DestroyOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Git_Basic) MarshalJSON() ([]byte, error) { +func (msg *Job_ReleaseOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2177,14 +2177,14 @@ func (msg *Job_Git_Basic) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Git_Basic) UnmarshalJSON(b []byte) error { +func (msg *Job_ReleaseOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Git_SSH) MarshalJSON() ([]byte, error) { +func (msg *Job_ReleaseResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2193,14 +2193,14 @@ func (msg *Job_Git_SSH) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Git_SSH) UnmarshalJSON(b []byte) error { +func (msg *Job_ReleaseResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Git_Ref) MarshalJSON() ([]byte, error) { +func (msg *Job_TaskPluginParams) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2209,14 +2209,14 @@ func (msg *Job_Git_Ref) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Git_Ref) UnmarshalJSON(b []byte) error { +func (msg *Job_TaskPluginParams) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_Noop) MarshalJSON() ([]byte, error) { +func (msg *Job_StartTaskLaunchOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2225,14 +2225,14 @@ func (msg *Job_Noop) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_Noop) UnmarshalJSON(b []byte) error { +func (msg *Job_StartTaskLaunchOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_UpOp) MarshalJSON() ([]byte, error) { +func (msg *Job_StartTaskResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2241,14 +2241,14 @@ func (msg *Job_UpOp) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_UpOp) UnmarshalJSON(b []byte) error { +func (msg *Job_StartTaskResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_UpResult) MarshalJSON() ([]byte, error) { +func (msg *Job_StopTaskLaunchOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2257,14 +2257,14 @@ func (msg *Job_UpResult) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_UpResult) UnmarshalJSON(b []byte) error { +func (msg *Job_StopTaskLaunchOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_ValidateOp) MarshalJSON() ([]byte, error) { +func (msg *Job_WatchTaskOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2273,14 +2273,14 @@ func (msg *Job_ValidateOp) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ValidateOp) UnmarshalJSON(b []byte) error { +func (msg *Job_WatchTaskOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_ValidateResult) MarshalJSON() ([]byte, error) { +func (msg *Job_WatchTaskResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2289,14 +2289,14 @@ func (msg *Job_ValidateResult) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ValidateResult) UnmarshalJSON(b []byte) error { +func (msg *Job_WatchTaskResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_AuthOp) MarshalJSON() ([]byte, error) { +func (msg *Job_StatusReportOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2305,14 +2305,14 @@ func (msg *Job_AuthOp) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_AuthOp) UnmarshalJSON(b []byte) error { +func (msg *Job_StatusReportOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Job_AuthResult) MarshalJSON() ([]byte, error) { +func (msg *Job_StatusReportResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -2321,1022 +2321,14 @@ func (msg *Job_AuthResult) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Job_AuthResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_AuthResult_Result) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_AuthResult_Result) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_BuildOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_BuildOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_BuildResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_BuildResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PushOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PushOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PushResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PushResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DeployOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DeployOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DeployResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DeployResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ExecOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ExecOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ExecResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ExecResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_LogsOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_LogsOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DestroyOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DestroyOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ReleaseOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ReleaseOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ReleaseResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ReleaseResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_TaskPluginParams) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_TaskPluginParams) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_StartTaskLaunchOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_StartTaskLaunchOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_StartTaskResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_StartTaskResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_StopTaskLaunchOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_StopTaskLaunchOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_WatchTaskOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_WatchTaskOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_WatchTaskResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_WatchTaskResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_StatusReportOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_StatusReportOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_StatusReportResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_StatusReportResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DocsOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DocsOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DocsResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DocsResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DocsResult_Result) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DocsResult_Result) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ConfigSyncOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ConfigSyncOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ConfigSyncResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ConfigSyncResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PipelineConfigSyncResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PipelineConfigSyncResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_ProjectDestroyResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_ProjectDestroyResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PollOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PollOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PollResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PollResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_InitOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_InitOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_InitResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_InitResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PipelineStepOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PipelineStepOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_DestroyProjectOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_DestroyProjectOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_PipelineStepResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_PipelineStepResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_QueueProjectOp) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_QueueProjectOp) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_QueueProjectResult) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_QueueProjectResult) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Job_QueueProjectResult_Application) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Job_QueueProjectResult_Application) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Documentation) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Documentation) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Documentation_Field) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Documentation_Field) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Documentation_Mapper) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Documentation_Mapper) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobRequest) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobRequest) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *ListJobsRequest) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *ListJobsRequest) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *ListJobsResponse) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *ListJobsResponse) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamRequest) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamRequest) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Open) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Open) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_State) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_State) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_JobChange) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_JobChange) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Download) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Download) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_Status) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_Status) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_Line) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_Line) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_Raw) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_Raw) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_NamedValue) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_NamedValue) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_NamedValues) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_NamedValues) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_TableEntry) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_TableEntry) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_TableRow) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_TableRow) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_Table) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_Table) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_StepGroup) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_StepGroup) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Terminal_Event_Step) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Terminal_Event_Step) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Error) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Error) UnmarshalJSON(b []byte) error { +func (msg *Job_StatusReportResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetJobStreamResponse_Complete) MarshalJSON() ([]byte, error) { +func (msg *Job_DocsOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3345,14 +2337,14 @@ func (msg *GetJobStreamResponse_Complete) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetJobStreamResponse_Complete) UnmarshalJSON(b []byte) error { +func (msg *Job_DocsOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Runner) MarshalJSON() ([]byte, error) { +func (msg *Job_DocsResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3361,14 +2353,14 @@ func (msg *Runner) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Runner) UnmarshalJSON(b []byte) error { +func (msg *Job_DocsResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Runner_ODR) MarshalJSON() ([]byte, error) { +func (msg *Job_DocsResult_Result) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3377,14 +2369,14 @@ func (msg *Runner_ODR) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Runner_ODR) UnmarshalJSON(b []byte) error { +func (msg *Job_DocsResult_Result) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Runner_Local) MarshalJSON() ([]byte, error) { +func (msg *Job_ConfigSyncOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3393,14 +2385,14 @@ func (msg *Runner_Local) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Runner_Local) UnmarshalJSON(b []byte) error { +func (msg *Job_ConfigSyncOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Runner_Remote) MarshalJSON() ([]byte, error) { +func (msg *Job_ConfigSyncResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3409,14 +2401,14 @@ func (msg *Runner_Remote) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Runner_Remote) UnmarshalJSON(b []byte) error { +func (msg *Job_ConfigSyncResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerTokenRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_PipelineConfigSyncResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3425,14 +2417,14 @@ func (msg *RunnerTokenRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerTokenRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_PipelineConfigSyncResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerTokenResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_ProjectDestroyResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3441,14 +2433,14 @@ func (msg *RunnerTokenResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerTokenResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_ProjectDestroyResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_PollOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3457,14 +2449,14 @@ func (msg *RunnerConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_PollOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerConfigRequest_Open) MarshalJSON() ([]byte, error) { +func (msg *Job_PollResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3473,14 +2465,14 @@ func (msg *RunnerConfigRequest_Open) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerConfigRequest_Open) UnmarshalJSON(b []byte) error { +func (msg *Job_PollResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *Job_InitOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3489,14 +2481,14 @@ func (msg *RunnerConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *Job_InitOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerConfig) MarshalJSON() ([]byte, error) { +func (msg *Job_InitResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3505,14 +2497,14 @@ func (msg *RunnerConfig) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerConfig) UnmarshalJSON(b []byte) error { +func (msg *Job_InitResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest) MarshalJSON() ([]byte, error) { +func (msg *Job_PipelineStepOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3521,14 +2513,14 @@ func (msg *RunnerJobStreamRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest) UnmarshalJSON(b []byte) error { +func (msg *Job_PipelineStepOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_Request) MarshalJSON() ([]byte, error) { +func (msg *Job_DestroyProjectOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3537,14 +2529,14 @@ func (msg *RunnerJobStreamRequest_Request) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_Request) UnmarshalJSON(b []byte) error { +func (msg *Job_DestroyProjectOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_Ack) MarshalJSON() ([]byte, error) { +func (msg *Job_PipelineStepResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3553,14 +2545,14 @@ func (msg *RunnerJobStreamRequest_Ack) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_Ack) UnmarshalJSON(b []byte) error { +func (msg *Job_PipelineStepResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_Complete) MarshalJSON() ([]byte, error) { +func (msg *Job_QueueProjectOp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3569,14 +2561,14 @@ func (msg *RunnerJobStreamRequest_Complete) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_Complete) UnmarshalJSON(b []byte) error { +func (msg *Job_QueueProjectOp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_Error) MarshalJSON() ([]byte, error) { +func (msg *Job_QueueProjectResult) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3585,14 +2577,14 @@ func (msg *RunnerJobStreamRequest_Error) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_Error) UnmarshalJSON(b []byte) error { +func (msg *Job_QueueProjectResult) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_Heartbeat) MarshalJSON() ([]byte, error) { +func (msg *Job_QueueProjectResult_Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3601,14 +2593,14 @@ func (msg *RunnerJobStreamRequest_Heartbeat) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_Heartbeat) UnmarshalJSON(b []byte) error { +func (msg *Job_QueueProjectResult_Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_ConfigLoad) MarshalJSON() ([]byte, error) { +func (msg *Documentation) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3617,14 +2609,14 @@ func (msg *RunnerJobStreamRequest_ConfigLoad) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_ConfigLoad) UnmarshalJSON(b []byte) error { +func (msg *Documentation) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamRequest_VariableValuesSet) MarshalJSON() ([]byte, error) { +func (msg *Documentation_Field) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3633,14 +2625,14 @@ func (msg *RunnerJobStreamRequest_VariableValuesSet) MarshalJSON() ([]byte, erro } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamRequest_VariableValuesSet) UnmarshalJSON(b []byte) error { +func (msg *Documentation_Field) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamResponse) MarshalJSON() ([]byte, error) { +func (msg *Documentation_Mapper) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3649,14 +2641,14 @@ func (msg *RunnerJobStreamResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamResponse) UnmarshalJSON(b []byte) error { +func (msg *Documentation_Mapper) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamResponse_JobAssignment) MarshalJSON() ([]byte, error) { +func (msg *GetJobRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3665,14 +2657,14 @@ func (msg *RunnerJobStreamResponse_JobAssignment) MarshalJSON() ([]byte, error) } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamResponse_JobAssignment) UnmarshalJSON(b []byte) error { +func (msg *GetJobRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerJobStreamResponse_JobCancel) MarshalJSON() ([]byte, error) { +func (msg *ListJobsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3681,14 +2673,14 @@ func (msg *RunnerJobStreamResponse_JobCancel) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerJobStreamResponse_JobCancel) UnmarshalJSON(b []byte) error { +func (msg *ListJobsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerGetDeploymentConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *ListJobsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3697,14 +2689,14 @@ func (msg *RunnerGetDeploymentConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerGetDeploymentConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *ListJobsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunnerGetDeploymentConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3713,14 +2705,14 @@ func (msg *RunnerGetDeploymentConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunnerGetDeploymentConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetRunnerRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3729,14 +2721,14 @@ func (msg *GetRunnerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetRunnerRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListRunnersRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Open) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3745,14 +2737,14 @@ func (msg *ListRunnersRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListRunnersRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Open) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListRunnersResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_State) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3761,14 +2753,14 @@ func (msg *ListRunnersResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListRunnersResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_State) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *AdoptRunnerRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_JobChange) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3777,14 +2769,14 @@ func (msg *AdoptRunnerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AdoptRunnerRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_JobChange) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ForgetRunnerRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Download) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3793,14 +2785,14 @@ func (msg *ForgetRunnerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ForgetRunnerRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Download) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *SetServerConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3809,14 +2801,14 @@ func (msg *SetServerConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *SetServerConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetServerConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3825,14 +2817,14 @@ func (msg *GetServerConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetServerConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ServerConfig) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_Status) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3841,14 +2833,14 @@ func (msg *ServerConfig) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ServerConfig) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_Status) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ServerConfig_AdvertiseAddr) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_Line) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3857,14 +2849,14 @@ func (msg *ServerConfig_AdvertiseAddr) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ServerConfig_AdvertiseAddr) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_Line) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateHostnameRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_Raw) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3873,14 +2865,14 @@ func (msg *CreateHostnameRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateHostnameRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_Raw) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateHostnameResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_NamedValue) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3889,14 +2881,14 @@ func (msg *CreateHostnameResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateHostnameResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_NamedValue) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListHostnamesRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_NamedValues) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3905,14 +2897,14 @@ func (msg *ListHostnamesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListHostnamesRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_NamedValues) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListHostnamesResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_TableEntry) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3921,14 +2913,14 @@ func (msg *ListHostnamesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListHostnamesResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_TableEntry) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteHostnameRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_TableRow) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3937,14 +2929,14 @@ func (msg *DeleteHostnameRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteHostnameRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_TableRow) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Hostname) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_Table) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3953,14 +2945,14 @@ func (msg *Hostname) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Hostname) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_Table) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Hostname_Target) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_StepGroup) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3969,14 +2961,14 @@ func (msg *Hostname_Target) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Hostname_Target) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_StepGroup) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Hostname_TargetApp) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Terminal_Event_Step) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -3985,14 +2977,14 @@ func (msg *Hostname_TargetApp) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Hostname_TargetApp) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Terminal_Event_Step) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListWorkspacesRequest) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Error) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4001,14 +2993,14 @@ func (msg *ListWorkspacesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListWorkspacesRequest) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Error) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListWorkspacesResponse) MarshalJSON() ([]byte, error) { +func (msg *GetJobStreamResponse_Complete) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4017,14 +3009,14 @@ func (msg *ListWorkspacesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListWorkspacesResponse) UnmarshalJSON(b []byte) error { +func (msg *GetJobStreamResponse_Complete) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetWorkspaceRequest) MarshalJSON() ([]byte, error) { +func (msg *Runner) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4033,14 +3025,14 @@ func (msg *GetWorkspaceRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetWorkspaceRequest) UnmarshalJSON(b []byte) error { +func (msg *Runner) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetWorkspaceResponse) MarshalJSON() ([]byte, error) { +func (msg *Runner_ODR) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4049,14 +3041,14 @@ func (msg *GetWorkspaceResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetWorkspaceResponse) UnmarshalJSON(b []byte) error { +func (msg *Runner_ODR) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertWorkspaceRequest) MarshalJSON() ([]byte, error) { +func (msg *Runner_Local) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4065,14 +3057,14 @@ func (msg *UpsertWorkspaceRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertWorkspaceRequest) UnmarshalJSON(b []byte) error { +func (msg *Runner_Local) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertWorkspaceResponse) MarshalJSON() ([]byte, error) { +func (msg *Runner_Remote) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4081,14 +3073,14 @@ func (msg *UpsertWorkspaceResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertWorkspaceResponse) UnmarshalJSON(b []byte) error { +func (msg *Runner_Remote) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertProjectRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerTokenRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4097,14 +3089,14 @@ func (msg *UpsertProjectRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertProjectRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerTokenRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertProjectResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerTokenResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4113,14 +3105,14 @@ func (msg *UpsertProjectResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertProjectResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerTokenResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetProjectRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4129,14 +3121,14 @@ func (msg *GetProjectRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetProjectRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetProjectResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerConfigRequest_Open) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4145,14 +3137,14 @@ func (msg *GetProjectResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetProjectResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerConfigRequest_Open) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListProjectsRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4161,14 +3153,14 @@ func (msg *ListProjectsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListProjectsRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListProjectsResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerConfig) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4177,14 +3169,14 @@ func (msg *ListProjectsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListProjectsResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerConfig) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DestroyProjectRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4193,14 +3185,14 @@ func (msg *DestroyProjectRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DestroyProjectRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetApplicationRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_Request) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4209,14 +3201,14 @@ func (msg *GetApplicationRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetApplicationRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_Request) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetApplicationResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_Ack) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4225,14 +3217,14 @@ func (msg *GetApplicationResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetApplicationResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_Ack) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertApplicationRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_Complete) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4241,14 +3233,14 @@ func (msg *UpsertApplicationRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertApplicationRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_Complete) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertApplicationResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_Error) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4257,14 +3249,14 @@ func (msg *UpsertApplicationResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertApplicationResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_Error) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertBuildRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_Heartbeat) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4273,14 +3265,14 @@ func (msg *UpsertBuildRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertBuildRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_Heartbeat) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertBuildResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_ConfigLoad) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4289,14 +3281,14 @@ func (msg *UpsertBuildResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertBuildResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_ConfigLoad) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListBuildsRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamRequest_VariableValuesSet) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4305,14 +3297,14 @@ func (msg *ListBuildsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListBuildsRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamRequest_VariableValuesSet) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListBuildsResponse) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4321,14 +3313,14 @@ func (msg *ListBuildsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListBuildsResponse) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLatestBuildRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamResponse_JobAssignment) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4337,14 +3329,14 @@ func (msg *GetLatestBuildRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLatestBuildRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamResponse_JobAssignment) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetBuildRequest) MarshalJSON() ([]byte, error) { +func (msg *RunnerJobStreamResponse_JobCancel) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4353,14 +3345,14 @@ func (msg *GetBuildRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetBuildRequest) UnmarshalJSON(b []byte) error { +func (msg *RunnerJobStreamResponse_JobCancel) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Build) MarshalJSON() ([]byte, error) { +func (msg *RunnerGetDeploymentConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4369,14 +3361,14 @@ func (msg *Build) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Build) UnmarshalJSON(b []byte) error { +func (msg *RunnerGetDeploymentConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Build_Preload) MarshalJSON() ([]byte, error) { +func (msg *RunnerGetDeploymentConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4385,14 +3377,14 @@ func (msg *Build_Preload) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Build_Preload) UnmarshalJSON(b []byte) error { +func (msg *RunnerGetDeploymentConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Artifact) MarshalJSON() ([]byte, error) { +func (msg *GetRunnerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4401,14 +3393,14 @@ func (msg *Artifact) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Artifact) UnmarshalJSON(b []byte) error { +func (msg *GetRunnerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { +func (msg *ListRunnersRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4417,14 +3409,14 @@ func (msg *OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *OnDemandRunnerConfig) UnmarshalJSON(b []byte) error { +func (msg *ListRunnersRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *ListRunnersResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4433,14 +3425,14 @@ func (msg *UpsertOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *ListRunnersResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *AdoptRunnerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4449,14 +3441,14 @@ func (msg *UpsertOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *AdoptRunnerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *ForgetRunnerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4465,14 +3457,14 @@ func (msg *GetOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *ForgetRunnerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *SetServerConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4481,14 +3473,14 @@ func (msg *GetOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *SetServerConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *GetServerConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4497,14 +3489,14 @@ func (msg *DeleteOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *GetServerConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *ServerConfig) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4513,14 +3505,14 @@ func (msg *DeleteOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *ServerConfig) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListOnDemandRunnerConfigsResponse) MarshalJSON() ([]byte, error) { +func (msg *ServerConfig_AdvertiseAddr) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4529,14 +3521,14 @@ func (msg *ListOnDemandRunnerConfigsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListOnDemandRunnerConfigsResponse) UnmarshalJSON(b []byte) error { +func (msg *ServerConfig_AdvertiseAddr) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertPushedArtifactRequest) MarshalJSON() ([]byte, error) { +func (msg *CreateHostnameRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4545,14 +3537,14 @@ func (msg *UpsertPushedArtifactRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertPushedArtifactRequest) UnmarshalJSON(b []byte) error { +func (msg *CreateHostnameRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertPushedArtifactResponse) MarshalJSON() ([]byte, error) { +func (msg *CreateHostnameResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4561,14 +3553,14 @@ func (msg *UpsertPushedArtifactResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertPushedArtifactResponse) UnmarshalJSON(b []byte) error { +func (msg *CreateHostnameResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLatestPushedArtifactRequest) MarshalJSON() ([]byte, error) { +func (msg *ListHostnamesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4577,14 +3569,14 @@ func (msg *GetLatestPushedArtifactRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLatestPushedArtifactRequest) UnmarshalJSON(b []byte) error { +func (msg *ListHostnamesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPushedArtifactRequest) MarshalJSON() ([]byte, error) { +func (msg *ListHostnamesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4593,14 +3585,14 @@ func (msg *GetPushedArtifactRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPushedArtifactRequest) UnmarshalJSON(b []byte) error { +func (msg *ListHostnamesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPushedArtifactsRequest) MarshalJSON() ([]byte, error) { +func (msg *DeleteHostnameRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4609,14 +3601,14 @@ func (msg *ListPushedArtifactsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPushedArtifactsRequest) UnmarshalJSON(b []byte) error { +func (msg *DeleteHostnameRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPushedArtifactsResponse) MarshalJSON() ([]byte, error) { +func (msg *Hostname) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4625,14 +3617,14 @@ func (msg *ListPushedArtifactsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPushedArtifactsResponse) UnmarshalJSON(b []byte) error { +func (msg *Hostname) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *PushedArtifact) MarshalJSON() ([]byte, error) { +func (msg *Hostname_Target) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4641,14 +3633,14 @@ func (msg *PushedArtifact) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *PushedArtifact) UnmarshalJSON(b []byte) error { +func (msg *Hostname_Target) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *PushedArtifact_Preload) MarshalJSON() ([]byte, error) { +func (msg *Hostname_TargetApp) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4657,14 +3649,14 @@ func (msg *PushedArtifact_Preload) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *PushedArtifact_Preload) UnmarshalJSON(b []byte) error { +func (msg *Hostname_TargetApp) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLatestDeploymentRequest) MarshalJSON() ([]byte, error) { +func (msg *ListWorkspacesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4673,14 +3665,14 @@ func (msg *GetLatestDeploymentRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLatestDeploymentRequest) UnmarshalJSON(b []byte) error { +func (msg *ListWorkspacesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetDeploymentResponse) MarshalJSON() ([]byte, error) { +func (msg *ListWorkspacesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4689,14 +3681,14 @@ func (msg *GetDeploymentResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetDeploymentResponse) UnmarshalJSON(b []byte) error { +func (msg *ListWorkspacesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetDeploymentRequest) MarshalJSON() ([]byte, error) { +func (msg *GetWorkspaceRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4705,14 +3697,14 @@ func (msg *GetDeploymentRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetDeploymentRequest) UnmarshalJSON(b []byte) error { +func (msg *GetWorkspaceRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertDeploymentRequest) MarshalJSON() ([]byte, error) { +func (msg *GetWorkspaceResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4721,14 +3713,14 @@ func (msg *UpsertDeploymentRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertDeploymentRequest) UnmarshalJSON(b []byte) error { +func (msg *GetWorkspaceResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertDeploymentResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertWorkspaceRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4737,14 +3729,14 @@ func (msg *UpsertDeploymentResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertDeploymentResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertWorkspaceRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListDeploymentsRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertWorkspaceResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4753,14 +3745,14 @@ func (msg *ListDeploymentsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListDeploymentsRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertWorkspaceResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListDeploymentsResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertProjectRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4769,14 +3761,14 @@ func (msg *ListDeploymentsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListDeploymentsResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertProjectRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Deployment) MarshalJSON() ([]byte, error) { +func (msg *UpsertProjectResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4785,14 +3777,14 @@ func (msg *Deployment) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Deployment) UnmarshalJSON(b []byte) error { +func (msg *UpsertProjectResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Deployment_Preload) MarshalJSON() ([]byte, error) { +func (msg *GetProjectRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4801,14 +3793,14 @@ func (msg *Deployment_Preload) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Deployment_Preload) UnmarshalJSON(b []byte) error { +func (msg *GetProjectRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeploymentExpanded) MarshalJSON() ([]byte, error) { +func (msg *GetProjectResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4817,14 +3809,14 @@ func (msg *DeploymentExpanded) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeploymentExpanded) UnmarshalJSON(b []byte) error { +func (msg *GetProjectResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListInstancesRequest) MarshalJSON() ([]byte, error) { +func (msg *ListProjectsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4833,14 +3825,14 @@ func (msg *ListInstancesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListInstancesRequest) UnmarshalJSON(b []byte) error { +func (msg *ListProjectsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListInstancesRequest_Application) MarshalJSON() ([]byte, error) { +func (msg *ListProjectsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4849,14 +3841,14 @@ func (msg *ListInstancesRequest_Application) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListInstancesRequest_Application) UnmarshalJSON(b []byte) error { +func (msg *ListProjectsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListInstancesResponse) MarshalJSON() ([]byte, error) { +func (msg *DestroyProjectRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4865,14 +3857,14 @@ func (msg *ListInstancesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListInstancesResponse) UnmarshalJSON(b []byte) error { +func (msg *DestroyProjectRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Instance) MarshalJSON() ([]byte, error) { +func (msg *GetApplicationRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4881,14 +3873,14 @@ func (msg *Instance) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Instance) UnmarshalJSON(b []byte) error { +func (msg *GetApplicationRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertReleaseRequest) MarshalJSON() ([]byte, error) { +func (msg *GetApplicationResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4897,14 +3889,14 @@ func (msg *UpsertReleaseRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertReleaseRequest) UnmarshalJSON(b []byte) error { +func (msg *GetApplicationResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertReleaseResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertApplicationRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4913,14 +3905,14 @@ func (msg *UpsertReleaseResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertReleaseResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertApplicationRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLatestReleaseRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertApplicationResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4929,14 +3921,14 @@ func (msg *GetLatestReleaseRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLatestReleaseRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertApplicationResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListReleasesRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertBuildRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4945,14 +3937,14 @@ func (msg *ListReleasesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListReleasesRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertBuildRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListReleasesResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertBuildResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4961,14 +3953,14 @@ func (msg *ListReleasesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListReleasesResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertBuildResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetReleaseRequest) MarshalJSON() ([]byte, error) { +func (msg *ListBuildsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4977,14 +3969,14 @@ func (msg *GetReleaseRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetReleaseRequest) UnmarshalJSON(b []byte) error { +func (msg *ListBuildsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Release) MarshalJSON() ([]byte, error) { +func (msg *ListBuildsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -4993,14 +3985,14 @@ func (msg *Release) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Release) UnmarshalJSON(b []byte) error { +func (msg *ListBuildsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Release_Preload) MarshalJSON() ([]byte, error) { +func (msg *GetLatestBuildRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5009,14 +4001,14 @@ func (msg *Release_Preload) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Release_Preload) UnmarshalJSON(b []byte) error { +func (msg *GetLatestBuildRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ReleaseExpanded) MarshalJSON() ([]byte, error) { +func (msg *GetBuildRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5025,14 +4017,14 @@ func (msg *ReleaseExpanded) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ReleaseExpanded) UnmarshalJSON(b []byte) error { +func (msg *GetBuildRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Trigger) MarshalJSON() ([]byte, error) { +func (msg *Build) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5041,14 +4033,14 @@ func (msg *Trigger) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Trigger) UnmarshalJSON(b []byte) error { +func (msg *Build) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertTriggerRequest) MarshalJSON() ([]byte, error) { +func (msg *Build_Preload) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5057,14 +4049,14 @@ func (msg *UpsertTriggerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertTriggerRequest) UnmarshalJSON(b []byte) error { +func (msg *Build_Preload) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertTriggerResponse) MarshalJSON() ([]byte, error) { +func (msg *Artifact) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5073,14 +4065,14 @@ func (msg *UpsertTriggerResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertTriggerResponse) UnmarshalJSON(b []byte) error { +func (msg *Artifact) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTriggerRequest) MarshalJSON() ([]byte, error) { +func (msg *OnDemandRunnerConfig) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5089,14 +4081,14 @@ func (msg *GetTriggerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTriggerRequest) UnmarshalJSON(b []byte) error { +func (msg *OnDemandRunnerConfig) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTriggerResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5105,14 +4097,14 @@ func (msg *GetTriggerResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTriggerResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteTriggerRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5121,14 +4113,14 @@ func (msg *DeleteTriggerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteTriggerRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunTriggerRequest) MarshalJSON() ([]byte, error) { +func (msg *GetOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5137,14 +4129,14 @@ func (msg *RunTriggerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunTriggerRequest) UnmarshalJSON(b []byte) error { +func (msg *GetOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunTriggerResponse) MarshalJSON() ([]byte, error) { +func (msg *GetOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5153,14 +4145,14 @@ func (msg *RunTriggerResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunTriggerResponse) UnmarshalJSON(b []byte) error { +func (msg *GetOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListTriggerRequest) MarshalJSON() ([]byte, error) { +func (msg *DeleteOnDemandRunnerConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5169,14 +4161,14 @@ func (msg *ListTriggerRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListTriggerRequest) UnmarshalJSON(b []byte) error { +func (msg *DeleteOnDemandRunnerConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListTriggerResponse) MarshalJSON() ([]byte, error) { +func (msg *DeleteOnDemandRunnerConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5185,14 +4177,14 @@ func (msg *ListTriggerResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListTriggerResponse) UnmarshalJSON(b []byte) error { +func (msg *DeleteOnDemandRunnerConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertStatusReportRequest) MarshalJSON() ([]byte, error) { +func (msg *ListOnDemandRunnerConfigsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5201,14 +4193,14 @@ func (msg *UpsertStatusReportRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertStatusReportRequest) UnmarshalJSON(b []byte) error { +func (msg *ListOnDemandRunnerConfigsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertStatusReportResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertPushedArtifactRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5217,14 +4209,14 @@ func (msg *UpsertStatusReportResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertStatusReportResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertPushedArtifactRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLatestStatusReportRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertPushedArtifactResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5233,14 +4225,14 @@ func (msg *GetLatestStatusReportRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLatestStatusReportRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertPushedArtifactResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListStatusReportsRequest) MarshalJSON() ([]byte, error) { +func (msg *GetLatestPushedArtifactRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5249,14 +4241,14 @@ func (msg *ListStatusReportsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListStatusReportsRequest) UnmarshalJSON(b []byte) error { +func (msg *GetLatestPushedArtifactRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListStatusReportsResponse) MarshalJSON() ([]byte, error) { +func (msg *GetPushedArtifactRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5265,14 +4257,14 @@ func (msg *ListStatusReportsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListStatusReportsResponse) UnmarshalJSON(b []byte) error { +func (msg *GetPushedArtifactRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetStatusReportRequest) MarshalJSON() ([]byte, error) { +func (msg *ListPushedArtifactsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5281,14 +4273,14 @@ func (msg *GetStatusReportRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetStatusReportRequest) UnmarshalJSON(b []byte) error { +func (msg *ListPushedArtifactsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExpediteStatusReportRequest) MarshalJSON() ([]byte, error) { +func (msg *ListPushedArtifactsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5297,14 +4289,14 @@ func (msg *ExpediteStatusReportRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExpediteStatusReportRequest) UnmarshalJSON(b []byte) error { +func (msg *ListPushedArtifactsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExpediteStatusReportResponse) MarshalJSON() ([]byte, error) { +func (msg *PushedArtifact) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5313,14 +4305,14 @@ func (msg *ExpediteStatusReportResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExpediteStatusReportResponse) UnmarshalJSON(b []byte) error { +func (msg *PushedArtifact) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *StatusReport) MarshalJSON() ([]byte, error) { +func (msg *PushedArtifact_Preload) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5329,14 +4321,14 @@ func (msg *StatusReport) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *StatusReport) UnmarshalJSON(b []byte) error { +func (msg *PushedArtifact_Preload) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *StatusReport_Resource) MarshalJSON() ([]byte, error) { +func (msg *GetDeploymentRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5345,14 +4337,14 @@ func (msg *StatusReport_Resource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *StatusReport_Resource) UnmarshalJSON(b []byte) error { +func (msg *GetDeploymentRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *StatusReport_Health) MarshalJSON() ([]byte, error) { +func (msg *UpsertDeploymentRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5361,14 +4353,14 @@ func (msg *StatusReport_Health) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *StatusReport_Health) UnmarshalJSON(b []byte) error { +func (msg *UpsertDeploymentRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLogStreamRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertDeploymentResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5377,14 +4369,14 @@ func (msg *GetLogStreamRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLogStreamRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertDeploymentResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetLogStreamRequest_Application) MarshalJSON() ([]byte, error) { +func (msg *ListDeploymentsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5393,14 +4385,14 @@ func (msg *GetLogStreamRequest_Application) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetLogStreamRequest_Application) UnmarshalJSON(b []byte) error { +func (msg *ListDeploymentsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *LogBatch) MarshalJSON() ([]byte, error) { +func (msg *ListDeploymentsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5409,14 +4401,14 @@ func (msg *LogBatch) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *LogBatch) UnmarshalJSON(b []byte) error { +func (msg *ListDeploymentsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *LogBatch_Entry) MarshalJSON() ([]byte, error) { +func (msg *Deployment) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5425,14 +4417,14 @@ func (msg *LogBatch_Entry) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *LogBatch_Entry) UnmarshalJSON(b []byte) error { +func (msg *Deployment) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigVar) MarshalJSON() ([]byte, error) { +func (msg *Deployment_Preload) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5441,14 +4433,14 @@ func (msg *ConfigVar) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigVar) UnmarshalJSON(b []byte) error { +func (msg *Deployment_Preload) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigVar_DynamicVal) MarshalJSON() ([]byte, error) { +func (msg *DeploymentExpanded) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5457,14 +4449,14 @@ func (msg *ConfigVar_DynamicVal) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigVar_DynamicVal) UnmarshalJSON(b []byte) error { +func (msg *DeploymentExpanded) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigVar_Target) MarshalJSON() ([]byte, error) { +func (msg *ListInstancesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5473,14 +4465,14 @@ func (msg *ConfigVar_Target) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigVar_Target) UnmarshalJSON(b []byte) error { +func (msg *ListInstancesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigSetRequest) MarshalJSON() ([]byte, error) { +func (msg *ListInstancesRequest_Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5489,14 +4481,14 @@ func (msg *ConfigSetRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigSetRequest) UnmarshalJSON(b []byte) error { +func (msg *ListInstancesRequest_Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigSetResponse) MarshalJSON() ([]byte, error) { +func (msg *ListInstancesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5505,14 +4497,14 @@ func (msg *ConfigSetResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigSetResponse) UnmarshalJSON(b []byte) error { +func (msg *ListInstancesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigDeleteRequest) MarshalJSON() ([]byte, error) { +func (msg *Instance) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5521,14 +4513,14 @@ func (msg *ConfigDeleteRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigDeleteRequest) UnmarshalJSON(b []byte) error { +func (msg *Instance) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigDeleteResponse) MarshalJSON() ([]byte, error) { +func (msg *UpsertReleaseRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5537,14 +4529,14 @@ func (msg *ConfigDeleteResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigDeleteResponse) UnmarshalJSON(b []byte) error { +func (msg *UpsertReleaseRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigGetRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertReleaseResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5553,14 +4545,14 @@ func (msg *ConfigGetRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigGetRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertReleaseResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigGetResponse) MarshalJSON() ([]byte, error) { +func (msg *GetLatestReleaseRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5569,14 +4561,14 @@ func (msg *ConfigGetResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigGetResponse) UnmarshalJSON(b []byte) error { +func (msg *GetLatestReleaseRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigSource) MarshalJSON() ([]byte, error) { +func (msg *ListReleasesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5585,14 +4577,14 @@ func (msg *ConfigSource) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigSource) UnmarshalJSON(b []byte) error { +func (msg *ListReleasesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *SetConfigSourceRequest) MarshalJSON() ([]byte, error) { +func (msg *ListReleasesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5601,14 +4593,14 @@ func (msg *SetConfigSourceRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *SetConfigSourceRequest) UnmarshalJSON(b []byte) error { +func (msg *ListReleasesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteConfigSourceRequest) MarshalJSON() ([]byte, error) { +func (msg *GetReleaseRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5617,14 +4609,14 @@ func (msg *DeleteConfigSourceRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteConfigSourceRequest) UnmarshalJSON(b []byte) error { +func (msg *GetReleaseRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetConfigSourceRequest) MarshalJSON() ([]byte, error) { +func (msg *Release) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5633,14 +4625,14 @@ func (msg *GetConfigSourceRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetConfigSourceRequest) UnmarshalJSON(b []byte) error { +func (msg *Release) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetConfigSourceResponse) MarshalJSON() ([]byte, error) { +func (msg *Release_Preload) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5649,14 +4641,14 @@ func (msg *GetConfigSourceResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetConfigSourceResponse) UnmarshalJSON(b []byte) error { +func (msg *Release_Preload) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamRequest) MarshalJSON() ([]byte, error) { +func (msg *ReleaseExpanded) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5665,14 +4657,14 @@ func (msg *ExecStreamRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamRequest) UnmarshalJSON(b []byte) error { +func (msg *ReleaseExpanded) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamRequest_Start) MarshalJSON() ([]byte, error) { +func (msg *Trigger) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5681,14 +4673,14 @@ func (msg *ExecStreamRequest_Start) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamRequest_Start) UnmarshalJSON(b []byte) error { +func (msg *Trigger) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamRequest_Input) MarshalJSON() ([]byte, error) { +func (msg *UpsertTriggerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5697,14 +4689,14 @@ func (msg *ExecStreamRequest_Input) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamRequest_Input) UnmarshalJSON(b []byte) error { +func (msg *UpsertTriggerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamRequest_PTY) MarshalJSON() ([]byte, error) { +func (msg *UpsertTriggerResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5713,14 +4705,14 @@ func (msg *ExecStreamRequest_PTY) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamRequest_PTY) UnmarshalJSON(b []byte) error { +func (msg *UpsertTriggerResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamRequest_WindowSize) MarshalJSON() ([]byte, error) { +func (msg *GetTriggerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5729,14 +4721,14 @@ func (msg *ExecStreamRequest_WindowSize) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamRequest_WindowSize) UnmarshalJSON(b []byte) error { +func (msg *GetTriggerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamResponse) MarshalJSON() ([]byte, error) { +func (msg *GetTriggerResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5745,14 +4737,14 @@ func (msg *ExecStreamResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamResponse) UnmarshalJSON(b []byte) error { +func (msg *GetTriggerResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamResponse_Open) MarshalJSON() ([]byte, error) { +func (msg *DeleteTriggerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5761,14 +4753,14 @@ func (msg *ExecStreamResponse_Open) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamResponse_Open) UnmarshalJSON(b []byte) error { +func (msg *DeleteTriggerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamResponse_Exit) MarshalJSON() ([]byte, error) { +func (msg *RunTriggerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5777,14 +4769,14 @@ func (msg *ExecStreamResponse_Exit) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamResponse_Exit) UnmarshalJSON(b []byte) error { +func (msg *RunTriggerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ExecStreamResponse_Output) MarshalJSON() ([]byte, error) { +func (msg *RunTriggerResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5793,14 +4785,14 @@ func (msg *ExecStreamResponse_Output) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ExecStreamResponse_Output) UnmarshalJSON(b []byte) error { +func (msg *RunTriggerResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfigRequest) MarshalJSON() ([]byte, error) { +func (msg *ListTriggerRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5809,14 +4801,14 @@ func (msg *EntrypointConfigRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfigRequest) UnmarshalJSON(b []byte) error { +func (msg *ListTriggerRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfigResponse) MarshalJSON() ([]byte, error) { +func (msg *ListTriggerResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5825,14 +4817,14 @@ func (msg *EntrypointConfigResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfigResponse) UnmarshalJSON(b []byte) error { +func (msg *ListTriggerResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfig) MarshalJSON() ([]byte, error) { +func (msg *UpsertStatusReportRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5841,14 +4833,14 @@ func (msg *EntrypointConfig) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfig) UnmarshalJSON(b []byte) error { +func (msg *UpsertStatusReportRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfig_Exec) MarshalJSON() ([]byte, error) { +func (msg *UpsertStatusReportResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5857,14 +4849,14 @@ func (msg *EntrypointConfig_Exec) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfig_Exec) UnmarshalJSON(b []byte) error { +func (msg *UpsertStatusReportResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfig_URLService) MarshalJSON() ([]byte, error) { +func (msg *GetLatestStatusReportRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5873,14 +4865,14 @@ func (msg *EntrypointConfig_URLService) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfig_URLService) UnmarshalJSON(b []byte) error { +func (msg *GetLatestStatusReportRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointConfig_DeploymentInfo) MarshalJSON() ([]byte, error) { +func (msg *ListStatusReportsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5889,14 +4881,14 @@ func (msg *EntrypointConfig_DeploymentInfo) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointConfig_DeploymentInfo) UnmarshalJSON(b []byte) error { +func (msg *ListStatusReportsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointLogBatch) MarshalJSON() ([]byte, error) { +func (msg *ListStatusReportsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5905,14 +4897,14 @@ func (msg *EntrypointLogBatch) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointLogBatch) UnmarshalJSON(b []byte) error { +func (msg *ListStatusReportsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecRequest) MarshalJSON() ([]byte, error) { +func (msg *GetStatusReportRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5921,14 +4913,14 @@ func (msg *EntrypointExecRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecRequest) UnmarshalJSON(b []byte) error { +func (msg *GetStatusReportRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecRequest_Open) MarshalJSON() ([]byte, error) { +func (msg *ExpediteStatusReportRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5937,14 +4929,14 @@ func (msg *EntrypointExecRequest_Open) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecRequest_Open) UnmarshalJSON(b []byte) error { +func (msg *ExpediteStatusReportRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecRequest_Exit) MarshalJSON() ([]byte, error) { +func (msg *ExpediteStatusReportResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5953,14 +4945,14 @@ func (msg *EntrypointExecRequest_Exit) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecRequest_Exit) UnmarshalJSON(b []byte) error { +func (msg *ExpediteStatusReportResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecRequest_Output) MarshalJSON() ([]byte, error) { +func (msg *StatusReport) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5969,14 +4961,14 @@ func (msg *EntrypointExecRequest_Output) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecRequest_Output) UnmarshalJSON(b []byte) error { +func (msg *StatusReport) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecRequest_Error) MarshalJSON() ([]byte, error) { +func (msg *StatusReport_Resource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -5985,14 +4977,14 @@ func (msg *EntrypointExecRequest_Error) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecRequest_Error) UnmarshalJSON(b []byte) error { +func (msg *StatusReport_Resource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *EntrypointExecResponse) MarshalJSON() ([]byte, error) { +func (msg *StatusReport_Health) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6001,14 +4993,14 @@ func (msg *EntrypointExecResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *EntrypointExecResponse) UnmarshalJSON(b []byte) error { +func (msg *StatusReport_Health) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline) MarshalJSON() ([]byte, error) { +func (msg *GetLogStreamRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6017,14 +5009,14 @@ func (msg *Pipeline) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline) UnmarshalJSON(b []byte) error { +func (msg *GetLogStreamRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step) MarshalJSON() ([]byte, error) { +func (msg *GetLogStreamRequest_Application) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6033,14 +5025,14 @@ func (msg *Pipeline_Step) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step) UnmarshalJSON(b []byte) error { +func (msg *GetLogStreamRequest_Application) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Exec) MarshalJSON() ([]byte, error) { +func (msg *LogBatch) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6049,14 +5041,14 @@ func (msg *Pipeline_Step_Exec) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Exec) UnmarshalJSON(b []byte) error { +func (msg *LogBatch) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Build) MarshalJSON() ([]byte, error) { +func (msg *LogBatch_Entry) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6065,14 +5057,14 @@ func (msg *Pipeline_Step_Build) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Build) UnmarshalJSON(b []byte) error { +func (msg *LogBatch_Entry) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Deploy) MarshalJSON() ([]byte, error) { +func (msg *ConfigVar) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6081,14 +5073,14 @@ func (msg *Pipeline_Step_Deploy) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Deploy) UnmarshalJSON(b []byte) error { +func (msg *ConfigVar) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Release) MarshalJSON() ([]byte, error) { +func (msg *ConfigVar_DynamicVal) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6097,14 +5089,14 @@ func (msg *Pipeline_Step_Release) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Release) UnmarshalJSON(b []byte) error { +func (msg *ConfigVar_DynamicVal) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Up) MarshalJSON() ([]byte, error) { +func (msg *ConfigVar_Target) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6113,14 +5105,14 @@ func (msg *Pipeline_Step_Up) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Up) UnmarshalJSON(b []byte) error { +func (msg *ConfigVar_Target) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *Pipeline_Step_Pipeline) MarshalJSON() ([]byte, error) { +func (msg *ConfigSetRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6129,14 +5121,14 @@ func (msg *Pipeline_Step_Pipeline) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *Pipeline_Step_Pipeline) UnmarshalJSON(b []byte) error { +func (msg *ConfigSetRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *PipelineRun) MarshalJSON() ([]byte, error) { +func (msg *ConfigSetResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6145,14 +5137,14 @@ func (msg *PipelineRun) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *PipelineRun) UnmarshalJSON(b []byte) error { +func (msg *ConfigSetResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertPipelineRequest) MarshalJSON() ([]byte, error) { +func (msg *ConfigDeleteRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6161,14 +5153,14 @@ func (msg *UpsertPipelineRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertPipelineRequest) UnmarshalJSON(b []byte) error { +func (msg *ConfigDeleteRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpsertPipelineResponse) MarshalJSON() ([]byte, error) { +func (msg *ConfigDeleteResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6177,14 +5169,14 @@ func (msg *UpsertPipelineResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpsertPipelineResponse) UnmarshalJSON(b []byte) error { +func (msg *ConfigDeleteResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPipelineRequest) MarshalJSON() ([]byte, error) { +func (msg *ConfigGetRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6193,14 +5185,14 @@ func (msg *GetPipelineRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPipelineRequest) UnmarshalJSON(b []byte) error { +func (msg *ConfigGetRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPipelineResponse) MarshalJSON() ([]byte, error) { +func (msg *ConfigGetResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6209,14 +5201,14 @@ func (msg *GetPipelineResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPipelineResponse) UnmarshalJSON(b []byte) error { +func (msg *ConfigGetResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPipelineResponse_Graph) MarshalJSON() ([]byte, error) { +func (msg *ConfigSource) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6225,14 +5217,14 @@ func (msg *GetPipelineResponse_Graph) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPipelineResponse_Graph) UnmarshalJSON(b []byte) error { +func (msg *ConfigSource) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunPipelineRequest) MarshalJSON() ([]byte, error) { +func (msg *SetConfigSourceRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6241,14 +5233,14 @@ func (msg *RunPipelineRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunPipelineRequest) UnmarshalJSON(b []byte) error { +func (msg *SetConfigSourceRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *RunPipelineResponse) MarshalJSON() ([]byte, error) { +func (msg *DeleteConfigSourceRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6257,14 +5249,14 @@ func (msg *RunPipelineResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *RunPipelineResponse) UnmarshalJSON(b []byte) error { +func (msg *DeleteConfigSourceRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPipelinesRequest) MarshalJSON() ([]byte, error) { +func (msg *GetConfigSourceRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6273,14 +5265,14 @@ func (msg *ListPipelinesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPipelinesRequest) UnmarshalJSON(b []byte) error { +func (msg *GetConfigSourceRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPipelinesResponse) MarshalJSON() ([]byte, error) { +func (msg *GetConfigSourceResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6289,14 +5281,14 @@ func (msg *ListPipelinesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPipelinesResponse) UnmarshalJSON(b []byte) error { +func (msg *GetConfigSourceResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPipelineRunsRequest) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6305,14 +5297,14 @@ func (msg *ListPipelineRunsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPipelineRunsRequest) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListPipelineRunsResponse) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamRequest_Start) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6321,14 +5313,14 @@ func (msg *ListPipelineRunsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListPipelineRunsResponse) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamRequest_Start) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPipelineRunRequest) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamRequest_Input) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6337,14 +5329,14 @@ func (msg *GetPipelineRunRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPipelineRunRequest) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamRequest_Input) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetPipelineRunResponse) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamRequest_PTY) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6353,14 +5345,14 @@ func (msg *GetPipelineRunResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetPipelineRunResponse) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamRequest_PTY) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigSyncPipelineRequest) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamRequest_WindowSize) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6369,14 +5361,14 @@ func (msg *ConfigSyncPipelineRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigSyncPipelineRequest) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamRequest_WindowSize) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ConfigSyncPipelineResponse) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6385,14 +5377,14 @@ func (msg *ConfigSyncPipelineResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ConfigSyncPipelineResponse) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetProjectTemplateRequest) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamResponse_Open) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6401,14 +5393,14 @@ func (msg *GetProjectTemplateRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetProjectTemplateRequest) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamResponse_Open) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetProjectTemplateResponse) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamResponse_Exit) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6417,14 +5409,14 @@ func (msg *GetProjectTemplateResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetProjectTemplateResponse) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamResponse_Exit) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListProjectTemplatesRequest) MarshalJSON() ([]byte, error) { +func (msg *ExecStreamResponse_Output) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6433,14 +5425,14 @@ func (msg *ListProjectTemplatesRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListProjectTemplatesRequest) UnmarshalJSON(b []byte) error { +func (msg *ExecStreamResponse_Output) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListProjectTemplatesResponse) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfigRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6449,14 +5441,14 @@ func (msg *ListProjectTemplatesResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListProjectTemplatesResponse) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfigRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateProjectTemplateRequest) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfigResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6465,14 +5457,14 @@ func (msg *CreateProjectTemplateRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateProjectTemplateRequest) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfigResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateProjectTemplateResponse) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfig) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6481,14 +5473,14 @@ func (msg *CreateProjectTemplateResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateProjectTemplateResponse) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfig) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateProjectTemplateRequest) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfig_Exec) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6497,14 +5489,14 @@ func (msg *UpdateProjectTemplateRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateProjectTemplateRequest) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfig_Exec) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateProjectTemplateResponse) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfig_URLService) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6513,14 +5505,14 @@ func (msg *UpdateProjectTemplateResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateProjectTemplateResponse) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfig_URLService) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteProjectTemplateRequest) MarshalJSON() ([]byte, error) { +func (msg *EntrypointConfig_DeploymentInfo) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6529,14 +5521,14 @@ func (msg *DeleteProjectTemplateRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteProjectTemplateRequest) UnmarshalJSON(b []byte) error { +func (msg *EntrypointConfig_DeploymentInfo) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteProjectTemplateResponse) MarshalJSON() ([]byte, error) { +func (msg *EntrypointLogBatch) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6545,14 +5537,14 @@ func (msg *DeleteProjectTemplateResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteProjectTemplateResponse) UnmarshalJSON(b []byte) error { +func (msg *EntrypointLogBatch) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ProjectTemplate) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6561,14 +5553,14 @@ func (msg *ProjectTemplate) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ProjectTemplate) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ProjectTemplate_WaypointProject) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecRequest_Open) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6577,14 +5569,14 @@ func (msg *ProjectTemplate_WaypointProject) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ProjectTemplate_WaypointProject) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecRequest_Open) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ProjectTemplate_TerraformNocodeModule) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecRequest_Exit) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6593,14 +5585,14 @@ func (msg *ProjectTemplate_TerraformNocodeModule) MarshalJSON() ([]byte, error) } // UnmarshalJSON implements json.Unmarshaler -func (msg *ProjectTemplate_TerraformNocodeModule) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecRequest_Exit) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *TerraformNocodeModule) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecRequest_Output) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6609,14 +5601,14 @@ func (msg *TerraformNocodeModule) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *TerraformNocodeModule) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecRequest_Output) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecRequest_Error) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6625,14 +5617,14 @@ func (msg *GetAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAddOnDefinitionRequest) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecRequest_Error) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { +func (msg *EntrypointExecResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6641,14 +5633,14 @@ func (msg *GetAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAddOnDefinitionResponse) UnmarshalJSON(b []byte) error { +func (msg *EntrypointExecResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListAddOnDefinitionsRequest) MarshalJSON() ([]byte, error) { +func (msg *Pipeline) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6657,14 +5649,14 @@ func (msg *ListAddOnDefinitionsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListAddOnDefinitionsRequest) UnmarshalJSON(b []byte) error { +func (msg *Pipeline) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListAddOnDefinitionsResponse) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6673,14 +5665,14 @@ func (msg *ListAddOnDefinitionsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListAddOnDefinitionsResponse) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Exec) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6689,14 +5681,14 @@ func (msg *CreateAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateAddOnDefinitionRequest) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Exec) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Build) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6705,14 +5697,14 @@ func (msg *CreateAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateAddOnDefinitionResponse) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Build) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Deploy) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6721,14 +5713,14 @@ func (msg *UpdateAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateAddOnDefinitionRequest) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Deploy) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Release) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6737,14 +5729,14 @@ func (msg *UpdateAddOnDefinitionResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateAddOnDefinitionResponse) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Release) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DeleteAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Up) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6753,14 +5745,14 @@ func (msg *DeleteAddOnDefinitionRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DeleteAddOnDefinitionRequest) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Up) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateAddOnRequest) MarshalJSON() ([]byte, error) { +func (msg *Pipeline_Step_Pipeline) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6769,14 +5761,14 @@ func (msg *CreateAddOnRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateAddOnRequest) UnmarshalJSON(b []byte) error { +func (msg *Pipeline_Step_Pipeline) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateAddOnResponse) MarshalJSON() ([]byte, error) { +func (msg *PipelineRun) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6785,14 +5777,14 @@ func (msg *CreateAddOnResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateAddOnResponse) UnmarshalJSON(b []byte) error { +func (msg *PipelineRun) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *DestroyAddOnRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertPipelineRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6801,14 +5793,14 @@ func (msg *DestroyAddOnRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *DestroyAddOnRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertPipelineRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAddOnRequest) MarshalJSON() ([]byte, error) { +func (msg *UpsertPipelineResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6817,14 +5809,14 @@ func (msg *GetAddOnRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAddOnRequest) UnmarshalJSON(b []byte) error { +func (msg *UpsertPipelineResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetAddOnResponse) MarshalJSON() ([]byte, error) { +func (msg *GetPipelineRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6833,14 +5825,14 @@ func (msg *GetAddOnResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetAddOnResponse) UnmarshalJSON(b []byte) error { +func (msg *GetPipelineRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateAddOnRequest) MarshalJSON() ([]byte, error) { +func (msg *GetPipelineResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6849,14 +5841,14 @@ func (msg *UpdateAddOnRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateAddOnRequest) UnmarshalJSON(b []byte) error { +func (msg *GetPipelineResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *UpdateAddOnResponse) MarshalJSON() ([]byte, error) { +func (msg *GetPipelineResponse_Graph) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6865,14 +5857,14 @@ func (msg *UpdateAddOnResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *UpdateAddOnResponse) UnmarshalJSON(b []byte) error { +func (msg *GetPipelineResponse_Graph) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListAddOnsRequest) MarshalJSON() ([]byte, error) { +func (msg *RunPipelineRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6881,14 +5873,14 @@ func (msg *ListAddOnsRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListAddOnsRequest) UnmarshalJSON(b []byte) error { +func (msg *RunPipelineRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *ListAddOnsResponse) MarshalJSON() ([]byte, error) { +func (msg *RunPipelineResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6897,14 +5889,14 @@ func (msg *ListAddOnsResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *ListAddOnsResponse) UnmarshalJSON(b []byte) error { +func (msg *RunPipelineResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTFRunStatusRequest) MarshalJSON() ([]byte, error) { +func (msg *ListPipelinesRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6913,14 +5905,14 @@ func (msg *GetTFRunStatusRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTFRunStatusRequest) UnmarshalJSON(b []byte) error { +func (msg *ListPipelinesRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTFRunStatusResponse) MarshalJSON() ([]byte, error) { +func (msg *ListPipelinesResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6929,14 +5921,14 @@ func (msg *GetTFRunStatusResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTFRunStatusResponse) UnmarshalJSON(b []byte) error { +func (msg *ListPipelinesResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *AddOn) MarshalJSON() ([]byte, error) { +func (msg *ListPipelineRunsRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6945,14 +5937,14 @@ func (msg *AddOn) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AddOn) UnmarshalJSON(b []byte) error { +func (msg *ListPipelineRunsRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *AddOnDefinition) MarshalJSON() ([]byte, error) { +func (msg *ListPipelineRunsResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6961,14 +5953,14 @@ func (msg *AddOnDefinition) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AddOnDefinition) UnmarshalJSON(b []byte) error { +func (msg *ListPipelineRunsResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTFCRunStatusRequest) MarshalJSON() ([]byte, error) { +func (msg *GetPipelineRunRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6977,14 +5969,14 @@ func (msg *GetTFCRunStatusRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTFCRunStatusRequest) UnmarshalJSON(b []byte) error { +func (msg *GetPipelineRunRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *GetTFCRunStatusResponse) MarshalJSON() ([]byte, error) { +func (msg *GetPipelineRunResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -6993,14 +5985,14 @@ func (msg *GetTFCRunStatusResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GetTFCRunStatusResponse) UnmarshalJSON(b []byte) error { +func (msg *GetPipelineRunResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateProjectFromTemplateRequest) MarshalJSON() ([]byte, error) { +func (msg *ConfigSyncPipelineRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -7009,14 +6001,14 @@ func (msg *CreateProjectFromTemplateRequest) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateProjectFromTemplateRequest) UnmarshalJSON(b []byte) error { +func (msg *ConfigSyncPipelineRequest) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) } // MarshalJSON implements json.Marshaler -func (msg *CreateProjectFromTemplateResponse) MarshalJSON() ([]byte, error) { +func (msg *ConfigSyncPipelineResponse) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ UseEnumNumbers: false, EmitUnpopulated: false, @@ -7025,7 +6017,7 @@ func (msg *CreateProjectFromTemplateResponse) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *CreateProjectFromTemplateResponse) UnmarshalJSON(b []byte) error { +func (msg *ConfigSyncPipelineResponse) UnmarshalJSON(b []byte) error { return protojson.UnmarshalOptions{ DiscardUnknown: false, }.Unmarshal(b, msg) @@ -7526,19 +6518,3 @@ func (msg *PaginationResponse) UnmarshalJSON(b []byte) error { DiscardUnknown: false, }.Unmarshal(b, msg) } - -// MarshalJSON implements json.Marshaler -func (msg *SortingRequest) MarshalJSON() ([]byte, error) { - return protojson.MarshalOptions{ - UseEnumNumbers: false, - EmitUnpopulated: false, - UseProtoNames: false, - }.Marshal(msg) -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *SortingRequest) UnmarshalJSON(b []byte) error { - return protojson.UnmarshalOptions{ - DiscardUnknown: false, - }.Unmarshal(b, msg) -} diff --git a/pkg/server/gen/server.swagger.json b/pkg/server/gen/server.swagger.json index 9251223d924..c84d03750fe 100644 --- a/pkg/server/gen/server.swagger.json +++ b/pkg/server/gen/server.swagger.json @@ -11,15 +11,15 @@ "application/json" ], "paths": { - "/add-on": { - "post": { - "summary": "CreateAddOn adds an Add-on to a project from an Add-on definition", - "operationId": "Waypoint_CreateAddOn", + "/artifact/{ref.id}": { + "get": { + "summary": "GetPushedArtifact returns a deployment", + "operationId": "Waypoint_GetPushedArtifact", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateAddOnResponse" + "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" } }, "default": { @@ -31,26 +31,45 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ref.id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateAddOnRequest" - } + "type": "string" + }, + { + "name": "ref.sequence.application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ "Waypoint" ] - }, - "put": { - "summary": "UpdateAddOn updates an existing Add-on", - "operationId": "Waypoint_UpdateAddOn", + } + }, + "/auth-method": { + "post": { + "summary": "UpsertAuthMethod upserts the auth method. All users logged in with\nthis auth method will remain logged in even if settings change.", + "operationId": "Waypoint_UpsertAuthMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateAddOnResponse" + "$ref": "#/definitions/hashicorp.waypoint.UpsertAuthMethodResponse" } }, "default": { @@ -66,7 +85,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateAddOnRequest" + "$ref": "#/definitions/hashicorp.waypoint.UpsertAuthMethodRequest" } } ], @@ -75,15 +94,15 @@ ] } }, - "/add-on-definition": { - "post": { - "summary": "CreateAddOnDefinition creates a new Add-on definition", - "operationId": "Waypoint_CreateAddOnDefinition", + "/auth-method/{auth_method.name}": { + "get": { + "summary": "GetAuthMethod returns the auth method.", + "operationId": "Waypoint_GetAuthMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateAddOnDefinitionResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetAuthMethodResponse" } }, "default": { @@ -95,26 +114,24 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "auth_method.name", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateAddOnDefinitionRequest" - } + "type": "string" } ], "tags": [ "Waypoint" ] }, - "put": { - "summary": "UpdateAddOnDefinition updates an existing Add-on definition", - "operationId": "Waypoint_UpdateAddOnDefinition", + "delete": { + "summary": "Delete an auth method. This will invalidate all users authenticated\nusing this auth method and they will have to reauthenticate some other\nway.", + "operationId": "Waypoint_DeleteAuthMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateAddOnDefinitionResponse" + "properties": {} } }, "default": { @@ -126,12 +143,10 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "auth_method.name", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateAddOnDefinitionRequest" - } + "type": "string" } ], "tags": [ @@ -139,15 +154,15 @@ ] } }, - "/add-on-definition/by-id/{add_on_definition.id}": { + "/auth-methods": { "get": { - "summary": "GetAddOnDefinition returns an Add-on definition, referenced by name or ID", - "operationId": "Waypoint_GetAddOnDefinition", + "summary": "ListAuthMethods returns a list of all the auth methods.", + "operationId": "Waypoint_ListAuthMethods", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetAddOnDefinitionResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListAuthMethodsResponse" } }, "default": { @@ -157,32 +172,20 @@ } } }, - "parameters": [ - { - "name": "add_on_definition.id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "add_on_definition.name", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ "Waypoint" ] - }, - "delete": { - "summary": "DeleteAddOnDefinition deletes an existing Add-on definition", - "operationId": "Waypoint_DeleteAddOnDefinition", + } + }, + "/build/{ref.id}": { + "get": { + "summary": "GetBuild returns a build", + "operationId": "Waypoint_GetBuild", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.Build" } }, "default": { @@ -194,16 +197,29 @@ }, "parameters": [ { - "name": "add_on_definition.id", + "name": "ref.id", "in": "path", "required": true, "type": "string" }, { - "name": "add_on_definition.name", + "name": "ref.sequence.application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.application.project", "in": "query", "required": false, "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -211,15 +227,15 @@ ] } }, - "/add-on-definition/by-name/{add_on_definition.name}": { + "/config-source": { "get": { - "summary": "GetAddOnDefinition returns an Add-on definition, referenced by name or ID", - "operationId": "Waypoint_GetAddOnDefinition2", + "summary": "Get the matching configuration source for the request. This will return\nthe most specific matching config source given the scope in the request.\nFor example, if you search for an app-specific config source and only\na global config exists, the global config will be returned.", + "operationId": "Waypoint_GetConfigSource", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetAddOnDefinitionResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetConfigSourceResponse" } }, "default": { @@ -231,13 +247,38 @@ }, "parameters": [ { - "name": "add_on_definition.name", - "in": "path", - "required": true, + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "all", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "workspace.workspace", + "in": "query", + "required": false, "type": "string" }, { - "name": "add_on_definition.id", + "name": "type", + "description": "config source type. This is optional. If this is omitted, all\nconfig source types matching the above scoping will be returned.\nThis is a prefix-search. All config sources with this type prefix\nwill be returned.", "in": "query", "required": false, "type": "string" @@ -247,9 +288,9 @@ "Waypoint" ] }, - "delete": { - "summary": "DeleteAddOnDefinition deletes an existing Add-on definition", - "operationId": "Waypoint_DeleteAddOnDefinition2", + "put": { + "summary": "Set the configuration for a dynamic configuration source. If you're looking\nto set application configuration, you probably want SetConfig instead.", + "operationId": "Waypoint_SetConfigSource", "responses": { "200": { "description": "A successful response.", @@ -266,16 +307,12 @@ }, "parameters": [ { - "name": "add_on_definition.name", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "add_on_definition.id", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.SetConfigSourceRequest" + } } ], "tags": [ @@ -283,15 +320,15 @@ ] } }, - "/add-on-definitions": { - "get": { - "summary": "ListAddOnDefinitions returns all existing Add-on definitions", - "operationId": "Waypoint_ListAddOnDefinitions", + "/config-source/delete": { + "put": { + "summary": "Delete the configuration for a dynamic configuration source", + "operationId": "Waypoint_DeleteConfigSource", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListAddOnDefinitionsResponse" + "properties": {} } }, "default": { @@ -303,26 +340,12 @@ }, "parameters": [ { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.DeleteConfigSourceRequest" + } } ], "tags": [ @@ -330,15 +353,15 @@ ] } }, - "/add-on/{add_on.id}": { - "get": { - "summary": "GetAddOn returns an existing Add-on", - "operationId": "Waypoint_GetAddOn", + "/deployment/{deployment.id}/status-report": { + "put": { + "summary": "ExpediteStatusReport returns the queued status report job id", + "operationId": "Waypoint_ExpediteStatusReport", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetAddOnResponse" + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" } }, "default": { @@ -350,30 +373,43 @@ }, "parameters": [ { - "name": "add_on.id", + "name": "deployment.id", "in": "path", "required": true, "type": "string" }, { - "name": "add_on.name", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" + } } ], "tags": [ "Waypoint" ] - }, - "delete": { - "summary": "DestroyAddOn destroys an existing Add-on", - "operationId": "Waypoint_DestroyAddOn", + } + }, + "/deployment/{deployment_id}/logs": { + "post": { + "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", + "operationId": "Waypoint_GetLogStream", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "properties": {} + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/hashicorp.waypoint.LogBatch" + }, + "error": { + "$ref": "#/definitions/grpc.gateway.runtime.StreamError" + } + }, + "title": "Stream result of hashicorp.waypoint.LogBatch" } }, "default": { @@ -385,16 +421,19 @@ }, "parameters": [ { - "name": "add_on.id", + "name": "deployment_id", + "description": "Deployment to request logs for.", "in": "path", "required": true, "type": "string" }, { - "name": "add_on.name", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" + } } ], "tags": [ @@ -402,15 +441,15 @@ ] } }, - "/add-ons": { + "/deployment/{ref.id}": { "get": { - "summary": "ListAddOns returns all existing Add-ons", - "operationId": "Waypoint_ListAddOns", + "summary": "GetDeployment returns a deployment", + "operationId": "Waypoint_GetDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListAddOnsResponse" + "$ref": "#/definitions/hashicorp.waypoint.Deployment" } }, "default": { @@ -422,32 +461,42 @@ }, "parameters": [ { - "name": "project.project", - "in": "query", - "required": false, + "name": "ref.id", + "in": "path", + "required": true, "type": "string" }, { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "name": "ref.sequence.application.application", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" }, { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "name": "ref.sequence.application.project", "in": "query", "required": false, "type": "string" }, { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "name": "ref.sequence.number", "in": "query", "required": false, - "type": "string" + "type": "string", + "format": "uint64" + }, + { + "name": "load_details", + "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -455,15 +504,24 @@ ] } }, - "/artifact/{ref.id}": { - "get": { - "summary": "GetPushedArtifact returns a deployment", - "operationId": "Waypoint_GetPushedArtifact", + "/exec": { + "post": { + "summary": "StartExecStream starts an exec session.", + "operationId": "Waypoint_StartExecStream", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/hashicorp.waypoint.ExecStreamResponse" + }, + "error": { + "$ref": "#/definitions/grpc.gateway.runtime.StreamError" + } + }, + "title": "Stream result of hashicorp.waypoint.ExecStreamResponse" } }, "default": { @@ -475,29 +533,13 @@ }, "parameters": [ { - "name": "ref.id", - "in": "path", + "name": "body", + "description": " (streaming inputs)", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "ref.sequence.application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ExecStreamRequest" + } } ], "tags": [ @@ -505,15 +547,15 @@ ] } }, - "/auth-method": { + "/hcl/format": { "post": { - "summary": "UpsertAuthMethod upserts the auth method. All users logged in with\nthis auth method will remain logged in even if settings change.", - "operationId": "Waypoint_UpsertAuthMethod", + "summary": "WaypointHclFmt formats a waypoint.hcl file. This must be in HCL format.\nJSON formatting is not supported.", + "operationId": "Waypoint_WaypointHclFmt", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertAuthMethodResponse" + "$ref": "#/definitions/hashicorp.waypoint.WaypointHclFmtResponse" } }, "default": { @@ -529,7 +571,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertAuthMethodRequest" + "$ref": "#/definitions/hashicorp.waypoint.WaypointHclFmtRequest" } } ], @@ -538,15 +580,15 @@ ] } }, - "/auth-method/{auth_method.name}": { - "get": { - "summary": "GetAuthMethod returns the auth method.", - "operationId": "Waypoint_GetAuthMethod", + "/hostname/{hostname}": { + "delete": { + "summary": "Delete a hostname with the URL service.", + "operationId": "Waypoint_DeleteHostname", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetAuthMethodResponse" + "properties": {} } }, "default": { @@ -558,7 +600,7 @@ }, "parameters": [ { - "name": "auth_method.name", + "name": "hostname", "in": "path", "required": true, "type": "string" @@ -567,15 +609,17 @@ "tags": [ "Waypoint" ] - }, - "delete": { - "summary": "Delete an auth method. This will invalidate all users authenticated\nusing this auth method and they will have to reauthenticate some other\nway.", - "operationId": "Waypoint_DeleteAuthMethod", + } + }, + "/instances/{deployment_id}": { + "get": { + "summary": "ListInstances returns the running instances of deployments.", + "operationId": "Waypoint_ListInstances", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" } }, "default": { @@ -587,10 +631,36 @@ }, "parameters": [ { - "name": "auth_method.name", + "name": "deployment_id", + "description": "List instances for a specific deployment.", "in": "path", "required": true, "type": "string" + }, + { + "name": "application.application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.workspace.workspace", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "wait_timeout", + "description": "Time to wait before retrying a request to connect to requested instance.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -598,15 +668,16 @@ ] } }, - "/auth-methods": { - "get": { - "summary": "ListAuthMethods returns a list of all the auth methods.", - "operationId": "Waypoint_ListAuthMethods", + "/jobs/cancel/{job_id}": { + "put": { + "summary": "CancelJob cancels a job. If the job is still queued this is a quick\nand easy operation. If the job is already completed, then this does\nnothing. If the job is assigned or running, then this will signal\nthe runner about the cancellation but it may take time.", + "description": "This RPC always returns immediately. You must use GetJob or GetJobStream\nto wait on the status of the cancellation.", + "operationId": "Waypoint_CancelJob", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListAuthMethodsResponse" + "properties": {} } }, "default": { @@ -616,20 +687,37 @@ } } }, + "parameters": [ + { + "name": "job_id", + "description": "The job to cancel", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.CancelJobRequest" + } + } + ], "tags": [ "Waypoint" ] } }, - "/build/{ref.id}": { + "/jobs/project/{project.project}": { "get": { - "summary": "GetBuild returns a build", - "operationId": "Waypoint_GetBuild", + "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", + "operationId": "Waypoint_ListJobs3", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Build" + "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" } }, "default": { @@ -641,88 +729,100 @@ }, "parameters": [ { - "name": "ref.id", + "name": "project.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "workspace.workspace", "in": "query", "required": false, "type": "string" }, { - "name": "ref.sequence.application.project", + "name": "application.application", "in": "query", "required": false, "type": "string" }, { - "name": "ref.sequence.number", + "name": "application.project", "in": "query", "required": false, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/config-source": { - "get": { - "summary": "Get the matching configuration source for the request. This will return\nthe most specific matching config source given the scope in the request.\nFor example, if you search for an app-specific config source and only\na global config exists, the global config will be returned.", - "operationId": "Waypoint_GetConfigSource", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetConfigSourceResponse" - } + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ { - "name": "project.project", + "name": "targetRunner.id.id", "in": "query", "required": false, "type": "string" }, { - "name": "application.application", + "name": "pipeline.pipeline_id", + "description": "ID of the pipeline.", "in": "query", "required": false, "type": "string" }, { - "name": "application.project", + "name": "pipeline.pipeline_name", + "description": "Name of the pipeline.", "in": "query", "required": false, "type": "string" }, { - "name": "all", + "name": "pipeline.step", + "description": "Step name within the pipeline.", "in": "query", "required": false, - "type": "boolean" + "type": "string" }, { - "name": "workspace.workspace", + "name": "pipeline.run_sequence", + "description": "Pipeline run sequence.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "jobState", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "QUEUED", + "WAITING", + "RUNNING", + "ERROR", + "SUCCESS" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", "in": "query", "required": false, "type": "string" }, { - "name": "type", - "description": "config source type. This is optional. If this is omitted, all\nconfig source types matching the above scoping will be returned.\nThis is a prefix-search. All config sources with this type prefix\nwill be returned.", + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", "in": "query", "required": false, "type": "string" @@ -731,15 +831,17 @@ "tags": [ "Waypoint" ] - }, - "put": { - "summary": "Set the configuration for a dynamic configuration source. If you're looking\nto set application configuration, you probably want SetConfig instead.", - "operationId": "Waypoint_SetConfigSource", + } + }, + "/jobs/queue": { + "post": { + "summary": "QueueJob queues a job for execution by a runner. This will return as\nsoon as the job is queued, it will not wait for execution.", + "operationId": "Waypoint_QueueJob", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.QueueJobResponse" } }, "default": { @@ -755,7 +857,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.SetConfigSourceRequest" + "$ref": "#/definitions/hashicorp.waypoint.QueueJobRequest" } } ], @@ -764,15 +866,15 @@ ] } }, - "/config-source/delete": { - "put": { - "summary": "Delete the configuration for a dynamic configuration source", - "operationId": "Waypoint_DeleteConfigSource", + "/jobs/runner/by-id/{targetRunner.id.id}": { + "get": { + "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", + "operationId": "Waypoint_ListJobs5", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" } }, "default": { @@ -784,12 +886,103 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "targetRunner.id.id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.DeleteConfigSourceRequest" - } + "type": "string" + }, + { + "name": "workspace.workspace", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_id", + "description": "ID of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_name", + "description": "Name of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.step", + "description": "Step name within the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.run_sequence", + "description": "Pipeline run sequence.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "jobState", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "QUEUED", + "WAITING", + "RUNNING", + "ERROR", + "SUCCESS" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -797,15 +990,15 @@ ] } }, - "/deployment/{deployment.id}/status-report": { - "put": { - "summary": "ExpediteStatusReport returns the queued status report job id", - "operationId": "Waypoint_ExpediteStatusReport", + "/jobs/state/{jobState}": { + "get": { + "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", + "operationId": "Waypoint_ListJobs4", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" } }, "default": { @@ -817,18 +1010,104 @@ }, "parameters": [ { - "name": "deployment.id", + "name": "jobState", "in": "path", "required": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "QUEUED", + "WAITING", + "RUNNING", + "ERROR", + "SUCCESS" + ] + }, + "collectionFormat": "csv", + "minItems": 1 + }, + { + "name": "workspace.workspace", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" - } + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "targetRunner.id.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_id", + "description": "ID of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_name", + "description": "Name of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.step", + "description": "Step name within the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.run_sequence", + "description": "Pipeline run sequence.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -836,10 +1115,10 @@ ] } }, - "/deployment/{deployment_id}/logs": { - "post": { - "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", - "operationId": "Waypoint_GetLogStream", + "/jobs/stream/{job_id}": { + "get": { + "summary": "GetJobStream opens a job event stream for a running job. This can be\nused to listen for terminal output and other events of a running job.\nMultiple listeners can open a job stream.", + "operationId": "Waypoint_GetJobStream", "responses": { "200": { "description": "A successful response.(streaming responses)", @@ -847,13 +1126,13 @@ "type": "object", "properties": { "result": { - "$ref": "#/definitions/hashicorp.waypoint.LogBatch" + "$ref": "#/definitions/hashicorp.waypoint.GetJobStreamResponse" }, "error": { "$ref": "#/definitions/grpc.gateway.runtime.StreamError" } }, - "title": "Stream result of hashicorp.waypoint.LogBatch" + "title": "Stream result of hashicorp.waypoint.GetJobStreamResponse" } }, "default": { @@ -865,19 +1144,10 @@ }, "parameters": [ { - "name": "deployment_id", - "description": "Deployment to request logs for.", + "name": "job_id", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" - } } ], "tags": [ @@ -885,1717 +1155,15 @@ ] } }, - "/deployment/{ref.id}": { - "get": { - "summary": "GetDeployment returns a deployment", - "operationId": "Waypoint_GetDeployment", + "/jobs/validateJob": { + "post": { + "summary": "ValidateJob checks if a job appears valid. This will check the job\nstructure itself (i.e. missing fields) and can also check to ensure\nthe job is assignable to a runner.", + "operationId": "Waypoint_ValidateJob", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Deployment" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "ref.id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "ref.sequence.application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "load_details", - "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/exec": { - "post": { - "summary": "StartExecStream starts an exec session.", - "operationId": "Waypoint_StartExecStream", - "responses": { - "200": { - "description": "A successful response.(streaming responses)", - "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/hashicorp.waypoint.ExecStreamResponse" - }, - "error": { - "$ref": "#/definitions/grpc.gateway.runtime.StreamError" - } - }, - "title": "Stream result of hashicorp.waypoint.ExecStreamResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "description": " (streaming inputs)", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExecStreamRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/hcl/format": { - "post": { - "summary": "WaypointHclFmt formats a waypoint.hcl file. This must be in HCL format.\nJSON formatting is not supported.", - "operationId": "Waypoint_WaypointHclFmt", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.WaypointHclFmtResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.WaypointHclFmtRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/hostname/{hostname}": { - "delete": { - "summary": "Delete a hostname with the URL service.", - "operationId": "Waypoint_DeleteHostname", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "hostname", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/instances/{deployment_id}": { - "get": { - "summary": "ListInstances returns the running instances of deployments.", - "operationId": "Waypoint_ListInstances", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "deployment_id", - "description": "List instances for a specific deployment.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "wait_timeout", - "description": "Time to wait before retrying a request to connect to requested instance.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/cancel/{job_id}": { - "put": { - "summary": "CancelJob cancels a job. If the job is still queued this is a quick\nand easy operation. If the job is already completed, then this does\nnothing. If the job is assigned or running, then this will signal\nthe runner about the cancellation but it may take time.", - "description": "This RPC always returns immediately. You must use GetJob or GetJobStream\nto wait on the status of the cancellation.", - "operationId": "Waypoint_CancelJob", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "job_id", - "description": "The job to cancel", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CancelJobRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/project/{project.project}": { - "get": { - "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", - "operationId": "Waypoint_ListJobs3", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "project.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "targetRunner.id.id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_id", - "description": "ID of the current pipeline (the one containing the current step).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_name", - "description": "Name of the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.step", - "description": "Step name within the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.run_sequence", - "description": "Run sequence for the root pipeline.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.root_pipeline_id", - "description": "Name of the root pipeline (the one invoked in `waypoint pipeline run `).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.root_pipeline_name", - "description": "Name of the root pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "jobState", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "WAITING", - "RUNNING", - "ERROR", - "SUCCESS" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/queue": { - "post": { - "summary": "QueueJob queues a job for execution by a runner. This will return as\nsoon as the job is queued, it will not wait for execution.", - "operationId": "Waypoint_QueueJob", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.QueueJobResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.QueueJobRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/runner/by-id/{targetRunner.id.id}": { - "get": { - "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", - "operationId": "Waypoint_ListJobs5", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "targetRunner.id.id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_id", - "description": "ID of the current pipeline (the one containing the current step).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_name", - "description": "Name of the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.step", - "description": "Step name within the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.run_sequence", - "description": "Run sequence for the root pipeline.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.root_pipeline_id", - "description": "Name of the root pipeline (the one invoked in `waypoint pipeline run `).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.root_pipeline_name", - "description": "Name of the root pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "jobState", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "WAITING", - "RUNNING", - "ERROR", - "SUCCESS" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/state/{jobState}": { - "get": { - "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", - "operationId": "Waypoint_ListJobs4", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "jobState", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "WAITING", - "RUNNING", - "ERROR", - "SUCCESS" - ] - }, - "collectionFormat": "csv", - "minItems": 1 - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "targetRunner.id.id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_id", - "description": "ID of the current pipeline (the one containing the current step).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_name", - "description": "Name of the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.step", - "description": "Step name within the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.run_sequence", - "description": "Run sequence for the root pipeline.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.root_pipeline_id", - "description": "Name of the root pipeline (the one invoked in `waypoint pipeline run `).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.root_pipeline_name", - "description": "Name of the root pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/stream/{job_id}": { - "get": { - "summary": "GetJobStream opens a job event stream for a running job. This can be\nused to listen for terminal output and other events of a running job.\nMultiple listeners can open a job stream.", - "operationId": "Waypoint_GetJobStream", - "responses": { - "200": { - "description": "A successful response.(streaming responses)", - "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/hashicorp.waypoint.GetJobStreamResponse" - }, - "error": { - "$ref": "#/definitions/grpc.gateway.runtime.StreamError" - } - }, - "title": "Stream result of hashicorp.waypoint.GetJobStreamResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "job_id", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/validateJob": { - "post": { - "summary": "ValidateJob checks if a job appears valid. This will check the job\nstructure itself (i.e. missing fields) and can also check to ensure\nthe job is assignable to a runner.", - "operationId": "Waypoint_ValidateJob", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ValidateJobResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ValidateJobRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/workspace/{workspace.workspace}": { - "get": { - "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", - "operationId": "Waypoint_ListJobs", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "workspace.workspace", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "targetRunner.id.id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_id", - "description": "ID of the current pipeline (the one containing the current step).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_name", - "description": "Name of the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.step", - "description": "Step name within the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.run_sequence", - "description": "Run sequence for the root pipeline.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.root_pipeline_id", - "description": "Name of the root pipeline (the one invoked in `waypoint pipeline run `).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.root_pipeline_name", - "description": "Name of the root pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "jobState", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "WAITING", - "RUNNING", - "ERROR", - "SUCCESS" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/workspace/{workspace.workspace}/state/{jobState}": { - "get": { - "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", - "operationId": "Waypoint_ListJobs2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "workspace.workspace", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "jobState", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "WAITING", - "RUNNING", - "ERROR", - "SUCCESS" - ] - }, - "collectionFormat": "csv", - "minItems": 1 - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "targetRunner.id.id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_id", - "description": "ID of the current pipeline (the one containing the current step).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.pipeline_name", - "description": "Name of the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.step", - "description": "Step name within the current pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.run_sequence", - "description": "Run sequence for the root pipeline.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.root_pipeline_id", - "description": "Name of the root pipeline (the one invoked in `waypoint pipeline run `).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.root_pipeline_name", - "description": "Name of the root pipeline.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/jobs/{job_id}": { - "get": { - "summary": "GetJob queries a job by ID.", - "operationId": "Waypoint_GetJob", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Job" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "job_id", - "description": "ID of the job to request.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/oidc/methods": { - "get": { - "summary": "List the available OIDC providers for authentication. The \"name\" of the\nOIDC provider can be used with GetOIDCAuthURL and CompleteOIDCAuth to\nperform OIDC-based authentication.", - "operationId": "Waypoint_ListOIDCAuthMethods", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListOIDCAuthMethodsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Waypoint" - ] - } - }, - "/oidc/{auth_method.name}/complete": { - "post": { - "summary": "Complete the OIDC auth cycle after receiving the callback from the\nOIDC provider.", - "operationId": "Waypoint_CompleteOIDCAuth", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CompleteOIDCAuthResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "auth_method.name", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CompleteOIDCAuthRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/oidc/{auth_method.name}/url": { - "post": { - "summary": "Get the URL to visit to start authentication with OIDC.", - "operationId": "Waypoint_GetOIDCAuthURL", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetOIDCAuthURLResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "auth_method.name", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetOIDCAuthURLRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/on-demand-runner/by-id/{config.id}": { - "get": { - "summary": "GetOnDemandRunnerConfig returns the on-demand runner configuration.", - "operationId": "Waypoint_GetOnDemandRunnerConfig", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetOnDemandRunnerConfigResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "config.id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "config.name", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/on-demand-runner/by-name/{config.name}": { - "get": { - "summary": "GetOnDemandRunnerConfig returns the on-demand runner configuration.", - "operationId": "Waypoint_GetOnDemandRunnerConfig2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetOnDemandRunnerConfigResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "config.name", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "config.id", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/on-demand-runners": { - "get": { - "summary": "ListOnDemandRunnerConfigs returns a list of all the on-demand runners configs.", - "operationId": "Waypoint_ListOnDemandRunnerConfigs", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListOnDemandRunnerConfigsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Waypoint" - ] - } - }, - "/pipeline/{pipeline.id}": { - "get": { - "summary": "GetPipeline returns a pipeline proto by pipeline ref id", - "operationId": "Waypoint_GetPipeline2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pipeline.owner.project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/pipeline/{pipeline.id}/latest-run": { - "get": { - "summary": "GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence", - "operationId": "Waypoint_GetLatestPipelineRun2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pipeline.owner.project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/pipeline/{pipeline.id}/run": { - "post": { - "summary": "RunPipeline queues a pipeline execution.", - "operationId": "Waypoint_RunPipeline2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunPipelineResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunPipelineRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/pipeline/{pipeline.id}/run/{sequence}": { - "get": { - "summary": "GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence", - "operationId": "Waypoint_GetPipelineRun2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "sequence", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.owner.project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/pipeline/{pipeline.id}/runs": { - "get": { - "summary": "ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline.\nIt will return an error if the requested pipeline does not exist, or an empty response\nif there are no runs for the pipeline.", - "operationId": "Waypoint_ListPipelineRuns2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListPipelineRunsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pipeline.owner.project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project": { - "post": { - "summary": "UpsertProject upserts the project.", - "operationId": "Waypoint_UpsertProject", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertProjectResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertProjectRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project-template": { - "post": { - "summary": "CreateProjectTemplate creates a new projecttemplate.", - "operationId": "Waypoint_CreateProjectTemplate", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateProjectTemplateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateProjectTemplateRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project-template/by-name/{project_template.name}": { - "get": { - "summary": "GetProjectTemplate returns a projecttemplate by the projecttemplate name or id", - "operationId": "Waypoint_GetProjectTemplate2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetProjectTemplateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "project_template.name", - "description": "Name of the ProjectTemplate", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "project_template.id", - "description": "ID of the ProjectTemplate.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project-template/{project_template.id}": { - "get": { - "summary": "GetProjectTemplate returns a projecttemplate by the projecttemplate name or id", - "operationId": "Waypoint_GetProjectTemplate", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetProjectTemplateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "project_template.id", - "description": "ID of the ProjectTemplate", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "project_template.name", - "description": "Name of the ProjectTemplate.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - }, - "delete": { - "summary": "DeleteProjectTemplate deletes a projecttemplate by the projecttemplate name or id", - "operationId": "Waypoint_DeleteProjectTemplate", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "project_template.id", - "description": "ID of the ProjectTemplate", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "project_template.name", - "description": "Name of the ProjectTemplate.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - }, - "put": { - "summary": "UpdateProjectTemplate updates an existing projecttemplate.", - "operationId": "Waypoint_UpdateProjectTemplate", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateProjectTemplateResponse" + "$ref": "#/definitions/hashicorp.waypoint.ValidateJobResponse" } }, "default": { @@ -2606,19 +1174,12 @@ } }, "parameters": [ - { - "name": "project_template.id", - "description": "Unique ID of the ProjectTemplate", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateProjectTemplateRequest" + "$ref": "#/definitions/hashicorp.waypoint.ValidateJobRequest" } } ], @@ -2627,15 +1188,15 @@ ] } }, - "/project-templates": { + "/jobs/workspace/{workspace.workspace}": { "get": { - "summary": "ListProjectTemplates returns a list of all projecttemplates known.\n(Pagination is currently ignored on this request)", - "operationId": "Waypoint_ListProjectTemplates", + "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", + "operationId": "Waypoint_ListJobs", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListProjectTemplatesResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" } }, "default": { @@ -2646,6 +1207,83 @@ } }, "parameters": [ + { + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "targetRunner.id.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_id", + "description": "ID of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_name", + "description": "Name of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.step", + "description": "Step name within the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.run_sequence", + "description": "Pipeline run sequence.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "jobState", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "QUEUED", + "WAITING", + "RUNNING", + "ERROR", + "SUCCESS" + ] + }, + "collectionFormat": "multi" + }, { "name": "pagination.page_size", "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", @@ -2674,15 +1312,15 @@ ] } }, - "/project/config": { - "put": { - "summary": "Set one or more configuration variables for applications or runners.", - "operationId": "Waypoint_SetConfig", + "/jobs/workspace/{workspace.workspace}/state/{jobState}": { + "get": { + "summary": "ListJobs will return a list of jobs known to Waypoint server. Can be filtered\nby request on values like workspace, project, application, job state, etc.", + "operationId": "Waypoint_ListJobs2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigSetResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListJobsResponse" } }, "default": { @@ -2694,12 +1332,104 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "workspace.workspace", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigSetRequest" - } + "type": "string" + }, + { + "name": "jobState", + "in": "path", + "required": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "QUEUED", + "WAITING", + "RUNNING", + "ERROR", + "SUCCESS" + ] + }, + "collectionFormat": "csv", + "minItems": 1 + }, + { + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "targetRunner.id.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_id", + "description": "ID of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.pipeline_name", + "description": "Name of the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.step", + "description": "Step name within the pipeline.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pipeline.run_sequence", + "description": "Pipeline run sequence.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -2707,15 +1437,15 @@ ] } }, - "/project/config/delete": { - "put": { - "summary": "Delete one or more configuration variables for applications or runners.", - "operationId": "Waypoint_DeleteConfig", + "/jobs/{job_id}": { + "get": { + "summary": "GetJob queries a job by ID.", + "operationId": "Waypoint_GetJob", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigDeleteResponse" + "$ref": "#/definitions/hashicorp.waypoint.Job" } }, "default": { @@ -2727,12 +1457,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "job_id", + "description": "ID of the job to request.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigDeleteRequest" - } + "type": "string" } ], "tags": [ @@ -2740,15 +1469,15 @@ ] } }, - "/project/from-template": { - "post": { - "summary": "CreateProjectFromTemplate is in BETA. It creates a new Waypoint project\nfrom a Project Template, provisioning infrastructure before upserting the\nWaypoint project to the database", - "operationId": "Waypoint_CreateProjectFromTemplate", + "/oidc/methods": { + "get": { + "summary": "List the available OIDC providers for authentication. The \"name\" of the\nOIDC provider can be used with GetOIDCAuthURL and CompleteOIDCAuth to\nperform OIDC-based authentication.", + "operationId": "Waypoint_ListOIDCAuthMethods", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateProjectFromTemplateResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListOIDCAuthMethodsResponse" } }, "default": { @@ -2757,31 +1486,21 @@ "$ref": "#/definitions/grpc.gateway.runtime.Error" } } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateProjectFromTemplateRequest" - } - } - ], + }, "tags": [ "Waypoint" ] } }, - "/project/{application.application.project}/application/{application.application.application}/instances": { - "get": { - "summary": "ListInstances returns the running instances of deployments.", - "operationId": "Waypoint_ListInstances2", + "/oidc/{auth_method.name}/complete": { + "post": { + "summary": "Complete the OIDC auth cycle after receiving the callback from the\nOIDC provider.", + "operationId": "Waypoint_CompleteOIDCAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" + "$ref": "#/definitions/hashicorp.waypoint.CompleteOIDCAuthResponse" } }, "default": { @@ -2793,36 +1512,18 @@ }, "parameters": [ { - "name": "application.application.project", + "name": "auth_method.name", "in": "path", "required": true, "type": "string" }, { - "name": "application.application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "deployment_id", - "description": "List instances for a specific deployment.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "wait_timeout", - "description": "Time to wait before retrying a request to connect to requested instance.", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.CompleteOIDCAuthRequest" + } } ], "tags": [ @@ -2830,24 +1531,15 @@ ] } }, - "/project/{application.application.project}/application/{application.application.application}/logs": { + "/oidc/{auth_method.name}/url": { "post": { - "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", - "operationId": "Waypoint_GetLogStream2", + "summary": "Get the URL to visit to start authentication with OIDC.", + "operationId": "Waypoint_GetOIDCAuthURL", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/hashicorp.waypoint.LogBatch" - }, - "error": { - "$ref": "#/definitions/grpc.gateway.runtime.StreamError" - } - }, - "title": "Stream result of hashicorp.waypoint.LogBatch" + "$ref": "#/definitions/hashicorp.waypoint.GetOIDCAuthURLResponse" } }, "default": { @@ -2859,13 +1551,7 @@ }, "parameters": [ { - "name": "application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application.application", + "name": "auth_method.name", "in": "path", "required": true, "type": "string" @@ -2875,7 +1561,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" + "$ref": "#/definitions/hashicorp.waypoint.GetOIDCAuthURLRequest" } } ], @@ -2884,15 +1570,15 @@ ] } }, - "/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances": { + "/on-demand-runner/by-id/{config.id}": { "get": { - "summary": "ListInstances returns the running instances of deployments.", - "operationId": "Waypoint_ListInstances3", + "summary": "GetOnDemandRunnerConfig returns the on-demand runner configuration.", + "operationId": "Waypoint_GetOnDemandRunnerConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetOnDemandRunnerConfigResponse" } }, "default": { @@ -2904,33 +1590,13 @@ }, "parameters": [ { - "name": "application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application.application", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.workspace.workspace", + "name": "config.id", "in": "path", "required": true, "type": "string" }, { - "name": "deployment_id", - "description": "List instances for a specific deployment.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "wait_timeout", - "description": "Time to wait before retrying a request to connect to requested instance.", + "name": "config.name", "in": "query", "required": false, "type": "string" @@ -2941,24 +1607,15 @@ ] } }, - "/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/logs": { - "post": { - "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", - "operationId": "Waypoint_GetLogStream3", + "/on-demand-runner/by-name/{config.name}": { + "get": { + "summary": "GetOnDemandRunnerConfig returns the on-demand runner configuration.", + "operationId": "Waypoint_GetOnDemandRunnerConfig2", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/hashicorp.waypoint.LogBatch" - }, - "error": { - "$ref": "#/definitions/grpc.gateway.runtime.StreamError" - } - }, - "title": "Stream result of hashicorp.waypoint.LogBatch" + "$ref": "#/definitions/hashicorp.waypoint.GetOnDemandRunnerConfigResponse" } }, "default": { @@ -2970,30 +1627,16 @@ }, "parameters": [ { - "name": "application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application.application", + "name": "config.name", "in": "path", "required": true, "type": "string" }, { - "name": "application.workspace.workspace", - "in": "path", - "required": true, + "name": "config.id", + "in": "query", + "required": false, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" - } } ], "tags": [ @@ -3001,15 +1644,15 @@ ] } }, - "/project/{application.project}/application/{application.application}": { + "/on-demand-runners": { "get": { - "summary": "GetApplication returns one application on the project.", - "operationId": "Waypoint_GetApplication", + "summary": "ListOnDemandRunnerConfigs returns a list of all the on-demand runners configs.", + "operationId": "Waypoint_ListOnDemandRunnerConfigs", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetApplicationResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListOnDemandRunnerConfigsResponse" } }, "default": { @@ -3019,34 +1662,20 @@ } } }, - "parameters": [ - { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Waypoint" ] } }, - "/project/{application.project}/application/{application.application}/artifact/latest": { + "/pipeline/{pipeline.id}": { "get": { - "summary": "GetLatestPushedArtifact returns the most recent successfully completed\nartifact push for an app.", - "operationId": "Waypoint_GetLatestPushedArtifact", + "summary": "GetPipeline returns a pipeline proto by pipeline ref id", + "operationId": "Waypoint_GetPipeline2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineResponse" } }, "default": { @@ -3058,19 +1687,21 @@ }, "parameters": [ { - "name": "application.project", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", - "in": "path", - "required": true, + "name": "pipeline.owner.project.project", + "in": "query", + "required": false, "type": "string" }, { - "name": "workspace.workspace", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config.", "in": "query", "required": false, "type": "string" @@ -3081,15 +1712,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/artifacts": { + "/pipeline/{pipeline.id}/latest-run": { "get": { - "summary": "ListPushedArtifacts returns the builds.", - "operationId": "Waypoint_ListPushedArtifacts", + "summary": "GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence", + "operationId": "Waypoint_GetLatestPipelineRun2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListPushedArtifactsResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" } }, "default": { @@ -3101,56 +1732,24 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", + "name": "pipeline.owner.project.project", "in": "query", "required": false, "type": "string" }, { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "include_build", - "description": "Indicate if the Build value should be returned for each\nof the artifacts as well.", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config.", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ @@ -3158,15 +1757,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/build/latest": { - "get": { - "summary": "GetLatestBuild returns the most recent successfully completed build\nfor an app.", - "operationId": "Waypoint_GetLatestBuild", + "/pipeline/{pipeline.id}/run": { + "post": { + "summary": "RunPipeline queues a pipeline execution.", + "operationId": "Waypoint_RunPipeline2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Build" + "$ref": "#/definitions/hashicorp.waypoint.RunPipelineResponse" } }, "default": { @@ -3178,22 +1777,19 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.RunPipelineRequest" + } } ], "tags": [ @@ -3201,15 +1797,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/builds": { + "/pipeline/{pipeline.id}/run/{sequence}": { "get": { - "summary": "ListBuilds returns the builds.", - "operationId": "Waypoint_ListBuilds", + "summary": "GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence", + "operationId": "Waypoint_GetPipelineRun2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListBuildsResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" } }, "default": { @@ -3221,49 +1817,31 @@ }, "parameters": [ { - "name": "application.project", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", + "name": "sequence", "in": "path", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" + "format": "uint64" }, { - "name": "order.desc", + "name": "pipeline.owner.project.project", "in": "query", "required": false, - "type": "boolean" + "type": "string" }, { - "name": "order.limit", - "description": "Limit the number of results.", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config.", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" } ], "tags": [ @@ -3271,15 +1849,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/config": { + "/pipeline/{pipeline.id}/runs": { "get": { - "summary": "Retrieve merged configuration values for a specific scope. You can determine\nwhere a configuration variable was set by looking at the scope field on\neach variable.", - "operationId": "Waypoint_GetConfig", + "summary": "ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline.\nIt will return an error if the requested pipeline does not exist, or an empty response\nif there are no runs for the pipeline.", + "operationId": "Waypoint_ListPipelineRuns2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigGetResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListPipelineRunsResponse" } }, "default": { @@ -3291,38 +1869,21 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "path", "required": true, "type": "string" }, { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "runner.id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "workspace.workspace", + "name": "pipeline.owner.project.project", "in": "query", "required": false, "type": "string" }, { - "name": "prefix", - "description": "Get all configuration entries under the given prefix. When empty,\nreturns all config variables.", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config.", "in": "query", "required": false, "type": "string" @@ -3333,15 +1894,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/deployment/latest": { - "get": { - "summary": "GetLatestDeployment returns the most recent successfully completed deployment\nfor an app.", - "operationId": "Waypoint_GetLatestDeployment", + "/project": { + "post": { + "summary": "UpsertProject upserts the project.", + "operationId": "Waypoint_UpsertProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetDeploymentResponse" + "$ref": "#/definitions/hashicorp.waypoint.UpsertProjectResponse" } }, "default": { @@ -3353,35 +1914,12 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "load_details", - "description": "Load additional details about the deployment. These will become available\nin the Preload section.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.UpsertProjectRequest" + } } ], "tags": [ @@ -3389,15 +1927,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/deployments": { - "get": { - "summary": "ListDeployments returns the deployments.", - "operationId": "Waypoint_ListDeployments", + "/project/config": { + "put": { + "summary": "Set one or more configuration variables for applications or runners.", + "operationId": "Waypoint_SetConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListDeploymentsResponse" + "$ref": "#/definitions/hashicorp.waypoint.ConfigSetResponse" } }, "default": { @@ -3409,76 +1947,12 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "physical_state", - "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "PENDING", - "CREATED", - "DESTROYED" - ], - "default": "UNKNOWN" - }, - { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "load_details", - "description": "Inidicate of the fetched deployments should include additional information\nabout each deployment.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ConfigSetRequest" + } } ], "tags": [ @@ -3486,15 +1960,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/release/latest": { - "get": { - "summary": "GetLatestRelease returns the most recent successfully completed\nrelease for an app.", - "operationId": "Waypoint_GetLatestRelease", + "/project/config/delete": { + "put": { + "summary": "Delete one or more configuration variables for applications or runners.", + "operationId": "Waypoint_DeleteConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Release" + "$ref": "#/definitions/hashicorp.waypoint.ConfigDeleteResponse" } }, "default": { @@ -3506,36 +1980,12 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "load_details", - "description": "Load additional details about the release. These will become available\nin the Preload section.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "DEPLOYMENT", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ConfigDeleteRequest" + } } ], "tags": [ @@ -3543,15 +1993,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/releases": { + "/project/{application.application.project}/application/{application.application.application}/instances": { "get": { - "summary": "ListReleases returns the releases.", - "operationId": "Waypoint_ListReleases", + "summary": "ListInstances returns the running instances of deployments.", + "operationId": "Waypoint_ListInstances2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListReleasesResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" } }, "default": { @@ -3563,77 +2013,36 @@ }, "parameters": [ { - "name": "application.project", + "name": "application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", + "name": "application.application.application", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", + "name": "deployment_id", + "description": "List instances for a specific deployment.", "in": "query", "required": false, "type": "string" }, { - "name": "physical_state", - "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "PENDING", - "CREATED", - "DESTROYED" - ], - "default": "UNKNOWN" - }, - { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", + "name": "application.workspace.workspace", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" }, { - "name": "load_details", - "description": "Load additional details about the release. These will become available\nin the Preload section.", + "name": "wait_timeout", + "description": "Time to wait before retrying a request to connect to requested instance.", "in": "query", "required": false, - "type": "string", - "enum": [ - "NONE", - "DEPLOYMENT", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "type": "string" } ], "tags": [ @@ -3641,15 +2050,24 @@ ] } }, - "/project/{application.project}/application/{application.application}/status-report/latest": { - "get": { - "summary": "GetLatestStatusReport returns the most recent successfully completed\nhealth report for an app", - "operationId": "Waypoint_GetLatestStatusReport", + "/project/{application.application.project}/application/{application.application.application}/logs": { + "post": { + "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", + "operationId": "Waypoint_GetLogStream2", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.StatusReport" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/hashicorp.waypoint.LogBatch" + }, + "error": { + "$ref": "#/definitions/grpc.gateway.runtime.StreamError" + } + }, + "title": "Stream result of hashicorp.waypoint.LogBatch" } }, "default": { @@ -3661,34 +2079,24 @@ }, "parameters": [ { - "name": "application.project", + "name": "application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", + "name": "application.application.application", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "deployment_id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "release_id", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" + } } ], "tags": [ @@ -3696,15 +2104,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/status-reports": { + "/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/instances": { "get": { - "summary": "ListStatusReports returns the deployments.", - "operationId": "Waypoint_ListStatusReports", + "summary": "ListInstances returns the running instances of deployments.", + "operationId": "Waypoint_ListInstances3", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListStatusReportsResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListInstancesResponse" } }, "default": { @@ -3716,75 +2124,36 @@ }, "parameters": [ { - "name": "application.project", + "name": "application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", + "name": "application.application.application", "in": "path", "required": true, "type": "string" }, { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, + "name": "application.workspace.workspace", + "in": "path", + "required": true, "type": "string" }, { - "name": "deployment.id", + "name": "deployment_id", + "description": "List instances for a specific deployment.", "in": "query", "required": false, "type": "string" }, { - "name": "deployment.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "release.id", + "name": "wait_timeout", + "description": "Time to wait before retrying a request to connect to requested instance.", "in": "query", "required": false, "type": "string" - }, - { - "name": "release.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" } ], "tags": [ @@ -3792,15 +2161,24 @@ ] } }, - "/project/{application.project}/application/{application.application}/triggers": { - "get": { - "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", - "operationId": "Waypoint_ListTriggers3", + "/project/{application.application.project}/application/{application.application.application}/workspace/{application.workspace.workspace}/logs": { + "post": { + "summary": "GetLogStream reads the log stream for a deployment. This will immediately\nsend a single LogEntry with the lines we have so far. If there are no\navailable lines this will NOT block and instead will return an error.\nThe client can choose to retry or not.", + "operationId": "Waypoint_GetLogStream3", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/hashicorp.waypoint.LogBatch" + }, + "error": { + "$ref": "#/definitions/grpc.gateway.runtime.StreamError" + } + }, + "title": "Stream result of hashicorp.waypoint.LogBatch" } }, "default": { @@ -3812,39 +2190,67 @@ }, "parameters": [ { - "name": "application.project", + "name": "application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", + "name": "application.application.application", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", - "in": "query", - "required": false, + "name": "application.workspace.workspace", + "in": "path", + "required": true, "type": "string" }, { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.GetLogStreamRequest" + } + } + ], + "tags": [ + "Waypoint" + ] + } + }, + "/project/{application.project}/application/{application.application}": { + "get": { + "summary": "GetApplication returns one application on the project.", + "operationId": "Waypoint_GetApplication", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.GetApplicationResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ { - "name": "tags", - "description": "Will filter triggers by the requested labels if set.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "name": "application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "application.application", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ @@ -3852,10 +2258,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest": { + "/project/{application.project}/application/{application.application}/artifact/latest": { "get": { "summary": "GetLatestPushedArtifact returns the most recent successfully completed\nartifact push for an app.", - "operationId": "Waypoint_GetLatestPushedArtifact2", + "operationId": "Waypoint_GetLatestPushedArtifact", "responses": { "200": { "description": "A successful response.", @@ -3885,8 +2291,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" } ], @@ -3895,10 +2301,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts": { + "/project/{application.project}/application/{application.application}/artifacts": { "get": { "summary": "ListPushedArtifacts returns the builds.", - "operationId": "Waypoint_ListPushedArtifacts2", + "operationId": "Waypoint_ListPushedArtifacts", "responses": { "200": { "description": "A successful response.", @@ -3928,8 +2334,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -3972,10 +2378,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest": { + "/project/{application.project}/application/{application.application}/build/latest": { "get": { "summary": "GetLatestBuild returns the most recent successfully completed build\nfor an app.", - "operationId": "Waypoint_GetLatestBuild2", + "operationId": "Waypoint_GetLatestBuild", "responses": { "200": { "description": "A successful response.", @@ -4005,8 +2411,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" } ], @@ -4015,10 +2421,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds": { + "/project/{application.project}/application/{application.application}/builds": { "get": { "summary": "ListBuilds returns the builds.", - "operationId": "Waypoint_ListBuilds2", + "operationId": "Waypoint_ListBuilds", "responses": { "200": { "description": "A successful response.", @@ -4048,8 +2454,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4085,15 +2491,15 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployment/latest": { + "/project/{application.project}/application/{application.application}/config": { "get": { - "summary": "GetLatestDeployment returns the most recent successfully completed deployment\nfor an app.", - "operationId": "Waypoint_GetLatestDeployment2", + "summary": "Retrieve merged configuration values for a specific scope. You can determine\nwhere a configuration variable was set by looking at the scope field on\neach variable.", + "operationId": "Waypoint_GetConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetDeploymentResponse" + "$ref": "#/definitions/hashicorp.waypoint.ConfigGetResponse" } }, "default": { @@ -4116,24 +2522,30 @@ "required": true, "type": "string" }, + { + "name": "project.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "runner.id", + "in": "query", + "required": false, + "type": "string" + }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { - "name": "load_details", - "description": "Load additional details about the deployment. These will become available\nin the Preload section.", + "name": "prefix", + "description": "Get all configuration entries under the given prefix. When empty,\nreturns all config variables.", "in": "query", "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "type": "string" } ], "tags": [ @@ -4141,10 +2553,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments": { + "/project/{application.project}/application/{application.application}/deployments": { "get": { "summary": "ListDeployments returns the deployments.", - "operationId": "Waypoint_ListDeployments2", + "operationId": "Waypoint_ListDeployments", "responses": { "200": { "description": "A successful response.", @@ -4174,8 +2586,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4238,10 +2650,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest": { + "/project/{application.project}/application/{application.application}/release/latest": { "get": { "summary": "GetLatestRelease returns the most recent successfully completed\nrelease for an app.", - "operationId": "Waypoint_GetLatestRelease2", + "operationId": "Waypoint_GetLatestRelease", "responses": { "200": { "description": "A successful response.", @@ -4271,8 +2683,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4295,10 +2707,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases": { + "/project/{application.project}/application/{application.application}/releases": { "get": { "summary": "ListReleases returns the releases.", - "operationId": "Waypoint_ListReleases2", + "operationId": "Waypoint_ListReleases", "responses": { "200": { "description": "A successful response.", @@ -4328,8 +2740,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4393,10 +2805,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest": { + "/project/{application.project}/application/{application.application}/status-report/latest": { "get": { "summary": "GetLatestStatusReport returns the most recent successfully completed\nhealth report for an app", - "operationId": "Waypoint_GetLatestStatusReport2", + "operationId": "Waypoint_GetLatestStatusReport", "responses": { "200": { "description": "A successful response.", @@ -4426,8 +2838,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4448,10 +2860,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports": { + "/project/{application.project}/application/{application.application}/status-reports": { "get": { "summary": "ListStatusReports returns the deployments.", - "operationId": "Waypoint_ListStatusReports2", + "operationId": "Waypoint_ListStatusReports", "responses": { "200": { "description": "A successful response.", @@ -4479,12 +2891,6 @@ "required": true, "type": "string" }, - { - "name": "workspace.workspace", - "in": "path", - "required": true, - "type": "string" - }, { "name": "order.order", "description": "Order for the results.", @@ -4512,6 +2918,12 @@ "type": "integer", "format": "int64" }, + { + "name": "workspace.workspace", + "in": "query", + "required": false, + "type": "string" + }, { "name": "deployment.id", "in": "query", @@ -4544,10 +2956,10 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers": { + "/project/{application.project}/application/{application.application}/triggers": { "get": { "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", - "operationId": "Waypoint_ListTriggers4", + "operationId": "Waypoint_ListTriggers3", "responses": { "200": { "description": "A successful response.", @@ -4577,8 +2989,8 @@ }, { "name": "workspace.workspace", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" }, { @@ -4604,16 +3016,135 @@ ] } }, - "/project/{application.project}/application/{application.application}/workspaces": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifact/latest": { "get": { - "summary": "ListWorkspaces returns a list of all workspaces.", - "description": "Note that currently this list is never pruned, even if a workspace is\nno longer in use. We plan to prune this in a future improvement.", - "operationId": "Waypoint_ListWorkspaces3", + "summary": "GetLatestPushedArtifact returns the most recent successfully completed\nartifact push for an app.", + "operationId": "Waypoint_GetLatestPushedArtifact2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListWorkspacesResponse" + "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Waypoint" + ] + } + }, + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/artifacts": { + "get": { + "summary": "ListPushedArtifacts returns the builds.", + "operationId": "Waypoint_ListPushedArtifacts2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ListPushedArtifactsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "order.order", + "description": "Order for the results.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" + }, + { + "name": "order.desc", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "include_build", + "description": "Indicate if the Build value should be returned for each\nof the artifacts as well.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Waypoint" + ] + } + }, + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/build/latest": { + "get": { + "summary": "GetLatestBuild returns the most recent successfully completed build\nfor an app.", + "operationId": "Waypoint_GetLatestBuild2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.Build" } }, "default": { @@ -4637,9 +3168,9 @@ "type": "string" }, { - "name": "project.project", - "in": "query", - "required": false, + "name": "workspace.workspace", + "in": "path", + "required": true, "type": "string" } ], @@ -4648,15 +3179,15 @@ ] } }, - "/project/{application.project}/{application.application}/config": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/builds": { "get": { - "summary": "Retrieve merged configuration values for a specific scope. You can determine\nwhere a configuration variable was set by looking at the scope field on\neach variable.", - "operationId": "Waypoint_GetConfig3", + "summary": "ListBuilds returns the builds.", + "operationId": "Waypoint_ListBuilds2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigGetResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListBuildsResponse" } }, "default": { @@ -4680,29 +3211,37 @@ "type": "string" }, { - "name": "project.project", - "in": "query", - "required": false, + "name": "workspace.workspace", + "in": "path", + "required": true, "type": "string" }, { - "name": "runner.id", + "name": "order.order", + "description": "Order for the results.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" }, { - "name": "workspace.workspace", + "name": "order.desc", "in": "query", "required": false, - "type": "string" + "type": "boolean" }, { - "name": "prefix", - "description": "Get all configuration entries under the given prefix. When empty,\nreturns all config variables.", + "name": "order.limit", + "description": "Limit the number of results.", "in": "query", "required": false, - "type": "string" + "type": "integer", + "format": "int64" } ], "tags": [ @@ -4710,15 +3249,15 @@ ] } }, - "/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report": { - "put": { - "summary": "ExpediteStatusReport returns the queued status report job id", - "operationId": "Waypoint_ExpediteStatusReport3", + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployments": { + "get": { + "summary": "ListDeployments returns the deployments.", + "operationId": "Waypoint_ListDeployments2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListDeploymentsResponse" } }, "default": { @@ -4730,31 +3269,76 @@ }, "parameters": [ { - "name": "deployment.sequence.application.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "deployment.sequence.application.application", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "deployment.sequence.number", + "name": "workspace.workspace", "in": "path", "required": true, + "type": "string" + }, + { + "name": "physical_state", + "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", + "in": "query", + "required": false, "type": "string", - "format": "uint64" + "enum": [ + "UNKNOWN", + "PENDING", + "CREATED", + "DESTROYED" + ], + "default": "UNKNOWN" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" - } + "name": "order.order", + "description": "Order for the results.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" + }, + { + "name": "order.desc", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "load_details", + "description": "Inidicate of the fetched deployments should include additional information\nabout each deployment.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -4762,15 +3346,15 @@ ] } }, - "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/release/latest": { "get": { - "summary": "GetPipeline returns a pipeline proto by pipeline ref id", - "operationId": "Waypoint_GetPipeline", + "summary": "GetLatestRelease returns the most recent successfully completed\nrelease for an app.", + "operationId": "Waypoint_GetLatestRelease2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineResponse" + "$ref": "#/definitions/hashicorp.waypoint.Release" } }, "default": { @@ -4782,24 +3366,36 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "load_details", + "description": "Load additional details about the release. These will become available\nin the Preload section.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "NONE", + "DEPLOYMENT", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -4807,15 +3403,15 @@ ] } }, - "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/releases": { "get": { - "summary": "GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence", - "operationId": "Waypoint_GetLatestPipelineRun", + "summary": "ListReleases returns the releases.", + "operationId": "Waypoint_ListReleases2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListReleasesResponse" } }, "default": { @@ -4827,24 +3423,77 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "physical_state", + "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "UNKNOWN", + "PENDING", + "CREATED", + "DESTROYED" + ], + "default": "UNKNOWN" + }, + { + "name": "order.order", + "description": "Order for the results.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" + }, + { + "name": "order.desc", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "load_details", + "description": "Load additional details about the release. These will become available\nin the Preload section.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "DEPLOYMENT", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -4852,15 +3501,15 @@ ] } }, - "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run": { - "post": { - "summary": "RunPipeline queues a pipeline execution.", - "operationId": "Waypoint_RunPipeline", + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-report/latest": { + "get": { + "summary": "GetLatestStatusReport returns the most recent successfully completed\nhealth report for an app", + "operationId": "Waypoint_GetLatestStatusReport2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunPipelineResponse" + "$ref": "#/definitions/hashicorp.waypoint.StatusReport" } }, "default": { @@ -4872,25 +3521,34 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "workspace.workspace", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunPipelineRequest" - } + "type": "string" + }, + { + "name": "deployment_id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "release_id", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -4898,15 +3556,15 @@ ] } }, - "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/status-reports": { "get": { - "summary": "GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence", - "operationId": "Waypoint_GetPipelineRun", + "summary": "ListStatusReports returns the deployments.", + "operationId": "Waypoint_ListStatusReports2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListStatusReportsResponse" } }, "default": { @@ -4918,31 +3576,75 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "sequence", + "name": "workspace.workspace", "in": "path", "required": true, + "type": "string" + }, + { + "name": "order.order", + "description": "Order for the results.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" + }, + { + "name": "order.desc", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "deployment.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "deployment.sequence.number", + "in": "query", + "required": false, "type": "string", "format": "uint64" }, { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", + "name": "release.id", "in": "query", "required": false, "type": "string" + }, + { + "name": "release.sequence.number", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -4950,15 +3652,15 @@ ] } }, - "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs": { + "/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/triggers": { "get": { - "summary": "ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline.\nIt will return an error if the requested pipeline does not exist, or an empty response\nif there are no runs for the pipeline.", - "operationId": "Waypoint_ListPipelineRuns", + "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", + "operationId": "Waypoint_ListTriggers4", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListPipelineRunsResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" } }, "default": { @@ -4970,24 +3672,39 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", + "name": "workspace.workspace", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project.project", "in": "query", "required": false, "type": "string" + }, + { + "name": "tags", + "description": "Will filter triggers by the requested labels if set.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ @@ -4995,15 +3712,16 @@ ] } }, - "/project/{project.project}": { + "/project/{application.project}/application/{application.application}/workspaces": { "get": { - "summary": "GetProject returns the project.", - "operationId": "Waypoint_GetProject", + "summary": "ListWorkspaces returns a list of all workspaces.", + "description": "Note that currently this list is never pruned, even if a workspace is\nno longer in use. We plan to prune this in a future improvement.", + "operationId": "Waypoint_ListWorkspaces3", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetProjectResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListWorkspacesResponse" } }, "default": { @@ -5015,78 +3733,22 @@ }, "parameters": [ { - "name": "project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - }, - "delete": { - "summary": "DestroyProject deletes a project from the database as well as (optionally)\ndestroys all resources created within a project", - "operationId": "Waypoint_DestroyProject", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ { - "name": "project.project", + "name": "application.application", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project/{project.project}/application": { - "post": { - "summary": "UpsertApplication upserts an application with a project.", - "operationId": "Waypoint_UpsertApplication", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertApplicationResponse" - } }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ { "name": "project.project", - "in": "path", - "required": true, + "in": "query", + "required": false, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertApplicationRequest" - } } ], "tags": [ @@ -5094,10 +3756,10 @@ ] } }, - "/project/{project.project}/config": { + "/project/{application.project}/{application.application}/config": { "get": { "summary": "Retrieve merged configuration values for a specific scope. You can determine\nwhere a configuration variable was set by looking at the scope field on\neach variable.", - "operationId": "Waypoint_GetConfig2", + "operationId": "Waypoint_GetConfig3", "responses": { "200": { "description": "A successful response.", @@ -5114,19 +3776,19 @@ }, "parameters": [ { - "name": "project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { "name": "application.application", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "string" }, { - "name": "application.project", + "name": "project.project", "in": "query", "required": false, "type": "string" @@ -5156,15 +3818,15 @@ ] } }, - "/project/{project.project}/config-sync-pipeline": { - "post": { - "summary": "ConfigSyncPipeline takes a request for a given project and syncs the current\nproject config to the Waypoint database.", - "operationId": "Waypoint_ConfigSyncPipeline", + "/project/{deployment.sequence.application.project}/application/{deployment.sequence.application.application}/deployment/{deployment.sequence.number}/status-report": { + "put": { + "summary": "ExpediteStatusReport returns the queued status report job id", + "operationId": "Waypoint_ExpediteStatusReport3", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigSyncPipelineResponse" + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" } }, "default": { @@ -5176,80 +3838,31 @@ }, "parameters": [ { - "name": "project.project", + "name": "deployment.sequence.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "deployment.sequence.application.application", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConfigSyncPipelineRequest" - } - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project/{project.project}/pipelines": { - "get": { - "summary": "ListPipelines takes a project and evaluates the projects config to get\na list of Pipeline protos to return in the response. These pipelines\nare scoped to a single project from the request. It will return an\nerror if the requested project does not exist, or an empty response\nif no pipelines are defined for the project.", - "operationId": "Waypoint_ListPipelines", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListPipelinesResponse" - } + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ { - "name": "project.project", + "name": "deployment.sequence.number", "in": "path", "required": true, - "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/project/{project.project}/tfc-run-status": { - "get": { - "summary": "Deprecated in favor of GetTFRunStatus\nGetTFCRunStatus is in BETA. It returns the status of a TFC run, which was\nrun to render a project template.", - "operationId": "Waypoint_GetTFCRunStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTFCRunStatusResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ + "type": "string", + "format": "uint64" + }, { - "name": "project.project", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" + } } ], "tags": [ @@ -5257,15 +3870,15 @@ ] } }, - "/project/{project.project}/triggers": { + "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}": { "get": { - "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", - "operationId": "Waypoint_ListTriggers2", + "summary": "GetPipeline returns a pipeline proto by pipeline ref id", + "operationId": "Waypoint_GetPipeline", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineResponse" } }, "default": { @@ -5277,39 +3890,24 @@ }, "parameters": [ { - "name": "project.project", + "name": "pipeline.owner.project.project", "in": "path", "required": true, "type": "string" }, { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config", + "in": "path", + "required": true, "type": "string" }, { - "name": "application.project", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "query", "required": false, "type": "string" - }, - { - "name": "tags", - "description": "Will filter triggers by the requested labels if set.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" } ], "tags": [ @@ -5317,16 +3915,15 @@ ] } }, - "/project/{project.project}/workspaces": { + "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/latest-run": { "get": { - "summary": "ListWorkspaces returns a list of all workspaces.", - "description": "Note that currently this list is never pruned, even if a workspace is\nno longer in use. We plan to prune this in a future improvement.", - "operationId": "Waypoint_ListWorkspaces2", + "summary": "GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence", + "operationId": "Waypoint_GetLatestPipelineRun", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListWorkspacesResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" } }, "default": { @@ -5338,19 +3935,21 @@ }, "parameters": [ { - "name": "project.project", + "name": "pipeline.owner.project.project", "in": "path", "required": true, "type": "string" }, { - "name": "application.application", - "in": "query", - "required": false, + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config", + "in": "path", + "required": true, "type": "string" }, { - "name": "application.project", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "query", "required": false, "type": "string" @@ -5361,15 +3960,15 @@ ] } }, - "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}": { - "get": { - "summary": "GetPushedArtifact returns a deployment", - "operationId": "Waypoint_GetPushedArtifact2", + "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run": { + "post": { + "summary": "RunPipeline queues a pipeline execution.", + "operationId": "Waypoint_RunPipeline", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" + "$ref": "#/definitions/hashicorp.waypoint.RunPipelineResponse" } }, "default": { @@ -5381,29 +3980,25 @@ }, "parameters": [ { - "name": "ref.sequence.application.project", + "name": "pipeline.owner.project.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.number", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "ref.id", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.RunPipelineRequest" + } } ], "tags": [ @@ -5411,15 +4006,15 @@ ] } }, - "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}": { + "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}": { "get": { - "summary": "GetBuild returns a build", - "operationId": "Waypoint_GetBuild2", + "summary": "GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence", + "operationId": "Waypoint_GetPipelineRun", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Build" + "$ref": "#/definitions/hashicorp.waypoint.GetPipelineRunResponse" } }, "default": { @@ -5431,26 +4026,28 @@ }, "parameters": [ { - "name": "ref.sequence.application.project", + "name": "pipeline.owner.project.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.number", + "name": "sequence", "in": "path", "required": true, "type": "string", "format": "uint64" }, { - "name": "ref.id", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "query", "required": false, "type": "string" @@ -5461,15 +4058,15 @@ ] } }, - "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}": { + "/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/runs": { "get": { - "summary": "GetDeployment returns a deployment", - "operationId": "Waypoint_GetDeployment2", + "summary": "ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline.\nIt will return an error if the requested pipeline does not exist, or an empty response\nif there are no runs for the pipeline.", + "operationId": "Waypoint_ListPipelineRuns", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Deployment" + "$ref": "#/definitions/hashicorp.waypoint.ListPipelineRunsResponse" } }, "default": { @@ -5481,42 +4078,24 @@ }, "parameters": [ { - "name": "ref.sequence.application.project", + "name": "pipeline.owner.project.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "pipeline.owner.pipeline_name", + "description": "the name of the defined pipeline config", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.number", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "ref.id", + "name": "pipeline.id", + "description": "Reference a single pipeline by ID.", "in": "query", "required": false, "type": "string" - }, - { - "name": "load_details", - "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" } ], "tags": [ @@ -5524,15 +4103,15 @@ ] } }, - "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}": { + "/project/{project.project}": { "get": { - "summary": "GetRelease returns a release", - "operationId": "Waypoint_GetRelease2", + "summary": "GetProject returns the project.", + "operationId": "Waypoint_GetProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Release" + "$ref": "#/definitions/hashicorp.waypoint.GetProjectResponse" } }, "default": { @@ -5544,59 +4123,24 @@ }, "parameters": [ { - "name": "ref.sequence.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "ref.sequence.application.application", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "ref.sequence.number", + "name": "project.project", "in": "path", "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "ref.id", - "in": "query", - "required": false, "type": "string" - }, - { - "name": "load_details", - "description": "Load additional details about the release. These will become available\nin the Preload section.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "DEPLOYMENT", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" } ], "tags": [ "Waypoint" ] - } - }, - "/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report": { - "put": { - "summary": "ExpediteStatusReport returns the queued status report job id", - "operationId": "Waypoint_ExpediteStatusReport4", + }, + "delete": { + "summary": "DestroyProject deletes a project from the database as well as (optionally)\ndestroys all resources created within a project", + "operationId": "Waypoint_DestroyProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" + "properties": {} } }, "default": { @@ -5608,31 +4152,10 @@ }, "parameters": [ { - "name": "release.sequence.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "release.sequence.application.application", + "name": "project.project", "in": "path", "required": true, "type": "string" - }, - { - "name": "release.sequence.number", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" - } } ], "tags": [ @@ -5640,15 +4163,15 @@ ] } }, - "/project/{target.application.application.project}/application/{target.application.application.application}/hostname": { + "/project/{project.project}/application": { "post": { - "summary": "Create a hostname with the URL service.", - "operationId": "Waypoint_CreateHostname", + "summary": "UpsertApplication upserts an application with a project.", + "operationId": "Waypoint_UpsertApplication", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameResponse" + "$ref": "#/definitions/hashicorp.waypoint.UpsertApplicationResponse" } }, "default": { @@ -5660,13 +4183,7 @@ }, "parameters": [ { - "name": "target.application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "target.application.application.application", + "name": "project.project", "in": "path", "required": true, "type": "string" @@ -5676,7 +4193,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameRequest" + "$ref": "#/definitions/hashicorp.waypoint.UpsertApplicationRequest" } } ], @@ -5685,15 +4202,15 @@ ] } }, - "/project/{target.application.application.project}/application/{target.application.application.application}/hostnames": { + "/project/{project.project}/config": { "get": { - "summary": "List all our registered hostnames.", - "operationId": "Waypoint_ListHostnames", + "summary": "Retrieve merged configuration values for a specific scope. You can determine\nwhere a configuration variable was set by looking at the scope field on\neach variable.", + "operationId": "Waypoint_GetConfig2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListHostnamesResponse" + "$ref": "#/definitions/hashicorp.waypoint.ConfigGetResponse" } }, "default": { @@ -5705,19 +4222,38 @@ }, "parameters": [ { - "name": "target.application.application.project", + "name": "project.project", "in": "path", "required": true, "type": "string" }, { - "name": "target.application.application.application", - "in": "path", - "required": true, + "name": "application.application", + "in": "query", + "required": false, "type": "string" }, { - "name": "target.application.workspace.workspace", + "name": "application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "runner.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "workspace.workspace", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "prefix", + "description": "Get all configuration entries under the given prefix. When empty,\nreturns all config variables.", "in": "query", "required": false, "type": "string" @@ -5728,15 +4264,15 @@ ] } }, - "/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname": { + "/project/{project.project}/config-sync-pipeline": { "post": { - "summary": "Create a hostname with the URL service.", - "operationId": "Waypoint_CreateHostname2", + "summary": "ConfigSyncPipeline takes a request for a given project and syncs the current\nproject config to the Waypoint database.", + "operationId": "Waypoint_ConfigSyncPipeline", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameResponse" + "$ref": "#/definitions/hashicorp.waypoint.ConfigSyncPipelineResponse" } }, "default": { @@ -5748,19 +4284,7 @@ }, "parameters": [ { - "name": "target.application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "target.application.application.application", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "target.application.workspace.workspace", + "name": "project.project", "in": "path", "required": true, "type": "string" @@ -5770,7 +4294,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameRequest" + "$ref": "#/definitions/hashicorp.waypoint.ConfigSyncPipelineRequest" } } ], @@ -5779,15 +4303,15 @@ ] } }, - "/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames": { + "/project/{project.project}/pipelines": { "get": { - "summary": "List all our registered hostnames.", - "operationId": "Waypoint_ListHostnames2", + "summary": "ListPipelines takes a project and evaluates the projects config to get\na list of Pipeline protos to return in the response. These pipelines\nare scoped to a single project from the request. It will return an\nerror if the requested project does not exist, or an empty response\nif no pipelines are defined for the project.", + "operationId": "Waypoint_ListPipelines", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListHostnamesResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListPipelinesResponse" } }, "default": { @@ -5799,19 +4323,7 @@ }, "parameters": [ { - "name": "target.application.application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "target.application.application.application", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "target.application.workspace.workspace", + "name": "project.project", "in": "path", "required": true, "type": "string" @@ -5822,15 +4334,15 @@ ] } }, - "/projects": { + "/project/{project.project}/triggers": { "get": { - "summary": "ListProjects returns a list of all the projects. There is no equivalent\nListApplications because applications are a part of projects and you\ncan use GetProject to get more information about the project.", - "operationId": "Waypoint_ListProjects", + "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", + "operationId": "Waypoint_ListTriggers2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListProjectsResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" } }, "default": { @@ -5842,26 +4354,39 @@ }, "parameters": [ { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "name": "project.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workspace.workspace", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" }, { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "name": "application.application", "in": "query", "required": false, "type": "string" }, { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "name": "application.project", "in": "query", "required": false, "type": "string" + }, + { + "name": "tags", + "description": "Will filter triggers by the requested labels if set.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ @@ -5869,15 +4394,16 @@ ] } }, - "/release/by-id/{ref.id}": { + "/project/{project.project}/workspaces": { "get": { - "summary": "GetStatusReport returns a StatusReport", - "operationId": "Waypoint_GetStatusReport", + "summary": "ListWorkspaces returns a list of all workspaces.", + "description": "Note that currently this list is never pruned, even if a workspace is\nno longer in use. We plan to prune this in a future improvement.", + "operationId": "Waypoint_ListWorkspaces2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.StatusReport" + "$ref": "#/definitions/hashicorp.waypoint.ListWorkspacesResponse" } }, "default": { @@ -5889,29 +4415,22 @@ }, "parameters": [ { - "name": "ref.id", + "name": "project.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "application.application", "in": "query", "required": false, "type": "string" }, { - "name": "ref.sequence.application.project", + "name": "application.project", "in": "query", "required": false, "type": "string" - }, - { - "name": "ref.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" } ], "tags": [ @@ -5919,15 +4438,15 @@ ] } }, - "/release/{ref.id}": { + "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/artifact/{ref.sequence.number}": { "get": { - "summary": "GetRelease returns a release", - "operationId": "Waypoint_GetRelease", + "summary": "GetPushedArtifact returns a deployment", + "operationId": "Waypoint_GetPushedArtifact2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Release" + "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact" } }, "default": { @@ -5939,43 +4458,29 @@ }, "parameters": [ { - "name": "ref.id", + "name": "ref.sequence.application.project", "in": "path", "required": true, "type": "string" }, { "name": "ref.sequence.application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.application.project", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "string" }, { "name": "ref.sequence.number", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "string", "format": "uint64" }, { - "name": "load_details", - "description": "Load additional details about the release. These will become available\nin the Preload section.", + "name": "ref.id", "in": "query", "required": false, - "type": "string", - "enum": [ - "NONE", - "DEPLOYMENT", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "type": "string" } ], "tags": [ @@ -5983,15 +4488,15 @@ ] } }, - "/release/{release.id}/status-report": { - "put": { - "summary": "ExpediteStatusReport returns the queued status report job id", - "operationId": "Waypoint_ExpediteStatusReport2", + "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/build/{ref.sequence.number}": { + "get": { + "summary": "GetBuild returns a build", + "operationId": "Waypoint_GetBuild2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" + "$ref": "#/definitions/hashicorp.waypoint.Build" } }, "default": { @@ -6003,18 +4508,29 @@ }, "parameters": [ { - "name": "release.id", + "name": "ref.sequence.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "ref.sequence.application.application", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" - } + "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "ref.id", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -6022,15 +4538,15 @@ ] } }, - "/runner/on-demand": { - "post": { - "summary": "UpsertOnDemandRunnerConfig updates or inserts a on-demand runner\nconfiguration. This configuration can be used by projects for running\noperations on just-in-time launched runners.", - "operationId": "Waypoint_UpsertOnDemandRunnerConfig", + "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}": { + "get": { + "summary": "GetDeployment returns a deployment", + "operationId": "Waypoint_GetDeployment2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse" + "$ref": "#/definitions/hashicorp.waypoint.Deployment" } }, "default": { @@ -6042,12 +4558,42 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ref.sequence.application.project", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest" - } + "type": "string" + }, + { + "name": "ref.sequence.application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "ref.id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "load_details", + "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -6055,15 +4601,15 @@ ] } }, - "/runner/{runner_id}": { + "/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/release/{ref.sequence.number}": { "get": { - "summary": "GetRunner gets information about a single runner.", - "operationId": "Waypoint_GetRunner", + "summary": "GetRelease returns a release", + "operationId": "Waypoint_GetRelease2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.Runner" + "$ref": "#/definitions/hashicorp.waypoint.Release" } }, "default": { @@ -6075,11 +4621,43 @@ }, "parameters": [ { - "name": "runner_id", - "description": "ID of the runner to request.", + "name": "ref.sequence.application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "ref.sequence.application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "ref.sequence.number", "in": "path", "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "ref.id", + "in": "query", + "required": false, "type": "string" + }, + { + "name": "load_details", + "description": "Load additional details about the release. These will become available\nin the Preload section.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "DEPLOYMENT", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -6087,15 +4665,15 @@ ] } }, - "/runner/{runner_id}/adopt": { - "post": { - "summary": "AdoptRunners allows marking a runner as adopted or rejected.", - "operationId": "Waypoint_AdoptRunner", + "/project/{release.sequence.application.project}/application/{release.sequence.application.application}/release/{release.sequence.number}/status-report": { + "put": { + "summary": "ExpediteStatusReport returns the queued status report job id", + "operationId": "Waypoint_ExpediteStatusReport4", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" } }, "default": { @@ -6107,18 +4685,30 @@ }, "parameters": [ { - "name": "runner_id", - "description": "ID of the runner to change the adoption status.", + "name": "release.sequence.application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "release.sequence.application.application", "in": "path", "required": true, "type": "string" }, + { + "name": "release.sequence.number", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.AdoptRunnerRequest" + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" } } ], @@ -6127,15 +4717,15 @@ ] } }, - "/runner/{runner_id}/forget": { + "/project/{target.application.application.project}/application/{target.application.application.application}/hostname": { "post": { - "summary": "ForgetRunner deletes an existing runner entry and makes the server\nbehave as if the runner no longer exists. If the runner is currently\nrunning, it will receive errors on subsequent jobs, and will have to\nre-register. A forgotten runner will not be assigned new jobs until\nre-registered.", - "operationId": "Waypoint_ForgetRunner", + "summary": "Create a hostname with the URL service.", + "operationId": "Waypoint_CreateHostname", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameResponse" } }, "default": { @@ -6147,87 +4737,23 @@ }, "parameters": [ { - "name": "runner_id", - "description": "ID of the runner to forget", + "name": "target.application.application.project", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Waypoint" - ] - } - }, - "/runners": { - "get": { - "summary": "ListRunners lists runners that are currently registered with the waypoint server.\nThis list does not include previous on-demand runners that have exited.", - "operationId": "Waypoint_ListRunners", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListRunnersResponse" - } }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Waypoint" - ] - } - }, - "/server/config": { - "get": { - "summary": "GetServerConfig sets configuration for the Waypoint server.", - "operationId": "Waypoint_GetServerConfig", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetServerConfigResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Waypoint" - ] - }, - "post": { - "summary": "SetServerConfig sets configuration for the Waypoint server.", - "operationId": "Waypoint_SetServerConfig", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } + { + "name": "target.application.application.application", + "in": "path", + "required": true, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.SetServerConfigRequest" + "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameRequest" } } ], @@ -6236,15 +4762,15 @@ ] } }, - "/task/by-job/{ref.job_id}": { + "/project/{target.application.application.project}/application/{target.application.application.application}/hostnames": { "get": { - "summary": "GetTask returns a requested Task message. Or an error if it does not exist.", - "operationId": "Waypoint_GetTask2", + "summary": "List all our registered hostnames.", + "operationId": "Waypoint_ListHostnames", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTaskResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListHostnamesResponse" } }, "default": { @@ -6256,15 +4782,19 @@ }, "parameters": [ { - "name": "ref.job_id", - "description": "The main \"run\" job ID that the task initiated", + "name": "target.application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.id", - "description": "the id of the tracktask record.", + "name": "target.application.application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "target.application.workspace.workspace", "in": "query", "required": false, "type": "string" @@ -6275,15 +4805,15 @@ ] } }, - "/task/by-job/{ref.job_id}/cancel": { - "put": { - "summary": "CancelTask will attempt to gracefully cancel each job in the task job triple", - "operationId": "Waypoint_CancelTask2", + "/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostname": { + "post": { + "summary": "Create a hostname with the URL service.", + "operationId": "Waypoint_CreateHostname2", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameResponse" } }, "default": { @@ -6295,8 +4825,19 @@ }, "parameters": [ { - "name": "ref.job_id", - "description": "The main \"run\" job ID that the task initiated", + "name": "target.application.application.project", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "target.application.application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "target.application.workspace.workspace", "in": "path", "required": true, "type": "string" @@ -6306,7 +4847,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CancelTaskRequest" + "$ref": "#/definitions/hashicorp.waypoint.CreateHostnameRequest" } } ], @@ -6315,15 +4856,15 @@ ] } }, - "/task/{ref.id}": { + "/project/{target.application.application.project}/application/{target.application.application.application}/workspace/{target.application.workspace.workspace}/hostnames": { "get": { - "summary": "GetTask returns a requested Task message. Or an error if it does not exist.", - "operationId": "Waypoint_GetTask", + "summary": "List all our registered hostnames.", + "operationId": "Waypoint_ListHostnames2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTaskResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListHostnamesResponse" } }, "default": { @@ -6335,17 +4876,21 @@ }, "parameters": [ { - "name": "ref.id", - "description": "the id of the tracktask record", + "name": "target.application.application.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.job_id", - "description": "The main \"run\" job ID that the task initiated.", - "in": "query", - "required": false, + "name": "target.application.application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "target.application.workspace.workspace", + "in": "path", + "required": true, "type": "string" } ], @@ -6354,15 +4899,15 @@ ] } }, - "/task/{ref.id}/cancel": { - "put": { - "summary": "CancelTask will attempt to gracefully cancel each job in the task job triple", - "operationId": "Waypoint_CancelTask", + "/projects": { + "get": { + "summary": "ListProjects returns a list of all the projects. There is no equivalent\nListApplications because applications are a part of projects and you\ncan use GetProject to get more information about the project.", + "operationId": "Waypoint_ListProjects", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/hashicorp.waypoint.ListProjectsResponse" } }, "default": { @@ -6374,19 +4919,26 @@ }, "parameters": [ { - "name": "ref.id", - "description": "the id of the tracktask record", - "in": "path", - "required": true, + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "in": "query", + "required": false, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.CancelTaskRequest" - } } ], "tags": [ @@ -6394,15 +4946,15 @@ ] } }, - "/tasks": { + "/release/by-id/{ref.id}": { "get": { - "summary": "ListTask will return a list of all existing Tasks", - "operationId": "Waypoint_ListTask", + "summary": "GetStatusReport returns a StatusReport", + "operationId": "Waypoint_GetStatusReport", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListTaskResponse" + "$ref": "#/definitions/hashicorp.waypoint.StatusReport" } }, "default": { @@ -6414,25 +4966,29 @@ }, "parameters": [ { - "name": "taskState", + "name": "ref.id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "ref.sequence.application.application", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "UNKNOWN", - "PENDING", - "STARTING", - "STARTED", - "RUNNING", - "COMPLETED", - "STOPPING", - "STOPPED", - "MIXED" - ] - }, - "collectionFormat": "multi" + "type": "string" + }, + { + "name": "ref.sequence.application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -6440,15 +4996,15 @@ ] } }, - "/tf-run-status/{workspace_name}": { + "/release/{ref.id}": { "get": { - "summary": "GetTFRunStatus returns the status of the latest run of a Terraform\nworkspace", - "operationId": "Waypoint_GetTFRunStatus", + "summary": "GetRelease returns a release", + "operationId": "Waypoint_GetRelease", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTFRunStatusResponse" + "$ref": "#/definitions/hashicorp.waypoint.Release" } }, "default": { @@ -6460,10 +5016,43 @@ }, "parameters": [ { - "name": "workspace_name", + "name": "ref.id", "in": "path", "required": true, "type": "string" + }, + { + "name": "ref.sequence.application.application", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.application.project", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "ref.sequence.number", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "load_details", + "description": "Load additional details about the release. These will become available\nin the Preload section.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "NONE", + "DEPLOYMENT", + "ARTIFACT", + "BUILD" + ], + "default": "NONE" } ], "tags": [ @@ -6471,16 +5060,15 @@ ] } }, - "/token/decode": { - "post": { - "summary": "DecodeToken takes a token string and returns the structured information\nabout the given token. This is useful for frontends (CLI, UI, etc.) to\nlearn more about a token before using it. For example, if a UI wants to\ncreate a signup flow around signup tokens, they can validate the token\nahead of time.", - "description": "This endpoint does NOT require authentication.", - "operationId": "Waypoint_DecodeToken", + "/release/{release.id}/status-report": { + "put": { + "summary": "ExpediteStatusReport returns the queued status report job id", + "operationId": "Waypoint_ExpediteStatusReport2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.DecodeTokenResponse" + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportResponse" } }, "default": { @@ -6491,12 +5079,18 @@ } }, "parameters": [ + { + "name": "release.id", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.DecodeTokenRequest" + "$ref": "#/definitions/hashicorp.waypoint.ExpediteStatusReportRequest" } } ], @@ -6505,15 +5099,15 @@ ] } }, - "/token/exchange": { + "/runner/on-demand": { "post": { - "summary": "Exchange a invite token for a login token. If the invite token is\nfor a new user, this will create a new user account with the provided\nusername hint.", - "operationId": "Waypoint_ConvertInviteToken", + "summary": "UpsertOnDemandRunnerConfig updates or inserts a on-demand runner\nconfiguration. This configuration can be used by projects for running\noperations on just-in-time launched runners.", + "operationId": "Waypoint_UpsertOnDemandRunnerConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" + "$ref": "#/definitions/hashicorp.waypoint.UpsertOnDemandRunnerConfigResponse" } }, "default": { @@ -6529,7 +5123,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ConvertInviteTokenRequest" + "$ref": "#/definitions/hashicorp.waypoint.UpsertOnDemandRunnerConfigRequest" } } ], @@ -6538,15 +5132,15 @@ ] } }, - "/token/invite": { - "post": { - "summary": "Generate a new invite token that users can exchange for a login token.\nThis can be used to also invite new users to the Waypoint server.", - "operationId": "Waypoint_GenerateInviteToken", + "/runner/{runner_id}": { + "get": { + "summary": "GetRunner gets information about a single runner.", + "operationId": "Waypoint_GetRunner", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" + "$ref": "#/definitions/hashicorp.waypoint.Runner" } }, "default": { @@ -6558,12 +5152,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "runner_id", + "description": "ID of the runner to request.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.InviteTokenRequest" - } + "type": "string" } ], "tags": [ @@ -6571,15 +5164,15 @@ ] } }, - "/token/login": { + "/runner/{runner_id}/adopt": { "post": { - "summary": "Generate a new login token that users can use to login directly.\nThis can only be called for existing users.", - "operationId": "Waypoint_GenerateLoginToken", + "summary": "AdoptRunners allows marking a runner as adopted or rejected.", + "operationId": "Waypoint_AdoptRunner", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" + "properties": {} } }, "default": { @@ -6590,12 +5183,19 @@ } }, "parameters": [ + { + "name": "runner_id", + "description": "ID of the runner to change the adoption status.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.LoginTokenRequest" + "$ref": "#/definitions/hashicorp.waypoint.AdoptRunnerRequest" } } ], @@ -6604,15 +5204,15 @@ ] } }, - "/token/runner": { + "/runner/{runner_id}/forget": { "post": { - "summary": "Generate a new runner token that can be used with runners so they\nimmediately begin work. The recommended appraoch is to instead use\nthe adoption flow but this also works.", - "operationId": "Waypoint_GenerateRunnerToken", + "summary": "ForgetRunner deletes an existing runner entry and makes the server\nbehave as if the runner no longer exists. If the runner is currently\nrunning, it will receive errors on subsequent jobs, and will have to\nre-register. A forgotten runner will not be assigned new jobs until\nre-registered.", + "operationId": "Waypoint_ForgetRunner", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" + "properties": {} } }, "default": { @@ -6624,12 +5224,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "runner_id", + "description": "ID of the runner to forget", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GenerateRunnerTokenRequest" - } + "type": "string" } ], "tags": [ @@ -6637,15 +5236,15 @@ ] } }, - "/trigger/{ref.id}": { + "/runners": { "get": { - "summary": "GetTrigger returns a requested trigger message. Or an error if it does not exist.", - "operationId": "Waypoint_GetTrigger", + "summary": "ListRunners lists runners that are currently registered with the waypoint server.\nThis list does not include previous on-demand runners that have exited.", + "operationId": "Waypoint_ListRunners", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTriggerResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListRunnersResponse" } }, "default": { @@ -6655,26 +5254,20 @@ } } }, - "parameters": [ - { - "name": "ref.id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Waypoint" ] - }, - "delete": { - "summary": "GetTrigger returns a requested trigger message. Or an error if it does not exist.", - "operationId": "Waypoint_GetTrigger2", + } + }, + "/server/config": { + "get": { + "summary": "GetServerConfig sets configuration for the Waypoint server.", + "operationId": "Waypoint_GetServerConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.GetTriggerResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetServerConfigResponse" } }, "default": { @@ -6684,26 +5277,18 @@ } } }, - "parameters": [ - { - "name": "ref.id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Waypoint" ] }, - "put": { - "summary": "RunTrigger will look up the referenced trigger and attempt to queue a job\nbased on the trigger configuration.", - "operationId": "Waypoint_RunTrigger", + "post": { + "summary": "SetServerConfig sets configuration for the Waypoint server.", + "operationId": "Waypoint_SetServerConfig", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunTriggerResponse" + "properties": {} } }, "default": { @@ -6714,18 +5299,12 @@ } }, "parameters": [ - { - "name": "ref.id", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunTriggerRequest" + "$ref": "#/definitions/hashicorp.waypoint.SetServerConfigRequest" } } ], @@ -6734,15 +5313,15 @@ ] } }, - "/triggers": { + "/task/by-job/{ref.job_id}": { "get": { - "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", - "operationId": "Waypoint_ListTriggers", + "summary": "GetTask returns a requested Task message. Or an error if it does not exist.", + "operationId": "Waypoint_GetTask2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetTaskResponse" } }, "default": { @@ -6751,56 +5330,37 @@ "$ref": "#/definitions/grpc.gateway.runtime.Error" } } - }, - "parameters": [ - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "application.application", - "in": "query", - "required": false, - "type": "string" - }, + }, + "parameters": [ { - "name": "application.project", - "in": "query", - "required": false, + "name": "ref.job_id", + "description": "The main \"run\" job ID that the task initiated", + "in": "path", + "required": true, "type": "string" }, { - "name": "tags", - "description": "Will filter triggers by the requested labels if set.", + "name": "ref.id", + "description": "the id of the tracktask record.", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "type": "string" } ], "tags": [ "Waypoint" ] - }, - "post": { - "summary": "UpsertTrigger updates or inserts a trigger URL configuration.", - "operationId": "Waypoint_UpsertTrigger", + } + }, + "/task/by-job/{ref.job_id}/cancel": { + "put": { + "summary": "CancelTask will attempt to gracefully cancel each job in the task job triple", + "operationId": "Waypoint_CancelTask2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertTriggerResponse" + "properties": {} } }, "default": { @@ -6811,12 +5371,19 @@ } }, "parameters": [ + { + "name": "ref.job_id", + "description": "The main \"run\" job ID that the task initiated", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpsertTriggerRequest" + "$ref": "#/definitions/hashicorp.waypoint.CancelTaskRequest" } } ], @@ -6825,15 +5392,15 @@ ] } }, - "/triggers/no-auth/{ref.id}/run": { - "post": { - "summary": "Attempts to run a trigger given a trigger ID reference. If the trigger does\nnot exist, we return not found. If the trigger exists but requires authentication\nwe return an error.", - "operationId": "Waypoint_NoAuthRunTrigger", + "/task/{ref.id}": { + "get": { + "summary": "GetTask returns a requested Task message. Or an error if it does not exist.", + "operationId": "Waypoint_GetTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunTriggerResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetTaskResponse" } }, "default": { @@ -6846,17 +5413,17 @@ "parameters": [ { "name": "ref.id", + "description": "the id of the tracktask record", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/hashicorp.waypoint.RunTriggerRequest" - } + "name": "ref.job_id", + "description": "The main \"run\" job ID that the task initiated.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -6864,15 +5431,15 @@ ] } }, - "/ui/deployment/{ref.id}": { - "get": { - "summary": "GetDeployment returns a deployment", - "operationId": "Waypoint_UI_GetDeployment", + "/task/{ref.id}/cancel": { + "put": { + "summary": "CancelTask will attempt to gracefully cancel each job in the task job triple", + "operationId": "Waypoint_CancelTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.GetDeploymentResponse" + "properties": {} } }, "default": { @@ -6885,41 +5452,18 @@ "parameters": [ { "name": "ref.id", + "description": "the id of the tracktask record", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.application.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "ref.sequence.number", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "load_details", - "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "NONE", - "ARTIFACT", - "BUILD" - ], - "default": "NONE" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.CancelTaskRequest" + } } ], "tags": [ @@ -6927,15 +5471,15 @@ ] } }, - "/ui/events/INTERNAL_AdditionalMessages": { + "/tasks": { "get": { - "summary": "List possible event data types.", - "operationId": "Waypoint_INTERNAL_AdditionalMessages", + "summary": "ListTask will return a list of all existing Tasks", + "operationId": "Waypoint_ListTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListEventSchemasResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListTaskResponse" } }, "default": { @@ -6945,20 +5489,44 @@ } } }, + "parameters": [ + { + "name": "taskState", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "UNKNOWN", + "PENDING", + "STARTING", + "STARTED", + "RUNNING", + "COMPLETED", + "STOPPING", + "STOPPED", + "MIXED" + ] + }, + "collectionFormat": "multi" + } + ], "tags": [ "Waypoint" ] } }, - "/ui/pipeline/{pipeline.id}/run/{sequence}": { - "get": { - "summary": "Get a pipline run with additional computed data.", - "operationId": "Waypoint_UI_GetPipelineRun", + "/token/decode": { + "post": { + "summary": "DecodeToken takes a token string and returns the structured information\nabout the given token. This is useful for frontends (CLI, UI, etc.) to\nlearn more about a token before using it. For example, if a UI wants to\ncreate a signup flow around signup tokens, they can validate the token\nahead of time.", + "description": "This endpoint does NOT require authentication.", + "operationId": "Waypoint_DecodeToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.GetPipelineRunResponse" + "$ref": "#/definitions/hashicorp.waypoint.DecodeTokenResponse" } }, "default": { @@ -6970,31 +5538,12 @@ }, "parameters": [ { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "sequence", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.owner.project.project", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config.", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.DecodeTokenRequest" + } } ], "tags": [ @@ -7002,15 +5551,15 @@ ] } }, - "/ui/project/{application.project}/application/{application.application}/deployments": { - "get": { - "summary": "List deployments for a given application.", - "operationId": "Waypoint_UI_ListDeployments", + "/token/exchange": { + "post": { + "summary": "Exchange a invite token for a login token. If the invite token is\nfor a new user, this will create a new user account with the provided\nusername hint.", + "operationId": "Waypoint_ConvertInviteToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListDeploymentsResponse" + "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" } }, "default": { @@ -7022,63 +5571,45 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "physical_state", - "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "PENDING", - "CREATED", - "DESTROYED" - ], - "default": "UNKNOWN" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ConvertInviteTokenRequest" + } + } + ], + "tags": [ + "Waypoint" + ] + } + }, + "/token/invite": { + "post": { + "summary": "Generate a new invite token that users can exchange for a login token.\nThis can be used to also invite new users to the Waypoint server.", + "operationId": "Waypoint_GenerateInviteToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.InviteTokenRequest" + } } ], "tags": [ @@ -7086,15 +5617,15 @@ ] } }, - "/ui/project/{application.project}/application/{application.application}/events": { - "get": { - "summary": "List UI events for a given application.", - "operationId": "Waypoint_UI_ListEvents", + "/token/login": { + "post": { + "summary": "Generate a new login token that users can use to login directly.\nThis can only be called for existing users.", + "operationId": "Waypoint_GenerateLoginToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListEventsResponse" + "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" } }, "default": { @@ -7106,61 +5637,12 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sorting.order_by", - "description": "Specifies the list of per field ordering that should be used for sorting.\nThe order matters as rows are sorted in order by fields and when the field\nmatches, the next field is used to tie break the ordering.\nThe per field default ordering is ascending.\n\nThe fields should be immutable, unique, and orderable. If the field is\nnot unique, more than one sort fields should be passed.\n\nExample: order_by=name,age desc,created_at asc\nIn that case, 'name' will get the default 'ascending' order.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.LoginTokenRequest" + } } ], "tags": [ @@ -7168,15 +5650,15 @@ ] } }, - "/ui/project/{application.project}/application/{application.application}/releases": { - "get": { - "summary": "List releases for a given application.", - "operationId": "Waypoint_UI_ListReleases", + "/token/runner": { + "post": { + "summary": "Generate a new runner token that can be used with runners so they\nimmediately begin work. The recommended appraoch is to instead use\nthe adoption flow but this also works.", + "operationId": "Waypoint_GenerateRunnerToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListReleasesResponse" + "$ref": "#/definitions/hashicorp.waypoint.NewTokenResponse" } }, "default": { @@ -7188,63 +5670,12 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order.order", - "description": "Order for the results.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNSET", - "START_TIME", - "COMPLETE_TIME" - ], - "default": "UNSET" - }, - { - "name": "order.desc", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order.limit", - "description": "Limit the number of results.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "physical_state", - "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "PENDING", - "CREATED", - "DESTROYED" - ], - "default": "UNKNOWN" + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.GenerateRunnerTokenRequest" + } } ], "tags": [ @@ -7252,15 +5683,15 @@ ] } }, - "/ui/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/events": { + "/trigger/{ref.id}": { "get": { - "summary": "List UI events for a given application.", - "operationId": "Waypoint_UI_ListEvents2", + "summary": "GetTrigger returns a requested trigger message. Or an error if it does not exist.", + "operationId": "Waypoint_GetTrigger", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListEventsResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetTriggerResponse" } }, "default": { @@ -7272,77 +5703,24 @@ }, "parameters": [ { - "name": "application.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "application.application", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workspace.workspace", + "name": "ref.id", "in": "path", "required": true, "type": "string" - }, - { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sorting.order_by", - "description": "Specifies the list of per field ordering that should be used for sorting.\nThe order matters as rows are sorted in order by fields and when the field\nmatches, the next field is used to tie break the ordering.\nThe per field default ordering is ascending.\n\nThe fields should be immutable, unique, and orderable. If the field is\nnot unique, more than one sort fields should be passed.\n\nExample: order_by=name,age desc,created_at asc\nIn that case, 'name' will get the default 'ascending' order.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "project.project", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ "Waypoint" ] - } - }, - "/ui/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence}": { - "get": { - "summary": "Get a pipline run with additional computed data.", - "operationId": "Waypoint_UI_GetPipelineRun2", + }, + "delete": { + "summary": "GetTrigger returns a requested trigger message. Or an error if it does not exist.", + "operationId": "Waypoint_GetTrigger2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.GetPipelineRunResponse" + "$ref": "#/definitions/hashicorp.waypoint.GetTriggerResponse" } }, "default": { @@ -7354,31 +5732,47 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", + "name": "ref.id", "in": "path", "required": true, "type": "string" + } + ], + "tags": [ + "Waypoint" + ] + }, + "put": { + "summary": "RunTrigger will look up the referenced trigger and attempt to queue a job\nbased on the trigger configuration.", + "operationId": "Waypoint_RunTrigger", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.RunTriggerResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", + "name": "ref.id", "in": "path", "required": true, "type": "string" }, { - "name": "sequence", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.RunTriggerRequest" + } } ], "tags": [ @@ -7386,15 +5780,15 @@ ] } }, - "/ui/project/{pipeline.owner.project.project}/pipelines/{pipeline.owner.pipeline_name}/runs": { + "/triggers": { "get": { - "summary": "List pipeline runs with pagination for a given pipeline", - "operationId": "Waypoint_UI_ListPipelineRuns", + "summary": "ListTriggers takes a request filter, and returns any matching existing triggers", + "operationId": "Waypoint_ListTriggers", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListPipelineRunsResponse" + "$ref": "#/definitions/hashicorp.waypoint.ListTriggerResponse" } }, "default": { @@ -7406,46 +5800,70 @@ }, "parameters": [ { - "name": "pipeline.owner.project.project", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pipeline.owner.pipeline_name", - "description": "the name of the defined pipeline config", - "in": "path", - "required": true, + "name": "workspace.workspace", + "in": "query", + "required": false, "type": "string" }, { - "name": "pipeline.id", - "description": "Reference a single pipeline by ID.", + "name": "project.project", "in": "query", "required": false, "type": "string" }, { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "name": "application.application", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" }, { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "name": "application.project", "in": "query", "required": false, "type": "string" }, { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "name": "tags", + "description": "Will filter triggers by the requested labels if set.", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Waypoint" + ] + }, + "post": { + "summary": "UpsertTrigger updates or inserts a trigger URL configuration.", + "operationId": "Waypoint_UpsertTrigger", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.UpsertTriggerResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.UpsertTriggerRequest" + } } ], "tags": [ @@ -7453,15 +5871,15 @@ ] } }, - "/ui/project/{project.project}": { - "get": { - "summary": "Get a given project with useful related records.", - "operationId": "Waypoint_UI_GetProject", + "/triggers/no-auth/{ref.id}/run": { + "post": { + "summary": "Attempts to run a trigger given a trigger ID reference. If the trigger does\nnot exist, we return not found. If the trigger exists but requires authentication\nwe return an error.", + "operationId": "Waypoint_NoAuthRunTrigger", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.GetProjectResponse" + "$ref": "#/definitions/hashicorp.waypoint.RunTriggerResponse" } }, "default": { @@ -7473,10 +5891,18 @@ }, "parameters": [ { - "name": "project.project", + "name": "ref.id", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.RunTriggerRequest" + } } ], "tags": [ @@ -7484,15 +5910,15 @@ ] } }, - "/ui/project/{project.project}/pipelines": { + "/ui/project/{application.project}/application/{application.application}/deployments": { "get": { - "summary": "List pipelines with last run for each for a given project.", - "operationId": "Waypoint_UI_ListPipelines", + "summary": "List deployments for a given application.", + "operationId": "Waypoint_UI_ListDeployments", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListPipelinesResponse" + "$ref": "#/definitions/hashicorp.waypoint.UI.ListDeploymentsResponse" } }, "default": { @@ -7504,32 +5930,63 @@ }, "parameters": [ { - "name": "project.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "name": "application.application", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workspace.workspace", "in": "query", "required": false, - "type": "integer", - "format": "int64" + "type": "string" }, { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "name": "order.order", + "description": "Order for the results.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" }, { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "name": "order.desc", "in": "query", "required": false, - "type": "string" + "type": "boolean" + }, + { + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "physical_state", + "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNKNOWN", + "PENDING", + "CREATED", + "DESTROYED" + ], + "default": "UNKNOWN" } ], "tags": [ @@ -7537,15 +5994,15 @@ ] } }, - "/ui/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number}": { + "/ui/project/{application.project}/application/{application.application}/releases": { "get": { - "summary": "GetDeployment returns a deployment", - "operationId": "Waypoint_UI_GetDeployment2", + "summary": "List releases for a given application.", + "operationId": "Waypoint_UI_ListReleases", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.GetDeploymentResponse" + "$ref": "#/definitions/hashicorp.waypoint.UI.ListReleasesResponse" } }, "default": { @@ -7557,42 +6014,63 @@ }, "parameters": [ { - "name": "ref.sequence.application.project", + "name": "application.project", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.application.application", + "name": "application.application", "in": "path", "required": true, "type": "string" }, { - "name": "ref.sequence.number", - "in": "path", - "required": true, + "name": "workspace.workspace", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order.order", + "description": "Order for the results.", + "in": "query", + "required": false, "type": "string", - "format": "uint64" + "enum": [ + "UNSET", + "START_TIME", + "COMPLETE_TIME" + ], + "default": "UNSET" }, { - "name": "ref.id", + "name": "order.desc", "in": "query", "required": false, - "type": "string" + "type": "boolean" }, { - "name": "load_details", - "description": "Indicate if the fetched deployments should include additional information\nabout each deployment.", + "name": "order.limit", + "description": "Limit the number of results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "physical_state", + "description": "The physical state to filter for. If this is zero or unset then no\nfiltering on physical state will be done.", "in": "query", "required": false, "type": "string", "enum": [ - "NONE", - "ARTIFACT", - "BUILD" + "UNKNOWN", + "PENDING", + "CREATED", + "DESTROYED" ], - "default": "NONE" + "default": "UNKNOWN" } ], "tags": [ @@ -7600,15 +6078,15 @@ ] } }, - "/ui/projects": { + "/ui/project/{project.project}": { "get": { - "summary": "List full projects (not just refs)", - "operationId": "Waypoint_UI_ListProjects", + "summary": "Get a given project with useful related records.", + "operationId": "Waypoint_UI_GetProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.ListProjectsResponse" + "$ref": "#/definitions/hashicorp.waypoint.UI.GetProjectResponse" } }, "default": { @@ -7620,25 +6098,9 @@ }, "parameters": [ { - "name": "pagination.page_size", - "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "pagination.next_page_token", - "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.previous_page_token", - "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", - "in": "query", - "required": false, + "name": "project.project", + "in": "path", + "required": true, "type": "string" } ], @@ -7817,29 +6279,52 @@ "required": true, "type": "string" }, - { - "name": "body", - "in": "body", - "required": true, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.UpdateUserRequest" + } + } + ], + "tags": [ + "Waypoint" + ] + } + }, + "/users": { + "get": { + "summary": "List all users in the system.", + "operationId": "Waypoint_ListUsers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/hashicorp.waypoint.ListUsersResponse" + } + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.UpdateUserRequest" + "$ref": "#/definitions/grpc.gateway.runtime.Error" } } - ], + }, "tags": [ "Waypoint" ] } }, - "/users": { + "/v1/ui/projects": { "get": { - "summary": "List all users in the system.", - "operationId": "Waypoint_ListUsers", + "summary": "List full projects (not just refs)", + "operationId": "Waypoint_UI_ListProjects", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/hashicorp.waypoint.ListUsersResponse" + "$ref": "#/definitions/hashicorp.waypoint.UI.ListProjectsResponse" } }, "default": { @@ -7849,6 +6334,30 @@ } } }, + "parameters": [ + { + "name": "pagination.page_size", + "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. A value of zero will cause `page_size` to be defaulted.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "pagination.next_page_token", + "description": "Specifies a page token to use to retrieve the next page. Set this to the\n`next_page_token` returned by previous list requests to get the next page of\nresults. If set, `previous_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.previous_page_token", + "description": "Specifies a page token to use to retrieve the previous page. Set this to\nthe `previous_page_token` returned by previous list requests to get the\nprevious page of results. If set, `next_page_token` must not be set.", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ "Waypoint" ] @@ -8070,106 +6579,6 @@ } } }, - "hashicorp.waypoint.AddOn": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "Unique identifier of the Add-on" - }, - "name": { - "type": "string", - "title": "Name of the Add-on" - }, - "project": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Project", - "title": "The project for which the Add-on was created" - }, - "definition": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.AddOnDefinition", - "title": "The Add-on definition from which this Add-on was created" - }, - "readme_markdown": { - "type": "string", - "format": "byte", - "title": "Rendered README markdown template for Add-on" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of descriptive tags for an Add-on" - }, - "terraform_nocode_module": { - "$ref": "#/definitions/hashicorp.waypoint.TerraformNocodeModule", - "title": "Terraform No Code module used for provisioning the Add-on" - }, - "short_summary": { - "type": "string", - "title": "Short description of the Add-on" - }, - "long_summary": { - "type": "string", - "title": "Longer description of the Add-on" - }, - "created_by": { - "type": "string", - "title": "created_by indicates what created the Add-on" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "The time at which the add-on was created" - } - }, - "title": "AddOn is an add-on definition rendered for a project" - }, - "hashicorp.waypoint.AddOnDefinition": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "Unique identifer of the Add-on definition" - }, - "name": { - "type": "string", - "title": "Name of the Add-on definition" - }, - "terraform_nocode_module": { - "$ref": "#/definitions/hashicorp.waypoint.TerraformNocodeModule", - "title": "Terraform No Code module used for provisioning the Add-on" - }, - "short_summary": { - "type": "string", - "title": "Short description of the Add-on" - }, - "long_summary": { - "type": "string", - "title": "Longer description of the Add-on" - }, - "readme_markdown_template": { - "type": "string", - "format": "byte", - "title": "A templated README describing the Add-on" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of descriptive tags for an Add-on" - }, - "tf_variable_set_ids": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The TF variable set to apply to the Add-on's No Code workspace" - } - }, - "title": "AddOnDefinition is the template for an add-on" - }, "hashicorp.waypoint.AdoptRunnerRequest": { "type": "object", "properties": { @@ -8651,83 +7060,6 @@ }, "description": "Passed to ConvertInviteToken to create a new token that can be used to authenticate RPCs." }, - "hashicorp.waypoint.CreateAddOnDefinitionRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Name of the Add-on definition" - }, - "terraform_nocode_module": { - "$ref": "#/definitions/hashicorp.waypoint.TerraformNocodeModule", - "title": "Terraform No Code module used for provisioning the Add-on" - }, - "short_summary": { - "type": "string", - "title": "Short description of the Add-on" - }, - "long_summary": { - "type": "string", - "title": "Longer description of the Add-on" - }, - "readme_markdown_template": { - "type": "string", - "format": "byte", - "title": "A templated README describing the Add-on" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of descriptive tags for an Add-on" - }, - "tf_variable_set_ids": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The TF variable set to apply to the Add-on's No Code workspace" - } - }, - "title": "CreateAddOnDefinitionRequest is the request used to create an Add-on\ndefinition" - }, - "hashicorp.waypoint.CreateAddOnDefinitionResponse": { - "type": "object", - "properties": { - "add_on_definition": { - "$ref": "#/definitions/hashicorp.waypoint.AddOnDefinition" - } - }, - "title": "CreateAddOnDefinitionResponse is the response containing the just-created\nAdd-on definition" - }, - "hashicorp.waypoint.CreateAddOnRequest": { - "type": "object", - "properties": { - "project": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Project", - "title": "The project for which the Add-on is to be created" - }, - "definition": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.AddOnDefinition", - "title": "The Add-on definition from which this Add-on is to be created" - }, - "name": { - "type": "string", - "title": "name is the name of the Add-on" - } - }, - "title": "CreateAddOnRequest is the request used to add an Add-on to a project" - }, - "hashicorp.waypoint.CreateAddOnResponse": { - "type": "object", - "properties": { - "add_on": { - "$ref": "#/definitions/hashicorp.waypoint.AddOn" - } - }, - "title": "CreateAddOnResponse is the response containing the just-added Add-on" - }, "hashicorp.waypoint.CreateHostnameRequest": { "type": "object", "properties": { @@ -8750,43 +7082,6 @@ } } }, - "hashicorp.waypoint.CreateProjectFromTemplateRequest": { - "type": "object", - "properties": { - "project_name": { - "type": "string" - }, - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.ProjectTemplate" - } - }, - "description": "CreateProjectFromTemplateRequest is a message intended for use in requests\nto render project templates." - }, - "hashicorp.waypoint.CreateProjectFromTemplateResponse": { - "type": "object", - "properties": { - "project": { - "$ref": "#/definitions/hashicorp.waypoint.Project" - } - }, - "description": "GetTFCRunStatusResponse is a message intended for use in responses to requests\nfor rendering project templates." - }, - "hashicorp.waypoint.CreateProjectTemplateRequest": { - "type": "object", - "properties": { - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" - } - } - }, - "hashicorp.waypoint.CreateProjectTemplateResponse": { - "type": "object", - "properties": { - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" - } - } - }, "hashicorp.waypoint.CreateSnapshotResponse": { "type": "object", "properties": { @@ -9462,24 +7757,6 @@ }, "description": "Generation is a shared message type used by operations to denote the\n\"generation\" they're a part of. A generation denotes whether shared\nphysical resources were used or whether new resources were created.\nAnother way to conceptualize generations: immutable deployment models\nwill create new generations each operation, whereas mutable models will\nreuse a generation.\n\nThe concept of a \"Generation\" was introduced in Waypoint 0.4. Operations\nfrom earlier versions will have nil generations and callers must handle\nthat scenario.\n\n== Read/Write Notes\n\nCallers inserting operations should ONLY set the generation ID. Remaining\nfields will be automatically populated.\n\nUpdates should never modify the generation." }, - "hashicorp.waypoint.GetAddOnDefinitionResponse": { - "type": "object", - "properties": { - "add_on_definition": { - "$ref": "#/definitions/hashicorp.waypoint.AddOnDefinition" - } - }, - "title": "GetAddOnDefinitionResponse is the response used to return an existing Add-on\nDefinition" - }, - "hashicorp.waypoint.GetAddOnResponse": { - "type": "object", - "properties": { - "add_on": { - "$ref": "#/definitions/hashicorp.waypoint.AddOn" - } - }, - "title": "GetAddOnResponse is the response containing the just-requested existing Add-on" - }, "hashicorp.waypoint.GetApplicationResponse": { "type": "object", "properties": { @@ -9507,14 +7784,6 @@ } } }, - "hashicorp.waypoint.GetDeploymentResponse": { - "type": "object", - "properties": { - "deployment": { - "$ref": "#/definitions/hashicorp.waypoint.Deployment" - } - } - }, "hashicorp.waypoint.GetJobStreamResponse": { "type": "object", "properties": { @@ -9909,15 +8178,6 @@ } } }, - "hashicorp.waypoint.GetProjectTemplateResponse": { - "type": "object", - "properties": { - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate", - "title": "A single projecttemplate" - } - } - }, "hashicorp.waypoint.GetServerConfigResponse": { "type": "object", "properties": { @@ -9926,54 +8186,6 @@ } } }, - "hashicorp.waypoint.GetTFCRunStatusResponse": { - "type": "object", - "properties": { - "url": { - "type": "string", - "title": "the URL of the TFC run" - }, - "state": { - "$ref": "#/definitions/hashicorp.waypoint.GetTFCRunStatusResponse.State", - "title": "the state of the TFC run" - } - }, - "description": "GetTFCRunStatusResponse is a message intended for use in responses to requests\nfor the status of a TFC run which was ran during rendering a project template." - }, - "hashicorp.waypoint.GetTFCRunStatusResponse.State": { - "type": "string", - "enum": [ - "UNKNOWN", - "RUNNING", - "SUCCESS", - "ERROR" - ], - "default": "UNKNOWN" - }, - "hashicorp.waypoint.GetTFRunStatusResponse": { - "type": "object", - "properties": { - "url": { - "type": "string", - "title": "the URL of the TF run" - }, - "state": { - "$ref": "#/definitions/hashicorp.waypoint.GetTFRunStatusResponse.State", - "title": "the state of the TF run" - } - }, - "title": "GetTFRunStatusResponse is the response containing the status of the latest\nrun of a Terraform workspace" - }, - "hashicorp.waypoint.GetTFRunStatusResponse.State": { - "type": "string", - "enum": [ - "UNKNOWN", - "RUNNING", - "SUCCESS", - "ERROR" - ], - "default": "UNKNOWN" - }, "hashicorp.waypoint.GetTaskResponse": { "type": "object", "properties": { @@ -11059,48 +9271,18 @@ "properties": { "start_job": { "$ref": "#/definitions/hashicorp.waypoint.Ref.Job", - "description": "The job that started the task (should match up to a StartTaskLaunchOp).\nThis is used to lookup the state to pass to the task." - } - } - }, - "hashicorp.waypoint.Job.WatchTaskResult": { - "type": "object", - "properties": { - "exit_code": { - "type": "integer", - "format": "int32" - } - } - }, - "hashicorp.waypoint.ListAddOnDefinitionsResponse": { - "type": "object", - "properties": { - "add_on_definitions": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.AddOnDefinition" - } - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" + "description": "The job that started the task (should match up to a StartTaskLaunchOp).\nThis is used to lookup the state to pass to the task." } - }, - "title": "ListAddOnDefinitionsResponse is the response used to return all Add-on\ndefinitions" + } }, - "hashicorp.waypoint.ListAddOnsResponse": { + "hashicorp.waypoint.Job.WatchTaskResult": { "type": "object", "properties": { - "add_ons": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.AddOn" - } - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" + "exit_code": { + "type": "integer", + "format": "int32" } - }, - "title": "ListAddOnsResponse is the response containing all existing Add-ons" + } }, "hashicorp.waypoint.ListAuthMethodsResponse": { "type": "object", @@ -11232,25 +9414,6 @@ } } }, - "hashicorp.waypoint.ListProjectTemplatesResponse": { - "type": "object", - "properties": { - "project_templates": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" - }, - "title": "The full list of projecttemplates" - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" - }, - "total_count": { - "type": "string", - "format": "uint64" - } - } - }, "hashicorp.waypoint.ListProjectsResponse": { "type": "object", "properties": { @@ -11815,15 +9978,6 @@ }, "state": { "$ref": "#/definitions/hashicorp.waypoint.Project.ProjectState" - }, - "readme_markdown": { - "type": "string", - "format": "byte", - "description": "readme_markdown is markdown formatted instructions on how to operate the project.\nThis may be populated from a project template." - }, - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.ProjectTemplate", - "description": "project_template is a reference to the template that this project was\ncreated from, if any." } } }, @@ -11862,72 +10016,6 @@ "default": "ACTIVE", "description": "ProjectState is set to active when the project is created and throughout its lifetime.\nWhen a project destroy operation begins, the state is set to destroying." }, - "hashicorp.waypoint.ProjectTemplate": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "Unique ID of the ProjectTemplate" - }, - "name": { - "type": "string", - "title": "Unique name of the ProjectTemplate" - }, - "summary": { - "type": "string", - "title": "A brief summary for use by platform engineers to distinguish between\nmultiple templates" - }, - "expanded_summary": { - "type": "string", - "description": "A long summary of what the ProjectTemplate is to be used for. This summary\nis shared between platform engineers and application developers." - }, - "readme_markdown_template": { - "type": "string", - "format": "byte", - "title": "A markdown text template which is rendered when a Project is created from a\nProjectTemplate to be shown to application developers.\nAccepted tokens:\n\"{{ .ProjectName }}\", representing the application developer chosen project name\n\"{{ .TfcOrgName }}\", representing the Terraform Cloud organization name in which\n the no-code module was reified" - }, - "waypoint_project": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate.WaypointProject", - "description": "Settings for the Waypoint project that should be set when a project is\ncreated from a ProjectTemplate." - }, - "terraform_nocode_module": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate.TerraformNocodeModule", - "description": "The Terraform No-Code Module which should be used to provision\ninfrastructure that is used by the project created from a ProjectTemplate." - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of descriptive strings that can be applied to the ProjectTemplate." - } - } - }, - "hashicorp.waypoint.ProjectTemplate.TerraformNocodeModule": { - "type": "object", - "properties": { - "source": { - "type": "string", - "description": "The module name for the Terraform no-code module." - }, - "version": { - "type": "string", - "description": "The version of the Terraform no-code module." - } - }, - "title": "Deprecated in favor of TerraformNocodeModule, declared outside of the ProjectTemplate message" - }, - "hashicorp.waypoint.ProjectTemplate.WaypointProject": { - "type": "object", - "properties": { - "waypoint_hcl_template": { - "type": "string", - "format": "byte", - "title": "waypoint.hcl text template file stored as HCL.\nAccepted tokens:\n\"{{ .ProjectName }}\", representing the application developer chosen project name\n\"{{ .TfcOrgName }}\", representing the Terraform Cloud organization name in which\n the no-code module was reified" - } - }, - "description": "WaypointProject governs the properties that will be set on the final\nwaypoint Project that we create. Future fields will likely include status\nreport and datasource polling settings." - }, "hashicorp.waypoint.PushedArtifact": { "type": "object", "properties": { @@ -12021,28 +10109,6 @@ } } }, - "hashicorp.waypoint.Ref.AddOn": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "hashicorp.waypoint.Ref.AddOnDefinition": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, "hashicorp.waypoint.Ref.Application": { "type": "object", "properties": { @@ -12179,28 +10245,20 @@ "properties": { "pipeline_id": { "type": "string", - "title": "ID of the current pipeline (the one containing the current step)" + "title": "ID of the pipeline" }, "pipeline_name": { "type": "string", - "title": "Name of the current pipeline" + "title": "Name of the pipeline" }, "step": { "type": "string", - "title": "Step name within the current pipeline" + "description": "Step name within the pipeline." }, "run_sequence": { "type": "string", "format": "uint64", - "title": "Run sequence for the root pipeline" - }, - "root_pipeline_id": { - "type": "string", - "title": "Name of the root pipeline (the one invoked in `waypoint pipeline run `)" - }, - "root_pipeline_name": { - "type": "string", - "title": "Name of the root pipeline" + "title": "Pipeline run sequence" } } }, @@ -12213,19 +10271,6 @@ }, "description": "Project references a project." }, - "hashicorp.waypoint.Ref.ProjectTemplate": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "ID of the ProjectTemplate" - }, - "name": { - "type": "string", - "title": "Name of the ProjectTemplate" - } - } - }, "hashicorp.waypoint.Ref.Runner": { "type": "object", "properties": { @@ -12850,19 +10895,6 @@ } } }, - "hashicorp.waypoint.SortingRequest": { - "type": "object", - "properties": { - "order_by": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Specifies the list of per field ordering that should be used for sorting.\nThe order matters as rows are sorted in order by fields and when the field\nmatches, the next field is used to tie break the ordering.\nThe per field default ordering is ascending.\n\nThe fields should be immutable, unique, and orderable. If the field is\nnot unique, more than one sort fields should be passed.\n\nExample: order_by=name,age desc,created_at asc\nIn that case, 'name' will get the default 'ascending' order." - } - }, - "description": "SortingRequest are the parameters for a sorted list request." - }, "hashicorp.waypoint.Status": { "type": "object", "properties": { @@ -13169,19 +11201,6 @@ }, "description": "TaskLaunchInfo gets stored on the job/operation when queued for execution.\nIt details various options required for the task it will launch." }, - "hashicorp.waypoint.TerraformNocodeModule": { - "type": "object", - "properties": { - "source": { - "type": "string", - "title": "The source of the Terraform no-code module.\nhttps://developer.hashicorp.com/terraform/language/modules/sources" - }, - "version": { - "type": "string", - "description": "The version of the Terraform no-code module." - } - } - }, "hashicorp.waypoint.Token": { "type": "object", "properties": { @@ -13390,200 +11409,70 @@ "$ref": "#/definitions/hashicorp.waypoint.Job.BuildOp" }, "push": { - "$ref": "#/definitions/hashicorp.waypoint.Job.PushOp" - }, - "deploy": { - "$ref": "#/definitions/hashicorp.waypoint.Job.DeployOp" - }, - "destroy": { - "$ref": "#/definitions/hashicorp.waypoint.Job.DestroyOp" - }, - "release": { - "$ref": "#/definitions/hashicorp.waypoint.Job.ReleaseOp" - }, - "up": { - "$ref": "#/definitions/hashicorp.waypoint.Job.UpOp" - }, - "init": { - "$ref": "#/definitions/hashicorp.waypoint.Job.InitOp" - }, - "status_report": { - "$ref": "#/definitions/hashicorp.waypoint.Job.StatusReportOp" - }, - "workspace": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace", - "description": "Defaults to the default workspace if unset." - }, - "project": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Project", - "description": "Required. Project ref must be set to be valid trigger URL." - }, - "application": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Application", - "description": "The application to use. Can be empty, this trigger will run on every app\nif not set." - } - }, - "description": "The Trigger message is a representation of a URL that can be requested\nfor invoking specific lifecycle operations on a projects applications. These\ntrigger URLs are intended to be used in a CI system for easy configuration.\nThe user is expected to configure and generate the URL ahead of time, and\nWaypoint will generate a trigger based on the configuration here and return\na URL to make requests with." - }, - "hashicorp.waypoint.UI.DeploymentBundle": { - "type": "object", - "properties": { - "deployment": { - "$ref": "#/definitions/hashicorp.waypoint.Deployment", - "description": "The deployment in question." - }, - "artifact": { - "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact", - "title": "Populated when a Deployment is read with LoadDetails set\nto ARTIFACT or BUILD" - }, - "build": { - "$ref": "#/definitions/hashicorp.waypoint.Build", - "title": "Populated when a Deployment is read with LoadDetails set to BUILD" - }, - "deploy_url": { - "type": "string", - "description": "The deployment-specific URL from the URL service. This is set on\nall deployment API calls. This will be empty if the URL service\nis not enabled or there was an error loading this information." - }, - "job_data_source_ref": { - "$ref": "#/definitions/hashicorp.waypoint.Job.DataSource.Ref", - "description": "The ref that was used in the job to run this operation. This is\nalso accessible by querying the job via the job_id and should always\nmatch.\n\nThis may be null under multiple circumstances: (1) the job was\nmanually triggered with local data (no datasource) or (2) the job\nwas run in earlier versions of Waypoint before we tracked this or\n(3) the job hasn't yet loaded the data.\n\nThis is always pre-populated if it is exists." - }, - "latest_status_report": { - "$ref": "#/definitions/hashicorp.waypoint.StatusReport", - "description": "The most recent status report generated for this deployment." - } - }, - "description": "A deployment packaged alongside prefetched related messages." - }, - "hashicorp.waypoint.UI.EventAddOn": { - "type": "object", - "properties": { - "add_on_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "add_on_operation": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventAddOn.operation" - } - } - }, - "hashicorp.waypoint.UI.EventAddOn.operation": { - "type": "string", - "enum": [ - "CREATED", - "DESTROYED", - "MODIFIED" - ], - "default": "CREATED" - }, - "hashicorp.waypoint.UI.EventBuild": { - "type": "object", - "properties": { - "build_id": { - "type": "string" - }, - "sequence": { - "type": "string", - "format": "uint64" - }, - "component": { - "$ref": "#/definitions/hashicorp.waypoint.Component" - }, - "workspace": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace" - }, - "status": { - "$ref": "#/definitions/hashicorp.waypoint.Status" - }, - "commit": { - "type": "string", - "title": "commit is the full commit hash" - } - } - }, - "hashicorp.waypoint.UI.EventBundle": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "date-time" - }, - "event_type": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventBundle.EventType" - }, - "event_data": { - "type": "string", - "format": "byte" - }, - "id": { - "type": "string" - } - }, - "description": "An event packaged alongside prefetched related messages." - }, - "hashicorp.waypoint.UI.EventBundle.EventType": { - "type": "string", - "enum": [ - "BUILD", - "DEPLOYMENT", - "RELEASE", - "ADDON_CREATED", - "ADDON_DESTROYED" - ], - "default": "BUILD", - "title": "Supported EventTypes" - }, - "hashicorp.waypoint.UI.EventDeployment": { - "type": "object", - "properties": { - "deployment_id": { - "type": "string" + "$ref": "#/definitions/hashicorp.waypoint.Job.PushOp" }, - "sequence": { - "type": "string", - "format": "uint64" + "deploy": { + "$ref": "#/definitions/hashicorp.waypoint.Job.DeployOp" }, - "component": { - "$ref": "#/definitions/hashicorp.waypoint.Component" + "destroy": { + "$ref": "#/definitions/hashicorp.waypoint.Job.DestroyOp" + }, + "release": { + "$ref": "#/definitions/hashicorp.waypoint.Job.ReleaseOp" + }, + "up": { + "$ref": "#/definitions/hashicorp.waypoint.Job.UpOp" + }, + "init": { + "$ref": "#/definitions/hashicorp.waypoint.Job.InitOp" + }, + "status_report": { + "$ref": "#/definitions/hashicorp.waypoint.Job.StatusReportOp" }, "workspace": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace" + "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace", + "description": "Defaults to the default workspace if unset." }, - "status": { - "$ref": "#/definitions/hashicorp.waypoint.Status" + "project": { + "$ref": "#/definitions/hashicorp.waypoint.Ref.Project", + "description": "Required. Project ref must be set to be valid trigger URL." }, - "build_sequence": { - "type": "string", - "format": "uint64" + "application": { + "$ref": "#/definitions/hashicorp.waypoint.Ref.Application", + "description": "The application to use. Can be empty, this trigger will run on every app\nif not set." } - } + }, + "description": "The Trigger message is a representation of a URL that can be requested\nfor invoking specific lifecycle operations on a projects applications. These\ntrigger URLs are intended to be used in a CI system for easy configuration.\nThe user is expected to configure and generate the URL ahead of time, and\nWaypoint will generate a trigger based on the configuration here and return\na URL to make requests with." }, - "hashicorp.waypoint.UI.EventRelease": { + "hashicorp.waypoint.UI.DeploymentBundle": { "type": "object", "properties": { - "release_id": { - "type": "string" + "deployment": { + "$ref": "#/definitions/hashicorp.waypoint.Deployment", + "description": "The deployment in question." }, - "sequence": { - "type": "string", - "format": "uint64" + "artifact": { + "$ref": "#/definitions/hashicorp.waypoint.PushedArtifact", + "title": "Populated when a Deployment is read with LoadDetails set\nto ARTIFACT or BUILD" }, - "component": { - "$ref": "#/definitions/hashicorp.waypoint.Component" + "build": { + "$ref": "#/definitions/hashicorp.waypoint.Build", + "title": "Populated when a Deployment is read with LoadDetails set to BUILD" }, - "workspace": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace" + "deploy_url": { + "type": "string", + "description": "The deployment-specific URL from the URL service. This is set on\nall deployment API calls. This will be empty if the URL service\nis not enabled or there was an error loading this information." }, - "status": { - "$ref": "#/definitions/hashicorp.waypoint.Status" + "job_data_source_ref": { + "$ref": "#/definitions/hashicorp.waypoint.Job.DataSource.Ref", + "description": "The ref that was used in the job to run this operation. This is\nalso accessible by querying the job via the job_id and should always\nmatch.\n\nThis may be null under multiple circumstances: (1) the job was\nmanually triggered with local data (no datasource) or (2) the job\nwas run in earlier versions of Waypoint before we tracked this or\n(3) the job hasn't yet loaded the data.\n\nThis is always pre-populated if it is exists." }, - "deployment_sequence": { - "type": "string", - "format": "uint64" + "latest_status_report": { + "$ref": "#/definitions/hashicorp.waypoint.StatusReport", + "description": "The most recent status report generated for this deployment." } - } + }, + "description": "A deployment packaged alongside prefetched related messages." }, "hashicorp.waypoint.UI.GetDeploymentResponse": { "type": "object", @@ -13594,21 +11483,6 @@ } } }, - "hashicorp.waypoint.UI.GetPipelineRunResponse": { - "type": "object", - "properties": { - "pipeline_run": { - "$ref": "#/definitions/hashicorp.waypoint.PipelineRun", - "description": "deprecated in favor of pipeline_run_bundle." - }, - "root_tree_node": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunTreeNode" - }, - "pipeline_run_bundle": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunBundle" - } - } - }, "hashicorp.waypoint.UI.GetProjectResponse": { "type": "object", "properties": { @@ -13617,9 +11491,6 @@ }, "latest_init_job": { "$ref": "#/definitions/hashicorp.waypoint.Job" - }, - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" } } }, @@ -13635,67 +11506,6 @@ } } }, - "hashicorp.waypoint.UI.ListEventSchemasResponse": { - "type": "object", - "properties": { - "event_build_schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventBuild" - }, - "event_deployment_schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventDeployment" - }, - "event_release_schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventRelease" - }, - "event_add_on_schema": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventAddOn" - } - }, - "title": "NOTE(Cassie): This should be implemented once pipeline_runs are app scoped\nmessage EventPipelineRun {\nstring pipelineRun_id = 1;\nuint64 sequence = 2;\n// Component component = 3; //aka platform\n// Ref.Workspace workspace = 4;\n}" - }, - "hashicorp.waypoint.UI.ListEventsResponse": { - "type": "object", - "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.UI.EventBundle" - }, - "description": "The list of events with related messages prefetched." - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" - } - } - }, - "hashicorp.waypoint.UI.ListPipelineRunsResponse": { - "type": "object", - "properties": { - "pipeline_run_bundles": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunBundle" - } - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" - } - } - }, - "hashicorp.waypoint.UI.ListPipelinesResponse": { - "type": "object", - "properties": { - "pipelines": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineBundle" - } - }, - "pagination": { - "$ref": "#/definitions/hashicorp.waypoint.PaginationResponse" - } - } - }, "hashicorp.waypoint.UI.ListProjectsResponse": { "type": "object", "properties": { @@ -13726,107 +11536,6 @@ } } }, - "hashicorp.waypoint.UI.PipelineBundle": { - "type": "object", - "properties": { - "pipeline": { - "$ref": "#/definitions/hashicorp.waypoint.Pipeline" - }, - "last_run": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunBundle" - } - } - }, - "hashicorp.waypoint.UI.PipelineRunBundle": { - "type": "object", - "properties": { - "pipeline_run": { - "$ref": "#/definitions/hashicorp.waypoint.PipelineRun" - }, - "queue_time": { - "type": "string", - "format": "date-time" - }, - "application": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Application" - }, - "data_source_ref": { - "$ref": "#/definitions/hashicorp.waypoint.Job.DataSource.Ref" - } - } - }, - "hashicorp.waypoint.UI.PipelineRunTreeNode": { - "type": "object", - "properties": { - "step": { - "$ref": "#/definitions/hashicorp.waypoint.Pipeline.Step", - "description": "If step is absent then the node is “virtual” — it represents a set of\nconcurrent steps/jobs." - }, - "state": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunTreeNode.State" - }, - "start_time": { - "type": "string", - "format": "date-time" - }, - "complete_time": { - "type": "string", - "format": "date-time" - }, - "application": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Application" - }, - "workspace": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Workspace" - }, - "job": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.Job" - }, - "result": { - "$ref": "#/definitions/hashicorp.waypoint.Job.Result" - }, - "latest_status_report": { - "$ref": "#/definitions/hashicorp.waypoint.StatusReport" - }, - "children": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunTreeNode.Children" - } - } - }, - "hashicorp.waypoint.UI.PipelineRunTreeNode.Children": { - "type": "object", - "properties": { - "mode": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunTreeNode.Children.Mode" - }, - "nodes": { - "type": "array", - "items": { - "$ref": "#/definitions/hashicorp.waypoint.UI.PipelineRunTreeNode" - } - } - } - }, - "hashicorp.waypoint.UI.PipelineRunTreeNode.Children.Mode": { - "type": "string", - "enum": [ - "SERIAL", - "PARALLEL" - ], - "default": "SERIAL" - }, - "hashicorp.waypoint.UI.PipelineRunTreeNode.State": { - "type": "string", - "enum": [ - "UNKNOWN", - "QUEUED", - "RUNNING", - "ERROR", - "CANCELLED", - "SUCCESS" - ], - "default": "UNKNOWN" - }, "hashicorp.waypoint.UI.ProjectBundle": { "type": "object", "properties": { @@ -13849,100 +11558,6 @@ }, "description": "A release packaged alongside prefetched related messages." }, - "hashicorp.waypoint.UpdateAddOnDefinitionRequest": { - "type": "object", - "properties": { - "definition": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.AddOnDefinition", - "title": "Reference to an existing Add-on" - }, - "name": { - "type": "string", - "title": "Name of the Add-on definition" - }, - "terraform_nocode_module": { - "$ref": "#/definitions/hashicorp.waypoint.TerraformNocodeModule", - "title": "Terraform No Code module used for provisioning the Add-on" - }, - "short_summary": { - "type": "string", - "title": "Short description of the Add-on" - }, - "long_summary": { - "type": "string", - "title": "Longer description of the Add-on" - }, - "readme_markdown_template": { - "type": "string", - "format": "byte", - "title": "A templated README describing the Add-on" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of descriptive tags for an Add-on" - }, - "tf_variable_set_ids": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The TF variable set to apply to the Add-on's No Code workspace" - } - }, - "title": "UpdateAddOnDefinitionRequest is the request used to update an existing\nAdd-on definition" - }, - "hashicorp.waypoint.UpdateAddOnDefinitionResponse": { - "type": "object", - "properties": { - "add_on_definition": { - "$ref": "#/definitions/hashicorp.waypoint.AddOnDefinition" - } - }, - "title": "UpdateAddOnDefinitionResponse is the response containing the just-updated\nAdd-on definition" - }, - "hashicorp.waypoint.UpdateAddOnRequest": { - "type": "object", - "properties": { - "add_on": { - "$ref": "#/definitions/hashicorp.waypoint.Ref.AddOn", - "description": "The add-on to be updated." - }, - "name": { - "type": "string", - "description": "The new name of the Add-on." - } - }, - "description": "UpdateAddOnRequest is the request used to update an existing Add-on." - }, - "hashicorp.waypoint.UpdateAddOnResponse": { - "type": "object", - "properties": { - "add_on": { - "$ref": "#/definitions/hashicorp.waypoint.AddOn", - "description": "The newly updated Add-on." - } - }, - "description": "UpdateAddOnResponse is the response containing the just-updated Add-on." - }, - "hashicorp.waypoint.UpdateProjectTemplateRequest": { - "type": "object", - "properties": { - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" - } - } - }, - "hashicorp.waypoint.UpdateProjectTemplateResponse": { - "type": "object", - "properties": { - "project_template": { - "$ref": "#/definitions/hashicorp.waypoint.ProjectTemplate" - } - } - }, "hashicorp.waypoint.UpdateUserRequest": { "type": "object", "properties": { diff --git a/pkg/server/gen/server_grpc.pb.go b/pkg/server/gen/server_grpc.pb.go index 7021c130ce7..f49a9f68c70 100644 --- a/pkg/server/gen/server_grpc.pb.go +++ b/pkg/server/gen/server_grpc.pb.go @@ -1,9 +1,6 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.17.3 // source: pkg/server/proto/server.proto @@ -22,141 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Waypoint_GetVersionInfo_FullMethodName = "/hashicorp.waypoint.Waypoint/GetVersionInfo" - Waypoint_ListOIDCAuthMethods_FullMethodName = "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods" - Waypoint_GetOIDCAuthURL_FullMethodName = "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL" - Waypoint_CompleteOIDCAuth_FullMethodName = "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth" - Waypoint_NoAuthRunTrigger_FullMethodName = "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger" - Waypoint_GetUser_FullMethodName = "/hashicorp.waypoint.Waypoint/GetUser" - Waypoint_ListUsers_FullMethodName = "/hashicorp.waypoint.Waypoint/ListUsers" - Waypoint_UpdateUser_FullMethodName = "/hashicorp.waypoint.Waypoint/UpdateUser" - Waypoint_DeleteUser_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteUser" - Waypoint_UpsertAuthMethod_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertAuthMethod" - Waypoint_GetAuthMethod_FullMethodName = "/hashicorp.waypoint.Waypoint/GetAuthMethod" - Waypoint_ListAuthMethods_FullMethodName = "/hashicorp.waypoint.Waypoint/ListAuthMethods" - Waypoint_DeleteAuthMethod_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteAuthMethod" - Waypoint_ListWorkspaces_FullMethodName = "/hashicorp.waypoint.Waypoint/ListWorkspaces" - Waypoint_GetWorkspace_FullMethodName = "/hashicorp.waypoint.Waypoint/GetWorkspace" - Waypoint_UpsertWorkspace_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertWorkspace" - Waypoint_UpsertProject_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertProject" - Waypoint_GetProject_FullMethodName = "/hashicorp.waypoint.Waypoint/GetProject" - Waypoint_ListProjects_FullMethodName = "/hashicorp.waypoint.Waypoint/ListProjects" - Waypoint_DestroyProject_FullMethodName = "/hashicorp.waypoint.Waypoint/DestroyProject" - Waypoint_GetApplication_FullMethodName = "/hashicorp.waypoint.Waypoint/GetApplication" - Waypoint_UpsertApplication_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertApplication" - Waypoint_ListBuilds_FullMethodName = "/hashicorp.waypoint.Waypoint/ListBuilds" - Waypoint_GetBuild_FullMethodName = "/hashicorp.waypoint.Waypoint/GetBuild" - Waypoint_GetLatestBuild_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestBuild" - Waypoint_ListPushedArtifacts_FullMethodName = "/hashicorp.waypoint.Waypoint/ListPushedArtifacts" - Waypoint_GetPushedArtifact_FullMethodName = "/hashicorp.waypoint.Waypoint/GetPushedArtifact" - Waypoint_GetLatestPushedArtifact_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact" - Waypoint_ListDeployments_FullMethodName = "/hashicorp.waypoint.Waypoint/ListDeployments" - Waypoint_GetDeployment_FullMethodName = "/hashicorp.waypoint.Waypoint/GetDeployment" - Waypoint_GetLatestDeployment_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestDeployment" - Waypoint_ListInstances_FullMethodName = "/hashicorp.waypoint.Waypoint/ListInstances" - Waypoint_ListReleases_FullMethodName = "/hashicorp.waypoint.Waypoint/ListReleases" - Waypoint_GetRelease_FullMethodName = "/hashicorp.waypoint.Waypoint/GetRelease" - Waypoint_GetLatestRelease_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestRelease" - Waypoint_GetStatusReport_FullMethodName = "/hashicorp.waypoint.Waypoint/GetStatusReport" - Waypoint_GetLatestStatusReport_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestStatusReport" - Waypoint_ListStatusReports_FullMethodName = "/hashicorp.waypoint.Waypoint/ListStatusReports" - Waypoint_ExpediteStatusReport_FullMethodName = "/hashicorp.waypoint.Waypoint/ExpediteStatusReport" - Waypoint_GetLogStream_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLogStream" - Waypoint_StartExecStream_FullMethodName = "/hashicorp.waypoint.Waypoint/StartExecStream" - Waypoint_SetConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/SetConfig" - Waypoint_DeleteConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteConfig" - Waypoint_GetConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/GetConfig" - Waypoint_SetConfigSource_FullMethodName = "/hashicorp.waypoint.Waypoint/SetConfigSource" - Waypoint_DeleteConfigSource_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteConfigSource" - Waypoint_GetConfigSource_FullMethodName = "/hashicorp.waypoint.Waypoint/GetConfigSource" - Waypoint_CreateHostname_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateHostname" - Waypoint_DeleteHostname_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteHostname" - Waypoint_ListHostnames_FullMethodName = "/hashicorp.waypoint.Waypoint/ListHostnames" - Waypoint_QueueJob_FullMethodName = "/hashicorp.waypoint.Waypoint/QueueJob" - Waypoint_CancelJob_FullMethodName = "/hashicorp.waypoint.Waypoint/CancelJob" - Waypoint_GetJob_FullMethodName = "/hashicorp.waypoint.Waypoint/GetJob" - Waypoint_ListJobs_FullMethodName = "/hashicorp.waypoint.Waypoint/ListJobs" - Waypoint_ValidateJob_FullMethodName = "/hashicorp.waypoint.Waypoint/ValidateJob" - Waypoint_GetJobStream_FullMethodName = "/hashicorp.waypoint.Waypoint/GetJobStream" - Waypoint_GetRunner_FullMethodName = "/hashicorp.waypoint.Waypoint/GetRunner" - Waypoint_ListRunners_FullMethodName = "/hashicorp.waypoint.Waypoint/ListRunners" - Waypoint_AdoptRunner_FullMethodName = "/hashicorp.waypoint.Waypoint/AdoptRunner" - Waypoint_ForgetRunner_FullMethodName = "/hashicorp.waypoint.Waypoint/ForgetRunner" - Waypoint_GetServerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/GetServerConfig" - Waypoint_SetServerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/SetServerConfig" - Waypoint_CreateSnapshot_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateSnapshot" - Waypoint_RestoreSnapshot_FullMethodName = "/hashicorp.waypoint.Waypoint/RestoreSnapshot" - Waypoint_BootstrapToken_FullMethodName = "/hashicorp.waypoint.Waypoint/BootstrapToken" - Waypoint_DecodeToken_FullMethodName = "/hashicorp.waypoint.Waypoint/DecodeToken" - Waypoint_GenerateInviteToken_FullMethodName = "/hashicorp.waypoint.Waypoint/GenerateInviteToken" - Waypoint_GenerateLoginToken_FullMethodName = "/hashicorp.waypoint.Waypoint/GenerateLoginToken" - Waypoint_GenerateRunnerToken_FullMethodName = "/hashicorp.waypoint.Waypoint/GenerateRunnerToken" - Waypoint_ConvertInviteToken_FullMethodName = "/hashicorp.waypoint.Waypoint/ConvertInviteToken" - Waypoint_RunnerToken_FullMethodName = "/hashicorp.waypoint.Waypoint/RunnerToken" - Waypoint_RunnerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/RunnerConfig" - Waypoint_RunnerJobStream_FullMethodName = "/hashicorp.waypoint.Waypoint/RunnerJobStream" - Waypoint_RunnerGetDeploymentConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/RunnerGetDeploymentConfig" - Waypoint_EntrypointConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/EntrypointConfig" - Waypoint_EntrypointLogStream_FullMethodName = "/hashicorp.waypoint.Waypoint/EntrypointLogStream" - Waypoint_EntrypointExecStream_FullMethodName = "/hashicorp.waypoint.Waypoint/EntrypointExecStream" - Waypoint_WaypointHclFmt_FullMethodName = "/hashicorp.waypoint.Waypoint/WaypointHclFmt" - Waypoint_UpsertOnDemandRunnerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig" - Waypoint_GetOnDemandRunnerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig" - Waypoint_GetDefaultOnDemandRunnerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/GetDefaultOnDemandRunnerConfig" - Waypoint_DeleteOnDemandRunnerConfig_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteOnDemandRunnerConfig" - Waypoint_ListOnDemandRunnerConfigs_FullMethodName = "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs" - Waypoint_UpsertBuild_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertBuild" - Waypoint_UpsertPushedArtifact_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertPushedArtifact" - Waypoint_UpsertDeployment_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertDeployment" - Waypoint_UpsertRelease_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertRelease" - Waypoint_UpsertStatusReport_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertStatusReport" - Waypoint_GetTask_FullMethodName = "/hashicorp.waypoint.Waypoint/GetTask" - Waypoint_ListTask_FullMethodName = "/hashicorp.waypoint.Waypoint/ListTask" - Waypoint_CancelTask_FullMethodName = "/hashicorp.waypoint.Waypoint/CancelTask" - Waypoint_UpsertTrigger_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertTrigger" - Waypoint_GetTrigger_FullMethodName = "/hashicorp.waypoint.Waypoint/GetTrigger" - Waypoint_DeleteTrigger_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteTrigger" - Waypoint_ListTriggers_FullMethodName = "/hashicorp.waypoint.Waypoint/ListTriggers" - Waypoint_RunTrigger_FullMethodName = "/hashicorp.waypoint.Waypoint/RunTrigger" - Waypoint_UpsertPipeline_FullMethodName = "/hashicorp.waypoint.Waypoint/UpsertPipeline" - Waypoint_RunPipeline_FullMethodName = "/hashicorp.waypoint.Waypoint/RunPipeline" - Waypoint_GetPipeline_FullMethodName = "/hashicorp.waypoint.Waypoint/GetPipeline" - Waypoint_GetPipelineRun_FullMethodName = "/hashicorp.waypoint.Waypoint/GetPipelineRun" - Waypoint_GetLatestPipelineRun_FullMethodName = "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun" - Waypoint_ListPipelines_FullMethodName = "/hashicorp.waypoint.Waypoint/ListPipelines" - Waypoint_ListPipelineRuns_FullMethodName = "/hashicorp.waypoint.Waypoint/ListPipelineRuns" - Waypoint_ConfigSyncPipeline_FullMethodName = "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline" - Waypoint_CreateProjectTemplate_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateProjectTemplate" - Waypoint_UpdateProjectTemplate_FullMethodName = "/hashicorp.waypoint.Waypoint/UpdateProjectTemplate" - Waypoint_GetProjectTemplate_FullMethodName = "/hashicorp.waypoint.Waypoint/GetProjectTemplate" - Waypoint_DeleteProjectTemplate_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteProjectTemplate" - Waypoint_ListProjectTemplates_FullMethodName = "/hashicorp.waypoint.Waypoint/ListProjectTemplates" - Waypoint_CreateProjectFromTemplate_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateProjectFromTemplate" - Waypoint_GetTFCRunStatus_FullMethodName = "/hashicorp.waypoint.Waypoint/GetTFCRunStatus" - Waypoint_CreateAddOnDefinition_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateAddOnDefinition" - Waypoint_GetAddOnDefinition_FullMethodName = "/hashicorp.waypoint.Waypoint/GetAddOnDefinition" - Waypoint_ListAddOnDefinitions_FullMethodName = "/hashicorp.waypoint.Waypoint/ListAddOnDefinitions" - Waypoint_UpdateAddOnDefinition_FullMethodName = "/hashicorp.waypoint.Waypoint/UpdateAddOnDefinition" - Waypoint_DeleteAddOnDefinition_FullMethodName = "/hashicorp.waypoint.Waypoint/DeleteAddOnDefinition" - Waypoint_CreateAddOn_FullMethodName = "/hashicorp.waypoint.Waypoint/CreateAddOn" - Waypoint_GetAddOn_FullMethodName = "/hashicorp.waypoint.Waypoint/GetAddOn" - Waypoint_UpdateAddOn_FullMethodName = "/hashicorp.waypoint.Waypoint/UpdateAddOn" - Waypoint_DestroyAddOn_FullMethodName = "/hashicorp.waypoint.Waypoint/DestroyAddOn" - Waypoint_ListAddOns_FullMethodName = "/hashicorp.waypoint.Waypoint/ListAddOns" - Waypoint_GetTFRunStatus_FullMethodName = "/hashicorp.waypoint.Waypoint/GetTFRunStatus" - Waypoint_UI_ListProjects_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListProjects" - Waypoint_UI_GetProject_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_GetProject" - Waypoint_UI_ListPipelines_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListPipelines" - Waypoint_UI_ListPipelineRuns_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListPipelineRuns" - Waypoint_UI_GetPipelineRun_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_GetPipelineRun" - Waypoint_UI_ListDeployments_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListDeployments" - Waypoint_UI_GetDeployment_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_GetDeployment" - Waypoint_UI_ListReleases_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListReleases" - Waypoint_UI_ListEvents_FullMethodName = "/hashicorp.waypoint.Waypoint/UI_ListEvents" - Waypoint_INTERNAL_AdditionalMessages_FullMethodName = "/hashicorp.waypoint.Waypoint/INTERNAL_AdditionalMessages" -) - // WaypointClient is the client API for Waypoint service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -241,9 +103,6 @@ type WaypointClient interface { ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) // GetDeployment returns a deployment GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) - // GetLatestDeployment returns the most recent successfully completed deployment - // for an app. - GetLatestDeployment(ctx context.Context, in *GetLatestDeploymentRequest, opts ...grpc.CallOption) (*GetDeploymentResponse, error) // ListInstances returns the running instances of deployments. ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error) // ListReleases returns the releases. @@ -464,68 +323,16 @@ type WaypointClient interface { // ConfigSyncPipeline takes a request for a given project and syncs the current // project config to the Waypoint database. ConfigSyncPipeline(ctx context.Context, in *ConfigSyncPipelineRequest, opts ...grpc.CallOption) (*ConfigSyncPipelineResponse, error) - // CreateProjectTemplate creates a new projecttemplate. - CreateProjectTemplate(ctx context.Context, in *CreateProjectTemplateRequest, opts ...grpc.CallOption) (*CreateProjectTemplateResponse, error) - // UpdateProjectTemplate updates an existing projecttemplate. - UpdateProjectTemplate(ctx context.Context, in *UpdateProjectTemplateRequest, opts ...grpc.CallOption) (*UpdateProjectTemplateResponse, error) - // GetProjectTemplate returns a projecttemplate by the projecttemplate name or id - GetProjectTemplate(ctx context.Context, in *GetProjectTemplateRequest, opts ...grpc.CallOption) (*GetProjectTemplateResponse, error) - // DeleteProjectTemplate deletes a projecttemplate by the projecttemplate name or id - DeleteProjectTemplate(ctx context.Context, in *DeleteProjectTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - // ListProjectTemplates returns a list of all projecttemplates known. - // (Pagination is currently ignored on this request) - ListProjectTemplates(ctx context.Context, in *ListProjectTemplatesRequest, opts ...grpc.CallOption) (*ListProjectTemplatesResponse, error) - // CreateProjectFromTemplate is in BETA. It creates a new Waypoint project - // from a Project Template, provisioning infrastructure before upserting the - // Waypoint project to the database - CreateProjectFromTemplate(ctx context.Context, in *CreateProjectFromTemplateRequest, opts ...grpc.CallOption) (*CreateProjectFromTemplateResponse, error) - // Deprecated in favor of GetTFRunStatus - // GetTFCRunStatus is in BETA. It returns the status of a TFC run, which was - // run to render a project template. - GetTFCRunStatus(ctx context.Context, in *GetTFCRunStatusRequest, opts ...grpc.CallOption) (*GetTFCRunStatusResponse, error) - // CreateAddOnDefinition creates a new Add-on definition - CreateAddOnDefinition(ctx context.Context, in *CreateAddOnDefinitionRequest, opts ...grpc.CallOption) (*CreateAddOnDefinitionResponse, error) - // GetAddOnDefinition returns an Add-on definition, referenced by name or ID - GetAddOnDefinition(ctx context.Context, in *GetAddOnDefinitionRequest, opts ...grpc.CallOption) (*GetAddOnDefinitionResponse, error) - // ListAddOnDefinitions returns all existing Add-on definitions - ListAddOnDefinitions(ctx context.Context, in *ListAddOnDefinitionsRequest, opts ...grpc.CallOption) (*ListAddOnDefinitionsResponse, error) - // UpdateAddOnDefinition updates an existing Add-on definition - UpdateAddOnDefinition(ctx context.Context, in *UpdateAddOnDefinitionRequest, opts ...grpc.CallOption) (*UpdateAddOnDefinitionResponse, error) - // DeleteAddOnDefinition deletes an existing Add-on definition - DeleteAddOnDefinition(ctx context.Context, in *DeleteAddOnDefinitionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - // CreateAddOn adds an Add-on to a project from an Add-on definition - CreateAddOn(ctx context.Context, in *CreateAddOnRequest, opts ...grpc.CallOption) (*CreateAddOnResponse, error) - // GetAddOn returns an existing Add-on - GetAddOn(ctx context.Context, in *GetAddOnRequest, opts ...grpc.CallOption) (*GetAddOnResponse, error) - // UpdateAddOn updates an existing Add-on - UpdateAddOn(ctx context.Context, in *UpdateAddOnRequest, opts ...grpc.CallOption) (*UpdateAddOnResponse, error) - // DestroyAddOn destroys an existing Add-on - DestroyAddOn(ctx context.Context, in *DestroyAddOnRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - // ListAddOns returns all existing Add-ons - ListAddOns(ctx context.Context, in *ListAddOnsRequest, opts ...grpc.CallOption) (*ListAddOnsResponse, error) - // GetTFRunStatus returns the status of the latest run of a Terraform - // workspace - GetTFRunStatus(ctx context.Context, in *GetTFRunStatusRequest, opts ...grpc.CallOption) (*GetTFRunStatusResponse, error) // List full projects (not just refs) UI_ListProjects(ctx context.Context, in *UI_ListProjectsRequest, opts ...grpc.CallOption) (*UI_ListProjectsResponse, error) // Get a given project with useful related records. UI_GetProject(ctx context.Context, in *UI_GetProjectRequest, opts ...grpc.CallOption) (*UI_GetProjectResponse, error) - // List pipelines with last run for each for a given project. - UI_ListPipelines(ctx context.Context, in *UI_ListPipelinesRequest, opts ...grpc.CallOption) (*UI_ListPipelinesResponse, error) - // List pipeline runs with pagination for a given pipeline - UI_ListPipelineRuns(ctx context.Context, in *UI_ListPipelineRunsRequest, opts ...grpc.CallOption) (*UI_ListPipelineRunsResponse, error) - // Get a pipline run with additional computed data. - UI_GetPipelineRun(ctx context.Context, in *UI_GetPipelineRunRequest, opts ...grpc.CallOption) (*UI_GetPipelineRunResponse, error) // List deployments for a given application. UI_ListDeployments(ctx context.Context, in *UI_ListDeploymentsRequest, opts ...grpc.CallOption) (*UI_ListDeploymentsResponse, error) // GetDeployment returns a deployment UI_GetDeployment(ctx context.Context, in *UI_GetDeploymentRequest, opts ...grpc.CallOption) (*UI_GetDeploymentResponse, error) // List releases for a given application. UI_ListReleases(ctx context.Context, in *UI_ListReleasesRequest, opts ...grpc.CallOption) (*UI_ListReleasesResponse, error) - // List UI events for a given application. - UI_ListEvents(ctx context.Context, in *UI_ListEventsRequest, opts ...grpc.CallOption) (*UI_ListEventsResponse, error) - // List possible event data types. - INTERNAL_AdditionalMessages(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*UI_ListEventSchemasResponse, error) } type waypointClient struct { @@ -538,7 +345,7 @@ func NewWaypointClient(cc grpc.ClientConnInterface) WaypointClient { func (c *waypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionInfoResponse, error) { out := new(GetVersionInfoResponse) - err := c.cc.Invoke(ctx, Waypoint_GetVersionInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetVersionInfo", in, out, opts...) if err != nil { return nil, err } @@ -547,7 +354,7 @@ func (c *waypointClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, func (c *waypointClient) ListOIDCAuthMethods(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListOIDCAuthMethodsResponse, error) { out := new(ListOIDCAuthMethodsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListOIDCAuthMethods_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", in, out, opts...) if err != nil { return nil, err } @@ -556,7 +363,7 @@ func (c *waypointClient) ListOIDCAuthMethods(ctx context.Context, in *emptypb.Em func (c *waypointClient) GetOIDCAuthURL(ctx context.Context, in *GetOIDCAuthURLRequest, opts ...grpc.CallOption) (*GetOIDCAuthURLResponse, error) { out := new(GetOIDCAuthURLResponse) - err := c.cc.Invoke(ctx, Waypoint_GetOIDCAuthURL_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", in, out, opts...) if err != nil { return nil, err } @@ -565,7 +372,7 @@ func (c *waypointClient) GetOIDCAuthURL(ctx context.Context, in *GetOIDCAuthURLR func (c *waypointClient) CompleteOIDCAuth(ctx context.Context, in *CompleteOIDCAuthRequest, opts ...grpc.CallOption) (*CompleteOIDCAuthResponse, error) { out := new(CompleteOIDCAuthResponse) - err := c.cc.Invoke(ctx, Waypoint_CompleteOIDCAuth_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", in, out, opts...) if err != nil { return nil, err } @@ -574,7 +381,7 @@ func (c *waypointClient) CompleteOIDCAuth(ctx context.Context, in *CompleteOIDCA func (c *waypointClient) NoAuthRunTrigger(ctx context.Context, in *RunTriggerRequest, opts ...grpc.CallOption) (*RunTriggerResponse, error) { out := new(RunTriggerResponse) - err := c.cc.Invoke(ctx, Waypoint_NoAuthRunTrigger_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", in, out, opts...) if err != nil { return nil, err } @@ -583,7 +390,7 @@ func (c *waypointClient) NoAuthRunTrigger(ctx context.Context, in *RunTriggerReq func (c *waypointClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error) { out := new(GetUserResponse) - err := c.cc.Invoke(ctx, Waypoint_GetUser_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetUser", in, out, opts...) if err != nil { return nil, err } @@ -592,7 +399,7 @@ func (c *waypointClient) GetUser(ctx context.Context, in *GetUserRequest, opts . func (c *waypointClient) ListUsers(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListUsersResponse, error) { out := new(ListUsersResponse) - err := c.cc.Invoke(ctx, Waypoint_ListUsers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListUsers", in, out, opts...) if err != nil { return nil, err } @@ -601,7 +408,7 @@ func (c *waypointClient) ListUsers(ctx context.Context, in *emptypb.Empty, opts func (c *waypointClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*UpdateUserResponse, error) { out := new(UpdateUserResponse) - err := c.cc.Invoke(ctx, Waypoint_UpdateUser_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpdateUser", in, out, opts...) if err != nil { return nil, err } @@ -610,7 +417,7 @@ func (c *waypointClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, func (c *waypointClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteUser_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteUser", in, out, opts...) if err != nil { return nil, err } @@ -619,7 +426,7 @@ func (c *waypointClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, func (c *waypointClient) UpsertAuthMethod(ctx context.Context, in *UpsertAuthMethodRequest, opts ...grpc.CallOption) (*UpsertAuthMethodResponse, error) { out := new(UpsertAuthMethodResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertAuthMethod_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", in, out, opts...) if err != nil { return nil, err } @@ -628,7 +435,7 @@ func (c *waypointClient) UpsertAuthMethod(ctx context.Context, in *UpsertAuthMet func (c *waypointClient) GetAuthMethod(ctx context.Context, in *GetAuthMethodRequest, opts ...grpc.CallOption) (*GetAuthMethodResponse, error) { out := new(GetAuthMethodResponse) - err := c.cc.Invoke(ctx, Waypoint_GetAuthMethod_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetAuthMethod", in, out, opts...) if err != nil { return nil, err } @@ -637,7 +444,7 @@ func (c *waypointClient) GetAuthMethod(ctx context.Context, in *GetAuthMethodReq func (c *waypointClient) ListAuthMethods(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListAuthMethodsResponse, error) { out := new(ListAuthMethodsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListAuthMethods_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListAuthMethods", in, out, opts...) if err != nil { return nil, err } @@ -646,7 +453,7 @@ func (c *waypointClient) ListAuthMethods(ctx context.Context, in *emptypb.Empty, func (c *waypointClient) DeleteAuthMethod(ctx context.Context, in *DeleteAuthMethodRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteAuthMethod_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", in, out, opts...) if err != nil { return nil, err } @@ -655,7 +462,7 @@ func (c *waypointClient) DeleteAuthMethod(ctx context.Context, in *DeleteAuthMet func (c *waypointClient) ListWorkspaces(ctx context.Context, in *ListWorkspacesRequest, opts ...grpc.CallOption) (*ListWorkspacesResponse, error) { out := new(ListWorkspacesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListWorkspaces_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListWorkspaces", in, out, opts...) if err != nil { return nil, err } @@ -664,7 +471,7 @@ func (c *waypointClient) ListWorkspaces(ctx context.Context, in *ListWorkspacesR func (c *waypointClient) GetWorkspace(ctx context.Context, in *GetWorkspaceRequest, opts ...grpc.CallOption) (*GetWorkspaceResponse, error) { out := new(GetWorkspaceResponse) - err := c.cc.Invoke(ctx, Waypoint_GetWorkspace_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetWorkspace", in, out, opts...) if err != nil { return nil, err } @@ -673,7 +480,7 @@ func (c *waypointClient) GetWorkspace(ctx context.Context, in *GetWorkspaceReque func (c *waypointClient) UpsertWorkspace(ctx context.Context, in *UpsertWorkspaceRequest, opts ...grpc.CallOption) (*UpsertWorkspaceResponse, error) { out := new(UpsertWorkspaceResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertWorkspace_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertWorkspace", in, out, opts...) if err != nil { return nil, err } @@ -682,7 +489,7 @@ func (c *waypointClient) UpsertWorkspace(ctx context.Context, in *UpsertWorkspac func (c *waypointClient) UpsertProject(ctx context.Context, in *UpsertProjectRequest, opts ...grpc.CallOption) (*UpsertProjectResponse, error) { out := new(UpsertProjectResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertProject", in, out, opts...) if err != nil { return nil, err } @@ -691,7 +498,7 @@ func (c *waypointClient) UpsertProject(ctx context.Context, in *UpsertProjectReq func (c *waypointClient) GetProject(ctx context.Context, in *GetProjectRequest, opts ...grpc.CallOption) (*GetProjectResponse, error) { out := new(GetProjectResponse) - err := c.cc.Invoke(ctx, Waypoint_GetProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetProject", in, out, opts...) if err != nil { return nil, err } @@ -700,7 +507,7 @@ func (c *waypointClient) GetProject(ctx context.Context, in *GetProjectRequest, func (c *waypointClient) ListProjects(ctx context.Context, in *ListProjectsRequest, opts ...grpc.CallOption) (*ListProjectsResponse, error) { out := new(ListProjectsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListProjects_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListProjects", in, out, opts...) if err != nil { return nil, err } @@ -709,7 +516,7 @@ func (c *waypointClient) ListProjects(ctx context.Context, in *ListProjectsReque func (c *waypointClient) DestroyProject(ctx context.Context, in *DestroyProjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DestroyProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DestroyProject", in, out, opts...) if err != nil { return nil, err } @@ -718,7 +525,7 @@ func (c *waypointClient) DestroyProject(ctx context.Context, in *DestroyProjectR func (c *waypointClient) GetApplication(ctx context.Context, in *GetApplicationRequest, opts ...grpc.CallOption) (*GetApplicationResponse, error) { out := new(GetApplicationResponse) - err := c.cc.Invoke(ctx, Waypoint_GetApplication_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetApplication", in, out, opts...) if err != nil { return nil, err } @@ -727,7 +534,7 @@ func (c *waypointClient) GetApplication(ctx context.Context, in *GetApplicationR func (c *waypointClient) UpsertApplication(ctx context.Context, in *UpsertApplicationRequest, opts ...grpc.CallOption) (*UpsertApplicationResponse, error) { out := new(UpsertApplicationResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertApplication_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertApplication", in, out, opts...) if err != nil { return nil, err } @@ -736,7 +543,7 @@ func (c *waypointClient) UpsertApplication(ctx context.Context, in *UpsertApplic func (c *waypointClient) ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error) { out := new(ListBuildsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListBuilds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListBuilds", in, out, opts...) if err != nil { return nil, err } @@ -745,7 +552,7 @@ func (c *waypointClient) ListBuilds(ctx context.Context, in *ListBuildsRequest, func (c *waypointClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) { out := new(Build) - err := c.cc.Invoke(ctx, Waypoint_GetBuild_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetBuild", in, out, opts...) if err != nil { return nil, err } @@ -754,7 +561,7 @@ func (c *waypointClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts func (c *waypointClient) GetLatestBuild(ctx context.Context, in *GetLatestBuildRequest, opts ...grpc.CallOption) (*Build, error) { out := new(Build) - err := c.cc.Invoke(ctx, Waypoint_GetLatestBuild_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetLatestBuild", in, out, opts...) if err != nil { return nil, err } @@ -763,7 +570,7 @@ func (c *waypointClient) GetLatestBuild(ctx context.Context, in *GetLatestBuildR func (c *waypointClient) ListPushedArtifacts(ctx context.Context, in *ListPushedArtifactsRequest, opts ...grpc.CallOption) (*ListPushedArtifactsResponse, error) { out := new(ListPushedArtifactsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListPushedArtifacts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", in, out, opts...) if err != nil { return nil, err } @@ -772,7 +579,7 @@ func (c *waypointClient) ListPushedArtifacts(ctx context.Context, in *ListPushed func (c *waypointClient) GetPushedArtifact(ctx context.Context, in *GetPushedArtifactRequest, opts ...grpc.CallOption) (*PushedArtifact, error) { out := new(PushedArtifact) - err := c.cc.Invoke(ctx, Waypoint_GetPushedArtifact_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetPushedArtifact", in, out, opts...) if err != nil { return nil, err } @@ -781,7 +588,7 @@ func (c *waypointClient) GetPushedArtifact(ctx context.Context, in *GetPushedArt func (c *waypointClient) GetLatestPushedArtifact(ctx context.Context, in *GetLatestPushedArtifactRequest, opts ...grpc.CallOption) (*PushedArtifact, error) { out := new(PushedArtifact) - err := c.cc.Invoke(ctx, Waypoint_GetLatestPushedArtifact_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", in, out, opts...) if err != nil { return nil, err } @@ -790,7 +597,7 @@ func (c *waypointClient) GetLatestPushedArtifact(ctx context.Context, in *GetLat func (c *waypointClient) ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) { out := new(ListDeploymentsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListDeployments_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListDeployments", in, out, opts...) if err != nil { return nil, err } @@ -799,16 +606,7 @@ func (c *waypointClient) ListDeployments(ctx context.Context, in *ListDeployment func (c *waypointClient) GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { out := new(Deployment) - err := c.cc.Invoke(ctx, Waypoint_GetDeployment_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetLatestDeployment(ctx context.Context, in *GetLatestDeploymentRequest, opts ...grpc.CallOption) (*GetDeploymentResponse, error) { - out := new(GetDeploymentResponse) - err := c.cc.Invoke(ctx, Waypoint_GetLatestDeployment_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetDeployment", in, out, opts...) if err != nil { return nil, err } @@ -817,7 +615,7 @@ func (c *waypointClient) GetLatestDeployment(ctx context.Context, in *GetLatestD func (c *waypointClient) ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error) { out := new(ListInstancesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListInstances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListInstances", in, out, opts...) if err != nil { return nil, err } @@ -826,7 +624,7 @@ func (c *waypointClient) ListInstances(ctx context.Context, in *ListInstancesReq func (c *waypointClient) ListReleases(ctx context.Context, in *ListReleasesRequest, opts ...grpc.CallOption) (*ListReleasesResponse, error) { out := new(ListReleasesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListReleases_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListReleases", in, out, opts...) if err != nil { return nil, err } @@ -835,7 +633,7 @@ func (c *waypointClient) ListReleases(ctx context.Context, in *ListReleasesReque func (c *waypointClient) GetRelease(ctx context.Context, in *GetReleaseRequest, opts ...grpc.CallOption) (*Release, error) { out := new(Release) - err := c.cc.Invoke(ctx, Waypoint_GetRelease_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetRelease", in, out, opts...) if err != nil { return nil, err } @@ -844,7 +642,7 @@ func (c *waypointClient) GetRelease(ctx context.Context, in *GetReleaseRequest, func (c *waypointClient) GetLatestRelease(ctx context.Context, in *GetLatestReleaseRequest, opts ...grpc.CallOption) (*Release, error) { out := new(Release) - err := c.cc.Invoke(ctx, Waypoint_GetLatestRelease_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetLatestRelease", in, out, opts...) if err != nil { return nil, err } @@ -853,7 +651,7 @@ func (c *waypointClient) GetLatestRelease(ctx context.Context, in *GetLatestRele func (c *waypointClient) GetStatusReport(ctx context.Context, in *GetStatusReportRequest, opts ...grpc.CallOption) (*StatusReport, error) { out := new(StatusReport) - err := c.cc.Invoke(ctx, Waypoint_GetStatusReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetStatusReport", in, out, opts...) if err != nil { return nil, err } @@ -862,7 +660,7 @@ func (c *waypointClient) GetStatusReport(ctx context.Context, in *GetStatusRepor func (c *waypointClient) GetLatestStatusReport(ctx context.Context, in *GetLatestStatusReportRequest, opts ...grpc.CallOption) (*StatusReport, error) { out := new(StatusReport) - err := c.cc.Invoke(ctx, Waypoint_GetLatestStatusReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", in, out, opts...) if err != nil { return nil, err } @@ -871,7 +669,7 @@ func (c *waypointClient) GetLatestStatusReport(ctx context.Context, in *GetLates func (c *waypointClient) ListStatusReports(ctx context.Context, in *ListStatusReportsRequest, opts ...grpc.CallOption) (*ListStatusReportsResponse, error) { out := new(ListStatusReportsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListStatusReports_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListStatusReports", in, out, opts...) if err != nil { return nil, err } @@ -880,7 +678,7 @@ func (c *waypointClient) ListStatusReports(ctx context.Context, in *ListStatusRe func (c *waypointClient) ExpediteStatusReport(ctx context.Context, in *ExpediteStatusReportRequest, opts ...grpc.CallOption) (*ExpediteStatusReportResponse, error) { out := new(ExpediteStatusReportResponse) - err := c.cc.Invoke(ctx, Waypoint_ExpediteStatusReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", in, out, opts...) if err != nil { return nil, err } @@ -888,7 +686,7 @@ func (c *waypointClient) ExpediteStatusReport(ctx context.Context, in *ExpediteS } func (c *waypointClient) GetLogStream(ctx context.Context, in *GetLogStreamRequest, opts ...grpc.CallOption) (Waypoint_GetLogStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[0], Waypoint_GetLogStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[0], "/hashicorp.waypoint.Waypoint/GetLogStream", opts...) if err != nil { return nil, err } @@ -920,7 +718,7 @@ func (x *waypointGetLogStreamClient) Recv() (*LogBatch, error) { } func (c *waypointClient) StartExecStream(ctx context.Context, opts ...grpc.CallOption) (Waypoint_StartExecStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[1], Waypoint_StartExecStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[1], "/hashicorp.waypoint.Waypoint/StartExecStream", opts...) if err != nil { return nil, err } @@ -952,7 +750,7 @@ func (x *waypointStartExecStreamClient) Recv() (*ExecStreamResponse, error) { func (c *waypointClient) SetConfig(ctx context.Context, in *ConfigSetRequest, opts ...grpc.CallOption) (*ConfigSetResponse, error) { out := new(ConfigSetResponse) - err := c.cc.Invoke(ctx, Waypoint_SetConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/SetConfig", in, out, opts...) if err != nil { return nil, err } @@ -961,7 +759,7 @@ func (c *waypointClient) SetConfig(ctx context.Context, in *ConfigSetRequest, op func (c *waypointClient) DeleteConfig(ctx context.Context, in *ConfigDeleteRequest, opts ...grpc.CallOption) (*ConfigDeleteResponse, error) { out := new(ConfigDeleteResponse) - err := c.cc.Invoke(ctx, Waypoint_DeleteConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteConfig", in, out, opts...) if err != nil { return nil, err } @@ -970,7 +768,7 @@ func (c *waypointClient) DeleteConfig(ctx context.Context, in *ConfigDeleteReque func (c *waypointClient) GetConfig(ctx context.Context, in *ConfigGetRequest, opts ...grpc.CallOption) (*ConfigGetResponse, error) { out := new(ConfigGetResponse) - err := c.cc.Invoke(ctx, Waypoint_GetConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetConfig", in, out, opts...) if err != nil { return nil, err } @@ -979,7 +777,7 @@ func (c *waypointClient) GetConfig(ctx context.Context, in *ConfigGetRequest, op func (c *waypointClient) SetConfigSource(ctx context.Context, in *SetConfigSourceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_SetConfigSource_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/SetConfigSource", in, out, opts...) if err != nil { return nil, err } @@ -988,7 +786,7 @@ func (c *waypointClient) SetConfigSource(ctx context.Context, in *SetConfigSourc func (c *waypointClient) DeleteConfigSource(ctx context.Context, in *DeleteConfigSourceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteConfigSource_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteConfigSource", in, out, opts...) if err != nil { return nil, err } @@ -997,7 +795,7 @@ func (c *waypointClient) DeleteConfigSource(ctx context.Context, in *DeleteConfi func (c *waypointClient) GetConfigSource(ctx context.Context, in *GetConfigSourceRequest, opts ...grpc.CallOption) (*GetConfigSourceResponse, error) { out := new(GetConfigSourceResponse) - err := c.cc.Invoke(ctx, Waypoint_GetConfigSource_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetConfigSource", in, out, opts...) if err != nil { return nil, err } @@ -1006,7 +804,7 @@ func (c *waypointClient) GetConfigSource(ctx context.Context, in *GetConfigSourc func (c *waypointClient) CreateHostname(ctx context.Context, in *CreateHostnameRequest, opts ...grpc.CallOption) (*CreateHostnameResponse, error) { out := new(CreateHostnameResponse) - err := c.cc.Invoke(ctx, Waypoint_CreateHostname_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/CreateHostname", in, out, opts...) if err != nil { return nil, err } @@ -1015,7 +813,7 @@ func (c *waypointClient) CreateHostname(ctx context.Context, in *CreateHostnameR func (c *waypointClient) DeleteHostname(ctx context.Context, in *DeleteHostnameRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteHostname_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteHostname", in, out, opts...) if err != nil { return nil, err } @@ -1024,7 +822,7 @@ func (c *waypointClient) DeleteHostname(ctx context.Context, in *DeleteHostnameR func (c *waypointClient) ListHostnames(ctx context.Context, in *ListHostnamesRequest, opts ...grpc.CallOption) (*ListHostnamesResponse, error) { out := new(ListHostnamesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListHostnames_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListHostnames", in, out, opts...) if err != nil { return nil, err } @@ -1033,7 +831,7 @@ func (c *waypointClient) ListHostnames(ctx context.Context, in *ListHostnamesReq func (c *waypointClient) QueueJob(ctx context.Context, in *QueueJobRequest, opts ...grpc.CallOption) (*QueueJobResponse, error) { out := new(QueueJobResponse) - err := c.cc.Invoke(ctx, Waypoint_QueueJob_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/QueueJob", in, out, opts...) if err != nil { return nil, err } @@ -1042,7 +840,7 @@ func (c *waypointClient) QueueJob(ctx context.Context, in *QueueJobRequest, opts func (c *waypointClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_CancelJob_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/CancelJob", in, out, opts...) if err != nil { return nil, err } @@ -1051,7 +849,7 @@ func (c *waypointClient) CancelJob(ctx context.Context, in *CancelJobRequest, op func (c *waypointClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) { out := new(Job) - err := c.cc.Invoke(ctx, Waypoint_GetJob_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetJob", in, out, opts...) if err != nil { return nil, err } @@ -1060,7 +858,7 @@ func (c *waypointClient) GetJob(ctx context.Context, in *GetJobRequest, opts ... func (c *waypointClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) { out := new(ListJobsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListJobs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListJobs", in, out, opts...) if err != nil { return nil, err } @@ -1069,7 +867,7 @@ func (c *waypointClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts func (c *waypointClient) ValidateJob(ctx context.Context, in *ValidateJobRequest, opts ...grpc.CallOption) (*ValidateJobResponse, error) { out := new(ValidateJobResponse) - err := c.cc.Invoke(ctx, Waypoint_ValidateJob_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ValidateJob", in, out, opts...) if err != nil { return nil, err } @@ -1077,7 +875,7 @@ func (c *waypointClient) ValidateJob(ctx context.Context, in *ValidateJobRequest } func (c *waypointClient) GetJobStream(ctx context.Context, in *GetJobStreamRequest, opts ...grpc.CallOption) (Waypoint_GetJobStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[2], Waypoint_GetJobStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[2], "/hashicorp.waypoint.Waypoint/GetJobStream", opts...) if err != nil { return nil, err } @@ -1110,7 +908,7 @@ func (x *waypointGetJobStreamClient) Recv() (*GetJobStreamResponse, error) { func (c *waypointClient) GetRunner(ctx context.Context, in *GetRunnerRequest, opts ...grpc.CallOption) (*Runner, error) { out := new(Runner) - err := c.cc.Invoke(ctx, Waypoint_GetRunner_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetRunner", in, out, opts...) if err != nil { return nil, err } @@ -1119,7 +917,7 @@ func (c *waypointClient) GetRunner(ctx context.Context, in *GetRunnerRequest, op func (c *waypointClient) ListRunners(ctx context.Context, in *ListRunnersRequest, opts ...grpc.CallOption) (*ListRunnersResponse, error) { out := new(ListRunnersResponse) - err := c.cc.Invoke(ctx, Waypoint_ListRunners_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListRunners", in, out, opts...) if err != nil { return nil, err } @@ -1128,7 +926,7 @@ func (c *waypointClient) ListRunners(ctx context.Context, in *ListRunnersRequest func (c *waypointClient) AdoptRunner(ctx context.Context, in *AdoptRunnerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_AdoptRunner_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/AdoptRunner", in, out, opts...) if err != nil { return nil, err } @@ -1137,7 +935,7 @@ func (c *waypointClient) AdoptRunner(ctx context.Context, in *AdoptRunnerRequest func (c *waypointClient) ForgetRunner(ctx context.Context, in *ForgetRunnerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_ForgetRunner_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ForgetRunner", in, out, opts...) if err != nil { return nil, err } @@ -1146,7 +944,7 @@ func (c *waypointClient) ForgetRunner(ctx context.Context, in *ForgetRunnerReque func (c *waypointClient) GetServerConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetServerConfigResponse, error) { out := new(GetServerConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_GetServerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetServerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1155,7 +953,7 @@ func (c *waypointClient) GetServerConfig(ctx context.Context, in *emptypb.Empty, func (c *waypointClient) SetServerConfig(ctx context.Context, in *SetServerConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_SetServerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/SetServerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1163,7 +961,7 @@ func (c *waypointClient) SetServerConfig(ctx context.Context, in *SetServerConfi } func (c *waypointClient) CreateSnapshot(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (Waypoint_CreateSnapshotClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[3], Waypoint_CreateSnapshot_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[3], "/hashicorp.waypoint.Waypoint/CreateSnapshot", opts...) if err != nil { return nil, err } @@ -1195,7 +993,7 @@ func (x *waypointCreateSnapshotClient) Recv() (*CreateSnapshotResponse, error) { } func (c *waypointClient) RestoreSnapshot(ctx context.Context, opts ...grpc.CallOption) (Waypoint_RestoreSnapshotClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[4], Waypoint_RestoreSnapshot_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[4], "/hashicorp.waypoint.Waypoint/RestoreSnapshot", opts...) if err != nil { return nil, err } @@ -1230,7 +1028,7 @@ func (x *waypointRestoreSnapshotClient) CloseAndRecv() (*emptypb.Empty, error) { func (c *waypointClient) BootstrapToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_BootstrapToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/BootstrapToken", in, out, opts...) if err != nil { return nil, err } @@ -1239,7 +1037,7 @@ func (c *waypointClient) BootstrapToken(ctx context.Context, in *emptypb.Empty, func (c *waypointClient) DecodeToken(ctx context.Context, in *DecodeTokenRequest, opts ...grpc.CallOption) (*DecodeTokenResponse, error) { out := new(DecodeTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_DecodeToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DecodeToken", in, out, opts...) if err != nil { return nil, err } @@ -1248,7 +1046,7 @@ func (c *waypointClient) DecodeToken(ctx context.Context, in *DecodeTokenRequest func (c *waypointClient) GenerateInviteToken(ctx context.Context, in *InviteTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_GenerateInviteToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GenerateInviteToken", in, out, opts...) if err != nil { return nil, err } @@ -1257,7 +1055,7 @@ func (c *waypointClient) GenerateInviteToken(ctx context.Context, in *InviteToke func (c *waypointClient) GenerateLoginToken(ctx context.Context, in *LoginTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_GenerateLoginToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GenerateLoginToken", in, out, opts...) if err != nil { return nil, err } @@ -1266,7 +1064,7 @@ func (c *waypointClient) GenerateLoginToken(ctx context.Context, in *LoginTokenR func (c *waypointClient) GenerateRunnerToken(ctx context.Context, in *GenerateRunnerTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_GenerateRunnerToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", in, out, opts...) if err != nil { return nil, err } @@ -1275,7 +1073,7 @@ func (c *waypointClient) GenerateRunnerToken(ctx context.Context, in *GenerateRu func (c *waypointClient) ConvertInviteToken(ctx context.Context, in *ConvertInviteTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_ConvertInviteToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ConvertInviteToken", in, out, opts...) if err != nil { return nil, err } @@ -1284,7 +1082,7 @@ func (c *waypointClient) ConvertInviteToken(ctx context.Context, in *ConvertInvi func (c *waypointClient) RunnerToken(ctx context.Context, in *RunnerTokenRequest, opts ...grpc.CallOption) (*RunnerTokenResponse, error) { out := new(RunnerTokenResponse) - err := c.cc.Invoke(ctx, Waypoint_RunnerToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/RunnerToken", in, out, opts...) if err != nil { return nil, err } @@ -1292,7 +1090,7 @@ func (c *waypointClient) RunnerToken(ctx context.Context, in *RunnerTokenRequest } func (c *waypointClient) RunnerConfig(ctx context.Context, opts ...grpc.CallOption) (Waypoint_RunnerConfigClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[5], Waypoint_RunnerConfig_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[5], "/hashicorp.waypoint.Waypoint/RunnerConfig", opts...) if err != nil { return nil, err } @@ -1323,7 +1121,7 @@ func (x *waypointRunnerConfigClient) Recv() (*RunnerConfigResponse, error) { } func (c *waypointClient) RunnerJobStream(ctx context.Context, opts ...grpc.CallOption) (Waypoint_RunnerJobStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[6], Waypoint_RunnerJobStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[6], "/hashicorp.waypoint.Waypoint/RunnerJobStream", opts...) if err != nil { return nil, err } @@ -1355,7 +1153,7 @@ func (x *waypointRunnerJobStreamClient) Recv() (*RunnerJobStreamResponse, error) func (c *waypointClient) RunnerGetDeploymentConfig(ctx context.Context, in *RunnerGetDeploymentConfigRequest, opts ...grpc.CallOption) (*RunnerGetDeploymentConfigResponse, error) { out := new(RunnerGetDeploymentConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_RunnerGetDeploymentConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/RunnerGetDeploymentConfig", in, out, opts...) if err != nil { return nil, err } @@ -1363,7 +1161,7 @@ func (c *waypointClient) RunnerGetDeploymentConfig(ctx context.Context, in *Runn } func (c *waypointClient) EntrypointConfig(ctx context.Context, in *EntrypointConfigRequest, opts ...grpc.CallOption) (Waypoint_EntrypointConfigClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[7], Waypoint_EntrypointConfig_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[7], "/hashicorp.waypoint.Waypoint/EntrypointConfig", opts...) if err != nil { return nil, err } @@ -1395,7 +1193,7 @@ func (x *waypointEntrypointConfigClient) Recv() (*EntrypointConfigResponse, erro } func (c *waypointClient) EntrypointLogStream(ctx context.Context, opts ...grpc.CallOption) (Waypoint_EntrypointLogStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[8], Waypoint_EntrypointLogStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[8], "/hashicorp.waypoint.Waypoint/EntrypointLogStream", opts...) if err != nil { return nil, err } @@ -1429,7 +1227,7 @@ func (x *waypointEntrypointLogStreamClient) CloseAndRecv() (*emptypb.Empty, erro } func (c *waypointClient) EntrypointExecStream(ctx context.Context, opts ...grpc.CallOption) (Waypoint_EntrypointExecStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[9], Waypoint_EntrypointExecStream_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Waypoint_ServiceDesc.Streams[9], "/hashicorp.waypoint.Waypoint/EntrypointExecStream", opts...) if err != nil { return nil, err } @@ -1461,7 +1259,7 @@ func (x *waypointEntrypointExecStreamClient) Recv() (*EntrypointExecResponse, er func (c *waypointClient) WaypointHclFmt(ctx context.Context, in *WaypointHclFmtRequest, opts ...grpc.CallOption) (*WaypointHclFmtResponse, error) { out := new(WaypointHclFmtResponse) - err := c.cc.Invoke(ctx, Waypoint_WaypointHclFmt_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/WaypointHclFmt", in, out, opts...) if err != nil { return nil, err } @@ -1470,7 +1268,7 @@ func (c *waypointClient) WaypointHclFmt(ctx context.Context, in *WaypointHclFmtR func (c *waypointClient) UpsertOnDemandRunnerConfig(ctx context.Context, in *UpsertOnDemandRunnerConfigRequest, opts ...grpc.CallOption) (*UpsertOnDemandRunnerConfigResponse, error) { out := new(UpsertOnDemandRunnerConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertOnDemandRunnerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1479,7 +1277,7 @@ func (c *waypointClient) UpsertOnDemandRunnerConfig(ctx context.Context, in *Ups func (c *waypointClient) GetOnDemandRunnerConfig(ctx context.Context, in *GetOnDemandRunnerConfigRequest, opts ...grpc.CallOption) (*GetOnDemandRunnerConfigResponse, error) { out := new(GetOnDemandRunnerConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_GetOnDemandRunnerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1488,7 +1286,7 @@ func (c *waypointClient) GetOnDemandRunnerConfig(ctx context.Context, in *GetOnD func (c *waypointClient) GetDefaultOnDemandRunnerConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetOnDemandRunnerConfigResponse, error) { out := new(GetOnDemandRunnerConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_GetDefaultOnDemandRunnerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetDefaultOnDemandRunnerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1497,7 +1295,7 @@ func (c *waypointClient) GetDefaultOnDemandRunnerConfig(ctx context.Context, in func (c *waypointClient) DeleteOnDemandRunnerConfig(ctx context.Context, in *DeleteOnDemandRunnerConfigRequest, opts ...grpc.CallOption) (*DeleteOnDemandRunnerConfigResponse, error) { out := new(DeleteOnDemandRunnerConfigResponse) - err := c.cc.Invoke(ctx, Waypoint_DeleteOnDemandRunnerConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteOnDemandRunnerConfig", in, out, opts...) if err != nil { return nil, err } @@ -1506,7 +1304,7 @@ func (c *waypointClient) DeleteOnDemandRunnerConfig(ctx context.Context, in *Del func (c *waypointClient) ListOnDemandRunnerConfigs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListOnDemandRunnerConfigsResponse, error) { out := new(ListOnDemandRunnerConfigsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListOnDemandRunnerConfigs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", in, out, opts...) if err != nil { return nil, err } @@ -1515,7 +1313,7 @@ func (c *waypointClient) ListOnDemandRunnerConfigs(ctx context.Context, in *empt func (c *waypointClient) UpsertBuild(ctx context.Context, in *UpsertBuildRequest, opts ...grpc.CallOption) (*UpsertBuildResponse, error) { out := new(UpsertBuildResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertBuild_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertBuild", in, out, opts...) if err != nil { return nil, err } @@ -1524,7 +1322,7 @@ func (c *waypointClient) UpsertBuild(ctx context.Context, in *UpsertBuildRequest func (c *waypointClient) UpsertPushedArtifact(ctx context.Context, in *UpsertPushedArtifactRequest, opts ...grpc.CallOption) (*UpsertPushedArtifactResponse, error) { out := new(UpsertPushedArtifactResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertPushedArtifact_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertPushedArtifact", in, out, opts...) if err != nil { return nil, err } @@ -1533,7 +1331,7 @@ func (c *waypointClient) UpsertPushedArtifact(ctx context.Context, in *UpsertPus func (c *waypointClient) UpsertDeployment(ctx context.Context, in *UpsertDeploymentRequest, opts ...grpc.CallOption) (*UpsertDeploymentResponse, error) { out := new(UpsertDeploymentResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertDeployment_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertDeployment", in, out, opts...) if err != nil { return nil, err } @@ -1542,7 +1340,7 @@ func (c *waypointClient) UpsertDeployment(ctx context.Context, in *UpsertDeploym func (c *waypointClient) UpsertRelease(ctx context.Context, in *UpsertReleaseRequest, opts ...grpc.CallOption) (*UpsertReleaseResponse, error) { out := new(UpsertReleaseResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertRelease_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertRelease", in, out, opts...) if err != nil { return nil, err } @@ -1551,7 +1349,7 @@ func (c *waypointClient) UpsertRelease(ctx context.Context, in *UpsertReleaseReq func (c *waypointClient) UpsertStatusReport(ctx context.Context, in *UpsertStatusReportRequest, opts ...grpc.CallOption) (*UpsertStatusReportResponse, error) { out := new(UpsertStatusReportResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertStatusReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertStatusReport", in, out, opts...) if err != nil { return nil, err } @@ -1560,7 +1358,7 @@ func (c *waypointClient) UpsertStatusReport(ctx context.Context, in *UpsertStatu func (c *waypointClient) GetTask(ctx context.Context, in *GetTaskRequest, opts ...grpc.CallOption) (*GetTaskResponse, error) { out := new(GetTaskResponse) - err := c.cc.Invoke(ctx, Waypoint_GetTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetTask", in, out, opts...) if err != nil { return nil, err } @@ -1569,7 +1367,7 @@ func (c *waypointClient) GetTask(ctx context.Context, in *GetTaskRequest, opts . func (c *waypointClient) ListTask(ctx context.Context, in *ListTaskRequest, opts ...grpc.CallOption) (*ListTaskResponse, error) { out := new(ListTaskResponse) - err := c.cc.Invoke(ctx, Waypoint_ListTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListTask", in, out, opts...) if err != nil { return nil, err } @@ -1578,7 +1376,7 @@ func (c *waypointClient) ListTask(ctx context.Context, in *ListTaskRequest, opts func (c *waypointClient) CancelTask(ctx context.Context, in *CancelTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_CancelTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/CancelTask", in, out, opts...) if err != nil { return nil, err } @@ -1587,7 +1385,7 @@ func (c *waypointClient) CancelTask(ctx context.Context, in *CancelTaskRequest, func (c *waypointClient) UpsertTrigger(ctx context.Context, in *UpsertTriggerRequest, opts ...grpc.CallOption) (*UpsertTriggerResponse, error) { out := new(UpsertTriggerResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertTrigger_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertTrigger", in, out, opts...) if err != nil { return nil, err } @@ -1596,7 +1394,7 @@ func (c *waypointClient) UpsertTrigger(ctx context.Context, in *UpsertTriggerReq func (c *waypointClient) GetTrigger(ctx context.Context, in *GetTriggerRequest, opts ...grpc.CallOption) (*GetTriggerResponse, error) { out := new(GetTriggerResponse) - err := c.cc.Invoke(ctx, Waypoint_GetTrigger_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetTrigger", in, out, opts...) if err != nil { return nil, err } @@ -1605,7 +1403,7 @@ func (c *waypointClient) GetTrigger(ctx context.Context, in *GetTriggerRequest, func (c *waypointClient) DeleteTrigger(ctx context.Context, in *DeleteTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteTrigger_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/DeleteTrigger", in, out, opts...) if err != nil { return nil, err } @@ -1614,7 +1412,7 @@ func (c *waypointClient) DeleteTrigger(ctx context.Context, in *DeleteTriggerReq func (c *waypointClient) ListTriggers(ctx context.Context, in *ListTriggerRequest, opts ...grpc.CallOption) (*ListTriggerResponse, error) { out := new(ListTriggerResponse) - err := c.cc.Invoke(ctx, Waypoint_ListTriggers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListTriggers", in, out, opts...) if err != nil { return nil, err } @@ -1623,7 +1421,7 @@ func (c *waypointClient) ListTriggers(ctx context.Context, in *ListTriggerReques func (c *waypointClient) RunTrigger(ctx context.Context, in *RunTriggerRequest, opts ...grpc.CallOption) (*RunTriggerResponse, error) { out := new(RunTriggerResponse) - err := c.cc.Invoke(ctx, Waypoint_RunTrigger_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/RunTrigger", in, out, opts...) if err != nil { return nil, err } @@ -1632,7 +1430,7 @@ func (c *waypointClient) RunTrigger(ctx context.Context, in *RunTriggerRequest, func (c *waypointClient) UpsertPipeline(ctx context.Context, in *UpsertPipelineRequest, opts ...grpc.CallOption) (*UpsertPipelineResponse, error) { out := new(UpsertPipelineResponse) - err := c.cc.Invoke(ctx, Waypoint_UpsertPipeline_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UpsertPipeline", in, out, opts...) if err != nil { return nil, err } @@ -1641,7 +1439,7 @@ func (c *waypointClient) UpsertPipeline(ctx context.Context, in *UpsertPipelineR func (c *waypointClient) RunPipeline(ctx context.Context, in *RunPipelineRequest, opts ...grpc.CallOption) (*RunPipelineResponse, error) { out := new(RunPipelineResponse) - err := c.cc.Invoke(ctx, Waypoint_RunPipeline_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/RunPipeline", in, out, opts...) if err != nil { return nil, err } @@ -1650,7 +1448,7 @@ func (c *waypointClient) RunPipeline(ctx context.Context, in *RunPipelineRequest func (c *waypointClient) GetPipeline(ctx context.Context, in *GetPipelineRequest, opts ...grpc.CallOption) (*GetPipelineResponse, error) { out := new(GetPipelineResponse) - err := c.cc.Invoke(ctx, Waypoint_GetPipeline_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetPipeline", in, out, opts...) if err != nil { return nil, err } @@ -1659,7 +1457,7 @@ func (c *waypointClient) GetPipeline(ctx context.Context, in *GetPipelineRequest func (c *waypointClient) GetPipelineRun(ctx context.Context, in *GetPipelineRunRequest, opts ...grpc.CallOption) (*GetPipelineRunResponse, error) { out := new(GetPipelineRunResponse) - err := c.cc.Invoke(ctx, Waypoint_GetPipelineRun_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetPipelineRun", in, out, opts...) if err != nil { return nil, err } @@ -1668,7 +1466,7 @@ func (c *waypointClient) GetPipelineRun(ctx context.Context, in *GetPipelineRunR func (c *waypointClient) GetLatestPipelineRun(ctx context.Context, in *GetPipelineRequest, opts ...grpc.CallOption) (*GetPipelineRunResponse, error) { out := new(GetPipelineRunResponse) - err := c.cc.Invoke(ctx, Waypoint_GetLatestPipelineRun_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", in, out, opts...) if err != nil { return nil, err } @@ -1677,7 +1475,7 @@ func (c *waypointClient) GetLatestPipelineRun(ctx context.Context, in *GetPipeli func (c *waypointClient) ListPipelines(ctx context.Context, in *ListPipelinesRequest, opts ...grpc.CallOption) (*ListPipelinesResponse, error) { out := new(ListPipelinesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListPipelines_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListPipelines", in, out, opts...) if err != nil { return nil, err } @@ -1686,7 +1484,7 @@ func (c *waypointClient) ListPipelines(ctx context.Context, in *ListPipelinesReq func (c *waypointClient) ListPipelineRuns(ctx context.Context, in *ListPipelineRunsRequest, opts ...grpc.CallOption) (*ListPipelineRunsResponse, error) { out := new(ListPipelineRunsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListPipelineRuns_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ListPipelineRuns", in, out, opts...) if err != nil { return nil, err } @@ -1695,169 +1493,7 @@ func (c *waypointClient) ListPipelineRuns(ctx context.Context, in *ListPipelineR func (c *waypointClient) ConfigSyncPipeline(ctx context.Context, in *ConfigSyncPipelineRequest, opts ...grpc.CallOption) (*ConfigSyncPipelineResponse, error) { out := new(ConfigSyncPipelineResponse) - err := c.cc.Invoke(ctx, Waypoint_ConfigSyncPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) CreateProjectTemplate(ctx context.Context, in *CreateProjectTemplateRequest, opts ...grpc.CallOption) (*CreateProjectTemplateResponse, error) { - out := new(CreateProjectTemplateResponse) - err := c.cc.Invoke(ctx, Waypoint_CreateProjectTemplate_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UpdateProjectTemplate(ctx context.Context, in *UpdateProjectTemplateRequest, opts ...grpc.CallOption) (*UpdateProjectTemplateResponse, error) { - out := new(UpdateProjectTemplateResponse) - err := c.cc.Invoke(ctx, Waypoint_UpdateProjectTemplate_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetProjectTemplate(ctx context.Context, in *GetProjectTemplateRequest, opts ...grpc.CallOption) (*GetProjectTemplateResponse, error) { - out := new(GetProjectTemplateResponse) - err := c.cc.Invoke(ctx, Waypoint_GetProjectTemplate_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) DeleteProjectTemplate(ctx context.Context, in *DeleteProjectTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteProjectTemplate_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) ListProjectTemplates(ctx context.Context, in *ListProjectTemplatesRequest, opts ...grpc.CallOption) (*ListProjectTemplatesResponse, error) { - out := new(ListProjectTemplatesResponse) - err := c.cc.Invoke(ctx, Waypoint_ListProjectTemplates_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) CreateProjectFromTemplate(ctx context.Context, in *CreateProjectFromTemplateRequest, opts ...grpc.CallOption) (*CreateProjectFromTemplateResponse, error) { - out := new(CreateProjectFromTemplateResponse) - err := c.cc.Invoke(ctx, Waypoint_CreateProjectFromTemplate_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetTFCRunStatus(ctx context.Context, in *GetTFCRunStatusRequest, opts ...grpc.CallOption) (*GetTFCRunStatusResponse, error) { - out := new(GetTFCRunStatusResponse) - err := c.cc.Invoke(ctx, Waypoint_GetTFCRunStatus_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) CreateAddOnDefinition(ctx context.Context, in *CreateAddOnDefinitionRequest, opts ...grpc.CallOption) (*CreateAddOnDefinitionResponse, error) { - out := new(CreateAddOnDefinitionResponse) - err := c.cc.Invoke(ctx, Waypoint_CreateAddOnDefinition_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetAddOnDefinition(ctx context.Context, in *GetAddOnDefinitionRequest, opts ...grpc.CallOption) (*GetAddOnDefinitionResponse, error) { - out := new(GetAddOnDefinitionResponse) - err := c.cc.Invoke(ctx, Waypoint_GetAddOnDefinition_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) ListAddOnDefinitions(ctx context.Context, in *ListAddOnDefinitionsRequest, opts ...grpc.CallOption) (*ListAddOnDefinitionsResponse, error) { - out := new(ListAddOnDefinitionsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListAddOnDefinitions_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UpdateAddOnDefinition(ctx context.Context, in *UpdateAddOnDefinitionRequest, opts ...grpc.CallOption) (*UpdateAddOnDefinitionResponse, error) { - out := new(UpdateAddOnDefinitionResponse) - err := c.cc.Invoke(ctx, Waypoint_UpdateAddOnDefinition_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) DeleteAddOnDefinition(ctx context.Context, in *DeleteAddOnDefinitionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DeleteAddOnDefinition_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) CreateAddOn(ctx context.Context, in *CreateAddOnRequest, opts ...grpc.CallOption) (*CreateAddOnResponse, error) { - out := new(CreateAddOnResponse) - err := c.cc.Invoke(ctx, Waypoint_CreateAddOn_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetAddOn(ctx context.Context, in *GetAddOnRequest, opts ...grpc.CallOption) (*GetAddOnResponse, error) { - out := new(GetAddOnResponse) - err := c.cc.Invoke(ctx, Waypoint_GetAddOn_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UpdateAddOn(ctx context.Context, in *UpdateAddOnRequest, opts ...grpc.CallOption) (*UpdateAddOnResponse, error) { - out := new(UpdateAddOnResponse) - err := c.cc.Invoke(ctx, Waypoint_UpdateAddOn_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) DestroyAddOn(ctx context.Context, in *DestroyAddOnRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Waypoint_DestroyAddOn_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) ListAddOns(ctx context.Context, in *ListAddOnsRequest, opts ...grpc.CallOption) (*ListAddOnsResponse, error) { - out := new(ListAddOnsResponse) - err := c.cc.Invoke(ctx, Waypoint_ListAddOns_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) GetTFRunStatus(ctx context.Context, in *GetTFRunStatusRequest, opts ...grpc.CallOption) (*GetTFRunStatusResponse, error) { - out := new(GetTFRunStatusResponse) - err := c.cc.Invoke(ctx, Waypoint_GetTFRunStatus_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", in, out, opts...) if err != nil { return nil, err } @@ -1866,7 +1502,7 @@ func (c *waypointClient) GetTFRunStatus(ctx context.Context, in *GetTFRunStatusR func (c *waypointClient) UI_ListProjects(ctx context.Context, in *UI_ListProjectsRequest, opts ...grpc.CallOption) (*UI_ListProjectsResponse, error) { out := new(UI_ListProjectsResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListProjects_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UI_ListProjects", in, out, opts...) if err != nil { return nil, err } @@ -1875,34 +1511,7 @@ func (c *waypointClient) UI_ListProjects(ctx context.Context, in *UI_ListProject func (c *waypointClient) UI_GetProject(ctx context.Context, in *UI_GetProjectRequest, opts ...grpc.CallOption) (*UI_GetProjectResponse, error) { out := new(UI_GetProjectResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_GetProject_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UI_ListPipelines(ctx context.Context, in *UI_ListPipelinesRequest, opts ...grpc.CallOption) (*UI_ListPipelinesResponse, error) { - out := new(UI_ListPipelinesResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListPipelines_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UI_ListPipelineRuns(ctx context.Context, in *UI_ListPipelineRunsRequest, opts ...grpc.CallOption) (*UI_ListPipelineRunsResponse, error) { - out := new(UI_ListPipelineRunsResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListPipelineRuns_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UI_GetPipelineRun(ctx context.Context, in *UI_GetPipelineRunRequest, opts ...grpc.CallOption) (*UI_GetPipelineRunResponse, error) { - out := new(UI_GetPipelineRunResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_GetPipelineRun_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UI_GetProject", in, out, opts...) if err != nil { return nil, err } @@ -1911,7 +1520,7 @@ func (c *waypointClient) UI_GetPipelineRun(ctx context.Context, in *UI_GetPipeli func (c *waypointClient) UI_ListDeployments(ctx context.Context, in *UI_ListDeploymentsRequest, opts ...grpc.CallOption) (*UI_ListDeploymentsResponse, error) { out := new(UI_ListDeploymentsResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListDeployments_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UI_ListDeployments", in, out, opts...) if err != nil { return nil, err } @@ -1920,7 +1529,7 @@ func (c *waypointClient) UI_ListDeployments(ctx context.Context, in *UI_ListDepl func (c *waypointClient) UI_GetDeployment(ctx context.Context, in *UI_GetDeploymentRequest, opts ...grpc.CallOption) (*UI_GetDeploymentResponse, error) { out := new(UI_GetDeploymentResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_GetDeployment_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UI_GetDeployment", in, out, opts...) if err != nil { return nil, err } @@ -1929,25 +1538,7 @@ func (c *waypointClient) UI_GetDeployment(ctx context.Context, in *UI_GetDeploym func (c *waypointClient) UI_ListReleases(ctx context.Context, in *UI_ListReleasesRequest, opts ...grpc.CallOption) (*UI_ListReleasesResponse, error) { out := new(UI_ListReleasesResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListReleases_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) UI_ListEvents(ctx context.Context, in *UI_ListEventsRequest, opts ...grpc.CallOption) (*UI_ListEventsResponse, error) { - out := new(UI_ListEventsResponse) - err := c.cc.Invoke(ctx, Waypoint_UI_ListEvents_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *waypointClient) INTERNAL_AdditionalMessages(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*UI_ListEventSchemasResponse, error) { - out := new(UI_ListEventSchemasResponse) - err := c.cc.Invoke(ctx, Waypoint_INTERNAL_AdditionalMessages_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/hashicorp.waypoint.Waypoint/UI_ListReleases", in, out, opts...) if err != nil { return nil, err } @@ -2038,9 +1629,6 @@ type WaypointServer interface { ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) // GetDeployment returns a deployment GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) - // GetLatestDeployment returns the most recent successfully completed deployment - // for an app. - GetLatestDeployment(context.Context, *GetLatestDeploymentRequest) (*GetDeploymentResponse, error) // ListInstances returns the running instances of deployments. ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error) // ListReleases returns the releases. @@ -2261,68 +1849,16 @@ type WaypointServer interface { // ConfigSyncPipeline takes a request for a given project and syncs the current // project config to the Waypoint database. ConfigSyncPipeline(context.Context, *ConfigSyncPipelineRequest) (*ConfigSyncPipelineResponse, error) - // CreateProjectTemplate creates a new projecttemplate. - CreateProjectTemplate(context.Context, *CreateProjectTemplateRequest) (*CreateProjectTemplateResponse, error) - // UpdateProjectTemplate updates an existing projecttemplate. - UpdateProjectTemplate(context.Context, *UpdateProjectTemplateRequest) (*UpdateProjectTemplateResponse, error) - // GetProjectTemplate returns a projecttemplate by the projecttemplate name or id - GetProjectTemplate(context.Context, *GetProjectTemplateRequest) (*GetProjectTemplateResponse, error) - // DeleteProjectTemplate deletes a projecttemplate by the projecttemplate name or id - DeleteProjectTemplate(context.Context, *DeleteProjectTemplateRequest) (*emptypb.Empty, error) - // ListProjectTemplates returns a list of all projecttemplates known. - // (Pagination is currently ignored on this request) - ListProjectTemplates(context.Context, *ListProjectTemplatesRequest) (*ListProjectTemplatesResponse, error) - // CreateProjectFromTemplate is in BETA. It creates a new Waypoint project - // from a Project Template, provisioning infrastructure before upserting the - // Waypoint project to the database - CreateProjectFromTemplate(context.Context, *CreateProjectFromTemplateRequest) (*CreateProjectFromTemplateResponse, error) - // Deprecated in favor of GetTFRunStatus - // GetTFCRunStatus is in BETA. It returns the status of a TFC run, which was - // run to render a project template. - GetTFCRunStatus(context.Context, *GetTFCRunStatusRequest) (*GetTFCRunStatusResponse, error) - // CreateAddOnDefinition creates a new Add-on definition - CreateAddOnDefinition(context.Context, *CreateAddOnDefinitionRequest) (*CreateAddOnDefinitionResponse, error) - // GetAddOnDefinition returns an Add-on definition, referenced by name or ID - GetAddOnDefinition(context.Context, *GetAddOnDefinitionRequest) (*GetAddOnDefinitionResponse, error) - // ListAddOnDefinitions returns all existing Add-on definitions - ListAddOnDefinitions(context.Context, *ListAddOnDefinitionsRequest) (*ListAddOnDefinitionsResponse, error) - // UpdateAddOnDefinition updates an existing Add-on definition - UpdateAddOnDefinition(context.Context, *UpdateAddOnDefinitionRequest) (*UpdateAddOnDefinitionResponse, error) - // DeleteAddOnDefinition deletes an existing Add-on definition - DeleteAddOnDefinition(context.Context, *DeleteAddOnDefinitionRequest) (*emptypb.Empty, error) - // CreateAddOn adds an Add-on to a project from an Add-on definition - CreateAddOn(context.Context, *CreateAddOnRequest) (*CreateAddOnResponse, error) - // GetAddOn returns an existing Add-on - GetAddOn(context.Context, *GetAddOnRequest) (*GetAddOnResponse, error) - // UpdateAddOn updates an existing Add-on - UpdateAddOn(context.Context, *UpdateAddOnRequest) (*UpdateAddOnResponse, error) - // DestroyAddOn destroys an existing Add-on - DestroyAddOn(context.Context, *DestroyAddOnRequest) (*emptypb.Empty, error) - // ListAddOns returns all existing Add-ons - ListAddOns(context.Context, *ListAddOnsRequest) (*ListAddOnsResponse, error) - // GetTFRunStatus returns the status of the latest run of a Terraform - // workspace - GetTFRunStatus(context.Context, *GetTFRunStatusRequest) (*GetTFRunStatusResponse, error) // List full projects (not just refs) UI_ListProjects(context.Context, *UI_ListProjectsRequest) (*UI_ListProjectsResponse, error) // Get a given project with useful related records. UI_GetProject(context.Context, *UI_GetProjectRequest) (*UI_GetProjectResponse, error) - // List pipelines with last run for each for a given project. - UI_ListPipelines(context.Context, *UI_ListPipelinesRequest) (*UI_ListPipelinesResponse, error) - // List pipeline runs with pagination for a given pipeline - UI_ListPipelineRuns(context.Context, *UI_ListPipelineRunsRequest) (*UI_ListPipelineRunsResponse, error) - // Get a pipline run with additional computed data. - UI_GetPipelineRun(context.Context, *UI_GetPipelineRunRequest) (*UI_GetPipelineRunResponse, error) // List deployments for a given application. UI_ListDeployments(context.Context, *UI_ListDeploymentsRequest) (*UI_ListDeploymentsResponse, error) // GetDeployment returns a deployment UI_GetDeployment(context.Context, *UI_GetDeploymentRequest) (*UI_GetDeploymentResponse, error) // List releases for a given application. UI_ListReleases(context.Context, *UI_ListReleasesRequest) (*UI_ListReleasesResponse, error) - // List UI events for a given application. - UI_ListEvents(context.Context, *UI_ListEventsRequest) (*UI_ListEventsResponse, error) - // List possible event data types. - INTERNAL_AdditionalMessages(context.Context, *emptypb.Empty) (*UI_ListEventSchemasResponse, error) mustEmbedUnimplementedWaypointServer() } @@ -2420,9 +1956,6 @@ func (UnimplementedWaypointServer) ListDeployments(context.Context, *ListDeploym func (UnimplementedWaypointServer) GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDeployment not implemented") } -func (UnimplementedWaypointServer) GetLatestDeployment(context.Context, *GetLatestDeploymentRequest) (*GetDeploymentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLatestDeployment not implemented") -} func (UnimplementedWaypointServer) ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListInstances not implemented") } @@ -2642,75 +2175,12 @@ func (UnimplementedWaypointServer) ListPipelineRuns(context.Context, *ListPipeli func (UnimplementedWaypointServer) ConfigSyncPipeline(context.Context, *ConfigSyncPipelineRequest) (*ConfigSyncPipelineResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ConfigSyncPipeline not implemented") } -func (UnimplementedWaypointServer) CreateProjectTemplate(context.Context, *CreateProjectTemplateRequest) (*CreateProjectTemplateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateProjectTemplate not implemented") -} -func (UnimplementedWaypointServer) UpdateProjectTemplate(context.Context, *UpdateProjectTemplateRequest) (*UpdateProjectTemplateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectTemplate not implemented") -} -func (UnimplementedWaypointServer) GetProjectTemplate(context.Context, *GetProjectTemplateRequest) (*GetProjectTemplateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetProjectTemplate not implemented") -} -func (UnimplementedWaypointServer) DeleteProjectTemplate(context.Context, *DeleteProjectTemplateRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteProjectTemplate not implemented") -} -func (UnimplementedWaypointServer) ListProjectTemplates(context.Context, *ListProjectTemplatesRequest) (*ListProjectTemplatesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListProjectTemplates not implemented") -} -func (UnimplementedWaypointServer) CreateProjectFromTemplate(context.Context, *CreateProjectFromTemplateRequest) (*CreateProjectFromTemplateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateProjectFromTemplate not implemented") -} -func (UnimplementedWaypointServer) GetTFCRunStatus(context.Context, *GetTFCRunStatusRequest) (*GetTFCRunStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTFCRunStatus not implemented") -} -func (UnimplementedWaypointServer) CreateAddOnDefinition(context.Context, *CreateAddOnDefinitionRequest) (*CreateAddOnDefinitionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateAddOnDefinition not implemented") -} -func (UnimplementedWaypointServer) GetAddOnDefinition(context.Context, *GetAddOnDefinitionRequest) (*GetAddOnDefinitionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAddOnDefinition not implemented") -} -func (UnimplementedWaypointServer) ListAddOnDefinitions(context.Context, *ListAddOnDefinitionsRequest) (*ListAddOnDefinitionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListAddOnDefinitions not implemented") -} -func (UnimplementedWaypointServer) UpdateAddOnDefinition(context.Context, *UpdateAddOnDefinitionRequest) (*UpdateAddOnDefinitionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateAddOnDefinition not implemented") -} -func (UnimplementedWaypointServer) DeleteAddOnDefinition(context.Context, *DeleteAddOnDefinitionRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteAddOnDefinition not implemented") -} -func (UnimplementedWaypointServer) CreateAddOn(context.Context, *CreateAddOnRequest) (*CreateAddOnResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateAddOn not implemented") -} -func (UnimplementedWaypointServer) GetAddOn(context.Context, *GetAddOnRequest) (*GetAddOnResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAddOn not implemented") -} -func (UnimplementedWaypointServer) UpdateAddOn(context.Context, *UpdateAddOnRequest) (*UpdateAddOnResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateAddOn not implemented") -} -func (UnimplementedWaypointServer) DestroyAddOn(context.Context, *DestroyAddOnRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DestroyAddOn not implemented") -} -func (UnimplementedWaypointServer) ListAddOns(context.Context, *ListAddOnsRequest) (*ListAddOnsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListAddOns not implemented") -} -func (UnimplementedWaypointServer) GetTFRunStatus(context.Context, *GetTFRunStatusRequest) (*GetTFRunStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTFRunStatus not implemented") -} func (UnimplementedWaypointServer) UI_ListProjects(context.Context, *UI_ListProjectsRequest) (*UI_ListProjectsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UI_ListProjects not implemented") } func (UnimplementedWaypointServer) UI_GetProject(context.Context, *UI_GetProjectRequest) (*UI_GetProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UI_GetProject not implemented") } -func (UnimplementedWaypointServer) UI_ListPipelines(context.Context, *UI_ListPipelinesRequest) (*UI_ListPipelinesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UI_ListPipelines not implemented") -} -func (UnimplementedWaypointServer) UI_ListPipelineRuns(context.Context, *UI_ListPipelineRunsRequest) (*UI_ListPipelineRunsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UI_ListPipelineRuns not implemented") -} -func (UnimplementedWaypointServer) UI_GetPipelineRun(context.Context, *UI_GetPipelineRunRequest) (*UI_GetPipelineRunResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UI_GetPipelineRun not implemented") -} func (UnimplementedWaypointServer) UI_ListDeployments(context.Context, *UI_ListDeploymentsRequest) (*UI_ListDeploymentsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UI_ListDeployments not implemented") } @@ -2720,12 +2190,6 @@ func (UnimplementedWaypointServer) UI_GetDeployment(context.Context, *UI_GetDepl func (UnimplementedWaypointServer) UI_ListReleases(context.Context, *UI_ListReleasesRequest) (*UI_ListReleasesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UI_ListReleases not implemented") } -func (UnimplementedWaypointServer) UI_ListEvents(context.Context, *UI_ListEventsRequest) (*UI_ListEventsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UI_ListEvents not implemented") -} -func (UnimplementedWaypointServer) INTERNAL_AdditionalMessages(context.Context, *emptypb.Empty) (*UI_ListEventSchemasResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method INTERNAL_AdditionalMessages not implemented") -} func (UnimplementedWaypointServer) mustEmbedUnimplementedWaypointServer() {} // UnsafeWaypointServer may be embedded to opt out of forward compatibility for this service. @@ -2749,7 +2213,7 @@ func _Waypoint_GetVersionInfo_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetVersionInfo_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetVersionInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetVersionInfo(ctx, req.(*emptypb.Empty)) @@ -2767,7 +2231,7 @@ func _Waypoint_ListOIDCAuthMethods_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListOIDCAuthMethods_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListOIDCAuthMethods", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListOIDCAuthMethods(ctx, req.(*emptypb.Empty)) @@ -2785,7 +2249,7 @@ func _Waypoint_GetOIDCAuthURL_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetOIDCAuthURL_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetOIDCAuthURL", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetOIDCAuthURL(ctx, req.(*GetOIDCAuthURLRequest)) @@ -2803,7 +2267,7 @@ func _Waypoint_CompleteOIDCAuth_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CompleteOIDCAuth_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/CompleteOIDCAuth", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).CompleteOIDCAuth(ctx, req.(*CompleteOIDCAuthRequest)) @@ -2821,7 +2285,7 @@ func _Waypoint_NoAuthRunTrigger_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_NoAuthRunTrigger_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/NoAuthRunTrigger", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).NoAuthRunTrigger(ctx, req.(*RunTriggerRequest)) @@ -2839,7 +2303,7 @@ func _Waypoint_GetUser_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetUser_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetUser(ctx, req.(*GetUserRequest)) @@ -2857,7 +2321,7 @@ func _Waypoint_ListUsers_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListUsers_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListUsers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListUsers(ctx, req.(*emptypb.Empty)) @@ -2875,7 +2339,7 @@ func _Waypoint_UpdateUser_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpdateUser_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpdateUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpdateUser(ctx, req.(*UpdateUserRequest)) @@ -2893,7 +2357,7 @@ func _Waypoint_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteUser_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteUser(ctx, req.(*DeleteUserRequest)) @@ -2911,7 +2375,7 @@ func _Waypoint_UpsertAuthMethod_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertAuthMethod_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertAuthMethod", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertAuthMethod(ctx, req.(*UpsertAuthMethodRequest)) @@ -2929,7 +2393,7 @@ func _Waypoint_GetAuthMethod_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetAuthMethod_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetAuthMethod", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetAuthMethod(ctx, req.(*GetAuthMethodRequest)) @@ -2947,7 +2411,7 @@ func _Waypoint_ListAuthMethods_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListAuthMethods_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListAuthMethods", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListAuthMethods(ctx, req.(*emptypb.Empty)) @@ -2965,7 +2429,7 @@ func _Waypoint_DeleteAuthMethod_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteAuthMethod_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteAuthMethod", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteAuthMethod(ctx, req.(*DeleteAuthMethodRequest)) @@ -2983,7 +2447,7 @@ func _Waypoint_ListWorkspaces_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListWorkspaces_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListWorkspaces", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListWorkspaces(ctx, req.(*ListWorkspacesRequest)) @@ -3001,7 +2465,7 @@ func _Waypoint_GetWorkspace_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetWorkspace_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetWorkspace", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetWorkspace(ctx, req.(*GetWorkspaceRequest)) @@ -3019,7 +2483,7 @@ func _Waypoint_UpsertWorkspace_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertWorkspace_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertWorkspace", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertWorkspace(ctx, req.(*UpsertWorkspaceRequest)) @@ -3037,7 +2501,7 @@ func _Waypoint_UpsertProject_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertProject_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertProject(ctx, req.(*UpsertProjectRequest)) @@ -3055,7 +2519,7 @@ func _Waypoint_GetProject_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetProject_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetProject(ctx, req.(*GetProjectRequest)) @@ -3073,7 +2537,7 @@ func _Waypoint_ListProjects_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListProjects_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListProjects", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListProjects(ctx, req.(*ListProjectsRequest)) @@ -3091,7 +2555,7 @@ func _Waypoint_DestroyProject_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DestroyProject_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DestroyProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DestroyProject(ctx, req.(*DestroyProjectRequest)) @@ -3109,7 +2573,7 @@ func _Waypoint_GetApplication_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetApplication_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetApplication(ctx, req.(*GetApplicationRequest)) @@ -3127,7 +2591,7 @@ func _Waypoint_UpsertApplication_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertApplication_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertApplication(ctx, req.(*UpsertApplicationRequest)) @@ -3145,7 +2609,7 @@ func _Waypoint_ListBuilds_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListBuilds_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListBuilds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListBuilds(ctx, req.(*ListBuildsRequest)) @@ -3163,7 +2627,7 @@ func _Waypoint_GetBuild_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetBuild_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetBuild", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetBuild(ctx, req.(*GetBuildRequest)) @@ -3181,7 +2645,7 @@ func _Waypoint_GetLatestBuild_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetLatestBuild_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetLatestBuild", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetLatestBuild(ctx, req.(*GetLatestBuildRequest)) @@ -3199,7 +2663,7 @@ func _Waypoint_ListPushedArtifacts_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListPushedArtifacts_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListPushedArtifacts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListPushedArtifacts(ctx, req.(*ListPushedArtifactsRequest)) @@ -3217,7 +2681,7 @@ func _Waypoint_GetPushedArtifact_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetPushedArtifact_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetPushedArtifact", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetPushedArtifact(ctx, req.(*GetPushedArtifactRequest)) @@ -3235,7 +2699,7 @@ func _Waypoint_GetLatestPushedArtifact_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetLatestPushedArtifact_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetLatestPushedArtifact", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetLatestPushedArtifact(ctx, req.(*GetLatestPushedArtifactRequest)) @@ -3253,7 +2717,7 @@ func _Waypoint_ListDeployments_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListDeployments_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListDeployments", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListDeployments(ctx, req.(*ListDeploymentsRequest)) @@ -3271,7 +2735,7 @@ func _Waypoint_GetDeployment_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetDeployment_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetDeployment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetDeployment(ctx, req.(*GetDeploymentRequest)) @@ -3279,24 +2743,6 @@ func _Waypoint_GetDeployment_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Waypoint_GetLatestDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetLatestDeploymentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).GetLatestDeployment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_GetLatestDeployment_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetLatestDeployment(ctx, req.(*GetLatestDeploymentRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Waypoint_ListInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListInstancesRequest) if err := dec(in); err != nil { @@ -3307,7 +2753,7 @@ func _Waypoint_ListInstances_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListInstances_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListInstances", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListInstances(ctx, req.(*ListInstancesRequest)) @@ -3325,7 +2771,7 @@ func _Waypoint_ListReleases_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListReleases_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListReleases", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListReleases(ctx, req.(*ListReleasesRequest)) @@ -3343,7 +2789,7 @@ func _Waypoint_GetRelease_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetRelease_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetRelease", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetRelease(ctx, req.(*GetReleaseRequest)) @@ -3361,7 +2807,7 @@ func _Waypoint_GetLatestRelease_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetLatestRelease_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetLatestRelease", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetLatestRelease(ctx, req.(*GetLatestReleaseRequest)) @@ -3379,7 +2825,7 @@ func _Waypoint_GetStatusReport_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetStatusReport_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetStatusReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetStatusReport(ctx, req.(*GetStatusReportRequest)) @@ -3397,7 +2843,7 @@ func _Waypoint_GetLatestStatusReport_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetLatestStatusReport_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetLatestStatusReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetLatestStatusReport(ctx, req.(*GetLatestStatusReportRequest)) @@ -3415,7 +2861,7 @@ func _Waypoint_ListStatusReports_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListStatusReports_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListStatusReports", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListStatusReports(ctx, req.(*ListStatusReportsRequest)) @@ -3433,7 +2879,7 @@ func _Waypoint_ExpediteStatusReport_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ExpediteStatusReport_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ExpediteStatusReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ExpediteStatusReport(ctx, req.(*ExpediteStatusReportRequest)) @@ -3498,7 +2944,7 @@ func _Waypoint_SetConfig_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_SetConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/SetConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).SetConfig(ctx, req.(*ConfigSetRequest)) @@ -3516,7 +2962,7 @@ func _Waypoint_DeleteConfig_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteConfig(ctx, req.(*ConfigDeleteRequest)) @@ -3534,7 +2980,7 @@ func _Waypoint_GetConfig_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetConfig(ctx, req.(*ConfigGetRequest)) @@ -3552,7 +2998,7 @@ func _Waypoint_SetConfigSource_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_SetConfigSource_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/SetConfigSource", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).SetConfigSource(ctx, req.(*SetConfigSourceRequest)) @@ -3570,7 +3016,7 @@ func _Waypoint_DeleteConfigSource_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteConfigSource_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteConfigSource", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteConfigSource(ctx, req.(*DeleteConfigSourceRequest)) @@ -3588,7 +3034,7 @@ func _Waypoint_GetConfigSource_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetConfigSource_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetConfigSource", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetConfigSource(ctx, req.(*GetConfigSourceRequest)) @@ -3606,7 +3052,7 @@ func _Waypoint_CreateHostname_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CreateHostname_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/CreateHostname", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).CreateHostname(ctx, req.(*CreateHostnameRequest)) @@ -3624,7 +3070,7 @@ func _Waypoint_DeleteHostname_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteHostname_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteHostname", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteHostname(ctx, req.(*DeleteHostnameRequest)) @@ -3642,7 +3088,7 @@ func _Waypoint_ListHostnames_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListHostnames_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListHostnames", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListHostnames(ctx, req.(*ListHostnamesRequest)) @@ -3660,7 +3106,7 @@ func _Waypoint_QueueJob_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_QueueJob_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/QueueJob", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).QueueJob(ctx, req.(*QueueJobRequest)) @@ -3678,7 +3124,7 @@ func _Waypoint_CancelJob_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CancelJob_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/CancelJob", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).CancelJob(ctx, req.(*CancelJobRequest)) @@ -3696,7 +3142,7 @@ func _Waypoint_GetJob_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetJob_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetJob", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetJob(ctx, req.(*GetJobRequest)) @@ -3714,7 +3160,7 @@ func _Waypoint_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListJobs_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListJobs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListJobs(ctx, req.(*ListJobsRequest)) @@ -3732,7 +3178,7 @@ func _Waypoint_ValidateJob_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ValidateJob_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ValidateJob", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ValidateJob(ctx, req.(*ValidateJobRequest)) @@ -3771,7 +3217,7 @@ func _Waypoint_GetRunner_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetRunner_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetRunner", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetRunner(ctx, req.(*GetRunnerRequest)) @@ -3789,7 +3235,7 @@ func _Waypoint_ListRunners_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListRunners_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListRunners", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListRunners(ctx, req.(*ListRunnersRequest)) @@ -3807,7 +3253,7 @@ func _Waypoint_AdoptRunner_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_AdoptRunner_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/AdoptRunner", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).AdoptRunner(ctx, req.(*AdoptRunnerRequest)) @@ -3825,7 +3271,7 @@ func _Waypoint_ForgetRunner_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ForgetRunner_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ForgetRunner", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ForgetRunner(ctx, req.(*ForgetRunnerRequest)) @@ -3843,7 +3289,7 @@ func _Waypoint_GetServerConfig_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetServerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetServerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetServerConfig(ctx, req.(*emptypb.Empty)) @@ -3861,7 +3307,7 @@ func _Waypoint_SetServerConfig_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_SetServerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/SetServerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).SetServerConfig(ctx, req.(*SetServerConfigRequest)) @@ -3926,7 +3372,7 @@ func _Waypoint_BootstrapToken_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_BootstrapToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/BootstrapToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).BootstrapToken(ctx, req.(*emptypb.Empty)) @@ -3944,7 +3390,7 @@ func _Waypoint_DecodeToken_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DecodeToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DecodeToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DecodeToken(ctx, req.(*DecodeTokenRequest)) @@ -3962,7 +3408,7 @@ func _Waypoint_GenerateInviteToken_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GenerateInviteToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GenerateInviteToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GenerateInviteToken(ctx, req.(*InviteTokenRequest)) @@ -3980,7 +3426,7 @@ func _Waypoint_GenerateLoginToken_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GenerateLoginToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GenerateLoginToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GenerateLoginToken(ctx, req.(*LoginTokenRequest)) @@ -3998,7 +3444,7 @@ func _Waypoint_GenerateRunnerToken_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GenerateRunnerToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GenerateRunnerToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GenerateRunnerToken(ctx, req.(*GenerateRunnerTokenRequest)) @@ -4016,7 +3462,7 @@ func _Waypoint_ConvertInviteToken_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ConvertInviteToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ConvertInviteToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ConvertInviteToken(ctx, req.(*ConvertInviteTokenRequest)) @@ -4034,7 +3480,7 @@ func _Waypoint_RunnerToken_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_RunnerToken_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/RunnerToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).RunnerToken(ctx, req.(*RunnerTokenRequest)) @@ -4104,7 +3550,7 @@ func _Waypoint_RunnerGetDeploymentConfig_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_RunnerGetDeploymentConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/RunnerGetDeploymentConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).RunnerGetDeploymentConfig(ctx, req.(*RunnerGetDeploymentConfigRequest)) @@ -4195,7 +3641,7 @@ func _Waypoint_WaypointHclFmt_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_WaypointHclFmt_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/WaypointHclFmt", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).WaypointHclFmt(ctx, req.(*WaypointHclFmtRequest)) @@ -4213,7 +3659,7 @@ func _Waypoint_UpsertOnDemandRunnerConfig_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertOnDemandRunnerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertOnDemandRunnerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertOnDemandRunnerConfig(ctx, req.(*UpsertOnDemandRunnerConfigRequest)) @@ -4231,7 +3677,7 @@ func _Waypoint_GetOnDemandRunnerConfig_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetOnDemandRunnerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetOnDemandRunnerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetOnDemandRunnerConfig(ctx, req.(*GetOnDemandRunnerConfigRequest)) @@ -4249,7 +3695,7 @@ func _Waypoint_GetDefaultOnDemandRunnerConfig_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetDefaultOnDemandRunnerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetDefaultOnDemandRunnerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetDefaultOnDemandRunnerConfig(ctx, req.(*emptypb.Empty)) @@ -4267,7 +3713,7 @@ func _Waypoint_DeleteOnDemandRunnerConfig_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteOnDemandRunnerConfig_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteOnDemandRunnerConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteOnDemandRunnerConfig(ctx, req.(*DeleteOnDemandRunnerConfigRequest)) @@ -4285,7 +3731,7 @@ func _Waypoint_ListOnDemandRunnerConfigs_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListOnDemandRunnerConfigs_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListOnDemandRunnerConfigs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListOnDemandRunnerConfigs(ctx, req.(*emptypb.Empty)) @@ -4303,7 +3749,7 @@ func _Waypoint_UpsertBuild_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertBuild_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertBuild", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertBuild(ctx, req.(*UpsertBuildRequest)) @@ -4321,7 +3767,7 @@ func _Waypoint_UpsertPushedArtifact_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertPushedArtifact_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertPushedArtifact", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertPushedArtifact(ctx, req.(*UpsertPushedArtifactRequest)) @@ -4339,7 +3785,7 @@ func _Waypoint_UpsertDeployment_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertDeployment_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertDeployment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertDeployment(ctx, req.(*UpsertDeploymentRequest)) @@ -4357,7 +3803,7 @@ func _Waypoint_UpsertRelease_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertRelease_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertRelease", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertRelease(ctx, req.(*UpsertReleaseRequest)) @@ -4375,7 +3821,7 @@ func _Waypoint_UpsertStatusReport_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertStatusReport_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertStatusReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertStatusReport(ctx, req.(*UpsertStatusReportRequest)) @@ -4393,7 +3839,7 @@ func _Waypoint_GetTask_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetTask_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetTask(ctx, req.(*GetTaskRequest)) @@ -4411,7 +3857,7 @@ func _Waypoint_ListTask_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListTask_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListTask(ctx, req.(*ListTaskRequest)) @@ -4429,7 +3875,7 @@ func _Waypoint_CancelTask_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CancelTask_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/CancelTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).CancelTask(ctx, req.(*CancelTaskRequest)) @@ -4447,7 +3893,7 @@ func _Waypoint_UpsertTrigger_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertTrigger_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertTrigger", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertTrigger(ctx, req.(*UpsertTriggerRequest)) @@ -4465,7 +3911,7 @@ func _Waypoint_GetTrigger_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetTrigger_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetTrigger", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetTrigger(ctx, req.(*GetTriggerRequest)) @@ -4483,7 +3929,7 @@ func _Waypoint_DeleteTrigger_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteTrigger_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/DeleteTrigger", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).DeleteTrigger(ctx, req.(*DeleteTriggerRequest)) @@ -4501,7 +3947,7 @@ func _Waypoint_ListTriggers_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListTriggers_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListTriggers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListTriggers(ctx, req.(*ListTriggerRequest)) @@ -4519,7 +3965,7 @@ func _Waypoint_RunTrigger_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_RunTrigger_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/RunTrigger", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).RunTrigger(ctx, req.(*RunTriggerRequest)) @@ -4537,7 +3983,7 @@ func _Waypoint_UpsertPipeline_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_UpsertPipeline_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UpsertPipeline", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).UpsertPipeline(ctx, req.(*UpsertPipelineRequest)) @@ -4555,7 +4001,7 @@ func _Waypoint_RunPipeline_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_RunPipeline_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/RunPipeline", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).RunPipeline(ctx, req.(*RunPipelineRequest)) @@ -4573,7 +4019,7 @@ func _Waypoint_GetPipeline_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetPipeline_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetPipeline", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetPipeline(ctx, req.(*GetPipelineRequest)) @@ -4591,7 +4037,7 @@ func _Waypoint_GetPipelineRun_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetPipelineRun_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetPipelineRun", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetPipelineRun(ctx, req.(*GetPipelineRunRequest)) @@ -4609,7 +4055,7 @@ func _Waypoint_GetLatestPipelineRun_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetLatestPipelineRun_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/GetLatestPipelineRun", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).GetLatestPipelineRun(ctx, req.(*GetPipelineRequest)) @@ -4627,7 +4073,7 @@ func _Waypoint_ListPipelines_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListPipelines_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListPipelines", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListPipelines(ctx, req.(*ListPipelinesRequest)) @@ -4645,7 +4091,7 @@ func _Waypoint_ListPipelineRuns_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListPipelineRuns_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ListPipelineRuns", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ListPipelineRuns(ctx, req.(*ListPipelineRunsRequest)) @@ -4663,7 +4109,7 @@ func _Waypoint_ConfigSyncPipeline_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ConfigSyncPipeline_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/ConfigSyncPipeline", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(WaypointServer).ConfigSyncPipeline(ctx, req.(*ConfigSyncPipelineRequest)) @@ -4671,506 +4117,92 @@ func _Waypoint_ConfigSyncPipeline_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Waypoint_CreateProjectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateProjectTemplateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).CreateProjectTemplate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_CreateProjectTemplate_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).CreateProjectTemplate(ctx, req.(*CreateProjectTemplateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UpdateProjectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateProjectTemplateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UpdateProjectTemplate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UpdateProjectTemplate_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UpdateProjectTemplate(ctx, req.(*UpdateProjectTemplateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_GetProjectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetProjectTemplateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).GetProjectTemplate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_GetProjectTemplate_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetProjectTemplate(ctx, req.(*GetProjectTemplateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_DeleteProjectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteProjectTemplateRequest) +func _Waypoint_UI_ListProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UI_ListProjectsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(WaypointServer).DeleteProjectTemplate(ctx, in) + return srv.(WaypointServer).UI_ListProjects(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_DeleteProjectTemplate_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UI_ListProjects", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).DeleteProjectTemplate(ctx, req.(*DeleteProjectTemplateRequest)) + return srv.(WaypointServer).UI_ListProjects(ctx, req.(*UI_ListProjectsRequest)) } return interceptor(ctx, in, info, handler) } -func _Waypoint_ListProjectTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListProjectTemplatesRequest) +func _Waypoint_UI_GetProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UI_GetProjectRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(WaypointServer).ListProjectTemplates(ctx, in) + return srv.(WaypointServer).UI_GetProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_ListProjectTemplates_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UI_GetProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).ListProjectTemplates(ctx, req.(*ListProjectTemplatesRequest)) + return srv.(WaypointServer).UI_GetProject(ctx, req.(*UI_GetProjectRequest)) } return interceptor(ctx, in, info, handler) } -func _Waypoint_CreateProjectFromTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateProjectFromTemplateRequest) +func _Waypoint_UI_ListDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UI_ListDeploymentsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(WaypointServer).CreateProjectFromTemplate(ctx, in) + return srv.(WaypointServer).UI_ListDeployments(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CreateProjectFromTemplate_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UI_ListDeployments", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).CreateProjectFromTemplate(ctx, req.(*CreateProjectFromTemplateRequest)) + return srv.(WaypointServer).UI_ListDeployments(ctx, req.(*UI_ListDeploymentsRequest)) } return interceptor(ctx, in, info, handler) } -func _Waypoint_GetTFCRunStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTFCRunStatusRequest) +func _Waypoint_UI_GetDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UI_GetDeploymentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(WaypointServer).GetTFCRunStatus(ctx, in) + return srv.(WaypointServer).UI_GetDeployment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_GetTFCRunStatus_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UI_GetDeployment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetTFCRunStatus(ctx, req.(*GetTFCRunStatusRequest)) + return srv.(WaypointServer).UI_GetDeployment(ctx, req.(*UI_GetDeploymentRequest)) } return interceptor(ctx, in, info, handler) } -func _Waypoint_CreateAddOnDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateAddOnDefinitionRequest) +func _Waypoint_UI_ListReleases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UI_ListReleasesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(WaypointServer).CreateAddOnDefinition(ctx, in) + return srv.(WaypointServer).UI_ListReleases(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Waypoint_CreateAddOnDefinition_FullMethodName, + FullMethod: "/hashicorp.waypoint.Waypoint/UI_ListReleases", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).CreateAddOnDefinition(ctx, req.(*CreateAddOnDefinitionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_GetAddOnDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAddOnDefinitionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).GetAddOnDefinition(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_GetAddOnDefinition_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetAddOnDefinition(ctx, req.(*GetAddOnDefinitionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_ListAddOnDefinitions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListAddOnDefinitionsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).ListAddOnDefinitions(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_ListAddOnDefinitions_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).ListAddOnDefinitions(ctx, req.(*ListAddOnDefinitionsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UpdateAddOnDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateAddOnDefinitionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UpdateAddOnDefinition(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UpdateAddOnDefinition_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UpdateAddOnDefinition(ctx, req.(*UpdateAddOnDefinitionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_DeleteAddOnDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteAddOnDefinitionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).DeleteAddOnDefinition(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_DeleteAddOnDefinition_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).DeleteAddOnDefinition(ctx, req.(*DeleteAddOnDefinitionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_CreateAddOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateAddOnRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).CreateAddOn(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_CreateAddOn_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).CreateAddOn(ctx, req.(*CreateAddOnRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_GetAddOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAddOnRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).GetAddOn(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_GetAddOn_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetAddOn(ctx, req.(*GetAddOnRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UpdateAddOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateAddOnRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UpdateAddOn(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UpdateAddOn_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UpdateAddOn(ctx, req.(*UpdateAddOnRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_DestroyAddOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DestroyAddOnRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).DestroyAddOn(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_DestroyAddOn_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).DestroyAddOn(ctx, req.(*DestroyAddOnRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_ListAddOns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListAddOnsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).ListAddOns(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_ListAddOns_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).ListAddOns(ctx, req.(*ListAddOnsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_GetTFRunStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTFRunStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).GetTFRunStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_GetTFRunStatus_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).GetTFRunStatus(ctx, req.(*GetTFRunStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListProjectsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListProjects(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListProjects_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListProjects(ctx, req.(*UI_ListProjectsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_GetProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_GetProjectRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_GetProject(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_GetProject_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_GetProject(ctx, req.(*UI_GetProjectRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListPipelines_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListPipelinesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListPipelines(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListPipelines_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListPipelines(ctx, req.(*UI_ListPipelinesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListPipelineRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListPipelineRunsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListPipelineRuns(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListPipelineRuns_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListPipelineRuns(ctx, req.(*UI_ListPipelineRunsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_GetPipelineRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_GetPipelineRunRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_GetPipelineRun(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_GetPipelineRun_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_GetPipelineRun(ctx, req.(*UI_GetPipelineRunRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListDeploymentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListDeployments(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListDeployments_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListDeployments(ctx, req.(*UI_ListDeploymentsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_GetDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_GetDeploymentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_GetDeployment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_GetDeployment_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_GetDeployment(ctx, req.(*UI_GetDeploymentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListReleases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListReleasesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListReleases(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListReleases_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListReleases(ctx, req.(*UI_ListReleasesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_UI_ListEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UI_ListEventsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).UI_ListEvents(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_UI_ListEvents_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).UI_ListEvents(ctx, req.(*UI_ListEventsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Waypoint_INTERNAL_AdditionalMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WaypointServer).INTERNAL_AdditionalMessages(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Waypoint_INTERNAL_AdditionalMessages_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WaypointServer).INTERNAL_AdditionalMessages(ctx, req.(*emptypb.Empty)) + return srv.(WaypointServer).UI_ListReleases(ctx, req.(*UI_ListReleasesRequest)) } return interceptor(ctx, in, info, handler) } @@ -5302,10 +4334,6 @@ var Waypoint_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetDeployment", Handler: _Waypoint_GetDeployment_Handler, }, - { - MethodName: "GetLatestDeployment", - Handler: _Waypoint_GetLatestDeployment_Handler, - }, { MethodName: "ListInstances", Handler: _Waypoint_ListInstances_Handler, @@ -5558,78 +4586,6 @@ var Waypoint_ServiceDesc = grpc.ServiceDesc{ MethodName: "ConfigSyncPipeline", Handler: _Waypoint_ConfigSyncPipeline_Handler, }, - { - MethodName: "CreateProjectTemplate", - Handler: _Waypoint_CreateProjectTemplate_Handler, - }, - { - MethodName: "UpdateProjectTemplate", - Handler: _Waypoint_UpdateProjectTemplate_Handler, - }, - { - MethodName: "GetProjectTemplate", - Handler: _Waypoint_GetProjectTemplate_Handler, - }, - { - MethodName: "DeleteProjectTemplate", - Handler: _Waypoint_DeleteProjectTemplate_Handler, - }, - { - MethodName: "ListProjectTemplates", - Handler: _Waypoint_ListProjectTemplates_Handler, - }, - { - MethodName: "CreateProjectFromTemplate", - Handler: _Waypoint_CreateProjectFromTemplate_Handler, - }, - { - MethodName: "GetTFCRunStatus", - Handler: _Waypoint_GetTFCRunStatus_Handler, - }, - { - MethodName: "CreateAddOnDefinition", - Handler: _Waypoint_CreateAddOnDefinition_Handler, - }, - { - MethodName: "GetAddOnDefinition", - Handler: _Waypoint_GetAddOnDefinition_Handler, - }, - { - MethodName: "ListAddOnDefinitions", - Handler: _Waypoint_ListAddOnDefinitions_Handler, - }, - { - MethodName: "UpdateAddOnDefinition", - Handler: _Waypoint_UpdateAddOnDefinition_Handler, - }, - { - MethodName: "DeleteAddOnDefinition", - Handler: _Waypoint_DeleteAddOnDefinition_Handler, - }, - { - MethodName: "CreateAddOn", - Handler: _Waypoint_CreateAddOn_Handler, - }, - { - MethodName: "GetAddOn", - Handler: _Waypoint_GetAddOn_Handler, - }, - { - MethodName: "UpdateAddOn", - Handler: _Waypoint_UpdateAddOn_Handler, - }, - { - MethodName: "DestroyAddOn", - Handler: _Waypoint_DestroyAddOn_Handler, - }, - { - MethodName: "ListAddOns", - Handler: _Waypoint_ListAddOns_Handler, - }, - { - MethodName: "GetTFRunStatus", - Handler: _Waypoint_GetTFRunStatus_Handler, - }, { MethodName: "UI_ListProjects", Handler: _Waypoint_UI_ListProjects_Handler, @@ -5638,18 +4594,6 @@ var Waypoint_ServiceDesc = grpc.ServiceDesc{ MethodName: "UI_GetProject", Handler: _Waypoint_UI_GetProject_Handler, }, - { - MethodName: "UI_ListPipelines", - Handler: _Waypoint_UI_ListPipelines_Handler, - }, - { - MethodName: "UI_ListPipelineRuns", - Handler: _Waypoint_UI_ListPipelineRuns_Handler, - }, - { - MethodName: "UI_GetPipelineRun", - Handler: _Waypoint_UI_GetPipelineRun_Handler, - }, { MethodName: "UI_ListDeployments", Handler: _Waypoint_UI_ListDeployments_Handler, @@ -5662,14 +4606,6 @@ var Waypoint_ServiceDesc = grpc.ServiceDesc{ MethodName: "UI_ListReleases", Handler: _Waypoint_UI_ListReleases_Handler, }, - { - MethodName: "UI_ListEvents", - Handler: _Waypoint_UI_ListEvents_Handler, - }, - { - MethodName: "INTERNAL_AdditionalMessages", - Handler: _Waypoint_INTERNAL_AdditionalMessages_Handler, - }, }, Streams: []grpc.StreamDesc{ { diff --git a/pkg/server/grpc_any.go b/pkg/server/grpc_any.go index 008b9658000..4cad81e9acd 100644 --- a/pkg/server/grpc_any.go +++ b/pkg/server/grpc_any.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/grpc_any_test.go b/pkg/server/grpc_any_test.go index 87c39a807b8..68857918bff 100644 --- a/pkg/server/grpc_any_test.go +++ b/pkg/server/grpc_any_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/grpc_version.go b/pkg/server/grpc_version.go index 514cd3777d3..f6509433365 100644 --- a/pkg/server/grpc_version.go +++ b/pkg/server/grpc_version.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/grpc_version_test.go b/pkg/server/grpc_version_test.go index 32cbb2c8cd5..75bb1f2538a 100644 --- a/pkg/server/grpc_version_test.go +++ b/pkg/server/grpc_version_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/grpcmetadata/grpc.go b/pkg/server/grpcmetadata/grpc.go index b2095cf07eb..d3c421ca6d1 100644 --- a/pkg/server/grpcmetadata/grpc.go +++ b/pkg/server/grpcmetadata/grpc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package grpcmetadata contains functions for reading and writing waypoint specific // metadata to contexts, which is transmitted by RPC calls. package grpcmetadata diff --git a/pkg/server/hcerr/doc.go b/pkg/server/hcerr/doc.go index 5170a2f7738..b8eebc2c069 100644 --- a/pkg/server/hcerr/doc.go +++ b/pkg/server/hcerr/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package hcerr contains helpers to format and sanitize errors before returning // them to clients as grpc status errors. // diff --git a/pkg/server/hcerr/hcerr.go b/pkg/server/hcerr/hcerr.go index 82d044ffb63..2bdb7399699 100644 --- a/pkg/server/hcerr/hcerr.go +++ b/pkg/server/hcerr/hcerr.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package hcerr import ( diff --git a/pkg/server/hcerr/hcerr_test.go b/pkg/server/hcerr/hcerr_test.go index b27b68661d6..c341a76655a 100644 --- a/pkg/server/hcerr/hcerr_test.go +++ b/pkg/server/hcerr/hcerr_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package hcerr import ( diff --git a/pkg/server/hcerr/user_error.go b/pkg/server/hcerr/user_error.go index 3741d35dab5..4dbee422de0 100644 --- a/pkg/server/hcerr/user_error.go +++ b/pkg/server/hcerr/user_error.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package hcerr import ( diff --git a/pkg/server/id.go b/pkg/server/id.go index 006b64855da..aaee920599b 100644 --- a/pkg/server/id.go +++ b/pkg/server/id.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/logbuffer/logbuffer.go b/pkg/server/logbuffer/logbuffer.go index 0f25e760254..40a9d407a05 100644 --- a/pkg/server/logbuffer/logbuffer.go +++ b/pkg/server/logbuffer/logbuffer.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package logbuffer provides a structure and API for efficiently reading // and writing logs that may be streamed to a server. package logbuffer diff --git a/pkg/server/logbuffer/logbuffer_test.go b/pkg/server/logbuffer/logbuffer_test.go index df708d1175f..ea8cacc51ff 100644 --- a/pkg/server/logbuffer/logbuffer_test.go +++ b/pkg/server/logbuffer/logbuffer_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package logbuffer import ( diff --git a/pkg/server/logbuffer/merge.go b/pkg/server/logbuffer/merge.go index e491bc17e28..af86a099720 100644 --- a/pkg/server/logbuffer/merge.go +++ b/pkg/server/logbuffer/merge.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package logbuffer import ( diff --git a/pkg/server/logbuffer/merge_test.go b/pkg/server/logbuffer/merge_test.go index 626db561e45..8f2cfda6f8e 100644 --- a/pkg/server/logbuffer/merge_test.go +++ b/pkg/server/logbuffer/merge_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package logbuffer import ( diff --git a/pkg/server/logstream/logstream.go b/pkg/server/logstream/logstream.go index 105a4717079..7ae402bf5c3 100644 --- a/pkg/server/logstream/logstream.go +++ b/pkg/server/logstream/logstream.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package logstream import ( diff --git a/pkg/server/proto/gateway.yml b/pkg/server/proto/gateway.yml index 37c96648e24..998f56e964e 100644 --- a/pkg/server/proto/gateway.yml +++ b/pkg/server/proto/gateway.yml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - type: google.api.Service config_version: 3 @@ -160,12 +157,6 @@ http: - selector: hashicorp.waypoint.Waypoint.GetDeployment get: /project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number} - - selector: hashicorp.waypoint.Waypoint.GetLatestDeployment - get: /project/{application.project}/application/{application.application}/deployment/latest - - - selector: hashicorp.waypoint.Waypoint.GetLatestDeployment - get: /project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/deployment/latest - # Instances - selector: hashicorp.waypoint.Waypoint.ListInstances get: /instances/{deployment_id} @@ -494,7 +485,7 @@ http: # Projects - selector: hashicorp.waypoint.Waypoint.UI_ListProjects - get: /ui/projects + get: /v1/ui/projects - selector: hashicorp.waypoint.Waypoint.UI_GetProject get: /ui/project/{project.project} @@ -503,109 +494,6 @@ http: - selector: hashicorp.waypoint.Waypoint.UI_ListDeployments get: /ui/project/{application.project}/application/{application.application}/deployments - - selector: hashicorp.waypoint.Waypoint.UI_GetDeployment - get: /ui/deployment/{ref.id} - - - selector: hashicorp.waypoint.Waypoint.UI_GetDeployment - get: /ui/project/{ref.sequence.application.project}/application/{ref.sequence.application.application}/deployment/{ref.sequence.number} - # Releases - selector: hashicorp.waypoint.Waypoint.UI_ListReleases get: /ui/project/{application.project}/application/{application.application}/releases - - # Pipelines - - selector: hashicorp.waypoint.Waypoint.UI_ListPipelines - get: /ui/project/{project.project}/pipelines - - - selector: hashicorp.waypoint.Waypoint.UI_ListPipelineRuns - get: /ui/project/{pipeline.owner.project.project}/pipelines/{pipeline.owner.pipeline_name}/runs - - - selector: hashicorp.waypoint.Waypoint.UI_GetPipelineRun - get: /ui/pipeline/{pipeline.id}/run/{sequence} - - - selector: hashicorp.waypoint.Waypoint.UI_GetPipelineRun - get: /ui/project/{pipeline.owner.project.project}/pipeline/{pipeline.owner.pipeline_name}/run/{sequence} - - # Project Templates - - selector: hashicorp.waypoint.Waypoint.CreateProjectTemplate - post: /project-template - body: "*" - - - selector: hashicorp.waypoint.Waypoint.UpdateProjectTemplate - put: /project-template/{project_template.id} - body: "*" - - - selector: hashicorp.waypoint.Waypoint.GetProjectTemplate - get: /project-template/{project_template.id} - - - selector: hashicorp.waypoint.Waypoint.GetProjectTemplate - get: /project-template/by-name/{project_template.name} - - - selector: hashicorp.waypoint.Waypoint.DeleteProjectTemplate - delete: /project-template/{project_template.id} - - - selector: hashicorp.waypoint.Waypoint.ListProjectTemplates - get: /project-templates - - - selector: hashicorp.waypoint.Waypoint.CreateProjectFromTemplate - post: /project/from-template - body: "*" - - # Deprecated - - selector: hashicorp.waypoint.Waypoint.GetTFCRunStatus - get: /project/{project.project}/tfc-run-status - - - selector: hashicorp.waypoint.Waypoint.GetTFRunStatus - get: /tf-run-status/{workspace_name} - - # Add On Definitions - - selector: hashicorp.waypoint.Waypoint.CreateAddOnDefinition - post: /add-on-definition - body: "*" - - - selector: hashicorp.waypoint.Waypoint.GetAddOnDefinition - get: /add-on-definition/by-id/{add_on_definition.id} - - - selector: hashicorp.waypoint.Waypoint.GetAddOnDefinition - get: /add-on-definition/by-name/{add_on_definition.name} - - - selector: hashicorp.waypoint.Waypoint.ListAddOnDefinitions - get: /add-on-definitions - - - selector: hashicorp.waypoint.Waypoint.UpdateAddOnDefinition - put: /add-on-definition - body: "*" - - - selector: hashicorp.waypoint.Waypoint.DeleteAddOnDefinition - delete: /add-on-definition/by-id/{add_on_definition.id} - - - selector: hashicorp.waypoint.Waypoint.DeleteAddOnDefinition - delete: /add-on-definition/by-name/{add_on_definition.name} - - # Add Ons - - selector: hashicorp.waypoint.Waypoint.CreateAddOn - post: /add-on - body: "*" - - - selector: hashicorp.waypoint.Waypoint.GetAddOn - get: /add-on/{add_on.id} - - - selector: hashicorp.waypoint.Waypoint.UpdateAddOn - put: /add-on - body: "*" - - - selector: hashicorp.waypoint.Waypoint.DestroyAddOn - delete: /add-on/{add_on.id} - - - selector: hashicorp.waypoint.Waypoint.ListAddOns - get: /add-ons - - # Events - - selector: hashicorp.waypoint.Waypoint.UI_ListEvents - get: /ui/project/{application.project}/application/{application.application}/events - - - selector: hashicorp.waypoint.Waypoint.UI_ListEvents - get: /ui/project/{application.project}/application/{application.application}/workspace/{workspace.workspace}/events - - - selector: hashicorp.waypoint.Waypoint.INTERNAL_AdditionalMessages - get: /ui/events/INTERNAL_AdditionalMessages diff --git a/pkg/server/proto/server.proto b/pkg/server/proto/server.proto index ad021fc6f10..6f3936c4251 100644 --- a/pkg/server/proto/server.proto +++ b/pkg/server/proto/server.proto @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - syntax = "proto3"; package hashicorp.waypoint; @@ -137,10 +134,6 @@ service Waypoint { // GetDeployment returns a deployment rpc GetDeployment(GetDeploymentRequest) returns (Deployment) {} - // GetLatestDeployment returns the most recent successfully completed deployment - // for an app. - rpc GetLatestDeployment(GetLatestDeploymentRequest) returns (GetDeploymentResponse) {} - // ListInstances returns the running instances of deployments. rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse); @@ -471,70 +464,6 @@ service Waypoint { // project config to the Waypoint database. rpc ConfigSyncPipeline(ConfigSyncPipelineRequest) returns (ConfigSyncPipelineResponse); - //---------------------------------------------------------------------- - // ProjectTemplate endpoints - //---------------------------------------------------------------------- - - // CreateProjectTemplate creates a new projecttemplate. - rpc CreateProjectTemplate(CreateProjectTemplateRequest) returns (CreateProjectTemplateResponse); - - // UpdateProjectTemplate updates an existing projecttemplate. - rpc UpdateProjectTemplate(UpdateProjectTemplateRequest) returns (UpdateProjectTemplateResponse); - - // GetProjectTemplate returns a projecttemplate by the projecttemplate name or id - rpc GetProjectTemplate(GetProjectTemplateRequest) returns (GetProjectTemplateResponse); - - // DeleteProjectTemplate deletes a projecttemplate by the projecttemplate name or id - rpc DeleteProjectTemplate(DeleteProjectTemplateRequest) returns (google.protobuf.Empty); - - // ListProjectTemplates returns a list of all projecttemplates known. - // (Pagination is currently ignored on this request) - rpc ListProjectTemplates(ListProjectTemplatesRequest) returns (ListProjectTemplatesResponse); - - // CreateProjectFromTemplate is in BETA. It creates a new Waypoint project - // from a Project Template, provisioning infrastructure before upserting the - // Waypoint project to the database - rpc CreateProjectFromTemplate(CreateProjectFromTemplateRequest) returns (CreateProjectFromTemplateResponse); - - // Deprecated in favor of GetTFRunStatus - // GetTFCRunStatus is in BETA. It returns the status of a TFC run, which was - // run to render a project template. - rpc GetTFCRunStatus(GetTFCRunStatusRequest) returns (GetTFCRunStatusResponse); - - // CreateAddOnDefinition creates a new Add-on definition - rpc CreateAddOnDefinition(CreateAddOnDefinitionRequest) returns (CreateAddOnDefinitionResponse); - - // GetAddOnDefinition returns an Add-on definition, referenced by name or ID - rpc GetAddOnDefinition(GetAddOnDefinitionRequest) returns (GetAddOnDefinitionResponse); - - // ListAddOnDefinitions returns all existing Add-on definitions - rpc ListAddOnDefinitions(ListAddOnDefinitionsRequest) returns (ListAddOnDefinitionsResponse); - - // UpdateAddOnDefinition updates an existing Add-on definition - rpc UpdateAddOnDefinition(UpdateAddOnDefinitionRequest) returns (UpdateAddOnDefinitionResponse); - - // DeleteAddOnDefinition deletes an existing Add-on definition - rpc DeleteAddOnDefinition(DeleteAddOnDefinitionRequest) returns (google.protobuf.Empty); - - // CreateAddOn adds an Add-on to a project from an Add-on definition - rpc CreateAddOn(CreateAddOnRequest) returns (CreateAddOnResponse); - - // GetAddOn returns an existing Add-on - rpc GetAddOn(GetAddOnRequest) returns (GetAddOnResponse); - - // UpdateAddOn updates an existing Add-on - rpc UpdateAddOn(UpdateAddOnRequest) returns (UpdateAddOnResponse); - - // DestroyAddOn destroys an existing Add-on - rpc DestroyAddOn(DestroyAddOnRequest) returns (google.protobuf.Empty); - - // ListAddOns returns all existing Add-ons - rpc ListAddOns(ListAddOnsRequest) returns (ListAddOnsResponse); - - // GetTFRunStatus returns the status of the latest run of a Terraform - // workspace - rpc GetTFRunStatus(GetTFRunStatusRequest) returns (GetTFRunStatusResponse); - //---------------------------------------------------------------------- // UI endpoints. The endpoints below are convenience methods for Waypoint's // various UIs (web GUI and CLI). They contain no unique functionality, i.e. @@ -548,15 +477,6 @@ service Waypoint { // Get a given project with useful related records. rpc UI_GetProject(UI.GetProjectRequest) returns (UI.GetProjectResponse); - // List pipelines with last run for each for a given project. - rpc UI_ListPipelines(UI.ListPipelinesRequest) returns (UI.ListPipelinesResponse); - - // List pipeline runs with pagination for a given pipeline - rpc UI_ListPipelineRuns(UI.ListPipelineRunsRequest) returns (UI.ListPipelineRunsResponse); - - // Get a pipline run with additional computed data. - rpc UI_GetPipelineRun(UI.GetPipelineRunRequest) returns (UI.GetPipelineRunResponse); - // List deployments for a given application. rpc UI_ListDeployments(UI.ListDeploymentsRequest) returns (UI.ListDeploymentsResponse); @@ -565,12 +485,6 @@ service Waypoint { // List releases for a given application. rpc UI_ListReleases(UI.ListReleasesRequest) returns (UI.ListReleasesResponse); - - // List UI events for a given application. - rpc UI_ListEvents(UI.ListEventsRequest) returns (UI.ListEventsResponse); - - // List possible event data types. - rpc INTERNAL_AdditionalMessages(google.protobuf.Empty) returns (UI.ListEventSchemasResponse); } /******************************************************************** @@ -600,86 +514,6 @@ message UI { message GetProjectResponse { Project project = 1; Job latest_init_job = 2; - ProjectTemplate project_template = 3; - } - - message ListPipelinesRequest { - Ref.Project project = 1; - PaginationRequest pagination = 2; - // TODO: SortingRequest sorting = 3; - } - - message ListPipelinesResponse { - repeated UI.PipelineBundle pipelines = 1; - PaginationResponse pagination = 2; - } - - message ListPipelineRunsRequest { - Ref.Pipeline pipeline = 1; - PaginationRequest pagination = 2; - // TODO: SortingRequest sorting = 3; - } - - message ListPipelineRunsResponse { - repeated PipelineRunBundle pipeline_run_bundles = 1; - PaginationResponse pagination = 2; - } - - message GetPipelineRunRequest { - Ref.Pipeline pipeline = 1; - uint64 sequence = 2; - } - - message GetPipelineRunResponse { - // deprecated in favor of pipeline_run_bundle. - PipelineRun pipeline_run = 1; - PipelineRunTreeNode root_tree_node = 2; - PipelineRunBundle pipeline_run_bundle = 3; - } - - message PipelineBundle { - Pipeline pipeline = 1; - PipelineRunBundle last_run = 2; - } - - message PipelineRunBundle { - PipelineRun pipeline_run = 1; - google.protobuf.Timestamp queue_time = 2; - Ref.Application application = 3; - Job.DataSource.Ref data_source_ref = 4; - } - - message PipelineRunTreeNode { - // If step is absent then the node is “virtual” — it represents a set of - // concurrent steps/jobs. - Pipeline.Step step = 1; - State state = 2; - google.protobuf.Timestamp start_time = 3; - google.protobuf.Timestamp complete_time = 4; - Ref.Application application = 5; - Ref.Workspace workspace = 6; - Ref.Job job = 7; - Job.Result result = 8; - StatusReport latest_status_report = 11; - Children children = 12; - - enum State { - UNKNOWN = 0; - QUEUED = 1; - RUNNING = 2; - ERROR = 3; - CANCELLED = 4; - SUCCESS = 5; - } - - message Children { - Mode mode = 1; - repeated UI.PipelineRunTreeNode nodes = 2; - enum Mode { - SERIAL = 0; - PARALLEL = 1; - } - } } message ListDeploymentsRequest { @@ -784,100 +618,6 @@ message UI { // The most recent status report generated for this release. StatusReport latest_status_report = 2; } - - message ListEventsRequest { - // Application that the events belong to. - Ref.Application application = 1; - - // Workspace that the events belong to. - // If undefined, events from all workspaces will be listed. - Ref.Workspace workspace = 2; - - PaginationRequest pagination = 3; - SortingRequest sorting = 4; - - // Project that the events belong to - Ref.Project project = 5; - } - - message ListEventsResponse { - // The list of events with related messages prefetched. - repeated UI.EventBundle events = 1; - PaginationResponse pagination = 2; - } - - // An event packaged alongside prefetched related messages. - message EventBundle { - google.protobuf.Timestamp timestamp = 1; - EventType event_type = 2; - bytes event_data = 3; - string id = 4; // external ID for this event - - // Supported EventTypes - enum EventType { - BUILD = 0; - DEPLOYMENT = 1; - RELEASE = 2; - ADDON_CREATED = 3; - ADDON_DESTROYED = 4; - } - //generic so looser contract for activity feed between backend and UI - } - - message EventBuild { - string build_id = 1; - uint64 sequence = 2; - Component component = 3; //aka platform - Ref.Workspace workspace = 4; - Status status = 5; - // commit is the full commit hash - string commit = 6; - } - - message EventDeployment { - string deployment_id = 1; - uint64 sequence = 2; - Component component = 3; //aka platform - Ref.Workspace workspace = 4; - Status status = 5; - uint64 build_sequence = 6; - } - - message EventRelease { - string release_id = 1; - uint64 sequence = 2; - Component component = 3; //aka platform - Ref.Workspace workspace = 4; - Status status = 5; - uint64 deployment_sequence = 6; - } - - message EventAddOn { - string add_on_id = 1; - string name = 2; - operation add_on_operation = 3; - enum operation { - CREATED = 0; - DESTROYED = 1; - MODIFIED = 2; - } - } - -/* NOTE(Cassie): This should be implemented once pipeline_runs are app scoped - message EventPipelineRun { - string pipelineRun_id = 1; - uint64 sequence = 2; -// Component component = 3; //aka platform -// Ref.Workspace workspace = 4; - } -*/ - message ListEventSchemasResponse { - UI.EventBuild event_build_schema = 1; - UI.EventDeployment event_deployment_schema = 2; - UI.EventRelease event_release_schema = 3; - UI.EventAddOn event_add_on_schema = 4; - //UI.EventPipelineRun event_pipeline_run_schema = 4; - } } @@ -1115,14 +855,6 @@ message Project { ProjectState state = 11; - // readme_markdown is markdown formatted instructions on how to operate the project. - // This may be populated from a project template. - bytes readme_markdown = 13; - - // project_template is a reference to the template that this project was - // created from, if any. - Ref.ProjectTemplate project_template = 12; - // ProjectState is set to active when the project is created and throughout its lifetime. // When a project destroy operation begins, the state is set to destroying. enum ProjectState { @@ -1396,47 +1128,17 @@ message Ref { } message PipelineStep { - // ID of the current pipeline (the one containing the current step) + // ID of the pipeline string pipeline_id = 1; - // Name of the current pipeline + // Name of the pipeline string pipeline_name = 2; - // Step name within the current pipeline + // Step name within the pipeline. string step = 3; - // Run sequence for the root pipeline + // Pipeline run sequence uint64 run_sequence = 4; - - // Name of the root pipeline (the one invoked in `waypoint pipeline run `) - string root_pipeline_id = 5; - - // Name of the root pipeline - string root_pipeline_name = 6; - } - - message ProjectTemplate { - oneof ref { - // ID of the ProjectTemplate - string id = 1; - - // Name of the ProjectTemplate - string name = 2; - } - } - - message AddOnDefinition { - oneof identifier { - string id = 1; - string name = 2; - } - } - - message AddOn { - oneof identifier { - string id = 1; - string name = 2; - } } } @@ -3784,22 +3486,6 @@ message PushedArtifact { * Platform ********************************************************************/ -message GetLatestDeploymentRequest { - // application that this belongs to - Ref.Application application = 1; - - // workspace for the artifact, any workspace if empty - Ref.Workspace workspace = 2; - - // Load additional details about the deployment. These will become available - // in the Preload section. - Deployment.LoadDetails load_details = 3; -} - -message GetDeploymentResponse { - Deployment deployment = 1; -} - message GetDeploymentRequest { Ref.Operation ref = 1; @@ -5385,403 +5071,6 @@ message ConfigSyncPipelineResponse { map synced_pipelines = 1; } -/******************************************************************** -* ProjectTemplate -********************************************************************/ - -message GetProjectTemplateRequest { - Ref.ProjectTemplate project_template = 1; -} - -message GetProjectTemplateResponse { - // A single projecttemplate - ProjectTemplate project_template = 1; -} - -message ListProjectTemplatesRequest { - PaginationRequest pagination = 1; -} - -message ListProjectTemplatesResponse { - // The full list of projecttemplates - repeated ProjectTemplate project_templates = 1; - PaginationResponse pagination = 2; - uint64 total_count = 3; -} - -message CreateProjectTemplateRequest { - ProjectTemplate project_template = 1; -} - -message CreateProjectTemplateResponse { - ProjectTemplate project_template = 1; -} - -message UpdateProjectTemplateRequest { - ProjectTemplate project_template = 1; -} - -message UpdateProjectTemplateResponse { - ProjectTemplate project_template = 1; -} - -message DeleteProjectTemplateRequest { - Ref.ProjectTemplate project_template = 1; -} - -message DeleteProjectTemplateResponse { -} - -message ProjectTemplate { - // Unique ID of the ProjectTemplate - string id = 1; - - // Unique name of the ProjectTemplate - string name = 2; - - // A brief summary for use by platform engineers to distinguish between - // multiple templates - string summary = 3; - - // A long summary of what the ProjectTemplate is to be used for. This summary - // is shared between platform engineers and application developers. - string expanded_summary = 4; - - // A markdown text template which is rendered when a Project is created from a - // ProjectTemplate to be shown to application developers. - // Accepted tokens: - // "{{ .ProjectName }}", representing the application developer chosen project name - // "{{ .TfcOrgName }}", representing the Terraform Cloud organization name in which - // the no-code module was reified - bytes readme_markdown_template = 5; - - // Settings for the Waypoint project that should be set when a project is - // created from a ProjectTemplate. - WaypointProject waypoint_project = 6; - - // The Terraform No-Code Module which should be used to provision - // infrastructure that is used by the project created from a ProjectTemplate. - TerraformNocodeModule terraform_nocode_module = 7; - - // A list of descriptive strings that can be applied to the ProjectTemplate. - repeated string tags = 8; - - // WaypointProject governs the properties that will be set on the final - // waypoint Project that we create. Future fields will likely include status - // report and datasource polling settings. - message WaypointProject { - // waypoint.hcl text template file stored as HCL. - // Accepted tokens: - // "{{ .ProjectName }}", representing the application developer chosen project name - // "{{ .TfcOrgName }}", representing the Terraform Cloud organization name in which - // the no-code module was reified - bytes waypoint_hcl_template = 1; - } - - // Deprecated in favor of TerraformNocodeModule, declared outside of the ProjectTemplate message - message TerraformNocodeModule { - // The module name for the Terraform no-code module. - string source = 1; - - // The version of the Terraform no-code module. - string version = 2; - } -} - -message TerraformNocodeModule { - // The source of the Terraform no-code module. - // https://developer.hashicorp.com/terraform/language/modules/sources - string source = 1; - - // The version of the Terraform no-code module. - string version = 2; -} - -/******************************************************************** -* Add-ons - the features using these protos are in BETA -********************************************************************/ -// GetAddOnDefinitionRequest is the request used for getting an existing Add-on -// definition -message GetAddOnDefinitionRequest { - Ref.AddOnDefinition add_on_definition = 1; -} - -// GetAddOnDefinitionResponse is the response used to return an existing Add-on -// Definition -message GetAddOnDefinitionResponse { - AddOnDefinition add_on_definition = 1; -} - -// ListAddOnDefinitionsRequest is the request used to get all Add-on -// definitions -message ListAddOnDefinitionsRequest { - PaginationRequest pagination = 1; -} - -// ListAddOnDefinitionsResponse is the response used to return all Add-on -// definitions -message ListAddOnDefinitionsResponse { - repeated AddOnDefinition add_on_definitions = 1; - PaginationResponse pagination = 2; -} - -// CreateAddOnDefinitionRequest is the request used to create an Add-on -// definition -message CreateAddOnDefinitionRequest { - // Name of the Add-on definition - string name = 1; - - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule terraform_nocode_module = 2; - - // Short description of the Add-on - string short_summary = 3; - - // Longer description of the Add-on - string long_summary = 4; - - // A templated README describing the Add-on - bytes readme_markdown_template = 5; - - // A list of descriptive tags for an Add-on - repeated string tags = 6; - - // The TF variable set to apply to the Add-on's No Code workspace - repeated string tf_variable_set_ids = 7; -} - -// CreateAddOnDefinitionResponse is the response containing the just-created -// Add-on definition -message CreateAddOnDefinitionResponse { - AddOnDefinition add_on_definition = 1; -} - -// UpdateAddOnDefinitionRequest is the request used to update an existing -// Add-on definition -message UpdateAddOnDefinitionRequest { - // Reference to an existing Add-on - Ref.AddOnDefinition definition = 1; - - // Name of the Add-on definition - string name = 2; - - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule terraform_nocode_module = 3; - - // Short description of the Add-on - string short_summary = 4; - - // Longer description of the Add-on - string long_summary = 5; - - // A templated README describing the Add-on - bytes readme_markdown_template = 6; - - // A list of descriptive tags for an Add-on - repeated string tags = 7; - - // The TF variable set to apply to the Add-on's No Code workspace - repeated string tf_variable_set_ids = 8; -} - -// UpdateAddOnDefinitionResponse is the response containing the just-updated -// Add-on definition -message UpdateAddOnDefinitionResponse { - AddOnDefinition add_on_definition = 1; -} - -// DeleteAddOnDefinitionRequest is the request used to delete an existing Add -// On definition -message DeleteAddOnDefinitionRequest { - Ref.AddOnDefinition add_on_definition = 1; -} - -// CreateAddOnRequest is the request used to add an Add-on to a project -message CreateAddOnRequest { - // The project for which the Add-on is to be created - Ref.Project project = 1; - - // The Add-on definition from which this Add-on is to be created - Ref.AddOnDefinition definition = 2; - - // name is the name of the Add-on - string name = 3; -} - -// CreateAddOnResponse is the response containing the just-added Add-on -message CreateAddOnResponse { - AddOn add_on = 1; -} - -// DestroyAddOnRequest is the request used to destroy an existing Add-on -message DestroyAddOnRequest { - Ref.AddOn add_on = 1; -} - -// GetAddOnRequest is the request used to get an existing Add-on -message GetAddOnRequest { - Ref.AddOn add_on = 1; -} - -// GetAddOnResponse is the response containing the just-requested existing Add-on -message GetAddOnResponse { - AddOn add_on = 1; -} - -// UpdateAddOnRequest is the request used to update an existing Add-on. -message UpdateAddOnRequest { - // The add-on to be updated. - Ref.AddOn add_on = 1; - - // The new name of the Add-on. - string name = 2; -} - -// UpdateAddOnResponse is the response containing the just-updated Add-on. -message UpdateAddOnResponse { - // The newly updated Add-on. - AddOn add_on = 1; -} - -// ListAddOnsRequest is the request used to get all existing Add-ons -message ListAddOnsRequest { - Ref.Project project = 1; - PaginationRequest pagination = 2; -} - -// ListAddOnsResponse is the response containing all existing Add-ons -message ListAddOnsResponse { - repeated AddOn add_ons = 1; - PaginationResponse pagination = 2; -} - -// GetTFRunStatusRequest is the request used to get the status of the latest -// run of a Terraform workspace -message GetTFRunStatusRequest { - string workspace_name = 1; -} - -// GetTFRunStatusResponse is the response containing the status of the latest -// run of a Terraform workspace -message GetTFRunStatusResponse { - // the URL of the TF run - string url = 1; - - // the state of the TF run - State state = 2; - - enum State { - UNKNOWN = 0; - RUNNING = 1; - SUCCESS = 2; - ERROR = 3; - } -} - -// AddOn is an add-on definition rendered for a project -message AddOn { - // Unique identifier of the Add-on - string id = 1; - - // Name of the Add-on - string name = 2; - - // The project for which the Add-on was created - Ref.Project project = 3; - - // The Add-on definition from which this Add-on was created - Ref.AddOnDefinition definition = 4; - - // Rendered README markdown template for Add-on - bytes readme_markdown = 5; - - // A list of descriptive tags for an Add-on - repeated string tags = 6; - - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule terraform_nocode_module = 7; - - // Short description of the Add-on - string short_summary = 8; - - // Longer description of the Add-on - string long_summary = 9; - - // created_by indicates what created the Add-on - string created_by = 10; - - // The time at which the add-on was created - google.protobuf.Timestamp created_at = 11; -} - -// AddOnDefinition is the template for an add-on -message AddOnDefinition { - // Unique identifer of the Add-on definition - string id = 1; - - // Name of the Add-on definition - string name = 2; - - // Terraform No Code module used for provisioning the Add-on - TerraformNocodeModule terraform_nocode_module = 3; - - // Short description of the Add-on - string short_summary = 4; - - // Longer description of the Add-on - string long_summary = 5; - - // A templated README describing the Add-on - bytes readme_markdown_template = 6; - - // A list of descriptive tags for an Add-on - repeated string tags = 7; - - // The TF variable set to apply to the Add-on's No Code workspace - repeated string tf_variable_set_ids = 8; -} - -/******************************************************************** -* Templating - the features using these protos are in BETA -********************************************************************/ -// GetTFCRunStatusRequest is a message intended for use in requests to get the -// status of a TFC run which was ran during rendering a project template. -message GetTFCRunStatusRequest { - // the Waypoint project for which we want the status of the - // latest run in the corresponding TFC workspace - Ref.Project project = 1; -} - -// GetTFCRunStatusResponse is a message intended for use in responses to requests -// for the status of a TFC run which was ran during rendering a project template. -message GetTFCRunStatusResponse { - // the URL of the TFC run - string url = 1; - - // the state of the TFC run - State state = 2; - - enum State { - UNKNOWN = 0; - RUNNING = 1; - SUCCESS = 2; - ERROR = 3; - } -} - -// CreateProjectFromTemplateRequest is a message intended for use in requests -// to render project templates. -message CreateProjectFromTemplateRequest { - string project_name = 1; - Ref.ProjectTemplate project_template = 2; -} - -// GetTFCRunStatusResponse is a message intended for use in responses to requests -// for rendering project templates. -message CreateProjectFromTemplateResponse { - Project project = 1; -} - /******************************************************************** * Token ********************************************************************/ @@ -6214,19 +5503,3 @@ message PaginationResponse { // there are no more pages. string previous_page_token = 2 [json_name="previous_page_token"]; } - -// SortingRequest are the parameters for a sorted list request. -message SortingRequest { - // Specifies the list of per field ordering that should be used for sorting. - // The order matters as rows are sorted in order by fields and when the field - // matches, the next field is used to tie break the ordering. - // The per field default ordering is ascending. - // - // The fields should be immutable, unique, and orderable. If the field is - // not unique, more than one sort fields should be passed. - // - // Example: order_by=name,age desc,created_at asc - // In that case, 'name' will get the default 'ascending' order. - repeated string order_by = 1 [json_name="order_by"]; -} - diff --git a/pkg/server/ptypes/README.md b/pkg/server/ptypes/README.md deleted file mode 100644 index dd57f29166b..00000000000 --- a/pkg/server/ptypes/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ptypes - -Ptypes <=> protobuf types - -This folder is for: -1. Validation around protobuf messages -2. Related test functions for creating those *good* protobuf messages for unit tests - -This *might* also include a few util functions the API functions use for crafting more protobuf -messages. \ No newline at end of file diff --git a/pkg/server/ptypes/application.go b/pkg/server/ptypes/application.go index b4bf79c0fba..0eff3ca2672 100644 --- a/pkg/server/ptypes/application.go +++ b/pkg/server/ptypes/application.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/artifact.go b/pkg/server/ptypes/artifact.go index 0d76de30c55..52af2e40353 100644 --- a/pkg/server/ptypes/artifact.go +++ b/pkg/server/ptypes/artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/auth.go b/pkg/server/ptypes/auth.go deleted file mode 100644 index 78fa3e973b6..00000000000 --- a/pkg/server/ptypes/auth.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - validation "github.com/go-ozzo/ozzo-validation/v4" - "github.com/imdario/mergo" - "github.com/mitchellh/go-testing-interface" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/hashicorp/waypoint/internal/pkg/validationext" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -// TestToken returns a valid token for tests -func TestToken(t testing.T, src *pb.Token) *pb.Token { - t.Helper() - - if src == nil { - src = &pb.Token{} - } - - require.NoError(t, mergo.Merge(src, &pb.Token{ - Kind: &pb.Token_Login_{ - Login: &pb.Token_Login{ - UserId: "test", - }, - }, - })) - - return src -} - -func ValidateToken(v *pb.Token) error { - if v == nil { - return status.Error(codes.InvalidArgument, "token must not be nil") - } - return validationext.Error(validation.ValidateStruct(v, - validation.Field(&v.Kind, validation.Required), - )) -} diff --git a/pkg/server/ptypes/auth_method.go b/pkg/server/ptypes/auth_method.go index 8f6185c3b20..fe62e0a3bcd 100644 --- a/pkg/server/ptypes/auth_method.go +++ b/pkg/server/ptypes/auth_method.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/build.go b/pkg/server/ptypes/build.go index 475f942b316..e1c8d16ff52 100644 --- a/pkg/server/ptypes/build.go +++ b/pkg/server/ptypes/build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( @@ -13,7 +10,7 @@ import ( pb "github.com/hashicorp/waypoint/pkg/server/gen" ) -// TestBuild returns a valid build for tests. +// TestBuild returns a valid user for tests. func TestBuild(t testing.T, src *pb.Build) *pb.Build { t.Helper() diff --git a/pkg/server/ptypes/component.go b/pkg/server/ptypes/component.go index 3a4f12e8982..f0819e3048d 100644 --- a/pkg/server/ptypes/component.go +++ b/pkg/server/ptypes/component.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/config.go b/pkg/server/ptypes/config.go index 7d5d3d44f52..3a5578d7c69 100644 --- a/pkg/server/ptypes/config.go +++ b/pkg/server/ptypes/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/deployment.go b/pkg/server/ptypes/deployment.go index 47e0cd32511..a11fade2f84 100644 --- a/pkg/server/ptypes/deployment.go +++ b/pkg/server/ptypes/deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( @@ -15,7 +12,7 @@ import ( pb "github.com/hashicorp/waypoint/pkg/server/gen" ) -// TestDeployment returns a valid deployment for tests. +// TestDeployment returns a valid project for tests. func TestDeployment(t testing.T, src *pb.Deployment) *pb.Deployment { t.Helper() @@ -81,10 +78,3 @@ func ValidateGetDeploymentRequest(v *pb.GetDeploymentRequest) error { }), )) } - -// ValidateGetLatestDeploymentRequest -func ValidateGetLatestDeploymentRequest(v *pb.GetLatestDeploymentRequest) error { - return validationext.Error(validation.ValidateStruct(v, - validation.Field(&v.Application, validation.Required), - )) -} diff --git a/pkg/server/ptypes/event.go b/pkg/server/ptypes/event.go deleted file mode 100644 index 5c36a3a6092..00000000000 --- a/pkg/server/ptypes/event.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - validation "github.com/go-ozzo/ozzo-validation/v4" - - "github.com/hashicorp/waypoint/internal/pkg/validationext" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -// ValidateUIListEventsRequest -func ValidateUIListEventsRequest(v *pb.UI_ListEventsRequest) error { - return validationext.Error(validation.ValidateStruct(v, - validation.Field(&v.Application, validation.Required), - validationext.StructField(&v.Pagination, func() []*validation.FieldRules { - return ValidatePaginationRequestRules(v.Pagination) - }), - )) -} diff --git a/pkg/server/ptypes/exec.go b/pkg/server/ptypes/exec.go index 08373a1a2f8..70bf16ddcf5 100644 --- a/pkg/server/ptypes/exec.go +++ b/pkg/server/ptypes/exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/exec_test.go b/pkg/server/ptypes/exec_test.go index d04503a2a84..82d95f69ed0 100644 --- a/pkg/server/ptypes/exec_test.go +++ b/pkg/server/ptypes/exec_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/hostname.go b/pkg/server/ptypes/hostname.go index 5ecd8b0ee46..a68fe25cfc6 100644 --- a/pkg/server/ptypes/hostname.go +++ b/pkg/server/ptypes/hostname.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/job.go b/pkg/server/ptypes/job.go index 8161e24ae9c..905585ba83b 100644 --- a/pkg/server/ptypes/job.go +++ b/pkg/server/ptypes/job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/job_test.go b/pkg/server/ptypes/job_test.go index 571bc68743a..1cc0ba736ed 100644 --- a/pkg/server/ptypes/job_test.go +++ b/pkg/server/ptypes/job_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/ondemand_runner.go b/pkg/server/ptypes/ondemand_runner.go index b2503f15999..c5caa1cec3c 100644 --- a/pkg/server/ptypes/ondemand_runner.go +++ b/pkg/server/ptypes/ondemand_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/pagination.go b/pkg/server/ptypes/pagination.go index c1601369b7f..c8db96aaf42 100644 --- a/pkg/server/ptypes/pagination.go +++ b/pkg/server/ptypes/pagination.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/pagination_test.go b/pkg/server/ptypes/pagination_test.go index 6a0ad21a7e0..1c6f6eda4c3 100644 --- a/pkg/server/ptypes/pagination_test.go +++ b/pkg/server/ptypes/pagination_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/pipeline.go b/pkg/server/ptypes/pipeline.go index a375140b695..d3ca09fad54 100644 --- a/pkg/server/ptypes/pipeline.go +++ b/pkg/server/ptypes/pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( @@ -246,34 +243,6 @@ func ValidateListPipelinesRequest(v *pb.ListPipelinesRequest) error { ) } -// ValidateUIListPipelinesRequest -func ValidateUIListPipelinesRequest(v *pb.UI_ListPipelinesRequest) error { - return validationext.Error(validation.ValidateStruct(v, - validationext.StructField(&v.Pagination, func() []*validation.FieldRules { - return ValidatePaginationRequestRules(v.Pagination) - }), - validation.Field(&v.Project, validation.Required), - )) -} - -// ValidateUIListPipelineRunsRequest -func ValidateUIListPipelineRunsRequest(v *pb.UI_ListPipelineRunsRequest) error { - return validationext.Error(validation.ValidateStruct(v, - validationext.StructField(&v.Pagination, func() []*validation.FieldRules { - return ValidatePaginationRequestRules(v.Pagination) - }), - validation.Field(&v.Pipeline, validation.Required), - )) -} - -// ValidateUIGetPipelineRunRequest -func ValidateUIGetPipelineRunRequest(v *pb.UI_GetPipelineRunRequest) error { - return validationext.Error(validation.ValidateStruct(v, - validation.Field(&v.Pipeline, validation.Required), - validation.Field(&v.Sequence, validation.Required)), - ) -} - // ValidateListPipelineRunsRequest func ValidateListPipelineRunsRequest(v *pb.ListPipelineRunsRequest) error { return validationext.Error(validation.ValidateStruct(v, diff --git a/pkg/server/ptypes/pipeline_test.go b/pkg/server/ptypes/pipeline_test.go index ad618f5cdba..07f8c53aa66 100644 --- a/pkg/server/ptypes/pipeline_test.go +++ b/pkg/server/ptypes/pipeline_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/pipeline_ui.go b/pkg/server/ptypes/pipeline_ui.go deleted file mode 100644 index 69aeb486016..00000000000 --- a/pkg/server/ptypes/pipeline_ui.go +++ /dev/null @@ -1,487 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - "fmt" - "sort" - - "github.com/hashicorp/waypoint/internal/pkg/graph" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -// UI_PipelineRunTreeFromJobs takes a graph of Jobs and StatusReports and -// returns a specialized tree representation that drives the pipeline-run -// timeline UI. -func UI_PipelineRunTreeFromJobs(jobs []*pb.Job, statusReports []*pb.StatusReport) (*pb.UI_PipelineRunTreeNode, error) { - processor := newUIPipelineProcessor(jobs, statusReports) - - return processor.run() -} - -// newUIPipelineProcessor creates a new uiPipelineProcessor for the given jobs and status reports -func newUIPipelineProcessor(jobs []*pb.Job, statusReports []*pb.StatusReport) uiPipelineProcessor { - p := uiPipelineProcessor{ - jobIdx: make(map[string]*pb.Job), - nodeIdx: make(map[string]*pb.UI_PipelineRunTreeNode), - } - - // Populate job index - for _, job := range jobs { - switch job.Operation.(type) { - case *pb.Job_StartTask, *pb.Job_StopTask, *pb.Job_WatchTask: - continue - default: - p.jobIdx[job.Id] = job - } - } - - // Populate status report index - statusReportIdx := make(map[string]*pb.StatusReport) - for _, statusReport := range statusReports { - if d := statusReport.GetDeploymentId(); d != "" { - statusReportIdx[d] = statusReport - } else if r := statusReport.GetReleaseId(); r != "" { - statusReportIdx[r] = statusReport - } - } - - // Populate node index - for _, job := range p.jobIdx { - var step *pb.Pipeline_Step - var statusReport *pb.StatusReport - - if stepOp := job.GetPipelineStep(); stepOp != nil { - step = stepOp.Step - } else { - // This job represents a nested or referenced pipeline - // invocation. It doesn’t encode all the necessary - // information to infer the step details, so we’ll - // create a placeholder step and fill in the details as - // we learn more from other jobs in the set. - step = &pb.Pipeline_Step{ - Name: job.Pipeline.Step, - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Pipeline_{}, - } - } - - // Look up the latest status report for this node - if d := job.Result.GetDeploy().GetDeployment(); d != nil { - statusReport = statusReportIdx[d.Id] - } - if r := job.Result.GetRelease().GetRelease(); r != nil { - statusReport = statusReportIdx[r.Id] - } - - // Build the node (children will be populated later) - node := &pb.UI_PipelineRunTreeNode{ - Step: step, - Job: &pb.Ref_Job{Id: job.Id}, - State: p.nodeStateFromJob(job), - StartTime: job.AckTime, - CompleteTime: job.CompleteTime, - Application: job.Application, - Workspace: job.Workspace, - Result: job.Result, - LatestStatusReport: statusReport, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - } - - // Register the node the index - p.nodeIdx[job.Id] = node - } - - // Build graph from job `DependsOn` fields - for i, job := range p.jobIdx { - p.graph.Add(i) - - for _, j := range job.DependsOn { - if _, exists := p.jobIdx[j]; !exists { - // If the referenced job isn’t in the set then - // we can safely ignore it. It’s likely a - // task-releated ancillary job. - continue - } - - p.graph.Add(j) - p.graph.AddEdge(j, i) - } - } - - return p -} - -// uiPipelineProcessor encapsulates all the state required to transform a set of -// jobs and status reports into our desired output -type uiPipelineProcessor struct { - jobIdx map[string]*pb.Job - nodeIdx map[string]*pb.UI_PipelineRunTreeNode - graph graph.Graph -} - -// run performs our battery of transformations and returns the root of the -// output tree, or an error if something went wrong. -func (p uiPipelineProcessor) run() (*pb.UI_PipelineRunTreeNode, error) { - var rootId string - var rootNode *pb.UI_PipelineRunTreeNode - - // Remove shortcuts from the graph. We do this because sometimes jobs - // contain redundant entries in their DependsOn list. - p.graph.TransitiveReduction() - - // Find the root id/node - rootId, rootNode, err := p.root() - if err != nil { - return nil, err - } - - // Process the tree starting at the root ID in the context of the root node - if err := p.processSubGraph(rootId, rootNode); err != nil { - return nil, err - } - - return rootNode, nil -} - -// root returns the root ID and node. -func (p uiPipelineProcessor) root() (string, *pb.UI_PipelineRunTreeNode, error) { - sorted := p.graph.KahnSort() - - id, ok := sorted[0].(string) - if !ok { - return "", nil, fmt.Errorf("could not find root node") - } - - node, ok := p.nodeIdx[id] - if !ok { - return "", nil, fmt.Errorf("could not find root node") - } - - return id, node, nil -} - -// processSubGraph performs transformations starting at the given inputId, and -// collecting the results into the given outputNode. -func (p uiPipelineProcessor) processSubGraph(inputId string, outputNode *pb.UI_PipelineRunTreeNode) error { - var nextIds []string - for _, v := range p.graph.OutEdges(inputId) { - nextIds = append(nextIds, v.(string)) - } - sort.Strings(nextIds) - degree := len(nextIds) - - if degree == 1 { - nextId := nextIds[0] - nextNode := p.nodeIdx[nextId] - inputPipelineId := p.jobIdx[inputId].Pipeline.GetPipelineId() - nextPipelineId := p.jobIdx[nextId].Pipeline.GetPipelineId() - - if inputPipelineId != nextPipelineId { - invokeId, err := p.foldSubPipeline(nextId, inputPipelineId) - if err != nil { - return err - } - nextId = invokeId - nextNode = p.nodeIdx[nextId] - } - - outputNode.Children.Nodes = append(outputNode.Children.Nodes, nextNode) - - return p.processSubGraph(nextId, outputNode) - } - - if degree > 1 { - virtualId, virtualNode, err := p.foldBranches(inputId, outputNode) - if err != nil { - return err - } - - // Continue processing the parent graph from the new - // virtual node, but accumulating into the output node. - if err := p.processSubGraph(virtualId, outputNode); err != nil { - return err - } - - // Process all the input children as sub-graphs, - // accumulating into the virtual node. - for _, nextId := range nextIds { - nextNode := p.nodeIdx[nextId] - inputJob := p.jobIdx[inputId] - nextJob := p.jobIdx[nextId] - inputPipelineId := inputJob.Pipeline.GetPipelineId() - nextPipelineId := nextJob.Pipeline.GetPipelineId() - - if inputPipelineId != nextPipelineId { - invokeId, err := p.foldSubPipeline(nextId, inputPipelineId) - if err != nil { - return err - } - nextId = invokeId - nextNode = p.nodeIdx[nextId] - } - - virtualNode.Children.Nodes = append(virtualNode.Children.Nodes, nextNode) - - if err := p.processSubGraph(nextId, nextNode); err != nil { - return err - } - } - - p.inferNodeAttrsFromChildren(virtualNode) - } - - return nil -} - -// foldBranches replaces parallel branches of a graph with a single node. -// -// Before: -// -// A -// ┌─┴─┐ -// B D -// C E -// └─┬─┘ -// F -// -// After: -// -// A -// V -// F -// -// It returns the new node and assumes the parent function will perform further -// processing to embed the original children within the new node. -func (p uiPipelineProcessor) foldBranches( - inputId string, - outputNode *pb.UI_PipelineRunTreeNode, -) (string, *pb.UI_PipelineRunTreeNode, error) { - nextIds := p.graph.OutEdges(inputId) - degree := len(nextIds) - - // Create a “virtual node” to encapsulate concurrent work. - virtualId := outputNode.Job.Id + "-virtual" - virtualNode := &pb.UI_PipelineRunTreeNode{ - Job: &pb.Ref_Job{ - Id: virtualId, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_PARALLEL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - } - virtualJob := &pb.Job{ - Pipeline: p.jobIdx[inputId].Pipeline, - } - p.nodeIdx[virtualId] = virtualNode - p.jobIdx[virtualId] = virtualJob - - // Add the virtual node into the graph as a child of the - // input node. - p.graph.Add(virtualId) - p.graph.AddEdge(inputId, virtualId) - // And add the virtual node to the output node’s children. - outputNode.Children.Nodes = append(outputNode.Children.Nodes, virtualNode) - - // Disconnect all children from the input node. - for _, nextId := range nextIds { - p.graph.RemoveEdge(inputId, nextId) - } - - // Find common descendent (if any) - var commonDescendent string - seen := make(map[graph.Vertex]int) - for _, i := range nextIds { - err := p.graph.DFS(i, func(j graph.Vertex, c func() error) error { - seen[j] += 1 - if seen[j] == degree { - commonDescendent = j.(string) - return nil - } else { - return c() - } - }) - if err != nil { - return "", nil, err - } - } - - if commonDescendent != "" { - // If there is a common ancestor, disconnect - // anything that’s pointing to it. - for _, a := range p.graph.InEdges(commonDescendent) { - p.graph.RemoveEdge(a, commonDescendent) - } - // And connect the virtual node instead. - p.graph.AddEdge(virtualId, commonDescendent) - } - - return virtualId, virtualNode, nil -} - -// foldSubPipeline replaces nested pipeline invocations with a single node. -func (p uiPipelineProcessor) foldSubPipeline(inputId string, parentPipelineId string) (string, error) { - var invokeId string - inputNode := p.nodeIdx[inputId] - - // Find the node in which we return to the parent pipeline. This is the - // `use "pipeline"` step from the pipeline. - err := p.graph.DFS(inputId, func(v graph.Vertex, c func() error) error { - id := v.(string) - job := p.jobIdx[id] - - if job.Pipeline.GetPipelineId() == parentPipelineId { - invokeId = id - return nil - } - - return c() - }) - if err != nil { - return "", err - } - if invokeId == "" { - subPipelineId := p.jobIdx[inputId].Pipeline.GetPipelineId() - return "", fmt.Errorf("Invocation node not found for sub-pipeline %q", subPipelineId) - } - - // Disconnect the invoke node from it’s current inbound edges - for _, i := range p.graph.InEdges(invokeId) { - p.graph.RemoveEdge(i, invokeId) - } - - // Moves inbound edges from the input node to the invoke node - for _, i := range p.graph.InEdges(inputId) { - p.graph.RemoveEdge(i, inputId) - p.graph.AddEdge(i, invokeId) - } - - invokeNode := p.nodeIdx[invokeId] - - // Embed the original input node in the invoke node - invokeNode.Children.Nodes = append(invokeNode.Children.Nodes, inputNode) - - // Process the sub-graph starting at the input node - if err := p.processSubGraph(inputId, invokeNode); err != nil { - return "", err - } - - // Extract sub-pipeline information from children - invokeNode.Step.Kind = p.stepRefFromJob(p.jobIdx[inputId]) - p.inferNodeAttrsFromChildren(invokeNode) - - return invokeId, nil -} - -// nodeStateFromJob return the “tree node state” for a given job. The tree node -// state is somewhat abstracted/inferred from job state, thus the need for this -// mapping. -func (p uiPipelineProcessor) nodeStateFromJob(j *pb.Job) pb.UI_PipelineRunTreeNode_State { - switch j.State { - case pb.Job_QUEUED, pb.Job_WAITING: - return pb.UI_PipelineRunTreeNode_QUEUED - case pb.Job_RUNNING: - return pb.UI_PipelineRunTreeNode_RUNNING - case pb.Job_ERROR: - if j.CancelTime != nil { - return pb.UI_PipelineRunTreeNode_CANCELLED - } else { - return pb.UI_PipelineRunTreeNode_ERROR - } - case pb.Job_SUCCESS: - return pb.UI_PipelineRunTreeNode_SUCCESS - } - - return pb.UI_PipelineRunTreeNode_UNKNOWN -} - -// stepRefFromJob returns a pipeline step definition from a given job. This -// function doesn’t do anything terribly complex, really it just encapsulates a -// lot of protobuf boilerplate. -func (p uiPipelineProcessor) stepRefFromJob(job *pb.Job) *pb.Pipeline_Step_Pipeline_ { - return &pb.Pipeline_Step_Pipeline_{ - Pipeline: &pb.Pipeline_Step_Pipeline{ - Ref: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Owner{ - Owner: &pb.Ref_PipelineOwner{ - Project: &pb.Ref_Project{Project: job.Application.Project}, - PipelineName: job.Pipeline.GetPipelineName(), - }, - }, - }, - }, - } -} - -// inferNodeAttrsFromChildren takes a node and sets the following attributes -// based on the attributes of its children: -// -// * Application -// * StartTime -// * CompleteTime -// * State -func (p uiPipelineProcessor) inferNodeAttrsFromChildren(node *pb.UI_PipelineRunTreeNode) { - children := node.Children.Nodes - - if len(children) == 0 { - return - } - - // Extract application - node.Application = children[0].Application - - // Extract start time - for _, n := range children { - t1 := node.StartTime - t2 := n.StartTime - - if t1 == nil { - node.StartTime = t2 - continue - } - - if t2 == nil { - continue - } - - if t2.AsTime().Before(t1.AsTime()) { - node.StartTime = t2 - } - } - - // Extract complete time - for _, n := range node.Children.Nodes { - t1 := node.CompleteTime - t2 := n.CompleteTime - - if t1 == nil { - node.CompleteTime = t2 - continue - } - - if t2 == nil { - // We’ve found an incomplete step, so the parent is also incomplete - node.CompleteTime = nil - break - } - - if t2.AsTime().After(t1.AsTime()) { - node.CompleteTime = t2 - } - } - - // Extract state - for _, n := range node.Children.Nodes { - s := n.State - node.State = s - - if s != pb.UI_PipelineRunTreeNode_SUCCESS { - break - } - } -} diff --git a/pkg/server/ptypes/pipeline_ui_test.go b/pkg/server/ptypes/pipeline_ui_test.go deleted file mode 100644 index 37c5096bb9c..00000000000 --- a/pkg/server/ptypes/pipeline_ui_test.go +++ /dev/null @@ -1,1328 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - "testing" - "time" - - "github.com/google/go-cmp/cmp" - "github.com/stretchr/testify/require" - "google.golang.org/genproto/googleapis/rpc/status" - "google.golang.org/protobuf/testing/protocmp" - "google.golang.org/protobuf/types/known/timestamppb" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -func TestUI_PipelineRunTreeFromJobs(t *testing.T) { - appRef := &pb.Ref_Application{ - Project: "test-project", - Application: "test-app", - } - - cases := map[string]struct { - Jobs []*pb.Job - StatusReports []*pb.StatusReport - Tree *pb.UI_PipelineRunTreeNode - }{ - "one queued exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one running exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_RUNNING, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_RUNNING, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one successful exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_SUCCESS, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_SUCCESS, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one errored exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_ERROR, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_ERROR, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one cancelled exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_ERROR, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - CancelTime: quickTimestamp("2023-01-01T13:08:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_CANCELLED, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one queued exec step with application": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - Application: appRef, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Application: appRef, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one queued exec step with workspace": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - Workspace: &pb.Ref_Workspace{ - Workspace: "test", - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Workspace: &pb.Ref_Workspace{ - Workspace: "test", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one successful build step with result": { - Jobs: []*pb.Job{ - { - Id: "job-for-build-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "build", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Build_{ - Build: &pb.Pipeline_Step_Build{ - DisablePush: true, - }, - }, - }, - }, - }, - State: pb.Job_SUCCESS, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Result: &pb.Job_Result{ - Build: &pb.Job_BuildResult{ - Build: &pb.Build{ - Id: "build-from-build-step", - }, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "build", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "build", - Kind: &pb.Pipeline_Step_Build_{ - Build: &pb.Pipeline_Step_Build{ - DisablePush: true, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_SUCCESS, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-build-step", - }, - Result: &pb.Job_Result{ - Build: &pb.Job_BuildResult{ - Build: &pb.Build{ - Id: "build-from-build-step", - }, - }, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one successful deploy step with result": { - Jobs: []*pb.Job{ - { - Id: "job-for-deploy-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "deploy", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Deploy_{ - Deploy: &pb.Pipeline_Step_Deploy{ - Release: false, - }, - }, - }, - }, - }, - State: pb.Job_SUCCESS, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Result: &pb.Job_Result{ - Deploy: &pb.Job_DeployResult{ - Deployment: &pb.Deployment{ - Id: "deployment-from-deploy-step", - }, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "deploy", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - }, - StatusReports: []*pb.StatusReport{ - { - TargetId: &pb.StatusReport_DeploymentId{DeploymentId: "deployment-from-deploy-step"}, - Id: "status-report-for-deployment", - Health: &pb.StatusReport_Health{HealthStatus: "READY"}, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "deploy", - Kind: &pb.Pipeline_Step_Deploy_{ - Deploy: &pb.Pipeline_Step_Deploy{ - Release: false, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_SUCCESS, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - CompleteTime: quickTimestamp("2023-01-01T13:10:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-deploy-step", - }, - Result: &pb.Job_Result{ - Deploy: &pb.Job_DeployResult{ - Deployment: &pb.Deployment{ - Id: "deployment-from-deploy-step", - }, - }, - }, - LatestStatusReport: &pb.StatusReport{ - TargetId: &pb.StatusReport_DeploymentId{DeploymentId: "deployment-from-deploy-step"}, - Id: "status-report-for-deployment", - Health: &pb.StatusReport_Health{HealthStatus: "READY"}, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - "one running exec step and one queued exec step": { - Jobs: []*pb.Job{ - { - Id: "job-for-hello-step", - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hello", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - }, - }, - AckTime: quickTimestamp("2023-01-01T13:00:00Z"), - State: pb.Job_RUNNING, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "hello", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }, - }, - { - Id: "job-for-bye-step", - DependsOn: []string{"job-for-hello-step"}, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "bye", - DependsOn: []string{"hello"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "pipeline-id", - PipelineName: "pipeline-name", - Step: "bye", - RootPipelineId: "pipeline-id", - RootPipelineName: "pipeline-name", - RunSequence: 1, - }}, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hello"}, - }, - }, - }, - State: pb.UI_PipelineRunTreeNode_RUNNING, - StartTime: quickTimestamp("2023-01-01T13:00:00Z"), - Job: &pb.Ref_Job{ - Id: "job-for-hello-step", - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Step: &pb.Pipeline_Step{ - Name: "bye", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - DependsOn: []string{"hello"}, - }, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Job: &pb.Ref_Job{Id: "job-for-bye-step"}, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - }, - "referenced pipeline invocation": { - Jobs: []*pb.Job{ - { - Id: "job-for-prep-step", - DependsOn: []string{"unknown-job"}, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "prep", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"preparing"}, - }, - }, - }, - }, - }, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:10Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:20Z"), - State: pb.Job_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "prep", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-invoke-step", - DependsOn: []string{ - "job-for-prep-step", - "job-for-hi-step", - "job-for-bye-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_Noop_{}, - State: pb.Job_QUEUED, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "invoke-referenced-pipeline", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-hi-step", - DependsOn: []string{"job-for-prep-step"}, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hi", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hi"}, - }, - }, - }, - }, - }, - State: pb.Job_SUCCESS, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:30Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:40Z"), - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "referenced-pipeline-id", - PipelineName: "referenced-pipeline", - Step: "hi", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-bye-step", - DependsOn: []string{ - "job-for-hi-step", - "job-for-prep-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "bye", - DependsOn: []string{"hi"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - }, - }, - }, - State: pb.Job_RUNNING, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:50Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "referenced-pipeline-id", - PipelineName: "referenced-pipeline", - Step: "bye", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-done-step", - DependsOn: []string{ - "job-for-hi-step", - "job-for-bye-step", - "job-for-invoke-step", - "job-for-prep-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "done", - DependsOn: []string{"invoke-referenced-pipeline"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"done"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "done", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "prep", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"preparing"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-prep-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:10Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:20Z"), - State: pb.UI_PipelineRunTreeNode_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Step: &pb.Pipeline_Step{ - Name: "invoke-referenced-pipeline", - Kind: &pb.Pipeline_Step_Pipeline_{ - Pipeline: &pb.Pipeline_Step_Pipeline{ - Ref: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Owner{ - Owner: &pb.Ref_PipelineOwner{ - Project: &pb.Ref_Project{ - Project: "test-project", - }, - PipelineName: "referenced-pipeline", - }, - }, - }, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-invoke-step"}, - State: pb.UI_PipelineRunTreeNode_RUNNING, - StartTime: quickTimestamp("2023-01-01T13:00:30Z"), - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Step: &pb.Pipeline_Step{ - Name: "hi", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hi"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-hi-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:30Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:40Z"), - State: pb.UI_PipelineRunTreeNode_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - { - Step: &pb.Pipeline_Step{ - Name: "bye", - DependsOn: []string{"hi"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-bye-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:50Z"), - State: pb.UI_PipelineRunTreeNode_RUNNING, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - { - Step: &pb.Pipeline_Step{ - Name: "done", - DependsOn: []string{"invoke-referenced-pipeline"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"done"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-done-step"}, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - }, - "referenced pipeline invocation AND parallel steps": { - Jobs: []*pb.Job{ - { - Id: "job-for-prep-step", - DependsOn: []string{"unknown-job"}, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "prep", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"preparing"}, - }, - }, - }, - }, - }, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:10Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:20Z"), - State: pb.Job_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "prep", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-invoke-step", - DependsOn: []string{ - "job-for-prep-step", - "job-for-hi-step", - "job-for-bye-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_Noop_{}, - State: pb.Job_QUEUED, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "invoke-referenced-pipeline", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-hi-step", - DependsOn: []string{"job-for-prep-step"}, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "hi", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hi"}, - }, - }, - }, - }, - }, - State: pb.Job_SUCCESS, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:30Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:40Z"), - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "referenced-pipeline-id", - PipelineName: "referenced-pipeline", - Step: "hi", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-bye-step", - DependsOn: []string{ - "job-for-hi-step", - "job-for-prep-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "bye", - DependsOn: []string{"hi"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - }, - }, - }, - State: pb.Job_RUNNING, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:50Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "referenced-pipeline-id", - PipelineName: "referenced-pipeline", - Step: "bye", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-other-step", - DependsOn: []string{ - "job-for-prep-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "other", - DependsOn: []string{"prep"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"other"}, - }, - }, - }, - }, - }, - State: pb.Job_RUNNING, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - AckTime: quickTimestamp("2023-01-01T13:00:50Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "other", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - { - Id: "job-for-done-step", - DependsOn: []string{ - "job-for-hi-step", - "job-for-bye-step", - "job-for-invoke-step", - "job-for-prep-step", - "job-for-other-step", - "unknown-job", - }, - Application: appRef, - Operation: &pb.Job_PipelineStep{ - PipelineStep: &pb.Job_PipelineStepOp{ - Step: &pb.Pipeline_Step{ - Name: "done", - DependsOn: []string{"invoke-referenced-pipeline"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"done"}, - }, - }, - }, - }, - }, - State: pb.Job_QUEUED, - QueueTime: quickTimestamp("2023-01-01T13:00:00Z"), - Pipeline: &pb.Ref_PipelineStep{ - PipelineId: "parent-pipeline-id", - PipelineName: "parent-pipeline", - Step: "done", - RootPipelineId: "parent-pipeline-id", - RootPipelineName: "parent-pipeline", - RunSequence: 1, - }, - }, - }, - Tree: &pb.UI_PipelineRunTreeNode{ - Step: &pb.Pipeline_Step{ - Name: "prep", - DependsOn: []string{}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"preparing"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-prep-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:10Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:20Z"), - State: pb.UI_PipelineRunTreeNode_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Job: &pb.Ref_Job{Id: "job-for-prep-step-virtual"}, - Application: appRef, - StartTime: quickTimestamp("2023-01-01T13:00:30Z"), - State: pb.UI_PipelineRunTreeNode_RUNNING, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_PARALLEL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Step: &pb.Pipeline_Step{ - Name: "invoke-referenced-pipeline", - Kind: &pb.Pipeline_Step_Pipeline_{ - Pipeline: &pb.Pipeline_Step_Pipeline{ - Ref: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Owner{ - Owner: &pb.Ref_PipelineOwner{ - Project: &pb.Ref_Project{ - Project: "test-project", - }, - PipelineName: "referenced-pipeline", - }, - }, - }, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-invoke-step"}, - State: pb.UI_PipelineRunTreeNode_RUNNING, - StartTime: quickTimestamp("2023-01-01T13:00:30Z"), - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{ - { - Step: &pb.Pipeline_Step{ - Name: "hi", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"hi"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-hi-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:30Z"), - CompleteTime: quickTimestamp("2023-01-01T13:00:40Z"), - State: pb.UI_PipelineRunTreeNode_SUCCESS, - Result: &pb.Job_Result{ - PipelineStep: &pb.Job_PipelineStepResult{ - Result: &status.Status{}, - }, - }, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - { - Step: &pb.Pipeline_Step{ - Name: "bye", - DependsOn: []string{"hi"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"bye"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-bye-step"}, - StartTime: quickTimestamp("2023-01-01T13:00:50Z"), - State: pb.UI_PipelineRunTreeNode_RUNNING, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - { - Step: &pb.Pipeline_Step{ - Name: "other", - DependsOn: []string{"prep"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"other"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-other-step"}, - State: pb.UI_PipelineRunTreeNode_RUNNING, - StartTime: quickTimestamp("2023-01-01T13:00:50Z"), - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - { - Step: &pb.Pipeline_Step{ - Name: "done", - DependsOn: []string{"invoke-referenced-pipeline"}, - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"done"}, - }, - }, - }, - Application: appRef, - Job: &pb.Ref_Job{Id: "job-for-done-step"}, - State: pb.UI_PipelineRunTreeNode_QUEUED, - Children: &pb.UI_PipelineRunTreeNode_Children{ - Mode: pb.UI_PipelineRunTreeNode_Children_SERIAL, - Nodes: []*pb.UI_PipelineRunTreeNode{}, - }, - }, - }, - }, - }, - }, - } - - for name, tt := range cases { - t.Run(name, func(t *testing.T) { - require := require.New(t) - result, err := UI_PipelineRunTreeFromJobs(tt.Jobs, tt.StatusReports) - - require.NoError(err) - - if diff := cmp.Diff(tt.Tree, result, protocmp.Transform()); diff != "" { - t.Errorf("unexpected difference:\n%v", diff) - } - - }) - } -} - -// quickTimestamp parses an RFC3339-formatted string and returns the time it -// represents as a timestamppb.Timestamp. -// -// This is intended purely to make tests more readable and robust to daylight -// savings time etc. -func quickTimestamp(s string) *timestamppb.Timestamp { - t, _ := time.Parse(time.RFC3339, s) - return timestamppb.New(t) -} diff --git a/pkg/server/ptypes/project.go b/pkg/server/ptypes/project.go index 73dbdbbee85..967daf4ad50 100644 --- a/pkg/server/ptypes/project.go +++ b/pkg/server/ptypes/project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/project_template.go b/pkg/server/ptypes/project_template.go deleted file mode 100644 index 6cfbb3a8e01..00000000000 --- a/pkg/server/ptypes/project_template.go +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - validation "github.com/go-ozzo/ozzo-validation/v4" - "github.com/imdario/mergo" - "github.com/mitchellh/go-testing-interface" - "github.com/stretchr/testify/require" - "regexp" - - "github.com/hashicorp/waypoint/internal/pkg/validationext" - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -const ( - PROJECT_TEMPLATE_ID_LENGTH = 64 - PROJECT_TEMPLATE_NAME_LENGTH = 64 - PROJECT_TEMPLATE_TAG_LENGTH = 64 - PROJECT_TEMPLATE_SUMMARY_LENGTH = 64 - PROJECT_TEMPLATE_EXPANDED_SUMMARY_LENGTH = 512 - PROJECT_TEMPLATE_README_LENGTH = 1024 ^ 2 - PROJECT_TEMPLATE_WAYPOINT_HCL_LENGTH = 1024 ^ 2 - - TERRAFORM_NOCODE_MODULE_SOURCE_LENGTH = 256 - TERRAFORM_NOCODE_MODULE_VERSION_LENGTH = 256 -) - -func TestProjectTemplate(t testing.T, src *pb.ProjectTemplate) *pb.ProjectTemplate { - t.Helper() - - if src == nil { - src = &pb.ProjectTemplate{} - } - - require.NoError(t, mergo.Merge(src, &pb.Project{ - Name: "test", - })) - - return src -} - -func ValidateCreateProjectTemplateRequest(req *pb.CreateProjectTemplateRequest) error { - return validationext.Error(validation.ValidateStruct(req, - validation.Field(&req.ProjectTemplate, validation.Required), - validationext.StructField(&req.ProjectTemplate, func() []*validation.FieldRules { - return append( - // Rules specific to creating a project template - []*validation.FieldRules{ - validation.Field(&req.ProjectTemplate.Name, - validation.Required, - validation.Match(regexp.MustCompile(`\S+`)), // Disallow only whitespace - ), - }, - - // General project template validation rules - validateProjectTemplateRules(req.ProjectTemplate)..., - ) - }), - )) -} - -func ValidateUpdateProjectTemplateRequest(req *pb.UpdateProjectTemplateRequest) error { - return validationext.Error(validation.ValidateStruct(req, - validation.Field(&req.ProjectTemplate, validation.Required), - validationext.StructField(&req.ProjectTemplate, func() []*validation.FieldRules { - return append( - // Rules specific to creating a project template - []*validation.FieldRules{ - // Require either Name or ID - validation.Field(&req.ProjectTemplate.Id, validation.Required.When(req.ProjectTemplate.Name == "").Error("Either Name or ID is required.")), - validation.Field(&req.ProjectTemplate.Name, validation.Required.When(req.ProjectTemplate.Id == "").Error("Either Name or ID is required.")), - }, - - // General project template validation rules - validateProjectTemplateRules(req.ProjectTemplate)..., - ) - }), - )) -} - -// validateProjectTemplateRules validates the rules that must be true of any project template in any -// request or response. -func validateProjectTemplateRules(pt *pb.ProjectTemplate) []*validation.FieldRules { - return []*validation.FieldRules{ - validation.Field(&pt.Id, validation.Length(0, PROJECT_TEMPLATE_ID_LENGTH)), - validation.Field(&pt.Name, validation.Length(0, PROJECT_TEMPLATE_NAME_LENGTH)), - - validationext.StructField(&pt.TerraformNocodeModule, func() []*validation.FieldRules { - return validateTerraformNocodeModule(pt.TerraformNocodeModule) - }), - - validation.Field(&pt.Summary, validation.Length(0, PROJECT_TEMPLATE_SUMMARY_LENGTH)), - validation.Field(&pt.ExpandedSummary, validation.Length(0, PROJECT_TEMPLATE_EXPANDED_SUMMARY_LENGTH)), - validation.Field(&pt.ReadmeMarkdownTemplate, validation.Length(0, PROJECT_TEMPLATE_README_LENGTH)), - - validation.Field(&pt.Tags, validation.Each( - validation.Length(1, PROJECT_TEMPLATE_TAG_LENGTH), - )), - - validationext.StructField(&pt.WaypointProject, func() []*validation.FieldRules { - return []*validation.FieldRules{ - validation.Field( - &pt.WaypointProject.WaypointHclTemplate, - validation.Length(1, PROJECT_TEMPLATE_WAYPOINT_HCL_LENGTH), - ), - } - }), - } -} - -func validateTerraformNocodeModule(t *pb.ProjectTemplate_TerraformNocodeModule) []*validation.FieldRules { - return []*validation.FieldRules{ - validation.Field(&t.Source, - validation.Required, - validation.Length(1, TERRAFORM_NOCODE_MODULE_SOURCE_LENGTH), - ), - validation.Field(&t.Version, - validation.Required, - validation.Length(1, TERRAFORM_NOCODE_MODULE_VERSION_LENGTH), - ), - } -} diff --git a/pkg/server/ptypes/project_template_test.go b/pkg/server/ptypes/project_template_test.go deleted file mode 100644 index eb0e1a573c9..00000000000 --- a/pkg/server/ptypes/project_template_test.go +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package ptypes - -import ( - validation "github.com/go-ozzo/ozzo-validation/v4" - "testing" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" -) - -func TestValidateCreateProjectTemplateRequest(t *testing.T) { - tests := []struct { - name string - req *pb.CreateProjectTemplateRequest - wantErr bool - }{ - { - name: "minimum valid request", - req: &pb.CreateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Name: "test", - }, - }, - wantErr: false, - }, - { - name: "enforces name", - req: &pb.CreateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{}, - }, - wantErr: true, - }, - { - name: "Inherits base validator rules (example: name length)", - req: &pb.CreateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Name: string(make([]byte, PROJECT_TEMPLATE_NAME_LENGTH+1)), - }, - }, - wantErr: true, - }, - { - name: "enforces name to not be empty", - req: &pb.CreateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Name: " "}, - }, - wantErr: true, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := ValidateCreateProjectTemplateRequest(tt.req) - if err == nil && tt.wantErr { - t.Errorf("expected error in ValidateCreateProjectTemplateRequest() but got none") - } - - if err != nil && !tt.wantErr { - t.Errorf("ValidateCreateProjectTemplateRequest() error = %v, wantErr %v", err, tt.wantErr) - } - - }) - } -} - -func TestValidateUpdateProjectTemplateRequest(t *testing.T) { - tests := []struct { - name string - req *pb.UpdateProjectTemplateRequest - wantErr bool - }{ - { - name: "Fails if no name or ID is given", - req: &pb.UpdateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{}, - }, - wantErr: true, - }, - { - name: "OK with just name", - req: &pb.UpdateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Name: "test", - }, - }, - wantErr: false, - }, - { - name: "OK with just ID", - req: &pb.UpdateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Id: "test", - }, - }, - wantErr: false, - }, - { - name: "Also runs base project template validator", - req: &pb.UpdateProjectTemplateRequest{ - ProjectTemplate: &pb.ProjectTemplate{ - Id: string(make([]byte, PROJECT_TEMPLATE_ID_LENGTH+1)), - }, - }, - wantErr: true, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := ValidateUpdateProjectTemplateRequest(tt.req) - - if err == nil && tt.wantErr { - t.Errorf("expected error in ValidateUpdateProjectTemplateRequest() but got none") - } - - if err != nil && !tt.wantErr { - t.Errorf("ValidateUpdateProjectTemplateRequest() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} - -func TestValidateProjectTemplate(t *testing.T) { - tests := []struct { - name string - pt *pb.ProjectTemplate - wantErr bool - }{ - { - name: "Fine with empty values", - pt: &pb.ProjectTemplate{}, - wantErr: false, - }, - { - name: "If name is set, enforces length limits", - pt: &pb.ProjectTemplate{ - Name: string(make([]byte, PROJECT_TEMPLATE_NAME_LENGTH+1)), - }, - wantErr: true, - }, - { - name: "Validates nexted TFC-related lengths", - pt: &pb.ProjectTemplate{ - TerraformNocodeModule: &pb.ProjectTemplate_TerraformNocodeModule{ - Source: "", // Empty string shouldn't be allowed - Version: "0.0.1", - }, - }, - wantErr: true, - }, - { - name: "Tag lengths", - pt: &pb.ProjectTemplate{ - Tags: []string{string(make([]byte, PROJECT_TEMPLATE_TAG_LENGTH+1))}, - }, - wantErr: true, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := validation.ValidateStruct(tt.pt, validateProjectTemplateRules(tt.pt)...) - if err == nil && tt.wantErr { - t.Errorf("expected error in validation but got none") - } - if err != nil && !tt.wantErr { - t.Errorf("validation error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} diff --git a/pkg/server/ptypes/project_test.go b/pkg/server/ptypes/project_test.go index df97f44badd..ae81dffcdb5 100644 --- a/pkg/server/ptypes/project_test.go +++ b/pkg/server/ptypes/project_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/ref.go b/pkg/server/ptypes/ref.go index 17f91b7c390..cf71b3c6958 100644 --- a/pkg/server/ptypes/ref.go +++ b/pkg/server/ptypes/ref.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/release.go b/pkg/server/ptypes/release.go index 6f6334e9193..99a00d8bcca 100644 --- a/pkg/server/ptypes/release.go +++ b/pkg/server/ptypes/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/runner.go b/pkg/server/ptypes/runner.go index a11a5043b0f..26075ba0d73 100644 --- a/pkg/server/ptypes/runner.go +++ b/pkg/server/ptypes/runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/runner_test.go b/pkg/server/ptypes/runner_test.go index c476f0c05c2..5729bdf409c 100644 --- a/pkg/server/ptypes/runner_test.go +++ b/pkg/server/ptypes/runner_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/server_config.go b/pkg/server/ptypes/server_config.go index 59a06be81f1..4fdf80194d3 100644 --- a/pkg/server/ptypes/server_config.go +++ b/pkg/server/ptypes/server_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/server_config_test.go b/pkg/server/ptypes/server_config_test.go index 25a6ed0e911..e62e2b21234 100644 --- a/pkg/server/ptypes/server_config_test.go +++ b/pkg/server/ptypes/server_config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/status_report.go b/pkg/server/ptypes/status_report.go index 670dfef2793..19726d64bcf 100644 --- a/pkg/server/ptypes/status_report.go +++ b/pkg/server/ptypes/status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/task.go b/pkg/server/ptypes/task.go index fa17f866314..6a4bb84db4f 100644 --- a/pkg/server/ptypes/task.go +++ b/pkg/server/ptypes/task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/trigger.go b/pkg/server/ptypes/trigger.go index 12e9bc1c137..0d7f27e1bd3 100644 --- a/pkg/server/ptypes/trigger.go +++ b/pkg/server/ptypes/trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/user.go b/pkg/server/ptypes/user.go index 834f7fb258d..0227848b3d1 100644 --- a/pkg/server/ptypes/user.go +++ b/pkg/server/ptypes/user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/workspace.go b/pkg/server/ptypes/workspace.go index 77c2fed726a..3fb89bde073 100644 --- a/pkg/server/ptypes/workspace.go +++ b/pkg/server/ptypes/workspace.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/ptypes/workspace_test.go b/pkg/server/ptypes/workspace_test.go index f12c70d83af..2f03b8af571 100644 --- a/pkg/server/ptypes/workspace_test.go +++ b/pkg/server/ptypes/workspace_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package ptypes import ( diff --git a/pkg/server/server.go b/pkg/server/server.go index 9908592a370..29807ed2562 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server //go:generate sh -c "protoc -I../../thirdparty/proto/opaqueany -I../../thirdparty/proto/api-common-protos -I ../.. ../../pkg/server/proto/server.proto --go_out=../.. --go-grpc_out=../.. --go-json_out=../.. --swagger_out=logtostderr=true,fqn_for_swagger_name=true,grpc_api_configuration=./proto/gateway.yml:../.. --grpc-gateway_out ../.. --grpc-gateway_opt paths=source_relative --grpc-gateway_opt logtostderr=true --grpc-gateway_opt grpc_api_configuration=./proto/gateway.yml" diff --git a/pkg/server/singleprocess/auth.go b/pkg/server/singleprocess/auth.go index 25116a02aec..19719a9678e 100644 --- a/pkg/server/singleprocess/auth.go +++ b/pkg/server/singleprocess/auth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -344,7 +341,7 @@ func (s *Service) decodeToken(ctx context.Context, token string) (*pb.TokenTrans return nil, nil, errors.Wrapf(err, "failed to base58 decode token") } - if len(data) < len(tokenMagic) || subtle.ConstantTimeCompare(data[:len(tokenMagic)], []byte(tokenMagic)) != 1 { + if subtle.ConstantTimeCompare(data[:len(tokenMagic)], []byte(tokenMagic)) != 1 { return nil, nil, errors.Errorf("Failed to decode authentication token. " + "The magic string embedded in the token does not match what was expected. " + "This is likely due to the token string being an invalid auth token.") @@ -534,9 +531,6 @@ func (s *Service) GenerateRunnerToken( } decodedToken := s.decodedTokenFromContext(ctx) - if err := serverptypes.ValidateToken(decodedToken); err != nil { - return nil, errors.Wrapf(err, "invalid request token") - } switch k := decodedToken.Kind.(type) { case *pb.Token_Runner_: diff --git a/pkg/server/singleprocess/auth_test.go b/pkg/server/singleprocess/auth_test.go index 886a97ffe64..a94e5887501 100644 --- a/pkg/server/singleprocess/auth_test.go +++ b/pkg/server/singleprocess/auth_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/handler_test.go b/pkg/server/singleprocess/handler_test.go index cab29e9d4b0..10083d75f23 100644 --- a/pkg/server/singleprocess/handler_test.go +++ b/pkg/server/singleprocess/handler_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -31,18 +28,11 @@ func (o *OSSTestServerImpl) State(ctx context.Context) serverstate.Interface { // TestHandlers run the service handler tests that depend exclusively on the protobuf // interfaces. func TestHandlers(t *testing.T) { - // Tests that are relevant, but are known to be failing. - // It should be a priority to fix any test on this list. - knownFailingStateTests := []string{ - //Failing b/c UI_ListEvents in the service layer calls the state layer EventListBundles, which is not implemented in boltdb - "TestEvent", - } - handlertest.Test(t, func(t *testing.T) (pb.WaypointClient, handlertest.TestServerImpl) { impl := TestImpl(t) client := server.TestServer(t, impl) return client, &OSSTestServerImpl{service: impl.(*Service)} - }, knownFailingStateTests) + }, nil) } diff --git a/pkg/server/singleprocess/logstream.go b/pkg/server/singleprocess/logstream.go index df616d77112..81d65c6e322 100644 --- a/pkg/server/singleprocess/logstream.go +++ b/pkg/server/singleprocess/logstream.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/poll.go b/pkg/server/singleprocess/poll.go index 353418540ac..b26c09f2032 100644 --- a/pkg/server/singleprocess/poll.go +++ b/pkg/server/singleprocess/poll.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/poll_application.go b/pkg/server/singleprocess/poll_application.go index 001627622fe..7c39c9beb1e 100644 --- a/pkg/server/singleprocess/poll_application.go +++ b/pkg/server/singleprocess/poll_application.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/poll_project.go b/pkg/server/singleprocess/poll_project.go index 4fb702c8f3b..82c2bad0781 100644 --- a/pkg/server/singleprocess/poll_project.go +++ b/pkg/server/singleprocess/poll_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/poll_test.go b/pkg/server/singleprocess/poll_test.go index 0c11434f2fd..c16934688fe 100644 --- a/pkg/server/singleprocess/poll_test.go +++ b/pkg/server/singleprocess/poll_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/prune.go b/pkg/server/singleprocess/prune.go index 217db184317..1248def3f35 100644 --- a/pkg/server/singleprocess/prune.go +++ b/pkg/server/singleprocess/prune.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service.go b/pkg/server/singleprocess/service.go index 6bb3c5ff678..c2fc28ac4af 100644 --- a/pkg/server/singleprocess/service.go +++ b/pkg/server/singleprocess/service.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_artifact.go b/pkg/server/singleprocess/service_artifact.go index c09e39e264c..09c896fdd97 100644 --- a/pkg/server/singleprocess/service_artifact.go +++ b/pkg/server/singleprocess/service_artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_auth_method.go b/pkg/server/singleprocess/service_auth_method.go index 5f3235aea92..2c0fedc9ea6 100644 --- a/pkg/server/singleprocess/service_auth_method.go +++ b/pkg/server/singleprocess/service_auth_method.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_auth_oidc.go b/pkg/server/singleprocess/service_auth_oidc.go index fff5f884119..280aff7408f 100644 --- a/pkg/server/singleprocess/service_auth_oidc.go +++ b/pkg/server/singleprocess/service_auth_oidc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_build.go b/pkg/server/singleprocess/service_build.go index a5da935c305..a2ce5a714a6 100644 --- a/pkg/server/singleprocess/service_build.go +++ b/pkg/server/singleprocess/service_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_config.go b/pkg/server/singleprocess/service_config.go index eb5870028ed..ed4d4adc18b 100644 --- a/pkg/server/singleprocess/service_config.go +++ b/pkg/server/singleprocess/service_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_deploy.go b/pkg/server/singleprocess/service_deploy.go index 7d5a907b29d..8a54934f65c 100644 --- a/pkg/server/singleprocess/service_deploy.go +++ b/pkg/server/singleprocess/service_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -10,7 +7,6 @@ import ( "time" "github.com/hashicorp/waypoint/pkg/server/hcerr" - "github.com/hashicorp/waypoint/pkg/server/ptypes" "github.com/hashicorp/go-hclog" @@ -124,36 +120,6 @@ func setDeploymentUrlIfNeeded(d *pb.Deployment) { } } -func (s *Service) GetLatestDeployment( - ctx context.Context, - req *pb.GetLatestDeploymentRequest, -) (*pb.GetDeploymentResponse, error) { - if err := ptypes.ValidateGetLatestDeploymentRequest(req); err != nil { - return nil, err - } - - deployment, err := s.state(ctx).DeploymentLatest(ctx, req.Application, req.Workspace) - if err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "error getting latest deployment", - ) - } - - if err := s.deploymentPreloadDetails(ctx, req.LoadDetails, deployment); err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "error preloading deployment details", - ) - } - - return &pb.GetDeploymentResponse{ - Deployment: deployment, - }, nil -} - // GetDeployment returns a Deployment based on ID func (s *Service) GetDeployment( ctx context.Context, diff --git a/pkg/server/singleprocess/service_deploy_test.go b/pkg/server/singleprocess/service_deploy_test.go index a962f2f0d68..27432699158 100644 --- a/pkg/server/singleprocess/service_deploy_test.go +++ b/pkg/server/singleprocess/service_deploy_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_entrypoint.go b/pkg/server/singleprocess/service_entrypoint.go index d230ca545be..3958b1b1e91 100644 --- a/pkg/server/singleprocess/service_entrypoint.go +++ b/pkg/server/singleprocess/service_entrypoint.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -9,7 +6,6 @@ import ( "io" "strings" "sync/atomic" - "time" "github.com/hashicorp/go-hclog" "github.com/hashicorp/go-memdb" @@ -26,6 +22,7 @@ import ( "github.com/hashicorp/waypoint/pkg/serverstate" ) +// TODO: test func (s *Service) EntrypointConfig( req *pb.EntrypointConfigRequest, srv pb.Waypoint_EntrypointConfigServer, @@ -33,13 +30,6 @@ func (s *Service) EntrypointConfig( log := hclog.FromContext(srv.Context()) ctx := srv.Context() - // Validate CEB token is valid for this deployment - if tok := s.decodedTokenFromContext(ctx); tok != nil { - if tok.UnusedEntrypoint != nil && tok.UnusedEntrypoint.DeploymentId != req.DeploymentId { - return status.Errorf(codes.PermissionDenied, "entrypoint token invalid for this deployment ID: %s", req.DeploymentId) - } - } - // Fetch the deployment info so we can calculate the config variables to send. // This also verifies this deployment exists. deployment, err := s.GetDeployment(srv.Context(), &pb.GetDeploymentRequest{ @@ -88,9 +78,6 @@ func (s *Service) EntrypointConfig( iexec = nil } - // Save the state to use in the defer - state := s.state(ctx) - // Defer deleting this. // TODO(mitchellh): this is too aggressive and we want to have some grace // period for reconnecting clients. We should clean this up. @@ -98,14 +85,9 @@ func (s *Service) EntrypointConfig( // We want to close all our readers at the end of this defer record.LogBuffer.Close() - // We make a new context to process the instance delete since the parent - // context can be canceled and we still want to run this code. - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - // Delete the entrypoint first log.Trace("deleting entrypoint") - if err := state.InstanceDelete(ctx, record.Id); err != nil { + if err := s.state(ctx).InstanceDelete(ctx, record.Id); err != nil { log.Error("failed to delete instance data. This should not happen.", "err", err) } diff --git a/pkg/server/singleprocess/service_entrypoint_test.go b/pkg/server/singleprocess/service_entrypoint_test.go index 1d13f61bc2e..63911e80ca9 100644 --- a/pkg/server/singleprocess/service_entrypoint_test.go +++ b/pkg/server/singleprocess/service_entrypoint_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_exec.go b/pkg/server/singleprocess/service_exec.go index 91729c31a23..c60672bf1a5 100644 --- a/pkg/server/singleprocess/service_exec.go +++ b/pkg/server/singleprocess/service_exec.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_exec_test.go b/pkg/server/singleprocess/service_exec_test.go index c1af2b1f08c..b162e66d554 100644 --- a/pkg/server/singleprocess/service_exec_test.go +++ b/pkg/server/singleprocess/service_exec_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_hostname.go b/pkg/server/singleprocess/service_hostname.go index 2b418630864..61be5e6fa5e 100644 --- a/pkg/server/singleprocess/service_hostname.go +++ b/pkg/server/singleprocess/service_hostname.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_hostname_test.go b/pkg/server/singleprocess/service_hostname_test.go index 00657debbec..d68b3713383 100644 --- a/pkg/server/singleprocess/service_hostname_test.go +++ b/pkg/server/singleprocess/service_hostname_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_instance.go b/pkg/server/singleprocess/service_instance.go index 20b73e2b45c..033cdde8338 100644 --- a/pkg/server/singleprocess/service_instance.go +++ b/pkg/server/singleprocess/service_instance.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_job.go b/pkg/server/singleprocess/service_job.go index ad0521f640d..8b9dc107dc2 100644 --- a/pkg/server/singleprocess/service_job.go +++ b/pkg/server/singleprocess/service_job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -703,8 +700,6 @@ func (s *Service) GetJobStream( } log = log.With("job_id", job.Id) - log.Info("beginning job stream") - // We always send the open message as confirmation the job was found. if err := server.Send(&pb.GetJobStreamResponse{ Event: &pb.GetJobStreamResponse_Open_{ @@ -737,14 +732,12 @@ func (s *Service) GetJobStream( // Updated job, requery it ws = memdb.NewWatchSet() - - updatedJob, err := s.state(ctx).JobById(ctx, job.Id, ws) + job, err = s.state(ctx).JobById(ctx, job.Id, ws) if err != nil { log.Error("error acquiring job by id", "error", err, "id", req.JobId) errCh <- err return } - job = updatedJob if job == nil { errCh <- status.Errorf(codes.Internal, "job disappeared for ID: %s", req.JobId) return @@ -792,8 +785,6 @@ func (s *Service) GetJobStream( lastState = job.State cancelSent = canceling - - log.Info("job status changed", "status", lastState.String(), "canceling", cancelSent) } // If we have a data source ref set, then we need to send the download event. @@ -877,8 +868,6 @@ func (s *Service) GetJobStream( switch job.State { case pb.Job_SUCCESS, pb.Job_ERROR: - log.Info("job complete", "status", job.State.String()) - // TODO(mitchellh): we should drain the output buffer // Job is done. For success, error will be nil, so this diff --git a/pkg/server/singleprocess/service_logs.go b/pkg/server/singleprocess/service_logs.go index 0db19455ecb..d5cd720d543 100644 --- a/pkg/server/singleprocess/service_logs.go +++ b/pkg/server/singleprocess/service_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_ondemand_runner.go b/pkg/server/singleprocess/service_ondemand_runner.go index f23f38c9d21..510d0113624 100644 --- a/pkg/server/singleprocess/service_ondemand_runner.go +++ b/pkg/server/singleprocess/service_ondemand_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_pipeline.go b/pkg/server/singleprocess/service_pipeline.go index e598f87934d..29e8a084f17 100644 --- a/pkg/server/singleprocess/service_pipeline.go +++ b/pkg/server/singleprocess/service_pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -12,7 +9,6 @@ import ( "google.golang.org/protobuf/proto" "github.com/hashicorp/go-hclog" - "github.com/hashicorp/waypoint/internal/pkg/graph" "github.com/hashicorp/waypoint/pkg/server" pb "github.com/hashicorp/waypoint/pkg/server/gen" @@ -167,7 +163,7 @@ func (s *Service) RunPipeline( // Build out all of the queued job requests for running this pipeline's steps stepJobs, pipelineRun, stepIds, err := s.buildStepJobs(ctx, log, req, - make(map[string]interface{}), nodeToStepRef, make(map[string][]string), pipeline, pipelineRun, pipeline) + make(map[string]interface{}), nodeToStepRef, make(map[string][]string), pipeline, pipelineRun) if err != nil { return nil, hcerr.Externalize( log, @@ -282,7 +278,6 @@ func (s *Service) buildStepJobs( parentDep map[string][]string, pipeline *pb.Pipeline, pipelineRun *pb.PipelineRun, - rootPipeline *pb.Pipeline, ) ([]*pb.QueueJobRequest, *pb.PipelineRun, map[string]string, error) { if len(visitedPipelines) != 0 { // Determine if we've already visited this pipeline and included its jobs. @@ -365,12 +360,10 @@ func (s *Service) buildStepJobs( job.Id = stepIds[nodeId] job.DependsOn = append(job.DependsOn, dependsOn...) job.Pipeline = &pb.Ref_PipelineStep{ - PipelineId: pipeline.Id, - PipelineName: pipeline.Name, - Step: step.Name, - RootPipelineId: rootPipeline.Id, - RootPipelineName: rootPipeline.Name, - RunSequence: pipelineRun.Sequence, + PipelineId: pipeline.Id, + PipelineName: pipeline.Name, + Step: step.Name, + RunSequence: pipelineRun.Sequence, } // step has a specific workspace set, update the job to use that @@ -468,7 +461,7 @@ func (s *Service) buildStepJobs( parentStepDep := map[string][]string{pipeline.Id: job.DependsOn} embedJobs, embedRun, embedStepIds, err := s.buildStepJobs(ctx, log, req, - visitedPipelines, nodeStepRef, parentStepDep, embeddedPipeline, pipelineRun, rootPipeline) + visitedPipelines, nodeStepRef, parentStepDep, embeddedPipeline, pipelineRun) if err != nil { return nil, nil, nil, err } diff --git a/pkg/server/singleprocess/service_pipeline_run.go b/pkg/server/singleprocess/service_pipeline_run.go index 55df37c02ee..fa70b2a4280 100644 --- a/pkg/server/singleprocess/service_pipeline_run.go +++ b/pkg/server/singleprocess/service_pipeline_run.go @@ -1,13 +1,9 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( "context" "github.com/hashicorp/go-hclog" - pb "github.com/hashicorp/waypoint/pkg/server/gen" "github.com/hashicorp/waypoint/pkg/server/hcerr" serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" @@ -21,7 +17,7 @@ func (s *Service) ListPipelineRuns( return nil, err } - result, err := s.state(ctx).PipelineRunList(ctx, req.Pipeline, &pb.SortingRequest{}) + result, err := s.state(ctx).PipelineRunList(ctx, req.Pipeline) if err != nil { return nil, hcerr.Externalize( hclog.FromContext(ctx), diff --git a/pkg/server/singleprocess/service_pipeline_run_test.go b/pkg/server/singleprocess/service_pipeline_run_test.go index 84c445f470c..893e7a859f8 100644 --- a/pkg/server/singleprocess/service_pipeline_run_test.go +++ b/pkg/server/singleprocess/service_pipeline_run_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_pipeline_test.go b/pkg/server/singleprocess/service_pipeline_test.go index 069aedcecb8..e95d039ec82 100644 --- a/pkg/server/singleprocess/service_pipeline_test.go +++ b/pkg/server/singleprocess/service_pipeline_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -486,24 +483,6 @@ func TestServicePipeline_Run(t *testing.T) { // We should have all the job IDs require.Len(resp.JobMap, 6) require.Len(resp.AllJobIds, 6) - - // Jobs should have the correct Ref.PipelineStep info - for _, jobId := range resp.AllJobIds { - job, err := client.GetJob(ctx, &pb.GetJobRequest{JobId: jobId}) - require.NoError(err) - switch job.Pipeline.Step { - case "first", "second": - require.Equal("test", job.Pipeline.RootPipelineId) - require.Equal("test", job.Pipeline.RootPipelineName) - require.Equal("embed", job.Pipeline.PipelineId) - require.Equal("embed", job.Pipeline.PipelineName) - default: - require.Equal("test", job.Pipeline.RootPipelineId) - require.Equal("test", job.Pipeline.RootPipelineName) - require.Equal("test", job.Pipeline.PipelineId) - require.Equal("test", job.Pipeline.PipelineName) - } - } }) t.Run("runs a pipeline with embedded pipeline and workspace", func(t *testing.T) { diff --git a/pkg/server/singleprocess/service_project.go b/pkg/server/singleprocess/service_project.go index b31581c8122..84899686b23 100644 --- a/pkg/server/singleprocess/service_project.go +++ b/pkg/server/singleprocess/service_project.go @@ -1,15 +1,9 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( "context" - "fmt" "github.com/hashicorp/go-hclog" - "github.com/hashicorp/hcl/v2" - "github.com/hashicorp/hcl/v2/hclsyntax" empty "google.golang.org/protobuf/types/known/emptypb" @@ -37,13 +31,7 @@ func (s *Service) UpsertProject( ) } - if hasUsableWaypointHCL(result) { - proj, err := s.serverSideProjectInit(ctx, result) - if err != nil { - return nil, err // already externalized - } - result = proj - } else if projectNeedsRemoteInit(result) { + if projectNeedsRemoteInit(result) { // The project is connected to a data source but doesn’t use // automatic polling, so let’s queue some remote init operations // to ensure the application list is populated. @@ -275,56 +263,3 @@ func projectNeedsRemoteInit(project *pb.Project) bool { return true } - -// hasUsableWaypointHCL verifies that a project has waypoint.hcl contents -// of type HCL -func hasUsableWaypointHCL(project *pb.Project) bool { - return len(project.WaypointHcl) > 0 && project.WaypointHclFormat == pb.Hcl_HCL -} - -// serverSideProjectInit initializes a project that directly contains a waypoint.hcl. -// "init" currently consists of getting the list of apps on a project, and upserting each one. -// If the waypoint.hcl is not on the project but is in VCS, you must enqueue an init job -// rather than attempting a serverside init. -// Returns externalized errors -func (s *Service) serverSideProjectInit(ctx context.Context, project *pb.Project) (*pb.Project, error) { - if !hasUsableWaypointHCL(project) { - return nil, fmt.Errorf("cannot init a project without a stored waypoint.hcl with hcl type contents serverside") - } - file, _ := hclsyntax.ParseConfig(project.WaypointHcl, "", hcl.Pos{}) - content, _ := file.Body.Content(&hcl.BodySchema{ - Blocks: []hcl.BlockHeaderSchema{ - {Type: "app", LabelNames: []string{"name"}}, - }, - }) - projRef := &pb.Ref_Project{Project: project.Name} - - for _, b := range content.Blocks.ByType()["app"] { - name := b.Labels[0] - _, err := s.state(ctx).AppPut(ctx, &pb.Application{ - Project: projRef, - Name: name, - }) - if err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "failed to register app %q while creating project %q", - name, project.GetName(), - ) - } - } - - // Reload the project to populate the newly-added apps - result, err := s.state(ctx).ProjectGet(ctx, projRef) - if err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "failed to reload project %q", - project.GetName(), - ) - } - - return result, nil -} diff --git a/pkg/server/singleprocess/service_release.go b/pkg/server/singleprocess/service_release.go index 803e0547566..c16e446524d 100644 --- a/pkg/server/singleprocess/service_release.go +++ b/pkg/server/singleprocess/service_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_runner.go b/pkg/server/singleprocess/service_runner.go index 491ff672828..b25b04dcd01 100644 --- a/pkg/server/singleprocess/service_runner.go +++ b/pkg/server/singleprocess/service_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -335,19 +332,14 @@ func (s *Service) RunnerConfig( // Create our record log = log.With("runner_id", record.Id) log.Trace("registering runner") - if err := s.state(ctx).RunnerCreate(ctx, record); err != nil { return hcerr.Externalize(log, err, "failed to create runner", "id", record.Id) } - state := s.state(ctx) // Mark the runner as offline if they disconnect from the config stream loop. defer func() { log.Trace("marking runner as offline") - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - - if err := state.RunnerOffline(ctx, record.Id); err != nil { + if err := s.state(ctx).RunnerOffline(ctx, record.Id); err != nil { log.Error("failed to mark runner as offline. This should not happen.", "err", err) } }() @@ -376,7 +368,7 @@ func (s *Service) RunnerConfig( for { _, err := srv.Recv() if err != nil { - if err != io.EOF && err != context.Canceled { + if err != io.EOF { log.Warn("unknown error from recvmsg", "err", err) } @@ -513,21 +505,6 @@ func (s *Service) RunnerConfig( } } -func runnerKind(runner *pb.Runner) string { - switch runner.Kind.(type) { - case *pb.Runner_Remote_: - return "remote" - case *pb.Runner_Local_: - return "local" - case *pb.Runner_Odr: - return "odr" - case *pb.Runner_DeprecatedIsOdr: - return "deprecated-is-odr" - default: - return "unknown" - } -} - func (s *Service) RunnerJobStream( server pb.Waypoint_RunnerJobStreamServer, ) error { @@ -561,7 +538,7 @@ func (s *Service) RunnerJobStream( if err != nil { return hcerr.Externalize(log, err, "failed to get this runner", "id", runnerId) } - log = log.With("runner_id", reqEvent.Request.RunnerId, "runner_type", runnerKind(runner)) + log = log.With("runner_id", reqEvent.Request.RunnerId) // The runner must be adopted to get a job. if runner.AdoptionState != pb.Runner_ADOPTED && @@ -631,8 +608,6 @@ func (s *Service) RunnerJobStream( log.Info("waiting for job assignment") job, err = s.state(ctx).JobAssignForRunner(ctx, runner) if err != nil { - // TODO don't report this as an error in the logs if ctx is canceled, because - // we stopped looking for a job when the context is canceled. return hcerr.Externalize(log, err, "failed to get job assignment for runner") } jobId = job.Id @@ -642,14 +617,6 @@ func (s *Service) RunnerJobStream( } log = log.With("job_id", jobId) - operation := operationString(job.Job) - defer func(start time.Time) { - metrics.MeasureOperation(ctx, start, operation) - }(time.Now()) - metrics.CountOperation(ctx, operation) - - log.Info("received job", "operation", operation) - // Load config sourcers to send along with the job assignment cfgSrcs, err := s.state(ctx).ConfigSourceGetWatch(ctx, &pb.GetConfigSourceRequest{ Scope: &pb.GetConfigSourceRequest_Application{ @@ -663,6 +630,12 @@ func (s *Service) RunnerJobStream( log.Trace("loaded config sources for job", "total_sourcers", len(cfgSrcs)) log.Debug("sending job assignment to runner") + + operation := operationString(job.Job) + defer func(start time.Time) { + metrics.MeasureOperation(ctx, start, operation) + }(time.Now()) + metrics.CountOperation(ctx, operation) // Send the job assignment. // // If this has an error, we continue to accumulate the error until @@ -745,11 +718,7 @@ func (s *Service) RunnerJobStream( if err != nil { return hcerr.Externalize(log, err, "failed to ack the job or the job was cancelled", "id", jobId) } - - if ack { - log.Info("runner as acknowledge the job") - } else { - log.Info("runner rejected the job") + if !ack { // If runners don't ack the job, this means close the stream return nil } @@ -774,25 +743,19 @@ func (s *Service) RunnerJobStream( go func() { for { ws := memdb.NewWatchSet() - checkJob, err := s.state(ctx).JobById(ctx, jobId, ws) + job, err = s.state(ctx).JobById(ctx, jobId, ws) if err != nil { - // if the context was canceled, we're all good, we're supposed to just exit. - // It's critically important we don't put something on errCh here because - // it can cause a job that finished fine to error out mistakenly. - if err == context.Canceled { - return - } errCh <- errors.Wrapf(err, "error getting job by id from state %q", jobId) return } - if checkJob == nil { + if job == nil { errCh <- status.Errorf(codes.Internal, "failed to find job for id %q", jobId) return } // Send the job select { - case jobCh <- checkJob: + case jobCh <- job: case <-ctx.Done(): return } @@ -852,82 +815,92 @@ func (s *Service) RunnerJobStream( } }() - // This is wrapped in a closure so that we can easily capture the error return value - err = func() error { - - // Recv events in a loop - var lastJob *pb.Job - - for { - select { - case <-ctx.Done(): - // We need to drain the event channel - for { - select { - case req := <-eventCh: - if err := s.handleJobStreamRequest(log, job, server, req, logStreamWriter); err != nil { - return hcerr.Externalize(log, err, "error handling job stream request during drain", "req", req) - } - default: - return nil + // Recv events in a loop + var lastJob *pb.Job + for { + select { + case <-ctx.Done(): + // We need to drain the event channel + for { + select { + case req := <-eventCh: + if err := s.handleJobStreamRequest(log, job, server, req, logStreamWriter); err != nil { + return hcerr.Externalize(log, err, "error handling job stream request during drain", "req", req) } + default: + return nil } + } - case err := <-errCh: - return hcerr.Externalize(log, err, "err from err channel") + case err := <-errCh: + return hcerr.Externalize(log, err, "err from err channel") - case req := <-eventCh: - if err := s.handleJobStreamRequest(log, job, server, req, logStreamWriter); err != nil { - return hcerr.Externalize(log, err, "error handling job stream request", "req", req) - } + case req := <-eventCh: + if job == nil { + select { + case err := <-errCh: + // NOTE(briancain): In this case, it means we've received an event from + // the event channel, however `job` was nil, and `err` was not. This + // means we received an error trying to retrieve a job by Id and need + // to properly handle that. + log.Error("Job disappeared and there was an error while processing job event", "error", err, "event", req) + + // Attempt to complete job with original jobId so that the original + // job Id isn't left hanging in a Running state. We also send through + // the error to give to the job details for why it's Errored. + if err := s.state(ctx).JobComplete(ctx, jobId, nil, err); err != nil { + return hcerr.Externalize(log, err, + "failed to complete job while failing to process job event", + "id", jobId, + "event_request", req) + } - case updatedJob := <-jobCh: - if lastJob == updatedJob.Job { - continue + return hcerr.Externalize(log, err, "failed to process job event", "event_request", req) + default: } + } + if err := s.handleJobStreamRequest(log, job, server, req, logStreamWriter); err != nil { + return hcerr.Externalize(log, err, "error handling job stream request", "req", req) + } - // If the job is canceled, send that event. We send this each time - // the cancel time changes. The cancel time only changes if multiple - // cancel requests are made. - if updatedJob.CancelTime != nil && - (lastJob == nil || !lastJob.CancelTime.AsTime().Equal(updatedJob.CancelTime.AsTime())) { - log.Trace("job cancellation request received") - - // The job is forced if we're in an error state. This must be true - // because we would've already exited the loop if we naturally - // got a terminal event. - force := updatedJob.State == pb.Job_ERROR - - err := server.Send(&pb.RunnerJobStreamResponse{ - Event: &pb.RunnerJobStreamResponse_Cancel{ - Cancel: &pb.RunnerJobStreamResponse_JobCancel{ - Force: force, - }, - }, - }) - if err != nil { - return hcerr.Externalize(log, err, "error sending job cancel event to runner") - } + case job := <-jobCh: + if lastJob == job.Job { + continue + } - // On force we exit immediately. - if force { - return nil - } + // If the job is canceled, send that event. We send this each time + // the cancel time changes. The cancel time only changes if multiple + // cancel requests are made. + if job.CancelTime != nil && + (lastJob == nil || !lastJob.CancelTime.AsTime().Equal(job.CancelTime.AsTime())) { + log.Trace("job cancellation request received") + + // The job is forced if we're in an error state. This must be true + // because we would've already exited the loop if we naturally + // got a terminal event. + force := job.State == pb.Job_ERROR + + err := server.Send(&pb.RunnerJobStreamResponse{ + Event: &pb.RunnerJobStreamResponse_Cancel{ + Cancel: &pb.RunnerJobStreamResponse_JobCancel{ + Force: force, + }, + }, + }) + if err != nil { + return hcerr.Externalize(log, err, "error sending job cancel event to runner") } - log.Trace("updating job from state store", "last_job", lastJob, "job", updatedJob.Job) - lastJob = updatedJob.Job + // On force we exit immediately. + if force { + return nil + } } - } - }() - if err != nil { - log.Info("job processing complete with error") - } else { - log.Info("job processing complete") + log.Trace("updating job from state store", "last_job", lastJob, "job", job.Job) + lastJob = job.Job + } } - - return err } func (s *Service) handleJobStreamRequest( @@ -948,7 +921,6 @@ func (s *Service) handleJobStreamRequest( if err := s.state(ctx).JobComplete(ctx, job.Id, event.Complete.Result, nil); err != nil { return hcerr.Externalize(log, err, "failed to complete job", "id", job.Id) } - log.Info("job completed properly") case *pb.RunnerJobStreamRequest_Error_: var remoteError error @@ -962,7 +934,6 @@ func (s *Service) handleJobStreamRequest( if err := s.state(ctx).JobComplete(ctx, job.Id, nil, remoteError); err != nil { return hcerr.Externalize(log, err, "failed to complete job", "id", job.Id) } - log.Info("job completed with error", "error", remoteError) case *pb.RunnerJobStreamRequest_Heartbeat_: if err := s.state(ctx).JobHeartbeat(ctx, job.Id); err != nil { return hcerr.Externalize(log, err, "job heartbeat failed", "id", job.Id) diff --git a/pkg/server/singleprocess/service_runner_test.go b/pkg/server/singleprocess/service_runner_test.go index 3e5f96e7356..84fa770279f 100644 --- a/pkg/server/singleprocess/service_runner_test.go +++ b/pkg/server/singleprocess/service_runner_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_server.go b/pkg/server/singleprocess/service_server.go index c7ad93a8bad..420febefcf4 100644 --- a/pkg/server/singleprocess/service_server.go +++ b/pkg/server/singleprocess/service_server.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_server_test.go b/pkg/server/singleprocess/service_server_test.go index 99dda7941ee..02b35a9ac41 100644 --- a/pkg/server/singleprocess/service_server_test.go +++ b/pkg/server/singleprocess/service_server_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_snapshot.go b/pkg/server/singleprocess/service_snapshot.go index 0cfc4c7bd37..7f9a75eee62 100644 --- a/pkg/server/singleprocess/service_snapshot.go +++ b/pkg/server/singleprocess/service_snapshot.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_snapshot_test.go b/pkg/server/singleprocess/service_snapshot_test.go index 9d35718cbc4..6642badc8b0 100644 --- a/pkg/server/singleprocess/service_snapshot_test.go +++ b/pkg/server/singleprocess/service_snapshot_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_status_report.go b/pkg/server/singleprocess/service_status_report.go index b0221fff0c7..1236c2b48a7 100644 --- a/pkg/server/singleprocess/service_status_report.go +++ b/pkg/server/singleprocess/service_status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_task.go b/pkg/server/singleprocess/service_task.go index b742385d2ac..d6a8c05c6ea 100644 --- a/pkg/server/singleprocess/service_task.go +++ b/pkg/server/singleprocess/service_task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_task_test.go b/pkg/server/singleprocess/service_task_test.go index 85b948c46bc..41806a4485e 100644 --- a/pkg/server/singleprocess/service_task_test.go +++ b/pkg/server/singleprocess/service_task_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_test.go b/pkg/server/singleprocess/service_test.go index 87785b05036..72f41417b82 100644 --- a/pkg/server/singleprocess/service_test.go +++ b/pkg/server/singleprocess/service_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_trigger.go b/pkg/server/singleprocess/service_trigger.go index 79e60fafcb1..99a054755bf 100644 --- a/pkg/server/singleprocess/service_trigger.go +++ b/pkg/server/singleprocess/service_trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_ui_deploy.go b/pkg/server/singleprocess/service_ui_deploy.go index c680e33d3d6..e3175205ab2 100644 --- a/pkg/server/singleprocess/service_ui_deploy.go +++ b/pkg/server/singleprocess/service_ui_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_ui_event.go b/pkg/server/singleprocess/service_ui_event.go deleted file mode 100644 index c04ccf4bdb2..00000000000 --- a/pkg/server/singleprocess/service_ui_event.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package singleprocess - -import ( - "context" - "github.com/hashicorp/go-hclog" - pb "github.com/hashicorp/waypoint/pkg/server/gen" - "github.com/hashicorp/waypoint/pkg/server/hcerr" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -func (s *Service) UI_ListEvents( - ctx context.Context, - req *pb.UI_ListEventsRequest, -) (*pb.UI_ListEventsResponse, error) { - if err := serverptypes.ValidateUIListEventsRequest(req); err != nil { - return nil, err - } - - eventBundles, pagination, err := s.state(ctx).EventListBundles(ctx, req) - if err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "failed to list events", - ) - } - - return &pb.UI_ListEventsResponse{ - Events: eventBundles, - Pagination: pagination, - }, nil -} diff --git a/pkg/server/singleprocess/service_ui_pipeline.go b/pkg/server/singleprocess/service_ui_pipeline.go deleted file mode 100644 index 94c4fa8c23e..00000000000 --- a/pkg/server/singleprocess/service_ui_pipeline.go +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package singleprocess - -import ( - "context" - "fmt" - - "github.com/hashicorp/go-hclog" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" - "github.com/hashicorp/waypoint/pkg/server/hcerr" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -// UI_ListPipelines returns pipelines for a given project. While paginating is -// part of the request, this doesn't yet support pagination and will return -// everything every time. -func (s *Service) UI_ListPipelines( - ctx context.Context, - req *pb.UI_ListPipelinesRequest, -) (*pb.UI_ListPipelinesResponse, error) { - log := hclog.FromContext(ctx) - - if err := serverptypes.ValidateUIListPipelinesRequest(req); err != nil { - return nil, err - } - - // Create uninitialized array of pipeline bundles - var allPipelines []*pb.UI_PipelineBundle - - // Get list of all pipelines - pipelineListResponse, err := s.state(ctx).PipelineList(ctx, req.Project) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "error listing pipelines", - ) - } - - // Create bundles - for _, pipeline := range pipelineListResponse { - // Get the last run - pipelineLastRun, err := s.state(ctx).PipelineRunGetLatest(ctx, pipeline.Id) - if err != nil && status.Code(err) != codes.NotFound { - return nil, hcerr.Externalize( - log, - err, - "failed to find latest pipeline run", - ) - } - var lastRunBundle *pb.UI_PipelineRunBundle - if pipelineLastRun != nil { - if len(pipelineLastRun.Jobs) != 0 { - job, err := s.GetJob(ctx, &pb.GetJobRequest{ - JobId: pipelineLastRun.Jobs[0].Id, - }) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "failed to get first job for latest pipeline run", - ) - } - lastRunBundle = &pb.UI_PipelineRunBundle{ - PipelineRun: pipelineLastRun, - QueueTime: job.QueueTime, - Application: job.Application, - } - } else { - return nil, hcerr.Externalize( - log, - fmt.Errorf("pipeline run sequence %q contained no jobs", pipelineLastRun.Sequence), - "pipeline run has no jobs", - "pipeline run sequence", pipelineLastRun.Sequence, - ) - } - - } - - pipelineBundle := &pb.UI_PipelineBundle{ - Pipeline: pipeline, - LastRun: lastRunBundle, - } - // Add pipeline bundle to uninitialized array - allPipelines = append(allPipelines, pipelineBundle) - - } - - // Return the array - return &pb.UI_ListPipelinesResponse{ - Pipelines: allPipelines, - Pagination: &pb.PaginationResponse{}, - }, nil -} diff --git a/pkg/server/singleprocess/service_ui_pipeline_run.go b/pkg/server/singleprocess/service_ui_pipeline_run.go deleted file mode 100644 index f0300f882ed..00000000000 --- a/pkg/server/singleprocess/service_ui_pipeline_run.go +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package singleprocess - -import ( - "context" - "time" - - "github.com/hashicorp/go-hclog" - - "github.com/hashicorp/waypoint/internal/telemetry/metrics" - pb "github.com/hashicorp/waypoint/pkg/server/gen" - "github.com/hashicorp/waypoint/pkg/server/hcerr" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -// UI_ListPipelineRuns returns pipeline runs for a given pipeline. While paginating is -// part of the request, this doesn't yet support pagination and will return -// everything every time. -func (s *Service) UI_ListPipelineRuns( - ctx context.Context, - req *pb.UI_ListPipelineRunsRequest, -) (*pb.UI_ListPipelineRunsResponse, error) { - log := hclog.FromContext(ctx) - - if err := serverptypes.ValidateUIListPipelineRunsRequest(req); err != nil { - return nil, err - } - - // Create uninitialized array of pipeline run bundles - var allPipelineRuns []*pb.UI_PipelineRunBundle - - // Get list of all pipeline runs - pipelineRunListResponse, err := s.state(ctx).PipelineRunList( - ctx, - req.Pipeline, - &pb.SortingRequest{OrderBy: []string{"sequence desc"}}, - ) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "error listing piplines", - ) - } - - // Create bundles - var pipelineRunBundle *pb.UI_PipelineRunBundle - for _, pipelineRun := range pipelineRunListResponse { - if len(pipelineRun.Jobs) != 0 { - job, err := s.GetJob(ctx, &pb.GetJobRequest{ - JobId: pipelineRun.Jobs[0].Id, - }) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "failed to get first job for latest pipeline run", - ) - } - pipelineRunBundle = &pb.UI_PipelineRunBundle{ - PipelineRun: pipelineRun, - QueueTime: job.QueueTime, - Application: job.Application, - DataSourceRef: job.DataSourceRef, - } - } - - // Add pipeline bundle to uninitialized array - allPipelineRuns = append(allPipelineRuns, pipelineRunBundle) - - } - - // Return the array - return &pb.UI_ListPipelineRunsResponse{ - PipelineRunBundles: allPipelineRuns, - Pagination: &pb.PaginationResponse{}, - }, nil -} - -func (s *Service) UI_GetPipelineRun( - ctx context.Context, - req *pb.UI_GetPipelineRunRequest, -) (*pb.UI_GetPipelineRunResponse, error) { - log := hclog.FromContext(ctx) - - if err := serverptypes.ValidateUIGetPipelineRunRequest(req); err != nil { - return nil, err - } - - runResp, err := s.GetPipelineRun(ctx, &pb.GetPipelineRunRequest{ - Pipeline: req.Pipeline, - Sequence: req.Sequence, - }) - if err != nil { - return nil, err - } - run := runResp.PipelineRun - - // Fetch full jobs - start := time.Now() - var jobs []*pb.Job - for _, ref := range run.Jobs { - job, err := s.GetJob(ctx, &pb.GetJobRequest{JobId: ref.Id}) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "failed to get jobs for all pipeline steps", - ) - } - jobs = append(jobs, job) - } - metrics.MeasureOperation(ctx, start, "fetch_jobs_for_ui_get_pipeline_run") - - // Fetch latest status report for every deployment and release - start = time.Now() - var statusReports []*pb.StatusReport - for _, job := range jobs { - if d := job.Result.GetDeploy().GetDeployment(); d != nil { - sr, err := s.GetLatestStatusReport(ctx, &pb.GetLatestStatusReportRequest{ - Application: d.Application, - Workspace: d.Workspace, - Target: &pb.GetLatestStatusReportRequest_DeploymentId{ - DeploymentId: d.Id, - }, - }) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "failed to get latest status report for deployment %q", - d.Id, - ) - } - if sr != nil { - statusReports = append(statusReports, sr) - } - } - if r := job.Result.GetRelease().GetRelease(); r != nil { - sr, err := s.GetLatestStatusReport(ctx, &pb.GetLatestStatusReportRequest{ - Application: r.Application, - Workspace: r.Workspace, - Target: &pb.GetLatestStatusReportRequest_ReleaseId{ - ReleaseId: r.Id, - }, - }) - if err != nil { - return nil, hcerr.Externalize( - log, - err, - "failed to get latest status report for release %q", - r.Id, - ) - } - if sr != nil { - statusReports = append(statusReports, sr) - } - } - } - metrics.MeasureOperation(ctx, start, "fetch_latest_status_reports_for_ui_get_pipeline_run") - - runBundle := &pb.UI_PipelineRunBundle{ - PipelineRun: run, - } - if len(jobs) > 0 { - j := jobs[0] - runBundle.Application = j.Application - runBundle.DataSourceRef = j.DataSourceRef - runBundle.QueueTime = j.QueueTime - } - - rootNode, err := serverptypes.UI_PipelineRunTreeFromJobs(jobs, statusReports) - if err != nil { - return nil, err - } - - return &pb.UI_GetPipelineRunResponse{ - PipelineRunBundle: runBundle, - RootTreeNode: rootNode, - }, nil -} diff --git a/pkg/server/singleprocess/service_ui_project.go b/pkg/server/singleprocess/service_ui_project.go index 22e64e103d0..cebadbb1484 100644 --- a/pkg/server/singleprocess/service_ui_project.go +++ b/pkg/server/singleprocess/service_ui_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( @@ -72,22 +69,8 @@ func (s *Service) UI_GetProject( ) } - var projectTemplate *pb.ProjectTemplate - if project.ProjectTemplate != nil { - t, err := s.state(ctx).GetProjectTemplate(ctx, project.ProjectTemplate) - if err != nil { - return nil, hcerr.Externalize( - hclog.FromContext(ctx), - err, - "error getting template for project", - ) - } - projectTemplate = t - } - return &pb.UI_GetProjectResponse{ - Project: project, - LatestInitJob: latestInitJob, - ProjectTemplate: projectTemplate, + Project: project, + LatestInitJob: latestInitJob, }, nil } diff --git a/pkg/server/singleprocess/service_ui_release.go b/pkg/server/singleprocess/service_ui_release.go index e56cae1f82c..3d7a17d30e5 100644 --- a/pkg/server/singleprocess/service_ui_release.go +++ b/pkg/server/singleprocess/service_ui_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_url.go b/pkg/server/singleprocess/service_url.go index 398a5757631..58198da1624 100644 --- a/pkg/server/singleprocess/service_url.go +++ b/pkg/server/singleprocess/service_url.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_url_test.go b/pkg/server/singleprocess/service_url_test.go index 73cb97578de..fe1b44f9571 100644 --- a/pkg/server/singleprocess/service_url_test.go +++ b/pkg/server/singleprocess/service_url_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_user.go b/pkg/server/singleprocess/service_user.go index c73dbd66dab..b742d76da40 100644 --- a/pkg/server/singleprocess/service_user.go +++ b/pkg/server/singleprocess/service_user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_version.go b/pkg/server/singleprocess/service_version.go index 26a43c8cf53..32ccbced892 100644 --- a/pkg/server/singleprocess/service_version.go +++ b/pkg/server/singleprocess/service_version.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_waypointhcl.go b/pkg/server/singleprocess/service_waypointhcl.go index accd26d1dbc..f464db6f105 100644 --- a/pkg/server/singleprocess/service_waypointhcl.go +++ b/pkg/server/singleprocess/service_waypointhcl.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/service_workspace.go b/pkg/server/singleprocess/service_workspace.go index 65156940bbb..6de1c066e1b 100644 --- a/pkg/server/singleprocess/service_workspace.go +++ b/pkg/server/singleprocess/service_workspace.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/singleprocess/testing.go b/pkg/server/singleprocess/testing.go index 2e060904f2e..88ba75d61d3 100644 --- a/pkg/server/singleprocess/testing.go +++ b/pkg/server/singleprocess/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package singleprocess import ( diff --git a/pkg/server/sort/artifact.go b/pkg/server/sort/artifact.go index 229330e9543..6eb734f1f4e 100644 --- a/pkg/server/sort/artifact.go +++ b/pkg/server/sort/artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/sort/build.go b/pkg/server/sort/build.go index e948c50a096..5d64519cd32 100644 --- a/pkg/server/sort/build.go +++ b/pkg/server/sort/build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/sort/config.go b/pkg/server/sort/config.go index eb95520522e..dd6004209eb 100644 --- a/pkg/server/sort/config.go +++ b/pkg/server/sort/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/sort/config_source.go b/pkg/server/sort/config_source.go index dded615a46e..aa4ee2ca2cb 100644 --- a/pkg/server/sort/config_source.go +++ b/pkg/server/sort/config_source.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/sort/deploy.go b/pkg/server/sort/deploy.go index 51ecc8b38f1..b73a44fd8fd 100644 --- a/pkg/server/sort/deploy.go +++ b/pkg/server/sort/deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/sort/release.go b/pkg/server/sort/release.go index 27fdf890b8a..00eaecd22bb 100644 --- a/pkg/server/sort/release.go +++ b/pkg/server/sort/release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package sort import ( diff --git a/pkg/server/status.go b/pkg/server/status.go index 150af4ee966..60a2044e63e 100644 --- a/pkg/server/status.go +++ b/pkg/server/status.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/server/testing.go b/pkg/server/testing.go index d5419fd9b12..077b96284aa 100644 --- a/pkg/server/testing.go +++ b/pkg/server/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package server import ( diff --git a/pkg/serverclient/client.go b/pkg/serverclient/client.go index dca7279938d..5e5f957ec80 100644 --- a/pkg/serverclient/client.go +++ b/pkg/serverclient/client.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverclient import ( diff --git a/pkg/serverclient/client_test.go b/pkg/serverclient/client_test.go index 9567a5b034b..1c83bbe8d59 100644 --- a/pkg/serverclient/client_test.go +++ b/pkg/serverclient/client_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverclient import ( diff --git a/pkg/serverclient/doc.go b/pkg/serverclient/doc.go index 2ec4550254c..3e84f1543cb 100644 --- a/pkg/serverclient/doc.go +++ b/pkg/serverclient/doc.go @@ -1,5 +1,2 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package serverclient contains helpers for the server API client. package serverclient diff --git a/pkg/serverconfig/config.go b/pkg/serverconfig/config.go index cb84c802393..46c7084278a 100644 --- a/pkg/serverconfig/config.go +++ b/pkg/serverconfig/config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverconfig import ( diff --git a/pkg/serverconfig/config_test.go b/pkg/serverconfig/config_test.go index d830878c313..e8b6cc09e5e 100644 --- a/pkg/serverconfig/config_test.go +++ b/pkg/serverconfig/config_test.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverconfig import ( diff --git a/pkg/serverconfig/doc.go b/pkg/serverconfig/doc.go index 2c044c0a198..33c0dff56ff 100644 --- a/pkg/serverconfig/doc.go +++ b/pkg/serverconfig/doc.go @@ -1,4 +1 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverconfig diff --git a/pkg/serverhandler/doc.go b/pkg/serverhandler/doc.go index 63ae2faee91..705baacd9f7 100644 --- a/pkg/serverhandler/doc.go +++ b/pkg/serverhandler/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package serverstate exports the verification harness for // implementing a new waypoint server protobuf (i.e. pb.WaypointServer) // implementations. diff --git a/pkg/serverhandler/handlertest/doc.go b/pkg/serverhandler/handlertest/doc.go index 5eccbaf2c8b..23f785cc8da 100644 --- a/pkg/serverhandler/handlertest/doc.go +++ b/pkg/serverhandler/handlertest/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package handlertest has a test suite for validating implementations of the // pb.WaypointService interface. This must only be imported in "_test.go" // files in other packages. diff --git a/pkg/serverhandler/handlertest/handlertest.go b/pkg/serverhandler/handlertest/handlertest.go index 54e41717436..c540dcc3ed7 100644 --- a/pkg/serverhandler/handlertest/handlertest.go +++ b/pkg/serverhandler/handlertest/handlertest.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_artifact.go b/pkg/serverhandler/handlertest/test_service_artifact.go index 81358eb87af..1f13f3d5091 100644 --- a/pkg/serverhandler/handlertest/test_service_artifact.go +++ b/pkg/serverhandler/handlertest/test_service_artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_auth_method.go b/pkg/serverhandler/handlertest/test_service_auth_method.go index 654f7d3b270..4fa5d729fd4 100644 --- a/pkg/serverhandler/handlertest/test_service_auth_method.go +++ b/pkg/serverhandler/handlertest/test_service_auth_method.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_auth_oidc.go b/pkg/serverhandler/handlertest/test_service_auth_oidc.go index 5675311577b..5ec9e730e59 100644 --- a/pkg/serverhandler/handlertest/test_service_auth_oidc.go +++ b/pkg/serverhandler/handlertest/test_service_auth_oidc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_build.go b/pkg/serverhandler/handlertest/test_service_build.go index d5ac447a22b..031f2c35018 100644 --- a/pkg/serverhandler/handlertest/test_service_build.go +++ b/pkg/serverhandler/handlertest/test_service_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_config.go b/pkg/serverhandler/handlertest/test_service_config.go index 6d85a330870..9096bb25697 100644 --- a/pkg/serverhandler/handlertest/test_service_config.go +++ b/pkg/serverhandler/handlertest/test_service_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_deploy.go b/pkg/serverhandler/handlertest/test_service_deploy.go index ab2a813122f..5f2d07b44d0 100644 --- a/pkg/serverhandler/handlertest/test_service_deploy.go +++ b/pkg/serverhandler/handlertest/test_service_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( @@ -20,7 +17,6 @@ func init() { tests["deploy"] = []testFunc{ TestServiceDeployment, TestServiceDeployment_GetDeployment, - TestServiceDeployment_GetLatestDeployment, TestServiceDeployment_ListDeployments, } } @@ -37,18 +33,9 @@ func TestServiceDeployment(t *testing.T, factory Factory) { t.Run("create and update", func(t *testing.T) { require := require.New(t) - artifact := serverptypes.TestValidArtifact(t, nil) - - artifactresp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - - dep := serverptypes.TestValidDeployment(t, nil) - dep.ArtifactId = artifactresp.Artifact.Id - // Create, should get an ID back resp, err := client.UpsertDeployment(ctx, &Req{ - Deployment: dep, + Deployment: serverptypes.TestValidDeployment(t, nil), }) require.NoError(err) require.NotNil(resp) @@ -90,17 +77,9 @@ func TestServiceDeployment_GetDeployment(t *testing.T, factory Factory) { // Create our server client, _ := factory(t) - artifact := serverptypes.TestValidArtifact(t, nil) - - artifactresp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - - dep := serverptypes.TestValidDeployment(t, nil) - dep.ArtifactId = artifactresp.Artifact.Id // Best way to mock for now is to make a request resp, err := client.UpsertDeployment(ctx, &pb.UpsertDeploymentRequest{ - Deployment: dep, + Deployment: serverptypes.TestValidDeployment(t, nil), }) require.NoError(t, err) @@ -139,76 +118,6 @@ func TestServiceDeployment_GetDeployment(t *testing.T, factory Factory) { }) } -func TestServiceDeployment_GetLatestDeployment(t *testing.T, factory Factory) { - ctx := context.Background() - - // Create our server - client, _ := factory(t) - - var application *pb.Ref_Application - var workspace *pb.Ref_Workspace - - var latestSuccessfulDepResp *pb.UpsertDeploymentResponse - // Upsert some deployments - depNum := []int{1, 2, 3} - for index := range depNum { - buildresp, err := client.UpsertBuild(ctx, &pb.UpsertBuildRequest{ - Build: serverptypes.TestValidBuild(t, nil), - }) - require.NoError(t, err) - require.NotNil(t, buildresp) - - build := buildresp.Build - - artifact := serverptypes.TestValidArtifact(t, nil) - artifact.BuildId = build.Id - - artifactresp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - require.NoError(t, err) - require.NotNil(t, artifactresp) - - dep := serverptypes.TestValidDeployment(t, nil) - dep.ArtifactId = artifactresp.Artifact.Id - if index == len(depNum)-1 { // make latest deployment a failed one - dep.Status.State = pb.Status_ERROR - dep.Status.Error = status.New(codes.Internal, "test failed deployment").Proto() - } - - // Best way to mock for now is to make a request - resp, err := client.UpsertDeployment(ctx, &pb.UpsertDeploymentRequest{ - Deployment: dep, - }) - - require.NoError(t, err) - - // set latest successful deployment response - if resp.Deployment.Status.State == pb.Status_SUCCESS { - latestSuccessfulDepResp = resp - } - application = resp.Deployment.Application - workspace = resp.Deployment.Workspace - } - - // Simplify writing tests - type Req = pb.GetLatestDeploymentRequest - - t.Run("get latest", func(t *testing.T) { - require := require.New(t) - - latestDeploymentResponse, err := client.GetLatestDeployment(ctx, &Req{ - Application: application, - Workspace: workspace, - }) - - // GetLatest, should return the latest successful deployment - require.NoError(err) - require.NotEmpty(latestDeploymentResponse) - require.Equal(latestDeploymentResponse.Deployment.Id, latestSuccessfulDepResp.Deployment.Id) - }) -} - func TestServiceDeployment_ListDeployments(t *testing.T, factory Factory) { ctx := context.Background() diff --git a/pkg/serverhandler/handlertest/test_service_instance.go b/pkg/serverhandler/handlertest/test_service_instance.go index 6b66a6d3483..1fae6c3a06b 100644 --- a/pkg/serverhandler/handlertest/test_service_instance.go +++ b/pkg/serverhandler/handlertest/test_service_instance.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_job.go b/pkg/serverhandler/handlertest/test_service_job.go index 7c2c0b723e0..269897acff8 100644 --- a/pkg/serverhandler/handlertest/test_service_job.go +++ b/pkg/serverhandler/handlertest/test_service_job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_logs.go b/pkg/serverhandler/handlertest/test_service_logs.go index 5b89d2bc89a..2119cc54cbb 100644 --- a/pkg/serverhandler/handlertest/test_service_logs.go +++ b/pkg/serverhandler/handlertest/test_service_logs.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_ondemand_runner.go b/pkg/serverhandler/handlertest/test_service_ondemand_runner.go index c61b93f1bdb..091cf113803 100644 --- a/pkg/serverhandler/handlertest/test_service_ondemand_runner.go +++ b/pkg/serverhandler/handlertest/test_service_ondemand_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_project.go b/pkg/serverhandler/handlertest/test_service_project.go index 6586daa6072..1ca25b18916 100644 --- a/pkg/serverhandler/handlertest/test_service_project.go +++ b/pkg/serverhandler/handlertest/test_service_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( @@ -19,7 +16,6 @@ func init() { TestServiceProject_GetApplication, TestServiceProject_UpsertApplication, TestServiceProject_InvalidName, - TestServiceProject_AutoPopulateApps, } } @@ -276,53 +272,3 @@ func TestServiceProject_InvalidName(t *testing.T, factory Factory) { }) require.Error(err) } - -func TestServiceProject_AutoPopulateApps(t *testing.T, factory Factory) { - ctx := context.Background() - require := require.New(t) - client, _ := factory(t) - - project := ptypes.TestProject(t, &pb.Project{ - WaypointHcl: []byte(` - project = "test" - - variable "vartest" { - type = string - default = "" - } - - app "website" { - build { - use "docker" {} - } - deploy { - use "kubernetes" {} - } - release { - use "kubernetes" {} - } - } - - app "api" { - build { - use "docker" {} - } - deploy { - use "kubernetes" {} - } - release { - use "kubernetes" {} - } - } - `), - }) - - resp, err := client.UpsertProject(ctx, &pb.UpsertProjectRequest{ - Project: project, - }) - require.NoError(err) - require.NotNil(resp) - require.Len(resp.Project.Applications, 2) - require.Equal("website", resp.Project.Applications[0].Name) - require.Equal("api", resp.Project.Applications[1].Name) -} diff --git a/pkg/serverhandler/handlertest/test_service_release.go b/pkg/serverhandler/handlertest/test_service_release.go index a12c8708ded..56eb1f5b876 100644 --- a/pkg/serverhandler/handlertest/test_service_release.go +++ b/pkg/serverhandler/handlertest/test_service_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_status_report.go b/pkg/serverhandler/handlertest/test_service_status_report.go index 8f3aa004241..abdc9ca78ce 100644 --- a/pkg/serverhandler/handlertest/test_service_status_report.go +++ b/pkg/serverhandler/handlertest/test_service_status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( @@ -144,27 +141,16 @@ func TestServiceStatusReport_ListStatusReports(t *testing.T, factory Factory) { require.NoError(t, err) require.NotNil(t, respProj) - artifact := serverptypes.TestValidArtifact(t, nil) - - artifactresp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - require.NoError(t, err) - require.NotNil(t, artifactresp) - - deployment := &pb.Deployment{ - Component: &pb.Component{ - Name: "testapp", - }, - Application: &pb.Ref_Application{ - Application: "apple-app", - Project: "Example", - }, - ArtifactId: artifactresp.Artifact.Id, - } - deployResp, err := client.UpsertDeployment(ctx, &pb.UpsertDeploymentRequest{ - Deployment: serverptypes.TestValidDeployment(t, deployment), + Deployment: serverptypes.TestValidDeployment(t, &pb.Deployment{ + Component: &pb.Component{ + Name: "testapp", + }, + Application: &pb.Ref_Application{ + Application: "apple-app", + Project: "Example", + }, + }), }) require.NoError(t, err) require.NotNil(t, deployResp) @@ -287,27 +273,16 @@ func TestServiceStatusReport_ExpediteStatusReport(t *testing.T, factory Factory) require.NoError(t, err) require.NotNil(t, respProj) - artifact := serverptypes.TestValidArtifact(t, nil) - - artifactresp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - require.NoError(t, err) - require.NotNil(t, artifactresp) - - deployment := &pb.Deployment{ - Component: &pb.Component{ - Name: "testapp", - }, - Application: &pb.Ref_Application{ - Application: "apple-app", - Project: "Example", - }, - ArtifactId: artifactresp.Artifact.Id, - } - resp, err := client.UpsertDeployment(ctx, &pb.UpsertDeploymentRequest{ - Deployment: serverptypes.TestValidDeployment(t, deployment), + Deployment: serverptypes.TestValidDeployment(t, &pb.Deployment{ + Component: &pb.Component{ + Name: "testapp", + }, + Application: &pb.Ref_Application{ + Application: "apple-app", + Project: "Example", + }, + }), }) require.NoError(t, err) require.NotNil(t, resp) diff --git a/pkg/serverhandler/handlertest/test_service_trigger.go b/pkg/serverhandler/handlertest/test_service_trigger.go index e8c44ef938a..d17a22bbf44 100644 --- a/pkg/serverhandler/handlertest/test_service_trigger.go +++ b/pkg/serverhandler/handlertest/test_service_trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_ui_deploy.go b/pkg/serverhandler/handlertest/test_service_ui_deploy.go index 704fd5e7f5e..9c66fb83282 100644 --- a/pkg/serverhandler/handlertest/test_service_ui_deploy.go +++ b/pkg/serverhandler/handlertest/test_service_ui_deploy.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_ui_event.go b/pkg/serverhandler/handlertest/test_service_ui_event.go deleted file mode 100644 index 572a7922f9f..00000000000 --- a/pkg/serverhandler/handlertest/test_service_ui_event.go +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package handlertest - -import ( - "context" - "testing" - "time" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" - "github.com/stretchr/testify/require" -) - -func init() { - tests["event"] = []testFunc{ - TestEvent, - } -} -func TestEvent(t *testing.T, factory Factory) { - ctx := context.Background() - - // Create our server - client, _ := factory(t) - - t.Run("paginate events", func(t *testing.T) { - require := require.New(t) - - proj := &pb.Project{ - Name: "p_test", - } - refProj := &pb.Ref_Project{Project: "p_test"} - _, err := client.UpsertProject(ctx, &pb.UpsertProjectRequest{ - Project: proj, - }) - - require.NoError(err) - - _, err = client.UpsertApplication(ctx, &pb.UpsertApplicationRequest{ - Project: refProj, - Name: "a_test", - }) - require.NoError(err) - - // Create build, deployment, release - createEvents(client, ctx, t) - - time.Sleep(250 * time.Millisecond) - - // Create build, deployment, release - createEvents(client, ctx, t) - - time.Sleep(250 * time.Millisecond) - - eventResp, err := client.UI_ListEvents(ctx, &pb.UI_ListEventsRequest{ - Application: &pb.Ref_Application{ - Application: "a_test", - Project: "p_test", - }, - Workspace: &pb.Ref_Workspace{Workspace: "default"}, - Pagination: &pb.PaginationRequest{ - PageSize: 6, - NextPageToken: "", - PreviousPageToken: "", - }, - Sorting: &pb.SortingRequest{OrderBy: []string{"event_timestamp desc"}}, - }) - require.NoError(err) - require.NotNil(eventResp) - require.Len(eventResp.Events, 6) - - var nextPageToken string - t.Run("paginate events, test get first page", func(t *testing.T) { - //first page, and next page - eventResp, err := client.UI_ListEvents(ctx, &pb.UI_ListEventsRequest{ - Application: &pb.Ref_Application{ - Application: "a_test", - Project: "p_test", - }, - Workspace: &pb.Ref_Workspace{Workspace: "default"}, - Pagination: &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: "", - PreviousPageToken: "", - }, - Sorting: &pb.SortingRequest{OrderBy: []string{"event_timestamp desc"}}, - }) - nextPageToken = eventResp.Pagination.NextPageToken - - require.NoError(err) - require.NotNil(eventResp) - }) - - t.Run("paginate events, test next page token", func(t *testing.T) { - //first page, and next page - eventResp, err := client.UI_ListEvents(ctx, &pb.UI_ListEventsRequest{ - Application: &pb.Ref_Application{ - Application: "a_test", - Project: "p_test", - }, - Workspace: &pb.Ref_Workspace{Workspace: "default"}, - Pagination: &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: nextPageToken, - PreviousPageToken: "", - }, - Sorting: &pb.SortingRequest{OrderBy: []string{"event_timestamp desc"}}, - }) - require.NoError(err) - require.NotNil(eventResp) - require.Len(eventResp.Events, 1) //there is only 1 resource left - }) - }) -} - -// create simple build, deployment, release for eventListBundling to be cleaner -func createEvents(client pb.WaypointClient, ctx context.Context, t *testing.T) { - // Create Build, should get an ID back - buildResp, err := client.UpsertBuild(ctx, &pb.UpsertBuildRequest{ - Build: serverptypes.TestValidBuild(t, nil), - }) - require.NoError(t, err) - require.NotNil(t, buildResp) - - build := buildResp.Build - - artifact := serverptypes.TestValidArtifact(t, nil) - artifact.BuildId = build.Id - - artifactResp, err := client.UpsertPushedArtifact(ctx, &pb.UpsertPushedArtifactRequest{ - Artifact: artifact, - }) - require.NoError(t, err) - require.NotNil(t, artifactResp) - - dep := serverptypes.TestValidDeployment(t, nil) - dep.ArtifactId = artifactResp.Artifact.Id - - // Create Deployment, should get an ID back - deploymentResp, err := client.UpsertDeployment(ctx, &pb.UpsertDeploymentRequest{ - Deployment: serverptypes.TestValidDeployment(t, &pb.Deployment{ - Application: &pb.Ref_Application{ - Application: "a_test", - Project: "p_test", - }, - ArtifactId: artifactResp.Artifact.Id, - }), - }) - require.NoError(t, err) - require.NotNil(t, deploymentResp) - depResult := deploymentResp.Deployment - require.NotEmpty(t, depResult.Id) - - // Create Release, should get an ID back - relResp, err := client.UpsertRelease(ctx, &pb.UpsertReleaseRequest{ - Release: serverptypes.TestValidRelease(t, nil), - }) - require.NoError(t, err) - require.NotNil(t, relResp) - relResult := relResp.Release - require.NotEmpty(t, relResult.Id) -} diff --git a/pkg/serverhandler/handlertest/test_service_ui_pipeline.go b/pkg/serverhandler/handlertest/test_service_ui_pipeline.go deleted file mode 100644 index d97792cb0eb..00000000000 --- a/pkg/serverhandler/handlertest/test_service_ui_pipeline.go +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package handlertest - -import ( - "context" - "fmt" - "testing" - - "github.com/stretchr/testify/require" - "google.golang.org/protobuf/proto" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -func init() { - tests["ui_pipeline"] = []testFunc{ - TestServiceUI_ListPipelines, - } -} - -func TestServiceUI_ListPipelines(t *testing.T, factory Factory) { - require := require.New(t) - ctx := context.Background() - - // Create our server - client, _ := factory(t) - - // Create project with application - jobTemplate := serverptypes.TestJobNew(t, nil) - appRef := jobTemplate.Application - dataSourceRef := jobTemplate.DataSourceRef - TestApp(t, client, appRef) - - // Create some pipelines in the project - for _, name := range []string{"alpha", "beta"} { - _, err := client.UpsertPipeline(ctx, &pb.UpsertPipelineRequest{ - Pipeline: serverptypes.TestPipeline(t, &pb.Pipeline{ - Id: name, - Name: name, - Owner: &pb.Pipeline_Project{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }, - }), - }) - require.NoError(err) - } - - t.Run("list", func(t *testing.T) { - resp, err := client.UI_ListPipelines(ctx, &pb.UI_ListPipelinesRequest{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }) - require.NoError(err) - require.Len(resp.Pipelines, 2) - }) - - t.Run("with no runs", func(t *testing.T) { - resp, err := client.UI_ListPipelines(ctx, &pb.UI_ListPipelinesRequest{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }) - require.NoError(err) - require.Nil(resp.Pipelines[0].LastRun) - }) - - t.Run("with some runs", func(t *testing.T) { - // Add some runs - for i := 0; i < 3; i++ { - client.RunPipeline(ctx, &pb.RunPipelineRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - JobTemplate: jobTemplate, - }) - client.RunPipeline(ctx, &pb.RunPipelineRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "beta", - }, - }, - JobTemplate: jobTemplate, - }) - } - - // Call the method - resp, err := client.UI_ListPipelines(ctx, &pb.UI_ListPipelinesRequest{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }) - require.NoError(err) - - require.Len(resp.Pipelines, 2) - - for _, p := range resp.Pipelines { - require.NotNil(p.LastRun) - require.NotNil(p.LastRun.QueueTime) - require.Equal(appRef.Application, p.LastRun.Application.Application) - require.Truef(proto.Equal(dataSourceRef, p.LastRun.DataSourceRef), "expected %#v to equal %#v", dataSourceRef, p.LastRun.DataSourceRef) - } - }) - - t.Run("with page size request", func(t *testing.T) { - t.Skip("TODO: implement pagination for UI_ListPipelines") - // create 9 pipelines in addition to the 2 already created above - for i := 1; i < 10; i++ { - name := fmt.Sprintf("pipeline-%d", i) - _, err := client.UpsertPipeline(ctx, &pb.UpsertPipelineRequest{ - Pipeline: serverptypes.TestPipeline(t, &pb.Pipeline{ - Id: name, - Name: name, - Owner: &pb.Pipeline_Project{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }, - }), - }) - require.NoError(err) - } - resp, err := client.UI_ListPipelines(ctx, &pb.UI_ListPipelinesRequest{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - Pagination: &pb.PaginationRequest{ - PageSize: 10, - }, - }) - require.NoError(err) - require.Len(resp.Pipelines, 10) - require.NotNil(resp.Pagination.NextPageToken) - }) -} diff --git a/pkg/serverhandler/handlertest/test_service_ui_pipeline_run.go b/pkg/serverhandler/handlertest/test_service_ui_pipeline_run.go deleted file mode 100644 index f38f069e838..00000000000 --- a/pkg/serverhandler/handlertest/test_service_ui_pipeline_run.go +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package handlertest - -import ( - "context" - "testing" - - "github.com/stretchr/testify/require" - "google.golang.org/protobuf/proto" - - pb "github.com/hashicorp/waypoint/pkg/server/gen" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -func init() { - tests["ui_pipeline_run"] = []testFunc{ - TestServiceUI_ListPipelineRuns, - TestServiceUI_GetPipelineRun, - } -} - -func TestServiceUI_ListPipelineRuns(t *testing.T, factory Factory) { - require := require.New(t) - ctx := context.Background() - - // Create our server - client, _ := factory(t) - - // Create project with application - jobTemplate := serverptypes.TestJobNew(t, nil) - appRef := jobTemplate.Application - dataSourceRef := jobTemplate.DataSourceRef - TestApp(t, client, appRef) - - // Create a pipeline in the project - _, err := client.UpsertPipeline(ctx, &pb.UpsertPipelineRequest{ - Pipeline: serverptypes.TestPipeline(t, &pb.Pipeline{ - Id: "alpha", - Name: "alpha", - Owner: &pb.Pipeline_Project{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }, - }), - }) - require.NoError(err) - - t.Run("list no runs", func(t *testing.T) { - resp, err := client.UI_ListPipelineRuns(ctx, &pb.UI_ListPipelineRunsRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - }) - require.NoError(err) - require.Len(resp.PipelineRunBundles, 0) - }) - - t.Run("list with runs", func(t *testing.T) { - // Create runs - for i := 0; i < 3; i++ { - client.RunPipeline(ctx, &pb.RunPipelineRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - JobTemplate: jobTemplate, - }) - } - resp, err := client.UI_ListPipelineRuns(ctx, &pb.UI_ListPipelineRunsRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - }) - require.NoError(err) - for i := 1; i < len(resp.PipelineRunBundles); i++ { - require.NotNil(resp.PipelineRunBundles[i].QueueTime) - require.Equal(appRef.Application, resp.PipelineRunBundles[i].Application.Application) - require.Truef(proto.Equal(dataSourceRef, resp.PipelineRunBundles[i].DataSourceRef), "expected %#v to equal %#v", dataSourceRef, resp.PipelineRunBundles[i].DataSourceRef) - } - require.Len(resp.PipelineRunBundles, 3) - }) - - t.Run("with page size request", func(t *testing.T) { - t.Skip("TODO: implement pagination for UI_ListPipelineRuns") - // create 8 pipeline runs in addition to the 3 already created above - for i := 1; i < 9; i++ { - client.RunPipeline(ctx, &pb.RunPipelineRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - JobTemplate: jobTemplate, - }) - require.NoError(err) - } - resp, err := client.UI_ListPipelineRuns(ctx, &pb.UI_ListPipelineRunsRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: "alpha", - }, - }, - Pagination: &pb.PaginationRequest{ - PageSize: 10, - }, - }) - require.NoError(err) - require.Len(resp.PipelineRunBundles, 10) - require.NotNil(resp.Pagination.NextPageToken) - }) -} - -func TestServiceUI_GetPipelineRun(t *testing.T, factory Factory) { - require := require.New(t) - ctx := context.Background() - - // Create our server - client, _ := factory(t) - - // Create project with application - jobTemplate := serverptypes.TestJobNew(t, nil) - appRef := jobTemplate.Application - TestApp(t, client, appRef) - - // Create a pipeline - pipelineResp, err := client.UpsertPipeline(ctx, &pb.UpsertPipelineRequest{ - Pipeline: &pb.Pipeline{ - Id: "test", - Name: "test", - Owner: &pb.Pipeline_Project{ - Project: &pb.Ref_Project{ - Project: appRef.Project, - }, - }, - Steps: map[string]*pb.Pipeline_Step{ - "hello": { - DependsOn: []string{}, - Name: "hello", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"Hello"}, - }, - }, - }, - "bye": { - DependsOn: []string{"hello"}, - Name: "bye", - Kind: &pb.Pipeline_Step_Exec_{ - Exec: &pb.Pipeline_Step_Exec{ - Image: "busybox", - Command: "echo", - Args: []string{"Bye"}, - }, - }, - }, - }, - }, - }) - require.NoError(err) - pipeline := pipelineResp.Pipeline - - // Create a run - runResp, err := client.RunPipeline(ctx, &pb.RunPipelineRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: pipeline.Id, - }, - }, - JobTemplate: jobTemplate, - }) - require.NoError(err) - seq := runResp.Sequence - - // Call UI_GetPipelineRun - resp, err := client.UI_GetPipelineRun(ctx, &pb.UI_GetPipelineRunRequest{ - Pipeline: &pb.Ref_Pipeline{ - Ref: &pb.Ref_Pipeline_Id{ - Id: pipeline.Id, - }, - }, - Sequence: seq, - }) - require.NoError(err) - require.NotNil(resp.PipelineRunBundle) - require.Equal(seq, resp.PipelineRunBundle.PipelineRun.Sequence) - require.NotNil(resp.PipelineRunBundle.Application) - require.NotNil(resp.PipelineRunBundle.QueueTime) - - hello := resp.RootTreeNode - require.NotNil(hello) - require.Equal("hello", hello.Step.Name) - require.Equal(pb.UI_PipelineRunTreeNode_QUEUED, hello.State) - require.Equal(runResp.AllJobIds[0], hello.Job.Id) - require.Equal(pb.UI_PipelineRunTreeNode_Children_SERIAL, hello.Children.Mode) - require.Len(hello.Children.Nodes, 1) - - bye := resp.RootTreeNode.Children.Nodes[0] - require.NotNil(bye) - require.Equal("bye", bye.Step.Name) - require.Equal(pb.UI_PipelineRunTreeNode_QUEUED, bye.State) - require.Equal(runResp.AllJobIds[1], bye.Job.Id) - require.Equal(pb.UI_PipelineRunTreeNode_Children_SERIAL, bye.Children.Mode) - require.Len(bye.Children.Nodes, 0) -} diff --git a/pkg/serverhandler/handlertest/test_service_ui_project.go b/pkg/serverhandler/handlertest/test_service_ui_project.go index e1985ee615a..64456dee044 100644 --- a/pkg/serverhandler/handlertest/test_service_ui_project.go +++ b/pkg/serverhandler/handlertest/test_service_ui_project.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_ui_release.go b/pkg/serverhandler/handlertest/test_service_ui_release.go index 4eb5aa4bea3..083893fc634 100644 --- a/pkg/serverhandler/handlertest/test_service_ui_release.go +++ b/pkg/serverhandler/handlertest/test_service_ui_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_user.go b/pkg/serverhandler/handlertest/test_service_user.go index 0dbc46aa649..f5eaa0a7a31 100644 --- a/pkg/serverhandler/handlertest/test_service_user.go +++ b/pkg/serverhandler/handlertest/test_service_user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_waypointhcl.go b/pkg/serverhandler/handlertest/test_service_waypointhcl.go index a296feb4932..aa090e7279a 100644 --- a/pkg/serverhandler/handlertest/test_service_waypointhcl.go +++ b/pkg/serverhandler/handlertest/test_service_waypointhcl.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/test_service_workspace.go b/pkg/serverhandler/handlertest/test_service_workspace.go index 3cff65ca1a8..2ead5d41957 100644 --- a/pkg/serverhandler/handlertest/test_service_workspace.go +++ b/pkg/serverhandler/handlertest/test_service_workspace.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverhandler/handlertest/testing.go b/pkg/serverhandler/handlertest/testing.go index d473c668f9d..7ea768878cd 100644 --- a/pkg/serverhandler/handlertest/testing.go +++ b/pkg/serverhandler/handlertest/testing.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package handlertest import ( diff --git a/pkg/serverstate/doc.go b/pkg/serverstate/doc.go index e88f1a8b6f0..1199916d82b 100644 --- a/pkg/serverstate/doc.go +++ b/pkg/serverstate/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package serverstate exports the interface and verification harness for // implementing a new state storage backend for the server. // diff --git a/pkg/serverstate/event.go b/pkg/serverstate/event.go deleted file mode 100644 index 14f22d993e5..00000000000 --- a/pkg/serverstate/event.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package serverstate - -import ( - "time" - - "github.com/hashicorp/waypoint/pkg/server/gen" -) - -type Event struct { - Application *gen.Ref_Application - Project *gen.Ref_Project - EventTimestamp time.Time - EventType string - EventData []byte -} diff --git a/pkg/serverstate/instance.go b/pkg/serverstate/instance.go index e26529ed053..634b9e6173e 100644 --- a/pkg/serverstate/instance.go +++ b/pkg/serverstate/instance.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverstate import ( diff --git a/pkg/serverstate/job.go b/pkg/serverstate/job.go index 4280c62c7d9..feab3901425 100644 --- a/pkg/serverstate/job.go +++ b/pkg/serverstate/job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverstate import ( diff --git a/pkg/serverstate/operation.go b/pkg/serverstate/operation.go index 90f805527e6..7f03266a42d 100644 --- a/pkg/serverstate/operation.go +++ b/pkg/serverstate/operation.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverstate import ( diff --git a/pkg/serverstate/serverstate.go b/pkg/serverstate/serverstate.go index f84936926de..950b71086e9 100644 --- a/pkg/serverstate/serverstate.go +++ b/pkg/serverstate/serverstate.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverstate import ( @@ -122,11 +119,6 @@ type Interface interface { ApplicationPollComplete(context.Context, *pb.Project, time.Time) error GetFileChangeSignal(context.Context, *pb.Ref_Application) (string, error) - //--------------------------------------------------------------- - // Events - EventListBundles(context.Context, *pb.UI_ListEventsRequest) ([]*pb.UI_EventBundle, *pb.PaginationResponse, error) - EventPut(context.Context, *Event) error - //--------------------------------------------------------------- // Operations @@ -210,35 +202,7 @@ type Interface interface { PipelineRunGet(context.Context, *pb.Ref_Pipeline, uint64) (*pb.PipelineRun, error) PipelineRunGetLatest(context.Context, string) (*pb.PipelineRun, error) PipelineRunGetById(context.Context, string) (*pb.PipelineRun, error) - // Runs are returned in insertion order by default. Pass `sequence desc` for reverse order. - PipelineRunList(context.Context, *pb.Ref_Pipeline, *pb.SortingRequest) ([]*pb.PipelineRun, error) - - //--------------------------------------------------------------- - // Templates - - CreateProjectTemplate(context.Context, *pb.ProjectTemplate) (*pb.ProjectTemplate, error) - UpdateProjectTemplate(context.Context, *pb.ProjectTemplate) (*pb.ProjectTemplate, error) - GetProjectTemplate(context.Context, *pb.Ref_ProjectTemplate) (*pb.ProjectTemplate, error) - DeleteProjectTemplate(context.Context, *pb.Ref_ProjectTemplate) error - ListProjectTemplates(context.Context, *pb.ListProjectTemplatesRequest) ([]*pb.ProjectTemplate, error) - - //--------------------------------------------------------------- - // Add On Definitions - - AddOnDefinitionPut(ctx context.Context, definition *pb.AddOnDefinition) (*pb.AddOnDefinition, error) - AddOnDefinitionUpdate(ctx context.Context, definition *pb.AddOnDefinition, existingDefinition *pb.Ref_AddOnDefinition) (*pb.AddOnDefinition, error) - AddOnDefinitionGet(ctx context.Context, definition *pb.Ref_AddOnDefinition) (*pb.AddOnDefinition, error) - AddOnDefinitionDelete(ctx context.Context, definition *pb.Ref_AddOnDefinition) error - AddOnDefinitionList(ctx context.Context, request *pb.ListAddOnDefinitionsRequest) ([]*pb.AddOnDefinition, *pb.PaginationResponse, error) - - //--------------------------------------------------------------- - // Add Ons - - AddOnPut(ctx context.Context, addOn *pb.AddOn) (*pb.AddOn, error) - AddOnGet(ctx context.Context, addOn *pb.Ref_AddOn) (*pb.AddOn, error) - AddOnUpdate(ctx context.Context, addOn *pb.AddOn, existingAddOn *pb.Ref_AddOn) (*pb.AddOn, error) - AddOnDelete(ctx context.Context, addOn *pb.Ref_AddOn) error - AddOnList(ctx context.Context, request *pb.ListAddOnsRequest) ([]*pb.AddOn, *pb.PaginationResponse, error) + PipelineRunList(context.Context, *pb.Ref_Pipeline) ([]*pb.PipelineRun, error) } // Pruner is implemented by state storage implementations that require diff --git a/pkg/serverstate/statetest/doc.go b/pkg/serverstate/statetest/doc.go index a411431227c..5b7ee2b80ff 100644 --- a/pkg/serverstate/statetest/doc.go +++ b/pkg/serverstate/statetest/doc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - // Package statetest has a test suite for validating implementations of the // serverstate.Interface interface. This must only be imported in "_test.go" // files in other packages. diff --git a/pkg/serverstate/statetest/statetest.go b/pkg/serverstate/statetest/statetest.go index 39f5fefd405..3888a2ce870 100644 --- a/pkg/serverstate/statetest/statetest.go +++ b/pkg/serverstate/statetest/statetest.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_add_on.go b/pkg/serverstate/statetest/test_add_on.go deleted file mode 100644 index 4c2d0c8310f..00000000000 --- a/pkg/serverstate/statetest/test_add_on.go +++ /dev/null @@ -1,437 +0,0 @@ -package statetest - -import ( - "context" - "fmt" - "math/rand" - "strings" - "testing" - "time" - - "github.com/stretchr/testify/require" - - "github.com/hashicorp/waypoint/pkg/pagination" - pb "github.com/hashicorp/waypoint/pkg/server/gen" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" -) - -func init() { - tests["add_on"] = []testFunc{ - TestAddOnFeatures, - TestAddOnPagination, - } -} - -func TestAddOnFeatures(t *testing.T, factory Factory, restartF RestartFactory) { - ctx := context.Background() - require := require.New(t) - - s := factory(t) - defer s.Close() - - pn := "testProject" - proj := serverptypes.TestProject(t, &pb.Project{ - Name: pn, - }) - err := s.ProjectPut(ctx, proj) - require.NoError(err) - - readme := []byte(strings.TrimSpace(` -My favorite add-on README. -`)) - - tags := []string{ - "varset1", - "varset2", - } - - addOnDefinitionName := "postgres" - testAddOnDefinition := &pb.AddOnDefinition{ - Name: addOnDefinitionName, - TerraformNocodeModule: &pb.TerraformNocodeModule{ - Source: "my/test/module", - Version: "0.0.1", - }, - ShortSummary: "My short summary.", - LongSummary: "My very long summary.", - ReadmeMarkdownTemplate: readme, - Tags: []string{ - "tag", - "you're", - "it", - }, - TfVariableSetIds: tags, - } - - t.Run("Create, get, and delete Add-On definition", func(t *testing.T) { - // Create - addOnDefinition, err := s.AddOnDefinitionPut(ctx, testAddOnDefinition) - require.NoError(err) - require.Equal(testAddOnDefinition.Name, addOnDefinition.Name) - require.NotNil(addOnDefinition.TerraformNocodeModule) - require.Equal(testAddOnDefinition.TerraformNocodeModule.Source, addOnDefinition.TerraformNocodeModule.Source) - require.Equal(testAddOnDefinition.TerraformNocodeModule.Version, addOnDefinition.TerraformNocodeModule.Version) - require.Equal(testAddOnDefinition.Tags, addOnDefinition.Tags) - require.Equal(testAddOnDefinition.TfVariableSetIds, addOnDefinition.TfVariableSetIds) - require.Equal(testAddOnDefinition.ReadmeMarkdownTemplate, addOnDefinition.ReadmeMarkdownTemplate) - require.Equal(testAddOnDefinition.ShortSummary, addOnDefinition.ShortSummary) - require.Equal(testAddOnDefinition.LongSummary, addOnDefinition.LongSummary) - - // Get by ID - actualAddOnDefinition, err := s.AddOnDefinitionGet(ctx, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Id{ - Id: addOnDefinition.Id, - }, - }) - require.NoError(err) - require.Equal(testAddOnDefinition.Name, actualAddOnDefinition.Name) - require.NotNil(actualAddOnDefinition.TerraformNocodeModule) - require.Equal(testAddOnDefinition.TerraformNocodeModule.Source, actualAddOnDefinition.TerraformNocodeModule.Source) - require.Equal(testAddOnDefinition.TerraformNocodeModule.Version, actualAddOnDefinition.TerraformNocodeModule.Version) - require.Equal(testAddOnDefinition.Tags, actualAddOnDefinition.Tags) - require.Equal(testAddOnDefinition.TfVariableSetIds, actualAddOnDefinition.TfVariableSetIds) - require.Equal(testAddOnDefinition.ReadmeMarkdownTemplate, actualAddOnDefinition.ReadmeMarkdownTemplate) - require.Equal(testAddOnDefinition.ShortSummary, actualAddOnDefinition.ShortSummary) - require.Equal(testAddOnDefinition.LongSummary, actualAddOnDefinition.LongSummary) - - // Delete Add-On definition - err = s.AddOnDefinitionDelete(ctx, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testAddOnDefinition.Name, - }, - }) - require.NoError(err) - - // Verify Add-On definition is deleted - daod, err := s.AddOnDefinitionGet(ctx, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testAddOnDefinition.Name, - }, - }) - // expecting a not found error - require.Error(err) - require.Nil(daod) - - }) - - testUpdatedTestAddOnDefinition := &pb.AddOnDefinition{ - Name: "new-postgres", // new name - TerraformNocodeModule: &pb.TerraformNocodeModule{ - Source: "my/test/module", - Version: "0.0.2", - }, - ShortSummary: "My super short summary.", - LongSummary: "My super long summary.", - ReadmeMarkdownTemplate: readme, - Tags: []string{ - "gotcha", - }, - TfVariableSetIds: tags, - } - - t.Run("Update Add-on Definition & get it by the new name", func(t *testing.T) { - // Create an add-on definition - aod, err := s.AddOnDefinitionPut(ctx, testAddOnDefinition) - require.NoError(err) - require.Equal(testAddOnDefinition.Name, aod.Name) - - // Update it - updatedAddOnDefinition, err := s.AddOnDefinitionUpdate(ctx, testUpdatedTestAddOnDefinition, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testAddOnDefinition.Name, - }, - }) - require.NoError(err) - require.Equal(testUpdatedTestAddOnDefinition.Name, updatedAddOnDefinition.Name) - require.NotNil(updatedAddOnDefinition.TerraformNocodeModule) - require.Equal(testUpdatedTestAddOnDefinition.TerraformNocodeModule.Source, updatedAddOnDefinition.TerraformNocodeModule.Source) - require.Equal(testUpdatedTestAddOnDefinition.TerraformNocodeModule.Version, updatedAddOnDefinition.TerraformNocodeModule.Version) - require.Equal(testUpdatedTestAddOnDefinition.Tags, updatedAddOnDefinition.Tags) - require.Equal(testUpdatedTestAddOnDefinition.TfVariableSetIds, updatedAddOnDefinition.TfVariableSetIds) - require.Equal(testUpdatedTestAddOnDefinition.ReadmeMarkdownTemplate, updatedAddOnDefinition.ReadmeMarkdownTemplate) - require.Equal(testUpdatedTestAddOnDefinition.ShortSummary, updatedAddOnDefinition.ShortSummary) - require.Equal(testUpdatedTestAddOnDefinition.LongSummary, updatedAddOnDefinition.LongSummary) - - actualAddOnDefinition, err := s.AddOnDefinitionGet(ctx, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testUpdatedTestAddOnDefinition.Name, - }, - }) - require.NoError(err) - require.Equal(testUpdatedTestAddOnDefinition.Name, actualAddOnDefinition.Name) - require.NotNil(updatedAddOnDefinition.TerraformNocodeModule) - require.Equal(testUpdatedTestAddOnDefinition.TerraformNocodeModule.Source, actualAddOnDefinition.TerraformNocodeModule.Source) - require.Equal(testUpdatedTestAddOnDefinition.TerraformNocodeModule.Version, actualAddOnDefinition.TerraformNocodeModule.Version) - require.Equal(testUpdatedTestAddOnDefinition.Tags, actualAddOnDefinition.Tags) - require.Equal(testUpdatedTestAddOnDefinition.TfVariableSetIds, actualAddOnDefinition.TfVariableSetIds) - require.Equal(testUpdatedTestAddOnDefinition.ReadmeMarkdownTemplate, actualAddOnDefinition.ReadmeMarkdownTemplate) - require.Equal(testUpdatedTestAddOnDefinition.ShortSummary, actualAddOnDefinition.ShortSummary) - require.Equal(testUpdatedTestAddOnDefinition.LongSummary, actualAddOnDefinition.LongSummary) - }) - - testAddOn := &pb.AddOn{ - Name: "your friendly neighborhood add-on", - Project: &pb.Ref_Project{ - Project: pn, - }, - Definition: &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testUpdatedTestAddOnDefinition.Name, - }, - }, - ShortSummary: "My super short summary.", - LongSummary: "My super long summary.", - TerraformNocodeModule: &pb.TerraformNocodeModule{ - Source: "my/test/module", - Version: "0.0.2", - }, - ReadmeMarkdown: readme, // this does NOT test any rendering - Tags: tags, - CreatedBy: "foo@bar.com", - } - - t.Run("Create, get, update, and delete Add-on", func(t *testing.T) { - // Create an add-on definition - addOnDefinition, err := s.AddOnDefinitionPut(ctx, testAddOnDefinition) - require.NoError(err) - require.Equal(testAddOnDefinition.Name, addOnDefinition.Name) - - // Create an add-on using the definition - addOn, err := s.AddOnPut(ctx, testAddOn) - require.NoError(err) - require.Equal(testAddOn.Name, addOn.Name) - - actualAddOn, err := s.AddOnGet(ctx, &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: testAddOn.Name, - }, - }) - require.NoError(err) - require.Equal(testAddOn.Name, actualAddOn.Name) - require.Equal(testAddOn.Tags, actualAddOn.Tags) - require.Equal(testAddOn.Project, actualAddOn.Project) - require.Equal(testAddOn.Definition, actualAddOn.Definition) - require.Equal(testAddOn.ReadmeMarkdown, actualAddOn.ReadmeMarkdown) - require.Equal(testAddOn.ShortSummary, actualAddOn.ShortSummary) - require.Equal(testAddOn.LongSummary, actualAddOn.LongSummary) - require.NotNil(actualAddOn.TerraformNocodeModule) - require.Equal(testAddOn.TerraformNocodeModule.Source, actualAddOn.TerraformNocodeModule.Source) - require.Equal(testAddOn.TerraformNocodeModule.Version, actualAddOn.TerraformNocodeModule.Version) - - updatedAddOnName := "your updated friendly neighborhood add-on" - updatedAddOn, err := s.AddOnUpdate(ctx, - &pb.AddOn{ - Name: updatedAddOnName, - }, - &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: testAddOn.Name, - }, - }, - ) - require.NoError(err) - require.NotNil(updatedAddOn) - require.Equal(updatedAddOnName, updatedAddOn.Name) - - err = s.AddOnDelete(ctx, &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: updatedAddOnName, - }, - }) - require.NoError(err) - - // Verify Add-On is deleted - actualAddOn, err = s.AddOnGet(ctx, &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: updatedAddOnName, - }, - }) - // expecting a not found error - require.Error(err) - require.Nil(actualAddOn) - }) - - t.Run("Get Add-On by Id with Add-On definition deleted", func(t *testing.T) { - // Create an add-on using the definition - addOn, err := s.AddOnPut(ctx, testAddOn) - require.NoError(err) - require.Equal(testAddOn.Name, addOn.Name) - require.Equal(testAddOn.Tags, addOn.Tags) - require.Equal(testAddOn.Project, addOn.Project) - require.Equal(testAddOn.Definition, addOn.Definition) - require.Equal(testAddOn.ReadmeMarkdown, addOn.ReadmeMarkdown) - - // Delete Add-On definition - err = s.AddOnDefinitionDelete(ctx, &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testAddOnDefinition.Name, - }, - }) - require.NoError(err) - - actualAddOn, err := s.AddOnGet(ctx, &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: testAddOn.Name, - }, - }) - require.NoError(err) - require.Equal(testAddOn.Name, actualAddOn.Name) - require.Equal(testAddOn.Tags, actualAddOn.Tags) - require.Equal(testAddOn.Project, actualAddOn.Project) - require.Equal(testAddOn.Definition, actualAddOn.Definition) - require.Equal(testAddOn.ReadmeMarkdown, actualAddOn.ReadmeMarkdown) - }) -} - -func TestAddOnPagination(t *testing.T, factory Factory, restartF RestartFactory) { - ctx := context.Background() - require := require.New(t) - - s := factory(t) - defer s.Close() - - t.Run("List Add-On definitions", func(t *testing.T) { - startChar := 'a' - endChar := 'm' - //addOnDefinitionsCount := endChar - startChar + 1 - var chars []string - // Generate randomized add-on definitions - for char := startChar; char <= endChar; char++ { - chars = append(chars, fmt.Sprintf("%c", char)) - } - rand.Seed(time.Now().UnixNano()) - rand.Shuffle(len(chars), func(i, j int) { - chars[i], chars[j] = chars[j], chars[i] - }) - for _, char := range chars { - aod, err := s.AddOnDefinitionPut(ctx, &pb.AddOnDefinition{ - Id: char, - Name: char, - }) - require.NoError(err) - require.NotNil(aod) - } - - // list a-e - aods, pr, err := s.AddOnDefinitionList(ctx, &pb.ListAddOnDefinitionsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - }), - }) - require.NoError(err) - require.Len(aods, 5) - expectedPageToken, _ := pagination.EncodeAndSerializePageToken("name", "e") - require.Equal(expectedPageToken, pr.NextPageToken) - require.Empty(pr.PreviousPageToken) - - // list f-j - aods, pr, err = s.AddOnDefinitionList( - ctx, - &pb.ListAddOnDefinitionsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: pr.NextPageToken, - }), - }, - ) - require.NoError(err) - require.Len(aods, 5) - expectedPrevPageToken, _ := pagination.EncodeAndSerializePageToken("name", "f") - require.Equal(expectedPrevPageToken, pr.PreviousPageToken) - expectedNextPageToken, _ := pagination.EncodeAndSerializePageToken("name", "j") - require.Equal(expectedNextPageToken, pr.NextPageToken) - - // list k-m - aods, pr, err = s.AddOnDefinitionList( - ctx, - &pb.ListAddOnDefinitionsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: pr.NextPageToken, - }), - }, - ) - require.NoError(err) - require.Len(aods, 3) - expectedPrevPageToken, _ = pagination.EncodeAndSerializePageToken("name", "k") - require.Equal(expectedPrevPageToken, pr.PreviousPageToken) - require.Empty(pr.NextPageToken) - }) - - t.Run("List Add-Ons", func(t *testing.T) { - pn := "my-test-project" - proj := serverptypes.TestProject(t, &pb.Project{ - Name: pn, - }) - err := s.ProjectPut(ctx, proj) - require.NoError(err) - - startChar := 'a' - endChar := 'm' - //addOnDefinitionsCount := endChar - startChar + 1 - var chars []string - // Generate randomized add-on definitions - for char := startChar; char <= endChar; char++ { - chars = append(chars, fmt.Sprintf("%c", char)) - } - rand.Seed(time.Now().UnixNano()) - rand.Shuffle(len(chars), func(i, j int) { - chars[i], chars[j] = chars[j], chars[i] - }) - for _, char := range chars { - addOn, err := s.AddOnPut(ctx, &pb.AddOn{ - Name: char, - // "a" - "m" were already created in the previous test, so just using definition "a" for all - Definition: &pb.Ref_AddOnDefinition{Identifier: &pb.Ref_AddOnDefinition_Name{Name: "a"}}, - Project: &pb.Ref_Project{Project: pn}, - }) - require.NoError(err) - require.NotNil(addOn) - } - - // list a-e - addOns, pr, err := s.AddOnList(ctx, &pb.ListAddOnsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - }), - }) - require.NoError(err) - require.Len(addOns, 5) - expectedPageToken, _ := pagination.EncodeAndSerializePageToken("name", "e") - require.Equal(expectedPageToken, pr.NextPageToken) - require.Empty(pr.PreviousPageToken) - - // list f-j - addOns, pr, err = s.AddOnList( - ctx, - &pb.ListAddOnsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: pr.NextPageToken, - }), - }, - ) - require.NoError(err) - require.Len(addOns, 5) - expectedPrevPageToken, _ := pagination.EncodeAndSerializePageToken("name", "f") - require.Equal(expectedPrevPageToken, pr.PreviousPageToken) - expectedNextPageToken, _ := pagination.EncodeAndSerializePageToken("name", "j") - require.Equal(expectedNextPageToken, pr.NextPageToken) - - // list k-m - addOns, pr, err = s.AddOnList( - ctx, - &pb.ListAddOnsRequest{ - Pagination: serverptypes.TestPaginationRequest(t, &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: pr.NextPageToken, - }), - }, - ) - require.NoError(err) - require.Len(addOns, 3) - expectedPrevPageToken, _ = pagination.EncodeAndSerializePageToken("name", "k") - require.Equal(expectedPrevPageToken, pr.PreviousPageToken) - require.Empty(pr.NextPageToken) - }) -} diff --git a/pkg/serverstate/statetest/test_application.go b/pkg/serverstate/statetest/test_application.go index 4cd95947901..bbc42531f1c 100644 --- a/pkg/serverstate/statetest/test_application.go +++ b/pkg/serverstate/statetest/test_application.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_artifact.go b/pkg/serverstate/statetest/test_artifact.go index 85da17d8602..0042d48e6e2 100644 --- a/pkg/serverstate/statetest/test_artifact.go +++ b/pkg/serverstate/statetest/test_artifact.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_build.go b/pkg/serverstate/statetest/test_build.go index b1b2fdc077e..b6d62742333 100644 --- a/pkg/serverstate/statetest/test_build.go +++ b/pkg/serverstate/statetest/test_build.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_config.go b/pkg/serverstate/statetest/test_config.go index 7856dec276c..79d3dc923dc 100644 --- a/pkg/serverstate/statetest/test_config.go +++ b/pkg/serverstate/statetest/test_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_config_source.go b/pkg/serverstate/statetest/test_config_source.go index c05e5661175..80e39d4efaf 100644 --- a/pkg/serverstate/statetest/test_config_source.go +++ b/pkg/serverstate/statetest/test_config_source.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_deployment.go b/pkg/serverstate/statetest/test_deployment.go index cd54236cb0b..c67a9b19ddc 100644 --- a/pkg/serverstate/statetest/test_deployment.go +++ b/pkg/serverstate/statetest/test_deployment.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_event.go b/pkg/serverstate/statetest/test_event.go deleted file mode 100644 index 8d78c8d235b..00000000000 --- a/pkg/serverstate/statetest/test_event.go +++ /dev/null @@ -1,329 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package statetest - -import ( - "context" - "strings" - "testing" - "time" - - "github.com/stretchr/testify/require" - "google.golang.org/protobuf/types/known/timestamppb" - - "github.com/hashicorp/waypoint/internal/pkg/jsonpb" - pb "github.com/hashicorp/waypoint/pkg/server/gen" - serverptypes "github.com/hashicorp/waypoint/pkg/server/ptypes" - "github.com/hashicorp/waypoint/pkg/serverstate" -) - -func init() { - tests["event"] = []testFunc{ - TestEvent, - } -} - -func TestEvent(t *testing.T, factory Factory, restartF RestartFactory) { - ctx := context.Background() - - t.Run("Basic put all types and check pagination", func(t *testing.T) { - require := require.New(t) - s := factory(t) - defer s.Close() - - ws := &pb.Ref_Workspace{ - Workspace: "default", - } - - // Write project - refProj := &pb.Ref_Project{Project: "test"} - require.NoError(s.ProjectPut(ctx, serverptypes.TestProject(t, &pb.Project{ - Name: refProj.Project, - }))) - refApp := &pb.Ref_Application{ - Application: "test", - Project: refProj.Project, - } - _, err := s.AppPut(ctx, serverptypes.TestApplication(t, &pb.Application{ - Name: refApp.Application, - Project: refProj, - })) - require.NoError(err) - - // Put Build - build := serverptypes.TestBuild(t, &pb.Build{ - Id: "test", - Application: refApp, - Workspace: ws, - Status: &pb.Status{ - State: pb.Status_SUCCESS, - StartTime: timestamppb.Now(), - }, - }) - require.NoError(s.BuildPut(ctx, false, build)) - - var commit string - if build.Preload.JobDataSourceRef != nil { - commit = build.Preload.JobDataSourceRef.Ref.(*pb.Job_DataSource_Ref_Git).Git.Commit - } - buildDataSubset := &pb.UI_EventBuild{ - BuildId: build.Id, - Sequence: build.Sequence, - Component: build.Component, - Workspace: build.Workspace, - Status: build.Status, - Commit: commit, - } - - var buildBytes []byte - buildBytes, err = jsonpb.Marshal(buildDataSubset) - require.NoError(err) - - buildEvent := &serverstate.Event{ - EventType: "build", - Application: refApp, - EventData: buildBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, buildEvent)) - - pt := timestamppb.Now() - - s.ArtifactPut(ctx, false, &pb.PushedArtifact{ - Application: refApp, - Workspace: ws, - Sequence: 0, - Id: "test", - Status: &pb.Status{ - State: pb.Status_SUCCESS, - StartTime: pt, - CompleteTime: pt, - }, - BuildId: "test", - Labels: nil, - TemplateData: nil, - Build: build, - }) - // Put Deployment - dep := &pb.Deployment{ - Id: "test", - Application: refApp, - Workspace: ws, - Status: &pb.Status{ - State: pb.Status_SUCCESS, - StartTime: pt, - CompleteTime: pt, - }, - ArtifactId: "test", - } - require.NoError(s.DeploymentPut(ctx, false, dep)) - - depDataSubset := &pb.UI_EventDeployment{ - DeploymentId: dep.Id, - Sequence: dep.Sequence, - Component: dep.Component, - Workspace: dep.Workspace, - BuildSequence: build.Sequence, - Status: dep.Status, - } - - var depBytes []byte - depBytes, err = jsonpb.Marshal(depDataSubset) - require.NoError(err) - - depEvent := &serverstate.Event{ - EventType: "deployment", - Application: refApp, - EventData: depBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, depEvent)) - - // Put Release - release := &pb.Release{ - Id: "test", - Application: refApp, - Workspace: ws, - Status: &pb.Status{ - State: pb.Status_SUCCESS, - StartTime: pt, - CompleteTime: pt, - }, - DeploymentId: dep.Id, - } - require.NoError(s.ReleasePut(ctx, false, release)) - - releaseDataSubset := &pb.UI_EventRelease{ - ReleaseId: release.Id, - Sequence: release.Sequence, - Component: release.Component, - Workspace: release.Workspace, - Status: release.Status, - DeploymentSequence: dep.Sequence, - } - - var releaseBytes []byte - releaseBytes, err = jsonpb.Marshal(releaseDataSubset) - require.NoError(err) - - releaseEvent := &serverstate.Event{ - EventType: "release", - Application: refApp, - EventData: releaseBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, releaseEvent)) - - testAddOnDefinition := &pb.AddOnDefinition{ - Name: "postgres", - TerraformNocodeModule: &pb.TerraformNocodeModule{ - Source: "my/test/module", - Version: "0.0.1", - }, - ShortSummary: "My short summary.", - LongSummary: "My very long summary.", - ReadmeMarkdownTemplate: []byte(strings.TrimSpace(` -My favorite add-on README. -`)), - Tags: []string{ - "tag", - "you're", - "it", - }, - TfVariableSetIds: []string{ - "varset1", - "varset2", - }, - } - addOnDefinition, err := s.AddOnDefinitionPut(ctx, testAddOnDefinition) - require.NoError(err) - require.NotNil(addOnDefinition) - - testAddOn := &pb.AddOn{ - Name: "your friendly neighborhood add-on", - Project: &pb.Ref_Project{ - Project: refProj.Project, - }, - Definition: &pb.Ref_AddOnDefinition{ - Identifier: &pb.Ref_AddOnDefinition_Name{ - Name: testAddOnDefinition.Name, - }, - }, - ShortSummary: "My super short summary.", - LongSummary: "My super long summary.", - TerraformNocodeModule: &pb.TerraformNocodeModule{ - Source: "my/test/module", - Version: "0.0.2", - }, - ReadmeMarkdown: []byte(strings.TrimSpace(` -My favorite add-on README. -`)), // this does NOT test any rendering - Tags: []string{ - "tag", - "you're", - "it", - }, - CreatedBy: "foo@bar.com", - } - - // Create Add-on - addOn, err := s.AddOnPut(ctx, testAddOn) - require.NoError(err) - require.NotNil(addOn) - - addOnCreatedDataSubset := &pb.UI_EventAddOn{ - AddOnId: addOn.Id, - Name: addOn.Name, - AddOnOperation: 0, - } - - var addOnCreatedBytes []byte - addOnCreatedBytes, err = jsonpb.Marshal(addOnCreatedDataSubset) - require.NoError(err) - - addOnCreatedEvent := &serverstate.Event{ - EventType: "add_on_created", - Project: refProj, - EventData: addOnCreatedBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, addOnCreatedEvent)) - - // Update Add-on - updatedAddOn, err := s.AddOnUpdate(ctx, - &pb.AddOn{ - Name: "your friendly updated neighborhood add-on", - }, - &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: testAddOn.Name, - }, - }, - ) - require.NoError(err) - require.NotNil(updatedAddOn) - - addOnUpdatedDataSubset := &pb.UI_EventAddOn{ - AddOnId: addOn.Id, - Name: addOn.Name, - AddOnOperation: 2, - } - var addOnUpdatedBytes []byte - addOnUpdatedBytes, err = jsonpb.Marshal(addOnUpdatedDataSubset) - require.NoError(err) - - addOnUpdatedEvent := &serverstate.Event{ - EventType: "add_on_updated", - Project: refProj, - EventData: addOnUpdatedBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, addOnUpdatedEvent)) - - // Destroy Add-on - require.NoError(s.AddOnDelete(ctx, &pb.Ref_AddOn{ - Identifier: &pb.Ref_AddOn_Name{ - Name: addOn.Name, - }, - })) - - addOnDestroyedDataSubset := &pb.UI_EventAddOn{ - AddOnId: addOn.Id, - Name: addOn.Name, - AddOnOperation: 1, - } - - var addOnDestroyedBytes []byte - addOnDestroyedBytes, err = jsonpb.Marshal(addOnDestroyedDataSubset) - require.NoError(err) - - addOnDestroyedEvent := &serverstate.Event{ - EventType: "add_on_destroyed", - Project: refProj, - EventData: addOnDestroyedBytes, - EventTimestamp: time.Now(), - } - - require.NoError(s.EventPut(ctx, addOnDestroyedEvent)) - - // check - resp, _, err := s.EventListBundles(ctx, &pb.UI_ListEventsRequest{ - Application: refApp, - Project: refProj, - Workspace: ws, - Pagination: &pb.PaginationRequest{ - PageSize: 5, - NextPageToken: "", - PreviousPageToken: "", - }, - }) - require.NoError(err) - require.Len(resp, 5) - }) -} diff --git a/pkg/serverstate/statetest/test_hmac.go b/pkg/serverstate/statetest/test_hmac.go index 85c18ef78e5..2fecf22ba8d 100644 --- a/pkg/serverstate/statetest/test_hmac.go +++ b/pkg/serverstate/statetest/test_hmac.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_instance.go b/pkg/serverstate/statetest/test_instance.go index 9d2a6c0bbd2..b658051d7a6 100644 --- a/pkg/serverstate/statetest/test_instance.go +++ b/pkg/serverstate/statetest/test_instance.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_job.go b/pkg/serverstate/statetest/test_job.go index ed65428dc41..b72f34be457 100644 --- a/pkg/serverstate/statetest/test_job.go +++ b/pkg/serverstate/statetest/test_job.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( @@ -2482,7 +2479,7 @@ func TestJobHeartbeat(t *testing.T, factory Factory, rf RestartFactory) { // Should time out require.Eventually(func() bool { // Verify it is canceled - job, err := s.JobById(ctx, "A", nil) + job, err = s.JobById(ctx, "A", nil) require.NoError(err) return job.Job.State == pb.Job_ERROR }, 4*time.Second, time.Second) @@ -2542,12 +2539,10 @@ func TestJobHeartbeat(t *testing.T, factory Factory, rf RestartFactory) { // Sleep for a bit time.Sleep(1 * time.Second) - // Verify it is running. We use a closure here to avoid a possible race condition with the job object - { - job, err := s.JobById(ctx, "A", nil) - require.NoError(err) - require.Equal(pb.Job_RUNNING, job.Job.State) - } + // Verify it is running + job, err = s.JobById(ctx, "A", nil) + require.NoError(err) + require.Equal(pb.Job_RUNNING, job.Job.State) // Stop it require.NoError(s.JobComplete(ctx, job.Id, nil, nil)) @@ -2607,12 +2602,10 @@ func TestJobHeartbeat(t *testing.T, factory Factory, rf RestartFactory) { // Sleep for a bit time.Sleep(1 * time.Second) - // Verify it is running. We use a closure here to avoid a possible race condition with the job object - { - job, err := s.JobById(ctx, "A", nil) - require.NoError(err) - require.Equal(pb.Job_RUNNING, job.Job.State) - } + // Verify it is running + job, err = s.JobById(ctx, "A", nil) + require.NoError(err) + require.Equal(pb.Job_RUNNING, job.Job.State) // Stop heartbeating cancel() @@ -2620,7 +2613,7 @@ func TestJobHeartbeat(t *testing.T, factory Factory, rf RestartFactory) { // Should time out require.Eventually(func() bool { // Verify it is canceled - job, err := s.JobById(context.Background(), "A", nil) + job, err = s.JobById(context.Background(), "A", nil) require.NoError(err) return job.Job.State == pb.Job_ERROR }, 4*time.Second, time.Second) @@ -2684,17 +2677,15 @@ func TestJobHeartbeatOnRestart(t *testing.T, factory Factory, rf RestartFactory) s = rf(t, s) defer s.Close() - // Verify it exists. We use a closure here to avoid a possible race condition with the job object - { - job, err := s.JobById(ctx, "A", nil) - require.NoError(err) - require.Equal(pb.Job_RUNNING, job.Job.State) - } + // Verify it exists + job, err = s.JobById(ctx, "A", nil) + require.NoError(err) + require.Equal(pb.Job_RUNNING, job.Job.State) // Should time out require.Eventually(func() bool { // Verify it is canceled - job, err := s.JobById(ctx, "A", nil) + job, err = s.JobById(ctx, "A", nil) require.NoError(err) return job.Job.State == pb.Job_ERROR }, 4*time.Second, time.Second) diff --git a/pkg/serverstate/statetest/test_pipeline.go b/pkg/serverstate/statetest/test_pipeline.go index f927086a506..899a6427e25 100644 --- a/pkg/serverstate/statetest/test_pipeline.go +++ b/pkg/serverstate/statetest/test_pipeline.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_pipeline_run.go b/pkg/serverstate/statetest/test_pipeline_run.go index 68be4bf9600..afc45735b38 100644 --- a/pkg/serverstate/statetest/test_pipeline_run.go +++ b/pkg/serverstate/statetest/test_pipeline_run.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( @@ -216,7 +213,7 @@ func TestPipelineRun(t *testing.T, factory Factory, restartF RestartFactory) { // List all runs, check that sequence increments { - resp, err := s.PipelineRunList(ctx, pipeline, nil) + resp, err := s.PipelineRunList(ctx, pipeline) require.NoError(err) require.NotNil(resp) require.Len(resp, 3) @@ -228,53 +225,4 @@ func TestPipelineRun(t *testing.T, factory Factory, restartF RestartFactory) { require.Equal(uint64(3), resp[2].Sequence) } }) - - t.Run("List by sequence, descending", func(t *testing.T) { - require := require.New(t) - - s := factory(t) - defer s.Close() - - // Write project - ref := &pb.Ref_Project{Project: "project"} - require.NoError(s.ProjectPut(ctx, serverptypes.TestProject(t, &pb.Project{ - Name: ref.Project, - }))) - - // Set Pipeline - p := ptypes.TestPipeline(t, nil) - err := s.PipelinePut(ctx, p) - require.NoError(err) - - pipeline := &pb.Ref_Pipeline{Ref: &pb.Ref_Pipeline_Id{Id: p.Id}} - - // Set Pipeline Run - r := ptypes.TestPipelineRun(t, &pb.PipelineRun{Id: "test1", Pipeline: pipeline}) - err = s.PipelineRunPut(ctx, r) - require.NoError(err) - - // Set Another Pipeline Run - r2 := ptypes.TestPipelineRun(t, &pb.PipelineRun{Id: "test2", Pipeline: pipeline}) - err = s.PipelineRunPut(ctx, r2) - require.NoError(err) - - // Set Another Pipeline Run - r3 := ptypes.TestPipelineRun(t, &pb.PipelineRun{Id: "test3", Pipeline: pipeline}) - err = s.PipelineRunPut(ctx, r3) - require.NoError(err) - - // List all runs by sequence, descending, check that sequence descends - { - resp, err := s.PipelineRunList(ctx, pipeline, &pb.SortingRequest{OrderBy: []string{"sequence desc"}}) - require.NoError(err) - require.NotNil(resp) - require.Len(resp, 3) - require.Equal(r3.Id, resp[0].Id) - require.Equal(uint64(3), resp[0].Sequence) - require.Equal(r2.Id, resp[1].Id) - require.Equal(uint64(2), resp[1].Sequence) - require.Equal(r.Id, resp[2].Id) - require.Equal(uint64(1), resp[2].Sequence) - } - }) } diff --git a/pkg/serverstate/statetest/test_project.go b/pkg/serverstate/statetest/test_project.go index f83571e0687..270d48008dd 100644 --- a/pkg/serverstate/statetest/test_project.go +++ b/pkg/serverstate/statetest/test_project.go @@ -1,14 +1,9 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( "context" "encoding/base64" "fmt" - "github.com/google/go-cmp/cmp" - "google.golang.org/protobuf/testing/protocmp" "math/rand" "strings" "testing" @@ -36,7 +31,6 @@ func init() { TestProjectCanTransitionDataSource, TestProjectPagination, TestProjectCount, - TestProjectTemplateFeatures, } } @@ -1067,114 +1061,3 @@ func TestProjectCount(t *testing.T, factory Factory, restartF RestartFactory) { require.NoError(err) require.EqualValues(1, actual) } - -func TestProjectTemplateFeatures(t *testing.T, factory Factory, restartF RestartFactory) { - ctx := context.Background() - require := require.New(t) - - s := factory(t) - defer s.Close() - - // Create a project template - projectTemplate, err := s.CreateProjectTemplate(ctx, &pb.ProjectTemplate{ - Id: "", - Name: "test", - Summary: "test", - ExpandedSummary: "test", - ReadmeMarkdownTemplate: []byte("test"), - TerraformNocodeModule: &pb.ProjectTemplate_TerraformNocodeModule{ - Source: "test", - Version: "test", - }, - Tags: []string{"test1", "test2"}, - }) - require.NoError(err) - - name := "p1" - - proj := serverptypes.TestProject(t, &pb.Project{ - Name: name, - ReadmeMarkdown: []byte("contents"), - ProjectTemplate: &pb.Ref_ProjectTemplate{ - Ref: &pb.Ref_ProjectTemplate_Id{ - Id: projectTemplate.Id, - }, - }, - FileChangeSignal: "SIGINT", - }) - // Can save by ID - err = s.ProjectPut(ctx, proj) - require.NoError(err) - - // Can read - { - resp, err := s.ProjectGet(ctx, &pb.Ref_Project{Project: name}) - require.NoError(err) - require.Empty(cmp.Diff(proj, resp, protocmp.Transform())) - } - - // Can update - { - proj.ReadmeMarkdown = []byte("different contents") - - err := s.ProjectPut(ctx, proj) - require.NoError(err) - resp, err := s.ProjectGet(ctx, &pb.Ref_Project{Project: name}) - require.NoError(err) - require.Empty(cmp.Diff(proj, resp, protocmp.Transform())) - } - - // Cannot set a project ref to a non-existent project template - { - proj.ProjectTemplate.Ref = &pb.Ref_ProjectTemplate_Id{Id: "does-not-exist"} - - err := s.ProjectPut(ctx, proj) - require.Error(err) - } - - // Can set the project template ref by name - projectTemplate2, err := s.CreateProjectTemplate(ctx, &pb.ProjectTemplate{ - Id: "", - Name: "test2", - Summary: "test", - ExpandedSummary: "test", - ReadmeMarkdownTemplate: []byte("test"), - TerraformNocodeModule: &pb.ProjectTemplate_TerraformNocodeModule{ - Source: "test", - Version: "test", - }, - Tags: []string{"test1", "test2"}, - }) - require.NoError(err) - { - // Create a project template - proj.ProjectTemplate.Ref = &pb.Ref_ProjectTemplate_Name{Name: projectTemplate2.Name} - err = s.ProjectPut(ctx, proj) - require.NoError(err) - - resp, err := s.ProjectGet(ctx, &pb.Ref_Project{Project: name}) - require.NoError(err) - - // Can come back as name or ID - switch ref := resp.ProjectTemplate.Ref.(type) { - case *pb.Ref_ProjectTemplate_Name: - require.Equal(projectTemplate2.Name, ref.Name) - case *pb.Ref_ProjectTemplate_Id: - require.Equal(projectTemplate2.Id, ref.Id) - } - } - - // Deleting the project template - { - require.NoError( - s.DeleteProjectTemplate(ctx, &pb.Ref_ProjectTemplate{ - Ref: &pb.Ref_ProjectTemplate_Id{ - Id: projectTemplate2.Id, - }, - }), - ) - - _, err := s.ProjectGet(ctx, &pb.Ref_Project{Project: name}) - require.NoError(err) - } -} diff --git a/pkg/serverstate/statetest/test_release.go b/pkg/serverstate/statetest/test_release.go index 1e468622089..3a0ccd1b9a4 100644 --- a/pkg/serverstate/statetest/test_release.go +++ b/pkg/serverstate/statetest/test_release.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_runner.go b/pkg/serverstate/statetest/test_runner.go index a47d7d1f526..c3f1a573195 100644 --- a/pkg/serverstate/statetest/test_runner.go +++ b/pkg/serverstate/statetest/test_runner.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_runner_ondemand.go b/pkg/serverstate/statetest/test_runner_ondemand.go index 062b1b860d3..b9dfa3cabd8 100644 --- a/pkg/serverstate/statetest/test_runner_ondemand.go +++ b/pkg/serverstate/statetest/test_runner_ondemand.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_server_config.go b/pkg/serverstate/statetest/test_server_config.go index ad11cc65549..2fbedaa9f65 100644 --- a/pkg/serverstate/statetest/test_server_config.go +++ b/pkg/serverstate/statetest/test_server_config.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_server_urltoken.go b/pkg/serverstate/statetest/test_server_urltoken.go index 2a2fca5b9e9..7d72641e8d0 100644 --- a/pkg/serverstate/statetest/test_server_urltoken.go +++ b/pkg/serverstate/statetest/test_server_urltoken.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_snapshot.go b/pkg/serverstate/statetest/test_snapshot.go index de0b4072504..7d1119505ae 100644 --- a/pkg/serverstate/statetest/test_snapshot.go +++ b/pkg/serverstate/statetest/test_snapshot.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_status_report.go b/pkg/serverstate/statetest/test_status_report.go index d6d39f3faba..76a6164bc98 100644 --- a/pkg/serverstate/statetest/test_status_report.go +++ b/pkg/serverstate/statetest/test_status_report.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_task.go b/pkg/serverstate/statetest/test_task.go index 17ad8ac4577..51141731487 100644 --- a/pkg/serverstate/statetest/test_task.go +++ b/pkg/serverstate/statetest/test_task.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_token.go b/pkg/serverstate/statetest/test_token.go index 35297b545d8..dbbba256224 100644 --- a/pkg/serverstate/statetest/test_token.go +++ b/pkg/serverstate/statetest/test_token.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_trigger.go b/pkg/serverstate/statetest/test_trigger.go index bf91fd1225e..230b60a8e2f 100644 --- a/pkg/serverstate/statetest/test_trigger.go +++ b/pkg/serverstate/statetest/test_trigger.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_user.go b/pkg/serverstate/statetest/test_user.go index 9f3783e7123..85109f3ee3e 100644 --- a/pkg/serverstate/statetest/test_user.go +++ b/pkg/serverstate/statetest/test_user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( diff --git a/pkg/serverstate/statetest/test_workspace.go b/pkg/serverstate/statetest/test_workspace.go index 003c15291c6..a093e5e201b 100644 --- a/pkg/serverstate/statetest/test_workspace.go +++ b/pkg/serverstate/statetest/test_workspace.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package statetest import ( @@ -119,55 +116,6 @@ func TestWorkspacePut(t *testing.T, factory Factory, _ RestartFactory) { } }) - t.Run("Only 1 workspace per name", func(t *testing.T) { - require := require.New(t) - - s := factory(t) - defer s.Close() - - { - workspace, err := s.WorkspaceGet(ctx, "default") - require.Equal(codes.NotFound, status.Code(err)) - require.Error(err) - require.Nil(workspace) - } - - // Put - err := s.WorkspacePut(ctx, serverptypes.TestWorkspace(t, &pb.Workspace{ - Name: "default", - })) - require.NoError(err) - - { - workspace, err := s.WorkspaceGet(ctx, "default") - require.NoError(err) - require.NotNil(workspace) - require.Equal(workspace.Name, "default") - } - - // Only 1 - { - workspace, err := s.WorkspaceList(ctx) - require.NoError(err) - require.NotNil(workspace) - require.Len(workspace, 1) - } - - // Put - err = s.WorkspacePut(ctx, serverptypes.TestWorkspace(t, &pb.Workspace{ - Name: "default", - })) - require.NoError(err) - - // Only 1 - { - workspace, err := s.WorkspaceList(ctx) - require.NoError(err) - require.NotNil(workspace) - require.Len(workspace, 1) - } - }) - t.Run("No spaces in name", func(t *testing.T) { require := require.New(t) diff --git a/pkg/serverstate/user.go b/pkg/serverstate/user.go index d891de77453..15582710097 100644 --- a/pkg/serverstate/user.go +++ b/pkg/serverstate/user.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package serverstate // See the docs in singleprocess. diff --git a/pkg/tokenutil/decode.go b/pkg/tokenutil/decode.go index 2a9481b3114..8685dcf0c61 100644 --- a/pkg/tokenutil/decode.go +++ b/pkg/tokenutil/decode.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package tokenutil import ( @@ -33,7 +30,7 @@ func TokenDecode(token string) (*pb.TokenTransport, *pb.Token, error) { return nil, nil, err } - if len(data) < len(TokenMagic) || subtle.ConstantTimeCompare(data[:len(TokenMagic)], []byte(TokenMagic)) != 1 { + if subtle.ConstantTimeCompare(data[:len(TokenMagic)], []byte(TokenMagic)) != 1 { return nil, nil, errors.Wrapf(ErrInvalidToken, "bad magic") } diff --git a/pkg/tokenutil/grpc.go b/pkg/tokenutil/grpc.go index 129fe5759a2..2c183865fe5 100644 --- a/pkg/tokenutil/grpc.go +++ b/pkg/tokenutil/grpc.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package tokenutil import ( diff --git a/pkg/tokenutil/oauth.go b/pkg/tokenutil/oauth.go index ca0ff584b28..37c9a7da5dd 100644 --- a/pkg/tokenutil/oauth.go +++ b/pkg/tokenutil/oauth.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package tokenutil import ( diff --git a/scripts/check-gateway-yml.sh b/scripts/check-gateway-yml.sh deleted file mode 100755 index d17bdce7d28..00000000000 --- a/scripts/check-gateway-yml.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - - -set -euo pipefail - -echo -e "==> Checking all RPCs are represented in pkg/server/proto/gateway.yml\n" - -proto_path=pkg/server/proto/server.proto -gateway_path=pkg/server/proto/gateway.yml -skip=$(cat<<-EOF - CreateSnapshot - RestoreSnapshot - GetDefaultOnDemandRunnerConfig - DeleteOnDemandRunnerConfig - UpsertBuild - UpsertPushedArtifact - UpsertDeployment - UpsertRelease - UpsertStatusReport - DeleteTrigger - UpsertPipeline -EOF -) - -rpcs=$( - grep \ - --only-matching \ - --extended-regexp \ - "^\s*rpc \w+" \ - $proto_path \ - | \ - sed \ - -n \ - "s/^ *rpc//p" -) - -status=0 - -for rpc in $rpcs; do - if [[ $skip = *$rpc* ]]; then - continue - fi - - if grep -q $rpc $gateway_path; then - continue - fi - - echo -e >&2 "\033[1m$rpc\033[0m is missing" - status=1 -done - -if [ $status -eq 0 ]; then - echo -e "\033[32mSUCCESS: $gateway_path looks good!\033[0m" -else - echo -e >&2 "\n\033[31mERROR: The RPCs above are missing from $gateway_path\033[0m" - echo -e >&2 "\n\033[31mYou must manually add these paths to the yml file.\033[0m" -fi - -exit $status diff --git a/telemetry/docker-compose.yaml b/telemetry/docker-compose.yaml index 128b757f2b6..bb13a2fc73b 100644 --- a/telemetry/docker-compose.yaml +++ b/telemetry/docker-compose.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - version: "2" services: diff --git a/telemetry/oc-agent-config.yaml b/telemetry/oc-agent-config.yaml index cb1ef70434d..97b64929916 100644 --- a/telemetry/oc-agent-config.yaml +++ b/telemetry/oc-agent-config.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - receivers: opencensus: address: ":55678" diff --git a/telemetry/oc-collector-config.yaml b/telemetry/oc-collector-config.yaml index 946b2298e10..0eaa26c1866 100644 --- a/telemetry/oc-collector-config.yaml +++ b/telemetry/oc-collector-config.yaml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - receivers: opencensus: port: 55678 diff --git a/tools.Dockerfile b/tools.Dockerfile index 634a46b0436..bda4f2e62d6 100644 --- a/tools.Dockerfile +++ b/tools.Dockerfile @@ -1,11 +1,8 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - FROM golang:1.19 ARG PROTOC_VERSION="3.17.3" -RUN apt-get update; apt-get install unzip +RUN apt-get update; apt-get install unzip jq -y # Protoc # TODO(izaak): discover the protoc version from the nix files @@ -17,7 +14,6 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC # Copy files required to update tooling RUN mkdir -p /tools/tools -RUN apt-get install -y jq COPY ./tools/tools.go /tools/tools COPY ./Makefile /tools COPY go.mod /tools diff --git a/tools/gendocs/main.go b/tools/gendocs/main.go index c41cc570973..9ac32b29ce4 100644 --- a/tools/gendocs/main.go +++ b/tools/gendocs/main.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - package main import ( diff --git a/tools/lint-struct-tags/main.go b/tools/lint-struct-tags/main.go deleted file mode 100644 index 8b6dffa74ac..00000000000 --- a/tools/lint-struct-tags/main.go +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package main - -import ( - "fmt" - "go/ast" - "go/parser" - "go/token" - "os" - "path/filepath" - "regexp" - "strings" -) - -func main() { - if len(os.Args) != 2 { - fmt.Fprintf(os.Stderr, "Usage: %s \n", os.Args[0]) - os.Exit(1) - } - dir := os.Args[1] - duplicatesFound := false - err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - if !info.IsDir() && strings.HasSuffix(path, ".go") && !strings.HasSuffix(path, ".pb.go") && - !strings.HasSuffix(path, "_test.go") { - dupes, err := analyzeFile(path) - if err != nil { - return err - } - if dupes { - duplicatesFound = true - } - } - return nil - }) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - if duplicatesFound { - os.Exit(1) - } -} - -func analyzeFile(file string) (bool, error) { - fset := token.NewFileSet() - node, err := parser.ParseFile(fset, file, nil, parser.ParseComments) - if err != nil { - return false, err - } - duplicatesFound := false - ast.Inspect(node, func(n ast.Node) bool { - s, ok := n.(*ast.StructType) - if !ok { - return true - } - seenTags := make(map[string]*token.Position) - for _, field := range s.Fields.List { - tag, found := getTag(field) - if found { - _, dup := seenTags[tag] - if dup { - fmt.Printf("Duplicate tag '%s' found in file '%s' at line %d\n", - tag, file, fset.Position(field.Pos()).Line) - duplicatesFound = true - } else { - seenTags[tag] = &token.Position{Line: fset.Position(field.Pos()).Line} - } - } - } - return false - }) - return duplicatesFound, nil -} - -func getTag(field *ast.Field) (string, bool) { - if field.Tag == nil { - return "", false - } - tag := field.Tag.Value - tag = strings.Trim(tag, "`") - tagParts := strings.Split(tag, " ") - for _, part := range tagParts { - match, _ := regexp.MatchString(`\w+:"[^"]*"`, part) - if match { - return strings.Trim(part, `"`), true - } - } - return "", false -} diff --git a/tools/tools.go b/tools/tools.go index b5e1c01d619..620d95bece7 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -1,6 +1,3 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - //go:build tools // +build tools diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js index 9c38e0e2f5a..a77f141e15d 100644 --- a/ui/.eslintrc.js +++ b/ui/.eslintrc.js @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - 'use strict'; module.exports = { diff --git a/ui/.prettierrc.js b/ui/.prettierrc.js index 4833e3531de..534e6d35aab 100644 --- a/ui/.prettierrc.js +++ b/ui/.prettierrc.js @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - 'use strict'; module.exports = { diff --git a/ui/.template-lintrc.js b/ui/.template-lintrc.js index 9218a9883ae..f35f61c7b3a 100644 --- a/ui/.template-lintrc.js +++ b/ui/.template-lintrc.js @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - 'use strict'; module.exports = { diff --git a/ui/.travis.yml b/ui/.travis.yml index 2bcc2a582d4..f214b490c71 100644 --- a/ui/.travis.yml +++ b/ui/.travis.yml @@ -1,6 +1,3 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: BUSL-1.1 - --- language: node_js node_js: diff --git a/ui/app/app.js b/ui/app/app.js index 25ad16d8794..8254d4ac099 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - import Application from '@ember/application'; import Resolver from 'ember-resolver'; import loadInitializers from 'ember-load-initializers'; diff --git a/ui/app/authenticators/oidc.ts b/ui/app/authenticators/oidc.ts index 5d192236779..a50e44e0b40 100644 --- a/ui/app/authenticators/oidc.ts +++ b/ui/app/authenticators/oidc.ts @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - import OAuth2ImplicitGrantAuthenticator, { parseResponse as ESAparseResponse, } from 'ember-simple-auth/authenticators/oauth2-implicit-grant'; diff --git a/ui/app/authenticators/token.ts b/ui/app/authenticators/token.ts index 414c7d880ed..caeed9a15e5 100644 --- a/ui/app/authenticators/token.ts +++ b/ui/app/authenticators/token.ts @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - import { reject, resolve } from 'rsvp'; import BaseAuthenticator from 'ember-simple-auth/authenticators/base'; diff --git a/ui/app/components/actions/context.hbs b/ui/app/components/actions/context.hbs index 4d4a36fb059..33a07cd6e77 100644 --- a/ui/app/components/actions/context.hbs +++ b/ui/app/components/actions/context.hbs @@ -1,8 +1,3 @@ -{{! - Copyright (c) HashiCorp, Inc. - SPDX-License-Identifier: BUSL-1.1 -}} - CLI diff --git a/ui/app/components/actions/context.ts b/ui/app/components/actions/context.ts index add30bad634..469aef4fa81 100644 --- a/ui/app/components/actions/context.ts +++ b/ui/app/components/actions/context.ts @@ -1,8 +1,3 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { action } from '@ember/object'; diff --git a/ui/app/components/actions/deploy.hbs b/ui/app/components/actions/deploy.hbs index 6b73d721bc7..3975e0fb38b 100644 --- a/ui/app/components/actions/deploy.hbs +++ b/ui/app/components/actions/deploy.hbs @@ -1,8 +1,3 @@ -{{! - Copyright (c) HashiCorp, Inc. - SPDX-License-Identifier: BUSL-1.1 -}} -